vuetify 3.3.2 → 3.3.4
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/_component-variables-labs.sass +2 -0
- package/dist/json/attributes.json +460 -20
- package/dist/json/importMap-labs.json +32 -0
- package/dist/json/importMap.json +24 -24
- package/dist/json/tags.json +150 -0
- package/dist/json/web-types.json +1639 -40
- package/dist/vuetify-labs.css +499 -230
- package/dist/vuetify-labs.d.ts +5421 -326
- package/dist/vuetify-labs.esm.js +2124 -1098
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +2123 -1097
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +219 -210
- package/dist/vuetify.d.ts +314 -165
- package/dist/vuetify.esm.js +330 -179
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +329 -178
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +792 -784
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +34 -27
- package/lib/blueprints/md1.d.mts +34 -27
- package/lib/blueprints/md2.d.mts +34 -27
- package/lib/blueprints/md3.d.mts +34 -27
- package/lib/components/VAppBar/VAppBar.mjs +3 -10
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +24 -8
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -22
- package/lib/components/VAutocomplete/VAutocomplete.mjs +17 -12
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +6 -17
- package/lib/components/VBreadcrumbs/index.d.mts +7 -7
- package/lib/components/VBtn/VBtn.css +11 -11
- package/lib/components/VBtn/VBtn.mjs +1 -1
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +1 -1
- package/lib/components/VBtn/_mixins.scss +1 -1
- package/lib/components/VBtn/index.d.mts +24 -8
- package/lib/components/VCard/VCard.mjs +1 -1
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +44 -28
- package/lib/components/VCheckbox/VCheckbox.mjs +8 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.mts +7 -1
- package/lib/components/VChip/VChip.css +67 -67
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/_variables.scss +1 -1
- package/lib/components/VChip/index.d.mts +48 -32
- package/lib/components/VCombobox/VCombobox.css +4 -22
- package/lib/components/VCombobox/VCombobox.mjs +16 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +6 -17
- package/lib/components/VCombobox/_variables.scss +3 -3
- package/lib/components/VCounter/index.d.mts +8 -8
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
- package/lib/components/VExpansionPanel/index.d.mts +56 -24
- package/lib/components/VField/VField.css +72 -8
- package/lib/components/VField/VField.sass +10 -5
- package/lib/components/VField/_mixins.sass +7 -0
- package/lib/components/VFileInput/VFileInput.css +2 -17
- package/lib/components/VFileInput/VFileInput.mjs +0 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.sass +2 -11
- package/lib/components/VFileInput/_variables.scss +3 -3
- package/lib/components/VIcon/VIcon.mjs +2 -2
- package/lib/components/VIcon/VIcon.mjs.map +1 -1
- package/lib/components/VInput/VInput.css +14 -1
- package/lib/components/VInput/VInput.sass +6 -0
- package/lib/components/VInput/_variables.scss +5 -1
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +24 -8
- package/lib/components/VMenu/VMenu.mjs +29 -3
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.mjs +7 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +29 -35
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.css +2 -20
- package/lib/components/VSelect/VSelect.mjs +16 -11
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.sass +2 -12
- package/lib/components/VSelect/_variables.scss +3 -3
- package/lib/components/VSlider/VSliderThumb.mjs +2 -2
- package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
- package/lib/components/VTabs/VTab.mjs +2 -2
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/VTabs.css +1 -0
- package/lib/components/VTabs/VTabs.sass +1 -0
- package/lib/components/VTabs/index.d.mts +24 -8
- package/lib/components/VTextarea/VTextarea.css +7 -7
- package/lib/components/VTextarea/VTextarea.sass +9 -9
- package/lib/components/VTimePicker/VTimePickerTitle.mjs +1 -1
- package/lib/components/index.d.mts +266 -132
- package/lib/components/index.mjs +1 -2
- package/lib/components/index.mjs.map +1 -1
- package/lib/composables/icons.mjs.map +1 -1
- package/lib/composables/list-items.mjs +5 -2
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +1 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/fa-svg.d.mts +1 -0
- package/lib/iconsets/fa.d.mts +1 -0
- package/lib/iconsets/fa.mjs +2 -1
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.d.mts +1 -0
- package/lib/iconsets/fa4.mjs +2 -1
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.d.mts +1 -0
- package/lib/iconsets/md.mjs +2 -1
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.d.mts +1 -0
- package/lib/iconsets/mdi-svg.mjs +36 -35
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.d.mts +1 -0
- package/lib/iconsets/mdi.mjs +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +48 -33
- package/lib/labs/VDataTable/VDataTable.css +4 -14
- package/lib/labs/VDataTable/VDataTable.sass +6 -15
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +16 -12
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs +2 -5
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +3 -2
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDateInput/VDateInput.mjs +127 -0
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -0
- package/lib/labs/VDateInput/VDateInput.sass +11 -0
- package/lib/labs/VDateInput/VDateRangeInput.mjs +223 -0
- package/lib/labs/VDateInput/VDateRangeInput.mjs.map +1 -0
- package/lib/labs/VDateInput/VDateRangeInput.sass +10 -0
- package/lib/labs/VDateInput/composables.mjs +59 -0
- package/lib/labs/VDateInput/composables.mjs.map +1 -0
- package/lib/labs/VDateInput/index.d.mts +1352 -0
- package/lib/labs/VDateInput/index.mjs +3 -0
- package/lib/labs/VDateInput/index.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDateCard.css +33 -0
- package/lib/labs/VDatePicker/VDateCard.mjs +112 -0
- package/lib/labs/VDatePicker/VDateCard.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDateCard.sass +32 -0
- package/lib/labs/VDatePicker/VDatePicker.css +23 -0
- package/lib/labs/VDatePicker/VDatePicker.mjs +172 -0
- package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePicker.sass +23 -0
- package/lib/labs/VDatePicker/VDatePickerControls.css +15 -0
- package/lib/labs/VDatePicker/VDatePickerControls.mjs +80 -0
- package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePickerControls.sass +15 -0
- package/lib/labs/VDatePicker/VDatePickerHeader.css +54 -0
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs +75 -0
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePickerHeader.sass +51 -0
- package/lib/labs/VDatePicker/VDatePickerInput.sass +17 -0
- package/lib/labs/VDatePicker/VDatePickerMonth.css +77 -0
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +286 -0
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePickerMonth.sass +69 -0
- package/lib/{components → labs}/VDatePicker/VDatePickerTitle.mjs +1 -1
- package/lib/labs/VDatePicker/VDatePickerTitle.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePickerYears.css +18 -0
- package/lib/labs/VDatePicker/VDatePickerYears.mjs +64 -0
- package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -0
- package/lib/labs/VDatePicker/VDatePickerYears.sass +16 -0
- package/lib/labs/VDatePicker/composables.mjs +33 -0
- package/lib/labs/VDatePicker/composables.mjs.map +1 -0
- package/lib/labs/VDatePicker/index.d.mts +4430 -0
- package/lib/labs/VDatePicker/index.mjs +7 -0
- package/lib/labs/VDatePicker/index.mjs.map +1 -0
- package/lib/labs/VDatePicker/mixins/date-picker-table.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/createNativeLocaleFormatter.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/eventHelpers.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/index.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/isDateAllowed.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/monthChange.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/pad.mjs.map +1 -0
- package/lib/labs/VDatePicker/util/sanitizeDateString.mjs.map +1 -0
- package/lib/labs/VDatePicker/utils.mjs +69 -0
- package/lib/labs/VDatePicker/utils.mjs.map +1 -0
- package/lib/labs/VDateRangePicker/VDateRangeCard.mjs +87 -0
- package/lib/labs/VDateRangePicker/VDateRangeCard.mjs.map +1 -0
- package/lib/labs/VDateRangePicker/VDateRangeCard.sass +33 -0
- package/lib/labs/VDateRangePicker/VDateRangePicker.mjs +131 -0
- package/lib/labs/VDateRangePicker/VDateRangePicker.mjs.map +1 -0
- package/lib/labs/VDateRangePicker/VDateRangePicker.sass +21 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerHeader.mjs +103 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerHeader.mjs.map +1 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerHeader.sass +39 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerMonth.mjs +61 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerMonth.mjs.map +1 -0
- package/lib/labs/VDateRangePicker/VDateRangePickerMonth.sass +12 -0
- package/lib/labs/VDateRangePicker/index.d.mts +1065 -0
- package/lib/labs/VDateRangePicker/index.mjs +3 -0
- package/lib/labs/VDateRangePicker/index.mjs.map +1 -0
- package/lib/labs/VPicker/VPicker.css +57 -0
- package/lib/labs/VPicker/VPicker.mjs +47 -0
- package/lib/labs/VPicker/VPicker.mjs.map +1 -0
- package/lib/labs/VPicker/VPicker.sass +53 -0
- package/lib/labs/VPicker/VPickerTitle.mjs +4 -0
- package/lib/labs/VPicker/VPickerTitle.mjs.map +1 -0
- package/lib/labs/VPicker/index.d.mts +541 -0
- package/lib/labs/VPicker/index.mjs +3 -0
- package/lib/labs/VPicker/index.mjs.map +1 -0
- package/lib/labs/components.d.mts +5136 -198
- package/lib/labs/components.mjs +2 -0
- package/lib/labs/components.mjs.map +1 -1
- package/lib/labs/date/DateAdapter.mjs.map +1 -1
- package/lib/labs/date/adapters/vuetify.d.mts +28 -25
- package/lib/labs/date/adapters/vuetify.mjs +65 -75
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
- package/lib/labs/date/date.mjs +82 -11
- package/lib/labs/date/date.mjs.map +1 -1
- package/lib/labs/date/index.d.mts +31 -30
- package/lib/locale/af.mjs +14 -5
- package/lib/locale/af.mjs.map +1 -1
- package/lib/locale/ar.mjs +14 -5
- package/lib/locale/ar.mjs.map +1 -1
- package/lib/locale/az.mjs +14 -5
- package/lib/locale/az.mjs.map +1 -1
- package/lib/locale/bg.mjs +14 -5
- package/lib/locale/bg.mjs.map +1 -1
- package/lib/locale/ca.mjs +14 -5
- package/lib/locale/ca.mjs.map +1 -1
- package/lib/locale/ckb.mjs +14 -5
- package/lib/locale/ckb.mjs.map +1 -1
- package/lib/locale/cs.mjs +14 -5
- package/lib/locale/cs.mjs.map +1 -1
- package/lib/locale/da.mjs +14 -5
- package/lib/locale/da.mjs.map +1 -1
- package/lib/locale/de.mjs +14 -5
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/el.mjs +14 -5
- package/lib/locale/el.mjs.map +1 -1
- package/lib/locale/en.mjs +14 -5
- package/lib/locale/en.mjs.map +1 -1
- package/lib/locale/es.mjs +14 -5
- package/lib/locale/es.mjs.map +1 -1
- package/lib/locale/et.mjs +14 -5
- package/lib/locale/et.mjs.map +1 -1
- package/lib/locale/fa.mjs +14 -5
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/fi.mjs +14 -5
- package/lib/locale/fi.mjs.map +1 -1
- package/lib/locale/fr.mjs +14 -5
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/he.mjs +14 -5
- package/lib/locale/he.mjs.map +1 -1
- package/lib/locale/hr.mjs +14 -5
- package/lib/locale/hr.mjs.map +1 -1
- package/lib/locale/hu.mjs +14 -5
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/locale/id.mjs +14 -5
- package/lib/locale/id.mjs.map +1 -1
- package/lib/locale/index.d.mts +588 -210
- package/lib/locale/it.mjs +14 -5
- package/lib/locale/it.mjs.map +1 -1
- package/lib/locale/ja.mjs +14 -5
- package/lib/locale/ja.mjs.map +1 -1
- package/lib/locale/ko.mjs +14 -5
- package/lib/locale/ko.mjs.map +1 -1
- package/lib/locale/lt.mjs +14 -5
- package/lib/locale/lt.mjs.map +1 -1
- package/lib/locale/lv.mjs +14 -5
- package/lib/locale/lv.mjs.map +1 -1
- package/lib/locale/nl.mjs +14 -5
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/locale/no.mjs +14 -5
- package/lib/locale/no.mjs.map +1 -1
- package/lib/locale/pl.mjs +14 -5
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/locale/pt.mjs +14 -5
- package/lib/locale/pt.mjs.map +1 -1
- package/lib/locale/ro.mjs +14 -5
- package/lib/locale/ro.mjs.map +1 -1
- package/lib/locale/ru.mjs +14 -5
- package/lib/locale/ru.mjs.map +1 -1
- package/lib/locale/sk.mjs +14 -5
- package/lib/locale/sk.mjs.map +1 -1
- package/lib/locale/sl.mjs +14 -5
- package/lib/locale/sl.mjs.map +1 -1
- package/lib/locale/sr-Cyrl.mjs +14 -5
- package/lib/locale/sr-Cyrl.mjs.map +1 -1
- package/lib/locale/sr-Latn.mjs +14 -5
- package/lib/locale/sr-Latn.mjs.map +1 -1
- package/lib/locale/sv.mjs +14 -5
- package/lib/locale/sv.mjs.map +1 -1
- package/lib/locale/th.mjs +14 -5
- package/lib/locale/th.mjs.map +1 -1
- package/lib/locale/tr.mjs +14 -5
- package/lib/locale/tr.mjs.map +1 -1
- package/lib/locale/uk.mjs +14 -5
- package/lib/locale/uk.mjs.map +1 -1
- package/lib/locale/vi.mjs +14 -5
- package/lib/locale/vi.mjs.map +1 -1
- package/lib/locale/zh-Hans.mjs +14 -5
- package/lib/locale/zh-Hans.mjs.map +1 -1
- package/lib/locale/zh-Hant.mjs +14 -5
- package/lib/locale/zh-Hant.mjs.map +1 -1
- package/lib/util/bindProps.mjs +49 -0
- package/lib/util/bindProps.mjs.map +1 -0
- package/lib/util/dateTimeUtils.mjs +68 -0
- package/lib/util/dateTimeUtils.mjs.map +1 -1
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/lib/util/index.mjs +1 -0
- package/lib/util/index.mjs.map +1 -1
- package/package.json +5 -2
- package/lib/components/VDatePicker/VDatePicker.mjs +0 -475
- package/lib/components/VDatePicker/VDatePicker.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs +0 -120
- package/lib/components/VDatePicker/VDatePickerDateTable.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs +0 -136
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerHeader.sass +0 -46
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs +0 -48
- package/lib/components/VDatePicker/VDatePickerMonthTable.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerYears.mjs +0 -84
- package/lib/components/VDatePicker/VDatePickerYears.mjs.map +0 -1
- package/lib/components/VDatePicker/VDatePickerYears.sass +0 -30
- package/lib/components/VDatePicker/index.mjs +0 -18
- package/lib/components/VDatePicker/index.mjs.map +0 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.mjs.map +0 -1
- package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
- package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
- package/lib/components/VDatePicker/util/index.mjs.map +0 -1
- package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
- package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
- package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
- package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
- package/lib/components/VPicker/VPicker.mjs +0 -86
- package/lib/components/VPicker/VPicker.mjs.map +0 -1
- package/lib/components/VPicker/VPicker.sass +0 -94
- package/lib/components/VPicker/index.mjs +0 -4
- package/lib/components/VPicker/index.mjs.map +0 -1
- /package/lib/{components → labs}/VDatePicker/VDatePickerTable.sass +0 -0
- /package/lib/{components → labs}/VDatePicker/VDatePickerTitle.sass +0 -0
- /package/lib/{components → labs}/VDatePicker/_variables.scss +0 -0
- /package/lib/{components → labs}/VDatePicker/mixins/date-picker-table.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/eventHelpers.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/index.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/isDateAllowed.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/monthChange.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/pad.mjs +0 -0
- /package/lib/{components → labs}/VDatePicker/util/sanitizeDateString.mjs +0 -0
- /package/lib/{components → labs}/VPicker/_variables.scss +0 -0
|
@@ -1,475 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
/* eslint-disable */
|
|
3
|
-
// Components
|
|
4
|
-
import VDatePickerTitle from "./VDatePickerTitle.mjs";
|
|
5
|
-
import VDatePickerHeader from "./VDatePickerHeader.mjs";
|
|
6
|
-
import VDatePickerDateTable from "./VDatePickerDateTable.mjs";
|
|
7
|
-
import VDatePickerMonthTable from "./VDatePickerMonthTable.mjs";
|
|
8
|
-
import VDatePickerYears from "./VDatePickerYears.mjs"; // Mixins
|
|
9
|
-
import Localable from "../../mixins/localable.mjs";
|
|
10
|
-
import Picker from "../../mixins/picker.mjs"; // Utils
|
|
11
|
-
import isDateAllowed from "./util/isDateAllowed.mjs";
|
|
12
|
-
import mixins from "../../util/mixins.mjs";
|
|
13
|
-
import { wrapInArray } from "../../util/helpers.mjs";
|
|
14
|
-
import { daysInMonth } from "../VCalendar/util/timestamp.mjs";
|
|
15
|
-
import { consoleWarn } from "../../util/console.mjs";
|
|
16
|
-
import { createItemTypeListeners, createNativeLocaleFormatter, pad, sanitizeDateString } from "./util/index.mjs"; // Types
|
|
17
|
-
export default mixins(Localable, Picker
|
|
18
|
-
/* @vue/component */).extend({
|
|
19
|
-
name: 'v-date-picker',
|
|
20
|
-
props: {
|
|
21
|
-
activePicker: String,
|
|
22
|
-
allowedDates: Function,
|
|
23
|
-
// Function formatting the day in date picker table
|
|
24
|
-
dayFormat: Function,
|
|
25
|
-
disabled: Boolean,
|
|
26
|
-
events: {
|
|
27
|
-
type: [Array, Function, Object],
|
|
28
|
-
default: () => null
|
|
29
|
-
},
|
|
30
|
-
eventColor: {
|
|
31
|
-
type: [Array, Function, Object, String],
|
|
32
|
-
default: () => 'warning'
|
|
33
|
-
},
|
|
34
|
-
firstDayOfWeek: {
|
|
35
|
-
type: [String, Number],
|
|
36
|
-
default: 0
|
|
37
|
-
},
|
|
38
|
-
// Function formatting the tableDate in the day/month table header
|
|
39
|
-
headerDateFormat: Function,
|
|
40
|
-
localeFirstDayOfYear: {
|
|
41
|
-
type: [String, Number],
|
|
42
|
-
default: 0
|
|
43
|
-
},
|
|
44
|
-
max: String,
|
|
45
|
-
min: String,
|
|
46
|
-
// Function formatting month in the months table
|
|
47
|
-
monthFormat: Function,
|
|
48
|
-
multiple: Boolean,
|
|
49
|
-
nextIcon: {
|
|
50
|
-
type: String,
|
|
51
|
-
default: '$next'
|
|
52
|
-
},
|
|
53
|
-
nextMonthAriaLabel: {
|
|
54
|
-
type: String,
|
|
55
|
-
default: '$vuetify.datePicker.nextMonthAriaLabel'
|
|
56
|
-
},
|
|
57
|
-
nextYearAriaLabel: {
|
|
58
|
-
type: String,
|
|
59
|
-
default: '$vuetify.datePicker.nextYearAriaLabel'
|
|
60
|
-
},
|
|
61
|
-
pickerDate: String,
|
|
62
|
-
prevIcon: {
|
|
63
|
-
type: String,
|
|
64
|
-
default: '$prev'
|
|
65
|
-
},
|
|
66
|
-
prevMonthAriaLabel: {
|
|
67
|
-
type: String,
|
|
68
|
-
default: '$vuetify.datePicker.prevMonthAriaLabel'
|
|
69
|
-
},
|
|
70
|
-
prevYearAriaLabel: {
|
|
71
|
-
type: String,
|
|
72
|
-
default: '$vuetify.datePicker.prevYearAriaLabel'
|
|
73
|
-
},
|
|
74
|
-
range: Boolean,
|
|
75
|
-
reactive: Boolean,
|
|
76
|
-
readonly: Boolean,
|
|
77
|
-
scrollable: Boolean,
|
|
78
|
-
showCurrent: {
|
|
79
|
-
type: [Boolean, String],
|
|
80
|
-
default: true
|
|
81
|
-
},
|
|
82
|
-
selectedItemsText: {
|
|
83
|
-
type: String,
|
|
84
|
-
default: '$vuetify.datePicker.itemsSelected'
|
|
85
|
-
},
|
|
86
|
-
showAdjacentMonths: Boolean,
|
|
87
|
-
showWeek: Boolean,
|
|
88
|
-
// Function formatting currently selected date in the picker title
|
|
89
|
-
titleDateFormat: Function,
|
|
90
|
-
type: {
|
|
91
|
-
type: String,
|
|
92
|
-
default: 'date',
|
|
93
|
-
validator: type => ['date', 'month'].includes(type) // TODO: year
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
value: [Array, String],
|
|
97
|
-
weekdayFormat: Function,
|
|
98
|
-
// Function formatting the year in table header and pickup title
|
|
99
|
-
yearFormat: Function,
|
|
100
|
-
yearIcon: String
|
|
101
|
-
},
|
|
102
|
-
data() {
|
|
103
|
-
const now = new Date();
|
|
104
|
-
return {
|
|
105
|
-
internalActivePicker: this.type.toUpperCase(),
|
|
106
|
-
inputDay: null,
|
|
107
|
-
inputMonth: null,
|
|
108
|
-
inputYear: null,
|
|
109
|
-
isReversing: false,
|
|
110
|
-
now,
|
|
111
|
-
// tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)
|
|
112
|
-
tableDate: (() => {
|
|
113
|
-
if (this.pickerDate) {
|
|
114
|
-
return this.pickerDate;
|
|
115
|
-
}
|
|
116
|
-
const multipleValue = wrapInArray(this.value);
|
|
117
|
-
const date = multipleValue[multipleValue.length - 1] || (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`);
|
|
118
|
-
return sanitizeDateString(date, this.type === 'date' ? 'month' : 'year');
|
|
119
|
-
})()
|
|
120
|
-
};
|
|
121
|
-
},
|
|
122
|
-
computed: {
|
|
123
|
-
multipleValue() {
|
|
124
|
-
return wrapInArray(this.value);
|
|
125
|
-
},
|
|
126
|
-
isMultiple() {
|
|
127
|
-
return this.multiple || this.range;
|
|
128
|
-
},
|
|
129
|
-
lastValue() {
|
|
130
|
-
return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : this.value;
|
|
131
|
-
},
|
|
132
|
-
selectedMonths() {
|
|
133
|
-
if (!this.value || this.type === 'month') {
|
|
134
|
-
return this.value;
|
|
135
|
-
} else if (this.isMultiple) {
|
|
136
|
-
return this.multipleValue.map(val => val.substr(0, 7));
|
|
137
|
-
} else {
|
|
138
|
-
return this.value.substr(0, 7);
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
current() {
|
|
142
|
-
if (this.showCurrent === true) {
|
|
143
|
-
return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type);
|
|
144
|
-
}
|
|
145
|
-
return this.showCurrent || null;
|
|
146
|
-
},
|
|
147
|
-
inputDate() {
|
|
148
|
-
return this.type === 'date' ? `${this.inputYear}-${pad(this.inputMonth + 1)}-${pad(this.inputDay)}` : `${this.inputYear}-${pad(this.inputMonth + 1)}`;
|
|
149
|
-
},
|
|
150
|
-
tableMonth() {
|
|
151
|
-
return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1;
|
|
152
|
-
},
|
|
153
|
-
tableYear() {
|
|
154
|
-
return Number((this.pickerDate || this.tableDate).split('-')[0]);
|
|
155
|
-
},
|
|
156
|
-
minMonth() {
|
|
157
|
-
return this.min ? sanitizeDateString(this.min, 'month') : null;
|
|
158
|
-
},
|
|
159
|
-
maxMonth() {
|
|
160
|
-
return this.max ? sanitizeDateString(this.max, 'month') : null;
|
|
161
|
-
},
|
|
162
|
-
minYear() {
|
|
163
|
-
return this.min ? sanitizeDateString(this.min, 'year') : null;
|
|
164
|
-
},
|
|
165
|
-
maxYear() {
|
|
166
|
-
return this.max ? sanitizeDateString(this.max, 'year') : null;
|
|
167
|
-
},
|
|
168
|
-
formatters() {
|
|
169
|
-
return {
|
|
170
|
-
year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, {
|
|
171
|
-
year: 'numeric',
|
|
172
|
-
timeZone: 'UTC'
|
|
173
|
-
}, {
|
|
174
|
-
length: 4
|
|
175
|
-
}),
|
|
176
|
-
titleDate: this.titleDateFormat || (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter)
|
|
177
|
-
};
|
|
178
|
-
},
|
|
179
|
-
defaultTitleMultipleDateFormatter() {
|
|
180
|
-
return dates => {
|
|
181
|
-
if (!dates.length) {
|
|
182
|
-
return '-';
|
|
183
|
-
}
|
|
184
|
-
if (dates.length === 1) {
|
|
185
|
-
return this.defaultTitleDateFormatter(dates[0]);
|
|
186
|
-
}
|
|
187
|
-
return this.$vuetify.lang.t(this.selectedItemsText, dates.length);
|
|
188
|
-
};
|
|
189
|
-
},
|
|
190
|
-
defaultTitleDateFormatter() {
|
|
191
|
-
const titleFormats = {
|
|
192
|
-
year: {
|
|
193
|
-
year: 'numeric',
|
|
194
|
-
timeZone: 'UTC'
|
|
195
|
-
},
|
|
196
|
-
month: {
|
|
197
|
-
month: 'long',
|
|
198
|
-
timeZone: 'UTC'
|
|
199
|
-
},
|
|
200
|
-
date: {
|
|
201
|
-
weekday: 'short',
|
|
202
|
-
month: 'short',
|
|
203
|
-
day: 'numeric',
|
|
204
|
-
timeZone: 'UTC'
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
|
-
const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {
|
|
208
|
-
start: 0,
|
|
209
|
-
length: {
|
|
210
|
-
date: 10,
|
|
211
|
-
month: 7,
|
|
212
|
-
year: 4
|
|
213
|
-
}[this.type]
|
|
214
|
-
});
|
|
215
|
-
const landscapeFormatter = date => titleDateFormatter(date).replace(/([^\d\s])([\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`).replace(', ', ',<br>');
|
|
216
|
-
return this.landscape ? landscapeFormatter : titleDateFormatter;
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
watch: {
|
|
220
|
-
internalActivePicker: {
|
|
221
|
-
immediate: true,
|
|
222
|
-
handler(val) {
|
|
223
|
-
this.$emit('update:active-picker', val);
|
|
224
|
-
}
|
|
225
|
-
},
|
|
226
|
-
activePicker(val) {
|
|
227
|
-
this.internalActivePicker = val;
|
|
228
|
-
},
|
|
229
|
-
tableDate(val, prev) {
|
|
230
|
-
// Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly
|
|
231
|
-
// compare for example '2000-9' and '2000-10'
|
|
232
|
-
const sanitizeType = this.type === 'month' ? 'year' : 'month';
|
|
233
|
-
this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType);
|
|
234
|
-
this.$emit('update:picker-date', val);
|
|
235
|
-
},
|
|
236
|
-
pickerDate(val) {
|
|
237
|
-
if (val) {
|
|
238
|
-
this.tableDate = val;
|
|
239
|
-
} else if (this.lastValue && this.type === 'date') {
|
|
240
|
-
this.tableDate = sanitizeDateString(this.lastValue, 'month');
|
|
241
|
-
} else if (this.lastValue && this.type === 'month') {
|
|
242
|
-
this.tableDate = sanitizeDateString(this.lastValue, 'year');
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
|
-
value(newValue, oldValue) {
|
|
246
|
-
this.checkMultipleProp();
|
|
247
|
-
this.setInputDate();
|
|
248
|
-
if (!this.isMultiple && this.value && !this.pickerDate || this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate) {
|
|
249
|
-
this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month');
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
type(type) {
|
|
253
|
-
this.internalActivePicker = type.toUpperCase();
|
|
254
|
-
if (this.value && this.value.length) {
|
|
255
|
-
const output = this.multipleValue.map(val => sanitizeDateString(val, type)).filter(this.isDateAllowed);
|
|
256
|
-
this.$emit('input', this.isMultiple ? output : output[0]);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
},
|
|
260
|
-
created() {
|
|
261
|
-
this.checkMultipleProp();
|
|
262
|
-
if (this.pickerDate !== this.tableDate) {
|
|
263
|
-
this.$emit('update:picker-date', this.tableDate);
|
|
264
|
-
}
|
|
265
|
-
this.setInputDate();
|
|
266
|
-
},
|
|
267
|
-
methods: {
|
|
268
|
-
emitInput(newInput) {
|
|
269
|
-
if (this.range) {
|
|
270
|
-
if (this.multipleValue.length !== 1) {
|
|
271
|
-
this.$emit('input', [newInput]);
|
|
272
|
-
} else {
|
|
273
|
-
const output = [this.multipleValue[0], newInput];
|
|
274
|
-
this.$emit('input', output);
|
|
275
|
-
this.$emit('change', output);
|
|
276
|
-
}
|
|
277
|
-
return;
|
|
278
|
-
}
|
|
279
|
-
const output = this.multiple ? this.multipleValue.indexOf(newInput) === -1 ? this.multipleValue.concat([newInput]) : this.multipleValue.filter(x => x !== newInput) : newInput;
|
|
280
|
-
this.$emit('input', output);
|
|
281
|
-
this.multiple || this.$emit('change', newInput);
|
|
282
|
-
},
|
|
283
|
-
checkMultipleProp() {
|
|
284
|
-
if (this.value == null) return;
|
|
285
|
-
const valueType = this.value.constructor.name;
|
|
286
|
-
const expected = this.isMultiple ? 'Array' : 'String';
|
|
287
|
-
if (valueType !== expected) {
|
|
288
|
-
consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this);
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
|
-
isDateAllowed(value) {
|
|
292
|
-
return isDateAllowed(value, this.min, this.max, this.allowedDates);
|
|
293
|
-
},
|
|
294
|
-
yearClick(value) {
|
|
295
|
-
this.inputYear = value;
|
|
296
|
-
if (this.type === 'month') {
|
|
297
|
-
this.tableDate = `${value}`;
|
|
298
|
-
} else {
|
|
299
|
-
this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`;
|
|
300
|
-
}
|
|
301
|
-
this.internalActivePicker = 'MONTH';
|
|
302
|
-
if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {
|
|
303
|
-
this.$emit('input', this.inputDate);
|
|
304
|
-
}
|
|
305
|
-
},
|
|
306
|
-
monthClick(value) {
|
|
307
|
-
const [year, month] = value.split('-');
|
|
308
|
-
this.inputYear = parseInt(year, 10);
|
|
309
|
-
this.inputMonth = parseInt(month, 10) - 1;
|
|
310
|
-
if (this.type === 'date') {
|
|
311
|
-
if (this.inputDay) {
|
|
312
|
-
this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1));
|
|
313
|
-
}
|
|
314
|
-
this.tableDate = value;
|
|
315
|
-
this.internalActivePicker = 'DATE';
|
|
316
|
-
if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {
|
|
317
|
-
this.$emit('input', this.inputDate);
|
|
318
|
-
}
|
|
319
|
-
} else {
|
|
320
|
-
this.emitInput(this.inputDate);
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
dateClick(value) {
|
|
324
|
-
const [year, month, day] = value.split('-');
|
|
325
|
-
this.inputYear = parseInt(year, 10);
|
|
326
|
-
this.inputMonth = parseInt(month, 10) - 1;
|
|
327
|
-
this.inputDay = parseInt(day, 10);
|
|
328
|
-
this.emitInput(this.inputDate);
|
|
329
|
-
},
|
|
330
|
-
genPickerTitle() {
|
|
331
|
-
return this.$createElement(VDatePickerTitle, {
|
|
332
|
-
props: {
|
|
333
|
-
date: this.value ? this.formatters.titleDate(this.isMultiple ? this.multipleValue : this.value) : '',
|
|
334
|
-
disabled: this.disabled,
|
|
335
|
-
readonly: this.readonly,
|
|
336
|
-
selectingYear: this.internalActivePicker === 'YEAR',
|
|
337
|
-
year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),
|
|
338
|
-
yearIcon: this.yearIcon,
|
|
339
|
-
value: this.multipleValue[0]
|
|
340
|
-
},
|
|
341
|
-
slot: 'title',
|
|
342
|
-
on: {
|
|
343
|
-
'update:selecting-year': value => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase()
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
},
|
|
347
|
-
genTableHeader() {
|
|
348
|
-
return this.$createElement(VDatePickerHeader, {
|
|
349
|
-
props: {
|
|
350
|
-
nextIcon: this.nextIcon,
|
|
351
|
-
color: this.color,
|
|
352
|
-
dark: this.dark,
|
|
353
|
-
disabled: this.disabled,
|
|
354
|
-
format: this.headerDateFormat,
|
|
355
|
-
light: this.light,
|
|
356
|
-
locale: this.locale,
|
|
357
|
-
min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,
|
|
358
|
-
max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,
|
|
359
|
-
nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,
|
|
360
|
-
prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,
|
|
361
|
-
prevIcon: this.prevIcon,
|
|
362
|
-
readonly: this.readonly,
|
|
363
|
-
value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`
|
|
364
|
-
},
|
|
365
|
-
on: {
|
|
366
|
-
toggle: () => this.internalActivePicker = this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR',
|
|
367
|
-
input: value => this.tableDate = value
|
|
368
|
-
}
|
|
369
|
-
});
|
|
370
|
-
},
|
|
371
|
-
genDateTable() {
|
|
372
|
-
return this.$createElement(VDatePickerDateTable, {
|
|
373
|
-
props: {
|
|
374
|
-
allowedDates: this.allowedDates,
|
|
375
|
-
color: this.color,
|
|
376
|
-
current: this.current,
|
|
377
|
-
dark: this.dark,
|
|
378
|
-
disabled: this.disabled,
|
|
379
|
-
events: this.events,
|
|
380
|
-
eventColor: this.eventColor,
|
|
381
|
-
firstDayOfWeek: this.firstDayOfWeek,
|
|
382
|
-
format: this.dayFormat,
|
|
383
|
-
light: this.light,
|
|
384
|
-
locale: this.locale,
|
|
385
|
-
localeFirstDayOfYear: this.localeFirstDayOfYear,
|
|
386
|
-
min: this.min,
|
|
387
|
-
max: this.max,
|
|
388
|
-
range: this.range,
|
|
389
|
-
readonly: this.readonly,
|
|
390
|
-
scrollable: this.scrollable,
|
|
391
|
-
showAdjacentMonths: this.showAdjacentMonths,
|
|
392
|
-
showWeek: this.showWeek,
|
|
393
|
-
tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,
|
|
394
|
-
value: this.value,
|
|
395
|
-
weekdayFormat: this.weekdayFormat
|
|
396
|
-
},
|
|
397
|
-
ref: 'table',
|
|
398
|
-
on: {
|
|
399
|
-
input: this.dateClick,
|
|
400
|
-
'update:table-date': value => this.tableDate = value,
|
|
401
|
-
...createItemTypeListeners(this, ':date')
|
|
402
|
-
}
|
|
403
|
-
});
|
|
404
|
-
},
|
|
405
|
-
genMonthTable() {
|
|
406
|
-
return this.$createElement(VDatePickerMonthTable, {
|
|
407
|
-
props: {
|
|
408
|
-
allowedDates: this.type === 'month' ? this.allowedDates : null,
|
|
409
|
-
color: this.color,
|
|
410
|
-
current: this.current ? sanitizeDateString(this.current, 'month') : null,
|
|
411
|
-
dark: this.dark,
|
|
412
|
-
disabled: this.disabled,
|
|
413
|
-
events: this.type === 'month' ? this.events : null,
|
|
414
|
-
eventColor: this.type === 'month' ? this.eventColor : null,
|
|
415
|
-
format: this.monthFormat,
|
|
416
|
-
light: this.light,
|
|
417
|
-
locale: this.locale,
|
|
418
|
-
min: this.minMonth,
|
|
419
|
-
max: this.maxMonth,
|
|
420
|
-
range: this.range,
|
|
421
|
-
readonly: this.readonly && this.type === 'month',
|
|
422
|
-
scrollable: this.scrollable,
|
|
423
|
-
value: this.selectedMonths,
|
|
424
|
-
tableDate: `${pad(this.tableYear, 4)}`
|
|
425
|
-
},
|
|
426
|
-
ref: 'table',
|
|
427
|
-
on: {
|
|
428
|
-
input: this.monthClick,
|
|
429
|
-
'update:table-date': value => this.tableDate = value,
|
|
430
|
-
...createItemTypeListeners(this, ':month')
|
|
431
|
-
}
|
|
432
|
-
});
|
|
433
|
-
},
|
|
434
|
-
genYears() {
|
|
435
|
-
return this.$createElement(VDatePickerYears, {
|
|
436
|
-
props: {
|
|
437
|
-
color: this.color,
|
|
438
|
-
format: this.yearFormat,
|
|
439
|
-
locale: this.locale,
|
|
440
|
-
min: this.minYear,
|
|
441
|
-
max: this.maxYear,
|
|
442
|
-
value: this.tableYear
|
|
443
|
-
},
|
|
444
|
-
on: {
|
|
445
|
-
input: this.yearClick,
|
|
446
|
-
...createItemTypeListeners(this, ':year')
|
|
447
|
-
}
|
|
448
|
-
});
|
|
449
|
-
},
|
|
450
|
-
genPickerBody() {
|
|
451
|
-
const children = this.internalActivePicker === 'YEAR' ? [this.genYears()] : [this.genTableHeader(), this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable()];
|
|
452
|
-
return this.$createElement('div', {
|
|
453
|
-
key: this.internalActivePicker
|
|
454
|
-
}, children);
|
|
455
|
-
},
|
|
456
|
-
setInputDate() {
|
|
457
|
-
if (this.lastValue) {
|
|
458
|
-
const array = this.lastValue.split('-');
|
|
459
|
-
this.inputYear = parseInt(array[0], 10);
|
|
460
|
-
this.inputMonth = parseInt(array[1], 10) - 1;
|
|
461
|
-
if (this.type === 'date') {
|
|
462
|
-
this.inputDay = parseInt(array[2], 10);
|
|
463
|
-
}
|
|
464
|
-
} else {
|
|
465
|
-
this.inputYear = this.inputYear || this.now.getFullYear();
|
|
466
|
-
this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth();
|
|
467
|
-
this.inputDay = this.inputDay || this.now.getDate();
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
},
|
|
471
|
-
render() {
|
|
472
|
-
return this.genPicker('v-picker--date');
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
//# sourceMappingURL=VDatePicker.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePicker.mjs","names":["VDatePickerTitle","VDatePickerHeader","VDatePickerDateTable","VDatePickerMonthTable","VDatePickerYears","Localable","Picker","isDateAllowed","mixins","wrapInArray","daysInMonth","consoleWarn","createItemTypeListeners","createNativeLocaleFormatter","pad","sanitizeDateString","extend","name","props","activePicker","String","allowedDates","Function","dayFormat","disabled","Boolean","events","type","Array","Object","default","eventColor","firstDayOfWeek","Number","headerDateFormat","localeFirstDayOfYear","max","min","monthFormat","multiple","nextIcon","nextMonthAriaLabel","nextYearAriaLabel","pickerDate","prevIcon","prevMonthAriaLabel","prevYearAriaLabel","range","reactive","readonly","scrollable","showCurrent","selectedItemsText","showAdjacentMonths","showWeek","titleDateFormat","validator","includes","value","weekdayFormat","yearFormat","yearIcon","data","now","Date","internalActivePicker","toUpperCase","inputDay","inputMonth","inputYear","isReversing","tableDate","multipleValue","date","length","getFullYear","getMonth","computed","isMultiple","lastValue","selectedMonths","map","val","substr","current","getDate","inputDate","tableMonth","split","tableYear","minMonth","maxMonth","minYear","maxYear","formatters","year","currentLocale","timeZone","titleDate","defaultTitleMultipleDateFormatter","defaultTitleDateFormatter","dates","$vuetify","lang","t","titleFormats","month","weekday","day","titleDateFormatter","start","landscapeFormatter","replace","match","nonDigit","digit","landscape","watch","immediate","handler","$emit","prev","sanitizeType","newValue","oldValue","checkMultipleProp","setInputDate","output","filter","created","methods","emitInput","newInput","indexOf","concat","x","valueType","constructor","expected","yearClick","monthClick","parseInt","Math","dateClick","genPickerTitle","$createElement","selectingYear","slot","on","genTableHeader","color","dark","format","light","locale","nextAriaLabel","prevAriaLabel","toggle","input","genDateTable","ref","genMonthTable","genYears","genPickerBody","children","key","array","render","genPicker"],"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// 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"],"mappings":"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"}
|