<template>
|
<div class="bole-calendar-wrapper">
|
<div :class="['bole-calendar-inner', { isCollapse }]">
|
<nut-calendar-card v-model="model" class="bole-calendar"></nut-calendar-card>
|
</div>
|
<div :class="['bole-calendar-arrow', { active: !isCollapse }]" @click="toggle">
|
<DownArrow :size="12" :class="['bole-calendar-arrow-icon']" />
|
</div>
|
</div>
|
</template>
|
|
<script setup lang="ts">
|
import { DownArrow } from '@nutui/icons-vue-taro';
|
import { useToggle } from 'senin-mini/hooks';
|
|
defineOptions({
|
name: 'Calendar',
|
});
|
|
// type Props = {};
|
|
// const props = withDefaults(defineProps<Props>(), {});
|
const model = defineModel<Date | Date[]>();
|
|
const { isCollapse, toggle } = useToggle(true);
|
</script>
|
|
<style lang="scss">
|
@import '@/styles/common.scss';
|
|
.bole-calendar-wrapper {
|
.bole-calendar {
|
background-color: transparent;
|
}
|
|
.bole-calendar-inner {
|
overflow: auto;
|
transition: all 1s ease;
|
max-height: 2000px;
|
|
&.isCollapse {
|
max-height: 500px;
|
}
|
}
|
|
.bole-calendar-arrow {
|
display: flex;
|
justify-content: center;
|
|
.bole-calendar-arrow-icon {
|
transition: all 0.2s linear;
|
}
|
|
&.active {
|
.bole-calendar-arrow-icon {
|
transform: rotate(180deg);
|
}
|
}
|
}
|
}
|
</style>
|