vuetify 3.1.8 → 3.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +7 -3
- package/dist/json/importMap.json +40 -40
- package/dist/json/tags.json +1 -0
- package/dist/json/web-types.json +51 -17
- package/dist/vuetify-labs.css +288 -268
- package/dist/vuetify-labs.d.ts +14 -7
- package/dist/vuetify-labs.esm.js +460 -250
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +460 -250
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1253 -1236
- package/dist/vuetify.d.ts +18 -13
- package/dist/vuetify.esm.js +306 -193
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +306 -193
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +411 -408
- package/dist/vuetify.min.js.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 +2 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +11 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +19 -12
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +11 -7
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +25 -19
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- 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/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 +2 -2
- package/lib/components/VCombobox/VCombobox.mjs +11 -5
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs +4 -1
- package/lib/components/VDefaultsProvider/VDefaultsProvider.mjs.map +1 -1
- package/lib/components/VDefaultsProvider/index.d.ts +3 -0
- 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/VImg/VImg.mjs +2 -2
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +23 -19
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +11 -5
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlider/VSliderTrack.mjs +1 -0
- package/lib/components/VSlider/VSliderTrack.mjs.map +1 -1
- package/lib/components/VSlider/slider.mjs +3 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +2 -7
- package/lib/components/VSnackbar/VSnackbar.mjs +2 -1
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +3 -8
- package/lib/components/VTabs/VTabs.mjs +23 -15
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTimeline/VTimelineDivider.mjs +18 -10
- package/lib/components/VTimeline/VTimelineDivider.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.mjs +9 -5
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/index.d.ts +7 -2
- package/lib/composables/defaults.mjs +2 -0
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +11 -11
- package/lib/labs/VDataTable/VDataTable.css +3 -0
- package/lib/labs/VDataTable/VDataTable.mjs +41 -17
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTable.sass +3 -0
- package/lib/labs/VDataTable/VDataTableFooter.mjs +3 -2
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +6 -2
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +1 -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 +7 -5
- package/lib/labs/components.d.ts +7 -5
- 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/util/defineComponent.mjs +3 -2
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +5 -11
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.9
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -953,6 +953,8 @@
|
|
|
953
953
|
const injectedDefaults = useDefaults();
|
|
954
954
|
const providedDefaults = vue.ref(defaults);
|
|
955
955
|
const newDefaults = vue.computed(() => {
|
|
956
|
+
const disabled = vue.unref(options?.disabled);
|
|
957
|
+
if (disabled) return {};
|
|
956
958
|
const scoped = vue.unref(options?.scoped);
|
|
957
959
|
const reset = vue.unref(options?.reset);
|
|
958
960
|
const root = vue.unref(options?.root);
|
|
@@ -1026,10 +1028,11 @@
|
|
|
1026
1028
|
const componentDefaults = vue.computed(() => defaults.value[props._as ?? options.name]);
|
|
1027
1029
|
const _props = new Proxy(props, {
|
|
1028
1030
|
get(target, prop) {
|
|
1031
|
+
const propValue = Reflect.get(target, prop);
|
|
1029
1032
|
if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1030
|
-
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ??
|
|
1033
|
+
return componentDefaults.value?.[prop] ?? defaults.value.global?.[prop] ?? propValue;
|
|
1031
1034
|
}
|
|
1032
|
-
return
|
|
1035
|
+
return propValue;
|
|
1033
1036
|
}
|
|
1034
1037
|
});
|
|
1035
1038
|
const _subcomponentDefaults = vue.shallowRef();
|
|
@@ -2157,6 +2160,7 @@
|
|
|
2157
2160
|
name: 'VDefaultsProvider',
|
|
2158
2161
|
props: {
|
|
2159
2162
|
defaults: Object,
|
|
2163
|
+
disabled: Boolean,
|
|
2160
2164
|
reset: [Number, String],
|
|
2161
2165
|
root: Boolean,
|
|
2162
2166
|
scoped: Boolean
|
|
@@ -2167,6 +2171,7 @@
|
|
|
2167
2171
|
} = _ref;
|
|
2168
2172
|
const {
|
|
2169
2173
|
defaults,
|
|
2174
|
+
disabled,
|
|
2170
2175
|
reset,
|
|
2171
2176
|
root,
|
|
2172
2177
|
scoped
|
|
@@ -2174,7 +2179,8 @@
|
|
|
2174
2179
|
provideDefaults(defaults, {
|
|
2175
2180
|
reset,
|
|
2176
2181
|
root,
|
|
2177
|
-
scoped
|
|
2182
|
+
scoped,
|
|
2183
|
+
disabled
|
|
2178
2184
|
});
|
|
2179
2185
|
return () => slots.default?.();
|
|
2180
2186
|
}
|
|
@@ -2796,7 +2802,7 @@
|
|
|
2796
2802
|
"class": ['v-img__img', containClasses.value],
|
|
2797
2803
|
"src": normalisedSrc.value.src,
|
|
2798
2804
|
"srcset": normalisedSrc.value.srcset,
|
|
2799
|
-
"alt":
|
|
2805
|
+
"alt": props.alt,
|
|
2800
2806
|
"sizes": props.sizes,
|
|
2801
2807
|
"ref": image,
|
|
2802
2808
|
"onLoad": onLoad,
|
|
@@ -2818,7 +2824,7 @@
|
|
|
2818
2824
|
default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createVNode("img", {
|
|
2819
2825
|
"class": ['v-img__img', 'v-img__img--preload', containClasses.value],
|
|
2820
2826
|
"src": normalisedSrc.value.lazySrc,
|
|
2821
|
-
"alt":
|
|
2827
|
+
"alt": props.alt
|
|
2822
2828
|
}, null)]
|
|
2823
2829
|
});
|
|
2824
2830
|
const __placeholder = () => {
|
|
@@ -3160,16 +3166,20 @@
|
|
|
3160
3166
|
default: () => [hasImage && vue.createVNode("div", {
|
|
3161
3167
|
"key": "image",
|
|
3162
3168
|
"class": "v-toolbar__image"
|
|
3163
|
-
}, [vue.createVNode(
|
|
3169
|
+
}, [!slots.image ? vue.createVNode(VImg, {
|
|
3170
|
+
"key": "image-img",
|
|
3171
|
+
"cover": true,
|
|
3172
|
+
"src": props.image
|
|
3173
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
3174
|
+
"key": "image-defaults",
|
|
3175
|
+
"disabled": !props.image,
|
|
3164
3176
|
"defaults": {
|
|
3165
3177
|
VImg: {
|
|
3166
3178
|
cover: true,
|
|
3167
3179
|
src: props.image
|
|
3168
3180
|
}
|
|
3169
3181
|
}
|
|
3170
|
-
}, {
|
|
3171
|
-
default: () => [slots.image ? slots.image?.() : vue.createVNode(VImg, null, null)]
|
|
3172
|
-
})]), vue.createVNode(VDefaultsProvider, {
|
|
3182
|
+
}, slots.image)]), vue.createVNode(VDefaultsProvider, {
|
|
3173
3183
|
"defaults": {
|
|
3174
3184
|
VTabs: {
|
|
3175
3185
|
height: convertToUnit(contentHeight.value)
|
|
@@ -4890,43 +4900,49 @@
|
|
|
4890
4900
|
},
|
|
4891
4901
|
"value": valueAttr.value
|
|
4892
4902
|
}, {
|
|
4893
|
-
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode(
|
|
4903
|
+
default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
|
|
4894
4904
|
"key": "prepend",
|
|
4905
|
+
"class": "v-btn__prepend"
|
|
4906
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
4907
|
+
"key": "prepend-icon",
|
|
4908
|
+
"icon": props.prependIcon
|
|
4909
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4910
|
+
"key": "prepend-defaults",
|
|
4911
|
+
"disabled": !props.prependIcon,
|
|
4895
4912
|
"defaults": {
|
|
4896
4913
|
VIcon: {
|
|
4897
4914
|
icon: props.prependIcon
|
|
4898
4915
|
}
|
|
4899
4916
|
}
|
|
4900
|
-
}, {
|
|
4901
|
-
default: () => [vue.createVNode("span", {
|
|
4902
|
-
"class": "v-btn__prepend"
|
|
4903
|
-
}, [slots.prepend?.() ?? vue.createVNode(VIcon, null, null)])]
|
|
4904
|
-
}), vue.createVNode("span", {
|
|
4917
|
+
}, slots.prepend)]), vue.createVNode("span", {
|
|
4905
4918
|
"class": "v-btn__content",
|
|
4906
4919
|
"data-no-activator": ""
|
|
4907
|
-
}, [vue.createVNode(
|
|
4908
|
-
"key": "content",
|
|
4920
|
+
}, [!slots.default && hasIcon ? vue.createVNode(VIcon, {
|
|
4921
|
+
"key": "content-icon",
|
|
4922
|
+
"icon": props.icon
|
|
4923
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4924
|
+
"key": "content-defaults",
|
|
4925
|
+
"disabled": !hasIcon,
|
|
4909
4926
|
"defaults": {
|
|
4910
4927
|
VIcon: {
|
|
4911
|
-
icon:
|
|
4928
|
+
icon: props.icon
|
|
4912
4929
|
}
|
|
4913
4930
|
}
|
|
4914
|
-
}, {
|
|
4915
|
-
default: () => [slots.default?.() ?? (hasIcon && vue.createVNode(VIcon, {
|
|
4916
|
-
"key": "icon"
|
|
4917
|
-
}, null))]
|
|
4918
|
-
})]), !props.icon && hasAppend && vue.createVNode(VDefaultsProvider, {
|
|
4931
|
+
}, slots.default)]), !props.icon && hasAppend && vue.createVNode("span", {
|
|
4919
4932
|
"key": "append",
|
|
4933
|
+
"class": "v-btn__append"
|
|
4934
|
+
}, [!slots.append ? vue.createVNode(VIcon, {
|
|
4935
|
+
"key": "append-icon",
|
|
4936
|
+
"icon": props.appendIcon
|
|
4937
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
4938
|
+
"key": "append-defaults",
|
|
4939
|
+
"disabled": !props.appendIcon,
|
|
4920
4940
|
"defaults": {
|
|
4921
4941
|
VIcon: {
|
|
4922
4942
|
icon: props.appendIcon
|
|
4923
4943
|
}
|
|
4924
4944
|
}
|
|
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", {
|
|
4945
|
+
}, slots.append)]), !!props.loading && vue.createVNode("span", {
|
|
4930
4946
|
"key": "loader",
|
|
4931
4947
|
"class": "v-btn__loader"
|
|
4932
4948
|
}, [slots.loader?.() ?? vue.createVNode(VProgressCircular, {
|
|
@@ -5055,10 +5071,12 @@
|
|
|
5055
5071
|
})
|
|
5056
5072
|
},
|
|
5057
5073
|
emits: {
|
|
5074
|
+
'click:close': e => true,
|
|
5058
5075
|
'update:modelValue': value => true
|
|
5059
5076
|
},
|
|
5060
5077
|
setup(props, _ref) {
|
|
5061
5078
|
let {
|
|
5079
|
+
emit,
|
|
5062
5080
|
slots
|
|
5063
5081
|
} = _ref;
|
|
5064
5082
|
const isActive = useProxiedModel(props, 'modelValue');
|
|
@@ -5108,6 +5126,7 @@
|
|
|
5108
5126
|
'aria-label': t(props.closeLabel),
|
|
5109
5127
|
onClick(e) {
|
|
5110
5128
|
isActive.value = false;
|
|
5129
|
+
emit('click:close', e);
|
|
5111
5130
|
}
|
|
5112
5131
|
}));
|
|
5113
5132
|
return () => {
|
|
@@ -5129,8 +5148,17 @@
|
|
|
5129
5148
|
"key": "border",
|
|
5130
5149
|
"class": ['v-alert__border', textColorClasses.value],
|
|
5131
5150
|
"style": textColorStyles.value
|
|
5132
|
-
}, null), hasPrepend && vue.createVNode(
|
|
5151
|
+
}, null), hasPrepend && vue.createVNode("div", {
|
|
5133
5152
|
"key": "prepend",
|
|
5153
|
+
"class": "v-alert__prepend"
|
|
5154
|
+
}, [!slots.prepend ? vue.createVNode(VIcon, {
|
|
5155
|
+
"key": "prepend-icon",
|
|
5156
|
+
"density": props.density,
|
|
5157
|
+
"icon": icon.value,
|
|
5158
|
+
"size": props.prominent ? 44 : 28
|
|
5159
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
5160
|
+
"key": "prepend-defaults",
|
|
5161
|
+
"disabled": !icon.value,
|
|
5134
5162
|
"defaults": {
|
|
5135
5163
|
VIcon: {
|
|
5136
5164
|
density: props.density,
|
|
@@ -5138,21 +5166,25 @@
|
|
|
5138
5166
|
size: props.prominent ? 44 : 28
|
|
5139
5167
|
}
|
|
5140
5168
|
}
|
|
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", {
|
|
5169
|
+
}, slots.prepend)]), vue.createVNode("div", {
|
|
5146
5170
|
"class": "v-alert__content"
|
|
5147
5171
|
}, [hasTitle && vue.createVNode(VAlertTitle, {
|
|
5148
5172
|
"key": "title"
|
|
5149
5173
|
}, {
|
|
5150
|
-
default: () => [slots.title
|
|
5151
|
-
}), hasText && (slots.text
|
|
5174
|
+
default: () => [slots.title?.() ?? props.title]
|
|
5175
|
+
}), hasText && (slots.text?.() ?? props.text), slots.default?.()]), slots.append && vue.createVNode("div", {
|
|
5152
5176
|
"key": "append",
|
|
5153
5177
|
"class": "v-alert__append"
|
|
5154
|
-
}, [slots.append()]), hasClose && vue.createVNode(
|
|
5178
|
+
}, [slots.append()]), hasClose && vue.createVNode("div", {
|
|
5155
5179
|
"key": "close",
|
|
5180
|
+
"class": "v-alert__close"
|
|
5181
|
+
}, [!slots.close ? vue.createVNode(VBtn, vue.mergeProps({
|
|
5182
|
+
"key": "close-btn",
|
|
5183
|
+
"icon": props.closeIcon,
|
|
5184
|
+
"size": "x-small",
|
|
5185
|
+
"variant": "text"
|
|
5186
|
+
}, closeProps.value), null) : vue.createVNode(VDefaultsProvider, {
|
|
5187
|
+
"key": "close-defaults",
|
|
5156
5188
|
"defaults": {
|
|
5157
5189
|
VBtn: {
|
|
5158
5190
|
icon: props.closeIcon,
|
|
@@ -5161,12 +5193,10 @@
|
|
|
5161
5193
|
}
|
|
5162
5194
|
}
|
|
5163
5195
|
}, {
|
|
5164
|
-
default: () => [
|
|
5165
|
-
"class": "v-alert__close"
|
|
5166
|
-
}, [slots.close?.({
|
|
5196
|
+
default: () => [slots.close?.({
|
|
5167
5197
|
props: closeProps.value
|
|
5168
|
-
})
|
|
5169
|
-
})]
|
|
5198
|
+
})]
|
|
5199
|
+
})])]
|
|
5170
5200
|
});
|
|
5171
5201
|
};
|
|
5172
5202
|
}
|
|
@@ -6831,10 +6861,13 @@
|
|
|
6831
6861
|
const link = useLink(props, attrs);
|
|
6832
6862
|
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
|
6833
6863
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6864
|
+
const closeProps = vue.computed(() => ({
|
|
6865
|
+
'aria-label': t(props.closeLabel),
|
|
6866
|
+
onClick(e) {
|
|
6867
|
+
isActive.value = false;
|
|
6868
|
+
emit('click:close', e);
|
|
6869
|
+
}
|
|
6870
|
+
}));
|
|
6838
6871
|
function onClick(e) {
|
|
6839
6872
|
emit('click', e);
|
|
6840
6873
|
if (!isClickable.value) return;
|
|
@@ -6849,10 +6882,12 @@
|
|
|
6849
6882
|
}
|
|
6850
6883
|
return () => {
|
|
6851
6884
|
const Tag = link.isLink.value ? 'a' : props.tag;
|
|
6852
|
-
const
|
|
6885
|
+
const hasAppendMedia = !!(props.appendIcon || props.appendAvatar);
|
|
6886
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
6853
6887
|
const hasClose = !!(slots.close || props.closable);
|
|
6854
6888
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
|
6855
|
-
const
|
|
6889
|
+
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
|
6890
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
6856
6891
|
const hasColor = !group || group.isSelected.value;
|
|
6857
6892
|
return isActive.value && vue.withDirectives(vue.createVNode(Tag, {
|
|
6858
6893
|
"class": ['v-chip', {
|
|
@@ -6870,77 +6905,94 @@
|
|
|
6870
6905
|
"onClick": onClick,
|
|
6871
6906
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
|
6872
6907
|
}, {
|
|
6873
|
-
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(
|
|
6874
|
-
"key": "filter"
|
|
6875
|
-
"defaults": {
|
|
6876
|
-
VIcon: {
|
|
6877
|
-
icon: props.filterIcon
|
|
6878
|
-
}
|
|
6879
|
-
}
|
|
6908
|
+
default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
|
|
6909
|
+
"key": "filter"
|
|
6880
6910
|
}, {
|
|
6881
|
-
default: () => [vue.createVNode(
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6911
|
+
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
6912
|
+
"class": "v-chip__filter"
|
|
6913
|
+
}, [!slots.filter ? vue.createVNode(VIcon, {
|
|
6914
|
+
"key": "filter-icon",
|
|
6915
|
+
"icon": props.filterIcon
|
|
6916
|
+
}, null) : vue.withDirectives(vue.createVNode(VDefaultsProvider, {
|
|
6917
|
+
"key": "filter-defaults",
|
|
6918
|
+
"disabled": !props.filterIcon,
|
|
6919
|
+
"defaults": {
|
|
6920
|
+
VIcon: {
|
|
6921
|
+
icon: props.filterIcon
|
|
6922
|
+
}
|
|
6923
|
+
}
|
|
6924
|
+
}, null), [[vue.resolveDirective("slot"), slots.filter, "default"]])]), [[vue.vShow, group.isSelected.value]])]
|
|
6925
|
+
}), hasPrepend && vue.createVNode("div", {
|
|
6887
6926
|
"key": "prepend",
|
|
6927
|
+
"class": "v-chip__prepend"
|
|
6928
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependIcon && vue.createVNode(VIcon, {
|
|
6929
|
+
"key": "prepend-icon",
|
|
6930
|
+
"icon": props.prependIcon,
|
|
6931
|
+
"start": true
|
|
6932
|
+
}, null), props.prependAvatar && vue.createVNode(VAvatar, {
|
|
6933
|
+
"key": "prepend-avatar",
|
|
6934
|
+
"image": props.prependAvatar,
|
|
6935
|
+
"start": true
|
|
6936
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6937
|
+
"key": "prepend-defaults",
|
|
6938
|
+
"disabled": !hasPrependMedia,
|
|
6888
6939
|
"defaults": {
|
|
6889
6940
|
VAvatar: {
|
|
6890
|
-
image: props.prependAvatar
|
|
6941
|
+
image: props.prependAvatar,
|
|
6942
|
+
start: true
|
|
6891
6943
|
},
|
|
6892
6944
|
VIcon: {
|
|
6893
|
-
icon: props.prependIcon
|
|
6945
|
+
icon: props.prependIcon,
|
|
6946
|
+
start: true
|
|
6894
6947
|
}
|
|
6895
6948
|
}
|
|
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?.({
|
|
6949
|
+
}, slots.prepend)]), slots.default?.({
|
|
6905
6950
|
isSelected: group?.isSelected.value,
|
|
6906
6951
|
selectedClass: group?.selectedClass.value,
|
|
6907
6952
|
select: group?.select,
|
|
6908
6953
|
toggle: group?.toggle,
|
|
6909
6954
|
value: group?.value.value,
|
|
6910
6955
|
disabled: props.disabled
|
|
6911
|
-
}) ?? props.text, hasAppend && vue.createVNode(
|
|
6956
|
+
}) ?? props.text, hasAppend && vue.createVNode("div", {
|
|
6912
6957
|
"key": "append",
|
|
6958
|
+
"class": "v-chip__append"
|
|
6959
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
6960
|
+
"key": "append-icon",
|
|
6961
|
+
"end": true,
|
|
6962
|
+
"icon": props.appendIcon
|
|
6963
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
6964
|
+
"key": "append-avatar",
|
|
6965
|
+
"end": true,
|
|
6966
|
+
"image": props.appendAvatar
|
|
6967
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
6968
|
+
"key": "append-defaults",
|
|
6969
|
+
"disabled": !hasAppendMedia,
|
|
6913
6970
|
"defaults": {
|
|
6914
6971
|
VAvatar: {
|
|
6972
|
+
end: true,
|
|
6915
6973
|
image: props.appendAvatar
|
|
6916
6974
|
},
|
|
6917
6975
|
VIcon: {
|
|
6976
|
+
end: true,
|
|
6918
6977
|
icon: props.appendIcon
|
|
6919
6978
|
}
|
|
6920
6979
|
}
|
|
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, {
|
|
6980
|
+
}, slots.append)]), hasClose && vue.createVNode("div", vue.mergeProps({
|
|
6930
6981
|
"key": "close",
|
|
6982
|
+
"class": "v-chip__close"
|
|
6983
|
+
}, closeProps.value), [!slots.close ? vue.createVNode(VIcon, {
|
|
6984
|
+
"key": "close-icon",
|
|
6985
|
+
"icon": props.closeIcon,
|
|
6986
|
+
"size": "x-small"
|
|
6987
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
6988
|
+
"key": "close-defaults",
|
|
6931
6989
|
"defaults": {
|
|
6932
6990
|
VIcon: {
|
|
6933
6991
|
icon: props.closeIcon,
|
|
6934
6992
|
size: 'x-small'
|
|
6935
6993
|
}
|
|
6936
6994
|
}
|
|
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
|
-
})]
|
|
6995
|
+
}, slots.close)])]
|
|
6944
6996
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple, null]]);
|
|
6945
6997
|
};
|
|
6946
6998
|
}
|
|
@@ -7690,8 +7742,10 @@
|
|
|
7690
7742
|
const hasColor = !list || isSelected.value || isActive.value;
|
|
7691
7743
|
const hasTitle = slots.title || props.title;
|
|
7692
7744
|
const hasSubtitle = slots.subtitle || props.subtitle;
|
|
7693
|
-
const
|
|
7694
|
-
const
|
|
7745
|
+
const hasAppendMedia = !!(props.prependAvatar || props.prependIcon);
|
|
7746
|
+
const hasAppend = !!(hasAppendMedia || slots.append);
|
|
7747
|
+
const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);
|
|
7748
|
+
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
|
7695
7749
|
list?.updateHasPrepend(hasPrepend);
|
|
7696
7750
|
return vue.withDirectives(vue.createVNode(Tag, {
|
|
7697
7751
|
"class": ['v-list-item', {
|
|
@@ -7711,7 +7765,7 @@
|
|
|
7711
7765
|
default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
|
|
7712
7766
|
"key": "prepend",
|
|
7713
7767
|
"class": "v-list-item__prepend"
|
|
7714
|
-
}, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7768
|
+
}, [!slots.prepend ? vue.createVNode(vue.Fragment, null, [props.prependAvatar && vue.createVNode(VAvatar, {
|
|
7715
7769
|
"key": "prepend-avatar",
|
|
7716
7770
|
"density": props.density,
|
|
7717
7771
|
"image": props.prependAvatar
|
|
@@ -7719,8 +7773,9 @@
|
|
|
7719
7773
|
"key": "prepend-icon",
|
|
7720
7774
|
"density": props.density,
|
|
7721
7775
|
"icon": props.prependIcon
|
|
7722
|
-
}, null)
|
|
7723
|
-
"key": "prepend",
|
|
7776
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7777
|
+
"key": "prepend-defaults",
|
|
7778
|
+
"disabled": !hasPrependMedia,
|
|
7724
7779
|
"defaults": {
|
|
7725
7780
|
VAvatar: {
|
|
7726
7781
|
density: props.density,
|
|
@@ -7735,7 +7790,7 @@
|
|
|
7735
7790
|
}
|
|
7736
7791
|
}
|
|
7737
7792
|
}, {
|
|
7738
|
-
default: () => [slots.prepend(slotProps.value)]
|
|
7793
|
+
default: () => [slots.prepend?.(slotProps.value)]
|
|
7739
7794
|
})]), vue.createVNode("div", {
|
|
7740
7795
|
"class": "v-list-item__content",
|
|
7741
7796
|
"data-no-activator": ""
|
|
@@ -7754,8 +7809,17 @@
|
|
|
7754
7809
|
}), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
7755
7810
|
"key": "append",
|
|
7756
7811
|
"class": "v-list-item__append"
|
|
7757
|
-
}, [slots.append && vue.createVNode(
|
|
7758
|
-
"key": "append",
|
|
7812
|
+
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
7813
|
+
"key": "append-icon",
|
|
7814
|
+
"density": props.density,
|
|
7815
|
+
"icon": props.appendIcon
|
|
7816
|
+
}, null), props.appendAvatar && vue.createVNode(VAvatar, {
|
|
7817
|
+
"key": "append-avatar",
|
|
7818
|
+
"density": props.density,
|
|
7819
|
+
"image": props.appendAvatar
|
|
7820
|
+
}, null)]) : vue.createVNode(VDefaultsProvider, {
|
|
7821
|
+
"key": "append-defaults",
|
|
7822
|
+
"disabled": !hasAppendMedia,
|
|
7759
7823
|
"defaults": {
|
|
7760
7824
|
VAvatar: {
|
|
7761
7825
|
density: props.density,
|
|
@@ -7770,16 +7834,8 @@
|
|
|
7770
7834
|
}
|
|
7771
7835
|
}
|
|
7772
7836
|
}, {
|
|
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)])]
|
|
7837
|
+
default: () => [slots.append?.(slotProps.value)]
|
|
7838
|
+
})])]
|
|
7783
7839
|
}), [[vue.resolveDirective("ripple"), isClickable.value && props.ripple]]);
|
|
7784
7840
|
});
|
|
7785
7841
|
return {};
|
|
@@ -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"
|
|
@@ -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
|
|
@@ -12314,7 +12401,9 @@
|
|
|
12314
12401
|
const percentage = (val - min.value) / (max.value - min.value) * 100;
|
|
12315
12402
|
return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);
|
|
12316
12403
|
};
|
|
12404
|
+
const showTicks = vue.toRef(props, 'showTicks');
|
|
12317
12405
|
const parsedTicks = vue.computed(() => {
|
|
12406
|
+
if (!showTicks.value) return [];
|
|
12318
12407
|
if (!props.ticks) {
|
|
12319
12408
|
return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {
|
|
12320
12409
|
const value = min.value + t * step.value;
|
|
@@ -12363,7 +12452,7 @@
|
|
|
12363
12452
|
readonly: vue.toRef(props, 'readonly'),
|
|
12364
12453
|
rounded: vue.toRef(props, 'rounded'),
|
|
12365
12454
|
roundValue,
|
|
12366
|
-
showTicks
|
|
12455
|
+
showTicks,
|
|
12367
12456
|
startOffset,
|
|
12368
12457
|
step,
|
|
12369
12458
|
thumbSize,
|
|
@@ -12585,6 +12674,7 @@
|
|
|
12585
12674
|
};
|
|
12586
12675
|
});
|
|
12587
12676
|
const computedTicks = vue.computed(() => {
|
|
12677
|
+
if (!showTicks.value) return [];
|
|
12588
12678
|
const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;
|
|
12589
12679
|
return ticks.map((tick, index) => {
|
|
12590
12680
|
const directionProperty = vertical.value ? 'bottom' : 'margin-inline-start';
|
|
@@ -13704,7 +13794,13 @@
|
|
|
13704
13794
|
"key": item.value,
|
|
13705
13795
|
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
13706
13796
|
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
13707
|
-
}, [hasChips ? vue.createVNode(
|
|
13797
|
+
}, [hasChips ? !slots.chip ? vue.createVNode(VChip, vue.mergeProps({
|
|
13798
|
+
"key": "chip",
|
|
13799
|
+
"closable": props.closableChips,
|
|
13800
|
+
"size": "small",
|
|
13801
|
+
"text": item.title
|
|
13802
|
+
}, slotProps), null) : vue.createVNode(VDefaultsProvider, {
|
|
13803
|
+
"key": "chip-defaults",
|
|
13708
13804
|
"defaults": {
|
|
13709
13805
|
VChip: {
|
|
13710
13806
|
closable: props.closableChips,
|
|
@@ -13713,15 +13809,15 @@
|
|
|
13713
13809
|
}
|
|
13714
13810
|
}
|
|
13715
13811
|
}, {
|
|
13716
|
-
default: () => [slots.chip
|
|
13812
|
+
default: () => [slots.chip?.({
|
|
13717
13813
|
item,
|
|
13718
13814
|
index,
|
|
13719
13815
|
props: slotProps
|
|
13720
|
-
})
|
|
13721
|
-
}) : slots.selection
|
|
13816
|
+
})]
|
|
13817
|
+
}) : slots.selection?.({
|
|
13722
13818
|
item,
|
|
13723
13819
|
index
|
|
13724
|
-
})
|
|
13820
|
+
}) ?? vue.createVNode("span", {
|
|
13725
13821
|
"class": "v-combobox__selection-text"
|
|
13726
13822
|
}, [item.title, props.multiple && index < selections.value.length - 1 && vue.createVNode("span", {
|
|
13727
13823
|
"class": "v-combobox__selection-comma"
|
|
@@ -16867,7 +16963,8 @@
|
|
|
16867
16963
|
"persistent": true,
|
|
16868
16964
|
"noClickAnimation": true,
|
|
16869
16965
|
"scrim": false,
|
|
16870
|
-
"scrollStrategy": "none"
|
|
16966
|
+
"scrollStrategy": "none",
|
|
16967
|
+
"_disableGlobalStack": true
|
|
16871
16968
|
}, scopeId), {
|
|
16872
16969
|
default: () => [genOverlays(false, 'v-snackbar'), slots.default && vue.createVNode("div", {
|
|
16873
16970
|
"class": "v-snackbar__content",
|
|
@@ -17233,16 +17330,6 @@
|
|
|
17233
17330
|
backgroundColorClasses,
|
|
17234
17331
|
backgroundColorStyles
|
|
17235
17332
|
} = useBackgroundColor(vue.toRef(props, 'bgColor'));
|
|
17236
|
-
provideDefaults({
|
|
17237
|
-
VTab: {
|
|
17238
|
-
color: vue.toRef(props, 'color'),
|
|
17239
|
-
direction: vue.toRef(props, 'direction'),
|
|
17240
|
-
stacked: vue.toRef(props, 'stacked'),
|
|
17241
|
-
fixed: vue.toRef(props, 'fixedTabs'),
|
|
17242
|
-
sliderColor: vue.toRef(props, 'sliderColor'),
|
|
17243
|
-
hideSlider: vue.toRef(props, 'hideSlider')
|
|
17244
|
-
}
|
|
17245
|
-
});
|
|
17246
17333
|
useRender(() => vue.createVNode(VSlideGroup, {
|
|
17247
17334
|
"modelValue": model.value,
|
|
17248
17335
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
@@ -17259,9 +17346,27 @@
|
|
|
17259
17346
|
"mandatory": props.mandatory,
|
|
17260
17347
|
"direction": props.direction
|
|
17261
17348
|
}, {
|
|
17262
|
-
default: () => [slots.default ?
|
|
17263
|
-
"key": item.title
|
|
17264
|
-
|
|
17349
|
+
default: () => [!slots.default ? parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps({
|
|
17350
|
+
"key": item.title,
|
|
17351
|
+
"color": props.color,
|
|
17352
|
+
"direction": props.direction,
|
|
17353
|
+
"fixed": props.fixedTabs,
|
|
17354
|
+
"hideSlider": props.hideSlider,
|
|
17355
|
+
"sliderColor": props.sliderColor,
|
|
17356
|
+
"stacked": props.stacked
|
|
17357
|
+
}, item), null)) : vue.createVNode(VDefaultsProvider, {
|
|
17358
|
+
"key": "tabs-defaults",
|
|
17359
|
+
"defaults": {
|
|
17360
|
+
VTab: {
|
|
17361
|
+
color: props.color,
|
|
17362
|
+
direction: props.direction,
|
|
17363
|
+
fixed: props.fixedTabs,
|
|
17364
|
+
hideSlider: props.hideSlider,
|
|
17365
|
+
sliderColor: props.sliderColor,
|
|
17366
|
+
stacked: props.stacked
|
|
17367
|
+
}
|
|
17368
|
+
}
|
|
17369
|
+
}, slots.default)]
|
|
17265
17370
|
}));
|
|
17266
17371
|
return {};
|
|
17267
17372
|
}
|
|
@@ -17689,13 +17794,6 @@
|
|
|
17689
17794
|
backgroundColorClasses: lineColorClasses,
|
|
17690
17795
|
backgroundColorStyles: lineColorStyles
|
|
17691
17796
|
} = useBackgroundColor(vue.toRef(props, 'lineColor'));
|
|
17692
|
-
provideDefaults({
|
|
17693
|
-
VIcon: {
|
|
17694
|
-
color: vue.toRef(props, 'iconColor'),
|
|
17695
|
-
icon: vue.toRef(props, 'icon'),
|
|
17696
|
-
size: vue.toRef(props, 'size')
|
|
17697
|
-
}
|
|
17698
|
-
});
|
|
17699
17797
|
useRender(() => vue.createVNode("div", {
|
|
17700
17798
|
"class": ['v-timeline-divider', {
|
|
17701
17799
|
'v-timeline-divider--fill-dot': props.fillDot
|
|
@@ -17710,7 +17808,22 @@
|
|
|
17710
17808
|
}, [vue.createVNode("div", {
|
|
17711
17809
|
"class": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],
|
|
17712
17810
|
"style": backgroundColorStyles.value
|
|
17713
|
-
}, [slots.default
|
|
17811
|
+
}, [!slots.default ? vue.createVNode(VIcon, {
|
|
17812
|
+
"key": "icon",
|
|
17813
|
+
"color": props.iconColor,
|
|
17814
|
+
"icon": props.icon,
|
|
17815
|
+
"size": props.size
|
|
17816
|
+
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
17817
|
+
"key": "icon-defaults",
|
|
17818
|
+
"disabled": !props.icon,
|
|
17819
|
+
"defaults": {
|
|
17820
|
+
VIcon: {
|
|
17821
|
+
color: props.iconColor,
|
|
17822
|
+
icon: props.icon,
|
|
17823
|
+
size: props.size
|
|
17824
|
+
}
|
|
17825
|
+
}
|
|
17826
|
+
}, slots.default)])]), vue.createVNode("div", {
|
|
17714
17827
|
"class": ['v-timeline-divider__after', lineColorClasses.value],
|
|
17715
17828
|
"style": lineColorStyles.value
|
|
17716
17829
|
}, null)]));
|
|
@@ -18081,7 +18194,7 @@
|
|
|
18081
18194
|
}
|
|
18082
18195
|
}, 'v-data-table-select');
|
|
18083
18196
|
const VDataTableSelectionSymbol = Symbol.for('vuetify:data-table-selection');
|
|
18084
|
-
function
|
|
18197
|
+
function provideSelection(props, allItems) {
|
|
18085
18198
|
const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {
|
|
18086
18199
|
return new Set(v);
|
|
18087
18200
|
}, v => {
|
|
@@ -18141,13 +18254,28 @@
|
|
|
18141
18254
|
const VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');
|
|
18142
18255
|
function createSort(props) {
|
|
18143
18256
|
const sortBy = useProxiedModel(props, 'sortBy');
|
|
18257
|
+
const mustSort = vue.toRef(props, 'mustSort');
|
|
18258
|
+
const multiSort = vue.toRef(props, 'multiSort');
|
|
18259
|
+
return {
|
|
18260
|
+
sortBy,
|
|
18261
|
+
mustSort,
|
|
18262
|
+
multiSort
|
|
18263
|
+
};
|
|
18264
|
+
}
|
|
18265
|
+
function provideSort(options) {
|
|
18266
|
+
const {
|
|
18267
|
+
sortBy,
|
|
18268
|
+
mustSort,
|
|
18269
|
+
multiSort,
|
|
18270
|
+
page
|
|
18271
|
+
} = options;
|
|
18144
18272
|
const toggleSort = key => {
|
|
18145
18273
|
let newSortBy = sortBy.value.map(x => ({
|
|
18146
18274
|
...x
|
|
18147
18275
|
})) ?? [];
|
|
18148
18276
|
const item = newSortBy.find(x => x.key === key);
|
|
18149
18277
|
if (!item) {
|
|
18150
|
-
if (
|
|
18278
|
+
if (multiSort.value) newSortBy = [...newSortBy, {
|
|
18151
18279
|
key,
|
|
18152
18280
|
order: 'asc'
|
|
18153
18281
|
}];else newSortBy = [{
|
|
@@ -18155,7 +18283,7 @@
|
|
|
18155
18283
|
order: 'asc'
|
|
18156
18284
|
}];
|
|
18157
18285
|
} else if (item.order === 'desc') {
|
|
18158
|
-
if (
|
|
18286
|
+
if (mustSort.value) {
|
|
18159
18287
|
item.order = 'asc';
|
|
18160
18288
|
} else {
|
|
18161
18289
|
newSortBy = newSortBy.filter(x => x.key !== key);
|
|
@@ -18164,6 +18292,7 @@
|
|
|
18164
18292
|
item.order = 'desc';
|
|
18165
18293
|
}
|
|
18166
18294
|
sortBy.value = newSortBy;
|
|
18295
|
+
if (page) page.value = 1;
|
|
18167
18296
|
};
|
|
18168
18297
|
const data = {
|
|
18169
18298
|
sortBy,
|
|
@@ -18366,9 +18495,6 @@
|
|
|
18366
18495
|
});
|
|
18367
18496
|
|
|
18368
18497
|
// Utilities
|
|
18369
|
-
|
|
18370
|
-
// Types
|
|
18371
|
-
|
|
18372
18498
|
const makeDataTableGroupProps = propsFactory({
|
|
18373
18499
|
groupBy: {
|
|
18374
18500
|
type: Array,
|
|
@@ -18376,7 +18502,17 @@
|
|
|
18376
18502
|
}
|
|
18377
18503
|
}, 'data-table-group');
|
|
18378
18504
|
const VDataTableGroupSymbol = Symbol.for('vuetify:data-table-group');
|
|
18379
|
-
function createGroupBy(props
|
|
18505
|
+
function createGroupBy(props) {
|
|
18506
|
+
const groupBy = useProxiedModel(props, 'groupBy');
|
|
18507
|
+
return {
|
|
18508
|
+
groupBy
|
|
18509
|
+
};
|
|
18510
|
+
}
|
|
18511
|
+
function provideGroupBy(options) {
|
|
18512
|
+
const {
|
|
18513
|
+
groupBy,
|
|
18514
|
+
sortBy
|
|
18515
|
+
} = options;
|
|
18380
18516
|
const opened = vue.ref(new Set());
|
|
18381
18517
|
const sortByWithGroups = vue.computed(() => {
|
|
18382
18518
|
return groupBy.value.map(val => ({
|
|
@@ -18586,7 +18722,7 @@
|
|
|
18586
18722
|
}
|
|
18587
18723
|
}, 'v-data-table-expand');
|
|
18588
18724
|
const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');
|
|
18589
|
-
function
|
|
18725
|
+
function provideExpanded(props) {
|
|
18590
18726
|
const expandOnClick = vue.toRef(props, 'expandOnClick');
|
|
18591
18727
|
const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {
|
|
18592
18728
|
return new Set(v);
|
|
@@ -18629,7 +18765,8 @@
|
|
|
18629
18765
|
const VDataTableRow = defineComponent({
|
|
18630
18766
|
name: 'VDataTableRow',
|
|
18631
18767
|
props: {
|
|
18632
|
-
item: Object
|
|
18768
|
+
item: Object,
|
|
18769
|
+
onClick: Function
|
|
18633
18770
|
},
|
|
18634
18771
|
setup(props, _ref) {
|
|
18635
18772
|
let {
|
|
@@ -18647,7 +18784,10 @@
|
|
|
18647
18784
|
columns
|
|
18648
18785
|
} = useHeaders();
|
|
18649
18786
|
useRender(() => vue.createVNode("tr", {
|
|
18650
|
-
"class": ['v-data-table__tr'
|
|
18787
|
+
"class": ['v-data-table__tr', {
|
|
18788
|
+
'v-data-table__tr--clickable': !!props.onClick
|
|
18789
|
+
}],
|
|
18790
|
+
"onClick": props.onClick
|
|
18651
18791
|
}, [!columns.value.length && vue.createVNode(VDataTableColumn, {
|
|
18652
18792
|
"key": "no-data"
|
|
18653
18793
|
}, slots), props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
|
@@ -18778,7 +18918,7 @@
|
|
|
18778
18918
|
"key": `item_${item.value}`,
|
|
18779
18919
|
"onClick": event => {
|
|
18780
18920
|
if (expandOnClick.value) {
|
|
18781
|
-
toggleExpand(item
|
|
18921
|
+
toggleExpand(item);
|
|
18782
18922
|
}
|
|
18783
18923
|
emit('click:row', event, {
|
|
18784
18924
|
item
|
|
@@ -18806,10 +18946,20 @@
|
|
|
18806
18946
|
}
|
|
18807
18947
|
}, 'v-data-table-paginate');
|
|
18808
18948
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18809
|
-
function createPagination(props
|
|
18949
|
+
function createPagination(props) {
|
|
18810
18950
|
const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));
|
|
18811
18951
|
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));
|
|
18812
|
-
|
|
18952
|
+
return {
|
|
18953
|
+
page,
|
|
18954
|
+
itemsPerPage
|
|
18955
|
+
};
|
|
18956
|
+
}
|
|
18957
|
+
function providePagination(options) {
|
|
18958
|
+
const {
|
|
18959
|
+
page,
|
|
18960
|
+
itemsPerPage,
|
|
18961
|
+
itemsLength
|
|
18962
|
+
} = options;
|
|
18813
18963
|
const startIndex = vue.computed(() => {
|
|
18814
18964
|
if (itemsPerPage.value === -1) return 0;
|
|
18815
18965
|
return itemsPerPage.value * (page.value - 1);
|
|
@@ -18822,13 +18972,18 @@
|
|
|
18822
18972
|
if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
|
|
18823
18973
|
return Math.ceil(itemsLength.value / itemsPerPage.value);
|
|
18824
18974
|
});
|
|
18975
|
+
function setItemsPerPage(value) {
|
|
18976
|
+
itemsPerPage.value = value;
|
|
18977
|
+
page.value = 1;
|
|
18978
|
+
}
|
|
18825
18979
|
const data = {
|
|
18826
18980
|
page,
|
|
18827
18981
|
itemsPerPage,
|
|
18982
|
+
itemsLength,
|
|
18828
18983
|
startIndex,
|
|
18829
18984
|
stopIndex,
|
|
18830
18985
|
pageCount,
|
|
18831
|
-
|
|
18986
|
+
setItemsPerPage
|
|
18832
18987
|
};
|
|
18833
18988
|
vue.provide(VDataTablePaginationSymbol, data);
|
|
18834
18989
|
return data;
|
|
@@ -18838,7 +18993,13 @@
|
|
|
18838
18993
|
if (!data) throw new Error('Missing pagination!');
|
|
18839
18994
|
return data;
|
|
18840
18995
|
}
|
|
18841
|
-
function usePaginatedItems(
|
|
18996
|
+
function usePaginatedItems(options) {
|
|
18997
|
+
const {
|
|
18998
|
+
items,
|
|
18999
|
+
startIndex,
|
|
19000
|
+
stopIndex,
|
|
19001
|
+
itemsPerPage
|
|
19002
|
+
} = options;
|
|
18842
19003
|
const paginatedItems = vue.computed(() => {
|
|
18843
19004
|
if (itemsPerPage.value <= 0) return items.value;
|
|
18844
19005
|
return items.value.slice(startIndex.value, stopIndex.value);
|
|
@@ -18927,7 +19088,8 @@
|
|
|
18927
19088
|
startIndex,
|
|
18928
19089
|
stopIndex,
|
|
18929
19090
|
itemsLength,
|
|
18930
|
-
itemsPerPage
|
|
19091
|
+
itemsPerPage,
|
|
19092
|
+
setItemsPerPage
|
|
18931
19093
|
} = usePagination();
|
|
18932
19094
|
const itemsPerPageOptions = vue.computed(() => props.itemsPerPageOptions.map(option => ({
|
|
18933
19095
|
...option,
|
|
@@ -18940,7 +19102,7 @@
|
|
|
18940
19102
|
}, [vue.createVNode("span", null, [t(props.itemsPerPageText)]), vue.createVNode(VSelect, {
|
|
18941
19103
|
"items": itemsPerPageOptions.value,
|
|
18942
19104
|
"modelValue": itemsPerPage.value,
|
|
18943
|
-
"onUpdate:modelValue": v =>
|
|
19105
|
+
"onUpdate:modelValue": v => setItemsPerPage(Number(v)),
|
|
18944
19106
|
"density": "compact",
|
|
18945
19107
|
"variant": "outlined",
|
|
18946
19108
|
"hide-details": true
|
|
@@ -19029,22 +19191,10 @@
|
|
|
19029
19191
|
groupBy: groupBy.value
|
|
19030
19192
|
}));
|
|
19031
19193
|
|
|
19032
|
-
// Reset page when sorting changes
|
|
19033
|
-
vue.watch(sortBy, () => {
|
|
19034
|
-
page.value = 1;
|
|
19035
|
-
}, {
|
|
19036
|
-
deep: true
|
|
19037
|
-
});
|
|
19038
|
-
|
|
19039
19194
|
// Reset page when searching
|
|
19040
19195
|
vue.watch(() => search?.value, () => {
|
|
19041
19196
|
page.value = 1;
|
|
19042
19197
|
});
|
|
19043
|
-
|
|
19044
|
-
// Reset page when items-per-page changes
|
|
19045
|
-
vue.watch(itemsPerPage, () => {
|
|
19046
|
-
page.value = 1;
|
|
19047
|
-
});
|
|
19048
19198
|
let oldOptions = null;
|
|
19049
19199
|
vue.watch(options, () => {
|
|
19050
19200
|
if (deepEqual(oldOptions, options.value)) return;
|
|
@@ -19098,7 +19248,18 @@
|
|
|
19098
19248
|
emit,
|
|
19099
19249
|
slots
|
|
19100
19250
|
} = _ref;
|
|
19101
|
-
const
|
|
19251
|
+
const {
|
|
19252
|
+
groupBy
|
|
19253
|
+
} = createGroupBy(props);
|
|
19254
|
+
const {
|
|
19255
|
+
sortBy,
|
|
19256
|
+
multiSort,
|
|
19257
|
+
mustSort
|
|
19258
|
+
} = createSort(props);
|
|
19259
|
+
const {
|
|
19260
|
+
page,
|
|
19261
|
+
itemsPerPage
|
|
19262
|
+
} = createPagination(props);
|
|
19102
19263
|
const {
|
|
19103
19264
|
columns
|
|
19104
19265
|
} = createHeaders(props, {
|
|
@@ -19116,32 +19277,46 @@
|
|
|
19116
19277
|
} = useFilter(props, items, search, {
|
|
19117
19278
|
filterKeys
|
|
19118
19279
|
});
|
|
19119
|
-
|
|
19120
|
-
sortBy
|
|
19121
|
-
|
|
19280
|
+
provideSort({
|
|
19281
|
+
sortBy,
|
|
19282
|
+
multiSort,
|
|
19283
|
+
mustSort,
|
|
19284
|
+
page
|
|
19285
|
+
});
|
|
19122
19286
|
const {
|
|
19123
19287
|
sortByWithGroups,
|
|
19124
19288
|
opened,
|
|
19125
19289
|
extractRows
|
|
19126
|
-
} =
|
|
19290
|
+
} = provideGroupBy({
|
|
19291
|
+
groupBy,
|
|
19292
|
+
sortBy
|
|
19293
|
+
});
|
|
19127
19294
|
const {
|
|
19128
19295
|
sortedItems
|
|
19129
19296
|
} = useSortedItems(filteredItems, sortByWithGroups, columns);
|
|
19130
19297
|
const {
|
|
19131
19298
|
flatItems
|
|
19132
19299
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
|
19300
|
+
const itemsLength = vue.computed(() => flatItems.value.length);
|
|
19133
19301
|
const {
|
|
19134
|
-
page,
|
|
19135
|
-
itemsPerPage,
|
|
19136
19302
|
startIndex,
|
|
19137
19303
|
stopIndex
|
|
19138
|
-
} =
|
|
19304
|
+
} = providePagination({
|
|
19305
|
+
page,
|
|
19306
|
+
itemsPerPage,
|
|
19307
|
+
itemsLength
|
|
19308
|
+
});
|
|
19139
19309
|
const {
|
|
19140
19310
|
paginatedItems
|
|
19141
|
-
} = usePaginatedItems(
|
|
19311
|
+
} = usePaginatedItems({
|
|
19312
|
+
items: flatItems,
|
|
19313
|
+
startIndex,
|
|
19314
|
+
stopIndex,
|
|
19315
|
+
itemsPerPage
|
|
19316
|
+
});
|
|
19142
19317
|
const paginatedItemsWithoutGroups = vue.computed(() => extractRows(paginatedItems.value));
|
|
19143
|
-
|
|
19144
|
-
|
|
19318
|
+
provideSelection(props, paginatedItemsWithoutGroups);
|
|
19319
|
+
provideExpanded(props);
|
|
19145
19320
|
useOptions({
|
|
19146
19321
|
page,
|
|
19147
19322
|
itemsPerPage,
|
|
@@ -19289,7 +19464,14 @@
|
|
|
19289
19464
|
emit,
|
|
19290
19465
|
slots
|
|
19291
19466
|
} = _ref;
|
|
19292
|
-
const
|
|
19467
|
+
const {
|
|
19468
|
+
groupBy
|
|
19469
|
+
} = createGroupBy(props);
|
|
19470
|
+
const {
|
|
19471
|
+
sortBy,
|
|
19472
|
+
multiSort,
|
|
19473
|
+
mustSort
|
|
19474
|
+
} = createSort(props);
|
|
19293
19475
|
const {
|
|
19294
19476
|
columns
|
|
19295
19477
|
} = createHeaders(props, {
|
|
@@ -19307,14 +19489,19 @@
|
|
|
19307
19489
|
} = useFilter(props, items, search, {
|
|
19308
19490
|
filterKeys
|
|
19309
19491
|
});
|
|
19310
|
-
|
|
19311
|
-
sortBy
|
|
19312
|
-
|
|
19492
|
+
provideSort({
|
|
19493
|
+
sortBy,
|
|
19494
|
+
multiSort,
|
|
19495
|
+
mustSort
|
|
19496
|
+
});
|
|
19313
19497
|
const {
|
|
19314
19498
|
sortByWithGroups,
|
|
19315
19499
|
opened,
|
|
19316
19500
|
extractRows
|
|
19317
|
-
} =
|
|
19501
|
+
} = provideGroupBy({
|
|
19502
|
+
groupBy,
|
|
19503
|
+
sortBy
|
|
19504
|
+
});
|
|
19318
19505
|
const {
|
|
19319
19506
|
sortedItems
|
|
19320
19507
|
} = useSortedItems(filteredItems, sortByWithGroups, columns);
|
|
@@ -19322,8 +19509,8 @@
|
|
|
19322
19509
|
flatItems
|
|
19323
19510
|
} = useGroupedItems(sortedItems, groupBy, opened);
|
|
19324
19511
|
const allRows = vue.computed(() => extractRows(flatItems.value));
|
|
19325
|
-
|
|
19326
|
-
|
|
19512
|
+
provideSelection(props, allRows);
|
|
19513
|
+
provideExpanded(props);
|
|
19327
19514
|
const {
|
|
19328
19515
|
containerRef,
|
|
19329
19516
|
paddingTop,
|
|
@@ -19410,7 +19597,10 @@
|
|
|
19410
19597
|
type: String,
|
|
19411
19598
|
default: '$vuetify.dataIterator.loadingText'
|
|
19412
19599
|
},
|
|
19413
|
-
itemsLength:
|
|
19600
|
+
itemsLength: {
|
|
19601
|
+
type: [Number, String],
|
|
19602
|
+
required: true
|
|
19603
|
+
},
|
|
19414
19604
|
...makeVDataTableProps(),
|
|
19415
19605
|
...makeDataTableExpandProps(),
|
|
19416
19606
|
...makeDataTableHeaderProps(),
|
|
@@ -19435,8 +19625,20 @@
|
|
|
19435
19625
|
emit,
|
|
19436
19626
|
slots
|
|
19437
19627
|
} = _ref;
|
|
19438
|
-
const
|
|
19439
|
-
|
|
19628
|
+
const {
|
|
19629
|
+
groupBy
|
|
19630
|
+
} = createGroupBy(props);
|
|
19631
|
+
const {
|
|
19632
|
+
sortBy,
|
|
19633
|
+
multiSort,
|
|
19634
|
+
mustSort
|
|
19635
|
+
} = createSort(props);
|
|
19636
|
+
const {
|
|
19637
|
+
page,
|
|
19638
|
+
itemsPerPage
|
|
19639
|
+
} = createPagination(props);
|
|
19640
|
+
const itemsLength = vue.computed(() => parseInt(props.itemsLength, 10));
|
|
19641
|
+
provideExpanded(props);
|
|
19440
19642
|
const {
|
|
19441
19643
|
columns
|
|
19442
19644
|
} = createHeaders(props, {
|
|
@@ -19448,20 +19650,28 @@
|
|
|
19448
19650
|
items
|
|
19449
19651
|
} = useDataTableItems(props, columns);
|
|
19450
19652
|
const {
|
|
19451
|
-
sortBy,
|
|
19452
19653
|
toggleSort
|
|
19453
|
-
} =
|
|
19654
|
+
} = provideSort({
|
|
19655
|
+
sortBy,
|
|
19656
|
+
multiSort,
|
|
19657
|
+
mustSort,
|
|
19658
|
+
page
|
|
19659
|
+
});
|
|
19454
19660
|
const {
|
|
19455
19661
|
opened
|
|
19456
|
-
} =
|
|
19457
|
-
|
|
19662
|
+
} = provideGroupBy({
|
|
19663
|
+
groupBy,
|
|
19664
|
+
sortBy
|
|
19665
|
+
});
|
|
19666
|
+
providePagination({
|
|
19458
19667
|
page,
|
|
19459
|
-
itemsPerPage
|
|
19460
|
-
|
|
19668
|
+
itemsPerPage,
|
|
19669
|
+
itemsLength
|
|
19670
|
+
});
|
|
19461
19671
|
const {
|
|
19462
19672
|
flatItems
|
|
19463
19673
|
} = useGroupedItems(items, groupBy, opened);
|
|
19464
|
-
|
|
19674
|
+
provideSelection(props, items);
|
|
19465
19675
|
useOptions({
|
|
19466
19676
|
page,
|
|
19467
19677
|
itemsPerPage,
|
|
@@ -20032,7 +20242,7 @@
|
|
|
20032
20242
|
locale
|
|
20033
20243
|
};
|
|
20034
20244
|
}
|
|
20035
|
-
const version$1 = "3.1.
|
|
20245
|
+
const version$1 = "3.1.9";
|
|
20036
20246
|
createVuetify$1.version = version$1;
|
|
20037
20247
|
|
|
20038
20248
|
// Vue's inject() can only be used in setup
|
|
@@ -20044,7 +20254,7 @@
|
|
|
20044
20254
|
}
|
|
20045
20255
|
}
|
|
20046
20256
|
|
|
20047
|
-
const version = "3.1.
|
|
20257
|
+
const version = "3.1.9";
|
|
20048
20258
|
|
|
20049
20259
|
const createVuetify = function () {
|
|
20050
20260
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|