startup-ui 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/startup-ui.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),gt=require("@inertiajs/vue3"),Se=require("@vueuse/core"),Us=require("@tinymce/tinymce-vue");require("tinymce/tinymce");require("tinymce/skins/ui/oxide/skin.min.css");require("tinymce/skins/ui/oxide/content.min.css");const po={__name:"SForm",props:a.mergeModels({method:{type:String,default:"post"},action:String,titlesAtLeft:Boolean,loading:Boolean,titlesWidth:{type:[Number,String],default:220},errors:{type:Object,required:!1}},{modelValue:{},modelModifiers:{}}),emits:a.mergeModels(["submit","update:modelValue"],["update:modelValue"]),setup(e,{emit:t}){const n=e,r=t,o=a.getCurrentInstance(),i=a.computed(()=>{var d;return!!((d=o==null?void 0:o.vnode.props)!=null&&d.onSubmit)}),s=a.useModel(e,"modelValue"),l=a.ref({...n.errors});a.watch(()=>n.errors,d=>{l.value={...d}});const c=a.ref(n.loading);function u(d){var p;i.value?r("submit",d):(c.value=!0,gt.router.visit(n.action,{method:(p=n.method)!=null?p:"post",data:s.value,preserveScroll:!0,preserveState:!0,onError:h=>l.value=f(h),onFinish:()=>c.value=!1}))}const f=function(d){const p=JSON.parse(JSON.stringify(d));return Object.keys(p).forEach(h=>{h.includes(".")&&!p[h.split(".")[0]]&&(p[h.split(".")[0]]=p[h])}),p};return a.provide("formModel",s.value),a.provide("formErrors",l),a.provide("titlesWidth",n.titlesWidth),(d,p)=>(a.openBlock(),a.createElementBlock("form",{class:a.normalizeClass(["s-form",{titles_at_left:e.titlesAtLeft,loading:c.value||e.loading}]),onSubmit:a.withModifiers(u,["prevent"])},[a.renderSlot(d.$slots,"default")],34))}},Hs={class:"s-formrow-input-wrapper"},Ws={key:2,class:"s-formrow-hint"},Ys={key:3,class:"s-formrow-hint"},qs={key:0,class:"s-formrow-error"},ho={__name:"SFormRow",props:{class:String,name:String,title:String,hint:String,errorKey:[String,Array]},setup(e,{expose:t}){const n=e,r=a.inject("formModel"),o=a.computed({get:()=>r==null?void 0:r[n.name],set:h=>{r&&(r[n.name]=h)}}),i=a.inject("formErrors");function s(h){const m=h.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^.]+");return new RegExp(`^${m}$`)}const l=a.computed(()=>{var g;const h=i==null?void 0:i.value;return!h||Object.keys(h).length===0?null:n.errorKey?(Array.isArray(n.errorKey)?[...n.errorKey]:[n.errorKey]).flatMap(v=>{if(v.includes("*")){const y=s(v);return Object.entries(h).filter(([E])=>y.test(E)).map(([,E])=>E)}return h[v]?[h[v]]:[]}).join(`
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),gt=require("@inertiajs/vue3"),Se=require("@vueuse/core"),Us=require("@tinymce/tinymce-vue");require("tinymce/tinymce");require("tinymce/skins/ui/oxide/skin.min.css");require("tinymce/skins/ui/oxide/content.min.css");const po={__name:"SForm",props:a.mergeModels({method:{type:String,default:"post"},action:String,titlesAtLeft:Boolean,loading:Boolean,titlesWidth:{type:[Number,String],default:220},errors:{type:Object,required:!1}},{modelValue:{},modelModifiers:{}}),emits:a.mergeModels(["submit","update:modelValue"],["update:modelValue"]),setup(e,{emit:t}){const n=e,r=t,o=a.getCurrentInstance(),i=a.computed(()=>{var d;return!!((d=o==null?void 0:o.vnode.props)!=null&&d.onSubmit)}),s=a.useModel(e,"modelValue"),l=a.ref({...n.errors});a.watch(()=>n.errors,d=>{l.value={...d}},{deep:!0});const c=a.ref(n.loading);function u(d){var p;i.value?r("submit",d):(c.value=!0,gt.router.visit(n.action,{method:(p=n.method)!=null?p:"post",data:s.value,preserveScroll:!0,preserveState:!0,onError:h=>l.value=f(h),onFinish:()=>c.value=!1}))}const f=function(d){const p=JSON.parse(JSON.stringify(d));return Object.keys(p).forEach(h=>{h.includes(".")&&!p[h.split(".")[0]]&&(p[h.split(".")[0]]=p[h])}),p};return a.provide("formModel",s.value),a.provide("formErrors",l),a.provide("titlesWidth",n.titlesWidth),(d,p)=>(a.openBlock(),a.createElementBlock("form",{class:a.normalizeClass(["s-form",{titles_at_left:e.titlesAtLeft,loading:c.value||e.loading}]),onSubmit:a.withModifiers(u,["prevent"])},[a.renderSlot(d.$slots,"default")],34))}},Hs={class:"s-formrow-input-wrapper"},Ws={key:2,class:"s-formrow-hint"},Ys={key:3,class:"s-formrow-hint"},qs={key:0,class:"s-formrow-error"},ho={__name:"SFormRow",props:{class:String,name:String,title:String,hint:String,errorKey:[String,Array]},setup(e,{expose:t}){const n=e,r=a.inject("formModel"),o=a.computed({get:()=>r==null?void 0:r[n.name],set:h=>{r&&(r[n.name]=h)}}),i=a.inject("formErrors");function s(h){const m=h.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^.]+");return new RegExp(`^${m}$`)}const l=a.computed(()=>{var g;const h=i==null?void 0:i.value;return!h||Object.keys(h).length===0?null:n.errorKey?(Array.isArray(n.errorKey)?[...n.errorKey]:[n.errorKey]).flatMap(v=>{if(v.includes("*")){const y=s(v);return Object.entries(h).filter(([E])=>y.test(E)).map(([,E])=>E)}return h[v]?[h[v]]:[]}).join(`
|
|
2
2
|
`)||null:(g=h[n.name])!=null?g:null}),c=a.inject("titlesWidth"),u=a.useSlots(),f=a.computed(()=>{var m;return(((m=u.default)==null?void 0:m.call(u))||[]).map(g=>{var y;if(typeof g.type!="object")return g;const v=(y=g.props)==null?void 0:y.type;return a.cloneVNode(g,{modelValue:o.value,"onUpdate:modelValue":E=>{v==="number"?o.value=E===""?null:Number(E):o.value=E}})})}),d=a.useTemplateRef("input");function p(){const h=d.value.querySelector("input, textarea");h&&h.focus()}return t({focus:p}),(h,m)=>{var g;return a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(["s-formrow",{error:l.value!==""}])},[h.$slots.title?(a.openBlock(),a.createElementBlock("div",{key:0,class:"s-formrow-title",style:a.normalizeStyle({width:a.unref(c)?a.unref(c)+"px":null})},[a.renderSlot(h.$slots,"title")],4)):(a.openBlock(),a.createElementBlock("div",{key:1,class:"s-formrow-title",onClick:p,style:a.normalizeStyle({width:a.unref(c)?a.unref(c)+"px":null})},a.toDisplayString((g=e.title)!=null?g:""),5)),a.createElementVNode("div",Hs,[a.createElementVNode("div",{class:"s-formrow-input",ref_key:"input",ref:d},[e.name?(a.openBlock(!0),a.createElementBlock(a.Fragment,{key:0},a.renderList(f.value,(v,y)=>(a.openBlock(),a.createBlock(a.resolveDynamicComponent(v),{key:y}))),128)):a.renderSlot(h.$slots,"default",{key:1}),h.$slots.hint?(a.openBlock(),a.createElementBlock("div",Ws,[a.renderSlot(h.$slots,"hint")])):a.createCommentVNode("",!0),e.hint?(a.openBlock(),a.createElementBlock("div",Ys,a.toDisplayString(e.hint),1)):a.createCommentVNode("",!0)],512),l.value?(a.openBlock(),a.createElementBlock("div",qs,a.toDisplayString(Array.isArray(l.value)?l.value.join(""):l.value),1)):a.createCommentVNode("",!0)])],2)}}},Gs={key:0,class:"s-input-prefix"},Ks=["rows","disabled","placeholder"],Xs=["type","placeholder","disabled"],Js={key:3,class:"s-input-suffix"},go={__name:"SInput",props:a.mergeModels({modelValue:{type:[Number,String]},type:{type:String,default:"text",validator:e=>["text","string","number","email","password","textarea","search"].includes(e)},placeholder:String,prefix:String,suffix:String,disabled:{type:Boolean,default:!1},rows:{type:Number,default:3},inputStyle:[String,Object,Array]},{modelValue:{},modelModifiers:{}}),emits:a.mergeModels(["change"],["update:modelValue"]),setup(e,{emit:t}){const n=e,r=a.useModel(e,"modelValue"),o=a.useSlots(),i=a.computed(()=>n.prefix||o.prefix),s=a.computed(()=>n.suffix||o.suffix);return(l,c)=>(a.openBlock(),a.createElementBlock("div",{class:a.normalizeClass(["s-input",{"has-prefix":i.value,"has-suffix":s.value}])},[i.value?(a.openBlock(),a.createElementBlock("span",Gs,[e.prefix?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},[a.createTextVNode(a.toDisplayString(e.prefix),1)],64)):a.renderSlot(l.$slots,"prefix",{key:1})])):a.createCommentVNode("",!0),e.type==="textarea"?a.withDirectives((a.openBlock(),a.createElementBlock("textarea",{key:1,class:"s-input-field","onUpdate:modelValue":c[0]||(c[0]=u=>r.value=u),rows:e.rows,disabled:e.disabled,placeholder:e.placeholder,onInput:c[1]||(c[1]=u=>l.$emit("change",u.target.value)),style:a.normalizeStyle(e.inputStyle)},null,44,Ks)),[[a.vModelText,r.value]]):a.withDirectives((a.openBlock(),a.createElementBlock("input",{key:2,class:"s-input-field",type:e.type,"onUpdate:modelValue":c[2]||(c[2]=u=>r.value=u),placeholder:e.placeholder,disabled:e.disabled,onInput:c[3]||(c[3]=u=>l.$emit("change",u.target.value)),style:a.normalizeStyle(e.inputStyle)},null,44,Xs)),[[a.vModelDynamic,r.value]]),s.value?(a.openBlock(),a.createElementBlock("span",Js,[e.suffix?(a.openBlock(),a.createElementBlock(a.Fragment,{key:0},[a.createTextVNode(a.toDisplayString(e.suffix),1)],64)):a.renderSlot(l.$slots,"suffix",{key:1})])):a.createCommentVNode("",!0)],2))}};/*!
|
|
3
3
|
* Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com
|
|
4
4
|
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|