UNPKG

tdesign-vue-next

Version:
115 lines (111 loc) 4.44 kB
/** * tdesign v1.19.2 * (c) 2026 tdesign * @license MIT */ import { isVNode, defineComponent, computed, createVNode } from 'vue'; import { _ as _defineProperty } from '../../../_chunks/dep-ba214d75.mjs'; import { isPlainObject } from 'lodash-es'; import { a as useTNodeJSX, u as usePrefixClass } from '../../../_chunks/dep-fbeb2963.mjs'; import { Button } from '../../../button/index.mjs'; import { useConfig } from '../../../config-provider/hooks/useConfig.mjs'; import '../../../_chunks/dep-e1c62679.mjs'; import '../../../_chunks/dep-47c3cae9.mjs'; import '../../../_chunks/dep-b0b422fe.mjs'; import '../../../_chunks/dep-feed89df.mjs'; import '../../../_chunks/dep-5b510fcd.mjs'; import '../../../_chunks/dep-edab0e6a.mjs'; import '../../../_chunks/dep-f558ebb8.mjs'; import '../../../_chunks/dep-76dddedf.mjs'; import '../../../_chunks/dep-d92220c4.mjs'; import '../../../config-provider/utils/context.mjs'; import '../../../_chunks/dep-e0ab6d55.mjs'; import '../../../_chunks/dep-75f265c4.mjs'; import '../../../_chunks/dep-67ffcfeb.mjs'; import '../../../_chunks/dep-466a8f31.mjs'; import '../../../_chunks/dep-e66c0337.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-58979704.mjs'; import '../../../_chunks/dep-c231a5b4.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