yanzhen-design-vue
Version:
36 lines (35 loc) • 1.08 kB
JavaScript
import { buildProps, definePropType, buildEmits, propsSeparate } from "@yanzhen-libs/utils-vue";
import "../../../../hooks/index.mjs";
import { pick } from "lodash-es";
import { useContactsItemProps } from "../hook/use-contacts-options.mjs";
import { useNamespace } from "../../../../hooks/use-namespace/index.mjs";
const ns = useNamespace("contacts-item");
const contactsItemOptions = {
ns,
class: ns.b(),
name: ns.defineVNodeName()
};
const contactsItemName = contactsItemOptions.name;
const contactsItemProps = buildProps({
...useContactsItemProps(),
isSelf: Boolean,
info: Object,
tags: {
type: definePropType(Array),
default: () => []
},
creatorReadOnlyId: String,
onItemClick: definePropType(Function),
onSuffixClick: definePropType(Function)
});
const contactsItemEmits = buildEmits(propsSeparate(contactsItemProps).emits);
const contactsItemOmitProps = (props) => {
return pick(props, ...Object.keys(contactsItemProps));
};
export {
contactsItemEmits,
contactsItemName,
contactsItemOmitProps,
contactsItemOptions,
contactsItemProps
};