UNPKG

@ctsy/layui-vue

Version:

a component library for Vue 3 base on layui-vue

86 lines (85 loc) 3.06 kB
var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createCommentVNode, renderSlot } from "vue"; var index = ""; const _hoisted_1 = ["type"]; const _hoisted_2 = { key: 1, class: "layui-icon layui-icon-loading-one layui-anim layui-anim-rotate layui-anim-loop" }; const __default__ = { name: "LayButton" }; const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), { props: { type: null, size: null, prefixIcon: null, suffixIcon: null, border: null, fluid: { default: false }, radius: { default: false }, loading: { default: false }, disabled: { default: false }, nativeType: { default: "button" } }, emits: ["click"], setup(__props, { emit }) { const props = __props; const onClick = (event) => { if (!props.disabled) { emit("click", event); } }; const classes = computed(() => { return [ { "layui-btn-fluid": props.fluid, "layui-btn-radius": props.radius, "layui-btn-disabled": props.disabled }, props.type ? `layui-btn-${props.type}` : "", props.size ? `layui-btn-${props.size}` : "", props.border ? `layui-border-${props.border}` : "" ]; }); return (_ctx, _cache) => { return openBlock(), createElementBlock("button", { class: normalizeClass(["layui-btn", unref(classes)]), type: __props.nativeType, onClick }, [ __props.prefixIcon ? (openBlock(), createElementBlock("i", { key: 0, class: normalizeClass(`layui-icon ${__props.prefixIcon}`) }, null, 2)) : createCommentVNode("", true), __props.loading ? (openBlock(), createElementBlock("i", _hoisted_2)) : renderSlot(_ctx.$slots, "default", { key: 2 }), __props.suffixIcon ? (openBlock(), createElementBlock("i", { key: 3, class: normalizeClass(`layui-icon ${__props.suffixIcon}`) }, null, 2)) : createCommentVNode("", true) ], 10, _hoisted_1); }; } })); _sfc_main.install = (app) => { app.component(_sfc_main.name, _sfc_main); }; export { _sfc_main as default };