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
package/dist/vuetify.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.3.
|
|
2
|
+
* Vuetify v3.3.4
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { reactive, computed, watchEffect, toRefs, capitalize, warn, watch, onScopeDispose, effectScope, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, readonly, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives,
|
|
7
|
+
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, warn, watch, onScopeDispose, effectScope, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, readonly, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onBeforeUpdate, vModelText, onUpdated } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -294,6 +294,15 @@ function mergeDeep() {
|
|
|
294
294
|
}
|
|
295
295
|
return out;
|
|
296
296
|
}
|
|
297
|
+
function flattenFragments(nodes) {
|
|
298
|
+
return nodes.map(node => {
|
|
299
|
+
if (node.type === Fragment) {
|
|
300
|
+
return flattenFragments(node.children);
|
|
301
|
+
} else {
|
|
302
|
+
return node;
|
|
303
|
+
}
|
|
304
|
+
}).flat();
|
|
305
|
+
}
|
|
297
306
|
function toKebabCase() {
|
|
298
307
|
let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
299
308
|
if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);
|
|
@@ -373,6 +382,9 @@ function includes(arr, val) {
|
|
|
373
382
|
}
|
|
374
383
|
const onRE = /^on[^a-z]/;
|
|
375
384
|
const isOn = key => onRE.test(key);
|
|
385
|
+
function eventName(propName) {
|
|
386
|
+
return propName[2].toLowerCase() + propName.slice(3);
|
|
387
|
+
}
|
|
376
388
|
const EventProp = () => [Function, Array];
|
|
377
389
|
function hasEvent(props, name) {
|
|
378
390
|
name = 'on' + capitalize(name);
|
|
@@ -571,6 +583,54 @@ function animate(el, keyframes, options) {
|
|
|
571
583
|
return animation;
|
|
572
584
|
}
|
|
573
585
|
|
|
586
|
+
// Utilities
|
|
587
|
+
const handlers = new WeakMap();
|
|
588
|
+
function bindProps(el, props) {
|
|
589
|
+
Object.keys(props).forEach(k => {
|
|
590
|
+
if (isOn(k)) {
|
|
591
|
+
const name = eventName(k);
|
|
592
|
+
const handler = handlers.get(el);
|
|
593
|
+
if (props[k] == null) {
|
|
594
|
+
handler?.forEach(v => {
|
|
595
|
+
const [n, fn] = v;
|
|
596
|
+
if (n === name) {
|
|
597
|
+
el.removeEventListener(name, fn);
|
|
598
|
+
handler.delete(v);
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
} else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {
|
|
602
|
+
el.addEventListener(name, props[k]);
|
|
603
|
+
const _handler = handler || new Set();
|
|
604
|
+
_handler.add([name, props[k]]);
|
|
605
|
+
if (!handlers.has(el)) handlers.set(el, _handler);
|
|
606
|
+
}
|
|
607
|
+
} else {
|
|
608
|
+
if (props[k] == null) {
|
|
609
|
+
el.removeAttribute(k);
|
|
610
|
+
} else {
|
|
611
|
+
el.setAttribute(k, props[k]);
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
}
|
|
616
|
+
function unbindProps(el, props) {
|
|
617
|
+
Object.keys(props).forEach(k => {
|
|
618
|
+
if (isOn(k)) {
|
|
619
|
+
const name = eventName(k);
|
|
620
|
+
const handler = handlers.get(el);
|
|
621
|
+
handler?.forEach(v => {
|
|
622
|
+
const [n, fn] = v;
|
|
623
|
+
if (n === name) {
|
|
624
|
+
el.removeEventListener(name, fn);
|
|
625
|
+
handler.delete(v);
|
|
626
|
+
}
|
|
627
|
+
});
|
|
628
|
+
} else {
|
|
629
|
+
el.removeAttribute(k);
|
|
630
|
+
}
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
|
|
574
634
|
/* eslint-disable no-console */
|
|
575
635
|
|
|
576
636
|
function consoleWarn(message) {
|
|
@@ -1579,12 +1639,21 @@ var en = {
|
|
|
1579
1639
|
lastPage: 'Last page',
|
|
1580
1640
|
pageText: '{0}-{1} of {2}'
|
|
1581
1641
|
},
|
|
1642
|
+
dateRangeInput: {
|
|
1643
|
+
divider: 'to'
|
|
1644
|
+
},
|
|
1582
1645
|
datePicker: {
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1646
|
+
ok: 'OK',
|
|
1647
|
+
cancel: 'Cancel',
|
|
1648
|
+
range: {
|
|
1649
|
+
title: 'Select dates',
|
|
1650
|
+
header: 'Enter dates'
|
|
1651
|
+
},
|
|
1652
|
+
title: 'Select date',
|
|
1653
|
+
header: 'Enter date',
|
|
1654
|
+
input: {
|
|
1655
|
+
placeholder: 'Enter date'
|
|
1656
|
+
}
|
|
1588
1657
|
},
|
|
1589
1658
|
noDataText: 'No data available',
|
|
1590
1659
|
carousel: {
|
|
@@ -2154,6 +2223,7 @@ function createTheme(options) {
|
|
|
2154
2223
|
};
|
|
2155
2224
|
}
|
|
2156
2225
|
function install(app) {
|
|
2226
|
+
if (parsedOptions.isDisabled) return;
|
|
2157
2227
|
const head = app._context.provides.usehead;
|
|
2158
2228
|
if (head) {
|
|
2159
2229
|
if (head.push) {
|
|
@@ -2175,7 +2245,6 @@ function createTheme(options) {
|
|
|
2175
2245
|
immediate: true
|
|
2176
2246
|
});
|
|
2177
2247
|
function updateStyles() {
|
|
2178
|
-
if (parsedOptions.isDisabled) return;
|
|
2179
2248
|
if (typeof document !== 'undefined' && !styleEl) {
|
|
2180
2249
|
const el = document.createElement('style');
|
|
2181
2250
|
el.type = 'text/css';
|
|
@@ -3567,7 +3636,7 @@ const VAppBar = genericComponent()({
|
|
|
3567
3636
|
const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
|
|
3568
3637
|
return height + extensionHeight;
|
|
3569
3638
|
});
|
|
3570
|
-
|
|
3639
|
+
watchEffect(() => {
|
|
3571
3640
|
if (scrollBehavior.value.hide) {
|
|
3572
3641
|
if (scrollBehavior.value.inverted) {
|
|
3573
3642
|
isActive.value = currentScroll.value > scrollThreshold.value;
|
|
@@ -3577,12 +3646,6 @@ const VAppBar = genericComponent()({
|
|
|
3577
3646
|
} else {
|
|
3578
3647
|
isActive.value = true;
|
|
3579
3648
|
}
|
|
3580
|
-
}
|
|
3581
|
-
useToggleScope(() => !!props.scrollBehavior, () => {
|
|
3582
|
-
watch(currentScroll, setActive, {
|
|
3583
|
-
immediate: true
|
|
3584
|
-
});
|
|
3585
|
-
watch(scrollBehavior, setActive);
|
|
3586
3649
|
});
|
|
3587
3650
|
const {
|
|
3588
3651
|
ssrBootStyles
|
|
@@ -4037,7 +4100,8 @@ const aliases = {
|
|
|
4037
4100
|
unfold: 'mdi-unfold-more-horizontal',
|
|
4038
4101
|
file: 'mdi-paperclip',
|
|
4039
4102
|
plus: 'mdi-plus',
|
|
4040
|
-
minus: 'mdi-minus'
|
|
4103
|
+
minus: 'mdi-minus',
|
|
4104
|
+
calendar: 'mdi-calendar'
|
|
4041
4105
|
};
|
|
4042
4106
|
const mdi = {
|
|
4043
4107
|
// Not using mergeProps here, functional components merge props by default (?)
|
|
@@ -4262,7 +4326,7 @@ const VIcon = genericComponent()({
|
|
|
4262
4326
|
useRender(() => {
|
|
4263
4327
|
const slotValue = slots.default?.();
|
|
4264
4328
|
if (slotValue) {
|
|
4265
|
-
slotIcon.value = slotValue.filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4329
|
+
slotIcon.value = flattenFragments(slotValue).filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;
|
|
4266
4330
|
}
|
|
4267
4331
|
return createVNode(iconData.value.component, {
|
|
4268
4332
|
"tag": props.tag,
|
|
@@ -5099,7 +5163,7 @@ const makeVBtnProps = propsFactory({
|
|
|
5099
5163
|
block: Boolean,
|
|
5100
5164
|
stacked: Boolean,
|
|
5101
5165
|
ripple: {
|
|
5102
|
-
type: Boolean,
|
|
5166
|
+
type: [Boolean, Object],
|
|
5103
5167
|
default: true
|
|
5104
5168
|
},
|
|
5105
5169
|
text: String,
|
|
@@ -6382,6 +6446,7 @@ const VCheckbox = genericComponent()({
|
|
|
6382
6446
|
inheritAttrs: false,
|
|
6383
6447
|
props: makeVCheckboxProps(),
|
|
6384
6448
|
emits: {
|
|
6449
|
+
'update:modelValue': value => true,
|
|
6385
6450
|
'update:focused': focused => true
|
|
6386
6451
|
},
|
|
6387
6452
|
setup(props, _ref) {
|
|
@@ -6389,6 +6454,7 @@ const VCheckbox = genericComponent()({
|
|
|
6389
6454
|
attrs,
|
|
6390
6455
|
slots
|
|
6391
6456
|
} = _ref;
|
|
6457
|
+
const model = useProxiedModel(props, 'modelValue');
|
|
6392
6458
|
const {
|
|
6393
6459
|
isFocused,
|
|
6394
6460
|
focus,
|
|
@@ -6403,6 +6469,8 @@ const VCheckbox = genericComponent()({
|
|
|
6403
6469
|
return createVNode(VInput, mergeProps({
|
|
6404
6470
|
"class": ['v-checkbox', props.class]
|
|
6405
6471
|
}, inputAttrs, inputProps, {
|
|
6472
|
+
"modelValue": model.value,
|
|
6473
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
6406
6474
|
"id": id.value,
|
|
6407
6475
|
"focused": isFocused.value,
|
|
6408
6476
|
"style": props.style
|
|
@@ -6421,6 +6489,8 @@ const VCheckbox = genericComponent()({
|
|
|
6421
6489
|
"disabled": isDisabled.value,
|
|
6422
6490
|
"readonly": isReadonly.value
|
|
6423
6491
|
}, controlAttrs, {
|
|
6492
|
+
"modelValue": model.value,
|
|
6493
|
+
"onUpdate:modelValue": $event => model.value = $event,
|
|
6424
6494
|
"onFocus": focus,
|
|
6425
6495
|
"onBlur": blur
|
|
6426
6496
|
}), slots);
|
|
@@ -6558,6 +6628,8 @@ const VChipGroup = genericComponent()({
|
|
|
6558
6628
|
}
|
|
6559
6629
|
});
|
|
6560
6630
|
|
|
6631
|
+
// Types
|
|
6632
|
+
|
|
6561
6633
|
const makeVChipProps = propsFactory({
|
|
6562
6634
|
activeClass: String,
|
|
6563
6635
|
appendAvatar: String,
|
|
@@ -6586,7 +6658,7 @@ const makeVChipProps = propsFactory({
|
|
|
6586
6658
|
prependAvatar: String,
|
|
6587
6659
|
prependIcon: IconValue,
|
|
6588
6660
|
ripple: {
|
|
6589
|
-
type: Boolean,
|
|
6661
|
+
type: [Boolean, Object],
|
|
6590
6662
|
default: true
|
|
6591
6663
|
},
|
|
6592
6664
|
text: String,
|
|
@@ -7239,7 +7311,7 @@ const useNested = props => {
|
|
|
7239
7311
|
const useNestedItem = (id, isGroup) => {
|
|
7240
7312
|
const parent = inject$1(VNestedSymbol, emptyNested);
|
|
7241
7313
|
const uidSymbol = Symbol(getUid());
|
|
7242
|
-
const computedId = computed(() => id.value
|
|
7314
|
+
const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol);
|
|
7243
7315
|
const item = {
|
|
7244
7316
|
...parent,
|
|
7245
7317
|
id: computedId,
|
|
@@ -7402,7 +7474,7 @@ const makeVListItemProps = propsFactory({
|
|
|
7402
7474
|
prependAvatar: String,
|
|
7403
7475
|
prependIcon: IconValue,
|
|
7404
7476
|
ripple: {
|
|
7405
|
-
type: Boolean,
|
|
7477
|
+
type: [Boolean, Object],
|
|
7406
7478
|
default: true
|
|
7407
7479
|
},
|
|
7408
7480
|
subtitle: [String, Number, Boolean],
|
|
@@ -7439,7 +7511,7 @@ const VListItem = genericComponent()({
|
|
|
7439
7511
|
emit
|
|
7440
7512
|
} = _ref;
|
|
7441
7513
|
const link = useLink(props, attrs);
|
|
7442
|
-
const id = computed(() => props.value
|
|
7514
|
+
const id = computed(() => props.value === undefined ? link.href.value : props.value);
|
|
7443
7515
|
const {
|
|
7444
7516
|
select,
|
|
7445
7517
|
isSelected,
|
|
@@ -7836,10 +7908,13 @@ function useItems(props) {
|
|
|
7836
7908
|
}
|
|
7837
7909
|
function useTransformItems(items, transform) {
|
|
7838
7910
|
function transformIn(value) {
|
|
7839
|
-
return value
|
|
7911
|
+
return value
|
|
7912
|
+
// When the model value is null, returns an InternalItem based on null
|
|
7913
|
+
// only if null is one of the items
|
|
7914
|
+
.filter(v => v !== null || items.value.some(item => item.value === null)).map(v => {
|
|
7840
7915
|
const existingItem = items.value.find(item => deepEqual(v, item.value));
|
|
7841
7916
|
// Nullish existingItem means value is a custom input value from combobox
|
|
7842
|
-
// In this case, use transformItem to create an
|
|
7917
|
+
// In this case, use transformItem to create an InternalItem based on value
|
|
7843
7918
|
return existingItem ?? transform(v);
|
|
7844
7919
|
});
|
|
7845
7920
|
}
|
|
@@ -8775,29 +8850,29 @@ function useActivator(props, _ref) {
|
|
|
8775
8850
|
}
|
|
8776
8851
|
});
|
|
8777
8852
|
const availableEvents = {
|
|
8778
|
-
|
|
8853
|
+
onClick: e => {
|
|
8779
8854
|
e.stopPropagation();
|
|
8780
8855
|
activatorEl.value = e.currentTarget || e.target;
|
|
8781
8856
|
isActive.value = !isActive.value;
|
|
8782
8857
|
},
|
|
8783
|
-
|
|
8858
|
+
onMouseenter: e => {
|
|
8784
8859
|
if (e.sourceCapabilities?.firesTouchEvents) return;
|
|
8785
8860
|
isHovered = true;
|
|
8786
8861
|
activatorEl.value = e.currentTarget || e.target;
|
|
8787
8862
|
runOpenDelay();
|
|
8788
8863
|
},
|
|
8789
|
-
|
|
8864
|
+
onMouseleave: e => {
|
|
8790
8865
|
isHovered = false;
|
|
8791
8866
|
runCloseDelay();
|
|
8792
8867
|
},
|
|
8793
|
-
|
|
8868
|
+
onFocus: e => {
|
|
8794
8869
|
if (SUPPORTS_FOCUS_VISIBLE && !e.target.matches(':focus-visible')) return;
|
|
8795
8870
|
isFocused = true;
|
|
8796
8871
|
e.stopPropagation();
|
|
8797
8872
|
activatorEl.value = e.currentTarget || e.target;
|
|
8798
8873
|
runOpenDelay();
|
|
8799
8874
|
},
|
|
8800
|
-
|
|
8875
|
+
onBlur: e => {
|
|
8801
8876
|
isFocused = false;
|
|
8802
8877
|
e.stopPropagation();
|
|
8803
8878
|
runCloseDelay();
|
|
@@ -8806,33 +8881,43 @@ function useActivator(props, _ref) {
|
|
|
8806
8881
|
const activatorEvents = computed(() => {
|
|
8807
8882
|
const events = {};
|
|
8808
8883
|
if (openOnClick.value) {
|
|
8809
|
-
events.
|
|
8884
|
+
events.onClick = availableEvents.onClick;
|
|
8810
8885
|
}
|
|
8811
8886
|
if (props.openOnHover) {
|
|
8812
|
-
events.
|
|
8813
|
-
events.
|
|
8887
|
+
events.onMouseenter = availableEvents.onMouseenter;
|
|
8888
|
+
events.onMouseleave = availableEvents.onMouseleave;
|
|
8814
8889
|
}
|
|
8815
8890
|
if (openOnFocus.value) {
|
|
8816
|
-
events.
|
|
8817
|
-
events.
|
|
8891
|
+
events.onFocus = availableEvents.onFocus;
|
|
8892
|
+
events.onBlur = availableEvents.onBlur;
|
|
8818
8893
|
}
|
|
8819
8894
|
return events;
|
|
8820
8895
|
});
|
|
8821
8896
|
const contentEvents = computed(() => {
|
|
8822
8897
|
const events = {};
|
|
8823
8898
|
if (props.openOnHover) {
|
|
8824
|
-
events.
|
|
8899
|
+
events.onMouseenter = () => {
|
|
8825
8900
|
isHovered = true;
|
|
8826
8901
|
runOpenDelay();
|
|
8827
8902
|
};
|
|
8828
|
-
events.
|
|
8903
|
+
events.onMouseleave = () => {
|
|
8829
8904
|
isHovered = false;
|
|
8830
8905
|
runCloseDelay();
|
|
8831
8906
|
};
|
|
8832
8907
|
}
|
|
8908
|
+
if (openOnFocus.value) {
|
|
8909
|
+
events.onFocusin = () => {
|
|
8910
|
+
isFocused = true;
|
|
8911
|
+
runOpenDelay();
|
|
8912
|
+
};
|
|
8913
|
+
events.onFocusout = () => {
|
|
8914
|
+
isFocused = false;
|
|
8915
|
+
runCloseDelay();
|
|
8916
|
+
};
|
|
8917
|
+
}
|
|
8833
8918
|
if (props.closeOnContentClick) {
|
|
8834
8919
|
const menu = inject$1(VMenuSymbol, null);
|
|
8835
|
-
events.
|
|
8920
|
+
events.onClick = () => {
|
|
8836
8921
|
isActive.value = false;
|
|
8837
8922
|
menu?.closeParents();
|
|
8838
8923
|
};
|
|
@@ -8842,14 +8927,14 @@ function useActivator(props, _ref) {
|
|
|
8842
8927
|
const scrimEvents = computed(() => {
|
|
8843
8928
|
const events = {};
|
|
8844
8929
|
if (props.openOnHover) {
|
|
8845
|
-
events.
|
|
8930
|
+
events.onMouseenter = () => {
|
|
8846
8931
|
if (firstEnter) {
|
|
8847
8932
|
isHovered = true;
|
|
8848
8933
|
firstEnter = false;
|
|
8849
8934
|
runOpenDelay();
|
|
8850
8935
|
}
|
|
8851
8936
|
};
|
|
8852
|
-
events.
|
|
8937
|
+
events.onMouseleave = () => {
|
|
8853
8938
|
isHovered = false;
|
|
8854
8939
|
runCloseDelay();
|
|
8855
8940
|
};
|
|
@@ -8923,29 +9008,13 @@ function _useActivator(props, vm, _ref2) {
|
|
|
8923
9008
|
let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
|
|
8924
9009
|
let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
|
|
8925
9010
|
if (!el) return;
|
|
8926
|
-
|
|
8927
|
-
let [name, cb] = _ref3;
|
|
8928
|
-
el.addEventListener(name, cb);
|
|
8929
|
-
});
|
|
8930
|
-
Object.keys(_props).forEach(k => {
|
|
8931
|
-
if (_props[k] == null) {
|
|
8932
|
-
el.removeAttribute(k);
|
|
8933
|
-
} else {
|
|
8934
|
-
el.setAttribute(k, _props[k]);
|
|
8935
|
-
}
|
|
8936
|
-
});
|
|
9011
|
+
bindProps(el, mergeProps(activatorEvents.value, _props));
|
|
8937
9012
|
}
|
|
8938
9013
|
function unbindActivatorProps() {
|
|
8939
9014
|
let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();
|
|
8940
9015
|
let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;
|
|
8941
9016
|
if (!el) return;
|
|
8942
|
-
|
|
8943
|
-
let [name, cb] = _ref4;
|
|
8944
|
-
el.removeEventListener(name, cb);
|
|
8945
|
-
});
|
|
8946
|
-
Object.keys(_props).forEach(k => {
|
|
8947
|
-
el.removeAttribute(k);
|
|
8948
|
-
});
|
|
9017
|
+
unbindProps(el, mergeProps(activatorEvents.value, _props));
|
|
8949
9018
|
}
|
|
8950
9019
|
function getActivator() {
|
|
8951
9020
|
let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
|
|
@@ -9472,6 +9541,9 @@ const VOverlay = genericComponent()({
|
|
|
9472
9541
|
if (e.key === 'Escape' && globalTop.value) {
|
|
9473
9542
|
if (!props.persistent) {
|
|
9474
9543
|
isActive.value = false;
|
|
9544
|
+
if (contentEl.value?.contains(document.activeElement)) {
|
|
9545
|
+
activatorEl.value?.focus();
|
|
9546
|
+
}
|
|
9475
9547
|
} else animateClick();
|
|
9476
9548
|
}
|
|
9477
9549
|
}
|
|
@@ -9514,7 +9586,7 @@ const VOverlay = genericComponent()({
|
|
|
9514
9586
|
isActive: isActive.value,
|
|
9515
9587
|
props: mergeProps({
|
|
9516
9588
|
ref: activatorRef
|
|
9517
|
-
},
|
|
9589
|
+
}, activatorEvents.value, props.activatorProps)
|
|
9518
9590
|
}), isMounted.value && createVNode(Teleport, {
|
|
9519
9591
|
"disabled": !teleportTarget.value,
|
|
9520
9592
|
"to": teleportTarget.value
|
|
@@ -9532,7 +9604,7 @@ const VOverlay = genericComponent()({
|
|
|
9532
9604
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
|
9533
9605
|
"color": scrimColor,
|
|
9534
9606
|
"modelValue": isActive.value && !!props.scrim
|
|
9535
|
-
},
|
|
9607
|
+
}, scrimEvents.value), null), createVNode(MaybeTransition, {
|
|
9536
9608
|
"appear": true,
|
|
9537
9609
|
"persisted": true,
|
|
9538
9610
|
"transition": props.transition,
|
|
@@ -9546,7 +9618,7 @@ const VOverlay = genericComponent()({
|
|
|
9546
9618
|
"ref": contentEl,
|
|
9547
9619
|
"class": ['v-overlay__content', props.contentClass],
|
|
9548
9620
|
"style": [dimensionStyles.value, contentStyles.value]
|
|
9549
|
-
},
|
|
9621
|
+
}, contentEvents.value, props.contentProps), [slots.default?.({
|
|
9550
9622
|
isActive
|
|
9551
9623
|
})]), [[vShow, isActive.value], [resolveDirective("click-outside"), {
|
|
9552
9624
|
handler: onClickOutside,
|
|
@@ -9706,10 +9778,35 @@ const VMenu = genericComponent()({
|
|
|
9706
9778
|
function onClickOutside() {
|
|
9707
9779
|
parent?.closeParents();
|
|
9708
9780
|
}
|
|
9781
|
+
function onKeydown(e) {
|
|
9782
|
+
if (props.disabled) return;
|
|
9783
|
+
if (e.key === 'Tab') {
|
|
9784
|
+
isActive.value = false;
|
|
9785
|
+
overlay.value?.activatorEl?.focus();
|
|
9786
|
+
}
|
|
9787
|
+
}
|
|
9788
|
+
function onActivatorKeydown(e) {
|
|
9789
|
+
if (props.disabled) return;
|
|
9790
|
+
const el = overlay.value?.contentEl;
|
|
9791
|
+
if (el && isActive.value) {
|
|
9792
|
+
if (e.key === 'ArrowDown') {
|
|
9793
|
+
e.preventDefault();
|
|
9794
|
+
focusChild(el, 'next');
|
|
9795
|
+
} else if (e.key === 'ArrowUp') {
|
|
9796
|
+
e.preventDefault();
|
|
9797
|
+
focusChild(el, 'prev');
|
|
9798
|
+
}
|
|
9799
|
+
} else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
9800
|
+
isActive.value = true;
|
|
9801
|
+
e.preventDefault();
|
|
9802
|
+
setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
|
|
9803
|
+
}
|
|
9804
|
+
}
|
|
9709
9805
|
const activatorProps = computed(() => mergeProps({
|
|
9710
9806
|
'aria-haspopup': 'menu',
|
|
9711
9807
|
'aria-expanded': String(isActive.value),
|
|
9712
|
-
'aria-owns': id.value
|
|
9808
|
+
'aria-owns': id.value,
|
|
9809
|
+
onKeydown: onActivatorKeydown
|
|
9713
9810
|
}, props.activatorProps));
|
|
9714
9811
|
useRender(() => {
|
|
9715
9812
|
const [overlayProps] = VOverlay.filterProps(props);
|
|
@@ -9722,7 +9819,8 @@ const VMenu = genericComponent()({
|
|
|
9722
9819
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
9723
9820
|
"absolute": true,
|
|
9724
9821
|
"activatorProps": activatorProps.value,
|
|
9725
|
-
"onClick:outside": onClickOutside
|
|
9822
|
+
"onClick:outside": onClickOutside,
|
|
9823
|
+
"onKeydown": onKeydown
|
|
9726
9824
|
}, scopeId), {
|
|
9727
9825
|
activator: slots.activator,
|
|
9728
9826
|
default: function () {
|
|
@@ -10346,7 +10444,7 @@ const VSelect = genericComponent()({
|
|
|
10346
10444
|
transformIn,
|
|
10347
10445
|
transformOut
|
|
10348
10446
|
} = useItems(props);
|
|
10349
|
-
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
10447
|
+
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
|
|
10350
10448
|
const transformed = transformOut(v);
|
|
10351
10449
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
10352
10450
|
});
|
|
@@ -10366,6 +10464,7 @@ const VSelect = genericComponent()({
|
|
|
10366
10464
|
}
|
|
10367
10465
|
return items.value;
|
|
10368
10466
|
});
|
|
10467
|
+
const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
|
|
10369
10468
|
const listRef = ref();
|
|
10370
10469
|
function onClear(e) {
|
|
10371
10470
|
if (props.openOnClear) {
|
|
@@ -10373,7 +10472,7 @@ const VSelect = genericComponent()({
|
|
|
10373
10472
|
}
|
|
10374
10473
|
}
|
|
10375
10474
|
function onMousedownControl() {
|
|
10376
|
-
if (
|
|
10475
|
+
if (menuDisabled.value) return;
|
|
10377
10476
|
menu.value = !menu.value;
|
|
10378
10477
|
}
|
|
10379
10478
|
function onKeydown(e) {
|
|
@@ -10387,11 +10486,7 @@ const VSelect = genericComponent()({
|
|
|
10387
10486
|
if (['Escape', 'Tab'].includes(e.key)) {
|
|
10388
10487
|
menu.value = false;
|
|
10389
10488
|
}
|
|
10390
|
-
if (e.key === '
|
|
10391
|
-
listRef.value?.focus('next');
|
|
10392
|
-
} else if (e.key === 'ArrowUp') {
|
|
10393
|
-
listRef.value?.focus('prev');
|
|
10394
|
-
} else if (e.key === 'Home') {
|
|
10489
|
+
if (e.key === 'Home') {
|
|
10395
10490
|
listRef.value?.focus('first');
|
|
10396
10491
|
} else if (e.key === 'End') {
|
|
10397
10492
|
listRef.value?.focus('last');
|
|
@@ -10417,6 +10512,11 @@ const VSelect = genericComponent()({
|
|
|
10417
10512
|
model.value = [item];
|
|
10418
10513
|
}
|
|
10419
10514
|
}
|
|
10515
|
+
function onListKeydown(e) {
|
|
10516
|
+
if (e.key === 'Tab') {
|
|
10517
|
+
vTextFieldRef.value?.focus();
|
|
10518
|
+
}
|
|
10519
|
+
}
|
|
10420
10520
|
function select(item) {
|
|
10421
10521
|
if (props.multiple) {
|
|
10422
10522
|
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
@@ -10447,7 +10547,7 @@ const VSelect = genericComponent()({
|
|
|
10447
10547
|
}
|
|
10448
10548
|
useRender(() => {
|
|
10449
10549
|
const hasChips = !!(props.chips || slots.chip);
|
|
10450
|
-
const hasList = !!(!props.hideNoData || displayItems.value.length || slots
|
|
10550
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
|
|
10451
10551
|
const isDirty = model.value.length > 0;
|
|
10452
10552
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
10453
10553
|
const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
|
|
@@ -10484,6 +10584,7 @@ const VSelect = genericComponent()({
|
|
|
10484
10584
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
10485
10585
|
"activator": "parent",
|
|
10486
10586
|
"contentClass": "v-select__content",
|
|
10587
|
+
"disabled": menuDisabled.value,
|
|
10487
10588
|
"eager": props.eager,
|
|
10488
10589
|
"maxHeight": 310,
|
|
10489
10590
|
"openOnClick": false,
|
|
@@ -10496,11 +10597,13 @@ const VSelect = genericComponent()({
|
|
|
10496
10597
|
"selected": selected.value,
|
|
10497
10598
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
10498
10599
|
"onMousedown": e => e.preventDefault(),
|
|
10499
|
-
"
|
|
10600
|
+
"onKeydown": onListKeydown,
|
|
10601
|
+
"onFocusin": onFocusin,
|
|
10602
|
+
"tabindex": "-1"
|
|
10500
10603
|
}, {
|
|
10501
|
-
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
10604
|
+
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
10502
10605
|
"title": t(props.noDataText)
|
|
10503
|
-
}, null)),
|
|
10606
|
+
}, null)), displayItems.value.map((item, index) => {
|
|
10504
10607
|
const itemProps = mergeProps(item.props, {
|
|
10505
10608
|
key: index,
|
|
10506
10609
|
onClick: () => select(item)
|
|
@@ -10766,7 +10869,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10766
10869
|
textColorStyles
|
|
10767
10870
|
} = useTextColor(color);
|
|
10768
10871
|
const search = useProxiedModel(props, 'search', '');
|
|
10769
|
-
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
10872
|
+
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {
|
|
10770
10873
|
const transformed = transformOut(v);
|
|
10771
10874
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
10772
10875
|
});
|
|
@@ -10792,6 +10895,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10792
10895
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
|
10793
10896
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
|
10794
10897
|
});
|
|
10898
|
+
const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
|
|
10795
10899
|
const listRef = ref();
|
|
10796
10900
|
function onClear(e) {
|
|
10797
10901
|
if (props.openOnClear) {
|
|
@@ -10800,10 +10904,11 @@ const VAutocomplete = genericComponent()({
|
|
|
10800
10904
|
search.value = '';
|
|
10801
10905
|
}
|
|
10802
10906
|
function onMousedownControl() {
|
|
10803
|
-
if (
|
|
10907
|
+
if (menuDisabled.value) return;
|
|
10804
10908
|
menu.value = true;
|
|
10805
10909
|
}
|
|
10806
10910
|
function onMousedownMenuIcon(e) {
|
|
10911
|
+
if (menuDisabled.value) return;
|
|
10807
10912
|
if (isFocused.value) {
|
|
10808
10913
|
e.preventDefault();
|
|
10809
10914
|
e.stopPropagation();
|
|
@@ -10829,13 +10934,8 @@ const VAutocomplete = genericComponent()({
|
|
|
10829
10934
|
}
|
|
10830
10935
|
isPristine.value = true;
|
|
10831
10936
|
}
|
|
10832
|
-
if (e.key === 'ArrowDown') {
|
|
10937
|
+
if (e.key === 'ArrowDown' && highlightFirst.value) {
|
|
10833
10938
|
listRef.value?.focus('next');
|
|
10834
|
-
if (highlightFirst.value) {
|
|
10835
|
-
listRef.value?.focus('next');
|
|
10836
|
-
}
|
|
10837
|
-
} else if (e.key === 'ArrowUp') {
|
|
10838
|
-
listRef.value?.focus('prev');
|
|
10839
10939
|
}
|
|
10840
10940
|
if (!props.multiple) return;
|
|
10841
10941
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
@@ -10870,6 +10970,11 @@ const VAutocomplete = genericComponent()({
|
|
|
10870
10970
|
}
|
|
10871
10971
|
}
|
|
10872
10972
|
}
|
|
10973
|
+
function onListKeydown(e) {
|
|
10974
|
+
if (e.key === 'Tab') {
|
|
10975
|
+
vTextFieldRef.value?.focus();
|
|
10976
|
+
}
|
|
10977
|
+
}
|
|
10873
10978
|
function onInput(e) {
|
|
10874
10979
|
search.value = e.target.value;
|
|
10875
10980
|
}
|
|
@@ -10939,7 +11044,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10939
11044
|
});
|
|
10940
11045
|
useRender(() => {
|
|
10941
11046
|
const hasChips = !!(props.chips || slots.chip);
|
|
10942
|
-
const hasList = !!(!props.hideNoData || displayItems.value.length || slots
|
|
11047
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
|
|
10943
11048
|
const isDirty = model.value.length > 0;
|
|
10944
11049
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
10945
11050
|
return createVNode(VTextField, mergeProps({
|
|
@@ -10972,6 +11077,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10972
11077
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
10973
11078
|
"activator": "parent",
|
|
10974
11079
|
"contentClass": "v-autocomplete__content",
|
|
11080
|
+
"disabled": menuDisabled.value,
|
|
10975
11081
|
"eager": props.eager,
|
|
10976
11082
|
"maxHeight": 310,
|
|
10977
11083
|
"openOnClick": false,
|
|
@@ -10984,12 +11090,14 @@ const VAutocomplete = genericComponent()({
|
|
|
10984
11090
|
"selected": selected.value,
|
|
10985
11091
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
10986
11092
|
"onMousedown": e => e.preventDefault(),
|
|
11093
|
+
"onKeydown": onListKeydown,
|
|
10987
11094
|
"onFocusin": onFocusin,
|
|
10988
|
-
"onFocusout": onFocusout
|
|
11095
|
+
"onFocusout": onFocusout,
|
|
11096
|
+
"tabindex": "-1"
|
|
10989
11097
|
}, {
|
|
10990
|
-
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
11098
|
+
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
10991
11099
|
"title": t(props.noDataText)
|
|
10992
|
-
}, null)),
|
|
11100
|
+
}, null)), displayItems.value.map((item, index) => {
|
|
10993
11101
|
const itemProps = mergeProps(item.props, {
|
|
10994
11102
|
key: index,
|
|
10995
11103
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
|
@@ -11739,7 +11847,7 @@ const makeVCardProps = propsFactory({
|
|
|
11739
11847
|
prependAvatar: String,
|
|
11740
11848
|
prependIcon: IconValue,
|
|
11741
11849
|
ripple: {
|
|
11742
|
-
type: Boolean,
|
|
11850
|
+
type: [Boolean, Object],
|
|
11743
11851
|
default: true
|
|
11744
11852
|
},
|
|
11745
11853
|
subtitle: String,
|
|
@@ -13144,6 +13252,8 @@ const useSlider = _ref => {
|
|
|
13144
13252
|
return data;
|
|
13145
13253
|
};
|
|
13146
13254
|
|
|
13255
|
+
// Types
|
|
13256
|
+
|
|
13147
13257
|
const makeVSliderThumbProps = propsFactory({
|
|
13148
13258
|
focused: Boolean,
|
|
13149
13259
|
max: {
|
|
@@ -13163,7 +13273,7 @@ const makeVSliderThumbProps = propsFactory({
|
|
|
13163
13273
|
required: true
|
|
13164
13274
|
},
|
|
13165
13275
|
ripple: {
|
|
13166
|
-
type: Boolean,
|
|
13276
|
+
type: [Boolean, Object],
|
|
13167
13277
|
default: true
|
|
13168
13278
|
},
|
|
13169
13279
|
...makeComponentProps()
|
|
@@ -14322,6 +14432,7 @@ const VCombobox = genericComponent()({
|
|
|
14322
14432
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
|
14323
14433
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
|
14324
14434
|
});
|
|
14435
|
+
const menuDisabled = computed(() => props.hideNoData && !items.value.length || props.readonly || form?.isReadonly.value);
|
|
14325
14436
|
const listRef = ref();
|
|
14326
14437
|
function onClear(e) {
|
|
14327
14438
|
cleared = true;
|
|
@@ -14330,10 +14441,11 @@ const VCombobox = genericComponent()({
|
|
|
14330
14441
|
}
|
|
14331
14442
|
}
|
|
14332
14443
|
function onMousedownControl() {
|
|
14333
|
-
if (
|
|
14444
|
+
if (menuDisabled.value) return;
|
|
14334
14445
|
menu.value = true;
|
|
14335
14446
|
}
|
|
14336
14447
|
function onMousedownMenuIcon(e) {
|
|
14448
|
+
if (menuDisabled.value) return;
|
|
14337
14449
|
if (isFocused.value) {
|
|
14338
14450
|
e.preventDefault();
|
|
14339
14451
|
e.stopPropagation();
|
|
@@ -14359,10 +14471,8 @@ const VCombobox = genericComponent()({
|
|
|
14359
14471
|
}
|
|
14360
14472
|
isPristine.value = true;
|
|
14361
14473
|
}
|
|
14362
|
-
if (e.key === 'ArrowDown') {
|
|
14474
|
+
if (e.key === 'ArrowDown' && highlightFirst.value) {
|
|
14363
14475
|
listRef.value?.focus('next');
|
|
14364
|
-
} else if (e.key === 'ArrowUp') {
|
|
14365
|
-
listRef.value?.focus('prev');
|
|
14366
14476
|
}
|
|
14367
14477
|
if (!props.multiple) return;
|
|
14368
14478
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
@@ -14401,6 +14511,11 @@ const VCombobox = genericComponent()({
|
|
|
14401
14511
|
search.value = '';
|
|
14402
14512
|
}
|
|
14403
14513
|
}
|
|
14514
|
+
function onListKeydown(e) {
|
|
14515
|
+
if (e.key === 'Tab') {
|
|
14516
|
+
vTextFieldRef.value?.focus();
|
|
14517
|
+
}
|
|
14518
|
+
}
|
|
14404
14519
|
function onAfterLeave() {
|
|
14405
14520
|
if (isFocused.value) {
|
|
14406
14521
|
isPristine.value = true;
|
|
@@ -14462,7 +14577,7 @@ const VCombobox = genericComponent()({
|
|
|
14462
14577
|
});
|
|
14463
14578
|
useRender(() => {
|
|
14464
14579
|
const hasChips = !!(props.chips || slots.chip);
|
|
14465
|
-
const hasList = !!(!props.hideNoData || displayItems.value.length || slots
|
|
14580
|
+
const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
|
|
14466
14581
|
const isDirty = model.value.length > 0;
|
|
14467
14582
|
const [textFieldProps] = VTextField.filterProps(props);
|
|
14468
14583
|
return createVNode(VTextField, mergeProps({
|
|
@@ -14495,6 +14610,7 @@ const VCombobox = genericComponent()({
|
|
|
14495
14610
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
14496
14611
|
"activator": "parent",
|
|
14497
14612
|
"contentClass": "v-combobox__content",
|
|
14613
|
+
"disabled": menuDisabled.value,
|
|
14498
14614
|
"eager": props.eager,
|
|
14499
14615
|
"maxHeight": 310,
|
|
14500
14616
|
"openOnClick": false,
|
|
@@ -14507,12 +14623,14 @@ const VCombobox = genericComponent()({
|
|
|
14507
14623
|
"selected": selected.value,
|
|
14508
14624
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
14509
14625
|
"onMousedown": e => e.preventDefault(),
|
|
14626
|
+
"onKeydown": onListKeydown,
|
|
14510
14627
|
"onFocusin": onFocusin,
|
|
14511
|
-
"onFocusout": onFocusout
|
|
14628
|
+
"onFocusout": onFocusout,
|
|
14629
|
+
"tabindex": "-1"
|
|
14512
14630
|
}, {
|
|
14513
|
-
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
14631
|
+
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
14514
14632
|
"title": t(props.noDataText)
|
|
14515
|
-
}, null)),
|
|
14633
|
+
}, null)), displayItems.value.map((item, index) => {
|
|
14516
14634
|
const itemProps = mergeProps(item.props, {
|
|
14517
14635
|
key: index,
|
|
14518
14636
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
|
@@ -14804,6 +14922,8 @@ const VExpansionPanelText = genericComponent()({
|
|
|
14804
14922
|
}
|
|
14805
14923
|
});
|
|
14806
14924
|
|
|
14925
|
+
// Types
|
|
14926
|
+
|
|
14807
14927
|
const makeVExpansionPanelTitleProps = propsFactory({
|
|
14808
14928
|
color: String,
|
|
14809
14929
|
expandIcon: {
|
|
@@ -15076,8 +15196,6 @@ const VFileInput = genericComponent()({
|
|
|
15076
15196
|
"modelValue": model.value,
|
|
15077
15197
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
15078
15198
|
"class": ['v-file-input', {
|
|
15079
|
-
'v-file-input--chips': !!props.chips,
|
|
15080
|
-
'v-file-input--selection-slot': !!slots.selection,
|
|
15081
15199
|
'v-text-field--plain-underlined': isPlainOrUnderlined.value
|
|
15082
15200
|
}, props.class],
|
|
15083
15201
|
"style": props.style,
|
|
@@ -18074,8 +18192,8 @@ const VTab = genericComponent()({
|
|
|
18074
18192
|
const initialScale = prevBox[widthHeight] / nextBox[widthHeight];
|
|
18075
18193
|
const sigma = 1.5;
|
|
18076
18194
|
animate(nextEl, {
|
|
18077
|
-
backgroundColor: [color, ''],
|
|
18078
|
-
transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, ''],
|
|
18195
|
+
backgroundColor: [color, 'currentcolor'],
|
|
18196
|
+
transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],
|
|
18079
18197
|
transformOrigin: Array(3).fill(origin)
|
|
18080
18198
|
}, {
|
|
18081
18199
|
duration: 225,
|
|
@@ -19360,47 +19478,6 @@ var directives = /*#__PURE__*/Object.freeze({
|
|
|
19360
19478
|
|
|
19361
19479
|
// Types
|
|
19362
19480
|
|
|
19363
|
-
function getWeekArray(date) {
|
|
19364
|
-
let currentWeek = [];
|
|
19365
|
-
const weeks = [];
|
|
19366
|
-
const firstDayOfMonth = startOfMonth(date);
|
|
19367
|
-
const lastDayOfMonth = endOfMonth(date);
|
|
19368
|
-
for (let i = 0; i < firstDayOfMonth.getDay(); i++) {
|
|
19369
|
-
currentWeek.push(null);
|
|
19370
|
-
}
|
|
19371
|
-
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
|
19372
|
-
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
|
19373
|
-
|
|
19374
|
-
// Add the day to the current week
|
|
19375
|
-
currentWeek.push(day);
|
|
19376
|
-
|
|
19377
|
-
// If the current week has 7 days, add it to the weeks array and start a new week
|
|
19378
|
-
if (currentWeek.length === 7) {
|
|
19379
|
-
weeks.push(currentWeek);
|
|
19380
|
-
currentWeek = [];
|
|
19381
|
-
}
|
|
19382
|
-
}
|
|
19383
|
-
for (let i = currentWeek.length; i < 7; i++) {
|
|
19384
|
-
currentWeek.push(null);
|
|
19385
|
-
}
|
|
19386
|
-
weeks.push(currentWeek);
|
|
19387
|
-
return weeks;
|
|
19388
|
-
}
|
|
19389
|
-
function startOfMonth(date) {
|
|
19390
|
-
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
19391
|
-
}
|
|
19392
|
-
function endOfMonth(date) {
|
|
19393
|
-
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
19394
|
-
}
|
|
19395
|
-
function date(value) {
|
|
19396
|
-
if (value == null) return null;
|
|
19397
|
-
if (value instanceof Date) return value;
|
|
19398
|
-
if (typeof value === 'string') {
|
|
19399
|
-
const parsed = Date.parse(value);
|
|
19400
|
-
if (!isNaN(parsed)) return new Date(parsed);
|
|
19401
|
-
}
|
|
19402
|
-
return null;
|
|
19403
|
-
}
|
|
19404
19481
|
const firstDay = {
|
|
19405
19482
|
'001': 1,
|
|
19406
19483
|
AD: 1,
|
|
@@ -19414,7 +19491,7 @@ const firstDay = {
|
|
|
19414
19491
|
AR: 1,
|
|
19415
19492
|
AS: 0,
|
|
19416
19493
|
AT: 1,
|
|
19417
|
-
AU:
|
|
19494
|
+
AU: 1,
|
|
19418
19495
|
AX: 1,
|
|
19419
19496
|
AZ: 1,
|
|
19420
19497
|
BA: 1,
|
|
@@ -19434,7 +19511,7 @@ const firstDay = {
|
|
|
19434
19511
|
CH: 1,
|
|
19435
19512
|
CL: 1,
|
|
19436
19513
|
CM: 1,
|
|
19437
|
-
CN:
|
|
19514
|
+
CN: 1,
|
|
19438
19515
|
CO: 0,
|
|
19439
19516
|
CR: 1,
|
|
19440
19517
|
CY: 1,
|
|
@@ -19554,6 +19631,53 @@ const firstDay = {
|
|
|
19554
19631
|
ZA: 0,
|
|
19555
19632
|
ZW: 0
|
|
19556
19633
|
};
|
|
19634
|
+
function getWeekArray(date, locale) {
|
|
19635
|
+
const weeks = [];
|
|
19636
|
+
let currentWeek = [];
|
|
19637
|
+
const firstDayOfMonth = startOfMonth(date);
|
|
19638
|
+
const lastDayOfMonth = endOfMonth(date);
|
|
19639
|
+
const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
|
|
19640
|
+
const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
|
|
19641
|
+
for (let i = 0; i < firstDayWeekIndex; i++) {
|
|
19642
|
+
const adjacentDay = new Date(firstDayOfMonth);
|
|
19643
|
+
adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));
|
|
19644
|
+
currentWeek.push(adjacentDay);
|
|
19645
|
+
}
|
|
19646
|
+
for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {
|
|
19647
|
+
const day = new Date(date.getFullYear(), date.getMonth(), i);
|
|
19648
|
+
|
|
19649
|
+
// Add the day to the current week
|
|
19650
|
+
currentWeek.push(day);
|
|
19651
|
+
|
|
19652
|
+
// If the current week has 7 days, add it to the weeks array and start a new week
|
|
19653
|
+
if (currentWeek.length === 7) {
|
|
19654
|
+
weeks.push(currentWeek);
|
|
19655
|
+
currentWeek = [];
|
|
19656
|
+
}
|
|
19657
|
+
}
|
|
19658
|
+
for (let i = 1; i < 7 - lastDayWeekIndex; i++) {
|
|
19659
|
+
const adjacentDay = new Date(lastDayOfMonth);
|
|
19660
|
+
adjacentDay.setDate(adjacentDay.getDate() + i);
|
|
19661
|
+
currentWeek.push(adjacentDay);
|
|
19662
|
+
}
|
|
19663
|
+
weeks.push(currentWeek);
|
|
19664
|
+
return weeks;
|
|
19665
|
+
}
|
|
19666
|
+
function startOfMonth(date) {
|
|
19667
|
+
return new Date(date.getFullYear(), date.getMonth(), 1);
|
|
19668
|
+
}
|
|
19669
|
+
function endOfMonth(date) {
|
|
19670
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
19671
|
+
}
|
|
19672
|
+
function date(value) {
|
|
19673
|
+
if (value == null) return new Date();
|
|
19674
|
+
if (value instanceof Date) return value;
|
|
19675
|
+
if (typeof value === 'string') {
|
|
19676
|
+
const parsed = Date.parse(value);
|
|
19677
|
+
if (!isNaN(parsed)) return new Date(parsed);
|
|
19678
|
+
}
|
|
19679
|
+
return null;
|
|
19680
|
+
}
|
|
19557
19681
|
const sundayJanuarySecond2000 = new Date(2000, 0, 2);
|
|
19558
19682
|
function getWeekdays(locale) {
|
|
19559
19683
|
const daysFromSunday = firstDay[locale.slice(-2).toUpperCase()];
|
|
@@ -19561,7 +19685,7 @@ function getWeekdays(locale) {
|
|
|
19561
19685
|
const weekday = new Date(sundayJanuarySecond2000);
|
|
19562
19686
|
weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);
|
|
19563
19687
|
return new Intl.DateTimeFormat(locale, {
|
|
19564
|
-
weekday: '
|
|
19688
|
+
weekday: 'short'
|
|
19565
19689
|
}).format(weekday);
|
|
19566
19690
|
});
|
|
19567
19691
|
}
|
|
@@ -19581,8 +19705,7 @@ function format(value, formatString, locale) {
|
|
|
19581
19705
|
options = {
|
|
19582
19706
|
weekday: 'short',
|
|
19583
19707
|
day: 'numeric',
|
|
19584
|
-
month: 'short'
|
|
19585
|
-
year: 'numeric'
|
|
19708
|
+
month: 'short'
|
|
19586
19709
|
};
|
|
19587
19710
|
break;
|
|
19588
19711
|
case 'keyboardDate':
|
|
@@ -19600,6 +19723,11 @@ function format(value, formatString, locale) {
|
|
|
19600
19723
|
year: 'numeric'
|
|
19601
19724
|
};
|
|
19602
19725
|
break;
|
|
19726
|
+
case 'dayOfMonth':
|
|
19727
|
+
options = {
|
|
19728
|
+
day: 'numeric'
|
|
19729
|
+
};
|
|
19730
|
+
break;
|
|
19603
19731
|
default:
|
|
19604
19732
|
options = {
|
|
19605
19733
|
timeZone: 'UTC',
|
|
@@ -19630,28 +19758,6 @@ function startOfYear(date) {
|
|
|
19630
19758
|
function endOfYear(date) {
|
|
19631
19759
|
return new Date(date.getFullYear(), 11, 31);
|
|
19632
19760
|
}
|
|
19633
|
-
function getMondayOfFirstWeekOfYear(year) {
|
|
19634
|
-
return new Date(year, 0, 1);
|
|
19635
|
-
}
|
|
19636
|
-
|
|
19637
|
-
// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024
|
|
19638
|
-
function getWeek(date) {
|
|
19639
|
-
let year = date.getFullYear();
|
|
19640
|
-
let d1w1 = getMondayOfFirstWeekOfYear(year);
|
|
19641
|
-
if (date < d1w1) {
|
|
19642
|
-
year = year - 1;
|
|
19643
|
-
d1w1 = getMondayOfFirstWeekOfYear(year);
|
|
19644
|
-
} else {
|
|
19645
|
-
const tv = getMondayOfFirstWeekOfYear(year + 1);
|
|
19646
|
-
if (date >= tv) {
|
|
19647
|
-
year = year + 1;
|
|
19648
|
-
d1w1 = tv;
|
|
19649
|
-
}
|
|
19650
|
-
}
|
|
19651
|
-
const diffTime = Math.abs(date.getTime() - d1w1.getTime());
|
|
19652
|
-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
|
19653
|
-
return Math.floor(diffDays / 7) + 1;
|
|
19654
|
-
}
|
|
19655
19761
|
function isWithinRange(date, range) {
|
|
19656
19762
|
return isAfter(date, range[0]) && isBefore(date, range[1]);
|
|
19657
19763
|
}
|
|
@@ -19688,13 +19794,15 @@ function setYear(date, year) {
|
|
|
19688
19794
|
return d;
|
|
19689
19795
|
}
|
|
19690
19796
|
class VuetifyDateAdapter {
|
|
19691
|
-
constructor() {
|
|
19692
|
-
|
|
19693
|
-
this.locale = locale;
|
|
19797
|
+
constructor(options) {
|
|
19798
|
+
this.locale = options.locale;
|
|
19694
19799
|
}
|
|
19695
19800
|
date(value) {
|
|
19696
19801
|
return date(value);
|
|
19697
19802
|
}
|
|
19803
|
+
toJsDate(date) {
|
|
19804
|
+
return date;
|
|
19805
|
+
}
|
|
19698
19806
|
addDays(date, amount) {
|
|
19699
19807
|
return addDays(date, amount);
|
|
19700
19808
|
}
|
|
@@ -19702,7 +19810,7 @@ class VuetifyDateAdapter {
|
|
|
19702
19810
|
return addMonths(date, amount);
|
|
19703
19811
|
}
|
|
19704
19812
|
getWeekArray(date) {
|
|
19705
|
-
return getWeekArray(date);
|
|
19813
|
+
return getWeekArray(date, this.locale);
|
|
19706
19814
|
}
|
|
19707
19815
|
startOfMonth(date) {
|
|
19708
19816
|
return startOfMonth(date);
|
|
@@ -19725,6 +19833,9 @@ class VuetifyDateAdapter {
|
|
|
19725
19833
|
isAfter(date, comparing) {
|
|
19726
19834
|
return isAfter(date, comparing);
|
|
19727
19835
|
}
|
|
19836
|
+
isBefore(date, comparing) {
|
|
19837
|
+
return !isAfter(date, comparing) && !isEqual(date, comparing);
|
|
19838
|
+
}
|
|
19728
19839
|
isSameDay(date, comparing) {
|
|
19729
19840
|
return isSameDay(date, comparing);
|
|
19730
19841
|
}
|
|
@@ -19737,9 +19848,6 @@ class VuetifyDateAdapter {
|
|
|
19737
19848
|
getDiff(date, comparing, unit) {
|
|
19738
19849
|
return getDiff(date, comparing, unit);
|
|
19739
19850
|
}
|
|
19740
|
-
getWeek(date) {
|
|
19741
|
-
return getWeek(date);
|
|
19742
|
-
}
|
|
19743
19851
|
getWeekdays() {
|
|
19744
19852
|
return getWeekdays(this.locale);
|
|
19745
19853
|
}
|
|
@@ -19763,9 +19871,52 @@ class VuetifyDateAdapter {
|
|
|
19763
19871
|
|
|
19764
19872
|
const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');
|
|
19765
19873
|
function createDate(options) {
|
|
19766
|
-
return
|
|
19767
|
-
adapter: VuetifyDateAdapter
|
|
19768
|
-
|
|
19874
|
+
return mergeDeep({
|
|
19875
|
+
adapter: VuetifyDateAdapter,
|
|
19876
|
+
locale: {
|
|
19877
|
+
af: 'af-ZA',
|
|
19878
|
+
// ar: '', # not the same value for all variants
|
|
19879
|
+
bg: 'bg-BG',
|
|
19880
|
+
ca: 'ca-ES',
|
|
19881
|
+
ckb: '',
|
|
19882
|
+
cs: '',
|
|
19883
|
+
de: 'de-DE',
|
|
19884
|
+
el: 'el-GR',
|
|
19885
|
+
en: 'en-US',
|
|
19886
|
+
// es: '', # not the same value for all variants
|
|
19887
|
+
et: 'et-EE',
|
|
19888
|
+
fa: 'fa-IR',
|
|
19889
|
+
fi: 'fi-FI',
|
|
19890
|
+
// fr: '', #not the same value for all variants
|
|
19891
|
+
hr: 'hr-HR',
|
|
19892
|
+
hu: 'hu-HU',
|
|
19893
|
+
he: 'he-IL',
|
|
19894
|
+
id: 'id-ID',
|
|
19895
|
+
it: 'it-IT',
|
|
19896
|
+
ja: 'ja-JP',
|
|
19897
|
+
ko: 'ko-KR',
|
|
19898
|
+
lv: 'lv-LV',
|
|
19899
|
+
lt: 'lt-LT',
|
|
19900
|
+
nl: 'nl-NL',
|
|
19901
|
+
no: 'nn-NO',
|
|
19902
|
+
pl: 'pl-PL',
|
|
19903
|
+
pt: 'pt-PT',
|
|
19904
|
+
ro: 'ro-RO',
|
|
19905
|
+
ru: 'ru-RU',
|
|
19906
|
+
sk: 'sk-SK',
|
|
19907
|
+
sl: 'sl-SI',
|
|
19908
|
+
srCyrl: 'sr-SP',
|
|
19909
|
+
srLatn: 'sr-SP',
|
|
19910
|
+
sv: 'sv-SE',
|
|
19911
|
+
th: 'th-TH',
|
|
19912
|
+
tr: 'tr-TR',
|
|
19913
|
+
az: 'az-AZ',
|
|
19914
|
+
uk: 'uk-UA',
|
|
19915
|
+
vi: 'vi-VN',
|
|
19916
|
+
zhHans: 'zh-CN',
|
|
19917
|
+
zhHant: 'zh-TW'
|
|
19918
|
+
}
|
|
19919
|
+
}, options);
|
|
19769
19920
|
}
|
|
19770
19921
|
|
|
19771
19922
|
// Composables
|
|
@@ -19853,7 +20004,7 @@ function createVuetify$1() {
|
|
|
19853
20004
|
date
|
|
19854
20005
|
};
|
|
19855
20006
|
}
|
|
19856
|
-
const version$1 = "3.3.
|
|
20007
|
+
const version$1 = "3.3.4";
|
|
19857
20008
|
createVuetify$1.version = version$1;
|
|
19858
20009
|
|
|
19859
20010
|
// Vue's inject() can only be used in setup
|
|
@@ -19878,7 +20029,7 @@ const createVuetify = function () {
|
|
|
19878
20029
|
...options
|
|
19879
20030
|
});
|
|
19880
20031
|
};
|
|
19881
|
-
const version = "3.3.
|
|
20032
|
+
const version = "3.3.4";
|
|
19882
20033
|
createVuetify.version = version;
|
|
19883
20034
|
|
|
19884
20035
|
export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };
|