Tracking de l'application VApp (IHM du jeu)
This commit is contained in:
74
VApp/node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonths.mjs
generated
vendored
Normal file
74
VApp/node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonths.mjs
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
|
||||
// Styles
|
||||
import "./VDatePickerMonths.css";
|
||||
|
||||
// Components
|
||||
import { VBtn } from "../VBtn/index.mjs"; // Composables
|
||||
import { useDate } from "../../composables/date/index.mjs";
|
||||
import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
|
||||
import { computed, watchEffect } from 'vue';
|
||||
import { convertToUnit, createRange, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
||||
export const makeVDatePickerMonthsProps = propsFactory({
|
||||
color: String,
|
||||
height: [String, Number],
|
||||
modelValue: Number
|
||||
}, 'VDatePickerMonths');
|
||||
export const VDatePickerMonths = genericComponent()({
|
||||
name: 'VDatePickerMonths',
|
||||
props: makeVDatePickerMonthsProps(),
|
||||
emits: {
|
||||
'update:modelValue': date => true
|
||||
},
|
||||
setup(props, _ref) {
|
||||
let {
|
||||
slots
|
||||
} = _ref;
|
||||
const adapter = useDate();
|
||||
const model = useProxiedModel(props, 'modelValue');
|
||||
const months = computed(() => {
|
||||
let date = adapter.startOfYear(adapter.date());
|
||||
return createRange(12).map(i => {
|
||||
const text = adapter.format(date, 'monthShort');
|
||||
date = adapter.getNextMonth(date);
|
||||
return {
|
||||
text,
|
||||
value: i
|
||||
};
|
||||
});
|
||||
});
|
||||
watchEffect(() => {
|
||||
model.value = model.value ?? adapter.getMonth(adapter.date());
|
||||
});
|
||||
useRender(() => _createVNode("div", {
|
||||
"class": "v-date-picker-months",
|
||||
"style": {
|
||||
height: convertToUnit(props.height)
|
||||
}
|
||||
}, [_createVNode("div", {
|
||||
"class": "v-date-picker-months__content"
|
||||
}, [months.value.map((month, i) => {
|
||||
const btnProps = {
|
||||
active: model.value === i,
|
||||
color: model.value === i ? props.color : undefined,
|
||||
rounded: true,
|
||||
text: month.text,
|
||||
variant: model.value === month.value ? 'flat' : 'text',
|
||||
onClick: () => onClick(i)
|
||||
};
|
||||
function onClick(i) {
|
||||
model.value = i;
|
||||
}
|
||||
return slots.month?.({
|
||||
month,
|
||||
i,
|
||||
props: btnProps
|
||||
}) ?? _createVNode(VBtn, _mergeProps({
|
||||
"key": "month"
|
||||
}, btnProps, {
|
||||
"onClick": () => onClick(i)
|
||||
}), null);
|
||||
})])]));
|
||||
return {};
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=VDatePickerMonths.mjs.map
|
||||
Reference in New Issue
Block a user