tdesign-vue-next
Version:
TDesign Component for vue-next
118 lines (112 loc) • 4 kB
JavaScript
/**
* tdesign v1.20.0
* (c) 2026 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var Vue = require('vue');
var utils = require('../../_chunks/dep-c28363ee.js');
var isArray = require('../../_chunks/dep-8e3205d4.js');
var isFunction = require('../../_chunks/dep-cd6733fb.js');
require('@babel/runtime/helpers/slicedToArray');
require('@babel/runtime/helpers/objectDestructuringEmpty');
require('@babel/runtime/helpers/extends');
require('@babel/runtime/helpers/defineProperty');
require('dayjs');
require('../../_chunks/dep-b3ef977e.js');
require('../../_chunks/dep-91ef92a6.js');
require('../../_chunks/dep-d25a9147.js');
require('../../_chunks/dep-d7e01c93.js');
require('../../_chunks/dep-5c730151.js');
require('@babel/runtime/helpers/typeof');
require('../../_chunks/dep-08fc313e.js');
require('../../_chunks/dep-caa8987f.js');
require('../../_chunks/dep-a7f52d8f.js');
require('../../_chunks/dep-ac9e19a7.js');
require('../../_chunks/dep-193c4be1.js');
require('../../_chunks/dep-f549ecb7.js');
require('../../_chunks/dep-678c34e4.js');
require('../../_chunks/dep-d3fa0c96.js');
require('../../_chunks/dep-b937ef62.js');
require('../../_chunks/dep-ce54d478.js');
require('../../_chunks/dep-9b493151.js');
function useSelectRange(props) {
var rangeBounds = Vue.computed(function () {
return utils.getRangeBounds(props.range);
});
var monthAllowed = function monthAllowed(year, month) {
return utils.monthHasAnyAllowed(props.range, year, month);
};
var yearAllowed = function yearAllowed(year) {
return utils.yearHasAnyAllowed(props.range, year);
};
var decadeAllowed = function decadeAllowed(decadeEndYear) {
return utils.decadeHasAnyAllowed(props.range, decadeEndYear);
};
var paginationDisabled = Vue.computed(function () {
var _props$month;
return utils.computePaginationDisabled(props.range, props.mode, props.year.value, (_props$month = props.month) === null || _props$month === void 0 ? void 0 : _props$month.value);
});
var canLoadMoreTop = function canLoadMoreTop(firstValue) {
var min = rangeBounds.value.min;
if (isArray.isArray(props.range)) {
if (!min) return true;
var minYear = min.getFullYear();
if (props.mode === "year") {
var minDecadeEnd = Math.floor(minYear / 10) * 10 + 9;
return firstValue > minDecadeEnd;
}
return firstValue > minYear;
}
if (isFunction.isFunction(props.range)) {
if (props.mode === "year") {
for (var i = firstValue - 10; i >= firstValue - 50; i -= 10) {
if (decadeAllowed(i)) return true;
}
return false;
}
for (var _i = firstValue - 1; _i > firstValue - 10; _i--) {
if (yearAllowed(_i)) return true;
}
return false;
}
return true;
};
var canLoadMoreBottom = function canLoadMoreBottom(lastValue) {
var max = rangeBounds.value.max;
if (isArray.isArray(props.range)) {
if (!max) return true;
var maxYear = max.getFullYear();
if (props.mode === "year") {
var maxDecadeEnd = Math.floor(maxYear / 10) * 10 + 9;
return lastValue < maxDecadeEnd;
}
return lastValue < maxYear;
}
if (isFunction.isFunction(props.range)) {
if (props.mode === "year") {
for (var i = lastValue + 10; i <= lastValue + 50; i += 10) {
if (decadeAllowed(i)) return true;
}
return false;
}
for (var _i2 = lastValue + 1; _i2 <= lastValue + 10; _i2++) {
if (yearAllowed(_i2)) return true;
}
return false;
}
return true;
};
return {
rangeBounds: rangeBounds,
monthHasAnyAllowed: monthAllowed,
yearHasAnyAllowed: yearAllowed,
decadeHasAnyAllowed: decadeAllowed,
paginationDisabled: paginationDisabled,
canLoadMoreTop: canLoadMoreTop,
canLoadMoreBottom: canLoadMoreBottom
};
}
exports.useSelectRange = useSelectRange;
//# sourceMappingURL=useSelectRange.js.map