UNPKG

tdesign-vue-next

Version:
115 lines (111 loc) 4.44 kB
/** * tdesign v1.20.3 * (c) 2026 tdesign * @license MIT */ import { isVNode, defineComponent, computed, createVNode } from 'vue'; import { _ as _defineProperty } from '../../../_chunks/dep-07d8f2aa.mjs'; import { isPlainObject } from 'lodash-es'; import { a as useTNodeJSX, u as usePrefixClass } from '../../../_chunks/dep-5975d369.mjs'; import { Button } from '../../../button/index.mjs'; import { useConfig } from '../../../config-provider/hooks/useConfig.mjs'; import '../../../_chunks/dep-d84a2ec7.mjs'; import '../../../_chunks/dep-adf8ce39.mjs'; import '../../../_chunks/dep-390963eb.mjs'; import '../../../_chunks/dep-12b4e978.mjs'; import '../../../_chunks/dep-0841ee8f.mjs'; import '../../../_chunks/dep-a1cbfaae.mjs'; import '../../../_chunks/dep-ff183185.mjs'; import '../../../_chunks/dep-3f53eff0.mjs'; import '../../../_chunks/dep-4c65e11b.mjs'; import '../../../config-provider/utils/context.mjs'; import '../../../_chunks/dep-cf105282.mjs'; import '../../../_chunks/dep-dcbc09c5.mjs'; import '../../../_chunks/dep-9fc6972b.mjs'; import '../../../_chunks/dep-46776e3b.mjs'; import '../../../_chunks/dep-8aebe545.mjs'; import '../../../button/button.mjs'; import '../../../loading/index.mjs'; import '../../../loading/directive.mjs'; import '../../../loading/plugin.mjs'; import '../../../loading/loading.mjs'; import '../../../loading/icon/gradient.mjs'; import '../../../_chunks/dep-92b8be55.mjs'; import '../../../_chunks/dep-b9c8a688.mjs'; import '../../../loading/props.mjs'; import './style/css.mjs'; import '../../../button/props.mjs'; function _isSlot(s) { return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s); } var TDateFooter = defineComponent({ name: "TDatePickerFooter", props: { enableTimePicker: Boolean, presetsPlacement: String, presets: Object, needConfirm: Boolean, selectedValue: [String, Number, Array, Date], onPresetClick: Function, onConfirmClick: Function }, setup: function setup(props) { var renderTNodeJSX = useTNodeJSX(); var COMPONENT_NAME = usePrefixClass("date-picker__footer"); var presetsClass = usePrefixClass("date-picker__presets"); var _useConfig = useConfig("datePicker"), t = _useConfig.t, globalConfig = _useConfig.globalConfig; var footerClass = computed(function () { return [COMPONENT_NAME.value, "".concat(COMPONENT_NAME.value, "--").concat(props.presetsPlacement)]; }); var renderPresets = function renderPresets() { if (isPlainObject(props.presets)) return Object.keys(props.presets).map(function (key) { return createVNode(Button, { "key": key, "size": "small", "variant": "text", "onClick": function onClick(e) { var _props$onPresetClick; return (_props$onPresetClick = props.onPresetClick) === null || _props$onPresetClick === void 0 ? void 0 : _props$onPresetClick.call(props, props.presets[key], { e: e, preset: _defineProperty({}, key, props.presets[key]) }); } }, _isSlot(key) ? key : { "default": function _default() { return [key]; } }); }); var presetsNode = renderTNodeJSX("presets"); return presetsNode !== null && presetsNode !== void 0 ? presetsNode : null; }; return function () { var _slot; var presetsContent = renderPresets(); var hasPresetsContent = Array.isArray(presetsContent) ? presetsContent.length > 0 : !!presetsContent; return createVNode("div", { "class": footerClass.value }, [hasPresetsContent ? createVNode("div", { "class": presetsClass.value }, [presetsContent]) : null, props.enableTimePicker && props.needConfirm && createVNode(Button, { "disabled": !props.selectedValue, "size": "small", "theme": "primary", "onClick": function onClick(e) { var _props$onConfirmClick; return (_props$onConfirmClick = props.onConfirmClick) === null || _props$onConfirmClick === void 0 ? void 0 : _props$onConfirmClick.call(props, { e: e }); } }, _isSlot(_slot = t(globalConfig.value.confirm)) ? _slot : { "default": function _default() { return [_slot]; } })]); }; } }); export { TDateFooter as default }; //# sourceMappingURL=Footer.mjs.map