tdesign-mobile-vue
Version:
tdesign-mobile-vue
132 lines (128 loc) • 4.57 kB
JavaScript
/**
* tdesign v1.8.3
* (c) 2025 TDesign Group
* @license MIT
*/
import { defineComponent, computed, createVNode } from 'vue';
import { InfoCircleIcon, CheckCircleIcon, CloseCircleIcon } from 'tdesign-icons-vue-next';
import config from '../config.mjs';
import ResultProps from './props.mjs';
import { useTNodeJSX } from '../hooks/tnode.mjs';
import { Image } from '../image/index.mjs';
import { useIcon } from '../hooks/icon.mjs';
import { usePrefixClass } from '../hooks/useClass.mjs';
import 'lodash-es';
import '../hooks/render-tnode.mjs';
import '../image/image.mjs';
import '../_chunks/dep-1c25ba43.mjs';
import '../_chunks/dep-e4a72ad9.mjs';
import '../_chunks/dep-d139aa8e.mjs';
import '../_chunks/dep-00e3917b.mjs';
import '@vueuse/core';
import '../loading/index.mjs';
import '../loading/loading.mjs';
import '../loading/icon/gradient.mjs';
import '../_common/js/loading/circle-adapter.mjs';
import '../_common/js/utils/setStyle.mjs';
import '../_common/js/utils/helper.mjs';
import '../_chunks/dep-58437abb.mjs';
import '../_chunks/dep-496cd097.mjs';
import '../loading/icon/spinner.mjs';
import '../loading/props.mjs';
import '../shared/dom.mjs';
import '../shared/index.mjs';
import '../shared/functions.mjs';
import '../shared/util.mjs';
import '../shared/component.mjs';
import '../shared/constants.mjs';
import '../shared/render.mjs';
import '../shared/render-tnode.mjs';
import '../shared/useToggle/index.mjs';
import '../shared/useCountDown/index.mjs';
import '../_chunks/dep-ef105161.mjs';
import '../_chunks/dep-d41205ed.mjs';
import '../shared/useCountDown/utils.mjs';
import '../shared/useChildSlots/index.mjs';
import '../shared/useTouch/index.mjs';
import '../shared/useScrollParent/index.mjs';
import '../shared/useExpose/index.mjs';
import '../shared/useTest/index.mjs';
import '../shared/useClickAway/index.mjs';
import '../shared/useGesture/index.mjs';
import '@use-gesture/vanilla';
import '../shared/hover.mjs';
import './style/css.mjs';
import '../loading/type.mjs';
import '../loading/plugin.mjs';
import '../config-provider/useConfig.mjs';
import '../config-provider/context.mjs';
import '../_common/js/global-config/mobile/default-config.mjs';
import '../_common/js/global-config/mobile/locale/zh_CN.mjs';
import '../_chunks/dep-3bde6b35.mjs';
import '../_chunks/dep-eea1f1ad.mjs';
import '../_chunks/dep-b3bd9676.mjs';
import '../config-provider/type.mjs';
import '../image/props.mjs';
import '../image/type.mjs';
var prefix = config.prefix;
var _Result = defineComponent({
name: "".concat(prefix, "-result"),
props: ResultProps,
setup: function setup(props) {
var resultClass = usePrefixClass("result");
var renderTNodeJSX = useTNodeJSX();
var renderIconTNode = useIcon();
var resultClasses = computed(function () {
return ["".concat(resultClass.value), "".concat(resultClass.value, "--theme-").concat(props.theme || "default")];
});
var renderIcon = function renderIcon() {
var defaultIcons = {
default: InfoCircleIcon,
success: CheckCircleIcon,
warning: InfoCircleIcon,
error: CloseCircleIcon
};
var iconContent = renderIconTNode("icon", defaultIcons);
return iconContent ? createVNode(iconContent, {
"class": "".concat(resultClass.value, "__icon")
}, null) : null;
};
var renderImage = function renderImage() {
var image = renderTNodeJSX("image");
if (image) {
if (typeof image === "string") {
return createVNode(Image, {
"src": image
}, null);
}
return image;
}
return null;
};
var renderThumb = function renderThumb() {
var image = renderImage();
return createVNode("div", {
"class": "".concat(resultClass.value, "__thumb")
}, [image || renderIcon()]);
};
var renderTitle = function renderTitle() {
var title = renderTNodeJSX("title");
return title ? createVNode("div", {
"class": ["".concat(resultClass.value, "__title")]
}, [title]) : null;
};
var renderDescription = function renderDescription() {
var description = renderTNodeJSX("description");
return description ? createVNode("div", {
"class": ["".concat(resultClass.value, "__description")]
}, [description]) : null;
};
return function () {
return createVNode("div", {
"class": [resultClasses.value]
}, [renderThumb(), renderTitle(), renderDescription()]);
};
}
});
export { _Result as default };
//# sourceMappingURL=result.mjs.map