yanzhen-design-vue
Version:
72 lines (71 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const utilsVue = require("@yanzhen-libs/utils-vue");
const lodashEs = require("lodash-es");
const divider = require("./divider.cjs");
const { ns } = divider.dividerOptions;
function useDivider(props, emit) {
const _ref = vue.ref(null);
const attrs = vue.useAttrs();
const textRef = vue.computed(() => props.text);
const titleRef = vue.computed(() => {
const defStyle = {};
if (typeof props.title === "string") {
return {
text: props.title,
style: defStyle
};
} else if (utilsVue.isObject(props.title)) {
return vue.mergeProps(
{
...props.title
},
{
style: defStyle
}
);
}
return {
style: defStyle
};
});
const titleBoldRef = vue.computed(() => {
if (lodashEs.isString(props.titleFontBold)) {
return ns.is(props.titleFontBold);
}
return void 0;
});
const dividerBoldRef = vue.computed(() => {
if (lodashEs.isString(props.dividerBold)) {
return ns.is(props.dividerBold);
}
return void 0;
});
const hiddenTitle = vue.computed(() => {
const { hidden, text } = utilsVue.unref(titleRef);
if (lodashEs.isFunction(hidden)) {
return hidden(text) ?? false;
}
if (lodashEs.isBoolean(hidden)) {
return hidden;
}
const hiddenTitle2 = props.hiddenTitle;
if (lodashEs.isFunction(hiddenTitle2)) {
return hiddenTitle2(text) ?? false;
}
if (lodashEs.isBoolean(hiddenTitle2)) {
return hiddenTitle2;
}
return false;
});
const config = vue.computed(() => lodashEs.omit(props, ...Object.keys(divider.AntDivider.props)));
const proxyProps = utilsVue.useProxyProps(config, divider.dividerEmits, {
emit
});
const propsRef = vue.computed(() => {
return vue.mergeProps(utilsVue.unref(attrs), utilsVue.unref(proxyProps));
});
return { _ref, propsRef, textRef, titleRef, hiddenTitle, titleBoldRef, dividerBoldRef };
}
exports.useDivider = useDivider;