@vuetify/nightly 2.6.8 → 2.6.9

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +8 -5
  2. package/dist/json/web-types.json +21 -7
  3. package/dist/vuetify.css +3 -2
  4. package/dist/vuetify.css.map +1 -1
  5. package/dist/vuetify.js +49 -26
  6. package/dist/vuetify.js.map +1 -1
  7. package/dist/vuetify.min.css +2 -2
  8. package/dist/vuetify.min.js +2 -2
  9. package/es5/components/VCalendar/VCalendar.js +3 -0
  10. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  11. package/es5/components/VCalendar/VCalendarWeekly.js +15 -3
  12. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  13. package/es5/components/VCalendar/mixins/mouse.js +14 -22
  14. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  15. package/es5/components/VCarousel/VCarousel.js +2 -1
  16. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  17. package/es5/components/VPagination/VPagination.js +1 -1
  18. package/es5/components/VPagination/VPagination.js.map +1 -1
  19. package/es5/components/VRadioGroup/VRadio.js +1 -0
  20. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  21. package/es5/framework.js +1 -1
  22. package/lib/components/VCalendar/VCalendar.js +3 -0
  23. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  24. package/lib/components/VCalendar/VCalendarWeekly.js +15 -3
  25. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  26. package/lib/components/VCalendar/mixins/mouse.js +7 -28
  27. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  28. package/lib/components/VCarousel/VCarousel.js +2 -1
  29. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  30. package/lib/components/VPagination/VPagination.js +1 -1
  31. package/lib/components/VPagination/VPagination.js.map +1 -1
  32. package/lib/components/VRadioGroup/VRadio.js +1 -0
  33. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  34. package/lib/framework.js +1 -1
  35. package/package.json +1 -1
  36. package/src/components/VCalendar/VCalendar.ts +3 -0
  37. package/src/components/VCalendar/VCalendarWeekly.ts +12 -0
  38. package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +165 -55
  39. package/src/components/VCalendar/mixins/__tests__/mouse.spec.ts +2 -2
  40. package/src/components/VCalendar/mixins/mouse.ts +8 -9
  41. package/src/components/VCarousel/VCarousel.ts +1 -0
  42. package/src/components/VInput/VInput.sass +1 -1
  43. package/src/components/VPagination/VPagination.ts +1 -1
  44. package/src/components/VRadioGroup/VRadio.ts +1 -0
  45. package/src/components/VSwitch/VSwitch.sass +3 -2
@@ -372,6 +372,9 @@ var _default = _calendarWithEvents.default.extend({
372
372
  weekdays: weekdays,
373
373
  categories: categories
374
374
  }),
375
+ attrs: {
376
+ role: 'grid'
377
+ },
375
378
  directives: [{
376
379
  modifiers: {
377
380
  quiet: true
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCalendar/VCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n\n 'click:date': (day: CalendarTimestamp, e?: MouseEvent) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day, e)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
1
+ {"version":3,"sources":["../../../src/components/VCalendar/VCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\n// import '../../stylus/components/_calendar-daily.styl'\n\n// Types\nimport { VNode, Component } from 'vue'\n\n// Mixins\nimport CalendarWithEvents from './mixins/calendar-with-events'\n\n// Util\nimport props from './util/props'\nimport {\n DAYS_IN_MONTH_MAX,\n DAY_MIN,\n DAYS_IN_WEEK,\n parseTimestamp,\n validateTimestamp,\n relativeDays,\n nextDay,\n prevDay,\n copyTimestamp,\n updateFormatted,\n updateWeekday,\n updateRelative,\n getStartOfMonth,\n getEndOfMonth,\n VTime,\n VTimestampInput,\n timestampToDate,\n} from './util/timestamp'\n\n// Calendars\nimport VCalendarMonthly from './VCalendarMonthly'\nimport VCalendarDaily from './VCalendarDaily'\nimport VCalendarWeekly from './VCalendarWeekly'\nimport VCalendarCategory from './VCalendarCategory'\nimport { CalendarTimestamp, CalendarFormatter, CalendarCategory } from 'vuetify/types'\nimport { getParsedCategories } from './util/parser'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: CalendarCategory[]\n}\n\n/* @vue/component */\nexport default CalendarWithEvents.extend({\n name: 'v-calendar',\n\n props: {\n ...props.calendar,\n ...props.weeks,\n ...props.intervals,\n ...props.category,\n },\n\n data: () => ({\n lastStart: null as CalendarTimestamp | null,\n lastEnd: null as CalendarTimestamp | null,\n }),\n\n computed: {\n parsedValue (): CalendarTimestamp {\n return (validateTimestamp(this.value)\n ? parseTimestamp(this.value, true)\n : (this.parsedStart || this.times.today))\n },\n parsedCategoryDays (): number {\n return parseInt(this.categoryDays) || 1\n },\n renderProps (): VCalendarRenderProps {\n const around = this.parsedValue\n let component: any = null\n let maxDays = this.maxDays\n let weekdays = this.parsedWeekdays\n let categories = this.parsedCategories\n let start = around\n let end = around\n switch (this.type) {\n case 'month':\n component = VCalendarMonthly\n start = getStartOfMonth(around)\n end = getEndOfMonth(around)\n break\n case 'week':\n component = VCalendarDaily\n start = this.getStartOfWeek(around)\n end = this.getEndOfWeek(around)\n maxDays = 7\n break\n case 'day':\n component = VCalendarDaily\n maxDays = 1\n weekdays = [start.weekday]\n break\n case '4day':\n component = VCalendarDaily\n end = relativeDays(copyTimestamp(end), nextDay, 3)\n updateFormatted(end)\n maxDays = 4\n weekdays = [\n start.weekday,\n (start.weekday + 1) % 7,\n (start.weekday + 2) % 7,\n (start.weekday + 3) % 7,\n ]\n break\n case 'custom-weekly':\n component = VCalendarWeekly\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'custom-daily':\n component = VCalendarDaily\n start = this.parsedStart || around\n end = this.parsedEnd\n break\n case 'category':\n const days = this.parsedCategoryDays\n\n component = VCalendarCategory\n end = relativeDays(copyTimestamp(end), nextDay, days)\n updateFormatted(end)\n maxDays = days\n weekdays = []\n\n for (let i = 0; i < days; i++) {\n weekdays.push((start.weekday + i) % 7)\n }\n\n categories = this.getCategoryList(categories)\n break\n default:\n throw new Error(this.type + ' is not a valid Calendar type')\n }\n\n return { component, start, end, maxDays, weekdays, categories }\n },\n eventWeekdays (): number[] {\n return this.renderProps.weekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n title (): string {\n const { start, end } = this.renderProps\n const spanYears = start.year !== end.year\n const spanMonths = spanYears || start.month !== end.month\n\n if (spanYears) {\n return this.monthShortFormatter(start, true) + ' ' + start.year + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n }\n\n if (spanMonths) {\n return this.monthShortFormatter(start, true) + ' - ' + this.monthShortFormatter(end, true) + ' ' + end.year\n } else {\n return this.monthLongFormatter(start, false) + ' ' + start.year\n }\n },\n monthLongFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'long',\n })\n },\n monthShortFormatter (): CalendarFormatter {\n return this.getFormatter({\n timeZone: 'UTC', month: 'short',\n })\n },\n parsedCategories (): CalendarCategory[] {\n return getParsedCategories(this.categories, this.categoryText)\n },\n },\n\n watch: {\n renderProps: 'checkChange',\n },\n\n mounted () {\n this.updateEventVisibility()\n this.checkChange()\n },\n\n updated () {\n window.requestAnimationFrame(this.updateEventVisibility)\n },\n\n methods: {\n checkChange (): void {\n const { lastStart, lastEnd } = this\n const { start, end } = this.renderProps\n if (!lastStart || !lastEnd ||\n start.date !== lastStart.date ||\n end.date !== lastEnd.date) {\n this.lastStart = start\n this.lastEnd = end\n this.$emit('change', { start, end })\n }\n },\n move (amount = 1): void {\n const moved = copyTimestamp(this.parsedValue)\n const forward = amount > 0\n const mover = forward ? nextDay : prevDay\n const limit = forward ? DAYS_IN_MONTH_MAX : DAY_MIN\n let times = forward ? amount : -amount\n\n while (--times >= 0) {\n switch (this.type) {\n case 'month':\n moved.day = limit\n mover(moved)\n break\n case 'week':\n relativeDays(moved, mover, DAYS_IN_WEEK)\n break\n case 'day':\n relativeDays(moved, mover, 1)\n break\n case '4day':\n relativeDays(moved, mover, 4)\n break\n case 'category':\n relativeDays(moved, mover, this.parsedCategoryDays)\n break\n }\n }\n\n updateWeekday(moved)\n updateFormatted(moved)\n updateRelative(moved, this.times.now)\n\n if (this.value instanceof Date) {\n this.$emit('input', timestampToDate(moved))\n } else if (typeof this.value === 'number') {\n this.$emit('input', timestampToDate(moved).getTime())\n } else {\n this.$emit('input', moved.date)\n }\n\n this.$emit('moved', moved)\n },\n next (amount = 1): void {\n this.move(amount)\n },\n prev (amount = 1): void {\n this.move(-amount)\n },\n timeToY (time: VTime, clamp = true): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeToY) {\n return c.timeToY(time, clamp)\n } else {\n return false\n }\n },\n timeDelta (time: VTime): number | false {\n const c = this.$children[0] as any\n\n if (c && c.timeDelta) {\n return c.timeDelta(time)\n } else {\n return false\n }\n },\n minutesToPixels (minutes: number): number {\n const c = this.$children[0] as any\n\n if (c && c.minutesToPixels) {\n return c.minutesToPixels(minutes)\n } else {\n return -1\n }\n },\n scrollToTime (time: VTime): boolean {\n const c = this.$children[0] as any\n\n if (c && c.scrollToTime) {\n return c.scrollToTime(time)\n } else {\n return false\n }\n },\n parseTimestamp (input: VTimestampInput, required?: false): CalendarTimestamp | null {\n return parseTimestamp(input, required, this.times.now)\n },\n timestampToDate (timestamp: CalendarTimestamp): Date {\n return timestampToDate(timestamp)\n },\n getCategoryList (categories: CalendarCategory[]): CalendarCategory[] {\n if (!this.noEvents) {\n const categoryMap: any = categories.reduce((map: any, category, index) => {\n if (typeof category === 'object' && category.categoryName) map[category.categoryName] = { index, count: 0 }\n else if (typeof category === 'string') map[category] = { index, count: 0 }\n return map\n }, {})\n\n if (!this.categoryHideDynamic || !this.categoryShowAll) {\n let categoryLength = categories.length\n\n this.parsedEvents.forEach(ev => {\n let category = ev.category\n\n if (typeof category !== 'string') {\n category = this.categoryForInvalid\n }\n\n if (!category) {\n return\n }\n\n if (category in categoryMap) {\n categoryMap[category].count++\n } else if (!this.categoryHideDynamic) {\n categoryMap[category] = {\n index: categoryLength++,\n count: 1,\n }\n }\n })\n }\n\n if (!this.categoryShowAll) {\n for (const category in categoryMap) {\n if (categoryMap[category].count === 0) {\n delete categoryMap[category]\n }\n }\n }\n\n categories = categories.filter((category: CalendarCategory) => {\n if (typeof category === 'object' && category.categoryName) {\n return categoryMap.hasOwnProperty(category.categoryName)\n } else if (typeof category === 'string') {\n return categoryMap.hasOwnProperty(category)\n }\n return false\n })\n }\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n attrs: {\n role: 'grid',\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n\n 'click:date': (day: CalendarTimestamp, e?: MouseEvent) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day, e)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
@@ -90,7 +90,10 @@ var _default = _calendarBase.default.extend({
90
90
  },
91
91
  genHead: function genHead() {
92
92
  return this.$createElement('div', {
93
- staticClass: 'v-calendar-weekly__head'
93
+ staticClass: 'v-calendar-weekly__head',
94
+ attrs: {
95
+ role: 'row'
96
+ }
94
97
  }, this.genHeadDays());
95
98
  },
96
99
  genHeadDays: function genHeadDays() {
@@ -110,7 +113,10 @@ var _default = _calendarBase.default.extend({
110
113
  return this.$createElement('div', this.setTextColor(color, {
111
114
  key: day.date,
112
115
  staticClass: 'v-calendar-weekly__head-weekday',
113
- class: this.getRelativeClasses(day, outside)
116
+ class: this.getRelativeClasses(day, outside),
117
+ attrs: {
118
+ role: 'columnheader'
119
+ }
114
120
  }), this.weekdayFormatter(day, this.shortWeekdays));
115
121
  },
116
122
  genWeeks: function genWeeks() {
@@ -137,7 +143,10 @@ var _default = _calendarBase.default.extend({
137
143
 
138
144
  return this.$createElement('div', {
139
145
  key: week[0].date,
140
- staticClass: 'v-calendar-weekly__week'
146
+ staticClass: 'v-calendar-weekly__week',
147
+ attrs: {
148
+ role: 'row'
149
+ }
141
150
  }, weekNodes);
142
151
  },
143
152
  getWeekNumber: function getWeekNumber(determineDay) {
@@ -154,6 +163,9 @@ var _default = _calendarBase.default.extend({
154
163
  key: day.date,
155
164
  staticClass: 'v-calendar-weekly__day',
156
165
  class: this.getRelativeClasses(day, outside),
166
+ attrs: {
167
+ role: 'cell'
168
+ },
157
169
  on: this.getDefaultMouseEventHandlers(':day', function (nativeEvent) {
158
170
  return _objectSpread({
159
171
  nativeEvent: nativeEvent
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"names":[],"mappings":"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","sourcesContent":["// 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', 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"],"sourceRoot":"","file":"VCalendarWeekly.js"}
1
+ {"version":3,"sources":["../../../src/components/VCalendar/VCalendarWeekly.ts"],"names":[],"mappings":"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","sourcesContent":["// 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"],"sourceRoot":"","file":"VCalendarWeekly.js"}
@@ -9,37 +9,29 @@ var _vue = _interopRequireDefault(require("vue"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
 
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
12
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
17
 
14
18
  var _default = _vue.default.extend({
15
19
  name: 'mouse',
16
20
  methods: {
17
21
  getDefaultMouseEventHandlers: function getDefaultMouseEventHandlers(suffix, getEvent) {
18
- var _this$getMouseEventHa;
19
-
20
- return this.getMouseEventHandlers((_this$getMouseEventHa = {}, _defineProperty(_this$getMouseEventHa, 'click' + suffix, {
21
- event: 'click'
22
- }), _defineProperty(_this$getMouseEventHa, 'contextmenu' + suffix, {
22
+ var listeners = Object.keys(this.$listeners).filter(function (key) {
23
+ return key.endsWith(suffix);
24
+ }).reduce(function (acc, key) {
25
+ acc[key] = {
26
+ event: key.slice(0, -suffix.length)
27
+ };
28
+ return acc;
29
+ }, {});
30
+ return this.getMouseEventHandlers(_objectSpread(_objectSpread({}, listeners), {}, _defineProperty({}, 'contextmenu' + suffix, {
23
31
  event: 'contextmenu',
24
32
  prevent: true,
25
33
  result: false
26
- }), _defineProperty(_this$getMouseEventHa, 'mousedown' + suffix, {
27
- event: 'mousedown'
28
- }), _defineProperty(_this$getMouseEventHa, 'mousemove' + suffix, {
29
- event: 'mousemove'
30
- }), _defineProperty(_this$getMouseEventHa, 'mouseup' + suffix, {
31
- event: 'mouseup'
32
- }), _defineProperty(_this$getMouseEventHa, 'mouseenter' + suffix, {
33
- event: 'mouseenter'
34
- }), _defineProperty(_this$getMouseEventHa, 'mouseleave' + suffix, {
35
- event: 'mouseleave'
36
- }), _defineProperty(_this$getMouseEventHa, 'touchstart' + suffix, {
37
- event: 'touchstart'
38
- }), _defineProperty(_this$getMouseEventHa, 'touchmove' + suffix, {
39
- event: 'touchmove'
40
- }), _defineProperty(_this$getMouseEventHa, 'touchend' + suffix, {
41
- event: 'touchend'
42
- }), _this$getMouseEventHa), getEvent);
34
+ })), getEvent);
43
35
  },
44
36
  getMouseEventHandlers: function getMouseEventHandlers(events, getEvent) {
45
37
  var _this = this;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n return this.getMouseEventHandlers({\n ['click' + suffix]: { event: 'click' },\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n ['mousedown' + suffix]: { event: 'mousedown' },\n ['mousemove' + suffix]: { event: 'mousemove' },\n ['mouseup' + suffix]: { event: 'mouseup' },\n ['mouseenter' + suffix]: { event: 'mouseenter' },\n ['mouseleave' + suffix]: { event: 'mouseleave' },\n ['touchstart' + suffix]: { event: 'touchstart' },\n ['touchmove' + suffix]: { event: 'touchmove' },\n ['touchend' + suffix]: { event: 'touchend' },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const 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"],"sourceRoot":"","file":"mouse.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n 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"],"sourceRoot":"","file":"mouse.js"}
@@ -151,7 +151,8 @@ var _default = _VWindow.default.extend({
151
151
  icon: true,
152
152
  small: true,
153
153
  value: this.getValue(this.items[i], i)
154
- }
154
+ },
155
+ key: i
155
156
  }, [this.$createElement(_VIcon.default, {
156
157
  props: {
157
158
  size: 18
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.options.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n },\n }, [\n this.$createElement(VIcon, {\n props: { size: 18 },\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory,\n },\n on: {\n change: (val: unknown) => {\n this.internalValue = val\n },\n },\n }, children)\n },\n genProgress () {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n },\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (h): VNode {\n const render = VWindow.options.render.call(this, h)\n\n render.data!.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VCarousel.js"}
1
+ {"version":3,"sources":["../../../src/components/VCarousel/VCarousel.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCarousel.sass'\n\n// Extensions\nimport VWindow from '../VWindow/VWindow'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport VProgressLinear from '../VProgressLinear'\n\n// Mixins\n// TODO: Move this into core components v2.0\nimport ButtonGroup from '../../mixins/button-group'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\nexport default VWindow.extend({\n name: 'v-carousel',\n\n props: {\n continuous: {\n type: Boolean,\n default: true,\n },\n cycle: Boolean,\n delimiterIcon: {\n type: String,\n default: '$delimiter',\n },\n height: {\n type: [Number, String],\n default: 500,\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: (value: string | number) => value > 0,\n },\n mandatory: {\n type: Boolean,\n default: true,\n },\n progress: Boolean,\n progressColor: String,\n showArrows: {\n type: Boolean,\n default: true,\n },\n verticalDelimiters: {\n type: String as PropType<'' | 'left' | 'right'>,\n default: undefined,\n },\n },\n\n // pass down the parent's theme\n provide (): object {\n return {\n parentTheme: this.theme,\n }\n },\n\n data () {\n return {\n internalHeight: this.height,\n slideTimeout: undefined as number | undefined,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VWindow.options.computed.classes.call(this),\n 'v-carousel': true,\n 'v-carousel--hide-delimiter-background': this.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': this.isVertical,\n }\n },\n isDark (): boolean {\n return this.dark || !this.light\n },\n isVertical (): boolean {\n return this.verticalDelimiters != null\n },\n },\n\n watch: {\n internalValue: 'restartTimeout',\n interval: 'restartTimeout',\n height (val, oldVal) {\n if (val === oldVal || !val) return\n this.internalHeight = val\n },\n cycle (val) {\n if (val) {\n this.restartTimeout()\n } else {\n clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('hide-controls')) {\n breaking('hide-controls', ':show-arrows=\"false\"', this)\n }\n },\n\n mounted () {\n this.startTimeout()\n },\n\n methods: {\n genControlIcons () {\n if (this.isVertical) return null\n\n return VWindow.options.methods.genControlIcons.call(this)\n },\n genDelimiters (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-carousel__controls',\n style: {\n left: this.verticalDelimiters === 'left' && this.isVertical ? 0 : 'auto',\n right: this.verticalDelimiters === 'right' ? 0 : 'auto',\n },\n }, [this.genItems()])\n },\n genItems (): VNode {\n const length = this.items.length\n const children = []\n\n for (let i = 0; i < length; i++) {\n const child = this.$createElement(VBtn, {\n staticClass: 'v-carousel__controls__item',\n attrs: {\n 'aria-label': this.$vuetify.lang.t('$vuetify.carousel.ariaLabel.delimiter', i + 1, length),\n },\n props: {\n icon: true,\n small: true,\n value: this.getValue(this.items[i], i),\n },\n key: i,\n }, [\n this.$createElement(VIcon, {\n props: { size: 18 },\n }, this.delimiterIcon),\n ])\n\n children.push(child)\n }\n\n return this.$createElement(ButtonGroup, {\n props: {\n value: this.internalValue,\n mandatory: this.mandatory,\n },\n on: {\n change: (val: unknown) => {\n this.internalValue = val\n },\n },\n }, children)\n },\n genProgress () {\n return this.$createElement(VProgressLinear, {\n staticClass: 'v-carousel__progress',\n props: {\n color: this.progressColor,\n value: (this.internalIndex + 1) / this.items.length * 100,\n },\n })\n },\n restartTimeout () {\n this.slideTimeout && clearTimeout(this.slideTimeout)\n this.slideTimeout = undefined\n\n window.requestAnimationFrame(this.startTimeout)\n },\n startTimeout () {\n if (!this.cycle) return\n\n this.slideTimeout = window.setTimeout(this.next, +this.interval > 0 ? +this.interval : 6000)\n },\n },\n\n render (h): VNode {\n const render = VWindow.options.render.call(this, h)\n\n render.data!.style = `height: ${convertToUnit(this.height)};`\n\n /* istanbul ignore else */\n if (!this.hideDelimiters) {\n render.children!.push(this.genDelimiters())\n }\n\n /* istanbul ignore else */\n if (this.progress || this.progressColor) {\n render.children!.push(this.genProgress())\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VCarousel.js"}
@@ -108,7 +108,7 @@ var _default = (0, _mixins.default)(_colorable.default, (0, _intersectable.defau
108
108
  items: function items() {
109
109
  var totalVisible = parseInt(this.totalVisible, 10);
110
110
 
111
- if (totalVisible === 0) {
111
+ if (totalVisible === 0 || isNaN(this.length) || this.length > Number.MAX_SAFE_INTEGER) {
112
112
  return [];
113
113
  }
114
114
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const firstItem = 1\n const lastItem = this.length\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...'\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...'\n\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.onResize()\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n disabled,\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
1
+ {"version":3,"sources":["../../../src/components/VPagination/VPagination.ts"],"names":[],"mappings":"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","sourcesContent":["import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n if (totalVisible === 0 || isNaN(this.length) || this.length > Number.MAX_SAFE_INTEGER) {\n return []\n }\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const firstItem = 1\n const lastItem = this.length\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n const secondItem = start - 1 === firstItem + 1 ? 2 : '...'\n const beforeLastItem = end + 1 === lastItem - 1 ? end + 1 : '...'\n\n return [1, secondItem, ...this.range(start, end), beforeLastItem, this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.onResize()\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n disabled,\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n"],"sourceRoot":"","file":"VPagination.js"}
@@ -86,6 +86,7 @@ var _default = baseMixins.extend().extend({
86
86
  }, this.themeClasses), this.groupClasses);
87
87
  },
88
88
  computedColor: function computedColor() {
89
+ if (this.isDisabled) return undefined;
89
90
  return _selectable.default.options.computed.computedColor.call(this);
90
91
  },
91
92
  computedIcon: function computedIcon() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadio.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n radioGroup: InstanceType<typeof VRadioGroup>\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n if (this.isDisabled) return undefined\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n const { title, ...radioAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...radioAttrs,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n attrs: { title: this.attrs$.title },\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VRadio.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.6.8";
82
+ Vuetify.version = "2.6.9";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
@@ -376,6 +376,9 @@ export default CalendarWithEvents.extend({
376
376
  weekdays,
377
377
  categories
378
378
  },
379
+ attrs: {
380
+ role: 'grid'
381
+ },
379
382
  directives: [{
380
383
  modifiers: {
381
384
  quiet: true