vuetify 2.3.14 → 2.3.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +16 -16
- package/dist/json/web-types.json +131 -61
- package/dist/vuetify.css +0 -2
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +137 -112
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/VCalendar.js +1 -1
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/util/events.js.map +1 -1
- package/es5/components/VCalendar/util/timestamp.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +36 -42
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VData/VData.js +1 -2
- package/es5/components/VData/VData.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +1 -1
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +1 -3
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VList/VListItem.js +1 -1
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +4 -4
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +1 -0
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +1 -2
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +12 -4
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +3 -3
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/components/transitions/expand-transition.js.map +1 -1
- package/es5/directives/ripple/index.js +3 -3
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/install.js +1 -1
- package/es5/install.js.map +1 -1
- package/es5/locale/ca.js +1 -1
- package/es5/locale/ca.js.map +1 -1
- package/es5/locale/fr.js +2 -2
- package/es5/locale/fr.js.map +1 -1
- package/es5/locale/it.js +3 -3
- package/es5/locale/it.js.map +1 -1
- package/es5/mixins/groupable/index.js +1 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/mixins/proxyable/index.js +1 -1
- package/es5/mixins/proxyable/index.js.map +1 -1
- package/es5/mixins/themeable/index.js +9 -10
- package/es5/mixins/themeable/index.js.map +1 -1
- package/es5/mixins/toggleable/index.js +1 -1
- package/es5/mixins/toggleable/index.js.map +1 -1
- package/es5/services/goto/index.js +0 -1
- package/es5/services/goto/index.js.map +1 -1
- package/es5/services/icons/presets/mdi.js +1 -1
- package/es5/services/icons/presets/mdi.js.map +1 -1
- package/es5/services/theme/index.js +3 -2
- package/es5/services/theme/index.js.map +1 -1
- package/es5/util/helpers.js +3 -3
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +1 -1
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/util/events.js.map +1 -1
- package/lib/components/VCalendar/util/timestamp.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +31 -37
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VData/VData.js +1 -2
- package/lib/components/VData/VData.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +1 -3
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +4 -4
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +6 -7
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -0
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +1 -2
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +4 -4
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/components/transitions/expand-transition.js.map +1 -1
- package/lib/directives/ripple/index.js +3 -3
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/install.js +4 -1
- package/lib/install.js.map +1 -1
- package/lib/locale/ca.js +1 -1
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/fr.js +2 -2
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/it.js +3 -3
- package/lib/locale/it.js.map +1 -1
- package/lib/mixins/groupable/index.js +1 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/mixins/proxyable/index.js +1 -1
- package/lib/mixins/proxyable/index.js.map +1 -1
- package/lib/mixins/themeable/index.js +9 -9
- package/lib/mixins/themeable/index.js.map +1 -1
- package/lib/mixins/toggleable/index.js +1 -1
- package/lib/mixins/toggleable/index.js.map +1 -1
- package/lib/services/goto/index.js +0 -1
- package/lib/services/goto/index.js.map +1 -1
- package/lib/services/icons/presets/mdi.js +1 -1
- package/lib/services/icons/presets/mdi.js.map +1 -1
- package/lib/services/theme/index.js +3 -2
- package/lib/services/theme/index.js.map +1 -1
- package/lib/util/helpers.js +3 -3
- package/lib/util/helpers.js.map +1 -1
- package/package.json +10 -11
- package/src/components/VAppBar/__tests__/VAppBar.spec.ts +1 -1
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +1 -1
- package/src/components/VBanner/__tests__/VBanner.spec.ts +4 -4
- package/src/components/VCalendar/VCalendar.ts +1 -1
- package/src/components/VCalendar/mixins/__tests__/calendar-with-events.spec.ts +0 -1
- package/src/components/VCalendar/util/__tests__/events.spec.ts +1 -1
- package/src/components/VCalendar/util/__tests__/timestamp.spec.ts +6 -6
- package/src/components/VCalendar/util/events.ts +1 -1
- package/src/components/VCalendar/util/timestamp.ts +2 -2
- package/src/components/VColorPicker/VColorPickerEdit.ts +35 -38
- package/src/components/VColorPicker/__tests__/VColorPicker.spec.ts +2 -11
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +0 -154
- package/src/components/VData/VData.ts +1 -3
- package/src/components/VDataIterator/VDataIterator.ts +1 -1
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +2 -0
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +1 -1
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +1 -1
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +238 -0
- package/src/components/VDatePicker/VDatePicker.ts +4 -3
- package/src/components/VDatePicker/__tests__/VDatePicker.date.spec.ts +7 -5
- package/src/components/VDialog/__tests__/VDialog.spec.ts +4 -0
- package/src/components/VExpansionPanel/__tests__/VExpansionPanel.spec.ts +4 -4
- package/src/components/VForm/__tests__/VForm.spec.ts +12 -62
- package/src/components/VGrid/__tests__/VCol.spec.ts +2 -2
- package/src/components/VHover/__tests__/VHover.spec.ts +7 -13
- package/src/components/VList/VListItem.ts +2 -2
- package/src/components/VMenu/VMenu.ts +5 -5
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +7 -9
- package/src/components/VNavigationDrawer/__tests__/VNavigationDrawer.spec.ts +34 -22
- package/src/components/VOverflowBtn/VOverflowBtn.ts +1 -1
- package/src/components/VProgressLinear/VProgressLinear.sass +0 -2
- package/src/components/VProgressLinear/__tests__/VProgressLinear.spec.ts +1 -0
- package/src/components/VProgressLinear/__tests__/__snapshots__/VProgressLinear.spec.ts.snap +1 -1
- package/src/components/VRadioGroup/__tests__/VRadio.spec.ts +0 -15
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
- package/src/components/VRating/__tests__/VRating.spec.ts +1 -1
- package/src/components/VSelect/VSelect.ts +1 -0
- package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +1 -1
- package/src/components/VSlider/VSlider.ts +1 -3
- package/src/components/VSnackbar/__tests__/VSnackbar.spec.ts +0 -15
- package/src/components/VTextField/VTextField.ts +4 -4
- package/src/components/VTextField/__tests__/VTextField.spec.ts +1 -0
- package/src/components/VTextarea/__tests__/VTextarea.spec.ts +1 -1
- package/src/components/VTreeview/__tests__/VTreeview.spec.ts +23 -19
- package/src/components/VVirtualScroll/__tests__/VVirtualScroll.spec.ts +1 -1
- package/src/components/VWindow/VWindow.ts +2 -2
- package/src/components/VWindow/__tests__/VWindow.spec.ts +1 -1
- package/src/components/transitions/expand-transition.ts +4 -4
- package/src/directives/intersect/__tests__/intersect.spec.ts +2 -2
- package/src/directives/ripple/__tests__/ripple.spec.ts +4 -4
- package/src/directives/ripple/index.ts +3 -3
- package/src/directives/touch/__tests__/touch.spec.ts +1 -1
- package/src/install.ts +4 -1
- package/src/locale/ca.ts +1 -1
- package/src/locale/fr.ts +2 -2
- package/src/locale/it.ts +3 -3
- package/src/mixins/activatable/__tests__/activatable.spec.ts +1 -1
- package/src/mixins/detachable/__tests__/detachable.spec.ts +0 -26
- package/src/mixins/groupable/index.ts +1 -2
- package/src/mixins/proxyable/index.ts +1 -2
- package/src/mixins/scrollable/__tests__/scrollable.spec.ts +1 -1
- package/src/mixins/themeable/index.ts +11 -12
- package/src/mixins/toggleable/index.ts +1 -2
- package/src/mixins/validatable/__tests__/validatable.spec.ts +1 -1
- package/src/services/application/__tests__/application.spec.ts +1 -1
- package/src/services/goto/__tests__/goto.spec.ts +1 -1
- package/src/services/goto/index.ts +0 -1
- package/src/services/icons/__tests__/__snapshots__/icons.spec.ts.snap +1 -1
- package/src/services/icons/presets/mdi.ts +1 -1
- package/src/services/theme/__tests__/theme.spec.ts +2 -2
- package/src/services/theme/index.ts +2 -2
- package/src/util/__tests__/helpers.spec.ts +1 -1
- package/src/util/helpers.ts +7 -3
- package/types/index.d.ts +1 -0
- package/src/mixins/groupable/__tests__/groupable.spec.ts +0 -5
|
@@ -366,7 +366,7 @@ var _default = _calendarWithEvents.default.extend({
|
|
|
366
366
|
}],
|
|
367
367
|
on: _objectSpread({}, this.$listeners, {
|
|
368
368
|
'click:date': function clickDate(day) {
|
|
369
|
-
if (_this2.$listeners
|
|
369
|
+
if (_this2.$listeners.input) {
|
|
370
370
|
_this2.$emit('input', day.date);
|
|
371
371
|
}
|
|
372
372
|
|
|
@@ -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 } from 'vuetify/types'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: string[]\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, 4)\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 (): string[] {\n return typeof this.categories === 'string' && this.categories\n ? this.categories.split(/\\s*,\\s*/)\n : Array.isArray(this.categories)\n ? this.categories as string[]\n : []\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: string[]): string[] {\n if (!this.noEvents) {\n const categoryMap = categories.reduce((map, category, index) => {\n map[category] = { index, count: 0 }\n\n return map\n }, Object.create(null))\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 = Object.keys(categoryMap)\n }\n\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp) => {\n if (this.$listeners['input']) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VCalendar/VCalendar.ts"],"names":[],"mappings":";;;;;;;AAOA;;AAGA;;AACA;;AAqBA;;AACA;;AACA;;AACA;;;;;;;;;;AAaA;eACe,4BAAmB,MAAnB,CAA0B;AACvC,EAAA,IAAI,EAAE,YADiC;AAGvC,EAAA,KAAK,oBACA,eAAM,QADN,MAEA,eAAM,KAFN,MAGA,eAAM,SAHN,MAIA,eAAM,QAJN,CAHkC;AAUvC,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,SAAS,EAAE,IADA;AAEX,MAAA,OAAO,EAAE;AAFE,KAAP;AAAA,GAViC;AAevC,EAAA,QAAQ,EAAE;AACR,IAAA,WADQ,yBACG;AACT,aAAQ,kCAAkB,KAAK,KAAvB,IACJ,+BAAe,KAAK,KAApB,EAA2B,IAA3B,CADI,GAEH,KAAK,WAAL,IAAoB,KAAK,KAAL,CAAW,KAFpC;AAGD,KALO;AAMR,IAAA,kBANQ,gCAMU;AAChB,aAAO,QAAQ,CAAC,KAAK,YAAN,CAAR,IAA+B,CAAtC;AACD,KARO;AASR,IAAA,WATQ,yBASG;AACT,UAAM,MAAM,GAAG,KAAK,WAApB;AACA,UAAI,SAAS,GAAQ,IAArB;AACA,UAAI,OAAO,GAAG,KAAK,OAAnB;AACA,UAAI,QAAQ,GAAG,KAAK,cAApB;AACA,UAAI,UAAU,GAAG,KAAK,gBAAtB;AACA,UAAI,KAAK,GAAG,MAAZ;AACA,UAAI,GAAG,GAAG,MAAV;;AACA,cAAQ,KAAK,IAAb;AACE,aAAK,OAAL;AACE,UAAA,SAAS,GAAG,yBAAZ;AACA,UAAA,KAAK,GAAG,gCAAgB,MAAhB,CAAR;AACA,UAAA,GAAG,GAAG,8BAAc,MAAd,CAAN;AACA;;AACF,aAAK,MAAL;AACE,UAAA,SAAS,GAAG,uBAAZ;AACA,UAAA,KAAK,GAAG,KAAK,cAAL,CAAoB,MAApB,CAAR;AACA,UAAA,GAAG,GAAG,KAAK,YAAL,CAAkB,MAAlB,CAAN;AACA,UAAA,OAAO,GAAG,CAAV;AACA;;AACF,aAAK,KAAL;AACE,UAAA,SAAS,GAAG,uBAAZ;AACA,UAAA,OAAO,GAAG,CAAV;AACA,UAAA,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAP,CAAX;AACA;;AACF,aAAK,MAAL;AACE,UAAA,SAAS,GAAG,uBAAZ;AACA,UAAA,GAAG,GAAG,6BAAa,8BAAc,GAAd,CAAb,EAAiC,kBAAjC,EAA0C,CAA1C,CAAN;AACA,0CAAgB,GAAhB;AACA,UAAA,OAAO,GAAG,CAAV;AACA,UAAA,QAAQ,GAAG,CACT,KAAK,CAAC,OADG,EAET,CAAC,KAAK,CAAC,OAAN,GAAgB,CAAjB,IAAsB,CAFb,EAGT,CAAC,KAAK,CAAC,OAAN,GAAgB,CAAjB,IAAsB,CAHb,EAIT,CAAC,KAAK,CAAC,OAAN,GAAgB,CAAjB,IAAsB,CAJb,CAAX;AAMA;;AACF,aAAK,eAAL;AACE,UAAA,SAAS,GAAG,wBAAZ;AACA,UAAA,KAAK,GAAG,KAAK,WAAL,IAAoB,MAA5B;AACA,UAAA,GAAG,GAAG,KAAK,SAAX;AACA;;AACF,aAAK,cAAL;AACE,UAAA,SAAS,GAAG,uBAAZ;AACA,UAAA,KAAK,GAAG,KAAK,WAAL,IAAoB,MAA5B;AACA,UAAA,GAAG,GAAG,KAAK,SAAX;AACA;;AACF,aAAK,UAAL;AACE,cAAM,IAAI,GAAG,KAAK,kBAAlB;AAEA,UAAA,SAAS,GAAG,0BAAZ;AACA,UAAA,GAAG,GAAG,6BAAa,8BAAc,GAAd,CAAb,EAAiC,kBAAjC,EAA0C,IAA1C,CAAN;AACA,0CAAgB,GAAhB;AACA,UAAA,OAAO,GAAG,IAAV;AACA,UAAA,QAAQ,GAAG,EAAX;;AAEA,eAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,CAAC,EAA3B,EAA+B;AAC7B,YAAA,QAAQ,CAAC,IAAT,CAAc,CAAC,KAAK,CAAC,OAAN,GAAgB,CAAjB,IAAsB,CAApC;AACD;;AAED,UAAA,UAAU,GAAG,KAAK,eAAL,CAAqB,UAArB,CAAb;AACA;;AACF;AACE,gBAAM,IAAI,KAAJ,CAAU,KAAK,IAAL,GAAY,+BAAtB,CAAN;AAvDJ;;AA0DA,aAAO;AAAE,QAAA,SAAS,EAAT,SAAF;AAAa,QAAA,KAAK,EAAL,KAAb;AAAoB,QAAA,GAAG,EAAH,GAApB;AAAyB,QAAA,OAAO,EAAP,OAAzB;AAAkC,QAAA,QAAQ,EAAR,QAAlC;AAA4C,QAAA,UAAU,EAAV;AAA5C,OAAP;AACD,KA5EO;AA6ER,IAAA,aA7EQ,2BA6EK;AACX,aAAO,KAAK,WAAL,CAAiB,QAAxB;AACD,KA/EO;AAgFR,IAAA,YAhFQ,0BAgFI;AACV,aAAO,KAAK,IAAL,KAAc,UAArB;AACD,KAlFO;AAmFR,IAAA,KAnFQ,mBAmFH;AAAA,8BACoB,KAAK,WADzB;AAAA,UACK,KADL,qBACK,KADL;AAAA,UACY,GADZ,qBACY,GADZ;AAEH,UAAM,SAAS,GAAG,KAAK,CAAC,IAAN,KAAe,GAAG,CAAC,IAArC;AACA,UAAM,UAAU,GAAG,SAAS,IAAI,KAAK,CAAC,KAAN,KAAgB,GAAG,CAAC,KAApD;;AAEA,UAAI,SAAJ,EAAe;AACb,eAAO,KAAK,mBAAL,CAAyB,KAAzB,EAAgC,IAAhC,IAAwC,GAAxC,GAA8C,KAAK,CAAC,IAApD,GAA2D,KAA3D,GAAmE,KAAK,mBAAL,CAAyB,GAAzB,EAA8B,IAA9B,CAAnE,GAAyG,GAAzG,GAA+G,GAAG,CAAC,IAA1H;AACD;;AAED,UAAI,UAAJ,EAAgB;AACd,eAAO,KAAK,mBAAL,CAAyB,KAAzB,EAAgC,IAAhC,IAAwC,KAAxC,GAAgD,KAAK,mBAAL,CAAyB,GAAzB,EAA8B,IAA9B,CAAhD,GAAsF,GAAtF,GAA4F,GAAG,CAAC,IAAvG;AACD,OAFD,MAEO;AACL,eAAO,KAAK,kBAAL,CAAwB,KAAxB,EAA+B,KAA/B,IAAwC,GAAxC,GAA8C,KAAK,CAAC,IAA3D;AACD;AACF,KAjGO;AAkGR,IAAA,kBAlGQ,gCAkGU;AAChB,aAAO,KAAK,YAAL,CAAkB;AACvB,QAAA,QAAQ,EAAE,KADa;AACN,QAAA,KAAK,EAAE;AADD,OAAlB,CAAP;AAGD,KAtGO;AAuGR,IAAA,mBAvGQ,iCAuGW;AACjB,aAAO,KAAK,YAAL,CAAkB;AACvB,QAAA,QAAQ,EAAE,KADa;AACN,QAAA,KAAK,EAAE;AADD,OAAlB,CAAP;AAGD,KA3GO;AA4GR,IAAA,gBA5GQ,8BA4GQ;AACd,aAAO,OAAO,KAAK,UAAZ,KAA2B,QAA3B,IAAuC,KAAK,UAA5C,GACH,KAAK,UAAL,CAAgB,KAAhB,CAAsB,SAAtB,CADG,GAEH,KAAK,CAAC,OAAN,CAAc,KAAK,UAAnB,IACE,KAAK,UADP,GAEE,EAJN;AAKD;AAlHO,GAf6B;AAoIvC,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AADR,GApIgC;AAwIvC,EAAA,OAxIuC,qBAwIhC;AACL,SAAK,qBAAL;AACA,SAAK,WAAL;AACD,GA3IsC;AA6IvC,EAAA,OA7IuC,qBA6IhC;AACL,IAAA,MAAM,CAAC,qBAAP,CAA6B,KAAK,qBAAlC;AACD,GA/IsC;AAiJvC,EAAA,OAAO,EAAE;AACP,IAAA,WADO,yBACI;AAAA,UACD,SADC,GACsB,IADtB,CACD,SADC;AAAA,UACU,OADV,GACsB,IADtB,CACU,OADV;AAAA,+BAEc,KAAK,WAFnB;AAAA,UAED,KAFC,sBAED,KAFC;AAAA,UAEM,GAFN,sBAEM,GAFN;;AAGT,UAAI,CAAC,SAAD,IAAc,CAAC,OAAf,IACF,KAAK,CAAC,IAAN,KAAe,SAAS,CAAC,IADvB,IAEF,GAAG,CAAC,IAAJ,KAAa,OAAO,CAAC,IAFvB,EAE6B;AAC3B,aAAK,SAAL,GAAiB,KAAjB;AACA,aAAK,OAAL,GAAe,GAAf;AACA,aAAK,KAAL,CAAW,QAAX,EAAqB;AAAE,UAAA,KAAK,EAAL,KAAF;AAAS,UAAA,GAAG,EAAH;AAAT,SAArB;AACD;AACF,KAXM;AAYP,IAAA,IAZO,kBAYS;AAAA,UAAV,MAAU,uEAAD,CAAC;AACd,UAAM,KAAK,GAAG,8BAAc,KAAK,WAAnB,CAAd;AACA,UAAM,OAAO,GAAG,MAAM,GAAG,CAAzB;AACA,UAAM,KAAK,GAAG,OAAO,GAAG,kBAAH,GAAa,kBAAlC;AACA,UAAM,KAAK,GAAG,OAAO,GAAG,4BAAH,GAAuB,kBAA5C;AACA,UAAI,KAAK,GAAG,OAAO,GAAG,MAAH,GAAY,CAAC,MAAhC;;AAEA,aAAO,EAAE,KAAF,IAAW,CAAlB,EAAqB;AACnB,gBAAQ,KAAK,IAAb;AACE,eAAK,OAAL;AACE,YAAA,KAAK,CAAC,GAAN,GAAY,KAAZ;AACA,YAAA,KAAK,CAAC,KAAD,CAAL;AACA;;AACF,eAAK,MAAL;AACE,yCAAa,KAAb,EAAoB,KAApB,EAA2B,uBAA3B;AACA;;AACF,eAAK,KAAL;AACE,yCAAa,KAAb,EAAoB,KAApB,EAA2B,CAA3B;AACA;;AACF,eAAK,MAAL;AACE,yCAAa,KAAb,EAAoB,KAApB,EAA2B,CAA3B;AACA;;AACF,eAAK,UAAL;AACE,yCAAa,KAAb,EAAoB,KAApB,EAA2B,KAAK,kBAAhC;AACA;AAhBJ;AAkBD;;AAED,oCAAc,KAAd;AACA,sCAAgB,KAAhB;AACA,qCAAe,KAAf,EAAsB,KAAK,KAAL,CAAW,GAAjC;;AAEA,UAAI,KAAK,KAAL,YAAsB,IAA1B,EAAgC;AAC9B,aAAK,KAAL,CAAW,OAAX,EAAoB,gCAAgB,KAAhB,CAApB;AACD,OAFD,MAEO,IAAI,OAAO,KAAK,KAAZ,KAAsB,QAA1B,EAAoC;AACzC,aAAK,KAAL,CAAW,OAAX,EAAoB,gCAAgB,KAAhB,EAAuB,OAAvB,EAApB;AACD,OAFM,MAEA;AACL,aAAK,KAAL,CAAW,OAAX,EAAoB,KAAK,CAAC,IAA1B;AACD;;AAED,WAAK,KAAL,CAAW,OAAX,EAAoB,KAApB;AACD,KArDM;AAsDP,IAAA,IAtDO,kBAsDS;AAAA,UAAV,MAAU,uEAAD,CAAC;AACd,WAAK,IAAL,CAAU,MAAV;AACD,KAxDM;AAyDP,IAAA,IAzDO,kBAyDS;AAAA,UAAV,MAAU,uEAAD,CAAC;AACd,WAAK,IAAL,CAAU,CAAC,MAAX;AACD,KA3DM;AA4DP,IAAA,OA5DO,mBA4DE,IA5DF,EA4D2B;AAAA,UAAZ,KAAY,uEAAJ,IAAI;AAChC,UAAM,CAAC,GAAG,KAAK,SAAL,CAAe,CAAf,CAAV;;AAEA,UAAI,CAAC,IAAI,CAAC,CAAC,OAAX,EAAoB;AAClB,eAAO,CAAC,CAAC,OAAF,CAAU,IAAV,EAAgB,KAAhB,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAP;AACD;AACF,KApEM;AAqEP,IAAA,SArEO,qBAqEI,IArEJ,EAqEe;AACpB,UAAM,CAAC,GAAG,KAAK,SAAL,CAAe,CAAf,CAAV;;AAEA,UAAI,CAAC,IAAI,CAAC,CAAC,SAAX,EAAsB;AACpB,eAAO,CAAC,CAAC,SAAF,CAAY,IAAZ,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAP;AACD;AACF,KA7EM;AA8EP,IAAA,eA9EO,2BA8EU,OA9EV,EA8EyB;AAC9B,UAAM,CAAC,GAAG,KAAK,SAAL,CAAe,CAAf,CAAV;;AAEA,UAAI,CAAC,IAAI,CAAC,CAAC,eAAX,EAA4B;AAC1B,eAAO,CAAC,CAAC,eAAF,CAAkB,OAAlB,CAAP;AACD,OAFD,MAEO;AACL,eAAO,CAAC,CAAR;AACD;AACF,KAtFM;AAuFP,IAAA,YAvFO,wBAuFO,IAvFP,EAuFkB;AACvB,UAAM,CAAC,GAAG,KAAK,SAAL,CAAe,CAAf,CAAV;;AAEA,UAAI,CAAC,IAAI,CAAC,CAAC,YAAX,EAAyB;AACvB,eAAO,CAAC,CAAC,YAAF,CAAe,IAAf,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAP;AACD;AACF,KA/FM;AAgGP,IAAA,cAhGO,0BAgGS,KAhGT,EAgGiC,QAhGjC,EAgGiD;AACtD,aAAO,+BAAe,KAAf,EAAsB,QAAtB,EAAgC,KAAK,KAAL,CAAW,GAA3C,CAAP;AACD,KAlGM;AAmGP,IAAA,eAnGO,2BAmGU,SAnGV,EAmGsC;AAC3C,aAAO,gCAAgB,SAAhB,CAAP;AACD,KArGM;AAsGP,IAAA,eAtGO,2BAsGU,UAtGV,EAsG8B;AAAA;;AACnC,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,YAAM,WAAW,GAAG,UAAU,CAAC,MAAX,CAAkB,UAAC,GAAD,EAAM,QAAN,EAAgB,KAAhB,EAAyB;AAC7D,UAAA,GAAG,CAAC,QAAD,CAAH,GAAgB;AAAE,YAAA,KAAK,EAAL,KAAF;AAAS,YAAA,KAAK,EAAE;AAAhB,WAAhB;AAEA,iBAAO,GAAP;AACD,SAJmB,EAIjB,MAAM,CAAC,MAAP,CAAc,IAAd,CAJiB,CAApB;;AAMA,YAAI,CAAC,KAAK,mBAAN,IAA6B,CAAC,KAAK,eAAvC,EAAwD;AACtD,cAAI,cAAc,GAAG,UAAU,CAAC,MAAhC;AAEA,eAAK,YAAL,CAAkB,OAAlB,CAA0B,UAAA,EAAE,EAAG;AAC7B,gBAAI,QAAQ,GAAG,EAAE,CAAC,QAAlB;;AAEA,gBAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC;AAChC,cAAA,QAAQ,GAAG,KAAI,CAAC,kBAAhB;AACD;;AAED,gBAAI,CAAC,QAAL,EAAe;AACb;AACD;;AAED,gBAAI,QAAQ,IAAI,WAAhB,EAA6B;AAC3B,cAAA,WAAW,CAAC,QAAD,CAAX,CAAsB,KAAtB;AACD,aAFD,MAEO,IAAI,CAAC,KAAI,CAAC,mBAAV,EAA+B;AACpC,cAAA,WAAW,CAAC,QAAD,CAAX,GAAwB;AACtB,gBAAA,KAAK,EAAE,cAAc,EADC;AAEtB,gBAAA,KAAK,EAAE;AAFe,eAAxB;AAID;AACF,WAnBD;AAoBD;;AAED,YAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,eAAK,IAAM,QAAX,IAAuB,WAAvB,EAAoC;AAClC,gBAAI,WAAW,CAAC,QAAD,CAAX,CAAsB,KAAtB,KAAgC,CAApC,EAAuC;AACrC,qBAAO,WAAW,CAAC,QAAD,CAAlB;AACD;AACF;AACF;;AAED,QAAA,UAAU,GAAG,MAAM,CAAC,IAAP,CAAY,WAAZ,CAAb;AACD;;AAED,aAAO,UAAP;AACD;AAnJM,GAjJ8B;AAuSvC,EAAA,MAvSuC,kBAuS/B,CAvS+B,EAuS9B;AAAA;;AAAA,6BAC0D,KAAK,WAD/D;AAAA,QACC,KADD,sBACC,KADD;AAAA,QACQ,GADR,sBACQ,GADR;AAAA,QACa,OADb,sBACa,OADb;AAAA,QACsB,SADtB,sBACsB,SADtB;AAAA,QACiC,QADjC,sBACiC,QADjC;AAAA,QAC2C,UAD3C,sBAC2C,UAD3C;AAGP,WAAO,CAAC,CAAC,SAAD,EAAY;AAClB,MAAA,WAAW,EAAE,YADK;AAElB,MAAA,KAAK,EAAE;AACL,6BAAqB,CAAC,KAAK;AADtB,OAFW;AAKlB,MAAA,KAAK,oBACA,KAAK,MADL;AAEH,QAAA,KAAK,EAAE,KAAK,CAAC,IAFV;AAGH,QAAA,GAAG,EAAE,GAAG,CAAC,IAHN;AAIH,QAAA,OAAO,EAAP,OAJG;AAKH,QAAA,QAAQ,EAAR,QALG;AAMH,QAAA,UAAU,EAAV;AANG,QALa;AAalB,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,CAbM;AAkBlB,MAAA,EAAE,oBACG,KAAK,UADR;AAEA,sBAAc,mBAAC,GAAD,EAA2B;AACvC,cAAI,MAAI,CAAC,UAAL,CAAgB,KAApB,EAA2B;AACzB,YAAA,MAAI,CAAC,KAAL,CAAW,OAAX,EAAoB,GAAG,CAAC,IAAxB;AACD;;AACD,cAAI,MAAI,CAAC,UAAL,CAAgB,YAAhB,CAAJ,EAAmC;AACjC,YAAA,MAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,GAAzB;AACD;AACF;AATD,QAlBgB;AA6BlB,MAAA,WAAW,EAAE,KAAK,cAAL;AA7BK,KAAZ,CAAR;AA+BD;AAzUsC,CAA1B,C","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 } from 'vuetify/types'\n\n// Types\ninterface VCalendarRenderProps {\n start: CalendarTimestamp\n end: CalendarTimestamp\n component: string | Component\n maxDays: number\n weekdays: number[]\n categories: string[]\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, 4)\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 (): string[] {\n return typeof this.categories === 'string' && this.categories\n ? this.categories.split(/\\s*,\\s*/)\n : Array.isArray(this.categories)\n ? this.categories as string[]\n : []\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: string[]): string[] {\n if (!this.noEvents) {\n const categoryMap = categories.reduce((map, category, index) => {\n map[category] = { index, count: 0 }\n\n return map\n }, Object.create(null))\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 = Object.keys(categoryMap)\n }\n\n return categories\n },\n },\n\n render (h): VNode {\n const { start, end, maxDays, component, weekdays, categories } = this.renderProps\n\n return h(component, {\n staticClass: 'v-calendar',\n class: {\n 'v-calendar-events': !this.noEvents,\n },\n props: {\n ...this.$props,\n start: start.date,\n end: end.date,\n maxDays,\n weekdays,\n categories,\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.updateEventVisibility,\n }],\n on: {\n ...this.$listeners,\n 'click:date': (day: CalendarTimestamp) => {\n if (this.$listeners.input) {\n this.$emit('input', day.date)\n }\n if (this.$listeners['click:date']) {\n this.$emit('click:date', day)\n }\n },\n },\n scopedSlots: this.getScopedSlots(),\n })\n },\n})\n"],"sourceRoot":"","file":"VCalendar.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/util/events.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAUM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAM4B;AAAA,MADhC,KACgC,uEADxB,KACwB;AAAA,MAAhC,QAAgC,uEAAL,KAAK;AAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,MAAM,WAAW,GAAsB,+BAAe,UAAf,EAA2B,IAA3B,CAAvC;AACA,MAAM,SAAS,GAAuB,QAAQ,GAAG,+BAAe,QAAf,EAAyB,IAAzB,CAAH,GAAoC,WAAlF;AACA,MAAM,KAAK,GAAsB,4BAAY,UAAZ,IAC7B,8BAAc,WAAd,EAA2B,KAA3B,CAD6B,GAE7B,WAFJ;AAGA,MAAM,GAAG,GAAsB,4BAAY,QAAZ,IAC3B,8BAAc,SAAd,EAAyB,KAAzB,CAD2B,GAE3B,SAFJ;AAGA,MAAM,eAAe,GAAW,iCAAiB,KAAjB,CAAhC;AACA,MAAM,wBAAwB,GAAW,uCAAuB,KAAvB,CAAzC;AACA,MAAM,aAAa,GAAW,iCAAiB,GAAjB,CAA9B;AACA,MAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,MAAM,sBAAsB,GAAW,uCAAuB,GAAvB,IAA8B,SAArE;AACA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VCalendar/util/events.ts"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAUM,SAAU,UAAV,CACJ,KADI,EAEJ,KAFI,EAGJ,aAHI,EAIJ,WAJI,EAM4B;AAAA,MADhC,KACgC,uEADxB,KACwB;AAAA,MAAhC,QAAgC,uEAAL,KAAK;AAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAD,CAAxB;AACA,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAD,CAAtB;AACA,MAAM,WAAW,GAAsB,+BAAe,UAAf,EAA2B,IAA3B,CAAvC;AACA,MAAM,SAAS,GAAuB,QAAQ,GAAG,+BAAe,QAAf,EAAyB,IAAzB,CAAH,GAAoC,WAAlF;AACA,MAAM,KAAK,GAAsB,4BAAY,UAAZ,IAC7B,8BAAc,WAAd,EAA2B,KAA3B,CAD6B,GAE7B,WAFJ;AAGA,MAAM,GAAG,GAAsB,4BAAY,QAAZ,IAC3B,8BAAc,SAAd,EAAyB,KAAzB,CAD2B,GAE3B,SAFJ;AAGA,MAAM,eAAe,GAAW,iCAAiB,KAAjB,CAAhC;AACA,MAAM,wBAAwB,GAAW,uCAAuB,KAAvB,CAAzC;AACA,MAAM,aAAa,GAAW,iCAAiB,GAAjB,CAA9B;AACA,MAAM,SAAS,GAAW,KAAK,CAAC,OAAN,GAAgB,CAAhB,GAAoB,IAA9C;AACA,MAAM,sBAAsB,GAAW,uCAAuB,GAAvB,IAA8B,SAArE;AACA,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAtB;AAEA,SAAO;AAAE,IAAA,KAAK,EAAL,KAAF;AAAS,IAAA,KAAK,EAAL,KAAT;AAAgB,IAAA,eAAe,EAAf,eAAhB;AAAiC,IAAA,wBAAwB,EAAxB,wBAAjC;AAA2D,IAAA,GAAG,EAAH,GAA3D;AAAgE,IAAA,aAAa,EAAb,aAAhE;AAA+E,IAAA,sBAAsB,EAAtB,sBAA/E;AAAuG,IAAA,MAAM,EAAN,MAAvG;AAA+G,IAAA,KAAK,EAAL,KAA/G;AAAsH,IAAA,QAAQ,EAAR;AAAtH,GAAP;AACD;;AAEK,SAAU,SAAV,CAAqB,KAArB,EAAiD,aAAjD,EAAsE;AAC1E,SAAO,aAAa,IAAI,KAAK,CAAC,eAAvB,IACL,aAAa,IAAI,KAAK,CAAC,aADlB,IAEL,aAAa,GAAG,sBAAhB,KAAgC,KAAK,CAAC,sBAFxC;AAGD;;AAEK,SAAU,YAAV,CAAwB,KAAxB,EAAoD,GAApD,EAA4E,aAA5E,EAAmG,YAAnG,EAAuH;AAC3H,SAAO,aAAa,KAAK,KAAK,CAAC,eAAxB,IAA4C,YAAY,KAAK,GAAG,CAAC,OAArB,IAAgC,SAAS,CAAC,KAAD,EAAQ,aAAR,CAA5F;AACD;;AAEK,SAAU,kBAAV,CAA8B,KAA9B,EAA0D,eAA1D,EAAmF,aAAnF,EAAwG;AAC5G,SAAO,eAAe,IAAI,KAAK,CAAC,aAAzB,IAA0C,aAAa,IAAI,KAAK,CAAC,eAAxE;AACD","sourcesContent":["import {\n parseTimestamp,\n getDayIdentifier,\n getTimestampIdentifier,\n OFFSET_TIME,\n isTimedless,\n updateHasTime,\n} from './timestamp'\nimport { CalendarTimestamp, CalendarEvent, CalendarEventParsed } from 'vuetify/types'\n\nexport function parseEvent (\n input: CalendarEvent,\n index: number,\n startProperty: string,\n endProperty: string,\n timed = false,\n category: string | false = false,\n): CalendarEventParsed {\n const startInput = input[startProperty]\n const endInput = input[endProperty]\n const startParsed: CalendarTimestamp = parseTimestamp(startInput, true)\n const endParsed: CalendarTimestamp = (endInput ? parseTimestamp(endInput, true) : startParsed)\n const start: CalendarTimestamp = isTimedless(startInput)\n ? updateHasTime(startParsed, timed)\n : startParsed\n const end: CalendarTimestamp = isTimedless(endInput)\n ? updateHasTime(endParsed, timed)\n : endParsed\n const startIdentifier: number = getDayIdentifier(start)\n const startTimestampIdentifier: number = getTimestampIdentifier(start)\n const endIdentifier: number = getDayIdentifier(end)\n const endOffset: number = start.hasTime ? 0 : 2359\n const endTimestampIdentifier: number = getTimestampIdentifier(end) + endOffset\n const allDay = !start.hasTime\n\n return { input, start, startIdentifier, startTimestampIdentifier, end, endIdentifier, endTimestampIdentifier, allDay, index, category }\n}\n\nexport function isEventOn (event: CalendarEventParsed, dayIdentifier: number): boolean {\n return dayIdentifier >= event.startIdentifier &&\n dayIdentifier <= event.endIdentifier &&\n dayIdentifier * OFFSET_TIME !== event.endTimestampIdentifier\n}\n\nexport function isEventStart (event: CalendarEventParsed, day: CalendarTimestamp, dayIdentifier: number, firstWeekday: number): boolean {\n return dayIdentifier === event.startIdentifier || (firstWeekday === day.weekday && isEventOn(event, dayIdentifier))\n}\n\nexport function isEventOverlapping (event: CalendarEventParsed, startIdentifier: number, endIdentifier: number): boolean {\n return startIdentifier <= event.endIdentifier && endIdentifier >= event.startIdentifier\n}\n"],"sourceRoot":"","file":"events.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX: RegExp = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME: RegExp = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"sourceRoot":"","file":"timestamp.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VCalendar/util/timestamp.ts"],"names":[],"mappings":"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","sourcesContent":["import { CalendarTimestamp, CalendarFormatter } from 'vuetify/types'\nimport { isLeapYear } from '../../../util/dateTimeUtils'\n\nexport const PARSE_REGEX = /^(\\d{4})-(\\d{1,2})(-(\\d{1,2}))?([^\\d]+(\\d{1,2}))?(:(\\d{1,2}))?(:(\\d{1,2}))?$/\nexport const PARSE_TIME = /(\\d\\d?)(:(\\d\\d?)|)(:(\\d\\d?)|)/\n\nexport const DAYS_IN_MONTH: number[] = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_LEAP: number[] = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\nexport const DAYS_IN_MONTH_MIN = 28\nexport const DAYS_IN_MONTH_MAX = 31\nexport const MONTH_MAX = 12\nexport const MONTH_MIN = 1\nexport const DAY_MIN = 1\nexport const DAYS_IN_WEEK = 7\nexport const MINUTES_IN_HOUR = 60\nexport const MINUTE_MAX = 59\nexport const MINUTES_IN_DAY = 24 * 60\nexport const HOURS_IN_DAY = 24\nexport const HOUR_MAX = 23\nexport const FIRST_HOUR = 0\nexport const OFFSET_YEAR = 10000\nexport const OFFSET_MONTH = 100\nexport const OFFSET_HOUR = 100\nexport const OFFSET_TIME = 10000\n\ntype CalendarTimestampFormatOptions = (timestamp: CalendarTimestamp, short: boolean) => object\ntype CalendarTimestampOperation = (timestamp: CalendarTimestamp) => CalendarTimestamp\nexport type VTime = number | string | {\n hour: number\n minute: number\n}\n\nexport type VTimestampInput = number | string | Date;\n\nexport function getStartOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n findWeekday(start, weekdays[0], prevDay)\n updateFormatted(start)\n if (today) {\n updateRelative(start, today, start.hasTime)\n }\n\n return start\n}\n\nexport function getEndOfWeek (timestamp: CalendarTimestamp, weekdays: number[], today?: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n findWeekday(end, weekdays[weekdays.length - 1])\n updateFormatted(end)\n if (today) {\n updateRelative(end, today, end.hasTime)\n }\n\n return end\n}\n\nexport function getStartOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const start = copyTimestamp(timestamp)\n start.day = DAY_MIN\n updateWeekday(start)\n updateFormatted(start)\n\n return start\n}\n\nexport function getEndOfMonth (timestamp: CalendarTimestamp): CalendarTimestamp {\n const end = copyTimestamp(timestamp)\n end.day = daysInMonth(end.year, end.month)\n updateWeekday(end)\n updateFormatted(end)\n\n return end\n}\n\nexport function validateTime (input: any): input is VTime {\n return (typeof input === 'number' && isFinite(input)) ||\n (!!PARSE_TIME.exec(input)) ||\n (typeof input === 'object' && isFinite(input.hour) && isFinite(input.minute))\n}\n\nexport function parseTime (input: any): number | false {\n if (typeof input === 'number') {\n // when a number is given, it's minutes since 12:00am\n return input\n } else if (typeof input === 'string') {\n // when a string is given, it's a hh:mm:ss format where seconds are optional\n const parts = PARSE_TIME.exec(input)\n if (!parts) {\n return false\n }\n\n return parseInt(parts[1]) * 60 + parseInt(parts[3] || 0)\n } else if (typeof input === 'object') {\n // when an object is given, it must have hour and minute\n if (typeof input.hour !== 'number' || typeof input.minute !== 'number') {\n return false\n }\n\n return input.hour * 60 + input.minute\n } else {\n // unsupported type\n return false\n }\n}\n\nexport function validateTimestamp (input: any): input is VTimestampInput {\n return (typeof input === 'number' && isFinite(input)) ||\n (typeof input === 'string' && !!PARSE_REGEX.exec(input)) ||\n (input instanceof Date)\n}\n\nexport function parseTimestamp (input: VTimestampInput, required?: false, now?: CalendarTimestamp): CalendarTimestamp | null\nexport function parseTimestamp (input: VTimestampInput, required: true, now?: CalendarTimestamp): CalendarTimestamp\nexport function parseTimestamp (input: VTimestampInput, required = false, now?: CalendarTimestamp): CalendarTimestamp | null {\n if (typeof input === 'number' && isFinite(input)) {\n input = new Date(input)\n }\n\n if (input instanceof Date) {\n const date: CalendarTimestamp = parseDate(input)\n\n if (now) {\n updateRelative(date, now, date.hasTime)\n }\n\n return date\n }\n\n if (typeof input !== 'string') {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n return null\n }\n\n // YYYY-MM-DD hh:mm:ss\n const parts = PARSE_REGEX.exec(input)\n\n if (!parts) {\n if (required) {\n throw new Error(`${input} is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.`)\n }\n\n return null\n }\n\n const timestamp: CalendarTimestamp = {\n date: input,\n time: '',\n year: parseInt(parts[1]),\n month: parseInt(parts[2]),\n day: parseInt(parts[4]) || 1,\n hour: parseInt(parts[6]) || 0,\n minute: parseInt(parts[8]) || 0,\n weekday: 0,\n hasDay: !!parts[4],\n hasTime: !!(parts[6] && parts[8]),\n past: false,\n present: false,\n future: false,\n }\n\n updateWeekday(timestamp)\n updateFormatted(timestamp)\n\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n\n return timestamp\n}\n\nexport function parseDate (date: Date): CalendarTimestamp {\n return updateFormatted({\n date: '',\n time: '',\n year: date.getFullYear(),\n month: date.getMonth() + 1,\n day: date.getDate(),\n weekday: date.getDay(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n hasDay: true,\n hasTime: true,\n past: false,\n present: true,\n future: false,\n })\n}\n\nexport function getDayIdentifier (timestamp: { year: number, month: number, day: number }): number {\n return timestamp.year * OFFSET_YEAR + timestamp.month * OFFSET_MONTH + timestamp.day\n}\n\nexport function getTimeIdentifier (timestamp: { hour: number, minute: number }): number {\n return timestamp.hour * OFFSET_HOUR + timestamp.minute\n}\n\nexport function getTimestampIdentifier (timestamp: CalendarTimestamp): number {\n return getDayIdentifier(timestamp) * OFFSET_TIME + getTimeIdentifier(timestamp)\n}\n\nexport function updateRelative (timestamp: CalendarTimestamp, now: CalendarTimestamp, time = false): CalendarTimestamp {\n let a = getDayIdentifier(now)\n let b = getDayIdentifier(timestamp)\n let present = a === b\n\n if (timestamp.hasTime && time && present) {\n a = getTimeIdentifier(now)\n b = getTimeIdentifier(timestamp)\n present = a === b\n }\n\n timestamp.past = b < a\n timestamp.present = present\n timestamp.future = b > a\n\n return timestamp\n}\n\nexport function isTimedless (input: VTimestampInput): input is (Date | number) {\n return (input instanceof Date) || (typeof input === 'number' && isFinite(input))\n}\n\nexport function updateHasTime (timestamp: CalendarTimestamp, hasTime: boolean, now?: CalendarTimestamp): CalendarTimestamp {\n if (timestamp.hasTime !== hasTime) {\n timestamp.hasTime = hasTime\n if (!hasTime) {\n timestamp.hour = HOUR_MAX\n timestamp.minute = MINUTE_MAX\n timestamp.time = getTime(timestamp)\n }\n if (now) {\n updateRelative(timestamp, now, timestamp.hasTime)\n }\n }\n\n return timestamp\n}\n\nexport function updateMinutes (timestamp: CalendarTimestamp, minutes: number, now?: CalendarTimestamp): CalendarTimestamp {\n timestamp.hasTime = true\n timestamp.hour = Math.floor(minutes / MINUTES_IN_HOUR)\n timestamp.minute = minutes % MINUTES_IN_HOUR\n timestamp.time = getTime(timestamp)\n if (now) {\n updateRelative(timestamp, now, true)\n }\n\n return timestamp\n}\n\nexport function updateWeekday (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.weekday = getWeekday(timestamp)\n\n return timestamp\n}\n\nexport function updateFormatted (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.time = getTime(timestamp)\n timestamp.date = getDate(timestamp)\n\n return timestamp\n}\n\nexport function getWeekday (timestamp: CalendarTimestamp): number {\n if (timestamp.hasDay) {\n const _ = Math.floor\n const k = timestamp.day\n const m = ((timestamp.month + 9) % MONTH_MAX) + 1\n const C = _(timestamp.year / 100)\n const Y = (timestamp.year % 100) - (timestamp.month <= 2 ? 1 : 0)\n\n return (((k + _(2.6 * m - 0.2) - 2 * C + Y + _(Y / 4) + _(C / 4)) % 7) + 7) % 7\n }\n\n return timestamp.weekday\n}\n\nexport function daysInMonth (year: number, month: number) {\n return isLeapYear(year) ? DAYS_IN_MONTH_LEAP[month] : DAYS_IN_MONTH[month]\n}\n\nexport function copyTimestamp (timestamp: CalendarTimestamp): CalendarTimestamp {\n const { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future } = timestamp\n\n return { date, time, year, month, day, weekday, hour, minute, hasDay, hasTime, past, present, future }\n}\n\nexport function padNumber (x: number, length: number): string {\n let padded = String(x)\n while (padded.length < length) {\n padded = '0' + padded\n }\n\n return padded\n}\n\nexport function getDate (timestamp: CalendarTimestamp): string {\n let str = `${padNumber(timestamp.year, 4)}-${padNumber(timestamp.month, 2)}`\n\n if (timestamp.hasDay) str += `-${padNumber(timestamp.day, 2)}`\n\n return str\n}\n\nexport function getTime (timestamp: CalendarTimestamp): string {\n if (!timestamp.hasTime) {\n return ''\n }\n\n return `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n}\n\nexport function nextMinutes (timestamp: CalendarTimestamp, minutes: number): CalendarTimestamp {\n timestamp.minute += minutes\n while (timestamp.minute > MINUTES_IN_HOUR) {\n timestamp.minute -= MINUTES_IN_HOUR\n timestamp.hour++\n if (timestamp.hour >= HOURS_IN_DAY) {\n nextDay(timestamp)\n timestamp.hour = FIRST_HOUR\n }\n }\n\n return timestamp\n}\n\nexport function nextDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day++\n timestamp.weekday = (timestamp.weekday + 1) % DAYS_IN_WEEK\n if (timestamp.day > DAYS_IN_MONTH_MIN && timestamp.day > daysInMonth(timestamp.year, timestamp.month)) {\n timestamp.day = DAY_MIN\n timestamp.month++\n if (timestamp.month > MONTH_MAX) {\n timestamp.month = MONTH_MIN\n timestamp.year++\n }\n }\n\n return timestamp\n}\n\nexport function prevDay (timestamp: CalendarTimestamp): CalendarTimestamp {\n timestamp.day--\n timestamp.weekday = (timestamp.weekday + 6) % DAYS_IN_WEEK\n if (timestamp.day < DAY_MIN) {\n timestamp.month--\n if (timestamp.month < MONTH_MIN) {\n timestamp.year--\n timestamp.month = MONTH_MAX\n }\n timestamp.day = daysInMonth(timestamp.year, timestamp.month)\n }\n\n return timestamp\n}\n\nexport function relativeDays (\n timestamp: CalendarTimestamp,\n mover: CalendarTimestampOperation = nextDay,\n days = 1\n): CalendarTimestamp {\n while (--days >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function diffMinutes (min: CalendarTimestamp, max: CalendarTimestamp) {\n const Y = (max.year - min.year) * 525600\n const M = (max.month - min.month) * 43800\n const D = (max.day - min.day) * 1440\n const h = (max.hour - min.hour) * 60\n const m = (max.minute - min.minute)\n\n return Y + M + D + h + m\n}\n\nexport function findWeekday (timestamp: CalendarTimestamp, weekday: number,\n mover: CalendarTimestampOperation = nextDay, maxDays = 6): CalendarTimestamp {\n while (timestamp.weekday !== weekday && --maxDays >= 0) mover(timestamp)\n\n return timestamp\n}\n\nexport function getWeekdaySkips (weekdays: number[]): number[] {\n const skips: number[] = [1, 1, 1, 1, 1, 1, 1]\n const filled: number[] = [0, 0, 0, 0, 0, 0, 0]\n for (let i = 0; i < weekdays.length; i++) {\n filled[weekdays[i]] = 1\n }\n for (let k = 0; k < DAYS_IN_WEEK; k++) {\n let skip = 1\n for (let j = 1; j < DAYS_IN_WEEK; j++) {\n const next = (k + j) % DAYS_IN_WEEK\n if (filled[next]) {\n break\n }\n skip++\n }\n skips[k] = filled[k] * skip\n }\n\n return skips\n}\n\nexport function timestampToDate (timestamp: CalendarTimestamp): Date {\n const time = `${padNumber(timestamp.hour, 2)}:${padNumber(timestamp.minute, 2)}`\n const date = timestamp.date\n\n return new Date(`${date}T${time}:00+00:00`)\n}\n\nexport function createDayList (\n start: CalendarTimestamp,\n end: CalendarTimestamp,\n now: CalendarTimestamp,\n weekdaySkips: number[],\n max = 42,\n min = 0\n): CalendarTimestamp[] {\n const stop = getDayIdentifier(end)\n const days: CalendarTimestamp[] = []\n let current = copyTimestamp(start)\n let currentIdentifier = 0\n let stopped = currentIdentifier === stop\n\n if (stop < getDayIdentifier(start)) {\n throw new Error('End date is earlier than start date.')\n }\n\n while ((!stopped || days.length < min) && days.length < max) {\n currentIdentifier = getDayIdentifier(current)\n stopped = stopped || currentIdentifier === stop\n if (weekdaySkips[current.weekday] === 0) {\n current = nextDay(current)\n continue\n }\n const day = copyTimestamp(current)\n updateFormatted(day)\n updateRelative(day, now)\n days.push(day)\n current = relativeDays(current, nextDay, weekdaySkips[current.weekday])\n }\n\n if (!days.length) throw new Error('No dates found using specified start date, end date, and weekdays.')\n\n return days\n}\n\nexport function createIntervalList (timestamp: CalendarTimestamp, first: number,\n minutes: number, count: number, now?: CalendarTimestamp): CalendarTimestamp[] {\n const intervals: CalendarTimestamp[] = []\n\n for (let i = 0; i < count; i++) {\n const mins = first + (i * minutes)\n const int = copyTimestamp(timestamp)\n intervals.push(updateMinutes(int, mins, now))\n }\n\n return intervals\n}\n\nexport function createNativeLocaleFormatter (locale: string, getOptions: CalendarTimestampFormatOptions): CalendarFormatter {\n const emptyFormatter: CalendarFormatter = (_t, _s) => ''\n\n if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {\n return emptyFormatter\n }\n\n return (timestamp, short) => {\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, getOptions(timestamp, short))\n\n return intlFormatter.format(timestampToDate(timestamp))\n } catch (e) {\n return ''\n }\n }\n}\n"],"sourceRoot":"","file":"timestamp.js"}
|
|
@@ -107,50 +107,44 @@ var _default = _vue.default.extend({
|
|
|
107
107
|
genInputs: function genInputs() {
|
|
108
108
|
var _this = this;
|
|
109
109
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
change: function change(e) {
|
|
120
|
-
var el = e.target;
|
|
121
|
-
|
|
122
|
-
_this.$emit('update:color', _this.currentMode.from((0, _colorUtils.parseHex)(el.value)));
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
}
|
|
110
|
+
if (this.internalMode === 'hexa') {
|
|
111
|
+
var hex = this.color.hexa;
|
|
112
|
+
var value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex;
|
|
113
|
+
return this.genInput('hex', {
|
|
114
|
+
maxlength: this.hideAlpha ? 7 : 9,
|
|
115
|
+
disabled: this.disabled
|
|
116
|
+
}, value, {
|
|
117
|
+
change: function change(e) {
|
|
118
|
+
var el = e.target;
|
|
126
119
|
|
|
127
|
-
|
|
128
|
-
{
|
|
129
|
-
var inputs = this.hideAlpha ? this.currentMode.inputs.slice(0, -1) : this.currentMode.inputs;
|
|
130
|
-
return inputs.map(function (_ref) {
|
|
131
|
-
var _ref2 = _slicedToArray(_ref, 3),
|
|
132
|
-
target = _ref2[0],
|
|
133
|
-
max = _ref2[1],
|
|
134
|
-
type = _ref2[2];
|
|
135
|
-
|
|
136
|
-
var value = _this.color[_this.internalMode];
|
|
137
|
-
return _this.genInput(target, {
|
|
138
|
-
type: 'number',
|
|
139
|
-
min: 0,
|
|
140
|
-
max: max,
|
|
141
|
-
step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,
|
|
142
|
-
disabled: _this.disabled
|
|
143
|
-
}, _this.getValue(value[target], type), {
|
|
144
|
-
input: function input(e) {
|
|
145
|
-
var el = e.target;
|
|
146
|
-
|
|
147
|
-
var newVal = _this.parseValue(el.value || '0', type);
|
|
148
|
-
|
|
149
|
-
_this.$emit('update:color', _this.currentMode.from(Object.assign({}, value, _defineProperty({}, target, newVal)), _this.color.alpha));
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
});
|
|
120
|
+
_this.$emit('update:color', _this.currentMode.from((0, _colorUtils.parseHex)(el.value)));
|
|
153
121
|
}
|
|
122
|
+
});
|
|
123
|
+
} else {
|
|
124
|
+
var inputs = this.hideAlpha ? this.currentMode.inputs.slice(0, -1) : this.currentMode.inputs;
|
|
125
|
+
return inputs.map(function (_ref) {
|
|
126
|
+
var _ref2 = _slicedToArray(_ref, 3),
|
|
127
|
+
target = _ref2[0],
|
|
128
|
+
max = _ref2[1],
|
|
129
|
+
type = _ref2[2];
|
|
130
|
+
|
|
131
|
+
var value = _this.color[_this.internalMode];
|
|
132
|
+
return _this.genInput(target, {
|
|
133
|
+
type: 'number',
|
|
134
|
+
min: 0,
|
|
135
|
+
max: max,
|
|
136
|
+
step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,
|
|
137
|
+
disabled: _this.disabled
|
|
138
|
+
}, _this.getValue(value[target], type), {
|
|
139
|
+
input: function input(e) {
|
|
140
|
+
var el = e.target;
|
|
141
|
+
|
|
142
|
+
var newVal = _this.parseValue(el.value || '0', type);
|
|
143
|
+
|
|
144
|
+
_this.$emit('update:color', _this.currentMode.from(Object.assign({}, value, _defineProperty({}, target, newVal)), _this.color.alpha));
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
154
148
|
}
|
|
155
149
|
},
|
|
156
150
|
genSwitch: function genSwitch() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerEdit.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AAGA;;AAGA;;AACA;;;;;;;;;;;;;;AASO,IAAM,KAAK,GAAG;AACnB,EAAA,IAAI,EAAE;AACJ,IAAA,MAAM,EAAE,CACN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CADM,EAEN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CAFM,EAGN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CAHM,EAIN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAJM,CADJ;AAOJ,IAAA,IAAI,EAAE;AAPF,GADa;AAUnB,EAAA,IAAI,EAAE;AACJ,IAAA,MAAM,EAAE,CACN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CADM,EAEN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAFM,EAGN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAHM,EAIN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAJM,CADJ;AAOJ,IAAA,IAAI,EAAE;AAPF,GAVa;AAmBnB,EAAA,IAAI,EAAE;AACJ,IAAA,IAAI,EAAE;AADF;AAnBa,CAAd;;;eAwBQ,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,qBADkB;AAGxB,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,MADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,SAAS,EAAE,OAHN;AAIL,IAAA,cAAc,EAAE,OAJX;AAKL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE,MAFL;AAGJ,MAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,eAAe,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,QAAnB,CAA4B,CAA5B,CAAf;AAAA;AAHP;AALD,GAHiB;AAexB,EAAA,IAfwB,kBAepB;AACF,WAAO;AACL,MAAA,KAAK,EAAL,KADK;AAEL,MAAA,YAAY,EAAE,KAAK;AAFd,KAAP;AAID,GApBuB;AAsBxB,EAAA,QAAQ,EAAE;AACR,IAAA,WADQ,yBACG;AACT,aAAO,KAAK,KAAL,CAAW,KAAK,YAAhB,CAAP;AACD;AAHO,GAtBc;AA4BxB,EAAA,KAAK,EAAE;AACL,IAAA,IADK,gBACC,KADD,EACK;AACR,WAAK,YAAL,GAAoB,KAApB;AACD;AAHI,GA5BiB;AAkCxB,EAAA,OAlCwB,qBAkCjB;AACL,SAAK,YAAL,GAAoB,KAAK,IAAzB;AACD,GApCuB;AAsCxB,EAAA,OAAO,EAAE;AACP,IAAA,QADO,oBACG,CADH,EACW,IADX,EACuB;AAC5B,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,GAAf,IAAsB,GAA7B,CAAtB,KACK,IAAI,IAAI,KAAK,KAAb,EAAoB,OAAO,IAAI,CAAC,KAAL,CAAW,CAAX,CAAP,CAApB,KACA,OAAO,CAAP;AACN,KALM;AAMP,IAAA,UANO,sBAMK,CANL,EAMgB,IANhB,EAM4B;AACjC,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO,UAAU,CAAC,CAAD,CAAjB,CAAtB,KACK,IAAI,IAAI,KAAK,KAAb,EAAoB,OAAO,QAAQ,CAAC,CAAD,EAAI,EAAJ,CAAR,IAAmB,CAA1B,CAApB,KACA,OAAO,CAAP;AACN,KAVM;AAWP,IAAA,UAXO,wBAWG;AACR,UAAM,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,KAAjB,CAAd;AACA,UAAM,KAAK,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,YAAnB,CAAd;AACA,UAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,KAAK,CAAC,MAArB,CAArB;AACA,WAAK,YAAL,GAAoB,OAApB;AACA,WAAK,KAAL,CAAW,aAAX,EAA0B,OAA1B;AACD,KAjBM;AAkBP,IAAA,QAlBO,oBAkBG,MAlBH,EAkBmB,KAlBnB,EAkB+B,KAlB/B,EAkB2C,EAlB3C,EAkBkD;AACvD,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,cAAL,CAAoB,OAApB,EAA6B;AAC3B,QAAA,GAAG,EAAE,MADsB;AAE3B,QAAA,KAAK,EAAL,KAF2B;AAG3B,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAL;AADQ,SAHiB;AAM3B,QAAA,EAAE,EAAF;AAN2B,OAA7B,CADC,EASD,KAAK,cAAL,CAAoB,MAApB,EAA4B,MAAM,CAAC,WAAP,EAA5B,CATC,CAFI,CAAP;AAaD,KAhCM;AAiCP,IAAA,SAjCO,uBAiCE;AAAA;;AACP,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VColorPicker/VColorPickerEdit.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AACA;;AAGA;;AAGA;;AACA;;;;;;;;;;;;;;AASO,IAAM,KAAK,GAAG;AACnB,EAAA,IAAI,EAAE;AACJ,IAAA,MAAM,EAAE,CACN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CADM,EAEN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CAFM,EAGN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CAHM,EAIN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAJM,CADJ;AAOJ,IAAA,IAAI,EAAE;AAPF,GADa;AAUnB,EAAA,IAAI,EAAE;AACJ,IAAA,MAAM,EAAE,CACN,CAAC,GAAD,EAAM,GAAN,EAAW,KAAX,CADM,EAEN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAFM,EAGN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAHM,EAIN,CAAC,GAAD,EAAM,CAAN,EAAS,OAAT,CAJM,CADJ;AAOJ,IAAA,IAAI,EAAE;AAPF,GAVa;AAmBnB,EAAA,IAAI,EAAE;AACJ,IAAA,IAAI,EAAE;AADF;AAnBa,CAAd;;;eAwBQ,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,qBADkB;AAGxB,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,MADF;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,SAAS,EAAE,OAHN;AAIL,IAAA,cAAc,EAAE,OAJX;AAKL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE,MAFL;AAGJ,MAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,eAAe,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,QAAnB,CAA4B,CAA5B,CAAf;AAAA;AAHP;AALD,GAHiB;AAexB,EAAA,IAfwB,kBAepB;AACF,WAAO;AACL,MAAA,KAAK,EAAL,KADK;AAEL,MAAA,YAAY,EAAE,KAAK;AAFd,KAAP;AAID,GApBuB;AAsBxB,EAAA,QAAQ,EAAE;AACR,IAAA,WADQ,yBACG;AACT,aAAO,KAAK,KAAL,CAAW,KAAK,YAAhB,CAAP;AACD;AAHO,GAtBc;AA4BxB,EAAA,KAAK,EAAE;AACL,IAAA,IADK,gBACC,KADD,EACK;AACR,WAAK,YAAL,GAAoB,KAApB;AACD;AAHI,GA5BiB;AAkCxB,EAAA,OAlCwB,qBAkCjB;AACL,SAAK,YAAL,GAAoB,KAAK,IAAzB;AACD,GApCuB;AAsCxB,EAAA,OAAO,EAAE;AACP,IAAA,QADO,oBACG,CADH,EACW,IADX,EACuB;AAC5B,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO,IAAI,CAAC,KAAL,CAAW,CAAC,GAAG,GAAf,IAAsB,GAA7B,CAAtB,KACK,IAAI,IAAI,KAAK,KAAb,EAAoB,OAAO,IAAI,CAAC,KAAL,CAAW,CAAX,CAAP,CAApB,KACA,OAAO,CAAP;AACN,KALM;AAMP,IAAA,UANO,sBAMK,CANL,EAMgB,IANhB,EAM4B;AACjC,UAAI,IAAI,KAAK,OAAb,EAAsB,OAAO,UAAU,CAAC,CAAD,CAAjB,CAAtB,KACK,IAAI,IAAI,KAAK,KAAb,EAAoB,OAAO,QAAQ,CAAC,CAAD,EAAI,EAAJ,CAAR,IAAmB,CAA1B,CAApB,KACA,OAAO,CAAP;AACN,KAVM;AAWP,IAAA,UAXO,wBAWG;AACR,UAAM,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,KAAjB,CAAd;AACA,UAAM,KAAK,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,YAAnB,CAAd;AACA,UAAM,OAAO,GAAG,KAAK,CAAC,CAAC,KAAK,GAAG,CAAT,IAAc,KAAK,CAAC,MAArB,CAArB;AACA,WAAK,YAAL,GAAoB,OAApB;AACA,WAAK,KAAL,CAAW,aAAX,EAA0B,OAA1B;AACD,KAjBM;AAkBP,IAAA,QAlBO,oBAkBG,MAlBH,EAkBmB,KAlBnB,EAkB+B,KAlB/B,EAkB2C,EAlB3C,EAkBkD;AACvD,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,CACD,KAAK,cAAL,CAAoB,OAApB,EAA6B;AAC3B,QAAA,GAAG,EAAE,MADsB;AAE3B,QAAA,KAAK,EAAL,KAF2B;AAG3B,QAAA,QAAQ,EAAE;AACR,UAAA,KAAK,EAAL;AADQ,SAHiB;AAM3B,QAAA,EAAE,EAAF;AAN2B,OAA7B,CADC,EASD,KAAK,cAAL,CAAoB,MAApB,EAA4B,MAAM,CAAC,WAAP,EAA5B,CATC,CAFI,CAAP;AAaD,KAhCM;AAiCP,IAAA,SAjCO,uBAiCE;AAAA;;AACP,UAAI,KAAK,YAAL,KAAsB,MAA1B,EAAkC;AAChC,YAAM,GAAG,GAAG,KAAK,KAAL,CAAW,IAAvB;AACA,YAAM,KAAK,GAAG,KAAK,SAAL,IAAkB,GAAG,CAAC,QAAJ,CAAa,IAAb,CAAlB,GAAuC,GAAG,CAAC,MAAJ,CAAW,CAAX,EAAc,CAAd,CAAvC,GAA0D,GAAxE;AACA,eAAO,KAAK,QAAL,CACL,KADK,EAEL;AACE,UAAA,SAAS,EAAE,KAAK,SAAL,GAAiB,CAAjB,GAAqB,CADlC;AAEE,UAAA,QAAQ,EAAE,KAAK;AAFjB,SAFK,EAML,KANK,EAOL;AACE,UAAA,MAAM,EAAE,gBAAC,CAAD,EAAa;AACnB,gBAAM,EAAE,GAAG,CAAC,CAAC,MAAb;;AACA,YAAA,KAAI,CAAC,KAAL,CAAW,cAAX,EAA2B,KAAI,CAAC,WAAL,CAAiB,IAAjB,CAAsB,0BAAS,EAAE,CAAC,KAAZ,CAAtB,CAA3B;AACD;AAJH,SAPK,CAAP;AAcD,OAjBD,MAiBO;AACL,YAAM,MAAM,GAAG,KAAK,SAAL,GAAiB,KAAK,WAAL,CAAiB,MAAjB,CAAyB,KAAzB,CAA+B,CAA/B,EAAkC,CAAC,CAAnC,CAAjB,GAAyD,KAAK,WAAL,CAAiB,MAAzF;AACA,eAAO,MAAM,CAAC,GAAP,CAAW,gBAAwB;AAAA;AAAA,cAAtB,MAAsB;AAAA,cAAd,GAAc;AAAA,cAAT,IAAS;;AACxC,cAAM,KAAK,GAAG,KAAI,CAAC,KAAL,CAAW,KAAI,CAAC,YAAhB,CAAd;AACA,iBAAO,KAAI,CAAC,QAAL,CACL,MADK,EAEL;AACE,YAAA,IAAI,EAAE,QADR;AAEE,YAAA,GAAG,EAAE,CAFP;AAGE,YAAA,GAAG,EAAH,GAHF;AAIE,YAAA,IAAI,EAAE,IAAI,KAAK,OAAT,GAAmB,MAAnB,GAA4B,IAAI,KAAK,KAAT,GAAiB,GAAjB,GAAuB,SAJ3D;AAKE,YAAA,QAAQ,EAAE,KAAI,CAAC;AALjB,WAFK,EASL,KAAI,CAAC,QAAL,CAAc,KAAK,CAAC,MAAD,CAAnB,EAA6B,IAA7B,CATK,EAUL;AACE,YAAA,KAAK,EAAE,eAAC,CAAD,EAAa;AAClB,kBAAM,EAAE,GAAG,CAAC,CAAC,MAAb;;AACA,kBAAM,MAAM,GAAG,KAAI,CAAC,UAAL,CAAgB,EAAE,CAAC,KAAH,IAAY,GAA5B,EAAiC,IAAjC,CAAf;;AAEA,cAAA,KAAI,CAAC,KAAL,CAAW,cAAX,EAA2B,KAAI,CAAC,WAAL,CAAiB,IAAjB,CACzB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,KAAlB,sBAA4B,MAA5B,EAAqC,MAArC,EADyB,EAEzB,KAAI,CAAC,KAAL,CAAW,KAFc,CAA3B;AAID;AATH,WAVK,CAAP;AAsBD,SAxBM,CAAP;AAyBD;AACF,KA/EM;AAgFP,IAAA,SAhFO,uBAgFE;AACP,aAAO,KAAK,cAAL,CAAoB,aAApB,EAA0B;AAC/B,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,IADF;AAEL,UAAA,IAAI,EAAE,IAFD;AAGL,UAAA,QAAQ,EAAE,KAAK;AAHV,SADwB;AAM/B,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,KAAK;AADV;AAN2B,OAA1B,EASJ,CACD,KAAK,cAAL,CAAoB,cAApB,EAA2B,SAA3B,CADC,CATI,CAAP;AAYD;AA7FM,GAtCe;AAsIxB,EAAA,MAtIwB,kBAsIhB,CAtIgB,EAsIf;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE;AADC,KAAR,EAEL,CACD,KAAK,SAAL,EADC,EAED,CAAC,KAAK,cAAN,IAAwB,KAAK,SAAL,EAFvB,CAFK,CAAR;AAMD;AA7IuB,CAAX,C","sourcesContent":["// Styles\nimport './VColorPickerEdit.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Helpers\nimport { parseHex } from '../../util/colorUtils'\n\n// Types\nimport Vue, { VNode, PropType } from 'vue'\nimport { VColorPickerColor, fromRGBA, fromHexa, fromHSLA } from './util'\n\ntype Input = [string, number, string]\n\nexport type Mode = {\n inputs?: Input[]\n from: Function\n}\n\nexport const modes = {\n rgba: {\n inputs: [\n ['r', 255, 'int'],\n ['g', 255, 'int'],\n ['b', 255, 'int'],\n ['a', 1, 'float'],\n ],\n from: fromRGBA,\n },\n hsla: {\n inputs: [\n ['h', 360, 'int'],\n ['s', 1, 'float'],\n ['l', 1, 'float'],\n ['a', 1, 'float'],\n ],\n from: fromHSLA,\n },\n hexa: {\n from: fromHexa,\n },\n} as { [key: string]: Mode }\n\nexport default Vue.extend({\n name: 'v-color-picker-edit',\n\n props: {\n color: Object as PropType<VColorPickerColor>,\n disabled: Boolean,\n hideAlpha: Boolean,\n hideModeSwitch: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: (v: string) => Object.keys(modes).includes(v),\n },\n },\n\n data () {\n return {\n modes,\n internalMode: this.mode,\n }\n },\n\n computed: {\n currentMode (): Mode {\n return this.modes[this.internalMode]\n },\n },\n\n watch: {\n mode (mode) {\n this.internalMode = mode\n },\n },\n\n created () {\n this.internalMode = this.mode\n },\n\n methods: {\n getValue (v: any, type: string) {\n if (type === 'float') return Math.round(v * 100) / 100\n else if (type === 'int') return Math.round(v)\n else return 0\n },\n parseValue (v: string, type: string) {\n if (type === 'float') return parseFloat(v)\n else if (type === 'int') return parseInt(v, 10) || 0\n else return 0\n },\n changeMode () {\n const modes = Object.keys(this.modes)\n const index = modes.indexOf(this.internalMode)\n const newMode = modes[(index + 1) % modes.length]\n this.internalMode = newMode\n this.$emit('update:mode', newMode)\n },\n genInput (target: string, attrs: any, value: any, on: any): VNode {\n return this.$createElement('div', {\n staticClass: 'v-color-picker__input',\n }, [\n this.$createElement('input', {\n key: target,\n attrs,\n domProps: {\n value,\n },\n on,\n }),\n this.$createElement('span', target.toUpperCase()),\n ])\n },\n genInputs (): VNode[] | VNode {\n if (this.internalMode === 'hexa') {\n const hex = this.color.hexa\n const value = this.hideAlpha && hex.endsWith('FF') ? hex.substr(0, 7) : hex\n return this.genInput(\n 'hex',\n {\n maxlength: this.hideAlpha ? 7 : 9,\n disabled: this.disabled,\n },\n value,\n {\n change: (e: Event) => {\n const el = e.target as HTMLInputElement\n this.$emit('update:color', this.currentMode.from(parseHex(el.value)))\n },\n }\n )\n } else {\n const inputs = this.hideAlpha ? this.currentMode.inputs!.slice(0, -1) : this.currentMode.inputs!\n return inputs.map(([target, max, type]) => {\n const value = this.color[this.internalMode as keyof VColorPickerColor] as any\n return this.genInput(\n target,\n {\n type: 'number',\n min: 0,\n max,\n step: type === 'float' ? '0.01' : type === 'int' ? '1' : undefined,\n disabled: this.disabled,\n },\n this.getValue(value[target], type),\n {\n input: (e: Event) => {\n const el = e.target as HTMLInputElement\n const newVal = this.parseValue(el.value || '0', type)\n\n this.$emit('update:color', this.currentMode.from(\n Object.assign({}, value, { [target]: newVal }),\n this.color.alpha\n ))\n },\n }\n )\n })\n }\n },\n genSwitch (): VNode {\n return this.$createElement(VBtn, {\n props: {\n small: true,\n icon: true,\n disabled: this.disabled,\n },\n on: {\n click: this.changeMode,\n },\n }, [\n this.$createElement(VIcon, '$unfold'),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-color-picker__edit',\n }, [\n this.genInputs(),\n !this.hideModeSwitch && this.genSwitch(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VColorPickerEdit.js"}
|
|
@@ -195,7 +195,7 @@ var _default2 = _vue.default.extend({
|
|
|
195
195
|
return this.isGrouped ? this.groupItems(this.computedItems) : null;
|
|
196
196
|
},
|
|
197
197
|
scopedProps: function scopedProps() {
|
|
198
|
-
|
|
198
|
+
return {
|
|
199
199
|
sort: this.sort,
|
|
200
200
|
sortArray: this.sortArray,
|
|
201
201
|
group: this.group,
|
|
@@ -206,7 +206,6 @@ var _default2 = _vue.default.extend({
|
|
|
206
206
|
groupedItems: this.groupedItems,
|
|
207
207
|
originalItemsLength: this.items.length
|
|
208
208
|
};
|
|
209
|
-
return props;
|
|
210
209
|
},
|
|
211
210
|
computedOptions: function computedOptions() {
|
|
212
211
|
return _objectSpread({}, this.options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;;;;;;;;;;;;;;;;;gBAce,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,QADkB;AAGxB,EAAA,YAAY,EAAE,KAHU;AAKxB,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,KADD;AAEL,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KADF;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO,EAAP;AAAA;AAFF,KALJ;AASL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFH,KATH;AAaL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,KAAV,CADE;AAER,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFD,KAbL;AAiBL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,QADI;AAEV,MAAA,OAAO,EAAE;AAFC,KAjBP;AAqBL,IAAA,QAAQ,EAAE,OArBL;AAsBL,IAAA,SAAS,EAAE,OAtBN;AAuBL,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAvBD;AA2BL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,MADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KA3BT;AA+BL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,KAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFF,KA/BJ;AAmCL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,KAAV,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KAnCN;AAuCL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,QADK;AAEX,MAAA,OAAO,EAAE;AAFE,KAvCR;AA2CL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,MADA;AAEN,MAAA,OAAO,EAAE;AAFH,KA3CH;AA+CL,IAAA,WAAW,EAAE,OA/CR;AAgDL,IAAA,iBAAiB,EAAE,OAhDd;AAiDL,IAAA,gBAAgB,EAAE,OAjDb;AAkDL,IAAA,MAAM,EAAE,MAlDH;AAmDL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,QADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KAnDT;AAuDL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,MADW;AAEjB,MAAA,OAAO,EAAE,CAAC;AAFO;AAvDd,GALiB;AAkExB,EAAA,IAlEwB,kBAkEpB;AACF,QAAI,eAAe,GAAgB;AACjC,MAAA,IAAI,EAAE,KAAK,IADsB;AAEjC,MAAA,YAAY,EAAE,KAAK,YAFc;AAGjC,MAAA,MAAM,EAAE,0BAAY,KAAK,MAAjB,CAHyB;AAIjC,MAAA,QAAQ,EAAE,0BAAY,KAAK,QAAjB,CAJuB;AAKjC,MAAA,OAAO,EAAE,0BAAY,KAAK,OAAjB,CALwB;AAMjC,MAAA,SAAS,EAAE,0BAAY,KAAK,SAAjB,CANsB;AAOjC,MAAA,QAAQ,EAAE,KAAK,QAPkB;AAQjC,MAAA,SAAS,EAAE,KAAK;AARiB,KAAnC;;AAWA,QAAI,KAAK,OAAT,EAAkB;AAChB,MAAA,eAAe,GAAG,MAAM,CAAC,MAAP,CAAc,eAAd,EAA+B,KAAK,OAApC,CAAlB;AACD;;AAdC,2BAgB+C,eAhB/C;AAAA,QAgBM,MAhBN,oBAgBM,MAhBN;AAAA,QAgBc,QAhBd,oBAgBc,QAhBd;AAAA,QAgBwB,OAhBxB,oBAgBwB,OAhBxB;AAAA,QAgBiC,SAhBjC,oBAgBiC,SAhBjC;AAiBF,QAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,GAAgB,QAAQ,CAAC,MAA1C;AACA,QAAM,SAAS,GAAG,OAAO,CAAC,MAAR,GAAiB,SAAS,CAAC,MAA7C;;AAEA,QAAI,QAAQ,GAAG,CAAf,EAAkB;AAAA;;AAChB,+BAAA,eAAe,CAAC,QAAhB,EAAyB,IAAzB,iDAAiC,wBAAU,QAAV,EAAoB,KAApB,CAAjC;AACD;;AAED,QAAI,SAAS,GAAG,CAAhB,EAAmB;AAAA;;AACjB,+BAAA,eAAe,CAAC,SAAhB,EAA0B,IAA1B,iDAAkC,wBAAU,SAAV,EAAqB,KAArB,CAAlC;AACD;;AAED,WAAO;AACL,MAAA,eAAe,EAAf;AADK,KAAP;AAGD,GAjGuB;AAmGxB,EAAA,QAAQ,EAAE;AACR,IAAA,WADQ,yBACG;AACT,aAAO,KAAK,iBAAL,IAA0B,CAA1B,GAA8B,KAAK,iBAAnC,GAAuD,KAAK,aAAL,CAAmB,MAAjF;AACD,KAHO;AAIR,IAAA,SAJQ,uBAIC;AACP,aAAO,KAAK,eAAL,CAAqB,YAArB,IAAqC,CAArC,GACH,CADG,GAEH,IAAI,CAAC,IAAL,CAAU,KAAK,WAAL,GAAmB,KAAK,eAAL,CAAqB,YAAlD,CAFJ;AAGD,KARO;AASR,IAAA,SATQ,uBASC;AACP,UAAI,KAAK,eAAL,CAAqB,YAArB,KAAsC,CAAC,CAAvC,IAA4C,CAAC,KAAK,KAAL,CAAW,MAA5D,EAAoE,OAAO,CAAP;AAEpE,aAAO,CAAC,KAAK,eAAL,CAAqB,IAArB,GAA4B,CAA7B,IAAkC,KAAK,eAAL,CAAqB,YAA9D;AACD,KAbO;AAcR,IAAA,QAdQ,sBAcA;AACN,UAAI,KAAK,eAAL,CAAqB,YAArB,KAAsC,CAAC,CAA3C,EAA8C,OAAO,KAAK,WAAZ;AAC9C,UAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB,OAAO,CAAP;AAExB,aAAO,IAAI,CAAC,GAAL,CAAS,KAAK,WAAd,EAA2B,KAAK,eAAL,CAAqB,IAArB,GAA4B,KAAK,eAAL,CAAqB,YAA5E,CAAP;AACD,KAnBO;AAoBR,IAAA,SApBQ,uBAoBC;AACP,aAAO,CAAC,CAAC,KAAK,eAAL,CAAqB,OAArB,CAA6B,MAAtC;AACD,KAtBO;AAuBR,IAAA,UAvBQ,wBAuBE;AACR,aAAO;AACL,QAAA,IAAI,EAAE,KAAK,eAAL,CAAqB,IADtB;AAEL,QAAA,YAAY,EAAE,KAAK,eAAL,CAAqB,YAF9B;AAGL,QAAA,SAAS,EAAE,KAAK,SAHX;AAIL,QAAA,QAAQ,EAAE,KAAK,QAJV;AAKL,QAAA,SAAS,EAAE,KAAK,SALX;AAML,QAAA,WAAW,EAAE,KAAK;AANb,OAAP;AAQD,KAhCO;AAiCR,IAAA,aAjCQ,2BAiCK;AACX,UAAI,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,EAAZ;;AAEA,UAAI,CAAC,KAAK,gBAAN,IAA0B,KAAK,iBAAL,IAA0B,CAAxD,EAA2D;AACzD,QAAA,KAAK,GAAG,KAAK,YAAL,CAAkB,KAAlB,EAAyB,KAAK,MAA9B,CAAR;AACD;;AAED,aAAO,KAAP;AACD,KAzCO;AA0CR,IAAA,aA1CQ,2BA0CK;AACX,UAAI,KAAK,GAAG,KAAK,aAAL,CAAmB,KAAnB,EAAZ;;AAEA,UAAI,CAAC,KAAK,WAAN,IAAqB,KAAK,iBAAL,IAA0B,CAAnD,EAAsD;AACpD,QAAA,KAAK,GAAG,KAAK,SAAL,CAAe,KAAf,CAAR;AACD;;AAED,UAAI,CAAC,KAAK,iBAAN,IAA2B,KAAK,iBAAL,IAA0B,CAAzD,EAA4D;AAC1D,QAAA,KAAK,GAAG,KAAK,aAAL,CAAmB,KAAnB,CAAR;AACD;;AAED,aAAO,KAAP;AACD,KAtDO;AAuDR,IAAA,YAvDQ,0BAuDI;AACV,aAAO,KAAK,SAAL,GAAiB,KAAK,UAAL,CAAgB,KAAK,aAArB,CAAjB,GAAuD,IAA9D;AACD,KAzDO;AA0DR,IAAA,WA1DQ,yBA0DG;AACT,UAAM,KAAK,GAAG;AACZ,QAAA,IAAI,EAAE,KAAK,IADC;AAEZ,QAAA,SAAS,EAAE,KAAK,SAFJ;AAGZ,QAAA,KAAK,EAAE,KAAK,KAHA;AAIZ,QAAA,KAAK,EAAE,KAAK,aAJA;AAKZ,QAAA,OAAO,EAAE,KAAK,eALF;AAMZ,QAAA,aAAa,EAAE,KAAK,aANR;AAOZ,QAAA,UAAU,EAAE,KAAK,UAPL;AAQZ,QAAA,YAAY,EAAE,KAAK,YARP;AASZ,QAAA,mBAAmB,EAAE,KAAK,KAAL,CAAW;AATpB,OAAd;AAYA,aAAO,KAAP;AACD,KAxEO;AAyER,IAAA,eAzEQ,6BAyEO;AACb,+BAAY,KAAK,OAAjB;AACD;AA3EO,GAnGc;AAiLxB,EAAA,KAAK,EAAE;AACL,IAAA,eAAe,EAAE;AACf,MAAA,OADe,mBACN,OADM,EACgB,GADhB,EACgC;AAC7C,YAAI,wBAAU,OAAV,EAAmB,GAAnB,CAAJ,EAA6B;AAE7B,aAAK,aAAL,CAAmB,OAAnB;AACD,OALc;AAMf,MAAA,IAAI,EAAE,IANS;AAOf,MAAA,SAAS,EAAE;AAPI,KADZ;AAUL,IAAA,eAAe,EAAE;AACf,MAAA,OADe,mBACN,OADM,EACgB,GADhB,EACgC;AAC7C,YAAI,wBAAU,OAAV,EAAmB,GAAnB,CAAJ,EAA6B;AAC7B,aAAK,KAAL,CAAW,gBAAX,EAA6B,OAA7B;AACD,OAJc;AAKf,MAAA,IAAI,EAAE,IALS;AAMf,MAAA,SAAS,EAAE;AANI,KAVZ;AAkBL,IAAA,IAlBK,gBAkBC,KAlBD,EAkBa;AAChB,WAAK,aAAL,CAAmB;AAAE,QAAA,IAAI,EAAJ;AAAF,OAAnB;AACD,KApBI;AAqBL,0BArBK,+BAqBmB,IArBnB,EAqB+B;AAClC,WAAK,KAAL,CAAW,aAAX,EAA0B,IAA1B;AACD,KAvBI;AAwBL,IAAA,YAxBK,wBAwBS,aAxBT,EAwB6B;AAChC,WAAK,aAAL,CAAmB;AAAE,QAAA,YAAY,EAAZ;AAAF,OAAnB;AACD,KA1BI;AA2BL,kCA3BK,uCA2B2B,YA3B3B,EA2B+C;AAClD,WAAK,KAAL,CAAW,uBAAX,EAAoC,YAApC;AACD,KA7BI;AA8BL,IAAA,MA9BK,kBA8BG,OA9BH,EA8B4B;AAC/B,WAAK,aAAL,CAAmB;AAAE,QAAA,MAAM,EAAE,0BAAY,OAAZ;AAAV,OAAnB;AACD,KAhCI;AAiCL,4BAjCK,iCAiCqB,MAjCrB,EAiCuC,GAjCvC,EAiCoD;AACvD,OAAC,wBAAU,MAAV,EAAkB,GAAlB,CAAD,IAA2B,KAAK,KAAL,CAAW,gBAAX,EAA6B,KAAK,CAAC,OAAN,CAAc,KAAK,MAAnB,IAA6B,MAA7B,GAAsC,MAAM,CAAC,CAAD,CAAzE,CAA3B;AACD,KAnCI;AAoCL,IAAA,QApCK,oBAoCK,SApCL,EAoCkC;AACrC,WAAK,aAAL,CAAmB;AAAE,QAAA,QAAQ,EAAE,0BAAY,SAAZ;AAAZ,OAAnB;AACD,KAtCI;AAuCL,8BAvCK,mCAuCuB,QAvCvB,EAuC4C,GAvC5C,EAuC0D;AAC7D,OAAC,wBAAU,QAAV,EAAoB,GAApB,CAAD,IAA6B,KAAK,KAAL,CAAW,kBAAX,EAA+B,KAAK,CAAC,OAAN,CAAc,KAAK,QAAnB,IAA+B,QAA/B,GAA0C,QAAQ,CAAC,CAAD,CAAjF,CAA7B;AACD,KAzCI;AA0CL,IAAA,OA1CK,mBA0CI,QA1CJ,EA0C8B;AACjC,WAAK,aAAL,CAAmB;AAAE,QAAA,OAAO,EAAE,0BAAY,QAAZ;AAAX,OAAnB;AACD,KA5CI;AA6CL,6BA7CK,kCA6CsB,OA7CtB,EA6CyC,GA7CzC,EA6CsD;AACzD,OAAC,wBAAU,OAAV,EAAmB,GAAnB,CAAD,IAA4B,KAAK,KAAL,CAAW,iBAAX,EAA8B,KAAK,CAAC,OAAN,CAAc,KAAK,OAAnB,IAA8B,OAA9B,GAAwC,OAAO,CAAC,CAAD,CAA7E,CAA5B;AACD,KA/CI;AAgDL,IAAA,SAhDK,qBAgDM,UAhDN,EAgDoC;AACvC,WAAK,aAAL,CAAmB;AAAE,QAAA,SAAS,EAAE,0BAAY,UAAZ;AAAb,OAAnB;AACD,KAlDI;AAmDL,+BAnDK,oCAmDwB,SAnDxB,EAmD8C,GAnD9C,EAmD4D;AAC/D,OAAC,wBAAU,SAAV,EAAqB,GAArB,CAAD,IAA8B,KAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,CAAC,OAAN,CAAc,KAAK,SAAnB,IAAgC,SAAhC,GAA4C,SAAS,CAAC,CAAD,CAArF,CAA9B;AACD,KArDI;AAsDL,IAAA,SAtDK,qBAsDM,UAtDN,EAsDwB;AAC3B,WAAK,aAAL,CAAmB;AAAE,QAAA,SAAS,EAAT;AAAF,OAAnB;AACD,KAxDI;AAyDL,+BAzDK,oCAyDwB,SAzDxB,EAyD0C;AAC7C,WAAK,KAAL,CAAW,mBAAX,EAAgC,SAAhC;AACD,KA3DI;AA4DL,IAAA,QA5DK,oBA4DK,SA5DL,EA4DsB;AACzB,WAAK,aAAL,CAAmB;AAAE,QAAA,QAAQ,EAAR;AAAF,OAAnB;AACD,KA9DI;AA+DL,8BA/DK,mCA+DuB,QA/DvB,EA+DwC;AAC3C,WAAK,KAAL,CAAW,kBAAX,EAA+B,QAA/B;AACD,KAjEI;AAkEL,IAAA,SAAS,EAAE;AACT,MAAA,OADS,mBACA,SADA,EACiB;AACxB,aAAK,KAAL,CAAW,YAAX,EAAyB,SAAzB;AACD,OAHQ;AAIT,MAAA,SAAS,EAAE;AAJF,KAlEN;AAwEL,IAAA,aAAa,EAAE;AACb,MAAA,OADa,mBACJ,aADI,EACgB;AAC3B,aAAK,KAAL,CAAW,eAAX,EAA4B,aAA5B;AACD,OAHY;AAIb,MAAA,SAAS,EAAE;AAJE,KAxEV;AA8EL,IAAA,UAAU,EAAE;AACV,MAAA,OADU,mBACD,UADC,EAC2B,GAD3B,EAC8C;AACtD,YAAI,wBAAU,UAAV,EAAsB,GAAtB,CAAJ,EAAgC;AAChC,aAAK,KAAL,CAAW,YAAX,EAAyB,KAAK,UAA9B;AACD,OAJS;AAKV,MAAA,SAAS,EAAE;AALD;AA9EP,GAjLiB;AAwQxB,EAAA,OAAO,EAAE;AACP,IAAA,MADO,kBACC,GADD,EACc,KADd,EAC+B,OAD/B,EACmD,IADnD,EACiE,QADjE,EACoF,SADpF,EACsG;AAC3G,UAAI,EAAE,GAAG,KAAK,CAAC,KAAN,EAAT;AACA,UAAI,IAAI,GAAG,OAAO,CAAC,KAAR,EAAX;AACA,UAAM,OAAO,GAAG,EAAE,CAAC,SAAH,CAAa,UAAC,CAAD;AAAA,eAAe,CAAC,KAAK,GAArB;AAAA,OAAb,CAAhB;;AAEA,UAAI,OAAO,GAAG,CAAd,EAAiB;AACf,YAAI,CAAC,SAAL,EAAgB;AACd,UAAA,EAAE,GAAG,EAAL;AACA,UAAA,IAAI,GAAG,EAAP;AACD;;AAED,QAAA,EAAE,CAAC,IAAH,CAAQ,GAAR;AACA,QAAA,IAAI,CAAC,IAAL,CAAU,KAAV;AACD,OARD,MAQO,IAAI,OAAO,IAAI,CAAX,IAAgB,CAAC,IAAI,CAAC,OAAD,CAAzB,EAAoC;AACzC,QAAA,IAAI,CAAC,OAAD,CAAJ,GAAgB,IAAhB;AACD,OAFM,MAEA,IAAI,CAAC,QAAL,EAAe;AACpB,QAAA,EAAE,CAAC,MAAH,CAAU,OAAV,EAAmB,CAAnB;AACA,QAAA,IAAI,CAAC,MAAL,CAAY,OAAZ,EAAqB,CAArB;AACD,OAHM,MAGA;AACL,QAAA,IAAI,CAAC,OAAD,CAAJ,GAAgB,KAAhB;AACD,OApB0G,CAsB3G;;;AACA,UAAI,CAAC,wBAAU,EAAV,EAAc,KAAd,CAAD,IAAyB,CAAC,wBAAU,IAAV,EAAgB,OAAhB,CAA9B,EAAwD;AACtD,QAAA,IAAI,GAAG,CAAP;AACD;;AAED,aAAO;AAAE,QAAA,EAAE,EAAF,EAAF;AAAM,QAAA,IAAI,EAAJ,IAAN;AAAY,QAAA,IAAI,EAAJ;AAAZ,OAAP;AACD,KA7BM;AA8BP,IAAA,KA9BO,iBA8BA,GA9BA,EA8BW;AAAA,yBAC+B,KAAK,MAAL,CAC7C,GAD6C,EAE7C,KAAK,eAAL,CAAqB,OAFwB,EAG7C,KAAK,eAAL,CAAqB,SAHwB,EAI7C,KAAK,eAAL,CAAqB,IAJwB,EAK7C,IAL6C,EAM7C,KAN6C,CAD/B;AAAA,UACJ,OADI,gBACR,EADQ;AAAA,UACW,SADX,gBACK,IADL;AAAA,UACsB,IADtB,gBACsB,IADtB;;AAShB,WAAK,aAAL,CAAmB;AAAE,QAAA,OAAO,EAAP,OAAF;AAAW,QAAA,SAAS,EAAT,SAAX;AAAsB,QAAA,IAAI,EAAJ;AAAtB,OAAnB;AACD,KAxCM;AAyCP,IAAA,IAzCO,gBAyCD,GAzCC,EAyCqB;AAC1B,UAAI,KAAK,CAAC,OAAN,CAAc,GAAd,CAAJ,EAAwB,OAAO,KAAK,SAAL,CAAe,GAAf,CAAP;;AADE,0BAGmB,KAAK,MAAL,CAC3C,GAD2C,EAE3C,KAAK,eAAL,CAAqB,MAFsB,EAG3C,KAAK,eAAL,CAAqB,QAHsB,EAI3C,KAAK,eAAL,CAAqB,IAJsB,EAK3C,KAAK,eAAL,CAAqB,QALsB,EAM3C,KAAK,eAAL,CAAqB,SANsB,CAHnB;AAAA,UAGd,MAHc,iBAGlB,EAHkB;AAAA,UAGA,QAHA,iBAGN,IAHM;AAAA,UAGU,IAHV,iBAGU,IAHV;;AAW1B,WAAK,aAAL,CAAmB;AAAE,QAAA,MAAM,EAAN,MAAF;AAAU,QAAA,QAAQ,EAAR,QAAV;AAAoB,QAAA,IAAI,EAAJ;AAApB,OAAnB;AACD,KArDM;AAsDP,IAAA,SAtDO,qBAsDI,MAtDJ,EAsDoB;AAAA;;AACzB,UAAM,QAAQ,GAAG,MAAM,CAAC,GAAP,CAAW,UAAA,CAAC,EAAG;AAC9B,YAAM,CAAC,GAAG,KAAI,CAAC,eAAL,CAAqB,MAArB,CAA4B,SAA5B,CAAsC,UAAC,CAAD;AAAA,iBAAe,CAAC,KAAK,CAArB;AAAA,SAAtC,CAAV;;AACA,eAAO,CAAC,GAAG,CAAC,CAAL,GAAS,KAAI,CAAC,eAAL,CAAqB,QAArB,CAA8B,CAA9B,CAAT,GAA4C,KAAnD;AACD,OAHgB,CAAjB;AAKA,WAAK,aAAL,CAAmB;AAAE,QAAA,MAAM,EAAN,MAAF;AAAU,QAAA,QAAQ,EAAR;AAAV,OAAnB;AACD,KA7DM;AA8DP,IAAA,aA9DO,yBA8DQ,OA9DR,EA8DoB;AACzB,WAAK,eAAL,qBACK,KAAK,eADV,MAEK,OAFL;AAGE,QAAA,IAAI,EAAE,KAAK,iBAAL,GAAyB,CAAzB,GACF,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,IAAI,CAAC,GAAL,CAAS,OAAO,CAAC,IAAR,IAAgB,KAAK,eAAL,CAAqB,IAA9C,EAAoD,KAAK,SAAzD,CAAZ,CADE,GAEF,OAAO,CAAC,IAAR,IAAgB,KAAK,eAAL,CAAqB;AAL3C;AAOD,KAtEM;AAuEP,IAAA,SAvEO,qBAuEI,KAvEJ,EAuEgB;AACrB,UAAI,MAAM,GAAG,KAAK,eAAL,CAAqB,MAAlC;AACA,UAAI,QAAQ,GAAG,KAAK,eAAL,CAAqB,QAApC;;AAEA,UAAI,KAAK,eAAL,CAAqB,OAArB,CAA6B,MAAjC,EAAyC;AACvC,QAAA,MAAM,gCAAO,KAAK,eAAL,CAAqB,OAA5B,sBAAwC,MAAxC,EAAN;AACA,QAAA,QAAQ,gCAAO,KAAK,eAAL,CAAqB,SAA5B,sBAA0C,QAA1C,EAAR;AACD;;AAED,aAAO,KAAK,UAAL,CAAgB,KAAhB,EAAuB,MAAvB,EAA+B,QAA/B,EAAyC,KAAK,MAA9C,CAAP;AACD,KAjFM;AAkFP,IAAA,UAlFO,sBAkFK,KAlFL,EAkFiB;AACtB,aAAO,KAAK,WAAL,CAAiB,KAAjB,EAAwB,KAAK,eAAL,CAAqB,OAA7C,EAAsD,KAAK,eAAL,CAAqB,SAA3E,CAAP;AACD,KApFM;AAqFP,IAAA,aArFO,yBAqFQ,KArFR,EAqFoB;AACzB;AACA;AACA,UAAI,KAAK,iBAAL,KAA2B,CAAC,CAA5B,IAAiC,KAAK,CAAC,MAAN,IAAgB,KAAK,SAA1D,EAAqE;AACnE,aAAK,eAAL,CAAqB,IAArB,GAA4B,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAK,eAAL,CAAqB,IAArB,GAA4B,CAAxC,CAA5B;AACD;;AAED,aAAO,KAAK,CAAC,KAAN,CAAY,KAAK,SAAjB,EAA4B,KAAK,QAAjC,CAAP;AACD;AA7FM,GAxQe;AAwWxB,EAAA,MAxWwB,oBAwWlB;AACJ,WAAO,KAAK,YAAL,CAAkB,OAAlB,IAA6B,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,WAA/B,CAApC;AACD;AA1WuB,CAAX,C","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n const props = {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n\n return props\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy = this.internalOptions.sortBy\n let sortDesc = this.internalOptions.sortDesc\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, this.internalOptions.page - 1)\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VData/VData.ts"],"names":[],"mappings":"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","sourcesContent":["// Helpers\nimport { wrapInArray, sortItems, deepEqual, groupItems, searchItems, fillArray } from '../../util/helpers'\nimport Vue, { VNode } from 'vue'\n\n// Types\nimport {\n DataOptions,\n DataPagination,\n DataScopeProps,\n DataSortFunction,\n DataGroupFunction,\n DataSearchFunction,\n ItemGroup,\n} from 'vuetify/types'\nimport { PropValidator } from 'vue/types/options'\n\nexport default Vue.extend({\n name: 'v-data',\n\n inheritAttrs: false,\n\n props: {\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n options: {\n type: Object,\n default: () => ({}),\n } as PropValidator<Partial<DataOptions>>,\n sortBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n sortDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customSort: {\n type: Function,\n default: sortItems,\n } as PropValidator<DataSortFunction>,\n mustSort: Boolean,\n multiSort: Boolean,\n page: {\n type: Number,\n default: 1,\n },\n itemsPerPage: {\n type: Number,\n default: 10,\n },\n groupBy: {\n type: [String, Array],\n default: () => [],\n } as PropValidator<string | string[]>,\n groupDesc: {\n type: [Boolean, Array],\n default: () => [],\n } as PropValidator<boolean | boolean[]>,\n customGroup: {\n type: Function,\n default: groupItems,\n } as PropValidator<DataGroupFunction>,\n locale: {\n type: String,\n default: 'en-US',\n },\n disableSort: Boolean,\n disablePagination: Boolean,\n disableFiltering: Boolean,\n search: String,\n customFilter: {\n type: Function,\n default: searchItems,\n } as PropValidator<DataSearchFunction>,\n serverItemsLength: {\n type: Number,\n default: -1,\n },\n },\n\n data () {\n let internalOptions: DataOptions = {\n page: this.page,\n itemsPerPage: this.itemsPerPage,\n sortBy: wrapInArray(this.sortBy),\n sortDesc: wrapInArray(this.sortDesc),\n groupBy: wrapInArray(this.groupBy),\n groupDesc: wrapInArray(this.groupDesc),\n mustSort: this.mustSort,\n multiSort: this.multiSort,\n }\n\n if (this.options) {\n internalOptions = Object.assign(internalOptions, this.options)\n }\n\n const { sortBy, sortDesc, groupBy, groupDesc } = internalOptions\n const sortDiff = sortBy.length - sortDesc.length\n const groupDiff = groupBy.length - groupDesc.length\n\n if (sortDiff > 0) {\n internalOptions.sortDesc.push(...fillArray(sortDiff, false))\n }\n\n if (groupDiff > 0) {\n internalOptions.groupDesc.push(...fillArray(groupDiff, false))\n }\n\n return {\n internalOptions,\n }\n },\n\n computed: {\n itemsLength (): number {\n return this.serverItemsLength >= 0 ? this.serverItemsLength : this.filteredItems.length\n },\n pageCount (): number {\n return this.internalOptions.itemsPerPage <= 0\n ? 1\n : Math.ceil(this.itemsLength / this.internalOptions.itemsPerPage)\n },\n pageStart (): number {\n if (this.internalOptions.itemsPerPage === -1 || !this.items.length) return 0\n\n return (this.internalOptions.page - 1) * this.internalOptions.itemsPerPage\n },\n pageStop (): number {\n if (this.internalOptions.itemsPerPage === -1) return this.itemsLength\n if (!this.items.length) return 0\n\n return Math.min(this.itemsLength, this.internalOptions.page * this.internalOptions.itemsPerPage)\n },\n isGrouped (): boolean {\n return !!this.internalOptions.groupBy.length\n },\n pagination (): DataPagination {\n return {\n page: this.internalOptions.page,\n itemsPerPage: this.internalOptions.itemsPerPage,\n pageStart: this.pageStart,\n pageStop: this.pageStop,\n pageCount: this.pageCount,\n itemsLength: this.itemsLength,\n }\n },\n filteredItems (): any[] {\n let items = this.items.slice()\n\n if (!this.disableFiltering && this.serverItemsLength <= 0) {\n items = this.customFilter(items, this.search)\n }\n\n return items\n },\n computedItems (): any[] {\n let items = this.filteredItems.slice()\n\n if (!this.disableSort && this.serverItemsLength <= 0) {\n items = this.sortItems(items)\n }\n\n if (!this.disablePagination && this.serverItemsLength <= 0) {\n items = this.paginateItems(items)\n }\n\n return items\n },\n groupedItems (): ItemGroup<any>[] | null {\n return this.isGrouped ? this.groupItems(this.computedItems) : null\n },\n scopedProps (): DataScopeProps {\n return {\n sort: this.sort,\n sortArray: this.sortArray,\n group: this.group,\n items: this.computedItems,\n options: this.internalOptions,\n updateOptions: this.updateOptions,\n pagination: this.pagination,\n groupedItems: this.groupedItems,\n originalItemsLength: this.items.length,\n }\n },\n computedOptions (): DataOptions {\n return { ...this.options } as DataOptions\n },\n },\n\n watch: {\n computedOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n\n this.updateOptions(options)\n },\n deep: true,\n immediate: true,\n },\n internalOptions: {\n handler (options: DataOptions, old: DataOptions) {\n if (deepEqual(options, old)) return\n this.$emit('update:options', options)\n },\n deep: true,\n immediate: true,\n },\n page (page: number) {\n this.updateOptions({ page })\n },\n 'internalOptions.page' (page: number) {\n this.$emit('update:page', page)\n },\n itemsPerPage (itemsPerPage: number) {\n this.updateOptions({ itemsPerPage })\n },\n 'internalOptions.itemsPerPage' (itemsPerPage: number) {\n this.$emit('update:items-per-page', itemsPerPage)\n },\n sortBy (sortBy: string | string[]) {\n this.updateOptions({ sortBy: wrapInArray(sortBy) })\n },\n 'internalOptions.sortBy' (sortBy: string[], old: string[]) {\n !deepEqual(sortBy, old) && this.$emit('update:sort-by', Array.isArray(this.sortBy) ? sortBy : sortBy[0])\n },\n sortDesc (sortDesc: boolean | boolean[]) {\n this.updateOptions({ sortDesc: wrapInArray(sortDesc) })\n },\n 'internalOptions.sortDesc' (sortDesc: boolean[], old: boolean[]) {\n !deepEqual(sortDesc, old) && this.$emit('update:sort-desc', Array.isArray(this.sortDesc) ? sortDesc : sortDesc[0])\n },\n groupBy (groupBy: string | string[]) {\n this.updateOptions({ groupBy: wrapInArray(groupBy) })\n },\n 'internalOptions.groupBy' (groupBy: string[], old: string[]) {\n !deepEqual(groupBy, old) && this.$emit('update:group-by', Array.isArray(this.groupBy) ? groupBy : groupBy[0])\n },\n groupDesc (groupDesc: boolean | boolean[]) {\n this.updateOptions({ groupDesc: wrapInArray(groupDesc) })\n },\n 'internalOptions.groupDesc' (groupDesc: boolean[], old: boolean[]) {\n !deepEqual(groupDesc, old) && this.$emit('update:group-desc', Array.isArray(this.groupDesc) ? groupDesc : groupDesc[0])\n },\n multiSort (multiSort: boolean) {\n this.updateOptions({ multiSort })\n },\n 'internalOptions.multiSort' (multiSort: boolean) {\n this.$emit('update:multi-sort', multiSort)\n },\n mustSort (mustSort: boolean) {\n this.updateOptions({ mustSort })\n },\n 'internalOptions.mustSort' (mustSort: boolean) {\n this.$emit('update:must-sort', mustSort)\n },\n pageCount: {\n handler (pageCount: number) {\n this.$emit('page-count', pageCount)\n },\n immediate: true,\n },\n computedItems: {\n handler (computedItems: any[]) {\n this.$emit('current-items', computedItems)\n },\n immediate: true,\n },\n pagination: {\n handler (pagination: DataPagination, old: DataPagination) {\n if (deepEqual(pagination, old)) return\n this.$emit('pagination', this.pagination)\n },\n immediate: true,\n },\n },\n\n methods: {\n toggle (key: string, oldBy: string[], oldDesc: boolean[], page: number, mustSort: boolean, multiSort: boolean) {\n let by = oldBy.slice()\n let desc = oldDesc.slice()\n const byIndex = by.findIndex((k: string) => k === key)\n\n if (byIndex < 0) {\n if (!multiSort) {\n by = []\n desc = []\n }\n\n by.push(key)\n desc.push(false)\n } else if (byIndex >= 0 && !desc[byIndex]) {\n desc[byIndex] = true\n } else if (!mustSort) {\n by.splice(byIndex, 1)\n desc.splice(byIndex, 1)\n } else {\n desc[byIndex] = false\n }\n\n // Reset page to 1 if sortBy or sortDesc have changed\n if (!deepEqual(by, oldBy) || !deepEqual(desc, oldDesc)) {\n page = 1\n }\n\n return { by, desc, page }\n },\n group (key: string): void {\n const { by: groupBy, desc: groupDesc, page } = this.toggle(\n key,\n this.internalOptions.groupBy,\n this.internalOptions.groupDesc,\n this.internalOptions.page,\n true,\n false\n )\n this.updateOptions({ groupBy, groupDesc, page })\n },\n sort (key: string | string[]): void {\n if (Array.isArray(key)) return this.sortArray(key)\n\n const { by: sortBy, desc: sortDesc, page } = this.toggle(\n key,\n this.internalOptions.sortBy,\n this.internalOptions.sortDesc,\n this.internalOptions.page,\n this.internalOptions.mustSort,\n this.internalOptions.multiSort\n )\n this.updateOptions({ sortBy, sortDesc, page })\n },\n sortArray (sortBy: string[]) {\n const sortDesc = sortBy.map(s => {\n const i = this.internalOptions.sortBy.findIndex((k: string) => k === s)\n return i > -1 ? this.internalOptions.sortDesc[i] : false\n })\n\n this.updateOptions({ sortBy, sortDesc })\n },\n updateOptions (options: any) {\n this.internalOptions = {\n ...this.internalOptions,\n ...options,\n page: this.serverItemsLength < 0\n ? Math.max(1, Math.min(options.page || this.internalOptions.page, this.pageCount))\n : options.page || this.internalOptions.page,\n }\n },\n sortItems (items: any[]): any[] {\n let sortBy = this.internalOptions.sortBy\n let sortDesc = this.internalOptions.sortDesc\n\n if (this.internalOptions.groupBy.length) {\n sortBy = [...this.internalOptions.groupBy, ...sortBy]\n sortDesc = [...this.internalOptions.groupDesc, ...sortDesc]\n }\n\n return this.customSort(items, sortBy, sortDesc, this.locale)\n },\n groupItems (items: any[]): ItemGroup<any>[] {\n return this.customGroup(items, this.internalOptions.groupBy, this.internalOptions.groupDesc)\n },\n paginateItems (items: any[]): any[] {\n // Make sure we don't try to display non-existant page if items suddenly change\n // TODO: Could possibly move this to pageStart/pageStop?\n if (this.serverItemsLength === -1 && items.length <= this.pageStart) {\n this.internalOptions.page = Math.max(1, this.internalOptions.page - 1)\n }\n\n return items.slice(this.pageStart, this.pageStop)\n },\n },\n\n render (): VNode {\n return this.$scopedSlots.default && this.$scopedSlots.default(this.scopedProps) as any\n },\n})\n"],"sourceRoot":"","file":"VData.js"}
|
|
@@ -254,7 +254,7 @@ var _default2 = (0, _mixins.default)(_mobile.default, _themeable.default).extend
|
|
|
254
254
|
},
|
|
255
255
|
genEmpty: function genEmpty(originalItemsLength, filteredItemsLength) {
|
|
256
256
|
if (originalItemsLength === 0 && this.loading) {
|
|
257
|
-
var loading = this.$slots
|
|
257
|
+
var loading = this.$slots.loading || this.$vuetify.lang.t(this.loadingText);
|
|
258
258
|
return this.genEmptyWrapper(loading);
|
|
259
259
|
} else if (originalItemsLength === 0) {
|
|
260
260
|
var noData = this.$slots['no-data'] || this.$vuetify.lang.t(this.noDataText);
|