yanzhen-design-vue
Version:
51 lines (50 loc) • 1.2 kB
JavaScript
import andDesignIcon from "@ant-design/icons-vue/es/components/AntdIcon";
import { buildProps, definePropType, buildEmits } from "@yanzhen-libs/utils-vue";
import "../../../hooks/index.mjs";
import { useNamespace } from "../../../hooks/use-namespace/index.mjs";
const ns = useNamespace("image");
const imageOptions = {
ns,
class: ns.b(),
name: ns.defineVNodeName()
};
const imageName = imageOptions.name;
const iconProps = { ...andDesignIcon.props ?? {} };
const imageSizeType = ["small", "middle", "large"];
const imageProps = buildProps({
...iconProps,
nativeTag: String,
url: [String, Array],
imgUrls: [String, Array],
name: String,
showName: Boolean,
textPosition: String,
size: {
type: definePropType(String),
enum: imageSizeType,
default: imageSizeType[0]
},
/* icon */
isIcon: Boolean,
icon: String,
iconStyle: Object,
isSpin: Boolean,
/* 图片 */
isRound: Boolean,
imgStyle: {
type: Object,
default: () => ({})
},
// 图片不展示在表格内
isImageShowInTable: Boolean
});
const imageEmits = buildEmits({
load: (val) => true
});
export {
imageEmits,
imageName,
imageOptions,
imageProps,
imageSizeType
};