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
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createVNode as _createVNode } from "vue";
|
|
2
|
+
// Styles
|
|
3
|
+
import "./VDatePickerHeader.css";
|
|
4
|
+
|
|
5
|
+
// Components
|
|
6
|
+
import { VBtn } from "../../components/VBtn/index.mjs";
|
|
7
|
+
import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs"; // Composables
|
|
8
|
+
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
9
|
+
import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
|
|
10
|
+
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
11
|
+
export const makeVDatePickerHeaderProps = propsFactory({
|
|
12
|
+
appendIcon: String,
|
|
13
|
+
color: String,
|
|
14
|
+
header: String,
|
|
15
|
+
transition: String
|
|
16
|
+
}, 'VDatePickerHeader');
|
|
17
|
+
export const VDatePickerHeader = genericComponent()({
|
|
18
|
+
name: 'VDatePickerHeader',
|
|
19
|
+
props: makeVDatePickerHeaderProps(),
|
|
20
|
+
emits: {
|
|
21
|
+
'click:append': () => true
|
|
22
|
+
},
|
|
23
|
+
setup(props, _ref) {
|
|
24
|
+
let {
|
|
25
|
+
emit,
|
|
26
|
+
slots
|
|
27
|
+
} = _ref;
|
|
28
|
+
const {
|
|
29
|
+
backgroundColorClasses,
|
|
30
|
+
backgroundColorStyles
|
|
31
|
+
} = useBackgroundColor(props, 'color');
|
|
32
|
+
function onClickAppend() {
|
|
33
|
+
emit('click:append');
|
|
34
|
+
}
|
|
35
|
+
useRender(() => {
|
|
36
|
+
const hasContent = !!(slots.default || props.header);
|
|
37
|
+
const hasAppend = !!(slots.append || props.appendIcon);
|
|
38
|
+
return _createVNode("div", {
|
|
39
|
+
"class": ['v-date-picker-header', backgroundColorClasses.value],
|
|
40
|
+
"style": backgroundColorStyles.value
|
|
41
|
+
}, [slots.prepend && _createVNode("div", {
|
|
42
|
+
"key": "prepend",
|
|
43
|
+
"class": "v-date-picker-header__prepend"
|
|
44
|
+
}, [slots.prepend()]), hasContent && _createVNode(MaybeTransition, {
|
|
45
|
+
"key": "content",
|
|
46
|
+
"name": props.transition
|
|
47
|
+
}, {
|
|
48
|
+
default: () => [_createVNode("div", {
|
|
49
|
+
"key": props.header,
|
|
50
|
+
"class": "v-date-picker-header__content"
|
|
51
|
+
}, [slots.default?.() ?? props.header])]
|
|
52
|
+
}), hasAppend && _createVNode("div", {
|
|
53
|
+
"class": "v-date-picker-header__append"
|
|
54
|
+
}, [!slots.append ? _createVNode(VBtn, {
|
|
55
|
+
"key": "append-btn",
|
|
56
|
+
"icon": props.appendIcon,
|
|
57
|
+
"variant": "text",
|
|
58
|
+
"onClick": onClickAppend
|
|
59
|
+
}, null) : _createVNode(VDefaultsProvider, {
|
|
60
|
+
"key": "append-defaults",
|
|
61
|
+
"disabled": !props.appendIcon,
|
|
62
|
+
"defaults": {
|
|
63
|
+
VBtn: {
|
|
64
|
+
icon: props.appendIcon,
|
|
65
|
+
variant: 'text'
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
default: () => [slots.append?.()]
|
|
70
|
+
})])]);
|
|
71
|
+
});
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
//# sourceMappingURL=VDatePickerHeader.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","VDatePickerHeader","name","props","emits","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/labs/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,wDAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAED,MAAM;EACbE,MAAM,EAAEF,MAAM;EACdG,UAAU,EAAEH;AACd,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMI,iBAAiB,GAAGT,gBAAgB,EAA0B,CAAC;EAC1EU,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAER,0BAA0B,EAAE;EAEnCS,KAAK,EAAE;IACL,cAAc,EAAEC,CAAA,KAAM;EACxB,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,sBAAsB;MAAEC;IAAsB,CAAC,GAAGrB,kBAAkB,CAACa,KAAK,EAAE,OAAO,CAAC;IAE5F,SAASS,aAAaA,CAAA,EAAI;MACxBJ,IAAI,CAAC,cAAc,CAAC;IACtB;IAEAd,SAAS,CAAC,MAAM;MACd,MAAMmB,UAAU,GAAG,CAAC,EAAEJ,KAAK,CAACK,OAAO,IAAIX,KAAK,CAACJ,MAAM,CAAC;MACpD,MAAMgB,SAAS,GAAG,CAAC,EAAEN,KAAK,CAACO,MAAM,IAAIb,KAAK,CAACP,UAAU,CAAC;MAEtD,OAAAqB,YAAA;QAAA,SAEW,CACL,sBAAsB,EACtBP,sBAAsB,CAACQ,KAAK,CAC7B;QAAA,SACOP,qBAAqB,CAACO;MAAK,IAEjCT,KAAK,CAACU,OAAO,IAAAF,YAAA;QAAA,OACJ,SAAS;QAAA,SAAO;MAA+B,IACpDR,KAAK,CAACU,OAAO,EAAE,EAEpB,EAECN,UAAU,IAAAI,YAAA,CAAA1B,eAAA;QAAA,OACW,SAAS;QAAA,QAAQY,KAAK,CAACH;MAAU;QAAAc,OAAA,EAAAA,CAAA,MAAAG,YAAA;UAAA,OACzCd,KAAK,CAACJ,MAAM;UAAA,SAAS;QAA+B,IAC3DU,KAAK,CAACK,OAAO,IAAI,IAAIX,KAAK,CAACJ,MAAM;MAAA,EAGxC,EAECgB,SAAS,IAAAE,YAAA;QAAA,SACE;MAA8B,IACrC,CAACR,KAAK,CAACO,MAAM,GAAAC,YAAA,CAAA7B,IAAA;QAAA,OAEP,YAAY;QAAA,QACTe,KAAK,CAACP,UAAU;QAAA,WACf,MAAM;QAAA,WACJgB;MAAa,WAAAK,YAAA,CAAA5B,iBAAA;QAAA,OAInB,iBAAiB;QAAA,YACV,CAACc,KAAK,CAACP,UAAU;QAAA,YAClB;UACRR,IAAI,EAAE;YACJgC,IAAI,EAAEjB,KAAK,CAACP,UAAU;YACtByB,OAAO,EAAE;UACX;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAECL,KAAK,CAACO,MAAM,IAAI;MAAA,EAErB,EAEJ;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@use '../../styles/settings'
|
|
2
|
+
|
|
3
|
+
.v-date-picker-header
|
|
4
|
+
display: grid
|
|
5
|
+
grid-template-areas: "prepend content append"
|
|
6
|
+
grid-template-columns: min-content minmax(0, 1fr) min-content
|
|
7
|
+
overflow: hidden
|
|
8
|
+
padding-inline-start: 24px
|
|
9
|
+
padding-inline-end: 12px
|
|
10
|
+
padding-bottom: 12px
|
|
11
|
+
|
|
12
|
+
.v-date-picker-header__append
|
|
13
|
+
grid-area: append
|
|
14
|
+
|
|
15
|
+
.v-date-picker-header__prepend
|
|
16
|
+
grid-area: prepend
|
|
17
|
+
padding-inline-start: 8px
|
|
18
|
+
|
|
19
|
+
.v-date-picker-header__content
|
|
20
|
+
align-items: center
|
|
21
|
+
display: flex
|
|
22
|
+
font-size: 32px
|
|
23
|
+
line-height: 40px
|
|
24
|
+
grid-area: content
|
|
25
|
+
justify-content: space-between
|
|
26
|
+
|
|
27
|
+
.date-picker-header-transition,
|
|
28
|
+
.date-picker-header-reverse-transition
|
|
29
|
+
&-enter-active
|
|
30
|
+
transition-duration: 0.3s
|
|
31
|
+
transition-timing-function: settings.$standard-easing
|
|
32
|
+
|
|
33
|
+
&-leave-active
|
|
34
|
+
transition-duration: 0.3s
|
|
35
|
+
transition-timing-function: settings.$standard-easing
|
|
36
|
+
|
|
37
|
+
.date-picker-header-transition
|
|
38
|
+
&-enter-from
|
|
39
|
+
transform: translate(0, 100%)
|
|
40
|
+
|
|
41
|
+
&-leave-to
|
|
42
|
+
opacity: 0
|
|
43
|
+
transform: translate(0, -100%)
|
|
44
|
+
|
|
45
|
+
.date-picker-header-reverse-transition
|
|
46
|
+
&-enter-from
|
|
47
|
+
transform: translate(0, -100%)
|
|
48
|
+
|
|
49
|
+
&-leave-to
|
|
50
|
+
opacity: 0
|
|
51
|
+
transform: translate(0, 100%)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.v-date-picker-input
|
|
2
|
+
width: 300px
|
|
3
|
+
height: 350px
|
|
4
|
+
overflow: hidden
|
|
5
|
+
|
|
6
|
+
table
|
|
7
|
+
width: 100%
|
|
8
|
+
|
|
9
|
+
.v-date-picker-input__header
|
|
10
|
+
display: flex
|
|
11
|
+
justify-content: space-between
|
|
12
|
+
align-items: center
|
|
13
|
+
|
|
14
|
+
.v-date-picker-input__year
|
|
15
|
+
display: grid
|
|
16
|
+
grid-template-columns: 1fr 1fr 1fr 1fr
|
|
17
|
+
grid-gap: 4px
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
.v-date-picker-month {
|
|
2
|
+
display: flex;
|
|
3
|
+
justify-content: center;
|
|
4
|
+
height: 268px;
|
|
5
|
+
min-width: 328px;
|
|
6
|
+
--v-date-picker-month-day-diff: 4px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.v-date-picker-month__weeks {
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-rows: min-content min-content min-content min-content min-content min-content min-content;
|
|
12
|
+
grid-row-gap: 4px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.v-date-picker-month__weekday {
|
|
16
|
+
font-size: 0.875rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.v-date-picker-month__days {
|
|
20
|
+
display: grid;
|
|
21
|
+
grid-template-columns: min-content min-content min-content min-content min-content min-content min-content;
|
|
22
|
+
grid-row-gap: 4px;
|
|
23
|
+
flex: 1 1;
|
|
24
|
+
justify-content: space-around;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.v-date-picker-month__day {
|
|
28
|
+
position: relative;
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
justify-content: center;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.v-date-picker-month__day--adjacent {
|
|
35
|
+
opacity: 0.5;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.v-date-picker-month__day--hide-adjacent {
|
|
39
|
+
opacity: 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.v-date-picker-month__day--range {
|
|
43
|
+
position: absolute;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: calc(100% - var(--v-date-picker-month-day-diff) * 2);
|
|
46
|
+
opacity: 0.5;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.v-date-picker-month__day--hover {
|
|
50
|
+
position: absolute;
|
|
51
|
+
width: 100%;
|
|
52
|
+
height: calc(100% - var(--v-date-picker-month-day-diff) * 2);
|
|
53
|
+
border-style: dashed;
|
|
54
|
+
border-top-width: 1px;
|
|
55
|
+
border-bottom-width: 1px;
|
|
56
|
+
border-left: none;
|
|
57
|
+
border-right: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.v-date-picker-month__day--start .v-date-picker-month__day--range, .v-date-picker-month__day--week-start .v-date-picker-month__day--range {
|
|
61
|
+
border-bottom-left-radius: 50%;
|
|
62
|
+
border-top-left-radius: 50%;
|
|
63
|
+
left: var(--v-date-picker-month-day-diff);
|
|
64
|
+
width: calc(100% - var(--v-date-picker-month-day-diff));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.v-date-picker-month__day--end .v-date-picker-month__day--range, .v-date-picker-month__day--week-end .v-date-picker-month__day--range {
|
|
68
|
+
border-bottom-right-radius: 50%;
|
|
69
|
+
border-top-right-radius: 50%;
|
|
70
|
+
right: var(--v-date-picker-month-day-diff);
|
|
71
|
+
width: calc(100% - var(--v-date-picker-month-day-diff));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.v-date-picker-month__day--selected.v-date-picker-month__day--end.v-date-picker-month__day--week-start .v-date-picker-month__day--range,
|
|
75
|
+
.v-date-picker-month__day--selected.v-date-picker-month__day--start.v-date-picker-month__day--week-end .v-date-picker-month__day--range {
|
|
76
|
+
display: none;
|
|
77
|
+
}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { createVNode as _createVNode, createTextVNode as _createTextVNode } from "vue";
|
|
2
|
+
// Styles
|
|
3
|
+
import "./VDatePickerMonth.css";
|
|
4
|
+
|
|
5
|
+
// Components
|
|
6
|
+
import { VBtn } from "../../components/VBtn/index.mjs"; // Composables
|
|
7
|
+
import { useDatePicker } from "./composables.mjs";
|
|
8
|
+
import { useBackgroundColor } from "../../composables/color.mjs"; // Utilities
|
|
9
|
+
import { computed, ref } from 'vue';
|
|
10
|
+
import { genericComponent, omit, propsFactory } from "../../util/index.mjs"; // Types
|
|
11
|
+
import { getWeek, toIso } from "../date/date.mjs";
|
|
12
|
+
import { dateEmits, makeDateProps } from "../VDateInput/composables.mjs";
|
|
13
|
+
import { useDate } from "../date/index.mjs";
|
|
14
|
+
export const makeVDatePickerMonthProps = propsFactory({
|
|
15
|
+
color: String,
|
|
16
|
+
showAdjacentMonths: Boolean,
|
|
17
|
+
hideWeekdays: Boolean,
|
|
18
|
+
showWeek: Boolean,
|
|
19
|
+
range: {
|
|
20
|
+
default: false,
|
|
21
|
+
type: [String, Boolean],
|
|
22
|
+
validator: v => typeof v === 'boolean' || ['start', 'end'].includes(v)
|
|
23
|
+
},
|
|
24
|
+
hoverDate: null,
|
|
25
|
+
multiple: Boolean,
|
|
26
|
+
side: {
|
|
27
|
+
type: String
|
|
28
|
+
},
|
|
29
|
+
...omit(makeDateProps(), ['inputMode', 'viewMode'])
|
|
30
|
+
}, 'VDatePickerMonth');
|
|
31
|
+
export const VDatePickerMonth = genericComponent()({
|
|
32
|
+
name: 'VDatePickerMonth',
|
|
33
|
+
props: makeVDatePickerMonthProps({
|
|
34
|
+
color: 'surface-variant'
|
|
35
|
+
}),
|
|
36
|
+
emits: {
|
|
37
|
+
...omit(dateEmits, ['update:inputMode', 'update:viewMode']),
|
|
38
|
+
'update:hoverDate': date => true
|
|
39
|
+
},
|
|
40
|
+
setup(props, _ref) {
|
|
41
|
+
let {
|
|
42
|
+
emit,
|
|
43
|
+
slots
|
|
44
|
+
} = _ref;
|
|
45
|
+
const adapter = useDate();
|
|
46
|
+
const {
|
|
47
|
+
isDragging,
|
|
48
|
+
dragHandle,
|
|
49
|
+
hasScrolled
|
|
50
|
+
} = useDatePicker();
|
|
51
|
+
const month = computed(() => props.displayDate);
|
|
52
|
+
const findClosestDate = (date, dates) => {
|
|
53
|
+
const {
|
|
54
|
+
isSameDay,
|
|
55
|
+
getDiff
|
|
56
|
+
} = adapter;
|
|
57
|
+
const [startDate, endDate] = dates;
|
|
58
|
+
if (isSameDay(startDate, endDate)) {
|
|
59
|
+
return getDiff(date, startDate, 'days') > 0 ? endDate : startDate;
|
|
60
|
+
}
|
|
61
|
+
const distStart = Math.abs(getDiff(date, startDate));
|
|
62
|
+
const distEnd = Math.abs(getDiff(date, endDate));
|
|
63
|
+
return distStart < distEnd ? startDate : endDate;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// const hoverRange = computed<[any, any] | null>(() => {
|
|
67
|
+
// if (!props.hoverDate) return null
|
|
68
|
+
|
|
69
|
+
// const closestDate = findClosestDate(props.hoverDate, props.modelValue)
|
|
70
|
+
|
|
71
|
+
// if (!closestDate) return null
|
|
72
|
+
|
|
73
|
+
// return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]
|
|
74
|
+
// })
|
|
75
|
+
|
|
76
|
+
const weeksInMonth = computed(() => {
|
|
77
|
+
const weeks = adapter.getWeekArray(month.value);
|
|
78
|
+
const days = weeks.flat();
|
|
79
|
+
|
|
80
|
+
// Make sure there's always 6 weeks in month (6 * 7 days)
|
|
81
|
+
// But only do it if we're not hiding adjacent months?
|
|
82
|
+
const daysInMonth = 6 * 7;
|
|
83
|
+
if (days.length < daysInMonth && props.showAdjacentMonths) {
|
|
84
|
+
const lastDay = days[days.length - 1];
|
|
85
|
+
let week = [];
|
|
86
|
+
for (let day = 1; day <= daysInMonth - days.length; day++) {
|
|
87
|
+
week.push(adapter.addDays(lastDay, day));
|
|
88
|
+
if (day % 7 === 0) {
|
|
89
|
+
weeks.push(week);
|
|
90
|
+
week = [];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return weeks;
|
|
95
|
+
});
|
|
96
|
+
const daysInMonth = computed(() => {
|
|
97
|
+
const validDates = props.modelValue.filter(v => !!v);
|
|
98
|
+
const isRange = validDates.length > 1;
|
|
99
|
+
const days = weeksInMonth.value.flat();
|
|
100
|
+
const today = adapter.date();
|
|
101
|
+
const startDate = validDates[0];
|
|
102
|
+
const endDate = validDates[1];
|
|
103
|
+
return days.map((date, index) => {
|
|
104
|
+
const isStart = startDate && adapter.isSameDay(date, startDate);
|
|
105
|
+
const isEnd = endDate && adapter.isSameDay(date, endDate);
|
|
106
|
+
const isAdjacent = !adapter.isSameMonth(date, month.value);
|
|
107
|
+
const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate);
|
|
108
|
+
return {
|
|
109
|
+
date,
|
|
110
|
+
isoDate: toIso(adapter, date),
|
|
111
|
+
formatted: adapter.format(date, 'keyboardDate'),
|
|
112
|
+
year: adapter.getYear(date),
|
|
113
|
+
month: adapter.getMonth(date),
|
|
114
|
+
isWeekStart: index % 7 === 0,
|
|
115
|
+
isWeekEnd: index % 7 === 6,
|
|
116
|
+
isSelected: isStart || isEnd,
|
|
117
|
+
isStart,
|
|
118
|
+
isEnd,
|
|
119
|
+
isToday: adapter.isSameDay(date, today),
|
|
120
|
+
isAdjacent,
|
|
121
|
+
isHidden: isAdjacent && !props.showAdjacentMonths,
|
|
122
|
+
inRange: isRange && !isSame && (isStart || isEnd || validDates.length === 2 && adapter.isWithinRange(date, validDates)),
|
|
123
|
+
// isHovered: props.hoverDate === date,
|
|
124
|
+
// inHover: hoverRange.value && isWithinRange(date, hoverRange.value),
|
|
125
|
+
isHovered: false,
|
|
126
|
+
inHover: false,
|
|
127
|
+
localized: adapter.format(date, 'dayOfMonth')
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const weeks = computed(() => {
|
|
132
|
+
return weeksInMonth.value.map(week => {
|
|
133
|
+
return getWeek(adapter, week[0]);
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
const {
|
|
137
|
+
backgroundColorClasses,
|
|
138
|
+
backgroundColorStyles
|
|
139
|
+
} = useBackgroundColor(props, 'color');
|
|
140
|
+
function selectDate(date) {
|
|
141
|
+
let newModel = props.modelValue.slice();
|
|
142
|
+
if (props.multiple) {
|
|
143
|
+
if (isDragging.value && dragHandle.value != null) {
|
|
144
|
+
const otherIndex = (dragHandle.value + 1) % 2;
|
|
145
|
+
const fn = otherIndex === 0 ? 'isBefore' : 'isAfter';
|
|
146
|
+
if (adapter[fn](date, newModel[otherIndex])) {
|
|
147
|
+
newModel[dragHandle.value] = newModel[otherIndex];
|
|
148
|
+
newModel[otherIndex] = date;
|
|
149
|
+
dragHandle.value = otherIndex;
|
|
150
|
+
} else {
|
|
151
|
+
newModel[dragHandle.value] = date;
|
|
152
|
+
}
|
|
153
|
+
} else {
|
|
154
|
+
if (newModel.find(d => adapter.isSameDay(d, date))) {
|
|
155
|
+
newModel = newModel.filter(v => !adapter.isSameDay(v, date));
|
|
156
|
+
} else if (newModel.length === 2) {
|
|
157
|
+
let index;
|
|
158
|
+
if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {
|
|
159
|
+
const closest = findClosestDate(date, newModel);
|
|
160
|
+
index = newModel.indexOf(closest);
|
|
161
|
+
} else {
|
|
162
|
+
index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined;
|
|
163
|
+
}
|
|
164
|
+
newModel = newModel.map((v, i) => i === index ? date : v);
|
|
165
|
+
} else {
|
|
166
|
+
if (newModel[0] && adapter.isBefore(newModel[0], date)) {
|
|
167
|
+
newModel = [newModel[0], date];
|
|
168
|
+
} else {
|
|
169
|
+
newModel = [date, newModel[0]];
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
} else {
|
|
174
|
+
newModel = [date];
|
|
175
|
+
}
|
|
176
|
+
emit('update:modelValue', newModel.filter(v => !!v));
|
|
177
|
+
}
|
|
178
|
+
const daysRef = ref();
|
|
179
|
+
function findElement(el) {
|
|
180
|
+
if (!el || el === daysRef.value) return null;
|
|
181
|
+
if ('vDate' in el.dataset) {
|
|
182
|
+
return adapter.date(el.dataset.vDate);
|
|
183
|
+
}
|
|
184
|
+
return findElement(el.parentElement);
|
|
185
|
+
}
|
|
186
|
+
function findDate(e) {
|
|
187
|
+
const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX;
|
|
188
|
+
const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY;
|
|
189
|
+
const el = document.elementFromPoint(x, y);
|
|
190
|
+
return findElement(el);
|
|
191
|
+
}
|
|
192
|
+
let canDrag = false;
|
|
193
|
+
function handleMousedown(e) {
|
|
194
|
+
hasScrolled.value = false;
|
|
195
|
+
const selected = findDate(e);
|
|
196
|
+
if (!selected) return;
|
|
197
|
+
const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected));
|
|
198
|
+
if (modelIndex >= 0) {
|
|
199
|
+
canDrag = true;
|
|
200
|
+
dragHandle.value = modelIndex;
|
|
201
|
+
window.addEventListener('touchmove', handleTouchmove, {
|
|
202
|
+
passive: false
|
|
203
|
+
});
|
|
204
|
+
window.addEventListener('mousemove', handleTouchmove, {
|
|
205
|
+
passive: false
|
|
206
|
+
});
|
|
207
|
+
e.preventDefault();
|
|
208
|
+
}
|
|
209
|
+
window.addEventListener('touchend', handleTouchend, {
|
|
210
|
+
passive: false
|
|
211
|
+
});
|
|
212
|
+
window.addEventListener('mouseup', handleTouchend, {
|
|
213
|
+
passive: false
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
function handleTouchmove(e) {
|
|
217
|
+
if (!canDrag) return;
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
isDragging.value = true;
|
|
220
|
+
const over = findDate(e);
|
|
221
|
+
if (!over) return;
|
|
222
|
+
selectDate(over);
|
|
223
|
+
}
|
|
224
|
+
function handleTouchend(e) {
|
|
225
|
+
if (e.cancelable) e.preventDefault();
|
|
226
|
+
window.removeEventListener('touchmove', handleTouchmove);
|
|
227
|
+
window.removeEventListener('mousemove', handleTouchmove);
|
|
228
|
+
window.removeEventListener('touchend', handleTouchend);
|
|
229
|
+
window.removeEventListener('mouseup', handleTouchend);
|
|
230
|
+
const end = findDate(e);
|
|
231
|
+
if (!end) return;
|
|
232
|
+
if (!hasScrolled.value) {
|
|
233
|
+
selectDate(end);
|
|
234
|
+
}
|
|
235
|
+
isDragging.value = false;
|
|
236
|
+
dragHandle.value = null;
|
|
237
|
+
canDrag = false;
|
|
238
|
+
}
|
|
239
|
+
return () => _createVNode("div", {
|
|
240
|
+
"class": "v-date-picker-month"
|
|
241
|
+
}, [props.showWeek && _createVNode("div", {
|
|
242
|
+
"key": "weeks",
|
|
243
|
+
"class": "v-date-picker-month__weeks"
|
|
244
|
+
}, [!props.hideWeekdays && _createVNode("div", {
|
|
245
|
+
"key": "hide-week-days",
|
|
246
|
+
"class": "v-date-picker-month__day"
|
|
247
|
+
}, [_createTextVNode("\xA0")]), weeks.value.map(week => _createVNode("div", {
|
|
248
|
+
"class": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']
|
|
249
|
+
}, [week]))]), _createVNode("div", {
|
|
250
|
+
"ref": daysRef,
|
|
251
|
+
"class": "v-date-picker-month__days",
|
|
252
|
+
"onMousedown": handleMousedown,
|
|
253
|
+
"onTouchstart": handleMousedown
|
|
254
|
+
}, [!props.hideWeekdays && adapter.getWeekdays().map(weekDay => _createVNode("div", {
|
|
255
|
+
"class": ['v-date-picker-month__day', 'v-date-picker-month__weekday']
|
|
256
|
+
}, [weekDay.charAt(0)])), daysInMonth.value.map((item, index) => _createVNode("div", {
|
|
257
|
+
"class": ['v-date-picker-month__day', {
|
|
258
|
+
'v-date-picker-month__day--selected': item.isSelected,
|
|
259
|
+
'v-date-picker-month__day--start': item.isStart,
|
|
260
|
+
'v-date-picker-month__day--end': item.isEnd,
|
|
261
|
+
'v-date-picker-month__day--adjacent': item.isAdjacent,
|
|
262
|
+
'v-date-picker-month__day--hide-adjacent': item.isHidden,
|
|
263
|
+
'v-date-picker-month__day--week-start': item.isWeekStart,
|
|
264
|
+
'v-date-picker-month__day--week-end': item.isWeekEnd,
|
|
265
|
+
'v-date-picker-month__day--hovered': item.isHovered
|
|
266
|
+
}],
|
|
267
|
+
"data-v-date": !item.isHidden ? item.isoDate : undefined
|
|
268
|
+
}, [item.inRange && _createVNode("div", {
|
|
269
|
+
"key": "in-range",
|
|
270
|
+
"class": ['v-date-picker-month__day--range', backgroundColorClasses.value],
|
|
271
|
+
"style": backgroundColorStyles.value
|
|
272
|
+
}, null), item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && _createVNode("div", {
|
|
273
|
+
"key": "in-hover",
|
|
274
|
+
"class": "v-date-picker-month__day--hover"
|
|
275
|
+
}, null), (props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VBtn, {
|
|
276
|
+
"icon": true,
|
|
277
|
+
"ripple": false,
|
|
278
|
+
"variant": (item.isToday || item.isHovered) && !item.isSelected ? 'outlined' : 'flat',
|
|
279
|
+
"active": item.isSelected,
|
|
280
|
+
"color": item.isSelected || item.isToday ? props.color : item.isHovered ? undefined : 'transparent'
|
|
281
|
+
}, {
|
|
282
|
+
default: () => [item.localized]
|
|
283
|
+
})]))])]);
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
//# sourceMappingURL=VDatePickerMonth.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","useDatePicker","useBackgroundColor","computed","ref","genericComponent","omit","propsFactory","getWeek","toIso","dateEmits","makeDateProps","useDate","makeVDatePickerMonthProps","color","String","showAdjacentMonths","Boolean","hideWeekdays","showWeek","range","default","type","validator","v","includes","hoverDate","multiple","side","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","adapter","isDragging","dragHandle","hasScrolled","month","displayDate","findClosestDate","dates","isSameDay","getDiff","startDate","endDate","distStart","Math","abs","distEnd","weeksInMonth","weeks","getWeekArray","value","days","flat","daysInMonth","length","lastDay","week","day","push","addDays","validDates","modelValue","filter","isRange","today","map","index","isStart","isEnd","isAdjacent","isSameMonth","isSame","isoDate","formatted","format","year","getYear","getMonth","isWeekStart","isWeekEnd","isSelected","isToday","isHidden","inRange","isWithinRange","isHovered","inHover","localized","backgroundColorClasses","backgroundColorStyles","selectDate","newModel","slice","otherIndex","fn","find","d","closest","indexOf","undefined","i","isBefore","daysRef","findElement","el","dataset","vDate","parentElement","findDate","e","x","changedTouches","clientX","y","clientY","document","elementFromPoint","canDrag","handleMousedown","selected","modelIndex","findIndex","isEqual","window","addEventListener","handleTouchmove","passive","preventDefault","handleTouchend","over","cancelable","removeEventListener","end","_createVNode","_createTextVNode","getWeekdays","weekDay","charAt","item"],"sources":["../../../src/labs/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useDatePicker } from './composables'\nimport { useBackgroundColor } from '@/composables/color'\n\n// Utilities\nimport { computed, ref } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport { getWeek, toIso } from '../date/date'\nimport { dateEmits, makeDateProps } from '../VDateInput/composables'\nimport { useDate } from '@/labs/date'\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n showAdjacentMonths: Boolean,\n hideWeekdays: Boolean,\n showWeek: Boolean,\n range: {\n default: false,\n type: [String, Boolean] as PropType<'start' | 'end' | boolean>,\n validator: (v: any) => typeof v === 'boolean' || ['start', 'end'].includes(v),\n },\n hoverDate: null,\n multiple: Boolean,\n side: {\n type: String,\n },\n\n ...omit(makeDateProps(), ['inputMode', 'viewMode']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps({ color: 'surface-variant' }),\n\n emits: {\n ...omit(dateEmits, ['update:inputMode', 'update:viewMode']),\n 'update:hoverDate': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { isDragging, dragHandle, hasScrolled } = useDatePicker()\n\n const month = computed(() => props.displayDate)\n\n const findClosestDate = (date: any, dates: any[]) => {\n const { isSameDay, getDiff } = adapter\n const [startDate, endDate] = dates\n\n if (isSameDay(startDate, endDate)) {\n return getDiff(date, startDate, 'days') > 0 ? endDate : startDate\n }\n\n const distStart = Math.abs(getDiff(date, startDate))\n const distEnd = Math.abs(getDiff(date, endDate))\n\n return distStart < distEnd ? startDate : endDate\n }\n\n // const hoverRange = computed<[any, any] | null>(() => {\n // if (!props.hoverDate) return null\n\n // const closestDate = findClosestDate(props.hoverDate, props.modelValue)\n\n // if (!closestDate) return null\n\n // return adapter.isAfter(props.hoverDate, closestDate) ? [closestDate, props.hoverDate] : [props.hoverDate, closestDate]\n // })\n\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // But only do it if we're not hiding adjacent months?\n const daysInMonth = 6 * 7\n if (days.length < daysInMonth && props.showAdjacentMonths) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n const daysInMonth = computed(() => {\n const validDates = props.modelValue.filter(v => !!v)\n const isRange = validDates.length > 1\n\n const days = weeksInMonth.value.flat()\n const today = adapter.date()\n\n const startDate = validDates[0]\n const endDate = validDates[1]\n\n return days.map((date, index) => {\n const isStart = startDate && adapter.isSameDay(date, startDate)\n const isEnd = endDate && adapter.isSameDay(date, endDate)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isSame = validDates.length === 2 && adapter.isSameDay(startDate, endDate)\n\n return {\n date,\n isoDate: toIso(adapter, date),\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isSelected: isStart || isEnd,\n isStart,\n isEnd,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n inRange: isRange &&\n !isSame &&\n (isStart || isEnd || (validDates.length === 2 && adapter.isWithinRange(date, validDates as [any, any]))),\n // isHovered: props.hoverDate === date,\n // inHover: hoverRange.value && isWithinRange(date, hoverRange.value),\n isHovered: false,\n inHover: false,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n })\n\n const weeks = computed(() => {\n return weeksInMonth.value.map(week => {\n return getWeek(adapter, week[0])\n })\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function selectDate (date: any) {\n let newModel = props.modelValue.slice()\n\n if (props.multiple) {\n if (isDragging.value && dragHandle.value != null) {\n const otherIndex = (dragHandle.value + 1) % 2\n const fn = otherIndex === 0 ? 'isBefore' : 'isAfter'\n if (adapter[fn](date, newModel[otherIndex])) {\n newModel[dragHandle.value] = newModel[otherIndex]\n newModel[otherIndex] = date\n dragHandle.value = otherIndex\n } else {\n newModel[dragHandle.value] = date\n }\n } else {\n if (newModel.find(d => adapter.isSameDay(d, date))) {\n newModel = newModel.filter(v => !adapter.isSameDay(v, date))\n } else if (newModel.length === 2) {\n let index: number | undefined\n if (!props.side || adapter.isSameMonth(newModel[0], newModel[1])) {\n const closest = findClosestDate(date, newModel)\n index = newModel.indexOf(closest)\n } else {\n index = props.side === 'start' ? 0 : props.side === 'end' ? 1 : undefined\n }\n\n newModel = newModel.map((v, i) => i === index ? date : v)\n } else {\n if (newModel[0] && adapter.isBefore(newModel[0], date)) {\n newModel = [newModel[0], date]\n } else {\n newModel = [date, newModel[0]]\n }\n }\n }\n } else {\n newModel = [date]\n }\n\n emit('update:modelValue', newModel.filter(v => !!v))\n }\n\n const daysRef = ref()\n\n function findElement (el: HTMLElement | null): any {\n if (!el || el === daysRef.value) return null\n\n if ('vDate' in el.dataset) {\n return adapter.date(el.dataset.vDate)\n }\n\n return findElement(el.parentElement)\n }\n\n function findDate (e: MouseEvent | TouchEvent) {\n const x = 'changedTouches' in e ? e.changedTouches[0]?.clientX : e.clientX\n const y = 'changedTouches' in e ? e.changedTouches[0]?.clientY : e.clientY\n const el = document.elementFromPoint(x, y) as HTMLElement\n\n return findElement(el)\n }\n\n let canDrag = false\n function handleMousedown (e: MouseEvent | TouchEvent) {\n hasScrolled.value = false\n\n const selected = findDate(e)\n\n if (!selected) return\n\n const modelIndex = props.modelValue.findIndex(d => adapter.isEqual(d, selected))\n\n if (modelIndex >= 0) {\n canDrag = true\n dragHandle.value = modelIndex\n\n window.addEventListener('touchmove', handleTouchmove, { passive: false })\n window.addEventListener('mousemove', handleTouchmove, { passive: false })\n\n e.preventDefault()\n }\n\n window.addEventListener('touchend', handleTouchend, { passive: false })\n window.addEventListener('mouseup', handleTouchend, { passive: false })\n }\n\n function handleTouchmove (e: MouseEvent | TouchEvent) {\n if (!canDrag) return\n\n e.preventDefault()\n\n isDragging.value = true\n\n const over = findDate(e)\n\n if (!over) return\n\n selectDate(over)\n }\n\n function handleTouchend (e: MouseEvent | TouchEvent) {\n if (e.cancelable) e.preventDefault()\n\n window.removeEventListener('touchmove', handleTouchmove)\n window.removeEventListener('mousemove', handleTouchmove)\n window.removeEventListener('touchend', handleTouchend)\n window.removeEventListener('mouseup', handleTouchend)\n\n const end = findDate(e)\n\n if (!end) return\n\n if (!hasScrolled.value) {\n selectDate(end)\n }\n\n isDragging.value = false\n dragHandle.value = null\n canDrag = false\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weeks.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <div\n ref={ daysRef }\n class=\"v-date-picker-month__days\"\n onMousedown={ handleMousedown }\n onTouchstart={ handleMousedown }\n >\n { !props.hideWeekdays && adapter.getWeekdays().map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay.charAt(0) }</div>\n ))}\n\n { daysInMonth.value.map((item, index) => (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--start': item.isStart,\n 'v-date-picker-month__day--end': item.isEnd,\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--hovered': item.isHovered,\n },\n ]}\n data-v-date={ !item.isHidden ? item.isoDate : undefined }\n >\n { item.inRange && (\n <div\n key=\"in-range\"\n class={[\n 'v-date-picker-month__day--range',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n />\n )}\n\n { item.inHover && !item.isStart && !item.isEnd && !item.isHovered && !item.inRange && (\n <div\n key=\"in-hover\"\n class=\"v-date-picker-month__day--hover\"\n />\n )}\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VBtn\n icon\n ripple={ false } /* ripple not working correctly since we preventDefault in touchend */\n variant={ (item.isToday || item.isHovered) && !item.isSelected ? 'outlined' : 'flat' }\n active={ item.isSelected }\n color={ item.isSelected || item.isToday ? props.color : item.isHovered ? undefined : 'transparent' }\n >\n { item.localized }\n </VBtn>\n )}\n </div>\n ))}\n </div>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
.v-date-picker-month
|
|
2
|
+
display: flex
|
|
3
|
+
justify-content: center
|
|
4
|
+
height: 268px
|
|
5
|
+
min-width: 328px
|
|
6
|
+
|
|
7
|
+
--v-date-picker-month-day-diff: 4px
|
|
8
|
+
|
|
9
|
+
.v-date-picker-month__weeks
|
|
10
|
+
display: grid
|
|
11
|
+
grid-template-rows: min-content min-content min-content min-content min-content min-content min-content
|
|
12
|
+
grid-row-gap: 4px
|
|
13
|
+
|
|
14
|
+
.v-date-picker-month__weekday
|
|
15
|
+
font-size: .875rem
|
|
16
|
+
|
|
17
|
+
.v-date-picker-month__days
|
|
18
|
+
display: grid
|
|
19
|
+
grid-template-columns: min-content min-content min-content min-content min-content min-content min-content
|
|
20
|
+
grid-row-gap: 4px
|
|
21
|
+
flex: 1 1
|
|
22
|
+
justify-content: space-around
|
|
23
|
+
|
|
24
|
+
.v-date-picker-month__day
|
|
25
|
+
position: relative
|
|
26
|
+
display: flex
|
|
27
|
+
align-items: center
|
|
28
|
+
justify-content: center
|
|
29
|
+
|
|
30
|
+
.v-date-picker-month__day--adjacent
|
|
31
|
+
opacity: 0.5
|
|
32
|
+
|
|
33
|
+
.v-date-picker-month__day--hide-adjacent
|
|
34
|
+
opacity: 0
|
|
35
|
+
|
|
36
|
+
.v-date-picker-month__day--range
|
|
37
|
+
position: absolute
|
|
38
|
+
width: 100%
|
|
39
|
+
height: calc(100% - var(--v-date-picker-month-day-diff) * 2)
|
|
40
|
+
opacity: 0.5
|
|
41
|
+
|
|
42
|
+
.v-date-picker-month__day--hover
|
|
43
|
+
position: absolute
|
|
44
|
+
width: 100%
|
|
45
|
+
height: calc(100% - var(--v-date-picker-month-day-diff) * 2)
|
|
46
|
+
border-style: dashed
|
|
47
|
+
border-top-width: 1px
|
|
48
|
+
border-bottom-width: 1px
|
|
49
|
+
border-left: none
|
|
50
|
+
border-right: none
|
|
51
|
+
|
|
52
|
+
.v-date-picker-month__day--start, .v-date-picker-month__day--week-start
|
|
53
|
+
.v-date-picker-month__day--range
|
|
54
|
+
border-bottom-left-radius: 50%
|
|
55
|
+
border-top-left-radius: 50%
|
|
56
|
+
left: var(--v-date-picker-month-day-diff)
|
|
57
|
+
width: calc(100% - var(--v-date-picker-month-day-diff))
|
|
58
|
+
|
|
59
|
+
.v-date-picker-month__day--end, .v-date-picker-month__day--week-end
|
|
60
|
+
.v-date-picker-month__day--range
|
|
61
|
+
border-bottom-right-radius: 50%
|
|
62
|
+
border-top-right-radius: 50%
|
|
63
|
+
right: var(--v-date-picker-month-day-diff)
|
|
64
|
+
width: calc(100% - var(--v-date-picker-month-day-diff))
|
|
65
|
+
|
|
66
|
+
.v-date-picker-month__day--selected.v-date-picker-month__day--end.v-date-picker-month__day--week-start,
|
|
67
|
+
.v-date-picker-month__day--selected.v-date-picker-month__day--start.v-date-picker-month__day--week-end
|
|
68
|
+
.v-date-picker-month__day--range
|
|
69
|
+
display: none
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import "./VDatePickerTitle.css";
|
|
5
5
|
|
|
6
6
|
// Components
|
|
7
|
-
import VIcon from "
|
|
7
|
+
import VIcon from "../../components/VIcon/index.mjs"; // Mixins
|
|
8
8
|
import PickerButton from "../../mixins/picker-button.mjs"; // Utils
|
|
9
9
|
import mixins from "../../util/mixins.mjs"; // Types
|
|
10
10
|
export default mixins(PickerButton
|