vuetify 2.5.12 → 2.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/web-types.json +5 -5
- package/dist/vuetify.css +7 -1
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +105 -69
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/mixins/calendar-with-events.js +4 -2
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +1 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VTabs/VTab.js +6 -3
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/transitions/createTransition.js +0 -20
- package/es5/components/transitions/createTransition.js.map +1 -1
- package/es5/directives/click-outside/index.js +18 -9
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +12 -11
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +7 -6
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -7
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +13 -10
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/intersectable/index.js +5 -2
- package/es5/mixins/intersectable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +21 -11
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -2
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +1 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VTabs/VTab.js +7 -5
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/transitions/createTransition.js +0 -6
- package/lib/components/transitions/createTransition.js.map +1 -1
- package/lib/directives/click-outside/index.js +19 -9
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +12 -10
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +7 -6
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +6 -5
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +9 -6
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/intersectable/index.js +5 -2
- package/lib/mixins/intersectable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +21 -11
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
- package/src/components/VCalendar/mixins/calendar-with-events.ts +3 -3
- package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
- package/src/components/VOverlay/VOverlay.ts +1 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
- package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
- package/src/components/VTabs/VTab.ts +6 -4
- package/src/components/transitions/createTransition.ts +0 -8
- package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
- package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
- package/src/directives/click-outside/index.ts +18 -9
- package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
- package/src/directives/intersect/index.ts +13 -12
- package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
- package/src/directives/mutate/index.ts +8 -7
- package/src/directives/resize/__tests__/resize.spec.ts +4 -4
- package/src/directives/resize/index.ts +10 -5
- package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
- package/src/directives/scroll/index.ts +8 -7
- package/src/globals.d.ts +10 -12
- package/src/mixins/intersectable/index.ts +5 -2
- package/src/mixins/overlayable/index.ts +22 -11
|
@@ -285,14 +285,16 @@ var _default = _calendarBase.default.extend({
|
|
|
285
285
|
var name = _this5.eventNameFunction(event, timedEvent);
|
|
286
286
|
|
|
287
287
|
if (event.start.hasTime) {
|
|
288
|
+
var eventSummaryClass = 'v-event-summary';
|
|
289
|
+
|
|
288
290
|
if (timedEvent) {
|
|
289
291
|
var time = timeSummary();
|
|
290
292
|
var delimiter = singline ? ', ' : '<br>';
|
|
291
|
-
return "<strong>".concat(name, "</strong>").concat(delimiter).concat(time);
|
|
293
|
+
return "<span class=\"".concat(eventSummaryClass, "\"><strong>").concat(name, "</strong>").concat(delimiter).concat(time, "</span>");
|
|
292
294
|
} else {
|
|
293
295
|
var _time = formatTime(event.start, true);
|
|
294
296
|
|
|
295
|
-
return "<strong>".concat(_time, "</strong> ").concat(name);
|
|
297
|
+
return "<span class=\"".concat(eventSummaryClass, "\"><strong>").concat(_time, "</strong> ").concat(name, "</span>");
|
|
296
298
|
}
|
|
297
299
|
}
|
|
298
300
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// 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<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\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 ? ', ' : '<br>'\n\n return `<strong>${name}</strong>${delimiter}${time}`\n } else {\n const time = formatTime(event.start, true)\n\n return `<strong>${time}</strong> ${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"],"sourceRoot":"","file":"calendar-with-events.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// 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<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\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 if (event.start.hasTime) {\n const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\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"],"sourceRoot":"","file":"calendar-with-events.js"}
|
|
@@ -85,6 +85,7 @@ var _default = (0, _mixins.default)(_colorable.default, _themeable.default, _tog
|
|
|
85
85
|
if (this.isActive) children.push(this.genContent());
|
|
86
86
|
return h('div', {
|
|
87
87
|
staticClass: 'v-overlay',
|
|
88
|
+
on: this.$listeners,
|
|
88
89
|
class: this.classes,
|
|
89
90
|
style: this.styles
|
|
90
91
|
}, children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AACA;;AAGA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,kBA8DC,CA9DD,EA8DE;AACP,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AACA;;AAGA;;;;;;;;;;AAKA;eACe,qBACb,kBADa,EAEb,kBAFa,EAGb,mBAHa,EAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;AAWR,IAAA,OAXQ,qBAWD;AACL;AACE,+BAAuB,KAAK,QAD9B;AAEE,6BAAqB,KAAK;AAF5B,SAGK,KAAK,YAHV;AAKD,KAjBO;AAkBR,IAAA,eAlBQ,6BAkBO;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;AAqBR,IAAA,MArBQ,oBAqBF;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;AALM,GAtDF;AA8DP,EAAA,MA9DO,kBA8DC,CA9DD,EA8DE;AACP,QAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,EAAE,EAAE,KAAK,UAFK;AAGd,MAAA,KAAK,EAAE,KAAK,OAHE;AAId,MAAA,KAAK,EAAE,KAAK;AAJE,KAAR,EAKL,QALK,CAAR;AAMD;AAzEM,CAJM,C","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
|
|
@@ -88,6 +88,13 @@ var _default = baseMixins.extend({
|
|
|
88
88
|
return label;
|
|
89
89
|
},
|
|
90
90
|
onClick: _VItemGroup.BaseItemGroup.options.methods.onClick
|
|
91
|
+
},
|
|
92
|
+
render: function render(h) {
|
|
93
|
+
var vnode = _VInput.default.options.render.call(this, h);
|
|
94
|
+
|
|
95
|
+
this._b(vnode.data, 'div', this.attrs$);
|
|
96
|
+
|
|
97
|
+
return vnode;
|
|
91
98
|
}
|
|
92
99
|
});
|
|
93
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AAGA;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,yBAFiB,EAGjB,eAHiB,CAAnB;AAMA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;AAG/B,EAAA,OAH+B,qBAGxB;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,KAAK,EAAE;AAdF,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,4DAAoD,IAFtD;AAGE,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHvD;AAIE,qCAA6B,KAAK;AAJpC;AAMD;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,EAAE,EAAE,KAAK,EADJ;AAEL,UAAA,IAAI,EAAE,YAFD;AAGL,6BAAmB,KAAK;AAHnB;AAFyB,OAA3B,EAOJ,gBAAO,OAAP,CAAe,OAAf,CAAuB,cAAvB,CAAsC,IAAtC,CAA2C,IAA3C,CAPI,CAAP;AAQD,KAVM;AAWP,IAAA,YAXO,0BAWK;AACV,UAAM,MAAM,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAf;;AAEA,aAAO,MAAM,CAAC,IAAP,CAAa,EAAb,CAAiB,KAAxB;AAEA,aAAO,MAAP;AACD,KAjBM;AAkBP,IAAA,QAlBO,sBAkBC;AACN,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,QAAvB,CAAgC,IAAhC,CAAqC,IAArC,CAAd;;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA7BM;AA8BP,IAAA,OAAO,EAAE,0BAAc,OAAd,CAAsB,OAAtB,CAA8B;AA9BhC;
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AAGA;;AAGA;;;;;;;;;;AAGA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,yBAFiB,EAGjB,eAHiB,CAAnB;AAMA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;AAG/B,EAAA,OAH+B,qBAGxB;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,KAAK,EAAE;AAdF,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,gBAAO,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADL;AAEE,4DAAoD,IAFtD;AAGE,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHvD;AAIE,qCAA6B,KAAK;AAJpC;AAMD;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cADO,4BACO;AACZ,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,EAAE,EAAE,KAAK,EADJ;AAEL,UAAA,IAAI,EAAE,YAFD;AAGL,6BAAmB,KAAK;AAHnB;AAFyB,OAA3B,EAOJ,gBAAO,OAAP,CAAe,OAAf,CAAuB,cAAvB,CAAsC,IAAtC,CAA2C,IAA3C,CAPI,CAAP;AAQD,KAVM;AAWP,IAAA,YAXO,0BAWK;AACV,UAAM,MAAM,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAf;;AAEA,aAAO,MAAM,CAAC,IAAP,CAAa,EAAb,CAAiB,KAAxB;AAEA,aAAO,MAAP;AACD,KAjBM;AAkBP,IAAA,QAlBO,sBAkBC;AACN,UAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,OAAf,CAAuB,QAAvB,CAAgC,IAAhC,CAAqC,IAArC,CAAd;;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA7BM;AA8BP,IAAA,OAAO,EAAE,0BAAc,OAAd,CAAsB,OAAtB,CAA8B;AA9BhC,GArCsB;AAsE/B,EAAA,MAtE+B,kBAsEvB,CAtEuB,EAsEtB;AACP,QAAM,KAAK,GAAG,gBAAO,OAAP,CAAe,MAAf,CAAsB,IAAtB,CAA2B,IAA3B,EAAiC,CAAjC,CAAd;;AAEA,SAAK,EAAL,CAAQ,KAAK,CAAC,IAAd,EAAqB,KAArB,EAA4B,KAAK,MAAjC;;AAEA,WAAO,KAAP;AACD;AA5E8B,CAAlB,C","sourcesContent":["// 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<any>,\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 render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
|
|
@@ -239,7 +239,10 @@ var _default2 = _VSlider.default.extend({
|
|
|
239
239
|
this.thumbPressed = true;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
this.activeThumb
|
|
242
|
+
if (this.activeThumb === null) {
|
|
243
|
+
this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value);
|
|
244
|
+
}
|
|
245
|
+
|
|
243
246
|
this.setInternalValue(value);
|
|
244
247
|
},
|
|
245
248
|
onKeyDown: function onKeyDown(e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
|
|
@@ -59,9 +59,6 @@ var _default = baseMixins.extend().extend().extend({
|
|
|
59
59
|
return to.replace('#', '');
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
|
-
mounted: function mounted() {
|
|
63
|
-
this.onRouteChange();
|
|
64
|
-
},
|
|
65
62
|
methods: {
|
|
66
63
|
click: function click(e) {
|
|
67
64
|
// Prevent keyboard actions
|
|
@@ -79,6 +76,12 @@ var _default = baseMixins.extend().extend().extend({
|
|
|
79
76
|
if (e.detail) this.$el.blur();
|
|
80
77
|
this.$emit('click', e);
|
|
81
78
|
this.to || this.toggle();
|
|
79
|
+
},
|
|
80
|
+
toggle: function toggle() {
|
|
81
|
+
// VItemGroup treats a change event as a click
|
|
82
|
+
if (!this.isActive) {
|
|
83
|
+
this.$emit('change');
|
|
84
|
+
}
|
|
82
85
|
}
|
|
83
86
|
},
|
|
84
87
|
render: function render(h) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB;AACA;AACA,wBAAiB,SAAjB,CAJiB,EAKjB,kBALiB,CAAnB;;eAYe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AADH,GAHA;AAUP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAVC;AAcP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,iBAAS;AADX,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,2BAAmB,KAAK;AAH1B,SAIK,KAAK,YAJV;AAMD,KARO;AASR,IAAA,KATQ,mBASH;AACH,UAAI,EAAE,GAAG,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;;AAEA,UAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CADpB,EAEE;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,QAAA,EAAE,GAAG,OAAO,CAAC,IAAb;AACD;;AAED,aAAO,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAzBO,GAdH;AA0CP,EAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB;AACA;AACA,wBAAiB,SAAjB,CAJiB,EAKjB,kBALiB,CAAnB;;eAYe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AADH,GAHA;AAUP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAVC;AAcP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,iBAAS;AADX,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,2BAAmB,KAAK;AAH1B,SAIK,KAAK,YAJV;AAMD,KARO;AASR,IAAA,KATQ,mBASH;AACH,UAAI,EAAE,GAAG,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;;AAEA,UAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CADpB,EAEE;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,QAAA,EAAE,GAAG,OAAO,CAAC,IAAb;AACD;;AAED,aAAO,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAzBO,GAdH;AA0CP,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC;AACA;AACA;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,CAAC,CAAC,cAAF;AACA;AACD,OAPiC,CASlC;AACA;AACA;;;AACA,UAAI,KAAK,IAAL,IACF,KAAK,IAAL,CAAU,OAAV,CAAkB,GAAlB,IAAyB,CAAC,CAD5B,EAEE,CAAC,CAAC,cAAF;AAEF,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD,KAtBM;AAuBP,IAAA,MAvBO,oBAuBD;AACJ;AACA,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,aAAK,KAAL,CAAW,QAAX;AACD;AACF;AA5BM,GA1CF;AAyEP,EAAA,MAzEO,kBAyEC,CAzED,EAyEE;AAAA;;AAAA,gCACe,KAAK,iBAAL,EADf;AAAA,QACC,GADD,yBACC,GADD;AAAA,QACM,IADN,yBACM,IADN;;AAGP,IAAA,IAAI,CAAC,KAAL,mCACK,IAAI,CAAC,KADV;AAEE,uBAAiB,MAAM,CAAC,KAAK,QAAN,CAFzB;AAGE,MAAA,IAAI,EAAE,KAHR;AAIE,MAAA,QAAQ,EAAE;AAJZ;AAMA,IAAA,IAAI,CAAC,EAAL,mCACK,IAAI,CAAC,EADV;AAEE,MAAA,OAAO,EAAE,iBAAC,CAAD,EAAqB;AAC5B,YAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC,KAAI,CAAC,KAAL,CAAW,CAAX;;AAElC,QAAA,KAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AANH;AASA,WAAO,CAAC,CAAC,GAAD,EAAM,IAAN,EAAY,KAAK,MAAL,CAAY,OAAxB,CAAR;AACD;AA5FM,CAFM,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
|
|
@@ -10,18 +10,6 @@ var _mergeData = _interopRequireDefault(require("../../util/mergeData"));
|
|
|
10
10
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
|
|
13
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
|
-
|
|
15
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
-
|
|
17
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
|
-
|
|
19
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
20
|
-
|
|
21
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
22
|
-
|
|
23
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
24
|
-
|
|
25
13
|
function mergeTransitions() {
|
|
26
14
|
var _Array;
|
|
27
15
|
|
|
@@ -117,16 +105,8 @@ function createSimpleTransition(name) {
|
|
|
117
105
|
|
|
118
106
|
if (context.props.hideOnLeave) {
|
|
119
107
|
data.on.leave = mergeTransitions(data.on.leave, function (el) {
|
|
120
|
-
el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')];
|
|
121
108
|
el.style.setProperty('display', 'none', 'important');
|
|
122
109
|
});
|
|
123
|
-
data.on.afterLeave = mergeTransitions(data.on.afterLeave, function (el) {
|
|
124
|
-
if (el) {
|
|
125
|
-
var _el$style;
|
|
126
|
-
|
|
127
|
-
el._initialDisplay ? (_el$style = el.style).setProperty.apply(_el$style, ['display'].concat(_toConsumableArray(el._initialDisplay))) : el.style.removeProperty('display');
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
110
|
}
|
|
131
111
|
|
|
132
112
|
return h(tag, (0, _mergeData.default)(context.data, data), context.children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":";;;;;;;;AACA
|
|
1
|
+
{"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":";;;;;;;;AACA;;;;AAEA,SAAS,gBAAT,GAE2C;AAAA;;AAAA,MADzC,IACyC,uEADX,EACW;;AAAA,oCAAtC,WAAsC;AAAtC,IAAA,WAAsC;AAAA;;AAEzC;AACA,SAAO,UAAA,KAAK,IAAa,MAAlB,gBAAyB,IAAzB,SAAkC,WAAlC,EAAP;AACD;;AAEK,SAAU,sBAAV,CACJ,IADI,EAGS;AAAA,MADb,MACa,uEADJ,cACI;AAAA,MAAb,IAAa;AAEb,SAAO;AACL,IAAA,IAAI,EAAJ,IADK;AAGL,IAAA,UAAU,EAAE,IAHP;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,OADD;AAEL,QAAA,OAAO,EAAE;AAFJ,OADF;AAKL,MAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE,OADK;AAEX,QAAA,OAAO,EAAE;AAFE,OALR;AASL,MAAA,aAAa,EAAE;AACb,QAAA,IAAI,EAAE,OADO;AAEb,QAAA,OAAO,EAAE;AAFI,OATV;AAaL,MAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,MADF;AAEJ,QAAA,OAAO,EAAE;AAFL,OAbD;AAiBL,MAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,MADA;AAEN,QAAA,OAAO,EAAE;AAFH;AAjBH,KALF;AA4BL,IAAA,MA5BK,kBA4BG,CA5BH,EA4BM,OA5BN,EA4Ba;AAChB,UAAM,GAAG,uBAAgB,OAAO,CAAC,KAAR,CAAc,KAAd,GAAsB,QAAtB,GAAiC,EAAjD,CAAT;AACA,UAAM,IAAI,GAAc;AACtB,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAJ,IADK;AAEL,UAAA,IAAI,EAAE,OAAO,CAAC,KAAR,CAAc;AAFf,SADe;AAKtB,QAAA,EAAE,EAAE;AACF,UAAA,WADE,uBACW,EADX,EAC0B;AAC1B,YAAA,EAAE,CAAC,KAAH,CAAS,eAAT,GAA2B,OAAO,CAAC,KAAR,CAAc,MAAzC;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,qBAAT,GAAiC,OAAO,CAAC,KAAR,CAAc,MAA/C;AACD;AAJC;AALkB,OAAxB;;AAaA,UAAI,OAAO,CAAC,KAAR,CAAc,aAAlB,EAAiC;AAC/B,QAAA,IAAI,CAAC,EAAL,CAAS,KAAT,GAAiB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,KAAV,EAAiB,UAAC,EAAD,EAAoB;AAAA,cAC5D,SAD4D,GACP,EADO,CAC5D,SAD4D;AAAA,cACjD,UADiD,GACP,EADO,CACjD,UADiD;AAAA,cACrC,WADqC,GACP,EADO,CACrC,WADqC;AAAA,cACxB,YADwB,GACP,EADO,CACxB,YADwB;AAEpE,UAAA,EAAE,CAAC,wBAAH,GAA8B;AAC5B,YAAA,QAAQ,EAAE,EAAE,CAAC,KAAH,CAAS,QADS;AAE5B,YAAA,GAAG,EAAE,EAAE,CAAC,KAAH,CAAS,GAFc;AAG5B,YAAA,IAAI,EAAE,EAAE,CAAC,KAAH,CAAS,IAHa;AAI5B,YAAA,KAAK,EAAE,EAAE,CAAC,KAAH,CAAS,KAJY;AAK5B,YAAA,MAAM,EAAE,EAAE,CAAC,KAAH,CAAS;AALW,WAA9B;AAOA,UAAA,EAAE,CAAC,KAAH,CAAS,QAAT,GAAoB,UAApB;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,GAAT,GAAe,SAAS,GAAG,IAA3B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,IAAT,GAAgB,UAAU,GAAG,IAA7B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,KAAT,GAAiB,WAAW,GAAG,IAA/B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,MAAT,GAAkB,YAAY,GAAG,IAAjC;AACD,SAdgC,CAAjC;AAeA,QAAA,IAAI,CAAC,EAAL,CAAS,UAAT,GAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,UAAV,EAAsB,UAAC,EAAD,EAAqB;AAC/E,cAAI,EAAE,IAAI,EAAE,CAAC,wBAAb,EAAuC;AAAA,wCACU,EAAE,CAAC,wBADb;AAAA,gBAC7B,QAD6B,yBAC7B,QAD6B;AAAA,gBACnB,GADmB,yBACnB,GADmB;AAAA,gBACd,IADc,yBACd,IADc;AAAA,gBACR,KADQ,yBACR,KADQ;AAAA,gBACD,MADC,yBACD,MADC;AAErC,mBAAO,EAAE,CAAC,wBAAV;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,QAAT,GAAoB,QAAQ,IAAI,EAAhC;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,GAAT,GAAe,GAAG,IAAI,EAAtB;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,IAAT,GAAgB,IAAI,IAAI,EAAxB;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,KAAT,GAAiB,KAAK,IAAI,EAA1B;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,MAAT,GAAkB,MAAM,IAAI,EAA5B;AACD;AACF,SAVqC,CAAtC;AAWD;;AACD,UAAI,OAAO,CAAC,KAAR,CAAc,WAAlB,EAA+B;AAC7B,QAAA,IAAI,CAAC,EAAL,CAAS,KAAT,GAAiB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,KAAV,EAAiB,UAAC,EAAD,EAAoB;AACpE,UAAA,EAAE,CAAC,KAAH,CAAS,WAAT,CAAqB,SAArB,EAAgC,MAAhC,EAAwC,WAAxC;AACD,SAFgC,CAAjC;AAGD;;AAED,aAAO,CAAC,CAAC,GAAD,EAAM,wBAAU,OAAO,CAAC,IAAlB,EAAwB,IAAxB,CAAN,EAAqC,OAAO,CAAC,QAA7C,CAAR;AACD;AA9EI,GAAP;AAgFD;;AAEK,SAAU,0BAAV,CACJ,IADI,EAEJ,SAFI,EAGW;AAAA,MAAf,IAAe,uEAAR,QAAQ;AAEf,SAAO;AACL,IAAA,IAAI,EAAJ,IADK;AAGL,IAAA,UAAU,EAAE,IAHP;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,MADF;AAEJ,QAAA,OAAO,EAAE;AAFL;AADD,KALF;AAYL,IAAA,MAZK,kBAYG,CAZH,EAYM,OAZN,EAYa;AAChB,aAAO,CAAC,CACN,YADM,EAEN,wBAAU,OAAO,CAAC,IAAlB,EAAwB;AACtB,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAJ;AAAF,SADe;AAEtB,QAAA,EAAE,EAAE;AAFkB,OAAxB,CAFM,EAMN,OAAO,CAAC,QANF,CAAR;AAQD;AArBI,GAAP;AAuBD","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
|
|
@@ -47,7 +47,7 @@ function checkIsActive(e, binding) {
|
|
|
47
47
|
return isActive(e);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function directive(e, el, binding) {
|
|
50
|
+
function directive(e, el, binding, vnode) {
|
|
51
51
|
var handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;
|
|
52
52
|
el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(function () {
|
|
53
53
|
checkIsActive(e, binding) && handler && handler(e);
|
|
@@ -69,9 +69,9 @@ var ClickOutside = {
|
|
|
69
69
|
// sure that the root element is
|
|
70
70
|
// available, iOS does not support
|
|
71
71
|
// clicks on body
|
|
72
|
-
inserted: function inserted(el, binding) {
|
|
72
|
+
inserted: function inserted(el, binding, vnode) {
|
|
73
73
|
var onClick = function onClick(e) {
|
|
74
|
-
return directive(e, el, binding);
|
|
74
|
+
return directive(e, el, binding, vnode);
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
var onMousedown = function onMousedown(e) {
|
|
@@ -82,20 +82,29 @@ var ClickOutside = {
|
|
|
82
82
|
app.addEventListener('click', onClick, true);
|
|
83
83
|
app.addEventListener('mousedown', onMousedown, true);
|
|
84
84
|
});
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
|
|
86
|
+
if (!el._clickOutside) {
|
|
87
|
+
el._clickOutside = {
|
|
88
|
+
lastMousedownWasOutside: true
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
el._clickOutside[vnode.context._uid] = {
|
|
87
93
|
onClick: onClick,
|
|
88
94
|
onMousedown: onMousedown
|
|
89
95
|
};
|
|
90
96
|
},
|
|
91
|
-
unbind: function unbind(el) {
|
|
97
|
+
unbind: function unbind(el, binding, vnode) {
|
|
92
98
|
if (!el._clickOutside) return;
|
|
93
99
|
handleShadow(el, function (app) {
|
|
94
100
|
if (!app || !el._clickOutside) return;
|
|
95
|
-
|
|
96
|
-
|
|
101
|
+
var _el$_clickOutside$vno = el._clickOutside[vnode.context._uid],
|
|
102
|
+
onClick = _el$_clickOutside$vno.onClick,
|
|
103
|
+
onMousedown = _el$_clickOutside$vno.onMousedown;
|
|
104
|
+
app.removeEventListener('click', onClick, true);
|
|
105
|
+
app.removeEventListener('mousedown', onMousedown, true);
|
|
97
106
|
});
|
|
98
|
-
delete el._clickOutside;
|
|
107
|
+
delete el._clickOutside[vnode.context._uid];
|
|
99
108
|
}
|
|
100
109
|
};
|
|
101
110
|
exports.ClickOutside = ClickOutside;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAcA,SAAS,kBAAT,GAA2B;AACzB,SAAO,IAAP;AACD;;AAED,SAAS,UAAT,CAAqB,CAArB,EAAsC,EAAtC,EAAuD,OAAvD,EAAqF;AACnF;AACA;AACA;AACA;AACA,MAAI,CAAC,CAAD,IAAM,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoC,CAOnF;AACA;AACA;;AACA,MAAM,IAAI,GAAG,uBAAa,EAAb,CAAb;AACA,MACE,OAAO,UAAP,KAAsB,WAAtB,IACA,IAAI,YAAY,UADhB,IAEA,IAAI,CAAC,IAAL,KAAc,CAAC,CAAC,MAHlB,EAIE,OAAO,KAAP,CAfiF,CAiBnF;AACA;;AACA,MAAM,QAAQ,GAAG,CAAE,QAAO,OAAO,CAAC,KAAf,MAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,OAApD,IAAiE;AAAA,WAAM,EAAN;AAAA,GAAlE,GAAjB,CAnBmF,CAoBnF;;;AACA,EAAA,QAAQ,CAAC,IAAT,CAAc,EAAd,EArBmF,CAuBnF;AACA;AACA;AACA;AACA;;AACA,SAAO,CAAC,QAAQ,CAAC,IAAT,CAAc,UAAA,EAAE;AAAA,WAAI,EAAE,CAAC,QAAH,CAAY,CAAC,CAAC,MAAd,CAAJ;AAAA,GAAhB,CAAR;AACD;;AAED,SAAS,aAAT,CAAwB,CAAxB,EAAyC,OAAzC,EAAuE;AACrE,MAAM,QAAQ,GAAI,QAAO,OAAO,CAAC,KAAf,MAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,gBAApD,IAAyE,kBAA1F;AAEA,SAAO,QAAQ,CAAC,CAAD,CAAf;AACD;;AAED,SAAS,SAAT,CAAoB,CAApB,EAAqC,EAArC,EAAsD,OAAtD,EAAsF,KAAtF,EAAkG;AAChG,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,KAAf,KAAyB,UAAzB,GAAsC,OAAO,CAAC,KAA9C,GAAsD,OAAO,CAAC,KAAR,CAAe,OAArF;AAEA,EAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,IAA6C,UAAU,CAAC,CAAD,EAAI,EAAJ,EAAQ,OAAR,CAAvD,IAA2E,UAAU,CAAC,YAAK;AACzF,IAAA,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,IAA6B,OAA7B,IAAwC,OAAO,CAAC,CAAD,CAA/C;AACD,GAFoF,EAElF,CAFkF,CAArF;AAGD;;AAED,SAAS,YAAT,CAAuB,EAAvB,EAAwC,QAAxC,EAA0D;AACxD,MAAM,IAAI,GAAG,uBAAa,EAAb,CAAb;AAEA,EAAA,QAAQ,CAAC,QAAD,CAAR;;AAEA,MAAI,OAAO,UAAP,KAAsB,WAAtB,IAAqC,IAAI,YAAY,UAAzD,EAAqE;AACnE,IAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF;;AAEM,IAAM,YAAY,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,EAAA,QAN0B,oBAMhB,EANgB,EAMC,OAND,EAMiC,KANjC,EAM6C;AACrE,QAAM,OAAO,GAAG,SAAV,OAAU,CAAC,CAAD;AAAA,aAAc,SAAS,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,EAAiC,KAAjC,CAAvB;AAAA,KAAhB;;AACA,QAAM,WAAW,GAAG,SAAd,WAAc,CAAC,CAAD,EAAa;AAC/B,MAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,GAA4C,UAAU,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,CAAtD;AACD,KAFD;;AAIA,IAAA,YAAY,CAAC,EAAD,EAAK,UAAC,GAAD,EAAqB;AACpC,MAAA,GAAG,CAAC,gBAAJ,CAAqB,OAArB,EAA8B,OAA9B,EAAuC,IAAvC;AACA,MAAA,GAAG,CAAC,gBAAJ,CAAqB,WAArB,EAAkC,WAAlC,EAA+C,IAA/C;AACD,KAHW,CAAZ;;AAKA,QAAI,CAAC,EAAE,CAAC,aAAR,EAAuB;AACrB,MAAA,EAAE,CAAC,aAAH,GAAmB;AACjB,QAAA,uBAAuB,EAAE;AADR,OAAnB;AAGD;;AAED,IAAA,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,IAAwC;AACtC,MAAA,OAAO,EAAP,OADsC;AAEtC,MAAA,WAAW,EAAX;AAFsC,KAAxC;AAID,GA3ByB;AA6B1B,EAAA,MA7B0B,kBA6BlB,EA7BkB,EA6BD,OA7BC,EA6B+B,KA7B/B,EA6B2C;AACnE,QAAI,CAAC,EAAE,CAAC,aAAR,EAAuB;AAEvB,IAAA,YAAY,CAAC,EAAD,EAAK,UAAC,GAAD,EAAqB;AACpC,UAAI,CAAC,GAAD,IAAQ,CAAC,EAAE,CAAC,aAAhB,EAA+B;AADK,kCAGH,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,CAHG;AAAA,UAG5B,OAH4B,yBAG5B,OAH4B;AAAA,UAGnB,WAHmB,yBAGnB,WAHmB;AAKpC,MAAA,GAAG,CAAC,mBAAJ,CAAwB,OAAxB,EAAiC,OAAjC,EAA0C,IAA1C;AACA,MAAA,GAAG,CAAC,mBAAJ,CAAwB,WAAxB,EAAqC,WAArC,EAAkD,IAAlD;AACD,KAPW,CAAZ;AASA,WAAO,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,CAAP;AACD;AA1CyB,CAArB;;eA6CQ,Y","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
|