tdesign-vue-next
Version:
TDesign Component for vue-next
154 lines (150 loc) • 5.32 kB
JavaScript
/**
* tdesign v1.11.5
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _slicedToArray } from '../../_chunks/dep-6d9c1bfc.mjs';
import { defineComponent, createVNode, h } from 'vue';
import { ChevronRightIcon, ChevronLeftIcon } from 'tdesign-icons-vue-next';
import { Button } from '../../button/index.mjs';
import { usePrefixClass } from '../../hooks/useConfig.mjs';
import { useGlobalIcon } from '../../hooks/useGlobalIcon.mjs';
import props from '../props.mjs';
import { isFunction, isArray, isString } from 'lodash-es';
import '../../_chunks/dep-9f375e51.mjs';
import '../../button/button.mjs';
import '../../_chunks/dep-03e058e5.mjs';
import '../../_chunks/dep-da95471f.mjs';
import '../../_chunks/dep-4ed7019e.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-6cfc5734.mjs';
import '../../_chunks/dep-3d81ac0a.mjs';
import '../../_chunks/dep-6a79c950.mjs';
import '../../utils/dom.mjs';
import '../../_chunks/dep-82d2a14f.mjs';
import '../../_chunks/dep-46ec3e86.mjs';
import '../../utils/render-tnode.mjs';
import '../../hooks/useTeleport.mjs';
import '../../loading/props.mjs';
import '../../config-provider/hooks/useConfig.mjs';
import '../../config-provider/utils/context.mjs';
import '../../_chunks/dep-a5ae2f3f.mjs';
import '../../_chunks/dep-37fa6ccb.mjs';
import '../../_chunks/dep-7fb24b17.mjs';
import '../../utils/withInstall.mjs';
import './style/css.mjs';
import '../../button/props.mjs';
import '../../hooks/useRipple.mjs';
import '../../hooks/useKeepAnimation.mjs';
import '../../hooks/useDisabled.mjs';
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];
renderContent = direction === "right" ? right : left;
} else {
renderContent = "";
}
return renderContent;
};
return function () {
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")
}, {
"default": function _default() {
return [slots.operation || isArray(props2.operation) && props2.operation[1] ? renderButton(h, "right") : null];
}
}), 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")
}, {
"default": function _default() {
return [slots.operation || isArray(props2.operation) && props2.operation[0] ? renderButton(h, "left") : null];
}
})]);
};
}
});
export { TransferOperations as default };
//# sourceMappingURL=transfer-operations.mjs.map