UNPKG

tdesign-vue-next

Version:
171 lines (163 loc) 5.57 kB
/** * tdesign v1.13.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var Vue = require('vue'); var dayjs = require('dayjs'); require('@babel/runtime/helpers/toConsumableArray'); require('@babel/runtime/helpers/typeof'); var configProvider_hooks_useConfig = require('../../config-provider/hooks/useConfig.js'); require('@babel/runtime/helpers/slicedToArray'); require('../../_chunks/dep-dd797c18.js'); require('../../_chunks/dep-5c9b4e07.js'); require('@babel/runtime/helpers/defineProperty'); var calendar_consts_index = require('../consts/index.js'); var calendar_utils_index = require('../utils/index.js'); var isArray = require('../../_chunks/dep-8c59be4f.js'); require('../../_chunks/dep-7636cb2b.js'); require('../../_chunks/dep-7fa36748.js'); require('../../_chunks/dep-ac58e1cc.js'); require('../../_chunks/dep-1585ec9b.js'); require('../../_chunks/dep-bd4650d2.js'); require('../../_chunks/dep-1c53d2aa.js'); require('../../_chunks/dep-6f35bfc1.js'); require('../../_chunks/dep-d17ed13a.js'); require('../../_chunks/dep-c94e2f5d.js'); require('../../_chunks/dep-cb8b352a.js'); require('../../_chunks/dep-53860ab2.js'); require('../../_chunks/dep-86aa65fa.js'); require('../../_chunks/dep-b478162d.js'); require('../../_chunks/dep-7f6ae34b.js'); require('../../_chunks/dep-43233220.js'); require('../../_chunks/dep-ef233591.js'); require('../../_chunks/dep-c54c953e.js'); require('../../_chunks/dep-14dde3a2.js'); require('../../_chunks/dep-36c231db.js'); require('../../_chunks/dep-3ae66374.js'); require('../../_chunks/dep-c99964ce.js'); require('../../_chunks/dep-84cc4997.js'); require('../../_chunks/dep-5c87313c.js'); require('@babel/runtime/helpers/createClass'); require('@babel/runtime/helpers/classCallCheck'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var dayjs__default = /*#__PURE__*/_interopDefaultLegacy(dayjs); function useState(props) { var _useConfig = configProvider_hooks_useConfig.useConfig(calendar_consts_index.COMPONENT_NAME), globalConfig = _useConfig.globalConfig; var state = Vue.reactive({ realFirstDayOfWeek: 1, curDate: null, curDateList: [], curSelectedYear: null, curSelectedMonth: null, curSelectedMode: null, isShowWeekend: true, controlSize: "medium" }); function toToday() { var curDate = calendar_utils_index.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) : calendar_utils_index.createDefaultCurDate().year(); if (!isNaN(curSelectedYear) && curSelectedYear > 0) { state.curSelectedYear = curSelectedYear; } } function setCurSelectedMonth(month) { var curSelectedMonth = month ? parseInt("".concat(month), 10) : parseInt(calendar_utils_index.createDefaultCurDate().format("M"), 10); if (!isNaN(curSelectedMonth) && curSelectedMonth > 0 && curSelectedMonth <= 12) { state.curSelectedMonth = curSelectedMonth; } } function setCurrentDate(value) { if (isArray.isArray(value)) { state.curDate = value && value.length ? dayjs__default["default"](value[0]) : calendar_utils_index.createDefaultCurDate(); } else { state.curDate = value ? dayjs__default["default"](value) : calendar_utils_index.createDefaultCurDate(); } } function setCurrentDateList(value) { if (isArray.isArray(value)) { state.curDateList = value && value.length ? value.map(function (item) { return dayjs__default["default"](item); }) : [calendar_utils_index.createDefaultCurDate()]; } else { state.curDateList = value ? [dayjs__default["default"](value)] : [calendar_utils_index.createDefaultCurDate()]; } } function checkDayVisible(day) { var re = true; if (!state.isShowWeekend) { re = day !== 6 && day !== 7; } return re; } Vue.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 }); Vue.watch(function () { return props.value; }, function (v) { if (props.multiple) { setCurrentDateList(v); } else { setCurrentDate(v); } }, { immediate: true }); Vue.watch(function () { return props.year; }, function (v) { setCurSelectedYear(v); }, { immediate: true }); Vue.watch(function () { return props.month; }, function (v) { setCurSelectedMonth(v); }, { immediate: true }); Vue.watch(function () { return props.isShowWeekendDefault; }, function (v) { state.isShowWeekend = v; }, { immediate: true }); Vue.watch(function () { return props.mode; }, function (v) { state.curSelectedMode = v; }, { immediate: true }); Vue.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 }; } exports.useState = useState; //# sourceMappingURL=useState.js.map