{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///../../../src/components/VDialog/VDialog.ts","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///./node_modules/core-js/modules/web.url.js","webpack:///./src/views/ApprovePurchases.vue?b91c","webpack:///../../../src/mixins/picker-button/index.ts","webpack:///../../../src/components/VDatePicker/VDatePickerTitle.ts","webpack:///../../../src/mixins/localable/index.ts","webpack:///../../../../src/components/VDatePicker/util/pad.ts","webpack:///../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts","webpack:///../../../../src/components/VDatePicker/util/monthChange.ts","webpack:///../../../src/components/VDatePicker/VDatePickerHeader.ts","webpack:///../../../../src/components/VDatePicker/util/eventHelpers.ts","webpack:///../../../../src/components/VDatePicker/util/sanitizeDateString.ts","webpack:///../../../../src/components/VDatePicker/util/isDateAllowed.ts","webpack:///../../../../src/components/VDatePicker/mixins/date-picker-table.ts","webpack:///../../src/util/dateTimeUtils.ts","webpack:///../../../src/components/VDatePicker/VDatePickerDateTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerMonthTable.ts","webpack:///../../../src/components/VDatePicker/VDatePickerYears.ts","webpack:///../../../src/components/VPicker/VPicker.ts","webpack:///../../../src/components/VPicker/index.ts","webpack:///../../../src/mixins/picker/index.ts","webpack:///../../../../src/components/VCalendar/util/timestamp.ts","webpack:///../../../src/components/VDatePicker/VDatePicker.ts","webpack:///../../../src/components/VTooltip/VTooltip.ts","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack:///./src/views/ApprovePurchases.vue?e61b","webpack:///src/views/ApprovePurchases.vue","webpack:///./src/views/ApprovePurchases.vue?34f8","webpack:///./src/views/ApprovePurchases.vue?d233","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///../../../src/components/VCard/index.ts","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/mixins/selectable/index.ts","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///../../../src/components/VCard/VCard.ts","webpack:///./node_modules/core-js/modules/web.url.to-json.js","webpack:///./src/views/ApprovePurchases.vue?0fcd"],"names":["uncurryThis","toLength","toString","$repeat","requireObjectCoercible","repeat","stringSlice","slice","ceil","Math","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","length","fillStr","undefined","module","exports","start","end","fails","wellKnownSymbol","IS_PURE","ITERATOR","url","URL","searchParams","result","pathname","forEach","value","key","toJSON","sort","href","get","String","URLSearchParams","username","host","hash","baseMixins","name","directives","ClickOutside","props","dark","disabled","fullscreen","light","maxWidth","noClickAnimation","origin","type","default","persistent","retainFocus","scrollable","transition","width","Number","data","activatedBy","animate","animateTimeout","stackMinZIndex","previousActiveElement","computed","classes","this","contentClasses","isActive","hasActivator","Boolean","$slots","$scopedSlots","watch","created","$attrs","hasOwnProperty","beforeMount","beforeDestroy","window","unbind","methods","animateClick","closeConditional","target","e","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","hideScroll","document","show","bind","onClickOutside","onKeydown","getOpenDependents","activator","onFocusin","dialog","getOpenDependentElements","some","el","focusable","querySelectorAll","genContent","showLazyContent","root","class","attrs","role","on","keydown","style","zIndex","ref","genTransition","$createElement","appear","genInnerContent","tabindex","handler","include","transformOrigin","render","h","staticClass","attach","$","sign","stat","EOF","DESCRIPTORS","USE_NATIVE_URL","global","call","defineProperties","redefine","anInstance","hasOwn","assign","arrayFrom","arraySlice","codeAt","toASCII","$toString","setToStringTag","URLSearchParamsModule","InternalStateModule","setInternalState","set","getInternalURLState","getterFor","getInternalSearchParamsState","getState","NativeURL","TypeError","parseInt","floor","pow","charAt","exec","join","numberToString","pop","push","replace","shift","split","toLowerCase","unshift","INVALID_AUTHORITY","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","input","codePoints","index","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","radix","number","ipv4","parts","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","chr","findLongestZeroSequence","ipv6","maxIndex","currStart","currLength","serializeHost","ignore0","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","code","encodeURIComponent","specialSchemes","ftp","file","http","https","ws","wss","scheme","includesCredentials","password","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","string","normalized","second","startsWithWindowsDriveLetter","third","shortenURLsPath","path","pathSize","isSingleDot","segment","isDoubleDot","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","base","bufferCodePoints","failure","state","buffer","seenAt","seenBracket","seenPasswordToken","port","query","fragment","i","codePoint","encodedCodePoints","URLConstructor","baseState","that","URLPrototype","arguments","urlString","error","searchParamsState","updateSearchParams","updateURL","serializeURL","getOrigin","protocol","getProtocol","getUsername","getPassword","getHost","hostname","getHostname","getPort","getPathname","search","getSearch","getSearchParams","getHash","prototype","output","accessorDescriptor","getter","setter","configurable","enumerable","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","forced","sham","mixins","genPickerButton","readonly","active","click","event","Array","date","selectingYear","year","yearIcon","isReversing","computedTransition","val","genYearIcon","VIcon","getYearBtn","genTitleText","domProps","innerHTML","genTitleDate","locale","currentLocale","$vuetify","lang","padStart","targetLength","padString","n","createNativeLocaleFormatter","substrOptions","makeIsoString","dateString","pad","month","intlFormatter","Intl","Date","format","min","max","nextAriaLabel","nextIcon","prevAriaLabel","prevIcon","required","formatter","timeZone","newVal","genBtn","ariaLabelId","change","ariaLabel","t","calculateChange","VBtn","icon","monthChange","genHeader","color","header","setTextColor","themeClasses","Object","instance","eventName","itemTypeSuffix","allowedFn","Touch","allowedDates","current","events","Function","eventColor","range","tableDate","wheelThrottle","displayedMonth","displayedYear","mounted","genButtonClasses","isAllowed","isSelected","isCurrent","genButtonEvents","createItemTypeNativeListeners","genButton","isOtherMonth","setColor","isFirst","isLast","mouseEventType","genEvents","getEventColors","arrayize","v","eventColors","eventData","includes","isValidScroll","calculateTableDate","sanitizeType","sanitizeDateString","wheel","touch","genTable","touchDirective","left","right","from","indexOf","createUTCDate","day","isFinite","firstWeekOffset","firstWeekDayInFirstWeek","firstDayOfWeek","firstWeekDayOfYear","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","week","localeFirstDayOfYear","showAdjacentMonths","showWeek","weekdayFormat","weekdayFormatter","weekday","weekDays","first","delta","genTHead","days","map","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","weekDay","getWeekNumber","weekNumber","genWeekNumber","genTBody","children","daysInMonth","rows","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","cols","tds","row","defaultColor","setTimeout","activeItem","genYearItem","formatted","genYearItems","selectedYear","maxYear","minYear","flat","fullWidth","landscape","noTitle","computedTitleColor","defaultTitleColor","isDark","genTitle","setBackgroundColor","genBodyTransition","genBody","genActions","elevationClasses","title","actions","headerColor","genPickerTitle","genPickerBody","genPickerActionsSlot","save","cancel","genPicker","body","slot","elevation","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","activePicker","dayFormat","headerDateFormat","monthFormat","multiple","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevMonthAriaLabel","prevYearAriaLabel","reactive","showCurrent","selectedItemsText","titleDateFormat","validator","yearFormat","now","internalActivePicker","inputDay","inputMonth","inputYear","multipleValue","isMultiple","lastValue","selectedMonths","getFullYear","getMonth","inputDate","tableMonth","tableYear","minMonth","maxMonth","formatters","titleDate","defaultTitleMultipleDateFormatter","dates","defaultTitleDateFormatter","titleFormats","titleDateFormatter","landscapeFormatter","nonDigit","immediate","prev","oldValue","emitInput","newInput","concat","filter","x","$emit","checkMultipleProp","valueType","constructor","expected","console","isDateAllowed","yearClick","monthClick","dateClick","genTableHeader","toggle","genDateTable","VDatePickerDateTable","createItemTypeListeners","genMonthTable","VDatePickerMonthTable","genYears","setInputDate","array","closeDelay","openDelay","openOnHover","openOnFocus","tag","calculatedMinWidth","closeDependents","calculatedLeft","unknown","activatorLeft","top","calcXOverflow","dimensions","calculatedTop","activatorTop","bottom","calcYOverflow","offsetY","offsetX","styles","minWidth","activate","requestAnimationFrame","deactivate","genActivatorListeners","listeners","genActivatorAttributes","activatorFixed","isContentActive","$padStart","WEBKIT_BUG","proto","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexNonASCII","regexSeparators","OVERFLOW_ERROR","baseMinusTMin","RangeError","fromCharCode","charCodeAt","ucs2decode","counter","extra","digitToBasic","digit","adapt","numPoints","firstTime","k","encode","currentValue","inputLength","bias","basicLength","handledCPCount","m","handledCPCountPlusOne","q","qMinusT","baseMinusT","label","encoded","labels","_vm","_h","_c","_self","staticStyle","headers","reportPurchases","loading","itemsPerPageOptions","scopedSlots","_u","fn","$event","_g","_b","model","callback","$$v","weekOf","expression","menu","formatDate","isApproveDisabled","approveDialog","_v","exportOptions","exportType","rawName","aggregate","exportReport","proxy","item","supplyPurchaseApprovalId","supplyInventoryId","_s","approvedBy","formatTemplateDate","approvedOn","_e","payments","formatCurrency","cost","paymentNumber","payment","total","updatedAt","approvePurchases","toast","timeout","message","staticRenderFns","component","VCard","VCardActions","VCardTitle","VCheckbox","VCol","VContainer","VDataTable","VDatePicker","VDialog","VMenu","VRow","VSelect","VSnackbar","VTextField","VToolbar","VTooltip","getBuiltIn","redefineAll","createIteratorConstructor","isCallable","classof","anObject","isObject","create","createPropertyDescriptor","getIterator","getIteratorMethod","arraySort","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","n$Fetch","N$Request","Headers","RequestPrototype","HeadersPrototype","RegExp","decodeURIComponent","splice","plus","sequences","percentSequence","bytes","percentDecode","sequence","deserialize","it","find","replacements","replacer","match","serialize","parseSearchParams","attribute","entry","attributes","entries","validateArgumentsLength","passed","URLSearchParamsIterator","params","kind","iterator","step","next","done","URLSearchParamsConstructor","URLSearchParamsPrototype","iteratorMethod","entryIterator","entryNext","init","append","getAll","has","found","a","b","boundFunction","keys","values","headersHas","headersSet","wrapRequestOptions","fetch","RequestConstructor","Request","VCardSubtitle","VCardText","userAgent","test","ripple","genRipple","center","prop","id","inputValue","falseValue","trueValue","hasColor","lazyValue","computedColor","valueComparator","isDirty","rippleState","genLabel","VInput","prevent","genInput","checked","blur","focus","onClick","onChange","onFocus","onBlur","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","computedIcon","validationState","isDisabled","hasError","genCheckbox","checkboxAttrs","dense","genDefaultSlot","hover","img","link","loaderHeight","raised","genProgress"],"mappings":"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","file":"js/chunk-6d894673.e2bbb6a0.js","sourcesContent":["// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n","var $ = require('../internals/export');\nvar sign = require('../internals/math-sign');\n\n// `Math.sign` method\n// https://tc39.es/ecma262/#sec-math.sign\n$({ target: 'Math', stat: true }, {\n sign: sign\n});\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = global.URL;\nvar TypeError = global.TypeError;\nvar parseInt = global.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+|[\\u0000-\\u0020]+$/g;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (charAt(input, 0) == '[') {\n if (charAt(input, input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) == '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() == ':') {\n if (charAt(input, 1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex == 8) return;\n if (chr() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (chr() == ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n } return join(result, '.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return hasOwn(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length == 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements -- TODO\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {\n buffer += toLowerCase(chr);\n } else if (chr == ':') {\n if (stateOverride && (\n (isSpecial(url) != hasOwn(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr == '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '/' || (chr == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (chr == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (chr == '/' || chr == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr != '/' && chr != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr == '[') seenBracket = true;\n else if (chr == ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr == EOF || chr == '/' || chr == '?' || chr == '#' ||\n (chr == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr == '/' || chr == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (chr == EOF) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr == '?') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr == '/' || chr == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr == EOF || chr == '/' || chr == '\\\\' || chr == '?' || chr == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (chr != '/' && chr != '\\\\') continue;\n } else if (!stateOverride && chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n state = PATH;\n if (chr != '/') continue;\n } break;\n\n case PATH:\n if (\n chr == EOF || chr == '/' ||\n (chr == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (chr == '?' || chr == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr != '/' && !(chr == '\\\\' && isSpecial(url))) {\n push(url.path, '');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr == '?') {\n url.query = '';\n state = QUERY;\n } else if (chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr != EOF) {\n if (chr == \"'\" && isSpecial(url)) url.query += '%27';\n else if (chr == '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = $toString(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n try {\n baseState = getInternalURLState(base);\n } catch (error) {\n failure = parseURL(baseState = {}, $toString(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = $toString(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = call(serializeURL, that);\n that.origin = call(getOrigin, that);\n that.protocol = call(getProtocol, that);\n that.username = call(getUsername, that);\n that.password = call(getPassword, that);\n that.host = call(getHost, that);\n that.hostname = call(getHostname, that);\n that.port = call(getPort, that);\n that.pathname = call(getPathname, that);\n that.search = call(getSearch, that);\n that.searchParams = call(getSearchParams, that);\n that.hash = call(getHash, that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : $toString(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = $toString(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, $toString(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom($toString(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, $toString(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = $toString(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, $toString(pathname), PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = $toString(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == charAt(search, 0)) search = stringSlice(search, 1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = $toString(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return call(serializeURL, this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return call(serializeURL, this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ApprovePurchases.vue?vue&type=style&index=1&lang=css&\"","// Mixins\nimport Colorable from '../colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { kebabCase } from '../../util/helpers'\n\n// Types\nimport { VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable\n).extend({\n methods: {\n genPickerButton (\n prop: string,\n value: any,\n content: VNodeChildren,\n readonly = false,\n staticClass = ''\n ) {\n const active = (this as any)[prop] === value\n const click = (event: Event) => {\n event.stopPropagation()\n this.$emit(`update:${kebabCase(prop)}`, value)\n }\n\n return this.$createElement('div', {\n staticClass: `v-picker__title__btn ${staticClass}`.trim(),\n class: {\n 'v-picker__title__btn--active': active,\n 'v-picker__title__btn--readonly': readonly,\n },\n on: (active || readonly) ? undefined : { click },\n }, Array.isArray(content) ? content : [content])\n },\n },\n})\n","import './VDatePickerTitle.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport PickerButton from '../../mixins/picker-button'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\n\n props: {\n date: {\n type: String,\n default: '',\n },\n disabled: Boolean,\n readonly: Boolean,\n selectingYear: Boolean,\n value: {\n type: String,\n },\n year: {\n type: [Number, String],\n default: '',\n },\n yearIcon: {\n type: String,\n },\n },\n\n data: () => ({\n isReversing: false,\n }),\n\n computed: {\n computedTransition (): string {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition'\n },\n },\n\n watch: {\n value (val: string, prev: string) {\n this.isReversing = val < prev\n },\n },\n\n methods: {\n genYearIcon (): VNode {\n return this.$createElement(VIcon, {\n props: {\n dark: true,\n },\n }, this.yearIcon)\n },\n getYearBtn (): VNode {\n return this.genPickerButton('selectingYear', true, [\n String(this.year),\n this.yearIcon ? this.genYearIcon() : null,\n ], false, 'v-date-picker-title__year')\n },\n genTitleText (): VNode {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [\n this.$createElement('div', {\n domProps: { innerHTML: this.date || ' ' },\n key: this.value,\n }),\n ])\n },\n genTitleDate (): VNode {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date')\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-date-picker-title',\n class: {\n 'v-date-picker-title--disabled': this.disabled,\n },\n }, [\n this.getYearBtn(),\n this.genTitleDate(),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'localable',\n\n props: {\n locale: String,\n },\n\n computed: {\n currentLocale (): string {\n return this.locale || this.$vuetify.lang.current\n },\n },\n})\n","const padStart = (string: number | string, targetLength: number, padString: string) => {\n targetLength = targetLength >> 0\n string = String(string)\n padString = String(padString)\n if (string.length > targetLength) {\n return String(string)\n }\n\n targetLength = targetLength - string.length\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length)\n }\n return padString.slice(0, targetLength) + String(string)\n}\n\nexport default (n: string | number, length = 2) => padStart(n, length, '0')\n","import pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n","import pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n","import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropType,\n min: String,\n max: String,\n nextAriaLabel: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevAriaLabel: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel\n const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n attrs: { 'aria-label': ariaLabel },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n","import Vue from 'vue'\n\nexport function createItemTypeNativeListeners (instance: Vue, itemTypeSuffix: string, value: any) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = (event: Event) => instance.$emit(eventName, value, event)\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n\nexport function createItemTypeListeners (instance: Vue, itemTypeSuffix: string) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName] = instance.$listeners[eventName]\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n","// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (dateString: string, type: 'date' | 'month' | 'year'): string => {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n","import { DatePickerAllowedDatesFunction } from 'vuetify/types'\n\nexport default function isDateAllowed (date: string, min: string, max: string, allowedFn: DatePickerAllowedDatesFunction | undefined) {\n return (!allowedFn || allowedFn(date)) &&\n (!min || date >= min.substr(0, 10)) &&\n (!max || date <= max)\n}\n","import '../VDatePickerTable.sass'\n\n// Directives\nimport Touch from '../../../directives/touch'\n\n// Mixins\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Themeable from '../../../mixins/themeable'\n\n// Utils\nimport { createItemTypeNativeListeners, sanitizeDateString } from '../util'\nimport isDateAllowed from '../util/isDateAllowed'\nimport { mergeListeners } from '../../../util/mergeData'\nimport mixins from '../../../util/mixins'\nimport { throttle } from '../../../util/helpers'\n\n// Types\nimport {\n PropType,\n VNodeChildren,\n} from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEventColorValue,\n DatePickerEvents,\n DatePickerFormatter,\n TouchWrapper,\n} from 'vuetify/types'\n\ntype CalculateTableDateFunction = (v: number) => string\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n directives: { Touch },\n\n props: {\n allowedDates: Function as PropType,\n current: String,\n disabled: Boolean,\n format: Function as PropType,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n min: String,\n max: String,\n range: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n tableDate: {\n type: String,\n required: true,\n },\n value: [String, Array] as PropType,\n },\n\n data: () => ({\n isReversing: false,\n wheelThrottle: null as any,\n }),\n\n computed: {\n computedTransition (): string {\n return (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition'\n },\n displayedMonth (): number {\n return Number(this.tableDate.split('-')[1]) - 1\n },\n displayedYear (): number {\n return Number(this.tableDate.split('-')[0])\n },\n },\n\n watch: {\n tableDate (newVal: string, oldVal: string) {\n this.isReversing = newVal < oldVal\n },\n },\n\n mounted () {\n this.wheelThrottle = throttle(this.wheel, 250)\n },\n\n methods: {\n genButtonClasses (\n isAllowed: boolean,\n isFloating: boolean,\n isSelected: boolean,\n isCurrent: boolean,\n isFirst: boolean,\n isLast: boolean,\n ) {\n return {\n 'v-size--default': !isFloating,\n 'v-date-picker-table__current': isCurrent,\n 'v-btn--active': isSelected,\n 'v-btn--flat': !isAllowed || this.disabled,\n 'v-btn--text': isSelected === isCurrent,\n 'v-btn--rounded': isFloating,\n 'v-btn--disabled': !isAllowed || this.disabled,\n 'v-btn--outlined': isCurrent && !isSelected,\n 'v-date-picker--first-in-range': isFirst,\n 'v-date-picker--last-in-range': isLast,\n ...this.themeClasses,\n }\n },\n genButtonEvents (value: string, isAllowed: boolean, mouseEventType: string) {\n if (this.disabled) return undefined\n\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value)\n },\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value))\n },\n genButton (value: string, isFloating: boolean, mouseEventType: string, formatter: DatePickerFormatter, isOtherMonth = false) {\n const isAllowed = isDateAllowed(value, this.min, this.max, this.allowedDates)\n const isSelected = this.isSelected(value) && isAllowed\n const isCurrent = value === this.current\n const setColor = isSelected ? this.setBackgroundColor : this.setTextColor\n const color = (isSelected || isCurrent) && (this.color || 'accent')\n let isFirst = false\n let isLast = false\n if (this.range && !!this.value && Array.isArray(this.value)) {\n isFirst = value === this.value[0]\n isLast = value === this.value[this.value.length - 1]\n }\n\n return this.$createElement('button', setColor(color, {\n staticClass: 'v-btn',\n class: this.genButtonClasses(\n isAllowed && !isOtherMonth,\n isFloating,\n isSelected,\n isCurrent,\n isFirst,\n isLast,\n ),\n attrs: {\n type: 'button',\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth,\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType),\n }), [\n this.$createElement('div', {\n staticClass: 'v-btn__content',\n }, [formatter(value)]),\n this.genEvents(value),\n ])\n },\n getEventColors (date: string) {\n const arrayize = (v: string | string[]) => Array.isArray(v) ? v : [v]\n let eventData: boolean | DatePickerEventColorValue\n let eventColors: string[] = []\n\n if (Array.isArray(this.events)) {\n eventData = this.events.includes(date)\n } else if (this.events instanceof Function) {\n eventData = this.events(date) || false\n } else if (this.events) {\n eventData = this.events[date] || false\n } else {\n eventData = false\n }\n\n if (!eventData) {\n return []\n } else if (eventData !== true) {\n eventColors = arrayize(eventData)\n } else if (typeof this.eventColor === 'string') {\n eventColors = [this.eventColor]\n } else if (typeof this.eventColor === 'function') {\n eventColors = arrayize(this.eventColor(date))\n } else if (Array.isArray(this.eventColor)) {\n eventColors = this.eventColor\n } else {\n eventColors = arrayize(this.eventColor[date])\n }\n\n return eventColors.filter(v => v)\n },\n genEvents (date: string) {\n const eventColors = this.getEventColors(date)\n\n return eventColors.length ? this.$createElement('div', {\n staticClass: 'v-date-picker-table__events',\n }, eventColors.map(color => this.$createElement('div', this.setBackgroundColor(color)))) : null\n },\n isValidScroll (value: number, calculateTableDate: CalculateTableDateFunction) {\n const tableDate = calculateTableDate(value)\n // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month'\n return (value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true)) ||\n (value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true))\n },\n wheel (e: WheelEvent, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY))\n },\n touch (value: number, calculateTableDate: CalculateTableDateFunction) {\n this.$emit('update:table-date', calculateTableDate(value))\n },\n genTable (staticClass: string, children: VNodeChildren, calculateTableDate: CalculateTableDateFunction) {\n const transition = this.$createElement('transition', {\n props: { name: this.computedTransition },\n }, [this.$createElement('table', { key: this.tableDate }, children)])\n\n const touchDirective = {\n name: 'touch',\n value: {\n left: (e: TouchWrapper) => (e.offsetX < -15) &&\n (this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate)),\n right: (e: TouchWrapper) => (e.offsetX > 15) &&\n (this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)),\n },\n }\n\n return this.$createElement('div', {\n staticClass,\n class: {\n 'v-date-picker-table--disabled': this.disabled,\n ...this.themeClasses,\n },\n on: (!this.disabled && this.scrollable) ? {\n wheel: (e: WheelEvent) => {\n e.preventDefault()\n if (this.isValidScroll(e.deltaY, calculateTableDate)) { this.wheelThrottle(e, calculateTableDate) }\n },\n } : undefined,\n directives: [touchDirective],\n }, [transition])\n },\n isSelected (value: string): boolean {\n if (Array.isArray(this.value)) {\n if (this.range && this.value.length === 2) {\n const [from, to] = [...this.value].sort()\n return from <= value && value <= to\n } else {\n return this.value.indexOf(value) !== -1\n }\n }\n\n return value === this.value\n },\n },\n})\n","function createUTCDate (year: number, month = 0, day = 1) {\n let date\n if (year < 100 && year >= 0) {\n date = new Date(Date.UTC(year, month, day))\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(year)\n }\n } else {\n date = new Date(Date.UTC(year, month, day))\n }\n\n return date\n}\n\nfunction firstWeekOffset (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear\n const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7\n\n return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1\n}\n\nfunction dayOfYear (year: number, month: number, day: number, firstDayOfWeek: number) {\n let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month]\n if (month > 1 && isLeapYear(year)) {\n dayOfYear++\n }\n\n return dayOfYear + day\n}\n\nfunction weeksInYear (year: number, firstDayOfWeek: number, firstDayOfYear: number) {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear)\n const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear)\n const daysInYear = isLeapYear(year) ? 366 : 365\n\n return (daysInYear - weekOffset + weekOffsetNext) / 7\n}\n\nexport function weekNumber (year: number, month: number, day: number, firstDayOfWeek: number, localeFirstDayOfYear: number): number {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, localeFirstDayOfYear)\n const week = Math.ceil((dayOfYear(year, month, day, firstDayOfWeek) - weekOffset) / 7)\n\n if (week < 1) {\n return week + weeksInYear(year - 1, firstDayOfWeek, localeFirstDayOfYear)\n } else if (week > weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)) {\n return week - weeksInYear(year, firstDayOfWeek, localeFirstDayOfYear)\n } else {\n return week\n }\n}\n\nexport function isLeapYear (year: number): boolean {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)\n}\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport { pad, createNativeLocaleFormatter, monthChange } from './util'\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-date-table',\n\n props: {\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n weekdayFormat: Function as PropType,\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { day: 'numeric', timeZone: 'UTC' }, { start: 8, length: 2 })\n },\n weekdayFormatter (): DatePickerFormatter | undefined {\n return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, { weekday: 'narrow', timeZone: 'UTC' })\n },\n weekDays (): string[] {\n const first = parseInt(this.firstDayOfWeek, 10)\n\n return this.weekdayFormatter\n ? createRange(7).map(i => this.weekdayFormatter!(`2017-01-${first + i + 15}`)) // 2017-01-15 is Sunday\n : createRange(7).map(i => ['S', 'M', 'T', 'W', 'T', 'F', 'S'][(i + first) % 7])\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return monthChange(this.tableDate, Math.sign(delta || 1))\n },\n genTHead () {\n const days = this.weekDays.map(day => this.$createElement('th', day))\n if (this.showWeek) {\n days.unshift(this.$createElement('th'))\n }\n\n return this.$createElement('thead', this.genTR(days))\n },\n // Returns number of the days from the firstDayOfWeek to the first day of the current month\n weekDaysBeforeFirstDayOfTheMonth () {\n const firstDayOfTheMonth = new Date(`${this.displayedYear}-${pad(this.displayedMonth + 1)}-01T00:00:00+00:00`)\n const weekDay = firstDayOfTheMonth.getUTCDay()\n\n return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7\n },\n getWeekNumber (dayInMonth: number) {\n return weekNumber(\n this.displayedYear,\n this.displayedMonth,\n dayInMonth,\n parseInt(this.firstDayOfWeek),\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('td', [\n this.$createElement('small', {\n staticClass: 'v-date-picker-table--date__week',\n }, String(weekNumber).padStart(2, '0')),\n ])\n },\n // eslint-disable-next-line max-statements\n genTBody () {\n const children = []\n const daysInMonth = new Date(this.displayedYear, this.displayedMonth + 1, 0).getDate()\n let rows = []\n let day = this.weekDaysBeforeFirstDayOfTheMonth()\n\n if (this.showWeek) {\n rows.push(this.genWeekNumber(this.getWeekNumber(1)))\n }\n\n const prevMonthYear = this.displayedMonth ? this.displayedYear : this.displayedYear - 1\n const prevMonth = (this.displayedMonth + 11) % 12\n const firstDayFromPreviousMonth = new Date(this.displayedYear, this.displayedMonth, 0).getDate()\n const cellsInRow = this.showWeek ? 8 : 7\n\n while (day--) {\n const date = `${prevMonthYear}-${pad(prevMonth + 1)}-${pad(firstDayFromPreviousMonth - day)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n for (day = 1; day <= daysInMonth; day++) {\n const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`\n\n rows.push(this.$createElement('td', [\n this.genButton(date, true, 'date', this.formatter),\n ]))\n\n if (rows.length % cellsInRow === 0) {\n children.push(this.genTR(rows))\n rows = []\n if (this.showWeek && (day < daysInMonth || this.showAdjacentMonths)) {\n rows.push(this.genWeekNumber(this.getWeekNumber(day + 7)))\n }\n }\n }\n\n const nextMonthYear = this.displayedMonth === 11 ? this.displayedYear + 1 : this.displayedYear\n const nextMonth = (this.displayedMonth + 1) % 12\n let nextMonthDay = 1\n\n while (rows.length < cellsInRow) {\n const date = `${nextMonthYear}-${pad(nextMonth + 1)}-${pad(nextMonthDay++)}`\n\n rows.push(this.$createElement('td', this.showAdjacentMonths ? [\n this.genButton(date, true, 'date', this.formatter, true),\n ] : []))\n }\n\n if (rows.length) {\n children.push(this.genTR(rows))\n }\n\n return this.$createElement('tbody', children)\n },\n genTR (children: VNodeChildren) {\n return [this.$createElement('tr', children)]\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--date', [\n this.genTHead(),\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\nexport default mixins(\n DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { month: 'short', timeZone: 'UTC' }, { start: 5, length: 2 })\n },\n },\n\n methods: {\n calculateTableDate (delta: number) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`\n },\n genTBody () {\n const children = []\n const cols = Array(3).fill(null)\n const rows = 12 / cols.length\n\n for (let row = 0; row < rows; row++) {\n const tds = cols.map((_, col) => {\n const month = row * cols.length + col\n const date = `${this.displayedYear}-${pad(month + 1)}`\n return this.$createElement('td', {\n key: month,\n }, [\n this.genButton(date, false, 'month', this.formatter),\n ])\n })\n\n children.push(this.$createElement('tr', {\n key: row,\n }, tds))\n }\n\n return this.$createElement('tbody', children)\n },\n },\n\n render (): VNode {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [\n this.genTBody(),\n ], this.calculateTableDate)\n },\n})\n","import './VDatePickerYears.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\n\n// Utils\nimport {\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n} from './util'\nimport { mergeListeners } from '../../util/mergeData'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface options extends Vue {\n $el: HTMLElement\n}\n\nexport default mixins\n/* eslint-enable indent */\n>(\n Colorable,\n Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n\n props: {\n format: Function as PropType,\n min: [Number, String],\n max: [Number, String],\n readonly: Boolean,\n value: [Number, String],\n },\n\n data () {\n return {\n defaultColor: 'primary',\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n return this.format || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n },\n },\n\n mounted () {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0]\n if (activeItem) {\n this.$el.scrollTop = activeItem.offsetTop - this.$el.offsetHeight / 2 + activeItem.offsetHeight / 2\n } else if (this.min && !this.max) {\n this.$el.scrollTop = this.$el.scrollHeight\n } else if (!this.min && this.max) {\n this.$el.scrollTop = 0\n } else {\n this.$el.scrollTop = this.$el.scrollHeight / 2 - this.$el.offsetHeight / 2\n }\n })\n },\n\n methods: {\n genYearItem (year: number): VNode {\n const formatted = this.formatter(`${year}`)\n const active = parseInt(this.value, 10) === year\n const color = active && (this.color || 'primary')\n\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: { active },\n on: mergeListeners({\n click: () => this.$emit('input', year),\n }, createItemTypeNativeListeners(this, ':year', year)),\n }), formatted)\n },\n\n genYearItems (): VNode[] {\n const children = []\n const selectedYear = this.value ? parseInt(this.value, 10) : new Date().getFullYear()\n const maxYear = this.max ? parseInt(this.max, 10) : (selectedYear + 100)\n const minYear = Math.min(maxYear, this.min ? parseInt(this.min, 10) : (selectedYear - 100))\n\n for (let year = maxYear; year >= minYear; year--) {\n children.push(this.genYearItem(year))\n }\n\n return children\n },\n },\n\n render (): VNode {\n return this.$createElement('ul', {\n staticClass: 'v-date-picker-years',\n ref: 'years',\n }, this.genYearItems())\n },\n})\n","import './VPicker.sass'\nimport '../VCard/VCard.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Elevatable,\n Themeable\n).extend({\n name: 'v-picker',\n\n props: {\n flat: Boolean,\n fullWidth: Boolean,\n landscape: Boolean,\n noTitle: Boolean,\n transition: {\n type: String,\n default: 'fade-transition',\n },\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n computed: {\n computedTitleColor (): string | false {\n const defaultTitleColor = this.isDark ? false : (this.color || 'primary')\n return this.color || defaultTitleColor\n },\n },\n\n methods: {\n genTitle () {\n return this.$createElement('div', this.setBackgroundColor(this.computedTitleColor, {\n staticClass: 'v-picker__title',\n class: {\n 'v-picker__title--landscape': this.landscape,\n },\n }), this.$slots.title)\n },\n genBodyTransition () {\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, this.$slots.default)\n },\n genBody () {\n return this.$createElement('div', {\n staticClass: 'v-picker__body',\n class: {\n 'v-picker__body--no-title': this.noTitle,\n ...this.themeClasses,\n },\n style: this.fullWidth ? undefined : {\n width: convertToUnit(this.width),\n },\n }, [\n this.genBodyTransition(),\n ])\n },\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-picker__actions v-card__actions',\n class: {\n 'v-picker__actions--no-title': this.noTitle,\n },\n }, this.$slots.actions)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-picker v-card',\n class: {\n 'v-picker--flat': this.flat,\n 'v-picker--landscape': this.landscape,\n 'v-picker--full-width': this.fullWidth,\n ...this.themeClasses,\n ...this.elevationClasses,\n },\n }, [\n this.$slots.title ? this.genTitle() : null,\n this.genBody(),\n this.$slots.actions ? this.genActions() : null,\n ])\n },\n})\n","import VPicker from './VPicker'\n\nexport { VPicker }\nexport default VPicker\n","// Components\nimport VPicker from '../../components/VPicker'\n\n// Mixins\nimport Colorable from '../colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Themeable from '../themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n Elevatable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'picker',\n\n props: {\n flat: Boolean,\n fullWidth: Boolean,\n headerColor: String,\n landscape: Boolean,\n noTitle: Boolean,\n width: {\n type: [Number, String],\n default: 290,\n },\n },\n\n methods: {\n genPickerTitle (): VNode | null {\n return null\n },\n genPickerBody (): VNode | null {\n return null\n },\n genPickerActionsSlot () {\n return this.$scopedSlots.default ? this.$scopedSlots.default({\n save: (this as any).save,\n cancel: (this as any).cancel,\n }) : this.$slots.default\n },\n genPicker (staticClass: string) {\n const children: VNode[] = []\n\n if (!this.noTitle) {\n const title = this.genPickerTitle()\n title && children.push(title)\n }\n\n const body = this.genPickerBody()\n body && children.push(body)\n\n children.push(this.$createElement('template', { slot: 'actions' }, [this.genPickerActionsSlot()]))\n\n return this.$createElement(VPicker, {\n staticClass,\n props: {\n color: this.headerColor || this.color,\n dark: this.dark,\n elevation: this.elevation,\n flat: this.flat,\n fullWidth: this.fullWidth,\n landscape: this.landscape,\n light: this.light,\n width: this.width,\n noTitle: this.noTitle,\n },\n }, children)\n },\n },\n})\n","import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of milliseconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n","// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType,\n allowedDates: Function as PropType,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator,\n value: [Array, String] as PropType,\n weekdayFormat: Function as PropType,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',
')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '