@dimailn/vuetify 2.7.2-alpha51 → 2.7.2-alpha53

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString\n} from './util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\nimport { h } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null\n } as unknown as PropType<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n } as unknown as PropType<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next'\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel'\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel'\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev'\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel'\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel'\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected'\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type) // TODO: year\n } as unknown as PropType<DatePickerType>,\n modelValue: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String\n },\n\n emits: [\n 'update:modelValue',\n 'change',\n 'update:active-picker',\n 'update:picker-date'\n ],\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.modelValue)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })()\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.modelValue)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.modelValue as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.modelValue || this.type === 'month') {\n return this.modelValue\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.modelValue as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type]\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n }\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n }\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n modelValue (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.modelValue && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.modelValue && this.modelValue.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('update:modelValue', this.isMultiple ? output : output[0])\n }\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n save () {\n // Метод для совместимости с Picker mixin\n // В VDatePicker нет необходимости в отдельном сохранении\n },\n cancel () {\n // Метод для совместимости с Picker mixin\n // В VDatePicker нет необходимости в отдельной отмене\n },\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('update:modelValue', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('update:modelValue', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('update:modelValue', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.modelValue == null) return\n const valueType = this.modelValue.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('update:modelValue', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('update:modelValue', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n const dateValue = this.modelValue ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.modelValue) : ''\n return h(VDatePickerTitle, {\n date: dateValue,\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n modelValue: this.multipleValue.length ? this.multipleValue[0] : undefined,\n 'onUpdate:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase()\n })\n },\n genTableHeader (): VNode {\n return h(VDatePickerHeader, {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n modelValue: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n onToggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n 'onUpdate:modelValue': (value: string) => this.tableDate = value\n })\n },\n genDateTable (): VNode {\n return h(VDatePickerDateTable, {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n modelValue: this.modelValue,\n weekdayFormat: this.weekdayFormat,\n ref: 'table',\n 'onUpdate:modelValue': this.dateClick,\n 'onUpdate:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, 'Date')\n })\n },\n genMonthTable (): VNode {\n return h(VDatePickerMonthTable, {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n modelValue: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n ref: 'table',\n 'onUpdate:modelValue': this.monthClick,\n 'onUpdate:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, 'Month')\n })\n },\n genYears (): VNode {\n return h(VDatePickerYears, {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n modelValue: this.tableYear,\n 'onUpdate:modelValue': this.yearClick,\n ...createItemTypeListeners(this, 'Year')\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR'\n ? [\n this.genYears()\n ]\n : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable()\n ]\n\n return h('div', {\n key: this.internalActivePicker\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n }\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n }\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn, breaking } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString\n} from './util'\n\n// Types\nimport type { PropType, VNode } from 'vue'\nimport { h } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null\n } as unknown as PropType<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning'\n } as unknown as PropType<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next'\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel'\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel'\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev'\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel'\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel'\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected'\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type) // TODO: year\n } as unknown as PropType<DatePickerType>,\n modelValue: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String\n },\n\n emits: [\n 'update:modelValue',\n 'change',\n 'update:active-picker',\n 'update:picker-date'\n ],\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.modelValue)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })()\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.modelValue)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.modelValue as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.modelValue || this.type === 'month') {\n return this.modelValue\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.modelValue as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' }\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type]\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n }\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n }\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n modelValue (newValue: DatePickerValue, oldValue: DatePickerValue) {\n const oldMultipleValue = wrapInArray(oldValue)\n const oldLastValue = oldMultipleValue[oldMultipleValue.length - 1]\n\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.modelValue && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate) ||\n (this.isMultiple && this.lastValue !== oldLastValue && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.modelValue && this.modelValue.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('update:modelValue', this.isMultiple ? output : output[0])\n }\n }\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue']\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n save () {\n // Метод для совместимости с Picker mixin\n // В VDatePicker нет необходимости в отдельном сохранении\n },\n cancel () {\n // Метод для совместимости с Picker mixin\n // В VDatePicker нет необходимости в отдельной отмене\n },\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('update:modelValue', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('update:modelValue', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('update:modelValue', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.modelValue == null) return\n const valueType = this.modelValue.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('update:modelValue', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('update:modelValue', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n const dateValue = this.modelValue ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.modelValue) : ''\n return h(VDatePickerTitle, {\n date: dateValue,\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n modelValue: this.multipleValue.length ? this.multipleValue[0] : undefined,\n 'onUpdate:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase()\n })\n },\n genTableHeader (): VNode {\n return h(VDatePickerHeader, {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n modelValue: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n onToggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n 'onUpdate:modelValue': (value: string) => this.tableDate = value\n })\n },\n genDateTable (): VNode {\n return h(VDatePickerDateTable, {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n modelValue: this.modelValue,\n weekdayFormat: this.weekdayFormat,\n ref: 'table',\n 'onUpdate:modelValue': this.dateClick,\n 'onUpdate:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, 'Date')\n })\n },\n genMonthTable (): VNode {\n return h(VDatePickerMonthTable, {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n modelValue: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n ref: 'table',\n 'onUpdate:modelValue': this.monthClick,\n 'onUpdate:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, 'Month')\n })\n },\n genYears (): VNode {\n return h(VDatePickerYears, {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n modelValue: this.tableYear,\n 'onUpdate:modelValue': this.yearClick,\n ...createItemTypeListeners(this, 'Year')\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR'\n ? [\n this.genYears()\n ]\n : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable()\n ]\n\n return h('div', {\n key: this.internalActivePicker\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n }\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n }\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha51";
49
+ Vuetify.version = "2.7.2-alpha53";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -101,8 +101,8 @@ export default defineComponent({
101
101
  let exactActiveClass = this.exactActiveClass || activeClass;
102
102
 
103
103
  if (this.proxyClass) {
104
- activeClass = `${activeClass} ${this.proxyClass}`.trim();
105
- exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim();
104
+ activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ');
105
+ exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ');
106
106
  }
107
107
 
108
108
  tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link');
@@ -135,7 +135,9 @@ export default defineComponent({
135
135
  const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
136
136
  this.$nextTick(() => {
137
137
  /* istanbul ignore else */
138
- if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {
138
+ const isLinkActive = Boolean(getObjectValueByPath(this.$refs.link, path));
139
+
140
+ if (isLinkActive !== this.isActive) {
139
141
  this.toggle();
140
142
  }
141
143
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { VNodeData } from '../../types/vue-internal'\nimport type { PropType } from 'vue'\nimport { defineComponent, resolveComponent } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default defineComponent({\n name: 'routable',\n\n directives: {\n Ripple\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null\n },\n tag: String,\n target: String,\n notALink: Boolean\n },\n\n data: () => ({\n isActive: false,\n proxyClass: ''\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n const activeClass = this.activeClass || ('$activeClass' in this ? this.$activeClass : undefined)\n // const activeClass = this.activeClass || this.$activeClass\n\n if (activeClass) classes[activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.notALink) return false\n\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$attrs.onClick ||\n this.$attrs['on!click'] ||\n this.$attrs.tabindex ||\n this.$props?.onClick\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({})\n },\n\n watch: {\n $route: 'onRouteChange'\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const directives = [[\n Ripple,\n this.computedRipple\n ]]\n\n const data: VNodeData = {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n class: this.classes,\n style: this.styles,\n ...this.$listeners,\n ...('click' in this ? { onClick: (this as any).click } : undefined), // #14447\n ref: 'link'\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = [activeClass, this.proxyClass].filter(Boolean).join(' ')\n exactActiveClass = [exactActiveClass, this.proxyClass].filter(Boolean).join(' ')\n }\n\n tag = resolveComponent(this.nuxt ? 'nuxt-link' : 'router-link')\n Object.assign(data, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.href = this.href\n }\n\n if (this.target) data.target = this.target\n\n return { tag, data, directives }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n const isLinkActive = Boolean(getObjectValueByPath(this.$refs.link, path))\n if (isLinkActive !== this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n }\n }\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -435,7 +435,10 @@ export function camelizeObjectKeys(obj) {
435
435
  }, {});
436
436
  }
437
437
  export function mergeDeep(source = {}, target = {}) {
438
+ const blockedKeys = ['__proto__', 'constructor', 'prototype'];
439
+
438
440
  for (const key in target) {
441
+ if (blockedKeys.includes(key)) continue;
439
442
  const sourceProperty = source[key];
440
443
  const targetProperty = target[key]; // Only continue deep merging if
441
444
  // both properties are objects
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent, h, resolveComponent, Comment } from 'vue'\nimport type { VNode, VNodeDirective } from '../types/vue-internal'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\n/** Резолвит пропс tag как компонент, если это строка с составным именем (например v-card или VCard) */\nexport const getTagValue = (tag: string) => (\n tag.includes('-') || /^[A-Z]/.test(tag)\n ? resolveComponent(tag)\n : tag\n)\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return defineComponent({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el\n }\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n data.class = (`${c} ${data.class || ''}`).trim()\n\n return h(getTagValue(this.tag), data, this.$slots.default?.())\n }\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {})\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n }\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj !== null && typeof obj === 'object' && !Array.isArray(obj) && path in obj && obj[path] !== undefined) {\n return obj[path]\n }\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName\n }\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: []\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/** Только функции слотов для третьего аргумента h(Компонент) во Vue 3 (иначе warn «Non-function value…»). */\nexport function pickSlotFunctions (slots: Record<string, any> | undefined): Record<string, (...args: any[]) => any> {\n if (!slots) return {}\n const out: Record<string, (...args: any[]) => any> = {}\n for (const key of Object.keys(slots)) {\n const fn = slots[key]\n if (typeof fn === 'function') out[key] = fn\n }\n return out\n}\n\n/**\n * Возвращает тип слота:\n * - `normal` — старый стиль `<template slot=\"default\">`\n * - `scoped` — старый scoped (`slot-scope`) или привязанный v-slot (`#default=\"data\"`)\n * - `v-slot` — непривязанный v-slot (`#default`), только при `split === true`, иначе считается scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots.hasOwnProperty(name) && (vm.$slots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$slots.hasOwnProperty(kebabCase(name))) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n const kebabName = kebabCase(name)\n // Vue 3: $slots может быть прокси; hasOwnProperty('default') часто ложен — слот есть, контент теряется\n const slot = (vm.$slots as any)[name] ?? (vm.$slots as any)[kebabName]\n if (slot != null) {\n return slot(data instanceof Function ? data() : data)\n }\n return undefined\n}\n\nexport function flattenSlotContent (content: VNode | VNode[] | null | undefined): VNode[] {\n if (content == null) return []\n\n const items = Array.isArray(content) ? content : [content]\n\n return items.flatMap(item => {\n if (item == null || item.type === Comment) return []\n if (Array.isArray(item)) return flattenSlotContent(item)\n return [item]\n })\n}\n\nexport function hasSlotContent (content: VNode | VNode[] | null | undefined): boolean {\n return flattenSlotContent(content).length > 0\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n\nexport function normalizeAttrs (attrs) {\n const keys = Object.keys(attrs).sort()\n\n const obj = {}\n\n for (let i = 0; i < keys.length; i++) {\n obj[keys[i]] = attrs[keys[i]]\n }\n\n return obj\n}\n\n/**\n * Нормализует классы из различных форматов в объект\n * @param classes - классы в виде строки, объекта или массива\n * @returns объект с нормализованными классами\n */\nexport function normalizeClasses (\n classes: string | Record<string, any> | Array<string | Record<string, any>> | undefined\n): Record<string, any> {\n if (!classes) return {}\n\n if (typeof classes === 'object' && !Array.isArray(classes)) {\n return classes\n }\n\n if (typeof classes === 'string') {\n const trimmed = classes.trim()\n if (!trimmed) return {}\n\n return trimmed.split(/\\s+/).reduce((acc, cls) => {\n acc[cls] = true\n return acc\n }, {} as Record<string, any>)\n }\n\n if (Array.isArray(classes)) {\n return classes.reduce<Record<string, any>>((acc, cls) => {\n if (typeof cls === 'string') {\n const trimmed = cls.trim()\n if (trimmed) {\n trimmed.split(/\\s+/).forEach(className => {\n acc[className] = true\n })\n }\n } else if (cls && typeof cls === 'object') {\n Object.assign(acc, cls as Record<string, any>)\n }\n return acc\n }, {})\n }\n\n return {}\n}\n"],"sourceRoot":"","file":"helpers.js"}
1
+ {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent, h, resolveComponent, Comment } from 'vue'\nimport type { VNode, VNodeDirective } from '../types/vue-internal'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\n/** Резолвит пропс tag как компонент, если это строка с составным именем (например v-card или VCard) */\nexport const getTagValue = (tag: string) => (\n tag.includes('-') || /^[A-Z]/.test(tag)\n ? resolveComponent(tag)\n : tag\n)\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return defineComponent({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el\n }\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n data.class = (`${c} ${data.class || ''}`).trim()\n\n return h(getTagValue(this.tag), data, this.$slots.default?.())\n }\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {})\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n }\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj !== null && typeof obj === 'object' && !Array.isArray(obj) && path in obj && obj[path] !== undefined) {\n return obj[path]\n }\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName\n }\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: []\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/** Только функции слотов для третьего аргумента h(Компонент) во Vue 3 (иначе warn «Non-function value…»). */\nexport function pickSlotFunctions (slots: Record<string, any> | undefined): Record<string, (...args: any[]) => any> {\n if (!slots) return {}\n const out: Record<string, (...args: any[]) => any> = {}\n for (const key of Object.keys(slots)) {\n const fn = slots[key]\n if (typeof fn === 'function') out[key] = fn\n }\n return out\n}\n\n/**\n * Возвращает тип слота:\n * - `normal` — старый стиль `<template slot=\"default\">`\n * - `scoped` — старый scoped (`slot-scope`) или привязанный v-slot (`#default=\"data\"`)\n * - `v-slot` — непривязанный v-slot (`#default`), только при `split === true`, иначе считается scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots.hasOwnProperty(name) && (vm.$slots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$slots.hasOwnProperty(kebabCase(name))) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n const kebabName = kebabCase(name)\n // Vue 3: $slots может быть прокси; hasOwnProperty('default') часто ложен — слот есть, контент теряется\n const slot = (vm.$slots as any)[name] ?? (vm.$slots as any)[kebabName]\n if (slot != null) {\n return slot(data instanceof Function ? data() : data)\n }\n return undefined\n}\n\nexport function flattenSlotContent (content: VNode | VNode[] | null | undefined): VNode[] {\n if (content == null) return []\n\n const items = Array.isArray(content) ? content : [content]\n\n return items.flatMap(item => {\n if (item == null || item.type === Comment) return []\n if (Array.isArray(item)) return flattenSlotContent(item)\n return [item]\n })\n}\n\nexport function hasSlotContent (content: VNode | VNode[] | null | undefined): boolean {\n return flattenSlotContent(content).length > 0\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n const blockedKeys = ['__proto__', 'constructor', 'prototype']\n\n for (const key in target) {\n if (blockedKeys.includes(key)) continue\n\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n\nexport function normalizeAttrs (attrs) {\n const keys = Object.keys(attrs).sort()\n\n const obj = {}\n\n for (let i = 0; i < keys.length; i++) {\n obj[keys[i]] = attrs[keys[i]]\n }\n\n return obj\n}\n\n/**\n * Нормализует классы из различных форматов в объект\n * @param classes - классы в виде строки, объекта или массива\n * @returns объект с нормализованными классами\n */\nexport function normalizeClasses (\n classes: string | Record<string, any> | Array<string | Record<string, any>> | undefined\n): Record<string, any> {\n if (!classes) return {}\n\n if (typeof classes === 'object' && !Array.isArray(classes)) {\n return classes\n }\n\n if (typeof classes === 'string') {\n const trimmed = classes.trim()\n if (!trimmed) return {}\n\n return trimmed.split(/\\s+/).reduce((acc, cls) => {\n acc[cls] = true\n return acc\n }, {} as Record<string, any>)\n }\n\n if (Array.isArray(classes)) {\n return classes.reduce<Record<string, any>>((acc, cls) => {\n if (typeof cls === 'string') {\n const trimmed = cls.trim()\n if (trimmed) {\n trimmed.split(/\\s+/).forEach(className => {\n acc[className] = true\n })\n }\n } else if (cls && typeof cls === 'object') {\n Object.assign(acc, cls as Record<string, any>)\n }\n return acc\n }, {})\n }\n\n return {}\n}\n"],"sourceRoot":"","file":"helpers.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha51",
4
+ "version": "2.7.2-alpha53",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -277,12 +277,16 @@ export default mixins(
277
277
  }
278
278
  },
279
279
  modelValue (newValue: DatePickerValue, oldValue: DatePickerValue) {
280
+ const oldMultipleValue = wrapInArray(oldValue)
281
+ const oldLastValue = oldMultipleValue[oldMultipleValue.length - 1]
282
+
280
283
  this.checkMultipleProp()
281
284
  this.setInputDate()
282
285
 
283
286
  if (
284
287
  (!this.isMultiple && this.modelValue && !this.pickerDate) ||
285
- (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)
288
+ (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate) ||
289
+ (this.isMultiple && this.lastValue !== oldLastValue && !this.pickerDate)
286
290
  ) {
287
291
  this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')
288
292
  }
@@ -724,6 +724,34 @@ describe('VDatePicker.ts', () => { // eslint-disable-line max-statements
724
724
  }
725
725
  })
726
726
 
727
+ it('should update tableDate to last range date month when range end is selected', async () => {
728
+ const wrapper = mountFunction({
729
+ props: {
730
+ range: true,
731
+ modelValue: ['2026-04-29']
732
+ }
733
+ })
734
+
735
+ expect(wrapper.vm.tableDate).toBe('2026-04')
736
+
737
+ await wrapper.setProps({
738
+ modelValue: ['2026-04-29', '2026-05-28']
739
+ })
740
+
741
+ expect(wrapper.vm.tableDate).toBe('2026-05')
742
+ })
743
+
744
+ it('should initialize tableDate from last selected range date', () => {
745
+ const wrapper = mountFunction({
746
+ props: {
747
+ range: true,
748
+ modelValue: ['2026-04-29', '2026-05-28']
749
+ }
750
+ })
751
+
752
+ expect(wrapper.vm.tableDate).toBe('2026-05')
753
+ })
754
+
727
755
  it('should add class for the first and last days in range', async () => {
728
756
  const wrapper = mountFunction({
729
757
  props: {