@insightphp/forms
Version:
Forms component of Insight.
2 lines (1 loc) • 4.76 kB
JavaScript
(function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@insightphp/inertia-view"),require("@inertiajs/inertia-vue3")):typeof define=="function"&&define.amd?define(["exports","vue","@insightphp/inertia-view","@inertiajs/inertia-vue3"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.Forms={},l.Vue,l.InertiaViewComponents,l.InertiaVue))})(this,function(l,e,m,i){"use strict";const d=["onSubmit"],f=e.createElementVNode("div",{class:"flex justify-end bg-gray-50 rounded-b-md px-4 py-3"},[e.createElementVNode("button",{type:"submit",class:"btn primary"},"Submit")],-1),u=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"StackedForm",props:{controls:null,value:null,method:null,action:null},setup(o){const r=o,n=i.useForm(r.value),a=()=>{r.method&&r.action?n.submit(r.method,r.action,{}):console.warn("The form does not have action/method set and is unable to be submited.")};return(s,t)=>(e.openBlock(),e.createElementBlock("form",{onSubmit:e.withModifiers(a,["prevent"]),class:"border border-gray-200 rounded-md bg-white flex flex-col divide-y divide-gray-200"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.controls,c=>(e.openBlock(),e.createBlock(e.unref(m.Portal),{component:c,form:e.unref(n)},null,8,["component","form"]))),256)),f],40,d))}})},Symbol.toStringTag,{value:"Module"})),p={class:"w-full flex flex-row px-4 py-3 grid grid-cols-3"},k={class:"pt-1.5"},b=["for"],h={key:0,class:"text-danger-500"},y={class:"col-span-2"},V=Object.freeze(Object.defineProperty({__proto__:null,default:e.defineComponent({__name:"StackedFormControl",props:{name:null,label:null,isRequired:{type:Boolean},control:null,form:null},setup(o){return(r,n)=>(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("div",k,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,class:"text-sm text-gray-600",for:o.name},[e.createTextVNode(e.toDisplayString(o.label)+" ",1),o.isRequired?(e.openBlock(),e.createElementBlock("span",h,"*")):e.createCommentVNode("",!0)],8,b)):e.createCommentVNode("",!0)]),e.createElementVNode("div",y,[o.control?(e.openBlock(),e.createBlock(e.unref(m.Portal),{key:0,class:"w-full",name:o.name,component:o.control,modelValue:o.form[o.name],"onUpdate:modelValue":n[0]||(n[0]=a=>o.form[o.name]=a),error:o.form.errors[o.name]},null,8,["name","component","modelValue","error"])):e.createCommentVNode("",!0)])]))}})},Symbol.toStringTag,{value:"Module"})),_={install(o,r){m.registerComponents(Object.assign({"./View/Components/StackedForm.vue":u,"./View/Components/StackedFormControl.vue":V}),"insight-forms")}},B={class:"space-y-6"},g=["for"],x={key:0,class:"text-danger-500"},E={key:1,class:"text-xs text-gray-500 mt-0.5 mb-1"},C={class:"mt-1"},S=e.defineComponent({__name:"StackedForm",props:{items:null,modelValue:null,errors:null},emits:["input","clearError"],setup(o,{emit:r}){const n=(a,s)=>{r("input",{name:a.name,value:s}),r("clearError",a.name)};return(a,s)=>(e.openBlock(),e.createElementBlock("div",B,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,t=>(e.openBlock(),e.createElementBlock("div",null,[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.name,class:"block text-sm font-medium text-gray-700"},[e.createTextVNode(e.toDisplayString(t.label)+" ",1),t.isRequired?(e.openBlock(),e.createElementBlock("span",x,"*")):e.createCommentVNode("",!0)],8,g)):e.createCommentVNode("",!0),t.hint?(e.openBlock(),e.createElementBlock("p",E,e.toDisplayString(t.hint),1)):e.createCommentVNode("",!0),e.createElementVNode("div",C,[e.createVNode(e.unref(m.Portal),{component:t.fieldView,name:t.name,modelValue:o.modelValue[t.name],"onUpdate:modelValue":c=>o.modelValue[t.name]=c,"inertia-form":o.modelValue,errors:o.errors,error:o.errors[t.name],"field-path":[],required:t.isRequired,onInput:c=>n(t,c),class:"w-full"},null,8,["component","name","modelValue","onUpdate:modelValue","inertia-form","errors","error","required","onInput"])])]))),256))]))}}),F=e.defineComponent({__name:"Form",props:{form:null},setup(o){const r=o,n=e.computed(()=>r.form),a=s=>{n.value.form.errors[s]&&n.value.form.clearErrors(s)};return(s,t)=>(e.openBlock(),e.createBlock(e.unref(m.Portal),{component:e.unref(n).formModel.renderAs,modelValue:e.unref(n).form,"onUpdate:modelValue":t[0]||(t[0]=c=>e.unref(n).form=c),errors:e.unref(n).form.errors,onClearError:t[1]||(t[1]=c=>a(c))},null,8,["component","modelValue","errors"]))}});function N(o,r){const n=i.useForm(o.initialValue);return{submit:()=>{o.method&&o.action&&n.submit(o.method,o.action,r)},form:{form:n,formModel:o}}}l.Form=F,l.Forms=_,l.StackedForm=S,l.useForm=N,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});