UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

168 lines (164 loc) 5.16 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import { reactive, watch } from 'vue'; import { d as dayjs } from '../../_chunks/dep-6fe15f5a.mjs'; import '../../hooks/useConfig.mjs'; import { COMPONENT_NAME } from '../const.mjs'; import { createDefaultCurDate } from '../utils.mjs'; import { i as isArray_1 } from '../../_chunks/dep-a95026f2.mjs'; import { useConfig } from '../../config-provider/useConfig.mjs'; import '../../_chunks/dep-82805301.mjs'; import '../../_chunks/dep-10a947a6.mjs'; import '../../_chunks/dep-1cc1c24f.mjs'; import '../../_chunks/dep-b75d8d74.mjs'; import '../../_chunks/dep-6ad18815.mjs'; import '../../_chunks/dep-91ac8f71.mjs'; import '../../_chunks/dep-c4737535.mjs'; import '../../_chunks/dep-81c83986.mjs'; import '../../_chunks/dep-6aa0223b.mjs'; import '../../_chunks/dep-db381ece.mjs'; import '../../_chunks/dep-5755c21c.mjs'; import '../../_chunks/dep-7f239c43.mjs'; import '../../_chunks/dep-6f04869e.mjs'; import '../../_chunks/dep-d32fbbb3.mjs'; import '../../_chunks/dep-dafada74.mjs'; import '../../_chunks/dep-addc2a84.mjs'; import '../../_chunks/dep-068e912d.mjs'; import '../../_chunks/dep-6e7b37b8.mjs'; import '../../_chunks/dep-e1ab85c5.mjs'; import '../../_chunks/dep-5f0e0453.mjs'; import '../../_chunks/dep-71f84cf2.mjs'; import '../../_chunks/dep-0e832fc7.mjs'; import '../../_chunks/dep-69963a8c.mjs'; import '../../_chunks/dep-8d1c9a23.mjs'; import '../../_chunks/dep-03412fab.mjs'; import '../../_chunks/dep-205ff58d.mjs'; import '../../_chunks/dep-11fa9c2c.mjs'; import '../../_chunks/dep-b09f48fa.mjs'; import '../../_chunks/dep-26bf361a.mjs'; import '../../_chunks/dep-3ec3335a.mjs'; import '../../_chunks/dep-ed4e7c50.mjs'; import '../../_chunks/dep-a666b9ad.mjs'; import '../../_common/js/global-config/default-config.mjs'; import '../../_common/js/global-config/locale/en_US.mjs'; import '../../config-provider/type.mjs'; function useState(props) { var _useConfig = useConfig(COMPONENT_NAME), globalConfig = _useConfig.globalConfig; var state = reactive({ realFirstDayOfWeek: 1, curDate: null, curDateList: [], curSelectedYear: null, curSelectedMonth: null, curSelectedMode: null, isShowWeekend: true, controlSize: "medium" }); function toToday() { var curDate = createDefaultCurDate(); state.curDate = curDate; state.curSelectedYear = curDate.year(); state.curSelectedMonth = parseInt(curDate.format("M"), 10); } function setCurSelectedYear(year) { var curSelectedYear = year ? parseInt("".concat(year), 10) : createDefaultCurDate().year(); if (!isNaN(curSelectedYear) && curSelectedYear > 0) { state.curSelectedYear = curSelectedYear; } } function setCurSelectedMonth(month) { var curSelectedMonth = month ? parseInt("".concat(month), 10) : parseInt(createDefaultCurDate().format("M"), 10); if (!isNaN(curSelectedMonth) && curSelectedMonth > 0 && curSelectedMonth <= 12) { state.curSelectedMonth = curSelectedMonth; } } function setCurrentDate(value) { if (isArray_1(value)) { state.curDate = value && value.length ? dayjs(value[0]) : createDefaultCurDate(); } else { state.curDate = value ? dayjs(value) : createDefaultCurDate(); } } function setCurrentDateList(value) { if (isArray_1(value)) { state.curDateList = value && value.length ? value.map(function (item) { return dayjs(item); }) : [createDefaultCurDate()]; } else { state.curDateList = value ? [dayjs(value)] : [createDefaultCurDate()]; } } function checkDayVisible(day) { var re = true; if (!state.isShowWeekend) { re = day !== 6 && day !== 7; } return re; } watch(function () { return props.firstDayOfWeek; }, function () { var _ref, _props$firstDayOfWeek; state.realFirstDayOfWeek = (_ref = (_props$firstDayOfWeek = props.firstDayOfWeek) !== null && _props$firstDayOfWeek !== void 0 ? _props$firstDayOfWeek : globalConfig.value.firstDayOfWeek) !== null && _ref !== void 0 ? _ref : 1; }, { immediate: true }); watch(function () { return props.value; }, function (v) { if (props.multiple) { setCurrentDateList(v); } else { setCurrentDate(v); } }, { immediate: true }); watch(function () { return props.year; }, function (v) { setCurSelectedYear(v); }, { immediate: true }); watch(function () { return props.month; }, function (v) { setCurSelectedMonth(v); }, { immediate: true }); watch(function () { return props.isShowWeekendDefault; }, function (v) { state.isShowWeekend = v; }, { immediate: true }); watch(function () { return props.mode; }, function (v) { state.curSelectedMode = v; }, { immediate: true }); watch(function () { return props.theme; }, function (v) { if (v === "card") state.controlSize = "small"; if (v === "full") state.controlSize = "medium"; }, { immediate: true }); return { state: state, toToday: toToday, checkDayVisible: checkDayVisible }; } export { useState }; //# sourceMappingURL=useState.mjs.map