{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./node_modules/vuetify/lib/components/VDialog/VDialog.js","webpack:///./node_modules/vuetify/lib/components/VOverlay/index.js","webpack:///./node_modules/vuetify/lib/components/VToolbar/index.js","webpack:///./node_modules/core-js/modules/es.math.sign.js","webpack:///./node_modules/vuetify/lib/components/VGrid/VSpacer.js","webpack:///./node_modules/vuetify/lib/components/VMenu/index.js","webpack:///./node_modules/vuetify/lib/components/VChip/index.js","webpack:///./node_modules/vuetify/lib/components/VThemeProvider/VThemeProvider.js","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./node_modules/vuetify/lib/components/VToolbar/VToolbar.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./node_modules/vuetify/lib/components/VData/VData.js","webpack:///./node_modules/vuetify/lib/components/VDataIterator/VDataFooter.js","webpack:///./node_modules/vuetify/lib/components/VDataIterator/VDataIterator.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/mixins/header.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VDataTableHeaderMobile.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VDataTableHeaderDesktop.js","webpack:///./node_modules/vuetify/lib/util/dedupeModelListeners.js","webpack:///./node_modules/vuetify/lib/util/rebuildFunctionalSlots.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VDataTableHeader.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/Row.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/RowGroup.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VSimpleTable.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/MobileRow.js","webpack:///./node_modules/vuetify/lib/components/VDataTable/VDataTable.js","webpack:///./node_modules/vuetify/lib/components/VCard/index.js","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///./node_modules/vuetify/lib/components/VCheckbox/VSimpleCheckbox.js","webpack:///./node_modules/vuetify/lib/components/VOverlay/VOverlay.js","webpack:///./node_modules/vuetify/lib/components/VResponsive/VResponsive.js","webpack:///./node_modules/vuetify/lib/components/VResponsive/index.js","webpack:///./node_modules/vuetify/lib/components/VImg/VImg.js","webpack:///./src/views/reportes.vue?f7b3","webpack:///./src/views/reportes_eventos.vue?9f80","webpack:///src/views/F:/docker/MOS-fix/sce-front-0.1/src/views/reportes_eventos.vue","webpack:///./src/views/reportes_eventos.vue?c8a8","webpack:///./src/views/reportes_eventos.vue","webpack:///./src/views/reportes_muestras.vue?29dd","webpack:///src/views/F:/docker/MOS-fix/sce-front-0.1/src/views/reportes_muestras.vue","webpack:///./src/views/reportes_muestras.vue?0d3e","webpack:///./src/views/reportes_muestras.vue","webpack:///src/views/F:/docker/MOS-fix/sce-front-0.1/src/views/reportes.vue","webpack:///./src/views/reportes.vue?8f9d","webpack:///./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","webpack:///./node_modules/vuetify/lib/mixins/picker-button/index.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerTitle.js","webpack:///./node_modules/vuetify/lib/mixins/localable/index.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/pad.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/createNativeLocaleFormatter.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/monthChange.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerHeader.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/eventHelpers.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/sanitizeDateString.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/util/isDateAllowed.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/mixins/date-picker-table.js","webpack:///./node_modules/vuetify/lib/util/dateTimeUtils.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerDateTable.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonthTable.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePickerYears.js","webpack:///./node_modules/vuetify/lib/components/VPicker/VPicker.js","webpack:///./node_modules/vuetify/lib/components/VPicker/index.js","webpack:///./node_modules/vuetify/lib/mixins/picker/index.js","webpack:///./node_modules/vuetify/lib/components/VCalendar/util/timestamp.js","webpack:///./node_modules/vuetify/lib/components/VDatePicker/VDatePicker.js","webpack:///./src/views/reportes.vue","webpack:///./node_modules/vuetify/lib/components/VCard/VCard.js","webpack:///./node_modules/vuetify/lib/components/VDivider/index.js","webpack:///./node_modules/vuetify/lib/components/VSubheader/VSubheader.js","webpack:///./node_modules/vuetify/lib/components/VSubheader/index.js","webpack:///./node_modules/vuetify/lib/components/VSelect/VSelectList.js","webpack:///./node_modules/vuetify/lib/mixins/filterable/index.js","webpack:///./node_modules/vuetify/lib/components/VSelect/VSelect.js","webpack:///./node_modules/vuetify/lib/directives/touch/index.js","webpack:///./node_modules/vuetify/lib/components/VChip/VChip.js","webpack:///./node_modules/vuetify/lib/components/VMenu/VMenu.js","webpack:///./node_modules/vuetify/lib/mixins/mobile/index.js","webpack:///./node_modules/vuetify/lib/mixins/returnable/index.js","webpack:///./node_modules/vuetify/lib/mixins/overlayable/index.js"],"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","baseMixins","mixins","Activatable","Dependent","Detachable","Overlayable","Returnable","Stackable","Toggleable","extend","name","directives","ClickOutside","props","dark","Boolean","disabled","fullscreen","light","maxWidth","String","Number","noClickAnimation","origin","type","default","persistent","retainFocus","scrollable","transition","width","data","activatedBy","animate","animateTimeout","isActive","this","value","stackMinZIndex","previousActiveElement","computed","classes","contentClass","trim","contentClasses","hasActivator","$slots","activator","$scopedSlots","watch","val","_this$previousActiveE","show","hideScroll","removeOverlay","unbind","focus","showScroll","genOverlay","created","$attrs","hasOwnProperty","removed","beforeMount","$nextTick","isBooted","beforeDestroy","window","methods","animateClick","clearTimeout","setTimeout","closeConditional","e","target","_isDestroyed","$refs","content","contains","overlay","$el","activeZIndex","getMaxZIndex","document","documentElement","classList","add","options","call","hideOverlay","activeElement","bind","addEventListener","onFocusin","removeEventListener","onClickOutside","$emit","onKeydown","keyCode","keyCodes","esc","getOpenDependents","getActivator","includes","getOpenDependentElements","some","el","focusable","querySelectorAll","find","hasAttribute","genContent","showLazyContent","$createElement","VThemeProvider","root","class","attrs","role","tabindex","getScopeIdAttrs","on","keydown","style","zIndex","ref","genTransition","genInnerContent","appear","handler","include","transformOrigin","convertToUnit","getContentSlot","render","h","staticClass","attach","genActivator","VOverlay","VToolbarTitle","createSimpleFunctional","VToolbarItems","VToolbar","$","sign","stat","VMenu","VChip","Themeable","isDark","rootIsDark","node","isComment","text","$padStart","WEBKIT_BUG","proto","forced","padStart","arguments","VSheet","absolute","bottom","collapse","dense","extended","extensionHeight","flat","floating","prominent","short","src","Object","tag","isExtended","computedHeight","height","computedContentHeight","parseInt","isCollapsed","isNaN","isProminent","$vuetify","breakpoint","smAndDown","styles","measurableStyles","breakingProps","forEach","original","replacement","breaking","genBackground","image","img","VImg","getSlot","genExtension","extension","children","setBackgroundColor","color","$listeners","push","unshift","fixRegExpWellKnownSymbolLogic","anObject","sameValue","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","RegExp","string","rx","res","done","previousLastIndex","lastIndex","result","index","getOwnPropertyDescriptor","f","notARegExp","correctIsRegExpLogic","IS_PURE","un$EndsWith","endsWith","min","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","prototype","writable","searchString","that","endPosition","len","search","Vue","inheritAttrs","items","Array","sortBy","sortDesc","customSort","Function","sortItems","mustSort","multiSort","page","itemsPerPage","groupBy","groupDesc","customGroup","groupItems","locale","disableSort","disablePagination","disableFiltering","customFilter","searchItems","serverItemsLength","internalOptions","wrapInArray","assign","sortDiff","groupDiff","fillArray","itemsLength","filteredItems","pageCount","pageStart","pageStop","isGrouped","pagination","computedItems","paginateItems","groupedItems","scopedProps","sort","sortArray","group","updateOptions","originalItemsLength","computedOptions","old","deepEqual","deep","immediate","isArray","toggle","key","oldBy","oldDesc","by","desc","byIndex","findIndex","k","splice","map","s","i","max","required","itemsPerPageOptions","prevIcon","nextIcon","firstIcon","lastIcon","itemsPerPageText","itemsPerPageAllText","showFirstLastPage","showCurrentPage","disableItemsPerPage","pageText","disableNextPageIcon","computedDataItemsPerPageOptions","option","genDataItemsPerPageOption","obj","onFirstPage","onPreviousPage","onNextPage","onLastPage","onChangeItemsPerPage","lang","t","genItemsPerPageSelect","computedIPPO","ippo","VSelect","hideDetails","auto","minWidth","input","genPaginationInfo","genIcon","click","label","icon","VBtn","VIcon","genIcons","before","after","rtl","Mobile","VData","itemKey","singleSelect","expanded","mobileBreakpoint","singleExpand","loading","noResultsText","noDataText","loadingText","hideDefaultFooter","footerProps","selectableKey","selection","expansion","internalCurrentItems","shiftKeyDown","lastEntry","everyItem","selectableItems","every","isSelected","someItems","sanitizedFooterProps","camelizeObjectKeys","filter","item","isSelectable","reduce","getObjectValueByPath","keys","values","removedProps","prop","mounted","onKeyDown","onKeyUp","shift","toggleSelectAll","select","emit","x","lastEntryKey","lastEntryKeySelected","multipleSelect","currentItem","isExpanded","expand","createItemProps","v","isMobile","genEmptyWrapper","genEmpty","filteredItemsLength","noData","noResults","genItems","empty","genFooter","scopedSlots","getPrefixedScopedSlots","VDataFooter","genDefaultScopedSlot","outerProps","$props","ripple","headers","checkboxColor","sortIcon","showGroupBy","genSelectAll","_this$checkboxColor","indeterminate","VSimpleCheckbox","genSortIcon","size","header","sortByText","genSortChip","sortIndex","beingSorted","isDesc","sortable","active","asc","stopPropagation","genSortSelect","multiple","menuProps","closeOnContentClick","change","sortHeaders","th","tr","genGroupByToggle","getAria","$t","ariaSort","ariaLabel","join","genHeader","scope","align","divider","groupable","dedupeModelListeners","model","indexOf","callback","rebuildFunctionalSlots","slots","slot","functional","mobile","rebuildSlots","mergeData","VDataTableHeaderMobile","VDataTableHeaderDesktop","needsTd","_slot$","computedSlots","columns","slotName","scopedSlot","regularSlot","textAlign","cellClass","headerClass","summaryClass","fixedHeader","top","themeClasses","genWrapper","wrapper","hideDefaultHeader","mobileRowChildren","filterFn","searchTableItems","headersWithCustomFilters","headersWithoutCustomFilters","matchesColumnFilters","defaultFilter","matchesSearchTerm","VDataIterator","Loadable","showSelect","showExpand","caption","headerProps","calculateWidths","headersLength","expandIcon","itemClass","loaderHeight","internalGroupBy","openCache","widths","computedHeaders","defaultHeader","colspanAttrs","colspan","columnSorters","acc","filterable","sanitizedHeaderProps","computedItemsPerPage","firstOption","calcWidths","from","clientWidth","customFilterWithColumns","customSortWithHeaders","genCaption","genColgroup","genLoading","genProgress","genHeaders","VDataTableHeader","genGroupedRows","genRows","$set","genDefaultGroupedRow","isOpen","toggleFn","removeFn","remove","small","column","RowGroup","genScopedRows","genDefaultRows","rows","genDefaultExpandedRow","genDefaultSimpleRow","headerRow","expandedRow","MobileRow","Row","mergeClasses","getPropertyFromItem","contextmenu","event","dblclick","genBody","body","genFoot","_this$$scopedSlots$fo","_this$$scopedSlots","foot","genFooters","simpleProps","VSimpleTable","proxySlot","VCardActions","VCardSubtitle","VCardText","VCardTitle","VCard","userAgent","test","Colorable","indeterminateIcon","onIcon","offIcon","listeners","setTextColor","center","opacity","__scrim","computedOpacity","Measurable","aspectRatio","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","VResponsive","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","rootMargin","threshold","position","sizes","srcset","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","mode","loadImage","init","entries","observer","isIntersecting","lazyImg","Image","pollForSize","onLoad","getSrc","startsWith","naturalHeight","onError","onload","decode","catch","err","consoleWarn","message","then","onerror","timeout","poll","complete","_b","__genPlaceholder","placeholder","modifiers","once","_vm","_h","_c","_self","_v","_u","fn","_g","$$v","expression","menu_picker_ini","$event","menu_picker_end","type_of_reports","trucks","getReport","show_help","show_wait_download","show_events","report_data","total_records","show_samples","_e","staticRenderFns","componentKey","pagination_options","_s","totalRecords","proxy","level","console","log","$bus","report","component","VDataTable","VDivider","VSpacer","deviation_level","components","EventsTable","SamplesTable","sample_sort_by","sample_sort_desc","event_sort_by","event_sort_desc","report_type","truckid","date_picker_ini","$moment","Date","subtract","format","date_picker_end","users","firstname","lastname","rut","email","mobilephone","perfil","action","$on","set","$util","clone","$store","state","destroyed","$off","arg","download","ts","loader","$axios","all","get","params","stamp_end","stamp_ini","sort_by","sort_desc","spread","report_resp","events","samples","report_err","click_descarga_reporte_1","show_wait","click_descarga_reporte_2","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","allowOverflow","autoSelectFirst","queryText","itemText","toLocaleLowerCase","hideNoData","noFilter","searchInput","lazySearch","selectedIndex","selectedValues","selectedItems","getValue","hasDisplayedItems","hideSelected","hasItem","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","isAnyValueAllowed","isDirty","searchIsDirty","menuCanShow","isFocused","$_menuProps","valueComparator","internalValue","listData","virtualizedItems","onCopy","blur","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","setSearch","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","left","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","nextIndex","nextItem","selectItem","setValue","clearableCallback","genInput","VTextField","autocomplete","domProps","genInputSlot","genSelections","onClick","onFocus","isAppendInner","onInput","badInput","validity","ctrlKey","home","onSpaceDown","onTabDown","onUpDown","preventDefault","setSelectedItems","_event$clipboardData","_event$clipboardData2","currentItemText","clipboardData","setData","genPickerButton","readonly","kebabCase","PickerButton","date","selectingYear","year","yearIcon","isReversing","computedTransition","prev","genYearIcon","getYearBtn","genTitleText","innerHTML","genTitleDate","currentLocale","current","targetLength","padString","n","createNativeLocaleFormatter","substrOptions","makeIsoString","dateString","split","month","pad","intlFormatter","Intl","DateTimeFormat","substr","Localable","nextAriaLabel","prevAriaLabel","formatter","timeZone","newVal","genBtn","ariaLabelId","calculateChange","monthChange","createItemTypeNativeListeners","instance","itemTypeSuffix","eventName","createItemTypeListeners","isDateAllowed","allowedFn","Touch","allowedDates","eventColor","range","tableDate","wheelThrottle","displayedMonth","displayedYear","throttle","wheel","genButtonClasses","isAllowed","isFloating","isCurrent","isFirst","isLast","genButtonEvents","mouseEventType","mergeListeners","genButton","isOtherMonth","setColor","genEvents","getEventColors","eventData","arrayize","eventColors","isValidScroll","calculateTableDate","sanitizeType","sanitizeDateString","deltaY","touch","genTable","touchDirective","offsetX","to","createUTCDate","day","UTC","isFinite","getUTCFullYear","setUTCFullYear","firstWeekOffset","firstDayOfWeek","firstDayOfYear","firstWeekDayInFirstWeek","firstWeekDayOfYear","getUTCDay","dayOfYear","isLeapYear","weeksInYear","weekOffset","weekOffsetNext","daysInYear","weekNumber","localeFirstDayOfYear","week","DatePickerTable","showAdjacentMonths","showWeek","weekdayFormat","weekdayFormatter","weekday","weekDays","first","createRange","delta","genTHead","days","genTR","weekDaysBeforeFirstDayOfTheMonth","firstDayOfTheMonth","weekDay","getWeekNumber","dayInMonth","genWeekNumber","genTBody","daysInMonth","getDate","prevMonthYear","prevMonth","firstDayFromPreviousMonth","cellsInRow","nextMonthYear","nextMonth","nextMonthDay","cols","fill","row","tds","_","col","defaultColor","activeItem","getElementsByClassName","scrollTop","offsetTop","offsetHeight","scrollHeight","genYearItem","formatted","genYearItems","selectedYear","getFullYear","maxYear","minYear","Elevatable","fullWidth","landscape","noTitle","computedTitleColor","defaultTitleColor","genTitle","title","genBodyTransition","genActions","actions","elevationClasses","VPicker","headerColor","genPickerTitle","genPickerBody","genPickerActionsSlot","save","cancel","genPicker","elevation","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP","Picker","activePicker","dayFormat","headerDateFormat","monthFormat","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevMonthAriaLabel","prevYearAriaLabel","reactive","showCurrent","selectedItemsText","titleDateFormat","validator","yearFormat","now","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","multipleValue","getMonth","isMultiple","lastValue","selectedMonths","inputDate","tableMonth","tableYear","minMonth","maxMonth","formatters","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","titleFormats","titleDateFormatter","landscapeFormatter","replace","match","nonDigit","digit","newValue","oldValue","checkMultipleProp","setInputDate","output","emitInput","newInput","concat","valueType","constructor","expected","yearClick","monthClick","dateClick","VDatePickerTitle","genTableHeader","VDatePickerHeader","genDateTable","VDatePickerDateTable","genMonthTable","VDatePickerMonthTable","genYears","VDatePickerYears","array","VAlert","VAutocomplete","VCol","VDatePicker","VDialog","VProgressCircular","VRow","Routable","hover","link","raised","isClickable","background","generateRouteLink","inset","VSubheader","itemDisabled","itemValue","parsedItems","tileActiveClass","staticNoDataTile","tile","mousedown","VListItem","genTileContent","genAction","inputValue","VListItemAction","genDivider","genFilteredText","escapeHTML","getMaskedCharacters","middle","genHighlight","genTile","id","_uid","activeClass","parent","needsTile","VListItemContent","VListItemTitle","componentOptions","Ctor","VList","closeOnClick","disableKeys","openOnClick","maxHeight","Comparable","Filterable","appendIcon","cacheItems","chips","clearable","deletableChips","disableLookup","itemColor","openOnClear","returnObject","smallChips","cachedItems","menuIsBooted","lastItem","lazyValue","keyboardLookupPrefix","keyboardLookupLastTime","filterDuplicates","hasChips","computedOwns","computedCounterValue","counterValue","dynamicHeight","scopeId","$vnode","context","$options","_scopeId","staticList","consoleError","VSelectList","normalisedProps","p","nudgeBottom","initialValue","onMenuActiveChange","getContent","arr","uniqueValues","Map","has","findExistingIndex","genChipSelection","isDisabled","close","onChipInput","JSON","stringify","genCommaSelection","last","computedColor","genDefaultSlot","selections","genFieldset","genLabel","prefix","genAffix","suffix","genClearIcon","genIconSlot","genHiddenInput","genMenu","cb","extraData","VInput","isReadonly","persistentPlaceholder","hasLabel","keypress","onKeyPress","attrs$","genList","genListWithSlot","scroll","onScroll","genSelection","genSlotSelection","selected","getMenuIndex","onBlur","onEscDown","KEYBOARD_LOOKUP_THRESHOLD","performance","toLowerCase","tab","up","down","enter","changeListIndex","space","tiles","getAttribute","onMouseUp","hasMouseDown","which","showMoreItems","clientHeight","requestAnimationFrame","activeTile","hasClickableTiles","prevTile","nextTile","firstTile","lastTile","appendInner","handleGesture","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","abs","touchstart","changedTouches","clientX","clientY","touchend","touchmove","touchmoveX","touchmoveY","move","createHandlers","inserted","binding","vnode","parentElement","passive","handlers","_touchHandlers","Sizeable","GroupableFactory","ToggleableFactory","chipGroup","closeIcon","closeLabel","draggable","filterIcon","outlined","pill","textColor","proxyClass","isLink","hasClose","sizeableClasses","groupClasses","genFilter","VExpandXTransition","genClose","Delayable","Menuable","Roundable","Resize","provide","isInMenu","theme","openOnHover","calculatedTopAuto","defaultOffset","hasJustFocused","resizeTimeout","calculatedLeft","menuWidth","dimensions","parseFloat","calculatedMinWidth","calcXOverflow","calcLeftAuto","calcLeft","calculatedMaxHeight","calculatedMaxWidth","nudgeWidth","pageWidth","calculatedTop","calcYOverflow","calcTop","tabIndex","isContentActive","next","contentHeight","goTo","appOffset","duration","container","callActivate","activate","startTransition","calcTopAuto","calcScrollPosition","querySelector","maxScrollTop","computedTop","tileDistanceFromMenuTop","firstTileOffsetTop","genActivatorAttributes","attributes","genActivatorListeners","genDirectives","rootThemeClasses","roundedClasses","activatorFixed","menuable__content__active","mouseenter","mouseEnterHandler","mouseleave","mouseLeaveHandler","runDelay","_this$$refs$content","relatedTarget","callDeactivate","onResize","offsetWidth","mobileWidth","isNumber","deprecate","returnValue","originalValue","overlayColor","overlayOpacity","animationFrame","createOverlay","propsData","$mount","parentNode","insertBefore","firstChild","getZIndex","addOnceEventListener","removeChild","$destroy","cancelAnimationFrame","scrollListener","tagName","isContentEditable","pageup","pagedown","checkPath","hasScrollbar","nodeType","Node","ELEMENT_NODE","getComputedStyle","overflowY","overflowX","scrollWidth","shouldScroll","alreadyAtStart","alreadyAtEnd","dir","shiftKey","deltaX","scrollLeft","scrollingUp","scrollingDown","isInside","path","composedPath","dialog","getSelection","anchorNode","addPassiveEventListener"],"mappings":"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","file":"js/chunk-7d100439.43fc767d.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","// Styles\nimport \"../../../src/components/VDialog/VDialog.sass\"; // Components\n\nimport { VThemeProvider } from '../VThemeProvider'; // Mixins\n\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';\nimport Toggleable from '../../mixins/toggleable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Helpers\n\nimport mixins from '../../util/mixins';\nimport { removed } from '../../util/console';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nconst baseMixins = mixins(Activatable, Dependent, Detachable, Overlayable, Returnable, Stackable, Toggleable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-dialog',\n directives: {\n 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,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n previousActiveElement: null\n };\n },\n\n computed: {\n classes() {\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\n contentClasses() {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive\n };\n },\n\n hasActivator() {\n return Boolean(!!this.$slots.activator || !!this.$scopedSlots.activator);\n }\n\n },\n watch: {\n isActive(val) {\n if (val) {\n this.show();\n this.hideScroll();\n } else {\n var _this$previousActiveE;\n\n this.removeOverlay();\n this.unbind();\n (_this$previousActiveE = this.previousActiveElement) == null ? void 0 : _this$previousActiveE.focus();\n }\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\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; // Needed for when clicking very fast\n // outside of the dialog\n\n this.$nextTick(() => {\n this.animate = true;\n window.clearTimeout(this.animateTimeout);\n this.animateTimeout = window.setTimeout(() => this.animate = false, 150);\n });\n },\n\n closeConditional(e) {\n const target = e.target; // 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\n return !(this._isDestroyed || !this.isActive || this.$refs.content.contains(target) || this.overlay && target && !this.overlay.$el.contains(target)) && this.activeZIndex >= this.getMaxZIndex();\n },\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\n show() {\n !this.fullscreen && !this.hideOverlay && this.genOverlay(); // Double nextTick to wait for lazy content to be generated\n\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.content.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement;\n this.$refs.content.focus();\n }\n\n this.bind();\n });\n });\n },\n\n bind() {\n window.addEventListener('focusin', this.onFocusin);\n },\n\n unbind() {\n window.removeEventListener('focusin', this.onFocusin);\n },\n\n onClickOutside(e) {\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\n onKeydown(e) {\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.focus());\n } else if (!this.noClickAnimation) {\n this.animateClick();\n }\n }\n\n this.$emit('keydown', e);\n },\n\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin(e) {\n if (!e || !this.retainFocus) return;\n const target = e.target;\n\n if (!!target && // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) && // It isn't inside the dialog body\n !this.$refs.content.contains(target) && // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() && // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target)) // 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.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n const el = [...focusable].find(el => !el.hasAttribute('disabled'));\n el && el.focus();\n }\n },\n\n genContent() {\n return this.showLazyContent(() => [this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark\n }\n }, [this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n tabindex: this.isActive ? 0 : undefined,\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs()\n },\n on: {\n keydown: this.onKeydown\n },\n style: {\n zIndex: this.activeZIndex\n },\n ref: 'content'\n }, [this.genTransition()])])]);\n },\n\n genTransition() {\n const content = this.genInnerContent();\n if (!this.transition) return content;\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true\n }\n }, [content]);\n },\n\n genInnerContent() {\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [{\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements\n }\n }, {\n name: 'show',\n value: this.isActive\n }],\n style: {\n transformOrigin: this.origin\n }\n };\n\n if (!this.fullscreen) {\n data.style = { ...data.style,\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\n render(h) {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n }\n }, [this.genActivator(), this.genContent()]);\n }\n\n});\n//# sourceMappingURL=VDialog.js.map","import VOverlay from './VOverlay';\nexport { VOverlay };\nexport default VOverlay;\n//# sourceMappingURL=index.js.map","// Components\nimport VToolbar from './VToolbar'; // Utilities\n\nimport { createSimpleFunctional } from '../../util/helpers';\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title');\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items');\nexport { VToolbar, VToolbarItems, VToolbarTitle };\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle\n }\n};\n//# sourceMappingURL=index.js.map","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","import \"../../../src/components/VGrid/_grid.sass\";\nimport { createSimpleFunctional } from '../../util/helpers';\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer');\n//# sourceMappingURL=VSpacer.js.map","import VMenu from './VMenu';\nexport { VMenu };\nexport default VMenu;\n//# sourceMappingURL=index.js.map","import VChip from './VChip';\nexport { VChip };\nexport default VChip;\n//# sourceMappingURL=index.js.map","// Mixins\nimport Themeable from '../../mixins/themeable';\n/* @vue/component */\n\nexport default Themeable.extend({\n name: 'v-theme-provider',\n props: {\n root: Boolean\n },\n computed: {\n isDark() {\n return this.root ? this.rootIsDark : Themeable.options.computed.isDark.call(this);\n }\n\n },\n\n render() {\n /* istanbul ignore next */\n return this.$slots.default && this.$slots.default.find(node => !node.isComment && node.text !== ' ');\n }\n\n});\n//# sourceMappingURL=VThemeProvider.js.map","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","// Styles\nimport \"../../../src/components/VToolbar/VToolbar.sass\"; // Extensions\n\nimport VSheet from '../VSheet/VSheet'; // Components\n\nimport VImg from '../VImg/VImg'; // Utilities\n\nimport { convertToUnit, getSlot } from '../../util/helpers';\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default VSheet.extend({\n name: 'v-toolbar',\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String]\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object],\n default: ''\n },\n tag: {\n type: String,\n default: 'header'\n }\n },\n data: () => ({\n isExtended: false\n }),\n computed: {\n computedHeight() {\n const height = this.computedContentHeight;\n if (!this.isExtended) return height;\n const extensionHeight = parseInt(this.extensionHeight);\n return this.isCollapsed ? height : height + (!isNaN(extensionHeight) ? extensionHeight : 0);\n },\n\n computedContentHeight() {\n if (this.height) return parseInt(this.height);\n if (this.isProminent && this.dense) return 96;\n if (this.isProminent && this.short) return 112;\n if (this.isProminent) return 128;\n if (this.dense) return 48;\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56;\n return 64;\n },\n\n classes() {\n return { ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent\n };\n },\n\n isCollapsed() {\n return this.collapse;\n },\n\n isProminent() {\n return this.prominent;\n },\n\n styles() {\n return { ...this.measurableStyles,\n height: convertToUnit(this.computedHeight)\n };\n }\n\n },\n\n created() {\n const breakingProps = [['app', ''], ['manual-scroll', ''], ['clipped-left', ''], ['clipped-right', ''], ['inverted-scroll', ''], ['scroll-off-screen', ''], ['scroll-target', ''], ['scroll-threshold', ''], ['card', '']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n },\n\n methods: {\n genBackground() {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src\n };\n const image = this.$scopedSlots.img ? this.$scopedSlots.img({\n props\n }) : this.$createElement(VImg, {\n props\n });\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image'\n }, [image]);\n },\n\n genContent() {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight)\n }\n }, getSlot(this));\n },\n\n genExtension() {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight)\n }\n }, getSlot(this, 'extension'));\n }\n\n },\n\n render(h) {\n this.isExtended = this.extended || !!this.$scopedSlots.extension;\n const children = [this.genContent()];\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners\n });\n if (this.isExtended) children.push(this.genExtension());\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground());\n return h(this.tag, data, children);\n }\n\n});\n//# sourceMappingURL=VToolbar.js.map","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar un$EndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return un$EndsWith\n ? un$EndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers';\nimport Vue from 'vue';\nexport default Vue.extend({\n name: 'v-data',\n inheritAttrs: false,\n props: {\n items: {\n type: Array,\n default: () => []\n },\n options: {\n type: Object,\n default: () => ({})\n },\n sortBy: {\n type: [String, Array]\n },\n sortDesc: {\n type: [Boolean, Array]\n },\n customSort: {\n type: Function,\n default: sortItems\n },\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1\n },\n itemsPerPage: {\n type: Number,\n default: 10\n },\n groupBy: {\n type: [String, Array],\n default: () => []\n },\n groupDesc: {\n type: [Boolean, Array],\n default: () => []\n },\n customGroup: {\n type: Function,\n default: groupItems\n },\n locale: {\n type: String,\n default: 'en-US'\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems\n },\n serverItemsLength: {\n type: Number,\n default: -1\n }\n },\n\n data() {\n let internalOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort\n };\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options);\n }\n\n const {\n sortBy,\n sortDesc,\n groupBy,\n groupDesc\n } = internalOptions;\n const sortDiff = sortBy.length - sortDesc.length;\n const groupDiff = groupBy.length - groupDesc.length;\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false));\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false));\n }\n\n return {\n internalOptions\n };\n },\n\n computed: {\n itemsLength() {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length;\n },\n\n pageCount() {\n return this.internalOptions.itemsPerPage <= 0 ? 1 : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage);\n },\n\n pageStart() {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0;\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage;\n },\n\n pageStop() {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength;\n if (!this.items.length) return 0;\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage);\n },\n\n isGrouped() {\n return !!this.internalOptions.groupBy.length;\n },\n\n pagination() {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength\n };\n },\n\n filteredItems() {\n let items = this.items.slice();\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search);\n }\n\n return items;\n },\n\n computedItems() {\n let items = this.filteredItems.slice();\n\n if ((!this.disableSort || this.internalOptions.groupBy.length) && this.serverItemsLength <= 0) {\n items = this.sortItems(items);\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items);\n }\n\n return items;\n },\n\n groupedItems() {\n return this.isGrouped ? this.groupItems(this.computedItems) : null;\n },\n\n scopedProps() {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length\n };\n },\n\n computedOptions() {\n return { ...this.options\n };\n }\n\n },\n watch: {\n computedOptions: {\n handler(options, old) {\n if (deepEqual(options, old)) return;\n this.updateOptions(options);\n },\n\n deep: true,\n immediate: true\n },\n internalOptions: {\n handler(options, old) {\n if (deepEqual(options, old)) return;\n this.$emit('update:options', options);\n },\n\n deep: true,\n immediate: true\n },\n\n page(page) {\n this.updateOptions({\n page\n });\n },\n\n 'internalOptions.page'(page) {\n this.$emit('update:page', page);\n },\n\n itemsPerPage(itemsPerPage) {\n this.updateOptions({\n itemsPerPage\n });\n },\n\n 'internalOptions.itemsPerPage'(itemsPerPage) {\n this.$emit('update:items-per-page', itemsPerPage);\n },\n\n sortBy(sortBy) {\n this.updateOptions({\n sortBy: wrapInArray(sortBy)\n });\n },\n\n 'internalOptions.sortBy'(sortBy, old) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0]);\n },\n\n sortDesc(sortDesc) {\n this.updateOptions({\n sortDesc: wrapInArray(sortDesc)\n });\n },\n\n 'internalOptions.sortDesc'(sortDesc, old) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0]);\n },\n\n groupBy(groupBy) {\n this.updateOptions({\n groupBy: wrapInArray(groupBy)\n });\n },\n\n 'internalOptions.groupBy'(groupBy, old) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0]);\n },\n\n groupDesc(groupDesc) {\n this.updateOptions({\n groupDesc: wrapInArray(groupDesc)\n });\n },\n\n 'internalOptions.groupDesc'(groupDesc, old) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0]);\n },\n\n multiSort(multiSort) {\n this.updateOptions({\n multiSort\n });\n },\n\n 'internalOptions.multiSort'(multiSort) {\n this.$emit('update:multi-sort', multiSort);\n },\n\n mustSort(mustSort) {\n this.updateOptions({\n mustSort\n });\n },\n\n 'internalOptions.mustSort'(mustSort) {\n this.$emit('update:must-sort', mustSort);\n },\n\n pageCount: {\n handler(pageCount) {\n this.$emit('page-count', pageCount);\n },\n\n immediate: true\n },\n computedItems: {\n handler(computedItems) {\n this.$emit('current-items', computedItems);\n },\n\n immediate: true\n },\n pagination: {\n handler(pagination, old) {\n if (deepEqual(pagination, old)) return;\n this.$emit('pagination', this.pagination);\n },\n\n immediate: true\n }\n },\n methods: {\n toggle(key, oldBy, oldDesc, page, mustSort, multiSort) {\n let by = oldBy.slice();\n let desc = oldDesc.slice();\n const byIndex = by.findIndex(k => k === key);\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = [];\n desc = [];\n }\n\n by.push(key);\n desc.push(false);\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true;\n } else if (!mustSort) {\n by.splice(byIndex, 1);\n desc.splice(byIndex, 1);\n } else {\n desc[byIndex] = false;\n } // Reset page to 1 if sortBy or sortDesc have changed\n\n\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1;\n }\n\n return {\n by,\n desc,\n page\n };\n },\n\n group(key) {\n const {\n by: groupBy,\n desc: groupDesc,\n page\n } = this.toggle(key, this.internalOptions.groupBy, this.internalOptions.groupDesc, this.internalOptions.page, true, false);\n this.updateOptions({\n groupBy,\n groupDesc,\n page\n });\n },\n\n sort(key) {\n if (Array.isArray(key)) return this.sortArray(key);\n const {\n by: sortBy,\n desc: sortDesc,\n page\n } = this.toggle(key, this.internalOptions.sortBy, this.internalOptions.sortDesc, this.internalOptions.page, this.internalOptions.mustSort, this.internalOptions.multiSort);\n this.updateOptions({\n sortBy,\n sortDesc,\n page\n });\n },\n\n sortArray(sortBy) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex(k => k === s);\n return i > -1 ? this.internalOptions.sortDesc[i] : false;\n });\n this.updateOptions({\n sortBy,\n sortDesc\n });\n },\n\n updateOptions(options) {\n this.internalOptions = { ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0 ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount)) : options.page || this.internalOptions.page\n };\n },\n\n sortItems(items) {\n let sortBy = [];\n let sortDesc = [];\n\n if (!this.disableSort) {\n sortBy = this.internalOptions.sortBy;\n sortDesc = this.internalOptions.sortDesc;\n }\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy];\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc];\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale);\n },\n\n groupItems(items) {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc);\n },\n\n paginateItems(items) {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, Math.ceil(items.length / this.internalOptions.itemsPerPage)) || 1; // Prevent NaN\n }\n\n return items.slice(this.pageStart, this.pageStop);\n }\n\n },\n\n render() {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps);\n }\n\n});\n//# sourceMappingURL=VData.js.map","import \"../../../src/components/VDataIterator/VDataFooter.sass\"; // Components\n\nimport VSelect from '../VSelect/VSelect';\nimport VIcon from '../VIcon';\nimport VBtn from '../VBtn'; // Types\n\nimport Vue from 'vue';\nimport { getSlot } from '../../util/helpers';\nexport default Vue.extend({\n name: 'v-data-footer',\n props: {\n options: {\n type: Object,\n required: true\n },\n pagination: {\n type: Object,\n required: true\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => [5, 10, 15, -1]\n },\n prevIcon: {\n type: String,\n default: '$prev'\n },\n nextIcon: {\n type: String,\n default: '$next'\n },\n firstIcon: {\n type: String,\n default: '$first'\n },\n lastIcon: {\n type: String,\n default: '$last'\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText'\n },\n itemsPerPageAllText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageAll'\n },\n showFirstLastPage: Boolean,\n showCurrentPage: Boolean,\n disablePagination: Boolean,\n disableItemsPerPage: Boolean,\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText'\n }\n },\n computed: {\n disableNextPageIcon() {\n return this.options.itemsPerPage <= 0 || this.options.page * this.options.itemsPerPage >= this.pagination.itemsLength || this.pagination.pageStop < 0;\n },\n\n computedDataItemsPerPageOptions() {\n return this.itemsPerPageOptions.map(option => {\n if (typeof option === 'object') return option;else return this.genDataItemsPerPageOption(option);\n });\n }\n\n },\n methods: {\n updateOptions(obj) {\n this.$emit('update:options', Object.assign({}, this.options, obj));\n },\n\n onFirstPage() {\n this.updateOptions({\n page: 1\n });\n },\n\n onPreviousPage() {\n this.updateOptions({\n page: this.options.page - 1\n });\n },\n\n onNextPage() {\n this.updateOptions({\n page: this.options.page + 1\n });\n },\n\n onLastPage() {\n this.updateOptions({\n page: this.pagination.pageCount\n });\n },\n\n onChangeItemsPerPage(itemsPerPage) {\n this.updateOptions({\n itemsPerPage,\n page: 1\n });\n },\n\n genDataItemsPerPageOption(option) {\n return {\n text: option === -1 ? this.$vuetify.lang.t(this.itemsPerPageAllText) : String(option),\n value: option\n };\n },\n\n genItemsPerPageSelect() {\n let value = this.options.itemsPerPage;\n const computedIPPO = this.computedDataItemsPerPageOptions;\n if (computedIPPO.length <= 1) return null;\n if (!computedIPPO.find(ippo => ippo.value === value)) value = computedIPPO[0];\n return this.$createElement('div', {\n staticClass: 'v-data-footer__select'\n }, [this.$vuetify.lang.t(this.itemsPerPageText), this.$createElement(VSelect, {\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.itemsPerPageText)\n },\n props: {\n disabled: this.disableItemsPerPage,\n items: computedIPPO,\n value,\n hideDetails: true,\n auto: true,\n minWidth: '75px'\n },\n on: {\n input: this.onChangeItemsPerPage\n }\n })]);\n },\n\n genPaginationInfo() {\n let children = ['–'];\n const itemsLength = this.pagination.itemsLength;\n let pageStart = this.pagination.pageStart;\n let pageStop = this.pagination.pageStop;\n\n if (this.pagination.itemsLength && this.pagination.itemsPerPage) {\n pageStart = this.pagination.pageStart + 1;\n pageStop = itemsLength < this.pagination.pageStop || this.pagination.pageStop < 0 ? itemsLength : this.pagination.pageStop;\n children = this.$scopedSlots['page-text'] ? [this.$scopedSlots['page-text']({\n pageStart,\n pageStop,\n itemsLength\n })] : [this.$vuetify.lang.t(this.pageText, pageStart, pageStop, itemsLength)];\n } else if (this.$scopedSlots['page-text']) {\n children = [this.$scopedSlots['page-text']({\n pageStart,\n pageStop,\n itemsLength\n })];\n }\n\n return this.$createElement('div', {\n class: 'v-data-footer__pagination'\n }, children);\n },\n\n genIcon(click, disabled, label, icon) {\n return this.$createElement(VBtn, {\n props: {\n disabled: disabled || this.disablePagination,\n icon: true,\n text: true\n },\n on: {\n click\n },\n attrs: {\n 'aria-label': label\n }\n }, [this.$createElement(VIcon, icon)]);\n },\n\n genIcons() {\n const before = [];\n const after = [];\n before.push(this.genIcon(this.onPreviousPage, this.options.page === 1, this.$vuetify.lang.t('$vuetify.dataFooter.prevPage'), this.$vuetify.rtl ? this.nextIcon : this.prevIcon));\n after.push(this.genIcon(this.onNextPage, this.disableNextPageIcon, this.$vuetify.lang.t('$vuetify.dataFooter.nextPage'), this.$vuetify.rtl ? this.prevIcon : this.nextIcon));\n\n if (this.showFirstLastPage) {\n before.unshift(this.genIcon(this.onFirstPage, this.options.page === 1, this.$vuetify.lang.t('$vuetify.dataFooter.firstPage'), this.$vuetify.rtl ? this.lastIcon : this.firstIcon));\n after.push(this.genIcon(this.onLastPage, this.options.page >= this.pagination.pageCount || this.options.itemsPerPage === -1, this.$vuetify.lang.t('$vuetify.dataFooter.lastPage'), this.$vuetify.rtl ? this.firstIcon : this.lastIcon));\n }\n\n return [this.$createElement('div', {\n staticClass: 'v-data-footer__icons-before'\n }, before), this.showCurrentPage && this.$createElement('span', [this.options.page.toString()]), this.$createElement('div', {\n staticClass: 'v-data-footer__icons-after'\n }, after)];\n }\n\n },\n\n render() {\n return this.$createElement('div', {\n staticClass: 'v-data-footer'\n }, [getSlot(this, 'prepend'), this.genItemsPerPageSelect(), this.genPaginationInfo(), this.genIcons()]);\n }\n\n});\n//# sourceMappingURL=VDataFooter.js.map","// Components\nimport { VData } from '../VData';\nimport VDataFooter from './VDataFooter'; // Mixins\n\nimport Mobile from '../../mixins/mobile';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport mixins from '../../util/mixins';\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, camelizeObjectKeys, keyCodes } from '../../util/helpers';\nimport { breaking, removed } from '../../util/console';\n/* @vue/component */\n\nexport default mixins(Mobile, Themeable).extend({\n name: 'v-data-iterator',\n props: { ...VData.options.props,\n itemKey: {\n type: String,\n default: 'id'\n },\n value: {\n type: Array,\n default: () => []\n },\n singleSelect: Boolean,\n expanded: {\n type: Array,\n default: () => []\n },\n mobileBreakpoint: { ...Mobile.options.props.mobileBreakpoint,\n default: 600\n },\n singleExpand: Boolean,\n loading: [Boolean, String],\n noResultsText: {\n type: String,\n default: '$vuetify.dataIterator.noResultsText'\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText'\n },\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText'\n },\n hideDefaultFooter: Boolean,\n footerProps: Object,\n selectableKey: {\n type: String,\n default: 'isSelectable'\n }\n },\n data: () => ({\n selection: {},\n expansion: {},\n internalCurrentItems: [],\n shiftKeyDown: false,\n lastEntry: -1\n }),\n computed: {\n everyItem() {\n return !!this.selectableItems.length && this.selectableItems.every(i => this.isSelected(i));\n },\n\n someItems() {\n return this.selectableItems.some(i => this.isSelected(i));\n },\n\n sanitizedFooterProps() {\n return camelizeObjectKeys(this.footerProps);\n },\n\n selectableItems() {\n return this.internalCurrentItems.filter(item => this.isSelectable(item));\n }\n\n },\n watch: {\n value: {\n handler(value) {\n this.selection = value.reduce((selection, item) => {\n selection[getObjectValueByPath(item, this.itemKey)] = item;\n return selection;\n }, {});\n },\n\n immediate: true\n },\n\n selection(value, old) {\n if (deepEqual(Object.keys(value), Object.keys(old))) return;\n this.$emit('input', Object.values(value));\n },\n\n expanded: {\n handler(value) {\n this.expansion = value.reduce((expansion, item) => {\n expansion[getObjectValueByPath(item, this.itemKey)] = true;\n return expansion;\n }, {});\n },\n\n immediate: true\n },\n\n expansion(value, old) {\n if (deepEqual(value, old)) return;\n const keys = Object.keys(value).filter(k => value[k]);\n const expanded = !keys.length ? [] : this.items.filter(i => keys.includes(String(getObjectValueByPath(i, this.itemKey))));\n this.$emit('update:expanded', expanded);\n }\n\n },\n\n created() {\n const breakingProps = [['disable-initial-sort', 'sort-by'], ['filter', 'custom-filter'], ['pagination', 'options'], ['total-items', 'server-items-length'], ['hide-actions', 'hide-default-footer'], ['rows-per-page-items', 'footer-props.items-per-page-options'], ['rows-per-page-text', 'footer-props.items-per-page-text'], ['prev-icon', 'footer-props.prev-icon'], ['next-icon', 'footer-props.next-icon']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n const removedProps = ['expand', 'content-class', 'content-props', 'content-tag'];\n /* istanbul ignore next */\n\n removedProps.forEach(prop => {\n if (this.$attrs.hasOwnProperty(prop)) removed(prop);\n });\n },\n\n mounted() {\n window.addEventListener('keydown', this.onKeyDown);\n window.addEventListener('keyup', this.onKeyUp);\n },\n\n beforeDestroy() {\n window.removeEventListener('keydown', this.onKeyDown);\n window.removeEventListener('keyup', this.onKeyUp);\n },\n\n methods: {\n onKeyDown(e) {\n if (e.keyCode !== keyCodes.shift) return;\n this.shiftKeyDown = true;\n },\n\n onKeyUp(e) {\n if (e.keyCode !== keyCodes.shift) return;\n this.shiftKeyDown = false;\n },\n\n toggleSelectAll(value) {\n const selection = Object.assign({}, this.selection);\n\n for (let i = 0; i < this.selectableItems.length; i++) {\n const item = this.selectableItems[i];\n if (!this.isSelectable(item)) continue;\n const key = getObjectValueByPath(item, this.itemKey);\n if (value) selection[key] = item;else delete selection[key];\n }\n\n this.selection = selection;\n this.$emit('toggle-select-all', {\n items: this.internalCurrentItems,\n value\n });\n },\n\n isSelectable(item) {\n return getObjectValueByPath(item, this.selectableKey) !== false;\n },\n\n isSelected(item) {\n return !!this.selection[getObjectValueByPath(item, this.itemKey)] || false;\n },\n\n select(item, value = true, emit = true) {\n if (!this.isSelectable(item)) return;\n const selection = this.singleSelect ? {} : Object.assign({}, this.selection);\n const key = getObjectValueByPath(item, this.itemKey);\n if (value) selection[key] = item;else delete selection[key];\n const index = this.selectableItems.findIndex(x => getObjectValueByPath(x, this.itemKey) === key);\n if (this.lastEntry === -1) this.lastEntry = index;else if (this.shiftKeyDown && !this.singleSelect && emit) {\n const lastEntryKey = getObjectValueByPath(this.selectableItems[this.lastEntry], this.itemKey);\n const lastEntryKeySelected = Object.keys(this.selection).includes(String(lastEntryKey));\n this.multipleSelect(lastEntryKeySelected, emit, selection, index);\n }\n this.lastEntry = index;\n\n if (this.singleSelect && emit) {\n const keys = Object.keys(this.selection);\n const old = keys.length && getObjectValueByPath(this.selection[keys[0]], this.itemKey);\n old && old !== key && this.$emit('item-selected', {\n item: this.selection[old],\n value: false\n });\n }\n\n this.selection = selection;\n emit && this.$emit('item-selected', {\n item,\n value\n });\n },\n\n multipleSelect(value = true, emit = true, selection, index) {\n const start = index < this.lastEntry ? index : this.lastEntry;\n const end = index < this.lastEntry ? this.lastEntry : index;\n\n for (let i = start; i <= end; i++) {\n const currentItem = this.selectableItems[i];\n const key = getObjectValueByPath(currentItem, this.itemKey);\n if (value) selection[key] = currentItem;else delete selection[key];\n emit && this.$emit('item-selected', {\n currentItem,\n value\n });\n }\n },\n\n isExpanded(item) {\n return this.expansion[getObjectValueByPath(item, this.itemKey)] || false;\n },\n\n expand(item, value = true) {\n const expansion = this.singleExpand ? {} : Object.assign({}, this.expansion);\n const key = getObjectValueByPath(item, this.itemKey);\n if (value) expansion[key] = true;else delete expansion[key];\n this.expansion = expansion;\n this.$emit('item-expanded', {\n item,\n value\n });\n },\n\n createItemProps(item, index) {\n return {\n item,\n index,\n select: v => this.select(item, v),\n isSelected: this.isSelected(item),\n expand: v => this.expand(item, v),\n isExpanded: this.isExpanded(item),\n isMobile: this.isMobile\n };\n },\n\n genEmptyWrapper(content) {\n return this.$createElement('div', content);\n },\n\n genEmpty(originalItemsLength, filteredItemsLength) {\n if (originalItemsLength === 0 && this.loading) {\n const loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText);\n return this.genEmptyWrapper(loading);\n } else if (originalItemsLength === 0) {\n const noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText);\n return this.genEmptyWrapper(noData);\n } else if (filteredItemsLength === 0) {\n const noResults = this.$slots['no-results'] || this.$vuetify.lang.t(this.noResultsText);\n return this.genEmptyWrapper(noResults);\n }\n\n return null;\n },\n\n genItems(props) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength);\n if (empty) return [empty];\n\n if (this.$scopedSlots.default) {\n return this.$scopedSlots.default({ ...props,\n isSelected: this.isSelected,\n select: this.select,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n expand: this.expand\n });\n }\n\n if (this.$scopedSlots.item) {\n return props.items.map((item, index) => this.$scopedSlots.item(this.createItemProps(item, index)));\n }\n\n return [];\n },\n\n genFooter(props) {\n if (this.hideDefaultFooter) return null;\n const data = {\n props: { ...this.sanitizedFooterProps,\n options: props.options,\n pagination: props.pagination\n },\n on: {\n 'update:options': value => props.updateOptions(value)\n }\n };\n const scopedSlots = getPrefixedScopedSlots('footer.', this.$scopedSlots);\n return this.$createElement(VDataFooter, {\n scopedSlots,\n ...data\n });\n },\n\n genDefaultScopedSlot(props) {\n const outerProps = { ...props,\n someItems: this.someItems,\n everyItem: this.everyItem,\n toggleSelectAll: this.toggleSelectAll\n };\n return this.$createElement('div', {\n staticClass: 'v-data-iterator'\n }, [getSlot(this, 'header', outerProps, true), this.genItems(props), this.genFooter(props), getSlot(this, 'footer', outerProps, true)]);\n }\n\n },\n\n render() {\n return this.$createElement(VData, {\n props: this.$props,\n on: {\n 'update:options': (v, old) => !deepEqual(v, old) && this.$emit('update:options', v),\n 'update:page': v => this.$emit('update:page', v),\n 'update:items-per-page': v => this.$emit('update:items-per-page', v),\n 'update:sort-by': v => this.$emit('update:sort-by', v),\n 'update:sort-desc': v => this.$emit('update:sort-desc', v),\n 'update:group-by': v => this.$emit('update:group-by', v),\n 'update:group-desc': v => this.$emit('update:group-desc', v),\n pagination: (v, old) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': v => {\n this.internalCurrentItems = v;\n this.$emit('current-items', v);\n },\n 'page-count': v => this.$emit('page-count', v)\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot\n }\n });\n }\n\n});\n//# sourceMappingURL=VDataIterator.js.map","import VIcon from '../../VIcon';\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox';\nimport ripple from '../../../directives/ripple';\nimport mixins from '../../../util/mixins';\nexport default mixins().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple\n },\n props: {\n headers: {\n type: Array,\n default: () => []\n },\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false\n })\n },\n checkboxColor: String,\n sortIcon: {\n type: String,\n default: '$sort'\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean\n },\n methods: {\n genSelectAll() {\n var _this$checkboxColor;\n\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n color: (_this$checkboxColor = this.checkboxColor) != null ? _this$checkboxColor : ''\n },\n on: {\n input: v => this.$emit('toggle-select-all', v)\n }\n };\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select'](data);\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data\n });\n },\n\n genSortIcon() {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18\n }\n }, [this.sortIcon]);\n }\n\n }\n});\n//# sourceMappingURL=header.js.map","import mixins from '../../util/mixins';\nimport VSelect from '../VSelect/VSelect';\nimport VChip from '../VChip';\nimport header from './mixins/header';\nimport { wrapInArray } from '../../util/helpers';\nexport default mixins(header).extend({\n name: 'v-data-table-header-mobile',\n props: {\n sortByText: {\n type: String,\n default: '$vuetify.dataTable.sortBy'\n }\n },\n methods: {\n genSortChip(props) {\n const children = [props.item.text];\n const sortIndex = this.options.sortBy.findIndex(k => k === props.item.value);\n const beingSorted = sortIndex >= 0;\n const isDesc = this.options.sortDesc[sortIndex];\n children.push(this.$createElement('div', {\n staticClass: 'v-chip__close',\n class: {\n sortable: true,\n active: beingSorted,\n asc: beingSorted && !isDesc,\n desc: beingSorted && isDesc\n }\n }, [this.genSortIcon()]));\n return this.$createElement(VChip, {\n staticClass: 'sortable',\n on: {\n click: e => {\n e.stopPropagation();\n this.$emit('sort', props.item.value);\n }\n }\n }, children);\n },\n\n genSortSelect(items) {\n return this.$createElement(VSelect, {\n props: {\n label: this.$vuetify.lang.t(this.sortByText),\n items,\n hideDetails: true,\n multiple: this.options.multiSort,\n value: this.options.multiSort ? this.options.sortBy : this.options.sortBy[0],\n menuProps: {\n closeOnContentClick: true\n }\n },\n on: {\n change: v => this.$emit('sort', v)\n },\n scopedSlots: {\n selection: props => this.genSortChip(props)\n }\n });\n }\n\n },\n\n render(h) {\n const children = [];\n const header = this.headers.find(h => h.value === 'data-table-select');\n\n if (header && !this.singleSelect) {\n children.push(this.$createElement('div', {\n class: ['v-data-table-header-mobile__select', ...wrapInArray(header.class)],\n attrs: {\n width: header.width\n }\n }, [this.genSelectAll()]));\n }\n\n const sortHeaders = this.headers.filter(h => h.sortable !== false && h.value !== 'data-table-select').map(h => ({\n text: h.text,\n value: h.value\n }));\n\n if (!this.disableSort && sortHeaders.length) {\n children.push(this.genSortSelect(sortHeaders));\n }\n\n const th = children.length ? h('th', [h('div', {\n staticClass: 'v-data-table-header-mobile__wrapper'\n }, children)]) : undefined;\n const tr = h('tr', [th]);\n return h('thead', {\n staticClass: 'v-data-table-header v-data-table-header-mobile'\n }, [tr]);\n }\n\n});\n//# sourceMappingURL=VDataTableHeaderMobile.js.map","import mixins from '../../util/mixins';\nimport header from './mixins/header';\nimport { wrapInArray, convertToUnit } from '../../util/helpers';\nexport default mixins(header).extend({\n name: 'v-data-table-header-desktop',\n methods: {\n genGroupByToggle(header) {\n return this.$createElement('span', {\n on: {\n click: e => {\n e.stopPropagation();\n this.$emit('group', header.value);\n }\n }\n }, ['group']);\n },\n\n getAria(beingSorted, isDesc) {\n const $t = key => this.$vuetify.lang.t(`$vuetify.dataTable.ariaLabel.${key}`);\n\n let ariaSort = 'none';\n let ariaLabel = [$t('sortNone'), $t('activateAscending')];\n\n if (!beingSorted) {\n return {\n ariaSort,\n ariaLabel: ariaLabel.join(' ')\n };\n }\n\n if (isDesc) {\n ariaSort = 'descending';\n ariaLabel = [$t('sortDescending'), $t(this.options.mustSort ? 'activateAscending' : 'activateNone')];\n } else {\n ariaSort = 'ascending';\n ariaLabel = [$t('sortAscending'), $t('activateDescending')];\n }\n\n return {\n ariaSort,\n ariaLabel: ariaLabel.join(' ')\n };\n },\n\n genHeader(header) {\n const data = {\n attrs: {\n role: 'columnheader',\n scope: 'col',\n 'aria-label': header.text || ''\n },\n style: {\n width: convertToUnit(header.width),\n minWidth: convertToUnit(header.width)\n },\n class: [`text-${header.align || 'start'}`, ...wrapInArray(header.class), header.divider && 'v-data-table__divider'],\n on: {}\n };\n const children = [];\n\n if (header.value === 'data-table-select' && !this.singleSelect) {\n return this.$createElement('th', data, [this.genSelectAll()]);\n }\n\n children.push(this.$scopedSlots.hasOwnProperty(header.value) ? this.$scopedSlots[header.value]({\n header\n }) : this.$createElement('span', [header.text]));\n\n if (!this.disableSort && (header.sortable || !header.hasOwnProperty('sortable'))) {\n data.on.click = () => this.$emit('sort', header.value);\n\n const sortIndex = this.options.sortBy.findIndex(k => k === header.value);\n const beingSorted = sortIndex >= 0;\n const isDesc = this.options.sortDesc[sortIndex];\n data.class.push('sortable');\n const {\n ariaLabel,\n ariaSort\n } = this.getAria(beingSorted, isDesc);\n data.attrs['aria-label'] += `${header.text ? ': ' : ''}${ariaLabel}`;\n data.attrs['aria-sort'] = ariaSort;\n\n if (beingSorted) {\n data.class.push('active');\n data.class.push(isDesc ? 'desc' : 'asc');\n }\n\n if (header.align === 'end') children.unshift(this.genSortIcon());else children.push(this.genSortIcon());\n\n if (this.options.multiSort && beingSorted) {\n children.push(this.$createElement('span', {\n class: 'v-data-table-header__sort-badge'\n }, [String(sortIndex + 1)]));\n }\n }\n\n if (this.showGroupBy && header.groupable !== false) children.push(this.genGroupByToggle(header));\n return this.$createElement('th', data, children);\n }\n\n },\n\n render() {\n return this.$createElement('thead', {\n staticClass: 'v-data-table-header'\n }, [this.$createElement('tr', this.headers.map(header => this.genHeader(header)))]);\n }\n\n});\n//# sourceMappingURL=VDataTableHeaderDesktop.js.map","/**\n * Removes duplicate `@input` listeners when\n * using v-model with functional components\n *\n * @see https://github.com/vuetifyjs/vuetify/issues/4460\n */\nexport default function dedupeModelListeners(data) {\n if (data.model && data.on && data.on.input) {\n if (Array.isArray(data.on.input)) {\n const i = data.on.input.indexOf(data.model.callback);\n if (i > -1) data.on.input.splice(i, 1);\n } else {\n delete data.on.input;\n }\n }\n}\n//# sourceMappingURL=dedupeModelListeners.js.map","export default function rebuildFunctionalSlots(slots, h) {\n const children = [];\n\n for (const slot in slots) {\n if (slots.hasOwnProperty(slot)) {\n children.push(h('template', {\n slot\n }, slots[slot]));\n }\n }\n\n return children;\n}\n//# sourceMappingURL=rebuildFunctionalSlots.js.map","// Styles\nimport \"../../../src/components/VDataTable/VDataTableHeader.sass\"; // Components\n\nimport VDataTableHeaderMobile from './VDataTableHeaderMobile';\nimport VDataTableHeaderDesktop from './VDataTableHeaderDesktop'; // Mixins\n\nimport header from './mixins/header'; // Utilities\n\nimport dedupeModelListeners from '../../util/dedupeModelListeners';\nimport mergeData from '../../util/mergeData';\nimport rebuildSlots from '../../util/rebuildFunctionalSlots'; // Types\n\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'v-data-table-header',\n functional: true,\n props: { ...header.options.props,\n mobile: Boolean\n },\n\n render(h, {\n props,\n data,\n slots\n }) {\n dedupeModelListeners(data);\n const children = rebuildSlots(slots(), h);\n data = mergeData(data, {\n props\n });\n\n if (props.mobile) {\n return h(VDataTableHeaderMobile, data, children);\n } else {\n return h(VDataTableHeaderDesktop, data, children);\n }\n }\n\n});\n//# sourceMappingURL=VDataTableHeader.js.map","// Types\nimport Vue from 'vue'; // Utils\n\nimport { getObjectValueByPath, wrapInArray } from '../../util/helpers';\n\nfunction needsTd(slot) {\n var _slot$;\n\n return slot.length !== 1 || !['td', 'th'].includes((_slot$ = slot[0]) == null ? void 0 : _slot$.tag);\n}\n\nexport default Vue.extend({\n name: 'row',\n functional: true,\n props: {\n headers: Array,\n index: Number,\n item: Object,\n rtl: Boolean\n },\n\n render(h, {\n props,\n slots,\n data\n }) {\n const computedSlots = slots();\n const columns = props.headers.map(header => {\n const children = [];\n const value = getObjectValueByPath(props.item, header.value);\n const slotName = header.value;\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];\n\n if (scopedSlot) {\n children.push(...wrapInArray(scopedSlot({\n item: props.item,\n isMobile: false,\n header,\n index: props.index,\n value\n })));\n } else if (regularSlot) {\n children.push(...wrapInArray(regularSlot));\n } else {\n children.push(value == null ? value : String(value));\n }\n\n const textAlign = `text-${header.align || 'start'}`;\n return needsTd(children) ? h('td', {\n class: [textAlign, header.cellClass, {\n 'v-data-table__divider': header.divider\n }]\n }, children) : children;\n });\n return h('tr', data, columns);\n }\n\n});\n//# sourceMappingURL=Row.js.map","import Vue from 'vue';\nexport default Vue.extend({\n name: 'row-group',\n functional: true,\n props: {\n value: {\n type: Boolean,\n default: true\n },\n headerClass: {\n type: String,\n default: 'v-row-group__header'\n },\n contentClass: String,\n summaryClass: {\n type: String,\n default: 'v-row-group__summary'\n }\n },\n\n render(h, {\n slots,\n props\n }) {\n const computedSlots = slots();\n const children = [];\n\n if (computedSlots['column.header']) {\n children.push(h('tr', {\n staticClass: props.headerClass\n }, computedSlots['column.header']));\n } else if (computedSlots['row.header']) {\n children.push(...computedSlots['row.header']);\n }\n\n if (computedSlots['row.content'] && props.value) children.push(...computedSlots['row.content']);\n\n if (computedSlots['column.summary']) {\n children.push(h('tr', {\n staticClass: props.summaryClass\n }, computedSlots['column.summary']));\n } else if (computedSlots['row.summary']) {\n children.push(...computedSlots['row.summary']);\n }\n\n return children;\n }\n\n});\n//# sourceMappingURL=RowGroup.js.map","import \"../../../src/components/VDataTable/VSimpleTable.sass\";\nimport { convertToUnit } from '../../util/helpers';\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable).extend({\n name: 'v-simple-table',\n props: {\n dense: Boolean,\n fixedHeader: Boolean,\n height: [Number, String]\n },\n computed: {\n classes() {\n return {\n 'v-data-table--dense': this.dense,\n 'v-data-table--fixed-height': !!this.height && !this.fixedHeader,\n 'v-data-table--fixed-header': this.fixedHeader,\n 'v-data-table--has-top': !!this.$slots.top,\n 'v-data-table--has-bottom': !!this.$slots.bottom,\n ...this.themeClasses\n };\n }\n\n },\n methods: {\n genWrapper() {\n return this.$slots.wrapper || this.$createElement('div', {\n staticClass: 'v-data-table__wrapper',\n style: {\n height: convertToUnit(this.height)\n }\n }, [this.$createElement('table', this.$slots.default)]);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-data-table',\n class: this.classes\n }, [this.$slots.top, this.genWrapper(), this.$slots.bottom]);\n }\n\n});\n//# sourceMappingURL=VSimpleTable.js.map","import Vue from 'vue';\nimport { getObjectValueByPath } from '../../util/helpers';\nexport default Vue.extend({\n name: 'row',\n functional: true,\n props: {\n headers: Array,\n hideDefaultHeader: Boolean,\n index: Number,\n item: Object,\n rtl: Boolean\n },\n\n render(h, {\n props,\n slots,\n data\n }) {\n const computedSlots = slots();\n const columns = props.headers.map(header => {\n const classes = {\n 'v-data-table__mobile-row': true\n };\n const children = [];\n const value = getObjectValueByPath(props.item, header.value);\n const slotName = header.value;\n const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];\n const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];\n\n if (scopedSlot) {\n children.push(scopedSlot({\n item: props.item,\n isMobile: true,\n header,\n index: props.index,\n value\n }));\n } else if (regularSlot) {\n children.push(regularSlot);\n } else {\n children.push(value == null ? value : String(value));\n }\n\n const mobileRowChildren = [h('div', {\n staticClass: 'v-data-table__mobile-row__cell'\n }, children)];\n\n if (header.value !== 'dataTableSelect' && !props.hideDefaultHeader) {\n mobileRowChildren.unshift(h('div', {\n staticClass: 'v-data-table__mobile-row__header'\n }, [header.text]));\n }\n\n return h('td', {\n class: classes\n }, mobileRowChildren);\n });\n return h('tr', { ...data,\n staticClass: 'v-data-table__mobile-table-row'\n }, columns);\n }\n\n});\n//# sourceMappingURL=MobileRow.js.map","import \"../../../src/components/VDataTable/VDataTable.sass\"; // Components\n\nimport { VData } from '../VData';\nimport { VDataFooter, VDataIterator } from '../VDataIterator';\nimport VBtn from '../VBtn';\nimport VDataTableHeader from './VDataTableHeader'; // import VVirtualTable from './VVirtualTable'\n\nimport VIcon from '../VIcon';\nimport Row from './Row';\nimport RowGroup from './RowGroup';\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox';\nimport VSimpleTable from './VSimpleTable';\nimport MobileRow from './MobileRow'; // Mixins\n\nimport Loadable from '../../mixins/loadable'; // Directives\n\nimport ripple from '../../directives/ripple'; // Helpers\n\nimport mixins from '../../util/mixins';\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers';\nimport { breaking } from '../../util/console';\nimport { mergeClasses } from '../../util/mergeData';\n\nfunction filterFn(item, search, filter) {\n return header => {\n const value = getObjectValueByPath(item, header.value);\n return header.filter ? header.filter(value, search, item) : filter(value, search, item);\n };\n}\n\nfunction searchTableItems(items, search, headersWithCustomFilters, headersWithoutCustomFilters, customFilter) {\n search = typeof search === 'string' ? search.trim() : null;\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter)); // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter));\n return matchesColumnFilters && matchesSearchTerm;\n });\n}\n/* @vue/component */\n\n\nexport default mixins(VDataIterator, Loadable).extend({\n name: 'v-data-table',\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple\n },\n props: {\n headers: {\n type: Array,\n default: () => []\n },\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand'\n },\n customFilter: {\n type: Function,\n default: defaultFilter\n },\n itemClass: {\n type: [String, Function],\n default: () => ''\n },\n loaderHeight: {\n type: [Number, String],\n default: 4\n }\n },\n\n data() {\n return {\n internalGroupBy: [],\n openCache: {},\n widths: []\n };\n },\n\n computed: {\n computedHeaders() {\n if (!this.headers) return [];\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value));\n const defaultHeader = {\n text: '',\n sortable: false,\n width: '1px'\n };\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select');\n if (index < 0) headers.unshift({ ...defaultHeader,\n value: 'data-table-select'\n });else headers.splice(index, 1, { ...defaultHeader,\n ...headers[index]\n });\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand');\n if (index < 0) headers.unshift({ ...defaultHeader,\n value: 'data-table-expand'\n });else headers.splice(index, 1, { ...defaultHeader,\n ...headers[index]\n });\n }\n\n return headers;\n },\n\n colspanAttrs() {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length\n };\n },\n\n columnSorters() {\n return this.computedHeaders.reduce((acc, header) => {\n if (header.sort) acc[header.value] = header.sort;\n return acc;\n }, {});\n },\n\n headersWithCustomFilters() {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true));\n },\n\n headersWithoutCustomFilters() {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true));\n },\n\n sanitizedHeaderProps() {\n return camelizeObjectKeys(this.headerProps);\n },\n\n computedItemsPerPage() {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage;\n const itemsPerPageOptions = this.sanitizedFooterProps.itemsPerPageOptions;\n\n if (itemsPerPageOptions && !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)) {\n const firstOption = itemsPerPageOptions[0];\n return typeof firstOption === 'object' ? firstOption.value : firstOption;\n }\n\n return itemsPerPage;\n }\n\n },\n\n created() {\n const breakingProps = [['sort-icon', 'header-props.sort-icon'], ['hide-headers', 'hide-default-header'], ['select-all', 'show-select']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n },\n\n mounted() {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths);\n this.calcWidths();\n }\n },\n\n beforeDestroy() {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths);\n }\n },\n\n methods: {\n calcWidths() {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth);\n },\n\n customFilterWithColumns(items, search) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter);\n },\n\n customSortWithHeaders(items, sortBy, sortDesc, locale) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters);\n },\n\n createItemProps(item, index) {\n const props = VDataIterator.options.methods.createItemProps.call(this, item, index);\n return Object.assign(props, {\n headers: this.computedHeaders\n });\n },\n\n genCaption(props) {\n if (this.caption) return [this.$createElement('caption', [this.caption])];\n return getSlot(this, 'caption', props, true);\n },\n\n genColgroup(props) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider\n }\n });\n }));\n },\n\n genLoading() {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs\n }, [this.genProgress()]);\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress'\n }, [th]);\n return this.$createElement('thead', [tr]);\n },\n\n genHeaders(props) {\n const data = {\n props: { ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll\n }\n }; // TODO: rename to 'head'? (thead, tbody, tfoot)\n\n const children = [getSlot(this, 'header', { ...data,\n isMobile: this.isMobile\n })];\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots);\n children.push(this.$createElement(VDataTableHeader, { ...data,\n scopedSlots\n }));\n }\n\n if (this.loading) children.push(this.genLoading());\n return children;\n },\n\n genEmptyWrapper(content) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper'\n }, [this.$createElement('td', {\n attrs: this.colspanAttrs\n }, content)]);\n },\n\n genItems(items, props) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength);\n if (empty) return [empty];\n return props.groupedItems ? this.genGroupedRows(props.groupedItems, props) : this.genRows(items, props);\n },\n\n genGroupedRows(groupedItems, props) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true);\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders\n });\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props);\n }\n });\n },\n\n genDefaultGroupedRow(group, items, props) {\n const isOpen = !!this.openCache[group];\n const children = [this.$createElement('template', {\n slot: 'row.content'\n }, this.genRows(items, props))];\n\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group]);\n\n const removeFn = () => props.updateOptions({\n groupBy: [],\n groupDesc: []\n });\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', {\n slot: 'column.header'\n }, [this.$scopedSlots['group.header']({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn\n })]));\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true\n },\n on: {\n click: toggleFn\n }\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])]);\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true\n },\n on: {\n click: removeFn\n }\n }, [this.$createElement(VIcon, ['$close'])]);\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove]);\n children.unshift(this.$createElement('template', {\n slot: 'column.header'\n }, [column]));\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', {\n slot: 'column.summary'\n }, [this.$scopedSlots['group.summary']({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn\n })]));\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen\n }\n }, children);\n },\n\n genRows(items, props) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props);\n },\n\n genScopedRows(items, props) {\n const rows = [];\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n rows.push(this.$scopedSlots.item({ ...this.createItemProps(item, i),\n isMobile: this.isMobile\n }));\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item\n }));\n }\n }\n\n return rows;\n },\n\n genDefaultRows(items, props) {\n return this.$scopedSlots['expanded-item'] ? items.map((item, index) => this.genDefaultExpandedRow(item, index)) : items.map((item, index) => this.genDefaultSimpleRow(item, index));\n },\n\n genDefaultExpandedRow(item, index) {\n const isExpanded = this.isExpanded(item);\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded\n };\n const headerRow = this.genDefaultSimpleRow(item, index, classes);\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content'\n }, [this.$scopedSlots['expanded-item']({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item\n })]);\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded\n }\n }, [this.$createElement('template', {\n slot: 'row.header'\n }, [headerRow]), this.$createElement('template', {\n slot: 'row.content'\n }, [expandedRow])]);\n },\n\n genDefaultSimpleRow(item, index, classes = {}) {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots);\n const data = this.createItemProps(item, index);\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select'];\n scopedSlots['data-table-select'] = slot ? () => slot({ ...data,\n isMobile: this.isMobile\n }) : () => {\n var _this$checkboxColor;\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: (_this$checkboxColor = this.checkboxColor) != null ? _this$checkboxColor : ''\n },\n on: {\n input: val => data.select(val)\n }\n });\n };\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand'];\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded\n },\n on: {\n click: e => {\n e.stopPropagation();\n data.expand(!data.isExpanded);\n }\n }\n }, [this.expandIcon]);\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses({ ...classes,\n 'v-data-table__selected': data.isSelected\n }, getPropertyFromItem(item, this.itemClass)),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl\n },\n scopedSlots,\n on: {\n // TODO: for click, the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, data),\n contextmenu: event => this.$emit('contextmenu:row', event, data),\n dblclick: event => this.$emit('dblclick:row', event, data)\n }\n });\n },\n\n genBody(props) {\n const data = { ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select\n };\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body(data);\n }\n\n return this.$createElement('tbody', [getSlot(this, 'body.prepend', data, true), this.genItems(props.items, props), getSlot(this, 'body.append', data, true)]);\n },\n\n genFoot(props) {\n var _this$$scopedSlots$fo, _this$$scopedSlots;\n\n return (_this$$scopedSlots$fo = (_this$$scopedSlots = this.$scopedSlots).foot) == null ? void 0 : _this$$scopedSlots$fo.call(_this$$scopedSlots, props);\n },\n\n genFooters(props) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps\n },\n on: {\n 'update:options': value => props.updateOptions(value)\n },\n widths: this.widths,\n headers: this.computedHeaders\n };\n const children = [getSlot(this, 'footer', data, true)];\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, { ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots)\n }));\n }\n\n return children;\n },\n\n genDefaultScopedSlot(props) {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense\n }; // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile\n }\n }, [this.proxySlot('top', getSlot(this, 'top', { ...props,\n isMobile: this.isMobile\n }, true)), this.genCaption(props), this.genColgroup(props), this.genHeaders(props), this.genBody(props), this.genFoot(props), this.proxySlot('bottom', this.genFooters(props))]);\n },\n\n proxySlot(slot, content) {\n return this.$createElement('template', {\n slot\n }, content);\n }\n\n },\n\n render() {\n return this.$createElement(VData, {\n props: { ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage\n },\n on: {\n 'update:options': (v, old) => {\n this.internalGroupBy = v.groupBy || [];\n !deepEqual(v, old) && this.$emit('update:options', v);\n },\n 'update:page': v => this.$emit('update:page', v),\n 'update:items-per-page': v => this.$emit('update:items-per-page', v),\n 'update:sort-by': v => this.$emit('update:sort-by', v),\n 'update:sort-desc': v => this.$emit('update:sort-desc', v),\n 'update:group-by': v => this.$emit('update:group-by', v),\n 'update:group-desc': v => this.$emit('update:group-desc', v),\n pagination: (v, old) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': v => {\n this.internalCurrentItems = v;\n this.$emit('current-items', v);\n },\n 'page-count': v => this.$emit('page-count', v)\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot\n }\n });\n }\n\n});\n//# sourceMappingURL=VDataTable.js.map","import VCard from './VCard';\nimport { createSimpleFunctional } from '../../util/helpers';\nconst VCardActions = createSimpleFunctional('v-card__actions');\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle');\nconst VCardText = createSimpleFunctional('v-card__text');\nconst VCardTitle = createSimpleFunctional('v-card__title');\nexport { VCard, VCardActions, VCardSubtitle, VCardText, VCardTitle };\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle\n }\n};\n//# sourceMappingURL=index.js.map","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","import \"../../../src/components/VCheckbox/VSimpleCheckbox.sass\";\nimport ripple from '../../directives/ripple';\nimport Vue from 'vue';\nimport { VIcon } from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { wrapInArray } from '../../util/helpers';\nexport default Vue.extend({\n name: 'v-simple-checkbox',\n functional: true,\n directives: {\n ripple\n },\n props: { ...Colorable.options.props,\n ...Themeable.options.props,\n disabled: Boolean,\n ripple: {\n type: Boolean,\n default: true\n },\n value: Boolean,\n indeterminate: Boolean,\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate'\n },\n onIcon: {\n type: String,\n default: '$checkboxOn'\n },\n offIcon: {\n type: String,\n default: '$checkboxOff'\n }\n },\n\n render(h, {\n props,\n data,\n listeners\n }) {\n const children = [];\n let icon = props.offIcon;\n if (props.indeterminate) icon = props.indeterminateIcon;else if (props.value) icon = props.onIcon;\n children.push(h(VIcon, Colorable.options.methods.setTextColor(props.value && props.color, {\n props: {\n disabled: props.disabled,\n dark: props.dark,\n light: props.light\n }\n }), icon));\n\n if (props.ripple && !props.disabled) {\n const ripple = h('div', Colorable.options.methods.setTextColor(props.color, {\n staticClass: 'v-input--selection-controls__ripple',\n directives: [{\n name: 'ripple',\n value: {\n center: true\n }\n }]\n }));\n children.push(ripple);\n }\n\n return h('div', mergeData(data, {\n class: {\n 'v-simple-checkbox': true,\n 'v-simple-checkbox--disabled': props.disabled\n },\n on: {\n click: e => {\n e.stopPropagation();\n\n if (data.on && data.on.input && !props.disabled) {\n wrapInArray(data.on.input).forEach(f => f(!props.value));\n }\n }\n }\n }), [h('div', {\n staticClass: 'v-input--selection-controls__input'\n }, children)]);\n }\n\n});\n//# sourceMappingURL=VSimpleCheckbox.js.map","// Styles\nimport \"../../../src/components/VOverlay/VOverlay.sass\"; // Mixins\n\nimport Colorable from './../../mixins/colorable';\nimport Themeable from '../../mixins/themeable';\nimport Toggleable from './../../mixins/toggleable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable, Toggleable).extend({\n name: 'v-overlay',\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121'\n },\n dark: {\n type: Boolean,\n default: true\n },\n opacity: {\n type: [Number, String],\n default: 0.46\n },\n value: {\n default: true\n },\n zIndex: {\n type: [Number, String],\n default: 5\n }\n },\n computed: {\n __scrim() {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity\n }\n });\n return this.$createElement('div', data);\n },\n\n classes() {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses\n };\n },\n\n computedOpacity() {\n return Number(this.isActive ? this.opacity : 0);\n },\n\n styles() {\n return {\n zIndex: this.zIndex\n };\n }\n\n },\n methods: {\n genContent() {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content'\n }, this.$slots.default);\n }\n\n },\n\n render(h) {\n const children = [this.__scrim];\n if (this.isActive) children.push(this.genContent());\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles\n }, children);\n }\n\n});\n//# sourceMappingURL=VOverlay.js.map","import \"../../../src/components/VResponsive/VResponsive.sass\"; // Mixins\n\nimport Measurable from '../../mixins/measurable'; // Utils\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n props: {\n aspectRatio: [String, Number],\n contentClass: String\n },\n computed: {\n computedAspectRatio() {\n return Number(this.aspectRatio);\n },\n\n aspectStyle() {\n return this.computedAspectRatio ? {\n paddingBottom: 1 / this.computedAspectRatio * 100 + '%'\n } : undefined;\n },\n\n __cachedSizer() {\n if (!this.aspectStyle) return [];\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer'\n });\n }\n\n },\n methods: {\n genContent() {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass\n }, this.$slots.default);\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners\n }, [this.__cachedSizer, this.genContent()]);\n }\n\n});\n//# sourceMappingURL=VResponsive.js.map","import VResponsive from './VResponsive';\nexport { VResponsive };\nexport default VResponsive;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VImg/VImg.sass\"; // Directives\n\nimport intersect from '../../directives/intersect'; // Components\n\nimport VResponsive from '../VResponsive'; // Mixins\n\nimport Themeable from '../../mixins/themeable'; // Utils\n\nimport mixins from '../../util/mixins';\nimport mergeData from '../../util/mergeData';\nimport { consoleWarn } from '../../util/console';\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window;\n/* @vue/component */\n\nexport default mixins(VResponsive, Themeable).extend({\n name: 'v-img',\n directives: {\n intersect\n },\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined\n })\n },\n position: {\n type: String,\n default: 'center center'\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: ''\n },\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition'\n }\n },\n\n data() {\n return {\n currentSrc: '',\n image: null,\n isLoading: true,\n calculatedAspectRatio: undefined,\n naturalWidth: undefined,\n hasError: false\n };\n },\n\n computed: {\n computedAspectRatio() {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio);\n },\n\n normalisedSrc() {\n return this.src && typeof this.src === 'object' ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect)\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0)\n };\n },\n\n __cachedImage() {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return [];\n const backgroundImage = [];\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc;\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`);\n if (src) backgroundImage.push(`url(\"${src}\")`);\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position\n },\n key: +this.isLoading\n });\n /* istanbul ignore if */\n\n if (!this.transition) return image;\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out'\n }\n }, [image]);\n }\n\n },\n watch: {\n src() {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true);else this.loadImage();\n },\n\n '$vuetify.breakpoint.width': 'getSrc'\n },\n\n mounted() {\n this.init();\n },\n\n methods: {\n init(entries, observer, isIntersecting) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (hasIntersect && !isIntersecting && !this.eager) return;\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image();\n lazyImg.src = this.normalisedSrc.lazySrc;\n this.pollForSize(lazyImg, null);\n }\n /* istanbul ignore else */\n\n\n if (this.normalisedSrc.src) this.loadImage();\n },\n\n onLoad() {\n this.getSrc();\n this.isLoading = false;\n this.$emit('load', this.src);\n\n if (this.image && (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth;\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight;\n } else {\n this.calculatedAspectRatio = 1;\n }\n }\n },\n\n onError() {\n this.hasError = true;\n this.$emit('error', this.src);\n },\n\n getSrc() {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src;\n },\n\n loadImage() {\n const image = new Image();\n this.image = image;\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch(err => {\n consoleWarn(`Failed to decode image, trying to render anyway\\n\\n` + `src: ${this.normalisedSrc.src}` + (err.message ? `\\nOriginal error: ${err.message}` : ''), this);\n }).then(this.onLoad);\n } else {\n this.onLoad();\n }\n };\n\n image.onerror = this.onError;\n this.hasError = false;\n this.sizes && (image.sizes = this.sizes);\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset);\n image.src = this.normalisedSrc.src;\n this.$emit('loadstart', this.normalisedSrc.src);\n this.aspectRatio || this.pollForSize(image);\n this.getSrc();\n },\n\n pollForSize(img, timeout = 100) {\n const poll = () => {\n const {\n naturalHeight,\n naturalWidth\n } = img;\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth;\n this.calculatedAspectRatio = naturalWidth / naturalHeight;\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout);\n }\n };\n\n poll();\n },\n\n genContent() {\n const content = VResponsive.options.methods.genContent.call(this);\n\n if (this.naturalWidth) {\n this._b(content.data, 'div', {\n style: {\n width: `${this.naturalWidth}px`\n }\n });\n }\n\n return content;\n },\n\n __genPlaceholder() {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder'\n }, this.$slots.placeholder)] : [];\n if (!this.transition) return placeholder[0];\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition\n }\n }, placeholder);\n }\n }\n\n },\n\n render(h) {\n const node = VResponsive.options.render.call(this, h);\n const data = mergeData(node.data, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect ? [{\n name: 'intersect',\n modifiers: {\n once: true\n },\n value: {\n handler: this.init,\n options: this.options\n }\n }] : undefined\n });\n node.children = [this.__cachedSizer, this.__cachedImage, this.__genPlaceholder(), this.genContent()];\n return h(node.tag, data, node.children);\n }\n\n});\n//# sourceMappingURL=VImg.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"_main_content\"},[_c('div',{staticClass:\"_main_title\"},[_vm._v(\"Reportes\")]),_c('div',{style:({'margin-left':'50px','margin-top':'20px'})},[_c('v-row',[_c('v-col',{attrs:{\"cols\":12}},[_c('div',{style:({'width':'130px','display':'inline-block'})},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"220px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({style:({'margin-top': '0px','margin-bottom': '0px',\n 'margin-left': '0px','margin-right': '0px'}),attrs:{\"label\":\"Inicio\",\"prepend-icon\":\"mdi-calendar\",\"readonly\":\"\"},model:{value:(_vm.filter.date_picker_ini),callback:function ($$v) {_vm.$set(_vm.filter, \"date_picker_ini\", $$v)},expression:\"filter.date_picker_ini\"}},on))]}}],null,false,2656000044),model:{value:(_vm.menu_picker_ini),callback:function ($$v) {_vm.menu_picker_ini=$$v},expression:\"menu_picker_ini\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\"},model:{value:(_vm.filter.date_picker_ini),callback:function ($$v) {_vm.$set(_vm.filter, \"date_picker_ini\", $$v)},expression:\"filter.date_picker_ini\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.menu_picker_ini = false}}},[_vm._v(\"OK\")])],1)],1)],1),_c('div',{style:({'width':'130px','display':'inline-block'})},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"220px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-text-field',_vm._g({style:({'margin-top': '0px','margin-bottom': '0px',\n 'margin-left': '0px','margin-right': '0px'}),attrs:{\"label\":\"Termino\",\"prepend-icon\":\"mdi-calendar\",\"readonly\":\"\"},model:{value:(_vm.filter.date_picker_end),callback:function ($$v) {_vm.$set(_vm.filter, \"date_picker_end\", $$v)},expression:\"filter.date_picker_end\"}},on))]}}],null,false,3201821632),model:{value:(_vm.menu_picker_end),callback:function ($$v) {_vm.menu_picker_end=$$v},expression:\"menu_picker_end\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\"},model:{value:(_vm.filter.date_picker_end),callback:function ($$v) {_vm.$set(_vm.filter, \"date_picker_end\", $$v)},expression:\"filter.date_picker_end\"}},[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.menu_picker_end = false}}},[_vm._v(\"OK\")])],1)],1)],1),_c('div',{style:({'width':'150px','display':'inline-block','margin-left':'20px'})},[_c('v-select',{attrs:{\"items\":_vm.type_of_reports,\"item-text\":\"name\",\"item-value\":\"value\",\"label\":\"Tipo reporte\",\"solo\":\"\",\"dense\":\"\"},model:{value:(_vm.filter.report_type),callback:function ($$v) {_vm.$set(_vm.filter, \"report_type\", $$v)},expression:\"filter.report_type\"}})],1),_c('div',{style:({'width':'180px','display':'inline-block','margin-left':'20px'})},[_c('v-autocomplete',{attrs:{\"dense\":\"\",\"items\":_vm.trucks,\"item-text\":\"name\",\"item-value\":\"truckid\",\"label\":\"Camión\",\"solo\":\"\"},model:{value:(_vm.filter.truckid),callback:function ($$v) {_vm.$set(_vm.filter, \"truckid\", $$v)},expression:\"filter.truckid\"}})],1),_c('div',{style:({'width':'80px','display':'inline-block','margin-left':'30px'})},[_c('v-btn',{staticClass:\"mb-2 css_btn_main\",style:({'width':'80px'}),on:{\"click\":function($event){return _vm.getReport('')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-reload\")])],1)],1),_c('div',{style:({'width':'80px','display':'inline-block','margin-left':'10px'})},[_c('v-btn',{staticClass:\"mb-2 css_btn_main\",style:({'width':'80px'}),on:{\"click\":function($event){_vm.show_help=true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-help\")])],1)],1)])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":2}}),_c('v-col',{attrs:{\"cols\":8}},[_c('v-alert',{staticClass:\"text-center\",style:({'margin-left':'-20px',\n 'padding':'50px'}),attrs:{\"color\":\"yellow\"},model:{value:(_vm.show_wait_download),callback:function ($$v) {_vm.show_wait_download=$$v},expression:\"show_wait_download\"}},[_c('div',[_vm._v(\"El reporte se está generando. Espere un momento.\")]),_c('v-progress-circular',{style:({'margin-top':'25px'}),attrs:{\"size\":80,\"width\":25,\"color\":\"amber\",\"indeterminate\":\"\"}})],1)],1),_c('v-col',{attrs:{\"cols\":2}})],1)],1),_c('EventsTable',{attrs:{\"show\":_vm.show_events,\"data\":_vm.report_data,\"serverItemsLength\":_vm.serverItemsLength,\"totalRecords\":_vm.total_records}}),_c('SamplesTable',{attrs:{\"show\":_vm.show_samples,\"data\":_vm.report_data,\"serverItemsLength\":_vm.serverItemsLength,\"totalRecords\":_vm.total_records}}),_c('br'),_c('br'),_c('br'),_c('v-dialog',{attrs:{\"width\":\"750\",\"height\":\"600\",\"persistent\":true},model:{value:(_vm.show_help),callback:function ($$v) {_vm.show_help=$$v},expression:\"show_help\"}},[(_vm.show_help)?_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 grey lighten-2\"},[_c('span',{staticClass:\"headline\"},[_vm._v(\" Rango de las recetas \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.show_help=false}}},[_vm._v(\"Cerrar\")])],1),_c('v-card-text',[_c('br'),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_c('b',[_vm._v(\"%Petroleo\")]),_vm._v(\" < 5 \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" Bajo \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" 6.99 < \"),_c('b',[_vm._v(\"%Petroleo\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" Alto \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" 8 <= \"),_c('b',[_vm._v(\"Trancamiento\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" Alto \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" 6.99 < \"),_c('b',[_vm._v(\"Trancamiento\")]),_vm._v(\" < 8 \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" Medio \")]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" 1500 <= \"),_c('b',[_vm._v(\"Kg_Cargados\")])]),_c('v-col',{attrs:{\"xs\":\"6\",\"sm\":\"6\",\"md\":\"6\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._v(\" Alto \")])],1)],1)],1):_vm._e()],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',[_c('v-data-table',{key:_vm.componentKey,staticClass:\"elevation-1 css_config_table\",style:({width:'100%'}),attrs:{\"dense\":\"\",\"must-sort\":\"\",\"sort-by\":\"stamp\",\"footer-props\":{\n itemsPerPageOptions: [25,50,75,100],\n showFirstLastPage: true,\n firstIcon: 'mdi-arrow-collapse-left',\n lastIcon: 'mdi-arrow-collapse-right',\n prevIcon: 'mdi-minus',\n nextIcon: 'mdi-plus'\n },\"hide-default-footer\":true,\"items-per-page\":20000000,\"options\":_vm.pagination_options,\"server-items-length\":_vm.serverItemsLength,\"headers\":_vm.headers,\"items\":_vm.data},on:{\"update:options\":function($event){_vm.pagination_options=$event}},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"white\"}},[_c('v-toolbar-title',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.data.length)+\" registros de un total de \"+_vm._s(_vm.totalRecords)+\" \")]),_c('v-divider',{staticClass:\"mx-4\",attrs:{\"inset\":\"\",\"vertical\":\"\"}}),_c('v-spacer'),_c('v-spacer')],1)]},proxy:true},{key:\"item.level\",fn:function(ref){\n var item = ref.item;\nreturn [(item.level=='h')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"color\":\"red\",\"text-color\":\"white\",\"min-width\":\"200\"}},[_vm._v(\"Alto\")]):_vm._e(),(item.level=='m')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"min-width\":\"200\",\"color\":\"#0000ff\",\"text-color\":\"black\"}},[_vm._v(\"Medio\")]):_vm._e(),(item.level=='n')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"min-width\":\"200\",\"color\":\"green\",\"text-color\":\"white\"}},[_vm._v(\"Normal\")]):_vm._e(),(item.level=='l')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"min-width\":\"200\",\"color\":\"yellow\",\"text-color\":\"black\"}},[_vm._v(\"Bajo\")]):_vm._e()]}}],null,false,3248052727)})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n \n name:\"EventsTable\",\n props: ['show','data','serverItemsLength','totalRecords'],\n data: function () {\n return {\n componentKey:0,\n pagination_options: {},\n headers: [\n {\n text: 'STAMP',\n align: 'center',\n sortable: true,\n value: 'stamp',\n width:'20%',\n },\n { text: 'Camion', value: 'truck.name', width:'15%',sortable: true },\n { text: 'Evento', value: 'recipe.name',width:'15%',sortable: true },\n { text: 'Desviación', value: 'level',width:'10%',sortable: true },\n { text: 'Descripción', value: 'description',width:'40%', },\n //{ text: 'Valor', value: 'deviation_value', width:'10%' },\n ],\n }\n },\n created() {\n console.log('create -> [Reportes Events]');\n console.log(this.data);\n },\n computed: {\n\n },\n methods: {\n\n },\n watch: {\n\n pagination_options: {\n handler (e) {\n console.log(e.sortBy[0]);\n console.log(e.sortDesc[0]);\n this.$bus.$emit('reportes',{ report:'event',sortBy:e.sortBy[0], sortDesc:e.sortDesc[0] });\n },\n deep: true,\n },\n\n }\n \n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes_eventos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes_eventos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./reportes_eventos.vue?vue&type=template&id=3afa2823&\"\nimport script from \"./reportes_eventos.vue?vue&type=script&lang=js&\"\nexport * from \"./reportes_eventos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VChip,VDataTable,VDivider,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',[_c('v-data-table',{key:_vm.componentKey,staticClass:\"elevation-1 css_config_table\",style:({width:'100%'}),attrs:{\"dense\":\"\",\"must-sort\":\"\",\"sort-by\":\"stamp\",\"footer-props\":{\n itemsPerPageOptions: [],\n showFirstLastPage: true,\n firstIcon: 'mdi-arrow-collapse-left',\n lastIcon: 'mdi-arrow-collapse-right',\n prevIcon: 'mdi-minus',\n nextIcon: 'mdi-plus'\n },\"hide-default-footer\":true,\"items-per-page\":20000000,\"options\":_vm.pagination_options,\"server-items-length\":_vm.serverItemsLength,\"headers\":_vm.headers,\"items\":_vm.data},on:{\"update:options\":function($event){_vm.pagination_options=$event}},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('v-toolbar',{attrs:{\"flat\":\"\",\"color\":\"white\"}},[_c('v-toolbar-title',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.data.length)+\" registros de un total de \"+_vm._s(_vm.totalRecords)+\" \")]),_c('v-divider',{staticClass:\"mx-4\",attrs:{\"inset\":\"\",\"vertical\":\"\"}}),_c('v-spacer'),_c('v-spacer')],1)]},proxy:true},{key:\"item.deviation_level\",fn:function(ref){\n var item = ref.item;\nreturn [(item.deviation_level=='h')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"color\":\"red\",\"text-color\":\"white\",\"min-width\":\"200\"}},[_vm._v(\"Alto\")]):_vm._e(),(item.deviation_level=='m')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"min-width\":\"200\",\"color\":\"yellow\",\"text-color\":\"white\"}},[_vm._v(\"Medio\")]):_vm._e(),(item.deviation_level=='n')?_c('v-chip',{staticClass:\"ma-2\",attrs:{\"min-width\":\"200\",\"color\":\"green\",\"text-color\":\"white\"}},[_vm._v(\"Normal\")]):_vm._e()]}}],null,false,3664110413)})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n name:\"SamplesTable\",\n props: ['show','data','serverItemsLength','totalRecords'],\n data: function () {\n return {\n componentKey:0,\n pagination_options: {},\n headers: [\n\n { text: 'STAMP', value: 'stamp', sortable: true },\n { text: 'Camion', value: 'truck_name', sortable: true },\n { text: 'Velocidad', value: 'Velocidad', sortable: true },\n { text: 'Altitud', value: 'Altitud', sortable: true },\n { text: 'EngineOilLevel', value: 'EngineOilLevel', sortable: true },\n { text: 'RPM', value: 'RPM', sortable: true },\n //{ text: 'EngineTotalHours', value: 'EngineTotalHours', align:'center' ,sortable: false },\n { text: 'FuelLevel', value: 'FuelLevel', align:'center' ,sortable: true }\n \n ],\n\n }\n },\n created() {\n console.log('create -> [Reportes Samples]');\n console.log(this.data);\n\n },\n computed: {\n\n },\n \n methods: {\n },\n watch: {\n\n pagination_options: {\n handler (e) {\n console.log(e.sortBy[0]);\n console.log(e.sortDesc[0]);\n this.$bus.$emit('reportes',{ report:'sample',sortBy:e.sortBy[0], sortDesc:e.sortDesc[0] });\n },\n deep: true,\n },\n\n }\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes_muestras.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes_muestras.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./reportes_muestras.vue?vue&type=template&id=3a6cc704&\"\nimport script from \"./reportes_muestras.vue?vue&type=script&lang=js&\"\nexport * from \"./reportes_muestras.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VChip,VDataTable,VDivider,VSpacer,VToolbar,VToolbarTitle})\n","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nimport EventsTable from \"@/views/reportes_eventos\";\nimport SamplesTable from \"@/views/reportes_muestras\";\n\n\nexport default {\n components: {\n EventsTable,\n SamplesTable\n },\n data: function () {\n return {\n total_records: 0,\n serverItemsLength:100,\n show: true,\n show_wait_download: false,\n show_events: false,\n show_samples: false,\n report_data:null,\n type_of_reports: [{name:'Eventos',value:'event'},\n {name:'Muestras',value:'sample'}\n ],\n trucks : [],\n \n sample_sort_by: 'stamp',\n sample_sort_desc: true,\n event_sort_by: 'stamp',\n event_sort_desc: true,\n \n show_help: false,\n \n menu_picker_ini:false,\n menu_picker_end:false,\n filter: {\n report_type: 'event',\n truckid:'ALL',\n date_picker_ini: this.$moment(new Date()).subtract(7, 'days').format('YYYY-MM-DD'),\n date_picker_end: this.$moment(new Date()).format('YYYY-MM-DD'),\n\n },\n users: [\n { firstname : '2022-01-10 08:00:00', lastname:'10', rut:'Quadra 77', email: '10', mobilephone: '10', perfil: '10', action:'10' },\n { firstname : '2022-01-10 08:00:30', lastname:'10', rut:'Quadra 77', email: '10', mobilephone: '10', perfil: '10', action:'10' },\n { firstname : '2022-01-10 08:01:00', lastname:'10', rut:'Quadra 77', email: '10', mobilephone: '10', perfil: '10', action:'10' },\n { firstname : '2022-01-10 08:01:00', lastname:'10', rut:'Quadra 77', email: '10', mobilephone: '10', perfil: '10', action:'10' },\n ],\n headers: [\n {\n text: 'Camión',\n align: 'left',\n sortable: false,\n value: 'rut',\n },\n\n { text: 'Fecha y hora', value: 'firstname' },\n { text: 'EngineOilLevel', value: 'lastname' },\n { text: 'RPM', value: 'email' },\n { text: 'EngineOilLevel', value: 'mobilephone' },\n { text: 'EngineTotalHours', value: 'perfil', align:'center' ,sortable: false },\n { text: 'FuelLevel', value: 'action', align:'center' ,sortable: false }\n \n ],\n }\n },\n created() {\n console.log('create -> [Reportes]');\n this.$bus.$on('reportes', this.set);\n // this.$util.log(this.$store.state.trucks);\n // Listado de camiones del filtro, agrega opcionde TODOS\n this.trucks = this.$util.clone(this.$store.state.trucks);\n this.trucks.unshift({name:'--TODOS---',truckid:'ALL'});\n this.getReport('');\n\n },\n \n destroyed() {\n this.$bus.$off('reportes', this.set); \n },\n \n computed: {\n\n },\n methods: {\n\n set(arg) {\n this.$util.log(arg);\n \n if (arg.report=='sample') {\n this.sample_sort_by = arg.sortBy;\n this.sample_sort_desc = arg.sortDesc;\n }\n else {\n this.event_sort_by = arg.sortBy;\n this.event_sort_desc = arg.sortDesc; \n }\n \n \n this.getReport();\n },\n \n \n getReport(download) {\n\n this.$util.log('getReport-->'+this.filter.report_type);\n this.$store.state.ts.loader.show = true;\n\n this.$axios.all([\n this.$axios.get('/api/report'+this.filter.report_type+'/', \n { params: {\n download: download,\n truckid: this.filter.truckid,\n stamp_end: this.filter.date_picker_end,\n stamp_ini: this.filter.date_picker_ini,\n sort_by: (this.filter.report_type=='sample')?this.sample_sort_by : this.event_sort_by,\n sort_desc: (this.filter.report_type=='sample')?this.sample_sort_desc : this.event_sort_desc,\n } } ),\n ])\n .then(this.$axios.spread((report_resp) =>{\n console.log(report_resp.data);\n \n \n \n if (download=='csv') {\n /*\n const url = window.URL.createObjectURL(new Blob([report_resp.data]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', 'c.csv');\n document.body.appendChild(link);\n link.click();\n */\n }\n if (this.filter.report_type=='event') {\n this.show_events= true;\n this.show_samples= false;\n this.report_data= report_resp.data.events;\n this.total_records= report_resp.data.total_records;\n }\n if (this.filter.report_type=='sample') {\n this.show_events= false;\n this.show_samples= true; \n this.report_data= report_resp.data.samples;\n this.total_records= report_resp.data.total_records; \n }\n \n this.$store.state.ts.loader.show = false;\n \n }))\n .catch((report_err) => {\n console.log(report_err);\n });\n },\n\n\n click_descarga_reporte_1: function() {\n this.show_wait = true;\n },\n\n click_descarga_reporte_2: function() {\n this.show_wait = true;\n }\n }\n};\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./reportes.vue?vue&type=script&lang=js&\"","// Styles\nimport \"../../../src/components/VAutocomplete/VAutocomplete.sass\"; // Extensions\n\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect';\nimport VTextField from '../VTextField/VTextField'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { getObjectValueByPath, getPropertyFromItem, keyCodes } from '../../util/helpers';\nconst defaultMenuProps = { ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false\n};\n/* @vue/component */\n\nexport default VSelect.extend({\n name: 'v-autocomplete',\n props: {\n allowOverflow: {\n type: Boolean,\n default: true\n },\n autoSelectFirst: {\n type: Boolean,\n default: false\n },\n filter: {\n type: Function,\n default: (item, queryText, itemText) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1;\n }\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps\n },\n noFilter: Boolean,\n searchInput: {\n type: String\n }\n },\n\n data() {\n return {\n lazySearch: this.searchInput\n };\n },\n\n computed: {\n classes() {\n return { ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n };\n },\n\n computedItems() {\n return this.filteredItems;\n },\n\n selectedValues() {\n return this.selectedItems.map(item => this.getValue(item));\n },\n\n hasDisplayedItems() {\n return this.hideSelected ? this.filteredItems.some(item => !this.hasItem(item)) : this.filteredItems.length > 0;\n },\n\n currentRange() {\n if (this.selectedItem == null) return 0;\n return String(this.getText(this.selectedItem)).length;\n },\n\n filteredItems() {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems;\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText);\n const text = value != null ? String(value) : '';\n return this.filter(item, String(this.internalSearch), text);\n });\n },\n\n internalSearch: {\n get() {\n return this.lazySearch;\n },\n\n set(val) {\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val;\n this.$emit('update:search-input', val);\n }\n }\n\n },\n\n isAnyValueAllowed() {\n return false;\n },\n\n isDirty() {\n return this.searchIsDirty || this.selectedItems.length > 0;\n },\n\n isSearching() {\n return this.multiple && this.searchIsDirty || this.searchIsDirty && this.internalSearch !== this.getText(this.selectedItem);\n },\n\n menuCanShow() {\n if (!this.isFocused) return false;\n return this.hasDisplayedItems || !this.hideNoData;\n },\n\n $_menuProps() {\n const props = VSelect.options.computed.$_menuProps.call(this);\n props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim();\n return { ...defaultMenuProps,\n ...props\n };\n },\n\n searchIsDirty() {\n return this.internalSearch != null && this.internalSearch !== '';\n },\n\n selectedItem() {\n if (this.multiple) return null;\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue));\n });\n },\n\n listData() {\n const data = VSelect.options.computed.listData.call(this);\n data.props = { ...data.props,\n items: this.virtualizedItems,\n noFilter: this.noFilter || !this.isSearching || !this.filteredItems.length,\n searchInput: this.internalSearch\n };\n return data;\n }\n\n },\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n\n isFocused(val) {\n if (val) {\n document.addEventListener('copy', this.onCopy);\n this.$refs.input && this.$refs.input.select();\n } else {\n document.removeEventListener('copy', this.onCopy);\n this.blur();\n this.updateSelf();\n }\n },\n\n isMenuActive(val) {\n if (val || !this.hasSlot) return;\n this.lazySearch = null;\n },\n\n items(val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (!(oldVal && oldVal.length) && this.hideNoData && this.isFocused && !this.isMenuActive && val.length) this.activateMenu();\n },\n\n searchInput(val) {\n this.lazySearch = val;\n },\n\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf'\n },\n\n created() {\n this.setSearch();\n },\n\n destroyed() {\n document.removeEventListener('copy', this.onCopy);\n },\n\n methods: {\n onFilteredItemsChanged(val, oldVal) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return;\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex];\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem));\n } else {\n this.setMenuIndex(-1);\n }\n\n this.$emit('update:list-index', this.$refs.menu.listIndex);\n }\n\n this.$nextTick(() => {\n if (!this.internalSearch || val.length !== 1 && !this.autoSelectFirst) return;\n this.$refs.menu.getTiles();\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0);\n this.$emit('update:list-index', this.$refs.menu.listIndex);\n }\n });\n },\n\n onInternalSearchChanged() {\n this.updateMenuDimensions();\n },\n\n updateMenuDimensions() {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions();\n },\n\n changeSelectedIndex(keyCode) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return;\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1;\n } else {\n this.selectedIndex--;\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1;\n } else {\n this.selectedIndex++;\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem();\n }\n },\n\n deleteCurrentItem() {\n const curIndex = this.selectedIndex;\n const curItem = this.selectedItems[curIndex]; // Do nothing if input or item is disabled\n\n if (!this.isInteractive || this.getDisabled(curItem)) return;\n const lastIndex = this.selectedItems.length - 1; // Select the last item if\n // there is no selection\n\n if (this.selectedIndex === -1 && lastIndex !== 0) {\n this.selectedIndex = lastIndex;\n return;\n }\n\n const length = this.selectedItems.length;\n const nextIndex = curIndex !== length - 1 ? curIndex : curIndex - 1;\n const nextItem = this.selectedItems[nextIndex];\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null);\n } else {\n this.selectItem(curItem);\n }\n\n this.selectedIndex = nextIndex;\n },\n\n clearableCallback() {\n this.internalSearch = null;\n VSelect.options.methods.clearableCallback.call(this);\n },\n\n genInput() {\n const input = VTextField.options.methods.genInput.call(this);\n input.data = mergeData(input.data, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off')\n },\n domProps: {\n value: this.internalSearch\n }\n });\n return input;\n },\n\n genInputSlot() {\n const slot = VSelect.options.methods.genInputSlot.call(this);\n slot.data.attrs.role = 'combobox';\n return slot;\n },\n\n genSelections() {\n return this.hasSlot || this.multiple ? VSelect.options.methods.genSelections.call(this) : [];\n },\n\n onClick(e) {\n if (!this.isInteractive) return;\n this.selectedIndex > -1 ? this.selectedIndex = -1 : this.onFocus();\n if (!this.isAppendInner(e.target)) this.activateMenu();\n },\n\n onInput(e) {\n if (this.selectedIndex > -1 || !e.target) return;\n const target = e.target;\n const value = target.value; // If typing and menu is not currently active\n\n if (target.value) this.activateMenu();\n if (!this.multiple && value === '') this.deleteCurrentItem();\n this.internalSearch = value;\n this.badInput = target.validity && target.validity.badInput;\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n\n if (e.ctrlKey || ![keyCodes.home, keyCodes.end].includes(keyCode)) {\n VSelect.options.methods.onKeyDown.call(this, e);\n } // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n\n\n this.changeSelectedIndex(keyCode);\n },\n\n onSpaceDown(e) {},\n\n onTabDown(e) {\n VSelect.options.methods.onTabDown.call(this, e);\n this.updateSelf();\n },\n\n onUpDown(e) {\n // Prevent screen from scrolling\n e.preventDefault(); // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n\n this.activateMenu();\n },\n\n selectItem(item) {\n VSelect.options.methods.selectItem.call(this, item);\n this.setSearch();\n },\n\n setSelectedItems() {\n VSelect.options.methods.setSelectedItems.call(this); // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n\n if (!this.isFocused) this.setSearch();\n },\n\n setSearch() {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (!this.multiple || !this.internalSearch || !this.isMenuActive) {\n this.internalSearch = !this.selectedItems.length || this.multiple || this.hasSlot ? null : this.getText(this.selectedItem);\n }\n });\n },\n\n updateSelf() {\n if (!this.searchIsDirty && !this.internalValue) return;\n\n if (!this.multiple && !this.valueComparator(this.internalSearch, this.getValue(this.internalValue))) {\n this.setSearch();\n }\n },\n\n hasItem(item) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1;\n },\n\n onCopy(event) {\n var _event$clipboardData, _event$clipboardData2;\n\n if (this.selectedIndex === -1) return;\n const currentItem = this.selectedItems[this.selectedIndex];\n const currentItemText = this.getText(currentItem);\n (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.setData('text/plain', currentItemText);\n (_event$clipboardData2 = event.clipboardData) == null ? void 0 : _event$clipboardData2.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);\n event.preventDefault();\n }\n\n }\n});\n//# sourceMappingURL=VAutocomplete.js.map","// Mixins\nimport Colorable from '../colorable'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { kebabCase } from '../../util/helpers';\n/* @vue/component */\n\nexport default mixins(Colorable).extend({\n methods: {\n genPickerButton(prop, value, content, readonly = false, staticClass = '') {\n const active = this[prop] === value;\n\n const click = 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 : {\n click\n }\n }, Array.isArray(content) ? content : [content]);\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","import \"../../../src/components/VDatePicker/VDatePickerTitle.sass\"; // Components\n\nimport VIcon from '../VIcon'; // Mixins\n\nimport PickerButton from '../../mixins/picker-button'; // Utils\n\nimport mixins from '../../util/mixins';\nexport default mixins(PickerButton\n/* @vue/component */\n).extend({\n name: 'v-date-picker-title',\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 data: () => ({\n isReversing: false\n }),\n computed: {\n computedTransition() {\n return this.isReversing ? 'picker-reverse-transition' : 'picker-transition';\n }\n\n },\n watch: {\n value(val, prev) {\n this.isReversing = val < prev;\n }\n\n },\n methods: {\n genYearIcon() {\n return this.$createElement(VIcon, {\n props: {\n dark: true\n }\n }, this.yearIcon);\n },\n\n getYearBtn() {\n return this.genPickerButton('selectingYear', true, [String(this.year), this.yearIcon ? this.genYearIcon() : null], false, 'v-date-picker-title__year');\n },\n\n genTitleText() {\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition\n }\n }, [this.$createElement('div', {\n domProps: {\n innerHTML: this.date || ' '\n },\n key: this.value\n })]);\n },\n\n genTitleDate() {\n return this.genPickerButton('selectingYear', false, [this.genTitleText()], false, 'v-date-picker-title__date');\n }\n\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-date-picker-title',\n class: {\n 'v-date-picker-title--disabled': this.disabled\n }\n }, [this.getYearBtn(), this.genTitleDate()]);\n }\n\n});\n//# sourceMappingURL=VDatePickerTitle.js.map","import Vue from 'vue';\nexport default Vue.extend({\n name: 'localable',\n props: {\n locale: String\n },\n computed: {\n currentLocale() {\n return this.locale || this.$vuetify.lang.current;\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","const padStart = (string, targetLength, padString) => {\n targetLength = targetLength >> 0;\n string = String(string);\n padString = String(padString);\n\n if (string.length > targetLength) {\n return String(string);\n }\n\n targetLength = targetLength - string.length;\n\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length);\n }\n\n return padString.slice(0, targetLength) + String(string);\n};\n\nexport default ((n, length = 2) => padStart(n, length, '0'));\n//# sourceMappingURL=pad.js.map","import pad from './pad';\n\nfunction createNativeLocaleFormatter(locale, options, substrOptions = {\n start: 0,\n length: 0\n}) {\n const makeIsoString = dateString => {\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 => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`));\n } catch (e) {\n return substrOptions.start || substrOptions.length ? dateString => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length) : undefined;\n }\n}\n\nexport default createNativeLocaleFormatter;\n//# sourceMappingURL=createNativeLocaleFormatter.js.map","import pad from './pad';\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\n\nexport default ((value, sign) => {\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//# sourceMappingURL=monthChange.js.map","import \"../../../src/components/VDatePicker/VDatePickerHeader.sass\"; // Components\n\nimport VBtn from '../VBtn';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Localable from '../../mixins/localable';\nimport Themeable from '../../mixins/themeable'; // Utils\n\nimport { createNativeLocaleFormatter, monthChange } from './util';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Localable, Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n props: {\n disabled: Boolean,\n format: Function,\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() {\n if (this.format) {\n return this.format;\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, {\n month: 'long',\n year: 'numeric',\n timeZone: 'UTC'\n }, {\n length: 7\n });\n } else {\n return createNativeLocaleFormatter(this.currentLocale, {\n year: 'numeric',\n timeZone: 'UTC'\n }, {\n length: 4\n });\n }\n }\n\n },\n watch: {\n value(newVal, oldVal) {\n this.isReversing = newVal < oldVal;\n }\n\n },\n methods: {\n genBtn(change) {\n const ariaLabelId = change > 0 ? this.nextAriaLabel : this.prevAriaLabel;\n const ariaLabel = ariaLabelId ? this.$vuetify.lang.t(ariaLabelId) : undefined;\n const disabled = this.disabled || change < 0 && this.min && this.calculateChange(change) < this.min || change > 0 && this.max && this.calculateChange(change) > this.max;\n return this.$createElement(VBtn, {\n attrs: {\n 'aria-label': ariaLabel\n },\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light\n },\n on: {\n click: e => {\n e.stopPropagation();\n this.$emit('input', this.calculateChange(change));\n }\n }\n }, [this.$createElement(VIcon, change < 0 === !this.$vuetify.rtl ? this.prevIcon : this.nextIcon)]);\n },\n\n calculateChange(sign) {\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\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 const transition = this.$createElement('transition', {\n props: {\n name: this.isReversing === !this.$vuetify.rtl ? 'tab-reverse-transition' : 'tab-transition'\n }\n }, [header]);\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\n render() {\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 }, [this.genBtn(-1), this.genHeader(), this.genBtn(+1)]);\n }\n\n});\n//# sourceMappingURL=VDatePickerHeader.js.map","export function createItemTypeNativeListeners(instance, itemTypeSuffix, value) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = event => instance.$emit(eventName, value, event);\n }\n\n return on;\n }, {});\n}\nexport function createItemTypeListeners(instance, itemTypeSuffix) {\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 }, {});\n}\n//# sourceMappingURL=eventHelpers.js.map","// 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';\nexport default ((dateString, type) => {\n const [year, month = 1, date = 1] = dateString.split('-');\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, {\n date: 10,\n month: 7,\n year: 4\n }[type]);\n});\n//# sourceMappingURL=sanitizeDateString.js.map","export default function isDateAllowed(date, min, max, allowedFn) {\n return (!allowedFn || allowedFn(date)) && (!min || date >= min.substr(0, 10)) && (!max || date <= max);\n}\n//# sourceMappingURL=isDateAllowed.js.map","import \"../../../../src/components/VDatePicker/VDatePickerTable.sass\"; // Directives\n\nimport Touch from '../../../directives/touch'; // Mixins\n\nimport Colorable from '../../../mixins/colorable';\nimport Localable from '../../../mixins/localable';\nimport Themeable from '../../../mixins/themeable'; // Utils\n\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';\nexport default mixins(Colorable, Localable, Themeable\n/* @vue/component */\n).extend({\n directives: {\n Touch\n },\n props: {\n allowedDates: Function,\n current: String,\n disabled: Boolean,\n format: Function,\n events: {\n type: [Array, Function, Object],\n default: () => null\n },\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n },\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]\n },\n data: () => ({\n isReversing: false,\n wheelThrottle: null\n }),\n computed: {\n computedTransition() {\n return this.isReversing === !this.$vuetify.rtl ? 'tab-reverse-transition' : 'tab-transition';\n },\n\n displayedMonth() {\n return Number(this.tableDate.split('-')[1]) - 1;\n },\n\n displayedYear() {\n return Number(this.tableDate.split('-')[0]);\n }\n\n },\n watch: {\n tableDate(newVal, oldVal) {\n this.isReversing = newVal < oldVal;\n }\n\n },\n\n mounted() {\n this.wheelThrottle = throttle(this.wheel, 250);\n },\n\n methods: {\n genButtonClasses(isAllowed, isFloating, isSelected, isCurrent, isFirst, isLast) {\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\n genButtonEvents(value, isAllowed, mouseEventType) {\n if (this.disabled) return undefined;\n return mergeListeners({\n click: () => {\n if (isAllowed && !this.readonly) this.$emit('input', value);\n }\n }, createItemTypeNativeListeners(this, `:${mouseEventType}`, value));\n },\n\n genButton(value, isFloating, mouseEventType, formatter, 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\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(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent, isFirst, isLast),\n attrs: {\n type: 'button'\n },\n domProps: {\n disabled: this.disabled || !isAllowed || isOtherMonth\n },\n on: this.genButtonEvents(value, isAllowed, mouseEventType)\n }), [this.$createElement('div', {\n staticClass: 'v-btn__content'\n }, [formatter(value)]), this.genEvents(value)]);\n },\n\n getEventColors(date) {\n const arrayize = v => Array.isArray(v) ? v : [v];\n\n let eventData;\n let eventColors = [];\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\n genEvents(date) {\n const eventColors = this.getEventColors(date);\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\n isValidScroll(value, calculateTableDate) {\n const tableDate = calculateTableDate(value); // tableDate is 'YYYY-MM' for DateTable and 'YYYY' for MonthTable\n\n const sanitizeType = tableDate.split('-').length === 1 ? 'year' : 'month';\n return value < 0 && (this.min ? tableDate >= sanitizeDateString(this.min, sanitizeType) : true) || value > 0 && (this.max ? tableDate <= sanitizeDateString(this.max, sanitizeType) : true);\n },\n\n wheel(e, calculateTableDate) {\n this.$emit('update:table-date', calculateTableDate(e.deltaY));\n },\n\n touch(value, calculateTableDate) {\n this.$emit('update:table-date', calculateTableDate(value));\n },\n\n genTable(staticClass, children, calculateTableDate) {\n const transition = this.$createElement('transition', {\n props: {\n name: this.computedTransition\n }\n }, [this.$createElement('table', {\n key: this.tableDate\n }, children)]);\n const touchDirective = {\n name: 'touch',\n value: {\n left: e => e.offsetX < -15 && this.isValidScroll(1, calculateTableDate) && this.touch(1, calculateTableDate),\n right: e => e.offsetX > 15 && this.isValidScroll(-1, calculateTableDate) && this.touch(-1, calculateTableDate)\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 => {\n e.preventDefault();\n\n if (this.isValidScroll(e.deltaY, calculateTableDate)) {\n this.wheelThrottle(e, calculateTableDate);\n }\n }\n } : undefined,\n directives: [touchDirective]\n }, [transition]);\n },\n\n isSelected(value) {\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});\n//# sourceMappingURL=date-picker-table.js.map","function createUTCDate(year, month = 0, day = 1) {\n let date;\n\n if (year < 100 && year >= 0) {\n date = new Date(Date.UTC(year, month, day));\n\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, firstDayOfWeek, firstDayOfYear) {\n const firstWeekDayInFirstWeek = 7 + firstDayOfWeek - firstDayOfYear;\n const firstWeekDayOfYear = (7 + createUTCDate(year, 0, firstWeekDayInFirstWeek).getUTCDay() - firstDayOfWeek) % 7;\n return -firstWeekDayOfYear + firstWeekDayInFirstWeek - 1;\n}\n\nfunction dayOfYear(year, month, day, firstDayOfWeek) {\n let dayOfYear = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334][month];\n\n if (month > 1 && isLeapYear(year)) {\n dayOfYear++;\n }\n\n return dayOfYear + day;\n}\n\nfunction weeksInYear(year, firstDayOfWeek, firstDayOfYear) {\n const weekOffset = firstWeekOffset(year, firstDayOfWeek, firstDayOfYear);\n const weekOffsetNext = firstWeekOffset(year + 1, firstDayOfWeek, firstDayOfYear);\n const daysInYear = isLeapYear(year) ? 366 : 365;\n return (daysInYear - weekOffset + weekOffsetNext) / 7;\n}\n\nexport function weekNumber(year, month, day, firstDayOfWeek, localeFirstDayOfYear) {\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}\nexport function isLeapYear(year) {\n return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n}\n//# sourceMappingURL=dateTimeUtils.js.map","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'; // Utils\n\nimport { weekNumber } from '../../util/dateTimeUtils';\nimport { pad, createNativeLocaleFormatter, monthChange } from './util';\nimport { createRange } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nexport default mixins(DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-date-table',\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\n },\n computed: {\n formatter() {\n return this.format || createNativeLocaleFormatter(this.currentLocale, {\n day: 'numeric',\n timeZone: 'UTC'\n }, {\n start: 8,\n length: 2\n });\n },\n\n weekdayFormatter() {\n return this.weekdayFormat || createNativeLocaleFormatter(this.currentLocale, {\n weekday: 'narrow',\n timeZone: 'UTC'\n });\n },\n\n weekDays() {\n const first = parseInt(this.firstDayOfWeek, 10);\n return this.weekdayFormatter ? 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) {\n return monthChange(this.tableDate, Math.sign(delta || 1));\n },\n\n genTHead() {\n const days = this.weekDays.map(day => this.$createElement('th', day));\n\n if (this.showWeek) {\n days.unshift(this.$createElement('th'));\n }\n\n return this.$createElement('thead', this.genTR(days));\n },\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 return (weekDay - parseInt(this.firstDayOfWeek) + 7) % 7;\n },\n\n getWeekNumber(dayInMonth) {\n return weekNumber(this.displayedYear, this.displayedMonth, dayInMonth, parseInt(this.firstDayOfWeek), parseInt(this.localeFirstDayOfYear));\n },\n\n genWeekNumber(weekNumber) {\n return this.$createElement('td', [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 rows.push(this.$createElement('td', this.showAdjacentMonths ? [this.genButton(date, true, 'date', this.formatter, true)] : []));\n }\n\n for (day = 1; day <= daysInMonth; day++) {\n const date = `${this.displayedYear}-${pad(this.displayedMonth + 1)}-${pad(day)}`;\n rows.push(this.$createElement('td', [this.genButton(date, true, 'date', this.formatter)]));\n\n if (rows.length % cellsInRow === 0) {\n children.push(this.genTR(rows));\n rows = [];\n\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 rows.push(this.$createElement('td', this.showAdjacentMonths ? [this.genButton(date, true, 'date', this.formatter, true)] : []));\n }\n\n if (rows.length) {\n children.push(this.genTR(rows));\n }\n\n return this.$createElement('tbody', children);\n },\n\n genTR(children) {\n return [this.$createElement('tr', children)];\n }\n\n },\n\n render() {\n return this.genTable('v-date-picker-table v-date-picker-table--date', [this.genTHead(), this.genTBody()], this.calculateTableDate);\n }\n\n});\n//# sourceMappingURL=VDatePickerDateTable.js.map","// Mixins\nimport DatePickerTable from './mixins/date-picker-table'; // Utils\n\nimport { pad, createNativeLocaleFormatter } from './util';\nimport mixins from '../../util/mixins';\nexport default mixins(DatePickerTable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-month-table',\n computed: {\n formatter() {\n return this.format || createNativeLocaleFormatter(this.currentLocale, {\n month: 'short',\n timeZone: 'UTC'\n }, {\n start: 5,\n length: 2\n });\n }\n\n },\n methods: {\n calculateTableDate(delta) {\n return `${parseInt(this.tableDate, 10) + Math.sign(delta || 1)}`;\n },\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 }, [this.genButton(date, false, 'month', this.formatter)]);\n });\n children.push(this.$createElement('tr', {\n key: row\n }, tds));\n }\n\n return this.$createElement('tbody', children);\n }\n\n },\n\n render() {\n return this.genTable('v-date-picker-table v-date-picker-table--month', [this.genTBody()], this.calculateTableDate);\n }\n\n});\n//# sourceMappingURL=VDatePickerMonthTable.js.map","import \"../../../src/components/VDatePicker/VDatePickerYears.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Localable from '../../mixins/localable'; // Utils\n\nimport { createItemTypeNativeListeners, createNativeLocaleFormatter } from './util';\nimport { mergeListeners } from '../../util/mergeData';\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Localable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-years',\n props: {\n format: Function,\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() {\n return this.format || createNativeLocaleFormatter(this.currentLocale, {\n year: 'numeric',\n timeZone: 'UTC'\n }, {\n length: 4\n });\n }\n\n },\n\n mounted() {\n setTimeout(() => {\n const activeItem = this.$el.getElementsByClassName('active')[0];\n\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) {\n const formatted = this.formatter(`${year}`);\n const active = parseInt(this.value, 10) === year;\n const color = active && (this.color || 'primary');\n return this.$createElement('li', this.setTextColor(color, {\n key: year,\n class: {\n active\n },\n on: mergeListeners({\n click: () => this.$emit('input', year)\n }, createItemTypeNativeListeners(this, ':year', year))\n }), formatted);\n },\n\n genYearItems() {\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\n render() {\n return this.$createElement('ul', {\n staticClass: 'v-date-picker-years',\n ref: 'years'\n }, this.genYearItems());\n }\n\n});\n//# sourceMappingURL=VDatePickerYears.js.map","import \"../../../src/components/VPicker/VPicker.sass\";\nimport \"../../../src/components/VCard/VCard.sass\"; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Elevatable from '../../mixins/elevatable';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport { convertToUnit } from '../../util/helpers';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Elevatable, Themeable).extend({\n name: 'v-picker',\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 computed: {\n computedTitleColor() {\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\n genBodyTransition() {\n return this.$createElement('transition', {\n props: {\n name: this.transition\n }\n }, this.$slots.default);\n },\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 }, [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\n render(h) {\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 }, [this.$slots.title ? this.genTitle() : null, this.genBody(), this.$slots.actions ? this.genActions() : null]);\n }\n\n});\n//# sourceMappingURL=VPicker.js.map","import VPicker from './VPicker';\nexport { VPicker };\nexport default VPicker;\n//# sourceMappingURL=index.js.map","// Components\nimport VPicker from '../../components/VPicker'; // Mixins\n\nimport Colorable from '../colorable';\nimport Elevatable from '../../mixins/elevatable';\nimport Themeable from '../themeable'; // Utils\n\nimport mixins from '../../util/mixins';\nexport default mixins(Colorable, Elevatable, Themeable\n/* @vue/component */\n).extend({\n name: 'picker',\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 methods: {\n genPickerTitle() {\n return null;\n },\n\n genPickerBody() {\n return null;\n },\n\n genPickerActionsSlot() {\n return this.$scopedSlots.default ? this.$scopedSlots.default({\n save: this.save,\n cancel: this.cancel\n }) : this.$slots.default;\n },\n\n genPicker(staticClass) {\n const children = [];\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 children.push(this.$createElement('template', {\n slot: 'actions'\n }, [this.genPickerActionsSlot()]));\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});\n//# sourceMappingURL=index.js.map","import { isLeapYear } from '../../../util/dateTimeUtils';\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?)|)/;\nexport const DAYS_IN_MONTH = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nexport const DAYS_IN_MONTH_LEAP = [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;\nexport function getStartOfWeek(timestamp, weekdays, today) {\n const start = copyTimestamp(timestamp);\n findWeekday(start, weekdays[0], prevDay);\n updateFormatted(start);\n\n if (today) {\n updateRelative(start, today, start.hasTime);\n }\n\n return start;\n}\nexport function getEndOfWeek(timestamp, weekdays, today) {\n const end = copyTimestamp(timestamp);\n findWeekday(end, weekdays[weekdays.length - 1]);\n updateFormatted(end);\n\n if (today) {\n updateRelative(end, today, end.hasTime);\n }\n\n return end;\n}\nexport function getStartOfMonth(timestamp) {\n const start = copyTimestamp(timestamp);\n start.day = DAY_MIN;\n updateWeekday(start);\n updateFormatted(start);\n return start;\n}\nexport function getEndOfMonth(timestamp) {\n const end = copyTimestamp(timestamp);\n end.day = daysInMonth(end.year, end.month);\n updateWeekday(end);\n updateFormatted(end);\n return end;\n}\nexport function validateTime(input) {\n return typeof input === 'number' && isFinite(input) || !!PARSE_TIME.exec(input) || typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute);\n}\nexport function parseTime(input) {\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\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}\nexport function validateTimestamp(input) {\n return typeof input === 'number' && isFinite(input) || typeof input === 'string' && !!PARSE_REGEX.exec(input) || input instanceof Date;\n}\nexport function parseTimestamp(input, required = false, now) {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input);\n }\n\n if (input instanceof Date) {\n const date = 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\n return null;\n } // YYYY-MM-DD hh:mm:ss\n\n\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 = {\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 updateWeekday(timestamp);\n updateFormatted(timestamp);\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime);\n }\n\n return timestamp;\n}\nexport function parseDate(date) {\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}\nexport function getDayIdentifier(timestamp) {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day;\n}\nexport function getTimeIdentifier(timestamp) {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute;\n}\nexport function getTimestampIdentifier(timestamp) {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp);\n}\nexport function updateRelative(timestamp, now, time = false) {\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 return timestamp;\n}\nexport function isTimedless(input) {\n return input instanceof Date || typeof input === 'number' && isFinite(input);\n}\nexport function updateHasTime(timestamp, hasTime, now) {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime;\n\n if (!hasTime) {\n timestamp.hour = HOUR_MAX;\n timestamp.minute = MINUTE_MAX;\n timestamp.time = getTime(timestamp);\n }\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime);\n }\n }\n\n return timestamp;\n}\nexport function updateMinutes(timestamp, minutes, now) {\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\n if (now) {\n updateRelative(timestamp, now, true);\n }\n\n return timestamp;\n}\nexport function updateWeekday(timestamp) {\n timestamp.weekday = getWeekday(timestamp);\n return timestamp;\n}\nexport function updateFormatted(timestamp) {\n timestamp.time = getTime(timestamp);\n timestamp.date = getDate(timestamp);\n return timestamp;\n}\nexport function getWeekday(timestamp) {\n if (timestamp.hasDay) {\n const _ = Math.floor;\n const k = timestamp.day;\n const m = (timestamp.month + 9) % MONTH_MAX + 1;\n\n const C = _(timestamp.year / 100);\n\n const Y = timestamp.year % 100 - (timestamp.month <= 2 ? 1 : 0);\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}\nexport function daysInMonth(year, month) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month];\n}\nexport function copyTimestamp(timestamp) {\n const {\n date,\n time,\n year,\n month,\n day,\n weekday,\n hour,\n minute,\n hasDay,\n hasTime,\n past,\n present,\n future\n } = timestamp;\n return {\n date,\n time,\n year,\n month,\n day,\n weekday,\n hour,\n minute,\n hasDay,\n hasTime,\n past,\n present,\n future\n };\n}\nexport function padNumber(x, length) {\n let padded = String(x);\n\n while (padded.length < length) {\n padded = '0' + padded;\n }\n\n return padded;\n}\nexport function getDate(timestamp) {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`;\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`;\n return str;\n}\nexport function getTime(timestamp) {\n if (!timestamp.hasTime) {\n return '';\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`;\n}\nexport function nextMinutes(timestamp, minutes) {\n timestamp.minute += minutes;\n\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR;\n timestamp.hour++;\n\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp);\n timestamp.hour = FIRST_HOUR;\n }\n }\n\n return timestamp;\n}\nexport function nextDay(timestamp) {\n timestamp.day++;\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK;\n\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN;\n timestamp.month++;\n\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN;\n timestamp.year++;\n }\n }\n\n return timestamp;\n}\nexport function prevDay(timestamp) {\n timestamp.day--;\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK;\n\n if (timestamp.day < DAY_MIN) {\n timestamp.month--;\n\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--;\n timestamp.month = MONTH_MAX;\n }\n\n timestamp.day = daysInMonth(timestamp.year, timestamp.month);\n }\n\n return timestamp;\n}\nexport function relativeDays(timestamp, mover = nextDay, days = 1) {\n while (--days >= 0) mover(timestamp);\n\n return timestamp;\n}\nexport function diffMinutes(min, max) {\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 return Y + M + D + h + m;\n}\nexport function findWeekday(timestamp, weekday, mover = nextDay, maxDays = 6) {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp);\n\n return timestamp;\n}\nexport function getWeekdaySkips(weekdays) {\n const skips = [1, 1, 1, 1, 1, 1, 1];\n const filled = [0, 0, 0, 0, 0, 0, 0];\n\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1;\n }\n\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1;\n\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK;\n\n if (filled[next]) {\n break;\n }\n\n skip++;\n }\n\n skips[k] = filled[k] * skip;\n }\n\n return skips;\n}\nexport function timestampToDate(timestamp) {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`;\n const date = timestamp.date;\n return new Date(`${date}T${time}:00+00:00`);\n}\nexport function createDayList(start, end, now, weekdaySkips, max = 42, min = 0) {\n const stop = getDayIdentifier(end);\n const days = [];\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\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current);\n continue;\n }\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 return days;\n}\nexport function createIntervalList(timestamp, first, minutes, count, now) {\n const intervals = [];\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}\nexport function createNativeLocaleFormatter(locale, getOptions) {\n const emptyFormatter = (_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 return intlFormatter.format(timestampToDate(timestamp));\n } catch (e) {\n return '';\n }\n };\n}\n//# sourceMappingURL=timestamp.js.map","// Components\nimport VDatePickerTitle from './VDatePickerTitle';\nimport VDatePickerHeader from './VDatePickerHeader';\nimport VDatePickerDateTable from './VDatePickerDateTable';\nimport VDatePickerMonthTable from './VDatePickerMonthTable';\nimport VDatePickerYears from './VDatePickerYears'; // Mixins\n\nimport Localable from '../../mixins/localable';\nimport Picker from '../../mixins/picker'; // Utils\n\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 { createItemTypeListeners, createNativeLocaleFormatter, pad, sanitizeDateString } from './util';\nexport default mixins(Localable, Picker).extend({\n name: 'v-date-picker',\n props: {\n activePicker: String,\n allowedDates: Function,\n // Function formatting the day in date picker table\n dayFormat: Function,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null\n },\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n },\n firstDayOfWeek: {\n type: [String, Number],\n default: 0\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function,\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,\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,\n type: {\n type: String,\n default: 'date',\n validator: type => ['date', 'month'].includes(type)\n },\n value: [Array, String],\n weekdayFormat: Function,\n // Function formatting the year in table header and pickup title\n yearFormat: Function,\n yearIcon: String\n },\n\n data() {\n const now = new Date();\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null,\n inputMonth: null,\n inputYear: 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] || (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`);\n return sanitizeDateString(date, this.type === 'date' ? 'month' : 'year');\n })()\n };\n },\n\n computed: {\n multipleValue() {\n return wrapInArray(this.value);\n },\n\n isMultiple() {\n return this.multiple || this.range;\n },\n\n lastValue() {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : this.value;\n },\n\n selectedMonths() {\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.substr(0, 7);\n }\n },\n\n current() {\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\n inputDate() {\n return this.type === 'date' ? `${this.inputYear}-${pad(this.inputMonth + 1)}-${pad(this.inputDay)}` : `${this.inputYear}-${pad(this.inputMonth + 1)}`;\n },\n\n tableMonth() {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1;\n },\n\n tableYear() {\n return Number((this.pickerDate || this.tableDate).split('-')[0]);\n },\n\n minMonth() {\n return this.min ? sanitizeDateString(this.min, 'month') : null;\n },\n\n maxMonth() {\n return this.max ? sanitizeDateString(this.max, 'month') : null;\n },\n\n minYear() {\n return this.min ? sanitizeDateString(this.min, 'year') : null;\n },\n\n maxYear() {\n return this.max ? sanitizeDateString(this.max, 'year') : null;\n },\n\n formatters() {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, {\n year: 'numeric',\n timeZone: 'UTC'\n }, {\n length: 4\n }),\n titleDate: this.titleDateFormat || (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)\n };\n },\n\n defaultTitleMultipleDateFormatter() {\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\n defaultTitleDateFormatter() {\n const titleFormats = {\n year: {\n year: 'numeric',\n timeZone: 'UTC'\n },\n month: {\n month: 'long',\n timeZone: 'UTC'\n },\n date: {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone: 'UTC'\n }\n };\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: {\n date: 10,\n month: 7,\n year: 4\n }[this.type]\n });\n\n const landscapeFormatter = date => titleDateFormatter(date).replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`).replace(', ', ',
');\n\n return this.landscape ? landscapeFormatter : titleDateFormatter;\n }\n\n },\n watch: {\n internalActivePicker: {\n immediate: true,\n\n handler(val) {\n this.$emit('update:active-picker', val);\n }\n\n },\n\n activePicker(val) {\n this.internalActivePicker = val;\n },\n\n tableDate(val, prev) {\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\n pickerDate(val) {\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\n value(newValue, oldValue) {\n this.checkMultipleProp();\n this.setInputDate();\n\n if (!this.isMultiple && this.value && !this.pickerDate || this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month');\n }\n },\n\n type(type) {\n this.internalActivePicker = type.toUpperCase();\n\n if (this.value && this.value.length) {\n const output = this.multipleValue.map(val => sanitizeDateString(val, type)).filter(this.isDateAllowed);\n this.$emit('input', this.isMultiple ? output : output[0]);\n }\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\n this.setInputDate();\n },\n\n methods: {\n emitInput(newInput) {\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\n return;\n }\n\n const output = this.multiple ? this.multipleValue.indexOf(newInput) === -1 ? this.multipleValue.concat([newInput]) : this.multipleValue.filter(x => x !== newInput) : newInput;\n this.$emit('input', output);\n this.multiple || this.$emit('change', newInput);\n },\n\n checkMultipleProp() {\n if (this.value == null) return;\n const valueType = this.value.constructor.name;\n const expected = this.isMultiple ? 'Array' : 'String';\n\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this);\n }\n },\n\n isDateAllowed(value) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates);\n },\n\n yearClick(value) {\n this.inputYear = value;\n\n if (this.type === 'month') {\n this.tableDate = `${value}`;\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`;\n }\n\n this.internalActivePicker = 'MONTH';\n\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate);\n }\n },\n\n monthClick(value) {\n this.inputYear = parseInt(value.split('-')[0], 10);\n this.inputMonth = parseInt(value.split('-')[1], 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\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\n dateClick(value) {\n this.inputYear = parseInt(value.split('-')[0], 10);\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1;\n this.inputDay = parseInt(value.split('-')[2], 10);\n this.emitInput(this.inputDate);\n },\n\n genPickerTitle() {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? this.formatters.titleDate(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 => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase()\n }\n });\n },\n\n genTableHeader() {\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 => this.tableDate = value\n }\n });\n },\n\n genDateTable() {\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 => this.tableDate = value,\n ...createItemTypeListeners(this, ':date')\n }\n });\n },\n\n genMonthTable() {\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 => this.tableDate = value,\n ...createItemTypeListeners(this, ':month')\n }\n });\n },\n\n genYears() {\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\n genPickerBody() {\n const children = this.internalActivePicker === 'YEAR' ? [this.genYears()] : [this.genTableHeader(), this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable()];\n return this.$createElement('div', {\n key: this.internalActivePicker\n }, children);\n },\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\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\n render() {\n return this.genPicker('v-picker--date');\n }\n\n});\n//# sourceMappingURL=VDatePicker.js.map","import { render, staticRenderFns } from \"./reportes.vue?vue&type=template&id=dc7b352c&\"\nimport script from \"./reportes.vue?vue&type=script&lang=js&\"\nexport * from \"./reportes.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAlert,VAutocomplete,VBtn,VCard,VCardText,VCardTitle,VCol,VDatePicker,VDialog,VIcon,VMenu,VProgressCircular,VRow,VSelect,VSpacer,VTextField})\n","// Styles\nimport \"../../../src/components/VCard/VCard.sass\"; // Extensions\n\nimport VSheet from '../VSheet'; // Mixins\n\nimport Loadable from '../../mixins/loadable';\nimport Routable from '../../mixins/routable'; // Helpers\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Loadable, Routable, VSheet).extend({\n name: 'v-card',\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4\n },\n raised: Boolean\n },\n computed: {\n classes() {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.options.computed.classes.call(this)\n };\n },\n\n styles() {\n const style = { ...VSheet.options.computed.styles.call(this)\n };\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`;\n }\n\n return style;\n }\n\n },\n methods: {\n genProgress() {\n const render = Loadable.options.methods.genProgress.call(this);\n if (!render) return null;\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n key: 'progress'\n }, [render]);\n }\n\n },\n\n render(h) {\n const {\n tag,\n data\n } = this.generateRouteLink();\n data.style = this.styles;\n\n if (this.isClickable) {\n data.attrs = data.attrs || {};\n data.attrs.tabindex = 0;\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [this.genProgress(), this.$slots.default]);\n }\n\n});\n//# sourceMappingURL=VCard.js.map","import VDivider from './VDivider';\nexport { VDivider };\nexport default VDivider;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VSubheader/VSubheader.sass\"; // Mixins\n\nimport Themeable from '../../mixins/themeable';\nimport mixins from '../../util/mixins';\nexport default mixins(Themeable\n/* @vue/component */\n).extend({\n name: 'v-subheader',\n props: {\n inset: Boolean\n },\n\n render(h) {\n return h('div', {\n staticClass: 'v-subheader',\n class: {\n 'v-subheader--inset': this.inset,\n ...this.themeClasses\n },\n attrs: this.$attrs,\n on: this.$listeners\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VSubheader.js.map","import VSubheader from './VSubheader';\nexport { VSubheader };\nexport default VSubheader;\n//# sourceMappingURL=index.js.map","// Components\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox';\nimport VDivider from '../VDivider';\nimport VSubheader from '../VSubheader';\nimport { VList, VListItem, VListItemAction, VListItemContent, VListItemTitle } from '../VList'; // Directives\n\nimport ripple from '../../directives/ripple'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport Themeable from '../../mixins/themeable'; // Helpers\n\nimport { escapeHTML, getPropertyFromItem } from '../../util/helpers'; // Types\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Themeable).extend({\n name: 'v-select-list',\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple\n },\n props: {\n action: Boolean,\n dense: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n noDataText: String,\n noFilter: Boolean,\n searchInput: null,\n selectedItems: {\n type: Array,\n default: () => []\n }\n },\n computed: {\n parsedItems() {\n return this.selectedItems.map(item => this.getValue(item));\n },\n\n tileActiveClass() {\n return Object.keys(this.setTextColor(this.color).class || {}).join(' ');\n },\n\n staticNoDataTile() {\n const tile = {\n attrs: {\n role: undefined\n },\n on: {\n mousedown: e => e.preventDefault()\n }\n };\n return this.$createElement(VListItem, tile, [this.genTileContent(this.noDataText)]);\n }\n\n },\n methods: {\n genAction(item, inputValue) {\n return this.$createElement(VListItemAction, [this.$createElement(VSimpleCheckbox, {\n props: {\n color: this.color,\n value: inputValue,\n ripple: false\n },\n on: {\n input: () => this.$emit('select', item)\n }\n })]);\n },\n\n genDivider(props) {\n return this.$createElement(VDivider, {\n props\n });\n },\n\n genFilteredText(text) {\n text = text || '';\n if (!this.searchInput || this.noFilter) return escapeHTML(text);\n const {\n start,\n middle,\n end\n } = this.getMaskedCharacters(text);\n return `${escapeHTML(start)}${this.genHighlight(middle)}${escapeHTML(end)}`;\n },\n\n genHeader(props) {\n return this.$createElement(VSubheader, {\n props\n }, props.header);\n },\n\n genHighlight(text) {\n return `${escapeHTML(text)}`;\n },\n\n getMaskedCharacters(text) {\n const searchInput = (this.searchInput || '').toString().toLocaleLowerCase();\n const index = text.toLocaleLowerCase().indexOf(searchInput);\n if (index < 0) return {\n start: text,\n middle: '',\n end: ''\n };\n const start = text.slice(0, index);\n const middle = text.slice(index, index + searchInput.length);\n const end = text.slice(index + searchInput.length);\n return {\n start,\n middle,\n end\n };\n },\n\n genTile({\n item,\n index,\n disabled = null,\n value = false\n }) {\n if (!value) value = this.hasItem(item);\n\n if (item === Object(item)) {\n disabled = disabled !== null ? disabled : this.getDisabled(item);\n }\n\n const tile = {\n attrs: {\n // Default behavior in list does not\n // contain aria-selected by default\n 'aria-selected': String(value),\n id: `list-item-${this._uid}-${index}`,\n role: 'option'\n },\n on: {\n mousedown: e => {\n // Prevent onBlur from being called\n e.preventDefault();\n },\n click: () => disabled || this.$emit('select', item)\n },\n props: {\n activeClass: this.tileActiveClass,\n disabled,\n ripple: true,\n inputValue: value\n }\n };\n\n if (!this.$scopedSlots.item) {\n return this.$createElement(VListItem, tile, [this.action && !this.hideSelected && this.items.length > 0 ? this.genAction(item, value) : null, this.genTileContent(item, index)]);\n }\n\n const parent = this;\n const scopedSlot = this.$scopedSlots.item({\n parent,\n item,\n attrs: { ...tile.attrs,\n ...tile.props\n },\n on: tile.on\n });\n return this.needsTile(scopedSlot) ? this.$createElement(VListItem, tile, scopedSlot) : scopedSlot;\n },\n\n genTileContent(item, index = 0) {\n const innerHTML = this.genFilteredText(this.getText(item));\n return this.$createElement(VListItemContent, [this.$createElement(VListItemTitle, {\n domProps: {\n innerHTML\n }\n })]);\n },\n\n hasItem(item) {\n return this.parsedItems.indexOf(this.getValue(item)) > -1;\n },\n\n needsTile(slot) {\n return slot.length !== 1 || slot[0].componentOptions == null || slot[0].componentOptions.Ctor.options.name !== 'v-list-item';\n },\n\n getDisabled(item) {\n return Boolean(getPropertyFromItem(item, this.itemDisabled, false));\n },\n\n getText(item) {\n return String(getPropertyFromItem(item, this.itemText, item));\n },\n\n getValue(item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item));\n }\n\n },\n\n render() {\n const children = [];\n const itemsLength = this.items.length;\n\n for (let index = 0; index < itemsLength; index++) {\n const item = this.items[index];\n if (this.hideSelected && this.hasItem(item)) continue;\n if (item == null) children.push(this.genTile({\n item,\n index\n }));else if (item.header) children.push(this.genHeader(item));else if (item.divider) children.push(this.genDivider(item));else children.push(this.genTile({\n item,\n index\n }));\n }\n\n children.length || children.push(this.$slots['no-data'] || this.staticNoDataTile);\n this.$slots['prepend-item'] && children.unshift(this.$slots['prepend-item']);\n this.$slots['append-item'] && children.push(this.$slots['append-item']);\n return this.$createElement(VList, {\n staticClass: 'v-select-list',\n class: this.themeClasses,\n attrs: {\n role: 'listbox',\n tabindex: -1\n },\n props: {\n dense: this.dense\n }\n }, children);\n }\n\n});\n//# sourceMappingURL=VSelectList.js.map","import Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'filterable',\n props: {\n noDataText: {\n type: String,\n default: '$vuetify.noDataText'\n }\n }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VTextField/VTextField.sass\";\nimport \"../../../src/components/VSelect/VSelect.sass\"; // Components\n\nimport VChip from '../VChip';\nimport VMenu from '../VMenu';\nimport VSelectList from './VSelectList'; // Extensions\n\nimport VInput from '../VInput';\nimport VTextField from '../VTextField/VTextField'; // Mixins\n\nimport Comparable from '../../mixins/comparable';\nimport Dependent from '../../mixins/dependent';\nimport Filterable from '../../mixins/filterable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers';\nimport { consoleError } from '../../util/console'; // Types\n\nimport mixins from '../../util/mixins';\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304\n}; // Types\n\nconst baseMixins = mixins(VTextField, Comparable, Dependent, Filterable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-select',\n directives: {\n ClickOutside\n },\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown'\n },\n attach: {\n type: null,\n default: false\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemColor: {\n type: String,\n default: 'primary'\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled'\n },\n itemText: {\n type: [String, Array, Function],\n default: 'text'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean\n },\n\n data() {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined ? this.value : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0\n };\n },\n\n computed: {\n /* All items that the select has */\n allItems() {\n return this.filterDuplicates(this.cachedItems.concat(this.items));\n },\n\n classes() {\n return { ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple\n };\n },\n\n /* Used by other components to overwrite */\n computedItems() {\n return this.allItems;\n },\n\n computedOwns() {\n return `list-${this._uid}`;\n },\n\n computedCounterValue() {\n const value = this.multiple ? this.selectedItems : (this.getText(this.selectedItems[0]) || '').toString();\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value);\n }\n\n return value.length;\n },\n\n directives() {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements()\n }\n }] : undefined;\n },\n\n dynamicHeight() {\n return 'auto';\n },\n\n hasChips() {\n return this.chips || this.smallChips;\n },\n\n hasSlot() {\n return Boolean(this.hasChips || this.$scopedSlots.selection);\n },\n\n isDirty() {\n return this.selectedItems.length > 0;\n },\n\n listData() {\n const scopeId = this.$vnode && this.$vnode.context.$options._scopeId;\n const attrs = scopeId ? {\n [scopeId]: true\n } : {};\n return {\n attrs: { ...attrs,\n id: this.computedOwns\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems\n },\n on: {\n select: this.selectItem\n },\n scopedSlots: {\n item: this.$scopedSlots.item\n }\n };\n },\n\n staticList() {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used');\n }\n\n return this.$createElement(VSelectList, this.listData);\n },\n\n virtualizedItems() {\n return this.$_menuProps.auto ? this.computedItems : this.computedItems.slice(0, this.lastItem);\n },\n\n menuCanShow: () => true,\n\n $_menuProps() {\n let normalisedProps = typeof this.menuProps === 'string' ? this.menuProps.split(',') : this.menuProps;\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true;\n return acc;\n }, {});\n }\n\n return { ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0,\n ...normalisedProps\n };\n }\n\n },\n watch: {\n internalValue(val) {\n this.initialValue = val;\n this.setSelectedItems();\n },\n\n isMenuActive(val) {\n window.setTimeout(() => this.onMenuActiveChange(val));\n },\n\n items: {\n immediate: true,\n\n handler(val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val));\n });\n }\n\n this.setSelectedItems();\n }\n\n }\n },\n methods: {\n /** @public */\n blur(e) {\n VTextField.options.methods.blur.call(this, e);\n this.isMenuActive = false;\n this.isFocused = false;\n this.selectedIndex = -1;\n this.setMenuIndex(-1);\n },\n\n /** @public */\n activateMenu() {\n if (!this.isInteractive || this.isMenuActive) return;\n this.isMenuActive = true;\n },\n\n clearableCallback() {\n this.setValue(this.multiple ? [] : null);\n this.setMenuIndex(-1);\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus());\n if (this.openOnClear) this.isMenuActive = true;\n },\n\n closeConditional(e) {\n if (!this.isMenuActive) return true;\n return !this._isDestroyed && ( // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n !this.getContent() || !this.getContent().contains(e.target)) && // Click originates from outside the element\n this.$el && !this.$el.contains(e.target) && e.target !== this.$el;\n },\n\n filterDuplicates(arr) {\n const uniqueValues = new Map();\n\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]; // Do not return null values if existant (#14421)\n\n if (item == null) {\n continue;\n } // Do not deduplicate headers or dividers (#12517)\n\n\n if (item.header || item.divider) {\n uniqueValues.set(item, item);\n continue;\n }\n\n const val = this.getValue(item); // TODO: comparator\n\n !uniqueValues.has(val) && uniqueValues.set(val, item);\n }\n\n return Array.from(uniqueValues.values());\n },\n\n findExistingIndex(item) {\n const itemValue = this.getValue(item);\n return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue));\n },\n\n getContent() {\n return this.$refs.menu && this.$refs.menu.$refs.content;\n },\n\n genChipSelection(item, index) {\n const isDisabled = this.isDisabled || this.getDisabled(item);\n const isInteractive = !isDisabled && this.isInteractive;\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: {\n tabindex: -1\n },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips\n },\n on: {\n click: e => {\n if (!isInteractive) return;\n e.stopPropagation();\n this.selectedIndex = index;\n },\n 'click:close': () => this.onChipInput(item)\n },\n key: JSON.stringify(this.getValue(item))\n }, this.getText(item));\n },\n\n genCommaSelection(item, index, last) {\n const color = index === this.selectedIndex && this.computedColor;\n const isDisabled = this.isDisabled || this.getDisabled(item);\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled\n },\n key: JSON.stringify(this.getValue(item))\n }), `${this.getText(item)}${last ? '' : ', '}`);\n },\n\n genDefaultSlot() {\n const selections = this.genSelections();\n const input = this.genInput(); // If the return is an empty array\n // push the input\n\n if (Array.isArray(selections)) {\n selections.push(input); // Otherwise push it into children\n } else {\n selections.children = selections.children || [];\n selections.children.push(input);\n }\n\n return [this.genFieldset(), this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives\n }, [this.genLabel(), this.prefix ? this.genAffix('prefix') : null, selections, this.suffix ? this.genAffix('suffix') : null, this.genClearIcon(), this.genIconSlot(), this.genHiddenInput()]), this.genMenu(), this.genProgress()];\n },\n\n genIcon(type, cb, extraData) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData);\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children[0].data = mergeData(icon.children[0].data, {\n attrs: {\n tabindex: icon.children[0].componentOptions.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined\n }\n });\n }\n\n return icon;\n },\n\n genInput() {\n const input = VTextField.options.methods.genInput.call(this);\n delete input.data.attrs.name;\n input.data = mergeData(input.data, {\n domProps: {\n value: null\n },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off'),\n placeholder: !this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel) ? this.placeholder : undefined\n },\n on: {\n keypress: this.onKeyPress\n }\n });\n return input;\n },\n\n genHiddenInput() {\n return this.$createElement('input', {\n domProps: {\n value: this.lazyValue\n },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name\n }\n });\n },\n\n genInputSlot() {\n const render = VTextField.options.methods.genInputSlot.call(this);\n render.data.attrs = { ...render.data.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns\n };\n return render;\n },\n\n genList() {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot();\n } else {\n return this.staticList;\n }\n },\n\n genListWithSlot() {\n const slots = ['prepend-item', 'no-data', 'append-item'].filter(slotName => this.$slots[slotName]).map(slotName => this.$createElement('template', {\n slot: slotName\n }, this.$slots[slotName])); // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n\n return this.$createElement(VSelectList, { ...this.listData\n }, slots);\n },\n\n genMenu() {\n const props = this.$_menuProps;\n props.activator = this.$refs['input-slot']; // Attach to root el so that\n // menu covers prepend/append icons\n\n if ( // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop ()\n this.attach === true || // If bound to a boolean ()\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el;\n } else {\n props.attach = this.attach;\n }\n\n return this.$createElement(VMenu, {\n attrs: {\n role: undefined\n },\n props,\n on: {\n input: val => {\n this.isMenuActive = val;\n this.isFocused = val;\n },\n scroll: this.onScroll\n },\n ref: 'menu'\n }, [this.genList()]);\n },\n\n genSelections() {\n let length = this.selectedItems.length;\n const children = new Array(length);\n let genSelection;\n\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection;\n } else if (this.hasChips) {\n genSelection = this.genChipSelection;\n } else {\n genSelection = this.genCommaSelection;\n }\n\n while (length--) {\n children[length] = genSelection(this.selectedItems[length], length, length === children.length - 1);\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections'\n }, children);\n },\n\n genSlotSelection(item, index) {\n return this.$scopedSlots.selection({\n attrs: {\n class: 'v-chip--select'\n },\n parent: this,\n item,\n index,\n select: e => {\n e.stopPropagation();\n this.selectedIndex = index;\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive\n });\n },\n\n getMenuIndex() {\n return this.$refs.menu ? this.$refs.menu.listIndex : -1;\n },\n\n getDisabled(item) {\n return getPropertyFromItem(item, this.itemDisabled, false);\n },\n\n getText(item) {\n return getPropertyFromItem(item, this.itemText, item);\n },\n\n getValue(item) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item));\n },\n\n onBlur(e) {\n e && this.$emit('blur', e);\n },\n\n onChipInput(item) {\n if (this.multiple) this.selectItem(item);else this.setValue(null); // If all items have been deleted,\n // open `v-menu`\n\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true;\n } else {\n this.isMenuActive = false;\n }\n\n this.selectedIndex = -1;\n },\n\n onClick(e) {\n if (!this.isInteractive) return;\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true;\n }\n\n if (!this.isFocused) {\n this.isFocused = true;\n this.$emit('focus');\n }\n\n this.$emit('click', e);\n },\n\n onEscDown(e) {\n e.preventDefault();\n\n if (this.isMenuActive) {\n e.stopPropagation();\n this.isMenuActive = false;\n }\n },\n\n onKeyPress(e) {\n if (this.multiple || !this.isInteractive || this.disableLookup) return;\n const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds\n\n const now = performance.now();\n\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = '';\n }\n\n this.keyboardLookupPrefix += e.key.toLowerCase();\n this.keyboardLookupLastTime = now;\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString();\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix);\n });\n const item = this.allItems[index];\n\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5);\n this.setValue(this.returnObject ? item : this.getValue(item));\n this.$nextTick(() => this.$refs.menu.getTiles());\n setTimeout(() => this.setMenuIndex(index));\n }\n },\n\n onKeyDown(e) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return;\n const keyCode = e.keyCode;\n const menu = this.$refs.menu;\n this.$emit('keydown', e);\n if (!menu) return; // If menu is active, allow default\n // listIndex change from menu\n\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e);\n this.$emit('update:list-index', menu.listIndex);\n });\n } // If enter, space, open menu\n\n\n if ([keyCodes.enter, keyCodes.space].includes(keyCode)) this.activateMenu(); // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n\n if (!this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)) return this.onUpDown(e); // If escape deactivate the menu\n\n if (keyCode === keyCodes.esc) return this.onEscDown(e); // If tab - select item or close menu\n\n if (keyCode === keyCodes.tab) return this.onTabDown(e); // If space preventDefault\n\n if (keyCode === keyCodes.space) return this.onSpaceDown(e);\n },\n\n onMenuActiveChange(val) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (this.multiple && !val || this.getMenuIndex() > -1) return;\n const menu = this.$refs.menu;\n if (!menu || !this.isDirty) return; // When menu opens, set index of first active item\n\n this.$refs.menu.getTiles();\n\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i);\n break;\n }\n }\n },\n\n onMouseUp(e) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (this.hasMouseDown && e.which !== 3 && this.isInteractive) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => this.isMenuActive = !this.isMenuActive);\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e);\n },\n\n onScroll() {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => this.getContent().scrollTop = 0);\n } else {\n if (this.lastItem > this.computedItems.length) return;\n const showMoreItems = this.getContent().scrollHeight - (this.getContent().scrollTop + this.getContent().clientHeight) < 200;\n\n if (showMoreItems) {\n this.lastItem += 20;\n }\n }\n },\n\n onSpaceDown(e) {\n e.preventDefault();\n },\n\n onTabDown(e) {\n const menu = this.$refs.menu;\n if (!menu) return;\n const activeTile = menu.activeTile; // An item that is selected by\n // menu-index should toggled\n\n if (!this.multiple && activeTile && this.isMenuActive) {\n e.preventDefault();\n e.stopPropagation();\n activeTile.click();\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e);\n }\n },\n\n onUpDown(e) {\n const menu = this.$refs.menu;\n if (!menu) return;\n e.preventDefault(); // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n\n if (this.multiple) return this.activateMenu();\n const keyCode = e.keyCode; // Cycle through available values to achieve\n // select native behavior\n\n menu.isBooted = true;\n window.requestAnimationFrame(() => {\n menu.getTiles();\n if (!menu.hasClickableTiles) return this.activateMenu();\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile();\n break;\n\n case keyCodes.down:\n menu.nextTile();\n break;\n\n case keyCodes.home:\n menu.firstTile();\n break;\n\n case keyCodes.end:\n menu.lastTile();\n break;\n }\n\n this.selectItem(this.allItems[this.getMenuIndex()]);\n });\n },\n\n selectItem(item) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item));\n this.isMenuActive = false;\n } else {\n const internalValue = (this.internalValue || []).slice();\n const i = this.findExistingIndex(item);\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item);\n this.setValue(internalValue.map(i => {\n return this.returnObject ? i : this.getValue(i);\n })); // When selecting multiple\n // adjust menu after each\n // selection\n\n this.$nextTick(() => {\n this.$refs.menu && this.$refs.menu.updateDimensions();\n }); // There is no item to re-highlight\n // when selections are hidden\n\n if (this.hideSelected) {\n this.setMenuIndex(-1);\n } else {\n const index = this.allItems.indexOf(item);\n\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles());\n setTimeout(() => this.setMenuIndex(index));\n }\n }\n }\n },\n\n setMenuIndex(index) {\n this.$refs.menu && (this.$refs.menu.listIndex = index);\n },\n\n setSelectedItems() {\n const selectedItems = [];\n const values = !this.multiple || !Array.isArray(this.internalValue) ? [this.internalValue] : this.internalValue;\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(this.getValue(v), this.getValue(value)));\n\n if (index > -1) {\n selectedItems.push(this.allItems[index]);\n }\n }\n\n this.selectedItems = selectedItems;\n },\n\n setValue(value) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value;\n this.$emit('change', value);\n }\n },\n\n isAppendInner(target) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner'];\n return appendInner && (appendInner === target || appendInner.contains(target));\n }\n\n }\n});\n//# sourceMappingURL=VSelect.js.map","import { keys } from '../../util/helpers';\n\nconst handleGesture = wrapper => {\n const {\n touchstartX,\n touchendX,\n touchstartY,\n touchendY\n } = wrapper;\n const dirRatio = 0.5;\n const minDistance = 16;\n wrapper.offsetX = touchendX - touchstartX;\n wrapper.offsetY = touchendY - touchstartY;\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);\n wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);\n wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);\n }\n};\n\nfunction touchstart(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchstartX = touch.clientX;\n wrapper.touchstartY = touch.clientY;\n wrapper.start && wrapper.start(Object.assign(event, wrapper));\n}\n\nfunction touchend(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchendX = touch.clientX;\n wrapper.touchendY = touch.clientY;\n wrapper.end && wrapper.end(Object.assign(event, wrapper));\n handleGesture(wrapper);\n}\n\nfunction touchmove(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchmoveX = touch.clientX;\n wrapper.touchmoveY = touch.clientY;\n wrapper.move && wrapper.move(Object.assign(event, wrapper));\n}\n\nfunction createHandlers(value) {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end\n };\n return {\n touchstart: e => touchstart(e, wrapper),\n touchend: e => touchend(e, wrapper),\n touchmove: e => touchmove(e, wrapper)\n };\n}\n\nfunction inserted(el, binding, vnode) {\n const value = binding.value;\n const target = value.parent ? el.parentElement : el;\n const options = value.options || {\n passive: true\n }; // Needed to pass unit tests\n\n if (!target) return;\n const handlers = createHandlers(binding.value);\n target._touchHandlers = Object(target._touchHandlers);\n target._touchHandlers[vnode.context._uid] = handlers;\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options);\n });\n}\n\nfunction unbind(el, binding, vnode) {\n const target = binding.value.parent ? el.parentElement : el;\n if (!target || !target._touchHandlers) return;\n const handlers = target._touchHandlers[vnode.context._uid];\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName]);\n });\n delete target._touchHandlers[vnode.context._uid];\n}\n\nexport const Touch = {\n inserted,\n unbind\n};\nexport default Touch;\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VChip/VChip.sass\";\nimport mixins from '../../util/mixins'; // Components\n\nimport { VExpandXTransition } from '../transitions';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable';\nimport Routable from '../../mixins/routable';\nimport Sizeable from '../../mixins/sizeable'; // Utilities\n\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default mixins(Colorable, Sizeable, Routable, Themeable, GroupableFactory('chipGroup'), ToggleableFactory('inputValue')).extend({\n name: 'v-chip',\n props: {\n active: {\n type: Boolean,\n default: true\n },\n activeClass: {\n type: String,\n\n default() {\n if (!this.chipGroup) return '';\n return this.chipGroup.activeClass;\n }\n\n },\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete'\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close'\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete'\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span'\n },\n textColor: String,\n value: null\n },\n data: () => ({\n proxyClass: 'v-chip--active'\n }),\n computed: {\n classes() {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses\n };\n },\n\n hasClose() {\n return Boolean(this.close);\n },\n\n isClickable() {\n return Boolean(Routable.options.computed.isClickable.call(this) || this.chipGroup);\n }\n\n },\n\n created() {\n const breakingProps = [['outline', 'outlined'], ['selected', 'input-value'], ['value', 'active'], ['@input', '@active.sync']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n },\n\n methods: {\n click(e) {\n this.$emit('click', e);\n this.chipGroup && this.toggle();\n },\n\n genFilter() {\n const children = [];\n\n if (this.isActive) {\n children.push(this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: {\n left: true\n }\n }, this.filterIcon));\n }\n\n return this.$createElement(VExpandXTransition, children);\n },\n\n genClose() {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel)\n },\n on: {\n click: e => {\n e.stopPropagation();\n e.preventDefault();\n this.$emit('click:close');\n this.$emit('update:active', false);\n }\n }\n }, this.closeIcon);\n },\n\n genContent() {\n return this.$createElement('span', {\n staticClass: 'v-chip__content'\n }, [this.filter && this.genFilter(), this.$slots.default, this.hasClose && this.genClose()]);\n }\n\n },\n\n render(h) {\n const children = [this.genContent()];\n let {\n tag,\n data\n } = this.generateRouteLink();\n data.attrs = { ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs.tabindex\n };\n data.directives.push({\n name: 'show',\n value: this.active\n });\n data = this.setBackgroundColor(this.color, data);\n const color = this.textColor || this.outlined && this.color;\n return h(tag, this.setTextColor(color, data), children);\n }\n\n});\n//# sourceMappingURL=VChip.js.map","// Styles\nimport \"../../../src/components/VMenu/VMenu.sass\"; // Components\n\nimport { VThemeProvider } from '../VThemeProvider'; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Delayable from '../../mixins/delayable';\nimport Dependent from '../../mixins/dependent';\nimport Menuable from '../../mixins/menuable';\nimport Returnable from '../../mixins/returnable';\nimport Roundable from '../../mixins/roundable';\nimport Toggleable from '../../mixins/toggleable';\nimport Themeable from '../../mixins/themeable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside';\nimport Resize from '../../directives/resize'; // Utilities\n\nimport mixins from '../../util/mixins';\nimport { removed } from '../../util/console';\nimport { convertToUnit, keyCodes } from '../../util/helpers';\nimport goTo from '../../services/goto';\nconst baseMixins = mixins(Dependent, Delayable, Menuable, Returnable, Roundable, Toggleable, Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-menu',\n directives: {\n ClickOutside,\n Resize\n },\n\n provide() {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme\n };\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true\n },\n closeOnContentClick: {\n type: Boolean,\n default: true\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto'\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left'\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition'\n }\n },\n\n data() {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null,\n tiles: []\n };\n },\n\n computed: {\n activeTile() {\n return this.tiles[this.listIndex];\n },\n\n calculatedLeft() {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth));\n if (!this.auto) return this.calcLeft(menuWidth) || '0';\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0';\n },\n\n calculatedMaxHeight() {\n const height = this.auto ? '200px' : convertToUnit(this.maxHeight);\n return height || '0';\n },\n\n calculatedMaxWidth() {\n return convertToUnit(this.maxWidth) || '0';\n },\n\n calculatedMinWidth() {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0';\n }\n\n const minWidth = Math.min(this.dimensions.activator.width + Number(this.nudgeWidth) + (this.auto ? 16 : 0), Math.max(this.pageWidth - 24, 0));\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth)) ? minWidth : parseInt(this.calculatedMaxWidth);\n return convertToUnit(Math.min(calculatedMaxWidth, minWidth)) || '0';\n },\n\n calculatedTop() {\n const top = !this.auto ? this.calcTop() : convertToUnit(this.calcYOverflow(this.calculatedTopAuto));\n return top || '0';\n },\n\n hasClickableTiles() {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1));\n },\n\n styles() {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex\n };\n }\n\n },\n watch: {\n isActive(val) {\n if (!val) this.listIndex = -1;\n },\n\n isContentActive(val) {\n this.hasJustFocused = val;\n },\n\n listIndex(next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next];\n tile.classList.add('v-list-item--highlighted');\n const scrollTop = this.$refs.content.scrollTop;\n const contentHeight = this.$refs.content.clientHeight;\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content\n });\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content\n });\n }\n }\n\n prev in this.tiles && this.tiles[prev].classList.remove('v-list-item--highlighted');\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 mounted() {\n this.isActive && this.callActivate();\n },\n\n methods: {\n activate() {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions(); // Start the transition\n\n requestAnimationFrame(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto();\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition());\n }\n });\n });\n },\n\n calcScrollPosition() {\n const $el = this.$refs.content;\n const activeTile = $el.querySelector('.v-list-item--active');\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight;\n return activeTile ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2)) : $el.scrollTop;\n },\n\n calcLeftAuto() {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2);\n },\n\n calcTopAuto() {\n const $el = this.$refs.content;\n const activeTile = $el.querySelector('.v-list-item--active');\n\n if (!activeTile) {\n this.selectedIndex = null;\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop;\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile);\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition();\n const firstTileOffsetTop = $el.querySelector('.v-list-item').offsetTop;\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1;\n },\n\n changeListIndex(e) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles();\n\n if (!this.isActive || !this.hasClickableTiles) {\n return;\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false;\n return;\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile();\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile();\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile();\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile();\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click();\n } else {\n return;\n } // One of the conditions was met, prevent default action (#2988)\n\n\n e.preventDefault();\n },\n\n closeConditional(e) {\n const target = e.target;\n return this.isActive && !this._isDestroyed && this.closeOnClick && !this.$refs.content.contains(target);\n },\n\n genActivatorAttributes() {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this);\n\n if (this.activeTile && this.activeTile.id) {\n return { ...attributes,\n 'aria-activedescendant': this.activeTile.id\n };\n }\n\n return attributes;\n },\n\n genActivatorListeners() {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this);\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown;\n }\n\n return listeners;\n },\n\n genTransition() {\n const content = this.genContent();\n if (!this.transition) return content;\n return this.$createElement('transition', {\n props: {\n name: this.transition\n }\n }, [content]);\n },\n\n genDirectives() {\n const directives = [{\n name: 'show',\n value: this.isContentActive\n }]; // Do not add click outside for hover menu\n\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => {\n this.isActive = false;\n },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()]\n }\n });\n }\n\n return directives;\n },\n\n genContent() {\n const options = {\n attrs: { ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu'\n },\n staticClass: 'v-menu__content',\n class: { ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: e => {\n const target = e.target;\n if (target.getAttribute('disabled')) return;\n if (this.closeOnContentClick) this.isActive = false;\n },\n keydown: this.onKeyDown\n }\n };\n\n if (this.$listeners.scroll) {\n options.on = options.on || {};\n options.on.scroll = this.$listeners.scroll;\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {};\n options.on.mouseenter = this.mouseEnterHandler;\n }\n\n if (this.openOnHover) {\n options.on = options.on || {};\n options.on.mouseleave = this.mouseLeaveHandler;\n }\n\n return this.$createElement('div', options, this.getContentSlot());\n },\n\n getTiles() {\n if (!this.$refs.content) return;\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'));\n },\n\n mouseEnterHandler() {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return;\n this.hasJustFocused = true;\n });\n },\n\n mouseLeaveHandler(e) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n var _this$$refs$content;\n\n if ((_this$$refs$content = this.$refs.content) != null && _this$$refs$content.contains(e.relatedTarget)) return;\n requestAnimationFrame(() => {\n this.isActive = false;\n this.callDeactivate();\n });\n });\n },\n\n nextTile() {\n const tile = this.tiles[this.listIndex + 1];\n\n if (!tile) {\n if (!this.tiles.length) return;\n this.listIndex = -1;\n this.nextTile();\n return;\n }\n\n this.listIndex++;\n if (tile.tabIndex === -1) this.nextTile();\n },\n\n prevTile() {\n const tile = this.tiles[this.listIndex - 1];\n\n if (!tile) {\n if (!this.tiles.length) return;\n this.listIndex = this.tiles.length;\n this.prevTile();\n return;\n }\n\n this.listIndex--;\n if (tile.tabIndex === -1) this.prevTile();\n },\n\n lastTile() {\n const tile = this.tiles[this.tiles.length - 1];\n if (!tile) return;\n this.listIndex = this.tiles.length - 1;\n if (tile.tabIndex === -1) this.prevTile();\n },\n\n firstTile() {\n const tile = this.tiles[0];\n if (!tile) return;\n this.listIndex = 0;\n if (tile.tabIndex === -1) this.nextTile();\n },\n\n onKeyDown(e) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => {\n this.isActive = false;\n });\n const activator = this.getActivator();\n this.$nextTick(() => activator && activator.focus());\n } else if (!this.isActive && [keyCodes.up, keyCodes.down].includes(e.keyCode)) {\n this.isActive = true;\n } // Allow for isActive watcher to generate tile list\n\n\n this.$nextTick(() => this.changeListIndex(e));\n },\n\n onResize() {\n if (!this.isActive) return; // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n\n this.$refs.content.offsetWidth;\n this.updateDimensions(); // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100);\n }\n\n },\n\n render(h) {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached': this.attach === '' || this.attach === true || this.attach === 'attach'\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize\n }]\n };\n return h('div', data, [!this.activator && this.genActivator(), this.showLazyContent(() => [this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark\n }\n }, [this.genTransition()])])]);\n }\n\n});\n//# sourceMappingURL=VMenu.js.map","import { deprecate } from '../../util/console';\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'mobile',\n props: {\n mobileBreakpoint: {\n type: [Number, String],\n\n default() {\n // Avoid destroying unit\n // tests for users\n return this.$vuetify ? this.$vuetify.breakpoint.mobileBreakpoint : undefined;\n },\n\n validator: v => !isNaN(Number(v)) || ['xs', 'sm', 'md', 'lg', 'xl'].includes(String(v))\n }\n },\n computed: {\n isMobile() {\n const {\n mobile,\n width,\n name,\n mobileBreakpoint\n } = this.$vuetify.breakpoint; // Check if local mobileBreakpoint matches\n // the application's mobileBreakpoint\n\n if (mobileBreakpoint === this.mobileBreakpoint) return mobile;\n const mobileWidth = parseInt(this.mobileBreakpoint, 10);\n const isNumber = !isNaN(mobileWidth);\n return isNumber ? width < mobileWidth : name === this.mobileBreakpoint;\n }\n\n },\n\n created() {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('mobile-break-point')) {\n deprecate('mobile-break-point', 'mobile-breakpoint', this);\n }\n }\n\n});\n//# sourceMappingURL=index.js.map","import Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend({\n name: 'returnable',\n props: {\n returnValue: null\n },\n data: () => ({\n isActive: false,\n originalValue: null\n }),\n watch: {\n isActive(val) {\n if (val) {\n this.originalValue = this.returnValue;\n } else {\n this.$emit('update:return-value', this.originalValue);\n }\n }\n\n },\n methods: {\n save(value) {\n this.originalValue = value;\n setTimeout(() => {\n this.isActive = false;\n });\n }\n\n }\n});\n//# sourceMappingURL=index.js.map","// Components\nimport VOverlay from '../../components/VOverlay'; // Utilities\n\nimport { keyCodes, addOnceEventListener, addPassiveEventListener, getZIndex, composedPath } from '../../util/helpers'; // Types\n\nimport Vue from 'vue';\n/* @vue/component */\n\nexport default Vue.extend().extend({\n name: 'overlayable',\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String]\n },\n\n data() {\n return {\n animationFrame: 0,\n overlay: null\n };\n },\n\n watch: {\n hideOverlay(value) {\n if (!this.isActive) return;\n if (value) this.removeOverlay();else this.genOverlay();\n }\n\n },\n\n beforeDestroy() {\n this.removeOverlay();\n },\n\n methods: {\n createOverlay() {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity\n }\n });\n overlay.$mount();\n const parent = this.absolute ? this.$el.parentNode : document.querySelector('[data-app]');\n parent && parent.insertBefore(overlay.$el, parent.firstChild);\n this.overlay = overlay;\n },\n\n genOverlay() {\n this.hideScroll();\n if (this.hideOverlay) return;\n if (!this.overlay) this.createOverlay();\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return;\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1);\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el);\n }\n\n this.overlay.value = true;\n });\n return true;\n },\n\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay(showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (!this.overlay || !this.overlay.$el || !this.overlay.$el.parentNode || this.overlay.value || this.isActive) return;\n this.overlay.$el.parentNode.removeChild(this.overlay.$el);\n this.overlay.$destroy();\n this.overlay = null;\n }); // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n\n cancelAnimationFrame(this.animationFrame);\n this.overlay.value = false;\n }\n\n showScroll && this.showScroll();\n },\n\n scrollListener(e) {\n if (e.type === 'keydown') {\n if (['INPUT', 'TEXTAREA', 'SELECT'].includes(e.target.tagName) || // https://github.com/vuetifyjs/vuetify/issues/4715\n e.target.isContentEditable) return;\n const up = [keyCodes.up, keyCodes.pageup];\n const down = [keyCodes.down, keyCodes.pagedown];\n\n if (up.includes(e.keyCode)) {\n e.deltaY = -1;\n } else if (down.includes(e.keyCode)) {\n e.deltaY = 1;\n } else {\n return;\n }\n }\n\n if (e.target === this.overlay || e.type !== 'keydown' && e.target === document.body || this.checkPath(e)) e.preventDefault();\n },\n\n hasScrollbar(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return (['auto', 'scroll'].includes(style.overflowY) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight || ['auto', 'scroll'].includes(style.overflowX) && el.scrollWidth > el.clientWidth;\n },\n\n shouldScroll(el, e) {\n if (el.hasAttribute('data-app')) return false;\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y';\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY;\n let alreadyAtStart;\n let alreadyAtEnd;\n\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0;\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight;\n } else {\n alreadyAtStart = el.scrollLeft === 0;\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth;\n }\n\n const scrollingUp = delta < 0;\n const scrollingDown = delta > 0;\n if (!alreadyAtStart && scrollingUp) return true;\n if (!alreadyAtEnd && scrollingDown) return true;\n\n if (alreadyAtStart || alreadyAtEnd) {\n return this.shouldScroll(el.parentNode, e);\n }\n\n return false;\n },\n\n isInside(el, parent) {\n if (el === parent) {\n return true;\n } else if (el === null || el === document.body) {\n return false;\n } else {\n return this.isInside(el.parentNode, parent);\n }\n },\n\n checkPath(e) {\n const path = composedPath(e);\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog; // getSelection returns null in firefox in some edge cases, can be ignored\n\n const selected = window.getSelection().anchorNode;\n\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e);\n }\n\n return true;\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index];\n if (el === document) return true;\n if (el === document.documentElement) return true;\n if (el === this.$refs.content) return true;\n if (this.hasScrollbar(el)) return !this.shouldScroll(el, e);\n }\n\n return true;\n },\n\n hideScroll() {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement.classList.add('overflow-y-hidden');\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, {\n passive: false\n });\n window.addEventListener('keydown', this.scrollListener);\n }\n },\n\n showScroll() {\n document.documentElement.classList.remove('overflow-y-hidden');\n window.removeEventListener('wheel', this.scrollListener);\n window.removeEventListener('keydown', this.scrollListener);\n }\n\n }\n});\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}