UNPKG

fine-true

Version:

A small and beautiful Vue3 version of the UI Library

1 lines 2.98 kB
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("vue"),require("./../types/form"),require("async-validator"),require("./../utils/withInstall"));else if("function"==typeof define&&define.amd)define(["vue","./../types/form","async-validator","./../utils/withInstall"],r);else{var t="object"==typeof exports?r(require("vue"),require("./../types/form"),require("async-validator"),require("./../utils/withInstall")):r(e.vue,e["./../types/form"],e["async-validator"],e["./../utils/withInstall"]);for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(self,((e,r,t,o)=>(()=>{"use strict";var a={9934:e=>{e.exports=r},1677:e=>{e.exports=o},6560:e=>{e.exports=t},748:r=>{r.exports=e}},l={};function i(e){var r=l[e];if(void 0!==r)return r.exports;var t=l[e]={exports:{}};return a[e](t,t.exports,i),t.exports}i.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return i.d(r,{a:r}),r},i.d=(e,r)=>{for(var t in r)i.o(r,t)&&!i.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},i.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};return(()=>{i.r(s),i.d(s,{default:()=>n});var e=i(748),r=i(9934),t=i(6560),o=i.n(t);const a=(0,e.defineComponent)({name:"fine-form-item",props:{prop:String,label:String,showMessage:{type:Boolean,default:!0},labelWidth:{type:String,default:"auto"}},setup(t,a){var{slots:l}=a,i=(0,e.inject)(r.FormContextKey),s=null==i?void 0:i.model[t.prop],n=(0,e.ref)(!0),d=(0,e.reactive)({validateMessage:""}),u=e=>{if(e){var r=e[0];r&&(d.validateMessage=r.message)}else d.validateMessage=""},p=e=>{var r;if(!t.prop)return[];var o=null==i||null===(r=i.rules)||void 0===r?void 0:r[t.prop];return o?(Array.isArray(o)?o:[o]).filter((r=>!r.trigger||!e||r.trigger===e)):[]},v=e=>{var r=p(e);if(t.prop){var a=new(o())({[t.prop]:r}),l=null==i?void 0:i.model[t.prop];return new Promise(((e,r)=>{a.validate({[t.prop]:l},((t,o)=>{t?(n.value=!1,r(t),u(t)):(n.value=!0,e(o),u())}))}))}};t.prop&&(null==i||i.collectionValidation(v),null==i||i.addField((()=>{i&&i.model&&t.prop&&i.model[t.prop]&&(i.model[t.prop]=s),n.value=!0,d.validateMessage=""})),(0,e.provide)(r.FormItemContextKey,v));var f=(0,e.computed)((()=>p().some((e=>e.required)))),m=(0,e.computed)((()=>({"fine-form-item":!0,"fine-item-is_required":f.value,"fine-item-validation_failed":!n.value}))),c=(0,e.computed)((()=>({width:t.labelWidth||(null==i?void 0:i.labelWidth.value)||"auto"})));return()=>{var{label:r,showMessage:o}=t;return(0,e.createVNode)("div",{class:m.value},[r&&(0,e.createVNode)("label",{class:"fine-form-item-label",style:c.value},[r]),(0,e.createVNode)("div",{class:"fine-form-item-content"},[l.default&&l.default(),d.validateMessage&&o&&(0,e.createVNode)("div",{class:"fine-form-item-errmsg"},[d.validateMessage])])])}}});var l=i(1677);i.n(l)()(a);const n=a})(),s})()));