{"version":3,"sources":["webpack:///../../../src/components/VWindow/VWindowItem.ts","webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///./src/views/AgendaVisitasSet.vue?d7ba","webpack:///./src/components/AgendaFormAddVisit.vue?e12e","webpack:///src/components/AgendaFormAddVisit.vue","webpack:///./src/components/AgendaFormAddVisit.vue?782a","webpack:///./src/components/AgendaFormAddVisit.vue","webpack:///./src/components/AgendaFormEditVisit.vue?3675","webpack:///src/components/AgendaFormEditVisit.vue","webpack:///./src/components/AgendaFormEditVisit.vue?473a","webpack:///./src/components/AgendaFormEditVisit.vue","webpack:///src/views/AgendaVisitasSet.vue","webpack:///./src/views/AgendaVisitasSet.vue?252f","webpack:///../../../../src/components/VCalendar/mixins/mouse.ts","webpack:///../../../../src/components/VCalendar/mixins/times.ts","webpack:///../../../../src/components/VCalendar/modes/common.ts","webpack:///../../../../src/components/VCalendar/modes/stack.ts","webpack:///../../../../src/components/VCalendar/modes/column.ts","webpack:///../../../../src/components/VCalendar/modes/index.ts","webpack:///../../../../src/components/VCalendar/util/props.ts","webpack:///../../../../src/components/VCalendar/mixins/calendar-base.ts","webpack:///../../../../src/components/VCalendar/util/events.ts","webpack:///../../../../src/components/VCalendar/mixins/calendar-with-events.ts","webpack:///../../../src/components/VCalendar/VCalendarWeekly.ts","webpack:///../../../src/components/VCalendar/VCalendarMonthly.ts","webpack:///../../../../src/components/VCalendar/mixins/calendar-with-intervals.ts","webpack:///../../../src/components/VCalendar/VCalendarDaily.ts","webpack:///../../../../src/components/VCalendar/util/parser.ts","webpack:///../../../src/components/VCalendar/VCalendarCategory.ts","webpack:///../../../src/components/VCalendar/VCalendar.ts","webpack:///./src/views/AgendaVisitasSet.vue?662e","webpack:///./src/components/AgendaClienteComboVisitas.vue?4837","webpack:///src/components/AgendaClienteComboVisitas.vue","webpack:///./src/components/AgendaClienteComboVisitas.vue?47b9","webpack:///./src/components/AgendaClienteComboVisitas.vue","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///../../../src/components/VSlideGroup/VSlideGroup.ts","webpack:///../../../src/components/VSlideGroup/VSlideItem.ts","webpack:///./node_modules/core-js/modules/es.number.max-safe-integer.js","webpack:///../../../src/components/VItemGroup/VItem.ts","webpack:///./src/views/AgendaVisitasSet.vue?70c0","webpack:///../../../src/components/VWindow/VWindow.ts"],"names":["baseMixins","name","directives","Touch","props","disabled","reverseTransition","type","Boolean","default","undefined","transition","value","required","data","isActive","inTransition","computed","classes","this","computedTransition","windowGroup","methods","genDefaultSlot","$slots","genWindowItem","$createElement","staticClass","class","on","$listeners","onAfterTransition","transitionCount","onBeforeTransition","$el","onTransitionCancelled","onEnter","el","render","h","beforeEnter","afterEnter","enterCancelled","beforeLeave","afterLeave","leaveCancelled","enter","showLazyContent","app","centered","contentClass","multiLine","text","timeout","Number","validator","v","vertical","activeTimeout","bottom","hasBackground","isDark","styles","$vuetify","top","paddingBottom","paddingLeft","paddingRight","paddingTop","bar","watch","mounted","setTimeout","created","$attrs","hasOwnProperty","genActions","attrs","genContent","role","genWrapper","setColor","style","pointerenter","window","pointerleave","genTransition","provide","radioGroup","column","height","row","id","computedId","genInputSlot","genLabel","label","onClick","_vm","_h","_c","_self","key","idDialog","staticStyle","breakpoint","smAndDown","_v","$refs","_s","calendar","title","_e","idCliente","nbCli","annioActual","prev","setAgenda","idDist","mesActual","fecha_hoy","next","$event","set_dialogNewVisit","showcal","idform","datos","ref","weekday","localidad","events","mode","getEventColor","getEvents","showEvent","viewDay","scopedSlots","_u","fn","event","model","callback","$$v","expression","selectedOpen","domProps","selectedEvent","step","moment","FechaAgenda","format","FechaVisita","IndPedidos","IndCobros","IndPresupuesto","IndBoletin","IndLlamar","Notas","mdAndUp","eliminarVisita","NumVisita","Cliente","editar","IndModificar","DialgAgenda","fechaVi","loadingAgenda","_b","snackbar","fechaAgnd","staticRenderFns","selected","_g","formatCalendarDia","menu2","minimo","fecha_max","landscape","fechavi","proxy","TipoVisita","_l","item","acuerdos","offsetY","monto","refer","detalleselect","i","active","toggle","des","obs","guardarAgenda","String","idcli","iddist","Date","detalles","atencioncli","isDetalle","includes","fechaAgenda","fecha","VBtn","VCard","VCardActions","VCardText","VChip","VCol","VDatePicker","VDivider","VIcon","VMenu","VRadio","VRadioGroup","VRow","VSelect","VSlideGroup","VSlideItem","VSpacer","VTextField","VTextarea","VToolbar","VToolbarTitle","edititem","$set","rawName","Object","VCheckbox","dialog","annioSelect","annio","selectedElement","modes","weekdays","colors","names","components","comboCliente","formAddAgenda","formEditAgenda","clearFilter","clr_filterAgendaVisit","clr_filterAgendatipo","clr_filterAgendaciudad","console","log","arraySel","fechaSel","arrayHoy","date","requestAnimationFrame","open","nativeEvent","stopPropagation","color","rnd","Math","floor","b","a","random","dsAgenda","ttmaevis","forEach","push","start","end","DesVisita","NombreCli","NumPedidos","NumPresupuesto","MontoCobrado","Vendedor","Acuerdos","validaUser","deep","immediate","get","dialogNewVisit","set","linkAgenda","dataUser","TipoUsuario","IndAutenticado","$router","parseInt","$route","params","dist","nbcli","ttCliente","nombre","cli","getDefaultMouseEventHandlers","getMouseEventHandlers","prevent","result","eventOptions","prefix","handler","e","mouseEvent","currentTarget","document","TouchEvent","changedTouches","targetTouches","touches","getEvent","Array","now","times","today","parsedNow","setPresent","present","past","future","updateTimes","getNow","updateDay","target","updateTime","MILLIS_IN_DAY","minStart","visuals","columnCount","left","width","exclude","s0","e0","groups","group","groupVisual","dayStart","intersected","hasOverlap","k","timed","getRange","getDayRange","groupStart","groupEnd","min","max","reset","getVisuals","day","dayEvents","visual","setColumnCount","targetGroup","getOpenGroup","FULL_WIDTH","DEFAULT_OFFSET","WIDTH_MULTIPLIER","firstWeekday","overlapThreshold","getOverlapGroupHandler","getGroups","nodes","child","getNode","index","getNextIndex","parent","getParent","addTime","getOverlappingRange","children","grand","grandNext","calculateBounds","columns","getMaxChildIndex","spaceLeft","spaceWidth","offset","columnWidthMultiplier","getColumnWidthMultiplier","node","columnOffset","columnWidth","hasFullWidth","maxColumn","minColumn","c","getOverlappingIndices","indices","other","returnFirstColumn","overlapping","first","n","getNormalizedRange","added","sibling","childMax","removeMinutes","identifier","totalMinutes","addHours","addMinutes","CalendarEventOverlapModes","stack","base","validate","validateWeekdays","hideHeader","shortWeekdays","weekdayFormat","dayFormat","intervals","maxDays","shortIntervals","intervalHeight","validateNumber","intervalWidth","intervalMinutes","firstInterval","firstTime","intervalCount","intervalFormat","intervalStyle","showIntervalLabel","weeks","localeFirstDayOfYear","minWeeks","shortMonths","showMonthOnFirst","showWeek","monthFormat","category","categories","categoryText","Function","categoryHideDynamic","categoryShowAll","categoryForInvalid","categoryDays","x","isFinite","eventStart","eventEnd","eventTimed","eventCategory","eventHeight","eventColor","eventTextColor","eventName","eventOverlapThreshold","eventOverlapMode","eventMore","eventMoreText","eventRipple","eventMarginBottom","input","ints","visited","wrapped","d","mixins","Resize","parsedWeekdays","weekdaySkips","weekdaySkipsReverse","reversed","reverse","parsedStart","parsedEnd","days","dayFormatter","options","timeZone","weekdayFormatter","longOptions","shortOptions","short","getRelativeClasses","outside","timestamp","getStartOfWeek","getEndOfWeek","getFormatter","startInput","endInput","startParsed","endParsed","startIdentifier","startTimestampIdentifier","endIdentifier","endOffset","endTimestampIdentifier","allDay","dayIdentifier","isEventOn","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","ripple","noEvents","length","parsedEvents","map","parsedEventOverlapThreshold","eventTimedFunction","eventCategoryFunction","eventTextColorFunction","eventNameFunction","eventModeFunction","eventWeekdays","categoryMode","eventColorFunction","parseEvent","formatTime","formatter","hour","minute","withTime","updateEventVisibility","eventsMap","more","parentBounds","last","eventsSorted","hidden","hide","lang","t","getEventsMap","elements","genDayEvent","week","weekdayIdentifier","scope","eventParsed","genEvent","refInFor","genTimedEvent","isEventHiddenOn","slot","$scopedSlots","background","overlapsNoon","singline","timeSummary","eventSummary","time","delimiter","scopeInput","setTextColor","setBackgroundColor","genName","innerHTML","genPlaceholder","genMore","click","display","getVisibleEvents","filter","isEventOverlapping","isEventForCategory","getEventsForDay","isEventStart","getEventsForDayAll","getEventsForDayTimed","getScopedSlots","isNode","getSlotChildren","getter","mapper","mapped","slots","slotDay","slotDayHeader","slotDayBody","parsedMinWeeks","minDays","todayWeek","monthFormatter","month","isOutside","genHead","genHeadDays","header","genHeadDay","genWeeks","weekDays","genWeek","getWeekNumber","weekNodes","genWeekNumber","determineDay","genDay","genDayLabel","genDayLabelButton","hasMonth","fab","depressed","small","stop","genDayMonth","dragstart","parsedFirstInterval","parsedIntervalMinutes","parsedIntervalCount","parsedIntervalHeight","parseFloat","parsedFirstTime","firstMinute","bodyHeight","minutes","count","intervalFormatter","shortHourOptions","tms","showIntervalLabelDefault","isFirst","interval","intervalStyleDefault","getTimestampAtEvent","bounds","baseMinutes","touchEvent","clientY","addIntervals","getSlotScope","scrollToTime","y","timeToY","pane","minutesToPixels","clamp","timeDelta","gap","scrollPush","themeClasses","init","onResize","getScrollPush","area","marginRight","genHeadIntervals","genHeadWeekday","genHeadDayLabel","genDayHeader","genHeadDayButton","genBody","genScrollArea","genPane","genDayContainer","genDays","genDayIntervals","genDayBody","genDayInterval","styler","genBodyIntervals","genIntervalLabels","genIntervalLabel","shower","show","modifiers","quiet","categoryName","parsedCategoryText","parsedCategories","getParsedCategories","getCategoryScope","cat","genDayHeaderCategory","headerTitle","genDayHeaderCategoryTitle","genDayBodyCategory","lastStart","lastEnd","parsedValue","parsedCategoryDays","renderProps","around","component","getCategoryList","Error","spanYears","spanMonths","monthShortFormatter","monthLongFormatter","updated","checkChange","move","amount","moved","forward","mover","limit","$children","parseTimestamp","timestampToDate","categoryMap","categoryLength","ev","VCalendar","VContainer","VDialog","VList","VListItem","VListItemContent","VListItemSubtitle","VListItemTitle","VOverlay","VProgressCircular","VSheet","VSnackbar","VWindow","VWindowItem","dsAgendaVisitasCombo","readon","selectedItem","vendedor","dsAgendaVisitas","dataCombo","set_idCliente","cargarDatosCombo","inheritAttrs","offIcon","onIcon","readonly","isFocused","groupClasses","computedColor","computedIcon","hasLabel","hasState","isDisabled","isReadonly","computedName","rippleState","validationState","genInput","for","focused","genRadio","radioAttrs","dense","genRipple","onFocus","onBlur","onChange","onKeydown","attrs$","clientWidth","offsetLeft","rtl","widths","currentScrollOffset","totalWidth","itemOffset","additionalOffset","offsetCentered","BaseSlideGroup","activeClass","centerActive","nextIcon","prevIcon","showArrows","internalItemsLength","isOverflowing","resizeTimeout","startX","isSwipingHorizontal","isSwiping","scrollOffset","content","wrapper","canTouch","__cachedNext","__cachedPrev","hasAffixes","isMobile","hasNext","hasPrev","internalValue","beforeUpdate","onScroll","onFocusin","vm","calculateUpdatedOffset","genNext","focusin","genData","genIcon","icon","location","upperLocation","hasAffix","genPrev","scroll","calculateNewOffset","sign","newAbosluteOffset","direction","onAffixClick","onTouchStart","onTouchMove","diffX","diffY","onTouchEnd","maxScrollOffset","overflowCheck","scrollIntoView","items","lastItemPosition","wrapperPosition","selectedIndex","calculateCenteredOffset","scrollTo","setWidths","slideGroup","$","stat","MAX_SAFE_INTEGER","BaseItem","element","continuous","mandatory","showArrowsOnHover","touch","touchless","changedByDelimiters","internalHeight","transitionHeight","isBooted","isReverse","axis","internalReverse","hasActiveItems","find","internalIndex","findIndex","updateReverse","val","genContainer","large","genControlIcons","icons","nextIndex","getPrevIndex","prevIndex","getValue","lastIndex","itemsLength","oldVal","right"],"mappings":"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","file":"js/chunk-7c8c3fc0.93500755.js","sourcesContent":["// Components\nimport VWindow from './VWindow'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n GroupableFactory('windowGroup', 'v-window-item', 'v-window')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n windowGroup: InstanceType\n}\n\nexport default baseMixins.extend().extend(\n /* @vue/component */\n).extend({\n name: 'v-window-item',\n\n directives: {\n Touch,\n },\n\n props: {\n disabled: Boolean,\n reverseTransition: {\n type: [Boolean, String],\n default: undefined,\n },\n transition: {\n type: [Boolean, String],\n default: undefined,\n },\n value: {\n required: false,\n },\n },\n\n data () {\n return {\n isActive: false,\n inTransition: false,\n }\n },\n\n computed: {\n classes (): object {\n return this.groupClasses\n },\n computedTransition (): string | boolean {\n if (!this.windowGroup.internalReverse) {\n return typeof this.transition !== 'undefined'\n ? this.transition || ''\n : this.windowGroup.computedTransition\n }\n\n return typeof this.reverseTransition !== 'undefined'\n ? this.reverseTransition || ''\n : this.windowGroup.computedTransition\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genWindowItem () {\n return this.$createElement('div', {\n staticClass: 'v-window-item',\n class: this.classes,\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: this.$listeners,\n }, this.genDefaultSlot())\n },\n onAfterTransition () {\n if (!this.inTransition) {\n return\n }\n\n // Finalize transition state.\n this.inTransition = false\n if (this.windowGroup.transitionCount > 0) {\n this.windowGroup.transitionCount--\n\n // Remove container height if we are out of transition.\n if (this.windowGroup.transitionCount === 0) {\n this.windowGroup.transitionHeight = undefined\n }\n }\n },\n onBeforeTransition () {\n if (this.inTransition) {\n return\n }\n\n // Initialize transition state here.\n this.inTransition = true\n if (this.windowGroup.transitionCount === 0) {\n // Set initial height for height transition.\n this.windowGroup.transitionHeight = convertToUnit(this.windowGroup.$el.clientHeight)\n }\n this.windowGroup.transitionCount++\n },\n onTransitionCancelled () {\n this.onAfterTransition() // This should have the same path as normal transition end.\n },\n onEnter (el: HTMLElement) {\n if (!this.inTransition) {\n return\n }\n\n this.$nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!this.computedTransition || !this.inTransition) {\n return\n }\n\n // Set transition target height.\n this.windowGroup.transitionHeight = convertToUnit(el.clientHeight)\n })\n },\n },\n\n render (h): VNode {\n return h('transition', {\n props: {\n name: this.computedTransition,\n },\n on: {\n // Handlers for enter windows.\n beforeEnter: this.onBeforeTransition,\n afterEnter: this.onAfterTransition,\n enterCancelled: this.onTransitionCancelled,\n\n // Handlers for leave windows.\n beforeLeave: this.onBeforeTransition,\n afterLeave: this.onAfterTransition,\n leaveCancelled: this.onTransitionCancelled,\n\n // Enter handler for height transition.\n enter: this.onEnter,\n },\n }, this.showLazyContent(() => [this.genWindowItem()]))\n },\n})\n","// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n // Styles are not needed when\n // using the absolute prop.\n if (this.absolute) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n // Should always move for y-axis\n // applicationable components.\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: !this.app ? undefined : convertToUnit(left),\n paddingRight: !this.app ? undefined : convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n style: VSheet.options.computed.styles.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n on: {\n pointerenter: () => window.clearTimeout(this.activeTimeout),\n pointerleave: this.setTimeout,\n },\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{key:_vm.idDialog,class:['mx-auto', 'mb-6'],staticStyle:{\"max-width\":\"1540px\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-list-item',{attrs:{\"three-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{class:[\n 'title',\n {\n 'text-center': _vm.$vuetify.breakpoint.smAndDown,\n } ]},[_vm._v(\"AGENDA DE VISITAS\\n \"),(_vm.$refs.calendar)?_c('span',{staticClass:\"text-uppercase\"},[_vm._v(\"\\n \"+_vm._s(_vm.$refs.calendar.title)+\"\\n \")]):_vm._e()]),_c('v-list-item-subtitle',[_c('comboCliente',{staticClass:\"mt-3\",attrs:{\"readon\":false}})],1),_c('v-list-item-subtitle',{staticClass:\"py-2 font-weight-bold text-subtitle-2\"},[_vm._v(\"\\n \"+_vm._s((\"Cliente: [\" + _vm.idCliente + \"] \" + _vm.nbCli))+\"\\n \")])],1)],1)],1)],1),_c('v-toolbar',{staticClass:\"elevation-1\",attrs:{\"dense\":\"\"}},[_c('v-btn',{staticClass:\"mx-1\",attrs:{\"icon\":\"\",\"outlined\":\"\",\"disabled\":_vm.annioActual(_vm.value),\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function () { return (_vm.$refs.calendar.prev(), _vm.setAgenda(_vm.idDist, _vm.idCliente)); }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\" mdi-chevron-left \")])],1),_c('v-btn',{staticClass:\"ma-4\",attrs:{\"icon\":\"\",\"outlined\":\"\",\"disabled\":_vm.mesActual(_vm.value, _vm.fecha_hoy),\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function () { return (_vm.$refs.calendar.next(), _vm.setAgenda(_vm.idDist, _vm.idCliente)); }}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\" mdi-chevron-right \")])],1),_c('v-divider',{attrs:{\"vertical\":\"\",\"inset\":\"\"}}),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"success\",\"small\":\"\"},on:{\"click\":function($event){_vm.set_dialogNewVisit(true);\n _vm.showcal = true;\n _vm.idform++;}}},[_vm._v(\"\\n Nueva Visita\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\" mdi-plus-box-outline \")])],1),_c('v-divider',{attrs:{\"vertical\":\"\",\"inset\":\"\"}}),_c('v-btn',{staticClass:\"mx-1\",attrs:{\"small\":\"\",\"color\":\"accent\",\"dark\":\"\"},on:{\"click\":function () { return _vm.datos(_vm.idDist); }}},[_vm._v(\"\\n Ver Clientes \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-arrow-left\")])],1),_c('v-spacer')],1),_c('v-sheet',{staticClass:\"mb-5 py-4\"},[_c('v-calendar',{ref:\"calendar\",attrs:{\"weekdays\":_vm.weekday,\"locale\":_vm.localidad,\"type\":\"month\",\"events\":_vm.events,\"now\":_vm.fecha_hoy,\"event-overlap-mode\":_vm.mode,\"event-overlap-threshold\":30,\"event-color\":_vm.getEventColor,\"color\":\"primary\"},on:{\"change\":_vm.getEvents,\"click:event\":_vm.showEvent,\"click:date\":_vm.viewDay},scopedSlots:_vm._u([{key:\"event\",fn:function(ref){\n var event = ref.event;\nreturn [_c('div',{staticClass:\"text-center\"},[_vm._v(\"\\n \"+_vm._s(event.name)+\"\\n \")])]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"max-width\":\"650px\",\"persistent\":\"\"},model:{value:(_vm.selectedOpen),callback:function ($$v) {_vm.selectedOpen=$$v},expression:\"selectedOpen\"}},[_c('v-card',{attrs:{\"color\":\"grey lighten-4\",\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"dense\":\"\",\"height\":\"30\"}},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1),_c('v-toolbar-title',{domProps:{\"innerHTML\":_vm._s(\n ((_vm.selectedEvent.name) + \" \" + (_vm.selectedEvent.DesVisita) + \" N° \" + (_vm.selectedEvent.NumVisita))\n )}}),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.selectedOpen = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',{staticStyle:{\"height\":\"500px\"}},[_c('v-window',{model:{value:(_vm.step),callback:function ($$v) {_vm.step=$$v},expression:\"step\"}},[_c('v-window-item',{attrs:{\"value\":1}},[_c('v-list',[_c('v-list-item',[_c('v-list-item-subtitle',{staticClass:\"\\n black--text\\n ml-n2\\n mt-n4\\n font-weight-bold\\n text-subtitle-1\\n \"},[_vm._v(_vm._s((\"[\" + (_vm.selectedEvent.Cliente) + \"] \" + (_vm.selectedEvent.NombreCli))))])],1),_c('v-divider',{staticClass:\"mt-n3\"}),_c('v-list-item',{staticClass:\"mt-n3 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Numero Visita: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.NumVisita)))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Fecha Agenda: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.moment(_vm.selectedEvent.FechaAgenda).format(\n \"DD/MM/YYYY\"\n ))))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Fecha Visita: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.moment(_vm.selectedEvent.FechaVisita).format(\n \"DD/MM/YYYY\"\n ))))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Tipo Visita: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s(((_vm.selectedEvent.DesVisita) + \" (\" + (_vm.selectedEvent.TipoVisita) + \")\"))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Monto Cobrado: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.MontoCobrado)))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Pedidos: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.IndPedidos ? \"SI\" : \"NO\")))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Cobros: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.IndCobros ? \"SI\" : \"NO\")))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Presupuestos: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.IndPresupuesto ? \"SI\" : \"NO\")))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Publicidad: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.IndBoletin ? \"SI\" : \"NO\")))+\"\\n \")])],1),_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Llamar Luego: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_vm._v(\"\\n \"+_vm._s((\"\" + (_vm.selectedEvent.IndLlamar ? \"SI\" : \"NO\")))+\"\\n \")])],1),(_vm.selectedEvent.Notas)?_c('v-list-item',{staticClass:\"mt-n6 ml-n2\"},[_c('v-list-item-subtitle',{staticClass:\"text-left font-weight-bold black--text\"},[_vm._v(\"\\n \"+_vm._s(\"Observaciones: \")+\"\\n \")]),_c('v-list-item-subtitle',{staticClass:\"text-right\"},[_c('v-textarea',{attrs:{\"readonly\":\"\",\"no-resize\":\"\",\"rows\":\"5\",\"name\":\"input-7-1\",\"value\":_vm.selectedEvent.Notas}})],1)],1):_vm._e()],1)],1),_c('v-window-item',{attrs:{\"value\":2}},[_c('v-card-text',{staticClass:\"text-center pa-12\"},[_c('span',{class:[\n 'font-weight-bold',\n 'grey--text',\n 'text--darken-1',\n\n {\n 'text-h6': _vm.$vuetify.breakpoint.smAndDown,\n },\n {\n 'text-h5': _vm.$vuetify.breakpoint.mdAndUp,\n } ]},[_c('v-icon',[_vm._v(\"mdi-information-outline\")]),_vm._v(\" Seguro que desea\\n Eliminar?\\n \")],1)])],1),_c('v-window-item',{attrs:{\"value\":3}},[_c('v-card-text',[_c('formEditAgenda',{key:_vm.idform,attrs:{\"idcli\":_vm.idCliente,\"iddist\":_vm.idDist,\"edititem\":_vm.selectedEvent}})],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),(_vm.step !== 1)?_c('v-btn',{attrs:{\"color\":_vm.step === 2 ? 'error' : 'success'},on:{\"click\":function($event){_vm.step === 2\n ? _vm.eliminarVisita(\n _vm.selectedEvent.NumVisita,\n _vm.selectedEvent.Cliente,\n _vm.idDist\n )\n : _vm.step === 3\n ? _vm.editar(_vm.selectedEvent)\n : false}}},[_vm._v(\"\\n \"+_vm._s(_vm.step === 2 ? \"Eliminar \" : \"Editar\")+\"\\n \"),(_vm.step === 2)?_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-delete-forever\")]):_vm._e(),(_vm.step === 3)?_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-square-edit-outline\")]):_vm._e()],1):_vm._e(),(_vm.step === 1)?_c('v-btn',{attrs:{\"disabled\":!_vm.selectedEvent.IndModificar,\"color\":\"error\"},on:{\"click\":function($event){_vm.step = 2}}},[_vm._v(\"\\n Eliminar\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-delete-forever\")])],1):_vm._e(),(_vm.step === 1)?_c('v-btn',{attrs:{\"disabled\":!_vm.selectedEvent.IndModificar,\"color\":\"success\"},on:{\"click\":function($event){_vm.step = 3}}},[_vm._v(\"\\n Editar\\n \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-square-edit-outline\")])],1):_vm._e(),(_vm.step === 1)?_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.selectedOpen = false}}},[_vm._v(\"\\n Salir\\n \")]):_vm._e(),(_vm.step !== 1)?_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"info\"},on:{\"click\":function($event){_vm.step = 1}}},[_vm._v(\"\\n Volver\\n \")]):_vm._e()],1)],1)],1),_c('v-dialog',{attrs:{\"scrollable\":\"\",\"max-width\":\"600px\",\"persistent\":\"\"},model:{value:(_vm.DialgAgenda),callback:function ($$v) {_vm.DialgAgenda=$$v},expression:\"DialgAgenda\"}},[_c('formAddAgenda',{key:_vm.idform,attrs:{\"idcli\":_vm.idCliente,\"iddist\":_vm.idDist,\"showcal\":_vm.showcal,\"fechavi\":_vm.fechaVi}})],1),_c('v-overlay',{attrs:{\"value\":_vm.loadingAgenda}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"30\",\"width\":\"2\",\"color\":\"primary\"}}),_c('span',{staticClass:\"ml-2 body-2 font-weight-normal\"},[_vm._v(\"Por Favor, Espere... \")])],1),_c('v-snackbar',{attrs:{\"color\":\"error\",\"multi-line\":\"\",\"timeout\":-1,\"bottom\":\"\",\"centered\":\"\"},scopedSlots:_vm._u([{key:\"action\",fn:function(ref){\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._b({attrs:{\"fab\":\"\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar = false}}},'v-btn',attrs,false),[_c('v-icon',{attrs:{\"size\":\"30\"}},[_vm._v(\" mdi-close \")])],1)]}}]),model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('p',{staticClass:\"text-h6\"},[_vm._v(\"\\n \"+_vm._s((\"La Fecha debe ser Mayor o Igual a la Fecha de Agenda: \\n \" + (_vm.moment(_vm.fechaAgnd).format(\"DD/MM/YYYY\")) + \" y Menor Igual que hoy: \" + (_vm.moment(\n _vm.fecha_hoy\n ).format(\"DD/MM/YYYY\"))))+\"\\n \")])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"color\":\"grey lighten-4\",\"max-width\":\"598px\",\"flat\":\"\"}},[_c('v-toolbar',{attrs:{\"color\":\"primary\",\"dark\":\"\",\"dense\":\"\",\"height\":\"30\"}},[_c('v-toolbar-title',[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-plus-box-outline \")]),_vm._v(\" Nueva Visita\\n \")],1),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.set_dialogNewVisit(false);\n _vm.selected = 0;}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-divider'),_c('v-card-text',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(!_vm.showcal)?_c('span',{staticClass:\"subtitle-2 font-weight-bold black--text mx-n3\"},[_vm._v(\"\\n Fecha Visita: \"+_vm._s(_vm.moment(_vm.fechavi).format(\"DD/MM/YYYY\")))]):_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":10,\"transition\":\"fab-transition\",\"offset-y\":\"\",\"min-width\":\"200px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({staticClass:\"mt-1 font-weight-black\",attrs:{\"label\":\"Seleccione Dia \",\"append-icon\":\"mdi-calendar-today\",\"readonly\":\"\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.formatCalendarDia),callback:function ($$v) {_vm.formatCalendarDia=$$v},expression:\"formatCalendarDia\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menu2),callback:function ($$v) {_vm.menu2=$$v},expression:\"menu2\"}},[_c('v-date-picker',{attrs:{\"first-day-of-week\":1,\"reactive\":\"\",\"color\":\"#002f6c\",\"locale\":_vm.localidad,\"min\":_vm.minimo,\"max\":_vm.fecha_max,\"landscape\":_vm.landscape},on:{\"input\":function($event){_vm.menu2 = false}},model:{value:(_vm.fecha_hoy),callback:function ($$v) {_vm.fecha_hoy=$$v},expression:\"fecha_hoy\"}})],1)],1),_c('v-divider'),_c('v-radio-group',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('strong',[_vm._v(\"Atención al cliente\")])]},proxy:true}]),model:{value:(_vm.TipoVisita),callback:function ($$v) {_vm.TipoVisita=$$v},expression:\"TipoVisita\"}},_vm._l((_vm.atencioncli),function(item){return _c('v-radio',{key:item.id,attrs:{\"label\":(\"\" + (item.des)),\"value\":item.id}})}),1),_c('v-divider'),_c('v-row',[_c('v-col',{staticClass:\"d-flex mt-3\",attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"items\":_vm.acuerdos,\"label\":\"Seleccione el acuerdo\",\"outlined\":\"\",\"return-object\":\"\",\"hide-details\":\"\",\"chips\":\"\",\"dense\":\"\",\"menu-props\":{ top: false, offsetY: true },\"item-text\":function (item) { return ((item.des) + \" \"); },\"item-value\":\"id\"},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-chip',{attrs:{\"color\":\"accent mt-1 ml-n1 font-weight-bold\",\"label\":\"\"}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-check \")]),_vm._v(\"\\n \"+_vm._s((\"\" + (item.des))))],1)]}}]),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1),_c('v-divider'),_c('v-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"12\",\"md\":\"5\"}},[_c('v-text-field',{staticClass:\"mt-1 font-weight-black\",attrs:{\"label\":\"Monto\",\"append-icon\":\"mdi-currency-usd\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":_vm.selected.id !== 3},model:{value:(_vm.monto),callback:function ($$v) {_vm.monto=$$v},expression:\"monto\"}})],1),_c('v-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"12\",\"md\":\"7\"}},[_c('v-text-field',{staticClass:\"mt-1 font-weight-black\",attrs:{\"label\":\"Referencia\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":_vm.selected.id !== 3},model:{value:(_vm.refer),callback:function ($$v) {_vm.refer=$$v},expression:\"refer\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('strong',[_vm._v(\"Detalle de la Visita\")]),_c('v-slide-group',{attrs:{\"multiple\":\"\",\"show-arrows\":\"\"},model:{value:(_vm.detalleselect),callback:function ($$v) {_vm.detalleselect=$$v},expression:\"detalleselect\"}},_vm._l((_vm.detalles),function(item,i){return _c('v-slide-item',{key:i,scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\n var active = ref.active;\n var toggle = ref.toggle;\nreturn [_c('v-btn',{staticClass:\"mx-1\",attrs:{\"input-value\":active,\"active-class\":\"accent\",\"depressed\":\"\",\"small\":\"\"},on:{\"click\":toggle}},[_vm._v(\"\\n \"+_vm._s(item.des)+\"\\n \")])]}}],null,true)})}),1)],1),_c('v-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"outlined\":\"\",\"label\":\"Observaciones\"},model:{value:(_vm.obs),callback:function ($$v) {_vm.obs=$$v},expression:\"obs\"}})],1)],1)],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3\",attrs:{\"loading\":_vm.loadingAgenda,\"color\":\"success\"},on:{\"click\":_vm.guardarAgenda}},[_vm._v(\"\\n Guardar\\n \")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){_vm.selected = 0;\n _vm.set_dialogNewVisit(false);}}},[_vm._v(\"\\n Salir\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaFormAddVisit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaFormAddVisit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AgendaFormAddVisit.vue?vue&type=template&id=ec55e630&\"\nimport script from \"./AgendaFormAddVisit.vue?vue&type=script&lang=js&\"\nexport * from \"./AgendaFormAddVisit.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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSlideGroup } from 'vuetify/lib/components/VSlideGroup';\nimport { VSlideItem } from 'vuetify/lib/components/VSlideGroup';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VChip,VCol,VDatePicker,VDivider,VIcon,VMenu,VRadio,VRadioGroup,VRow,VSelect,VSlideGroup,VSlideItem,VSpacer,VTextField,VTextarea,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":10,\"transition\":\"fab-transition\",\"offset-y\":\"\",\"min-width\":\"200px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({staticClass:\"mt-1 font-weight-black\",attrs:{\"append-icon\":\"mdi-calendar-today\",\"readonly\":\"\",\"disabled\":\"\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.formatCalendarDia),callback:function ($$v) {_vm.formatCalendarDia=$$v},expression:\"formatCalendarDia\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menu2),callback:function ($$v) {_vm.menu2=$$v},expression:\"menu2\"}},[_c('v-date-picker',{attrs:{\"first-day-of-week\":1,\"reactive\":\"\",\"color\":\"#002f6c\",\"locale\":_vm.localidad,\"min\":_vm.minimo,\"max\":_vm.fecha_max,\"landscape\":_vm.landscape},on:{\"input\":function($event){_vm.menu2 = false}},model:{value:(_vm.edititem.FechaVisita),callback:function ($$v) {_vm.$set(_vm.edititem, \"FechaVisita\", $$v)},expression:\"edititem.FechaVisita\"}})],1)],1),_c('v-divider'),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"4\"}},[_c('v-radio-group',{staticClass:\"mt-n1 ml-2\",attrs:{\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('strong',[_vm._v(\"Atención al cliente\")])]},proxy:true}]),model:{value:(_vm.edititem.TipoVisita),callback:function ($$v) {_vm.$set(_vm.edititem, \"TipoVisita\", $$v)},expression:\"edititem.TipoVisita\"}},_vm._l((_vm.atencioncli),function(item){return _c('v-radio',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.id !== undefined),expression:\"item.id !== undefined\"}],key:item.id,attrs:{\"label\":(\"\" + (item.des))}})}),1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\"}},[_c('strong',[_vm._v(\"Detalle de la Visita \"+_vm._s(_vm.$vuetify.breakpoint.name))]),_c('v-row',{staticClass:\"mt-n4\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"5\"}},[_c('v-checkbox',{attrs:{\"label\":\"Presupuesto\",\"hide-details\":\"\"},model:{value:(_vm.edititem.IndPresupuesto),callback:function ($$v) {_vm.$set(_vm.edititem, \"IndPresupuesto\", $$v)},expression:\"edititem.IndPresupuesto\"}}),_c('v-checkbox',{staticClass:\"mt-1\",attrs:{\"label\":\"Publicidad\",\"hide-details\":\"\"},model:{value:(_vm.edititem.IndBoletin),callback:function ($$v) {_vm.$set(_vm.edititem, \"IndBoletin\", $$v)},expression:\"edititem.IndBoletin\"}}),_c('v-checkbox',{staticClass:\"mt-1\",attrs:{\"label\":\"Cobros\",\"hide-details\":\"\"},model:{value:(_vm.edititem.IndCobros),callback:function ($$v) {_vm.$set(_vm.edititem, \"IndCobros\", $$v)},expression:\"edititem.IndCobros\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{attrs:{\"label\":\"Pedidos\",\"hide-details\":\"\"},model:{value:(_vm.edititem.IndPedidos),callback:function ($$v) {_vm.$set(_vm.edititem, \"IndPedidos\", $$v)},expression:\"edititem.IndPedidos\"}}),_c('v-checkbox',{staticClass:\"mt-1\",attrs:{\"label\":\"Llamar nuevamente\",\"hide-details\":\"\"},model:{value:(_vm.edititem.IndLlamar),callback:function ($$v) {_vm.$set(_vm.edititem, \"IndLlamar\", $$v)},expression:\"edititem.IndLlamar\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-textarea',{attrs:{\"outlined\":\"\",\"name\":\"input-7-4\",\"label\":\"Observaciones\"},model:{value:(_vm.edititem.Notas),callback:function ($$v) {_vm.$set(_vm.edititem, \"Notas\", $$v)},expression:\"edititem.Notas\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaFormEditVisit.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaFormEditVisit.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AgendaFormEditVisit.vue?vue&type=template&id=385b6882&\"\nimport script from \"./AgendaFormEditVisit.vue?vue&type=script&lang=js&\"\nexport * from \"./AgendaFormEditVisit.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 { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VCheckbox,VCol,VDatePicker,VDivider,VMenu,VRadio,VRadioGroup,VRow,VTextField,VTextarea})\n","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaVisitasSet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaVisitasSet.vue?vue&type=script&lang=js&\"","import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n return this.getMouseEventHandlers({\n ['click' + suffix]: { event: 'click' },\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n ['mousedown' + suffix]: { event: 'mousedown' },\n ['mousemove' + suffix]: { event: 'mousemove' },\n ['mouseup' + suffix]: { event: 'mouseup' },\n ['mouseenter' + suffix]: { event: 'mouseenter' },\n ['mouseleave' + suffix]: { event: 'mouseleave' },\n ['touchstart' + suffix]: { event: 'touchstart' },\n ['touchmove' + suffix]: { event: 'touchmove' },\n ['touchend' + suffix]: { event: 'touchend' },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget) &&\n (e.target as HTMLElement)?.className === currentTarget.className\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e))\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n","import Vue from 'vue'\n\nimport {\n validateTimestamp,\n parseTimestamp,\n parseDate,\n} from '../util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\nexport default Vue.extend({\n name: 'times',\n\n props: {\n now: {\n type: String,\n validator: validateTimestamp,\n },\n },\n\n data: () => ({\n times: {\n now: parseTimestamp('0000-00-00 00:00', true),\n today: parseTimestamp('0000-00-00', true),\n },\n }),\n\n computed: {\n parsedNow (): CalendarTimestamp | null {\n return this.now ? parseTimestamp(this.now, true) : null\n },\n },\n\n watch: {\n parsedNow: 'updateTimes',\n },\n\n created () {\n this.updateTimes()\n this.setPresent()\n },\n\n methods: {\n setPresent (): void {\n this.times.now.present = this.times.today.present = true\n this.times.now.past = this.times.today.past = false\n this.times.now.future = this.times.today.future = false\n },\n updateTimes (): void {\n const now: CalendarTimestamp = this.parsedNow || this.getNow()\n this.updateDay(now, this.times.now)\n this.updateTime(now, this.times.now)\n this.updateDay(now, this.times.today)\n },\n getNow (): CalendarTimestamp {\n return parseDate(new Date())\n },\n updateDay (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.date !== target.date) {\n target.year = now.year\n target.month = now.month\n target.day = now.day\n target.weekday = now.weekday\n target.date = now.date\n }\n },\n updateTime (now: CalendarTimestamp, target: CalendarTimestamp): void {\n if (now.time !== target.time) {\n target.hour = now.hour\n target.minute = now.minute\n target.time = now.time\n }\n },\n },\n})\n","import { CalendarEventParsed, CalendarEventVisual, CalendarTimestamp } from 'vuetify/types'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\nconst MILLIS_IN_DAY = 86400000\n\nexport type GetRange = (event: CalendarEventParsed) => [number, number]\n\nexport function getVisuals (events: CalendarEventParsed[], minStart = 0): CalendarEventVisual[] {\n const visuals = events.map(event => ({\n event,\n columnCount: 0,\n column: 0,\n left: 0,\n width: 100,\n }))\n\n visuals.sort((a, b) => {\n return (Math.max(minStart, a.event.startTimestampIdentifier) - Math.max(minStart, b.event.startTimestampIdentifier)) ||\n (b.event.endTimestampIdentifier - a.event.endTimestampIdentifier)\n })\n\n return visuals\n}\n\nexport interface ColumnGroup {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\nexport function hasOverlap (s0: number, e0: number, s1: number, e1: number, exclude = true): boolean {\n return exclude ? !(s0 >= e1 || e0 <= s1) : !(s0 > e1 || e0 < s1)\n}\n\nexport function setColumnCount (groups: ColumnGroup[]) {\n groups.forEach(group => {\n group.visuals.forEach(groupVisual => {\n groupVisual.columnCount = groups.length\n })\n })\n}\n\nexport function getRange (event: CalendarEventParsed): [number, number] {\n return [event.startTimestampIdentifier, event.endTimestampIdentifier]\n}\n\nexport function getDayRange (event: CalendarEventParsed): [number, number] {\n return [event.startIdentifier, event.endIdentifier]\n}\n\nexport function getNormalizedRange (event: CalendarEventParsed, dayStart: number): [number, number] {\n return [Math.max(dayStart, event.startTimestampIdentifier), Math.min(dayStart + MILLIS_IN_DAY, event.endTimestampIdentifier)]\n}\n\nexport function getOpenGroup (groups: ColumnGroup[], start: number, end: number, timed: boolean) {\n for (let i = 0; i < groups.length; i++) {\n const group = groups[i]\n let intersected = false\n\n if (hasOverlap(start, end, group.start, group.end, timed)) {\n for (let k = 0; k < group.visuals.length; k++) {\n const groupVisual = group.visuals[k]\n const [groupStart, groupEnd] = timed ? getRange(groupVisual.event) : getDayRange(groupVisual.event)\n\n if (hasOverlap(start, end, groupStart, groupEnd, timed)) {\n intersected = true\n break\n }\n }\n }\n\n if (!intersected) {\n return i\n }\n }\n\n return -1\n}\n\nexport function getOverlapGroupHandler (firstWeekday: number) {\n const handler = {\n groups: [] as ColumnGroup[],\n min: -1,\n max: -1,\n reset: () => {\n handler.groups = []\n handler.min = handler.max = -1\n },\n getVisuals: (day: CalendarTimestamp, dayEvents: CalendarEventParsed[], timed: boolean, reset = false) => {\n if (day.weekday === firstWeekday || reset) {\n handler.reset()\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n\n visuals.forEach(visual => {\n const [start, end] = timed ? getRange(visual.event) : getDayRange(visual.event)\n\n if (handler.groups.length > 0 && !hasOverlap(start, end, handler.min, handler.max, timed)) {\n setColumnCount(handler.groups)\n handler.reset()\n }\n\n let targetGroup = getOpenGroup(handler.groups, start, end, timed)\n\n if (targetGroup === -1) {\n targetGroup = handler.groups.length\n\n handler.groups.push({ start, end, visuals: [] })\n }\n\n const target = handler.groups[targetGroup]\n target.visuals.push(visual)\n target.start = Math.min(target.start, start)\n target.end = Math.max(target.end, end)\n\n visual.column = targetGroup\n\n if (handler.min === -1) {\n handler.min = start\n handler.max = end\n } else {\n handler.min = Math.min(handler.min, start)\n handler.max = Math.max(handler.max, end)\n }\n })\n\n setColumnCount(handler.groups)\n\n if (timed) {\n handler.reset()\n }\n\n return visuals\n },\n }\n\n return handler\n}\n","import { CalendarEventOverlapMode, CalendarEventVisual } from 'vuetify/types'\nimport { getOverlapGroupHandler, getVisuals, hasOverlap, getNormalizedRange } from './common'\nimport { getTimestampIdentifier } from '../util/timestamp'\n\ninterface Group {\n start: number\n end: number\n visuals: CalendarEventVisual[]\n}\n\ninterface Node {\n parent: Node | null\n sibling: boolean\n index: number\n visual: CalendarEventVisual\n start: number\n end: number\n children: Node[]\n}\n\nconst FULL_WIDTH = 100\n\nconst DEFAULT_OFFSET = 5\n\nconst WIDTH_MULTIPLIER = 1.7\n\n/**\n * Variation of column mode where events can be stacked. The priority of this\n * mode is to stack events together taking up the least amount of space while\n * trying to ensure the content of the event is always visible as well as its\n * start and end. A sibling column has intersecting event content and must be\n * placed beside each other. Non-sibling columns are offset by 5% from the\n * previous column. The width is scaled by 1.7 so the events overlap and\n * whitespace is reduced. If there is a hole in columns the event width is\n * scaled up so it intersects with the next column. The columns have equal\n * width in the space they are given. If the event doesn't have any to the\n * right of it that intersect with it's content it's right side is extended\n * to the right side.\n */\n\nexport const stack: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n // eslint-disable-next-line max-statements\n return (day, dayEvents, timed, reset) => {\n if (!timed) {\n return handler.getVisuals(day, dayEvents, timed, reset)\n }\n\n const dayStart = getTimestampIdentifier(day)\n const visuals = getVisuals(dayEvents, dayStart)\n const groups = getGroups(visuals, dayStart)\n\n for (const group of groups) {\n const nodes: Node[] = []\n\n for (const visual of group.visuals) {\n const child = getNode(visual, dayStart)\n const index = getNextIndex(child, nodes)\n\n if (index === false) {\n const parent = getParent(child, nodes)\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n child.index = parent.index + 1\n parent.children.push(child)\n }\n } else {\n const [parent] = getOverlappingRange(child, nodes, index - 1, index - 1)\n const children = getOverlappingRange(child, nodes, index + 1, index + nodes.length, true)\n\n child.children = children\n child.index = index\n\n if (parent) {\n child.parent = parent\n child.sibling = hasOverlap(child.start, child.end, parent.start, addTime(parent.start, overlapThreshold))\n parent.children.push(child)\n }\n\n for (const grand of children) {\n if (grand.parent === parent) {\n grand.parent = child\n }\n\n const grandNext = grand.index - child.index <= 1\n if (grandNext && child.sibling &&\n hasOverlap(child.start, addTime(child.start, overlapThreshold), grand.start, grand.end)) {\n grand.sibling = true\n }\n }\n }\n\n nodes.push(child)\n }\n\n calculateBounds(nodes, overlapThreshold)\n }\n\n visuals.sort((a, b) => (a.left - b.left) || (a.event.startTimestampIdentifier - b.event.startTimestampIdentifier))\n\n return visuals\n }\n}\n\nfunction calculateBounds (nodes: Node[], overlapThreshold: number) {\n for (const node of nodes) {\n const { visual, parent } = node\n const columns = getMaxChildIndex(node) + 1\n const spaceLeft = parent ? parent.visual.left : 0\n const spaceWidth = FULL_WIDTH - spaceLeft\n const offset = Math.min(DEFAULT_OFFSET, FULL_WIDTH / columns)\n const columnWidthMultiplier = getColumnWidthMultiplier(node, nodes)\n const columnOffset = spaceWidth / (columns - node.index + 1)\n const columnWidth = spaceWidth / (columns - node.index + (node.sibling ? 1 : 0)) * columnWidthMultiplier\n\n if (parent) {\n visual.left = node.sibling\n ? spaceLeft + columnOffset\n : spaceLeft + offset\n }\n\n visual.width = hasFullWidth(node, nodes, overlapThreshold)\n ? FULL_WIDTH - visual.left\n : Math.min(FULL_WIDTH - visual.left, columnWidth * WIDTH_MULTIPLIER)\n }\n}\n\nfunction getColumnWidthMultiplier (node: Node, nodes: Node[]): number {\n if (!node.children.length) {\n return 1\n }\n\n const maxColumn = node.index + nodes.length\n const minColumn = node.children.reduce((min, c) => Math.min(min, c.index), maxColumn)\n\n return minColumn - node.index\n}\n\nfunction getOverlappingIndices (node: Node, nodes: Node[]): number[] {\n const indices: number[] = []\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end)) {\n indices.push(other.index)\n }\n }\n return indices\n}\n\nfunction getNextIndex (node: Node, nodes: Node[]): number | false {\n const indices = getOverlappingIndices(node, nodes)\n indices.sort()\n\n for (let i = 0; i < indices.length; i++) {\n if (i < indices[i]) {\n return i\n }\n }\n return false\n}\n\nfunction getOverlappingRange (node: Node, nodes: Node[], indexMin: number, indexMax: number, returnFirstColumn = false): Node[] {\n const overlapping: Node[] = []\n for (const other of nodes) {\n if (other.index >= indexMin && other.index <= indexMax && hasOverlap(node.start, node.end, other.start, other.end)) {\n overlapping.push(other)\n }\n }\n if (returnFirstColumn && overlapping.length > 0) {\n const first = overlapping.reduce((min, n) => Math.min(min, n.index), overlapping[0].index)\n return overlapping.filter(n => n.index === first)\n }\n return overlapping\n}\n\nfunction getParent (node: Node, nodes: Node[]): Node | null {\n let parent: Node | null = null\n for (const other of nodes) {\n if (hasOverlap(node.start, node.end, other.start, other.end) && (parent === null || other.index > parent.index)) {\n parent = other\n }\n }\n return parent\n}\n\nfunction hasFullWidth (node: Node, nodes: Node[], overlapThreshold: number): boolean {\n for (const other of nodes) {\n if (other !== node &&\n other.index > node.index &&\n hasOverlap(node.start, addTime(node.start, overlapThreshold), other.start, other.end)) {\n return false\n }\n }\n\n return true\n}\n\nfunction getGroups (visuals: CalendarEventVisual[], dayStart: number): Group[] {\n const groups: Group[] = []\n\n for (const visual of visuals) {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n let added = false\n\n for (const group of groups) {\n if (hasOverlap(start, end, group.start, group.end)) {\n group.visuals.push(visual)\n group.end = Math.max(group.end, end)\n added = true\n break\n }\n }\n\n if (!added) {\n groups.push({ start, end, visuals: [visual] })\n }\n }\n\n return groups\n}\n\nfunction getNode (visual: CalendarEventVisual, dayStart: number): Node {\n const [start, end] = getNormalizedRange(visual.event, dayStart)\n\n return {\n parent: null,\n sibling: true,\n index: 0,\n visual,\n start,\n end,\n children: [],\n }\n}\n\nfunction getMaxChildIndex (node: Node): number {\n let max = node.index\n for (const child of node.children) {\n const childMax = getMaxChildIndex(child)\n if (childMax > max) {\n max = childMax\n }\n }\n return max\n}\n\nfunction addTime (identifier: number, minutes: number): number {\n const removeMinutes = identifier % 100\n const totalMinutes = removeMinutes + minutes\n const addHours = Math.floor(totalMinutes / 60)\n const addMinutes = totalMinutes % 60\n\n return identifier - removeMinutes + addHours * 100 + addMinutes\n}\n","import { CalendarEventOverlapMode } from 'vuetify/types'\nimport { getOverlapGroupHandler } from './common'\n\nconst FULL_WIDTH = 100\n\nexport const column: CalendarEventOverlapMode = (events, firstWeekday, overlapThreshold) => {\n const handler = getOverlapGroupHandler(firstWeekday)\n\n return (day, dayEvents, timed, reset) => {\n const visuals = handler.getVisuals(day, dayEvents, timed, reset)\n\n if (timed) {\n visuals.forEach(visual => {\n visual.left = visual.column * FULL_WIDTH / visual.columnCount\n visual.width = FULL_WIDTH / visual.columnCount\n })\n }\n\n return visuals\n }\n}\n","import { CalendarEventOverlapMode } from 'vuetify/types'\nimport { stack } from './stack'\nimport { column } from './column'\n\nexport const CalendarEventOverlapModes: Record = {\n stack,\n column,\n}\n","\nimport { validateTimestamp, parseDate, DAYS_IN_WEEK, validateTime } from './timestamp'\nimport { PropType } from 'vue'\nimport { CalendarEvent, CalendarFormatter, CalendarTimestamp, CalendarEventOverlapMode, CalendarEventNameFunction, CalendarEventColorFunction, CalendarEventCategoryFunction, CalendarEventTimedFunction, CalendarCategoryTextFunction, CalendarCategory } from 'vuetify/types'\nimport { CalendarEventOverlapModes } from '../modes'\nimport { PropValidator } from 'vue/types/options'\n\nexport default {\n base: {\n start: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n default: () => parseDate(new Date()).date,\n },\n end: {\n type: [String, Number, Date],\n validate: validateTimestamp,\n },\n weekdays: {\n type: [Array, String] as PropType,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n validate: validateWeekdays,\n },\n hideHeader: {\n type: Boolean,\n },\n shortWeekdays: {\n type: Boolean,\n default: true,\n },\n weekdayFormat: {\n type: Function as PropType,\n default: null,\n },\n dayFormat: {\n type: Function as PropType,\n default: null,\n },\n },\n intervals: {\n maxDays: {\n type: Number,\n default: 7,\n },\n shortIntervals: {\n type: Boolean,\n default: true,\n },\n intervalHeight: {\n type: [Number, String],\n default: 48,\n validate: validateNumber,\n },\n intervalWidth: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n intervalMinutes: {\n type: [Number, String],\n default: 60,\n validate: validateNumber,\n },\n firstInterval: {\n type: [Number, String],\n default: 0,\n validate: validateNumber,\n },\n firstTime: {\n type: [Number, String, Object],\n validate: validateTime,\n },\n intervalCount: {\n type: [Number, String],\n default: 24,\n validate: validateNumber,\n },\n intervalFormat: {\n type: Function as PropType,\n default: null,\n },\n intervalStyle: {\n type: Function as PropType<(interval: CalendarTimestamp) => object>,\n default: null,\n },\n showIntervalLabel: {\n type: Function as PropType<(interval: CalendarTimestamp) => boolean>,\n default: null,\n },\n },\n weeks: {\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n minWeeks: {\n validate: validateNumber,\n default: 1,\n },\n shortMonths: {\n type: Boolean,\n default: true,\n },\n showMonthOnFirst: {\n type: Boolean,\n default: true,\n },\n showWeek: Boolean,\n monthFormat: {\n type: Function as PropType,\n default: null,\n },\n },\n calendar: {\n type: {\n type: String,\n default: 'month',\n },\n value: {\n type: [String, Number, Date] as PropType,\n validate: validateTimestamp,\n },\n },\n category: {\n categories: {\n type: [Array, String] as PropType,\n default: '',\n },\n categoryText: {\n type: [String, Function] as PropType,\n },\n categoryHideDynamic: {\n type: Boolean,\n },\n categoryShowAll: {\n type: Boolean,\n },\n categoryForInvalid: {\n type: String,\n default: '',\n },\n categoryDays: {\n type: [Number, String],\n default: 1,\n validate: (x: any) => isFinite(parseInt(x)) && parseInt(x) > 0,\n },\n },\n events: {\n events: {\n type: Array,\n default: () => [],\n } as PropValidator,\n eventStart: {\n type: String,\n default: 'start',\n },\n eventEnd: {\n type: String,\n default: 'end',\n },\n eventTimed: {\n type: [String, Function] as PropType,\n default: 'timed',\n },\n eventCategory: {\n type: [String, Function] as PropType,\n default: 'category',\n },\n eventHeight: {\n type: Number,\n default: 20,\n },\n eventColor: {\n type: [String, Function] as PropType,\n default: 'primary',\n },\n eventTextColor: {\n type: [String, Function] as PropType,\n default: 'white',\n },\n eventName: {\n type: [String, Function] as PropType,\n default: 'name',\n },\n eventOverlapThreshold: {\n type: [String, Number],\n default: 60,\n },\n eventOverlapMode: {\n type: [String, Function],\n default: 'stack',\n validate: (mode: any) => mode in CalendarEventOverlapModes || typeof mode === 'function',\n } as PropValidator<'stack' | 'column' | CalendarEventOverlapMode>,\n eventMore: {\n type: Boolean,\n default: true,\n },\n eventMoreText: {\n type: String,\n default: '$vuetify.calendar.moreEvents',\n },\n eventRipple: {\n type: [Boolean, Object],\n default: null,\n },\n eventMarginBottom: {\n type: Number,\n default: 1,\n },\n },\n}\n\nexport function validateNumber (input: any): boolean {\n return isFinite(parseInt(input))\n}\n\nexport function validateWeekdays (input: string | (number | string)[]): boolean {\n if (typeof input === 'string') {\n input = input.split(',')\n }\n\n if (Array.isArray(input)) {\n const ints = input.map(x => parseInt(x))\n\n if (ints.length > DAYS_IN_WEEK || ints.length === 0) {\n return false\n }\n\n const visited: Record = {}\n let wrapped = false\n\n for (let i = 0; i < ints.length; i++) {\n const x = ints[i]\n\n if (!isFinite(x) || x < 0 || x >= DAYS_IN_WEEK) {\n return false\n }\n\n if (i > 0) {\n const d = x - ints[i - 1]\n if (d < 0) {\n if (wrapped) {\n return false\n }\n wrapped = true\n } else if (d === 0) {\n return false\n }\n }\n\n if (visited[x]) {\n return false\n }\n visited[x] = true\n }\n\n return true\n }\n\n return false\n}\n","\n// Mixins\nimport mixins from '../../../util/mixins'\nimport Colorable from '../../../mixins/colorable'\nimport Localable from '../../../mixins/localable'\nimport Mouse from './mouse'\nimport Themeable from '../../../mixins/themeable'\nimport Times from './times'\n\n// Directives\nimport Resize from '../../../directives/resize'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTimestamp,\n getWeekdaySkips,\n createDayList,\n createNativeLocaleFormatter,\n getStartOfWeek,\n getEndOfWeek,\n getTimestampIdentifier,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\nexport default mixins(\n Colorable,\n Localable,\n Mouse,\n Themeable,\n Times\n/* @vue/component */\n).extend({\n name: 'calendar-base',\n\n directives: {\n Resize,\n },\n\n props: props.base,\n\n computed: {\n parsedWeekdays (): number[] {\n return Array.isArray(this.weekdays)\n ? this.weekdays\n : (this.weekdays || '').split(',').map(x => parseInt(x, 10))\n },\n weekdaySkips (): number[] {\n return getWeekdaySkips(this.parsedWeekdays)\n },\n weekdaySkipsReverse (): number [] {\n const reversed = this.weekdaySkips.slice()\n reversed.reverse()\n return reversed\n },\n parsedStart (): CalendarTimestamp {\n return parseTimestamp(this.start, true)\n },\n parsedEnd (): CalendarTimestamp {\n const start = this.parsedStart\n const end: CalendarTimestamp = this.end ? parseTimestamp(this.end) || start : start\n\n return getTimestampIdentifier(end) < getTimestampIdentifier(start) ? start : end\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips\n )\n },\n dayFormatter (): CalendarFormatter {\n if (this.dayFormat) {\n return this.dayFormat as CalendarFormatter\n }\n\n const options = { timeZone: 'UTC', day: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, _short) => options\n )\n },\n weekdayFormatter (): CalendarFormatter {\n if (this.weekdayFormat) {\n return this.weekdayFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', weekday: 'long' }\n const shortOptions = { timeZone: 'UTC', weekday: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n getRelativeClasses (timestamp: CalendarTimestamp, outside = false): object {\n return {\n 'v-present': timestamp.present,\n 'v-past': timestamp.past,\n 'v-future': timestamp.future,\n 'v-outside': outside,\n }\n },\n getStartOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getStartOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getEndOfWeek (timestamp: CalendarTimestamp): CalendarTimestamp {\n return getEndOfWeek(timestamp, this.parsedWeekdays, this.times.today)\n },\n getFormatter (options: object): CalendarFormatter {\n return createNativeLocaleFormatter(\n this.locale,\n (_tms, _short) => options\n )\n },\n },\n})\n","import {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n isTimedless,\n updateHasTime,\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false,\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier && dayIdentifier <= event.endIdentifier\n}\n\nexport function isEventHiddenOn (event: CalendarEventParsed, day: CalendarTimestamp): boolean {\n return event.end.time === '00:00' && event.end.date === day.date && event.start.date !== day.date\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n","// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = (\n day: D,\n getter: VEventGetter,\n mapper: VEventVisualToNode,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '
'\n\n return `${name}${delimiter}${time}`\n } else {\n const time = formatTime(event.start, true)\n\n return `${time} ${name}`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: {\n click: () => this.$emit('click:more', day),\n },\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$scopedSlots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$scopedSlots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n","// Styles\nimport './VCalendarWeekly.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarBase from './mixins/calendar-base'\n\n// Util\nimport { getSlot } from '../../util/helpers'\nimport { weekNumber } from '../../util/dateTimeUtils'\nimport props from './util/props'\nimport {\n createDayList,\n getDayIdentifier,\n createNativeLocaleFormatter,\n} from './util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'v-calendar-weekly',\n\n props: props.weeks,\n\n computed: {\n staticClass (): string {\n return 'v-calendar-weekly'\n },\n classes (): object {\n return this.themeClasses\n },\n parsedMinWeeks (): number {\n return parseInt(this.minWeeks)\n },\n days (): CalendarTimestamp[] {\n const minDays = this.parsedMinWeeks * this.parsedWeekdays.length\n const start = this.getStartOfWeek(this.parsedStart)\n const end = this.getEndOfWeek(this.parsedEnd)\n\n return createDayList(\n start,\n end,\n this.times.today,\n this.weekdaySkips,\n Number.MAX_SAFE_INTEGER,\n minDays\n )\n },\n todayWeek (): CalendarTimestamp[] {\n const today = this.times.today\n const start = this.getStartOfWeek(today)\n const end = this.getEndOfWeek(today)\n\n return createDayList(\n start,\n end,\n today,\n this.weekdaySkips,\n this.parsedWeekdays.length,\n this.parsedWeekdays.length\n )\n },\n monthFormatter (): CalendarFormatter {\n if (this.monthFormat) {\n return this.monthFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', month: 'long' }\n const shortOptions = { timeZone: 'UTC', month: 'short' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (_tms, short) => short ? shortOptions : longOptions\n )\n },\n },\n\n methods: {\n isOutside (day: CalendarTimestamp): boolean {\n const dayIdentifier = getDayIdentifier(day)\n\n return dayIdentifier < getDayIdentifier(this.parsedStart) ||\n dayIdentifier > getDayIdentifier(this.parsedEnd)\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head',\n }, this.genHeadDays())\n },\n genHeadDays (): VNode[] {\n const header = this.todayWeek.map(this.genHeadDay)\n\n if (this.showWeek) {\n header.unshift(this.$createElement('div', {\n staticClass: 'v-calendar-weekly__head-weeknumber',\n }))\n }\n\n return header\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n const outside = this.isOutside(this.days[index])\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n key: day.date,\n staticClass: 'v-calendar-weekly__head-weekday',\n class: this.getRelativeClasses(day, outside),\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genWeeks (): VNode[] {\n const days = this.days\n const weekDays = this.parsedWeekdays.length\n const weeks: VNode[] = []\n\n for (let i = 0; i < days.length; i += weekDays) {\n weeks.push(this.genWeek(days.slice(i, i + weekDays), this.getWeekNumber(days[i])))\n }\n\n return weeks\n },\n genWeek (week: CalendarTimestamp[], weekNumber: number): VNode {\n const weekNodes = week.map((day, index) => this.genDay(day, index, week))\n\n if (this.showWeek) {\n weekNodes.unshift(this.genWeekNumber(weekNumber))\n }\n\n return this.$createElement('div', {\n key: week[0].date,\n staticClass: 'v-calendar-weekly__week',\n }, weekNodes)\n },\n getWeekNumber (determineDay: CalendarTimestamp) {\n return weekNumber(\n determineDay.year,\n determineDay.month - 1,\n determineDay.day,\n this.parsedWeekdays[0],\n parseInt(this.localeFirstDayOfYear)\n )\n },\n genWeekNumber (weekNumber: number) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__weeknumber',\n }, [\n this.$createElement('small', String(weekNumber)),\n ])\n },\n genDay (day: CalendarTimestamp, index: number, week: CalendarTimestamp[]): VNode {\n const outside = this.isOutside(day)\n\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-weekly__day',\n class: this.getRelativeClasses(day, outside),\n on: this.getDefaultMouseEventHandlers(':day', _e => day),\n }, [\n this.genDayLabel(day),\n ...(getSlot(this, 'day', () => ({ outside, index, week, ...day })) || []),\n ])\n },\n genDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-weekly__day-label',\n }, getSlot(this, 'day-label', day) || [this.genDayLabelButton(day)])\n },\n genDayLabelButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n const hasMonth = day.day === 1 && this.showMonthOnFirst\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n small: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => day),\n }, hasMonth\n ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)\n : this.dayFormatter(day, false)\n )\n },\n genDayMonth (day: CalendarTimestamp): VNode | string {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-weekly__day-month',\n }), getSlot(this, 'day-month', day) || this.monthFormatter(day, this.shortMonths))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: this.staticClass,\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n }, [\n !this.hideHeader ? this.genHead() : '',\n ...this.genWeeks(),\n ])\n },\n})\n","// Styles\nimport './VCalendarWeekly.sass'\n\n// Mixins\nimport VCalendarWeekly from './VCalendarWeekly'\n\n// Util\nimport { parseTimestamp, getStartOfMonth, getEndOfMonth } from './util/timestamp'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default VCalendarWeekly.extend({\n name: 'v-calendar-monthly',\n\n computed: {\n staticClass (): string {\n return 'v-calendar-monthly v-calendar-weekly'\n },\n parsedStart (): CalendarTimestamp {\n return getStartOfMonth(parseTimestamp(this.start, true))\n },\n parsedEnd (): CalendarTimestamp {\n return getEndOfMonth(parseTimestamp(this.end, true))\n },\n },\n\n})\n","\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Util\nimport props from '../util/props'\nimport {\n parseTime,\n copyTimestamp,\n updateMinutes,\n createDayList,\n createIntervalList,\n createNativeLocaleFormatter,\n VTime,\n MINUTES_IN_DAY,\n} from '../util/timestamp'\nimport { CalendarTimestamp, CalendarFormatter, CalendarDayBodySlotScope } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-intervals',\n\n props: props.intervals,\n\n computed: {\n parsedFirstInterval (): number {\n return parseInt(this.firstInterval)\n },\n parsedIntervalMinutes (): number {\n return parseInt(this.intervalMinutes)\n },\n parsedIntervalCount (): number {\n return parseInt(this.intervalCount)\n },\n parsedIntervalHeight (): number {\n return parseFloat(this.intervalHeight)\n },\n parsedFirstTime (): number | false {\n return parseTime(this.firstTime)\n },\n firstMinute (): number {\n const time = this.parsedFirstTime\n\n return time !== false && time >= 0 && time <= MINUTES_IN_DAY\n ? time\n : this.parsedFirstInterval * this.parsedIntervalMinutes\n },\n bodyHeight (): number {\n return this.parsedIntervalCount * this.parsedIntervalHeight\n },\n days (): CalendarTimestamp[] {\n return createDayList(\n this.parsedStart,\n this.parsedEnd,\n this.times.today,\n this.weekdaySkips,\n this.maxDays\n )\n },\n intervals (): CalendarTimestamp[][] {\n const days: CalendarTimestamp[] = this.days\n const first: number = this.firstMinute\n const minutes: number = this.parsedIntervalMinutes\n const count: number = this.parsedIntervalCount\n const now: CalendarTimestamp = this.times.now\n\n return days.map(d => createIntervalList(d, first, minutes, count, now))\n },\n intervalFormatter (): CalendarFormatter {\n if (this.intervalFormat) {\n return this.intervalFormat as CalendarFormatter\n }\n\n const longOptions = { timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }\n const shortOptions = { timeZone: 'UTC', hour: 'numeric', minute: '2-digit' }\n const shortHourOptions = { timeZone: 'UTC', hour: 'numeric' }\n\n return createNativeLocaleFormatter(\n this.currentLocale,\n (tms, short) => short ? (tms.minute === 0 ? shortHourOptions : shortOptions) : longOptions\n )\n },\n },\n\n methods: {\n showIntervalLabelDefault (interval: CalendarTimestamp): boolean {\n const first: CalendarTimestamp = this.intervals[0][0]\n const isFirst: boolean = first.hour === interval.hour && first.minute === interval.minute\n return !isFirst\n },\n intervalStyleDefault (_interval: CalendarTimestamp): object | undefined {\n return undefined\n },\n getTimestampAtEvent (e: MouseEvent | TouchEvent, day: CalendarTimestamp): CalendarTimestamp {\n const timestamp: CalendarTimestamp = copyTimestamp(day)\n const bounds = (e.currentTarget as HTMLElement).getBoundingClientRect()\n const baseMinutes: number = this.firstMinute\n const touchEvent: TouchEvent = e as TouchEvent\n const mouseEvent: MouseEvent = e as MouseEvent\n const touches: TouchList = touchEvent.changedTouches || touchEvent.touches\n const clientY: number = touches && touches[0] ? touches[0].clientY : mouseEvent.clientY\n const addIntervals: number = (clientY - bounds.top) / this.parsedIntervalHeight\n const addMinutes: number = Math.floor(addIntervals * this.parsedIntervalMinutes)\n const minutes: number = baseMinutes + addMinutes\n\n return updateMinutes(timestamp, minutes, this.times.now)\n },\n getSlotScope (timestamp: CalendarTimestamp): CalendarDayBodySlotScope {\n const scope = copyTimestamp(timestamp) as any\n scope.timeToY = this.timeToY\n scope.timeDelta = this.timeDelta\n scope.minutesToPixels = this.minutesToPixels\n scope.week = this.days\n return scope\n },\n scrollToTime (time: VTime): boolean {\n const y = this.timeToY(time)\n const pane = this.$refs.scrollArea as HTMLElement\n\n if (y === false || !pane) {\n return false\n }\n\n pane.scrollTop = y\n\n return true\n },\n minutesToPixels (minutes: number): number {\n return minutes / this.parsedIntervalMinutes * this.parsedIntervalHeight\n },\n timeToY (time: VTime, clamp = true): number | false {\n let y = this.timeDelta(time)\n\n if (y !== false) {\n y *= this.bodyHeight\n\n if (clamp) {\n if (y < 0) {\n y = 0\n }\n if (y > this.bodyHeight) {\n y = this.bodyHeight\n }\n }\n }\n\n return y\n },\n timeDelta (time: VTime): number | false {\n const minutes = parseTime(time)\n\n if (minutes === false) {\n return false\n }\n\n const min: number = this.firstMinute\n const gap: number = this.parsedIntervalCount * this.parsedIntervalMinutes\n\n return (minutes - min) / gap\n },\n },\n})\n","// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n","import { CalendarCategory, CalendarCategoryTextFunction } from 'types'\n\nexport function parsedCategoryText (\n category: CalendarCategory,\n categoryText: string | CalendarCategoryTextFunction\n): string {\n return typeof categoryText === 'string' && typeof category === 'object' && category\n ? category[categoryText]\n : typeof categoryText === 'function'\n ? categoryText(category)\n : category\n}\n\nexport function getParsedCategories (\n categories: CalendarCategory | CalendarCategory[],\n categoryText: string | CalendarCategoryTextFunction\n): CalendarCategory[] {\n if (typeof categories === 'string') return categories.split(/\\s*,\\s/)\n if (Array.isArray(categories)) {\n return categories.map((category: CalendarCategory) => {\n if (typeof category === 'string') return category\n\n const categoryName = typeof category.categoryName === 'string'\n ? category.categoryName\n : parsedCategoryText(category, categoryText)\n return { ...category, categoryName }\n })\n }\n return []\n}\n","// Styles\nimport './VCalendarCategory.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Mixins\nimport VCalendarDaily from './VCalendarDaily'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarCategory, CalendarTimestamp } from 'types'\nimport props from './util/props'\nimport { getParsedCategories } from './util/parser'\n\n/* @vue/component */\nexport default VCalendarDaily.extend({\n name: 'v-calendar-category',\n\n props: props.category,\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n 'v-calendar-category': true,\n ...this.themeClasses,\n }\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n methods: {\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n const scope = {\n week: this.days, ...day, index,\n }\n\n const children = this.parsedCategories.map(category => {\n return this.genDayHeaderCategory(day, this.getCategoryScope(scope, category))\n })\n\n return [this.$createElement('div', data, children)]\n },\n getCategoryScope (scope: any, category: CalendarCategory) {\n const cat = typeof category === 'object' && category &&\n category.categoryName === this.categoryForInvalid ? null : category\n return {\n ...scope,\n category: cat,\n }\n },\n genDayHeaderCategory (day: CalendarTimestamp, scope: any): VNode {\n const headerTitle = typeof scope.category === 'object' ? scope.category.categoryName : scope.category\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__column-header',\n on: this.getDefaultMouseEventHandlers(':day-category', e => {\n return this.getCategoryScope(this.getSlotScope(day), scope.category)\n }),\n }, [\n getSlot(this, 'category', scope) || this.genDayHeaderCategoryTitle(headerTitle),\n getSlot(this, 'day-header', scope),\n ])\n },\n genDayHeaderCategoryTitle (categoryName: string | null) {\n return this.$createElement('div', {\n staticClass: 'v-calendar-category__category',\n }, categoryName === null ? this.categoryForInvalid : categoryName)\n },\n genDays (): VNode[] {\n const days: VNode[] = []\n this.days.forEach((d, j) => {\n const day = new Array(this.parsedCategories.length || 1)\n day.fill(d)\n days.push(...day.map((v, i) => this.genDay(v, j, i)))\n })\n return days\n },\n genDay (day: CalendarTimestamp, index: number, categoryIndex: number): VNode {\n const category = this.parsedCategories[categoryIndex]\n return this.$createElement('div', {\n key: day.date + '-' + categoryIndex,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index, category),\n ...this.genDayBody(day, category),\n ])\n },\n genDayIntervals (index: number, category: CalendarCategory): VNode[] {\n return this.intervals[index].map(v => this.genDayInterval(v, category))\n },\n genDayInterval (interval: CalendarTimestamp, category: CalendarCategory): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler({ ...interval, category }),\n },\n }\n\n const children = getSlot(this, 'interval', () =>\n this.getCategoryScope(this.getSlotScope(interval), category)\n )\n\n return this.$createElement('div', data, children)\n },\n genDayBody (day: CalendarTimestamp, category: CalendarCategory): VNode[] {\n const data = {\n staticClass: 'v-calendar-category__columns',\n }\n\n const children = [this.genDayBodyCategory(day, category)]\n\n return [this.$createElement('div', data, children)]\n },\n genDayBodyCategory (day: CalendarTimestamp, category: CalendarCategory): VNode {\n const data = {\n staticClass: 'v-calendar-category__column',\n on: this.getDefaultMouseEventHandlers(':time-category', e => {\n return this.getCategoryScope(this.getSlotScope(this.getTimestampAtEvent(e, day)), category)\n }),\n }\n\n const children = getSlot(this, 'day-body', () => this.getCategoryScope(this.getSlotScope(day), category))\n\n return this.$createElement('div', data, children)\n },\n },\n})\n","// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n","import { render, staticRenderFns } from \"./AgendaVisitasSet.vue?vue&type=template&id=a36d9eb0&scoped=true&\"\nimport script from \"./AgendaVisitasSet.vue?vue&type=script&lang=js&\"\nexport * from \"./AgendaVisitasSet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AgendaVisitasSet.vue?vue&type=style&index=0&id=a36d9eb0&scoped=true&lang=css&\"\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 \"a36d9eb0\",\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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCalendar } from 'vuetify/lib/components/VCalendar';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCalendar,VCard,VCardActions,VCardText,VCol,VContainer,VDialog,VDivider,VIcon,VList,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VOverlay,VProgressCircular,VRow,VSheet,VSnackbar,VSpacer,VTextarea,VToolbar,VToolbarTitle,VWindow,VWindowItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-select',{attrs:{\"items\":_vm.dsAgendaVisitasCombo,\"label\":\"Distribuidor\",\"dense\":\"\",\"outlined\":\"\",\"readonly\":_vm.readon,\"chips\":\"\",\"loading\":_vm.loadingAgenda ? '#fe5000' : false,\"disabled\":_vm.loadingAgenda,\"item-text\":function (item) { return ((item.Nombre) + \" [Dist:\" + (item.vendedor) + \"]\"); },\"item-value\":\"vendedor\",\"return-object\":\"\",\"hide-details\":\"\",\"menu-props\":{ top: false, offsetY: true }},on:{\"change\":function($event){return _vm.datos(_vm.selectedItem.vendedor)}},scopedSlots:_vm._u([{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-chip',{attrs:{\"small\":\"\",\"color\":\"primary mt-1 ml-n1 font-weight-bold\",\"label\":\"\",\"disabled\":_vm.dsAgendaVisitas.length === 0}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"18\"}},[_vm._v(\" mdi-check \")]),_vm._v(\"\\r\\n \"+_vm._s(((item.Nombre) + \" (Dist: \" + (item.vendedor) + \")\")))],1)]}}]),model:{value:(_vm.selectedItem),callback:function ($$v) {_vm.selectedItem=$$v},expression:\"selectedItem\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaClienteComboVisitas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaClienteComboVisitas.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AgendaClienteComboVisitas.vue?vue&type=template&id=aabc0114&\"\nimport script from \"./AgendaClienteComboVisitas.vue?vue&type=script&lang=js&\"\nexport * from \"./AgendaClienteComboVisitas.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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VChip,VIcon,VSelect})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\nimport { composedPath } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: v => (\n typeof v === 'boolean' || [\n 'always',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n this.$refs.content.style.transform = `translateX(${-val}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n onScroll () {\n this.$refs.wrapper.scrollLeft = 0\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n on: {\n focusin: this.onFocusin,\n },\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n on: {\n scroll: this.onScroll,\n },\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapperPosition = this.$refs.wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths /* istanbul ignore next */ () {\n window.requestAnimationFrame(() => {\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n","// Extensions\nimport { BaseItem } from '../VItemGroup/VItem'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport mixins from '../../util/mixins'\n\nexport default mixins(\n BaseItem,\n GroupableFactory('slideGroup')\n /* @vue/component */\n).extend({\n name: 'v-slide-item',\n})\n","var $ = require('../internals/export');\n\n// `Number.MAX_SAFE_INTEGER` constant\n// https://tc39.es/ecma262/#sec-number.max_safe_integer\n$({ target: 'Number', stat: true }, {\n MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF\n});\n","// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\nimport { VNode, ScopedSlotChildren } from 'vue/types/vnode'\n\n/* @vue/component */\nexport const BaseItem = Vue.extend({\n props: {\n activeClass: String,\n value: {\n required: false,\n },\n },\n\n data: () => ({\n isActive: false,\n }),\n\n methods: {\n toggle () {\n this.isActive = !this.isActive\n },\n },\n\n render (): VNode {\n if (!this.$scopedSlots.default) {\n consoleWarn('v-item is missing a default scopedSlot', this)\n\n return null as any\n }\n\n let element: VNode | ScopedSlotChildren\n\n /* istanbul ignore else */\n if (this.$scopedSlots.default) {\n element = this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n }\n\n if (Array.isArray(element) && element.length === 1) {\n element = element[0]\n }\n\n if (!element || Array.isArray(element) || !element.tag) {\n consoleWarn('v-item should only contain a single element', this)\n\n return element as any\n }\n\n element.data = this._b(element.data || {}, element.tag!, {\n class: { [this.activeClass]: this.isActive },\n })\n\n return element\n },\n})\n\nexport default mixins(\n BaseItem,\n GroupableFactory('itemGroup', 'v-item', 'v-item-group')\n).extend({\n name: 'v-item',\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgendaVisitasSet.vue?vue&type=style&index=0&id=a36d9eb0&scoped=true&lang=css&\"","// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n"],"sourceRoot":""}