{\n\tif (!dateString) return [];\n\tconst date = external_moment_default()(dateString);\n\treturn [date.year(), date.month(), date.date()];\n};\n\n/* harmony default export */ const VueDatepickervue_type_script_lang_js_ = ({\n\tname: 'VueDatepicker',\n\tdirectives: {\n\t\tmask: directive\n\t},\n\tdata: () => ({\n\t\tmodel: null,\n\t\tisCalendarOpen: false,\n\t\tyearMin: null,\n\t\tmonthMin: null,\n\t\tdayMin: null,\n\t\tyearMax: null,\n\t\tmonthMax: null,\n\t\tdayMax: null,\n\t\tselectedYear: null,\n\t\tselectedMonth: null,\n\t\tselectedDay: null,\n\t\tisFocused: false\n\t}),\n\tmixins: [N, c, a],\n\tinheritAttrs: false,\n\tprops: {\n\t\t/**\n\t\t * @model\n\t\t */\n\t\tvalue: {\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Minimum selectable age\n\t\t */\n\t\tmin: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Maximum selectable age\n\t\t */\n\t\tmax: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\t/**\n\t\t * Default selected date\n\t\t */\n\t\tdefault: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: ''\n\t\t},\n\t\t/**\n\t\t * Only year-month select\n\t\t */\n\t\tmonthSelectOnly: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false\n\t\t},\n\t\t/**\n\t\tText of the label\n\t\t*/\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\t/**\n\t\tThe maximum width of the input\n\t\t */\n\t\tmaxWidth: {\n\t\t\ttype: Number\n\t\t},\n\t\t/**\n\t\tSpecifying date style (####-##-##)\n\t\t */\n\t\tinputMask: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t},\n\t\t/**\n\t\tSpecifying date format (yyyy.MM.DD.)\n\t\t */\n\t\tdateFormat: {\n\t\t\ttype: String,\n\t\t\trequired: false\n\t\t}\n\t},\n\ti18n: { messages: VueDatepicker_namespaceObject },\n\twatch: {\n\t\tvalue: {\n\t\t\thandler(val) {\n\t\t\t\tif (val && external_moment_default()(val, d.BACKEND_DATE, true).isValid()) {\n\t\t\t\t\tthis.dateChanged(val);\n\t\t\t\t\tthis.model = this.parseDisplayDate(external_moment_default()(val));\n\t\t\t\t} else {\n\t\t\t\t\tthis.model = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\timmediate: true\n\t\t},\n\t\tcompoundSelectedDates() {\n\t\t\tthis.sendModel();\n\t\t}\n\t},\n\tcomponents: {\n\t\tCalendar: Calendar,\n\t\tPopper: (vue_popper_min_default())\n\t},\n\tmethods: {\n\t\tfillMinMax() {\n\t\t\tthis.yearMin = external_moment_default()(this.min, d.BACKEND_DATE).get('year');\n\t\t\tthis.monthMin = external_moment_default()(this.min, d.BACKEND_DATE).get('month');\n\t\t\tthis.dayMin = external_moment_default()(this.min, d.BACKEND_DATE).get('date');\n\t\t\tthis.yearMax = external_moment_default()(this.max, d.BACKEND_DATE).get('year');\n\t\t\tthis.monthMax = external_moment_default()(this.max, d.BACKEND_DATE).get('month');\n\t\t\tthis.dayMax = external_moment_default()(this.max, d.BACKEND_DATE).get('date');\n\t\t},\n\t\tsendModel() {\n\t\t\tconst currentDate = external_moment_default()([this.selectedYear, this.selectedMonth, this.selectedDay]);\n\t\t\tif (!currentDate || !currentDate.isValid() || currentDate.isBefore(this.minDate) || currentDate.isAfter(this.maxDate)) {\n\t\t\t\tthis.reset();\n\t\t\t} else {\n\t\t\t\tthis.model = this.parseDisplayDate(currentDate);\n\t\t\t\tthis.$emit('input', this.parseDate(currentDate));\n\t\t\t}\n\t\t},\n\t\tparseDate(date) {\n\t\t\treturn date.format(d.BACKEND_DATE);\n\t\t},\n\t\tparseDisplayDate(date) {\n\t\t\treturn date.format(this.dateFormat || d.DISPLAY_DATE[this.$i18n.locale]);\n\t\t},\n\t\tsetInitalDate() {\n\t\t\tif (!this.compoundSelectedDates) {\n\t\t\t\tconst defaultDate = getDateParts(this.default);\n\t\t\t\tthis.selectedYear = defaultDate[0] || this.yearMax;\n\t\t\t\tthis.selectedMonth = defaultDate[1] || this.monthMax;\n\t\t\t\tthis.selectedDay = this.monthSelectOnly ? 1 : defaultDate[2] || this.dayMax;\n\t\t\t\tthis.sendModel();\n\t\t\t}\n\n\t\t\tthis.isCalendarOpen = true;\n\t\t},\n\t\tsetYear(payload) {\n\t\t\tconst beforeMin = external_moment_default()([payload, this.selectedMonth, this.selectedDay]).isBefore(external_moment_default()([this.yearMin, this.monthMin, this.dayMin]));\n\t\t\tconst afterMax = external_moment_default()([payload, this.selectedMonth, this.selectedDay]).isAfter(external_moment_default()([this.yearMax, this.monthMax, this.dayMax]));\n\t\t\tif (beforeMin) {\n\t\t\t\tthis.setMonth(this.monthMin);\n\t\t\t\tthis.setDay(this.dayMin);\n\t\t\t} else if (afterMax) {\n\t\t\t\tthis.setMonth(this.monthMax);\n\t\t\t\tthis.setDay(this.dayMax);\n\t\t\t}\n\t\t\tthis.selectedYear = payload;\n\t\t},\n\t\tsetMonth(payload) {\n\t\t\tconst beforeMin = external_moment_default()([this.selectedYear, payload, this.selectedDay]).isBefore(external_moment_default()([this.yearMin, this.monthMin, this.dayMin]));\n\t\t\tconst afterMax = external_moment_default()([this.selectedYear, payload, this.selectedDay]).isAfter(external_moment_default()([this.yearMax, this.monthMax, this.dayMax]));\n\t\t\tif (beforeMin) {\n\t\t\t\tthis.setYear(this.yearMin);\n\t\t\t\tthis.setDay(this.dayMin);\n\t\t\t} else if (afterMax) {\n\t\t\t\tthis.setYear(this.yearMax);\n\t\t\t\tthis.setDay(this.dayMax);\n\t\t\t}\n\t\t\tthis.selectedMonth = payload;\n\t\t},\n\t\tsetDay(payload) {\n\t\t\tthis.selectedDay = payload;\n\t\t},\n\t\thandleBlur(e) {\n\t\t\tconst momentDate = external_moment_default()(this.model, this.dateFormat || d.DISPLAY_DATE[this.$i18n.locale]);\n\t\t\tconst backendDate = momentDate.isValid() ? momentDate : null;\n\t\t\tthis.dateChanged(backendDate);\n\t\t\tif (e.target.value && external_moment_default()(this.selectedDate).isValid()) {\n\t\t\t\tthis.sendModel();\n\t\t\t} else {\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\tthis.$emit('blur');\n\t\t\tconst currentDate = external_moment_default()([this.selectedYear, this.selectedMonth, this.selectedDay]);\n\t\t\tif (!this.isCalendarOpen && currentDate.isValid()) {\n\t\t\t\tconst labelElement = document.querySelector(`label[for=${this.$refs['datepicker-input'].id}]`);\n\t\t\t\t(window.dataLayer || []).push({\n\t\t\t\t\tevent: DATE_PICKER_CLOSE_GTM_EVENT,\n\t\t\t\t\tformElementID: labelElement ? labelElement.innerHTML : this.uuid,\n\t\t\t\t\tformID: (this.$refs['datepicker-input'].form && this.$refs['datepicker-input'].form.getAttribute('id')) || '',\n\t\t\t\t\tinputValue: currentDate.format(this.monthSelectOnly ? DATE_PICKER_GTM_DATE_FORMAT_NO_DAY : DATE_PICKER_GTM_DATE_FORMAT)\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.isFocused = false;\n\t\t},\n\t\tdateChanged(date) {\n\t\t\tif (date) {\n\t\t\t\tthis.selectedYear = external_moment_default()(date).get('year');\n\t\t\t\tthis.selectedMonth = external_moment_default()(date).get('month');\n\t\t\t\tthis.selectedDay = external_moment_default()(date).get('date');\n\t\t\t}\n\t\t},\n\t\treset() {\n\t\t\tthis.model = null;\n\t\t\tthis.selectedYear = null;\n\t\t\tthis.selectedMonth = null;\n\t\t\tthis.selectedDay = null;\n\t\t\tthis.$emit('input', null);\n\t\t},\n\t\tcloseCalendar() {\n\t\t\tthis.$refs.popper.showPopper = false;\n\t\t\tthis.isCalendarOpen = false;\n\t\t\tthis.$emit('close-datepicker');\n\t\t\tconst datePickerInput = this.$refs['datepicker-input'];\n\t\t\tif (!this.isMobile) {\n\t\t\t\tdatePickerInput.focus();\n\t\t\t}\n\t\t\tconst sel = datePickerInput.selectionStart;\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tdatePickerInput.setSelectionRange(sel, sel);\n\t\t\t});\n\t\t}\n\t},\n\tcomputed: {\n\t\tinputListeners() {\n\t\t\treturn Object.assign({}, this.$listeners, {\n\t\t\t\tinput() {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tmask() {\n\t\t\treturn this.inputMask || (this.monthSelectOnly ? MASK_MONTH_ONLY[this.$i18n.locale] : MASK_FULL[this.$i18n.locale]);\n\t\t},\n\t\tselectedDate() {\n\t\t\treturn [this.selectedYear, this.selectedMonth, this.selectedDay];\n\t\t},\n\t\tcompoundSelectedDates() {\n\t\t\treturn this.selectedDate.filter((isNotEmpty) => isNotEmpty).join();\n\t\t},\n\t\tminDate() {\n\t\t\treturn external_moment_default()([this.yearMin, this.monthMin, this.dayMin]);\n\t\t},\n\t\tmaxDate() {\n\t\t\treturn external_moment_default()([this.yearMax, this.monthMax, this.dayMax]);\n\t\t},\n\t\tariaDescribedBy() {\n\t\t\tlet items = [this.$attrs['aria-describedby'], this.computedAddonId];\n\t\t\treturn items.filter((item) => item != undefined).join(' ');\n\t\t}\n\t},\n\tcreated() {\n\t\tthis.fillMinMax();\n\t}\n});\n\n;// CONCATENATED MODULE: ./src/components/VueDatepicker.vue?vue&type=script&lang=js&\n /* harmony default export */ const components_VueDatepickervue_type_script_lang_js_ = (VueDatepickervue_type_script_lang_js_); \n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-58.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-58.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-58.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-58.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueDatepicker.vue?vue&type=style&index=0&id=577bb554&prod&lang=scss&scoped=true&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueDatepicker.vue?vue&type=style&index=0&id=577bb554&prod&lang=scss&scoped=true&\n\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-58.use[0]!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??clonedRuleSet-58.use[1]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../node_modules/@vue/cli-service/node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-58.use[2]!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-58.use[3]!../../node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/VueDatepicker.vue?vue&type=style&index=1&id=577bb554&prod&lang=scss&\n// extracted by mini-css-extract-plugin\n\n;// CONCATENATED MODULE: ./src/components/VueDatepicker.vue?vue&type=style&index=1&id=577bb554&prod&lang=scss&\n\n;// CONCATENATED MODULE: ./src/components/VueDatepicker.vue\n\n\n\n;\n\n\n\n/* normalize component */\n\nvar VueDatepicker_component = normalizeComponent(\n components_VueDatepickervue_type_script_lang_js_,\n render,\n staticRenderFns,\n false,\n null,\n \"577bb554\",\n null\n \n)\n\n/* harmony default export */ const VueDatepicker = (VueDatepicker_component.exports);\n;// CONCATENATED MODULE: ../../node_modules/@vue/cli-service/lib/commands/build/entry-lib.js\n\n\n/* harmony default export */ const entry_lib = (VueDatepicker);\n\n\n})();\n\n__webpack_exports__ = __webpack_exports__[\"default\"];\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=vue-datepicker.umd.js.map","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","import { hasOwn } from 'element-ui/src/utils/util';\n\nconst RE_NARGS = /(%|)\\{([0-9a-zA-Z_]+)\\}/g;\n/**\n * String format template\n * - Inspired:\n * https://github.com/Matt-Esch/string-template/index.js\n */\nexport default function(Vue) {\n\n /**\n * template\n *\n * @param {String} string\n * @param {Array} ...args\n * @return {String}\n */\n\n function template(string, ...args) {\n if (args.length === 1 && typeof args[0] === 'object') {\n args = args[0];\n }\n\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n\n return string.replace(RE_NARGS, (match, prefix, i, index) => {\n let result;\n\n if (string[index - 1] === '{' &&\n string[index + match.length] === '}') {\n return i;\n } else {\n result = hasOwn(args, i) ? args[i] : null;\n if (result === null || result === undefined) {\n return '';\n }\n\n return result;\n }\n });\n }\n\n return template;\n}\n","import defaultLang from 'element-ui/src/locale/lang/zh-CN';\nimport Vue from 'vue';\nimport deepmerge from 'deepmerge';\nimport Format from './format';\n\nconst format = Format(Vue);\nlet lang = defaultLang;\nlet merged = false;\nlet i18nHandler = function() {\n const vuei18n = Object.getPrototypeOf(this || Vue).$t;\n if (typeof vuei18n === 'function' && !!Vue.locale) {\n if (!merged) {\n merged = true;\n Vue.locale(\n Vue.config.lang,\n deepmerge(lang, Vue.locale(Vue.config.lang) || {}, { clone: true })\n );\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nexport const t = function(path, options) {\n let value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n const array = path.split('.');\n let current = lang;\n\n for (let i = 0, j = array.length; i < j; i++) {\n const property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nexport const use = function(l) {\n lang = l || lang;\n};\n\nexport const i18n = function(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexport default { use, t, i18n };\n","export default {\n el: {\n colorpicker: {\n confirm: '确定',\n clear: '清空'\n },\n datepicker: {\n now: '此刻',\n today: '今天',\n cancel: '取消',\n clear: '清空',\n confirm: '确定',\n selectDate: '选择日期',\n selectTime: '选择时间',\n startDate: '开始日期',\n startTime: '开始时间',\n endDate: '结束日期',\n endTime: '结束时间',\n year: '年',\n month1: '1 月',\n month2: '2 月',\n month3: '3 月',\n month4: '4 月',\n month5: '5 月',\n month6: '6 月',\n month7: '7 月',\n month8: '8 月',\n month9: '9 月',\n month10: '10 月',\n month11: '11 月',\n month12: '12 月',\n // week: '周次',\n weeks: {\n sun: '日',\n mon: '一',\n tue: '二',\n wed: '三',\n thu: '四',\n fri: '五',\n sat: '六'\n },\n months: {\n jan: '一月',\n feb: '二月',\n mar: '三月',\n apr: '四月',\n may: '五月',\n jun: '六月',\n jul: '七月',\n aug: '八月',\n sep: '九月',\n oct: '十月',\n nov: '十一月',\n dec: '十二月'\n }\n },\n select: {\n loading: '加载中',\n noMatch: '无匹配数据',\n noData: '无数据',\n placeholder: '请选择'\n },\n cascader: {\n noMatch: '无匹配数据',\n loading: '加载中',\n placeholder: '请选择'\n },\n pagination: {\n goto: '前往',\n pagesize: '条/页',\n total: '共 {total} 条',\n pageClassifier: '页'\n },\n messagebox: {\n title: '提示',\n confirm: '确定',\n cancel: '取消',\n error: '输入的数据不合法!'\n },\n upload: {\n delete: '删除',\n preview: '查看图片',\n continue: '继续上传'\n },\n table: {\n emptyText: '暂无数据',\n confirmFilter: '筛选',\n resetFilter: '重置',\n clearFilter: '全部',\n sumText: '合计'\n },\n tree: {\n emptyText: '暂无数据'\n },\n transfer: {\n noMatch: '无匹配数据',\n noData: '无数据',\n titles: ['列表 1', '列表 2'],\n filterPlaceholder: '请输入搜索内容',\n noCheckedFormat: '共 {total} 项',\n hasCheckedFormat: '已选 {checked}/{total} 项'\n }\n }\n};\n","import { t } from 'element-ui/src/locale';\n\nexport default {\n methods: {\n t(...args) {\n return t.apply(this, args);\n }\n }\n};\n","/**\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version {{version}}\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n//\n// Cross module loader\n// Supported: Node, AMD, Browser globals\n//\n;(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(factory);\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.Popper = factory();\n }\n}(this, function () {\n\n 'use strict';\n\n var root = window;\n\n // default options\n var DEFAULTS = {\n // placement of the popper\n placement: 'bottom',\n\n gpuAcceleration: true,\n\n // shift popper from its origin by the given amount of pixels (can be negative)\n offset: 0,\n\n // the element which will act as boundary of the popper\n boundariesElement: 'viewport',\n\n // amount of pixel used to define a minimum distance between the boundaries and the popper\n boundariesPadding: 5,\n\n // popper will try to prevent overflow following this order,\n // by default, then, it could overflow on the left and on top of the boundariesElement\n preventOverflowOrder: ['left', 'right', 'top', 'bottom'],\n\n // the behavior used by flip to change the placement of the popper\n flipBehavior: 'flip',\n\n arrowElement: '[x-arrow]',\n\n // list of functions used to modify the offsets before they are applied to the popper\n modifiers: [ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle'],\n\n modifiersIgnored: [],\n\n forceAbsolute: false\n };\n\n /**\n * Create a new Popper.js instance\n * @constructor Popper\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement|Object} popper\n * The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [popper.tagName='div'] The tag name of the generated popper.\n * @param {Array} [popper.classNames=['popper']] Array of classes to apply to the generated popper.\n * @param {Array} [popper.attributes] Array of attributes to apply, specify `attr:value` to assign a value to it.\n * @param {HTMLElement|String} [popper.parent=window.document.body] The parent element, given as HTMLElement or as query string.\n * @param {String} [popper.content=''] The content of the popper, it can be text, html, or node; if it is not text, set `contentType` to `html` or `node`.\n * @param {String} [popper.contentType='text'] If `html`, the `content` will be parsed as HTML. If `node`, it will be appended as-is.\n * @param {String} [popper.arrowTagName='div'] Same as `popper.tagName` but for the arrow element.\n * @param {Array} [popper.arrowClassNames='popper__arrow'] Same as `popper.classNames` but for the arrow element.\n * @param {String} [popper.arrowAttributes=['x-arrow']] Same as `popper.attributes` but for the arrow element.\n * @param {Object} options\n * @param {String} [options.placement=bottom]\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -right),\n * left(-start, -end)`\n *\n * @param {HTMLElement|String} [options.arrowElement='[x-arrow]']\n * The DOM Node used as arrow for the popper, or a CSS selector used to get the DOM node. It must be child of\n * its parent Popper. Popper.js will apply to the given element the style required to align the arrow with its\n * reference element.\n * By default, it will look for a child node of the popper with the `x-arrow` attribute.\n *\n * @param {Boolean} [options.gpuAcceleration=true]\n * When this property is set to true, the popper position will be applied using CSS3 translate3d, allowing the\n * browser to use the GPU to accelerate the rendering.\n * If set to false, the popper will be placed using `top` and `left` properties, not using the GPU.\n *\n * @param {Number} [options.offset=0]\n * Amount of pixels the popper will be shifted (can be negative).\n *\n * @param {String|Element} [options.boundariesElement='viewport']\n * The element which will define the boundaries of the popper position, the popper will never be placed outside\n * of the defined boundaries (except if `keepTogether` is enabled)\n *\n * @param {Number} [options.boundariesPadding=5]\n * Additional padding for the boundaries\n *\n * @param {Array} [options.preventOverflowOrder=['left', 'right', 'top', 'bottom']]\n * Order used when Popper.js tries to avoid overflows from the boundaries, they will be checked in order,\n * this means that the last ones will never overflow\n *\n * @param {String|Array} [options.flipBehavior='flip']\n * The behavior used by the `flip` modifier to change the placement of the popper when the latter is trying to\n * overlap its reference element. Defining `flip` as value, the placement will be flipped on\n * its axis (`right - left`, `top - bottom`).\n * You can even pass an array of placements (eg: `['right', 'left', 'top']` ) to manually specify\n * how alter the placement when a flip is needed. (eg. in the above example, it would first flip from right to left,\n * then, if even in its new placement, the popper is overlapping its reference element, it will be moved to top)\n *\n * @param {Array} [options.modifiers=[ 'shift', 'offset', 'preventOverflow', 'keepTogether', 'arrow', 'flip', 'applyStyle']]\n * List of functions used to modify the data before they are applied to the popper, add your custom functions\n * to this array to edit the offsets and placement.\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Array} [options.modifiersIgnored=[]]\n * Put here any built-in modifier name you want to exclude from the modifiers list\n * The function should reflect the @params and @returns of preventOverflow\n *\n * @param {Boolean} [options.removeOnDestroy=false]\n * Set to true if you want to automatically remove the popper when you call the `destroy` method.\n */\n function Popper(reference, popper, options) {\n this._reference = reference.jquery ? reference[0] : reference;\n this.state = {};\n\n // if the popper variable is a configuration object, parse it to generate an HTMLElement\n // generate a default popper if is not defined\n var isNotDefined = typeof popper === 'undefined' || popper === null;\n var isConfig = popper && Object.prototype.toString.call(popper) === '[object Object]';\n if (isNotDefined || isConfig) {\n this._popper = this.parse(isConfig ? popper : {});\n }\n // otherwise, use the given HTMLElement as popper\n else {\n this._popper = popper.jquery ? popper[0] : popper;\n }\n\n // with {} we create a new object with the options inside it\n this._options = Object.assign({}, DEFAULTS, options);\n\n // refactoring modifiers' list\n this._options.modifiers = this._options.modifiers.map(function(modifier){\n // remove ignored modifiers\n if (this._options.modifiersIgnored.indexOf(modifier) !== -1) return;\n\n // set the x-placement attribute before everything else because it could be used to add margins to the popper\n // margins needs to be calculated to get the correct popper offsets\n if (modifier === 'applyStyle') {\n this._popper.setAttribute('x-placement', this._options.placement);\n }\n\n // return predefined modifier identified by string or keep the custom one\n return this.modifiers[modifier] || modifier;\n }.bind(this));\n\n // make sure to apply the popper position before any computation\n this.state.position = this._getPosition(this._popper, this._reference);\n setStyle(this._popper, { position: this.state.position, top: 0 });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n // setup event listeners, they will take care of update the position in specific situations\n this._setupEventListeners();\n return this;\n }\n\n\n //\n // Methods\n //\n /**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\n Popper.prototype.destroy = function() {\n this._popper.removeAttribute('x-placement');\n this._popper.style.left = '';\n this._popper.style.position = '';\n this._popper.style.top = '';\n this._popper.style[getSupportedPropertyName('transform')] = '';\n this._removeEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n if (this._options.removeOnDestroy) {\n this._popper.remove();\n }\n return this;\n };\n\n /**\n * Updates the position of the popper, computing the new offsets and applying the new style\n * @method\n * @memberof Popper\n */\n Popper.prototype.update = function() {\n var data = { instance: this, styles: {} };\n\n // store placement inside the data object, modifiers will be able to edit `placement` if needed\n // and refer to _originalPlacement to know the original value\n data.placement = this._options.placement;\n data._originalPlacement = this._options.placement;\n\n // compute the popper and reference offsets and put them inside data.offsets\n data.offsets = this._getOffsets(this._popper, this._reference, data.placement);\n\n // get boundaries\n data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);\n\n data = this.runModifiers(data, this._options.modifiers);\n\n if (typeof this.state.updateCallback === 'function') {\n this.state.updateCallback(data);\n }\n\n };\n\n /**\n * If a function is passed, it will be executed after the initialization of popper with as first argument the Popper instance.\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onCreate = function(callback) {\n // the createCallbacks return as first argument the popper instance\n callback(this);\n return this;\n };\n\n /**\n * If a function is passed, it will be executed after each update of popper with as first argument the set of coordinates and informations\n * used to style popper and its arrow.\n * NOTE: it doesn't get fired on the first call of the `Popper.update()` method inside the `Popper` constructor!\n * @method\n * @memberof Popper\n * @param {Function} callback\n */\n Popper.prototype.onUpdate = function(callback) {\n this.state.updateCallback = callback;\n return this;\n };\n\n /**\n * Helper used to generate poppers from a configuration file\n * @method\n * @memberof Popper\n * @param config {Object} configuration\n * @returns {HTMLElement} popper\n */\n Popper.prototype.parse = function(config) {\n var defaultConfig = {\n tagName: 'div',\n classNames: [ 'popper' ],\n attributes: [],\n parent: root.document.body,\n content: '',\n contentType: 'text',\n arrowTagName: 'div',\n arrowClassNames: [ 'popper__arrow' ],\n arrowAttributes: [ 'x-arrow']\n };\n config = Object.assign({}, defaultConfig, config);\n\n var d = root.document;\n\n var popper = d.createElement(config.tagName);\n addClassNames(popper, config.classNames);\n addAttributes(popper, config.attributes);\n if (config.contentType === 'node') {\n popper.appendChild(config.content.jquery ? config.content[0] : config.content);\n }else if (config.contentType === 'html') {\n popper.innerHTML = config.content;\n } else {\n popper.textContent = config.content;\n }\n\n if (config.arrowTagName) {\n var arrow = d.createElement(config.arrowTagName);\n addClassNames(arrow, config.arrowClassNames);\n addAttributes(arrow, config.arrowAttributes);\n popper.appendChild(arrow);\n }\n\n var parent = config.parent.jquery ? config.parent[0] : config.parent;\n\n // if the given parent is a string, use it to match an element\n // if more than one element is matched, the first one will be used as parent\n // if no elements are matched, the script will throw an error\n if (typeof parent === 'string') {\n parent = d.querySelectorAll(config.parent);\n if (parent.length > 1) {\n console.warn('WARNING: the given `parent` query(' + config.parent + ') matched more than one element, the first one will be used');\n }\n if (parent.length === 0) {\n throw 'ERROR: the given `parent` doesn\\'t exists!';\n }\n parent = parent[0];\n }\n // if the given parent is a DOM nodes list or an array of nodes with more than one element,\n // the first one will be used as parent\n if (parent.length > 1 && parent instanceof Element === false) {\n console.warn('WARNING: you have passed as parent a list of elements, the first one will be used');\n parent = parent[0];\n }\n\n // append the generated popper to its parent\n parent.appendChild(popper);\n\n return popper;\n\n /**\n * Adds class names to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} classes\n */\n function addClassNames(element, classNames) {\n classNames.forEach(function(className) {\n element.classList.add(className);\n });\n }\n\n /**\n * Adds attributes to the given element\n * @function\n * @ignore\n * @param {HTMLElement} target\n * @param {Array} attributes\n * @example\n * addAttributes(element, [ 'data-info:foobar' ]);\n */\n function addAttributes(element, attributes) {\n attributes.forEach(function(attribute) {\n element.setAttribute(attribute.split(':')[0], attribute.split(':')[1] || '');\n });\n }\n\n };\n\n /**\n * Helper used to get the position which will be applied to the popper\n * @method\n * @memberof Popper\n * @param config {HTMLElement} popper element\n * @param reference {HTMLElement} reference element\n * @returns {String} position\n */\n Popper.prototype._getPosition = function(popper, reference) {\n var container = getOffsetParent(reference);\n\n if (this._options.forceAbsolute) {\n return 'absolute';\n }\n\n // Decide if the popper will be fixed\n // If the reference element is inside a fixed context, the popper will be fixed as well to allow them to scroll together\n var isParentFixed = isFixed(reference, container);\n return isParentFixed ? 'fixed' : 'absolute';\n };\n\n /**\n * Get offsets to the popper\n * @method\n * @memberof Popper\n * @access private\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\n Popper.prototype._getOffsets = function(popper, reference, placement) {\n placement = placement.split('-')[0];\n var popperOffsets = {};\n\n popperOffsets.position = this.state.position;\n var isParentFixed = popperOffsets.position === 'fixed';\n\n //\n // Get reference element position\n //\n var referenceOffsets = getOffsetRectRelativeToCustomParent(reference, getOffsetParent(popper), isParentFixed);\n\n //\n // Get popper sizes\n //\n var popperRect = getOuterSizes(popper);\n\n //\n // Compute offsets of popper\n //\n\n // depending by the popper placement we have to compute its offsets slightly differently\n if (['right', 'left'].indexOf(placement) !== -1) {\n popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - popperRect.height / 2;\n if (placement === 'left') {\n popperOffsets.left = referenceOffsets.left - popperRect.width;\n } else {\n popperOffsets.left = referenceOffsets.right;\n }\n } else {\n popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - popperRect.width / 2;\n if (placement === 'top') {\n popperOffsets.top = referenceOffsets.top - popperRect.height;\n } else {\n popperOffsets.top = referenceOffsets.bottom;\n }\n }\n\n // Add width and height to our offsets object\n popperOffsets.width = popperRect.width;\n popperOffsets.height = popperRect.height;\n\n\n return {\n popper: popperOffsets,\n reference: referenceOffsets\n };\n };\n\n\n /**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._setupEventListeners = function() {\n // NOTE: 1 DOM access here\n this.state.updateBound = this.update.bind(this);\n root.addEventListener('resize', this.state.updateBound);\n // if the boundariesElement is window we don't need to listen for the scroll event\n if (this._options.boundariesElement !== 'window') {\n var target = getScrollParent(this._reference);\n // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n if (target === root.document.body || target === root.document.documentElement) {\n target = root;\n }\n target.addEventListener('scroll', this.state.updateBound);\n }\n };\n\n /**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper\n * @access private\n */\n Popper.prototype._removeEventListeners = function() {\n // NOTE: 1 DOM access here\n root.removeEventListener('resize', this.state.updateBound);\n if (this._options.boundariesElement !== 'window') {\n var target = getScrollParent(this._reference);\n // here it could be both `body` or `documentElement` thanks to Firefox, we then check both\n if (target === root.document.body || target === root.document.documentElement) {\n target = root;\n }\n target.removeEventListener('scroll', this.state.updateBound);\n }\n this.state.updateBound = null;\n };\n\n /**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper\n * @access private\n * @param {Object} data - Object containing the property \"offsets\" generated by `_getOffsets`\n * @param {Number} padding - Boundaries padding\n * @param {Element} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\n Popper.prototype._getBoundaries = function(data, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = {};\n var width, height;\n if (boundariesElement === 'window') {\n var body = root.document.body,\n html = root.document.documentElement;\n\n height = Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight );\n width = Math.max( body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth );\n\n boundaries = {\n top: 0,\n right: width,\n bottom: height,\n left: 0\n };\n } else if (boundariesElement === 'viewport') {\n var offsetParent = getOffsetParent(this._popper);\n var scrollParent = getScrollParent(this._popper);\n var offsetParentRect = getOffsetRect(offsetParent);\n\n\t\t\t// Thanks the fucking native API, `document.body.scrollTop` & `document.documentElement.scrollTop`\n\t\t\tvar getScrollTopValue = function (element) {\n\t\t\t\treturn element == document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : element.scrollTop;\n\t\t\t}\n\t\t\tvar getScrollLeftValue = function (element) {\n\t\t\t\treturn element == document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : element.scrollLeft;\n\t\t\t}\n\n // if the popper is fixed we don't have to substract scrolling from the boundaries\n var scrollTop = data.offsets.popper.position === 'fixed' ? 0 : getScrollTopValue(scrollParent);\n var scrollLeft = data.offsets.popper.position === 'fixed' ? 0 : getScrollLeftValue(scrollParent);\n\n boundaries = {\n top: 0 - (offsetParentRect.top - scrollTop),\n right: root.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),\n bottom: root.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),\n left: 0 - (offsetParentRect.left - scrollLeft)\n };\n } else {\n if (getOffsetParent(this._popper) === boundariesElement) {\n boundaries = {\n top: 0,\n left: 0,\n right: boundariesElement.clientWidth,\n bottom: boundariesElement.clientHeight\n };\n } else {\n boundaries = getOffsetRect(boundariesElement);\n }\n }\n boundaries.left += padding;\n boundaries.right -= padding;\n boundaries.top = boundaries.top + padding;\n boundaries.bottom = boundaries.bottom - padding;\n return boundaries;\n };\n\n\n /**\n * Loop trough the list of modifiers and run them in order, each of them will then edit the data object\n * @method\n * @memberof Popper\n * @access public\n * @param {Object} data\n * @param {Array} modifiers\n * @param {Function} ends\n */\n Popper.prototype.runModifiers = function(data, modifiers, ends) {\n var modifiersToRun = modifiers.slice();\n if (ends !== undefined) {\n modifiersToRun = this._options.modifiers.slice(0, getArrayKeyIndex(this._options.modifiers, ends));\n }\n\n modifiersToRun.forEach(function(modifier) {\n if (isFunction(modifier)) {\n data = modifier.call(this, data);\n }\n }.bind(this));\n\n return data;\n };\n\n /**\n * Helper used to know if the given modifier depends from another one.\n * @method\n * @memberof Popper\n * @param {String} requesting - name of requesting modifier\n * @param {String} requested - name of requested modifier\n * @returns {Boolean}\n */\n Popper.prototype.isModifierRequired = function(requesting, requested) {\n var index = getArrayKeyIndex(this._options.modifiers, requesting);\n return !!this._options.modifiers.slice(0, index).filter(function(modifier) {\n return modifier === requested;\n }).length;\n };\n\n //\n // Modifiers\n //\n\n /**\n * Modifiers list\n * @namespace Popper.modifiers\n * @memberof Popper\n * @type {Object}\n */\n Popper.prototype.modifiers = {};\n\n /**\n * Apply the computed styles to the popper element\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The same data object\n */\n Popper.prototype.modifiers.applyStyle = function(data) {\n // apply the final offsets to the popper\n // NOTE: 1 DOM access here\n var styles = {\n position: data.offsets.popper.position\n };\n\n // round top and left to avoid blurry text\n var left = Math.round(data.offsets.popper.left);\n var top = Math.round(data.offsets.popper.top);\n\n // if gpuAcceleration is set to true and transform is supported, we use `translate3d` to apply the position to the popper\n // we automatically use the supported prefixed version if needed\n var prefixedProperty;\n if (this._options.gpuAcceleration && (prefixedProperty = getSupportedPropertyName('transform'))) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles.top = 0;\n styles.left = 0;\n }\n // othwerise, we use the standard `left` and `top` properties\n else {\n styles.left =left;\n styles.top = top;\n }\n\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n Object.assign(styles, data.styles);\n\n setStyle(this._popper, styles);\n\n // set an attribute which will be useful to style the tooltip (use it to properly position its arrow)\n // NOTE: 1 DOM access here\n this._popper.setAttribute('x-placement', data.placement);\n\n // if the arrow modifier is required and the arrow style has been computed, apply the arrow style\n if (this.isModifierRequired(this.modifiers.applyStyle, this.modifiers.arrow) && data.offsets.arrow) {\n setStyle(data.arrowElement, data.offsets.arrow);\n }\n\n return data;\n };\n\n /**\n * Modifier used to shift the popper on the start or end of its reference element side\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.shift = function(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftVariation = placement.split('-')[1];\n\n // if shift shiftVariation is specified, run the modifier\n if (shiftVariation) {\n var reference = data.offsets.reference;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var shiftOffsets = {\n y: {\n start: { top: reference.top },\n end: { top: reference.top + reference.height - popper.height }\n },\n x: {\n start: { left: reference.left },\n end: { left: reference.left + reference.width - popper.width }\n }\n };\n\n var axis = ['bottom', 'top'].indexOf(basePlacement) !== -1 ? 'x' : 'y';\n\n data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);\n }\n\n return data;\n };\n\n\n /**\n * Modifier used to make sure the popper does not overflows from it's boundaries\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.preventOverflow = function(data) {\n var order = this._options.preventOverflowOrder;\n var popper = getPopperClientRect(data.offsets.popper);\n\n var check = {\n left: function() {\n var left = popper.left;\n if (popper.left < data.boundaries.left) {\n left = Math.max(popper.left, data.boundaries.left);\n }\n return { left: left };\n },\n right: function() {\n var left = popper.left;\n if (popper.right > data.boundaries.right) {\n left = Math.min(popper.left, data.boundaries.right - popper.width);\n }\n return { left: left };\n },\n top: function() {\n var top = popper.top;\n if (popper.top < data.boundaries.top) {\n top = Math.max(popper.top, data.boundaries.top);\n }\n return { top: top };\n },\n bottom: function() {\n var top = popper.top;\n if (popper.bottom > data.boundaries.bottom) {\n top = Math.min(popper.top, data.boundaries.bottom - popper.height);\n }\n return { top: top };\n }\n };\n\n order.forEach(function(direction) {\n data.offsets.popper = Object.assign(popper, check[direction]());\n });\n\n return data;\n };\n\n /**\n * Modifier used to make sure the popper is always near its reference\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.keepTogether = function(data) {\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var f = Math.floor;\n\n if (popper.right < f(reference.left)) {\n data.offsets.popper.left = f(reference.left) - popper.width;\n }\n if (popper.left > f(reference.right)) {\n data.offsets.popper.left = f(reference.right);\n }\n if (popper.bottom < f(reference.top)) {\n data.offsets.popper.top = f(reference.top) - popper.height;\n }\n if (popper.top > f(reference.bottom)) {\n data.offsets.popper.top = f(reference.bottom);\n }\n\n return data;\n };\n\n /**\n * Modifier used to flip the placement of the popper when the latter is starting overlapping its reference element.\n * Requires the `preventOverflow` modifier before it in order to work.\n * **NOTE:** This modifier will run all its previous modifiers everytime it tries to flip the popper!\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.flip = function(data) {\n // check if preventOverflow is in the list of modifiers before the flip modifier.\n // otherwise flip would not work as expected.\n if (!this.isModifierRequired(this.modifiers.flip, this.modifiers.preventOverflow)) {\n console.warn('WARNING: preventOverflow modifier is required by flip modifier in order to work, be sure to include it before flip!');\n return data;\n }\n\n if (data.flipped && data.placement === data._originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n if(this._options.flipBehavior === 'flip') {\n flipOrder = [\n placement,\n placementOpposite\n ];\n } else {\n flipOrder = this._options.flipBehavior;\n }\n\n flipOrder.forEach(function(step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = getPopperClientRect(data.offsets.popper);\n\n // this boolean is used to distinguish right and bottom from top and left\n // they need different computations to get flipped\n var a = ['right', 'bottom'].indexOf(placement) !== -1;\n\n // using Math.floor because the reference offsets may contain decimals we are not going to consider here\n if (\n a && Math.floor(data.offsets.reference[placement]) > Math.floor(popperOffsets[placementOpposite]) ||\n !a && Math.floor(data.offsets.reference[placement]) < Math.floor(popperOffsets[placementOpposite])\n ) {\n // we'll use this boolean to detect any flip loop\n data.flipped = true;\n data.placement = flipOrder[index + 1];\n if (variation) {\n data.placement += '-' + variation;\n }\n data.offsets.popper = this._getOffsets(this._popper, this._reference, data.placement).popper;\n\n data = this.runModifiers(data, this._options.modifiers, this._flip);\n }\n }.bind(this));\n return data;\n };\n\n /**\n * Modifier used to add an offset to the popper, useful if you more granularity positioning your popper.\n * The offsets will shift the popper on the side of its reference element.\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.offset = function(data) {\n var offset = this._options.offset;\n var popper = data.offsets.popper;\n\n if (data.placement.indexOf('left') !== -1) {\n popper.top -= offset;\n }\n else if (data.placement.indexOf('right') !== -1) {\n popper.top += offset;\n }\n else if (data.placement.indexOf('top') !== -1) {\n popper.left -= offset;\n }\n else if (data.placement.indexOf('bottom') !== -1) {\n popper.left += offset;\n }\n return data;\n };\n\n /**\n * Modifier used to move the arrows on the edge of the popper to make sure them are always between the popper and the reference element\n * It will use the CSS outer size of the arrow element to know how many pixels of conjuction are needed\n * @method\n * @memberof Popper.modifiers\n * @argument {Object} data - The data object generated by _update method\n * @returns {Object} The data object, properly modified\n */\n Popper.prototype.modifiers.arrow = function(data) {\n var arrow = this._options.arrowElement;\n\n // if the arrowElement is a string, suppose it's a CSS selector\n if (typeof arrow === 'string') {\n arrow = this._popper.querySelector(arrow);\n }\n\n // if arrow element is not found, don't run the modifier\n if (!arrow) {\n return data;\n }\n\n // the arrow element must be child of its popper\n if (!this._popper.contains(arrow)) {\n console.warn('WARNING: `arrowElement` must be child of its popper element!');\n return data;\n }\n\n // arrow depends on keepTogether in order to work\n if (!this.isModifierRequired(this.modifiers.arrow, this.modifiers.keepTogether)) {\n console.warn('WARNING: keepTogether modifier is required by arrow modifier in order to work, be sure to include it before arrow!');\n return data;\n }\n\n var arrowStyle = {};\n var placement = data.placement.split('-')[0];\n var popper = getPopperClientRect(data.offsets.popper);\n var reference = data.offsets.reference;\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var side = isVertical ? 'top' : 'left';\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowSize = getOuterSizes(arrow)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);\n }\n // bottom/right side\n if (reference[side] + arrowSize > popper[opSide]) {\n data.offsets.popper[side] += (reference[side] + arrowSize) - popper[opSide];\n }\n\n // compute center of the popper\n var center = reference[side] + (reference[len] / 2) - (arrowSize / 2);\n\n var sideValue = center - popper[side];\n\n // prevent arrow from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowSize - 3, sideValue), 3);\n arrowStyle[side] = sideValue;\n arrowStyle[altSide] = ''; // make sure to remove any old style from the arrow\n\n data.offsets.arrow = arrowStyle;\n data.arrowElement = arrow;\n\n return data;\n };\n\n\n //\n // Helpers\n //\n\n /**\n * Get the outer sizes of the given element (offset size + margins)\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\n function getOuterSizes(element) {\n // NOTE: 1 DOM access here\n var _display = element.style.display, _visibility = element.style.visibility;\n element.style.display = 'block'; element.style.visibility = 'hidden';\n var calcWidthToForceRepaint = element.offsetWidth;\n\n // original method\n var styles = root.getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = { width: element.offsetWidth + y, height: element.offsetHeight + x };\n\n // reset element styles\n element.style.display = _display; element.style.visibility = _visibility;\n return result;\n }\n\n /**\n * Get the opposite placement of the given one/\n * @function\n * @ignore\n * @argument {String} placement\n * @returns {String} flipped placement\n */\n function getOppositePlacement(placement) {\n var hash = {left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function(matched){\n return hash[matched];\n });\n }\n\n /**\n * Given the popper offsets, generate an output similar to getBoundingClientRect\n * @function\n * @ignore\n * @argument {Object} popperOffsets\n * @returns {Object} ClientRect like output\n */\n function getPopperClientRect(popperOffsets) {\n var offsets = Object.assign({}, popperOffsets);\n offsets.right = offsets.left + offsets.width;\n offsets.bottom = offsets.top + offsets.height;\n return offsets;\n }\n\n /**\n * Given an array and the key to find, returns its index\n * @function\n * @ignore\n * @argument {Array} arr\n * @argument keyToFind\n * @returns index or null\n */\n function getArrayKeyIndex(arr, keyToFind) {\n var i = 0, key;\n for (key in arr) {\n if (arr[key] === keyToFind) {\n return i;\n }\n i++;\n }\n return null;\n }\n\n /**\n * Get CSS computed property of the given element\n * @function\n * @ignore\n * @argument {Eement} element\n * @argument {String} property\n */\n function getStyleComputedProperty(element, property) {\n // NOTE: 1 DOM access here\n var css = root.getComputedStyle(element, null);\n return css[property];\n }\n\n /**\n * Returns the offset parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent;\n return offsetParent === root.document.body || !offsetParent ? root.document.documentElement : offsetParent;\n }\n\n /**\n * Returns the scrolling parent of the given element\n * @function\n * @ignore\n * @argument {Element} element\n * @returns {Element} offset parent\n */\n function getScrollParent(element) {\n var parent = element.parentNode;\n\n if (!parent) {\n return element;\n }\n\n if (parent === root.document) {\n // Firefox puts the scrollTOp value on `documentElement` instead of `body`, we then check which of them is\n // greater than 0 and return the proper element\n if (root.document.body.scrollTop) {\n return root.document.body;\n } else {\n return root.document.documentElement;\n }\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n if (\n ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow')) !== -1 ||\n ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-x')) !== -1 ||\n ['scroll', 'auto'].indexOf(getStyleComputedProperty(parent, 'overflow-y')) !== -1\n ) {\n // If the detected scrollParent is body, we perform an additional check on its parentNode\n // in this way we'll get body if the browser is Chrome-ish, or documentElement otherwise\n // fixes issue #65\n return parent;\n }\n return getScrollParent(element.parentNode);\n }\n\n /**\n * Check if the given element is fixed or is inside a fixed parent\n * @function\n * @ignore\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\n function isFixed(element) {\n if (element === root.document.body) {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return element.parentNode ? isFixed(element.parentNode) : element;\n }\n\n /**\n * Set the style to the given popper\n * @function\n * @ignore\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles - Object with a list of properties and values which will be applied to the element\n */\n function setStyle(element, styles) {\n function is_numeric(n) {\n return (n !== '' && !isNaN(parseFloat(n)) && isFinite(n));\n }\n Object.keys(styles).forEach(function(prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && is_numeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n }\n\n /**\n * Check if the given variable is a function\n * @function\n * @ignore\n * @argument {*} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\n function isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n }\n\n /**\n * Get the position of the given element, relative to its offset parent\n * @function\n * @ignore\n * @param {Element} element\n * @return {Object} position - Coordinates of the element and its `scrollTop`\n */\n function getOffsetRect(element) {\n var elementRect = {\n width: element.offsetWidth,\n height: element.offsetHeight,\n left: element.offsetLeft,\n top: element.offsetTop\n };\n\n elementRect.right = elementRect.left + elementRect.width;\n elementRect.bottom = elementRect.top + elementRect.height;\n\n // position\n return elementRect;\n }\n\n /**\n * Get bounding client rect of given element\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\n function getBoundingClientRect(element) {\n var rect = element.getBoundingClientRect();\n\n // whether the IE version is lower than 11\n var isIE = navigator.userAgent.indexOf(\"MSIE\") != -1;\n\n // fix ie document bounding top always 0 bug\n var rectTop = isIE && element.tagName === 'HTML'\n ? -element.scrollTop\n : rect.top;\n\n return {\n left: rect.left,\n top: rectTop,\n right: rect.right,\n bottom: rect.bottom,\n width: rect.right - rect.left,\n height: rect.bottom - rectTop\n };\n }\n\n /**\n * Given an element and one of its parents, return the offset\n * @function\n * @ignore\n * @param {HTMLElement} element\n * @param {HTMLElement} parent\n * @return {Object} rect\n */\n function getOffsetRectRelativeToCustomParent(element, parent, fixed) {\n var elementRect = getBoundingClientRect(element);\n var parentRect = getBoundingClientRect(parent);\n\n if (fixed) {\n var scrollParent = getScrollParent(parent);\n parentRect.top += scrollParent.scrollTop;\n parentRect.bottom += scrollParent.scrollTop;\n parentRect.left += scrollParent.scrollLeft;\n parentRect.right += scrollParent.scrollLeft;\n }\n\n var rect = {\n top: elementRect.top - parentRect.top ,\n left: elementRect.left - parentRect.left ,\n bottom: (elementRect.top - parentRect.top) + elementRect.height,\n right: (elementRect.left - parentRect.left) + elementRect.width,\n width: elementRect.width,\n height: elementRect.height\n };\n return rect;\n }\n\n /**\n * Get the prefixed supported property name\n * @function\n * @ignore\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase)\n */\n function getSupportedPropertyName(property) {\n var prefixes = ['', 'ms', 'webkit', 'moz', 'o'];\n\n for (var i = 0; i < prefixes.length; i++) {\n var toCheck = prefixes[i] ? prefixes[i] + property.charAt(0).toUpperCase() + property.slice(1) : property;\n if (typeof root.document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n }\n\n /**\n * The Object.assign() method is used to copy the values of all enumerable own properties from one or more source\n * objects to a target object. It will return the target object.\n * This polyfill doesn't support symbol properties, since ES5 doesn't have symbols anyway\n * Source: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @function\n * @ignore\n */\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: function(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n nextSource = Object(nextSource);\n\n var keysArray = Object.keys(nextSource);\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n }\n });\n }\n\n return Popper;\n}));\n","/* Modified from https://github.com/sdecima/javascript-detect-element-resize\n * version: 0.5.3\n *\n * The MIT License (MIT)\n *\n * Copyright (c) 2013 Sebastián Décima\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"), to deal in\n * the Software without restriction, including without limitation the rights to\n * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n * the Software, and to permit persons to whom the Software is furnished to do so,\n * subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n */\nconst isServer = typeof window === 'undefined';\n\n/* istanbul ignore next */\nconst requestFrame = (function() {\n if (isServer) return;\n const raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame ||\n function(fn) {\n return window.setTimeout(fn, 20);\n };\n return function(fn) {\n return raf(fn);\n };\n})();\n\n/* istanbul ignore next */\nconst cancelFrame = (function() {\n if (isServer) return;\n const cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n return function(id) {\n return cancel(id);\n };\n})();\n\n/* istanbul ignore next */\nconst resetTrigger = function(element) {\n const trigger = element.__resizeTrigger__;\n const expand = trigger.firstElementChild;\n const contract = trigger.lastElementChild;\n const expandChild = expand.firstElementChild;\n\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n};\n\n/* istanbul ignore next */\nconst checkTriggers = function(element) {\n return element.offsetWidth !== element.__resizeLast__.width || element.offsetHeight !== element.__resizeLast__.height;\n};\n\n/* istanbul ignore next */\nconst scrollListener = function(event) {\n resetTrigger(this);\n if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);\n this.__resizeRAF__ = requestFrame(() => {\n if (checkTriggers(this)) {\n this.__resizeLast__.width = this.offsetWidth;\n this.__resizeLast__.height = this.offsetHeight;\n this.__resizeListeners__.forEach((fn) => {\n fn.call(this, event);\n });\n }\n });\n};\n\n/* Detect CSS Animations support to detect element display/re-attach */\nconst attachEvent = isServer ? {} : document.attachEvent;\nconst DOM_PREFIXES = 'Webkit Moz O ms'.split(' ');\nconst START_EVENTS = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' ');\nconst RESIZE_ANIMATION_NAME = 'resizeanim';\nlet animation = false;\nlet keyFramePrefix = '';\nlet animationStartEvent = 'animationstart';\n\n/* istanbul ignore next */\nif (!attachEvent && !isServer) {\n const testElement = document.createElement('fakeelement');\n if (testElement.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n let prefix = '';\n for (var i = 0; i < DOM_PREFIXES.length; i++) {\n if (testElement.style[DOM_PREFIXES[i] + 'AnimationName'] !== undefined) {\n prefix = DOM_PREFIXES[i];\n keyFramePrefix = '-' + prefix.toLowerCase() + '-';\n animationStartEvent = START_EVENTS[i];\n animation = true;\n break;\n }\n }\n }\n}\n\nlet stylesCreated = false;\n/* istanbul ignore next */\nconst createStyles = function() {\n if (!stylesCreated && !isServer) {\n const animationKeyframes = `@${keyFramePrefix}keyframes ${RESIZE_ANIMATION_NAME} { from { opacity: 0; } to { opacity: 0; } } `;\n const animationStyle = `${keyFramePrefix}animation: 1ms ${RESIZE_ANIMATION_NAME};`;\n\n // opacity: 0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n const css = `${animationKeyframes}\n .resize-triggers { ${animationStyle} visibility: hidden; opacity: 0; }\n .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \\\" \\\"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1 }\n .resize-triggers > div { background: #eee; overflow: auto; }\n .contract-trigger:before { width: 200%; height: 200%; }`;\n\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n\n style.type = 'text/css';\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n stylesCreated = true;\n }\n};\n\n/* istanbul ignore next */\nexport const addResizeListener = function(element, fn) {\n if (isServer) return;\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTrigger__) {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n createStyles();\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n\n const resizeTrigger = element.__resizeTrigger__ = document.createElement('div');\n resizeTrigger.className = 'resize-triggers';\n resizeTrigger.innerHTML = '';\n element.appendChild(resizeTrigger);\n\n resetTrigger(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationStartEvent) {\n resizeTrigger.addEventListener(animationStartEvent, function(event) {\n if (event.animationName === RESIZE_ANIMATION_NAME) {\n resetTrigger(element);\n }\n });\n }\n }\n element.__resizeListeners__.push(fn);\n }\n};\n\n/* istanbul ignore next */\nexport const removeResizeListener = function(element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener);\n element.__resizeTrigger__ = !element.removeChild(element.__resizeTrigger__);\n }\n }\n};\n","const hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n};\n\nfunction extend(to, _from) {\n for (let key in _from) {\n to[key] = _from[key];\n }\n return to;\n};\n\nexport function toObject(arr) {\n var res = {};\n for (let i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res;\n};\n\nexport const getValueByPath = function(object, prop) {\n prop = prop || '';\n const paths = prop.split('.');\n let current = object;\n let result = null;\n for (let i = 0, j = paths.length; i < j; i++) {\n const path = paths[i];\n if (!current) break;\n\n if (i === j - 1) {\n result = current[path];\n break;\n }\n current = current[path];\n }\n return result;\n};\n","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n","'use strict';\n\nvar Vue = require('vue');\nVue = 'default' in Vue ? Vue['default'] : Vue;\n\nvar version = '2.1.0';\n\nvar compatible = (/^2\\./).test(Vue.version);\nif (!compatible) {\n Vue.util.warn('VueFocus ' + version + ' only supports Vue 2.x, and does not support Vue ' + Vue.version);\n}\n\nvar focus = {\n inserted: function(el, binding) {\n if (binding.value) el.focus();\n else el.blur();\n },\n\n componentUpdated: function(el, binding) {\n if (binding.modifiers.lazy) {\n if (Boolean(binding.value) === Boolean(binding.oldValue)) {\n return;\n }\n }\n\n if (binding.value) el.focus();\n else el.blur();\n },\n};\n\nvar mixin = {\n directives: {\n focus: focus,\n },\n};\n\nexports.version = version;\nexports.focus = focus;\nexports.mixin = mixin;","var map = {\n\t\"./en-au\": 59982,\n\t\"./en-au.js\": 59982,\n\t\"./en-ca\": 69300,\n\t\"./en-ca.js\": 69300,\n\t\"./en-gb\": 94201,\n\t\"./en-gb.js\": 94201,\n\t\"./en-ie\": 61670,\n\t\"./en-ie.js\": 61670,\n\t\"./en-il\": 26413,\n\t\"./en-il.js\": 26413,\n\t\"./en-in\": 66379,\n\t\"./en-in.js\": 66379,\n\t\"./en-nz\": 44480,\n\t\"./en-nz.js\": 44480,\n\t\"./en-sg\": 40514,\n\t\"./en-sg.js\": 40514,\n\t\"./hu\": 98151,\n\t\"./hu.js\": 98151\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 98774;","function broadcast(componentName, eventName, params) {\n this.$children.forEach(child => {\n var name = child.$options.componentName;\n\n if (name === componentName) {\n child.$emit.apply(child, [eventName].concat(params));\n } else {\n broadcast.apply(child, [componentName, eventName].concat([params]));\n }\n });\n}\nexport default {\n methods: {\n dispatch(componentName, eventName, params) {\n var parent = this.$parent || this.$root;\n var name = parent.$options.componentName;\n\n while (parent && (!name || name !== componentName)) {\n parent = parent.$parent;\n\n if (parent) {\n name = parent.$options.componentName;\n }\n }\n if (parent) {\n parent.$emit.apply(parent, [eventName].concat(params));\n }\n },\n broadcast(componentName, eventName, params) {\n broadcast.call(this, componentName, eventName, params);\n }\n }\n};\n","let hiddenTextarea;\n\nconst HIDDEN_STYLE = `\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n`;\n\nconst CONTEXT_STYLE = [\n 'letter-spacing',\n 'line-height',\n 'padding-top',\n 'padding-bottom',\n 'font-family',\n 'font-weight',\n 'font-size',\n 'text-rendering',\n 'text-transform',\n 'width',\n 'text-indent',\n 'padding-left',\n 'padding-right',\n 'border-width',\n 'box-sizing'\n];\n\nfunction calculateNodeStyling(targetElement) {\n const style = window.getComputedStyle(targetElement);\n\n const boxSizing = style.getPropertyValue('box-sizing');\n\n const paddingSize = (\n parseFloat(style.getPropertyValue('padding-bottom')) +\n parseFloat(style.getPropertyValue('padding-top'))\n );\n\n const borderSize = (\n parseFloat(style.getPropertyValue('border-bottom-width')) +\n parseFloat(style.getPropertyValue('border-top-width'))\n );\n\n const contextStyle = CONTEXT_STYLE\n .map(name => `${name}:${style.getPropertyValue(name)}`)\n .join(';');\n\n return { contextStyle, paddingSize, borderSize, boxSizing };\n}\n\nexport default function calcTextareaHeight(\n targetElement,\n minRows = 1,\n maxRows = null\n) {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n document.body.appendChild(hiddenTextarea);\n }\n\n let {\n paddingSize,\n borderSize,\n boxSizing,\n contextStyle\n } = calculateNodeStyling(targetElement);\n\n hiddenTextarea.setAttribute('style', `${contextStyle};${HIDDEN_STYLE}`);\n hiddenTextarea.value = targetElement.value || targetElement.placeholder || '';\n\n let height = hiddenTextarea.scrollHeight;\n const result = {};\n\n if (boxSizing === 'border-box') {\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n height = height - paddingSize;\n }\n\n hiddenTextarea.value = '';\n let singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n let minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n result.minHeight = `${ minHeight }px`;\n }\n if (maxRows !== null) {\n let maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n result.height = `${ height }px`;\n\n return result;\n};\n","export default function(target) {\n for (let i = 1, j = arguments.length; i < j; i++) {\n let source = arguments[i] || {};\n for (let prop in source) {\n if (source.hasOwnProperty(prop)) {\n let value = source[prop];\n if (value !== undefined) {\n target[prop] = value;\n }\n }\n }\n }\n\n return target;\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:[\n _vm.type === 'textarea' ? 'el-textarea' : 'el-input',\n _vm.size ? 'el-input--' + _vm.size : '',\n {\n 'is-disabled': _vm.disabled,\n 'el-input-group': _vm.$slots.prepend || _vm.$slots.append,\n 'el-input-group--append': _vm.$slots.append,\n 'el-input-group--prepend': _vm.$slots.prepend\n }\n]},[(_vm.type !== 'textarea')?[(_vm.$slots.prepend)?_c('div',{staticClass:\"el-input-group__prepend\"},[_vm._t(\"prepend\")],2):_vm._e(),_vm._v(\" \"),_vm._t(\"icon\",function(){return [(_vm.icon)?_c('i',{staticClass:\"el-input__icon\",class:[\n 'el-icon-' + _vm.icon,\n _vm.onIconClick ? 'is-clickable' : ''\n ],on:{\"click\":_vm.handleIconClick}}):_vm._e()]}),_vm._v(\" \"),(_vm.type !== 'textarea')?_c('input',_vm._b({ref:\"input\",staticClass:\"el-input__inner\",attrs:{\"autocomplete\":_vm.autoComplete},domProps:{\"value\":_vm.currentValue},on:{\"input\":_vm.handleInput,\"focus\":_vm.handleFocus,\"blur\":_vm.handleBlur}},'input',_vm.$props,false)):_vm._e(),_vm._v(\" \"),(_vm.validating)?_c('i',{staticClass:\"el-input__icon el-icon-loading\"}):_vm._e(),_vm._v(\" \"),(_vm.$slots.append)?_c('div',{staticClass:\"el-input-group__append\"},[_vm._t(\"append\")],2):_vm._e()]:_c('textarea',_vm._b({ref:\"textarea\",staticClass:\"el-textarea__inner\",style:(_vm.textareaStyle),domProps:{\"value\":_vm.currentValue},on:{\"input\":_vm.handleInput,\"focus\":_vm.handleFocus,\"blur\":_vm.handleBlur}},'textarea',_vm.$props,false))],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../vue-loader/lib/index.js??vue-loader-options!./input.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../vue-loader/lib/index.js??vue-loader-options!./input.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./input.vue?vue&type=template&id=ce27aef8\"\nimport script from \"./input.vue?vue&type=script&lang=js\"\nexport * from \"./input.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ElInput from './src/input';\n\n/* istanbul ignore next */\nElInput.install = function(Vue) {\n Vue.component(ElInput.name, ElInput);\n};\n\nexport default ElInput;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"el-select-dropdown\",class:[{ 'is-multiple': _vm.$parent.multiple }, _vm.popperClass],style:({ minWidth: _vm.minWidth })},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* istanbul ignore next */\n\nimport Vue from 'vue';\n\nconst isServer = Vue.prototype.$isServer;\nconst SPECIAL_CHARS_REGEXP = /([\\:\\-\\_]+(.))/g;\nconst MOZ_HACK_REGEXP = /^moz([A-Z])/;\nconst ieVersion = isServer ? 0 : Number(document.documentMode);\n\n/* istanbul ignore next */\nconst trim = function(string) {\n return (string || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n};\n/* istanbul ignore next */\nconst camelCase = function(name) {\n return name.replace(SPECIAL_CHARS_REGEXP, function(_, separator, letter, offset) {\n return offset ? letter.toUpperCase() : letter;\n }).replace(MOZ_HACK_REGEXP, 'Moz$1');\n};\n\n/* istanbul ignore next */\nexport const on = (function() {\n if (!isServer && document.addEventListener) {\n return function(element, event, handler) {\n if (element && event && handler) {\n element.addEventListener(event, handler, false);\n }\n };\n } else {\n return function(element, event, handler) {\n if (element && event && handler) {\n element.attachEvent('on' + event, handler);\n }\n };\n }\n})();\n\n/* istanbul ignore next */\nexport const off = (function() {\n if (!isServer && document.removeEventListener) {\n return function(element, event, handler) {\n if (element && event) {\n element.removeEventListener(event, handler, false);\n }\n };\n } else {\n return function(element, event, handler) {\n if (element && event) {\n element.detachEvent('on' + event, handler);\n }\n };\n }\n})();\n\n/* istanbul ignore next */\nexport const once = function(el, event, fn) {\n var listener = function() {\n if (fn) {\n fn.apply(this, arguments);\n }\n off(el, event, listener);\n };\n on(el, event, listener);\n};\n\n/* istanbul ignore next */\nexport function hasClass(el, cls) {\n if (!el || !cls) return false;\n if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n if (el.classList) {\n return el.classList.contains(cls);\n } else {\n return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;\n }\n};\n\n/* istanbul ignore next */\nexport function addClass(el, cls) {\n if (!el) return;\n var curClass = el.className;\n var classes = (cls || '').split(' ');\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.add(clsName);\n } else {\n if (!hasClass(el, clsName)) {\n curClass += ' ' + clsName;\n }\n }\n }\n if (!el.classList) {\n el.className = curClass;\n }\n};\n\n/* istanbul ignore next */\nexport function removeClass(el, cls) {\n if (!el || !cls) return;\n var classes = cls.split(' ');\n var curClass = ' ' + el.className + ' ';\n\n for (var i = 0, j = classes.length; i < j; i++) {\n var clsName = classes[i];\n if (!clsName) continue;\n\n if (el.classList) {\n el.classList.remove(clsName);\n } else {\n if (hasClass(el, clsName)) {\n curClass = curClass.replace(' ' + clsName + ' ', ' ');\n }\n }\n }\n if (!el.classList) {\n el.className = trim(curClass);\n }\n};\n\n/* istanbul ignore next */\nexport const getStyle = ieVersion < 9 ? function(element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'styleFloat';\n }\n try {\n switch (styleName) {\n case 'opacity':\n try {\n return element.filters.item('alpha').opacity / 100;\n } catch (e) {\n return 1.0;\n }\n default:\n return (element.style[styleName] || element.currentStyle ? element.currentStyle[styleName] : null);\n }\n } catch (e) {\n return element.style[styleName];\n }\n} : function(element, styleName) {\n if (isServer) return;\n if (!element || !styleName) return null;\n styleName = camelCase(styleName);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n try {\n var computed = document.defaultView.getComputedStyle(element, '');\n return element.style[styleName] || computed ? computed[styleName] : null;\n } catch (e) {\n return element.style[styleName];\n }\n};\n\n/* istanbul ignore next */\nexport function setStyle(element, styleName, value) {\n if (!element || !styleName) return;\n\n if (typeof styleName === 'object') {\n for (var prop in styleName) {\n if (styleName.hasOwnProperty(prop)) {\n setStyle(element, prop, styleName[prop]);\n }\n }\n } else {\n styleName = camelCase(styleName);\n if (styleName === 'opacity' && ieVersion < 9) {\n element.style.filter = isNaN(value) ? '' : 'alpha(opacity=' + value * 100 + ')';\n } else {\n element.style[styleName] = value;\n }\n }\n};\n","import Vue from 'vue';\nimport { addClass, removeClass } from 'element-ui/src/utils/dom';\n\nlet hasModal = false;\n\nconst getModal = function() {\n if (Vue.prototype.$isServer) return;\n let modalDom = PopupManager.modalDom;\n if (modalDom) {\n hasModal = true;\n } else {\n hasModal = false;\n modalDom = document.createElement('div');\n PopupManager.modalDom = modalDom;\n\n modalDom.addEventListener('touchmove', function(event) {\n event.preventDefault();\n event.stopPropagation();\n });\n\n modalDom.addEventListener('click', function() {\n PopupManager.doOnModalClick && PopupManager.doOnModalClick();\n });\n }\n\n return modalDom;\n};\n\nconst instances = {};\n\nconst PopupManager = {\n zIndex: 2000,\n\n modalFade: true,\n\n getInstance: function(id) {\n return instances[id];\n },\n\n register: function(id, instance) {\n if (id && instance) {\n instances[id] = instance;\n }\n },\n\n deregister: function(id) {\n if (id) {\n instances[id] = null;\n delete instances[id];\n }\n },\n\n nextZIndex: function() {\n return PopupManager.zIndex++;\n },\n\n modalStack: [],\n\n doOnModalClick: function() {\n const topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topItem) return;\n\n const instance = PopupManager.getInstance(topItem.id);\n if (instance && instance.closeOnClickModal) {\n instance.close();\n }\n },\n\n openModal: function(id, zIndex, dom, modalClass, modalFade) {\n if (Vue.prototype.$isServer) return;\n if (!id || zIndex === undefined) return;\n this.modalFade = modalFade;\n\n const modalStack = this.modalStack;\n\n for (let i = 0, j = modalStack.length; i < j; i++) {\n const item = modalStack[i];\n if (item.id === id) {\n return;\n }\n }\n\n const modalDom = getModal();\n\n addClass(modalDom, 'v-modal');\n if (this.modalFade && !hasModal) {\n addClass(modalDom, 'v-modal-enter');\n }\n if (modalClass) {\n let classArr = modalClass.trim().split(/\\s+/);\n classArr.forEach(item => addClass(modalDom, item));\n }\n setTimeout(() => {\n removeClass(modalDom, 'v-modal-enter');\n }, 200);\n\n if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {\n dom.parentNode.appendChild(modalDom);\n } else {\n document.body.appendChild(modalDom);\n }\n\n if (zIndex) {\n modalDom.style.zIndex = zIndex;\n }\n modalDom.style.display = '';\n\n this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });\n },\n\n closeModal: function(id) {\n const modalStack = this.modalStack;\n const modalDom = getModal();\n\n if (modalStack.length > 0) {\n const topItem = modalStack[modalStack.length - 1];\n if (topItem.id === id) {\n if (topItem.modalClass) {\n let classArr = topItem.modalClass.trim().split(/\\s+/);\n classArr.forEach(item => removeClass(modalDom, item));\n }\n\n modalStack.pop();\n if (modalStack.length > 0) {\n modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;\n }\n } else {\n for (let i = modalStack.length - 1; i >= 0; i--) {\n if (modalStack[i].id === id) {\n modalStack.splice(i, 1);\n break;\n }\n }\n }\n }\n\n if (modalStack.length === 0) {\n if (this.modalFade) {\n addClass(modalDom, 'v-modal-leave');\n }\n setTimeout(() => {\n if (modalStack.length === 0) {\n if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);\n modalDom.style.display = 'none';\n PopupManager.modalDom = undefined;\n }\n removeClass(modalDom, 'v-modal-leave');\n }, 200);\n }\n }\n};\n\nconst getTopPopup = function() {\n if (Vue.prototype.$isServer) return;\n if (PopupManager.modalStack.length > 0) {\n const topPopup = PopupManager.modalStack[PopupManager.modalStack.length - 1];\n if (!topPopup) return;\n const instance = PopupManager.getInstance(topPopup.id);\n\n return instance;\n }\n};\n\nif (!Vue.prototype.$isServer) {\n // handle `esc` key when the popup is shown\n window.addEventListener('keydown', function(event) {\n if (event.keyCode === 27) {\n const topPopup = getTopPopup();\n\n if (topPopup && topPopup.closeOnPressEscape) {\n topPopup.handleClose\n ? topPopup.handleClose()\n : (topPopup.handleAction ? topPopup.handleAction('cancel') : topPopup.close());\n }\n }\n });\n}\n\nexport default PopupManager;\n","import Vue from 'vue';\nimport merge from 'element-ui/src/utils/merge';\nimport PopupManager from 'element-ui/src/utils/popup/popup-manager';\nimport getScrollBarWidth from '../scrollbar-width';\nimport { getStyle } from '../dom';\n\nlet idSeed = 1;\nconst transitions = [];\n\nconst hookTransition = (transition) => {\n if (transitions.indexOf(transition) !== -1) return;\n\n const getVueInstance = (element) => {\n let instance = element.__vue__;\n if (!instance) {\n const textNode = element.previousSibling;\n if (textNode.__vue__) {\n instance = textNode.__vue__;\n }\n }\n return instance;\n };\n\n Vue.transition(transition, {\n afterEnter(el) {\n const instance = getVueInstance(el);\n\n if (instance) {\n instance.doAfterOpen && instance.doAfterOpen();\n }\n },\n afterLeave(el) {\n const instance = getVueInstance(el);\n\n if (instance) {\n instance.doAfterClose && instance.doAfterClose();\n }\n }\n });\n};\n\nlet scrollBarWidth;\n\nconst getDOM = function(dom) {\n if (dom.nodeType === 3) {\n dom = dom.nextElementSibling || dom.nextSibling;\n getDOM(dom);\n }\n return dom;\n};\n\nexport default {\n model: {\n prop: 'visible',\n event: 'visible-change'\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n transition: {\n type: String,\n default: ''\n },\n openDelay: {},\n closeDelay: {},\n zIndex: {},\n modal: {\n type: Boolean,\n default: false\n },\n modalFade: {\n type: Boolean,\n default: true\n },\n modalClass: {},\n modalAppendToBody: {\n type: Boolean,\n default: false\n },\n lockScroll: {\n type: Boolean,\n default: true\n },\n closeOnPressEscape: {\n type: Boolean,\n default: false\n },\n closeOnClickModal: {\n type: Boolean,\n default: false\n }\n },\n\n created() {\n if (this.transition) {\n hookTransition(this.transition);\n }\n },\n\n beforeMount() {\n this._popupId = 'popup-' + idSeed++;\n PopupManager.register(this._popupId, this);\n },\n\n beforeDestroy() {\n PopupManager.deregister(this._popupId);\n PopupManager.closeModal(this._popupId);\n if (this.modal && this.bodyOverflow !== null && this.bodyOverflow !== 'hidden') {\n document.body.style.overflow = this.bodyOverflow;\n document.body.style.paddingRight = this.bodyPaddingRight;\n }\n this.bodyOverflow = null;\n this.bodyPaddingRight = null;\n },\n\n data() {\n return {\n opened: false,\n bodyOverflow: null,\n bodyPaddingRight: null,\n rendered: false\n };\n },\n\n watch: {\n visible(val) {\n if (val) {\n if (this._opening) return;\n if (!this.rendered) {\n this.rendered = true;\n Vue.nextTick(() => {\n this.open();\n });\n } else {\n this.open();\n }\n } else {\n this.close();\n }\n }\n },\n\n methods: {\n open(options) {\n if (!this.rendered) {\n this.rendered = true;\n this.$emit('visible-change', true);\n }\n\n const props = merge({}, this.$props || this, options);\n\n if (this._closeTimer) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n clearTimeout(this._openTimer);\n\n const openDelay = Number(props.openDelay);\n if (openDelay > 0) {\n this._openTimer = setTimeout(() => {\n this._openTimer = null;\n this.doOpen(props);\n }, openDelay);\n } else {\n this.doOpen(props);\n }\n },\n\n doOpen(props) {\n if (this.$isServer) return;\n if (this.willOpen && !this.willOpen()) return;\n if (this.opened) return;\n\n this._opening = true;\n\n this.$emit('visible-change', true);\n\n const dom = getDOM(this.$el);\n\n const modal = props.modal;\n\n const zIndex = props.zIndex;\n if (zIndex) {\n PopupManager.zIndex = zIndex;\n }\n\n if (modal) {\n if (this._closing) {\n PopupManager.closeModal(this._popupId);\n this._closing = false;\n }\n PopupManager.openModal(this._popupId, PopupManager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);\n if (props.lockScroll) {\n if (!this.bodyOverflow) {\n this.bodyPaddingRight = document.body.style.paddingRight;\n this.bodyOverflow = document.body.style.overflow;\n }\n scrollBarWidth = getScrollBarWidth();\n let bodyHasOverflow = document.documentElement.clientHeight < document.body.scrollHeight;\n let bodyOverflowY = getStyle(document.body, 'overflowY');\n if (scrollBarWidth > 0 && (bodyHasOverflow || bodyOverflowY === 'scroll')) {\n document.body.style.paddingRight = scrollBarWidth + 'px';\n }\n document.body.style.overflow = 'hidden';\n }\n }\n\n if (getComputedStyle(dom).position === 'static') {\n dom.style.position = 'absolute';\n }\n\n dom.style.zIndex = PopupManager.nextZIndex();\n this.opened = true;\n\n this.onOpen && this.onOpen();\n\n if (!this.transition) {\n this.doAfterOpen();\n }\n },\n\n doAfterOpen() {\n this._opening = false;\n },\n\n close() {\n if (this.willClose && !this.willClose()) return;\n\n if (this._openTimer !== null) {\n clearTimeout(this._openTimer);\n this._openTimer = null;\n }\n clearTimeout(this._closeTimer);\n\n const closeDelay = Number(this.closeDelay);\n\n if (closeDelay > 0) {\n this._closeTimer = setTimeout(() => {\n this._closeTimer = null;\n this.doClose();\n }, closeDelay);\n } else {\n this.doClose();\n }\n },\n\n doClose() {\n this.$emit('visible-change', false);\n this._closing = true;\n\n this.onClose && this.onClose();\n\n if (this.lockScroll) {\n setTimeout(() => {\n if (this.modal && this.bodyOverflow !== 'hidden') {\n document.body.style.overflow = this.bodyOverflow;\n document.body.style.paddingRight = this.bodyPaddingRight;\n }\n this.bodyOverflow = null;\n this.bodyPaddingRight = null;\n }, 200);\n }\n\n this.opened = false;\n\n if (!this.transition) {\n this.doAfterClose();\n }\n },\n\n doAfterClose() {\n PopupManager.closeModal(this._popupId);\n this._closing = false;\n }\n }\n};\n\nexport {\n PopupManager\n};\n","import Vue from 'vue';\nimport {\n PopupManager\n} from 'element-ui/src/utils/popup';\n\nconst PopperJS = Vue.prototype.$isServer ? function() {} : require('./popper');\nconst stop = e => e.stopPropagation();\n\n/**\n * @param {HTMLElement} [reference=$refs.reference] - The reference element used to position the popper.\n * @param {HTMLElement} [popper=$refs.popper] - The HTML element used as popper, or a configuration used to generate the popper.\n * @param {String} [placement=button] - Placement of the popper accepted values: top(-start, -end), right(-start, -end), bottom(-start, -end), left(-start, -end)\n * @param {Number} [offset=0] - Amount of pixels the popper will be shifted (can be negative).\n * @param {Boolean} [visible=false] Visibility of the popup element.\n * @param {Boolean} [visible-arrow=false] Visibility of the arrow, no style.\n */\nexport default {\n props: {\n placement: {\n type: String,\n default: 'bottom'\n },\n boundariesPadding: {\n type: Number,\n default: 5\n },\n reference: {},\n popper: {},\n offset: {\n default: 0\n },\n value: Boolean,\n visibleArrow: Boolean,\n transition: String,\n appendToBody: {\n type: Boolean,\n default: true\n },\n popperOptions: {\n type: Object,\n default() {\n return {\n gpuAcceleration: false\n };\n }\n }\n },\n\n data() {\n return {\n showPopper: false,\n currentPlacement: ''\n };\n },\n\n watch: {\n value: {\n immediate: true,\n handler(val) {\n this.showPopper = val;\n this.$emit('input', val);\n }\n },\n\n showPopper(val) {\n val ? this.updatePopper() : this.destroyPopper();\n this.$emit('input', val);\n }\n },\n\n methods: {\n createPopper() {\n if (this.$isServer) return;\n this.currentPlacement = this.currentPlacement || this.placement;\n if (!/^(top|bottom|left|right)(-start|-end)?$/g.test(this.currentPlacement)) {\n return;\n }\n\n const options = this.popperOptions;\n const popper = this.popperElm = this.popperElm || this.popper || this.$refs.popper;\n let reference = this.referenceElm = this.referenceElm || this.reference || this.$refs.reference;\n\n if (!reference &&\n this.$slots.reference &&\n this.$slots.reference[0]) {\n reference = this.referenceElm = this.$slots.reference[0].elm;\n }\n\n if (!popper || !reference) return;\n if (this.visibleArrow) this.appendArrow(popper);\n if (this.appendToBody) document.body.appendChild(this.popperElm);\n if (this.popperJS && this.popperJS.destroy) {\n this.popperJS.destroy();\n }\n\n options.placement = this.currentPlacement;\n options.offset = this.offset;\n this.popperJS = new PopperJS(reference, popper, options);\n this.popperJS.onCreate(_ => {\n this.$emit('created', this);\n this.resetTransformOrigin();\n this.$nextTick(this.updatePopper);\n });\n if (typeof options.onUpdate === 'function') {\n this.popperJS.onUpdate(options.onUpdate);\n }\n this.popperJS._popper.style.zIndex = PopupManager.nextZIndex();\n this.popperElm.addEventListener('click', stop);\n },\n\n updatePopper() {\n this.popperJS ? this.popperJS.update() : this.createPopper();\n },\n\n doDestroy() {\n /* istanbul ignore if */\n if (this.showPopper || !this.popperJS) return;\n this.popperJS.destroy();\n this.popperJS = null;\n },\n\n destroyPopper() {\n if (this.popperJS) {\n this.resetTransformOrigin();\n }\n },\n\n resetTransformOrigin() {\n let placementMap = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n };\n let placement = this.popperJS._popper.getAttribute('x-placement').split('-')[0];\n let origin = placementMap[placement];\n this.popperJS._popper.style.transformOrigin = ['top', 'bottom'].indexOf(placement) > -1 ? `center ${ origin }` : `${ origin } center`;\n },\n\n appendArrow(element) {\n let hash;\n if (this.appended) {\n return;\n }\n\n this.appended = true;\n\n for (let item in element.attributes) {\n if (/^_v-/.test(element.attributes[item].name)) {\n hash = element.attributes[item].name;\n break;\n }\n }\n\n const arrow = document.createElement('div');\n\n if (hash) {\n arrow.setAttribute(hash, '');\n }\n arrow.setAttribute('x-arrow', '');\n arrow.className = 'popper__arrow';\n element.appendChild(arrow);\n }\n },\n\n beforeDestroy() {\n this.doDestroy();\n if (this.popperElm && this.popperElm.parentNode === document.body) {\n this.popperElm.removeEventListener('click', stop);\n document.body.removeChild(this.popperElm);\n }\n },\n\n // call destroy in keep-alive mode\n deactivated() {\n this.$options.beforeDestroy[0].call(this);\n }\n};\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-dropdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select-dropdown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./select-dropdown.vue?vue&type=template&id=67a11969\"\nimport script from \"./select-dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./select-dropdown.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"el-select-dropdown__item\",class:{\n\t\tselected: _vm.itemSelected,\n\t\t'is-disabled': _vm.disabled || _vm.groupDisabled || _vm.limitReached,\n\t\thover: _vm.parent.hoverIndex === _vm.index\n\t},on:{\"mouseenter\":_vm.hoverItem,\"click\":function($event){$event.stopPropagation();return _vm.selectOptionClick.apply(null, arguments)}}},[_vm._t(\"default\",function(){return [_c('span',[_vm._v(_vm._s(_vm.currentLabel))])]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./option.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./option.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./option.vue?vue&type=template&id=2fd90ab4\"\nimport script from \"./option.vue?vue&type=script&lang=js\"\nexport * from \"./option.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":_vm.closeTransition ? '' : 'el-zoom-in-center'}},[_c('span',{staticClass:\"el-tag\",class:[_vm.type ? 'el-tag--' + _vm.type : '', {'is-hit': _vm.hit}],style:({backgroundColor: _vm.color})},[_vm._t(\"default\"),_vm._v(\" \"),(_vm.closable)?_c('i',{staticClass:\"el-tag__close el-icon-close\",on:{\"click\":_vm.handleClose}}):_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../vue-loader/lib/index.js??vue-loader-options!./tag.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../vue-loader/lib/index.js??vue-loader-options!./tag.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./tag.vue?vue&type=template&id=617d8bb5\"\nimport script from \"./tag.vue?vue&type=script&lang=js\"\nexport * from \"./tag.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import ElTag from './src/tag';\n\n/* istanbul ignore next */\nElTag.install = function(Vue) {\n Vue.component(ElTag.name, ElTag);\n};\n\nexport default ElTag;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"el-scrollbar\"},[_c('div',{ref:\"wrap\",staticClass:\"el-scrollbar__wrap\",style:(_vm.wrapStyle),on:{\"scroll\":_vm.handleScroll}},[_c('div',{ref:\"resize\",staticClass:\"el-scrollbar__view\",class:_vm.viewClass,style:(_vm.viewStyle)},[_vm._t(\"default\")],2)]),_vm._v(\" \"),(!_vm.native)?_c('bar',{attrs:{\"move\":_vm.moveX,\"size\":_vm.sizeWidth}}):_vm._e(),_vm._v(\" \"),(!_vm.native)?_c('bar',{attrs:{\"vertical\":\"\",\"move\":_vm.moveY,\"size\":_vm.sizeHeight}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const BAR_MAP = {\r\n\tvertical: {\r\n\t\toffset: 'offsetHeight',\r\n\t\tscroll: 'scrollTop',\r\n\t\tscrollSize: 'scrollHeight',\r\n\t\tsize: 'height',\r\n\t\tkey: 'vertical',\r\n\t\taxis: 'Y',\r\n\t\tclient: 'clientY',\r\n\t\tdirection: 'top'\r\n\t},\r\n\thorizontal: {\r\n\t\toffset: 'offsetWidth',\r\n\t\tscroll: 'scrollLeft',\r\n\t\tscrollSize: 'scrollWidth',\r\n\t\tsize: 'width',\r\n\t\tkey: 'horizontal',\r\n\t\taxis: 'X',\r\n\t\tclient: 'clientX',\r\n\t\tdirection: 'left'\r\n\t}\r\n};\r\n\r\nexport function renderThumbStyle({ move, size, bar }) {\r\n\tconst style = {};\r\n\tconst translate = `translate${bar.axis}(${move}%)`;\r\n\r\n\tstyle[bar.size] = size;\r\n\tstyle.transform = translate;\r\n\tstyle.msTransform = translate;\r\n\tstyle.webkitTransform = translate;\r\n\r\n\treturn style;\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['el-scrollbar__bar', 'is-' + _vm.bar.key],on:{\"mousedown\":_vm.clickTrackHandler}},[_c('div',{ref:\"thumb\",staticClass:\"el-scrollbar__thumb\",style:(_vm.thumbStyle),on:{\"mousedown\":_vm.clickThumbHandler}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./bar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./bar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./bar.vue?vue&type=template&id=695a8544\"\nimport script from \"./bar.vue?vue&type=script&lang=js\"\nexport * from \"./bar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./main.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./main.vue?vue&type=template&id=34711bbf\"\nimport script from \"./main.vue?vue&type=script&lang=js\"\nexport * from \"./main.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport { on } from 'element-ui/src/utils/dom';\n\nconst nodeList = [];\nconst ctx = '@@clickoutsideContext';\n\nlet startClick;\nlet seed = 0;\n\n!Vue.prototype.$isServer && on(document, 'mousedown', e => (startClick = e));\n\n!Vue.prototype.$isServer && on(document, 'mouseup', e => {\n nodeList.forEach(node => node[ctx].documentHandler(e, startClick));\n});\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n * \n * ```\n */\nexport default {\n bind(el, binding, vnode) {\n nodeList.push(el);\n const id = seed++;\n const documentHandler = function(mouseup = {}, mousedown = {}) {\n if (!vnode.context ||\n !mouseup.target ||\n !mousedown.target ||\n el.contains(mouseup.target) ||\n el.contains(mousedown.target) ||\n el === mouseup.target ||\n (vnode.context.popperElm &&\n (vnode.context.popperElm.contains(mouseup.target) ||\n vnode.context.popperElm.contains(mousedown.target)))) return;\n\n if (binding.expression &&\n el[ctx].methodName &&\n vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n el[ctx] = {\n id,\n documentHandler,\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n\n update(el, binding) {\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n\n unbind(el) {\n let len = nodeList.length;\n\n for (let i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n }\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:(_vm.handleClose),expression:\"handleClose\"}],staticClass:\"el-select\"},[(_vm.multiple)?_c('div',{ref:\"tags\",staticClass:\"el-select__tags\",style:({ 'max-width': _vm.inputWidth - 32 + 'px' }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleMenu.apply(null, arguments)}}},[_c('transition-group',{on:{\"after-leave\":_vm.resetInputHeight}},_vm._l((_vm.selected),function(item){return _c('el-tag',{key:_vm.getValueKey(item),attrs:{\"closable\":!_vm.disabled,\"hit\":item.hitState,\"type\":\"primary\",\"close-transition\":\"\"},on:{\"close\":function($event){return _vm.deleteTag($event, item)}}},[_c('span',{staticClass:\"el-select__tags-text\"},[_vm._v(_vm._s(item.currentLabel))])])}),1),_vm._v(\" \"),(_vm.filterable)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"input\",staticClass:\"el-select__input\",class:`is-${_vm.size}`,style:({ width: _vm.inputLength + 'px', 'max-width': _vm.inputWidth - 42 + 'px' }),attrs:{\"type\":\"text\",\"disabled\":_vm.disabled,\"debounce\":_vm.remote ? 300 : 0},domProps:{\"value\":(_vm.query)},on:{\"focus\":function($event){_vm.visible = true},\"keyup\":_vm.managePlaceholder,\"keydown\":[_vm.resetInputState,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.navigateOptions('next')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.navigateOptions('prev')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.selectOption.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.stopPropagation();$event.preventDefault();_vm.visible = false},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"]))return null;return _vm.deletePrevTag.apply(null, arguments)}],\"input\":function($event){if($event.target.composing)return;_vm.query=$event.target.value}}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_c('el-input',{ref:\"reference\",attrs:{\"id\":_vm.id,\"type\":\"text\",\"placeholder\":_vm.currentPlaceholder,\"name\":_vm.name,\"size\":_vm.size,\"disabled\":_vm.disabled,\"readonly\":!_vm.filterable || _vm.multiple,\"validate-event\":false,\"icon\":_vm.iconClass},on:{\"focus\":_vm.handleFocus,\"click\":_vm.handleIconClick},nativeOn:{\"mousedown\":function($event){return _vm.handleMouseDown.apply(null, arguments)},\"keyup\":function($event){return _vm.debouncedOnInputChange.apply(null, arguments)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.navigateOptions('next')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.navigateOptions('prev')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.selectOption.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.stopPropagation();$event.preventDefault();_vm.visible = false},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;_vm.visible = false}],\"paste\":function($event){return _vm.debouncedOnInputChange.apply(null, arguments)},\"mouseenter\":function($event){_vm.inputHovering = true},\"mouseleave\":function($event){_vm.inputHovering = false}},model:{value:(_vm.selectedLabel),callback:function ($$v) {_vm.selectedLabel=$$v},expression:\"selectedLabel\"}}),_vm._v(\" \"),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"},on:{\"before-enter\":_vm.handleMenuEnter,\"after-leave\":_vm.doDestroy}},[_c('el-select-menu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible && _vm.emptyText !== false),expression:\"visible && emptyText !== false\"}],ref:\"popper\"},[_c('el-scrollbar',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.options.length > 0 && !_vm.loading),expression:\"options.length > 0 && !loading\"}],class:{ 'is-empty': !_vm.allowCreate && _vm.filteredOptionsCount === 0 },attrs:{\"tag\":\"ul\",\"wrap-class\":\"el-select-dropdown__wrap\",\"view-class\":\"el-select-dropdown__list\"}},[(_vm.showNewOption)?_c('el-option',{attrs:{\"value\":_vm.query,\"created\":\"\"}}):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2),_vm._v(\" \"),(_vm.emptyText && ((_vm.allowCreate && _vm.options.length === 0) || !_vm.allowCreate))?_c('p',{staticClass:\"el-select-dropdown__empty\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.emptyText)+\"\\n\\t\\t\\t\")]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue';\n\nexport default function scrollIntoView(container, selected) {\n if (Vue.prototype.$isServer) return;\n\n if (!selected) {\n container.scrollTop = 0;\n return;\n }\n\n const top = selected.offsetTop;\n const bottom = selected.offsetTop + selected.offsetHeight;\n const viewRectTop = container.scrollTop;\n const viewRectBottom = viewRectTop + container.clientHeight;\n\n if (top < viewRectTop) {\n container.scrollTop = top;\n } else if (bottom > viewRectBottom) {\n container.scrollTop = bottom - container.clientHeight;\n }\n}\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=968016f0\"\nimport script from \"./select.vue?vue&type=script&lang=js\"\nexport * from \"./select.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Input from 'element-ui/packages/input';\r\nexport default {\r\n\textends: Input,\r\n\tprops: {\r\n\t\tariaControls: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\tremote: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tinheritAttrs: false\r\n};\r\n","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./select-input.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./select-input.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./select-input.pug?vue&type=template&id=24e9c7a4&lang=pug&external\"\nimport script from \"./select-input.js?vue&type=script&lang=js&external\"\nexport * from \"./select-input.js?vue&type=script&lang=js&external\"\nimport style0 from \"./select-input.css?vue&type=style&index=0&prod&lang=css&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:[_vm.type === 'textarea' ? 'el-textarea' : 'el-input',_vm.size ? 'el-input--' + _vm.size : '',{'is-disabled': _vm.disabled,'el-input-group': _vm.$slots.prepend || _vm.$slots.append,'el-input-group--append': _vm.$slots.append,'el-input-group--prepend': _vm.$slots.prepend}]},[(_vm.type !== 'textarea')?[(_vm.$slots.prepend)?_c('div',{staticClass:\"el-input-group__prepend\"},[_vm._t(\"prepend\")],2):_vm._e(),_vm._t(\"icon\",function(){return [(_vm.icon)?_c('i',{staticClass:\"el-input__icon\",class:[\t\t\t'el-icon-' + _vm.icon,\t\t\t_vm.onIconClick ? 'is-clickable' : ''\t\t\t],on:{\"click\":_vm.handleIconClick}}):_vm._e()]}),(_vm.type !== 'textarea')?_c('input',_vm._b({ref:\"input\",staticClass:\"el-input__inner form-control\",class:_vm.remote ? 'el-input__inner--autosuggest' : '',attrs:{\"id\":_vm.$parent.id,\"type\":_vm.type,\"name\":_vm.name,\"aria-controls\":_vm.ariaControls,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"maxlength\":_vm.maxlength,\"minlength\":_vm.minlength,\"autocomplete\":_vm.autoComplete,\"autofocus\":_vm.autofocus,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step,\"form\":_vm.form},domProps:{\"value\":_vm.currentValue},on:{\"input\":_vm.handleInput,\"focus\":_vm.handleFocus,\"blur\":_vm.handleBlur}},'input',_vm.$attrs,false)):_vm._e(),(_vm.validating)?_c('i',{staticClass:\"el-input__icon el-icon-loading\"}):_vm._e(),(_vm.$slots.append)?_c('div',{staticClass:\"el-input-group__append\"},[_vm._t(\"append\")],2):_vm._e()]:_c('textarea',{ref:\"textarea\",staticClass:\"el-textarea__inner\",style:(_vm.textareaStyle),attrs:{\"name\":_vm.name,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"rows\":_vm.rows,\"form\":_vm.form,\"autofocus\":_vm.autofocus,\"maxlength\":_vm.maxlength,\"minlength\":_vm.minlength},domProps:{\"value\":_vm.currentValue},on:{\"input\":_vm.handleInput,\"focus\":_vm.handleFocus,\"blur\":_vm.handleBlur}})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Select from '../../components/element-ui-templated/select/select.vue';\r\nimport Option from '../../components/element-ui-templated/select/option.vue';\r\nimport Scrollbar from '../../components/element-ui-templated/scrollbar/main.vue';\r\nimport Vue from 'vue';\r\nimport SelectInput from '../select-input/select-input.vue';\r\nVue.component(Option.name, Option);\r\nVue.component(Scrollbar.name, Scrollbar);\r\nconst SELECT_CHANGE_GTM_EVENT_NAME = 'dropDownSelect';\r\nconst UNKNOWN_FORM_ID = 'Unknown form id';\r\nconst UNKNOWN_FORM_ELEMENT_ID = 'Unknown form element id';\r\nexport default {\r\n\textends: Select,\r\n\tcomponents: {\r\n\t\t'select-input': SelectInput\r\n\t},\r\n\tprops: {\r\n\t\tariaControls: {\r\n\t\t\trequired: false\r\n\t\t},\r\n\t\tdropdownclass: {\r\n\t\t\trequired: false\r\n\t\t}\r\n\t},\r\n\tinheritAttrs: false,\r\n\tmethods: {\r\n\t\t/*\r\n\t\t\tez a method az element-ui.common.js libből van kimásolva 6183. sorból, csak e GTM miatt kell beleírni pluszban!\r\n\t\t\ta lib frissítése esetén érdemes ezt a függvényt újra kimásolni, és a megfelelő GTM részeket beleíírni\r\n\t\t*/\r\n\t\thandleOptionSelect: function handleOptionSelect(option) {\r\n\t\t\tlet valueToGtm = null;\r\n\t\t\tvar _this9 = this;\r\n\t\t\tif (this.multiple) {\r\n\t\t\t\tvar value = this.value.slice();\r\n\t\t\t\tvar optionIndex = this.getValueIndex(value, option.value);\r\n\t\t\t\tif (optionIndex > -1) {\r\n\t\t\t\t\tvalue.splice(optionIndex, 1);\r\n\t\t\t\t} else if (this.multipleLimit <= 0 || value.length < this.multipleLimit) {\r\n\t\t\t\t\tvalue.push(option.value);\r\n\t\t\t\t}\r\n\t\t\t\tthis.$emit('input', value);\r\n\t\t\t\tvalueToGtm = value;\r\n\t\t\t\tif (option.created) {\r\n\t\t\t\t\tthis.query = '';\r\n\t\t\t\t\tthis.inputLength = 20;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.filterable) this.$refs.input.focus();\r\n\t\t\t} else {\r\n\t\t\t\tthis.$emit('input', option.value);\r\n\t\t\t\tvalueToGtm = option.label;\r\n\t\t\t\tthis.visible = false;\r\n\t\t\t}\r\n\t\t\tthis.$nextTick(function () {\r\n\t\t\t\treturn _this9.scrollToOption(option);\r\n\t\t\t});\r\n\r\n\t\t\tlet formId =\r\n\t\t\t\tthis.$refs.reference &&\r\n\t\t\t\tthis.$refs.reference.$refs &&\r\n\t\t\t\tthis.$refs.reference.$refs.input &&\r\n\t\t\t\tthis.$refs.reference.$refs.input.form &&\r\n\t\t\t\tthis.$refs.reference.$refs.input.form.id\r\n\t\t\t\t\t? this.$refs.reference.$refs.input.form.id\r\n\t\t\t\t\t: UNKNOWN_FORM_ID;\r\n\t\t\tthis.$gtm.trackEvent({\r\n\t\t\t\tevent: SELECT_CHANGE_GTM_EVENT_NAME,\r\n\t\t\t\tformElementID: this.id || UNKNOWN_FORM_ELEMENT_ID,\r\n\t\t\t\tformId,\r\n\t\t\t\tinputValue: valueToGtm\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./select-box.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./select-box.js?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./select-box.pug?vue&type=template&id=33743e7e&lang=pug&external\"\nimport script from \"./select-box.js?vue&type=script&lang=js&external\"\nexport * from \"./select-box.js?vue&type=script&lang=js&external\"\nimport style0 from \"./select-box.css?vue&type=style&index=0&prod&lang=css&external\"\nimport style1 from \"./select-dropdown.css?vue&type=style&index=1&prod&lang=css&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"clickoutside\",rawName:\"v-clickoutside\",value:(_vm.handleClose),expression:\"handleClose\"}],ref:\"select-box-root\",staticClass:\"el-select\"},[(_vm.multiple)?_c('div',{ref:\"tags\",staticClass:\"el-select__tags\",style:({ 'max-width': _vm.inputWidth - 32 + 'px' }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleMenu.apply(null, arguments)}}},[_c('transition-group',{on:{\"after-leave\":_vm.resetInputHeight}},_vm._l((_vm.selected),function(item){return _c('el-tag',{key:item.value,attrs:{\"closable\":\"\",\"hit\":item.hitState,\"type\":\"primary\",\"close-transition\":\"\"},on:{\"close\":function($event){return _vm.deleteTag($event, item)}}},[_c('span',{staticClass:\"el-select__tags-text\"},[_vm._v(_vm._s(item.currentLabel))])])}),1),(_vm.filterable)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"input\",staticClass:\"form-control el-select__input\",class:`is-${ _vm.size }`,style:({ width: _vm.inputLength + 'px', 'max-width': _vm.inputWidth - 42 + 'px' }),attrs:{\"type\":\"text\",\"disabled\":_vm.disabled,\"debounce\":0},domProps:{\"value\":(_vm.query)},on:{\"focus\":function($event){_vm.visible = true},\"keyup\":_vm.managePlaceholder,\"keydown\":[_vm.resetInputState,function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.navigateOptions('next')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.navigateOptions('prev')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.selectOption.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.preventDefault();_vm.visible = false},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"]))return null;return _vm.deletePrevTag.apply(null, arguments)}],\"input\":function($event){if($event.target.composing)return;_vm.query=$event.target.value}}}):_vm._e()],1):_vm._e(),_c('select-input',_vm._b({ref:\"reference\",class:_vm.remote ? '' : 'form-control',attrs:{\"remote\":_vm.remote,\"type\":\"text\",\"aria-controls\":_vm.ariaControls,\"placeholder\":_vm.currentPlaceholder,\"name\":_vm.name,\"size\":_vm.size,\"disabled\":_vm.disabled,\"readonly\":!_vm.filterable || _vm.multiple,\"validate-event\":false,\"debounce\":0,\"icon\":_vm.iconClass},on:{\"focus\":_vm.handleFocus,\"click\":_vm.handleIconClick},nativeOn:{\"mousedown\":function($event){return _vm.handleMouseDown.apply(null, arguments)},\"keyup\":function($event){return _vm.debouncedOnInputChange.apply(null, arguments)},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;$event.preventDefault();return _vm.navigateOptions('next')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;$event.preventDefault();return _vm.navigateOptions('prev')},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.preventDefault();return _vm.selectOption.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;$event.preventDefault();_vm.visible = false},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;_vm.visible = false}],\"paste\":function($event){return _vm.debouncedOnInputChange.apply(null, arguments)},\"mouseenter\":function($event){_vm.inputHovering = true},\"mouseleave\":function($event){_vm.inputHovering = false}},model:{value:(_vm.selectedLabel),callback:function ($$v) {_vm.selectedLabel=$$v},expression:\"selectedLabel\"}},'select-input',_vm.$attrs,false)),_c('transition',{attrs:{\"name\":\"el-zoom-in-top\"},on:{\"after-leave\":_vm.doDestroy,\"after-enter\":_vm.handleMenuEnter}},[_c('el-select-menu',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible && _vm.emptyText !== false && _vm.options.length> 0),expression:\"visible && emptyText !== false && options.length> 0\"}],ref:\"popper\",class:_vm.dropdownclass},[_c('el-scrollbar',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.options.length > 0 && !_vm.loading),expression:\"options.length > 0 && !loading\"}],class:{ 'is-empty': !_vm.allowCreate && _vm.filteredOptionsCount === 0 },attrs:{\"tag\":\"ul\",\"wrap-class\":\"el-select-dropdown__wrap\",\"view-class\":\"el-select-dropdown__list\",\"noresize\":true}},[(_vm.showNewOption)?_c('el-option',{attrs:{\"value\":_vm.query,\"created\":\"\"}}):_vm._e(),_vm._t(\"default\")],2),(_vm.emptyText && !_vm.allowCreate)?_c('div',{staticClass:\"el-select-dropdown__empty\"},[_c('p',[_vm._v(_vm._s(_vm.emptyText))])]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { VueSelect } from '@ui-common/vue-select';\r\n\r\nconst UNKNOWN_FORM_ID = 'Unknown form id';\r\nconst UNKNOWN_FORM_ELEMENT_ID = 'Unknown form element id';\r\nconst SELECT_CHANGE_GTM_EVENT_NAME = 'dropDownSelect';\r\n\r\nexport default {\r\n\textends: VueSelect,\r\n\tmethods: {\r\n\t\tclose() {\r\n\t\t\tif (this.dropdownVisible) {\r\n\t\t\t\tthis.dropdownVisible = false;\r\n\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\tthis.$refs.button.focus();\r\n\t\t\t\t});\r\n\t\t\t\tthis.$emit('input', this.selected);\r\n\t\t\t\tconst FORM_ID = this.$refs.button && this.$refs.button.form && this.$refs.button.form.id ? this.$refs.button.form.id : UNKNOWN_FORM_ID;\r\n\t\t\t\tthis.$gtm.trackEvent({\r\n\t\t\t\t\tevent: SELECT_CHANGE_GTM_EVENT_NAME,\r\n\t\t\t\t\tformElementID: this.id || UNKNOWN_FORM_ELEMENT_ID,\r\n\t\t\t\t\tFORM_ID,\r\n\t\t\t\t\tinputValue: this.selectedText\r\n\t\t\t\t});\r\n\t\t\t\tthis.$emit('list-opened', false);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n","import mod from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./vue-select.js?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../../node_modules/esbuild-loader/dist/index.cjs??clonedRuleSet-4.use[0]!./vue-select.js?vue&type=script&lang=js&external\"","var render, staticRenderFns\nimport script from \"./vue-select.js?vue&type=script&lang=js&external\"\nexport * from \"./vue-select.js?vue&type=script&lang=js&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"names":["_vm","this","_c","_self","staticClass","attrs","_v","_s","$t","class","$v","date","$dirty","$invalid","today","on","getRates","model","value","callback","$$v","expression","required","_e","versionInfo","versions","length","disabledSelect","version","_l","index","key","uuid","getTimeLabel","results","exchangeRates","ref","isMobile","stickyTop","onScroll","headers","currentColumn","$event","concatTableCaption","header","visible","item","currencyCode","$i18n","locale","hungarianName","englishName","_f","setVersion","dateChanged","EXCHANGE_RATE_CONVERSION_SET_VERSION","EXCHANGE_RATE_CONVERSION_SET_CURRENCIES","EXCHANGE_RATE_CONVERSION_GET_VERSIONS_REQUEST","EXCHANGE_RATE_CONVERSION_GET_VERSIONS_SUCCESS","EXCHANGE_RATE_CONVERSION_TECHNICAL_FAILURE","EXCHANGE_RATE_CONVERSION_SET_DATE","EXCHANGE_RATE_CONVERSION_GET_MESSAGES","exchangeRateActions","getCurrencies","commit","then","response","data","catch","getVersions","getConversionData","dates","sort","a","b","setDate","setTechnicalError","exchangeRateMutations","state","technicalError","loading","currencies","messages","namespaced","currenciesForDownload","foreignType","mutations","actions","store","hasModule","registerModule","extends","created","$on","currentDate","selectedYear","selectedMonth","selectedDay","isCalendarOpen","isValid","$gtm","trackEvent","event","formElementID","document","querySelector","$refs","id","innerHTML","formID","form","getAttribute","inputValue","format","monthSelectOnly","getPosition","el","xPos","yPos","tagName","xScroll","scrollLeft","documentElement","yScroll","scrollTop","offsetLeft","clientLeft","offsetTop","clientTop","offsetParent","x","y","type","factory","self","__WEBPACK_EXTERNAL_MODULE__192__","__webpack_modules__","module","exports","str","len","ch","cache","pad","__unused_webpack_module","__webpack_exports__","__webpack_require__","r","d","__WEBPACK_DEFAULT_EXPORT__","isBrowser","window","navigator","timeoutDuration","longerTimeoutBrowsers","i","userAgent","indexOf","debounce","Promise","fn","called","resolve","scheduled","setTimeout","isFunction","functionToCheck","toString","call","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","noOffsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","arguments","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","height","width","createClass","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","Constructor","protoProps","staticProps","prototype","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","e","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","getOuterSizes","marginBottom","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","ends","slice","prop","findIndex","cur","match","forEach","console","warn","enabled","update","isDestroyed","instance","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","scrollParents","isBody","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","offset","basePlacement","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Popper","_this","TypeError","classCallCheck","requestAnimationFrame","bind","jquery","Utils","g","PopperUtils","__unused_webpack_exports","t","o","attachEvent","detachEvent","default","String","trigger","validator","delayOnMouseOver","Number","delayOnMouseOut","disabled","Boolean","content","enterActiveClass","leaveActiveClass","boundariesSelector","forceShow","dataValue","appendToBody","visibleArrow","transition","stopPropagation","preventDefault","rootClass","referenceElm","popperJS","showPopper","currentPlacement","popperOptions","watch","$emit","updatePopper","handler","immediate","appendedArrow","appendedToBody","mounted","$slots","elm","doShow","handleDocumentClick","doToggle","onMouseOver","onMouseOut","methods","doClose","doDestroy","createPopper","$nextTick","appendArrow","appendChild","destroyPopper","createElement","className","clearTimeout","_timer","$el","elementContains","destroyed","__file","s","p","c","l","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","beforeCreate","$createElement","tag","directives","rawName","_t","__webpack_module_cache__","moduleId","cachedModule","getter","__esModule","definition","get","globalThis","Function","Symbol","toStringTag","currentScript","src","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread2","_defineProperty","getOwnPropertyDescriptors","_typeof","iterator","constructor","placeholderChar","strFunction","emptyArray$1","isArray","strCaretTrap","emptyArray","emptyString","conformToMask","rawValue","mask","config","Error","indexOfCaretTrap","indexes","splice","maskWithoutCaretTraps","processCaretTraps","_config$guide","guide","_config$previousConfo","previousConformedValue","_config$placeholderCh","placeholderChar$1","_config$placeholder","placeholder","JSON","stringify","char","RegExp","join","convertMaskToPlaceholder","currentCaretPosition","keepCharPositions","suppressGuide","rawValueLength","previousConformedValueLength","placeholderLength","maskLength","editDistance","isAddition","indexOfFirstChange","indexOfLastChange","abs","compensatingPlaceholderChars","rawValueArr","isNew","_i","conformedValue","someCharsRejected","placeholderLoop","_i2","charInPlaceholder","_rawValueArr$shift","rawValueChar","rawValueArrLength","indexOfNextAvailablePlaceholderChar","_i3","charData","substr","indexOfLastFilledPlaceholderChar","_i4","meta","NEXT_CHAR_OPTIONAL","__nextCharOptional__","defaultMaskReplacers","A","N","X","makeRegexpOptional","charRegexp","lastSlash","lastIndexOf","castToRegexp","escapeIfNeeded","maskToRegExpMask","maskReplacers","array","maskChar","previousChar","previousMaskChar","createEvent","initEvent","dispatchEvent","queryInputElementInside","HTMLInputElement","val","isString","isRegexp","parseMask","inputMask","arrayMask","part","arrayMaskToRegExpMask","stringMask","stringMaskToRegExpMask","extendMaskReplacers","baseMaskReplacers","extendedMaskReplacers","elementOptions","Map","defaultOptions","previousValue","partiallyUpdate","newOptions","set","remove","delete","createOptions","updateValue","force","_options$get","isValueChanged","isLengthIncreased","triggerInputUpdate","updateMask","maskToString","createDirective","directiveOptions","instanceMaskReplacers","placeholders","componentUpdated","oldValue","isMaskChanged","unbind","directive","createFilter","filterOptions","external_moment_","external_moment_default","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","context","_injectStyles","originalRender","h","existing","component","years","activeYearIndex","inheritAttrs","initYear","initMonth","initDay","yearAscending","yearMax","monthMax","dayMax","yearMin","monthMin","dayMin","lastDayOfMonth","year","endOf","fillYears","reversedYears","handleMoveUp","focus","handleMoveToLast","handleMoveDown","numberOfYears","handleMoveToFirst","select","computed","currentYear","refInFor","_uid","_k","keyCode","Year","Month_component","monthNames","monthsShort","monthDisplay","displayArr","month","monthShort","monthIndex","currentMonthIndex","isCurrentYear","minDay","startOf","maxDay","daysInMonth","isBefore","isAfter","setMonth","moveRight","moveUp","moveDown","moveLeft","activated","row","col","button","Month","Day_component","weekDaysMin","weekDays","days","dayMatrix","emptyCells","firstDayOfMonth","weekday","day","week","dayCopy","indexOfDay","lastDayOfNextMonth","lastDayOfPrevMonth","isCurrentMonthAndYear","increaseMonth","moveUpFirstMonth","decreaseMonth","remainder","moveDownLastMonth","weekDaysMinCopy","localeData","weekdaysMin","firstDayOfWeek","weekdays","weekDay","dayIndex","Day","VueDatepicker_namespaceObject","parse","Months","_locale","_names","months","_shorts","names","shorts","left_pad","left_pad_default","TABS","YEAR","MONTH","DAY","Calendar_component","activeTabIndex","components","i18n","getCurrentValueToDisplay","handleTabChangeOnClick","handleMoveLeft","numberOfTabs","handleMoveRight","jumpToFirstTabbable","jumpToLastTabbable","closeCalendar","displayMonth","displayDay","tabPanelId","tabPanelAriaLabelledBy","tabs","values","tab","currentTab","slot","_b","$attrs","Calendar","freeze","__proto__","ADDRESS_CARD","ALL_PHONE","BANK_ACCOUNT_SIXTEEN_NUMBERS","BANK_ACCOUNT_THIRTEEN_NUMBERS","BANK_ACCOUNT_TWENTY_FOUR_NUMBERS","DATE_SEPARATORS","DEVIZA_BANK_ACCOUNT_NUMBER_PATTERN","FOREIGN_PHONE_REGEX","FOREIGN_ZIP_CODE","FULLNAME","HEX","IDENTITYS","passport","IOS","LANDLINE_PHONES","LAST_FOUR_DIGITS","MOBILE_PHONE","NAME","PENSIONER_NUMBER","TAX_NUMBER","ZIP_CODE","HUNGARIAN_PHONE_NUMBER_PREFIX","OTP_BANK_ACCOUNT_NUMBER_PREFIX","COOKIE_GDPR_LEVEL","GDPR_LEVELS","LOW","MEDIUM","HIGH","BACKEND_DATE","DISPLAY_DATE","hu","en","DISPLAY_TIME","viewportWidth","setViewportWidth","isTablet","isDesktop","isLargeDesktop","beforeDestroy","E","random","mixins","errorId","addonId","prefixId","tooltipId","addon","computedAddonId","computedPrefixId","ariaDescribedBy","hasError","vue_popper_min","vue_popper_min_default","MASK_FULL","cs","MASK_MONTH_ONLY","entry_lib","isFocused","label","maxWidth","dateFormat","parseDisplayDate","compoundSelectedDates","sendModel","fillMinMax","minDate","maxDate","reset","parseDate","setInitalDate","defaultDate","dateString","getDateParts","setYear","payload","beforeMin","afterMax","setDay","handleBlur","momentDate","backendDate","selectedDate","labelElement","dataLayer","datePickerInput","sel","selectionStart","setSelectionRange","inputListeners","$listeners","input","isNotEmpty","_g","domProps","composing","isMergeableObject","isNonNullObject","stringValue","$$typeof","REACT_ELEMENT_TYPE","isReactElement","isSpecial","for","cloneIfNecessary","optionsArgument","clone","deepmerge","defaultArrayMerge","destination","sourceIsArray","arrayMerge","mergeObject","all","prev","next","deepmerge_1","RE_NARGS","string","args","lang","colorpicker","confirm","clear","datepicker","now","cancel","selectDate","selectTime","startDate","startTime","endDate","endTime","month1","month2","month3","month4","month5","month6","month7","month8","month9","month10","month11","month12","weeks","sun","mon","tue","wed","thu","fri","sat","jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","noMatch","noData","cascader","pagination","goto","pagesize","total","pageClassifier","messagebox","title","error","upload","preview","continue","table","emptyText","confirmFilter","resetFilter","clearFilter","sumText","tree","transfer","titles","filterPlaceholder","noCheckedFormat","hasCheckedFormat","merged","i18nHandler","vuei18n","getPrototypeOf","path","current","j","root","DEFAULTS","boundariesPadding","preventOverflowOrder","flipBehavior","modifiersIgnored","forceAbsolute","_reference","isNotDefined","isConfig","_popper","_options","_getPosition","setStyle","_setupEventListeners","_display","display","_visibility","visibility","getPopperClientRect","getArrayKeyIndex","keyToFind","is_numeric","getOffsetRect","elementRect","rectTop","getOffsetRectRelativeToCustomParent","fixed","_removeEventListeners","_originalPlacement","_getOffsets","_getBoundaries","updateCallback","defaultConfig","classNames","contentType","arrowTagName","arrowClassNames","arrowAttributes","addClassNames","addAttributes","textContent","querySelectorAll","Element","classList","attribute","container","isParentFixed","scrollHeight","scrollWidth","getScrollTopValue","getScrollLeftValue","modifiersToRun","shiftVariation","direction","f","_flip","arrowStyle","arrowSize","to","nextSource","keysArray","nextIndex","nextKey","desc","isServer","requestFrame","raf","mozRequestAnimationFrame","webkitRequestAnimationFrame","cancelFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","resetTrigger","__resizeTrigger__","expand","contract","lastElementChild","expandChild","scrollListener","__resizeRAF__","__resizeLast__","__resizeListeners__","DOM_PREFIXES","START_EVENTS","RESIZE_ANIMATION_NAME","animation","keyFramePrefix","animationStartEvent","testElement","animationName","stylesCreated","addResizeListener","head","getElementsByTagName","styleSheet","cssText","createTextNode","createStyles","resizeTrigger","removeResizeListener","hasOwn","getValueByPath","paths","throttle","delay","atBegin","noTrailing","debounceMode","timeoutID","lastExec","elapsed","Date","exec","Vue","util","inserted","binding","blur","lazy","mixin","webpackContext","req","webpackContextResolve","code","broadcast","componentName","eventName","params","$children","child","dispatch","$parent","hiddenTextarea","CONTEXT_STYLE","calcTextareaHeight","targetElement","minRows","maxRows","paddingSize","borderSize","boxSizing","contextStyle","getPropertyValue","calculateNodeStyling","singleRowHeight","minHeight","maxHeight","size","prepend","append","icon","onIconClick","handleIconClick","autoComplete","currentValue","handleInput","handleFocus","$props","validating","textareaStyle","install","$isServer","off","hasClass","cls","addClass","curClass","classes","clsName","removeClass","hasModal","getModal","modalDom","PopupManager","doOnModalClick","instances","zIndex","modalFade","getInstance","register","deregister","nextZIndex","modalStack","topItem","closeOnClickModal","close","openModal","dom","modalClass","closeModal","pop","topPopup","getTopPopup","closeOnPressEscape","handleClose","handleAction","PopperJS","stop","popperElm","_","resetTransformOrigin","origin","transformOrigin","appended","deactivated","multiple","popperClass","minWidth","selected","itemSelected","groupDisabled","limitReached","hover","hoverIndex","hoverItem","selectOptionClick","currentLabel","closeTransition","hit","backgroundColor","color","closable","BAR_MAP","vertical","scroll","scrollSize","client","horizontal","move","bar","translate","msTransform","webkitTransform","clickTrackHandler","thumbStyle","clickThumbHandler","wrapStyle","handleScroll","viewClass","viewStyle","native","moveX","sizeWidth","moveY","sizeHeight","nodeList","ctx","startClick","seed","documentHandler","vnode","mouseup","mousedown","methodName","bindingFn","viewRectTop","viewRectBottom","inputWidth","toggleMenu","resetInputHeight","getValueKey","hitState","deleteTag","filterable","query","inputLength","remote","managePlaceholder","resetInputState","navigateOptions","selectOption","deletePrevTag","currentPlaceholder","iconClass","nativeOn","handleMouseDown","debouncedOnInputChange","inputHovering","selectedLabel","handleMenuEnter","allowCreate","filteredOptionsCount","showNewOption","ariaControls","readonly","maxlength","minlength","autofocus","rows","dropdownclass","handleOptionSelect","option","valueToGtm","_this9","optionIndex","getValueIndex","multipleLimit","scrollToOption","formId","VueSelect","dropdownVisible","FORM_ID","selectedText"],"sourceRoot":""}