UNPKG

tdesign-vue-next

Version:
118 lines (114 loc) 4.57 kB
/** * tdesign v1.19.2 * (c) 2026 tdesign * @license MIT */ import { defineComponent, computed, createVNode, isVNode } from 'vue'; import _defineProperty from '@babel/runtime/helpers/defineProperty'; import { isPlainObject } from 'lodash-es'; import '@babel/runtime/helpers/toConsumableArray'; import '@babel/runtime/helpers/typeof'; import '../../../_chunks/dep-c68ea098.js'; import { u as useTNodeJSX } from '../../../_chunks/dep-7bdccf65.js'; import { u as usePrefixClass } from '../../../_chunks/dep-e8dd47a9.js'; import '@babel/runtime/helpers/slicedToArray'; import '../../../_chunks/dep-91fc762d.js'; import { Button } from '../../../button/index.js'; import { useConfig } from '../../../config-provider/hooks/useConfig.js'; import '../../../_chunks/dep-f0f392fb.js'; import '../../../_chunks/dep-d518fdfb.js'; import '../../../_chunks/dep-8d4d971b.js'; import '../../../config-provider/utils/context.js'; import '../../../_chunks/dep-509ddbe3.js'; import 'dayjs'; import '@babel/runtime/helpers/createClass'; import '@babel/runtime/helpers/classCallCheck'; import '../../../button/button.js'; import '../../../loading/index.js'; import '../../../loading/directive.js'; import '../../../loading/plugin.js'; import '../../../_chunks/dep-2a7145b5.js'; import '../../../loading/icon/gradient.js'; import '../../../_chunks/dep-ef7a41ce.js'; import '../../../_chunks/dep-fbf70ecb.js'; import '@babel/runtime/helpers/objectWithoutProperties'; import '../../../_chunks/dep-98d89c71.js'; import '../../../loading/props.js'; import '../../../_chunks/dep-ae3e94b6.js'; import '../../../button/props.js'; import '../../../_chunks/dep-2ba9b7d0.js'; import '../../../_chunks/dep-d67d6f8a.js'; 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.js.map