vuetify 3.5.6 → 3.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_component-variables-labs.sass +2 -0
- package/dist/json/attributes.json +461 -41
- package/dist/json/importMap-labs.json +16 -4
- package/dist/json/importMap.json +120 -120
- package/dist/json/tags.json +120 -0
- package/dist/json/web-types.json +1173 -53
- package/dist/vuetify-labs.css +1547 -1407
- package/dist/vuetify-labs.d.ts +1672 -127
- package/dist/vuetify-labs.esm.js +428 -94
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +428 -94
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +438 -432
- package/dist/vuetify.d.ts +78 -142
- package/dist/vuetify.esm.js +121 -82
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +121 -82
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +147 -135
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/index.d.mts +8 -6
- package/lib/components/VAutocomplete/VAutocomplete.css +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs +28 -27
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs +3 -1
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.css +4 -4
- package/lib/components/VCombobox/VCombobox.mjs +40 -27
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +2 -2
- package/lib/components/VDataIterator/VDataIterator.mjs.map +1 -1
- package/lib/components/VDataIterator/index.d.mts +50 -94
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VLayout/index.d.mts +8 -6
- package/lib/components/VSelect/VSelect.mjs +18 -17
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.css +9 -5
- package/lib/components/VSwitch/VSwitch.mjs +2 -0
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +10 -7
- package/lib/components/VSwitch/_variables.scss +2 -0
- package/lib/components/VToolbar/VToolbar.css +3 -1
- package/lib/components/VToolbar/VToolbar.sass +2 -1
- package/lib/components/index.d.mts +38 -105
- package/lib/composables/date/adapters/vuetify.mjs +21 -3
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/transition.mjs +7 -5
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +42 -37
- package/lib/labs/VCalendar/VCalendarInterval.css +1 -0
- package/lib/labs/VCalendar/VCalendarInterval.sass +1 -0
- package/lib/labs/VCalendar/VCalendarIntervalEvent.css +6 -0
- package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs +5 -2
- package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +6 -0
- package/lib/labs/VEmptyState/VEmptyState.css +59 -0
- package/lib/labs/VEmptyState/VEmptyState.mjs +145 -0
- package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -0
- package/lib/labs/VEmptyState/VEmptyState.sass +53 -0
- package/lib/labs/VEmptyState/_variables.scss +22 -0
- package/lib/labs/VEmptyState/index.d.mts +415 -0
- package/lib/labs/VEmptyState/index.mjs +2 -0
- package/lib/labs/VEmptyState/index.mjs.map +1 -0
- package/lib/labs/VFab/VFab.css +69 -0
- package/lib/labs/VFab/VFab.mjs +114 -0
- package/lib/labs/VFab/VFab.mjs.map +1 -0
- package/lib/labs/VFab/VFab.sass +82 -0
- package/lib/labs/VFab/_mixins.scss +22 -0
- package/lib/labs/VFab/_variables.scss +33 -0
- package/lib/labs/VFab/index.d.mts +656 -0
- package/lib/labs/VFab/index.mjs +2 -0
- package/lib/labs/VFab/index.mjs.map +1 -0
- package/lib/labs/VSparkline/VBarline.mjs +8 -7
- package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
- package/lib/labs/VSparkline/VTrendline.mjs +14 -6
- package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/labs/VSparkline/index.d.mts +27 -0
- package/lib/labs/VSparkline/util/line.mjs +6 -0
- package/lib/labs/VSparkline/util/line.mjs.map +1 -1
- package/lib/labs/VSpeedDial/VSpeedDial.css +3 -0
- package/lib/labs/VSpeedDial/VSpeedDial.mjs +56 -0
- package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -0
- package/lib/labs/VSpeedDial/VSpeedDial.sass +2 -0
- package/lib/labs/VSpeedDial/index.d.mts +649 -0
- package/lib/labs/VSpeedDial/index.mjs +2 -0
- package/lib/labs/VSpeedDial/index.mjs.map +1 -0
- package/lib/labs/components.d.mts +1907 -193
- package/lib/labs/components.mjs +3 -0
- package/lib/labs/components.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.
|
|
2
|
+
* Vuetify v3.5.8
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -3160,17 +3160,19 @@ const MaybeTransition = (props, _ref) => {
|
|
|
3160
3160
|
const {
|
|
3161
3161
|
transition,
|
|
3162
3162
|
disabled,
|
|
3163
|
+
group,
|
|
3163
3164
|
...rest
|
|
3164
3165
|
} = props;
|
|
3165
3166
|
const {
|
|
3166
|
-
component = Transition,
|
|
3167
|
+
component = group ? TransitionGroup : Transition,
|
|
3167
3168
|
...customProps
|
|
3168
3169
|
} = typeof transition === 'object' ? transition : {};
|
|
3169
3170
|
return h(component, mergeProps(typeof transition === 'string' ? {
|
|
3170
3171
|
name: disabled ? '' : transition
|
|
3171
|
-
} : customProps,
|
|
3172
|
-
disabled
|
|
3173
|
-
|
|
3172
|
+
} : customProps, typeof transition === 'string' ? {} : {
|
|
3173
|
+
disabled,
|
|
3174
|
+
group
|
|
3175
|
+
}, rest), slots);
|
|
3174
3176
|
};
|
|
3175
3177
|
|
|
3176
3178
|
// Utilities
|
|
@@ -6887,7 +6889,8 @@ const VCheckbox = genericComponent()({
|
|
|
6887
6889
|
id,
|
|
6888
6890
|
messagesId,
|
|
6889
6891
|
isDisabled,
|
|
6890
|
-
isReadonly
|
|
6892
|
+
isReadonly,
|
|
6893
|
+
isValid
|
|
6891
6894
|
} = _ref2;
|
|
6892
6895
|
return createVNode(VCheckboxBtn, mergeProps(checkboxProps, {
|
|
6893
6896
|
"id": id.value,
|
|
@@ -6895,6 +6898,7 @@ const VCheckbox = genericComponent()({
|
|
|
6895
6898
|
"disabled": isDisabled.value,
|
|
6896
6899
|
"readonly": isReadonly.value
|
|
6897
6900
|
}, controlAttrs, {
|
|
6901
|
+
"error": isValid.value === false,
|
|
6898
6902
|
"modelValue": model.value,
|
|
6899
6903
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
6900
6904
|
"onFocus": focus,
|
|
@@ -11844,21 +11848,27 @@ const VSelect = genericComponent()({
|
|
|
11844
11848
|
model.value = [item];
|
|
11845
11849
|
}
|
|
11846
11850
|
}
|
|
11851
|
+
|
|
11852
|
+
/** @param set - null means toggle */
|
|
11847
11853
|
function select(item) {
|
|
11848
|
-
let
|
|
11854
|
+
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
11855
|
+
if (item.props.disabled) return;
|
|
11849
11856
|
if (props.multiple) {
|
|
11850
11857
|
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
11851
|
-
add = index
|
|
11852
|
-
if (
|
|
11853
|
-
|
|
11854
|
-
} else {
|
|
11855
|
-
const value = [...model.value];
|
|
11858
|
+
const add = set == null ? !~index : set;
|
|
11859
|
+
if (~index) {
|
|
11860
|
+
const value = add ? [...model.value, item] : [...model.value];
|
|
11856
11861
|
value.splice(index, 1);
|
|
11857
11862
|
model.value = value;
|
|
11863
|
+
} else if (add) {
|
|
11864
|
+
model.value = [...model.value, item];
|
|
11858
11865
|
}
|
|
11859
11866
|
} else {
|
|
11867
|
+
const add = set !== false;
|
|
11860
11868
|
model.value = add ? [item] : [];
|
|
11861
|
-
|
|
11869
|
+
nextTick(() => {
|
|
11870
|
+
menu.value = false;
|
|
11871
|
+
});
|
|
11862
11872
|
}
|
|
11863
11873
|
}
|
|
11864
11874
|
function onBlur(e) {
|
|
@@ -11892,14 +11902,9 @@ const VSelect = genericComponent()({
|
|
|
11892
11902
|
});
|
|
11893
11903
|
}
|
|
11894
11904
|
});
|
|
11895
|
-
watch(
|
|
11896
|
-
if (!isFocused.value) return;
|
|
11897
|
-
|
|
11898
|
-
menu.value = false;
|
|
11899
|
-
}
|
|
11900
|
-
if (!oldVal.length && val.length) {
|
|
11901
|
-
menu.value = true;
|
|
11902
|
-
}
|
|
11905
|
+
watch(() => props.items, val => {
|
|
11906
|
+
if (!isFocused.value || !val.length || menu.value) return;
|
|
11907
|
+
menu.value = true;
|
|
11903
11908
|
});
|
|
11904
11909
|
useRender(() => {
|
|
11905
11910
|
const hasChips = !!(props.chips || slots.chip);
|
|
@@ -11977,7 +11982,7 @@ const VSelect = genericComponent()({
|
|
|
11977
11982
|
const itemProps = mergeProps(item.props, {
|
|
11978
11983
|
ref: itemRef,
|
|
11979
11984
|
key: index,
|
|
11980
|
-
onClick: () => select(item)
|
|
11985
|
+
onClick: () => select(item, null)
|
|
11981
11986
|
});
|
|
11982
11987
|
return slots.item?.({
|
|
11983
11988
|
item,
|
|
@@ -12284,6 +12289,8 @@ const VAutocomplete = genericComponent()({
|
|
|
12284
12289
|
}
|
|
12285
12290
|
return filteredItems.value;
|
|
12286
12291
|
});
|
|
12292
|
+
const hasChips = computed(() => !!(props.chips || slots.chip));
|
|
12293
|
+
const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
|
|
12287
12294
|
const selectedValues = computed(() => model.value.map(selection => selection.props.value));
|
|
12288
12295
|
const highlightFirst = computed(() => {
|
|
12289
12296
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
|
@@ -12342,7 +12349,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12342
12349
|
}
|
|
12343
12350
|
const originalSelectionIndex = selectionIndex.value;
|
|
12344
12351
|
const selectedItem = model.value[selectionIndex.value];
|
|
12345
|
-
if (selectedItem && !selectedItem.props.disabled) select(selectedItem);
|
|
12352
|
+
if (selectedItem && !selectedItem.props.disabled) select(selectedItem, false);
|
|
12346
12353
|
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
12347
12354
|
}
|
|
12348
12355
|
if (e.key === 'ArrowLeft') {
|
|
@@ -12393,36 +12400,41 @@ const VAutocomplete = genericComponent()({
|
|
|
12393
12400
|
if (v == null || v === '' && !props.multiple) model.value = [];
|
|
12394
12401
|
}
|
|
12395
12402
|
const isSelecting = shallowRef(false);
|
|
12403
|
+
|
|
12404
|
+
/** @param set - null means toggle */
|
|
12396
12405
|
function select(item) {
|
|
12397
|
-
let
|
|
12406
|
+
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
12398
12407
|
if (item.props.disabled) return;
|
|
12399
12408
|
if (props.multiple) {
|
|
12400
12409
|
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
12401
|
-
add = index
|
|
12402
|
-
if (
|
|
12403
|
-
|
|
12404
|
-
} else {
|
|
12405
|
-
const value = [...model.value];
|
|
12410
|
+
const add = set == null ? !~index : set;
|
|
12411
|
+
if (~index) {
|
|
12412
|
+
const value = add ? [...model.value, item] : [...model.value];
|
|
12406
12413
|
value.splice(index, 1);
|
|
12407
12414
|
model.value = value;
|
|
12415
|
+
} else if (add) {
|
|
12416
|
+
model.value = [...model.value, item];
|
|
12408
12417
|
}
|
|
12409
12418
|
if (props.clearOnSelect) {
|
|
12410
12419
|
search.value = '';
|
|
12411
12420
|
}
|
|
12412
12421
|
} else {
|
|
12422
|
+
const add = set !== false;
|
|
12413
12423
|
model.value = add ? [item] : [];
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12418
|
-
|
|
12424
|
+
search.value = add && !hasSelectionSlot.value ? item.title : '';
|
|
12425
|
+
|
|
12426
|
+
// watch for search watcher to trigger
|
|
12427
|
+
nextTick(() => {
|
|
12428
|
+
menu.value = false;
|
|
12429
|
+
isPristine.value = true;
|
|
12430
|
+
});
|
|
12419
12431
|
}
|
|
12420
12432
|
}
|
|
12421
12433
|
watch(isFocused, (val, oldVal) => {
|
|
12422
12434
|
if (val === oldVal) return;
|
|
12423
12435
|
if (val) {
|
|
12424
12436
|
isSelecting.value = true;
|
|
12425
|
-
search.value = props.multiple ? '' : String(model.value.at(-1)?.props.title ?? '');
|
|
12437
|
+
search.value = props.multiple || hasSelectionSlot.value ? '' : String(model.value.at(-1)?.props.title ?? '');
|
|
12426
12438
|
isPristine.value = true;
|
|
12427
12439
|
nextTick(() => isSelecting.value = false);
|
|
12428
12440
|
} else {
|
|
@@ -12452,17 +12464,11 @@ const VAutocomplete = genericComponent()({
|
|
|
12452
12464
|
});
|
|
12453
12465
|
}
|
|
12454
12466
|
});
|
|
12455
|
-
watch(
|
|
12456
|
-
if (!isFocused.value) return;
|
|
12457
|
-
|
|
12458
|
-
menu.value = false;
|
|
12459
|
-
}
|
|
12460
|
-
if (!oldVal.length && val.length) {
|
|
12461
|
-
menu.value = true;
|
|
12462
|
-
}
|
|
12467
|
+
watch(() => props.items, val => {
|
|
12468
|
+
if (!isFocused.value || !val.length || menu.value) return;
|
|
12469
|
+
menu.value = true;
|
|
12463
12470
|
});
|
|
12464
12471
|
useRender(() => {
|
|
12465
|
-
const hasChips = !!(props.chips || slots.chip);
|
|
12466
12472
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
|
|
12467
12473
|
const isDirty = model.value.length > 0;
|
|
12468
12474
|
const textFieldProps = VTextField.filterProps(props);
|
|
@@ -12480,7 +12486,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12480
12486
|
"class": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {
|
|
12481
12487
|
'v-autocomplete--active-menu': menu.value,
|
|
12482
12488
|
'v-autocomplete--chips': !!props.chips,
|
|
12483
|
-
'v-autocomplete--selection-slot': !!
|
|
12489
|
+
'v-autocomplete--selection-slot': !!hasSelectionSlot.value,
|
|
12484
12490
|
'v-autocomplete--selecting-index': selectionIndex.value > -1
|
|
12485
12491
|
}, props.class],
|
|
12486
12492
|
"style": props.style,
|
|
@@ -12535,7 +12541,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12535
12541
|
ref: itemRef,
|
|
12536
12542
|
key: index,
|
|
12537
12543
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
|
12538
|
-
onClick: () => select(item)
|
|
12544
|
+
onClick: () => select(item, null)
|
|
12539
12545
|
});
|
|
12540
12546
|
return slots.item?.({
|
|
12541
12547
|
item,
|
|
@@ -12581,8 +12587,8 @@ const VAutocomplete = genericComponent()({
|
|
|
12581
12587
|
modelValue: true,
|
|
12582
12588
|
'onUpdate:modelValue': undefined
|
|
12583
12589
|
};
|
|
12584
|
-
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
|
12585
|
-
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
|
12590
|
+
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
|
12591
|
+
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
|
12586
12592
|
item,
|
|
12587
12593
|
index,
|
|
12588
12594
|
props: slotProps
|
|
@@ -12595,7 +12601,7 @@ const VAutocomplete = genericComponent()({
|
|
|
12595
12601
|
"key": item.value,
|
|
12596
12602
|
"class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
|
|
12597
12603
|
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
12598
|
-
}, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({
|
|
12604
|
+
}, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
|
|
12599
12605
|
"key": "chip",
|
|
12600
12606
|
"closable": props.closableChips,
|
|
12601
12607
|
"size": "small",
|
|
@@ -16034,14 +16040,16 @@ const VCombobox = genericComponent()({
|
|
|
16034
16040
|
return props.multiple ? transformed : transformed[0] ?? null;
|
|
16035
16041
|
});
|
|
16036
16042
|
const form = useForm();
|
|
16037
|
-
const
|
|
16043
|
+
const hasChips = computed(() => !!(props.chips || slots.chip));
|
|
16044
|
+
const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
|
|
16045
|
+
const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
|
|
16038
16046
|
const search = computed({
|
|
16039
16047
|
get: () => {
|
|
16040
16048
|
return _search.value;
|
|
16041
16049
|
},
|
|
16042
16050
|
set: val => {
|
|
16043
16051
|
_search.value = val ?? '';
|
|
16044
|
-
if (!props.multiple) {
|
|
16052
|
+
if (!props.multiple && !hasSelectionSlot.value) {
|
|
16045
16053
|
model.value = [transformItem$3(props, val)];
|
|
16046
16054
|
}
|
|
16047
16055
|
if (val && props.multiple && props.delimiters?.length) {
|
|
@@ -16072,7 +16080,7 @@ const VCombobox = genericComponent()({
|
|
|
16072
16080
|
emit('update:search', value);
|
|
16073
16081
|
});
|
|
16074
16082
|
watch(model, value => {
|
|
16075
|
-
if (!props.multiple) {
|
|
16083
|
+
if (!props.multiple && !hasSelectionSlot.value) {
|
|
16076
16084
|
_search.value = value[0]?.title ?? '';
|
|
16077
16085
|
}
|
|
16078
16086
|
});
|
|
@@ -16137,6 +16145,10 @@ const VCombobox = genericComponent()({
|
|
|
16137
16145
|
if (e.key === 'ArrowDown' && highlightFirst.value) {
|
|
16138
16146
|
listRef.value?.focus('next');
|
|
16139
16147
|
}
|
|
16148
|
+
if (e.key === 'Enter' && search.value) {
|
|
16149
|
+
select(transformItem$3(props, search.value));
|
|
16150
|
+
if (hasSelectionSlot.value) _search.value = '';
|
|
16151
|
+
}
|
|
16140
16152
|
if (!props.multiple) return;
|
|
16141
16153
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
16142
16154
|
if (selectionIndex.value < 0) {
|
|
@@ -16170,10 +16182,6 @@ const VCombobox = genericComponent()({
|
|
|
16170
16182
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
|
16171
16183
|
}
|
|
16172
16184
|
}
|
|
16173
|
-
if (e.key === 'Enter' && search.value) {
|
|
16174
|
-
select(transformItem$3(props, search.value));
|
|
16175
|
-
search.value = '';
|
|
16176
|
-
}
|
|
16177
16185
|
}
|
|
16178
16186
|
function onAfterLeave() {
|
|
16179
16187
|
if (isFocused.value) {
|
|
@@ -16184,6 +16192,7 @@ const VCombobox = genericComponent()({
|
|
|
16184
16192
|
/** @param set - null means toggle */
|
|
16185
16193
|
function select(item) {
|
|
16186
16194
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
16195
|
+
if (item.props.disabled) return;
|
|
16187
16196
|
if (props.multiple) {
|
|
16188
16197
|
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
16189
16198
|
const add = set == null ? !~index : set;
|
|
@@ -16200,7 +16209,7 @@ const VCombobox = genericComponent()({
|
|
|
16200
16209
|
} else {
|
|
16201
16210
|
const add = set !== false;
|
|
16202
16211
|
model.value = add ? [item] : [];
|
|
16203
|
-
_search.value = add ? item.title : '';
|
|
16212
|
+
_search.value = add && !hasSelectionSlot.value ? item.title : '';
|
|
16204
16213
|
|
|
16205
16214
|
// watch for search watcher to trigger
|
|
16206
16215
|
nextTick(() => {
|
|
@@ -16232,8 +16241,24 @@ const VCombobox = genericComponent()({
|
|
|
16232
16241
|
return value === displayItems.value[0].value;
|
|
16233
16242
|
})) {
|
|
16234
16243
|
select(displayItems.value[0]);
|
|
16235
|
-
|
|
16236
|
-
|
|
16244
|
+
return;
|
|
16245
|
+
}
|
|
16246
|
+
if (search.value) {
|
|
16247
|
+
if (props.multiple) {
|
|
16248
|
+
select(transformItem$3(props, search.value));
|
|
16249
|
+
return;
|
|
16250
|
+
}
|
|
16251
|
+
if (!hasSelectionSlot.value) return;
|
|
16252
|
+
if (model.value.some(_ref3 => {
|
|
16253
|
+
let {
|
|
16254
|
+
title
|
|
16255
|
+
} = _ref3;
|
|
16256
|
+
return title === search.value;
|
|
16257
|
+
})) {
|
|
16258
|
+
_search.value = '';
|
|
16259
|
+
} else {
|
|
16260
|
+
select(transformItem$3(props, search.value));
|
|
16261
|
+
}
|
|
16237
16262
|
}
|
|
16238
16263
|
});
|
|
16239
16264
|
watch(menu, () => {
|
|
@@ -16244,17 +16269,11 @@ const VCombobox = genericComponent()({
|
|
|
16244
16269
|
});
|
|
16245
16270
|
}
|
|
16246
16271
|
});
|
|
16247
|
-
watch(
|
|
16248
|
-
if (!isFocused.value) return;
|
|
16249
|
-
|
|
16250
|
-
menu.value = false;
|
|
16251
|
-
}
|
|
16252
|
-
if (!oldVal.length && val.length) {
|
|
16253
|
-
menu.value = true;
|
|
16254
|
-
}
|
|
16272
|
+
watch(() => props.items, val => {
|
|
16273
|
+
if (!isFocused.value || !val.length || menu.value) return;
|
|
16274
|
+
menu.value = true;
|
|
16255
16275
|
});
|
|
16256
16276
|
useRender(() => {
|
|
16257
|
-
const hasChips = !!(props.chips || slots.chip);
|
|
16258
16277
|
const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
|
|
16259
16278
|
const isDirty = model.value.length > 0;
|
|
16260
16279
|
const textFieldProps = VTextField.filterProps(props);
|
|
@@ -16271,7 +16290,7 @@ const VCombobox = genericComponent()({
|
|
|
16271
16290
|
"class": ['v-combobox', {
|
|
16272
16291
|
'v-combobox--active-menu': menu.value,
|
|
16273
16292
|
'v-combobox--chips': !!props.chips,
|
|
16274
|
-
'v-combobox--selection-slot': !!
|
|
16293
|
+
'v-combobox--selection-slot': !!hasSelectionSlot.value,
|
|
16275
16294
|
'v-combobox--selecting-index': selectionIndex.value > -1,
|
|
16276
16295
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
|
16277
16296
|
}, props.class],
|
|
@@ -16317,12 +16336,12 @@ const VCombobox = genericComponent()({
|
|
|
16317
16336
|
"renderless": true,
|
|
16318
16337
|
"items": displayItems.value
|
|
16319
16338
|
}, {
|
|
16320
|
-
default:
|
|
16339
|
+
default: _ref4 => {
|
|
16321
16340
|
let {
|
|
16322
16341
|
item,
|
|
16323
16342
|
index,
|
|
16324
16343
|
itemRef
|
|
16325
|
-
} =
|
|
16344
|
+
} = _ref4;
|
|
16326
16345
|
const itemProps = mergeProps(item.props, {
|
|
16327
16346
|
ref: itemRef,
|
|
16328
16347
|
key: index,
|
|
@@ -16336,10 +16355,10 @@ const VCombobox = genericComponent()({
|
|
|
16336
16355
|
}) ?? createVNode(VListItem, mergeProps(itemProps, {
|
|
16337
16356
|
"role": "option"
|
|
16338
16357
|
}), {
|
|
16339
|
-
prepend:
|
|
16358
|
+
prepend: _ref5 => {
|
|
16340
16359
|
let {
|
|
16341
16360
|
isSelected
|
|
16342
|
-
} =
|
|
16361
|
+
} = _ref5;
|
|
16343
16362
|
return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
|
|
16344
16363
|
"key": item.value,
|
|
16345
16364
|
"modelValue": isSelected,
|
|
@@ -16373,8 +16392,8 @@ const VCombobox = genericComponent()({
|
|
|
16373
16392
|
modelValue: true,
|
|
16374
16393
|
'onUpdate:modelValue': undefined
|
|
16375
16394
|
};
|
|
16376
|
-
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
|
16377
|
-
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
|
16395
|
+
const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;
|
|
16396
|
+
const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({
|
|
16378
16397
|
item,
|
|
16379
16398
|
index,
|
|
16380
16399
|
props: slotProps
|
|
@@ -16387,7 +16406,7 @@ const VCombobox = genericComponent()({
|
|
|
16387
16406
|
"key": item.value,
|
|
16388
16407
|
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
16389
16408
|
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
16390
|
-
}, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({
|
|
16409
|
+
}, [hasChips.value ? !slots.chip ? createVNode(VChip, mergeProps({
|
|
16391
16410
|
"key": "chip",
|
|
16392
16411
|
"closable": props.closableChips,
|
|
16393
16412
|
"size": "small",
|
|
@@ -17355,10 +17374,28 @@ function isSameMonth(date, comparing) {
|
|
|
17355
17374
|
function getDiff(date, comparing, unit) {
|
|
17356
17375
|
const d = new Date(date);
|
|
17357
17376
|
const c = new Date(comparing);
|
|
17358
|
-
|
|
17359
|
-
|
|
17377
|
+
switch (unit) {
|
|
17378
|
+
case 'years':
|
|
17379
|
+
return d.getFullYear() - c.getFullYear();
|
|
17380
|
+
case 'quarters':
|
|
17381
|
+
return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4);
|
|
17382
|
+
case 'months':
|
|
17383
|
+
return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
|
|
17384
|
+
case 'weeks':
|
|
17385
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7));
|
|
17386
|
+
case 'days':
|
|
17387
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
|
17388
|
+
case 'hours':
|
|
17389
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60));
|
|
17390
|
+
case 'minutes':
|
|
17391
|
+
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60));
|
|
17392
|
+
case 'seconds':
|
|
17393
|
+
return Math.floor((d.getTime() - c.getTime()) / 1000);
|
|
17394
|
+
default:
|
|
17395
|
+
{
|
|
17396
|
+
return d.getTime() - c.getTime();
|
|
17397
|
+
}
|
|
17360
17398
|
}
|
|
17361
|
-
return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
|
|
17362
17399
|
}
|
|
17363
17400
|
function setHours(date, count) {
|
|
17364
17401
|
const d = new Date(date);
|
|
@@ -20553,7 +20590,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
20553
20590
|
} else {
|
|
20554
20591
|
rangeStop.value = _value;
|
|
20555
20592
|
}
|
|
20556
|
-
const diff = adapter.getDiff(rangeStop.value, rangeStart.value);
|
|
20593
|
+
const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days');
|
|
20557
20594
|
const datesInRange = [rangeStart.value];
|
|
20558
20595
|
for (let i = 1; i < diff; i++) {
|
|
20559
20596
|
const nextDate = adapter.addDays(rangeStart.value, i);
|
|
@@ -24367,6 +24404,8 @@ const VSwitch = genericComponent()({
|
|
|
24367
24404
|
const controlProps = VSelectionControl.filterProps(props);
|
|
24368
24405
|
return createVNode(VInput, mergeProps({
|
|
24369
24406
|
"class": ['v-switch', {
|
|
24407
|
+
'v-switch--flat': props.flat
|
|
24408
|
+
}, {
|
|
24370
24409
|
'v-switch--inset': props.inset
|
|
24371
24410
|
}, {
|
|
24372
24411
|
'v-switch--indeterminate': indeterminate.value
|
|
@@ -25490,8 +25529,8 @@ const VCalendarIntervalEvent = genericComponent()({
|
|
|
25490
25529
|
return createVNode(VSheet, {
|
|
25491
25530
|
"height": calcHeight().height,
|
|
25492
25531
|
"density": "comfortable",
|
|
25493
|
-
"style": `
|
|
25494
|
-
"class": "
|
|
25532
|
+
"style": `margin-top: ${calcHeight().margin}`,
|
|
25533
|
+
"class": "v-calendar-internal-event",
|
|
25495
25534
|
"color": props.event?.color ?? undefined,
|
|
25496
25535
|
"rounded": props.event?.first && props.event?.last ? true : props.event?.first ? 't' : props.event?.last ? 'b' : false
|
|
25497
25536
|
}, {
|
|
@@ -25902,6 +25941,106 @@ const VCalendar = genericComponent()({
|
|
|
25902
25941
|
}
|
|
25903
25942
|
});
|
|
25904
25943
|
|
|
25944
|
+
const makeVFabProps = propsFactory({
|
|
25945
|
+
app: Boolean,
|
|
25946
|
+
appear: Boolean,
|
|
25947
|
+
extended: Boolean,
|
|
25948
|
+
location: {
|
|
25949
|
+
type: String,
|
|
25950
|
+
default: 'bottom end'
|
|
25951
|
+
},
|
|
25952
|
+
offset: Boolean,
|
|
25953
|
+
modelValue: {
|
|
25954
|
+
type: Boolean,
|
|
25955
|
+
default: true
|
|
25956
|
+
},
|
|
25957
|
+
...omit(makeVBtnProps({
|
|
25958
|
+
active: true
|
|
25959
|
+
}), ['location']),
|
|
25960
|
+
...makeLayoutItemProps(),
|
|
25961
|
+
...makeTransitionProps({
|
|
25962
|
+
transition: 'fab-transition'
|
|
25963
|
+
})
|
|
25964
|
+
}, 'VFab');
|
|
25965
|
+
const VFab = genericComponent()({
|
|
25966
|
+
name: 'VFab',
|
|
25967
|
+
props: makeVFabProps(),
|
|
25968
|
+
emits: {
|
|
25969
|
+
'update:modelValue': value => true
|
|
25970
|
+
},
|
|
25971
|
+
setup(props, _ref) {
|
|
25972
|
+
let {
|
|
25973
|
+
slots
|
|
25974
|
+
} = _ref;
|
|
25975
|
+
const model = useProxiedModel(props, 'modelValue');
|
|
25976
|
+
const height = shallowRef(56);
|
|
25977
|
+
const layoutItemStyles = ref();
|
|
25978
|
+
const {
|
|
25979
|
+
resizeRef
|
|
25980
|
+
} = useResizeObserver(entries => {
|
|
25981
|
+
if (!entries.length) return;
|
|
25982
|
+
height.value = entries[0].target.clientHeight;
|
|
25983
|
+
});
|
|
25984
|
+
const hasPosition = computed(() => props.app || props.absolute);
|
|
25985
|
+
const position = computed(() => {
|
|
25986
|
+
if (!hasPosition.value) return false;
|
|
25987
|
+
return props.location.split(' ').shift();
|
|
25988
|
+
});
|
|
25989
|
+
const orientation = computed(() => {
|
|
25990
|
+
if (!hasPosition.value) return false;
|
|
25991
|
+
return props.location.split(' ')[1] ?? 'end';
|
|
25992
|
+
});
|
|
25993
|
+
useToggleScope(() => props.app, () => {
|
|
25994
|
+
const layout = useLayoutItem({
|
|
25995
|
+
id: props.name,
|
|
25996
|
+
order: computed(() => parseInt(props.order, 10)),
|
|
25997
|
+
position,
|
|
25998
|
+
layoutSize: height,
|
|
25999
|
+
elementSize: computed(() => height.value + 32),
|
|
26000
|
+
active: computed(() => props.app && model.value),
|
|
26001
|
+
absolute: toRef(props, 'absolute')
|
|
26002
|
+
});
|
|
26003
|
+
watchEffect(() => {
|
|
26004
|
+
layoutItemStyles.value = layout.layoutItemStyles.value;
|
|
26005
|
+
});
|
|
26006
|
+
});
|
|
26007
|
+
const vFabRef = ref();
|
|
26008
|
+
useRender(() => {
|
|
26009
|
+
const btnProps = VBtn.filterProps(props);
|
|
26010
|
+
return createVNode("div", {
|
|
26011
|
+
"ref": vFabRef,
|
|
26012
|
+
"class": ['v-fab', {
|
|
26013
|
+
'v-fab--absolute': props.absolute,
|
|
26014
|
+
'v-fab--app': !!props.app,
|
|
26015
|
+
'v-fab--extended': props.extended,
|
|
26016
|
+
'v-fab--offset': props.offset,
|
|
26017
|
+
[`v-fab--${position.value}`]: hasPosition.value,
|
|
26018
|
+
[`v-fab--${orientation.value}`]: hasPosition.value
|
|
26019
|
+
}, props.class],
|
|
26020
|
+
"style": [props.app ? {
|
|
26021
|
+
...layoutItemStyles.value
|
|
26022
|
+
} : {
|
|
26023
|
+
height: 'inherit',
|
|
26024
|
+
width: undefined
|
|
26025
|
+
}, props.style]
|
|
26026
|
+
}, [createVNode("div", {
|
|
26027
|
+
"class": "v-fab__container"
|
|
26028
|
+
}, [createVNode(MaybeTransition, {
|
|
26029
|
+
"appear": props.appear,
|
|
26030
|
+
"transition": props.transition
|
|
26031
|
+
}, {
|
|
26032
|
+
default: () => [withDirectives(createVNode(VBtn, mergeProps({
|
|
26033
|
+
"ref": resizeRef
|
|
26034
|
+
}, btnProps, {
|
|
26035
|
+
"active": undefined,
|
|
26036
|
+
"location": undefined
|
|
26037
|
+
}), slots), [[vShow, props.active]])]
|
|
26038
|
+
})])]);
|
|
26039
|
+
});
|
|
26040
|
+
return {};
|
|
26041
|
+
}
|
|
26042
|
+
});
|
|
26043
|
+
|
|
25905
26044
|
// Utilities
|
|
25906
26045
|
|
|
25907
26046
|
// Types
|
|
@@ -25940,10 +26079,16 @@ const makeLineProps = propsFactory({
|
|
|
25940
26079
|
default: 4
|
|
25941
26080
|
},
|
|
25942
26081
|
id: String,
|
|
26082
|
+
itemValue: {
|
|
26083
|
+
type: String,
|
|
26084
|
+
default: 'value'
|
|
26085
|
+
},
|
|
25943
26086
|
modelValue: {
|
|
25944
26087
|
type: Array,
|
|
25945
26088
|
default: () => []
|
|
25946
26089
|
},
|
|
26090
|
+
min: [String, Number],
|
|
26091
|
+
max: [String, Number],
|
|
25947
26092
|
padding: {
|
|
25948
26093
|
type: [String, Number],
|
|
25949
26094
|
default: 8
|
|
@@ -25985,6 +26130,7 @@ const VBarline = genericComponent()({
|
|
|
25985
26130
|
maxY: parseInt(props.height, 10)
|
|
25986
26131
|
};
|
|
25987
26132
|
});
|
|
26133
|
+
const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));
|
|
25988
26134
|
function genBars(values, boundary) {
|
|
25989
26135
|
const {
|
|
25990
26136
|
minX,
|
|
@@ -25993,10 +26139,10 @@ const VBarline = genericComponent()({
|
|
|
25993
26139
|
maxY
|
|
25994
26140
|
} = boundary;
|
|
25995
26141
|
const totalValues = values.length;
|
|
25996
|
-
let maxValue = Math.max(...values);
|
|
25997
|
-
let minValue = Math.min(...values);
|
|
25998
|
-
if (minValue > 0) minValue = 0;
|
|
25999
|
-
if (maxValue < 0) maxValue = 0;
|
|
26142
|
+
let maxValue = props.max != null ? Number(props.max) : Math.max(...values);
|
|
26143
|
+
let minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
26144
|
+
if (minValue > 0 && props.min == null) minValue = 0;
|
|
26145
|
+
if (maxValue < 0 && props.max == null) maxValue = 0;
|
|
26000
26146
|
const gridX = maxX / totalValues;
|
|
26001
26147
|
const gridY = (maxY - minY) / (maxValue - minValue || 1);
|
|
26002
26148
|
const horizonY = maxY - Math.abs(minValue * gridY);
|
|
@@ -26012,7 +26158,7 @@ const VBarline = genericComponent()({
|
|
|
26012
26158
|
}
|
|
26013
26159
|
const parsedLabels = computed(() => {
|
|
26014
26160
|
const labels = [];
|
|
26015
|
-
const points = genBars(
|
|
26161
|
+
const points = genBars(items.value, boundary.value);
|
|
26016
26162
|
const len = points.length;
|
|
26017
26163
|
for (let i = 0; labels.length < len; i++) {
|
|
26018
26164
|
const item = points[i];
|
|
@@ -26027,7 +26173,7 @@ const VBarline = genericComponent()({
|
|
|
26027
26173
|
}
|
|
26028
26174
|
return labels;
|
|
26029
26175
|
});
|
|
26030
|
-
const bars = computed(() => genBars(
|
|
26176
|
+
const bars = computed(() => genBars(items.value, boundary.value));
|
|
26031
26177
|
const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
|
26032
26178
|
useRender(() => {
|
|
26033
26179
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
|
@@ -26177,8 +26323,8 @@ const VTrendline = genericComponent()({
|
|
|
26177
26323
|
maxY
|
|
26178
26324
|
} = boundary;
|
|
26179
26325
|
const totalValues = values.length;
|
|
26180
|
-
const maxValue = Math.max(...values);
|
|
26181
|
-
const minValue = Math.min(...values);
|
|
26326
|
+
const maxValue = props.max != null ? Number(props.max) : Math.max(...values);
|
|
26327
|
+
const minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
26182
26328
|
const gridX = (maxX - minX) / (totalValues - 1);
|
|
26183
26329
|
const gridY = (maxY - minY) / (maxValue - minValue || 1);
|
|
26184
26330
|
return values.map((value, index) => {
|
|
@@ -26205,9 +26351,10 @@ const VTrendline = genericComponent()({
|
|
|
26205
26351
|
maxY: parseInt(props.height, 10) - padding
|
|
26206
26352
|
};
|
|
26207
26353
|
});
|
|
26354
|
+
const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));
|
|
26208
26355
|
const parsedLabels = computed(() => {
|
|
26209
26356
|
const labels = [];
|
|
26210
|
-
const points = genPoints(
|
|
26357
|
+
const points = genPoints(items.value, boundary.value);
|
|
26211
26358
|
const len = points.length;
|
|
26212
26359
|
for (let i = 0; labels.length < len; i++) {
|
|
26213
26360
|
const item = points[i];
|
|
@@ -26251,6 +26398,9 @@ const VTrendline = genericComponent()({
|
|
|
26251
26398
|
}, {
|
|
26252
26399
|
immediate: true
|
|
26253
26400
|
});
|
|
26401
|
+
function genPath$1(fill) {
|
|
26402
|
+
return genPath(genPoints(items.value, boundary.value), props.smooth ? 8 : Number(props.smooth), fill, parseInt(props.height, 10));
|
|
26403
|
+
}
|
|
26254
26404
|
useRender(() => {
|
|
26255
26405
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
|
26256
26406
|
return createVNode("svg", {
|
|
@@ -26282,9 +26432,13 @@ const VTrendline = genericComponent()({
|
|
|
26282
26432
|
value: item.value
|
|
26283
26433
|
}) ?? item.value]))]), createVNode("path", {
|
|
26284
26434
|
"ref": path,
|
|
26285
|
-
"d": genPath(
|
|
26435
|
+
"d": genPath$1(props.fill),
|
|
26286
26436
|
"fill": props.fill ? `url(#${id.value})` : 'none',
|
|
26287
26437
|
"stroke": props.fill ? 'none' : `url(#${id.value})`
|
|
26438
|
+
}, null), props.fill && createVNode("path", {
|
|
26439
|
+
"d": genPath$1(false),
|
|
26440
|
+
"fill": "none",
|
|
26441
|
+
"stroke": props.color ?? props.gradient?.[0]
|
|
26288
26442
|
}, null)]);
|
|
26289
26443
|
});
|
|
26290
26444
|
}
|
|
@@ -26334,6 +26488,183 @@ const VSparkline = genericComponent()({
|
|
|
26334
26488
|
}
|
|
26335
26489
|
});
|
|
26336
26490
|
|
|
26491
|
+
const makeVSpeedDialProps = propsFactory({
|
|
26492
|
+
...makeComponentProps(),
|
|
26493
|
+
...makeVMenuProps({
|
|
26494
|
+
offset: 8,
|
|
26495
|
+
minWidth: 0,
|
|
26496
|
+
location: 'top center'
|
|
26497
|
+
}),
|
|
26498
|
+
...makeTransitionProps({
|
|
26499
|
+
transition: 'fade-transition'
|
|
26500
|
+
})
|
|
26501
|
+
}, 'VSpeedDial');
|
|
26502
|
+
const VSpeedDial = genericComponent()({
|
|
26503
|
+
name: 'VSpeedDial',
|
|
26504
|
+
props: makeVSpeedDialProps(),
|
|
26505
|
+
setup(props, _ref) {
|
|
26506
|
+
let {
|
|
26507
|
+
slots
|
|
26508
|
+
} = _ref;
|
|
26509
|
+
useRender(() => {
|
|
26510
|
+
const menuProps = VMenu.filterProps(props);
|
|
26511
|
+
return createVNode(VMenu, mergeProps(menuProps, {
|
|
26512
|
+
"class": props.class,
|
|
26513
|
+
"style": props.style,
|
|
26514
|
+
"contentClass": "v-speed-dial__content"
|
|
26515
|
+
}), {
|
|
26516
|
+
default: () => [createVNode(VDefaultsProvider, {
|
|
26517
|
+
"defaults": {
|
|
26518
|
+
VBtn: {
|
|
26519
|
+
size: 'small'
|
|
26520
|
+
}
|
|
26521
|
+
}
|
|
26522
|
+
}, {
|
|
26523
|
+
default: () => [createVNode(MaybeTransition, {
|
|
26524
|
+
"appear": true,
|
|
26525
|
+
"group": true,
|
|
26526
|
+
"transition": props.transition
|
|
26527
|
+
}, {
|
|
26528
|
+
default: () => [slots.default?.()]
|
|
26529
|
+
})]
|
|
26530
|
+
})]
|
|
26531
|
+
});
|
|
26532
|
+
});
|
|
26533
|
+
return {};
|
|
26534
|
+
}
|
|
26535
|
+
});
|
|
26536
|
+
|
|
26537
|
+
// Types
|
|
26538
|
+
|
|
26539
|
+
// Types
|
|
26540
|
+
|
|
26541
|
+
const makeVEmptyStateProps = propsFactory({
|
|
26542
|
+
actionText: String,
|
|
26543
|
+
bgColor: String,
|
|
26544
|
+
color: String,
|
|
26545
|
+
icon: IconValue,
|
|
26546
|
+
image: String,
|
|
26547
|
+
justify: {
|
|
26548
|
+
type: String,
|
|
26549
|
+
default: 'center'
|
|
26550
|
+
},
|
|
26551
|
+
headline: String,
|
|
26552
|
+
title: String,
|
|
26553
|
+
text: String,
|
|
26554
|
+
textWidth: {
|
|
26555
|
+
type: [Number, String],
|
|
26556
|
+
default: 500
|
|
26557
|
+
},
|
|
26558
|
+
href: String,
|
|
26559
|
+
to: String,
|
|
26560
|
+
...makeComponentProps(),
|
|
26561
|
+
...makeDimensionProps(),
|
|
26562
|
+
...makeSizeProps({
|
|
26563
|
+
size: undefined
|
|
26564
|
+
}),
|
|
26565
|
+
...makeThemeProps()
|
|
26566
|
+
}, 'VEmptyState');
|
|
26567
|
+
const VEmptyState = genericComponent()({
|
|
26568
|
+
name: 'VEmptyState',
|
|
26569
|
+
props: makeVEmptyStateProps(),
|
|
26570
|
+
emits: {
|
|
26571
|
+
'click:action': e => true
|
|
26572
|
+
},
|
|
26573
|
+
setup(props, _ref) {
|
|
26574
|
+
let {
|
|
26575
|
+
emit,
|
|
26576
|
+
slots
|
|
26577
|
+
} = _ref;
|
|
26578
|
+
const {
|
|
26579
|
+
themeClasses
|
|
26580
|
+
} = provideTheme(props);
|
|
26581
|
+
const {
|
|
26582
|
+
backgroundColorClasses,
|
|
26583
|
+
backgroundColorStyles
|
|
26584
|
+
} = useBackgroundColor(toRef(props, 'bgColor'));
|
|
26585
|
+
const {
|
|
26586
|
+
dimensionStyles
|
|
26587
|
+
} = useDimension(props);
|
|
26588
|
+
function onClickAction(e) {
|
|
26589
|
+
emit('click:action', e);
|
|
26590
|
+
}
|
|
26591
|
+
useRender(() => {
|
|
26592
|
+
const hasActions = !!(slots.actions || props.actionText);
|
|
26593
|
+
const hasHeadline = !!(slots.headline || props.headline);
|
|
26594
|
+
const hasTitle = !!(slots.title || props.title);
|
|
26595
|
+
const hasText = !!(slots.text || props.text);
|
|
26596
|
+
const hasMedia = !!(slots.media || props.image || props.icon);
|
|
26597
|
+
const size = props.size || (props.image ? 200 : 96);
|
|
26598
|
+
return createVNode("div", {
|
|
26599
|
+
"class": ['v-empty-state', {
|
|
26600
|
+
[`v-empty-state--${props.justify}`]: true
|
|
26601
|
+
}, themeClasses.value, backgroundColorClasses.value, props.class],
|
|
26602
|
+
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style]
|
|
26603
|
+
}, [hasMedia && createVNode("div", {
|
|
26604
|
+
"key": "media",
|
|
26605
|
+
"class": "v-empty-state__media"
|
|
26606
|
+
}, [!slots.media ? createVNode(Fragment, null, [props.image ? createVNode(VImg, {
|
|
26607
|
+
"key": "image",
|
|
26608
|
+
"src": props.image,
|
|
26609
|
+
"height": size
|
|
26610
|
+
}, null) : props.icon ? createVNode(VIcon, {
|
|
26611
|
+
"key": "icon",
|
|
26612
|
+
"size": size,
|
|
26613
|
+
"icon": props.icon
|
|
26614
|
+
}, null) : undefined]) : createVNode(VDefaultsProvider, {
|
|
26615
|
+
"key": "media-defaults",
|
|
26616
|
+
"defaults": {
|
|
26617
|
+
VImg: {
|
|
26618
|
+
src: props.image,
|
|
26619
|
+
height: size
|
|
26620
|
+
},
|
|
26621
|
+
VIcon: {
|
|
26622
|
+
size,
|
|
26623
|
+
icon: props.icon
|
|
26624
|
+
}
|
|
26625
|
+
}
|
|
26626
|
+
}, {
|
|
26627
|
+
default: () => [slots.media()]
|
|
26628
|
+
})]), hasHeadline && createVNode("div", {
|
|
26629
|
+
"key": "headline",
|
|
26630
|
+
"class": "v-empty-state__headline"
|
|
26631
|
+
}, [slots.headline?.() ?? props.headline]), hasTitle && createVNode("div", {
|
|
26632
|
+
"key": "title",
|
|
26633
|
+
"class": "v-empty-state__title"
|
|
26634
|
+
}, [slots.title?.() ?? props.title]), hasText && createVNode("div", {
|
|
26635
|
+
"key": "text",
|
|
26636
|
+
"class": "v-empty-state__text",
|
|
26637
|
+
"style": {
|
|
26638
|
+
maxWidth: convertToUnit(props.textWidth)
|
|
26639
|
+
}
|
|
26640
|
+
}, [slots.text?.() ?? props.text]), slots.default && createVNode("div", {
|
|
26641
|
+
"key": "content",
|
|
26642
|
+
"class": "v-empty-state__content"
|
|
26643
|
+
}, [slots.default()]), hasActions && createVNode("div", {
|
|
26644
|
+
"key": "actions",
|
|
26645
|
+
"class": "v-empty-state__actions"
|
|
26646
|
+
}, [createVNode(VDefaultsProvider, {
|
|
26647
|
+
"defaults": {
|
|
26648
|
+
VBtn: {
|
|
26649
|
+
class: 'v-empty-state__action-btn',
|
|
26650
|
+
color: props.color,
|
|
26651
|
+
text: props.actionText
|
|
26652
|
+
}
|
|
26653
|
+
}
|
|
26654
|
+
}, {
|
|
26655
|
+
default: () => [slots.actions?.({
|
|
26656
|
+
props: {
|
|
26657
|
+
onClick: onClickAction
|
|
26658
|
+
}
|
|
26659
|
+
}) ?? createVNode(VBtn, {
|
|
26660
|
+
"onClick": onClickAction
|
|
26661
|
+
}, null)]
|
|
26662
|
+
})])]);
|
|
26663
|
+
});
|
|
26664
|
+
return {};
|
|
26665
|
+
}
|
|
26666
|
+
});
|
|
26667
|
+
|
|
26337
26668
|
var components = /*#__PURE__*/Object.freeze({
|
|
26338
26669
|
__proto__: null,
|
|
26339
26670
|
VAlert: VAlert,
|
|
@@ -26403,12 +26734,14 @@ var components = /*#__PURE__*/Object.freeze({
|
|
|
26403
26734
|
VDialogTopTransition: VDialogTopTransition,
|
|
26404
26735
|
VDialogTransition: VDialogTransition,
|
|
26405
26736
|
VDivider: VDivider,
|
|
26737
|
+
VEmptyState: VEmptyState,
|
|
26406
26738
|
VExpandTransition: VExpandTransition,
|
|
26407
26739
|
VExpandXTransition: VExpandXTransition,
|
|
26408
26740
|
VExpansionPanel: VExpansionPanel,
|
|
26409
26741
|
VExpansionPanelText: VExpansionPanelText,
|
|
26410
26742
|
VExpansionPanelTitle: VExpansionPanelTitle,
|
|
26411
26743
|
VExpansionPanels: VExpansionPanels,
|
|
26744
|
+
VFab: VFab,
|
|
26412
26745
|
VFabTransition: VFabTransition,
|
|
26413
26746
|
VFadeTransition: VFadeTransition,
|
|
26414
26747
|
VField: VField,
|
|
@@ -26478,6 +26811,7 @@ var components = /*#__PURE__*/Object.freeze({
|
|
|
26478
26811
|
VSnackbar: VSnackbar,
|
|
26479
26812
|
VSpacer: VSpacer,
|
|
26480
26813
|
VSparkline: VSparkline,
|
|
26814
|
+
VSpeedDial: VSpeedDial,
|
|
26481
26815
|
VStepper: VStepper,
|
|
26482
26816
|
VStepperActions: VStepperActions,
|
|
26483
26817
|
VStepperHeader: VStepperHeader,
|
|
@@ -26725,7 +27059,7 @@ function createVuetify$1() {
|
|
|
26725
27059
|
goTo
|
|
26726
27060
|
};
|
|
26727
27061
|
}
|
|
26728
|
-
const version$1 = "3.5.
|
|
27062
|
+
const version$1 = "3.5.8";
|
|
26729
27063
|
createVuetify$1.version = version$1;
|
|
26730
27064
|
|
|
26731
27065
|
// Vue's inject() can only be used in setup
|
|
@@ -26739,7 +27073,7 @@ function inject(key) {
|
|
|
26739
27073
|
|
|
26740
27074
|
/* eslint-disable local-rules/sort-imports */
|
|
26741
27075
|
|
|
26742
|
-
const version = "3.5.
|
|
27076
|
+
const version = "3.5.8";
|
|
26743
27077
|
|
|
26744
27078
|
/* eslint-disable local-rules/sort-imports */
|
|
26745
27079
|
|