@wgalleti/primevue-components 0.3.6 → 0.3.7
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/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1322 -1317
- package/dist/index.js.map +1 -1
- package/dist/types/crud.d.ts +5 -0
- package/dist/types/types/crud.d.ts +5 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ot=require("primevue/datatable"),ke=require("primevue/column"),H=require("primevue/button"),J=require("primevue/inputtext"),$e=require("primevue/iconfield"),Ne=require("primevue/inputicon"),Pt=require("primevue/paginator"),Ft=require("primevue/contextmenu"),at=require("primevue/tag"),ge=require("dayjs"),nt=require("primevue/dialog"),He=require("primevue/inputnumber"),Mt=require("primevue/textarea"),At=require("primevue/select"),lt=require("primevue/autocomplete"),Ke=require("primevue/datepicker"),Rt=require("primevue/toggleswitch"),Lt=require("primevue/colorpicker"),zt=require("primevue/password"),Tt=require("primevue/usetoast"),It=require("primevue/useconfirm"),Yt=require("primevue/inputgroup"),Ge=require("primevue/inputgroupaddon"),Pe=require("primevue/skeleton"),rt=Symbol("w-axios"),De=Symbol("w-data-provider"),xe=Symbol("w-config");function jt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Me={exports:{}},Ot=Me.exports,_e;function Wt(){return _e||(_e=1,(function(t,o){(function(a,l){t.exports=l()})(Ot,(function(){var a={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,i=/\d\d/,s=/\d\d?/,v=/\d*[^-_:/,()\s\d]+/,u={},h=function(p){return(p=+p)+(p>68?1900:2e3)},$=function(p){return function(g){this[p]=+g}},B=[/[+-]\d\d:?(\d\d)?|Z/,function(p){(this.zone||(this.zone={})).offset=(function(g){if(!g||g==="Z")return 0;var k=g.match(/([+-]|\d\d)/g),V=60*k[1]+(+k[2]||0);return V===0?0:k[0]==="+"?-V:V})(p)}],F=function(p){var g=u[p];return g&&(g.indexOf?g:g.s.concat(g.f))},P=function(p,g){var k,V=u.meridiem;if(V){for(var x=1;x<=24;x+=1)if(p.indexOf(V(x,0,g))>-1){k=x>12;break}}else k=p===(g?"pm":"PM");return k},Y={A:[v,function(p){this.afternoon=P(p,!1)}],a:[v,function(p){this.afternoon=P(p,!0)}],Q:[r,function(p){this.month=3*(p-1)+1}],S:[r,function(p){this.milliseconds=100*+p}],SS:[i,function(p){this.milliseconds=10*+p}],SSS:[/\d{3}/,function(p){this.milliseconds=+p}],s:[s,$("seconds")],ss:[s,$("seconds")],m:[s,$("minutes")],mm:[s,$("minutes")],H:[s,$("hours")],h:[s,$("hours")],HH:[s,$("hours")],hh:[s,$("hours")],D:[s,$("day")],DD:[i,$("day")],Do:[v,function(p){var g=u.ordinal,k=p.match(/\d+/);if(this.day=k[0],g)for(var V=1;V<=31;V+=1)g(V).replace(/\[|\]/g,"")===p&&(this.day=V)}],w:[s,$("week")],ww:[i,$("week")],M:[s,$("month")],MM:[i,$("month")],MMM:[v,function(p){var g=F("months"),k=(F("monthsShort")||g.map((function(V){return V.slice(0,3)}))).indexOf(p)+1;if(k<1)throw new Error;this.month=k%12||k}],MMMM:[v,function(p){var g=F("months").indexOf(p)+1;if(g<1)throw new Error;this.month=g%12||g}],Y:[/[+-]?\d+/,$("year")],YY:[i,function(p){this.year=h(p)}],YYYY:[/\d{4}/,$("year")],Z:B,ZZ:B};function I(p){var g,k;g=p,k=u&&u.formats;for(var V=(p=g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(K,W,U){var m=U&&U.toUpperCase();return W||k[U]||a[U]||k[m].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(w,c,n){return c||n.slice(1)}))}))).match(l),x=V.length,L=0;L<x;L+=1){var z=V[L],M=Y[z],T=M&&M[0],j=M&&M[1];V[L]=j?{regex:T,parser:j}:z.replace(/^\[|\]$/g,"")}return function(K){for(var W={},U=0,m=0;U<x;U+=1){var w=V[U];if(typeof w=="string")m+=w.length;else{var c=w.regex,n=w.parser,f=K.slice(m),d=c.exec(f)[0];n.call(W,d),K=K.replace(d,"")}}return(function(D){var N=D.afternoon;if(N!==void 0){var R=D.hours;N?R<12&&(D.hours+=12):R===12&&(D.hours=0),delete D.afternoon}})(W),W}}return function(p,g,k){k.p.customParseFormat=!0,p&&p.parseTwoDigitYear&&(h=p.parseTwoDigitYear);var V=g.prototype,x=V.parse;V.parse=function(L){var z=L.date,M=L.utc,T=L.args;this.$u=M;var j=T[1];if(typeof j=="string"){var K=T[2]===!0,W=T[3]===!0,U=K||W,m=T[2];W&&(m=T[2]),u=this.$locale(),!K&&m&&(u=k.Ls[m]),this.$d=(function(f,d,D,N){try{if(["x","X"].indexOf(d)>-1)return new Date((d==="X"?1e3:1)*f);var R=I(d)(f),_=R.year,X=R.month,be=R.day,we=R.hours,ee=R.minutes,Z=R.seconds,te=R.milliseconds,Q=R.zone,ie=R.week,se=new Date,fe=be||(_||X?1:se.getDate()),ne=_||se.getFullYear(),ce=0;_&&!X||(ce=X>0?X-1:se.getMonth());var ue,pe=we||0,ve=ee||0,le=Z||0,y=te||0;return Q?new Date(Date.UTC(ne,ce,fe,pe,ve,le,y+60*Q.offset*1e3)):D?new Date(Date.UTC(ne,ce,fe,pe,ve,le,y)):(ue=new Date(ne,ce,fe,pe,ve,le,y),ie&&(ue=N(ue).week(ie).toDate()),ue)}catch{return new Date("")}})(z,j,M,k),this.init(),m&&m!==!0&&(this.$L=this.locale(m).$L),U&&z!=this.format(j)&&(this.$d=new Date("")),u={}}else if(j instanceof Array)for(var w=j.length,c=1;c<=w;c+=1){T[1]=j[c-1];var n=k.apply(this,T);if(n.isValid()){this.$d=n.$d,this.$L=n.$L,this.init();break}c===w&&(this.$d=new Date(""))}else x.call(this,L)}}}))})(Me)),Me.exports}var Ut=Wt();const qt=jt(Ut);ge.extend(qt);function Ie(t){if(!t)return null;if(t instanceof Date)return t;const o=ge(t,"YYYY-MM-DD",!0);return o.isValid()?o.toDate():ge(t).toDate()}function it(t){return t?typeof t=="string"?t:ge(t).format("YYYY-MM-DD"):null}function st(t){return t?typeof t=="string"?t:ge(t).toISOString():null}function Ht(t,o="DD/MM/YYYY"){return t?ge(t).format(o):"—"}function Kt(t){return t?ge(t).format("DD/MM/YYYY HH:mm"):"—"}function me(t){return t.replace(/\D/g,"")}function ct(t){if(!t)return"—";const o=me(t);return o.length!==11?t:o.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})$/,"$1.$2.$3-$4")}function ut(t){if(!t)return"—";const o=me(t);return o.length!==14?t:o.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/,"$1.$2.$3/$4-$5")}function Gt(t){if(!t)return"—";const o=me(t);return o.length===11?ct(t):o.length===14?ut(t):t}function _t(t){if(!t)return"—";const o=me(t);return o.length===11?o.replace(/^(\d{2})(\d{5})(\d{4})$/,"($1) $2-$3"):o.length===10?o.replace(/^(\d{2})(\d{4})(\d{4})$/,"($1) $2-$3"):t}function dt(t){if(!t)return null;const o=me(t);if(o.length!==11)return"CPF deve ter 11 dígitos.";if(/^(\d)\1{10}$/.test(o))return"CPF inválido.";let a=0;for(let s=0;s<9;s++)a+=parseInt(o[s])*(10-s);let l=a%11;const r=l<2?0:11-l;if(parseInt(o[9])!==r)return"CPF inválido.";a=0;for(let s=0;s<10;s++)a+=parseInt(o[s])*(11-s);l=a%11;const i=l<2?0:11-l;return parseInt(o[10])!==i?"CPF inválido.":null}function mt(t){if(!t)return null;const o=me(t);if(o.length!==14)return"CNPJ deve ter 14 dígitos.";if(/^(\d)\1{13}$/.test(o))return"CNPJ inválido.";const a=[5,4,3,2,9,8,7,6,5,4,3,2];let l=0;for(let u=0;u<12;u++)l+=parseInt(o[u])*a[u];let r=l%11;const i=r<2?0:11-r;if(parseInt(o[12])!==i)return"CNPJ inválido.";const s=[6,5,4,3,2,9,8,7,6,5,4,3,2];l=0;for(let u=0;u<13;u++)l+=parseInt(o[u])*s[u];r=l%11;const v=r<2?0:11-r;return parseInt(o[13])!==v?"CNPJ inválido.":null}function Jt(t){if(!t)return null;const o=me(t);return o.length===11?dt(t):o.length===14?mt(t):"CPF deve ter 11 dígitos ou CNPJ deve ter 14 dígitos."}const Ae=new Map;function Je(t,o){const a=`${t}-${o}`;let l=Ae.get(a);return l||(l=new Intl.NumberFormat(t,{minimumFractionDigits:o,maximumFractionDigits:o}),Ae.set(a,l)),l}function Zt(t,o){const a=`${t}-${o}`;let l=Ae.get(a);return l||(l=new Intl.NumberFormat(t,{style:"currency",currency:o}),Ae.set(a,l)),l}function Re(){const t=e.inject(xe,{defaultPageSize:20,dateFormat:"DD/MM/YYYY",dateTimeFormat:"DD/MM/YYYY HH:mm",locale:"pt-BR",currency:"BRL"}),o=(t==null?void 0:t.locale)??"pt-BR",a=(t==null?void 0:t.currency)??"BRL";function l(u){return u==null?"—":Zt(o,a).format(u)}function r(u,h=2){return u==null?"—":Je(o,h).format(u)}function i(u,h){return Ht(u,h??(t==null?void 0:t.dateFormat)??"DD/MM/YYYY")}function s(u){return Kt(u)}function v(u){return u==null?"—":`${Je(o,2).format(u)}%`}return{formatCurrency:l,formatNumber:r,formatDate:i,formatDateTime:s,formatPercent:v,formatCpf:ct,formatCnpj:ut,formatCpfCnpj:Gt,formatTelefone:_t,validateCpf:dt,validateCnpj:mt,validateCpfCnpj:Jt,parseDate:Ie,toDateString:it,toDateTimeString:st}}const Xt={key:0,class:"text-muted-color text-xs"},Qt=["src","alt"],eo={key:3,class:"text-muted-color tabular-nums text-[0.8125rem]"},to={key:4,class:"text-muted-color tabular-nums text-[0.8125rem]"},oo={key:5,class:"font-semibold tabular-nums text-[0.8125rem]"},ao={key:6,class:"font-semibold tabular-nums text-[0.8125rem]"},no={key:7,class:"text-[0.8125rem]"},Se=e.defineComponent({__name:"WCrudColumnRenderer",props:{column:{},value:{},rowData:{}},setup(t){const{formatDate:o,formatDateTime:a,formatCurrency:l,formatNumber:r}=Re();return(i,s)=>t.value==null?(e.openBlock(),e.createElementBlock("span",Xt,"—")):t.column.type==="image"?(e.openBlock(),e.createElementBlock("img",{key:1,src:String(t.value),alt:t.column.header,class:"size-9 rounded-lg object-cover ring-1 ring-surface-200 dark:ring-surface-700"},null,8,Qt)):t.column.type==="boolean"?(e.openBlock(),e.createBlock(e.unref(at),{key:2,value:t.column.tagValue?t.column.tagValue(t.value,t.rowData):t.value?"Ativo":"Inativo",severity:t.column.tagSeverity?t.column.tagSeverity(t.value,t.rowData):t.value?"success":"danger",class:"text-xs"},null,8,["value","severity"])):t.column.type==="date"?(e.openBlock(),e.createElementBlock("span",eo,e.toDisplayString(e.unref(o)(t.value)),1)):t.column.type==="datetime"?(e.openBlock(),e.createElementBlock("span",to,e.toDisplayString(e.unref(a)(t.value)),1)):t.column.type==="currency"?(e.openBlock(),e.createElementBlock("span",oo,e.toDisplayString(e.unref(l)(t.value)),1)):t.column.type==="number"?(e.openBlock(),e.createElementBlock("span",ao,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):e.unref(r)(t.value,t.column.decimals??0)),1)):(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):t.value),1))}});var lo=Object.defineProperty,ro=(t,o,a)=>o in t?lo(t,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[o]=a,Ee=(t,o,a)=>ro(t,typeof o!="symbol"?o+"":o,a);const Ze={"#":{pattern:/[0-9]/},"@":{pattern:/[a-zA-Z]/},"*":{pattern:/[a-zA-Z0-9]/}},Xe=(t,o,a)=>t.replaceAll(o,"").replace(a,".").replace("..",".").replace(/[^.\d]/g,""),Qe=(t,o,a)=>{var l;return new Intl.NumberFormat(((l=a.number)==null?void 0:l.locale)??"en",{minimumFractionDigits:t,maximumFractionDigits:o,roundingMode:"trunc"})},io=(t,o=!0,a)=>{var l,r,i,s;const v=((l=a.number)==null?void 0:l.unsigned)!==!0&&t.startsWith("-")?"-":"",u=((r=a.number)==null?void 0:r.fraction)??0;let h=Qe(0,u,a);const $=h.formatToParts(1000.12),B=((i=$.find(p=>p.type==="group"))==null?void 0:i.value)??" ",F=((s=$.find(p=>p.type==="decimal"))==null?void 0:s.value)??".",P=Xe(t,B,F);if(Number.isNaN(parseFloat(P)))return v;const Y=P.split(".");if(Y[1]!=null&&Y[1].length>=1){const p=Y[1].length<=u?Y[1].length:u;h=Qe(p,u,a)}let I=h.format(parseFloat(P));return o?u>0&&P.endsWith(".")&&!P.slice(0,-1).includes(".")&&(I+=F):I=Xe(I,B,F),v+I},ft=t=>JSON.parse(t.replaceAll("'",'"')),so=(t,o={})=>{const a={...o};t.dataset.maska!=null&&t.dataset.maska!==""&&(a.mask=co(t.dataset.maska)),t.dataset.maskaEager!=null&&(a.eager=Fe(t.dataset.maskaEager)),t.dataset.maskaReversed!=null&&(a.reversed=Fe(t.dataset.maskaReversed)),t.dataset.maskaTokensReplace!=null&&(a.tokensReplace=Fe(t.dataset.maskaTokensReplace)),t.dataset.maskaTokens!=null&&(a.tokens=uo(t.dataset.maskaTokens));const l={};return t.dataset.maskaNumberLocale!=null&&(l.locale=t.dataset.maskaNumberLocale),t.dataset.maskaNumberFraction!=null&&(l.fraction=parseInt(t.dataset.maskaNumberFraction)),t.dataset.maskaNumberUnsigned!=null&&(l.unsigned=Fe(t.dataset.maskaNumberUnsigned)),(t.dataset.maskaNumber!=null||Object.values(l).length>0)&&(a.number=l),a},Fe=t=>t!==""?!!JSON.parse(t):!0,co=t=>t.startsWith("[")&&t.endsWith("]")?ft(t):t,uo=t=>{if(t.startsWith("{")&&t.endsWith("}"))return ft(t);const o={};return t.split("|").forEach(a=>{const l=a.split(":");o[l[0]]={pattern:pt()?new RegExp(l[1],"u"):new RegExp(l[1]),optional:l[2]==="optional",multiple:l[2]==="multiple",repeated:l[2]==="repeated"}}),o},pt=()=>{try{return new RegExp("\\p{L}","u"),!0}catch{return!1}};class mo{constructor(o={}){Ee(this,"opts",{}),Ee(this,"memo",new Map);const a={...o};if(a.tokens!=null){a.tokens=a.tokensReplace?{...a.tokens}:{...Ze,...a.tokens};for(const l of Object.values(a.tokens))typeof l.pattern=="string"&&(l.pattern=pt()?new RegExp(l.pattern,"u"):new RegExp(l.pattern))}else a.tokens=Ze;Array.isArray(a.mask)&&(a.mask.length>1?a.mask=[...a.mask].sort((l,r)=>l.length-r.length):a.mask=a.mask[0]??""),a.mask===""&&(a.mask=null),this.opts=a}masked(o){return this.process(String(o),this.findMask(String(o)))}unmasked(o){return this.process(String(o),this.findMask(String(o)),!1)}isEager(){return this.opts.eager===!0}isReversed(){return this.opts.reversed===!0}completed(o){const a=this.findMask(String(o));if(this.opts.mask==null||a==null)return!1;const l=this.process(String(o),a).length;return typeof this.opts.mask=="string"?l>=this.opts.mask.length:l>=a.length}findMask(o){const a=this.opts.mask;if(a==null)return null;if(typeof a=="string")return a;if(typeof a=="function")return a(o);const l=this.process(o,a.slice(-1).pop()??"",!1);return a.find(r=>this.process(o,r,!1).length>=l.length)??""}escapeMask(o){const a=[],l=[];return o.split("").forEach((r,i)=>{r==="!"&&o[i-1]!=="!"?l.push(i-l.length):a.push(r)}),{mask:a.join(""),escaped:l}}process(o,a,l=!0){if(this.opts.number!=null)return io(o,l,this.opts);if(a==null)return o;const r=`v=${o},mr=${a},m=${l?1:0}`;if(this.memo.has(r))return this.memo.get(r);const{mask:i,escaped:s}=this.escapeMask(a),v=[],u=this.opts.tokens!=null?this.opts.tokens:{},h=this.isReversed()?-1:1,$=this.isReversed()?"unshift":"push",B=this.isReversed()?0:i.length-1,F=this.isReversed()?()=>p>-1&&g>-1:()=>p<i.length&&g<o.length,P=V=>!this.isReversed()&&V<=B||this.isReversed()&&V>=B;let Y,I=-1,p=this.isReversed()?i.length-1:0,g=this.isReversed()?o.length-1:0,k=!1;for(;F();){const V=i.charAt(p),x=u[V],L=(x==null?void 0:x.transform)!=null?x.transform(o.charAt(g)):o.charAt(g);if(!s.includes(p)&&x!=null?(L.match(x.pattern)!=null?(v[$](L),x.repeated?(I===-1?I=p:p===B&&p!==I&&(p=I-h),B===I&&(p-=h)):x.multiple&&(k=!0,p-=h),p+=h):x.multiple?k&&(p+=h,g-=h,k=!1):L===Y?Y=void 0:x.optional&&(p+=h,g-=h),g+=h):(l&&!this.isEager()&&v[$](V),L===V&&!this.isEager()?g+=h:Y=V,this.isEager()||(p+=h)),this.isEager())for(;P(p)&&(u[i.charAt(p)]==null||s.includes(p));){if(l){if(v[$](i.charAt(p)),o.charAt(g)===i.charAt(p)){p+=h,g+=h;continue}}else i.charAt(p)===o.charAt(g)&&(g+=h);p+=h}}return this.memo.set(r,v.join("")),this.memo.get(r)}}class fo{constructor(o,a={}){Ee(this,"items",new Map),Ee(this,"eventAbortController"),Ee(this,"onInput",l=>{if(l instanceof CustomEvent&&l.type==="input"&&!l.isTrusted&&!l.bubbles)return;const r=l.target,i=this.items.get(r);if(i===void 0)return;const s="inputType"in l&&l.inputType.startsWith("delete"),v=i.isEager(),u=s&&v&&i.unmasked(r.value)===""?"":r.value;this.fixCursor(r,s,()=>this.setValue(r,u))}),this.options=a,this.eventAbortController=new AbortController,this.init(this.getInputs(o))}update(o={}){this.options={...o},this.init(Array.from(this.items.keys()))}updateValue(o){var a;o.value!==""&&o.value!==((a=this.processInput(o))==null?void 0:a.masked)&&this.setValue(o,o.value)}destroy(){this.eventAbortController.abort(),this.items.clear()}init(o){const a=this.getOptions(this.options);for(const l of o){if(!this.items.has(l)){const{signal:i}=this.eventAbortController;l.addEventListener("input",this.onInput,{capture:!0,signal:i})}const r=new mo(so(l,a));this.items.set(l,r),queueMicrotask(()=>this.updateValue(l)),l.selectionStart===null&&r.isEager()&&console.warn("Maska: input of `%s` type is not supported",l.type)}}getInputs(o){return typeof o=="string"?Array.from(document.querySelectorAll(o)):"length"in o?Array.from(o):[o]}getOptions(o){const{onMaska:a,preProcess:l,postProcess:r,...i}=o;return i}fixCursor(o,a,l){var r,i;const s=o.selectionStart,v=o.value;if(l(),s===null||s===v.length&&!a)return;const u=o.value,h=v.slice(0,s),$=u.slice(0,s),B=(r=this.processInput(o,h))==null?void 0:r.unmasked,F=(i=this.processInput(o,$))==null?void 0:i.unmasked;if(B===void 0||F===void 0)return;let P=s;h!==$&&(P+=a?u.length-v.length:B.length-F.length),o.setSelectionRange(P,P)}setValue(o,a){const l=this.processInput(o,a);l!==void 0&&(o.value=l.masked,this.options.onMaska!=null&&(Array.isArray(this.options.onMaska)?this.options.onMaska.forEach(r=>r(l)):this.options.onMaska(l)),o.dispatchEvent(new CustomEvent("maska",{detail:l})),o.dispatchEvent(new CustomEvent("input",{detail:l.masked})))}processInput(o,a){const l=this.items.get(o);if(l===void 0)return;let r=a??o.value;this.options.preProcess!=null&&(r=this.options.preProcess(r));let i=l.masked(r);return this.options.postProcess!=null&&(i=this.options.postProcess(i)),{masked:i,unmasked:l.unmasked(r),completed:l.completed(r)}}}const ze=new WeakMap,po=(t,o)=>{if(t.arg==null||t.instance==null)return;const a="setup"in t.instance.$.type;t.arg in t.instance?t.instance[t.arg]=o:a&&console.warn("Maska: please expose `%s` using defineExpose",t.arg)},Te=(t,o)=>{var a;const l=t instanceof HTMLInputElement?t:t.querySelector("input");if(l==null||(l==null?void 0:l.type)==="file")return;let r={};if(o.value!=null&&(r=typeof o.value=="string"?{mask:o.value}:{...o.value}),o.arg!=null){const i=s=>{const v=o.modifiers.unmasked?s.unmasked:o.modifiers.completed?s.completed:s.masked;po(o,v)};r.onMaska=r.onMaska==null?i:Array.isArray(r.onMaska)?[...r.onMaska,i]:[r.onMaska,i]}ze.has(l)?(a=ze.get(l))==null||a.update(r):ze.set(l,new fo(l,r))},vo={string:"text",integer:"number",decimal:"number",float:"number",boolean:"switch",choice:"select",fk:"fk",date:"date",datetime:"datetime",email:"email",url:"text",slug:"text",text:"textarea"};function vt(t){var l;const o=vo[t.type]??"text",a={field:t.name,label:t.label,type:o,required:t.required??!1};return(t.type==="decimal"||t.type==="float")&&(a.minFractionDigits=2,a.maxFractionDigits=2),t.type==="boolean"&&(a.defaultValue=!1),t.type==="choice"&&((l=t.choices)!=null&&l.length)&&(a.options=t.choices.map(r=>({label:r.label,value:r.value}))),t.type==="fk"&&(a.endpoint=t.endpoint,t.option_label&&(a.optionLabel=t.option_label),t.option_value&&(a.optionValue=t.option_value)),a}function gt(t){return t.filter(o=>!o.read_only&&o.name!=="id").map(vt)}const go={boolean:"boolean",date:"date",datetime:"datetime",decimal:"number",float:"number",integer:"number"};function ht(t){return{field:t.type==="fk"?`${t.name}_nome`:t.name,header:t.label,type:go[t.type],sortable:!0}}function kt(t,o=6){return t.filter(a=>!a.read_only&&a.name!=="id").slice(0,o).map(ht)}function Ye(){const t=Tt.useToast();function o(i,s="Sucesso"){t.add({severity:"success",summary:s,detail:i,life:3e3})}function a(i,s="Erro"){t.add({severity:"error",summary:s,detail:i,life:5e3})}function l(i,s="Atenção"){t.add({severity:"warn",summary:s,detail:i,life:4e3})}function r(i,s="Info"){t.add({severity:"info",summary:s,detail:i,life:3e3})}return{success:o,error:a,warn:l,info:r}}function je(){const t=It.useConfirm();function o(l,r="Deseja realmente excluir este registro?"){t.require({message:r,header:"Confirmar Exclusão",icon:"pi pi-trash",rejectLabel:"Cancelar",rejectProps:{severity:"secondary",text:!0},acceptLabel:"Excluir",acceptProps:{severity:"danger"},accept:l})}function a(l,r,i="Confirmação"){t.require({message:l,header:i,icon:"pi pi-question-circle",rejectLabel:"Cancelar",rejectProps:{severity:"secondary",text:!0},acceptLabel:"Confirmar",accept:r})}return{confirmDelete:o,confirmAction:a}}function ho(t){return t.replace(/_/g," ").replace(/^\w/,o=>o.toUpperCase())}function ko(t){if(typeof t=="string")return t;if(Array.isArray(t)){const o=t.filter(a=>typeof a=="string");return o.length>0?o.join(" "):null}if(typeof t=="object"&&t!==null){const o=t;if(Array.isArray(o.non_field_errors)&&o.non_field_errors.length>0)return o.non_field_errors.filter(l=>typeof l=="string").join(" ");const a=[];for(const[l,r]of Object.entries(o)){if(l==="non_field_errors")continue;const i=ho(l);if(Array.isArray(r)){const s=r.filter(v=>typeof v=="string");s.length>0&&a.push(`${i}: ${s.join(" ")}`)}else typeof r=="string"&&a.push(`${i}: ${r}`)}return a.length>0?a.join(`
|
|
2
|
-
`):null}return null}function ye(t,o="Erro inesperado"){var i;if(!t||typeof t!="object")return o;const a=t,l=(i=a.response)==null?void 0:i.data;if(!l||typeof l!="object")return a.message||o;const r=l.detail??l;return ko(r)||o}function yo(){return{extractApiError:ye}}const bo={class:"w-autocompletefk"},wo=["disabled"],Bo={class:"w-autocompletefk-toolbar"},Co={class:"w-autocompletefk-toolbar-actions"},Vo={class:"flex items-center justify-end gap-1"},Eo={class:"w-autocompletefk-footer"},Oe=e.defineComponent({__name:"WAutoCompleteFK",props:{modelValue:{},endpoint:{},endpointParams:{},optionLabel:{default:"nome"},optionValue:{default:"id"},placeholder:{default:"Buscar..."},disabled:{type:Boolean,default:!1},showClear:{type:Boolean,default:!0},forceSelection:{type:Boolean,default:!0},columns:{},minLength:{default:0},dialogHeader:{},canCreate:{type:Boolean,default:void 0},canEdit:{type:Boolean,default:void 0},canDelete:{type:Boolean,default:void 0},crudFields:{},crudColumns:{},dialogWidth:{default:"480px"}},emits:["update:modelValue"],setup(t,{emit:o}){const a=t,l=o,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin.");const i=r,s=Ye(),{confirmDelete:v}=je(),u=e.ref(null),h=e.ref([]),$=e.ref(!1);let B=null;async function F(y){try{const C=await i.get(a.endpoint,y);u.value=C.data}catch{u.value=null}}async function P(y){$.value=!0;try{const C={page_size:20,...a.endpointParams};y&&(C.search=y);const q=await i.list(a.endpoint,C);h.value=q.data}catch{h.value=[]}finally{$.value=!1}}function Y(y){const C=y.query||"";if(C.length<a.minLength){h.value=[];return}B&&clearTimeout(B),B=setTimeout(()=>P(C),300)}function I(y){u.value=y.value,l("update:modelValue",y.value)}function p(){u.value=null,l("update:modelValue",null)}e.watch(()=>a.modelValue,async y=>{if(y!=null){if(typeof y=="object"&&y!==null&&a.optionLabel in y){u.value=y;return}(!u.value||u.value[a.optionValue]!==y)&&await F(y)}else u.value=null},{immediate:!0});const g=e.ref(!1),k=e.ref([]),V=e.ref(!1),x=e.ref(""),L=e.ref(1),z=e.ref(15),M=e.ref(0),T=e.ref(null),j=e.ref(null),K=e.ref(0);let W=null;const U=e.ref([]),m=e.computed(()=>{var y;return(y=a.crudFields)!=null&&y.length?!0:U.value.length>0}),w=e.computed(()=>a.canCreate??m.value),c=e.computed(()=>a.canEdit??m.value),n=e.computed(()=>a.canDelete??m.value),f=e.computed(()=>c.value||n.value),d=e.computed(()=>{var y;return(y=a.crudFields)!=null&&y.length?a.crudFields:gt(U.value)}),D=e.computed(()=>{var y,C;return(y=a.crudColumns)!=null&&y.length?a.crudColumns:(C=a.columns)!=null&&C.length?a.columns.map(q=>({field:q.field,header:q.header,sortable:!0})):U.value.length?kt(U.value):[{field:a.optionLabel,header:a.optionLabel,sortable:!0}]});async function N(){var y,C,q;V.value=!0;try{const A={page:L.value,page_size:z.value,...a.endpointParams};x.value&&(A.search=x.value),j.value&&K.value!==0&&(A.ordering=K.value===-1?`-${j.value}`:j.value);const G=await i.list(a.endpoint,A);k.value=G.data,M.value=G.rows,(y=G.extras)!=null&&y.fields&&!((C=a.columns)!=null&&C.length)&&!((q=a.crudFields)!=null&&q.length)&&(U.value=G.extras.fields)}catch{k.value=[],M.value=0}finally{V.value=!1}}function R(){a.disabled||(x.value="",L.value=1,j.value=null,K.value=0,T.value=null,g.value=!0,N())}function _(y){L.value=y.page+1,z.value=y.rows,N()}function X(y){j.value=y.sortField??null,K.value=y.sortOrder??0,L.value=1,N()}function be(){T.value&&(u.value=T.value,l("update:modelValue",T.value),g.value=!1)}function we(y){u.value=y.data,l("update:modelValue",y.data),g.value=!1}e.watch(x,()=>{W&&clearTimeout(W),W=setTimeout(()=>{L.value=1,N()},300)});const ee=e.ref(!1),Z=e.ref(!1),te=e.ref(null),Q=e.reactive({}),ie=e.computed(()=>te.value!==null),se=e.computed(()=>ie.value?"Editar Registro":"Novo Registro");function fe(){const y={};for(const C of d.value)y[C.field]=C.defaultValue!==void 0?typeof C.defaultValue=="function"?C.defaultValue():C.defaultValue:null;return y}function ne(){const y=fe();for(const C of Object.keys(Q))delete Q[C];for(const[C,q]of Object.entries(y))Q[C]=q}function ce(){te.value=null,ne(),ee.value=!0}function ue(y){te.value=y;for(const C of d.value)Q[C.field]=y[C.field]!==void 0?y[C.field]:null;ee.value=!0}function pe(y,C){Q[y]=C}async function ve(){Z.value=!0;try{const y={...Q};for(const q of d.value){const A=y[q.field];if(q.type==="fk"&&A!==null&&typeof A=="object"){const G=q.optionValue||"id";y[q.field]=A[G]??A}}let C;if(ie.value&&te.value){const q=te.value[a.optionValue];C=await i.update(a.endpoint,q,y);const A=k.value.findIndex(G=>G[a.optionValue]===q);A!==-1&&(k.value[A]=C.data),s.success("Registro atualizado com sucesso")}else C=await i.create(a.endpoint,y),k.value.unshift(C.data),M.value++,s.success("Registro criado com sucesso");ee.value=!1,te.value=null,T.value=C.data}catch(y){s.error(ye(y,"Erro ao salvar registro"))}finally{Z.value=!1}}function le(y){v(async()=>{try{const C=y[a.optionValue];await i.delete(a.endpoint,C);const q=k.value.findIndex(A=>A[a.optionValue]===C);q!==-1&&(k.value.splice(q,1),M.value--),u.value&&u.value[a.optionValue]===C&&(u.value=null,l("update:modelValue",null)),T.value&&T.value[a.optionValue]===C&&(T.value=null),s.success("Registro excluído com sucesso")}catch(C){s.error(ye(C,"Erro ao excluir registro"))}})}return(y,C)=>{const q=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",bo,[e.createVNode(e.unref(lt),{"model-value":u.value,suggestions:h.value,"option-label":t.optionLabel,placeholder:t.placeholder,disabled:t.disabled,"force-selection":t.forceSelection,loading:$.value,fluid:"",onComplete:Y,onItemSelect:I,onClear:p},null,8,["model-value","suggestions","option-label","placeholder","disabled","force-selection","loading"]),e.withDirectives((e.openBlock(),e.createElementBlock("button",{type:"button",disabled:t.disabled,class:"w-autocompletefk-trigger",onClick:R},[...C[6]||(C[6]=[e.createElementVNode("i",{class:"pi pi-search"},null,-1)])],8,wo)),[[q,"Pesquisar",void 0,{top:!0}]])]),e.createVNode(e.unref(nt),{visible:g.value,"onUpdate:visible":C[4]||(C[4]=A=>g.value=A),header:t.dialogHeader||"Pesquisar",style:{width:"80vw"},modal:"",draggable:!1,class:"w-autocompletefk-dialog"},{footer:e.withCtx(()=>[e.createElementVNode("div",Eo,[e.createVNode(e.unref(H),{label:"Cancelar",severity:"secondary",text:"",onClick:C[3]||(C[3]=A=>g.value=!1)}),e.createVNode(e.unref(H),{label:"Selecionar",icon:"pi pi-check",disabled:!T.value,onClick:be},null,8,["disabled"])])]),default:e.withCtx(()=>[e.createElementVNode("div",Bo,[e.createVNode(e.unref($e),{class:"w-autocompletefk-toolbar-search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:x.value,"onUpdate:modelValue":C[0]||(C[0]=A=>x.value=A),placeholder:"Pesquisar...",class:"w-full"},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",Co,[w.value?(e.openBlock(),e.createBlock(e.unref(H),{key:0,label:"Novo",icon:"pi pi-plus",size:"small",onClick:ce})):e.createCommentVNode("",!0)])]),e.createVNode(e.unref(ot),{selection:T.value,"onUpdate:selection":C[1]||(C[1]=A=>T.value=A),value:k.value,loading:V.value,paginator:"",lazy:"","striped-rows":"","removable-sort":"",size:"small",rows:z.value,"total-records":M.value,"sort-field":j.value??void 0,"sort-order":K.value,"selection-mode":"single","data-key":t.optionValue,onPage:_,onSort:C[2]||(C[2]=A=>X({sortField:A.sortField,sortOrder:A.sortOrder})),onRowDblclick:we},{empty:e.withCtx(()=>[...C[7]||(C[7]=[e.createElementVNode("div",{class:"w-autocompletefk-empty"},"Nenhum registro encontrado",-1)])]),default:e.withCtx(()=>[e.createVNode(e.unref(ke),{"selection-mode":"single","header-style":"width: 3rem"}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,A=>(e.openBlock(),e.createBlock(e.unref(ke),{key:A.field,field:A.field,header:A.header,sortable:A.sortable??!0,style:e.normalizeStyle(A.style)},{body:e.withCtx(({data:G})=>[A.type?(e.openBlock(),e.createBlock(Se,{key:0,column:A,value:G[A.field],"row-data":G},null,8,["column","value","row-data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(G[A.field]),1)],64))]),_:2},1032,["field","header","sortable","style"]))),128)),f.value?(e.openBlock(),e.createBlock(e.unref(ke),{key:0,header:"",style:{width:"6rem"}},{body:e.withCtx(({data:A})=>[e.createElementVNode("div",Vo,[c.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:"pi pi-pencil",text:"",rounded:"",size:"small",onClick:G=>ue(A)},null,8,["onClick"])),[[q,"Editar",void 0,{top:!0}]]):e.createCommentVNode("",!0),n.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:1,icon:"pi pi-trash",text:"",rounded:"",size:"small",severity:"danger",onClick:G=>le(A)},null,8,["onClick"])),[[q,"Excluir",void 0,{top:!0}]]):e.createCommentVNode("",!0)])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["selection","value","loading","rows","total-records","sort-field","sort-order","data-key"])]),_:1},8,["visible","header"]),m.value?(e.openBlock(),e.createBlock(Le,{key:0,visible:ee.value,title:se.value,fields:d.value,"form-data":Q,"is-editing":ie.value,saving:Z.value,width:t.dialogWidth,"onUpdate:visible":C[5]||(C[5]=A=>{ee.value=A,A||(te.value=null)}),"onUpdate:field":pe,onSave:ve},null,8,["visible","title","fields","form-data","is-editing","saving","width"])):e.createCommentVNode("",!0)],64)}}}),We=e.defineComponent({__name:"WMoneyInput",props:{modelValue:{},decimals:{default:2},currency:{type:Boolean,default:!1},prefix:{},suffix:{},locale:{default:"pt-BR"},disabled:{type:Boolean,default:!1},placeholder:{},invalid:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const a=t,l=o,r=e.computed(()=>a.prefix??(a.currency?"R$":void 0)),i=e.computed(()=>!!r.value||!!a.suffix),s=e.computed(()=>{const u=a.modelValue;return u==null||Number.isNaN(u)?"":new Intl.NumberFormat(a.locale,{minimumFractionDigits:a.decimals,maximumFractionDigits:a.decimals}).format(u)});function v(u){const h=u.target.value.replace(/\D/g,"");if(!h){l("update:modelValue",null);return}const $=Number(h)/Math.pow(10,a.decimals);l("update:modelValue",$)}return(u,h)=>i.value?(e.openBlock(),e.createBlock(e.unref(Yt),{key:0,class:"w-money-input"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(J),{"model-value":s.value,inputmode:"numeric",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:v},null,8,["model-value","placeholder","disabled","invalid"]),t.suffix?(e.openBlock(),e.createBlock(e.unref(Ge),{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})):(e.openBlock(),e.createBlock(e.unref(J),{key:1,"model-value":s.value,inputmode:"numeric",fluid:"",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:v},null,8,["model-value","placeholder","disabled","invalid"]))}}),$o={class:"w-transfer__pane"},No={class:"w-transfer__head"},So={class:"w-transfer__count"},Do={class:"w-transfer__list"},xo=["onClick"],Po={key:0,class:"w-transfer__empty"},Fo={class:"w-transfer__controls"},Mo={class:"w-transfer__pane"},Ao={class:"w-transfer__head"},Ro={class:"w-transfer__count"},Lo={class:"w-transfer__list"},zo=["onClick"],To={key:0,class:"w-transfer__empty"},Ue=e.defineComponent({__name:"WTransferList",props:{source:{},selected:{default:()=>[]},trackBy:{default:"id"},optionLabel:{default:"nome"},searchFields:{},disabled:{type:Boolean}},emits:["update:selected"],setup(t,{emit:o}){const a=t,l=o,r=e.ref(""),i=e.ref(""),s=e.computed(()=>new Set(a.selected)),v=e.computed(()=>a.searchFields??[a.optionLabel]);function u(g){return g[a.trackBy]}function h(g){return String(g[a.optionLabel]??"")}function $(g,k){if(!k)return!0;const V=k.toLowerCase();return v.value.some(x=>String(g[x]??"").toLowerCase().includes(V))}const B=e.computed(()=>a.source.filter(g=>!s.value.has(u(g))&&$(g,r.value))),F=e.computed(()=>a.source.filter(g=>s.value.has(u(g))&&$(g,i.value)));function P(g){a.disabled||l("update:selected",[...a.selected,u(g)])}function Y(g){if(a.disabled)return;const k=u(g);l("update:selected",a.selected.filter(V=>V!==k))}function I(){a.disabled||l("update:selected",a.source.map(u))}function p(){a.disabled||l("update:selected",[])}return(g,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-transfer",{"w-transfer--disabled":t.disabled}])},[e.createElementVNode("div",$o,[e.createElementVNode("div",No,[k[2]||(k[2]=e.createElementVNode("span",{class:"w-transfer__title"},"Disponíveis",-1)),e.createElementVNode("span",So,e.toDisplayString(B.value.length),1)]),e.createVNode(e.unref($e),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=V=>r.value=V),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",Do,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,V=>(e.openBlock(),e.createElementBlock("li",{key:`a-${u(V)}`,class:"w-transfer__item",onClick:x=>P(V)},[e.createElementVNode("span",null,e.toDisplayString(h(V)),1),k[3]||(k[3]=e.createElementVNode("i",{class:"pi pi-angle-right"},null,-1))],8,xo))),128)),B.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Po,"Nenhum item"))])]),e.createElementVNode("div",Fo,[e.createVNode(e.unref(H),{type:"button",icon:"pi pi-angle-double-right",text:"",rounded:"",disabled:t.disabled||!B.value.length,onClick:I},null,8,["disabled"]),e.createVNode(e.unref(H),{type:"button",icon:"pi pi-angle-double-left",text:"",rounded:"",disabled:t.disabled||!t.selected.length,onClick:p},null,8,["disabled"])]),e.createElementVNode("div",Mo,[e.createElementVNode("div",Ao,[k[4]||(k[4]=e.createElementVNode("span",{class:"w-transfer__title"},"Selecionados",-1)),e.createElementVNode("span",Ro,e.toDisplayString(F.value.length),1)]),e.createVNode(e.unref($e),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=V=>i.value=V),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",Lo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,V=>(e.openBlock(),e.createElementBlock("li",{key:`s-${u(V)}`,class:"w-transfer__item",onClick:x=>Y(V)},[k[5]||(k[5]=e.createElementVNode("i",{class:"pi pi-angle-left"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(h(V)),1)],8,zo))),128)),F.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",To,"Nenhum item"))])])],2))}});async function Io(t){const o=t.replace(/\D/g,"");if(o.length!==8)return null;try{const a=await fetch(`https://viacep.com.br/ws/${o}/json/`);if(!a.ok)return null;const l=await a.json();return l.erro?null:l}catch{return null}}const Yo={class:"w-crud-form"},jo={key:0,class:"w-crud-form-group-header"},Oo={class:"w-crud-form-group-title"},Wo={key:0,class:"w-crud-form-group-desc"},Uo={class:"w-crud-form-fields"},qo={key:0,class:"w-crud-form-switch"},Ho={class:"w-crud-form-switch-label"},Ko={key:1,class:"w-crud-form-col-full"},Go={class:"w-crud-form-label"},_o={key:0,class:"w-crud-form-required"},Jo={class:"w-crud-form-color-row"},Zo={key:2,class:"w-crud-form-col-full"},Xo={class:"w-crud-form-label"},Qo=["accept","disabled","onChange"],ea={key:3,class:"w-crud-form-col-full"},ta={class:"w-crud-form-label"},oa={key:0,class:"w-crud-form-required"},aa={class:"w-crud-form-label"},na={key:0,class:"w-crud-form-required"},la={key:1,class:"pi pi-spin pi-spinner w-crud-form-cep-spinner"},ra={key:16,class:"w-crud-form-cep-error"},ia={key:17,class:"w-crud-form-error"},yt=e.defineComponent({__name:"WFormRenderer",props:{fields:{},formData:{},isEditing:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:["update:field"],setup(t,{expose:o,emit:a}){const l=t,r=a,i=e.reactive({}),s=e.reactive({}),v=e.reactive({}),u=e.reactive({});function h(m,w){const c=w.target.value,n=c.replace(/\D/g,"");r("update:field",m.field,c),v[m.field]=null,u[m.field]&&(clearTimeout(u[m.field]),u[m.field]=null),n.length===8&&(u[m.field]=setTimeout(async()=>{s[m.field]=!0,v[m.field]=null;try{const f=await Io(n);if(!f)v[m.field]="CEP não encontrado. Preencha os campos manualmente.";else{const d=m.cepFields||{},D=Object.keys(d);for(const N of D){const R=d[N];if(!R)continue;const _=l.formData[R];(_==null||_==="")&&r("update:field",R,f[N]??"")}}}finally{s[m.field]=!1}},400))}const $=e.computed(()=>l.fields.filter(m=>m.visible===void 0||m.visible===!0?!0:typeof m.visible=="function"?m.visible(l.formData,l.isEditing):m.visible));function B(m){return l.disabled||m.disabledOnEdit&&l.isEditing?!0:typeof m.disabled=="function"?m.disabled(l.formData,l.isEditing):!!m.disabled}function F(m){return e.isRef(m)?m.value:m}const P=e.computed(()=>{const m=l.isEditing?"edit":"create",w=l.fields.find(n=>n.autofocus===!0||n.autofocus===m);if(w)return w.field;const c=$.value.find(n=>!(n.type==="switch"||n.type==="fk"||n.type==="select"||n.type==="image"||n.disabled===!0||n.disabledOnEdit&&l.isEditing));return(c==null?void 0:c.field)??null});function Y(m){return m.field===P.value}function I(m){if(m)return m.replace(/9/g,"#").replace(/a/g,"S").replace(/\*/g,"X")}function p(m){if(!m)return"";const w=String(m).replace(/\D/g,"").slice(0,14);return w.length<=11?w.replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2"):w.replace(/(\d{2})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1/$2").replace(/(\d{4})(\d{1,2})$/,"$1-$2")}function g(m,w){const c=w.target.value.replace(/\D/g,"").slice(0,14);r("update:field",m,c)}const k=e.reactive({});function V(m){const w=l.formData[m.field];if(w==null)return null;const c=m.optionValue||"value";return(F(m.options)||[]).find(f=>f[c]===w)??null}function x(m){return k[m.field]||[]}function L(m,w){const c=(w.query||"").toLowerCase(),n=F(m.options)||[],f=m.optionLabel||"label";k[m.field]=n.filter(d=>String(d[f]||"").toLowerCase().includes(c))}function z(m,w){const c=m.optionValue||"value";r("update:field",m.field,w.value[c])}function M(m){const w=l.formData[m.field];return w?String(w).replace("#",""):"FFFFFF"}function T(m,w){r("update:field",m.field,`#${w}`)}function j(m){if(typeof m.validate=="function"){const w=m.validate(l.formData[m.field]);i[m.field]=w||null}}function K(){const m=[];for(const w of l.fields)if(typeof w.validate=="function"){const c=w.validate(l.formData[w.field]);i[w.field]=c||null,c&&m.push(c)}return m}function W(){Object.keys(i).forEach(m=>delete i[m])}const U=e.computed(()=>{var n,f,d,D;const m=new Map,w=[],c=new Map;for(const N of $.value){const R=((n=N.fieldGroup)==null?void 0:n.id)??"__default__";m.has(R)||(m.set(R,{id:R,title:(f=N.fieldGroup)==null?void 0:f.title,description:(d=N.fieldGroup)==null?void 0:d.description,fields:[]}),w.push(R),((D=N.fieldGroup)==null?void 0:D.order)!=null&&c.set(R,N.fieldGroup.order)),m.get(R).fields.push(N)}return w.slice().sort((N,R)=>{const _=c.get(N),X=c.get(R);return _!=null&&X!=null?_-X:_!=null?-1:X!=null?1:w.indexOf(N)-w.indexOf(R)}).map(N=>m.get(N))});return o({validateAll:K,clearErrors:W}),(m,w)=>(e.openBlock(),e.createElementBlock("div",Yo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(U.value,c=>(e.openBlock(),e.createElementBlock("div",{key:c.id,class:"w-crud-form-group"},[c.title?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("h3",Oo,e.toDisplayString(c.title),1),c.description?(e.openBlock(),e.createElementBlock("p",Wo,e.toDisplayString(c.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Uo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.fields,n=>e.renderSlot(m.$slots,`field-${n.field}`,{key:n.field,field:n,formData:t.formData,isEditing:t.isEditing,setFormField:(f,d)=>r("update:field",f,d)},()=>[n.type==="switch"?(e.openBlock(),e.createElementBlock("div",qo,[e.createVNode(e.unref(Rt),{"model-value":t.formData[n.field],disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createElementVNode("label",Ho,e.toDisplayString(n.switchLabel||n.label),1)])):n.type==="color"?(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("label",Go,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",_o,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Jo,[e.createVNode(e.unref(Lt),{"model-value":M(n),disabled:B(n),"onUpdate:modelValue":f=>T(n,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createVNode(e.unref(J),{"model-value":t.formData[n.field],class:"w-28",maxlength:"7",placeholder:"#000000",disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"])])])):n.type==="image"?(e.openBlock(),e.createElementBlock("div",Zo,[e.createElementVNode("label",Xo,e.toDisplayString(n.label),1),e.renderSlot(m.$slots,`image-${n.field}`,{field:n,formData:t.formData},()=>[e.createElementVNode("input",{type:"file",accept:n.accept||"image/*",disabled:B(n),onChange:f=>{var D;const d=((D=f.target.files)==null?void 0:D[0])??null;r("update:field",n.field,d)}},null,40,Qo)])])):n.type==="transfer"?(e.openBlock(),e.createElementBlock("div",ea,[e.createElementVNode("label",ta,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",oa,"*")):e.createCommentVNode("",!0)]),e.createVNode(Ue,{source:F(n.options)||[],selected:t.formData[n.field]||[],"track-by":n.optionValue||"id","option-label":n.optionLabel||"nome","search-fields":n.searchFields,disabled:B(n),"onUpdate:selected":f=>r("update:field",n.field,f)},null,8,["source","selected","track-by","option-label","search-fields","disabled","onUpdate:selected"])])):(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(n.colSpan===.5?"w-crud-form-col-half":"w-crud-form-col-full")},[e.createElementVNode("label",aa,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",na,"*")):e.createCommentVNode("",!0),s[n.field]?(e.openBlock(),e.createElementBlock("i",la)):e.createCommentVNode("",!0)]),(!n.type||n.type==="text")&&n.mask?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:0,"model-value":t.formData[n.field],fluid:"",autofocus:Y(n)||void 0,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])),[[e.unref(Te),{mask:I(n.mask)}]]):!n.type||n.type==="text"?(e.openBlock(),e.createBlock(e.unref(J),{key:1,"model-value":t.formData[n.field],fluid:"",autofocus:Y(n)||void 0,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):n.type==="email"?(e.openBlock(),e.createBlock(e.unref(J),{key:2,"model-value":t.formData[n.field],type:"email",fluid:"",autofocus:Y(n)||void 0,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):n.type==="password"?(e.openBlock(),e.createBlock(e.unref(zt),{key:3,"model-value":t.formData[n.field],fluid:"","toggle-mask":"",feedback:n.feedback!==!1,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","feedback","placeholder","disabled","onUpdate:modelValue"])):n.type==="number"?(e.openBlock(),e.createBlock(e.unref(He),{key:4,"model-value":t.formData[n.field],fluid:"",locale:"pt-BR",min:n.min,max:n.max,"min-fraction-digits":n.minFractionDigits,"max-fraction-digits":n.maxFractionDigits,suffix:n.suffix,prefix:n.prefix,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","min","max","min-fraction-digits","max-fraction-digits","suffix","prefix","placeholder","disabled","onUpdate:modelValue"])):n.type==="currency"&&n.fillFromRight?(e.openBlock(),e.createBlock(We,{key:5,"model-value":t.formData[n.field],decimals:n.decimals??2,currency:"",prefix:n.prefix,suffix:n.suffix,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","decimals","prefix","suffix","placeholder","disabled","onUpdate:modelValue"])):n.type==="currency"?(e.openBlock(),e.createBlock(e.unref(He),{key:6,"model-value":t.formData[n.field],fluid:"",mode:"currency",currency:"BRL",locale:"pt-BR",min:n.min,max:n.max,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","min","max","placeholder","disabled","onUpdate:modelValue"])):n.type==="select"?(e.openBlock(),e.createBlock(e.unref(At),{key:7,"model-value":t.formData[n.field],fluid:"",options:F(n.options),"option-label":n.optionLabel||"label","option-value":n.optionValue||"value","show-clear":n.showClear!==!1,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","options","option-label","option-value","show-clear","placeholder","disabled","onUpdate:modelValue"])):n.type==="autocomplete"?(e.openBlock(),e.createBlock(e.unref(lt),{key:8,"model-value":V(n),fluid:"",suggestions:x(n),"option-label":n.optionLabel||"label",placeholder:n.placeholder,disabled:B(n),onComplete:f=>L(n,f),onItemSelect:f=>z(n,f),onClear:f=>r("update:field",n.field,null)},null,8,["model-value","suggestions","option-label","placeholder","disabled","onComplete","onItemSelect","onClear"])):n.type==="fk"?(e.openBlock(),e.createBlock(Oe,{key:9,"model-value":t.formData[n.field],endpoint:n.endpoint,"endpoint-params":n.endpointParams,"option-label":n.optionLabel||"nome",placeholder:n.placeholder,disabled:B(n),"show-clear":n.showClear!==!1,"dialog-header":n.label,"crud-fields":n.crudFields,"crud-columns":n.crudColumns,"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","endpoint","endpoint-params","option-label","placeholder","disabled","show-clear","dialog-header","crud-fields","crud-columns","onUpdate:modelValue"])):n.type==="date"?(e.openBlock(),e.createBlock(e.unref(Ke),{key:10,"model-value":t.formData[n.field],fluid:"","date-format":n.dateFormat||"dd/mm/yy",placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","date-format","placeholder","disabled","onUpdate:modelValue"])):n.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(Ke),{key:11,"model-value":t.formData[n.field],fluid:"","show-time":"","hour-format":n.hourFormat||"24","date-format":n.dateFormat||"dd/mm/yy",placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","hour-format","date-format","placeholder","disabled","onUpdate:modelValue"])):n.type==="cpf_cnpj"?(e.openBlock(),e.createBlock(e.unref(J),{key:12,"model-value":p(t.formData[n.field]),fluid:"",maxlength:"18",placeholder:n.placeholder||"000.000.000-00",disabled:B(n),invalid:!!i[n.field],onInput:f=>g(n.field,f),onBlur:f=>j(n)},null,8,["model-value","placeholder","disabled","invalid","onInput","onBlur"])):n.type==="mask"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:13,"model-value":t.formData[n.field],fluid:"",placeholder:n.placeholder,disabled:B(n),invalid:!!i[n.field],"onUpdate:modelValue":f=>r("update:field",n.field,f),onBlur:f=>j(n)},null,8,["model-value","placeholder","disabled","invalid","onUpdate:modelValue","onBlur"])),[[e.unref(Te),{mask:I(n.mask)}]]):n.type==="cep"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:14,"model-value":t.formData[n.field],fluid:"",placeholder:n.placeholder||"00000-000",disabled:B(n),invalid:!!v[n.field],onInput:f=>h(n,f)},null,8,["model-value","placeholder","disabled","invalid","onInput"])),[[e.unref(Te),{mask:"#####-###"}]]):n.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(Mt),{key:15,"model-value":t.formData[n.field],fluid:"",autofocus:Y(n)||void 0,rows:n.rows||3,placeholder:n.placeholder,disabled:B(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","rows","placeholder","disabled","onUpdate:modelValue"])):e.createCommentVNode("",!0),v[n.field]?(e.openBlock(),e.createElementBlock("small",ra,e.toDisplayString(v[n.field]),1)):i[n.field]?(e.openBlock(),e.createElementBlock("small",ia,e.toDisplayString(i[n.field]),1)):e.createCommentVNode("",!0)],2))])),128))])]))),128))]))}}),sa={class:"w-crud-form-footer"},Le=e.defineComponent({__name:"WCrudFormDialog",props:{visible:{type:Boolean},title:{},fields:{},formData:{},isEditing:{type:Boolean},saving:{type:Boolean},disabled:{type:Boolean,default:!1},width:{default:"480px"}},emits:["update:visible","update:field","save"],setup(t,{emit:o}){const a=t,l=o,r=e.ref(null);function i(){r.value?r.value.validateAll().length===0&&l("save"):l("save")}return e.watch(()=>a.visible,s=>{s&&r.value&&r.value.clearErrors()}),(s,v)=>(e.openBlock(),e.createBlock(e.unref(nt),{visible:t.visible,header:t.title,style:e.normalizeStyle({width:t.width}),modal:"",draggable:!1,class:"w-crud-form-dialog","onUpdate:visible":v[2]||(v[2]=u=>l("update:visible",u))},{default:e.withCtx(()=>[e.createElementVNode("form",{class:"w-crud-form",onSubmit:e.withModifiers(i,["prevent"])},[e.createVNode(yt,{ref_key:"rendererRef",ref:r,fields:t.fields,"form-data":t.formData,"is-editing":t.isEditing,disabled:t.disabled,"onUpdate:field":v[0]||(v[0]=(u,h)=>l("update:field",u,h))},e.createSlots({_:2},[e.renderList(t.fields,u=>({name:`field-${u.field}`,fn:e.withCtx(h=>[e.renderSlot(s.$slots,`field-${u.field}`,e.normalizeProps(e.guardReactiveProps(h)))])})),e.renderList(t.fields.filter(u=>u.type==="image"),u=>({name:`image-${u.field}`,fn:e.withCtx(h=>[e.renderSlot(s.$slots,`image-${u.field}`,e.normalizeProps(e.guardReactiveProps(h)))])}))]),1032,["fields","form-data","is-editing","disabled"]),e.createElementVNode("div",sa,[e.renderSlot(s.$slots,"footer",{saving:t.saving,disabled:t.disabled},()=>[e.createVNode(e.unref(H),{type:"button",label:t.disabled?"Fechar":"Cancelar",severity:"secondary",text:"",disabled:t.saving,onClick:v[1]||(v[1]=u=>l("update:visible",!1))},null,8,["label","disabled"]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(H),{key:0,type:"submit",label:t.isEditing?"Atualizar":"Salvar",icon:"pi pi-check",loading:t.saving},null,8,["label","loading"]))])])],32)]),_:3},8,["visible","header","style"]))}});function ca(t,o){const a=o[t.field];return t.format?t.format(a,o):a==null?"":typeof a=="boolean"?a?"Sim":"Não":String(a)}function et(t,o){return t.includes('"')||t.includes(o)||t.includes(`
|
|
3
|
-
`)||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t}function bt(t,o,a={}){const l=a.separator??";",r=o.map(s=>et(s.header,l)).join(l),i=t.map(s=>o.map(v=>et(
|
|
4
|
-
`)}function wt(t,o="export.csv"){const a=new Blob([t],{type:"text/csv;charset=utf-8;"}),l=URL.createObjectURL(a),r=document.createElement("a");r.href=l,r.download=o,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(l)}const ua={class:"w-crud"},da={key:0,class:"w-crud-header"},ma={class:"w-crud-header-content"},fa={class:"w-crud-title"},pa={key:0,class:"w-crud-subtitle"},va={class:"w-crud-header-actions"},ga={key:0,class:"w-crud-kpis"},ha={class:"w-crud-kpi-content"},ka={class:"w-crud-kpi-label"},ya={class:"w-crud-kpi-value"},ba={class:"w-crud-content-main"},wa={key:0,class:"w-crud-table"},Ba={class:"w-crud-toolbar"},Ca={class:"w-crud-toolbar-start"},Va={class:"w-crud-toolbar-end"},Ea={key:1,class:"w-crud-view-toggle"},$a={class:"w-crud-actions"},Na={key:1,class:"w-crud-cards-wrap"},Sa={class:"w-crud-toolbar w-crud-toolbar--standalone"},Da={class:"w-crud-toolbar-start"},xa={class:"w-crud-toolbar-end"},Pa={key:1,class:"w-crud-view-toggle"},Fa={key:0,class:"w-crud-cards-loading"},Ma={key:2,class:"w-crud-cards"},Aa=["onClick","onDblclick","onContextmenu"],Ra={class:"w-crud-card-body"},La={key:0,class:"w-crud-card-label"},za={class:"w-crud-card-value"},Ta={key:0,class:"w-crud-card-actions"},Ia={key:0,class:"w-crud-rail"},Ya={key:1,class:"w-crud-rail-sep"},Bt=e.defineComponent({__name:"WCrudView",props:{crud:{},title:{},subtitle:{},showSearch:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},dialogWidth:{default:"480px"},autoInit:{type:Boolean,default:!0},showKpi:{type:Boolean,default:!1},kpiIcon:{default:"pi pi-list"},kpiLabel:{default:"Total de Registros"},extraKpis:{default:()=>[]},expandable:{type:Boolean,default:!1},viewToggle:{type:Boolean,default:!0},defaultView:{default:"table"},cardFields:{default:4},actionRail:{type:Boolean,default:!0},contextMenu:{type:Boolean,default:!0},exportCsv:{type:Boolean,default:!0},csvFilename:{default:"export.csv"},csvScope:{default:"all"},csvPageSize:{default:200}},emits:["row-expand","row-collapse","print"],setup(t,{emit:o}){const a=t,l=o,r=e.useSlots(),{formatNumber:i}=Re(),s=e.ref({}),v=e.ref(a.defaultView);function u(c){return v.value===c}function h(c){v.value=c}const $=e.computed(()=>(a.crud.pagination.page-1)*a.crud.pagination.pageSize),B=e.computed(()=>a.crud.config.columns.filter(c=>c.visible!==!1).map(c=>c.type==="number"&&!c.align?{...c,align:"right"}:c.type==="currency"&&!c.align?{...c,align:"right"}:c));function F(c){if(c.align==="right")return"text-right";if(c.align==="center")return"text-center"}const P=e.computed(()=>B.value.slice(0,a.cardFields)),Y=e.computed(()=>{const c=[];return a.crud.config.canEdit!==!1&&c.push({action:"edit",icon:"pi pi-pencil",tooltip:"Editar"}),a.crud.config.canCreate!==!1&&c.push({action:"duplicate",icon:"pi pi-copy",tooltip:"Duplicar",severity:"info"}),a.crud.config.canDelete!==!1&&c.push({action:"delete",icon:"pi pi-trash",tooltip:"Excluir",severity:"danger"}),c}),I=e.computed(()=>a.crud.config.rowActions??Y.value),p=e.computed(()=>I.value.length>0||!!r["row-actions"]);function g(c,n){if(c.handler){c.handler(n);return}c.action==="edit"?a.crud.openEditDialog(n):c.action==="view"?a.crud.openViewDialog(n):c.action==="duplicate"?a.crud.openDuplicateDialog(n):c.action==="delete"&&a.crud.confirmDelete(n)}function k(c,n){return c.visible?c.visible(n):!0}function V(c,n){return c.disabled?c.disabled(n):!1}const x=e.computed(()=>{const c=[];return a.showKpi&&c.push({icon:a.kpiIcon,label:a.kpiLabel,value:i(a.crud.pagination.rows,0)}),c.push(...a.extraKpis),c});e.computed(()=>a.crud.config.labels??{});const L=e.computed(()=>a.crud.config.canCreate!==!1),z=e.ref(null),M=e.ref(null);function T(c){z.value=c}function j(c){var n;a.contextMenu&&(z.value=c.data,(n=M.value)==null||n.show(c.originalEvent))}function K(c,n){var f;a.contextMenu&&(c.preventDefault(),z.value=n,(f=M.value)==null||f.show(c))}const W=e.computed(()=>{const c=z.value;if(!c)return[];const n=[{label:"Ver detalhes",icon:"pi pi-eye",command:()=>a.crud.openViewDialog(c)}];for(const f of I.value)k(f,c)&&n.push({label:f.tooltip??f.action,icon:f.icon,class:f.severity==="danger"?"w-crud-ctx-danger":void 0,disabled:V(f,c),command:()=>g(f,c)});return n.push({label:"Imprimir",icon:"pi pi-print",command:()=>l("print",c)}),a.exportCsv&&(n.push({separator:!0}),n.push({label:a.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",icon:"pi pi-download",command:()=>w()})),n});function U(){z.value&&l("print",z.value)}const m=e.ref(!1);async function w(){if(!m.value){m.value=!0;try{const c=a.csvScope==="page"?a.crud.items.value:await a.crud.fetchAll(a.csvPageSize),n=bt(c,B.value);wt(n,a.csvFilename)}finally{m.value=!1}}}return e.onMounted(()=>{a.autoInit&&a.crud.init()}),(c,n)=>{const f=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",ua,[t.showHeader?(e.openBlock(),e.createElementBlock("div",da,[e.createElementVNode("div",ma,[e.createElementVNode("h1",fa,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",pa,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",va,[e.renderSlot(c.$slots,"header-actions"),L.value?(e.openBlock(),e.createBlock(e.unref(H),{key:0,label:"Novo",icon:"pi pi-plus",onClick:n[0]||(n[0]=d=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"before-table",{},()=>[x.value.length?(e.openBlock(),e.createElementBlock("div",ga,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(d,D)=>(e.openBlock(),e.createElementBlock("div",{key:D,class:"w-crud-kpi"},[e.createElementVNode("div",{class:e.normalizeClass(["w-crud-kpi-icon",d.severity?`w-crud-kpi-icon--${d.severity}`:""])},[e.createElementVNode("i",{class:e.normalizeClass([d.icon]),style:e.normalizeStyle(d.color?`color: ${d.color}`:"")},null,6)],2),e.createElementVNode("div",ha,[e.createElementVNode("div",ka,e.toDisplayString(d.label),1),e.createElementVNode("div",ya,e.toDisplayString(d.value),1)])]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["w-crud-content",{"w-crud-content--rail":t.actionRail}])},[e.createElementVNode("div",ba,[v.value==="table"?(e.openBlock(),e.createElementBlock("div",wa,[e.createVNode(e.unref(ot),{value:t.crud.items.value,loading:t.crud.loading.value,"expanded-rows":s.value,"onUpdate:expandedRows":n[4]||(n[4]=d=>s.value=d),paginator:"",rows:t.crud.pagination.pageSize,"total-records":t.crud.pagination.rows,"rows-per-page-options":[10,20,50],"paginator-template":"CurrentPageReport PrevPageLink NextPageLink","current-page-report-template":"Página {currentPage} de {totalPages}",pt:{pcPaginator:{root:{class:"w-crud-paginator"}}},lazy:"","striped-rows":"","removable-sort":"",size:"small","sort-field":t.crud.sort.field??void 0,"sort-order":t.crud.sort.order,"data-key":t.crud.config.pk||"id",selection:t.actionRail||t.contextMenu?z.value:void 0,"selection-mode":t.actionRail||t.contextMenu?"single":void 0,"context-menu":t.contextMenu,"context-menu-selection":t.contextMenu?z.value:void 0,"onUpdate:selection":n[5]||(n[5]=d=>z.value=d),"onUpdate:contextMenuSelection":n[6]||(n[6]=d=>z.value=d),onRowContextmenu:j,onPage:t.crud.onPage,onSort:n[7]||(n[7]=d=>t.crud.onSort({sortField:d.sortField,sortOrder:d.sortOrder})),onRowExpand:n[8]||(n[8]=d=>l("row-expand",d.data)),onRowCollapse:n[9]||(n[9]=d=>l("row-collapse",d.data))},e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Ba,[e.createElementVNode("div",Ca,[t.showSearch?(e.openBlock(),e.createBlock(e.unref($e),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(J),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"toolbar-start"),e.renderSlot(c.$slots,"toolbar-filters")]),e.createElementVNode("div",Va,[e.renderSlot(c.$slots,"toolbar-actions"),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:"pi pi-download",text:"",size:"small",loading:m.value,onClick:w},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",Ea,[e.createVNode(e.unref(H),{icon:"pi pi-table",size:"small",text:!u("table"),outlined:u("table"),onClick:n[1]||(n[1]=d=>h("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(H),{icon:"pi pi-th-large",size:"small",text:!u("cards"),outlined:u("cards"),onClick:n[2]||(n[2]=d=>h("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&L.value?(e.openBlock(),e.createBlock(e.unref(H),{key:2,label:"Novo",icon:"pi pi-plus",onClick:n[3]||(n[3]=d=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])]),empty:e.withCtx(()=>[e.renderSlot(c.$slots,"empty",{},()=>[n[17]||(n[17]=e.createElementVNode("div",{class:"w-crud-empty"},[e.createElementVNode("div",{class:"w-crud-empty-icon"},[e.createElementVNode("i",{class:"pi pi-inbox"})]),e.createElementVNode("p",{class:"w-crud-empty-title"},"Nenhum registro encontrado"),e.createElementVNode("p",{class:"w-crud-empty-text"},"Tente ajustar sua busca ou crie um novo registro")],-1))])]),default:e.withCtx(()=>[t.expandable?(e.openBlock(),e.createBlock(e.unref(ke),{key:0,expander:"",style:{width:"3rem"}})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,d=>(e.openBlock(),e.createBlock(e.unref(ke),{key:d.field,field:d.field,header:d.header,sortable:d.sortable,style:e.normalizeStyle(d.style),"header-class":F(d),"body-class":F(d)},{body:e.withCtx(({data:D})=>[e.renderSlot(c.$slots,`column-${d.field}`,{data:D,value:D[d.field]},()=>[e.createVNode(Se,{column:d,value:D[d.field],"row-data":D},null,8,["column","value","row-data"])])]),_:2},1032,["field","header","sortable","style","header-class","body-class"]))),128)),p.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(ke),{key:1,"header-class":"w-crud-actions-header",style:e.normalizeStyle({width:`${(I.value.length+(e.unref(r)["row-actions"]?1:0))*2.5+1}rem`})},{body:e.withCtx(({data:d})=>[e.createElementVNode("div",$a,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,D=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:D.action},[k(D,d)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:D.icon,text:"",rounded:"",size:"small",severity:D.severity,disabled:V(D,d),onClick:N=>g(D,d)},null,8,["icon","severity","disabled","onClick"])),[[f,D.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"row-actions",{data:d,crud:t.crud})])]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:2},[t.expandable?{name:"expansion",fn:e.withCtx(d=>[e.renderSlot(c.$slots,"expansion",{data:d.data})]),key:"0"}:void 0]),1032,["value","loading","expanded-rows","rows","total-records","sort-field","sort-order","data-key","selection","selection-mode","context-menu","context-menu-selection","onPage"])])):(e.openBlock(),e.createElementBlock("div",Na,[e.createElementVNode("div",Sa,[e.createElementVNode("div",Da,[t.showSearch?(e.openBlock(),e.createBlock(e.unref($e),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(J),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"toolbar-start"),e.renderSlot(c.$slots,"toolbar-filters")]),e.createElementVNode("div",xa,[e.renderSlot(c.$slots,"toolbar-actions"),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:"pi pi-download",text:"",size:"small",loading:m.value,onClick:w},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",Pa,[e.createVNode(e.unref(H),{icon:"pi pi-table",size:"small",text:!u("table"),outlined:u("table"),onClick:n[10]||(n[10]=d=>h("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(H),{icon:"pi pi-th-large",size:"small",text:!u("cards"),outlined:u("cards"),onClick:n[11]||(n[11]=d=>h("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&L.value?(e.openBlock(),e.createBlock(e.unref(H),{key:2,label:"Novo",icon:"pi pi-plus",onClick:n[12]||(n[12]=d=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])]),t.crud.loading.value?(e.openBlock(),e.createElementBlock("div",Fa,[...n[18]||(n[18]=[e.createElementVNode("i",{class:"pi pi-spin pi-spinner"},null,-1)])])):t.crud.items.value.length?(e.openBlock(),e.createElementBlock("div",Ma,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.crud.items.value,(d,D)=>(e.openBlock(),e.createElementBlock("div",{key:d[t.crud.config.pk||"id"]??D,class:e.normalizeClass(["w-crud-card",{"w-crud-card--selected":z.value===d}]),onClick:N=>T(d),onDblclick:N=>t.crud.config.canEdit!==!1&&t.crud.openEditDialog(d),onContextmenu:N=>K(N,d)},[e.createElementVNode("div",Ra,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(N,R)=>(e.openBlock(),e.createElementBlock("div",{key:N.field,class:e.normalizeClass(["w-crud-card-row",{"w-crud-card-row--title":R===0}])},[R!==0?(e.openBlock(),e.createElementBlock("span",La,e.toDisplayString(N.header),1)):e.createCommentVNode("",!0),e.createElementVNode("span",za,[e.renderSlot(c.$slots,`column-${N.field}`,{data:d,value:d[N.field]},()=>[e.createVNode(Se,{column:N,value:d[N.field],"row-data":d},null,8,["column","value","row-data"])])])],2))),128))]),p.value&&!t.actionRail?(e.openBlock(),e.createElementBlock("div",Ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,N=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:N.action},[k(N,d)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:N.icon,text:"",rounded:"",size:"small",severity:N.severity,disabled:V(N,d),onClick:R=>g(N,d)},null,8,["icon","severity","disabled","onClick"])),[[f,N.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"row-actions",{data:d,crud:t.crud})])):e.createCommentVNode("",!0)],42,Aa))),128))])):e.renderSlot(c.$slots,"empty",{key:1},()=>[n[19]||(n[19]=e.createStaticVNode('<div class="w-crud-empty"><div class="w-crud-empty-icon"><i class="pi pi-inbox"></i></div><p class="w-crud-empty-title">Nenhum registro encontrado</p><p class="w-crud-empty-text">Tente ajustar sua busca ou crie um novo registro</p></div>',1))]),t.crud.items.value.length?(e.openBlock(),e.createBlock(e.unref(Pt),{key:3,rows:t.crud.pagination.pageSize,"total-records":t.crud.pagination.rows,first:$.value,"rows-per-page-options":[10,20,50],template:"CurrentPageReport PrevPageLink NextPageLink","current-page-report-template":"Página {currentPage} de {totalPages}",class:"w-crud-paginator",onPage:t.crud.onPage},null,8,["rows","total-records","first","onPage"])):e.createCommentVNode("",!0)]))]),t.actionRail?(e.openBlock(),e.createElementBlock("aside",Ia,[L.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:"pi pi-plus",rounded:"",onClick:n[13]||(n[13]=d=>t.crud.openCreateDialog())},null,512)),[[f,"Novo",void 0,{left:!0}]]):e.createCommentVNode("",!0),L.value&&I.value.length?(e.openBlock(),e.createElementBlock("div",Ya)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.action},[!z.value||k(d,z.value)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:0,icon:d.icon,text:"",rounded:"",severity:d.severity,disabled:!z.value||V(d,z.value),onClick:D=>z.value&&g(d,z.value)},null,8,["icon","severity","disabled","onClick"])),[[f,d.tooltip,void 0,{left:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"rail-actions",{selected:z.value,crud:t.crud}),n[20]||(n[20]=e.createElementVNode("div",{class:"w-crud-rail-sep"},null,-1)),e.withDirectives(e.createVNode(e.unref(H),{icon:"pi pi-print",text:"",rounded:"",disabled:!z.value,onClick:U},null,8,["disabled"]),[[f,"Imprimir",void 0,{left:!0}]]),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(H),{key:2,icon:"pi pi-download",text:"",rounded:"",loading:m.value,onClick:w},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{left:!0}]]):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2),t.contextMenu?(e.openBlock(),e.createBlock(e.unref(Ft),{key:1,ref_key:"cm",ref:M,model:W.value},null,8,["model"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"form-dialog",{crud:t.crud,dialogWidth:t.dialogWidth},()=>{var d;return[e.createVNode(Le,{visible:t.crud.dialogVisible.value,title:t.crud.dialogTitle.value,fields:t.crud.config.form,"form-data":t.crud.formData,"is-editing":t.crud.isEditing.value,saving:t.crud.saving.value,disabled:((d=t.crud.viewMode)==null?void 0:d.value)??!1,width:t.dialogWidth,"onUpdate:visible":n[14]||(n[14]=D=>{t.crud.dialogVisible.value=D,D||(t.crud.editingItem.value=null)}),"onUpdate:field":n[15]||(n[15]=(D,N)=>t.crud.setFormField(D,N)),onSave:n[16]||(n[16]=D=>t.crud.save())},e.createSlots({_:2},[e.renderList(t.crud.config.form,D=>({name:`field-${D.field}`,fn:e.withCtx(N=>[e.renderSlot(c.$slots,`field-${D.field}`,e.normalizeProps(e.guardReactiveProps(N)))])}))]),1032,["visible","title","fields","form-data","is-editing","saving","disabled","width"])]})])}}}),Ct=e.defineComponent({__name:"WStatusTag",props:{value:{},map:{}},setup(t){const o=t,a={ativo:{label:"Ativo",severity:"success"},ativa:{label:"Ativa",severity:"success"},inativo:{label:"Inativo",severity:"danger"},inativa:{label:"Inativa",severity:"danger"},suspensa:{label:"Suspensa",severity:"warn"},suspenso:{label:"Suspenso",severity:"warn"},cancelada:{label:"Cancelada",severity:"danger"},cancelado:{label:"Cancelado",severity:"danger"},pendente:{label:"Pendente",severity:"warn"},confirmada:{label:"Confirmada",severity:"success"},confirmado:{label:"Confirmado",severity:"success"},vencida:{label:"Vencida",severity:"danger"},vencido:{label:"Vencido",severity:"danger"},concluido:{label:"Concluído",severity:"success"},concluida:{label:"Concluída",severity:"success"},em_progresso:{label:"Em Progresso",severity:"info"},em_andamento:{label:"Em Andamento",severity:"info"},expirado:{label:"Expirado",severity:"secondary"},expirada:{label:"Expirada",severity:"secondary"},aberto:{label:"Aberto",severity:"info"},aberta:{label:"Aberta",severity:"info"},fechado:{label:"Fechado",severity:"secondary"},fechada:{label:"Fechada",severity:"secondary"},pago:{label:"Pago",severity:"success"},paga:{label:"Paga",severity:"success"},inadimplente:{label:"Inadimplente",severity:"danger"}},l=e.computed(()=>(o.map??a)[o.value]??{label:o.value,severity:"secondary"});return(r,i)=>(e.openBlock(),e.createBlock(e.unref(at),{value:l.value.label,severity:l.value.severity},null,8,["value","severity"]))}}),ja={class:"w-page-header"},Oa={class:"w-page-header-content"},Wa={class:"w-page-header-title"},Ua={key:0,class:"w-page-header-subtitle"},qa={class:"w-page-header-actions"},Ha=e.defineComponent({__name:"WPageHeader",props:{title:{},subtitle:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",ja,[e.createElementVNode("div",Oa,[e.createElementVNode("h2",Wa,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Ua,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",qa,[e.renderSlot(l.$slots,"actions"),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(H),{key:0,label:t.actionLabel,icon:t.actionIcon,onClick:r[0]||(r[0]=i=>a("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)])]))}}),Ka={class:"w-empty-state"},Ga={class:"w-empty-state-icon"},_a={class:"w-empty-state-title"},Ja={key:0,class:"w-empty-state-description"},Za=e.defineComponent({__name:"WEmptyState",props:{icon:{},title:{},description:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",Ka,[e.createElementVNode("div",Ga,[e.createElementVNode("i",{class:e.normalizeClass(t.icon)},null,2)]),e.createElementVNode("p",_a,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",Ja,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(H),{key:1,label:t.actionLabel,icon:t.actionIcon,size:"small",class:"mt-3",onClick:r[0]||(r[0]=i=>a("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)]))}});/*!
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ot=require("primevue/datatable"),ke=require("primevue/column"),U=require("primevue/button"),Z=require("primevue/inputtext"),$e=require("primevue/iconfield"),Ne=require("primevue/inputicon"),Ft=require("primevue/paginator"),Mt=require("primevue/contextmenu"),at=require("primevue/tag"),ge=require("dayjs"),nt=require("primevue/dialog"),He=require("primevue/inputnumber"),At=require("primevue/textarea"),Rt=require("primevue/select"),lt=require("primevue/autocomplete"),Ke=require("primevue/datepicker"),Lt=require("primevue/toggleswitch"),zt=require("primevue/colorpicker"),Tt=require("primevue/password"),It=require("primevue/usetoast"),Yt=require("primevue/useconfirm"),Ot=require("primevue/inputgroup"),Ge=require("primevue/inputgroupaddon"),Pe=require("primevue/skeleton"),rt=Symbol("w-axios"),De=Symbol("w-data-provider"),xe=Symbol("w-config");function jt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Me={exports:{}},Wt=Me.exports,_e;function Ut(){return _e||(_e=1,(function(t,o){(function(a,l){t.exports=l()})(Wt,(function(){var a={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},l=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,i=/\d\d/,s=/\d\d?/,v=/\d*[^-_:/,()\s\d]+/,d={},h=function(p){return(p=+p)+(p>68?1900:2e3)},N=function(p){return function(g){this[p]=+g}},V=[/[+-]\d\d:?(\d\d)?|Z/,function(p){(this.zone||(this.zone={})).offset=(function(g){if(!g||g==="Z")return 0;var k=g.match(/([+-]|\d\d)/g),w=60*k[1]+(+k[2]||0);return w===0?0:k[0]==="+"?-w:w})(p)}],A=function(p){var g=d[p];return g&&(g.indexOf?g:g.s.concat(g.f))},x=function(p,g){var k,w=d.meridiem;if(w){for(var R=1;R<=24;R+=1)if(p.indexOf(w(R,0,g))>-1){k=R>12;break}}else k=p===(g?"pm":"PM");return k},I={A:[v,function(p){this.afternoon=x(p,!1)}],a:[v,function(p){this.afternoon=x(p,!0)}],Q:[r,function(p){this.month=3*(p-1)+1}],S:[r,function(p){this.milliseconds=100*+p}],SS:[i,function(p){this.milliseconds=10*+p}],SSS:[/\d{3}/,function(p){this.milliseconds=+p}],s:[s,N("seconds")],ss:[s,N("seconds")],m:[s,N("minutes")],mm:[s,N("minutes")],H:[s,N("hours")],h:[s,N("hours")],HH:[s,N("hours")],hh:[s,N("hours")],D:[s,N("day")],DD:[i,N("day")],Do:[v,function(p){var g=d.ordinal,k=p.match(/\d+/);if(this.day=k[0],g)for(var w=1;w<=31;w+=1)g(w).replace(/\[|\]/g,"")===p&&(this.day=w)}],w:[s,N("week")],ww:[i,N("week")],M:[s,N("month")],MM:[i,N("month")],MMM:[v,function(p){var g=A("months"),k=(A("monthsShort")||g.map((function(w){return w.slice(0,3)}))).indexOf(p)+1;if(k<1)throw new Error;this.month=k%12||k}],MMMM:[v,function(p){var g=A("months").indexOf(p)+1;if(g<1)throw new Error;this.month=g%12||g}],Y:[/[+-]?\d+/,N("year")],YY:[i,function(p){this.year=h(p)}],YYYY:[/\d{4}/,N("year")],Z:V,ZZ:V};function Y(p){var g,k;g=p,k=d&&d.formats;for(var w=(p=g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(K,H,W){var m=W&&W.toUpperCase();return H||k[W]||a[W]||k[m].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(C,c,n){return c||n.slice(1)}))}))).match(l),R=w.length,L=0;L<R;L+=1){var F=w[L],z=I[F],M=z&&z[0],O=z&&z[1];w[L]=O?{regex:M,parser:O}:F.replace(/^\[|\]$/g,"")}return function(K){for(var H={},W=0,m=0;W<R;W+=1){var C=w[W];if(typeof C=="string")m+=C.length;else{var c=C.regex,n=C.parser,f=K.slice(m),u=c.exec(f)[0];n.call(H,u),K=K.replace(u,"")}}return(function(E){var S=E.afternoon;if(S!==void 0){var T=E.hours;S?T<12&&(E.hours+=12):T===12&&(E.hours=0),delete E.afternoon}})(H),H}}return function(p,g,k){k.p.customParseFormat=!0,p&&p.parseTwoDigitYear&&(h=p.parseTwoDigitYear);var w=g.prototype,R=w.parse;w.parse=function(L){var F=L.date,z=L.utc,M=L.args;this.$u=z;var O=M[1];if(typeof O=="string"){var K=M[2]===!0,H=M[3]===!0,W=K||H,m=M[2];H&&(m=M[2]),d=this.$locale(),!K&&m&&(d=k.Ls[m]),this.$d=(function(f,u,E,S){try{if(["x","X"].indexOf(u)>-1)return new Date((u==="X"?1e3:1)*f);var T=Y(u)(f),G=T.year,X=T.month,be=T.day,we=T.hours,ae=T.minutes,ne=T.seconds,_=T.milliseconds,Q=T.zone,re=T.week,de=new Date,ie=be||(G||X?1:de.getDate()),me=G||de.getFullYear(),te=0;G&&!X||(te=X>0?X-1:de.getMonth());var se,fe=we||0,pe=ae||0,ve=ne||0,y=_||0;return Q?new Date(Date.UTC(me,te,ie,fe,pe,ve,y+60*Q.offset*1e3)):E?new Date(Date.UTC(me,te,ie,fe,pe,ve,y)):(se=new Date(me,te,ie,fe,pe,ve,y),re&&(se=S(se).week(re).toDate()),se)}catch{return new Date("")}})(F,O,z,k),this.init(),m&&m!==!0&&(this.$L=this.locale(m).$L),W&&F!=this.format(O)&&(this.$d=new Date("")),d={}}else if(O instanceof Array)for(var C=O.length,c=1;c<=C;c+=1){M[1]=O[c-1];var n=k.apply(this,M);if(n.isValid()){this.$d=n.$d,this.$L=n.$L,this.init();break}c===C&&(this.$d=new Date(""))}else R.call(this,L)}}}))})(Me)),Me.exports}var qt=Ut();const Ht=jt(qt);ge.extend(Ht);function Ie(t){if(!t)return null;if(t instanceof Date)return t;const o=ge(t,"YYYY-MM-DD",!0);return o.isValid()?o.toDate():ge(t).toDate()}function it(t){return t?typeof t=="string"?t:ge(t).format("YYYY-MM-DD"):null}function st(t){return t?typeof t=="string"?t:ge(t).toISOString():null}function Kt(t,o="DD/MM/YYYY"){return t?ge(t).format(o):"—"}function Gt(t){return t?ge(t).format("DD/MM/YYYY HH:mm"):"—"}function ue(t){return t.replace(/\D/g,"")}function ct(t){if(!t)return"—";const o=ue(t);return o.length!==11?t:o.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})$/,"$1.$2.$3-$4")}function ut(t){if(!t)return"—";const o=ue(t);return o.length!==14?t:o.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/,"$1.$2.$3/$4-$5")}function _t(t){if(!t)return"—";const o=ue(t);return o.length===11?ct(t):o.length===14?ut(t):t}function Jt(t){if(!t)return"—";const o=ue(t);return o.length===11?o.replace(/^(\d{2})(\d{5})(\d{4})$/,"($1) $2-$3"):o.length===10?o.replace(/^(\d{2})(\d{4})(\d{4})$/,"($1) $2-$3"):t}function dt(t){if(!t)return null;const o=ue(t);if(o.length!==11)return"CPF deve ter 11 dígitos.";if(/^(\d)\1{10}$/.test(o))return"CPF inválido.";let a=0;for(let s=0;s<9;s++)a+=parseInt(o[s])*(10-s);let l=a%11;const r=l<2?0:11-l;if(parseInt(o[9])!==r)return"CPF inválido.";a=0;for(let s=0;s<10;s++)a+=parseInt(o[s])*(11-s);l=a%11;const i=l<2?0:11-l;return parseInt(o[10])!==i?"CPF inválido.":null}function mt(t){if(!t)return null;const o=ue(t);if(o.length!==14)return"CNPJ deve ter 14 dígitos.";if(/^(\d)\1{13}$/.test(o))return"CNPJ inválido.";const a=[5,4,3,2,9,8,7,6,5,4,3,2];let l=0;for(let d=0;d<12;d++)l+=parseInt(o[d])*a[d];let r=l%11;const i=r<2?0:11-r;if(parseInt(o[12])!==i)return"CNPJ inválido.";const s=[6,5,4,3,2,9,8,7,6,5,4,3,2];l=0;for(let d=0;d<13;d++)l+=parseInt(o[d])*s[d];r=l%11;const v=r<2?0:11-r;return parseInt(o[13])!==v?"CNPJ inválido.":null}function Zt(t){if(!t)return null;const o=ue(t);return o.length===11?dt(t):o.length===14?mt(t):"CPF deve ter 11 dígitos ou CNPJ deve ter 14 dígitos."}const Ae=new Map;function Je(t,o){const a=`${t}-${o}`;let l=Ae.get(a);return l||(l=new Intl.NumberFormat(t,{minimumFractionDigits:o,maximumFractionDigits:o}),Ae.set(a,l)),l}function Xt(t,o){const a=`${t}-${o}`;let l=Ae.get(a);return l||(l=new Intl.NumberFormat(t,{style:"currency",currency:o}),Ae.set(a,l)),l}function Re(){const t=e.inject(xe,{defaultPageSize:20,dateFormat:"DD/MM/YYYY",dateTimeFormat:"DD/MM/YYYY HH:mm",locale:"pt-BR",currency:"BRL"}),o=(t==null?void 0:t.locale)??"pt-BR",a=(t==null?void 0:t.currency)??"BRL";function l(d){return d==null?"—":Xt(o,a).format(d)}function r(d,h=2){return d==null?"—":Je(o,h).format(d)}function i(d,h){return Kt(d,h??(t==null?void 0:t.dateFormat)??"DD/MM/YYYY")}function s(d){return Gt(d)}function v(d){return d==null?"—":`${Je(o,2).format(d)}%`}return{formatCurrency:l,formatNumber:r,formatDate:i,formatDateTime:s,formatPercent:v,formatCpf:ct,formatCnpj:ut,formatCpfCnpj:_t,formatTelefone:Jt,validateCpf:dt,validateCnpj:mt,validateCpfCnpj:Zt,parseDate:Ie,toDateString:it,toDateTimeString:st}}const Qt={key:0,class:"text-muted-color text-xs"},eo=["src","alt"],to={key:3,class:"text-muted-color tabular-nums text-[0.8125rem]"},oo={key:4,class:"text-muted-color tabular-nums text-[0.8125rem]"},ao={key:5,class:"font-semibold tabular-nums text-[0.8125rem]"},no={key:6,class:"font-semibold tabular-nums text-[0.8125rem]"},lo={key:7,class:"text-[0.8125rem]"},Se=e.defineComponent({__name:"WCrudColumnRenderer",props:{column:{},value:{},rowData:{}},setup(t){const{formatDate:o,formatDateTime:a,formatCurrency:l,formatNumber:r}=Re();return(i,s)=>t.value==null?(e.openBlock(),e.createElementBlock("span",Qt,"—")):t.column.type==="image"?(e.openBlock(),e.createElementBlock("img",{key:1,src:String(t.value),alt:t.column.header,class:"size-9 rounded-lg object-cover ring-1 ring-surface-200 dark:ring-surface-700"},null,8,eo)):t.column.type==="boolean"?(e.openBlock(),e.createBlock(e.unref(at),{key:2,value:t.column.tagValue?t.column.tagValue(t.value,t.rowData):t.value?"Ativo":"Inativo",severity:t.column.tagSeverity?t.column.tagSeverity(t.value,t.rowData):t.value?"success":"danger",class:"text-xs"},null,8,["value","severity"])):t.column.type==="date"?(e.openBlock(),e.createElementBlock("span",to,e.toDisplayString(e.unref(o)(t.value)),1)):t.column.type==="datetime"?(e.openBlock(),e.createElementBlock("span",oo,e.toDisplayString(e.unref(a)(t.value)),1)):t.column.type==="currency"?(e.openBlock(),e.createElementBlock("span",ao,e.toDisplayString(e.unref(l)(t.value)),1)):t.column.type==="number"?(e.openBlock(),e.createElementBlock("span",no,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):e.unref(r)(t.value,t.column.decimals??0)),1)):(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):t.value),1))}});var ro=Object.defineProperty,io=(t,o,a)=>o in t?ro(t,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[o]=a,Ee=(t,o,a)=>io(t,typeof o!="symbol"?o+"":o,a);const Ze={"#":{pattern:/[0-9]/},"@":{pattern:/[a-zA-Z]/},"*":{pattern:/[a-zA-Z0-9]/}},Xe=(t,o,a)=>t.replaceAll(o,"").replace(a,".").replace("..",".").replace(/[^.\d]/g,""),Qe=(t,o,a)=>{var l;return new Intl.NumberFormat(((l=a.number)==null?void 0:l.locale)??"en",{minimumFractionDigits:t,maximumFractionDigits:o,roundingMode:"trunc"})},so=(t,o=!0,a)=>{var l,r,i,s;const v=((l=a.number)==null?void 0:l.unsigned)!==!0&&t.startsWith("-")?"-":"",d=((r=a.number)==null?void 0:r.fraction)??0;let h=Qe(0,d,a);const N=h.formatToParts(1000.12),V=((i=N.find(p=>p.type==="group"))==null?void 0:i.value)??" ",A=((s=N.find(p=>p.type==="decimal"))==null?void 0:s.value)??".",x=Xe(t,V,A);if(Number.isNaN(parseFloat(x)))return v;const I=x.split(".");if(I[1]!=null&&I[1].length>=1){const p=I[1].length<=d?I[1].length:d;h=Qe(p,d,a)}let Y=h.format(parseFloat(x));return o?d>0&&x.endsWith(".")&&!x.slice(0,-1).includes(".")&&(Y+=A):Y=Xe(Y,V,A),v+Y},ft=t=>JSON.parse(t.replaceAll("'",'"')),co=(t,o={})=>{const a={...o};t.dataset.maska!=null&&t.dataset.maska!==""&&(a.mask=uo(t.dataset.maska)),t.dataset.maskaEager!=null&&(a.eager=Fe(t.dataset.maskaEager)),t.dataset.maskaReversed!=null&&(a.reversed=Fe(t.dataset.maskaReversed)),t.dataset.maskaTokensReplace!=null&&(a.tokensReplace=Fe(t.dataset.maskaTokensReplace)),t.dataset.maskaTokens!=null&&(a.tokens=mo(t.dataset.maskaTokens));const l={};return t.dataset.maskaNumberLocale!=null&&(l.locale=t.dataset.maskaNumberLocale),t.dataset.maskaNumberFraction!=null&&(l.fraction=parseInt(t.dataset.maskaNumberFraction)),t.dataset.maskaNumberUnsigned!=null&&(l.unsigned=Fe(t.dataset.maskaNumberUnsigned)),(t.dataset.maskaNumber!=null||Object.values(l).length>0)&&(a.number=l),a},Fe=t=>t!==""?!!JSON.parse(t):!0,uo=t=>t.startsWith("[")&&t.endsWith("]")?ft(t):t,mo=t=>{if(t.startsWith("{")&&t.endsWith("}"))return ft(t);const o={};return t.split("|").forEach(a=>{const l=a.split(":");o[l[0]]={pattern:pt()?new RegExp(l[1],"u"):new RegExp(l[1]),optional:l[2]==="optional",multiple:l[2]==="multiple",repeated:l[2]==="repeated"}}),o},pt=()=>{try{return new RegExp("\\p{L}","u"),!0}catch{return!1}};class fo{constructor(o={}){Ee(this,"opts",{}),Ee(this,"memo",new Map);const a={...o};if(a.tokens!=null){a.tokens=a.tokensReplace?{...a.tokens}:{...Ze,...a.tokens};for(const l of Object.values(a.tokens))typeof l.pattern=="string"&&(l.pattern=pt()?new RegExp(l.pattern,"u"):new RegExp(l.pattern))}else a.tokens=Ze;Array.isArray(a.mask)&&(a.mask.length>1?a.mask=[...a.mask].sort((l,r)=>l.length-r.length):a.mask=a.mask[0]??""),a.mask===""&&(a.mask=null),this.opts=a}masked(o){return this.process(String(o),this.findMask(String(o)))}unmasked(o){return this.process(String(o),this.findMask(String(o)),!1)}isEager(){return this.opts.eager===!0}isReversed(){return this.opts.reversed===!0}completed(o){const a=this.findMask(String(o));if(this.opts.mask==null||a==null)return!1;const l=this.process(String(o),a).length;return typeof this.opts.mask=="string"?l>=this.opts.mask.length:l>=a.length}findMask(o){const a=this.opts.mask;if(a==null)return null;if(typeof a=="string")return a;if(typeof a=="function")return a(o);const l=this.process(o,a.slice(-1).pop()??"",!1);return a.find(r=>this.process(o,r,!1).length>=l.length)??""}escapeMask(o){const a=[],l=[];return o.split("").forEach((r,i)=>{r==="!"&&o[i-1]!=="!"?l.push(i-l.length):a.push(r)}),{mask:a.join(""),escaped:l}}process(o,a,l=!0){if(this.opts.number!=null)return so(o,l,this.opts);if(a==null)return o;const r=`v=${o},mr=${a},m=${l?1:0}`;if(this.memo.has(r))return this.memo.get(r);const{mask:i,escaped:s}=this.escapeMask(a),v=[],d=this.opts.tokens!=null?this.opts.tokens:{},h=this.isReversed()?-1:1,N=this.isReversed()?"unshift":"push",V=this.isReversed()?0:i.length-1,A=this.isReversed()?()=>p>-1&&g>-1:()=>p<i.length&&g<o.length,x=w=>!this.isReversed()&&w<=V||this.isReversed()&&w>=V;let I,Y=-1,p=this.isReversed()?i.length-1:0,g=this.isReversed()?o.length-1:0,k=!1;for(;A();){const w=i.charAt(p),R=d[w],L=(R==null?void 0:R.transform)!=null?R.transform(o.charAt(g)):o.charAt(g);if(!s.includes(p)&&R!=null?(L.match(R.pattern)!=null?(v[N](L),R.repeated?(Y===-1?Y=p:p===V&&p!==Y&&(p=Y-h),V===Y&&(p-=h)):R.multiple&&(k=!0,p-=h),p+=h):R.multiple?k&&(p+=h,g-=h,k=!1):L===I?I=void 0:R.optional&&(p+=h,g-=h),g+=h):(l&&!this.isEager()&&v[N](w),L===w&&!this.isEager()?g+=h:I=w,this.isEager()||(p+=h)),this.isEager())for(;x(p)&&(d[i.charAt(p)]==null||s.includes(p));){if(l){if(v[N](i.charAt(p)),o.charAt(g)===i.charAt(p)){p+=h,g+=h;continue}}else i.charAt(p)===o.charAt(g)&&(g+=h);p+=h}}return this.memo.set(r,v.join("")),this.memo.get(r)}}class po{constructor(o,a={}){Ee(this,"items",new Map),Ee(this,"eventAbortController"),Ee(this,"onInput",l=>{if(l instanceof CustomEvent&&l.type==="input"&&!l.isTrusted&&!l.bubbles)return;const r=l.target,i=this.items.get(r);if(i===void 0)return;const s="inputType"in l&&l.inputType.startsWith("delete"),v=i.isEager(),d=s&&v&&i.unmasked(r.value)===""?"":r.value;this.fixCursor(r,s,()=>this.setValue(r,d))}),this.options=a,this.eventAbortController=new AbortController,this.init(this.getInputs(o))}update(o={}){this.options={...o},this.init(Array.from(this.items.keys()))}updateValue(o){var a;o.value!==""&&o.value!==((a=this.processInput(o))==null?void 0:a.masked)&&this.setValue(o,o.value)}destroy(){this.eventAbortController.abort(),this.items.clear()}init(o){const a=this.getOptions(this.options);for(const l of o){if(!this.items.has(l)){const{signal:i}=this.eventAbortController;l.addEventListener("input",this.onInput,{capture:!0,signal:i})}const r=new fo(co(l,a));this.items.set(l,r),queueMicrotask(()=>this.updateValue(l)),l.selectionStart===null&&r.isEager()&&console.warn("Maska: input of `%s` type is not supported",l.type)}}getInputs(o){return typeof o=="string"?Array.from(document.querySelectorAll(o)):"length"in o?Array.from(o):[o]}getOptions(o){const{onMaska:a,preProcess:l,postProcess:r,...i}=o;return i}fixCursor(o,a,l){var r,i;const s=o.selectionStart,v=o.value;if(l(),s===null||s===v.length&&!a)return;const d=o.value,h=v.slice(0,s),N=d.slice(0,s),V=(r=this.processInput(o,h))==null?void 0:r.unmasked,A=(i=this.processInput(o,N))==null?void 0:i.unmasked;if(V===void 0||A===void 0)return;let x=s;h!==N&&(x+=a?d.length-v.length:V.length-A.length),o.setSelectionRange(x,x)}setValue(o,a){const l=this.processInput(o,a);l!==void 0&&(o.value=l.masked,this.options.onMaska!=null&&(Array.isArray(this.options.onMaska)?this.options.onMaska.forEach(r=>r(l)):this.options.onMaska(l)),o.dispatchEvent(new CustomEvent("maska",{detail:l})),o.dispatchEvent(new CustomEvent("input",{detail:l.masked})))}processInput(o,a){const l=this.items.get(o);if(l===void 0)return;let r=a??o.value;this.options.preProcess!=null&&(r=this.options.preProcess(r));let i=l.masked(r);return this.options.postProcess!=null&&(i=this.options.postProcess(i)),{masked:i,unmasked:l.unmasked(r),completed:l.completed(r)}}}const ze=new WeakMap,vo=(t,o)=>{if(t.arg==null||t.instance==null)return;const a="setup"in t.instance.$.type;t.arg in t.instance?t.instance[t.arg]=o:a&&console.warn("Maska: please expose `%s` using defineExpose",t.arg)},Te=(t,o)=>{var a;const l=t instanceof HTMLInputElement?t:t.querySelector("input");if(l==null||(l==null?void 0:l.type)==="file")return;let r={};if(o.value!=null&&(r=typeof o.value=="string"?{mask:o.value}:{...o.value}),o.arg!=null){const i=s=>{const v=o.modifiers.unmasked?s.unmasked:o.modifiers.completed?s.completed:s.masked;vo(o,v)};r.onMaska=r.onMaska==null?i:Array.isArray(r.onMaska)?[...r.onMaska,i]:[r.onMaska,i]}ze.has(l)?(a=ze.get(l))==null||a.update(r):ze.set(l,new po(l,r))},go={string:"text",integer:"number",decimal:"number",float:"number",boolean:"switch",choice:"select",fk:"fk",date:"date",datetime:"datetime",email:"email",url:"text",slug:"text",text:"textarea"};function vt(t){var l;const o=go[t.type]??"text",a={field:t.name,label:t.label,type:o,required:t.required??!1};return(t.type==="decimal"||t.type==="float")&&(a.minFractionDigits=2,a.maxFractionDigits=2),t.type==="boolean"&&(a.defaultValue=!1),t.type==="choice"&&((l=t.choices)!=null&&l.length)&&(a.options=t.choices.map(r=>({label:r.label,value:r.value}))),t.type==="fk"&&(a.endpoint=t.endpoint,t.option_label&&(a.optionLabel=t.option_label),t.option_value&&(a.optionValue=t.option_value)),a}function gt(t){return t.filter(o=>!o.read_only&&o.name!=="id").map(vt)}const ho={boolean:"boolean",date:"date",datetime:"datetime",decimal:"number",float:"number",integer:"number"};function ht(t){return{field:t.type==="fk"?`${t.name}_nome`:t.name,header:t.label,type:ho[t.type],sortable:!0}}function kt(t,o=6){return t.filter(a=>!a.read_only&&a.name!=="id").slice(0,o).map(ht)}function Ye(){const t=It.useToast();function o(i,s="Sucesso"){t.add({severity:"success",summary:s,detail:i,life:3e3})}function a(i,s="Erro"){t.add({severity:"error",summary:s,detail:i,life:5e3})}function l(i,s="Atenção"){t.add({severity:"warn",summary:s,detail:i,life:4e3})}function r(i,s="Info"){t.add({severity:"info",summary:s,detail:i,life:3e3})}return{success:o,error:a,warn:l,info:r}}function Oe(){const t=Yt.useConfirm();function o(l,r="Deseja realmente excluir este registro?"){t.require({message:r,header:"Confirmar Exclusão",icon:"pi pi-trash",rejectLabel:"Cancelar",rejectProps:{severity:"secondary",text:!0},acceptLabel:"Excluir",acceptProps:{severity:"danger"},accept:l})}function a(l,r,i="Confirmação"){t.require({message:l,header:i,icon:"pi pi-question-circle",rejectLabel:"Cancelar",rejectProps:{severity:"secondary",text:!0},acceptLabel:"Confirmar",accept:r})}return{confirmDelete:o,confirmAction:a}}function ko(t){return t.replace(/_/g," ").replace(/^\w/,o=>o.toUpperCase())}function yo(t){if(typeof t=="string")return t;if(Array.isArray(t)){const o=t.filter(a=>typeof a=="string");return o.length>0?o.join(" "):null}if(typeof t=="object"&&t!==null){const o=t;if(Array.isArray(o.non_field_errors)&&o.non_field_errors.length>0)return o.non_field_errors.filter(l=>typeof l=="string").join(" ");const a=[];for(const[l,r]of Object.entries(o)){if(l==="non_field_errors")continue;const i=ko(l);if(Array.isArray(r)){const s=r.filter(v=>typeof v=="string");s.length>0&&a.push(`${i}: ${s.join(" ")}`)}else typeof r=="string"&&a.push(`${i}: ${r}`)}return a.length>0?a.join(`
|
|
2
|
+
`):null}return null}function ye(t,o="Erro inesperado"){var i;if(!t||typeof t!="object")return o;const a=t,l=(i=a.response)==null?void 0:i.data;if(!l||typeof l!="object")return a.message||o;const r=l.detail??l;return yo(r)||o}function bo(){return{extractApiError:ye}}const wo={class:"w-autocompletefk"},Bo=["disabled"],Co={class:"w-autocompletefk-toolbar"},Vo={class:"w-autocompletefk-toolbar-actions"},Eo={class:"flex items-center justify-end gap-1"},$o={class:"w-autocompletefk-footer"},je=e.defineComponent({__name:"WAutoCompleteFK",props:{modelValue:{},endpoint:{},endpointParams:{},optionLabel:{default:"nome"},optionValue:{default:"id"},placeholder:{default:"Buscar..."},disabled:{type:Boolean,default:!1},showClear:{type:Boolean,default:!0},forceSelection:{type:Boolean,default:!0},columns:{},minLength:{default:0},dialogHeader:{},canCreate:{type:Boolean,default:void 0},canEdit:{type:Boolean,default:void 0},canDelete:{type:Boolean,default:void 0},crudFields:{},crudColumns:{},dialogWidth:{default:"480px"}},emits:["update:modelValue"],setup(t,{emit:o}){const a=t,l=o,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin.");const i=r,s=Ye(),{confirmDelete:v}=Oe(),d=e.ref(null),h=e.ref([]),N=e.ref(!1);let V=null;async function A(y){try{const B=await i.get(a.endpoint,y);d.value=B.data}catch{d.value=null}}async function x(y){N.value=!0;try{const B={page_size:20,...a.endpointParams};y&&(B.search=y);const q=await i.list(a.endpoint,B);h.value=q.data}catch{h.value=[]}finally{N.value=!1}}function I(y){const B=y.query||"";if(B.length<a.minLength){h.value=[];return}V&&clearTimeout(V),V=setTimeout(()=>x(B),300)}function Y(y){d.value=y.value,l("update:modelValue",y.value)}function p(){d.value=null,l("update:modelValue",null)}e.watch(()=>a.modelValue,async y=>{if(y!=null){if(typeof y=="object"&&y!==null&&a.optionLabel in y){d.value=y;return}(!d.value||d.value[a.optionValue]!==y)&&await A(y)}else d.value=null},{immediate:!0});const g=e.ref(!1),k=e.ref([]),w=e.ref(!1),R=e.ref(""),L=e.ref(1),F=e.ref(15),z=e.ref(0),M=e.ref(null),O=e.ref(null),K=e.ref(0);let H=null;const W=e.ref([]),m=e.computed(()=>{var y;return(y=a.crudFields)!=null&&y.length?!0:W.value.length>0}),C=e.computed(()=>a.canCreate??m.value),c=e.computed(()=>a.canEdit??m.value),n=e.computed(()=>a.canDelete??m.value),f=e.computed(()=>c.value||n.value),u=e.computed(()=>{var y;return(y=a.crudFields)!=null&&y.length?a.crudFields:gt(W.value)}),E=e.computed(()=>{var y,B;return(y=a.crudColumns)!=null&&y.length?a.crudColumns:(B=a.columns)!=null&&B.length?a.columns.map(q=>({field:q.field,header:q.header,sortable:!0})):W.value.length?kt(W.value):[{field:a.optionLabel,header:a.optionLabel,sortable:!0}]});async function S(){var y,B,q;w.value=!0;try{const P={page:L.value,page_size:F.value,...a.endpointParams};R.value&&(P.search=R.value),O.value&&K.value!==0&&(P.ordering=K.value===-1?`-${O.value}`:O.value);const J=await i.list(a.endpoint,P);k.value=J.data,z.value=J.rows,(y=J.extras)!=null&&y.fields&&!((B=a.columns)!=null&&B.length)&&!((q=a.crudFields)!=null&&q.length)&&(W.value=J.extras.fields)}catch{k.value=[],z.value=0}finally{w.value=!1}}function T(){a.disabled||(R.value="",L.value=1,O.value=null,K.value=0,M.value=null,g.value=!0,S())}function G(y){L.value=y.page+1,F.value=y.rows,S()}function X(y){O.value=y.sortField??null,K.value=y.sortOrder??0,L.value=1,S()}function be(){M.value&&(d.value=M.value,l("update:modelValue",M.value),g.value=!1)}function we(y){d.value=y.data,l("update:modelValue",y.data),g.value=!1}e.watch(R,()=>{H&&clearTimeout(H),H=setTimeout(()=>{L.value=1,S()},300)});const ae=e.ref(!1),ne=e.ref(!1),_=e.ref(null),Q=e.reactive({}),re=e.computed(()=>_.value!==null),de=e.computed(()=>re.value?"Editar Registro":"Novo Registro");function ie(){const y={};for(const B of u.value)y[B.field]=B.defaultValue!==void 0?typeof B.defaultValue=="function"?B.defaultValue():B.defaultValue:null;return y}function me(){const y=ie();for(const B of Object.keys(Q))delete Q[B];for(const[B,q]of Object.entries(y))Q[B]=q}function te(){_.value=null,me(),ae.value=!0}function se(y){_.value=y;for(const B of u.value)Q[B.field]=y[B.field]!==void 0?y[B.field]:null;ae.value=!0}function fe(y,B){Q[y]=B}async function pe(){ne.value=!0;try{const y={...Q};for(const q of u.value){const P=y[q.field];if(q.type==="fk"&&P!==null&&typeof P=="object"){const J=q.optionValue||"id";y[q.field]=P[J]??P}}let B;if(re.value&&_.value){const q=_.value[a.optionValue];B=await i.update(a.endpoint,q,y);const P=k.value.findIndex(J=>J[a.optionValue]===q);P!==-1&&(k.value[P]=B.data),s.success("Registro atualizado com sucesso")}else B=await i.create(a.endpoint,y),k.value.unshift(B.data),z.value++,s.success("Registro criado com sucesso");ae.value=!1,_.value=null,M.value=B.data}catch(y){s.error(ye(y,"Erro ao salvar registro"))}finally{ne.value=!1}}function ve(y){v(async()=>{try{const B=y[a.optionValue];await i.delete(a.endpoint,B);const q=k.value.findIndex(P=>P[a.optionValue]===B);q!==-1&&(k.value.splice(q,1),z.value--),d.value&&d.value[a.optionValue]===B&&(d.value=null,l("update:modelValue",null)),M.value&&M.value[a.optionValue]===B&&(M.value=null),s.success("Registro excluído com sucesso")}catch(B){s.error(ye(B,"Erro ao excluir registro"))}})}return(y,B)=>{const q=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",wo,[e.createVNode(e.unref(lt),{"model-value":d.value,suggestions:h.value,"option-label":t.optionLabel,placeholder:t.placeholder,disabled:t.disabled,"force-selection":t.forceSelection,loading:N.value,fluid:"",onComplete:I,onItemSelect:Y,onClear:p},null,8,["model-value","suggestions","option-label","placeholder","disabled","force-selection","loading"]),e.withDirectives((e.openBlock(),e.createElementBlock("button",{type:"button",disabled:t.disabled,class:"w-autocompletefk-trigger",onClick:T},[...B[6]||(B[6]=[e.createElementVNode("i",{class:"pi pi-search"},null,-1)])],8,Bo)),[[q,"Pesquisar",void 0,{top:!0}]])]),e.createVNode(e.unref(nt),{visible:g.value,"onUpdate:visible":B[4]||(B[4]=P=>g.value=P),header:t.dialogHeader||"Pesquisar",style:{width:"80vw"},modal:"",draggable:!1,class:"w-autocompletefk-dialog"},{footer:e.withCtx(()=>[e.createElementVNode("div",$o,[e.createVNode(e.unref(U),{label:"Cancelar",severity:"secondary",text:"",onClick:B[3]||(B[3]=P=>g.value=!1)}),e.createVNode(e.unref(U),{label:"Selecionar",icon:"pi pi-check",disabled:!M.value,onClick:be},null,8,["disabled"])])]),default:e.withCtx(()=>[e.createElementVNode("div",Co,[e.createVNode(e.unref($e),{class:"w-autocompletefk-toolbar-search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{modelValue:R.value,"onUpdate:modelValue":B[0]||(B[0]=P=>R.value=P),placeholder:"Pesquisar...",class:"w-full"},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",Vo,[C.value?(e.openBlock(),e.createBlock(e.unref(U),{key:0,label:"Novo",icon:"pi pi-plus",size:"small",onClick:te})):e.createCommentVNode("",!0)])]),e.createVNode(e.unref(ot),{selection:M.value,"onUpdate:selection":B[1]||(B[1]=P=>M.value=P),value:k.value,loading:w.value,paginator:"",lazy:"","striped-rows":"","removable-sort":"",size:"small",rows:F.value,"total-records":z.value,"sort-field":O.value??void 0,"sort-order":K.value,"selection-mode":"single","data-key":t.optionValue,onPage:G,onSort:B[2]||(B[2]=P=>X({sortField:P.sortField,sortOrder:P.sortOrder})),onRowDblclick:we},{empty:e.withCtx(()=>[...B[7]||(B[7]=[e.createElementVNode("div",{class:"w-autocompletefk-empty"},"Nenhum registro encontrado",-1)])]),default:e.withCtx(()=>[e.createVNode(e.unref(ke),{"selection-mode":"single","header-style":"width: 3rem"}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,P=>(e.openBlock(),e.createBlock(e.unref(ke),{key:P.field,field:P.field,header:P.header,sortable:P.sortable??!0,style:e.normalizeStyle(P.style)},{body:e.withCtx(({data:J})=>[P.type?(e.openBlock(),e.createBlock(Se,{key:0,column:P,value:J[P.field],"row-data":J},null,8,["column","value","row-data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(J[P.field]),1)],64))]),_:2},1032,["field","header","sortable","style"]))),128)),f.value?(e.openBlock(),e.createBlock(e.unref(ke),{key:0,header:"",style:{width:"6rem"}},{body:e.withCtx(({data:P})=>[e.createElementVNode("div",Eo,[c.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:"pi pi-pencil",text:"",rounded:"",size:"small",onClick:J=>se(P)},null,8,["onClick"])),[[q,"Editar",void 0,{top:!0}]]):e.createCommentVNode("",!0),n.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:1,icon:"pi pi-trash",text:"",rounded:"",size:"small",severity:"danger",onClick:J=>ve(P)},null,8,["onClick"])),[[q,"Excluir",void 0,{top:!0}]]):e.createCommentVNode("",!0)])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["selection","value","loading","rows","total-records","sort-field","sort-order","data-key"])]),_:1},8,["visible","header"]),m.value?(e.openBlock(),e.createBlock(Le,{key:0,visible:ae.value,title:de.value,fields:u.value,"form-data":Q,"is-editing":re.value,saving:ne.value,width:t.dialogWidth,"onUpdate:visible":B[5]||(B[5]=P=>{ae.value=P,P||(_.value=null)}),"onUpdate:field":fe,onSave:pe},null,8,["visible","title","fields","form-data","is-editing","saving","width"])):e.createCommentVNode("",!0)],64)}}}),We=e.defineComponent({__name:"WMoneyInput",props:{modelValue:{},decimals:{default:2},currency:{type:Boolean,default:!1},prefix:{},suffix:{},locale:{default:"pt-BR"},disabled:{type:Boolean,default:!1},placeholder:{},invalid:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:o}){const a=t,l=o,r=e.computed(()=>a.prefix??(a.currency?"R$":void 0)),i=e.computed(()=>!!r.value||!!a.suffix),s=e.computed(()=>{const d=a.modelValue;return d==null||Number.isNaN(d)?"":new Intl.NumberFormat(a.locale,{minimumFractionDigits:a.decimals,maximumFractionDigits:a.decimals}).format(d)});function v(d){const h=d.target.value.replace(/\D/g,"");if(!h){l("update:modelValue",null);return}const N=Number(h)/Math.pow(10,a.decimals);l("update:modelValue",N)}return(d,h)=>i.value?(e.openBlock(),e.createBlock(e.unref(Ot),{key:0,class:"w-money-input"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(e.unref(Ge),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(Z),{"model-value":s.value,inputmode:"numeric",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:v},null,8,["model-value","placeholder","disabled","invalid"]),t.suffix?(e.openBlock(),e.createBlock(e.unref(Ge),{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})):(e.openBlock(),e.createBlock(e.unref(Z),{key:1,"model-value":s.value,inputmode:"numeric",fluid:"",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:v},null,8,["model-value","placeholder","disabled","invalid"]))}}),No={class:"w-transfer__pane"},So={class:"w-transfer__head"},Do={class:"w-transfer__count"},xo={class:"w-transfer__list"},Po=["onClick"],Fo={key:0,class:"w-transfer__empty"},Mo={class:"w-transfer__controls"},Ao={class:"w-transfer__pane"},Ro={class:"w-transfer__head"},Lo={class:"w-transfer__count"},zo={class:"w-transfer__list"},To=["onClick"],Io={key:0,class:"w-transfer__empty"},Ue=e.defineComponent({__name:"WTransferList",props:{source:{},selected:{default:()=>[]},trackBy:{default:"id"},optionLabel:{default:"nome"},searchFields:{},disabled:{type:Boolean}},emits:["update:selected"],setup(t,{emit:o}){const a=t,l=o,r=e.ref(""),i=e.ref(""),s=e.computed(()=>new Set(a.selected)),v=e.computed(()=>a.searchFields??[a.optionLabel]);function d(g){return g[a.trackBy]}function h(g){return String(g[a.optionLabel]??"")}function N(g,k){if(!k)return!0;const w=k.toLowerCase();return v.value.some(R=>String(g[R]??"").toLowerCase().includes(w))}const V=e.computed(()=>a.source.filter(g=>!s.value.has(d(g))&&N(g,r.value))),A=e.computed(()=>a.source.filter(g=>s.value.has(d(g))&&N(g,i.value)));function x(g){a.disabled||l("update:selected",[...a.selected,d(g)])}function I(g){if(a.disabled)return;const k=d(g);l("update:selected",a.selected.filter(w=>w!==k))}function Y(){a.disabled||l("update:selected",a.source.map(d))}function p(){a.disabled||l("update:selected",[])}return(g,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-transfer",{"w-transfer--disabled":t.disabled}])},[e.createElementVNode("div",No,[e.createElementVNode("div",So,[k[2]||(k[2]=e.createElementVNode("span",{class:"w-transfer__title"},"Disponíveis",-1)),e.createElementVNode("span",Do,e.toDisplayString(V.value.length),1)]),e.createVNode(e.unref($e),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{modelValue:r.value,"onUpdate:modelValue":k[0]||(k[0]=w=>r.value=w),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",xo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,w=>(e.openBlock(),e.createElementBlock("li",{key:`a-${d(w)}`,class:"w-transfer__item",onClick:R=>x(w)},[e.createElementVNode("span",null,e.toDisplayString(h(w)),1),k[3]||(k[3]=e.createElementVNode("i",{class:"pi pi-angle-right"},null,-1))],8,Po))),128)),V.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Fo,"Nenhum item"))])]),e.createElementVNode("div",Mo,[e.createVNode(e.unref(U),{type:"button",icon:"pi pi-angle-double-right",text:"",rounded:"",disabled:t.disabled||!V.value.length,onClick:Y},null,8,["disabled"]),e.createVNode(e.unref(U),{type:"button",icon:"pi pi-angle-double-left",text:"",rounded:"",disabled:t.disabled||!t.selected.length,onClick:p},null,8,["disabled"])]),e.createElementVNode("div",Ao,[e.createElementVNode("div",Ro,[k[4]||(k[4]=e.createElementVNode("span",{class:"w-transfer__title"},"Selecionados",-1)),e.createElementVNode("span",Lo,e.toDisplayString(A.value.length),1)]),e.createVNode(e.unref($e),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=w=>i.value=w),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",zo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,w=>(e.openBlock(),e.createElementBlock("li",{key:`s-${d(w)}`,class:"w-transfer__item",onClick:R=>I(w)},[k[5]||(k[5]=e.createElementVNode("i",{class:"pi pi-angle-left"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(h(w)),1)],8,To))),128)),A.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Io,"Nenhum item"))])])],2))}});async function Yo(t){const o=t.replace(/\D/g,"");if(o.length!==8)return null;try{const a=await fetch(`https://viacep.com.br/ws/${o}/json/`);if(!a.ok)return null;const l=await a.json();return l.erro?null:l}catch{return null}}const Oo={class:"w-crud-form"},jo={key:0,class:"w-crud-form-group-header"},Wo={class:"w-crud-form-group-title"},Uo={key:0,class:"w-crud-form-group-desc"},qo={class:"w-crud-form-fields"},Ho={key:0,class:"w-crud-form-switch"},Ko={class:"w-crud-form-switch-label"},Go={key:1,class:"w-crud-form-col-full"},_o={class:"w-crud-form-label"},Jo={key:0,class:"w-crud-form-required"},Zo={class:"w-crud-form-color-row"},Xo={key:2,class:"w-crud-form-col-full"},Qo={class:"w-crud-form-label"},ea=["accept","disabled","onChange"],ta={key:3,class:"w-crud-form-col-full"},oa={class:"w-crud-form-label"},aa={key:0,class:"w-crud-form-required"},na={class:"w-crud-form-label"},la={key:0,class:"w-crud-form-required"},ra={key:1,class:"pi pi-spin pi-spinner w-crud-form-cep-spinner"},ia={key:16,class:"w-crud-form-cep-error"},sa={key:17,class:"w-crud-form-error"},yt=e.defineComponent({__name:"WFormRenderer",props:{fields:{},formData:{},isEditing:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:["update:field"],setup(t,{expose:o,emit:a}){const l=t,r=a,i=e.reactive({}),s=e.reactive({}),v=e.reactive({}),d=e.reactive({});function h(m,C){const c=C.target.value,n=c.replace(/\D/g,"");r("update:field",m.field,c),v[m.field]=null,d[m.field]&&(clearTimeout(d[m.field]),d[m.field]=null),n.length===8&&(d[m.field]=setTimeout(async()=>{s[m.field]=!0,v[m.field]=null;try{const f=await Yo(n);if(!f)v[m.field]="CEP não encontrado. Preencha os campos manualmente.";else{const u=m.cepFields||{},E=Object.keys(u);for(const S of E){const T=u[S];if(!T)continue;const G=l.formData[T];(G==null||G==="")&&r("update:field",T,f[S]??"")}}}finally{s[m.field]=!1}},400))}const N=e.computed(()=>l.fields.filter(m=>m.visible===void 0||m.visible===!0?!0:typeof m.visible=="function"?m.visible(l.formData,l.isEditing):m.visible));function V(m){return l.disabled||m.disabledOnEdit&&l.isEditing?!0:typeof m.disabled=="function"?m.disabled(l.formData,l.isEditing):!!m.disabled}function A(m){return e.isRef(m)?m.value:m}const x=e.computed(()=>{const m=l.isEditing?"edit":"create",C=l.fields.find(n=>n.autofocus===!0||n.autofocus===m);if(C)return C.field;const c=N.value.find(n=>!(n.type==="switch"||n.type==="fk"||n.type==="select"||n.type==="image"||n.disabled===!0||n.disabledOnEdit&&l.isEditing));return(c==null?void 0:c.field)??null});function I(m){return m.field===x.value}function Y(m){if(m)return m.replace(/9/g,"#").replace(/a/g,"S").replace(/\*/g,"X")}function p(m){if(!m)return"";const C=String(m).replace(/\D/g,"").slice(0,14);return C.length<=11?C.replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2"):C.replace(/(\d{2})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1/$2").replace(/(\d{4})(\d{1,2})$/,"$1-$2")}function g(m,C){const c=C.target.value.replace(/\D/g,"").slice(0,14);r("update:field",m,c)}const k=e.reactive({});function w(m){const C=l.formData[m.field];if(C==null)return null;const c=m.optionValue||"value";return(A(m.options)||[]).find(f=>f[c]===C)??null}function R(m){return k[m.field]||[]}function L(m,C){const c=(C.query||"").toLowerCase(),n=A(m.options)||[],f=m.optionLabel||"label";k[m.field]=n.filter(u=>String(u[f]||"").toLowerCase().includes(c))}function F(m,C){const c=m.optionValue||"value";r("update:field",m.field,C.value[c])}function z(m){const C=l.formData[m.field];return C?String(C).replace("#",""):"FFFFFF"}function M(m,C){r("update:field",m.field,`#${C}`)}function O(m){if(typeof m.validate=="function"){const C=m.validate(l.formData[m.field]);i[m.field]=C||null}}function K(){const m=[];for(const C of l.fields)if(typeof C.validate=="function"){const c=C.validate(l.formData[C.field]);i[C.field]=c||null,c&&m.push(c)}return m}function H(){Object.keys(i).forEach(m=>delete i[m])}const W=e.computed(()=>{var n,f,u,E;const m=new Map,C=[],c=new Map;for(const S of N.value){const T=((n=S.fieldGroup)==null?void 0:n.id)??"__default__";m.has(T)||(m.set(T,{id:T,title:(f=S.fieldGroup)==null?void 0:f.title,description:(u=S.fieldGroup)==null?void 0:u.description,fields:[]}),C.push(T),((E=S.fieldGroup)==null?void 0:E.order)!=null&&c.set(T,S.fieldGroup.order)),m.get(T).fields.push(S)}return C.slice().sort((S,T)=>{const G=c.get(S),X=c.get(T);return G!=null&&X!=null?G-X:G!=null?-1:X!=null?1:C.indexOf(S)-C.indexOf(T)}).map(S=>m.get(S))});return o({validateAll:K,clearErrors:H}),(m,C)=>(e.openBlock(),e.createElementBlock("div",Oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,c=>(e.openBlock(),e.createElementBlock("div",{key:c.id,class:"w-crud-form-group"},[c.title?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("h3",Wo,e.toDisplayString(c.title),1),c.description?(e.openBlock(),e.createElementBlock("p",Uo,e.toDisplayString(c.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",qo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.fields,n=>e.renderSlot(m.$slots,`field-${n.field}`,{key:n.field,field:n,formData:t.formData,isEditing:t.isEditing,setFormField:(f,u)=>r("update:field",f,u)},()=>[n.type==="switch"?(e.openBlock(),e.createElementBlock("div",Ho,[e.createVNode(e.unref(Lt),{"model-value":t.formData[n.field],disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createElementVNode("label",Ko,e.toDisplayString(n.switchLabel||n.label),1)])):n.type==="color"?(e.openBlock(),e.createElementBlock("div",Go,[e.createElementVNode("label",_o,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",Jo,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Zo,[e.createVNode(e.unref(zt),{"model-value":z(n),disabled:V(n),"onUpdate:modelValue":f=>M(n,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createVNode(e.unref(Z),{"model-value":t.formData[n.field],class:"w-28",maxlength:"7",placeholder:"#000000",disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"])])])):n.type==="image"?(e.openBlock(),e.createElementBlock("div",Xo,[e.createElementVNode("label",Qo,e.toDisplayString(n.label),1),e.renderSlot(m.$slots,`image-${n.field}`,{field:n,formData:t.formData},()=>[e.createElementVNode("input",{type:"file",accept:n.accept||"image/*",disabled:V(n),onChange:f=>{var E;const u=((E=f.target.files)==null?void 0:E[0])??null;r("update:field",n.field,u)}},null,40,ea)])])):n.type==="transfer"?(e.openBlock(),e.createElementBlock("div",ta,[e.createElementVNode("label",oa,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",aa,"*")):e.createCommentVNode("",!0)]),e.createVNode(Ue,{source:A(n.options)||[],selected:t.formData[n.field]||[],"track-by":n.optionValue||"id","option-label":n.optionLabel||"nome","search-fields":n.searchFields,disabled:V(n),"onUpdate:selected":f=>r("update:field",n.field,f)},null,8,["source","selected","track-by","option-label","search-fields","disabled","onUpdate:selected"])])):(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(n.colSpan===.5?"w-crud-form-col-half":"w-crud-form-col-full")},[e.createElementVNode("label",na,[e.createTextVNode(e.toDisplayString(n.label)+" ",1),n.required?(e.openBlock(),e.createElementBlock("span",la,"*")):e.createCommentVNode("",!0),s[n.field]?(e.openBlock(),e.createElementBlock("i",ra)):e.createCommentVNode("",!0)]),(!n.type||n.type==="text")&&n.mask?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:0,"model-value":t.formData[n.field],fluid:"",autofocus:I(n)||void 0,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])),[[e.unref(Te),{mask:Y(n.mask)}]]):!n.type||n.type==="text"?(e.openBlock(),e.createBlock(e.unref(Z),{key:1,"model-value":t.formData[n.field],fluid:"",autofocus:I(n)||void 0,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):n.type==="email"?(e.openBlock(),e.createBlock(e.unref(Z),{key:2,"model-value":t.formData[n.field],type:"email",fluid:"",autofocus:I(n)||void 0,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):n.type==="password"?(e.openBlock(),e.createBlock(e.unref(Tt),{key:3,"model-value":t.formData[n.field],fluid:"","toggle-mask":"",feedback:n.feedback!==!1,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","feedback","placeholder","disabled","onUpdate:modelValue"])):n.type==="number"?(e.openBlock(),e.createBlock(e.unref(He),{key:4,"model-value":t.formData[n.field],fluid:"",locale:"pt-BR",min:n.min,max:n.max,"min-fraction-digits":n.minFractionDigits,"max-fraction-digits":n.maxFractionDigits,suffix:n.suffix,prefix:n.prefix,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","min","max","min-fraction-digits","max-fraction-digits","suffix","prefix","placeholder","disabled","onUpdate:modelValue"])):n.type==="currency"&&n.fillFromRight?(e.openBlock(),e.createBlock(We,{key:5,"model-value":t.formData[n.field],decimals:n.decimals??2,currency:"",prefix:n.prefix,suffix:n.suffix,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","decimals","prefix","suffix","placeholder","disabled","onUpdate:modelValue"])):n.type==="currency"?(e.openBlock(),e.createBlock(e.unref(He),{key:6,"model-value":t.formData[n.field],fluid:"",mode:"currency",currency:"BRL",locale:"pt-BR",min:n.min,max:n.max,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","min","max","placeholder","disabled","onUpdate:modelValue"])):n.type==="select"?(e.openBlock(),e.createBlock(e.unref(Rt),{key:7,"model-value":t.formData[n.field],fluid:"",options:A(n.options),"option-label":n.optionLabel||"label","option-value":n.optionValue||"value","show-clear":n.showClear!==!1,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","options","option-label","option-value","show-clear","placeholder","disabled","onUpdate:modelValue"])):n.type==="autocomplete"?(e.openBlock(),e.createBlock(e.unref(lt),{key:8,"model-value":w(n),fluid:"",suggestions:R(n),"option-label":n.optionLabel||"label",placeholder:n.placeholder,disabled:V(n),onComplete:f=>L(n,f),onItemSelect:f=>F(n,f),onClear:f=>r("update:field",n.field,null)},null,8,["model-value","suggestions","option-label","placeholder","disabled","onComplete","onItemSelect","onClear"])):n.type==="fk"?(e.openBlock(),e.createBlock(je,{key:9,"model-value":t.formData[n.field],endpoint:n.endpoint,"endpoint-params":n.endpointParams,"option-label":n.optionLabel||"nome",placeholder:n.placeholder,disabled:V(n),"show-clear":n.showClear!==!1,"dialog-header":n.label,"crud-fields":n.crudFields,"crud-columns":n.crudColumns,"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","endpoint","endpoint-params","option-label","placeholder","disabled","show-clear","dialog-header","crud-fields","crud-columns","onUpdate:modelValue"])):n.type==="date"?(e.openBlock(),e.createBlock(e.unref(Ke),{key:10,"model-value":t.formData[n.field],fluid:"","date-format":n.dateFormat||"dd/mm/yy",placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","date-format","placeholder","disabled","onUpdate:modelValue"])):n.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(Ke),{key:11,"model-value":t.formData[n.field],fluid:"","show-time":"","hour-format":n.hourFormat||"24","date-format":n.dateFormat||"dd/mm/yy",placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","hour-format","date-format","placeholder","disabled","onUpdate:modelValue"])):n.type==="cpf_cnpj"?(e.openBlock(),e.createBlock(e.unref(Z),{key:12,"model-value":p(t.formData[n.field]),fluid:"",maxlength:"18",placeholder:n.placeholder||"000.000.000-00",disabled:V(n),invalid:!!i[n.field],onInput:f=>g(n.field,f),onBlur:f=>O(n)},null,8,["model-value","placeholder","disabled","invalid","onInput","onBlur"])):n.type==="mask"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:13,"model-value":t.formData[n.field],fluid:"",placeholder:n.placeholder,disabled:V(n),invalid:!!i[n.field],"onUpdate:modelValue":f=>r("update:field",n.field,f),onBlur:f=>O(n)},null,8,["model-value","placeholder","disabled","invalid","onUpdate:modelValue","onBlur"])),[[e.unref(Te),{mask:Y(n.mask)}]]):n.type==="cep"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:14,"model-value":t.formData[n.field],fluid:"",placeholder:n.placeholder||"00000-000",disabled:V(n),invalid:!!v[n.field],onInput:f=>h(n,f)},null,8,["model-value","placeholder","disabled","invalid","onInput"])),[[e.unref(Te),{mask:"#####-###"}]]):n.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(At),{key:15,"model-value":t.formData[n.field],fluid:"",autofocus:I(n)||void 0,rows:n.rows||3,placeholder:n.placeholder,disabled:V(n),"onUpdate:modelValue":f=>r("update:field",n.field,f)},null,8,["model-value","autofocus","rows","placeholder","disabled","onUpdate:modelValue"])):e.createCommentVNode("",!0),v[n.field]?(e.openBlock(),e.createElementBlock("small",ia,e.toDisplayString(v[n.field]),1)):i[n.field]?(e.openBlock(),e.createElementBlock("small",sa,e.toDisplayString(i[n.field]),1)):e.createCommentVNode("",!0)],2))])),128))])]))),128))]))}}),ca={class:"w-crud-form-footer"},Le=e.defineComponent({__name:"WCrudFormDialog",props:{visible:{type:Boolean},title:{},fields:{},formData:{},isEditing:{type:Boolean},saving:{type:Boolean},disabled:{type:Boolean,default:!1},width:{default:"480px"}},emits:["update:visible","update:field","save"],setup(t,{emit:o}){const a=t,l=o,r=e.ref(null);function i(){r.value?r.value.validateAll().length===0&&l("save"):l("save")}return e.watch(()=>a.visible,s=>{s&&r.value&&r.value.clearErrors()}),(s,v)=>(e.openBlock(),e.createBlock(e.unref(nt),{visible:t.visible,header:t.title,style:e.normalizeStyle({width:t.width}),modal:"",draggable:!1,class:"w-crud-form-dialog","onUpdate:visible":v[2]||(v[2]=d=>l("update:visible",d))},{default:e.withCtx(()=>[e.createElementVNode("form",{class:"w-crud-form",onSubmit:e.withModifiers(i,["prevent"])},[e.createVNode(yt,{ref_key:"rendererRef",ref:r,fields:t.fields,"form-data":t.formData,"is-editing":t.isEditing,disabled:t.disabled,"onUpdate:field":v[0]||(v[0]=(d,h)=>l("update:field",d,h))},e.createSlots({_:2},[e.renderList(t.fields,d=>({name:`field-${d.field}`,fn:e.withCtx(h=>[e.renderSlot(s.$slots,`field-${d.field}`,e.normalizeProps(e.guardReactiveProps(h)))])})),e.renderList(t.fields.filter(d=>d.type==="image"),d=>({name:`image-${d.field}`,fn:e.withCtx(h=>[e.renderSlot(s.$slots,`image-${d.field}`,e.normalizeProps(e.guardReactiveProps(h)))])}))]),1032,["fields","form-data","is-editing","disabled"]),e.createElementVNode("div",ca,[e.renderSlot(s.$slots,"footer",{saving:t.saving,disabled:t.disabled},()=>[e.createVNode(e.unref(U),{type:"button",label:t.disabled?"Fechar":"Cancelar",severity:"secondary",text:"",disabled:t.saving,onClick:v[1]||(v[1]=d=>l("update:visible",!1))},null,8,["label","disabled"]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(U),{key:0,type:"submit",label:t.isEditing?"Atualizar":"Salvar",icon:"pi pi-check",loading:t.saving},null,8,["label","loading"]))])])],32)]),_:3},8,["visible","header","style"]))}});function ua(t,o){const a=o[t.field];return t.format?t.format(a,o):a==null?"":typeof a=="boolean"?a?"Sim":"Não":String(a)}function et(t,o){return t.includes('"')||t.includes(o)||t.includes(`
|
|
3
|
+
`)||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t}function bt(t,o,a={}){const l=a.separator??";",r=o.map(s=>et(s.header,l)).join(l),i=t.map(s=>o.map(v=>et(ua(v,s),l)).join(l));return"\uFEFF"+[r,...i].join(`\r
|
|
4
|
+
`)}function wt(t,o="export.csv"){const a=new Blob([t],{type:"text/csv;charset=utf-8;"}),l=URL.createObjectURL(a),r=document.createElement("a");r.href=l,r.download=o,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(l)}const da={class:"w-crud"},ma={key:0,class:"w-crud-header"},fa={class:"w-crud-header-content"},pa={class:"w-crud-title"},va={key:0,class:"w-crud-subtitle"},ga={class:"w-crud-header-actions"},ha={key:0,class:"w-crud-kpis"},ka={class:"w-crud-kpi-content"},ya={class:"w-crud-kpi-label"},ba={class:"w-crud-kpi-value"},wa={class:"w-crud-content-main"},Ba={key:0,class:"w-crud-table"},Ca={class:"w-crud-toolbar"},Va={class:"w-crud-toolbar-start"},Ea={class:"w-crud-toolbar-end"},$a={key:1,class:"w-crud-view-toggle"},Na={class:"w-crud-actions"},Sa={key:1,class:"w-crud-cards-wrap"},Da={class:"w-crud-toolbar w-crud-toolbar--standalone"},xa={class:"w-crud-toolbar-start"},Pa={class:"w-crud-toolbar-end"},Fa={key:1,class:"w-crud-view-toggle"},Ma={key:0,class:"w-crud-cards-loading"},Aa={key:2,class:"w-crud-cards"},Ra=["onClick","onDblclick","onContextmenu"],La={class:"w-crud-card-body"},za={key:0,class:"w-crud-card-label"},Ta={class:"w-crud-card-value"},Ia={key:0,class:"w-crud-card-actions"},Ya={key:0,class:"w-crud-rail"},Oa={key:1,class:"w-crud-rail-sep"},Bt=e.defineComponent({__name:"WCrudView",props:{crud:{},title:{},subtitle:{},showSearch:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},dialogWidth:{default:"480px"},autoInit:{type:Boolean,default:!0},showKpi:{type:Boolean,default:!1},kpiIcon:{default:"pi pi-list"},kpiLabel:{default:"Total de Registros"},extraKpis:{default:()=>[]},expandable:{type:Boolean,default:!1},viewToggle:{type:Boolean,default:!0},defaultView:{default:"table"},cardFields:{default:4},actionRail:{type:Boolean,default:!0},contextMenu:{type:Boolean,default:!0},exportCsv:{type:Boolean,default:!0},csvFilename:{default:"export.csv"},csvScope:{default:"all"},csvPageSize:{default:200}},emits:["row-expand","row-collapse","print"],setup(t,{emit:o}){const a=t,l=o,r=e.useSlots(),{formatNumber:i}=Re(),s=e.ref({}),v=e.ref(a.defaultView);function d(c){return v.value===c}function h(c){v.value=c}const N=e.computed(()=>(a.crud.pagination.page-1)*a.crud.pagination.pageSize),V=e.computed(()=>a.crud.config.columns.filter(c=>c.visible!==!1).map(c=>c.type==="number"&&!c.align?{...c,align:"right"}:c.type==="currency"&&!c.align?{...c,align:"right"}:c));function A(c){if(c.align==="right")return"text-right";if(c.align==="center")return"text-center"}const x=e.computed(()=>V.value.slice(0,a.cardFields)),I=e.computed(()=>{const c=[];return a.crud.config.canEdit!==!1&&c.push({action:"edit",icon:"pi pi-pencil",tooltip:"Editar"}),a.crud.config.canCreate!==!1&&c.push({action:"duplicate",icon:"pi pi-copy",tooltip:"Duplicar",severity:"info"}),a.crud.config.canDelete!==!1&&c.push({action:"delete",icon:"pi pi-trash",tooltip:"Excluir",severity:"danger"}),c}),Y=e.computed(()=>a.crud.config.rowActions??I.value),p=e.computed(()=>Y.value.length>0||!!r["row-actions"]);function g(c,n){if(c.handler){c.handler(n);return}c.action==="edit"?a.crud.openEditDialog(n):c.action==="view"?a.crud.openViewDialog(n):c.action==="duplicate"?a.crud.openDuplicateDialog(n):c.action==="delete"&&a.crud.confirmDelete(n)}function k(c,n){return c.visible?c.visible(n):!0}function w(c,n){return c.disabled?c.disabled(n):!1}const R=e.computed(()=>{const c=[];return a.showKpi&&c.push({icon:a.kpiIcon,label:a.kpiLabel,value:i(a.crud.pagination.rows,0)}),c.push(...a.extraKpis),c});e.computed(()=>a.crud.config.labels??{});const L=e.computed(()=>a.crud.config.canCreate!==!1),F=e.ref(null),z=e.ref(null);function M(c){F.value=c}function O(c){var n;a.contextMenu&&(F.value=c.data,(n=z.value)==null||n.show(c.originalEvent))}function K(c,n){var f;a.contextMenu&&(c.preventDefault(),F.value=n,(f=z.value)==null||f.show(c))}const H=e.computed(()=>{const c=F.value;if(!c)return[];const n=[{label:"Ver detalhes",icon:"pi pi-eye",command:()=>a.crud.openViewDialog(c)}];for(const f of Y.value)k(f,c)&&n.push({label:f.tooltip??f.action,icon:f.icon,class:f.severity==="danger"?"w-crud-ctx-danger":void 0,disabled:w(f,c),command:()=>g(f,c)});return n.push({label:"Imprimir",icon:"pi pi-print",command:()=>l("print",c)}),a.exportCsv&&(n.push({separator:!0}),n.push({label:a.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",icon:"pi pi-download",command:()=>C()})),n});function W(){F.value&&l("print",F.value)}const m=e.ref(!1);async function C(){if(!m.value){m.value=!0;try{const c=a.csvScope==="page"?a.crud.items.value:await a.crud.fetchAll(a.csvPageSize),n=bt(c,V.value);wt(n,a.csvFilename)}finally{m.value=!1}}}return e.onMounted(()=>{a.autoInit&&a.crud.init()}),(c,n)=>{const f=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",da,[t.showHeader?(e.openBlock(),e.createElementBlock("div",ma,[e.createElementVNode("div",fa,[e.createElementVNode("h1",pa,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",va,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ga,[e.renderSlot(c.$slots,"header-actions"),L.value?(e.openBlock(),e.createBlock(e.unref(U),{key:0,label:"Novo",icon:"pi pi-plus",onClick:n[0]||(n[0]=u=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"before-table",{},()=>[R.value.length?(e.openBlock(),e.createElementBlock("div",ha,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(u,E)=>(e.openBlock(),e.createElementBlock("div",{key:E,class:"w-crud-kpi"},[e.createElementVNode("div",{class:e.normalizeClass(["w-crud-kpi-icon",u.severity?`w-crud-kpi-icon--${u.severity}`:""])},[e.createElementVNode("i",{class:e.normalizeClass([u.icon]),style:e.normalizeStyle(u.color?`color: ${u.color}`:"")},null,6)],2),e.createElementVNode("div",ka,[e.createElementVNode("div",ya,e.toDisplayString(u.label),1),e.createElementVNode("div",ba,e.toDisplayString(u.value),1)])]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["w-crud-content",{"w-crud-content--rail":t.actionRail}])},[e.createElementVNode("div",wa,[v.value==="table"?(e.openBlock(),e.createElementBlock("div",Ba,[e.createVNode(e.unref(ot),{value:t.crud.items.value,loading:t.crud.loading.value,"expanded-rows":s.value,"onUpdate:expandedRows":n[4]||(n[4]=u=>s.value=u),paginator:"",rows:t.crud.pagination.pageSize,"total-records":t.crud.pagination.rows,"rows-per-page-options":[10,20,50],"paginator-template":"CurrentPageReport PrevPageLink NextPageLink","current-page-report-template":"Página {currentPage} de {totalPages}",pt:{pcPaginator:{root:{class:"w-crud-paginator"}}},lazy:"","striped-rows":"","removable-sort":"",size:"small","sort-field":t.crud.sort.field??void 0,"sort-order":t.crud.sort.order,"data-key":t.crud.config.pk||"id",selection:t.actionRail||t.contextMenu?F.value:void 0,"selection-mode":t.actionRail||t.contextMenu?"single":void 0,"context-menu":t.contextMenu,"context-menu-selection":t.contextMenu?F.value:void 0,"onUpdate:selection":n[5]||(n[5]=u=>F.value=u),"onUpdate:contextMenuSelection":n[6]||(n[6]=u=>F.value=u),onRowContextmenu:O,onPage:t.crud.onPage,onSort:n[7]||(n[7]=u=>t.crud.onSort({sortField:u.sortField,sortOrder:u.sortOrder})),onRowExpand:n[8]||(n[8]=u=>l("row-expand",u.data)),onRowCollapse:n[9]||(n[9]=u=>l("row-collapse",u.data))},e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Ca,[e.createElementVNode("div",Va,[t.showSearch?(e.openBlock(),e.createBlock(e.unref($e),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"toolbar-start"),e.renderSlot(c.$slots,"toolbar-filters")]),e.createElementVNode("div",Ea,[e.renderSlot(c.$slots,"toolbar-actions"),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:"pi pi-download",text:"",size:"small",loading:m.value,onClick:C},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",$a,[e.createVNode(e.unref(U),{icon:"pi pi-table",size:"small",text:!d("table"),outlined:d("table"),onClick:n[1]||(n[1]=u=>h("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(U),{icon:"pi pi-th-large",size:"small",text:!d("cards"),outlined:d("cards"),onClick:n[2]||(n[2]=u=>h("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&L.value?(e.openBlock(),e.createBlock(e.unref(U),{key:2,label:"Novo",icon:"pi pi-plus",onClick:n[3]||(n[3]=u=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])]),empty:e.withCtx(()=>[e.renderSlot(c.$slots,"empty",{},()=>[n[17]||(n[17]=e.createElementVNode("div",{class:"w-crud-empty"},[e.createElementVNode("div",{class:"w-crud-empty-icon"},[e.createElementVNode("i",{class:"pi pi-inbox"})]),e.createElementVNode("p",{class:"w-crud-empty-title"},"Nenhum registro encontrado"),e.createElementVNode("p",{class:"w-crud-empty-text"},"Tente ajustar sua busca ou crie um novo registro")],-1))])]),default:e.withCtx(()=>[t.expandable?(e.openBlock(),e.createBlock(e.unref(ke),{key:0,expander:"",style:{width:"3rem"}})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,u=>(e.openBlock(),e.createBlock(e.unref(ke),{key:u.field,field:u.field,header:u.header,sortable:u.sortable,style:e.normalizeStyle(u.style),"header-class":A(u),"body-class":A(u)},{body:e.withCtx(({data:E})=>[e.renderSlot(c.$slots,`column-${u.field}`,{data:E,value:E[u.field]},()=>[e.createVNode(Se,{column:u,value:E[u.field],"row-data":E},null,8,["column","value","row-data"])])]),_:2},1032,["field","header","sortable","style","header-class","body-class"]))),128)),p.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(ke),{key:1,"header-class":"w-crud-actions-header",style:e.normalizeStyle({width:`${(Y.value.length+(e.unref(r)["row-actions"]?1:0))*2.5+1}rem`})},{body:e.withCtx(({data:u})=>[e.createElementVNode("div",Na,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,E=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:E.action},[k(E,u)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:E.icon,text:"",rounded:"",size:"small",severity:E.severity,disabled:w(E,u),onClick:S=>g(E,u)},null,8,["icon","severity","disabled","onClick"])),[[f,E.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"row-actions",{data:u,crud:t.crud})])]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:2},[t.expandable?{name:"expansion",fn:e.withCtx(u=>[e.renderSlot(c.$slots,"expansion",{data:u.data})]),key:"0"}:void 0]),1032,["value","loading","expanded-rows","rows","total-records","sort-field","sort-order","data-key","selection","selection-mode","context-menu","context-menu-selection","onPage"])])):(e.openBlock(),e.createElementBlock("div",Sa,[e.createElementVNode("div",Da,[e.createElementVNode("div",xa,[t.showSearch?(e.openBlock(),e.createBlock(e.unref($e),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(Ne),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"toolbar-start"),e.renderSlot(c.$slots,"toolbar-filters")]),e.createElementVNode("div",Pa,[e.renderSlot(c.$slots,"toolbar-actions"),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:"pi pi-download",text:"",size:"small",loading:m.value,onClick:C},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",Fa,[e.createVNode(e.unref(U),{icon:"pi pi-table",size:"small",text:!d("table"),outlined:d("table"),onClick:n[10]||(n[10]=u=>h("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(U),{icon:"pi pi-th-large",size:"small",text:!d("cards"),outlined:d("cards"),onClick:n[11]||(n[11]=u=>h("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&L.value?(e.openBlock(),e.createBlock(e.unref(U),{key:2,label:"Novo",icon:"pi pi-plus",onClick:n[12]||(n[12]=u=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])]),t.crud.loading.value?(e.openBlock(),e.createElementBlock("div",Ma,[...n[18]||(n[18]=[e.createElementVNode("i",{class:"pi pi-spin pi-spinner"},null,-1)])])):t.crud.items.value.length?(e.openBlock(),e.createElementBlock("div",Aa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.crud.items.value,(u,E)=>(e.openBlock(),e.createElementBlock("div",{key:u[t.crud.config.pk||"id"]??E,class:e.normalizeClass(["w-crud-card",{"w-crud-card--selected":F.value===u}]),onClick:S=>M(u),onDblclick:S=>t.crud.config.canEdit!==!1&&t.crud.openEditDialog(u),onContextmenu:S=>K(S,u)},[e.createElementVNode("div",La,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(S,T)=>(e.openBlock(),e.createElementBlock("div",{key:S.field,class:e.normalizeClass(["w-crud-card-row",{"w-crud-card-row--title":T===0}])},[T!==0?(e.openBlock(),e.createElementBlock("span",za,e.toDisplayString(S.header),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ta,[e.renderSlot(c.$slots,`column-${S.field}`,{data:u,value:u[S.field]},()=>[e.createVNode(Se,{column:S,value:u[S.field],"row-data":u},null,8,["column","value","row-data"])])])],2))),128))]),p.value&&!t.actionRail?(e.openBlock(),e.createElementBlock("div",Ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,S=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:S.action},[k(S,u)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:S.icon,text:"",rounded:"",size:"small",severity:S.severity,disabled:w(S,u),onClick:T=>g(S,u)},null,8,["icon","severity","disabled","onClick"])),[[f,S.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"row-actions",{data:u,crud:t.crud})])):e.createCommentVNode("",!0)],42,Ra))),128))])):e.renderSlot(c.$slots,"empty",{key:1},()=>[n[19]||(n[19]=e.createStaticVNode('<div class="w-crud-empty"><div class="w-crud-empty-icon"><i class="pi pi-inbox"></i></div><p class="w-crud-empty-title">Nenhum registro encontrado</p><p class="w-crud-empty-text">Tente ajustar sua busca ou crie um novo registro</p></div>',1))]),t.crud.items.value.length?(e.openBlock(),e.createBlock(e.unref(Ft),{key:3,rows:t.crud.pagination.pageSize,"total-records":t.crud.pagination.rows,first:N.value,"rows-per-page-options":[10,20,50],template:"CurrentPageReport PrevPageLink NextPageLink","current-page-report-template":"Página {currentPage} de {totalPages}",class:"w-crud-paginator",onPage:t.crud.onPage},null,8,["rows","total-records","first","onPage"])):e.createCommentVNode("",!0)]))]),t.actionRail?(e.openBlock(),e.createElementBlock("aside",Ya,[L.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:"pi pi-plus",rounded:"",onClick:n[13]||(n[13]=u=>t.crud.openCreateDialog())},null,512)),[[f,"Novo",void 0,{left:!0}]]):e.createCommentVNode("",!0),L.value&&Y.value.length?(e.openBlock(),e.createElementBlock("div",Oa)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,u=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u.action},[!F.value||k(u,F.value)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:0,icon:u.icon,text:"",rounded:"",severity:u.severity,disabled:!F.value||w(u,F.value),onClick:E=>F.value&&g(u,F.value)},null,8,["icon","severity","disabled","onClick"])),[[f,u.tooltip,void 0,{left:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(c.$slots,"rail-actions",{selected:F.value,crud:t.crud}),n[20]||(n[20]=e.createElementVNode("div",{class:"w-crud-rail-sep"},null,-1)),e.withDirectives(e.createVNode(e.unref(U),{icon:"pi pi-print",text:"",rounded:"",disabled:!F.value,onClick:W},null,8,["disabled"]),[[f,"Imprimir",void 0,{left:!0}]]),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(U),{key:2,icon:"pi pi-download",text:"",rounded:"",loading:m.value,onClick:C},null,8,["loading"])),[[f,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{left:!0}]]):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2),t.contextMenu?(e.openBlock(),e.createBlock(e.unref(Mt),{key:1,ref_key:"cm",ref:z,model:H.value},null,8,["model"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"form-dialog",{crud:t.crud,dialogWidth:t.dialogWidth},()=>{var u;return[e.createVNode(Le,{visible:t.crud.dialogVisible.value,title:t.crud.dialogTitle.value,fields:t.crud.config.form,"form-data":t.crud.formData,"is-editing":t.crud.isEditing.value,saving:t.crud.saving.value,disabled:((u=t.crud.viewMode)==null?void 0:u.value)??!1,width:t.dialogWidth,"onUpdate:visible":n[14]||(n[14]=E=>{t.crud.dialogVisible.value=E,E||(t.crud.editingItem.value=null)}),"onUpdate:field":n[15]||(n[15]=(E,S)=>t.crud.setFormField(E,S)),onSave:n[16]||(n[16]=E=>t.crud.save())},e.createSlots({_:2},[e.renderList(t.crud.config.form,E=>({name:`field-${E.field}`,fn:e.withCtx(S=>[e.renderSlot(c.$slots,`field-${E.field}`,e.normalizeProps(e.guardReactiveProps(S)))])}))]),1032,["visible","title","fields","form-data","is-editing","saving","disabled","width"])]})])}}}),Ct=e.defineComponent({__name:"WStatusTag",props:{value:{},map:{}},setup(t){const o=t,a={ativo:{label:"Ativo",severity:"success"},ativa:{label:"Ativa",severity:"success"},inativo:{label:"Inativo",severity:"danger"},inativa:{label:"Inativa",severity:"danger"},suspensa:{label:"Suspensa",severity:"warn"},suspenso:{label:"Suspenso",severity:"warn"},cancelada:{label:"Cancelada",severity:"danger"},cancelado:{label:"Cancelado",severity:"danger"},pendente:{label:"Pendente",severity:"warn"},confirmada:{label:"Confirmada",severity:"success"},confirmado:{label:"Confirmado",severity:"success"},vencida:{label:"Vencida",severity:"danger"},vencido:{label:"Vencido",severity:"danger"},concluido:{label:"Concluído",severity:"success"},concluida:{label:"Concluída",severity:"success"},em_progresso:{label:"Em Progresso",severity:"info"},em_andamento:{label:"Em Andamento",severity:"info"},expirado:{label:"Expirado",severity:"secondary"},expirada:{label:"Expirada",severity:"secondary"},aberto:{label:"Aberto",severity:"info"},aberta:{label:"Aberta",severity:"info"},fechado:{label:"Fechado",severity:"secondary"},fechada:{label:"Fechada",severity:"secondary"},pago:{label:"Pago",severity:"success"},paga:{label:"Paga",severity:"success"},inadimplente:{label:"Inadimplente",severity:"danger"}},l=e.computed(()=>(o.map??a)[o.value]??{label:o.value,severity:"secondary"});return(r,i)=>(e.openBlock(),e.createBlock(e.unref(at),{value:l.value.label,severity:l.value.severity},null,8,["value","severity"]))}}),ja={class:"w-page-header"},Wa={class:"w-page-header-content"},Ua={class:"w-page-header-title"},qa={key:0,class:"w-page-header-subtitle"},Ha={class:"w-page-header-actions"},Ka=e.defineComponent({__name:"WPageHeader",props:{title:{},subtitle:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",ja,[e.createElementVNode("div",Wa,[e.createElementVNode("h2",Ua,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",qa,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ha,[e.renderSlot(l.$slots,"actions"),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(U),{key:0,label:t.actionLabel,icon:t.actionIcon,onClick:r[0]||(r[0]=i=>a("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)])]))}}),Ga={class:"w-empty-state"},_a={class:"w-empty-state-icon"},Ja={class:"w-empty-state-title"},Za={key:0,class:"w-empty-state-description"},Xa=e.defineComponent({__name:"WEmptyState",props:{icon:{},title:{},description:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(l,r)=>(e.openBlock(),e.createElementBlock("div",Ga,[e.createElementVNode("div",_a,[e.createElementVNode("i",{class:e.normalizeClass(t.icon)},null,2)]),e.createElementVNode("p",Ja,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",Za,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(U),{key:1,label:t.actionLabel,icon:t.actionIcon,size:"small",class:"mt-3",onClick:r[0]||(r[0]=i=>a("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)]))}});/*!
|
|
5
5
|
* vue-router v4.6.4
|
|
6
6
|
* (c) 2025 Eduardo San Martin Morote
|
|
7
7
|
* @license MIT
|
|
8
|
-
*/Symbol(process.env.NODE_ENV!=="production"?"navigation failure":"");Symbol(process.env.NODE_ENV!=="production"?"router view location matched":"");Symbol(process.env.NODE_ENV!=="production"?"router view depth":"");const
|
|
8
|
+
*/Symbol(process.env.NODE_ENV!=="production"?"navigation failure":"");Symbol(process.env.NODE_ENV!=="production"?"router view location matched":"");Symbol(process.env.NODE_ENV!=="production"?"router view depth":"");const Qa=Symbol(process.env.NODE_ENV!=="production"?"router":"");Symbol(process.env.NODE_ENV!=="production"?"route location":"");Symbol(process.env.NODE_ENV!=="production"?"router view location":"");/*!
|
|
9
9
|
* vue-router v4.6.4
|
|
10
10
|
* (c) 2025 Eduardo San Martin Morote
|
|
11
11
|
* @license MIT
|
|
12
|
-
*/function Qa(){return e.inject(Xa)}const en={class:"w-detail-header"},tn={class:"w-detail-header-left"},on={class:"w-detail-header-content"},an={class:"w-detail-header-title"},nn={key:0,class:"w-detail-header-subtitle"},ln={class:"w-detail-header-actions"},rn=e.defineComponent({__name:"WDetailHeader",props:{title:{},subtitle:{},icon:{},backRoute:{},backTo:{},status:{},statusMap:{}},setup(t){const o=t,a=Qa();function l(){o.backTo?a.push(typeof o.backTo=="string"?{name:o.backTo}:o.backTo):o.backRoute?a.push({name:o.backRoute}):a.back()}return(r,i)=>(e.openBlock(),e.createElementBlock("div",en,[e.createElementVNode("div",tn,[e.createVNode(e.unref(H),{icon:"pi pi-arrow-left",text:"",rounded:"",onClick:l}),t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass([t.icon,"w-detail-header-icon"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",on,[e.createElementVNode("h2",an,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",nn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),t.status?(e.openBlock(),e.createBlock(Ct,{key:1,value:t.status,map:t.statusMap},null,8,["value","map"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ln,[e.renderSlot(r.$slots,"actions")])]))}}),sn={class:"w-info-card"},cn={key:0,class:"w-info-card-title"},un={class:"w-info-card-grid"},dn={class:"w-info-card-label"},mn={class:"w-info-card-value"},fn=e.defineComponent({__name:"WInfoCard",props:{title:{},fields:{}},setup(t){const{formatCurrency:o,formatDate:a,formatNumber:l}=Re();function r(i){const s=i.value;return s==null||s===""?"-":i.format==="currency"?o(Number(s)):i.format==="date"?a(String(s)):i.format==="datetime"?a(String(s),"DD/MM/YYYY HH:mm"):i.format==="number"?l(Number(s)):String(s)}return(i,s)=>(e.openBlock(),e.createElementBlock("div",sn,[t.title?(e.openBlock(),e.createElementBlock("h3",cn,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",un,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,v=>(e.openBlock(),e.createElementBlock("div",{key:v.label,class:"w-info-card-field"},[e.createElementVNode("span",dn,e.toDisplayString(v.label),1),e.createElementVNode("span",mn,e.toDisplayString(r(v)),1)]))),128))])]))}}),pn={key:0,class:"w-kpi-card__loading"},vn={class:"w-kpi-card__loading-content"},gn={class:"w-kpi-card__header"},hn={key:0,class:"w-kpi-card__icon"},kn={key:1,class:"w-kpi-card__trend"},yn={class:"w-kpi-card__content"},bn={class:"w-kpi-card__label"},wn={class:"w-kpi-card__value"},Bn={key:0,class:"w-kpi-card__hint"},Cn={key:0,class:"w-kpi-card__footer"},Vt=e.defineComponent({__name:"WKpiCard",props:{label:{},value:{},icon:{},hint:{},severity:{},trend:{},loading:{type:Boolean}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["w-kpi-card",t.severity?`w-kpi-card--${t.severity}`:""])},[t.loading?(e.openBlock(),e.createElementBlock("div",pn,[e.createVNode(e.unref(Pe),{shape:"circle",size:"2.75rem"}),e.createElementVNode("div",vn,[e.createVNode(e.unref(Pe),{width:"6rem",height:"0.75rem"}),e.createVNode(e.unref(Pe),{width:"7.5rem",height:"1.5rem"}),e.createVNode(e.unref(Pe),{width:"5rem",height:"0.75rem"})])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",gn,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",hn,[e.renderSlot(o.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(t.icon)},null,2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.trend||o.$slots.trend?(e.openBlock(),e.createElementBlock("div",kn,[e.renderSlot(o.$slots,"trend",{},()=>[t.trend?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["w-kpi-card__trend-badge",t.trend.direction?`w-kpi-card__trend-badge--${t.trend.direction}`:""])},e.toDisplayString(t.trend.value),3)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",yn,[e.createElementVNode("p",bn,e.toDisplayString(t.label),1),e.createElementVNode("div",wn,[e.renderSlot(o.$slots,"value",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])]),t.hint||o.$slots.hint?(e.openBlock(),e.createElementBlock("p",Bn,[e.renderSlot(o.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(t.hint),1)])])):e.createCommentVNode("",!0)]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Cn,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],64))],2))}}),Vn=e.defineComponent({__name:"WKpiGrid",props:{items:{default:()=>[]},columns:{default:4},dense:{type:Boolean,default:!1}},setup(t){const o=t,a=e.computed(()=>[`w-kpi-grid--cols-${o.columns}`,{"w-kpi-grid--dense":o.dense}]);return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-kpi-grid",a.value])},[l.$slots.item?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(i,s)=>e.renderSlot(l.$slots,"item",{key:s,item:i,index:s})),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,(i,s)=>(e.openBlock(),e.createBlock(Vt,{key:s,label:i.label,value:i.value,icon:i.icon,severity:i.severity||"primary",hint:i.hint,trend:i.trend,loading:i.loading},null,8,["label","value","icon","severity","hint","trend","loading"]))),128))],2))}}),En={class:"w-section-header__main"},$n={key:0,class:"w-section-header__icon"},Nn={class:"w-section-header__content"},Sn={class:"w-section-header__title-row"},Dn={class:"w-section-header__title"},xn={key:0,class:"w-section-header__subtitle"},Pn={key:0,class:"w-section-header__actions"},Fn=e.defineComponent({__name:"WSectionHeader",props:{title:{},subtitle:{},icon:{},compact:{type:Boolean}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-section-header",{"w-section-header--compact":t.compact}])},[e.createElementVNode("div",En,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",$n,[e.renderSlot(o.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(t.icon)},null,2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Nn,[e.createElementVNode("div",Sn,[e.createElementVNode("h3",Dn,e.toDisplayString(t.title),1),e.renderSlot(o.$slots,"meta")]),t.subtitle?(e.openBlock(),e.createElementBlock("p",xn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Pn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),Mn={key:0,class:"w-form-section__header"},An={class:"w-form-section__content"},Rn={class:"w-form-section__title"},Ln={key:0,class:"w-form-section__description"},zn={key:0,class:"w-form-section__actions"},Tn={class:"w-form-section__body"},In=e.defineComponent({__name:"WFormSection",props:{title:{},description:{},variant:{}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["w-form-section",t.variant?`w-form-section--${t.variant}`:""])},[t.title||t.description||o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Mn,[e.createElementVNode("div",An,[e.createElementVNode("h3",Rn,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",Ln,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",zn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Tn,[e.renderSlot(o.$slots,"default")])],2))}}),Yn={key:0,class:"w-action-bar__primary"},jn={key:1,class:"w-action-bar__filters"},On={key:2,class:"w-action-bar__secondary"},Wn=e.defineComponent({__name:"WActionBar",props:{align:{default:"between"},stackOnMobile:{type:Boolean,default:!0}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-action-bar",[`w-action-bar--${t.align}`,{"w-action-bar--stack":t.stackOnMobile}]])},[o.$slots.primary||o.$slots.default?(e.openBlock(),e.createElementBlock("div",Yn,[e.renderSlot(o.$slots,"primary",{},()=>[e.renderSlot(o.$slots,"default")])])):e.createCommentVNode("",!0),o.$slots.filters?(e.openBlock(),e.createElementBlock("div",jn,[e.renderSlot(o.$slots,"filters")])):e.createCommentVNode("",!0),o.$slots.secondary?(e.openBlock(),e.createElementBlock("div",On,[e.renderSlot(o.$slots,"secondary")])):e.createCommentVNode("",!0)],2))}}),Un={class:"w-progress-flow__marker"},qn={class:"w-progress-flow__content"},Hn={class:"w-progress-flow__label"},Kn={key:0,class:"w-progress-flow__description"},Gn=e.defineComponent({__name:"WProgressFlow",props:{steps:{},currentStep:{},orientation:{default:"horizontal"}},setup(t){const o=t,a=e.computed(()=>o.steps.findIndex(r=>r.key===o.currentStep));function l(r){return r<a.value?"done":r===a.value?"current":"pending"}return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-progress-flow",`w-progress-flow--${t.orientation}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.steps,(s,v)=>(e.openBlock(),e.createElementBlock("div",{key:s.key,class:e.normalizeClass(["w-progress-flow__step",`w-progress-flow__step--${l(v)}`])},[e.renderSlot(r.$slots,"step",{step:s,index:v,state:l(v)},()=>[e.createElementVNode("div",Un,[e.createElementVNode("span",null,e.toDisplayString(v+1),1)]),e.createElementVNode("div",qn,[e.createElementVNode("p",Hn,e.toDisplayString(s.label),1),s.description?(e.openBlock(),e.createElementBlock("p",Kn,e.toDisplayString(s.description),1)):e.createCommentVNode("",!0)])])],2))),128))],2))}});function _n(t,o,a){const l=t;return Array.isArray(l.results)?{data:l.results,page:l.page??o,page_size:l.page_size??a,rows:l.count??0,extras:l.extras??{}}:Array.isArray(l.data)?{data:l.data,page:l.page??o,page_size:l.page_size??a,rows:l.rows??0,extras:l.extras??{}}:{data:Array.isArray(t)?t:[],page:o,page_size:a,rows:Array.isArray(t)?t.length:0,extras:{}}}function Et(t){return{async list(o,a={}){const l=await t.get(o,{params:a});return _n(l.data,Number(a.page??1),Number(a.page_size??20))},async get(o,a,l){return{data:(await t.get(`${o}${a}/`,l)).data}},async create(o,a,l){return{data:(await t.post(o,a,l)).data}},async update(o,a,l,r){return{data:(await t.patch(`${o}${a}/`,l,r)).data}},async delete(o,a){await t.delete(`${o}${a}/`)}}}const Jn={install(t,o){if(!(o!=null&&o.axios)&&!(o!=null&&o.dataProvider))throw new Error('[wPrimeVueComponents] Informe "axios" ou "dataProvider" ao registrar o WPrimeVuePlugin.');const a=o.dataProvider??Et(o.axios),l={axios:o.axios,dataProvider:a,defaultPageSize:o.defaultPageSize??20,dateFormat:o.dateFormat??"DD/MM/YYYY",dateTimeFormat:o.dateTimeFormat??"DD/MM/YYYY HH:mm",locale:o.locale??"pt-BR",currency:o.currency??"BRL"};o.axios&&t.provide(rt,o.axios),t.provide(De,a),t.provide(xe,l),o.registerComponents!==!1&&(t.component("WCrudView",Bt),t.component("WCrudFormDialog",Le),t.component("WCrudColumnRenderer",Se),t.component("WAutoCompleteFK",Oe),t.component("WMoneyInput",We),t.component("WTransferList",Ue))}},$t={createTitle:"Novo Registro",editTitle:"Editar Registro",createButton:"Novo",saveButton:"Salvar",updateButton:"Atualizar",cancelButton:"Cancelar",deleteConfirmTitle:"Confirmar Exclusão",deleteConfirmMessage:"Deseja realmente excluir este registro?",searchPlaceholder:"Buscar...",emptyMessage:"Nenhum registro encontrado",successCreate:"Registro criado com sucesso",successUpdate:"Registro atualizado com sucesso",successDelete:"Registro excluído com sucesso"};function Zn(t,o){const a={};for(const l of Object.keys(o))JSON.stringify(t[l])!==JSON.stringify(o[l])&&(a[l]=o[l]);return a}function Xn(t){const{endpoint:o,columns:a,form:l,pk:r="id",searchDebounce:i=300,partialUpdate:s=!0,canCreate:v=!0,canEdit:u=!0,canDelete:h=!0,rowActions:$=void 0,filterParams:B=void 0,createDefaults:F=void 0,transformPayload:P=void 0,onAfterSave:Y=void 0,onAfterDelete:I=void 0}=t,p=e.inject(De);if(!p)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useCrudManager.");const g=p,k=e.inject(xe),V=t.pageSize??(k==null?void 0:k.defaultPageSize)??20,x={...$t,...t.labels},L=Ye(),{confirmDelete:z}=je(),M=e.ref([]),T=e.ref({}),j=e.ref(!1),K=e.ref(!1),W=e.ref(""),U=e.ref(!1),m=e.ref(!1),w=e.ref(null),c=e.reactive({});let n=null;const f=e.reactive({page:1,pageSize:V,rows:0,totalPages:0}),d=e.reactive({field:null,order:0});function D(){const b={};for(const E of l)b[E.field]=E.defaultValue!==void 0?typeof E.defaultValue=="function"?E.defaultValue():E.defaultValue:null;return b}const N=D();for(const b of Object.keys(N))c[b]=N[b];const R=e.computed(()=>w.value!==null&&!m.value),_=e.computed(()=>m.value),X=e.computed(()=>m.value?x.viewTitle??"Visualizar Registro":R.value?x.editTitle:x.createTitle),be=e.computed(()=>f.page<=1),we=e.computed(()=>f.page>=f.totalPages);let ee=null;async function Z(b={}){j.value=!0;try{const E={page:f.page,page_size:f.pageSize,...b};W.value&&(E.search=W.value),d.field&&d.order!==0&&(E.ordering=d.order===-1?`-${d.field}`:d.field),B&&Object.assign(E,B());const S=await g.list(o,E);M.value=S.data,f.rows=S.rows,T.value=S.extras??{},S.page&&(f.page=S.page),S.page_size&&(f.pageSize=S.page_size),f.totalPages=Math.ceil(f.rows/f.pageSize)||0}finally{j.value=!1}}async function te(){await Z()}async function Q(){await Z()}async function ie(b=200){const E={};W.value&&(E.search=W.value),d.field&&d.order!==0&&(E.ordering=d.order===-1?`-${d.field}`:d.field),B&&Object.assign(E,B());const S=[];let O=1;const he=1e4;for(;O<=he;){const ae=await g.list(o,{...E,page:O,page_size:b});S.push(...ae.data);const oe=ae.rows??S.length;if(ae.data.length===0||S.length>=oe)break;O++}return S}function se(b){W.value=b,ee&&clearTimeout(ee),ee=setTimeout(()=>{f.page=1,Z()},i)}function fe(b){const E=b.target;se(E.value)}function ne(b){f.page=b,Z()}function ce(){ne(1)}function ue(){ne(f.totalPages)}function pe(b){f.page=b.page+1,f.pageSize=b.rows,Z()}function ve(b){d.field=b.sortField??null,d.order=b.sortOrder??0,f.page=1,Z()}function le(){const b=D();for(const E of Object.keys(b))c[E]=b[E]}function y(b,E){c[b]=E}function C(){if(m.value=!1,w.value=null,n=null,le(),F){const b=F();for(const[E,S]of Object.entries(b))c[E]=S}U.value=!0}function q(b){const E={};for(const S of l){let O=b[S.field]!==void 0?b[S.field]:null;O&&(S.type==="date"||S.type==="datetime")&&typeof O=="string"&&(O=Ie(O)),c[S.field]=O,E[S.field]=O}n=E}function A(b){m.value=!1,w.value=b,q(b),U.value=!0}function G(b){m.value=!0,w.value=b,q(b),U.value=!0}function St(b){m.value=!1,w.value=null,n=null,le();for(const E of l){if(E.field===r)continue;let S=b[E.field]!==void 0?b[E.field]:c[E.field];S&&(E.type==="date"||E.type==="datetime")&&typeof S=="string"&&(S=Ie(S)),c[E.field]=S}if(F){const E=F();for(const[S,O]of Object.entries(E))c[S]=O}U.value=!0}function qe(b){const E={...b};for(const S of l){const O=E[S.field];if(S.type==="date"&&O instanceof Date?E[S.field]=it(O):S.type==="datetime"&&O instanceof Date&&(E[S.field]=st(O)),S.type==="fk"&&O!==null&&typeof O=="object"){const he=S.optionValue||"id";E[S.field]=O[he]??O}(S.type==="mask"||S.type==="cpf_cnpj")&&typeof O=="string"&&(E[S.field]=me(O))}return E}async function Dt(){for(const b of l){if(b.validate){const E=b.validate(c[b.field]);if(E)return L.error(E),null}if(b.required){const E=c[b.field];if(E==null||E==="")return L.error(`${b.label} é obrigatório`),null}}K.value=!0;try{let b=qe(c);if(!R.value&&F&&Object.assign(b,F()),R.value&&s&&n){const oe=qe(n);if(b=Zn(oe,b),Object.keys(b).length===0&&!P){U.value=!1;const de=w.value;return w.value=null,n=null,de}}P&&(b=P(b,R.value));const E=l.some(oe=>oe.type==="image"&&b[oe.field]instanceof File);let S=b,O;if(E){const oe=new Set(l.filter(re=>re.type==="image").map(re=>re.field)),de=new FormData;for(const[re,Be]of Object.entries(b))if(Be!=null)if(Be instanceof File)de.append(re,Be);else{if(oe.has(re))continue;de.append(re,String(Be))}S=de,O={"Content-Type":"multipart/form-data"}}const he=O?{headers:O}:void 0;let ae;if(R.value&&w.value){const oe=w.value[r];ae=await g.update(o,oe,S,he);const de=M.value.findIndex(re=>re[r]===oe);de!==-1&&(M.value[de]=ae.data),L.success(x.successUpdate)}else ae=await g.create(o,S,he),M.value.unshift(ae.data),f.rows++,L.success(x.successCreate);return U.value=!1,w.value=null,n=null,Y&&Y(ae.data,R.value),ae.data}catch(b){return L.error(ye(b,"Erro ao salvar registro")),null}finally{K.value=!1}}function xt(b){z(async()=>{try{const E=b[r];await g.delete(o,E);const S=M.value.findIndex(O=>O[r]===E);S!==-1&&(M.value.splice(S,1),f.rows--),L.success(x.successDelete),I&&I(b)}catch(E){L.error(ye(E,"Erro ao excluir registro"))}},x.deleteConfirmMessage)}return{items:M,extras:T,loading:j,saving:K,search:W,dialogVisible:U,editingItem:w,formData:c,pagination:f,sort:d,isEditing:R,isViewing:_,viewMode:m,dialogTitle:X,isFirstPage:be,isLastPage:we,init:te,fetchItems:Z,fetchAll:ie,refresh:Q,setSearch:se,onSearch:fe,onPage:pe,onSort:ve,openCreateDialog:C,openEditDialog:A,openViewDialog:G,openDuplicateDialog:St,save:Dt,confirmDelete:xt,setFormField:y,resetForm:le,goToPage:ne,firstPage:ce,lastPage:ue,config:t}}function Qn(t){const{endpoint:o,searchDebounce:a=300,immediate:l=!1}=t,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useApi.");const i=r,s=e.inject(xe),v=t.pageSize??(s==null?void 0:s.defaultPageSize)??20,u=e.ref([]),h=e.ref(!1),$=e.ref(""),B=e.ref({}),F=e.reactive({}),P=e.reactive({page:1,pageSize:v,rows:0,totalPages:0}),Y=e.reactive({field:null,order:0});let I=null;async function p(M={}){h.value=!0;try{const T={page:P.page,page_size:P.pageSize,...M};$.value&&(T.search=$.value),Y.field&&Y.order!==0&&(T.ordering=Y.order===-1?`-${Y.field}`:Y.field);for(const[K,W]of Object.entries(F))W!=null&&W!==""&&(T[K]=W);const j=await i.list(o,T);u.value=j.data,P.rows=j.rows,j.page&&(P.page=j.page),j.page_size&&(P.pageSize=j.page_size),P.totalPages=Math.ceil(P.rows/P.pageSize)||0,B.value=j.extras??{}}finally{h.value=!1}}async function g(){await p()}function k(M){$.value=M,I&&clearTimeout(I),I=setTimeout(()=>{P.page=1,p()},a)}function V(M,T){F[M]=T,P.page=1,p()}function x(){for(const M of Object.keys(F))delete F[M];P.page=1,p()}function L(M){P.page=M.page+1,P.pageSize=M.rows,p()}function z(M){Y.field=M.sortField??null,Y.order=M.sortOrder??0,P.page=1,p()}return l&&p(),{items:u,loading:h,search:$,pagination:P,sort:Y,extras:B,fetchItems:p,refresh:g,setSearch:k,setFilter:V,clearFilters:x,onPage:L,onSort:z}}function el(t){return t.split("?")[0].replace(/^\/+|\/+$/g,"").replace(/^api\/v\d+\//,"")}function tl(t){return typeof t=="string"?{table:t}:t}function Nt(t,o=400){return{response:{status:o,data:{detail:t}},message:t}}function tt(t){if(t instanceof FormData)throw Nt("SupabaseDataProvider nao envia FormData diretamente. Faça upload do arquivo no Storage e envie a URL/caminho no payload.");return t}function Ce(t){throw{response:{data:{detail:(t==null?void 0:t.message)??"Erro ao consultar Supabase",code:t==null?void 0:t.code,details:t==null?void 0:t.details,hint:t==null?void 0:t.hint}},message:(t==null?void 0:t.message)??"Erro ao consultar Supabase"}}function Ve(t,o){var r,i;const a=el(t),l=(r=o.resources)==null?void 0:r[a];if(l)return tl(l);if((i=o.allowedTables)!=null&&i.includes(a))return{table:a};throw Nt(`Recurso Supabase nao registrado para o endpoint "${t}".`,404)}function ol(t,o,a){const l=new Set(["page","page_size","search","ordering"]),r={...a.defaultFilters,...o};for(const[i,s]of Object.entries(r))l.has(i)||s===null||s===void 0||s===""||(t=t.eq(i,s));return t}function al(t,o,a){if(typeof o!="string"||!o.trim()||!(a!=null&&a.length))return t;const l=o.trim().replace(/,/g,"\\,"),r=a.map(i=>`${i}.ilike.%${l}%`).join(",");return t.or(r)}function nl(t,o){const a=typeof t=="string"&&t?t:o;return a?{field:a.startsWith("-")?a.slice(1):a,ascending:!a.startsWith("-")}:null}function ll(t,o){return t?o.mapListItem?t.map(a=>{var l;return(l=o.mapListItem)==null?void 0:l.call(o,a)}):t:[]}function rl(t){const o=t.defaultSelect??"*";return{async list(a,l={}){var F;const r=Ve(a,t),i=Math.max(Number(l.page??1),1),s=Math.max(Number(l.page_size??20),1),v=(i-1)*s,u=v+s-1;let h=t.client.from(r.table).select(r.select??o,{count:"exact"});h=ol(h,l,r),h=al(h,l.search,r.searchFields);const $=nl(l.ordering,r.defaultOrdering);$&&(h=h.order($.field,{ascending:$.ascending}));const B=await h.range(v,u);return B.error&&Ce(B.error),{data:ll(B.data,r),page:i,page_size:s,rows:B.count??((F=B.data)==null?void 0:F.length)??0,extras:{}}},async get(a,l,r){const i=Ve(a,t),s=i.pk??"id",v=await t.client.from(i.table).select(i.select??o).eq(s,l).single();return v.error&&Ce(v.error),{data:v.data}},async create(a,l,r){const i=Ve(a,t),s=tt(l),v=i.mapPayload?i.mapPayload(s,"create"):s,u=await t.client.from(i.table).insert(v).select(i.select??o).single();return u.error&&Ce(u.error),{data:u.data}},async update(a,l,r,i){const s=Ve(a,t),v=s.pk??"id",u=tt(r),h=s.mapPayload?s.mapPayload(u,"update"):u,$=await t.client.from(s.table).update(h).eq(v,l).select(s.select??o).single();return $.error&&Ce($.error),{data:$.data}},async delete(a,l){const r=Ve(a,t),i=r.pk??"id",s=r.softDelete===!0?{is_active:!1}:typeof r.softDelete=="object"?r.softDelete:null,v=s?await t.client.from(r.table).update(s).eq(i,l):await t.client.from(r.table).delete().eq(i,l);v.error&&Ce(v.error)}}}exports.DEFAULT_CRUD_LABELS=$t;exports.WActionBar=Wn;exports.WAutoCompleteFK=Oe;exports.WCrudColumnRenderer=Se;exports.WCrudFormDialog=Le;exports.WCrudView=Bt;exports.WDetailHeader=rn;exports.WEmptyState=Za;exports.WFormRenderer=yt;exports.WFormSection=In;exports.WInfoCard=fn;exports.WKpiCard=Vt;exports.WKpiGrid=Vn;exports.WMoneyInput=We;exports.WPageHeader=Ha;exports.WPrimeVuePlugin=Jn;exports.WProgressFlow=Gn;exports.WSectionHeader=Fn;exports.WStatusTag=Ct;exports.WTransferList=Ue;exports.W_AXIOS_KEY=rt;exports.W_CONFIG_KEY=xe;exports.W_DATA_PROVIDER_KEY=De;exports.createAxiosDataProvider=Et;exports.createSupabaseDataProvider=rl;exports.downloadCsv=wt;exports.extractApiError=ye;exports.mapApiFieldToColumnDef=ht;exports.mapApiFieldToFieldDef=vt;exports.mapApiFieldsToColumnDefs=kt;exports.mapApiFieldsToFieldDefs=gt;exports.toCsv=bt;exports.useApi=Qn;exports.useApiError=yo;exports.useAppConfirm=je;exports.useAppToast=Ye;exports.useCrudManager=Xn;exports.useFormatters=Re;
|
|
12
|
+
*/function en(){return e.inject(Qa)}const tn={class:"w-detail-header"},on={class:"w-detail-header-left"},an={class:"w-detail-header-content"},nn={class:"w-detail-header-title"},ln={key:0,class:"w-detail-header-subtitle"},rn={class:"w-detail-header-actions"},sn=e.defineComponent({__name:"WDetailHeader",props:{title:{},subtitle:{},icon:{},backRoute:{},backTo:{},status:{},statusMap:{}},setup(t){const o=t,a=en();function l(){o.backTo?a.push(typeof o.backTo=="string"?{name:o.backTo}:o.backTo):o.backRoute?a.push({name:o.backRoute}):a.back()}return(r,i)=>(e.openBlock(),e.createElementBlock("div",tn,[e.createElementVNode("div",on,[e.createVNode(e.unref(U),{icon:"pi pi-arrow-left",text:"",rounded:"",onClick:l}),t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass([t.icon,"w-detail-header-icon"])},null,2)):e.createCommentVNode("",!0),e.createElementVNode("div",an,[e.createElementVNode("h2",nn,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",ln,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),t.status?(e.openBlock(),e.createBlock(Ct,{key:1,value:t.status,map:t.statusMap},null,8,["value","map"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",rn,[e.renderSlot(r.$slots,"actions")])]))}}),cn={class:"w-info-card"},un={key:0,class:"w-info-card-title"},dn={class:"w-info-card-grid"},mn={class:"w-info-card-label"},fn={class:"w-info-card-value"},pn=e.defineComponent({__name:"WInfoCard",props:{title:{},fields:{}},setup(t){const{formatCurrency:o,formatDate:a,formatNumber:l}=Re();function r(i){const s=i.value;return s==null||s===""?"-":i.format==="currency"?o(Number(s)):i.format==="date"?a(String(s)):i.format==="datetime"?a(String(s),"DD/MM/YYYY HH:mm"):i.format==="number"?l(Number(s)):String(s)}return(i,s)=>(e.openBlock(),e.createElementBlock("div",cn,[t.title?(e.openBlock(),e.createElementBlock("h3",un,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",dn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,v=>(e.openBlock(),e.createElementBlock("div",{key:v.label,class:"w-info-card-field"},[e.createElementVNode("span",mn,e.toDisplayString(v.label),1),e.createElementVNode("span",fn,e.toDisplayString(r(v)),1)]))),128))])]))}}),vn={key:0,class:"w-kpi-card__loading"},gn={class:"w-kpi-card__loading-content"},hn={class:"w-kpi-card__header"},kn={key:0,class:"w-kpi-card__icon"},yn={key:1,class:"w-kpi-card__trend"},bn={class:"w-kpi-card__content"},wn={class:"w-kpi-card__label"},Bn={class:"w-kpi-card__value"},Cn={key:0,class:"w-kpi-card__hint"},Vn={key:0,class:"w-kpi-card__footer"},Vt=e.defineComponent({__name:"WKpiCard",props:{label:{},value:{},icon:{},hint:{},severity:{},trend:{},loading:{type:Boolean}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("article",{class:e.normalizeClass(["w-kpi-card",t.severity?`w-kpi-card--${t.severity}`:""])},[t.loading?(e.openBlock(),e.createElementBlock("div",vn,[e.createVNode(e.unref(Pe),{shape:"circle",size:"2.75rem"}),e.createElementVNode("div",gn,[e.createVNode(e.unref(Pe),{width:"6rem",height:"0.75rem"}),e.createVNode(e.unref(Pe),{width:"7.5rem",height:"1.5rem"}),e.createVNode(e.unref(Pe),{width:"5rem",height:"0.75rem"})])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",hn,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",kn,[e.renderSlot(o.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(t.icon)},null,2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),t.trend||o.$slots.trend?(e.openBlock(),e.createElementBlock("div",yn,[e.renderSlot(o.$slots,"trend",{},()=>[t.trend?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["w-kpi-card__trend-badge",t.trend.direction?`w-kpi-card__trend-badge--${t.trend.direction}`:""])},e.toDisplayString(t.trend.value),3)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",bn,[e.createElementVNode("p",wn,e.toDisplayString(t.label),1),e.createElementVNode("div",Bn,[e.renderSlot(o.$slots,"value",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])]),t.hint||o.$slots.hint?(e.openBlock(),e.createElementBlock("p",Cn,[e.renderSlot(o.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(t.hint),1)])])):e.createCommentVNode("",!0)]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",Vn,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],64))],2))}}),En=e.defineComponent({__name:"WKpiGrid",props:{items:{default:()=>[]},columns:{default:4},dense:{type:Boolean,default:!1}},setup(t){const o=t,a=e.computed(()=>[`w-kpi-grid--cols-${o.columns}`,{"w-kpi-grid--dense":o.dense}]);return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-kpi-grid",a.value])},[l.$slots.item?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(i,s)=>e.renderSlot(l.$slots,"item",{key:s,item:i,index:s})),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,(i,s)=>(e.openBlock(),e.createBlock(Vt,{key:s,label:i.label,value:i.value,icon:i.icon,severity:i.severity||"primary",hint:i.hint,trend:i.trend,loading:i.loading},null,8,["label","value","icon","severity","hint","trend","loading"]))),128))],2))}}),$n={class:"w-section-header__main"},Nn={key:0,class:"w-section-header__icon"},Sn={class:"w-section-header__content"},Dn={class:"w-section-header__title-row"},xn={class:"w-section-header__title"},Pn={key:0,class:"w-section-header__subtitle"},Fn={key:0,class:"w-section-header__actions"},Mn=e.defineComponent({__name:"WSectionHeader",props:{title:{},subtitle:{},icon:{},compact:{type:Boolean}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-section-header",{"w-section-header--compact":t.compact}])},[e.createElementVNode("div",$n,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",Nn,[e.renderSlot(o.$slots,"icon",{},()=>[t.icon?(e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(t.icon)},null,2)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Sn,[e.createElementVNode("div",Dn,[e.createElementVNode("h3",xn,e.toDisplayString(t.title),1),e.renderSlot(o.$slots,"meta")]),t.subtitle?(e.openBlock(),e.createElementBlock("p",Pn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Fn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),An={key:0,class:"w-form-section__header"},Rn={class:"w-form-section__content"},Ln={class:"w-form-section__title"},zn={key:0,class:"w-form-section__description"},Tn={key:0,class:"w-form-section__actions"},In={class:"w-form-section__body"},Yn=e.defineComponent({__name:"WFormSection",props:{title:{},description:{},variant:{}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["w-form-section",t.variant?`w-form-section--${t.variant}`:""])},[t.title||t.description||o.$slots.actions?(e.openBlock(),e.createElementBlock("div",An,[e.createElementVNode("div",Rn,[e.createElementVNode("h3",Ln,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",zn,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Tn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",In,[e.renderSlot(o.$slots,"default")])],2))}}),On={key:0,class:"w-action-bar__primary"},jn={key:1,class:"w-action-bar__filters"},Wn={key:2,class:"w-action-bar__secondary"},Un=e.defineComponent({__name:"WActionBar",props:{align:{default:"between"},stackOnMobile:{type:Boolean,default:!0}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-action-bar",[`w-action-bar--${t.align}`,{"w-action-bar--stack":t.stackOnMobile}]])},[o.$slots.primary||o.$slots.default?(e.openBlock(),e.createElementBlock("div",On,[e.renderSlot(o.$slots,"primary",{},()=>[e.renderSlot(o.$slots,"default")])])):e.createCommentVNode("",!0),o.$slots.filters?(e.openBlock(),e.createElementBlock("div",jn,[e.renderSlot(o.$slots,"filters")])):e.createCommentVNode("",!0),o.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Wn,[e.renderSlot(o.$slots,"secondary")])):e.createCommentVNode("",!0)],2))}}),qn={class:"w-progress-flow__marker"},Hn={class:"w-progress-flow__content"},Kn={class:"w-progress-flow__label"},Gn={key:0,class:"w-progress-flow__description"},_n=e.defineComponent({__name:"WProgressFlow",props:{steps:{},currentStep:{},orientation:{default:"horizontal"}},setup(t){const o=t,a=e.computed(()=>o.steps.findIndex(r=>r.key===o.currentStep));function l(r){return r<a.value?"done":r===a.value?"current":"pending"}return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-progress-flow",`w-progress-flow--${t.orientation}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.steps,(s,v)=>(e.openBlock(),e.createElementBlock("div",{key:s.key,class:e.normalizeClass(["w-progress-flow__step",`w-progress-flow__step--${l(v)}`])},[e.renderSlot(r.$slots,"step",{step:s,index:v,state:l(v)},()=>[e.createElementVNode("div",qn,[e.createElementVNode("span",null,e.toDisplayString(v+1),1)]),e.createElementVNode("div",Hn,[e.createElementVNode("p",Kn,e.toDisplayString(s.label),1),s.description?(e.openBlock(),e.createElementBlock("p",Gn,e.toDisplayString(s.description),1)):e.createCommentVNode("",!0)])])],2))),128))],2))}});function Jn(t,o,a){const l=t;return Array.isArray(l.results)?{data:l.results,page:l.page??o,page_size:l.page_size??a,rows:l.count??0,extras:l.extras??{}}:Array.isArray(l.data)?{data:l.data,page:l.page??o,page_size:l.page_size??a,rows:l.rows??0,extras:l.extras??{}}:{data:Array.isArray(t)?t:[],page:o,page_size:a,rows:Array.isArray(t)?t.length:0,extras:{}}}function Et(t){return{async list(o,a={}){const l=await t.get(o,{params:a});return Jn(l.data,Number(a.page??1),Number(a.page_size??20))},async get(o,a,l){return{data:(await t.get(`${o}${a}/`,l)).data}},async create(o,a,l){return{data:(await t.post(o,a,l)).data}},async update(o,a,l,r){return{data:(await t.patch(`${o}${a}/`,l,r)).data}},async delete(o,a){await t.delete(`${o}${a}/`)}}}const Zn={install(t,o){if(!(o!=null&&o.axios)&&!(o!=null&&o.dataProvider))throw new Error('[wPrimeVueComponents] Informe "axios" ou "dataProvider" ao registrar o WPrimeVuePlugin.');const a=o.dataProvider??Et(o.axios),l={axios:o.axios,dataProvider:a,defaultPageSize:o.defaultPageSize??20,dateFormat:o.dateFormat??"DD/MM/YYYY",dateTimeFormat:o.dateTimeFormat??"DD/MM/YYYY HH:mm",locale:o.locale??"pt-BR",currency:o.currency??"BRL"};o.axios&&t.provide(rt,o.axios),t.provide(De,a),t.provide(xe,l),o.registerComponents!==!1&&(t.component("WCrudView",Bt),t.component("WCrudFormDialog",Le),t.component("WCrudColumnRenderer",Se),t.component("WAutoCompleteFK",je),t.component("WMoneyInput",We),t.component("WTransferList",Ue))}},$t={createTitle:"Novo Registro",editTitle:"Editar Registro",createButton:"Novo",saveButton:"Salvar",updateButton:"Atualizar",cancelButton:"Cancelar",deleteConfirmTitle:"Confirmar Exclusão",deleteConfirmMessage:"Deseja realmente excluir este registro?",searchPlaceholder:"Buscar...",emptyMessage:"Nenhum registro encontrado",successCreate:"Registro criado com sucesso",successUpdate:"Registro atualizado com sucesso",successDelete:"Registro excluído com sucesso"};function Xn(t,o){const a={};for(const l of Object.keys(o))JSON.stringify(t[l])!==JSON.stringify(o[l])&&(a[l]=o[l]);return a}function Qn(t){const{endpoint:o,columns:a,form:l,pk:r="id",searchDebounce:i=300,partialUpdate:s=!0,refetchOnSave:v=!0,canCreate:d=!0,canEdit:h=!0,canDelete:N=!0,rowActions:V=void 0,filterParams:A=void 0,createDefaults:x=void 0,transformPayload:I=void 0,onAfterSave:Y=void 0,onAfterDelete:p=void 0}=t,g=e.inject(De);if(!g)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useCrudManager.");const k=g,w=e.inject(xe),R=t.pageSize??(w==null?void 0:w.defaultPageSize)??20,L={...$t,...t.labels},F=Ye(),{confirmDelete:z}=Oe(),M=e.ref([]),O=e.ref({}),K=e.ref(!1),H=e.ref(!1),W=e.ref(""),m=e.ref(!1),C=e.ref(!1),c=e.ref(null),n=e.reactive({});let f=null;const u=e.reactive({page:1,pageSize:R,rows:0,totalPages:0}),E=e.reactive({field:null,order:0});function S(){const b={};for(const $ of l)b[$.field]=$.defaultValue!==void 0?typeof $.defaultValue=="function"?$.defaultValue():$.defaultValue:null;return b}const T=S();for(const b of Object.keys(T))n[b]=T[b];const G=e.computed(()=>c.value!==null&&!C.value),X=e.computed(()=>C.value),be=e.computed(()=>C.value?L.viewTitle??"Visualizar Registro":G.value?L.editTitle:L.createTitle),we=e.computed(()=>u.page<=1),ae=e.computed(()=>u.page>=u.totalPages);let ne=null;async function _(b={}){K.value=!0;try{const $={page:u.page,page_size:u.pageSize,...b};W.value&&($.search=W.value),E.field&&E.order!==0&&($.ordering=E.order===-1?`-${E.field}`:E.field),A&&Object.assign($,A());const D=await k.list(o,$);M.value=D.data,u.rows=D.rows,O.value=D.extras??{},D.page&&(u.page=D.page),D.page_size&&(u.pageSize=D.page_size),u.totalPages=Math.ceil(u.rows/u.pageSize)||0}finally{K.value=!1}}async function Q(){await _()}async function re(){await _()}async function de(b=200){const $={};W.value&&($.search=W.value),E.field&&E.order!==0&&($.ordering=E.order===-1?`-${E.field}`:E.field),A&&Object.assign($,A());const D=[];let j=1;const he=1e4;for(;j<=he;){const oe=await k.list(o,{...$,page:j,page_size:b});D.push(...oe.data);const ee=oe.rows??D.length;if(oe.data.length===0||D.length>=ee)break;j++}return D}function ie(b){W.value=b,ne&&clearTimeout(ne),ne=setTimeout(()=>{u.page=1,_()},i)}function me(b){const $=b.target;ie($.value)}function te(b){u.page=b,_()}function se(){te(1)}function fe(){te(u.totalPages)}function pe(b){u.page=b.page+1,u.pageSize=b.rows,_()}function ve(b){E.field=b.sortField??null,E.order=b.sortOrder??0,u.page=1,_()}function y(){const b=S();for(const $ of Object.keys(b))n[$]=b[$]}function B(b,$){n[b]=$}function q(){if(C.value=!1,c.value=null,f=null,y(),x){const b=x();for(const[$,D]of Object.entries(b))n[$]=D}m.value=!0}function P(b){const $={};for(const D of l){let j=b[D.field]!==void 0?b[D.field]:null;j&&(D.type==="date"||D.type==="datetime")&&typeof j=="string"&&(j=Ie(j)),n[D.field]=j,$[D.field]=j}f=$}function J(b){C.value=!1,c.value=b,P(b),m.value=!0}function St(b){C.value=!0,c.value=b,P(b),m.value=!0}function Dt(b){C.value=!1,c.value=null,f=null,y();for(const $ of l){if($.field===r)continue;let D=b[$.field]!==void 0?b[$.field]:n[$.field];D&&($.type==="date"||$.type==="datetime")&&typeof D=="string"&&(D=Ie(D)),n[$.field]=D}if(x){const $=x();for(const[D,j]of Object.entries($))n[D]=j}m.value=!0}function qe(b){const $={...b};for(const D of l){const j=$[D.field];if(D.type==="date"&&j instanceof Date?$[D.field]=it(j):D.type==="datetime"&&j instanceof Date&&($[D.field]=st(j)),D.type==="fk"&&j!==null&&typeof j=="object"){const he=D.optionValue||"id";$[D.field]=j[he]??j}(D.type==="mask"||D.type==="cpf_cnpj")&&typeof j=="string"&&($[D.field]=ue(j))}return $}async function xt(){for(const b of l){if(b.validate){const $=b.validate(n[b.field]);if($)return F.error($),null}if(b.required){const $=n[b.field];if($==null||$==="")return F.error(`${b.label} é obrigatório`),null}}H.value=!0;try{let b=qe(n);if(!G.value&&x&&Object.assign(b,x()),G.value&&s&&f){const ee=qe(f);if(b=Xn(ee,b),Object.keys(b).length===0&&!I){m.value=!1;const ce=c.value;return c.value=null,f=null,ce}}I&&(b=I(b,G.value));const $=l.some(ee=>ee.type==="image"&&b[ee.field]instanceof File);let D=b,j;if($){const ee=new Set(l.filter(le=>le.type==="image").map(le=>le.field)),ce=new FormData;for(const[le,Be]of Object.entries(b))if(Be!=null)if(Be instanceof File)ce.append(le,Be);else{if(ee.has(le))continue;ce.append(le,String(Be))}D=ce,j={"Content-Type":"multipart/form-data"}}const he=j?{headers:j}:void 0;let oe;if(G.value&&c.value){const ee=c.value[r];if(oe=await k.update(o,ee,D,he),!v){const ce=M.value.findIndex(le=>le[r]===ee);ce!==-1&&(M.value[ce]=oe.data)}F.success(L.successUpdate)}else oe=await k.create(o,D,he),v||(M.value.unshift(oe.data),u.rows++),F.success(L.successCreate);return m.value=!1,c.value=null,f=null,v&&await _(),Y&&Y(oe.data,G.value),oe.data}catch(b){return F.error(ye(b,"Erro ao salvar registro")),null}finally{H.value=!1}}function Pt(b){z(async()=>{try{const $=b[r];await k.delete(o,$);const D=M.value.findIndex(j=>j[r]===$);D!==-1&&(M.value.splice(D,1),u.rows--),F.success(L.successDelete),p&&p(b)}catch($){F.error(ye($,"Erro ao excluir registro"))}},L.deleteConfirmMessage)}return{items:M,extras:O,loading:K,saving:H,search:W,dialogVisible:m,editingItem:c,formData:n,pagination:u,sort:E,isEditing:G,isViewing:X,viewMode:C,dialogTitle:be,isFirstPage:we,isLastPage:ae,init:Q,fetchItems:_,fetchAll:de,refresh:re,setSearch:ie,onSearch:me,onPage:pe,onSort:ve,openCreateDialog:q,openEditDialog:J,openViewDialog:St,openDuplicateDialog:Dt,save:xt,confirmDelete:Pt,setFormField:B,resetForm:y,goToPage:te,firstPage:se,lastPage:fe,config:t}}function el(t){const{endpoint:o,searchDebounce:a=300,immediate:l=!1}=t,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useApi.");const i=r,s=e.inject(xe),v=t.pageSize??(s==null?void 0:s.defaultPageSize)??20,d=e.ref([]),h=e.ref(!1),N=e.ref(""),V=e.ref({}),A=e.reactive({}),x=e.reactive({page:1,pageSize:v,rows:0,totalPages:0}),I=e.reactive({field:null,order:0});let Y=null;async function p(z={}){h.value=!0;try{const M={page:x.page,page_size:x.pageSize,...z};N.value&&(M.search=N.value),I.field&&I.order!==0&&(M.ordering=I.order===-1?`-${I.field}`:I.field);for(const[K,H]of Object.entries(A))H!=null&&H!==""&&(M[K]=H);const O=await i.list(o,M);d.value=O.data,x.rows=O.rows,O.page&&(x.page=O.page),O.page_size&&(x.pageSize=O.page_size),x.totalPages=Math.ceil(x.rows/x.pageSize)||0,V.value=O.extras??{}}finally{h.value=!1}}async function g(){await p()}function k(z){N.value=z,Y&&clearTimeout(Y),Y=setTimeout(()=>{x.page=1,p()},a)}function w(z,M){A[z]=M,x.page=1,p()}function R(){for(const z of Object.keys(A))delete A[z];x.page=1,p()}function L(z){x.page=z.page+1,x.pageSize=z.rows,p()}function F(z){I.field=z.sortField??null,I.order=z.sortOrder??0,x.page=1,p()}return l&&p(),{items:d,loading:h,search:N,pagination:x,sort:I,extras:V,fetchItems:p,refresh:g,setSearch:k,setFilter:w,clearFilters:R,onPage:L,onSort:F}}function tl(t){return t.split("?")[0].replace(/^\/+|\/+$/g,"").replace(/^api\/v\d+\//,"")}function ol(t){return typeof t=="string"?{table:t}:t}function Nt(t,o=400){return{response:{status:o,data:{detail:t}},message:t}}function tt(t){if(t instanceof FormData)throw Nt("SupabaseDataProvider nao envia FormData diretamente. Faça upload do arquivo no Storage e envie a URL/caminho no payload.");return t}function Ce(t){throw{response:{data:{detail:(t==null?void 0:t.message)??"Erro ao consultar Supabase",code:t==null?void 0:t.code,details:t==null?void 0:t.details,hint:t==null?void 0:t.hint}},message:(t==null?void 0:t.message)??"Erro ao consultar Supabase"}}function Ve(t,o){var r,i;const a=tl(t),l=(r=o.resources)==null?void 0:r[a];if(l)return ol(l);if((i=o.allowedTables)!=null&&i.includes(a))return{table:a};throw Nt(`Recurso Supabase nao registrado para o endpoint "${t}".`,404)}function al(t,o,a){const l=new Set(["page","page_size","search","ordering"]),r={...a.defaultFilters,...o};for(const[i,s]of Object.entries(r))l.has(i)||s===null||s===void 0||s===""||(t=t.eq(i,s));return t}function nl(t,o,a){if(typeof o!="string"||!o.trim()||!(a!=null&&a.length))return t;const l=o.trim().replace(/,/g,"\\,"),r=a.map(i=>`${i}.ilike.%${l}%`).join(",");return t.or(r)}function ll(t,o){const a=typeof t=="string"&&t?t:o;return a?{field:a.startsWith("-")?a.slice(1):a,ascending:!a.startsWith("-")}:null}function rl(t,o){return t?o.mapListItem?t.map(a=>{var l;return(l=o.mapListItem)==null?void 0:l.call(o,a)}):t:[]}function il(t){const o=t.defaultSelect??"*";return{async list(a,l={}){var A;const r=Ve(a,t),i=Math.max(Number(l.page??1),1),s=Math.max(Number(l.page_size??20),1),v=(i-1)*s,d=v+s-1;let h=t.client.from(r.table).select(r.select??o,{count:"exact"});h=al(h,l,r),h=nl(h,l.search,r.searchFields);const N=ll(l.ordering,r.defaultOrdering);N&&(h=h.order(N.field,{ascending:N.ascending}));const V=await h.range(v,d);return V.error&&Ce(V.error),{data:rl(V.data,r),page:i,page_size:s,rows:V.count??((A=V.data)==null?void 0:A.length)??0,extras:{}}},async get(a,l,r){const i=Ve(a,t),s=i.pk??"id",v=await t.client.from(i.table).select(i.select??o).eq(s,l).single();return v.error&&Ce(v.error),{data:v.data}},async create(a,l,r){const i=Ve(a,t),s=tt(l),v=i.mapPayload?i.mapPayload(s,"create"):s,d=await t.client.from(i.table).insert(v).select(i.select??o).single();return d.error&&Ce(d.error),{data:d.data}},async update(a,l,r,i){const s=Ve(a,t),v=s.pk??"id",d=tt(r),h=s.mapPayload?s.mapPayload(d,"update"):d,N=await t.client.from(s.table).update(h).eq(v,l).select(s.select??o).single();return N.error&&Ce(N.error),{data:N.data}},async delete(a,l){const r=Ve(a,t),i=r.pk??"id",s=r.softDelete===!0?{is_active:!1}:typeof r.softDelete=="object"?r.softDelete:null,v=s?await t.client.from(r.table).update(s).eq(i,l):await t.client.from(r.table).delete().eq(i,l);v.error&&Ce(v.error)}}}exports.DEFAULT_CRUD_LABELS=$t;exports.WActionBar=Un;exports.WAutoCompleteFK=je;exports.WCrudColumnRenderer=Se;exports.WCrudFormDialog=Le;exports.WCrudView=Bt;exports.WDetailHeader=sn;exports.WEmptyState=Xa;exports.WFormRenderer=yt;exports.WFormSection=Yn;exports.WInfoCard=pn;exports.WKpiCard=Vt;exports.WKpiGrid=En;exports.WMoneyInput=We;exports.WPageHeader=Ka;exports.WPrimeVuePlugin=Zn;exports.WProgressFlow=_n;exports.WSectionHeader=Mn;exports.WStatusTag=Ct;exports.WTransferList=Ue;exports.W_AXIOS_KEY=rt;exports.W_CONFIG_KEY=xe;exports.W_DATA_PROVIDER_KEY=De;exports.createAxiosDataProvider=Et;exports.createSupabaseDataProvider=il;exports.downloadCsv=wt;exports.extractApiError=ye;exports.mapApiFieldToColumnDef=ht;exports.mapApiFieldToFieldDef=vt;exports.mapApiFieldsToColumnDefs=kt;exports.mapApiFieldsToFieldDefs=gt;exports.toCsv=bt;exports.useApi=el;exports.useApiError=bo;exports.useAppConfirm=Oe;exports.useAppToast=Ye;exports.useCrudManager=Qn;exports.useFormatters=Re;
|
|
13
13
|
//# sourceMappingURL=index.cjs.map
|