@vuetify/nightly 2.6.0 → 2.6.2-master-20211201.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.
Files changed (115) hide show
  1. package/dist/json/attributes.json +36 -0
  2. package/dist/json/tags.json +15 -6
  3. package/dist/json/web-types.json +99 -9
  4. package/dist/vuetify.css +37 -5
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +96 -84
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VBanner/VBanner.js +3 -2
  11. package/es5/components/VBanner/VBanner.js.map +1 -1
  12. package/es5/components/VBottomNavigation/VBottomNavigation.js +10 -2
  13. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  14. package/es5/components/VBottomSheet/VBottomSheet.js +1 -4
  15. package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
  16. package/es5/components/VCalendar/VCalendar.js.map +1 -1
  17. package/es5/components/VCalendar/VCalendarDaily.js +16 -8
  18. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  19. package/es5/components/VCalendar/VCalendarWeekly.js +14 -10
  20. package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
  21. package/es5/components/VCalendar/mixins/calendar-with-events.js +19 -20
  22. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  23. package/es5/components/VCalendar/mixins/mouse.js +12 -3
  24. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  25. package/es5/components/VDataTable/MobileRow.js +2 -2
  26. package/es5/components/VDataTable/MobileRow.js.map +1 -1
  27. package/es5/components/VDataTable/Row.js +2 -2
  28. package/es5/components/VDataTable/Row.js.map +1 -1
  29. package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  30. package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  31. package/es5/components/VDialog/VDialog.js +4 -10
  32. package/es5/components/VDialog/VDialog.js.map +1 -1
  33. package/es5/components/VItemGroup/VItemGroup.js +8 -4
  34. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  35. package/es5/components/VRadioGroup/VRadioGroup.js +1 -3
  36. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  37. package/es5/components/VTabs/VTab.js +3 -2
  38. package/es5/components/VTabs/VTab.js.map +1 -1
  39. package/es5/directives/ripple/index.js +0 -7
  40. package/es5/directives/ripple/index.js.map +1 -1
  41. package/es5/framework.js +1 -1
  42. package/es5/locale/it.js +6 -6
  43. package/es5/locale/it.js.map +1 -1
  44. package/es5/mixins/routable/index.js +2 -5
  45. package/es5/mixins/routable/index.js.map +1 -1
  46. package/es5/util/helpers.js +5 -5
  47. package/es5/util/helpers.js.map +1 -1
  48. package/lib/components/VBanner/VBanner.js +3 -2
  49. package/lib/components/VBanner/VBanner.js.map +1 -1
  50. package/lib/components/VBottomNavigation/VBottomNavigation.js +10 -2
  51. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  52. package/lib/components/VBottomSheet/VBottomSheet.js +1 -4
  53. package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
  54. package/lib/components/VCalendar/VCalendar.js.map +1 -1
  55. package/lib/components/VCalendar/VCalendarDaily.js +20 -8
  56. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  57. package/lib/components/VCalendar/VCalendarWeekly.js +10 -2
  58. package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
  59. package/lib/components/VCalendar/mixins/calendar-with-events.js +6 -3
  60. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  61. package/lib/components/VCalendar/mixins/mouse.js +8 -3
  62. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  63. package/lib/components/VDataTable/MobileRow.js +2 -2
  64. package/lib/components/VDataTable/MobileRow.js.map +1 -1
  65. package/lib/components/VDataTable/Row.js +2 -2
  66. package/lib/components/VDataTable/Row.js.map +1 -1
  67. package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
  68. package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
  69. package/lib/components/VDialog/VDialog.js +4 -10
  70. package/lib/components/VDialog/VDialog.js.map +1 -1
  71. package/lib/components/VItemGroup/VItemGroup.js +7 -5
  72. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  73. package/lib/components/VRadioGroup/VRadioGroup.js +2 -4
  74. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  75. package/lib/components/VTabs/VTab.js +3 -2
  76. package/lib/components/VTabs/VTab.js.map +1 -1
  77. package/lib/directives/ripple/index.js +0 -7
  78. package/lib/directives/ripple/index.js.map +1 -1
  79. package/lib/framework.js +1 -1
  80. package/lib/locale/it.js +6 -6
  81. package/lib/locale/it.js.map +1 -1
  82. package/lib/mixins/routable/index.js +3 -5
  83. package/lib/mixins/routable/index.js.map +1 -1
  84. package/lib/util/helpers.js +5 -5
  85. package/lib/util/helpers.js.map +1 -1
  86. package/package.json +1 -1
  87. package/src/components/VBanner/VBanner.ts +16 -10
  88. package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -2
  89. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +9 -7
  90. package/src/components/VBottomSheet/VBottomSheet.ts +1 -4
  91. package/src/components/VCalendar/VCalendar.ts +1 -0
  92. package/src/components/VCalendar/VCalendarDaily.ts +9 -8
  93. package/src/components/VCalendar/VCalendarWeekly.ts +4 -2
  94. package/src/components/VCalendar/mixins/calendar-with-events.ts +4 -3
  95. package/src/components/VCalendar/mixins/mouse.ts +9 -3
  96. package/src/components/VDataTable/MobileRow.ts +2 -2
  97. package/src/components/VDataTable/Row.ts +2 -2
  98. package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
  99. package/src/components/VDialog/VDialog.sass +1 -1
  100. package/src/components/VDialog/VDialog.ts +4 -10
  101. package/src/components/VItemGroup/VItemGroup.ts +5 -3
  102. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +19 -2
  103. package/src/components/VRadioGroup/VRadioGroup.ts +0 -4
  104. package/src/components/VStepper/VStepper.sass +4 -4
  105. package/src/components/VTabs/VTab.ts +10 -2
  106. package/src/components/VTextarea/VTextarea.sass +13 -0
  107. package/src/directives/ripple/VRipple.sass +4 -1
  108. package/src/directives/ripple/index.ts +0 -7
  109. package/src/locale/it.ts +6 -6
  110. package/src/mixins/routable/index.ts +1 -4
  111. package/src/styles/settings/_variables.scss +1 -1
  112. package/src/util/helpers.ts +5 -5
  113. package/CHANGELOG.md +0 -45
  114. package/src/directives/ripple/_variables.scss +0 -6
  115. package/types/.npmignore +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n this.isActive = !this.isScrollingUp\n this.$emit('update:input-value', this.isActive)\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n tag: this.tag,\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VBottomNavigation.js"}
1
+ {"version":3,"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n if (this.hideOnScroll) {\n this.isActive = !this.isScrollingUp ||\n this.currentScroll > this.computedScrollThreshold\n\n this.$emit('update:input-value', this.isActive)\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n tag: this.tag,\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VBottomNavigation.js"}
@@ -7,10 +7,7 @@ export default VDialog.extend({
7
7
  name: 'v-bottom-sheet',
8
8
  props: {
9
9
  inset: Boolean,
10
- maxWidth: {
11
- type: [String, Number],
12
- default: 'auto'
13
- },
10
+ maxWidth: [String, Number],
14
11
  transition: {
15
12
  type: String,
16
13
  default: 'bottom-sheet-transition'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VBottomSheet/VBottomSheet.ts"],"names":[],"mappings":"AAAA,OAAO,wDAAP,C,CAEA;;AACA,OAAO,OAAP,MAAoB,oBAApB;AAEA;;AACA,eAAe,OAAO,CAAC,MAAR,CAAe;AAC5B,EAAA,IAAI,EAAE,gBADsB;AAG5B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADE;AAER,MAAA,OAAO,EAAE;AAFD,KAFL;AAML,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AANP,GAHqB;AAe5B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,IAAjC,CAAsC,IAAtC,CADE;AAEL,0BAAkB,IAFb;AAGL,iCAAyB,KAAK;AAHzB,OAAP;AAKD;;AAPO;AAfkB,CAAf,CAAf","sourcesContent":["import './VBottomSheet.sass'\n\n// Extensions\nimport VDialog from '../VDialog/VDialog'\n\n/* @vue/component */\nexport default VDialog.extend({\n name: 'v-bottom-sheet',\n\n props: {\n inset: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'auto',\n },\n transition: {\n type: String,\n default: 'bottom-sheet-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VDialog.options.computed.classes.call(this),\n 'v-bottom-sheet': true,\n 'v-bottom-sheet--inset': this.inset,\n }\n },\n },\n})\n"],"sourceRoot":"","file":"VBottomSheet.js"}
1
+ {"version":3,"sources":["../../../src/components/VBottomSheet/VBottomSheet.ts"],"names":[],"mappings":"AAAA,OAAO,wDAAP,C,CAEA;;AACA,OAAO,OAAP,MAAoB,oBAApB;AAEA;;AACA,eAAe,OAAO,CAAC,MAAR,CAAe;AAC5B,EAAA,IAAI,EAAE,gBADsB;AAG5B,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,OADF;AAEL,IAAA,QAAQ,EAAE,CAAC,MAAD,EAAS,MAAT,CAFL;AAGL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAHP,GAHqB;AAY5B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,IAAjC,CAAsC,IAAtC,CADE;AAEL,0BAAkB,IAFb;AAGL,iCAAyB,KAAK;AAHzB,OAAP;AAKD;;AAPO;AAZkB,CAAf,CAAf","sourcesContent":["import './VBottomSheet.sass'\n\n// Extensions\nimport VDialog from '../VDialog/VDialog'\n\n/* @vue/component */\nexport default VDialog.extend({\n name: 'v-bottom-sheet',\n\n props: {\n inset: Boolean,\n maxWidth: [String, Number],\n transition: {\n type: String,\n default: 'bottom-sheet-transition',\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VDialog.options.computed.classes.call(this),\n 'v-bottom-sheet': true,\n 'v-bottom-sheet--inset': this.inset,\n }\n },\n },\n})\n"],"sourceRoot":"","file":"VBottomSheet.js"}
@@ -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 '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 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"}
@@ -75,8 +75,11 @@ export default CalendarWithIntervals.extend({
75
75
  key: day.date,
76
76
  staticClass: 'v-calendar-daily_head-day',
77
77
  class: this.getRelativeClasses(day),
78
- on: this.getDefaultMouseEventHandlers(':day', _e => {
79
- return this.getSlotScope(day);
78
+ on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
79
+ return {
80
+ nativeEvent,
81
+ ...this.getSlotScope(day)
82
+ };
80
83
  })
81
84
  }, [this.genHeadWeekday(day), this.genHeadDayLabel(day), ...this.genDayHeader(day, index)]);
82
85
  },
@@ -121,8 +124,11 @@ export default CalendarWithIntervals.extend({
121
124
  prevent: true,
122
125
  result: false
123
126
  }
124
- }, _e => {
125
- return day;
127
+ }, nativeEvent => {
128
+ return {
129
+ nativeEvent,
130
+ ...day
131
+ };
126
132
  })
127
133
  }, this.dayFormatter(day, false));
128
134
  },
@@ -165,8 +171,11 @@ export default CalendarWithIntervals.extend({
165
171
  key: day.date,
166
172
  staticClass: 'v-calendar-daily__day',
167
173
  class: this.getRelativeClasses(day),
168
- on: this.getDefaultMouseEventHandlers(':time', e => {
169
- return this.getSlotScope(this.getTimestampAtEvent(e, day));
174
+ on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {
175
+ return {
176
+ nativeEvent,
177
+ ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day))
178
+ };
170
179
  })
171
180
  }, [...this.genDayIntervals(index), ...this.genDayBody(day)]);
172
181
  },
@@ -201,8 +210,11 @@ export default CalendarWithIntervals.extend({
201
210
  style: {
202
211
  width
203
212
  },
204
- on: this.getDefaultMouseEventHandlers(':interval', e => {
205
- return this.getTimestampAtEvent(e, this.parsedStart);
213
+ on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {
214
+ return {
215
+ nativeEvent,
216
+ ...this.getTimestampAtEvent(nativeEvent, this.parsedStart)
217
+ };
206
218
  })
207
219
  };
208
220
  return this.$createElement('div', data, this.genIntervalLabels());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,uDAAP,C,CAKA;;AACA,OAAO,MAAP,MAAmB,yBAAnB,C,CAEA;;AACA,OAAO,IAAP,MAAiB,SAAjB,C,CAEA;;AACA,OAAO,qBAAP,MAAkC,kCAAlC,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AAGA;;AACA,eAAe,qBAAqB,CAAC,MAAtB,CAA6B;AAC1C,EAAA,IAAI,EAAE,kBADoC;AAG1C,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAH8B;AAK1C,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,UAAU,EAAE;AADD,GAAP,CALoC;AAS1C,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,4BAAoB,IADf;AAEL,WAAG,KAAK;AAFH,OAAP;AAID;;AANO,GATgC;;AAkB1C,EAAA,OAAO,GAAA;AACL,SAAK,IAAL;AACD,GApByC;;AAsB1C,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,GAAA;AACF,WAAK,SAAL,CAAe,KAAK,QAApB;AACD,KAHM;;AAIP,IAAA,QAAQ,GAAA;AACN,WAAK,UAAL,GAAkB,KAAK,aAAL,EAAlB;AACD,KANM;;AAOP,IAAA,aAAa,GAAA;AACX,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,UAAxB;AACA,YAAM,IAAI,GAAG,KAAK,KAAL,CAAW,IAAxB;AAEA,aAAO,IAAI,IAAI,IAAR,GAAgB,IAAI,CAAC,WAAL,GAAmB,IAAI,CAAC,WAAxC,GAAuD,CAA9D;AACD,KAZM;;AAaP,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,wBADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,WAAW,EAAE,KAAK,UAAL,GAAkB;AAD1B;AAFyB,OAA3B,EAKJ,CACD,KAAK,gBAAL,EADC,EAED,GAAG,KAAK,WAAL,EAFF,CALI,CAAP;AASD,KAvBM;;AAwBP,IAAA,gBAAgB,GAAA;AACd,YAAM,KAAK,GAAuB,aAAa,CAAC,KAAK,aAAN,CAA/C;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,kCADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA;AADK;AAFyB,OAA3B,EAKJ,OAAO,CAAC,IAAD,EAAO,iBAAP,CALH,CAAP;AAMD,KAjCM;;AAkCP,IAAA,WAAW,GAAA;AACT,aAAO,KAAK,IAAL,CAAU,GAAV,CAAc,KAAK,UAAnB,CAAP;AACD,KApCM;;AAqCP,IAAA,UAAU,CAAE,GAAF,EAA0B,KAA1B,EAAuC;AAC/C,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,GAAG,EAAE,GAAG,CAAC,IADuB;AAEhC,QAAA,WAAW,EAAE,2BAFmB;AAGhC,QAAA,KAAK,EAAE,KAAK,kBAAL,CAAwB,GAAxB,CAHyB;AAIhC,QAAA,EAAE,EAAE,KAAK,4BAAL,CAAkC,MAAlC,EAA0C,EAAE,IAAG;AACjD,iBAAO,KAAK,YAAL,CAAkB,GAAlB,CAAP;AACD,SAFG;AAJ4B,OAA3B,EAOJ,CACD,KAAK,cAAL,CAAoB,GAApB,CADC,EAED,KAAK,eAAL,CAAqB,GAArB,CAFC,EAGD,GAAG,KAAK,YAAL,CAAkB,GAAlB,EAAuB,KAAvB,CAHF,CAPI,CAAP;AAYD,KAlDM;;AAmDP,IAAA,YAAY,CAAE,GAAF,EAA0B,KAA1B,EAAuC;AACjD,aAAO,OAAO,CAAC,IAAD,EAAO,YAAP,EAAqB,OAAO;AACxC,QAAA,IAAI,EAAE,KAAK,IAD6B;AACvB,WAAG,GADoB;AACf,QAAA;AADe,OAAP,CAArB,CAAP,IAEA,EAFP;AAGD,KAvDM;;AAwDP,IAAA,cAAc,CAAE,GAAF,EAAwB;AACpC,YAAM,KAAK,GAAG,GAAG,CAAC,OAAJ,GAAc,KAAK,KAAnB,GAA2B,SAAzC;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAlB,EAAyB;AACzD,QAAA,WAAW,EAAE;AAD4C,OAAzB,CAA3B,EAEH,KAAK,gBAAL,CAAsB,GAAtB,EAA2B,KAAK,aAAhC,CAFG,CAAP;AAGD,KA9DM;;AA+DP,IAAA,eAAe,CAAE,GAAF,EAAwB;AACrC,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,OAAO,CAAC,IAAD,EAAO,kBAAP,EAA2B,GAA3B,CAAP,IAA0C,CAAC,KAAK,gBAAL,CAAsB,GAAtB,CAAD,CAFtC,CAAP;AAGD,KAnEM;;AAoEP,IAAA,gBAAgB,CAAE,GAAF,EAAwB;AACtC,YAAM,KAAK,GAAG,GAAG,CAAC,OAAJ,GAAc,KAAK,KAAnB,GAA2B,aAAzC;AAEA,aAAO,KAAK,cAAL,CAAoB,IAApB,EAA0B;AAC/B,QAAA,KAAK,EAAE;AACL,UAAA,KADK;AAEL,UAAA,GAAG,EAAE,IAFA;AAGL,UAAA,SAAS,EAAE;AAHN,SADwB;AAM/B,QAAA,EAAE,EAAE,KAAK,qBAAL,CAA2B;AAC7B,wBAAc;AAAE,YAAA,KAAK,EAAE,OAAT;AAAkB,YAAA,IAAI,EAAE;AAAxB,WADe;AAE7B,8BAAoB;AAAE,YAAA,KAAK,EAAE,aAAT;AAAwB,YAAA,IAAI,EAAE,IAA9B;AAAoC,YAAA,OAAO,EAAE,IAA7C;AAAmD,YAAA,MAAM,EAAE;AAA3D;AAFS,SAA3B,EAGD,EAAE,IAAG;AACN,iBAAO,GAAP;AACD,SALG;AAN2B,OAA1B,EAYJ,KAAK,YAAL,CAAkB,GAAlB,EAAuB,KAAvB,CAZI,CAAP;AAaD,KApFM;;AAqFP,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,aAAL,EADC,CAFI,CAAP;AAKD,KA3FM;;AA4FP,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,GAAG,EAAE,YAD2B;AAEhC,QAAA,WAAW,EAAE;AAFmB,OAA3B,EAGJ,CACD,KAAK,OAAL,EADC,CAHI,CAAP;AAMD,KAnGM;;AAoGP,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,GAAG,EAAE,MAD2B;AAEhC,QAAA,WAAW,EAAE,wBAFmB;AAGhC,QAAA,KAAK,EAAE;AACL,UAAA,MAAM,EAAE,aAAa,CAAC,KAAK,UAAN;AADhB;AAHyB,OAA3B,EAMJ,CACD,KAAK,eAAL,EADC,CANI,CAAP;AASD,KA9GM;;AA+GP,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,gBAAL,EADC,EAED,GAAG,KAAK,OAAL,EAFF,CAFI,CAAP;AAMD,KAtHM;;AAuHP,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,IAAL,CAAU,GAAV,CAAc,KAAK,MAAnB,CAAP;AACD,KAzHM;;AA0HP,IAAA,MAAM,CAAE,GAAF,EAA0B,KAA1B,EAAuC;AAC3C,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,GAAG,EAAE,GAAG,CAAC,IADuB;AAEhC,QAAA,WAAW,EAAE,uBAFmB;AAGhC,QAAA,KAAK,EAAE,KAAK,kBAAL,CAAwB,GAAxB,CAHyB;AAIhC,QAAA,EAAE,EAAE,KAAK,4BAAL,CAAkC,OAAlC,EAA2C,CAAC,IAAG;AACjD,iBAAO,KAAK,YAAL,CAAkB,KAAK,mBAAL,CAAyB,CAAzB,EAA4B,GAA5B,CAAlB,CAAP;AACD,SAFG;AAJ4B,OAA3B,EAOJ,CACD,GAAG,KAAK,eAAL,CAAqB,KAArB,CADF,EAED,GAAG,KAAK,UAAL,CAAgB,GAAhB,CAFF,CAPI,CAAP;AAWD,KAtIM;;AAuIP,IAAA,UAAU,CAAE,GAAF,EAAwB;AAChC,aAAO,OAAO,CAAC,IAAD,EAAO,UAAP,EAAmB,MAAM,KAAK,YAAL,CAAkB,GAAlB,CAAzB,CAAP,IAA2D,EAAlE;AACD,KAzIM;;AA0IP,IAAA,eAAe,CAAE,KAAF,EAAe;AAC5B,aAAO,KAAK,SAAL,CAAe,KAAf,EAAsB,GAAtB,CAA0B,KAAK,cAA/B,CAAP;AACD,KA5IM;;AA6IP,IAAA,cAAc,CAAE,QAAF,EAA6B;AACzC,YAAM,MAAM,GAAuB,aAAa,CAAC,KAAK,cAAN,CAAhD;AACA,YAAM,MAAM,GAAG,KAAK,aAAL,IAAsB,KAAK,oBAA1C;AAEA,YAAM,IAAI,GAAG;AACX,QAAA,GAAG,EAAE,QAAQ,CAAC,IADH;AAEX,QAAA,WAAW,EAAE,gCAFF;AAGX,QAAA,KAAK,EAAE;AACL,UAAA,MADK;AAEL,aAAG,MAAM,CAAC,QAAD;AAFJ;AAHI,OAAb;AASA,YAAM,QAAQ,GAAG,OAAO,CAAC,IAAD,EAAO,UAAP,EAAmB,MAAM,KAAK,YAAL,CAAkB,QAAlB,CAAzB,CAAxB;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiC,QAAjC,CAAP;AACD,KA7JM;;AA8JP,IAAA,gBAAgB,GAAA;AACd,YAAM,KAAK,GAAuB,aAAa,CAAC,KAAK,aAAN,CAA/C;AACA,YAAM,IAAI,GAAG;AACX,QAAA,WAAW,EAAE,kCADF;AAEX,QAAA,KAAK,EAAE;AACL,UAAA;AADK,SAFI;AAKX,QAAA,EAAE,EAAE,KAAK,4BAAL,CAAkC,WAAlC,EAA+C,CAAC,IAAG;AACrD,iBAAO,KAAK,mBAAL,CAAyB,CAAzB,EAA4B,KAAK,WAAjC,CAAP;AACD,SAFG;AALO,OAAb;AAUA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,EAAiC,KAAK,iBAAL,EAAjC,CAAP;AACD,KA3KM;;AA4KP,IAAA,iBAAiB,GAAA;AACf,UAAI,CAAC,KAAK,SAAL,CAAe,MAApB,EAA4B,OAAO,IAAP;AAE5B,aAAO,KAAK,SAAL,CAAe,CAAf,EAAkB,GAAlB,CAAsB,KAAK,gBAA3B,CAAP;AACD,KAhLM;;AAiLP,IAAA,gBAAgB,CAAE,QAAF,EAA6B;AAC3C,YAAM,MAAM,GAAuB,aAAa,CAAC,KAAK,cAAN,CAAhD;AACA,YAAM,KAAK,GAAY,KAAK,cAA5B;AACA,YAAM,MAAM,GAAG,KAAK,iBAAL,IAA0B,KAAK,wBAA9C;AACA,YAAM,IAAI,GAAG,MAAM,CAAC,QAAD,CAAnB;AACA,YAAM,KAAK,GAAG,IAAI,GAAG,KAAK,iBAAL,CAAuB,QAAvB,EAAiC,KAAjC,CAAH,GAA6C,SAA/D;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,GAAG,EAAE,QAAQ,CAAC,IADkB;AAEhC,QAAA,WAAW,EAAE,4BAFmB;AAGhC,QAAA,KAAK,EAAE;AACL,UAAA;AADK;AAHyB,OAA3B,EAMJ,CACD,KAAK,cAAL,CAAoB,KAApB,EAA2B;AACzB,QAAA,WAAW,EAAE;AADY,OAA3B,EAEG,KAFH,CADC,CANI,CAAP;AAWD;;AAnMM,GAtBiC;;AA4N1C,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,KAAK,OADE;AAEd,MAAA,EAAE,EAAE;AACF,QAAA,SAAS,EAAG,CAAD,IAAkB;AAC3B,UAAA,CAAC,CAAC,cAAF;AACD;AAHC,OAFU;AAOd,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,SAAS,EAAE;AAAE,UAAA,KAAK,EAAE;AAAT,SADA;AAEX,QAAA,IAAI,EAAE,QAFK;AAGX,QAAA,KAAK,EAAE,KAAK;AAHD,OAAD;AAPE,KAAR,EAYL,CACD,CAAC,KAAK,UAAN,GAAmB,KAAK,OAAL,EAAnB,GAAoC,EADnC,EAED,KAAK,OAAL,EAFC,CAZK,CAAR;AAgBD;;AA7OyC,CAA7B,CAAf","sourcesContent":["// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarDaily.js"}
1
+ {"version":3,"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(day) }\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, nativeEvent => {\n return { nativeEvent, ...day }\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {\n return { nativeEvent, ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day)) }\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {\n return { nativeEvent, ...this.getTimestampAtEvent(nativeEvent, this.parsedStart) }\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarDaily.js"}
@@ -133,7 +133,12 @@ export default CalendarBase.extend({
133
133
  key: day.date,
134
134
  staticClass: 'v-calendar-weekly__day',
135
135
  class: this.getRelativeClasses(day, outside),
136
- on: this.getDefaultMouseEventHandlers(':day', _e => day)
136
+ on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
137
+ return {
138
+ nativeEvent,
139
+ ...day
140
+ };
141
+ })
137
142
  }, [this.genDayLabel(day), ...(getSlot(this, 'day', () => ({
138
143
  outside,
139
144
  index,
@@ -169,7 +174,10 @@ export default CalendarBase.extend({
169
174
  prevent: true,
170
175
  result: false
171
176
  }
172
- }, _e => day)
177
+ }, nativeEvent => ({
178
+ nativeEvent,
179
+ ...day
180
+ }))
173
181
  }, hasMonth ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false) : this.dayFormatter(day, false));
174
182
  },
175
183
 
@@ -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', _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"],"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 }, 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"}
@@ -340,9 +340,12 @@ export default CalendarBase.extend({
340
340
  name: 'ripple',
341
341
  value: (_this$eventRipple2 = this.eventRipple) != null ? _this$eventRipple2 : true
342
342
  }],
343
- on: {
344
- click: e => this.$emit('click:more', day, e)
345
- },
343
+ on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
344
+ return {
345
+ nativeEvent,
346
+ ...day
347
+ };
348
+ }),
346
349
  style: {
347
350
  display: 'none',
348
351
  height: `${eventHeight}px`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n 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"],"sourceRoot":"","file":"calendar-with-events.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: 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"],"sourceRoot":"","file":"calendar-with-events.js"}
@@ -66,11 +66,16 @@ export default Vue.extend({
66
66
 
67
67
 
68
68
  if (e && 'touches' in e) {
69
- var _e$target, _e$target2;
69
+ var _e$currentTarget, _e$target;
70
70
 
71
- const currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY);
71
+ const classSeparator = ' ';
72
+ const eventTargetClasses = (_e$currentTarget = e.currentTarget) == null ? void 0 : _e$currentTarget.className.split(classSeparator);
73
+ const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY); // Get "the same kind" current hovering target by checking
74
+ // If element has the same class of initial touch start element (which has touch event listener registered)
72
75
 
73
- if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget)) && ((_e$target2 = e.target) == null ? void 0 : _e$target2.className) === currentTarget.className) {
76
+ const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)));
77
+
78
+ if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget))) {
74
79
  currentTarget.dispatchEvent(new TouchEvent(e.type, {
75
80
  changedTouches: e.changedTouches,
76
81
  targetTouches: e.targetTouches,