UNPKG

tdesign-vue-next

Version:
156 lines (152 loc) 5.43 kB
/** * tdesign v1.19.2 * (c) 2026 tdesign * @license MIT */ import { isVNode, defineComponent, createVNode, h } from 'vue'; import { _ as _slicedToArray } from '../../_chunks/dep-f558ebb8.mjs'; import { ChevronRightIcon, ChevronLeftIcon } from 'tdesign-icons-vue-next'; import { Button } from '../../button/index.mjs'; import { u as usePrefixClass, i as useGlobalIcon } from '../../_chunks/dep-fbeb2963.mjs'; import props from '../props.mjs'; import { isFunction, isArray, isString } from 'lodash-es'; import '../../_chunks/dep-b0b422fe.mjs'; import '../../button/button.mjs'; import '../../_chunks/dep-47c3cae9.mjs'; import '../../_chunks/dep-ba214d75.mjs'; import '../../_chunks/dep-e1c62679.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 '../../_chunks/dep-feed89df.mjs'; import '../../_chunks/dep-5b510fcd.mjs'; import '../../loading/props.mjs'; import '../../config-provider/hooks/useConfig.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-edab0e6a.mjs'; import '../../_chunks/dep-76dddedf.mjs'; import '../../_chunks/dep-d92220c4.mjs'; import '../../_chunks/dep-466a8f31.mjs'; import '../../_chunks/dep-e66c0337.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 TransferOperations = defineComponent({ name: "TTransferOperations", props: { leftDisabled: { type: Boolean, required: true }, rightDisabled: { type: Boolean, required: true }, operation: props.operation }, emits: ["moveToRight", "moveToLeft"], setup: function setup(props2, _ref) { var slots = _ref.slots, emit = _ref.emit; var classPrefix = usePrefixClass(); var _useGlobalIcon = useGlobalIcon({ ChevronRightIcon: ChevronRightIcon, ChevronLeftIcon: ChevronLeftIcon }), ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon, ChevronLeftIcon$1 = _useGlobalIcon.ChevronLeftIcon; var moveToRight = function moveToRight() { emit("moveToRight"); }; var moveToLeft = function moveToLeft() { emit("moveToLeft"); }; var getIconRight = function getIconRight() { return createVNode(ChevronRightIcon$1, null, null); }; var getIconLeft = function getIconLeft() { return createVNode(ChevronLeftIcon$1, null, null); }; var getIcon = function getIcon(direction) { if (isFunction(props2.operation)) { return null; } if (direction === "right" && props2.operation && isFunction(props2.operation[0])) { return null; } if (direction === "left" && props2.operation && isFunction(props2.operation[1])) { return null; } if (slots.operation) { return null; } return direction === "left" ? getIconLeft : getIconRight; }; var renderButton = function renderButton(h2, direction) { if (isFunction(slots.operation)) { return slots.operation({ direction: direction }); } if (isFunction(props2.operation)) { var renderContent2 = props2.operation; return renderContent2(h2, { direction: direction }); } var renderContent; if (isArray(props2.operation)) { var _props2$operation = _slicedToArray(props2.operation, 2), left = _props2$operation[0], right = _props2$operation[1]; var directionOp = direction === "right" ? right : left; var content = isFunction(directionOp) ? directionOp(h2) : directionOp; renderContent = content === false || content === true ? "" : content; } else { renderContent = ""; } return renderContent; }; return function () { var _slot, _slot2; return createVNode("div", { "class": "".concat(classPrefix.value, "-transfer__operations") }, [createVNode(Button, { "variant": "outline", "size": "small", "shape": isArray(props2.operation) && isString(props2.operation[1]) ? "rectangle" : "square", "key": props2.rightDisabled ? "right-outline" : "right-base", "disabled": props2.rightDisabled, "onClick": moveToRight, "icon": getIcon("right") }, _isSlot(_slot = renderButton(h, "right")) ? _slot : { "default": function _default() { return [_slot]; } }), createVNode(Button, { "variant": "outline", "size": "small", "shape": isArray(props2.operation) && isString(props2.operation[0]) ? "rectangle" : "square", "key": props2.rightDisabled ? "left-outline" : "left-base", "disabled": props2.leftDisabled, "onClick": moveToLeft, "icon": getIcon("left") }, _isSlot(_slot2 = renderButton(h, "left")) ? _slot2 : { "default": function _default() { return [_slot2]; } })]); }; } }); export { TransferOperations as default }; //# sourceMappingURL=transfer-operations.mjs.map