vuetify 2.6.6 → 2.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/web-types.json +21 -7
- package/dist/vuetify.css +50 -69
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +442 -327
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +3 -3
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +2 -2
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js +3 -0
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +15 -3
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -5
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/mouse.js +18 -26
- package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +2 -1
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +5 -5
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +2 -2
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +5 -2
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataTable/Row.js +2 -2
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +54 -43
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +4 -3
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +2 -1
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +20 -17
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +4 -2
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +5 -3
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +2 -2
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +33 -64
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +1 -1
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +3 -1
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +4 -3
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +10 -6
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +2 -1
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +43 -23
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +8 -11
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +2 -1
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +10 -0
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +5 -5
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +2 -2
- package/es5/components/VTextarea/VTextarea.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +5 -4
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +2 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +5 -6
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/directives/click-outside/index.js +2 -2
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +5 -5
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +2 -2
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +2 -2
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +2 -2
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/activatable/index.js +1 -3
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/dependent/index.js.map +1 -1
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +1 -1
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +2 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/util/helpers.js +1 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +2 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js +3 -0
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +15 -3
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -4
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.js +11 -32
- package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +2 -1
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -2
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +2 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +5 -2
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataTable/Row.js +2 -2
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +15 -5
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +2 -2
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +18 -14
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +2 -2
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +5 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +32 -61
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +1 -1
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +3 -1
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +10 -6
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +2 -1
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +23 -7
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +6 -11
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +2 -1
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +10 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -5
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +2 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +5 -4
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +2 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/click-outside/index.js +2 -2
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +4 -4
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +2 -2
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +2 -2
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +2 -2
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/activatable/index.js +1 -3
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/dependent/index.js.map +1 -1
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +1 -1
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +4 -3
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +3 -2
- package/src/components/VAutocomplete/VAutocomplete.sass +0 -4
- package/src/components/VBtn/VBtn.sass +1 -1
- package/src/components/VCalendar/VCalendar.ts +3 -0
- package/src/components/VCalendar/VCalendarWeekly.ts +12 -0
- package/src/components/VCalendar/__tests__/__snapshots__/VCalendar.spec.ts.snap +165 -55
- package/src/components/VCalendar/mixins/__tests__/mouse.spec.ts +2 -2
- package/src/components/VCalendar/mixins/mouse.ts +8 -9
- package/src/components/VCarousel/VCarousel.ts +1 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -2
- package/src/components/VChip/VChip.sass +1 -1
- package/src/components/VDataTable/VDataTable.ts +4 -1
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +14 -14
- package/src/components/VDatePicker/VDatePicker.ts +1 -1
- package/src/components/VDialog/VDialog.sass +1 -1
- package/src/components/VDialog/VDialog.ts +9 -6
- package/src/components/VDialog/__tests__/VDialog.spec.ts +5 -5
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +4 -16
- package/src/components/VExpansionPanel/VExpansionPanel.sass +2 -2
- package/src/components/VInput/VInput.sass +3 -6
- package/src/components/VItemGroup/VItemGroup.ts +2 -2
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +29 -0
- package/src/components/VList/VListItem.ts +5 -3
- package/src/components/VList/__tests__/VListItem.spec.ts +12 -0
- package/src/components/VOtpInput/VOtpInput.ts +23 -43
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +3 -27
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +14 -10
- package/src/components/VPagination/VPagination.ts +1 -1
- package/src/components/VRadioGroup/VRadio.sass +0 -4
- package/src/components/VRadioGroup/VRadio.ts +1 -0
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +2 -2
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.sass +3 -1
- package/src/components/VSelect/VSelect.ts +2 -2
- package/src/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/src/components/VSlideGroup/VSlideGroup.ts +21 -9
- package/src/components/VSlider/VSlider.ts +1 -7
- package/src/components/VSlider/__tests__/VSlider.spec.ts +3 -2
- package/src/components/VSwitch/VSwitch.sass +3 -2
- package/src/components/VTabs/VTabs.ts +10 -0
- package/src/components/VTimePicker/VTimePicker.ts +1 -1
- package/src/components/VTimeline/VTimeline.sass +16 -9
- package/src/components/VTimeline/_mixins.sass +4 -3
- package/src/globals.d.ts +6 -6
- package/src/mixins/applicationable/__tests__/applicationable.spec.ts +1 -1
- package/src/mixins/binds-attrs/index.ts +2 -2
- package/src/mixins/dependent/index.ts +3 -3
- package/src/mixins/detachable/index.ts +3 -3
- package/src/mixins/overlayable/index.ts +7 -7
- package/src/styles/components/_selection-controls.sass +3 -0
- package/src/util/helpers.ts +2 -2
- package/es5/util/component.js +0 -11
- package/es5/util/component.js.map +0 -1
- package/lib/util/component.js +0 -4
- package/lib/util/component.js.map +0 -1
- package/src/util/component.ts +0 -21
|
@@ -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 } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } 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 PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<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 PropValidator<DatePickerType>,\n value: [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 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.value)\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.value)\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.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value 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 }\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 value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !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.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\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 emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', 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('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.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('input', 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('input', 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 return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\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 value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\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 value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\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 value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\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 value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('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 } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } 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 PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<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 PropValidator<DatePickerType>,\n value: [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 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.value)\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.value)\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.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value 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 value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !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.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\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 emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', 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('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.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('input', 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('input', 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 return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\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 value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\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 value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\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 value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\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 value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('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"}
|
|
@@ -107,15 +107,15 @@ var _default = baseMixins.extend({
|
|
|
107
107
|
},
|
|
108
108
|
watch: {
|
|
109
109
|
isActive: function isActive(val) {
|
|
110
|
+
var _a;
|
|
111
|
+
|
|
110
112
|
if (val) {
|
|
111
113
|
this.show();
|
|
112
114
|
this.hideScroll();
|
|
113
115
|
} else {
|
|
114
|
-
var _this$previousActiveE;
|
|
115
|
-
|
|
116
116
|
this.removeOverlay();
|
|
117
117
|
this.unbind();
|
|
118
|
-
(
|
|
118
|
+
(_a = this.previousActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
121
|
fullscreen: function fullscreen(val) {
|
|
@@ -184,10 +184,11 @@ var _default = baseMixins.extend({
|
|
|
184
184
|
|
|
185
185
|
this.$nextTick(function () {
|
|
186
186
|
_this3.$nextTick(function () {
|
|
187
|
-
|
|
188
|
-
_this3.previousActiveElement = document.activeElement;
|
|
187
|
+
var _a, _b;
|
|
189
188
|
|
|
190
|
-
|
|
189
|
+
if (!((_a = _this3.$refs.dialog) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement))) {
|
|
190
|
+
_this3.previousActiveElement = document.activeElement;
|
|
191
|
+
(_b = _this3.$refs.dialog) === null || _b === void 0 ? void 0 : _b.focus();
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
_this3.bind();
|
|
@@ -230,23 +231,23 @@ var _default = baseMixins.extend({
|
|
|
230
231
|
if (!e || !this.retainFocus) return;
|
|
231
232
|
var target = e.target;
|
|
232
233
|
|
|
233
|
-
if (!!target && // It isn't the document or the dialog body
|
|
234
|
-
![document, this.$refs.
|
|
235
|
-
!this.$refs.
|
|
234
|
+
if (!!target && this.$refs.dialog && // It isn't the document or the dialog body
|
|
235
|
+
![document, this.$refs.dialog].includes(target) && // It isn't inside the dialog body
|
|
236
|
+
!this.$refs.dialog.contains(target) && // We're the topmost dialog
|
|
236
237
|
this.activeZIndex >= this.getMaxZIndex() && // It isn't inside a dependent element (like a menu)
|
|
237
238
|
!this.getOpenDependentElements().some(function (el) {
|
|
238
239
|
return el.contains(target);
|
|
239
240
|
}) // So we must have focused something outside the dialog and its children
|
|
240
241
|
) {
|
|
241
|
-
|
|
242
|
-
|
|
242
|
+
// Find and focus the first available element inside the dialog
|
|
243
|
+
var focusable = this.$refs.dialog.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
243
244
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
245
|
+
var el = _toConsumableArray(focusable).find(function (el) {
|
|
246
|
+
return !el.hasAttribute('disabled');
|
|
247
|
+
});
|
|
247
248
|
|
|
248
|
-
|
|
249
|
-
|
|
249
|
+
el && el.focus();
|
|
250
|
+
}
|
|
250
251
|
},
|
|
251
252
|
genContent: function genContent() {
|
|
252
253
|
var _this4 = this;
|
|
@@ -262,7 +263,6 @@ var _default = baseMixins.extend({
|
|
|
262
263
|
class: _this4.contentClasses,
|
|
263
264
|
attrs: _objectSpread({
|
|
264
265
|
role: 'dialog',
|
|
265
|
-
tabindex: _this4.isActive ? 0 : undefined,
|
|
266
266
|
'aria-modal': _this4.hideOverlay ? undefined : 'true'
|
|
267
267
|
}, _this4.getScopeIdAttrs()),
|
|
268
268
|
on: {
|
|
@@ -289,6 +289,9 @@ var _default = baseMixins.extend({
|
|
|
289
289
|
genInnerContent: function genInnerContent() {
|
|
290
290
|
var data = {
|
|
291
291
|
class: this.classes,
|
|
292
|
+
attrs: {
|
|
293
|
+
tabindex: this.isActive ? 0 : undefined
|
|
294
|
+
},
|
|
292
295
|
ref: 'dialog',
|
|
293
296
|
directives: [{
|
|
294
297
|
name: 'click-outside',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.content.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.content.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n tabindex: this.isActive ? 0 : undefined,\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: { ClickOutside },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [\n this.$createElement('div', {\n class: this.contentClasses,\n attrs: {\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n },\n on: { keydown: this.onKeydown },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n appear: true,\n },\n }, [content])\n },\n genInnerContent () {\n const data: VNodeData = {\n class: this.classes,\n attrs: {\n tabindex: this.isActive ? 0 : undefined,\n },\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return this.$createElement('div', data, this.getContentSlot())\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
|
|
@@ -202,10 +202,12 @@ var BaseItemGroup = (0, _mixins.default)(_comparable.default, _proxyable.default
|
|
|
202
202
|
this.updateInternalValue(this.getValue(item, index));
|
|
203
203
|
},
|
|
204
204
|
updateMultiple: function updateMultiple(value) {
|
|
205
|
+
var _this5 = this;
|
|
206
|
+
|
|
205
207
|
var defaultValue = Array.isArray(this.internalValue) ? this.internalValue : [];
|
|
206
208
|
var internalValue = defaultValue.slice();
|
|
207
209
|
var index = internalValue.findIndex(function (val) {
|
|
208
|
-
return val
|
|
210
|
+
return _this5.valueComparator(val, value);
|
|
209
211
|
});
|
|
210
212
|
if (this.mandatory && // Item already exists
|
|
211
213
|
index > -1 && // value would be reduced below min
|
|
@@ -218,7 +220,7 @@ var BaseItemGroup = (0, _mixins.default)(_comparable.default, _proxyable.default
|
|
|
218
220
|
this.internalValue = internalValue;
|
|
219
221
|
},
|
|
220
222
|
updateSingle: function updateSingle(value) {
|
|
221
|
-
var isSame =
|
|
223
|
+
var isSame = this.valueComparator(this.internalValue, value);
|
|
222
224
|
if (this.mandatory && isSame) return;
|
|
223
225
|
this.internalValue = isSame ? undefined : value;
|
|
224
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => val === value)\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = value === this.internalValue\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VItemGroup/VItemGroup.ts"],"names":[],"mappings":";;;;;;;AACA;;AAGA;;AAEA;;AACA;;AAGA;;AACA;;;;;;;;;;AAWO,IAAM,aAAa,GAAG,qBAC3B,mBAD2B,EAE3B,kBAF2B,EAG3B,kBAH2B,EAI3B,MAJ2B,CAIpB;AACP,EAAA,IAAI,EAAE,iBADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,SAAS,EAAE,OALN;AAML,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADH;AAEH,MAAA,OAAO,EAAE;AAFN,KANA;AAUL,IAAA,QAAQ,EAAE,OAVL;AAWL,IAAA,GAAG,EAAE;AACH,MAAA,IAAI,EAAE,MADH;AAEH,MAAA,OAAO,EAAE;AAFN;AAXA,GAHA;AAoBP,EAAA,IApBO,kBAoBH;AACF,WAAO;AACL;AACA;AACA;AACA,MAAA,iBAAiB,EAAE,KAAK,KAAL,KAAe,SAAf,GACf,KAAK,KADU,GAEf,KAAK,QAAL,GAAgB,EAAhB,GAAqB,SANpB;AAOL,MAAA,KAAK,EAAE;AAPF,KAAP;AASD,GA9BM;AAgCP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,wBAAgB;AADlB,SAEK,KAAK,YAFV;AAID,KANO;AAOR,IAAA,aAPQ,2BAOK;AACX,aAAQ,KAAK,YAAL,IAAqB,KAAK,KAAL,CAAW,OAAX,CAAmB,KAAK,YAAxB,CAAtB,IAAgE,CAAC,CAAxE;AACD,KATO;AAUR,IAAA,YAVQ,0BAUI;AACV,UAAI,KAAK,QAAT,EAAmB,OAAO,SAAP;AAEnB,aAAO,KAAK,aAAL,CAAmB,CAAnB,CAAP;AACD,KAdO;AAeR,IAAA,aAfQ,2BAeK;AAAA;;AACX,aAAO,KAAK,KAAL,CAAW,MAAX,CAAkB,UAAC,IAAD,EAAO,KAAP,EAAgB;AACvC,eAAO,KAAI,CAAC,YAAL,CAAkB,KAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAlB,CAAP;AACD,OAFM,CAAP;AAGD,KAnBO;AAoBR,IAAA,cApBQ,4BAoBM;AACZ,UAAI,KAAK,aAAL,IAAsB,IAA1B,EAAgC,OAAO,EAAP;AAEhC,aAAO,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACH,KAAK,aADF,GAEH,CAAC,KAAK,aAAN,CAFJ;AAGD,KA1BO;AA2BR,IAAA,YA3BQ,0BA2BI;AAAA;;AACV,UAAI,CAAC,KAAK,QAAV,EAAoB;AAClB,eAAO,UAAC,CAAD;AAAA,iBAAY,MAAI,CAAC,eAAL,CAAqB,MAAI,CAAC,aAA1B,EAAyC,CAAzC,CAAZ;AAAA,SAAP;AACD;;AAED,UAAM,aAAa,GAAG,KAAK,aAA3B;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,aAAd,CAAJ,EAAkC;AAChC,eAAO,UAAC,CAAD;AAAA,iBAAY,aAAa,CAAC,IAAd,CAAmB,UAAA,MAAM;AAAA,mBAAI,MAAI,CAAC,eAAL,CAAqB,MAArB,EAA6B,CAA7B,CAAJ;AAAA,WAAzB,CAAZ;AAAA,SAAP;AACD;;AAED,aAAO;AAAA,eAAM,KAAN;AAAA,OAAP;AACD;AAtCO,GAhCH;AAyEP,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,kBADV;AAEL,IAAA,KAAK,EAAE;AAFF,GAzEA;AA8EP,EAAA,OA9EO,qBA8EA;AACL,QAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,CAAtB,EAAyD;AACvD,gCAAY,mEAAZ,EAAiF,IAAjF;AACD;AACF,GAlFM;AAoFP,EAAA,OAAO,EAAE;AAEP,IAAA,OAFO,qBAEA;AACL,aAAO;AACL,QAAA,KAAK,EAAE,KAAK;AADP,OAAP;AAGD,KANM;AAOP,IAAA,QAPO,oBAOG,IAPH,EAO4B,CAP5B,EAOqC;AAC1C,aAAO,IAAI,CAAC,KAAL,KAAe,SAAf,GACH,CADG,GAEH,IAAI,CAAC,KAFT;AAGD,KAXM;AAYP,IAAA,OAZO,mBAYE,IAZF,EAYyB;AAC9B,WAAK,mBAAL,CACE,KAAK,QAAL,CAAc,IAAd,EAAoB,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAApB,CADF;AAGD,KAhBM;AAiBP,IAAA,QAjBO,oBAiBG,IAjBH,EAiB0B;AAAA;;AAC/B,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,IAAX,CAAgB,IAAhB,IAAwB,CAAtC;AAEA,MAAA,IAAI,CAAC,GAAL,CAAS,QAAT,EAAmB;AAAA,eAAM,MAAI,CAAC,OAAL,CAAa,IAAb,CAAN;AAAA,OAAnB,EAH+B,CAK/B;AACA;;AACA,UAAI,KAAK,SAAL,IAAkB,CAAC,KAAK,cAAL,CAAoB,MAA3C,EAAmD;AACjD,aAAK,eAAL;AACD;;AAED,WAAK,UAAL,CAAgB,IAAhB,EAAsB,KAAtB;AACD,KA7BM;AA8BP,IAAA,UA9BO,sBA8BK,IA9BL,EA8B4B;AACjC,UAAI,KAAK,YAAT,EAAuB;AAEvB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAAd;AACA,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAd;AAEA,WAAK,KAAL,CAAW,MAAX,CAAkB,KAAlB,EAAyB,CAAzB;AAEA,UAAM,UAAU,GAAG,KAAK,cAAL,CAAoB,OAApB,CAA4B,KAA5B,CAAnB,CARiC,CAUjC;;AACA,UAAI,UAAU,GAAG,CAAjB,EAAoB,OAXa,CAajC;;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB;AACnB,eAAO,KAAK,mBAAL,CAAyB,KAAzB,CAAP;AACD,OAhBgC,CAkBjC;;;AACA,UAAI,KAAK,QAAL,IAAiB,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,CAArB,EAAwD;AACtD,aAAK,aAAL,GAAqB,KAAK,aAAL,CAAmB,MAAnB,CAA0B,UAAA,CAAC;AAAA,iBAAI,CAAC,KAAK,KAAV;AAAA,SAA3B,CAArB;AACD,OAFD,MAEO;AACL,aAAK,aAAL,GAAqB,SAArB;AACD,OAvBgC,CAyBjC;AACA;;AACA;;;AACA,UAAI,CAAC,KAAK,aAAL,CAAmB,MAAxB,EAAgC;AAC9B,aAAK,eAAL,CAAqB,IAArB;AACD;AACF,KA7DM;AA8DP,IAAA,UA9DO,sBA8DK,IA9DL,EA8D8B,KA9D9B,EA8D2C;AAChD,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CAAd;AAEA,MAAA,IAAI,CAAC,QAAL,GAAgB,KAAK,YAAL,CAAkB,KAAlB,CAAhB;AACD,KAlEM;AAmEP;AACA,IAAA,gBApEO,8BAoES;AAAA;;AACd,WAAK,SAAL,CAAe,YAAK;AAClB,YAAI,MAAI,CAAC,SAAL,IACF,CAAC,MAAI,CAAC,aAAL,CAAmB,MADtB,EAEE;AACA,iBAAO,MAAI,CAAC,eAAL,EAAP;AACD,SALiB,CAOlB;AACA;AACA;;;AACA,QAAA,MAAI,CAAC,KAAL,CAAW,OAAX,CAAmB,MAAI,CAAC,UAAxB;AACD,OAXD;AAYD,KAjFM;AAkFP,IAAA,mBAlFO,+BAkFc,KAlFd,EAkFwB;AAC7B,WAAK,QAAL,GACI,KAAK,cAAL,CAAoB,KAApB,CADJ,GAEI,KAAK,YAAL,CAAkB,KAAlB,CAFJ;AAGD,KAtFM;AAuFP,IAAA,eAvFO,2BAuFU,IAvFV,EAuFwB;AAC7B,UAAI,CAAC,KAAK,KAAL,CAAW,MAAhB,EAAwB;AAExB,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,KAAX,EAAd;AAEA,UAAI,IAAJ,EAAU,KAAK,CAAC,OAAN;AAEV,UAAM,IAAI,GAAG,KAAK,CAAC,IAAN,CAAW,UAAA,IAAI;AAAA,eAAI,CAAC,IAAI,CAAC,QAAV;AAAA,OAAf,CAAb,CAP6B,CAS7B;AACA;;AACA,UAAI,CAAC,IAAL,EAAW;AAEX,UAAM,KAAK,GAAG,KAAK,KAAL,CAAW,OAAX,CAAmB,IAAnB,CAAd;AAEA,WAAK,mBAAL,CACE,KAAK,QAAL,CAAc,IAAd,EAAoB,KAApB,CADF;AAGD,KAzGM;AA0GP,IAAA,cA1GO,0BA0GS,KA1GT,EA0GmB;AAAA;;AACxB,UAAM,YAAY,GAAG,KAAK,CAAC,OAAN,CAAc,KAAK,aAAnB,IACjB,KAAK,aADY,GAEjB,EAFJ;AAGA,UAAM,aAAa,GAAG,YAAY,CAAC,KAAb,EAAtB;AACA,UAAM,KAAK,GAAG,aAAa,CAAC,SAAd,CAAwB,UAAA,GAAG;AAAA,eAAI,MAAI,CAAC,eAAL,CAAqB,GAArB,EAA0B,KAA1B,CAAJ;AAAA,OAA3B,CAAd;AAEA,UACE,KAAK,SAAL,IACA;AACA,MAAA,KAAK,GAAG,CAAC,CAFT,IAGA;AACA,MAAA,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,CAL7B,EAME;AAEF,WACE;AACA,WAAK,GAAL,IAAY,IAAZ,IACA;AACA,MAAA,KAAK,GAAG,CAFR,IAGA;AACA,MAAA,aAAa,CAAC,MAAd,GAAuB,CAAvB,GAA2B,KAAK,GANlC,EAOE;AAEF,MAAA,KAAK,GAAG,CAAC,CAAT,GACI,aAAa,CAAC,MAAd,CAAqB,KAArB,EAA4B,CAA5B,CADJ,GAEI,aAAa,CAAC,IAAd,CAAmB,KAAnB,CAFJ;AAIA,WAAK,aAAL,GAAqB,aAArB;AACD,KAvIM;AAwIP,IAAA,YAxIO,wBAwIO,KAxIP,EAwIiB;AACtB,UAAM,MAAM,GAAG,KAAK,eAAL,CAAqB,KAAK,aAA1B,EAAyC,KAAzC,CAAf;AAEA,UAAI,KAAK,SAAL,IAAkB,MAAtB,EAA8B;AAE9B,WAAK,aAAL,GAAqB,MAAM,GAAG,SAAH,GAAe,KAA1C;AACD;AA9IM,GApFF;AAqOP,EAAA,MArOO,kBAqOC,CArOD,EAqOE;AACP,WAAO,CAAC,CAAC,KAAK,GAAN,EAAW,KAAK,OAAL,EAAX,EAA2B,KAAK,MAAL,CAAY,OAAvC,CAAR;AACD;AAvOM,CAJoB,CAAtB;;;eA8OQ,aAAa,CAAC,MAAd,CAAqB;AAClC,EAAA,IAAI,EAAE,cAD4B;AAGlC,EAAA,OAHkC,qBAG3B;AACL,WAAO;AACL,MAAA,SAAS,EAAE;AADN,KAAP;AAGD;AAPiC,CAArB,C","sourcesContent":["// Styles\nimport './VItemGroup.sass'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Groupable from '../../mixins/groupable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue/types'\n\nexport type GroupableInstance = InstanceType<typeof Groupable> & {\n id?: string\n to?: any\n value?: any\n }\n\nexport const BaseItemGroup = mixins(\n Comparable,\n Proxyable,\n Themeable\n).extend({\n name: 'base-item-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-item--active',\n },\n mandatory: Boolean,\n max: {\n type: [Number, String],\n default: null,\n },\n multiple: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n internalLazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n items: [] as GroupableInstance[],\n }\n },\n\n computed: {\n classes (): Record<string, boolean> {\n return {\n 'v-item-group': true,\n ...this.themeClasses,\n }\n },\n selectedIndex (): number {\n return (this.selectedItem && this.items.indexOf(this.selectedItem)) || -1\n },\n selectedItem (): GroupableInstance | undefined {\n if (this.multiple) return undefined\n\n return this.selectedItems[0]\n },\n selectedItems (): GroupableInstance[] {\n return this.items.filter((item, index) => {\n return this.toggleMethod(this.getValue(item, index))\n })\n },\n selectedValues (): any[] {\n if (this.internalValue == null) return []\n\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : [this.internalValue]\n },\n toggleMethod (): (v: any) => boolean {\n if (!this.multiple) {\n return (v: any) => this.valueComparator(this.internalValue, v)\n }\n\n const internalValue = this.internalValue\n if (Array.isArray(internalValue)) {\n return (v: any) => internalValue.some(intern => this.valueComparator(intern, v))\n }\n\n return () => false\n },\n },\n\n watch: {\n internalValue: 'updateItemsState',\n items: 'updateItemsState',\n },\n\n created () {\n if (this.multiple && !Array.isArray(this.internalValue)) {\n consoleWarn('Model must be bound to an array if the multiple property is true.', this)\n }\n },\n\n methods: {\n\n genData (): object {\n return {\n class: this.classes,\n }\n },\n getValue (item: GroupableInstance, i: number): unknown {\n return item.value === undefined\n ? i\n : item.value\n },\n onClick (item: GroupableInstance) {\n this.updateInternalValue(\n this.getValue(item, this.items.indexOf(item))\n )\n },\n register (item: GroupableInstance) {\n const index = this.items.push(item) - 1\n\n item.$on('change', () => this.onClick(item))\n\n // If no value provided and mandatory,\n // assign first registered item\n if (this.mandatory && !this.selectedValues.length) {\n this.updateMandatory()\n }\n\n this.updateItem(item, index)\n },\n unregister (item: GroupableInstance) {\n if (this._isDestroyed) return\n\n const index = this.items.indexOf(item)\n const value = this.getValue(item, index)\n\n this.items.splice(index, 1)\n\n const valueIndex = this.selectedValues.indexOf(value)\n\n // Items is not selected, do nothing\n if (valueIndex < 0) return\n\n // If not mandatory, use regular update process\n if (!this.mandatory) {\n return this.updateInternalValue(value)\n }\n\n // Remove the value\n if (this.multiple && Array.isArray(this.internalValue)) {\n this.internalValue = this.internalValue.filter(v => v !== value)\n } else {\n this.internalValue = undefined\n }\n\n // If mandatory and we have no selection\n // add the last item as value\n /* istanbul ignore else */\n if (!this.selectedItems.length) {\n this.updateMandatory(true)\n }\n },\n updateItem (item: GroupableInstance, index: number) {\n const value = this.getValue(item, index)\n\n item.isActive = this.toggleMethod(value)\n },\n // https://github.com/vuetifyjs/vuetify/issues/5352\n updateItemsState () {\n this.$nextTick(() => {\n if (this.mandatory &&\n !this.selectedItems.length\n ) {\n return this.updateMandatory()\n }\n\n // TODO: Make this smarter so it\n // doesn't have to iterate every\n // child in an update\n this.items.forEach(this.updateItem)\n })\n },\n updateInternalValue (value: any) {\n this.multiple\n ? this.updateMultiple(value)\n : this.updateSingle(value)\n },\n updateMandatory (last?: boolean) {\n if (!this.items.length) return\n\n const items = this.items.slice()\n\n if (last) items.reverse()\n\n const item = items.find(item => !item.disabled)\n\n // If no tabs are available\n // aborts mandatory value\n if (!item) return\n\n const index = this.items.indexOf(item)\n\n this.updateInternalValue(\n this.getValue(item, index)\n )\n },\n updateMultiple (value: any) {\n const defaultValue = Array.isArray(this.internalValue)\n ? this.internalValue\n : []\n const internalValue = defaultValue.slice()\n const index = internalValue.findIndex(val => this.valueComparator(val, value))\n\n if (\n this.mandatory &&\n // Item already exists\n index > -1 &&\n // value would be reduced below min\n internalValue.length - 1 < 1\n ) return\n\n if (\n // Max is set\n this.max != null &&\n // Item doesn't exist\n index < 0 &&\n // value would be increased above max\n internalValue.length + 1 > this.max\n ) return\n\n index > -1\n ? internalValue.splice(index, 1)\n : internalValue.push(value)\n\n this.internalValue = internalValue\n },\n updateSingle (value: any) {\n const isSame = this.valueComparator(this.internalValue, value)\n\n if (this.mandatory && isSame) return\n\n this.internalValue = isSame ? undefined : value\n },\n },\n\n render (h): VNode {\n return h(this.tag, this.genData(), this.$slots.default)\n },\n})\n\nexport default BaseItemGroup.extend({\n name: 'v-item-group',\n\n provide (): object {\n return {\n itemGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VItemGroup.js"}
|
|
@@ -150,10 +150,12 @@ var _default2 = baseMixins.extend().extend({
|
|
|
150
150
|
data.attrs = _objectSpread(_objectSpread({}, data.attrs), this.genAttrs());
|
|
151
151
|
data[this.to ? 'nativeOn' : 'on'] = _objectSpread(_objectSpread({}, data[this.to ? 'nativeOn' : 'on']), {}, {
|
|
152
152
|
keydown: function keydown(e) {
|
|
153
|
-
|
|
154
|
-
|
|
153
|
+
if (!_this.disabled) {
|
|
154
|
+
/* istanbul ignore else */
|
|
155
|
+
if (e.keyCode === _helpers.keyCodes.enter) _this.click(e);
|
|
155
156
|
|
|
156
|
-
|
|
157
|
+
_this.$emit('keydown', e);
|
|
158
|
+
}
|
|
157
159
|
}
|
|
158
160
|
});
|
|
159
161
|
if (this.inactive) tag = 'div';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VList/VListItem.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VListItem.sass'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Routable from '../../mixins/routable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Directives\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\nimport { PropType, PropValidator } from 'vue/types/options'\n\nconst baseMixins = mixins(\n Colorable,\n Routable,\n Themeable,\n GroupableFactory('listItemGroup'),\n ToggleableFactory('inputValue')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n isInGroup: boolean\n isInList: boolean\n isInMenu: boolean\n isInNav: boolean\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-list-item',\n\n directives: {\n Ripple,\n },\n\n inject: {\n isInGroup: {\n default: false,\n },\n isInList: {\n default: false,\n },\n isInMenu: {\n default: false,\n },\n isInNav: {\n default: false,\n },\n },\n\n inheritAttrs: false,\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.listItemGroup) return ''\n\n return this.listItemGroup.activeClass\n },\n } as any as PropValidator<string>,\n dense: Boolean,\n inactive: Boolean,\n link: Boolean,\n selectable: {\n type: Boolean,\n },\n tag: {\n type: String,\n default: 'div',\n },\n threeLine: Boolean,\n twoLine: Boolean,\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-list-item--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-list-item': true,\n ...Routable.options.computed.classes.call(this),\n 'v-list-item--dense': this.dense,\n 'v-list-item--disabled': this.disabled,\n 'v-list-item--link': this.isClickable && !this.inactive,\n 'v-list-item--selectable': this.selectable,\n 'v-list-item--three-line': this.threeLine,\n 'v-list-item--two-line': this.twoLine,\n ...this.themeClasses,\n }\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.listItemGroup\n )\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('avatar')) {\n removed('avatar', this)\n }\n },\n\n methods: {\n click (e: MouseEvent | KeyboardEvent) {\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n genAttrs () {\n const attrs: Record<string, any> = {\n 'aria-disabled': this.disabled ? true : undefined,\n tabindex: this.isClickable && !this.disabled ? 0 : -1,\n ...this.$attrs,\n }\n\n if (this.$attrs.hasOwnProperty('role')) {\n // do nothing, role already provided\n } else if (this.isInNav) {\n // do nothing, role is inherit\n } else if (this.isInGroup) {\n attrs.role = 'option'\n attrs['aria-selected'] = String(this.isActive)\n } else if (this.isInMenu) {\n attrs.role = this.isClickable ? 'menuitem' : undefined\n attrs.id = attrs.id || `list-item-${this._uid}`\n } else if (this.isInList) {\n attrs.role = 'listitem'\n }\n\n return attrs\n },\n toggle () {\n if (this.to && this.inputValue === undefined) {\n this.isActive = !this.isActive\n }\n this.$emit('change')\n },\n },\n\n render (h): VNode {\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n ...this.genAttrs(),\n }\n data[this.to ? 'nativeOn' : 'on'] = {\n ...data[this.to ? 'nativeOn' : 'on'],\n keydown: (e: KeyboardEvent) => {\n if (!this.disabled) {\n /* istanbul ignore else */\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n }\n },\n }\n\n if (this.inactive) tag = 'div'\n if (this.inactive && this.to) {\n data.on = data.nativeOn\n delete data.nativeOn\n }\n\n const children = this.$scopedSlots.default\n ? this.$scopedSlots.default({\n active: this.isActive,\n toggle: this.toggle,\n })\n : this.$slots.default\n\n return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children)\n },\n})\n"],"sourceRoot":"","file":"VListItem.js"}
|
|
@@ -385,9 +385,9 @@ var _default = baseMixins.extend({
|
|
|
385
385
|
|
|
386
386
|
// Prevent accidental re-activation
|
|
387
387
|
this.runDelay('close', function () {
|
|
388
|
-
var
|
|
388
|
+
var _a;
|
|
389
389
|
|
|
390
|
-
if ((
|
|
390
|
+
if ((_a = _this5.$refs.content) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) return;
|
|
391
391
|
requestAnimationFrame(function () {
|
|
392
392
|
_this5.isActive = false;
|
|
393
393
|
|