@vuetify/nightly 3.2.0-next-20230118.0 → 4.0.0-next-20230205.0
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/CHANGELOG.md +203 -16
- package/dist/json/importMap-labs.json +8 -4
- package/dist/json/importMap.json +8 -8
- package/dist/vuetify-labs.css +253 -246
- package/dist/vuetify-labs.d.ts +387 -176
- package/dist/vuetify-labs.esm.js +282 -215
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +281 -214
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +51 -44
- package/dist/vuetify.d.ts +317 -178
- package/dist/vuetify.esm.js +249 -185
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +248 -184
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +696 -685
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +2 -2
- package/lib/blueprints/md1.d.ts +2 -2
- package/lib/blueprints/md2.d.ts +2 -2
- package/lib/blueprints/md3.d.ts +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +43 -20
- package/lib/components/VBottomSheet/VBottomSheet.mjs +1 -4
- package/lib/components/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.css +7 -7
- package/lib/components/VBtn/VBtn.mjs +8 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.mjs +15 -11
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +2 -1
- package/lib/components/VBtnToggle/VBtnToggle.mjs +9 -5
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +122 -1
- package/lib/components/VCalendar/VCalendar.mjs +3 -0
- package/lib/components/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarCategory.sass +9 -3
- package/lib/components/VCalendar/VCalendarDaily.mjs +20 -8
- package/lib/components/VCalendar/VCalendarDaily.mjs.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.mjs +25 -5
- package/lib/components/VCalendar/VCalendarWeekly.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs +20 -16
- package/lib/components/VCalendar/mixins/calendar-with-events.mjs.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.mjs +16 -30
- package/lib/components/VCalendar/mixins/mouse.mjs.map +1 -1
- package/lib/components/VCard/VCard.css +7 -7
- package/lib/components/VChip/VChip.css +7 -7
- package/lib/components/VCombobox/VCombobox.mjs +3 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +43 -20
- package/lib/components/VData/VData.mjs +2 -4
- package/lib/components/VData/VData.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +7 -5
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +5 -4
- package/lib/components/VDialog/VDialog.mjs +6 -5
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/index.d.ts +57 -34
- package/lib/components/VDivider/VDivider.mjs +6 -6
- package/lib/components/VDivider/VDivider.mjs.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanel.css +7 -7
- package/lib/components/VField/VField.css +2 -2
- package/lib/components/VField/VField.mjs +28 -26
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -2
- package/lib/components/VFileInput/VFileInput.mjs +7 -4
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VForm/index.d.ts +0 -3
- package/lib/components/VList/VList.mjs +4 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +7 -7
- package/lib/components/VList/VListItem.mjs +29 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +6 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +57 -34
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +4 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +4 -0
- package/lib/components/VNavigationDrawer/index.d.ts +3 -3
- package/lib/components/VNavigationDrawer/touch.mjs +7 -6
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs +22 -46
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs +3 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +34 -11
- package/lib/components/VOverlay/locationStrategies.mjs +40 -29
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +25 -16
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +1 -1
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +3 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +43 -20
- package/lib/components/VSelectionControl/VSelectionControl.css +2 -2
- package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/lib/components/VSnackbar/index.d.ts +42 -19
- package/lib/components/VStepper/VStepper.sass +6 -6
- package/lib/components/VStepper/VStepperStep.mjs +12 -2
- package/lib/components/VStepper/VStepperStep.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +4 -4
- package/lib/components/VTable/VTable.sass +2 -2
- package/lib/components/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/components/VTimeline/_mixins.sass +1 -1
- package/lib/components/VTooltip/VTooltip.mjs +4 -3
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/index.d.ts +57 -34
- package/lib/components/VTreeview/VTreeview.mjs +1 -1
- package/lib/components/VTreeview/VTreeview.mjs.map +1 -1
- package/lib/components/index.d.ts +316 -176
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/filter.mjs +3 -3
- package/lib/composables/filter.mjs.map +1 -1
- package/lib/composables/form.mjs +0 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/toggleScope.mjs +14 -7
- package/lib/composables/toggleScope.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +3 -0
- package/lib/directives/ripple/VRipple.sass +3 -0
- package/lib/directives/ripple/_variables.scss +1 -1
- package/lib/directives/ripple/index.mjs +2 -7
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/labs/VDataTable/VDataTable.mjs +6 -6
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +19 -12
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -5
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +3 -7
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +71 -1
- package/lib/labs/VDataTable/index.mjs +1 -0
- package/lib/labs/VDataTable/index.mjs.map +1 -1
- package/lib/labs/components.d.ts +71 -1
- package/lib/locale/adapters/vue-i18n.mjs +12 -2
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/locale/ar.mjs +20 -20
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/en.mjs +2 -2
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +3 -3
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/fi.mjs +5 -5
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/it.mjs +6 -6
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/sv.mjs +13 -13
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +6 -6
- package/lib/styles/tools/_states.sass +3 -3
- package/lib/util/defineComponent.mjs +21 -18
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +5 -19
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +1 -1
@@ -60,7 +60,10 @@ export default CalendarBase.extend({
|
|
60
60
|
},
|
61
61
|
genHead() {
|
62
62
|
return this.$createElement('div', {
|
63
|
-
staticClass: 'v-calendar-weekly__head'
|
63
|
+
staticClass: 'v-calendar-weekly__head',
|
64
|
+
attrs: {
|
65
|
+
role: 'row'
|
66
|
+
}
|
64
67
|
}, this.genHeadDays());
|
65
68
|
},
|
66
69
|
genHeadDays() {
|
@@ -78,7 +81,10 @@ export default CalendarBase.extend({
|
|
78
81
|
return this.$createElement('div', this.setTextColor(color, {
|
79
82
|
key: day.date,
|
80
83
|
staticClass: 'v-calendar-weekly__head-weekday',
|
81
|
-
class: this.getRelativeClasses(day, outside)
|
84
|
+
class: this.getRelativeClasses(day, outside),
|
85
|
+
attrs: {
|
86
|
+
role: 'columnheader'
|
87
|
+
}
|
82
88
|
}), this.weekdayFormatter(day, this.shortWeekdays));
|
83
89
|
},
|
84
90
|
genWeeks() {
|
@@ -97,7 +103,10 @@ export default CalendarBase.extend({
|
|
97
103
|
}
|
98
104
|
return this.$createElement('div', {
|
99
105
|
key: week[0].date,
|
100
|
-
staticClass: 'v-calendar-weekly__week'
|
106
|
+
staticClass: 'v-calendar-weekly__week',
|
107
|
+
attrs: {
|
108
|
+
role: 'row'
|
109
|
+
}
|
101
110
|
}, weekNodes);
|
102
111
|
},
|
103
112
|
getWeekNumber(determineDay) {
|
@@ -114,7 +123,15 @@ export default CalendarBase.extend({
|
|
114
123
|
key: day.date,
|
115
124
|
staticClass: 'v-calendar-weekly__day',
|
116
125
|
class: this.getRelativeClasses(day, outside),
|
117
|
-
|
126
|
+
attrs: {
|
127
|
+
role: 'cell'
|
128
|
+
},
|
129
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
130
|
+
return {
|
131
|
+
nativeEvent,
|
132
|
+
...day
|
133
|
+
};
|
134
|
+
})
|
118
135
|
}, [this.genDayLabel(day), ...(getSlot(this, 'day', () => ({
|
119
136
|
outside,
|
120
137
|
index,
|
@@ -148,7 +165,10 @@ export default CalendarBase.extend({
|
|
148
165
|
prevent: true,
|
149
166
|
result: false
|
150
167
|
}
|
151
|
-
},
|
168
|
+
}, nativeEvent => ({
|
169
|
+
nativeEvent,
|
170
|
+
...day
|
171
|
+
}))
|
152
172
|
}, hasMonth ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false) : this.dayFormatter(day, false));
|
153
173
|
},
|
154
174
|
genDayMonth(day) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VCalendarWeekly.mjs","names":["VBtn","CalendarBase","getSlot","weekNumber","props","createDayList","getDayIdentifier","createNativeLocaleFormatter","extend","name","weeks","computed","staticClass","classes","themeClasses","parsedMinWeeks","parseInt","minWeeks","days","minDays","parsedWeekdays","length","start","getStartOfWeek","parsedStart","end","getEndOfWeek","parsedEnd","times","today","weekdaySkips","Number","MAX_SAFE_INTEGER","todayWeek","monthFormatter","monthFormat","longOptions","timeZone","month","shortOptions","currentLocale","_tms","short","methods","isOutside","day","dayIdentifier","genHead","$createElement","genHeadDays","header","map","genHeadDay","showWeek","unshift","index","outside","color","present","undefined","setTextColor","key","date","class","getRelativeClasses","weekdayFormatter","shortWeekdays","genWeeks","weekDays","i","push","genWeek","slice","getWeekNumber","week","weekNodes","genDay","genWeekNumber","determineDay","year","localeFirstDayOfYear","String","on","getDefaultMouseEventHandlers","_e","genDayLabel","genDayLabelButton","hasMonth","showMonthOnFirst","fab","depressed","small","getMouseEventHandlers","event","stop","prevent","result","shortMonths","dayFormatter","genDayMonth","render","h","dragstart","e","preventDefault","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\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"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"VCalendarWeekly.mjs","names":["VBtn","CalendarBase","getSlot","weekNumber","props","createDayList","getDayIdentifier","createNativeLocaleFormatter","extend","name","weeks","computed","staticClass","classes","themeClasses","parsedMinWeeks","parseInt","minWeeks","days","minDays","parsedWeekdays","length","start","getStartOfWeek","parsedStart","end","getEndOfWeek","parsedEnd","times","today","weekdaySkips","Number","MAX_SAFE_INTEGER","todayWeek","monthFormatter","monthFormat","longOptions","timeZone","month","shortOptions","currentLocale","_tms","short","methods","isOutside","day","dayIdentifier","genHead","$createElement","attrs","role","genHeadDays","header","map","genHeadDay","showWeek","unshift","index","outside","color","present","undefined","setTextColor","key","date","class","getRelativeClasses","weekdayFormatter","shortWeekdays","genWeeks","weekDays","i","push","genWeek","slice","getWeekNumber","week","weekNodes","genDay","genWeekNumber","determineDay","year","localeFirstDayOfYear","String","on","getDefaultMouseEventHandlers","nativeEvent","genDayLabel","genDayLabelButton","hasMonth","showMonthOnFirst","fab","depressed","small","getMouseEventHandlers","event","stop","prevent","result","shortMonths","dayFormatter","genDayMonth","render","h","dragstart","e","preventDefault","hideHeader"],"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\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 attrs: {\n role: 'row',\n },\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 attrs: {\n role: 'columnheader',\n },\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 attrs: {\n role: 'row',\n },\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 attrs: {\n role: 'cell',\n },\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...day }\n }),\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 }, nativeEvent => ({ nativeEvent, ...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"],"mappings":"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"}
|
@@ -7,8 +7,7 @@ import "./calendar-with-events.css";
|
|
7
7
|
// Types
|
8
8
|
// Directives
|
9
9
|
import ripple from "../../../directives/ripple/index.mjs"; // Mixins
|
10
|
-
import CalendarBase from "./calendar-base.mjs"; //
|
11
|
-
import { escapeHTML } from "../../../util/helpers.mjs"; // Util
|
10
|
+
import CalendarBase from "./calendar-base.mjs"; // Util
|
12
11
|
import props from "../util/props.mjs";
|
13
12
|
import { CalendarEventOverlapModes } from "../modes/index.mjs";
|
14
13
|
import { getDayIdentifier, diffMinutes } from "../util/timestamp.mjs";
|
@@ -48,7 +47,7 @@ export default CalendarBase.extend({
|
|
48
47
|
return typeof this.eventTextColor === 'function' ? this.eventTextColor : () => this.eventTextColor;
|
49
48
|
},
|
50
49
|
eventNameFunction() {
|
51
|
-
return typeof this.eventName === 'function' ? this.eventName : (event, timedEvent) =>
|
50
|
+
return typeof this.eventName === 'function' ? this.eventName : (event, timedEvent) => event.input[this.eventName] || '';
|
52
51
|
},
|
53
52
|
eventModeFunction() {
|
54
53
|
return typeof this.eventOverlapMode === 'function' ? this.eventOverlapMode : CalendarEventOverlapModes[this.eventOverlapMode];
|
@@ -232,17 +231,22 @@ export default CalendarBase.extend({
|
|
232
231
|
const eventSummary = () => {
|
233
232
|
const name = this.eventNameFunction(event, timedEvent);
|
234
233
|
if (event.start.hasTime) {
|
235
|
-
const eventSummaryClass = 'v-event-summary';
|
236
234
|
if (timedEvent) {
|
237
235
|
const time = timeSummary();
|
238
|
-
const delimiter = singline ? ', ' : '
|
239
|
-
return
|
236
|
+
const delimiter = singline ? ', ' : this.$createElement('br');
|
237
|
+
return this.$createElement('span', {
|
238
|
+
staticClass: 'v-event-summary'
|
239
|
+
}, [this.$createElement('strong', [name]), delimiter, time]);
|
240
240
|
} else {
|
241
241
|
const time = formatTime(event.start, true);
|
242
|
-
return
|
242
|
+
return this.$createElement('span', {
|
243
|
+
staticClass: 'v-event-summary'
|
244
|
+
}, [this.$createElement('strong', [time]), ' ', name]);
|
243
245
|
}
|
244
246
|
}
|
245
|
-
return
|
247
|
+
return this.$createElement('span', {
|
248
|
+
staticClass: 'v-event-summary'
|
249
|
+
}, [name]);
|
246
250
|
};
|
247
251
|
const scope = {
|
248
252
|
...scopeInput,
|
@@ -268,11 +272,8 @@ export default CalendarBase.extend({
|
|
268
272
|
},
|
269
273
|
genName(eventSummary) {
|
270
274
|
return this.$createElement('div', {
|
271
|
-
staticClass: 'pl-1'
|
272
|
-
|
273
|
-
innerHTML: eventSummary()
|
274
|
-
}
|
275
|
-
});
|
275
|
+
staticClass: 'pl-1'
|
276
|
+
}, [eventSummary()]);
|
276
277
|
},
|
277
278
|
genPlaceholder(day) {
|
278
279
|
const height = this.eventHeight + this.eventMarginBottom;
|
@@ -303,9 +304,12 @@ export default CalendarBase.extend({
|
|
303
304
|
name: 'ripple',
|
304
305
|
value: this.eventRipple ?? true
|
305
306
|
}],
|
306
|
-
on: {
|
307
|
-
|
308
|
-
|
307
|
+
on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
|
308
|
+
return {
|
309
|
+
nativeEvent,
|
310
|
+
...day
|
311
|
+
};
|
312
|
+
}),
|
309
313
|
style: {
|
310
314
|
display: 'none',
|
311
315
|
height: `${eventHeight}px`,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calendar-with-events.mjs","names":["ripple","CalendarBase","escapeHTML","props","CalendarEventOverlapModes","getDayIdentifier","diffMinutes","parseEvent","isEventStart","isEventOn","isEventOverlapping","isEventHiddenOn","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","extend","name","directives","events","calendar","category","computed","noEvents","length","parsedEvents","map","parsedEventOverlapThreshold","parseInt","eventOverlapThreshold","eventTimedFunction","eventTimed","event","eventCategoryFunction","eventCategory","eventTextColorFunction","eventTextColor","eventNameFunction","eventName","timedEvent","input","eventModeFunction","eventOverlapMode","eventWeekdays","parsedWeekdays","categoryMode","type","methods","eventColorFunction","e","eventColor","color","index","eventStart","eventEnd","formatTime","withTime","ampm","formatter","getFormatter","timeZone","hour","minute","undefined","updateEventVisibility","eventMore","eventHeight","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","$vuetify","lang","t","eventMoreText","elements","$refs","forEach","el","getAttribute","parentElement","push","genDayEvent","day","eventMarginBottom","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","staticClass","class","height","attrs","key","ref","refInFor","genTimedEvent","left","timeDelta","top","timeToY","Math","max","scopeInput","data","slot","$scopedSlots","text","background","overlapsNoon","singline","timeSummary","eventSummary","hasTime","eventSummaryClass","time","delimiter","outside","$createElement","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","domProps","genPlaceholder","genMore","click","$emit","getVisibleEvents","days","filter","isEventForCategory","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","mode","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","slots","slotDay","slotDayHeader","slotDayBody","concat"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\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<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: (e: MouseEvent) => this.$emit('click:more', day, e),\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"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"calendar-with-events.mjs","names":["ripple","CalendarBase","props","CalendarEventOverlapModes","getDayIdentifier","diffMinutes","parseEvent","isEventStart","isEventOn","isEventOverlapping","isEventHiddenOn","WIDTH_FULL","WIDTH_START","MINUTES_IN_DAY","extend","name","directives","events","calendar","category","computed","noEvents","length","parsedEvents","map","parsedEventOverlapThreshold","parseInt","eventOverlapThreshold","eventTimedFunction","eventTimed","event","eventCategoryFunction","eventCategory","eventTextColorFunction","eventTextColor","eventNameFunction","eventName","timedEvent","input","eventModeFunction","eventOverlapMode","eventWeekdays","parsedWeekdays","categoryMode","type","methods","eventColorFunction","e","eventColor","color","index","eventStart","eventEnd","formatTime","withTime","ampm","formatter","getFormatter","timeZone","hour","minute","undefined","updateEventVisibility","eventMore","eventHeight","eventsMap","getEventsMap","date","parent","more","parentBounds","getBoundingClientRect","last","eventsSorted","bottom","sort","a","b","hidden","i","hide","style","display","innerHTML","$vuetify","lang","t","eventMoreText","elements","$refs","forEach","el","getAttribute","parentElement","push","genDayEvent","day","eventMarginBottom","dayIdentifier","week","start","startIdentifier","end","endIdentifier","width","weekdayIdentifier","scope","eventParsed","timed","genEvent","staticClass","class","height","attrs","key","ref","refInFor","genTimedEvent","left","timeDelta","top","timeToY","Math","max","scopeInput","data","slot","$scopedSlots","text","background","overlapsNoon","singline","timeSummary","eventSummary","hasTime","time","delimiter","$createElement","outside","setTextColor","setBackgroundColor","on","getDefaultMouseEventHandlers","nativeEvent","value","eventRipple","genName","genPlaceholder","genMore","getVisibleEvents","days","filter","isEventForCategory","categoryName","getEventsForDay","identifier","firstWeekday","getEventsForDayAll","allDay","getEventsForDayTimed","getScopedSlots","mode","isNode","getSlotChildren","getter","mapper","visuals","visual","children","column","mapped","slots","slotDay","slotDayHeader","slotDayBody","concat"],"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\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// 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) => 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 if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : this.$createElement('br')\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [name]),\n delimiter,\n time,\n ])\n } else {\n const time = formatTime(event.start, true)\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [\n this.$createElement('strong', [time]),\n ' ',\n name,\n ])\n }\n }\n\n return this.$createElement('span', { staticClass: 'v-event-summary' }, [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): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n }, [eventSummary()])\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: this.getDefaultMouseEventHandlers(':more', nativeEvent => {\n return { nativeEvent, ...day }\n }),\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"],"mappings":"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"}
|
@@ -6,38 +6,18 @@ export default Vue.extend({
|
|
6
6
|
name: 'mouse',
|
7
7
|
methods: {
|
8
8
|
getDefaultMouseEventHandlers(suffix, getEvent) {
|
9
|
+
const listeners = Object.keys(this.$listeners).filter(key => key.endsWith(suffix)).reduce((acc, key) => {
|
10
|
+
acc[key] = {
|
11
|
+
event: key.slice(0, -suffix.length)
|
12
|
+
};
|
13
|
+
return acc;
|
14
|
+
}, {});
|
9
15
|
return this.getMouseEventHandlers({
|
10
|
-
|
11
|
-
event: 'click'
|
12
|
-
},
|
16
|
+
...listeners,
|
13
17
|
['contextmenu' + suffix]: {
|
14
18
|
event: 'contextmenu',
|
15
19
|
prevent: true,
|
16
20
|
result: false
|
17
|
-
},
|
18
|
-
['mousedown' + suffix]: {
|
19
|
-
event: 'mousedown'
|
20
|
-
},
|
21
|
-
['mousemove' + suffix]: {
|
22
|
-
event: 'mousemove'
|
23
|
-
},
|
24
|
-
['mouseup' + suffix]: {
|
25
|
-
event: 'mouseup'
|
26
|
-
},
|
27
|
-
['mouseenter' + suffix]: {
|
28
|
-
event: 'mouseenter'
|
29
|
-
},
|
30
|
-
['mouseleave' + suffix]: {
|
31
|
-
event: 'mouseleave'
|
32
|
-
},
|
33
|
-
['touchstart' + suffix]: {
|
34
|
-
event: 'touchstart'
|
35
|
-
},
|
36
|
-
['touchmove' + suffix]: {
|
37
|
-
event: 'touchmove'
|
38
|
-
},
|
39
|
-
['touchend' + suffix]: {
|
40
|
-
event: 'touchend'
|
41
21
|
}
|
42
22
|
}, getEvent);
|
43
23
|
},
|
@@ -66,9 +46,15 @@ export default Vue.extend({
|
|
66
46
|
// Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target
|
67
47
|
// This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at
|
68
48
|
if (e && 'touches' in e) {
|
69
|
-
var _e$
|
70
|
-
const
|
71
|
-
|
49
|
+
var _e$currentTarget, _e$target;
|
50
|
+
const classSeparator = ' ';
|
51
|
+
const eventTargetClasses = (_e$currentTarget = e.currentTarget) == null ? void 0 : _e$currentTarget.className.split(classSeparator);
|
52
|
+
const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY);
|
53
|
+
|
54
|
+
// Get "the same kind" current hovering target by checking
|
55
|
+
// If element has the same class of initial touch start element (which has touch event listener registered)
|
56
|
+
const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)));
|
57
|
+
if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget))) {
|
72
58
|
currentTarget.dispatchEvent(new TouchEvent(e.type, {
|
73
59
|
changedTouches: e.changedTouches,
|
74
60
|
targetTouches: e.targetTouches,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","
|
1
|
+
{"version":3,"file":"mouse.mjs","names":["Vue","extend","name","methods","getDefaultMouseEventHandlers","suffix","getEvent","listeners","Object","keys","$listeners","filter","key","endsWith","reduce","acc","event","slice","length","getMouseEventHandlers","prevent","result","events","on","eventOptions","prefix","passive","once","capture","handler","e","mouseEvent","button","undefined","buttons","preventDefault","stop","stopPropagation","classSeparator","eventTargetClasses","currentTarget","className","split","currentTargets","document","elementsFromPoint","changedTouches","clientX","clientY","find","t","some","c","includes","target","isSameNode","dispatchEvent","TouchEvent","type","targetTouches","touches","$emit","Array","isArray","push"],"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport 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 const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\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 classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\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), 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"],"mappings":"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"}
|
@@ -25,28 +25,28 @@
|
|
25
25
|
position: fixed;
|
26
26
|
}
|
27
27
|
.v-card:hover > .v-card__overlay {
|
28
|
-
opacity: calc(
|
28
|
+
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
29
29
|
}
|
30
30
|
.v-card:focus-visible > .v-card__overlay {
|
31
|
-
opacity: calc(
|
31
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
32
32
|
}
|
33
33
|
@supports not selector(:focus-visible) {
|
34
34
|
.v-card:focus > .v-card__overlay {
|
35
|
-
opacity: calc(
|
35
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
36
36
|
}
|
37
37
|
}
|
38
38
|
.v-card--active > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true] > .v-card__overlay {
|
39
|
-
opacity: calc(
|
39
|
+
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
40
40
|
}
|
41
41
|
.v-card--active:hover > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:hover > .v-card__overlay {
|
42
|
-
opacity: calc(
|
42
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
43
43
|
}
|
44
44
|
.v-card--active:focus-visible > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-card__overlay {
|
45
|
-
opacity: calc(
|
45
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
46
46
|
}
|
47
47
|
@supports not selector(:focus-visible) {
|
48
48
|
.v-card--active:focus > .v-card__overlay, .v-card[aria-haspopup=menu][aria-expanded=true]:focus > .v-card__overlay {
|
49
|
-
opacity: calc(
|
49
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
50
50
|
}
|
51
51
|
}
|
52
52
|
.v-card--variant-plain, .v-card--variant-outlined, .v-card--variant-text, .v-card--variant-tonal {
|
@@ -252,28 +252,28 @@
|
|
252
252
|
}
|
253
253
|
|
254
254
|
.v-chip:hover > .v-chip__overlay {
|
255
|
-
opacity: calc(
|
255
|
+
opacity: calc(var(--v-hover-opacity) * var(--v-theme-overlay-multiplier));
|
256
256
|
}
|
257
257
|
.v-chip:focus-visible > .v-chip__overlay {
|
258
|
-
opacity: calc(
|
258
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
259
259
|
}
|
260
260
|
@supports not selector(:focus-visible) {
|
261
261
|
.v-chip:focus > .v-chip__overlay {
|
262
|
-
opacity: calc(
|
262
|
+
opacity: calc(var(--v-focus-opacity) * var(--v-theme-overlay-multiplier));
|
263
263
|
}
|
264
264
|
}
|
265
265
|
.v-chip--active > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true] > .v-chip__overlay {
|
266
|
-
opacity: calc(
|
266
|
+
opacity: calc(var(--v-activated-opacity) * var(--v-theme-overlay-multiplier));
|
267
267
|
}
|
268
268
|
.v-chip--active:hover > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:hover > .v-chip__overlay {
|
269
|
-
opacity: calc(
|
269
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier));
|
270
270
|
}
|
271
271
|
.v-chip--active:focus-visible > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus-visible > .v-chip__overlay {
|
272
|
-
opacity: calc(
|
272
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
273
273
|
}
|
274
274
|
@supports not selector(:focus-visible) {
|
275
275
|
.v-chip--active:focus > .v-chip__overlay, .v-chip[aria-haspopup=menu][aria-expanded=true]:focus > .v-chip__overlay {
|
276
|
-
opacity: calc(
|
276
|
+
opacity: calc((var(--v-activated-opacity) + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier));
|
277
277
|
}
|
278
278
|
}
|
279
279
|
.v-chip--variant-plain, .v-chip--variant-outlined, .v-chip--variant-text, .v-chip--variant-tonal {
|
@@ -156,7 +156,9 @@ export const VCombobox = genericComponent()({
|
|
156
156
|
if (props.readonly || form != null && form.isReadonly.value) return;
|
157
157
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
158
158
|
const length = selected.value.length;
|
159
|
-
if (selectionIndex.value > -1
|
159
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
160
|
+
e.preventDefault();
|
161
|
+
}
|
160
162
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
161
163
|
menu.value = true;
|
162
164
|
}
|
@@ -168,11 +170,9 @@ export const VCombobox = genericComponent()({
|
|
168
170
|
}
|
169
171
|
if (e.key === 'ArrowDown') {
|
170
172
|
var _listRef$value;
|
171
|
-
e.preventDefault();
|
172
173
|
(_listRef$value = listRef.value) == null ? void 0 : _listRef$value.focus('next');
|
173
174
|
} else if (e.key === 'ArrowUp') {
|
174
175
|
var _listRef$value2;
|
175
|
-
e.preventDefault();
|
176
176
|
(_listRef$value2 = listRef.value) == null ? void 0 : _listRef$value2.focus('prev');
|
177
177
|
}
|
178
178
|
if (!props.multiple) return;
|