@vuetify/nightly 3.2.0-dev-20230309.0 → 3.2.0-dev-20230322.0
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/CHANGELOG.md +2 -2
- package/dist/json/attributes.json +210 -30
- package/dist/json/importMap.json +4 -4
- package/dist/json/tags.json +47 -2
- package/dist/json/web-types.json +529 -63
- package/dist/vuetify-labs.css +1186 -1146
- package/dist/vuetify-labs.d.ts +56928 -14280
- package/dist/vuetify-labs.esm.js +557 -363
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +557 -363
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +204 -179
- package/dist/vuetify.d.ts +55330 -15866
- package/dist/vuetify.esm.js +400 -306
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +400 -306
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +668 -667
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.ts +6 -9
- package/lib/blueprints/md1.d.ts +6 -9
- package/lib/blueprints/md2.d.ts +6 -9
- package/lib/blueprints/md3.d.ts +6 -9
- package/lib/blueprints/md3.mjs +6 -0
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +29 -15
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +510 -82
- package/lib/components/VApp/VApp.css +1 -0
- package/lib/components/VApp/VApp.sass +1 -0
- package/lib/components/VApp/index.d.ts +158 -20
- package/lib/components/VAppBar/VAppBar.mjs +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +616 -110
- package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -7
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +1656 -130
- package/lib/components/VAvatar/index.d.ts +205 -29
- package/lib/components/VBadge/index.d.ts +284 -42
- package/lib/components/VBanner/VBanner.mjs +19 -12
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/index.d.ts +478 -84
- package/lib/components/VBottomNavigation/index.d.ts +321 -40
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +325 -45
- package/lib/components/VBtn/VBtn.css +0 -5
- package/lib/components/VBtn/VBtn.mjs +65 -58
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.sass +0 -7
- package/lib/components/VBtn/_variables.scss +0 -2
- package/lib/components/VBtn/index.d.ts +452 -69
- package/lib/components/VBtnGroup/VBtnGroup.mjs +1 -7
- package/lib/components/VBtnGroup/VBtnGroup.mjs.map +1 -1
- package/lib/components/VBtnGroup/index.d.ts +185 -26
- package/lib/components/VBtnToggle/VBtnToggle.mjs +2 -2
- package/lib/components/VBtnToggle/VBtnToggle.mjs.map +1 -1
- package/lib/components/VBtnToggle/index.d.ts +245 -35
- package/lib/components/VCard/VCard.mjs +10 -6
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +27 -23
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +938 -172
- package/lib/components/VCarousel/index.d.ts +561 -123
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/VCheckboxBtn.mjs +1 -4
- package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +831 -147
- package/lib/components/VChip/VChip.css +110 -90
- package/lib/components/VChip/VChip.mjs +70 -48
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/_mixins.scss +27 -23
- package/lib/components/VChip/index.d.ts +474 -76
- package/lib/components/VChipGroup/index.d.ts +227 -32
- package/lib/components/VCode/index.d.ts +109 -16
- package/lib/components/VColorPicker/index.d.ts +284 -20
- package/lib/components/VCombobox/VCombobox.mjs +13 -7
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +1668 -130
- package/lib/components/VCounter/index.d.ts +1894 -87
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +133 -21
- package/lib/components/VDialog/VDialog.css +31 -24
- package/lib/components/VDialog/VDialog.mjs +2 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +19 -12
- package/lib/components/VDialog/index.d.ts +2362 -146
- package/lib/components/VDivider/index.d.ts +130 -23
- package/lib/components/VExpansionPanel/index.d.ts +719 -119
- package/lib/components/VField/index.d.ts +163 -21
- package/lib/components/VFileInput/index.d.ts +1038 -104
- package/lib/components/VFooter/VFooter.css +2 -0
- package/lib/components/VFooter/VFooter.sass +2 -0
- package/lib/components/VFooter/_variables.scss +2 -0
- package/lib/components/VFooter/index.d.ts +203 -28
- package/lib/components/VForm/index.d.ts +204 -23
- package/lib/components/VGrid/VCol.mjs +6 -5
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +4 -4
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VGrid/index.d.ts +733 -76
- package/lib/components/VHover/index.d.ts +182 -35
- package/lib/components/VIcon/index.d.ts +494 -50
- package/lib/components/VImg/VImg.mjs +2 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +275 -46
- package/lib/components/VInput/index.d.ts +315 -53
- package/lib/components/VItemGroup/index.d.ts +308 -52
- package/lib/components/VKbd/VKbd.css +1 -0
- package/lib/components/VKbd/VKbd.sass +1 -0
- package/lib/components/VKbd/_variables.scss +1 -0
- package/lib/components/VKbd/index.d.ts +109 -16
- package/lib/components/VLabel/index.d.ts +113 -20
- package/lib/components/VLayout/index.d.ts +296 -41
- package/lib/components/VLazy/VLazy.mjs +4 -1
- package/lib/components/VLazy/VLazy.mjs.map +1 -1
- package/lib/components/VLazy/index.d.ts +219 -30
- package/lib/components/VList/VListChildren.mjs +2 -2
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/VListGroup.mjs +1 -4
- package/lib/components/VList/VListGroup.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +23 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +1461 -223
- package/lib/components/VLocaleProvider/index.d.ts +121 -20
- package/lib/components/VMain/index.d.ts +118 -17
- package/lib/components/VMenu/VMenu.css +4 -4
- package/lib/components/VMenu/VMenu.mjs +2 -2
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.sass +1 -1
- package/lib/components/VMenu/index.d.ts +2368 -142
- package/lib/components/VMessages/index.d.ts +1921 -98
- package/lib/components/VNavigationDrawer/index.d.ts +379 -56
- package/lib/components/VOverlay/VOverlay.css +2 -2
- package/lib/components/VOverlay/VOverlay.mjs +1 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.sass +1 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VOverlay/index.d.ts +519 -85
- package/lib/components/VPagination/index.d.ts +502 -68
- package/lib/components/VParallax/VParallax.mjs +3 -3
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VParallax/index.d.ts +141 -28
- package/lib/components/VProgressCircular/index.d.ts +186 -25
- package/lib/components/VProgressLinear/index.d.ts +319 -48
- package/lib/components/VRadio/index.d.ts +313 -57
- package/lib/components/VRadioGroup/VRadioGroup.mjs +4 -6
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +463 -83
- package/lib/components/VRangeSlider/index.d.ts +528 -80
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +305 -43
- package/lib/components/VResponsive/index.d.ts +142 -27
- package/lib/components/VSelect/VSelect.mjs +13 -7
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +3060 -328
- package/lib/components/VSelectionControl/VSelectionControl.mjs +1 -4
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +76 -4
- package/lib/components/VSelectionControlGroup/index.d.ts +242 -38
- package/lib/components/VSheet/VSheet.mjs +1 -7
- package/lib/components/VSheet/VSheet.mjs.map +1 -1
- package/lib/components/VSheet/index.d.ts +194 -31
- package/lib/components/VSlideGroup/index.d.ts +475 -83
- package/lib/components/VSlider/VSliderTrack.mjs +1 -0
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +521 -79
- package/lib/components/VSlider/slider.mjs +5 -6
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +2 -7
- package/lib/components/VSnackbar/VSnackbar.mjs +4 -3
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +3 -8
- package/lib/components/VSnackbar/index.d.ts +1219 -81
- package/lib/components/VSwitch/VSwitch.mjs +2 -2
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +498 -92
- package/lib/components/VSystemBar/index.d.ts +184 -27
- package/lib/components/VTable/index.d.ts +190 -35
- package/lib/components/VTabs/VTab.mjs +7 -23
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +623 -71
- package/lib/components/VTextField/VTextField.mjs +8 -5
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +1404 -106
- package/lib/components/VTextarea/VTextarea.mjs +7 -1
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +1014 -102
- package/lib/components/VThemeProvider/index.d.ts +124 -19
- package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +441 -71
- package/lib/components/VToolbar/VToolbar.mjs +10 -9
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +542 -93
- package/lib/components/VTooltip/VTooltip.css +3 -3
- package/lib/components/VTooltip/VTooltip.mjs +2 -2
- package/lib/components/VTooltip/VTooltip.mjs.map +1 -1
- package/lib/components/VTooltip/VTooltip.sass +1 -1
- package/lib/components/VTooltip/index.d.ts +1276 -82
- package/lib/components/VValidation/index.d.ts +201 -30
- package/lib/components/VWindow/index.d.ts +527 -95
- package/lib/components/index.d.ts +55255 -15788
- package/lib/components/transitions/index.d.ts +2097 -308
- package/lib/composables/defaults.mjs +2 -0
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/display.mjs +2 -0
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +7 -10
- package/lib/labs/VDataTable/VDataTable.css +15 -0
- package/lib/labs/VDataTable/VDataTable.mjs +41 -17
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTable.sass +9 -0
- package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +8 -2
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +39 -17
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +23 -12
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs +1 -1
- package/lib/labs/VDataTable/composables/expand.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/group.mjs +12 -1
- package/lib/labs/VDataTable/composables/group.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +0 -12
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/paginate.mjs +25 -4
- package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +1 -1
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +19 -3
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +4179 -1017
- package/lib/labs/VVirtualScroll/index.d.ts +32 -1
- package/lib/labs/components.d.ts +4214 -1026
- package/lib/locale/adapters/vue-i18n.d.ts +1 -1
- package/lib/locale/adapters/vue-i18n.mjs +1 -1
- package/lib/locale/adapters/vue-i18n.mjs.map +1 -1
- package/lib/styles/main.css +4 -0
- package/lib/styles/settings/_utilities.scss +7 -0
- package/lib/util/animation.mjs +8 -1
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/defineComponent.mjs +15 -7
- package/lib/util/defineComponent.mjs.map +1 -1
- package/lib/util/helpers.mjs +4 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +5 -10
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.2.0-dev-
|
|
2
|
+
* Vuetify v3.2.0-dev-20230322.0
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -207,6 +207,10 @@
|
|
|
207
207
|
let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
208
208
|
return Math.max(min, Math.min(max, value));
|
|
209
209
|
}
|
|
210
|
+
function getDecimals(value) {
|
|
211
|
+
const trimmedStr = value.toString().trim();
|
|
212
|
+
return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;
|
|
213
|
+
}
|
|
210
214
|
function padEnd(str, length) {
|
|
211
215
|
let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
|
|
212
216
|
return str + char.repeat(Math.max(0, length - str.length));
|
|
@@ -489,7 +493,14 @@
|
|
|
489
493
|
if (typeof el.animate === 'undefined') return {
|
|
490
494
|
finished: Promise.resolve()
|
|
491
495
|
};
|
|
492
|
-
|
|
496
|
+
let animation;
|
|
497
|
+
try {
|
|
498
|
+
animation = el.animate(keyframes, options);
|
|
499
|
+
} catch (err) {
|
|
500
|
+
return {
|
|
501
|
+
finished: Promise.resolve()
|
|
502
|
+
};
|
|
503
|
+
}
|
|
493
504
|
if (typeof animation.finished === 'undefined') {
|
|
494
505
|
animation.finished = new Promise(resolve => {
|
|
495
506
|
animation.onfinish = () => {
|
|
@@ -953,6 +964,8 @@
|
|
|
953
964
|
const injectedDefaults = useDefaults();
|
|
954
965
|
const providedDefaults = vue.ref(defaults);
|
|
955
966
|
const newDefaults = vue.computed(() => {
|
|
967
|
+
const disabled = vue.unref(options?.disabled);
|
|
968
|
+
if (disabled) return injectedDefaults.value;
|
|
956
969
|
const scoped = vue.unref(options?.scoped);
|
|
957
970
|
const reset = vue.unref(options?.reset);
|
|
958
971
|
const root = vue.unref(options?.root);
|
|
@@ -1007,15 +1020,22 @@
|
|
|
1007
1020
|
function propIsDefined(vnode, prop) {
|
|
1008
1021
|
return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';
|
|
1009
1022
|
}
|
|
1010
|
-
|
|
1023
|
+
|
|
1024
|
+
// No props
|
|
1025
|
+
|
|
1026
|
+
// Implementation
|
|
1027
|
+
function defineComponent(options) {
|
|
1011
1028
|
options._setup = options._setup ?? options.setup;
|
|
1012
1029
|
if (!options.name) {
|
|
1013
1030
|
consoleWarn('The component is missing an explicit name, unable to generate default prop value');
|
|
1014
1031
|
return options;
|
|
1015
1032
|
}
|
|
1016
1033
|
if (options._setup) {
|
|
1017
|
-
options.props = options.props ?? {};
|
|
1018
|
-
|
|
1034
|
+
options.props = propsFactory(options.props ?? {}, toKebabCase(options.name))();
|
|
1035
|
+
const propKeys = Object.keys(options.props);
|
|
1036
|
+
options.filterProps = function filterProps(props) {
|
|
1037
|
+
return pick(props, propKeys);
|
|
1038
|
+
};
|
|
1019
1039
|
options.props._as = String;
|
|
1020
1040
|
options.setup = function setup(props, ctx) {
|
|
1021
1041
|
const defaults = useDefaults();
|
|
@@ -1026,10 +1046,11 @@
|
|
|
1026
1046
|
const componentDefaults = vue.computed(() => defaults.value[props._as ?? options.name]);
|
|
1027
1047
|
const _props = new Proxy(props, {
|
|
1028
1048
|
get(target, prop) {
|
|
1049
|
+
const propValue = Reflect.get(target, prop);
|
|
1029
1050
|
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1030
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ??
|
|
1051
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
|
1031
1052
|
}
|
|
1032
|
-
return
|
|
1053
|
+
return propValue;
|
|
1033
1054
|
}
|
|
1034
1055
|
});
|
|
1035
1056
|
const _subcomponentDefaults = vue.shallowRef();
|
|
@@ -1054,7 +1075,7 @@
|
|
|
1054
1075
|
};
|
|
1055
1076
|
}
|
|
1056
1077
|
return options;
|
|
1057
|
-
}
|
|
1078
|
+
}
|
|
1058
1079
|
// Implementation
|
|
1059
1080
|
function genericComponent() {
|
|
1060
1081
|
let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
@@ -2157,6 +2178,7 @@
|
|
|
2157
2178
|
name: 'VDefaultsProvider',
|
|
2158
2179
|
props: {
|
|
2159
2180
|
defaults: Object,
|
|
2181
|
+
disabled: Boolean,
|
|
2160
2182
|
reset: [Number, String],
|
|
2161
2183
|
root: Boolean,
|
|
2162
2184
|
scoped: Boolean
|
|
@@ -2167,6 +2189,7 @@
|
|
|
2167
2189
|
} = _ref;
|
|
2168
2190
|
const {
|
|
2169
2191
|
defaults,
|
|
2192
|
+
disabled,
|
|
2170
2193
|
reset,
|
|
2171
2194
|
root,
|
|
2172
2195
|
scoped
|
|
@@ -2174,7 +2197,8 @@
|
|
|
2174
2197
|
provideDefaults(defaults, {
|
|
2175
2198
|
reset,
|
|
2176
2199
|
root,
|
|
2177
|
-
scoped
|
|
2200
|
+
scoped,
|
|
2201
|
+
disabled
|
|
2178
2202
|
});
|
|
2179
2203
|
return () => slots.default?.();
|
|
2180
2204
|
}
|
|
@@ -2796,7 +2820,7 @@
|
|
|
2796
2820
|
"class": ['v-img__img', containClasses.value],
|
|
2797
2821
|
"src": normalisedSrc.value.src,
|
|
2798
2822
|
"srcset": normalisedSrc.value.srcset,
|
|
2799
|
-
"alt":
|
|
2823
|
+
"alt": props.alt,
|
|
2800
2824
|
"sizes": props.sizes,
|
|
2801
2825
|
"ref": image,
|
|
2802
2826
|
"onLoad": onLoad,
|
|
@@ -2818,7 +2842,7 @@
|
|
|
2818
2842
|
default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createVNode("img", {
|
|
2819
2843
|
"class": ['v-img__img', 'v-img__img--preload', containClasses.value],
|
|
2820
2844
|
"src": normalisedSrc.value.lazySrc,
|
|
2821
|
-
"alt":
|
|
2845
|
+
"alt": props.alt
|
|
2822
2846
|
}, null)]
|
|
2823
2847
|
});
|
|
2824
2848
|
const __placeholder = () => {
|
|
@@ -3160,16 +3184,20 @@
|
|
|
3160
3184
|
default: () => [hasImage && vue.createVNode("div", {
|
|
3161
3185
|
"key": "image",
|
|
3162
3186
|
"class": "v-toolbar__image"
|
|
3163
|
-
}, [vue.createVNode(
|
|
3187
|
+
}, [!slots.image ? vue.createVNode(VImg, {
|
|
3188
|
+
"key": "image-img",
|
|
3189
|
+
"cover": true,
|
|
3190
|
+
"src": props.image
|
|
3191
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
3192
|
+
"key": "image-defaults",
|
|
3193
|
+
"disabled": !props.image,
|
|
3164
3194
|
"defaults": {
|
|
3165
3195
|
VImg: {
|
|
3166
3196
|
cover: true,
|
|
3167
3197
|
src: props.image
|
|
3168
3198
|
}
|
|
3169
3199
|
}
|
|
3170
|
-
}, {
|
|
3171
|
-
default: () => [slots.image ? slots.image?.() : vue.createVNode(VImg, null, null)]
|
|
3172
|
-
})]), vue.createVNode(VDefaultsProvider, {
|
|
3200
|
+
}, slots.image)]), vue.createVNode(VDefaultsProvider, {
|
|
3173
3201
|
"defaults": {
|
|
3174
3202
|
VTabs: {
|
|
3175
3203
|
height: convertToUnit(contentHeight.value)
|
|
@@ -3215,9 +3243,6 @@
|
|
|
3215
3243
|
};
|
|
3216
3244
|
}
|
|
3217
3245
|
});
|
|
3218
|
-
function filterToolbarProps(props) {
|
|
3219
|
-
return pick(props, Object.keys(VToolbar?.props ?? {}));
|
|
3220
|
-
}
|
|
3221
3246
|
|
|
3222
3247
|
// Utilities
|
|
3223
3248
|
|
|
@@ -3295,7 +3320,7 @@
|
|
|
3295
3320
|
absolute: vue.toRef(props, 'absolute')
|
|
3296
3321
|
});
|
|
3297
3322
|
useRender(() => {
|
|
3298
|
-
const [toolbarProps] =
|
|
3323
|
+
const [toolbarProps] = VToolbar.filterProps(props);
|
|
3299
3324
|
return vue.createVNode(VToolbar, vue.mergeProps({
|
|
3300
3325
|
"ref": vToolbarRef,
|
|
3301
3326
|
"class": ['v-app-bar', {
|
|
@@ -3386,8 +3411,6 @@
|
|
|
3386
3411
|
};
|
|
3387
3412
|
}
|
|
3388
3413
|
|
|
3389
|
-
// Types
|
|
3390
|
-
|
|
3391
3414
|
const makeVBtnGroupProps = propsFactory({
|
|
3392
3415
|
divided: Boolean,
|
|
3393
3416
|
...makeBorderProps(),
|
|
@@ -3438,9 +3461,6 @@
|
|
|
3438
3461
|
});
|
|
3439
3462
|
}
|
|
3440
3463
|
});
|
|
3441
|
-
function filterVBtnGroupProps(props) {
|
|
3442
|
-
return pick(props, Object.keys(VBtnGroup.props));
|
|
3443
|
-
}
|
|
3444
3464
|
|
|
3445
3465
|
// Composables
|
|
3446
3466
|
|
|
@@ -3667,7 +3687,7 @@
|
|
|
3667
3687
|
selected
|
|
3668
3688
|
} = useGroup(props, VBtnToggleSymbol);
|
|
3669
3689
|
useRender(() => {
|
|
3670
|
-
const [btnGroupProps] =
|
|
3690
|
+
const [btnGroupProps] = VBtnGroup.filterProps(props);
|
|
3671
3691
|
return vue.createVNode(VBtnGroup, vue.mergeProps({
|
|
3672
3692
|
"class": "v-btn-toggle"
|
|
3673
3693
|
}, btnGroupProps), {
|
|
@@ -4755,49 +4775,50 @@
|
|
|
4755
4775
|
|
|
4756
4776
|
// Types
|
|
4757
4777
|
|
|
4778
|
+
const makeVBtnProps = propsFactory({
|
|
4779
|
+
active: {
|
|
4780
|
+
type: Boolean,
|
|
4781
|
+
default: undefined
|
|
4782
|
+
},
|
|
4783
|
+
symbol: {
|
|
4784
|
+
type: null,
|
|
4785
|
+
default: VBtnToggleSymbol
|
|
4786
|
+
},
|
|
4787
|
+
flat: Boolean,
|
|
4788
|
+
icon: [Boolean, String, Function, Object],
|
|
4789
|
+
prependIcon: IconValue,
|
|
4790
|
+
appendIcon: IconValue,
|
|
4791
|
+
block: Boolean,
|
|
4792
|
+
stacked: Boolean,
|
|
4793
|
+
ripple: {
|
|
4794
|
+
type: Boolean,
|
|
4795
|
+
default: true
|
|
4796
|
+
},
|
|
4797
|
+
...makeBorderProps(),
|
|
4798
|
+
...makeRoundedProps(),
|
|
4799
|
+
...makeDensityProps(),
|
|
4800
|
+
...makeDimensionProps(),
|
|
4801
|
+
...makeElevationProps(),
|
|
4802
|
+
...makeGroupItemProps(),
|
|
4803
|
+
...makeLoaderProps(),
|
|
4804
|
+
...makeLocationProps(),
|
|
4805
|
+
...makePositionProps(),
|
|
4806
|
+
...makeRouterProps(),
|
|
4807
|
+
...makeSizeProps(),
|
|
4808
|
+
...makeTagProps({
|
|
4809
|
+
tag: 'button'
|
|
4810
|
+
}),
|
|
4811
|
+
...makeThemeProps(),
|
|
4812
|
+
...makeVariantProps({
|
|
4813
|
+
variant: 'elevated'
|
|
4814
|
+
})
|
|
4815
|
+
}, 'VBtn');
|
|
4758
4816
|
const VBtn = genericComponent()({
|
|
4759
4817
|
name: 'VBtn',
|
|
4760
4818
|
directives: {
|
|
4761
4819
|
Ripple
|
|
4762
4820
|
},
|
|
4763
|
-
props:
|
|
4764
|
-
active: {
|
|
4765
|
-
type: Boolean,
|
|
4766
|
-
default: undefined
|
|
4767
|
-
},
|
|
4768
|
-
symbol: {
|
|
4769
|
-
type: null,
|
|
4770
|
-
default: VBtnToggleSymbol
|
|
4771
|
-
},
|
|
4772
|
-
flat: Boolean,
|
|
4773
|
-
icon: [Boolean, String, Function, Object],
|
|
4774
|
-
prependIcon: IconValue,
|
|
4775
|
-
appendIcon: IconValue,
|
|
4776
|
-
block: Boolean,
|
|
4777
|
-
stacked: Boolean,
|
|
4778
|
-
ripple: {
|
|
4779
|
-
type: Boolean,
|
|
4780
|
-
default: true
|
|
4781
|
-
},
|
|
4782
|
-
...makeBorderProps(),
|
|
4783
|
-
...makeRoundedProps(),
|
|
4784
|
-
...makeDensityProps(),
|
|
4785
|
-
...makeDimensionProps(),
|
|
4786
|
-
...makeElevationProps(),
|
|
4787
|
-
...makeGroupItemProps(),
|
|
4788
|
-
...makeLoaderProps(),
|
|
4789
|
-
...makeLocationProps(),
|
|
4790
|
-
...makePositionProps(),
|
|
4791
|
-
...makeRouterProps(),
|
|
4792
|
-
...makeSizeProps(),
|
|
4793
|
-
...makeTagProps({
|
|
4794
|
-
tag: 'button'
|
|
4795
|
-
}),
|
|
4796
|
-
...makeThemeProps(),
|
|
4797
|
-
...makeVariantProps({
|
|
4798
|
-
variant: 'elevated'
|
|
4799
|
-
})
|
|
4800
|
-
},
|
|
4821
|
+
props: makeVBtnProps(),
|
|
4801
4822
|
emits: {
|
|
4802
4823
|
'group:selected': val => true
|
|
4803
4824
|
},
|
|
@@ -4890,43 +4911,49 @@
|
|
|
4890
4911
|
},
|
|
4891
4912
|
"value": valueAttr.value
|
|
4892
4913
|
}, {
|
|
4893
|
-
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode(
|
|
4914
|
+
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
|
|
4894
4915
|
"key": "prepend",
|
|
4916
|
+
"class": "v-btn__prepend"
|
|
4917
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
4918
|
+
"key": "prepend-icon",
|
|
4919
|
+
"icon": props.prependIcon
|
|
4920
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4921
|
+
"key": "prepend-defaults",
|
|
4922
|
+
"disabled": !props.prependIcon,
|
|
4895
4923
|
"defaults": {
|
|
4896
4924
|
VIcon: {
|
|
4897
4925
|
icon: props.prependIcon
|
|
4898
4926
|
}
|
|
4899
4927
|
}
|
|
4900
|
-
}, {
|
|
4901
|
-
default: () => [vue.createVNode("span", {
|
|
4902
|
-
"class": "v-btn__prepend"
|
|
4903
|
-
}, [slots.prepend?.() ?? vue.createVNode(VIcon, null, null)])]
|
|
4904
|
-
}), vue.createVNode("span", {
|
|
4928
|
+
}, slots.prepend)]), vue.createVNode("span", {
|
|
4905
4929
|
"class": "v-btn__content",
|
|
4906
4930
|
"data-no-activator": ""
|
|
4907
|
-
}, [vue.createVNode(
|
|
4908
|
-
"key": "content",
|
|
4931
|
+
}, [!slots.default && hasIcon ? vue.createVNode(VIcon, {
|
|
4932
|
+
"key": "content-icon",
|
|
4933
|
+
"icon": props.icon
|
|
4934
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4935
|
+
"key": "content-defaults",
|
|
4936
|
+
"disabled": !hasIcon,
|
|
4909
4937
|
"defaults": {
|
|
4910
4938
|
VIcon: {
|
|
4911
|
-
icon:
|
|
4939
|
+
icon: props.icon
|
|
4912
4940
|
}
|
|
4913
4941
|
}
|
|
4914
|
-
}, {
|
|
4915
|
-
default: () => [slots.default?.() ?? (hasIcon && vue.createVNode(VIcon, {
|
|
4916
|
-
"key": "icon"
|
|
4917
|
-
}, null))]
|
|
4918
|
-
})]), !props.icon && hasAppend && vue.createVNode(VDefaultsProvider, {
|
|
4942
|
+
}, slots.default)]), !props.icon && hasAppend && vue.createVNode("span", {
|
|
4919
4943
|
"key": "append",
|
|
4944
|
+
"class": "v-btn__append"
|
|
4945
|
+
}, [!slots.append ? vue.createVNode(VIcon, {
|
|
4946
|
+
"key": "append-icon",
|
|
4947
|
+
"icon": props.appendIcon
|
|
4948
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4949
|
+
"key": "append-defaults",
|
|
4950
|
+
"disabled": !props.appendIcon,
|
|
4920
4951
|
"defaults": {
|
|
4921
4952
|
VIcon: {
|
|
4922
4953
|
icon: props.appendIcon
|
|
4923
4954
|
}
|
|
4924
4955
|
}
|
|
4925
|
-
}, {
|
|
4926
|
-
default: () => [vue.createVNode("span", {
|
|
4927
|
-
"class": "v-btn__append"
|
|
4928
|
-
}, [slots.append?.() ?? vue.createVNode(VIcon, null, null)])]
|
|
4929
|
-
}), !!props.loading && vue.createVNode("span", {
|
|
4956
|
+
}, slots.append)]), !!props.loading && vue.createVNode("span", {
|
|
4930
4957
|
"key": "loader",
|
|
4931
4958
|
"class": "v-btn__loader"
|
|
4932
4959
|
}, [slots.loader?.() ?? vue.createVNode(VProgressCircular, {
|
|
@@ -5055,10 +5082,12 @@
|
|
|
5055
5082
|
})
|
|
5056
5083
|
},
|
|
5057
5084
|
emits: {
|
|
5085
|
+
'click:close': e => true,
|
|
5058
5086
|
'update:modelValue': value => true
|
|
5059
5087
|
},
|
|
5060
5088
|
setup(props, _ref) {
|
|
5061
5089
|
let {
|
|
5090
|
+
emit,
|
|
5062
5091
|
slots
|
|
5063
5092
|
} = _ref;
|
|
5064
5093
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
@@ -5108,6 +5137,7 @@
|
|
|
5108
5137
|
'aria-label': t(props.closeLabel),
|
|
5109
5138
|
onClick(e) {
|
|
5110
5139
|
isActive.value = false;
|
|
5140
|
+
emit('click:close', e);
|
|
5111
5141
|
}
|
|
5112
5142
|
}));
|
|
5113
5143
|
return () => {
|
|
@@ -5129,8 +5159,17 @@
|
|
|
5129
5159
|
"key": "border",
|
|
5130
5160
|
"class": ['v-alert__border', textColorClasses.value],
|
|
5131
5161
|
"style": textColorStyles.value
|
|
5132
|
-
}, null), hasPrepend && vue.createVNode(
|
|
5162
|
+
}, null), hasPrepend && vue.createVNode("div", {
|
|
5133
5163
|
"key": "prepend",
|
|
5164
|
+
"class": "v-alert__prepend"
|
|
5165
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
5166
|
+
"key": "prepend-icon",
|
|
5167
|
+
"density": props.density,
|
|
5168
|
+
"icon": icon.value,
|
|
5169
|
+
"size": props.prominent ? 44 : 28
|
|
5170
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
5171
|
+
"key": "prepend-defaults",
|
|
5172
|
+
"disabled": !icon.value,
|
|
5134
5173
|
"defaults": {
|
|
5135
5174
|
VIcon: {
|
|
5136
5175
|
density: props.density,
|
|
@@ -5138,21 +5177,25 @@
|
|
|
5138
5177
|
size: props.prominent ? 44 : 28
|
|
5139
5178
|
}
|
|
5140
5179
|
}
|
|
5141
|
-
}, {
|
|
5142
|
-
default: () => [vue.createVNode("div", {
|
|
5143
|
-
"class": "v-alert__prepend"
|
|
5144
|
-
}, [slots.prepend ? slots.prepend() : icon.value && vue.createVNode(VIcon, null, null)])]
|
|
5145
|
-
}), vue.createVNode("div", {
|
|
5180
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
5146
5181
|
"class": "v-alert__content"
|
|
5147
5182
|
}, [hasTitle && vue.createVNode(VAlertTitle, {
|
|
5148
5183
|
"key": "title"
|
|
5149
5184
|
}, {
|
|
5150
|
-
default: () => [slots.title
|
|
5151
|
-
}), hasText && (slots.text
|
|
5185
|
+
default: () => [slots.title?.() ?? props.title]
|
|
5186
|
+
}), hasText && (slots.text?.() ?? props.text), slots.default?.()]), slots.append && vue.createVNode("div", {
|
|
5152
5187
|
"key": "append",
|
|
5153
5188
|
"class": "v-alert__append"
|
|
5154
|
-
}, [slots.append()]), hasClose && vue.createVNode(
|
|
5189
|
+
}, [slots.append()]), hasClose && vue.createVNode("div", {
|
|
5155
5190
|
"key": "close",
|
|
5191
|
+
"class": "v-alert__close"
|
|
5192
|
+
}, [!slots.close ? vue.createVNode(VBtn, vue.mergeProps({
|
|
5193
|
+
"key": "close-btn",
|
|
5194
|
+
"icon": props.closeIcon,
|
|
5195
|
+
"size": "x-small",
|
|
5196
|
+
"variant": "text"
|
|
5197
|
+
}, closeProps.value), null) : vue.createVNode(VDefaultsProvider, {
|
|
5198
|
+
"key": "close-defaults",
|
|
5156
5199
|
"defaults": {
|
|
5157
5200
|
VBtn: {
|
|
5158
5201
|
icon: props.closeIcon,
|
|
@@ -5161,12 +5204,10 @@
|
|
|
5161
5204
|
}
|
|
5162
5205
|
}
|
|
5163
5206
|
}, {
|
|
5164
|
-
default: () => [
|
|
5165
|
-
"class": "v-alert__close"
|
|
5166
|
-
}, [slots.close?.({
|
|
5207
|
+
default: () => [slots.close?.({
|
|
5167
5208
|
props: closeProps.value
|
|
5168
|
-
})
|
|
5169
|
-
})]
|
|
5209
|
+
})]
|
|
5210
|
+
})])]
|
|
5170
5211
|
});
|
|
5171
5212
|
};
|
|
5172
5213
|
}
|
|
@@ -6129,7 +6170,13 @@
|
|
|
6129
6170
|
});
|
|
6130
6171
|
}
|
|
6131
6172
|
function onInput(e) {
|
|
6132
|
-
|
|
6173
|
+
const el = e.target;
|
|
6174
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6175
|
+
model.value = el.value;
|
|
6176
|
+
vue.nextTick(() => {
|
|
6177
|
+
el.selectionStart = caretPosition[0];
|
|
6178
|
+
el.selectionEnd = caretPosition[1];
|
|
6179
|
+
});
|
|
6133
6180
|
}
|
|
6134
6181
|
useRender(() => {
|
|
6135
6182
|
const hasCounter = !!(slots.counter || props.counter || props.counterValue);
|
|
@@ -6229,9 +6276,6 @@
|
|
|
6229
6276
|
return forwardRefs({}, vInputRef, vFieldRef, inputRef);
|
|
6230
6277
|
}
|
|
6231
6278
|
});
|
|
6232
|
-
function filterVTextFieldProps(props) {
|
|
6233
|
-
return pick(props, Object.keys(VTextField.props));
|
|
6234
|
-
}
|
|
6235
6279
|
|
|
6236
6280
|
// Types
|
|
6237
6281
|
|
|
@@ -6489,11 +6533,6 @@
|
|
|
6489
6533
|
};
|
|
6490
6534
|
}
|
|
6491
6535
|
});
|
|
6492
|
-
function filterControlProps(props) {
|
|
6493
|
-
return pick(props, Object.keys(VSelectionControl.props));
|
|
6494
|
-
}
|
|
6495
|
-
|
|
6496
|
-
// Types
|
|
6497
6536
|
|
|
6498
6537
|
const makeVCheckboxBtnProps = propsFactory({
|
|
6499
6538
|
indeterminate: Boolean,
|
|
@@ -6543,9 +6582,6 @@
|
|
|
6543
6582
|
return {};
|
|
6544
6583
|
}
|
|
6545
6584
|
});
|
|
6546
|
-
function filterCheckboxBtnProps(props) {
|
|
6547
|
-
return pick(props, Object.keys(VCheckboxBtn.props));
|
|
6548
|
-
}
|
|
6549
6585
|
|
|
6550
6586
|
// Types
|
|
6551
6587
|
|
|
@@ -6574,7 +6610,7 @@
|
|
|
6574
6610
|
useRender(() => {
|
|
6575
6611
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
6576
6612
|
const [inputProps, _1] = filterInputProps(props);
|
|
6577
|
-
const [checkboxProps, _2] =
|
|
6613
|
+
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
|
6578
6614
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
6579
6615
|
"class": "v-checkbox"
|
|
6580
6616
|
}, inputAttrs, inputProps, {
|
|
@@ -6831,10 +6867,13 @@
|
|
|
6831
6867
|
const link = useLink(props, attrs);
|
|
6832
6868
|
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
|
6833
6869
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6870
|
+
const closeProps = vue.computed(() => ({
|
|
6871
|
+
'aria-label': t(props.closeLabel),
|
|
6872
|
+
onClick(e) {
|
|
6873
|
+
isActive.value = false;
|
|
6874
|
+
emit('click:close', e);
|
|
6875
|
+
}
|
|
6876
|
+
}));
|
|
6838
6877
|
function onClick(e) {
|
|
6839
6878
|
emit('click', e);
|
|
6840
6879
|
if (!isClickable.value) return;
|
|
@@ -6849,10 +6888,12 @@
|
|
|
6849
6888
|
}
|
|
6850
6889
|
return () => {
|
|
6851
6890
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
6852
|
-
const
|
|
6891
|
+
const hasAppendMedia = !!(props.appendIcon || props.appendAvatar);
|
|
6892
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
6853
6893
|
const hasClose = !!(slots.close || props.closable);
|
|
6854
6894
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
|
6855
|
-
const
|
|
6895
|
+
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
|
6896
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
6856
6897
|
const hasColor = !group || group.isSelected.value;
|
|
6857
6898
|
return isActive.value && vue.withDirectives(vue.createVNode(Tag, {
|
|
6858
6899
|
"class": ['v-chip', {
|
|
@@ -6870,77 +6911,94 @@
|
|
|
6870
6911
|
"onClick": onClick,
|
|
6871
6912
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
6872
6913
|
}, {
|
|
6873
|
-
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(
|
|
6874
|
-
"key": "filter"
|
|
6875
|
-
"defaults": {
|
|
6876
|
-
VIcon: {
|
|
6877
|
-
icon: props.filterIcon
|
|
6878
|
-
}
|
|
6879
|
-
}
|
|
6914
|
+
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
|
|
6915
|
+
"key": "filter"
|
|
6880
6916
|
}, {
|
|
6881
|
-
default: () => [vue.createVNode(
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6917
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
6918
|
+
"class": "v-chip__filter"
|
|
6919
|
+
}, [!slots.filter ? vue.createVNode(VIcon, {
|
|
6920
|
+
"key": "filter-icon",
|
|
6921
|
+
"icon": props.filterIcon
|
|
6922
|
+
}, null) : vue.withDirectives(vue.createVNode(VDefaultsProvider, {
|
|
6923
|
+
"key": "filter-defaults",
|
|
6924
|
+
"disabled": !props.filterIcon,
|
|
6925
|
+
"defaults": {
|
|
6926
|
+
VIcon: {
|
|
6927
|
+
icon: props.filterIcon
|
|
6928
|
+
}
|
|
6929
|
+
}
|
|
6930
|
+
}, null), [[vue.resolveDirective("slot"), slots.filter, "default"]])]), [[vue.vShow, group.isSelected.value]])]
|
|
6931
|
+
}), hasPrepend && vue.createVNode("div", {
|
|
6887
6932
|
"key": "prepend",
|
|
6933
|
+
"class": "v-chip__prepend"
|
|
6934
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependIcon && vue.createVNode(VIcon, {
|
|
6935
|
+
"key": "prepend-icon",
|
|
6936
|
+
"icon": props.prependIcon,
|
|
6937
|
+
"start": true
|
|
6938
|
+
}, null), props.prependAvatar && vue.createVNode(VAvatar, {
|
|
6939
|
+
"key": "prepend-avatar",
|
|
6940
|
+
"image": props.prependAvatar,
|
|
6941
|
+
"start": true
|
|
6942
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6943
|
+
"key": "prepend-defaults",
|
|
6944
|
+
"disabled": !hasPrependMedia,
|
|
6888
6945
|
"defaults": {
|
|
6889
6946
|
VAvatar: {
|
|
6890
|
-
image: props.prependAvatar
|
|
6947
|
+
image: props.prependAvatar,
|
|
6948
|
+
start: true
|
|
6891
6949
|
},
|
|
6892
6950
|
VIcon: {
|
|
6893
|
-
icon: props.prependIcon
|
|
6951
|
+
icon: props.prependIcon,
|
|
6952
|
+
start: true
|
|
6894
6953
|
}
|
|
6895
6954
|
}
|
|
6896
|
-
}, {
|
|
6897
|
-
default: () => [slots.prepend ? vue.createVNode("div", {
|
|
6898
|
-
"class": "v-chip__prepend"
|
|
6899
|
-
}, [slots.prepend()]) : props.prependAvatar ? vue.createVNode(VAvatar, {
|
|
6900
|
-
"start": true
|
|
6901
|
-
}, null) : props.prependIcon ? vue.createVNode(VIcon, {
|
|
6902
|
-
"start": true
|
|
6903
|
-
}, null) : undefined]
|
|
6904
|
-
}), slots.default?.({
|
|
6955
|
+
}, slots.prepend)]), slots.default?.({
|
|
6905
6956
|
isSelected: group?.isSelected.value,
|
|
6906
6957
|
selectedClass: group?.selectedClass.value,
|
|
6907
6958
|
select: group?.select,
|
|
6908
6959
|
toggle: group?.toggle,
|
|
6909
6960
|
value: group?.value.value,
|
|
6910
6961
|
disabled: props.disabled
|
|
6911
|
-
}) ?? props.text, hasAppend && vue.createVNode(
|
|
6962
|
+
}) ?? props.text, hasAppend && vue.createVNode("div", {
|
|
6912
6963
|
"key": "append",
|
|
6964
|
+
"class": "v-chip__append"
|
|
6965
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
6966
|
+
"key": "append-icon",
|
|
6967
|
+
"end": true,
|
|
6968
|
+
"icon": props.appendIcon
|
|
6969
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
6970
|
+
"key": "append-avatar",
|
|
6971
|
+
"end": true,
|
|
6972
|
+
"image": props.appendAvatar
|
|
6973
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6974
|
+
"key": "append-defaults",
|
|
6975
|
+
"disabled": !hasAppendMedia,
|
|
6913
6976
|
"defaults": {
|
|
6914
6977
|
VAvatar: {
|
|
6978
|
+
end: true,
|
|
6915
6979
|
image: props.appendAvatar
|
|
6916
6980
|
},
|
|
6917
6981
|
VIcon: {
|
|
6982
|
+
end: true,
|
|
6918
6983
|
icon: props.appendIcon
|
|
6919
6984
|
}
|
|
6920
6985
|
}
|
|
6921
|
-
}, {
|
|
6922
|
-
default: () => [slots.append ? vue.createVNode("div", {
|
|
6923
|
-
"class": "v-chip__append"
|
|
6924
|
-
}, [slots.append()]) : props.appendAvatar ? vue.createVNode(VAvatar, {
|
|
6925
|
-
"end": true
|
|
6926
|
-
}, null) : props.appendIcon ? vue.createVNode(VIcon, {
|
|
6927
|
-
"end": true
|
|
6928
|
-
}, null) : undefined]
|
|
6929
|
-
}), hasClose && vue.createVNode(VDefaultsProvider, {
|
|
6986
|
+
}, slots.append)]), hasClose && vue.createVNode("div", vue.mergeProps({
|
|
6930
6987
|
"key": "close",
|
|
6988
|
+
"class": "v-chip__close"
|
|
6989
|
+
}, closeProps.value), [!slots.close ? vue.createVNode(VIcon, {
|
|
6990
|
+
"key": "close-icon",
|
|
6991
|
+
"icon": props.closeIcon,
|
|
6992
|
+
"size": "x-small"
|
|
6993
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
6994
|
+
"key": "close-defaults",
|
|
6931
6995
|
"defaults": {
|
|
6932
6996
|
VIcon: {
|
|
6933
6997
|
icon: props.closeIcon,
|
|
6934
6998
|
size: 'x-small'
|
|
6935
6999
|
}
|
|
6936
7000
|
}
|
|
6937
|
-
},
|
|
6938
|
-
default: () => [vue.createVNode("div", {
|
|
6939
|
-
"class": "v-chip__close",
|
|
6940
|
-
"aria-label": t(props.closeLabel),
|
|
6941
|
-
"onClick": onCloseClick
|
|
6942
|
-
}, [slots.close ? slots.close() : vue.createVNode(VIcon, null, null)])]
|
|
6943
|
-
})]
|
|
7001
|
+
}, slots.close)])]
|
|
6944
7002
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
|
|
6945
7003
|
};
|
|
6946
7004
|
}
|
|
@@ -7456,8 +7514,6 @@
|
|
|
7456
7514
|
});
|
|
7457
7515
|
};
|
|
7458
7516
|
|
|
7459
|
-
// Types
|
|
7460
|
-
|
|
7461
7517
|
const VListGroupActivator = defineComponent({
|
|
7462
7518
|
name: 'VListGroupActivator',
|
|
7463
7519
|
setup(_, _ref) {
|
|
@@ -7550,9 +7606,6 @@
|
|
|
7550
7606
|
return {};
|
|
7551
7607
|
}
|
|
7552
7608
|
});
|
|
7553
|
-
function filterListGroupProps(props) {
|
|
7554
|
-
return pick(props, Object.keys(VListGroup.props));
|
|
7555
|
-
}
|
|
7556
7609
|
|
|
7557
7610
|
const VListItemSubtitle = createSimpleFunctional('v-list-item-subtitle');
|
|
7558
7611
|
|
|
@@ -7690,8 +7743,10 @@
|
|
|
7690
7743
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7691
7744
|
const hasTitle = slots.title || props.title;
|
|
7692
7745
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
|
7693
|
-
const
|
|
7694
|
-
const
|
|
7746
|
+
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
|
7747
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
7748
|
+
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
|
7749
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
7695
7750
|
list?.updateHasPrepend(hasPrepend);
|
|
7696
7751
|
return vue.withDirectives(vue.createVNode(Tag, {
|
|
7697
7752
|
"class": ['v-list-item', {
|
|
@@ -7711,7 +7766,7 @@
|
|
|
7711
7766
|
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
|
|
7712
7767
|
"key": "prepend",
|
|
7713
7768
|
"class": "v-list-item__prepend"
|
|
7714
|
-
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7769
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7715
7770
|
"key": "prepend-avatar",
|
|
7716
7771
|
"density": props.density,
|
|
7717
7772
|
"image": props.prependAvatar
|
|
@@ -7719,8 +7774,9 @@
|
|
|
7719
7774
|
"key": "prepend-icon",
|
|
7720
7775
|
"density": props.density,
|
|
7721
7776
|
"icon": props.prependIcon
|
|
7722
|
-
}, null)
|
|
7723
|
-
"key": "prepend",
|
|
7777
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7778
|
+
"key": "prepend-defaults",
|
|
7779
|
+
"disabled": !hasPrependMedia,
|
|
7724
7780
|
"defaults": {
|
|
7725
7781
|
VAvatar: {
|
|
7726
7782
|
density: props.density,
|
|
@@ -7735,7 +7791,7 @@
|
|
|
7735
7791
|
}
|
|
7736
7792
|
}
|
|
7737
7793
|
}, {
|
|
7738
|
-
default: () => [slots.prepend(slotProps.value)]
|
|
7794
|
+
default: () => [slots.prepend?.(slotProps.value)]
|
|
7739
7795
|
})]), vue.createVNode("div", {
|
|
7740
7796
|
"class": "v-list-item__content",
|
|
7741
7797
|
"data-no-activator": ""
|
|
@@ -7754,8 +7810,17 @@
|
|
|
7754
7810
|
}), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
7755
7811
|
"key": "append",
|
|
7756
7812
|
"class": "v-list-item__append"
|
|
7757
|
-
}, [slots.append && vue.createVNode(
|
|
7758
|
-
"key": "append",
|
|
7813
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
7814
|
+
"key": "append-icon",
|
|
7815
|
+
"density": props.density,
|
|
7816
|
+
"icon": props.appendIcon
|
|
7817
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7818
|
+
"key": "append-avatar",
|
|
7819
|
+
"density": props.density,
|
|
7820
|
+
"image": props.appendAvatar
|
|
7821
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7822
|
+
"key": "append-defaults",
|
|
7823
|
+
"disabled": !hasAppendMedia,
|
|
7759
7824
|
"defaults": {
|
|
7760
7825
|
VAvatar: {
|
|
7761
7826
|
density: props.density,
|
|
@@ -7770,16 +7835,8 @@
|
|
|
7770
7835
|
}
|
|
7771
7836
|
}
|
|
7772
7837
|
}, {
|
|
7773
|
-
default: () => [slots.append(slotProps.value)]
|
|
7774
|
-
})
|
|
7775
|
-
"key": "append-icon",
|
|
7776
|
-
"density": props.density,
|
|
7777
|
-
"icon": props.appendIcon
|
|
7778
|
-
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7779
|
-
"key": "append-avatar",
|
|
7780
|
-
"density": props.density,
|
|
7781
|
-
"image": props.appendAvatar
|
|
7782
|
-
}, null)])]
|
|
7838
|
+
default: () => [slots.append?.(slotProps.value)]
|
|
7839
|
+
})])]
|
|
7783
7840
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7784
7841
|
});
|
|
7785
7842
|
return {};
|
|
@@ -7876,7 +7933,7 @@
|
|
|
7876
7933
|
item
|
|
7877
7934
|
}) : undefined
|
|
7878
7935
|
};
|
|
7879
|
-
const [listGroupProps, _1] =
|
|
7936
|
+
const [listGroupProps, _1] = VListGroup.filterProps(itemProps);
|
|
7880
7937
|
return children ? vue.createVNode(VListGroup, vue.mergeProps({
|
|
7881
7938
|
"value": itemProps?.value
|
|
7882
7939
|
}, listGroupProps), {
|
|
@@ -9103,6 +9160,8 @@
|
|
|
9103
9160
|
|
|
9104
9161
|
// Types
|
|
9105
9162
|
|
|
9163
|
+
const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
9164
|
+
|
|
9106
9165
|
const DisplaySymbol = Symbol.for('vuetify:display');
|
|
9107
9166
|
const defaultDisplayOptions = {
|
|
9108
9167
|
mobileBreakpoint: 'lg',
|
|
@@ -9658,9 +9717,6 @@
|
|
|
9658
9717
|
};
|
|
9659
9718
|
}
|
|
9660
9719
|
});
|
|
9661
|
-
function filterVOverlayProps(props) {
|
|
9662
|
-
return pick(props, Object.keys(VOverlay.props));
|
|
9663
|
-
}
|
|
9664
9720
|
|
|
9665
9721
|
// Types
|
|
9666
9722
|
|
|
@@ -9726,7 +9782,7 @@
|
|
|
9726
9782
|
'aria-owns': id.value
|
|
9727
9783
|
}, props.activatorProps));
|
|
9728
9784
|
useRender(() => {
|
|
9729
|
-
const [overlayProps] =
|
|
9785
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
9730
9786
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
9731
9787
|
"ref": overlay,
|
|
9732
9788
|
"class": ['v-menu']
|
|
@@ -9902,7 +9958,7 @@
|
|
|
9902
9958
|
useRender(() => {
|
|
9903
9959
|
const hasChips = !!(props.chips || slots.chip);
|
|
9904
9960
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
9905
|
-
const [textFieldProps] =
|
|
9961
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
9906
9962
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
9907
9963
|
"ref": vTextFieldRef
|
|
9908
9964
|
}, textFieldProps, {
|
|
@@ -9988,7 +10044,13 @@
|
|
|
9988
10044
|
return vue.createVNode("div", {
|
|
9989
10045
|
"key": item.value,
|
|
9990
10046
|
"class": "v-select__selection"
|
|
9991
|
-
}, [hasChips ? vue.createVNode(
|
|
10047
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
10048
|
+
"key": "chip",
|
|
10049
|
+
"closable": props.closableChips,
|
|
10050
|
+
"size": "small",
|
|
10051
|
+
"text": item.title
|
|
10052
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
10053
|
+
"key": "chip-defaults",
|
|
9992
10054
|
"defaults": {
|
|
9993
10055
|
VChip: {
|
|
9994
10056
|
closable: props.closableChips,
|
|
@@ -9997,15 +10059,15 @@
|
|
|
9997
10059
|
}
|
|
9998
10060
|
}
|
|
9999
10061
|
}, {
|
|
10000
|
-
default: () => [slots.chip
|
|
10062
|
+
default: () => [slots.chip?.({
|
|
10001
10063
|
item,
|
|
10002
10064
|
index,
|
|
10003
10065
|
props: slotProps
|
|
10004
|
-
})
|
|
10005
|
-
}) : slots.selection
|
|
10066
|
+
})]
|
|
10067
|
+
}) : slots.selection?.({
|
|
10006
10068
|
item,
|
|
10007
10069
|
index
|
|
10008
|
-
})
|
|
10070
|
+
}) ?? vue.createVNode("span", {
|
|
10009
10071
|
"class": "v-select__selection-text"
|
|
10010
10072
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
10011
10073
|
"class": "v-select__selection-comma"
|
|
@@ -10289,7 +10351,7 @@
|
|
|
10289
10351
|
useRender(() => {
|
|
10290
10352
|
const hasChips = !!(props.chips || slots.chip);
|
|
10291
10353
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
10292
|
-
const [textFieldProps] =
|
|
10354
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
10293
10355
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
10294
10356
|
"ref": vTextFieldRef
|
|
10295
10357
|
}, textFieldProps, {
|
|
@@ -10377,7 +10439,13 @@
|
|
|
10377
10439
|
return vue.createVNode("div", {
|
|
10378
10440
|
"key": item.value,
|
|
10379
10441
|
"class": "v-autocomplete__selection"
|
|
10380
|
-
}, [hasChips ? vue.createVNode(
|
|
10442
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
10443
|
+
"key": "chip",
|
|
10444
|
+
"closable": props.closableChips,
|
|
10445
|
+
"size": "small",
|
|
10446
|
+
"text": item.title
|
|
10447
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
10448
|
+
"key": "chip-defaults",
|
|
10381
10449
|
"defaults": {
|
|
10382
10450
|
VChip: {
|
|
10383
10451
|
closable: props.closableChips,
|
|
@@ -10386,15 +10454,15 @@
|
|
|
10386
10454
|
}
|
|
10387
10455
|
}
|
|
10388
10456
|
}, {
|
|
10389
|
-
default: () => [slots.chip
|
|
10457
|
+
default: () => [slots.chip?.({
|
|
10390
10458
|
item,
|
|
10391
10459
|
index,
|
|
10392
10460
|
props: slotProps
|
|
10393
|
-
})
|
|
10394
|
-
}) : slots.selection
|
|
10461
|
+
})]
|
|
10462
|
+
}) : slots.selection?.({
|
|
10395
10463
|
item,
|
|
10396
10464
|
index
|
|
10397
|
-
})
|
|
10465
|
+
}) ?? vue.createVNode("span", {
|
|
10398
10466
|
"class": "v-autocomplete__selection-text"
|
|
10399
10467
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
10400
10468
|
"class": "v-autocomplete__selection-comma"
|
|
@@ -10595,7 +10663,8 @@
|
|
|
10595
10663
|
});
|
|
10596
10664
|
useRender(() => {
|
|
10597
10665
|
const hasText = !!(props.text || slots.text);
|
|
10598
|
-
const
|
|
10666
|
+
const hasPrependMedia = !!(props.avatar || props.icon);
|
|
10667
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
10599
10668
|
return vue.createVNode(props.tag, {
|
|
10600
10669
|
"class": ['v-banner', {
|
|
10601
10670
|
'v-banner--stacked': props.stacked || mobile.value,
|
|
@@ -10605,8 +10674,18 @@
|
|
|
10605
10674
|
"style": [dimensionStyles.value, locationStyles.value],
|
|
10606
10675
|
"role": "banner"
|
|
10607
10676
|
}, {
|
|
10608
|
-
default: () => [hasPrepend && vue.createVNode(
|
|
10677
|
+
default: () => [hasPrepend && vue.createVNode("div", {
|
|
10609
10678
|
"key": "prepend",
|
|
10679
|
+
"class": "v-banner__prepend"
|
|
10680
|
+
}, [!slots.prepend ? vue.createVNode(VAvatar, {
|
|
10681
|
+
"key": "prepend-avatar",
|
|
10682
|
+
"color": color.value,
|
|
10683
|
+
"density": density.value,
|
|
10684
|
+
"icon": props.icon,
|
|
10685
|
+
"image": props.avatar
|
|
10686
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
10687
|
+
"key": "prepend-defaults",
|
|
10688
|
+
"disabled": !hasPrependMedia,
|
|
10610
10689
|
"defaults": {
|
|
10611
10690
|
VAvatar: {
|
|
10612
10691
|
color: color.value,
|
|
@@ -10615,19 +10694,15 @@
|
|
|
10615
10694
|
image: props.avatar
|
|
10616
10695
|
}
|
|
10617
10696
|
}
|
|
10618
|
-
}, {
|
|
10619
|
-
default: () => [vue.createVNode("div", {
|
|
10620
|
-
"class": "v-banner__prepend"
|
|
10621
|
-
}, [slots.prepend ? slots.prepend() : (props.avatar || props.icon) && vue.createVNode(VAvatar, null, null)])]
|
|
10622
|
-
}), vue.createVNode("div", {
|
|
10697
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
10623
10698
|
"class": "v-banner__content"
|
|
10624
10699
|
}, [hasText && vue.createVNode(VBannerText, {
|
|
10625
10700
|
"key": "text"
|
|
10626
10701
|
}, {
|
|
10627
|
-
default: () => [slots.text
|
|
10628
|
-
}), slots.default?.()]), slots.actions && vue.createVNode(VBannerActions,
|
|
10629
|
-
|
|
10630
|
-
})]
|
|
10702
|
+
default: () => [slots.text?.() ?? props.text]
|
|
10703
|
+
}), slots.default?.()]), slots.actions && vue.createVNode(VBannerActions, {
|
|
10704
|
+
"key": "actions"
|
|
10705
|
+
}, slots.actions)]
|
|
10631
10706
|
});
|
|
10632
10707
|
});
|
|
10633
10708
|
}
|
|
@@ -10860,19 +10935,23 @@
|
|
|
10860
10935
|
"class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value],
|
|
10861
10936
|
"style": backgroundColorStyles.value
|
|
10862
10937
|
}, {
|
|
10863
|
-
default: () => [hasPrepend && vue.createVNode(
|
|
10938
|
+
default: () => [hasPrepend && vue.createVNode("div", {
|
|
10864
10939
|
"key": "prepend",
|
|
10940
|
+
"class": "v-breadcrumbs__prepend"
|
|
10941
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
10942
|
+
"key": "prepend-icon",
|
|
10943
|
+
"start": true,
|
|
10944
|
+
"icon": props.icon
|
|
10945
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
10946
|
+
"key": "prepend-defaults",
|
|
10947
|
+
"disabled": !props.icon,
|
|
10865
10948
|
"defaults": {
|
|
10866
10949
|
VIcon: {
|
|
10867
10950
|
icon: props.icon,
|
|
10868
10951
|
start: true
|
|
10869
10952
|
}
|
|
10870
10953
|
}
|
|
10871
|
-
}, {
|
|
10872
|
-
default: () => [vue.createVNode("div", {
|
|
10873
|
-
"class": "v-breadcrumbs__prepend"
|
|
10874
|
-
}, [slots.prepend ? slots.prepend() : props.icon && vue.createVNode(VIcon, null, null)])]
|
|
10875
|
-
}), props.items.map((item, index, array) => vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
10954
|
+
}, slots.prepend)]), props.items.map((item, index, array) => vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
10876
10955
|
"key": index,
|
|
10877
10956
|
"disabled": index >= array.length - 1
|
|
10878
10957
|
}, typeof item === 'string' ? {
|
|
@@ -10936,30 +11015,33 @@
|
|
|
10936
11015
|
slots
|
|
10937
11016
|
} = _ref;
|
|
10938
11017
|
useRender(() => {
|
|
10939
|
-
const
|
|
10940
|
-
const
|
|
11018
|
+
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
|
11019
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
11020
|
+
const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);
|
|
11021
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
10941
11022
|
const hasTitle = !!(props.title || slots.title);
|
|
10942
11023
|
const hasSubtitle = !!(props.subtitle || slots.subtitle);
|
|
10943
11024
|
return vue.createVNode("div", {
|
|
10944
11025
|
"class": "v-card-item"
|
|
10945
|
-
}, [hasPrepend && vue.createVNode(
|
|
11026
|
+
}, [hasPrepend && vue.createVNode("div", {
|
|
10946
11027
|
"key": "prepend",
|
|
11028
|
+
"class": "v-card-item__prepend"
|
|
11029
|
+
}, [!slots.prepend ? hasPrependMedia && vue.createVNode(VAvatar, {
|
|
11030
|
+
"key": "prepend-avatar",
|
|
11031
|
+
"density": props.density,
|
|
11032
|
+
"icon": props.prependIcon,
|
|
11033
|
+
"image": props.prependAvatar
|
|
11034
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11035
|
+
"key": "prepend-defaults",
|
|
11036
|
+
"disabled": !hasPrependMedia,
|
|
10947
11037
|
"defaults": {
|
|
10948
11038
|
VAvatar: {
|
|
10949
11039
|
density: props.density,
|
|
10950
11040
|
icon: props.prependIcon,
|
|
10951
11041
|
image: props.prependAvatar
|
|
10952
|
-
},
|
|
10953
|
-
VIcon: {
|
|
10954
|
-
density: props.density,
|
|
10955
|
-
icon: props.prependIcon
|
|
10956
11042
|
}
|
|
10957
11043
|
}
|
|
10958
|
-
}, {
|
|
10959
|
-
default: () => [vue.createVNode("div", {
|
|
10960
|
-
"class": "v-card-item__prepend"
|
|
10961
|
-
}, [slots.prepend?.() ?? vue.createVNode(VAvatar, null, null)])]
|
|
10962
|
-
}), vue.createVNode("div", {
|
|
11044
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
10963
11045
|
"class": "v-card-item__content"
|
|
10964
11046
|
}, [hasTitle && vue.createVNode(VCardTitle, {
|
|
10965
11047
|
"key": "title"
|
|
@@ -10969,24 +11051,25 @@
|
|
|
10969
11051
|
"key": "subtitle"
|
|
10970
11052
|
}, {
|
|
10971
11053
|
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
10972
|
-
}), slots.default?.()]), hasAppend && vue.createVNode(
|
|
11054
|
+
}), slots.default?.()]), hasAppend && vue.createVNode("div", {
|
|
10973
11055
|
"key": "append",
|
|
11056
|
+
"class": "v-card-item__append"
|
|
11057
|
+
}, [!slots.append ? hasAppendMedia && vue.createVNode(VAvatar, {
|
|
11058
|
+
"key": "append-avatar",
|
|
11059
|
+
"density": props.density,
|
|
11060
|
+
"icon": props.appendIcon,
|
|
11061
|
+
"image": props.appendAvatar
|
|
11062
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11063
|
+
"key": "append-defaults",
|
|
11064
|
+
"disabled": !hasAppendMedia,
|
|
10974
11065
|
"defaults": {
|
|
10975
11066
|
VAvatar: {
|
|
10976
11067
|
density: props.density,
|
|
10977
11068
|
icon: props.appendIcon,
|
|
10978
11069
|
image: props.appendAvatar
|
|
10979
|
-
},
|
|
10980
|
-
VIcon: {
|
|
10981
|
-
density: props.density,
|
|
10982
|
-
icon: props.appendIcon
|
|
10983
11070
|
}
|
|
10984
11071
|
}
|
|
10985
|
-
},
|
|
10986
|
-
default: () => [vue.createVNode("div", {
|
|
10987
|
-
"class": "v-card-item__append"
|
|
10988
|
-
}, [slots.append?.() ?? vue.createVNode(VAvatar, null, null)])]
|
|
10989
|
-
})]);
|
|
11072
|
+
}, slots.append)])]);
|
|
10990
11073
|
});
|
|
10991
11074
|
return {};
|
|
10992
11075
|
}
|
|
@@ -11098,19 +11181,23 @@
|
|
|
11098
11181
|
"onClick": isClickable.value && link.navigate,
|
|
11099
11182
|
"tabindex": props.disabled ? -1 : undefined
|
|
11100
11183
|
}, {
|
|
11101
|
-
default: () => [hasImage && vue.createVNode(
|
|
11184
|
+
default: () => [hasImage && vue.createVNode("div", {
|
|
11102
11185
|
"key": "image",
|
|
11186
|
+
"class": "v-card__image"
|
|
11187
|
+
}, [!slots.image ? vue.createVNode(VImg, {
|
|
11188
|
+
"key": "image-img",
|
|
11189
|
+
"cover": true,
|
|
11190
|
+
"src": props.image
|
|
11191
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
11192
|
+
"key": "image-defaults",
|
|
11193
|
+
"disabled": !props.image,
|
|
11103
11194
|
"defaults": {
|
|
11104
11195
|
VImg: {
|
|
11105
11196
|
cover: true,
|
|
11106
11197
|
src: props.image
|
|
11107
11198
|
}
|
|
11108
11199
|
}
|
|
11109
|
-
}, {
|
|
11110
|
-
default: () => [vue.createVNode("div", {
|
|
11111
|
-
"class": "v-card__image"
|
|
11112
|
-
}, [slots.image?.() ?? vue.createVNode(VImg, null, null)])]
|
|
11113
|
-
}), vue.createVNode(LoaderSlot, {
|
|
11200
|
+
}, slots.image)]), vue.createVNode(LoaderSlot, {
|
|
11114
11201
|
"name": "v-card",
|
|
11115
11202
|
"active": !!props.loading,
|
|
11116
11203
|
"color": typeof props.loading === 'boolean' ? undefined : props.loading
|
|
@@ -12212,10 +12299,7 @@
|
|
|
12212
12299
|
const min = vue.computed(() => parseFloat(props.min));
|
|
12213
12300
|
const max = vue.computed(() => parseFloat(props.max));
|
|
12214
12301
|
const step = vue.computed(() => props.step > 0 ? parseFloat(props.step) : 0);
|
|
12215
|
-
const decimals = vue.computed(() =>
|
|
12216
|
-
const trimmedStep = step.value.toString().trim();
|
|
12217
|
-
return trimmedStep.includes('.') ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;
|
|
12218
|
-
});
|
|
12302
|
+
const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
12219
12303
|
const thumbSize = vue.computed(() => parseInt(props.thumbSize, 10));
|
|
12220
12304
|
const tickSize = vue.computed(() => parseInt(props.tickSize, 10));
|
|
12221
12305
|
const trackSize = vue.computed(() => parseInt(props.trackSize, 10));
|
|
@@ -12314,7 +12398,9 @@
|
|
|
12314
12398
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
|
12315
12399
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
|
12316
12400
|
};
|
|
12401
|
+
const showTicks = vue.toRef(props, 'showTicks');
|
|
12317
12402
|
const parsedTicks = vue.computed(() => {
|
|
12403
|
+
if (!showTicks.value) return [];
|
|
12318
12404
|
if (!props.ticks) {
|
|
12319
12405
|
return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {
|
|
12320
12406
|
const value = min.value + t * step.value;
|
|
@@ -12363,7 +12449,7 @@
|
|
|
12363
12449
|
readonly: vue.toRef(props, 'readonly'),
|
|
12364
12450
|
rounded: vue.toRef(props, 'rounded'),
|
|
12365
12451
|
roundValue,
|
|
12366
|
-
showTicks
|
|
12452
|
+
showTicks,
|
|
12367
12453
|
startOffset,
|
|
12368
12454
|
step,
|
|
12369
12455
|
thumbSize,
|
|
@@ -12585,6 +12671,7 @@
|
|
|
12585
12671
|
};
|
|
12586
12672
|
});
|
|
12587
12673
|
const computedTicks = vue.computed(() => {
|
|
12674
|
+
if (!showTicks.value) return [];
|
|
12588
12675
|
const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
|
|
12589
12676
|
return ticks.map((tick, index) => {
|
|
12590
12677
|
const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start';
|
|
@@ -13190,8 +13277,6 @@
|
|
|
13190
13277
|
}
|
|
13191
13278
|
});
|
|
13192
13279
|
|
|
13193
|
-
// Types
|
|
13194
|
-
|
|
13195
13280
|
const makeVSheetProps = propsFactory({
|
|
13196
13281
|
color: String,
|
|
13197
13282
|
...makeBorderProps(),
|
|
@@ -13616,7 +13701,7 @@
|
|
|
13616
13701
|
useRender(() => {
|
|
13617
13702
|
const hasChips = !!(props.chips || slots.chip);
|
|
13618
13703
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
|
|
13619
|
-
const [textFieldProps] =
|
|
13704
|
+
const [textFieldProps] = VTextField.filterProps(props);
|
|
13620
13705
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
13621
13706
|
"ref": vTextFieldRef
|
|
13622
13707
|
}, textFieldProps, {
|
|
@@ -13704,7 +13789,13 @@
|
|
|
13704
13789
|
"key": item.value,
|
|
13705
13790
|
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
13706
13791
|
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
13707
|
-
}, [hasChips ? vue.createVNode(
|
|
13792
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
13793
|
+
"key": "chip",
|
|
13794
|
+
"closable": props.closableChips,
|
|
13795
|
+
"size": "small",
|
|
13796
|
+
"text": item.title
|
|
13797
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
13798
|
+
"key": "chip-defaults",
|
|
13708
13799
|
"defaults": {
|
|
13709
13800
|
VChip: {
|
|
13710
13801
|
closable: props.closableChips,
|
|
@@ -13713,15 +13804,15 @@
|
|
|
13713
13804
|
}
|
|
13714
13805
|
}
|
|
13715
13806
|
}, {
|
|
13716
|
-
default: () => [slots.chip
|
|
13807
|
+
default: () => [slots.chip?.({
|
|
13717
13808
|
item,
|
|
13718
13809
|
index,
|
|
13719
13810
|
props: slotProps
|
|
13720
|
-
})
|
|
13721
|
-
}) : slots.selection
|
|
13811
|
+
})]
|
|
13812
|
+
}) : slots.selection?.({
|
|
13722
13813
|
item,
|
|
13723
13814
|
index
|
|
13724
|
-
})
|
|
13815
|
+
}) ?? vue.createVNode("span", {
|
|
13725
13816
|
"class": "v-combobox__selection-text"
|
|
13726
13817
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
13727
13818
|
"class": "v-combobox__selection-comma"
|
|
@@ -13818,7 +13909,7 @@
|
|
|
13818
13909
|
'aria-expanded': String(isActive.value)
|
|
13819
13910
|
}, props.activatorProps));
|
|
13820
13911
|
useRender(() => {
|
|
13821
|
-
const [overlayProps] =
|
|
13912
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
13822
13913
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
13823
13914
|
"ref": overlay,
|
|
13824
13915
|
"class": ['v-dialog', {
|
|
@@ -14422,10 +14513,8 @@
|
|
|
14422
14513
|
|
|
14423
14514
|
// Types
|
|
14424
14515
|
|
|
14425
|
-
const breakpoints$1 = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
14426
|
-
|
|
14427
14516
|
const breakpointProps = (() => {
|
|
14428
|
-
return breakpoints
|
|
14517
|
+
return breakpoints.reduce((props, val) => {
|
|
14429
14518
|
props[val] = {
|
|
14430
14519
|
type: [Boolean, String, Number],
|
|
14431
14520
|
default: false
|
|
@@ -14434,8 +14523,9 @@
|
|
|
14434
14523
|
}, {});
|
|
14435
14524
|
})();
|
|
14436
14525
|
const offsetProps = (() => {
|
|
14437
|
-
return breakpoints
|
|
14438
|
-
|
|
14526
|
+
return breakpoints.reduce((props, val) => {
|
|
14527
|
+
const offsetKey = 'offset' + vue.capitalize(val);
|
|
14528
|
+
props[offsetKey] = {
|
|
14439
14529
|
type: [String, Number],
|
|
14440
14530
|
default: null
|
|
14441
14531
|
};
|
|
@@ -14443,8 +14533,9 @@
|
|
|
14443
14533
|
}, {});
|
|
14444
14534
|
})();
|
|
14445
14535
|
const orderProps = (() => {
|
|
14446
|
-
return breakpoints
|
|
14447
|
-
|
|
14536
|
+
return breakpoints.reduce((props, val) => {
|
|
14537
|
+
const orderKey = 'order' + vue.capitalize(val);
|
|
14538
|
+
props[orderKey] = {
|
|
14448
14539
|
type: [String, Number],
|
|
14449
14540
|
default: null
|
|
14450
14541
|
};
|
|
@@ -14542,13 +14633,12 @@
|
|
|
14542
14633
|
|
|
14543
14634
|
// Types
|
|
14544
14635
|
|
|
14545
|
-
const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs
|
|
14546
|
-
|
|
14547
14636
|
const ALIGNMENT = ['start', 'end', 'center'];
|
|
14548
14637
|
const SPACE = ['space-between', 'space-around', 'space-evenly'];
|
|
14549
14638
|
function makeRowProps(prefix, def) {
|
|
14550
14639
|
return breakpoints.reduce((props, val) => {
|
|
14551
|
-
|
|
14640
|
+
const prefixKey = prefix + vue.capitalize(val);
|
|
14641
|
+
props[prefixKey] = def();
|
|
14552
14642
|
return props;
|
|
14553
14643
|
}, {});
|
|
14554
14644
|
}
|
|
@@ -14878,7 +14968,10 @@
|
|
|
14878
14968
|
}, {
|
|
14879
14969
|
default: () => [slots.default?.()]
|
|
14880
14970
|
})]
|
|
14881
|
-
}), [[vue.resolveDirective("intersect"),
|
|
14971
|
+
}), [[vue.resolveDirective("intersect"), {
|
|
14972
|
+
handler: onIntersect,
|
|
14973
|
+
options: props.options
|
|
14974
|
+
}, null]]));
|
|
14882
14975
|
return {};
|
|
14883
14976
|
}
|
|
14884
14977
|
});
|
|
@@ -15855,9 +15948,9 @@
|
|
|
15855
15948
|
frame = requestAnimationFrame(() => {
|
|
15856
15949
|
const el = (root.value?.$el).querySelector('.v-img__img');
|
|
15857
15950
|
if (!el) return;
|
|
15858
|
-
const scrollHeight = scrollParent
|
|
15859
|
-
const scrollPos = scrollParent
|
|
15860
|
-
const top = intersectionRef.value.
|
|
15951
|
+
const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight;
|
|
15952
|
+
const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop;
|
|
15953
|
+
const top = intersectionRef.value.getBoundingClientRect().top + scrollPos;
|
|
15861
15954
|
const height = contentRect.value.height;
|
|
15862
15955
|
const center = top + (height - scrollHeight) / 2;
|
|
15863
15956
|
const translate = floor((scrollPos - center) * scale.value);
|
|
@@ -15939,10 +16032,7 @@
|
|
|
15939
16032
|
useRender(() => {
|
|
15940
16033
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
15941
16034
|
const [inputProps, _1] = filterInputProps(props);
|
|
15942
|
-
const [controlProps, _2] =
|
|
15943
|
-
...props,
|
|
15944
|
-
multiple: false
|
|
15945
|
-
});
|
|
16035
|
+
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
15946
16036
|
const label = slots.label ? slots.label({
|
|
15947
16037
|
label: props.label,
|
|
15948
16038
|
props: {
|
|
@@ -15977,7 +16067,8 @@
|
|
|
15977
16067
|
"type": props.type,
|
|
15978
16068
|
"disabled": isDisabled.value,
|
|
15979
16069
|
"readonly": isReadonly.value,
|
|
15980
|
-
"aria-labelledby": label ? id.value : undefined
|
|
16070
|
+
"aria-labelledby": label ? id.value : undefined,
|
|
16071
|
+
"multiple": false
|
|
15981
16072
|
}, controlAttrs, {
|
|
15982
16073
|
"modelValue": model.value,
|
|
15983
16074
|
"onUpdate:modelValue": $event => model.value = $event
|
|
@@ -16818,7 +16909,7 @@
|
|
|
16818
16909
|
window.clearTimeout(activeTimeout);
|
|
16819
16910
|
}
|
|
16820
16911
|
useRender(() => {
|
|
16821
|
-
const [overlayProps] =
|
|
16912
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
16822
16913
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
16823
16914
|
"ref": overlay,
|
|
16824
16915
|
"class": ['v-snackbar', {
|
|
@@ -16838,7 +16929,8 @@
|
|
|
16838
16929
|
"persistent": true,
|
|
16839
16930
|
"noClickAnimation": true,
|
|
16840
16931
|
"scrim": false,
|
|
16841
|
-
"scrollStrategy": "none"
|
|
16932
|
+
"scrollStrategy": "none",
|
|
16933
|
+
"_disableGlobalStack": true
|
|
16842
16934
|
}, scopeId), {
|
|
16843
16935
|
default: () => [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
|
|
16844
16936
|
"class": "v-snackbar__content",
|
|
@@ -16912,7 +17004,7 @@
|
|
|
16912
17004
|
useRender(() => {
|
|
16913
17005
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
16914
17006
|
const [inputProps, _1] = filterInputProps(props);
|
|
16915
|
-
const [controlProps, _2] =
|
|
17007
|
+
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
16916
17008
|
const control = vue.ref();
|
|
16917
17009
|
function onClick() {
|
|
16918
17010
|
control.value?.input?.click();
|
|
@@ -17045,28 +17137,17 @@
|
|
|
17045
17137
|
name: 'VTab',
|
|
17046
17138
|
props: {
|
|
17047
17139
|
fixed: Boolean,
|
|
17048
|
-
icon: [Boolean, String, Function, Object],
|
|
17049
|
-
prependIcon: IconValue,
|
|
17050
|
-
appendIcon: IconValue,
|
|
17051
|
-
stacked: Boolean,
|
|
17052
17140
|
title: String,
|
|
17053
|
-
ripple: {
|
|
17054
|
-
type: Boolean,
|
|
17055
|
-
default: true
|
|
17056
|
-
},
|
|
17057
|
-
color: String,
|
|
17058
17141
|
sliderColor: String,
|
|
17059
17142
|
hideSlider: Boolean,
|
|
17060
17143
|
direction: {
|
|
17061
17144
|
type: String,
|
|
17062
17145
|
default: 'horizontal'
|
|
17063
17146
|
},
|
|
17064
|
-
...
|
|
17065
|
-
|
|
17066
|
-
|
|
17067
|
-
|
|
17068
|
-
}),
|
|
17069
|
-
...makeThemeProps()
|
|
17147
|
+
...omit(makeVBtnProps({
|
|
17148
|
+
selectedClass: 'v-tab--selected',
|
|
17149
|
+
variant: 'text'
|
|
17150
|
+
}), ['active', 'block', 'flat', 'location', 'position', 'symbol'])
|
|
17070
17151
|
},
|
|
17071
17152
|
setup(props, _ref) {
|
|
17072
17153
|
let {
|
|
@@ -17116,7 +17197,7 @@
|
|
|
17116
17197
|
}
|
|
17117
17198
|
}
|
|
17118
17199
|
useRender(() => {
|
|
17119
|
-
const [btnProps] =
|
|
17200
|
+
const [btnProps] = VBtn.filterProps(props);
|
|
17120
17201
|
return vue.createVNode(VBtn, vue.mergeProps({
|
|
17121
17202
|
"_as": "VTab",
|
|
17122
17203
|
"symbol": VTabsSymbol,
|
|
@@ -17128,7 +17209,6 @@
|
|
|
17128
17209
|
"active": false,
|
|
17129
17210
|
"block": props.fixed,
|
|
17130
17211
|
"maxWidth": props.fixed ? 300 : undefined,
|
|
17131
|
-
"variant": "text",
|
|
17132
17212
|
"rounded": 0
|
|
17133
17213
|
}, btnProps, attrs, {
|
|
17134
17214
|
"onGroup:selected": updateSlider
|
|
@@ -17373,7 +17453,13 @@
|
|
|
17373
17453
|
});
|
|
17374
17454
|
}
|
|
17375
17455
|
function onInput(e) {
|
|
17376
|
-
|
|
17456
|
+
const el = e.target;
|
|
17457
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
17458
|
+
model.value = el.value;
|
|
17459
|
+
vue.nextTick(() => {
|
|
17460
|
+
el.selectionStart = caretPosition[0];
|
|
17461
|
+
el.selectionEnd = caretPosition[1];
|
|
17462
|
+
});
|
|
17377
17463
|
}
|
|
17378
17464
|
const sizerRef = vue.ref();
|
|
17379
17465
|
function calculateInputHeight() {
|
|
@@ -17660,13 +17746,6 @@
|
|
|
17660
17746
|
backgroundColorClasses: lineColorClasses,
|
|
17661
17747
|
backgroundColorStyles: lineColorStyles
|
|
17662
17748
|
} = useBackgroundColor(vue.toRef(props, 'lineColor'));
|
|
17663
|
-
provideDefaults({
|
|
17664
|
-
VIcon: {
|
|
17665
|
-
color: vue.toRef(props, 'iconColor'),
|
|
17666
|
-
icon: vue.toRef(props, 'icon'),
|
|
17667
|
-
size: vue.toRef(props, 'size')
|
|
17668
|
-
}
|
|
17669
|
-
});
|
|
17670
17749
|
useRender(() => vue.createVNode("div", {
|
|
17671
17750
|
"class": ['v-timeline-divider', {
|
|
17672
17751
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
@@ -17681,7 +17760,22 @@
|
|
|
17681
17760
|
}, [vue.createVNode("div", {
|
|
17682
17761
|
"class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
|
|
17683
17762
|
"style": backgroundColorStyles.value
|
|
17684
|
-
}, [slots.default
|
|
17763
|
+
}, [!slots.default ? vue.createVNode(VIcon, {
|
|
17764
|
+
"key": "icon",
|
|
17765
|
+
"color": props.iconColor,
|
|
17766
|
+
"icon": props.icon,
|
|
17767
|
+
"size": props.size
|
|
17768
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
17769
|
+
"key": "icon-defaults",
|
|
17770
|
+
"disabled": !props.icon,
|
|
17771
|
+
"defaults": {
|
|
17772
|
+
VIcon: {
|
|
17773
|
+
color: props.iconColor,
|
|
17774
|
+
icon: props.icon,
|
|
17775
|
+
size: props.size
|
|
17776
|
+
}
|
|
17777
|
+
}
|
|
17778
|
+
}, slots.default)])]), vue.createVNode("div", {
|
|
17685
17779
|
"class": ['v-timeline-divider__after', lineColorClasses.value],
|
|
17686
17780
|
"style": lineColorStyles.value
|
|
17687
17781
|
}, null)]));
|
|
@@ -17806,7 +17900,7 @@
|
|
|
17806
17900
|
'aria-describedby': id.value
|
|
17807
17901
|
}, props.activatorProps));
|
|
17808
17902
|
useRender(() => {
|
|
17809
|
-
const [overlayProps] =
|
|
17903
|
+
const [overlayProps] = VOverlay.filterProps(props);
|
|
17810
17904
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
17811
17905
|
"ref": overlay,
|
|
17812
17906
|
"class": ['v-tooltip'],
|
|
@@ -18052,7 +18146,7 @@
|
|
|
18052
18146
|
}
|
|
18053
18147
|
}, 'v-data-table-select');
|
|
18054
18148
|
const VDataTableSelectionSymbol = Symbol.for('vuetify:data-table-selection');
|
|
18055
|
-
function
|
|
18149
|
+
function provideSelection(props, allItems) {
|
|
18056
18150
|
const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {
|
|
18057
18151
|
return new Set(v);
|
|
18058
18152
|
}, v => {
|
|
@@ -18112,13 +18206,28 @@
|
|
|
18112
18206
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
|
18113
18207
|
function createSort(props) {
|
|
18114
18208
|
const sortBy = useProxiedModel(props, 'sortBy');
|
|
18209
|
+
const mustSort = vue.toRef(props, 'mustSort');
|
|
18210
|
+
const multiSort = vue.toRef(props, 'multiSort');
|
|
18211
|
+
return {
|
|
18212
|
+
sortBy,
|
|
18213
|
+
mustSort,
|
|
18214
|
+
multiSort
|
|
18215
|
+
};
|
|
18216
|
+
}
|
|
18217
|
+
function provideSort(options) {
|
|
18218
|
+
const {
|
|
18219
|
+
sortBy,
|
|
18220
|
+
mustSort,
|
|
18221
|
+
multiSort,
|
|
18222
|
+
page
|
|
18223
|
+
} = options;
|
|
18115
18224
|
const toggleSort = key => {
|
|
18116
18225
|
let newSortBy = sortBy.value.map(x => ({
|
|
18117
18226
|
...x
|
|
18118
18227
|
})) ?? [];
|
|
18119
18228
|
const item = newSortBy.find(x => x.key === key);
|
|
18120
18229
|
if (!item) {
|
|
18121
|
-
if (
|
|
18230
|
+
if (multiSort.value) newSortBy = [...newSortBy, {
|
|
18122
18231
|
key,
|
|
18123
18232
|
order: 'asc'
|
|
18124
18233
|
}];else newSortBy = [{
|
|
@@ -18126,7 +18235,7 @@
|
|
|
18126
18235
|
order: 'asc'
|
|
18127
18236
|
}];
|
|
18128
18237
|
} else if (item.order === 'desc') {
|
|
18129
|
-
if (
|
|
18238
|
+
if (mustSort.value) {
|
|
18130
18239
|
item.order = 'asc';
|
|
18131
18240
|
} else {
|
|
18132
18241
|
newSortBy = newSortBy.filter(x => x.key !== key);
|
|
@@ -18135,6 +18244,7 @@
|
|
|
18135
18244
|
item.order = 'desc';
|
|
18136
18245
|
}
|
|
18137
18246
|
sortBy.value = newSortBy;
|
|
18247
|
+
if (page) page.value = 1;
|
|
18138
18248
|
};
|
|
18139
18249
|
const data = {
|
|
18140
18250
|
sortBy,
|
|
@@ -18337,9 +18447,6 @@
|
|
|
18337
18447
|
});
|
|
18338
18448
|
|
|
18339
18449
|
// Utilities
|
|
18340
|
-
|
|
18341
|
-
// Types
|
|
18342
|
-
|
|
18343
18450
|
const makeDataTableGroupProps = propsFactory({
|
|
18344
18451
|
groupBy: {
|
|
18345
18452
|
type: Array,
|
|
@@ -18347,7 +18454,17 @@
|
|
|
18347
18454
|
}
|
|
18348
18455
|
}, 'data-table-group');
|
|
18349
18456
|
const VDataTableGroupSymbol = Symbol.for('vuetify:data-table-group');
|
|
18350
|
-
function createGroupBy(props
|
|
18457
|
+
function createGroupBy(props) {
|
|
18458
|
+
const groupBy = useProxiedModel(props, 'groupBy');
|
|
18459
|
+
return {
|
|
18460
|
+
groupBy
|
|
18461
|
+
};
|
|
18462
|
+
}
|
|
18463
|
+
function provideGroupBy(options) {
|
|
18464
|
+
const {
|
|
18465
|
+
groupBy,
|
|
18466
|
+
sortBy
|
|
18467
|
+
} = options;
|
|
18351
18468
|
const opened = vue.ref(new Set());
|
|
18352
18469
|
const sortByWithGroups = vue.computed(() => {
|
|
18353
18470
|
return groupBy.value.map(val => ({
|
|
@@ -18557,7 +18674,7 @@
|
|
|
18557
18674
|
}
|
|
18558
18675
|
}, 'v-data-table-expand');
|
|
18559
18676
|
const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');
|
|
18560
|
-
function
|
|
18677
|
+
function provideExpanded(props) {
|
|
18561
18678
|
const expandOnClick = vue.toRef(props, 'expandOnClick');
|
|
18562
18679
|
const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {
|
|
18563
18680
|
return new Set(v);
|
|
@@ -18600,7 +18717,9 @@
|
|
|
18600
18717
|
const VDataTableRow = defineComponent({
|
|
18601
18718
|
name: 'VDataTableRow',
|
|
18602
18719
|
props: {
|
|
18603
|
-
|
|
18720
|
+
index: Number,
|
|
18721
|
+
item: Object,
|
|
18722
|
+
onClick: Function
|
|
18604
18723
|
},
|
|
18605
18724
|
setup(props, _ref) {
|
|
18606
18725
|
let {
|
|
@@ -18618,7 +18737,10 @@
|
|
|
18618
18737
|
columns
|
|
18619
18738
|
} = useHeaders();
|
|
18620
18739
|
useRender(() => vue.createVNode("tr", {
|
|
18621
|
-
"class": ['v-data-table__tr'
|
|
18740
|
+
"class": ['v-data-table__tr', {
|
|
18741
|
+
'v-data-table__tr--clickable': !!props.onClick
|
|
18742
|
+
}],
|
|
18743
|
+
"onClick": props.onClick
|
|
18622
18744
|
}, [!columns.value.length && vue.createVNode(VDataTableColumn, {
|
|
18623
18745
|
"key": "no-data"
|
|
18624
18746
|
}, slots), props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
|
@@ -18633,6 +18755,7 @@
|
|
|
18633
18755
|
const item = props.item;
|
|
18634
18756
|
const slotName = `item.${column.key}`;
|
|
18635
18757
|
const slotProps = {
|
|
18758
|
+
index: props.index,
|
|
18636
18759
|
item: props.item,
|
|
18637
18760
|
columns: columns.value,
|
|
18638
18761
|
isSelected,
|
|
@@ -18749,12 +18872,13 @@
|
|
|
18749
18872
|
"key": `item_${item.value}`,
|
|
18750
18873
|
"onClick": event => {
|
|
18751
18874
|
if (expandOnClick.value) {
|
|
18752
|
-
toggleExpand(item
|
|
18875
|
+
toggleExpand(item);
|
|
18753
18876
|
}
|
|
18754
18877
|
emit('click:row', event, {
|
|
18755
18878
|
item
|
|
18756
18879
|
});
|
|
18757
18880
|
},
|
|
18881
|
+
"index": index,
|
|
18758
18882
|
"item": item
|
|
18759
18883
|
}, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
|
18760
18884
|
})]));
|
|
@@ -18777,10 +18901,20 @@
|
|
|
18777
18901
|
}
|
|
18778
18902
|
}, 'v-data-table-paginate');
|
|
18779
18903
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18780
|
-
function createPagination(props
|
|
18904
|
+
function createPagination(props) {
|
|
18781
18905
|
const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));
|
|
18782
18906
|
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));
|
|
18783
|
-
|
|
18907
|
+
return {
|
|
18908
|
+
page,
|
|
18909
|
+
itemsPerPage
|
|
18910
|
+
};
|
|
18911
|
+
}
|
|
18912
|
+
function providePagination(options) {
|
|
18913
|
+
const {
|
|
18914
|
+
page,
|
|
18915
|
+
itemsPerPage,
|
|
18916
|
+
itemsLength
|
|
18917
|
+
} = options;
|
|
18784
18918
|
const startIndex = vue.computed(() => {
|
|
18785
18919
|
if (itemsPerPage.value === -1) return 0;
|
|
18786
18920
|
return itemsPerPage.value * (page.value - 1);
|
|
@@ -18793,13 +18927,18 @@
|
|
|
18793
18927
|
if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
|
|
18794
18928
|
return Math.ceil(itemsLength.value / itemsPerPage.value);
|
|
18795
18929
|
});
|
|
18930
|
+
function setItemsPerPage(value) {
|
|
18931
|
+
itemsPerPage.value = value;
|
|
18932
|
+
page.value = 1;
|
|
18933
|
+
}
|
|
18796
18934
|
const data = {
|
|
18797
18935
|
page,
|
|
18798
18936
|
itemsPerPage,
|
|
18937
|
+
itemsLength,
|
|
18799
18938
|
startIndex,
|
|
18800
18939
|
stopIndex,
|
|
18801
18940
|
pageCount,
|
|
18802
|
-
|
|
18941
|
+
setItemsPerPage
|
|
18803
18942
|
};
|
|
18804
18943
|
vue.provide(VDataTablePaginationSymbol, data);
|
|
18805
18944
|
return data;
|
|
@@ -18809,7 +18948,13 @@
|
|
|
18809
18948
|
if (!data) throw new Error('Missing pagination!');
|
|
18810
18949
|
return data;
|
|
18811
18950
|
}
|
|
18812
|
-
function usePaginatedItems(
|
|
18951
|
+
function usePaginatedItems(options) {
|
|
18952
|
+
const {
|
|
18953
|
+
items,
|
|
18954
|
+
startIndex,
|
|
18955
|
+
stopIndex,
|
|
18956
|
+
itemsPerPage
|
|
18957
|
+
} = options;
|
|
18813
18958
|
const paginatedItems = vue.computed(() => {
|
|
18814
18959
|
if (itemsPerPage.value <= 0) return items.value;
|
|
18815
18960
|
return items.value.slice(startIndex.value, stopIndex.value);
|
|
@@ -18898,7 +19043,8 @@
|
|
|
18898
19043
|
startIndex,
|
|
18899
19044
|
stopIndex,
|
|
18900
19045
|
itemsLength,
|
|
18901
|
-
itemsPerPage
|
|
19046
|
+
itemsPerPage,
|
|
19047
|
+
setItemsPerPage
|
|
18902
19048
|
} = usePagination();
|
|
18903
19049
|
const itemsPerPageOptions = vue.computed(() => props.itemsPerPageOptions.map(option => ({
|
|
18904
19050
|
...option,
|
|
@@ -18911,7 +19057,7 @@
|
|
|
18911
19057
|
}, [vue.createVNode("span", null, [t(props.itemsPerPageText)]), vue.createVNode(VSelect, {
|
|
18912
19058
|
"items": itemsPerPageOptions.value,
|
|
18913
19059
|
"modelValue": itemsPerPage.value,
|
|
18914
|
-
"onUpdate:modelValue": v =>
|
|
19060
|
+
"onUpdate:modelValue": v => setItemsPerPage(Number(v)),
|
|
18915
19061
|
"density": "compact",
|
|
18916
19062
|
"variant": "outlined",
|
|
18917
19063
|
"hide-details": true
|
|
@@ -19000,22 +19146,10 @@
|
|
|
19000
19146
|
groupBy: groupBy.value
|
|
19001
19147
|
}));
|
|
19002
19148
|
|
|
19003
|
-
// Reset page when sorting changes
|
|
19004
|
-
vue.watch(sortBy, () => {
|
|
19005
|
-
page.value = 1;
|
|
19006
|
-
}, {
|
|
19007
|
-
deep: true
|
|
19008
|
-
});
|
|
19009
|
-
|
|
19010
19149
|
// Reset page when searching
|
|
19011
19150
|
vue.watch(() => search?.value, () => {
|
|
19012
19151
|
page.value = 1;
|
|
19013
19152
|
});
|
|
19014
|
-
|
|
19015
|
-
// Reset page when items-per-page changes
|
|
19016
|
-
vue.watch(itemsPerPage, () => {
|
|
19017
|
-
page.value = 1;
|
|
19018
|
-
});
|
|
19019
19153
|
let oldOptions = null;
|
|
19020
19154
|
vue.watch(options, () => {
|
|
19021
19155
|
if (deepEqual(oldOptions, options.value)) return;
|
|
@@ -19069,7 +19203,18 @@
|
|
|
19069
19203
|
emit,
|
|
19070
19204
|
slots
|
|
19071
19205
|
} = _ref;
|
|
19072
|
-
const
|
|
19206
|
+
const {
|
|
19207
|
+
groupBy
|
|
19208
|
+
} = createGroupBy(props);
|
|
19209
|
+
const {
|
|
19210
|
+
sortBy,
|
|
19211
|
+
multiSort,
|
|
19212
|
+
mustSort
|
|
19213
|
+
} = createSort(props);
|
|
19214
|
+
const {
|
|
19215
|
+
page,
|
|
19216
|
+
itemsPerPage
|
|
19217
|
+
} = createPagination(props);
|
|
19073
19218
|
const {
|
|
19074
19219
|
columns
|
|
19075
19220
|
} = createHeaders(props, {
|
|
@@ -19087,32 +19232,46 @@
|
|
|
19087
19232
|
} = useFilter(props, items, search, {
|
|
19088
19233
|
filterKeys
|
|
19089
19234
|
});
|
|
19090
|
-
|
|
19091
|
-
sortBy
|
|
19092
|
-
|
|
19235
|
+
provideSort({
|
|
19236
|
+
sortBy,
|
|
19237
|
+
multiSort,
|
|
19238
|
+
mustSort,
|
|
19239
|
+
page
|
|
19240
|
+
});
|
|
19093
19241
|
const {
|
|
19094
19242
|
sortByWithGroups,
|
|
19095
19243
|
opened,
|
|
19096
19244
|
extractRows
|
|
19097
|
-
} =
|
|
19245
|
+
} = provideGroupBy({
|
|
19246
|
+
groupBy,
|
|
19247
|
+
sortBy
|
|
19248
|
+
});
|
|
19098
19249
|
const {
|
|
19099
19250
|
sortedItems
|
|
19100
19251
|
} = useSortedItems(filteredItems, sortByWithGroups, columns);
|
|
19101
19252
|
const {
|
|
19102
19253
|
flatItems
|
|
19103
19254
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
|
19255
|
+
const itemsLength = vue.computed(() => flatItems.value.length);
|
|
19104
19256
|
const {
|
|
19105
|
-
page,
|
|
19106
|
-
itemsPerPage,
|
|
19107
19257
|
startIndex,
|
|
19108
19258
|
stopIndex
|
|
19109
|
-
} =
|
|
19259
|
+
} = providePagination({
|
|
19260
|
+
page,
|
|
19261
|
+
itemsPerPage,
|
|
19262
|
+
itemsLength
|
|
19263
|
+
});
|
|
19110
19264
|
const {
|
|
19111
19265
|
paginatedItems
|
|
19112
|
-
} = usePaginatedItems(
|
|
19266
|
+
} = usePaginatedItems({
|
|
19267
|
+
items: flatItems,
|
|
19268
|
+
startIndex,
|
|
19269
|
+
stopIndex,
|
|
19270
|
+
itemsPerPage
|
|
19271
|
+
});
|
|
19113
19272
|
const paginatedItemsWithoutGroups = vue.computed(() => extractRows(paginatedItems.value));
|
|
19114
|
-
|
|
19115
|
-
|
|
19273
|
+
provideSelection(props, paginatedItemsWithoutGroups);
|
|
19274
|
+
provideExpanded(props);
|
|
19116
19275
|
useOptions({
|
|
19117
19276
|
page,
|
|
19118
19277
|
itemsPerPage,
|
|
@@ -19260,7 +19419,14 @@
|
|
|
19260
19419
|
emit,
|
|
19261
19420
|
slots
|
|
19262
19421
|
} = _ref;
|
|
19263
|
-
const
|
|
19422
|
+
const {
|
|
19423
|
+
groupBy
|
|
19424
|
+
} = createGroupBy(props);
|
|
19425
|
+
const {
|
|
19426
|
+
sortBy,
|
|
19427
|
+
multiSort,
|
|
19428
|
+
mustSort
|
|
19429
|
+
} = createSort(props);
|
|
19264
19430
|
const {
|
|
19265
19431
|
columns
|
|
19266
19432
|
} = createHeaders(props, {
|
|
@@ -19278,14 +19444,19 @@
|
|
|
19278
19444
|
} = useFilter(props, items, search, {
|
|
19279
19445
|
filterKeys
|
|
19280
19446
|
});
|
|
19281
|
-
|
|
19282
|
-
sortBy
|
|
19283
|
-
|
|
19447
|
+
provideSort({
|
|
19448
|
+
sortBy,
|
|
19449
|
+
multiSort,
|
|
19450
|
+
mustSort
|
|
19451
|
+
});
|
|
19284
19452
|
const {
|
|
19285
19453
|
sortByWithGroups,
|
|
19286
19454
|
opened,
|
|
19287
19455
|
extractRows
|
|
19288
|
-
} =
|
|
19456
|
+
} = provideGroupBy({
|
|
19457
|
+
groupBy,
|
|
19458
|
+
sortBy
|
|
19459
|
+
});
|
|
19289
19460
|
const {
|
|
19290
19461
|
sortedItems
|
|
19291
19462
|
} = useSortedItems(filteredItems, sortByWithGroups, columns);
|
|
@@ -19293,8 +19464,8 @@
|
|
|
19293
19464
|
flatItems
|
|
19294
19465
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
|
19295
19466
|
const allRows = vue.computed(() => extractRows(flatItems.value));
|
|
19296
|
-
|
|
19297
|
-
|
|
19467
|
+
provideSelection(props, allRows);
|
|
19468
|
+
provideExpanded(props);
|
|
19298
19469
|
const {
|
|
19299
19470
|
containerRef,
|
|
19300
19471
|
paddingTop,
|
|
@@ -19381,7 +19552,10 @@
|
|
|
19381
19552
|
type: String,
|
|
19382
19553
|
default: '$vuetify.dataIterator.loadingText'
|
|
19383
19554
|
},
|
|
19384
|
-
itemsLength:
|
|
19555
|
+
itemsLength: {
|
|
19556
|
+
type: [Number, String],
|
|
19557
|
+
required: true
|
|
19558
|
+
},
|
|
19385
19559
|
...makeVDataTableProps(),
|
|
19386
19560
|
...makeDataTableExpandProps(),
|
|
19387
19561
|
...makeDataTableHeaderProps(),
|
|
@@ -19406,8 +19580,20 @@
|
|
|
19406
19580
|
emit,
|
|
19407
19581
|
slots
|
|
19408
19582
|
} = _ref;
|
|
19409
|
-
const
|
|
19410
|
-
|
|
19583
|
+
const {
|
|
19584
|
+
groupBy
|
|
19585
|
+
} = createGroupBy(props);
|
|
19586
|
+
const {
|
|
19587
|
+
sortBy,
|
|
19588
|
+
multiSort,
|
|
19589
|
+
mustSort
|
|
19590
|
+
} = createSort(props);
|
|
19591
|
+
const {
|
|
19592
|
+
page,
|
|
19593
|
+
itemsPerPage
|
|
19594
|
+
} = createPagination(props);
|
|
19595
|
+
const itemsLength = vue.computed(() => parseInt(props.itemsLength, 10));
|
|
19596
|
+
provideExpanded(props);
|
|
19411
19597
|
const {
|
|
19412
19598
|
columns
|
|
19413
19599
|
} = createHeaders(props, {
|
|
@@ -19419,20 +19605,28 @@
|
|
|
19419
19605
|
items
|
|
19420
19606
|
} = useDataTableItems(props, columns);
|
|
19421
19607
|
const {
|
|
19422
|
-
sortBy,
|
|
19423
19608
|
toggleSort
|
|
19424
|
-
} =
|
|
19609
|
+
} = provideSort({
|
|
19610
|
+
sortBy,
|
|
19611
|
+
multiSort,
|
|
19612
|
+
mustSort,
|
|
19613
|
+
page
|
|
19614
|
+
});
|
|
19425
19615
|
const {
|
|
19426
19616
|
opened
|
|
19427
|
-
} =
|
|
19428
|
-
|
|
19617
|
+
} = provideGroupBy({
|
|
19618
|
+
groupBy,
|
|
19619
|
+
sortBy
|
|
19620
|
+
});
|
|
19621
|
+
providePagination({
|
|
19429
19622
|
page,
|
|
19430
|
-
itemsPerPage
|
|
19431
|
-
|
|
19623
|
+
itemsPerPage,
|
|
19624
|
+
itemsLength
|
|
19625
|
+
});
|
|
19432
19626
|
const {
|
|
19433
19627
|
flatItems
|
|
19434
19628
|
} = useGroupedItems(items, groupBy, opened);
|
|
19435
|
-
|
|
19629
|
+
provideSelection(props, items);
|
|
19436
19630
|
useOptions({
|
|
19437
19631
|
page,
|
|
19438
19632
|
itemsPerPage,
|
|
@@ -20003,7 +20197,7 @@
|
|
|
20003
20197
|
locale
|
|
20004
20198
|
};
|
|
20005
20199
|
}
|
|
20006
|
-
const version$1 = "3.2.0-dev-
|
|
20200
|
+
const version$1 = "3.2.0-dev-20230322.0";
|
|
20007
20201
|
createVuetify$1.version = version$1;
|
|
20008
20202
|
|
|
20009
20203
|
// Vue's inject() can only be used in setup
|
|
@@ -20015,7 +20209,7 @@
|
|
|
20015
20209
|
}
|
|
20016
20210
|
}
|
|
20017
20211
|
|
|
20018
|
-
const version = "3.2.0-dev-
|
|
20212
|
+
const version = "3.2.0-dev-20230322.0";
|
|
20019
20213
|
|
|
20020
20214
|
const createVuetify = function () {
|
|
20021
20215
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|