UNPKG

various-ui

Version:

This is a test version of the Vue 3 component library

55 lines (51 loc) 1.74 kB
'use strict'; var vue = require('vue'); require('../../../../utils/index.js'); var lodashEs = require('lodash-es'); const useComposable = (define, emits) => { const status = vue.computed(() => { if (define.loading) return { is: true, name: "loading" }; else if (define.disabled) return { is: false, name: "disabled" }; else if (define.readonly) return { is: false, name: "readonly" }; else { return { is: false, name: "default" }; } }); const computeds = { //* 主体样式 style: vue.computed(() => { if (!define.width) return {}; else if (lodashEs.isNumber(define.width)) { return { "min-width": define.width + "px" }; } else { return { "min-width": define.width }; } }), //* 禁用状态 disabled: vue.computed(() => { return ["loading", "disabled", "readonly"].includes(status.value.name); }), //* 主体类名 className: vue.computed(() => { const result = []; if (define.simple) result.push("ui-button-simple"); if (define.size != "default") result.push(`ui-${define.size}`); if (define.type != "info") result.push(`ui-${define.type}-type`); if (status.value.name == "loading") result.push("ui-loading-status"); else if (status.value.name == "disabled") result.push("ui-disabled-status"); else if (status.value.name == "readonly") result.push("ui-readonly-status"); return result.join(" "); }) }; const methods = { click: (ev) => { if (computeds.disabled.value) return; else { emits("click", ev); } } }; return { status, computeds, methods }; }; exports.useComposable = useComposable; //# sourceMappingURL=composable.js.map