tdesign-vue-next
Version:
TDesign Component for vue-next
156 lines (152 loc) • 5.43 kB
JavaScript
/**
* 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