various-ui
Version:
This is a test version of the Vue 3 component library
78 lines (73 loc) • 2.62 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var index = require('./index.js');
var composable = require('./src/composable.js');
const _hoisted_1 = { class: "ui-form-container" };
const _hoisted_2 = {
key: 0,
class: "ui-form-message"
};
const __default__ = vue.defineComponent({ name: "UiFormItem" });
var _sfc_main = /* @__PURE__ */ vue.defineComponent({
...__default__,
props: index.UiFormItemPropsOption,
setup(__props, { expose: __expose }) {
const define = __props;
const { refs, rules, methods, computeds, emitter } = composable.useComposable(define);
const { show, hidden, validator } = methods;
const { visible, content, verifyTimer } = refs;
const { style, className } = computeds;
if (rules && define.prop && rules[define.prop]) {
emitter == null ? void 0 : emitter.on(define.prop, async (type) => methods.validator(type));
emitter == null ? void 0 : emitter.on(`trigger:${define.prop}`, (error) => methods.show(error.message, error.type || "error"));
emitter == null ? void 0 : emitter.on(`reset:${define.prop}`, () => methods.hidden());
}
vue.onBeforeUnmount(() => {
verifyTimer.value && clearTimeout(verifyTimer.value);
});
;
__expose({ show, hidden, validator });
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock(
"div",
{
class: vue.normalizeClass(["ui-form-item", vue.unref(className)])
},
[
_ctx.label ? (vue.openBlock(), vue.createElementBlock(
"div",
{
key: 0,
class: "ui-form-name",
style: vue.normalizeStyle(vue.unref(style))
},
vue.toDisplayString(_ctx.label),
5
/* TEXT, STYLE */
)) : vue.createCommentVNode("v-if", true),
vue.createElementVNode("div", _hoisted_1, [
vue.renderSlot(_ctx.$slots, "default"),
vue.createVNode(vue.Transition, null, {
default: vue.withCtx(() => [
vue.unref(visible) ? (vue.openBlock(), vue.createElementBlock(
"div",
_hoisted_2,
vue.toDisplayString(vue.unref(content)),
1
/* TEXT */
)) : vue.createCommentVNode("v-if", true)
]),
_: 1
/* STABLE */
})
])
],
2
/* CLASS */
);
};
}
});
exports.default = _sfc_main;
//# sourceMappingURL=index.vue2.js.map