@wgalleti/primevue-components 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/crud/WCrudView.vue.d.ts +32 -2
- package/dist/index.cjs +6 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1911 -1657
- package/dist/index.js.map +1 -1
- package/dist/primevue-components.css +1 -1
- package/dist/types/components/crud/WCrudView.vue.d.ts +41 -22
- package/dist/types/crud.d.ts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/types/crud.d.ts +2 -0
- package/dist/types/utils/csv.d.ts +13 -0
- package/dist/utils/csv.d.ts +13 -0
- package/package.json +1 -1
|
@@ -15,6 +15,12 @@ type __VLS_Props = {
|
|
|
15
15
|
viewToggle?: boolean;
|
|
16
16
|
defaultView?: 'table' | 'cards';
|
|
17
17
|
cardFields?: number;
|
|
18
|
+
actionRail?: boolean;
|
|
19
|
+
contextMenu?: boolean;
|
|
20
|
+
exportCsv?: boolean;
|
|
21
|
+
csvFilename?: string;
|
|
22
|
+
csvScope?: 'all' | 'page';
|
|
23
|
+
csvPageSize?: number;
|
|
18
24
|
};
|
|
19
25
|
declare function __VLS_template(): {
|
|
20
26
|
attrs: Partial<{}>;
|
|
@@ -51,23 +57,36 @@ declare function __VLS_template(): {
|
|
|
51
57
|
expansion?(_: {
|
|
52
58
|
data: any;
|
|
53
59
|
}): any;
|
|
60
|
+
'rail-actions'?(_: {
|
|
61
|
+
selected: Record<string, unknown> | null;
|
|
62
|
+
crud: CrudManagerReturn<any>;
|
|
63
|
+
}): any;
|
|
54
64
|
'form-dialog'?(_: {
|
|
55
65
|
crud: CrudManagerReturn<any>;
|
|
56
66
|
dialogWidth: string;
|
|
57
67
|
}): any;
|
|
58
68
|
};
|
|
59
|
-
refs: {
|
|
69
|
+
refs: {
|
|
70
|
+
cm: ({
|
|
71
|
+
$props: import('primevue/contextmenu').ContextMenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
|
|
72
|
+
$slots: import('primevue/contextmenu').ContextMenuSlots;
|
|
73
|
+
$emit: ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void) & ((e: "before-show") => void) & ((e: "before-hide") => void) & ((e: "show") => void) & ((e: "hide") => void);
|
|
74
|
+
} & import('primevue/contextmenu').ContextMenuMethods) | null;
|
|
75
|
+
};
|
|
60
76
|
rootEl: HTMLDivElement;
|
|
61
77
|
};
|
|
62
78
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
63
79
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
64
80
|
"row-expand": (data: unknown) => any;
|
|
65
81
|
"row-collapse": (data: unknown) => any;
|
|
82
|
+
print: (data: Record<string, unknown>) => any;
|
|
66
83
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
67
84
|
"onRow-expand"?: ((data: unknown) => any) | undefined;
|
|
68
85
|
"onRow-collapse"?: ((data: unknown) => any) | undefined;
|
|
86
|
+
onPrint?: ((data: Record<string, unknown>) => any) | undefined;
|
|
69
87
|
}>, {
|
|
70
88
|
dialogWidth: string;
|
|
89
|
+
contextMenu: boolean;
|
|
71
90
|
showHeader: boolean;
|
|
72
91
|
showSearch: boolean;
|
|
73
92
|
autoInit: boolean;
|
|
@@ -79,7 +98,18 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
|
|
|
79
98
|
viewToggle: boolean;
|
|
80
99
|
defaultView: "table" | "cards";
|
|
81
100
|
cardFields: number;
|
|
82
|
-
|
|
101
|
+
actionRail: boolean;
|
|
102
|
+
exportCsv: boolean;
|
|
103
|
+
csvFilename: string;
|
|
104
|
+
csvScope: "all" | "page";
|
|
105
|
+
csvPageSize: number;
|
|
106
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
107
|
+
cm: ({
|
|
108
|
+
$props: import('primevue/contextmenu').ContextMenuProps & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
|
|
109
|
+
$slots: import('primevue/contextmenu').ContextMenuSlots;
|
|
110
|
+
$emit: ((e: "focus", event: Event) => void) & ((e: "blur", event: Event) => void) & ((e: "before-show") => void) & ((e: "before-hide") => void) & ((e: "show") => void) & ((e: "hide") => void);
|
|
111
|
+
} & import('primevue/contextmenu').ContextMenuMethods) | null;
|
|
112
|
+
}, HTMLDivElement>;
|
|
83
113
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
84
114
|
export default _default;
|
|
85
115
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Qe=require("primevue/datatable"),he=require("primevue/column"),_=require("primevue/button"),J=require("primevue/inputtext"),Ce=require("primevue/iconfield"),$e=require("primevue/inputicon"),$t=require("primevue/paginator"),et=require("primevue/tag"),ve=require("dayjs"),tt=require("primevue/dialog"),Ue=require("primevue/inputnumber"),Nt=require("primevue/textarea"),Dt=require("primevue/select"),ot=require("primevue/autocomplete"),qe=require("primevue/datepicker"),St=require("primevue/toggleswitch"),xt=require("primevue/colorpicker"),Pt=require("primevue/password"),Ft=require("primevue/usetoast"),At=require("primevue/useconfirm"),Mt=require("primevue/inputgroup"),_e=require("primevue/inputgroupaddon"),Pe=require("primevue/skeleton"),at=Symbol("w-axios"),De=Symbol("w-data-provider"),Se=Symbol("w-config");function Tt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ae={exports:{}},Lt=Ae.exports,He;function zt(){return He||(He=1,(function(t,o){(function(a,n){t.exports=n()})(Lt,(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"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,s=/\d\d/,i=/\d\d?/,v=/\d*[^-_:/,()\s\d]+/,c={},k=function(u){return(u=+u)+(u>68?1900:2e3)},$=function(u){return function(g){this[u]=+g}},B=[/[+-]\d\d:?(\d\d)?|Z/,function(u){(this.zone||(this.zone={})).offset=(function(g){if(!g||g==="Z")return 0;var y=g.match(/([+-]|\d\d)/g),E=60*y[1]+(+y[2]||0);return E===0?0:y[0]==="+"?-E:E})(u)}],M=function(u){var g=c[u];return g&&(g.indexOf?g:g.s.concat(g.f))},F=function(u,g){var y,E=c.meridiem;if(E){for(var S=1;S<=24;S+=1)if(u.indexOf(E(S,0,g))>-1){y=S>12;break}}else y=u===(g?"pm":"PM");return y},I={A:[v,function(u){this.afternoon=F(u,!1)}],a:[v,function(u){this.afternoon=F(u,!0)}],Q:[r,function(u){this.month=3*(u-1)+1}],S:[r,function(u){this.milliseconds=100*+u}],SS:[s,function(u){this.milliseconds=10*+u}],SSS:[/\d{3}/,function(u){this.milliseconds=+u}],s:[i,$("seconds")],ss:[i,$("seconds")],m:[i,$("minutes")],mm:[i,$("minutes")],H:[i,$("hours")],h:[i,$("hours")],HH:[i,$("hours")],hh:[i,$("hours")],D:[i,$("day")],DD:[s,$("day")],Do:[v,function(u){var g=c.ordinal,y=u.match(/\d+/);if(this.day=y[0],g)for(var E=1;E<=31;E+=1)g(E).replace(/\[|\]/g,"")===u&&(this.day=E)}],w:[i,$("week")],ww:[s,$("week")],M:[i,$("month")],MM:[s,$("month")],MMM:[v,function(u){var g=M("months"),y=(M("monthsShort")||g.map((function(E){return E.slice(0,3)}))).indexOf(u)+1;if(y<1)throw new Error;this.month=y%12||y}],MMMM:[v,function(u){var g=M("months").indexOf(u)+1;if(g<1)throw new Error;this.month=g%12||g}],Y:[/[+-]?\d+/,$("year")],YY:[s,function(u){this.year=k(u)}],YYYY:[/\d{4}/,$("year")],Z:B,ZZ:B};function W(u){var g,y;g=u,y=c&&c.formats;for(var E=(u=g.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(D,x,O){var d=O&&O.toUpperCase();return x||y[O]||a[O]||y[d].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(C,N,l){return N||l.slice(1)}))}))).match(n),S=E.length,T=0;T<S;T+=1){var h=E[T],p=I[h],L=p&&p[0],m=p&&p[1];E[T]=m?{regex:L,parser:m}:h.replace(/^\[|\]$/g,"")}return function(D){for(var x={},O=0,d=0;O<S;O+=1){var C=E[O];if(typeof C=="string")d+=C.length;else{var N=C.regex,l=C.parser,f=D.slice(d),Y=N.exec(f)[0];l.call(x,Y),D=D.replace(Y,"")}}return(function(H){var j=H.afternoon;if(j!==void 0){var z=H.hours;j?z<12&&(H.hours+=12):z===12&&(H.hours=0),delete H.afternoon}})(x),x}}return function(u,g,y){y.p.customParseFormat=!0,u&&u.parseTwoDigitYear&&(k=u.parseTwoDigitYear);var E=g.prototype,S=E.parse;E.parse=function(T){var h=T.date,p=T.utc,L=T.args;this.$u=p;var m=L[1];if(typeof m=="string"){var D=L[2]===!0,x=L[3]===!0,O=D||x,d=L[2];x&&(d=L[2]),c=this.$locale(),!D&&d&&(c=y.Ls[d]),this.$d=(function(f,Y,H,j){try{if(["x","X"].indexOf(Y)>-1)return new Date((Y==="X"?1e3:1)*f);var z=W(Y)(f),G=z.year,X=z.month,ye=z.day,be=z.hours,ee=z.minutes,Z=z.seconds,te=z.milliseconds,Q=z.zone,oe=z.week,ue=new Date,ae=ye||(G||X?1:ue.getDate()),me=G||ue.getFullYear(),re=0;G&&!X||(re=X>0?X-1:ue.getMonth());var se,fe=be||0,ie=ee||0,pe=Z||0,b=te||0;return Q?new Date(Date.UTC(me,re,ae,fe,ie,pe,b+60*Q.offset*1e3)):H?new Date(Date.UTC(me,re,ae,fe,ie,pe,b)):(se=new Date(me,re,ae,fe,ie,pe,b),oe&&(se=j(se).week(oe).toDate()),se)}catch{return new Date("")}})(h,m,p,y),this.init(),d&&d!==!0&&(this.$L=this.locale(d).$L),O&&h!=this.format(m)&&(this.$d=new Date("")),c={}}else if(m instanceof Array)for(var C=m.length,N=1;N<=C;N+=1){L[1]=m[N-1];var l=y.apply(this,L);if(l.isValid()){this.$d=l.$d,this.$L=l.$L,this.init();break}N===C&&(this.$d=new Date(""))}else S.call(this,T)}}}))})(Ae)),Ae.exports}var Rt=zt();const It=Tt(Rt);ve.extend(It);function nt(t){if(!t)return null;if(t instanceof Date)return t;const o=ve(t,"YYYY-MM-DD",!0);return o.isValid()?o.toDate():ve(t).toDate()}function lt(t){return t?typeof t=="string"?t:ve(t).format("YYYY-MM-DD"):null}function rt(t){return t?typeof t=="string"?t:ve(t).toISOString():null}function Yt(t,o="DD/MM/YYYY"){return t?ve(t).format(o):"—"}function Wt(t){return t?ve(t).format("DD/MM/YYYY HH:mm"):"—"}function de(t){return t.replace(/\D/g,"")}function st(t){if(!t)return"—";const o=de(t);return o.length!==11?t:o.replace(/^(\d{3})(\d{3})(\d{3})(\d{2})$/,"$1.$2.$3-$4")}function it(t){if(!t)return"—";const o=de(t);return o.length!==14?t:o.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/,"$1.$2.$3/$4-$5")}function Ot(t){if(!t)return"—";const o=de(t);return o.length===11?st(t):o.length===14?it(t):t}function jt(t){if(!t)return"—";const o=de(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 ct(t){if(!t)return null;const o=de(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 i=0;i<9;i++)a+=parseInt(o[i])*(10-i);let n=a%11;const r=n<2?0:11-n;if(parseInt(o[9])!==r)return"CPF inválido.";a=0;for(let i=0;i<10;i++)a+=parseInt(o[i])*(11-i);n=a%11;const s=n<2?0:11-n;return parseInt(o[10])!==s?"CPF inválido.":null}function dt(t){if(!t)return null;const o=de(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 n=0;for(let c=0;c<12;c++)n+=parseInt(o[c])*a[c];let r=n%11;const s=r<2?0:11-r;if(parseInt(o[12])!==s)return"CNPJ inválido.";const i=[6,5,4,3,2,9,8,7,6,5,4,3,2];n=0;for(let c=0;c<13;c++)n+=parseInt(o[c])*i[c];r=n%11;const v=r<2?0:11-r;return parseInt(o[13])!==v?"CNPJ inválido.":null}function Ut(t){if(!t)return null;const o=de(t);return o.length===11?ct(t):o.length===14?dt(t):"CPF deve ter 11 dígitos ou CNPJ deve ter 14 dígitos."}const Me=new Map;function Ke(t,o){const a=`${t}-${o}`;let n=Me.get(a);return n||(n=new Intl.NumberFormat(t,{minimumFractionDigits:o,maximumFractionDigits:o}),Me.set(a,n)),n}function qt(t,o){const a=`${t}-${o}`;let n=Me.get(a);return n||(n=new Intl.NumberFormat(t,{style:"currency",currency:o}),Me.set(a,n)),n}function Te(){const t=e.inject(Se,{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 n(c){return c==null?"—":qt(o,a).format(c)}function r(c,k=2){return c==null?"—":Ke(o,k).format(c)}function s(c,k){return Yt(c,k??(t==null?void 0:t.dateFormat)??"DD/MM/YYYY")}function i(c){return Wt(c)}function v(c){return c==null?"—":`${Ke(o,2).format(c)}%`}return{formatCurrency:n,formatNumber:r,formatDate:s,formatDateTime:i,formatPercent:v,formatCpf:st,formatCnpj:it,formatCpfCnpj:Ot,formatTelefone:jt,validateCpf:ct,validateCnpj:dt,validateCpfCnpj:Ut,parseDate:nt,toDateString:lt,toDateTimeString:rt}}const _t={key:0,class:"text-muted-color text-xs"},Ht=["src","alt"],Kt={key:3,class:"text-muted-color tabular-nums text-[0.8125rem]"},Gt={key:4,class:"text-muted-color tabular-nums text-[0.8125rem]"},Jt={key:5,class:"font-semibold tabular-nums text-[0.8125rem]"},Zt={key:6,class:"font-semibold tabular-nums text-[0.8125rem]"},Xt={key:7,class:"text-[0.8125rem]"},Ne=e.defineComponent({__name:"WCrudColumnRenderer",props:{column:{},value:{},rowData:{}},setup(t){const{formatDate:o,formatDateTime:a,formatCurrency:n,formatNumber:r}=Te();return(s,i)=>t.value==null?(e.openBlock(),e.createElementBlock("span",_t,"—")):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,Ht)):t.column.type==="boolean"?(e.openBlock(),e.createBlock(e.unref(et),{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",Kt,e.toDisplayString(e.unref(o)(t.value)),1)):t.column.type==="datetime"?(e.openBlock(),e.createElementBlock("span",Gt,e.toDisplayString(e.unref(a)(t.value)),1)):t.column.type==="currency"?(e.openBlock(),e.createElementBlock("span",Jt,e.toDisplayString(e.unref(n)(t.value)),1)):t.column.type==="number"?(e.openBlock(),e.createElementBlock("span",Zt,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",Xt,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):t.value),1))}});var Qt=Object.defineProperty,eo=(t,o,a)=>o in t?Qt(t,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[o]=a,Ee=(t,o,a)=>eo(t,typeof o!="symbol"?o+"":o,a);const Ge={"#":{pattern:/[0-9]/},"@":{pattern:/[a-zA-Z]/},"*":{pattern:/[a-zA-Z0-9]/}},Je=(t,o,a)=>t.replaceAll(o,"").replace(a,".").replace("..",".").replace(/[^.\d]/g,""),Ze=(t,o,a)=>{var n;return new Intl.NumberFormat(((n=a.number)==null?void 0:n.locale)??"en",{minimumFractionDigits:t,maximumFractionDigits:o,roundingMode:"trunc"})},to=(t,o=!0,a)=>{var n,r,s,i;const v=((n=a.number)==null?void 0:n.unsigned)!==!0&&t.startsWith("-")?"-":"",c=((r=a.number)==null?void 0:r.fraction)??0;let k=Ze(0,c,a);const $=k.formatToParts(1000.12),B=((s=$.find(u=>u.type==="group"))==null?void 0:s.value)??" ",M=((i=$.find(u=>u.type==="decimal"))==null?void 0:i.value)??".",F=Je(t,B,M);if(Number.isNaN(parseFloat(F)))return v;const I=F.split(".");if(I[1]!=null&&I[1].length>=1){const u=I[1].length<=c?I[1].length:c;k=Ze(u,c,a)}let W=k.format(parseFloat(F));return o?c>0&&F.endsWith(".")&&!F.slice(0,-1).includes(".")&&(W+=M):W=Je(W,B,M),v+W},ut=t=>JSON.parse(t.replaceAll("'",'"')),oo=(t,o={})=>{const a={...o};t.dataset.maska!=null&&t.dataset.maska!==""&&(a.mask=ao(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=no(t.dataset.maskaTokens));const n={};return t.dataset.maskaNumberLocale!=null&&(n.locale=t.dataset.maskaNumberLocale),t.dataset.maskaNumberFraction!=null&&(n.fraction=parseInt(t.dataset.maskaNumberFraction)),t.dataset.maskaNumberUnsigned!=null&&(n.unsigned=Fe(t.dataset.maskaNumberUnsigned)),(t.dataset.maskaNumber!=null||Object.values(n).length>0)&&(a.number=n),a},Fe=t=>t!==""?!!JSON.parse(t):!0,ao=t=>t.startsWith("[")&&t.endsWith("]")?ut(t):t,no=t=>{if(t.startsWith("{")&&t.endsWith("}"))return ut(t);const o={};return t.split("|").forEach(a=>{const n=a.split(":");o[n[0]]={pattern:mt()?new RegExp(n[1],"u"):new RegExp(n[1]),optional:n[2]==="optional",multiple:n[2]==="multiple",repeated:n[2]==="repeated"}}),o},mt=()=>{try{return new RegExp("\\p{L}","u"),!0}catch{return!1}};class lo{constructor(o={}){Ee(this,"opts",{}),Ee(this,"memo",new Map);const a={...o};if(a.tokens!=null){a.tokens=a.tokensReplace?{...a.tokens}:{...Ge,...a.tokens};for(const n of Object.values(a.tokens))typeof n.pattern=="string"&&(n.pattern=mt()?new RegExp(n.pattern,"u"):new RegExp(n.pattern))}else a.tokens=Ge;Array.isArray(a.mask)&&(a.mask.length>1?a.mask=[...a.mask].sort((n,r)=>n.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 n=this.process(String(o),a).length;return typeof this.opts.mask=="string"?n>=this.opts.mask.length:n>=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 n=this.process(o,a.slice(-1).pop()??"",!1);return a.find(r=>this.process(o,r,!1).length>=n.length)??""}escapeMask(o){const a=[],n=[];return o.split("").forEach((r,s)=>{r==="!"&&o[s-1]!=="!"?n.push(s-n.length):a.push(r)}),{mask:a.join(""),escaped:n}}process(o,a,n=!0){if(this.opts.number!=null)return to(o,n,this.opts);if(a==null)return o;const r=`v=${o},mr=${a},m=${n?1:0}`;if(this.memo.has(r))return this.memo.get(r);const{mask:s,escaped:i}=this.escapeMask(a),v=[],c=this.opts.tokens!=null?this.opts.tokens:{},k=this.isReversed()?-1:1,$=this.isReversed()?"unshift":"push",B=this.isReversed()?0:s.length-1,M=this.isReversed()?()=>u>-1&&g>-1:()=>u<s.length&&g<o.length,F=E=>!this.isReversed()&&E<=B||this.isReversed()&&E>=B;let I,W=-1,u=this.isReversed()?s.length-1:0,g=this.isReversed()?o.length-1:0,y=!1;for(;M();){const E=s.charAt(u),S=c[E],T=(S==null?void 0:S.transform)!=null?S.transform(o.charAt(g)):o.charAt(g);if(!i.includes(u)&&S!=null?(T.match(S.pattern)!=null?(v[$](T),S.repeated?(W===-1?W=u:u===B&&u!==W&&(u=W-k),B===W&&(u-=k)):S.multiple&&(y=!0,u-=k),u+=k):S.multiple?y&&(u+=k,g-=k,y=!1):T===I?I=void 0:S.optional&&(u+=k,g-=k),g+=k):(n&&!this.isEager()&&v[$](E),T===E&&!this.isEager()?g+=k:I=E,this.isEager()||(u+=k)),this.isEager())for(;F(u)&&(c[s.charAt(u)]==null||i.includes(u));){if(n){if(v[$](s.charAt(u)),o.charAt(g)===s.charAt(u)){u+=k,g+=k;continue}}else s.charAt(u)===o.charAt(g)&&(g+=k);u+=k}}return this.memo.set(r,v.join("")),this.memo.get(r)}}class ro{constructor(o,a={}){Ee(this,"items",new Map),Ee(this,"eventAbortController"),Ee(this,"onInput",n=>{if(n instanceof CustomEvent&&n.type==="input"&&!n.isTrusted&&!n.bubbles)return;const r=n.target,s=this.items.get(r);if(s===void 0)return;const i="inputType"in n&&n.inputType.startsWith("delete"),v=s.isEager(),c=i&&v&&s.unmasked(r.value)===""?"":r.value;this.fixCursor(r,i,()=>this.setValue(r,c))}),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 n of o){if(!this.items.has(n)){const{signal:s}=this.eventAbortController;n.addEventListener("input",this.onInput,{capture:!0,signal:s})}const r=new lo(oo(n,a));this.items.set(n,r),queueMicrotask(()=>this.updateValue(n)),n.selectionStart===null&&r.isEager()&&console.warn("Maska: input of `%s` type is not supported",n.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:n,postProcess:r,...s}=o;return s}fixCursor(o,a,n){var r,s;const i=o.selectionStart,v=o.value;if(n(),i===null||i===v.length&&!a)return;const c=o.value,k=v.slice(0,i),$=c.slice(0,i),B=(r=this.processInput(o,k))==null?void 0:r.unmasked,M=(s=this.processInput(o,$))==null?void 0:s.unmasked;if(B===void 0||M===void 0)return;let F=i;k!==$&&(F+=a?c.length-v.length:B.length-M.length),o.setSelectionRange(F,F)}setValue(o,a){const n=this.processInput(o,a);n!==void 0&&(o.value=n.masked,this.options.onMaska!=null&&(Array.isArray(this.options.onMaska)?this.options.onMaska.forEach(r=>r(n)):this.options.onMaska(n)),o.dispatchEvent(new CustomEvent("maska",{detail:n})),o.dispatchEvent(new CustomEvent("input",{detail:n.masked})))}processInput(o,a){const n=this.items.get(o);if(n===void 0)return;let r=a??o.value;this.options.preProcess!=null&&(r=this.options.preProcess(r));let s=n.masked(r);return this.options.postProcess!=null&&(s=this.options.postProcess(s)),{masked:s,unmasked:n.unmasked(r),completed:n.completed(r)}}}const ze=new WeakMap,so=(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)},Re=(t,o)=>{var a;const n=t instanceof HTMLInputElement?t:t.querySelector("input");if(n==null||(n==null?void 0:n.type)==="file")return;let r={};if(o.value!=null&&(r=typeof o.value=="string"?{mask:o.value}:{...o.value}),o.arg!=null){const s=i=>{const v=o.modifiers.unmasked?i.unmasked:o.modifiers.completed?i.completed:i.masked;so(o,v)};r.onMaska=r.onMaska==null?s:Array.isArray(r.onMaska)?[...r.onMaska,s]:[r.onMaska,s]}ze.has(n)?(a=ze.get(n))==null||a.update(r):ze.set(n,new ro(n,r))},io={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 ft(t){var n;const o=io[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"&&((n=t.choices)!=null&&n.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 pt(t){return t.filter(o=>!o.read_only&&o.name!=="id").map(ft)}const co={boolean:"boolean",date:"date",datetime:"datetime",decimal:"number",float:"number",integer:"number"};function vt(t){return{field:t.type==="fk"?`${t.name}_nome`:t.name,header:t.label,type:co[t.type],sortable:!0}}function gt(t,o=6){return t.filter(a=>!a.read_only&&a.name!=="id").slice(0,o).map(vt)}function Ie(){const t=Ft.useToast();function o(s,i="Sucesso"){t.add({severity:"success",summary:i,detail:s,life:3e3})}function a(s,i="Erro"){t.add({severity:"error",summary:i,detail:s,life:5e3})}function n(s,i="Atenção"){t.add({severity:"warn",summary:i,detail:s,life:4e3})}function r(s,i="Info"){t.add({severity:"info",summary:i,detail:s,life:3e3})}return{success:o,error:a,warn:n,info:r}}function Ye(){const t=At.useConfirm();function o(n,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:n})}function a(n,r,s="Confirmação"){t.require({message:n,header:s,icon:"pi pi-question-circle",rejectLabel:"Cancelar",rejectProps:{severity:"secondary",text:!0},acceptLabel:"Confirmar",accept:r})}return{confirmDelete:o,confirmAction:a}}function uo(t){return t.replace(/_/g," ").replace(/^\w/,o=>o.toUpperCase())}function mo(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(n=>typeof n=="string").join(" ");const a=[];for(const[n,r]of Object.entries(o)){if(n==="non_field_errors")continue;const s=uo(n);if(Array.isArray(r)){const i=r.filter(v=>typeof v=="string");i.length>0&&a.push(`${s}: ${i.join(" ")}`)}else typeof r=="string"&&a.push(`${s}: ${r}`)}return a.length>0?a.join(`
|
|
2
|
-
`):null}return null}function ke(t,o="Erro inesperado"){var s;if(!t||typeof t!="object")return o;const a=t,n=(s=a.response)==null?void 0:s.data;if(!n||typeof n!="object")return a.message||o;const r=n.detail??n;return mo(r)||o}function fo(){return{extractApiError:ke}}const po={class:"w-autocompletefk"},vo=["disabled"],go={class:"w-autocompletefk-toolbar"},ho={class:"w-autocompletefk-toolbar-actions"},ko={class:"flex items-center justify-end gap-1"},yo={class:"w-autocompletefk-footer"},We=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,n=o,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin.");const s=r,i=Ie(),{confirmDelete:v}=Ye(),c=e.ref(null),k=e.ref([]),$=e.ref(!1);let B=null;async function M(b){try{const w=await s.get(a.endpoint,b);c.value=w.data}catch{c.value=null}}async function F(b){$.value=!0;try{const w={page_size:20,...a.endpointParams};b&&(w.search=b);const U=await s.list(a.endpoint,w);k.value=U.data}catch{k.value=[]}finally{$.value=!1}}function I(b){const w=b.query||"";if(w.length<a.minLength){k.value=[];return}B&&clearTimeout(B),B=setTimeout(()=>F(w),300)}function W(b){c.value=b.value,n("update:modelValue",b.value)}function u(){c.value=null,n("update:modelValue",null)}e.watch(()=>a.modelValue,async b=>{if(b!=null){if(typeof b=="object"&&b!==null&&a.optionLabel in b){c.value=b;return}(!c.value||c.value[a.optionValue]!==b)&&await M(b)}else c.value=null},{immediate:!0});const g=e.ref(!1),y=e.ref([]),E=e.ref(!1),S=e.ref(""),T=e.ref(1),h=e.ref(15),p=e.ref(0),L=e.ref(null),m=e.ref(null),D=e.ref(0);let x=null;const O=e.ref([]),d=e.computed(()=>{var b;return(b=a.crudFields)!=null&&b.length?!0:O.value.length>0}),C=e.computed(()=>a.canCreate??d.value),N=e.computed(()=>a.canEdit??d.value),l=e.computed(()=>a.canDelete??d.value),f=e.computed(()=>N.value||l.value),Y=e.computed(()=>{var b;return(b=a.crudFields)!=null&&b.length?a.crudFields:pt(O.value)}),H=e.computed(()=>{var b,w;return(b=a.crudColumns)!=null&&b.length?a.crudColumns:(w=a.columns)!=null&&w.length?a.columns.map(U=>({field:U.field,header:U.header,sortable:!0})):O.value.length?gt(O.value):[{field:a.optionLabel,header:a.optionLabel,sortable:!0}]});async function j(){var b,w,U;E.value=!0;try{const A={page:T.value,page_size:h.value,...a.endpointParams};S.value&&(A.search=S.value),m.value&&D.value!==0&&(A.ordering=D.value===-1?`-${m.value}`:m.value);const K=await s.list(a.endpoint,A);y.value=K.data,p.value=K.rows,(b=K.extras)!=null&&b.fields&&!((w=a.columns)!=null&&w.length)&&!((U=a.crudFields)!=null&&U.length)&&(O.value=K.extras.fields)}catch{y.value=[],p.value=0}finally{E.value=!1}}function z(){a.disabled||(S.value="",T.value=1,m.value=null,D.value=0,L.value=null,g.value=!0,j())}function G(b){T.value=b.page+1,h.value=b.rows,j()}function X(b){m.value=b.sortField??null,D.value=b.sortOrder??0,T.value=1,j()}function ye(){L.value&&(c.value=L.value,n("update:modelValue",L.value),g.value=!1)}function be(b){c.value=b.data,n("update:modelValue",b.data),g.value=!1}e.watch(S,()=>{x&&clearTimeout(x),x=setTimeout(()=>{T.value=1,j()},300)});const ee=e.ref(!1),Z=e.ref(!1),te=e.ref(null),Q=e.reactive({}),oe=e.computed(()=>te.value!==null),ue=e.computed(()=>oe.value?"Editar Registro":"Novo Registro");function ae(){const b={};for(const w of Y.value)b[w.field]=w.defaultValue!==void 0?typeof w.defaultValue=="function"?w.defaultValue():w.defaultValue:null;return b}function me(){const b=ae();for(const w of Object.keys(Q))delete Q[w];for(const[w,U]of Object.entries(b))Q[w]=U}function re(){te.value=null,me(),ee.value=!0}function se(b){te.value=b;for(const w of Y.value)Q[w.field]=b[w.field]!==void 0?b[w.field]:null;ee.value=!0}function fe(b,w){Q[b]=w}async function ie(){Z.value=!0;try{const b={...Q};for(const U of Y.value){const A=b[U.field];if(U.type==="fk"&&A!==null&&typeof A=="object"){const K=U.optionValue||"id";b[U.field]=A[K]??A}}let w;if(oe.value&&te.value){const U=te.value[a.optionValue];w=await s.update(a.endpoint,U,b);const A=y.value.findIndex(K=>K[a.optionValue]===U);A!==-1&&(y.value[A]=w.data),i.success("Registro atualizado com sucesso")}else w=await s.create(a.endpoint,b),y.value.unshift(w.data),p.value++,i.success("Registro criado com sucesso");ee.value=!1,te.value=null,L.value=w.data}catch(b){i.error(ke(b,"Erro ao salvar registro"))}finally{Z.value=!1}}function pe(b){v(async()=>{try{const w=b[a.optionValue];await s.delete(a.endpoint,w);const U=y.value.findIndex(A=>A[a.optionValue]===w);U!==-1&&(y.value.splice(U,1),p.value--),c.value&&c.value[a.optionValue]===w&&(c.value=null,n("update:modelValue",null)),L.value&&L.value[a.optionValue]===w&&(L.value=null),i.success("Registro excluído com sucesso")}catch(w){i.error(ke(w,"Erro ao excluir registro"))}})}return(b,w)=>{const U=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",po,[e.createVNode(e.unref(ot),{"model-value":c.value,suggestions:k.value,"option-label":t.optionLabel,placeholder:t.placeholder,disabled:t.disabled,"force-selection":t.forceSelection,loading:$.value,fluid:"",onComplete:I,onItemSelect:W,onClear:u},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:z},[...w[6]||(w[6]=[e.createElementVNode("i",{class:"pi pi-search"},null,-1)])],8,vo)),[[U,"Pesquisar",void 0,{top:!0}]])]),e.createVNode(e.unref(tt),{visible:g.value,"onUpdate:visible":w[4]||(w[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",yo,[e.createVNode(e.unref(_),{label:"Cancelar",severity:"secondary",text:"",onClick:w[3]||(w[3]=A=>g.value=!1)}),e.createVNode(e.unref(_),{label:"Selecionar",icon:"pi pi-check",disabled:!L.value,onClick:ye},null,8,["disabled"])])]),default:e.withCtx(()=>[e.createElementVNode("div",go,[e.createVNode(e.unref(Ce),{class:"w-autocompletefk-toolbar-search"},{default:e.withCtx(()=>[e.createVNode(e.unref($e),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:S.value,"onUpdate:modelValue":w[0]||(w[0]=A=>S.value=A),placeholder:"Pesquisar...",class:"w-full"},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",ho,[C.value?(e.openBlock(),e.createBlock(e.unref(_),{key:0,label:"Novo",icon:"pi pi-plus",size:"small",onClick:re})):e.createCommentVNode("",!0)])]),e.createVNode(e.unref(Qe),{selection:L.value,"onUpdate:selection":w[1]||(w[1]=A=>L.value=A),value:y.value,loading:E.value,paginator:"",lazy:"","striped-rows":"","removable-sort":"",size:"small",rows:h.value,"total-records":p.value,"sort-field":m.value??void 0,"sort-order":D.value,"selection-mode":"single","data-key":t.optionValue,onPage:G,onSort:w[2]||(w[2]=A=>X({sortField:A.sortField,sortOrder:A.sortOrder})),onRowDblclick:be},{empty:e.withCtx(()=>[...w[7]||(w[7]=[e.createElementVNode("div",{class:"w-autocompletefk-empty"},"Nenhum registro encontrado",-1)])]),default:e.withCtx(()=>[e.createVNode(e.unref(he),{"selection-mode":"single","header-style":"width: 3rem"}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,A=>(e.openBlock(),e.createBlock(e.unref(he),{key:A.field,field:A.field,header:A.header,sortable:A.sortable??!0,style:e.normalizeStyle(A.style)},{body:e.withCtx(({data:K})=>[A.type?(e.openBlock(),e.createBlock(Ne,{key:0,column:A,value:K[A.field],"row-data":K},null,8,["column","value","row-data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(K[A.field]),1)],64))]),_:2},1032,["field","header","sortable","style"]))),128)),f.value?(e.openBlock(),e.createBlock(e.unref(he),{key:0,header:"",style:{width:"6rem"}},{body:e.withCtx(({data:A})=>[e.createElementVNode("div",ko,[N.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(_),{key:0,icon:"pi pi-pencil",text:"",rounded:"",size:"small",onClick:K=>se(A)},null,8,["onClick"])),[[U,"Editar",void 0,{top:!0}]]):e.createCommentVNode("",!0),l.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(_),{key:1,icon:"pi pi-trash",text:"",rounded:"",size:"small",severity:"danger",onClick:K=>pe(A)},null,8,["onClick"])),[[U,"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"]),d.value?(e.openBlock(),e.createBlock(Le,{key:0,visible:ee.value,title:ue.value,fields:Y.value,"form-data":Q,"is-editing":oe.value,saving:Z.value,width:t.dialogWidth,"onUpdate:visible":w[5]||(w[5]=A=>{ee.value=A,A||(te.value=null)}),"onUpdate:field":fe,onSave:ie},null,8,["visible","title","fields","form-data","is-editing","saving","width"])):e.createCommentVNode("",!0)],64)}}}),Oe=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,n=o,r=e.computed(()=>a.prefix??(a.currency?"R$":void 0)),s=e.computed(()=>!!r.value||!!a.suffix),i=e.computed(()=>{const c=a.modelValue;return c==null||Number.isNaN(c)?"":new Intl.NumberFormat(a.locale,{minimumFractionDigits:a.decimals,maximumFractionDigits:a.decimals}).format(c)});function v(c){const k=c.target.value.replace(/\D/g,"");if(!k){n("update:modelValue",null);return}const $=Number(k)/Math.pow(10,a.decimals);n("update:modelValue",$)}return(c,k)=>s.value?(e.openBlock(),e.createBlock(e.unref(Mt),{key:0,class:"w-money-input"},{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(e.unref(_e),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(J),{"model-value":i.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(_e),{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":i.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"]))}}),bo={class:"w-transfer__pane"},wo={class:"w-transfer__head"},Bo={class:"w-transfer__count"},Vo={class:"w-transfer__list"},Eo=["onClick"],Co={key:0,class:"w-transfer__empty"},$o={class:"w-transfer__controls"},No={class:"w-transfer__pane"},Do={class:"w-transfer__head"},So={class:"w-transfer__count"},xo={class:"w-transfer__list"},Po=["onClick"],Fo={key:0,class:"w-transfer__empty"},je=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,n=o,r=e.ref(""),s=e.ref(""),i=e.computed(()=>new Set(a.selected)),v=e.computed(()=>a.searchFields??[a.optionLabel]);function c(g){return g[a.trackBy]}function k(g){return String(g[a.optionLabel]??"")}function $(g,y){if(!y)return!0;const E=y.toLowerCase();return v.value.some(S=>String(g[S]??"").toLowerCase().includes(E))}const B=e.computed(()=>a.source.filter(g=>!i.value.has(c(g))&&$(g,r.value))),M=e.computed(()=>a.source.filter(g=>i.value.has(c(g))&&$(g,s.value)));function F(g){a.disabled||n("update:selected",[...a.selected,c(g)])}function I(g){if(a.disabled)return;const y=c(g);n("update:selected",a.selected.filter(E=>E!==y))}function W(){a.disabled||n("update:selected",a.source.map(c))}function u(){a.disabled||n("update:selected",[])}return(g,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-transfer",{"w-transfer--disabled":t.disabled}])},[e.createElementVNode("div",bo,[e.createElementVNode("div",wo,[y[2]||(y[2]=e.createElementVNode("span",{class:"w-transfer__title"},"Disponíveis",-1)),e.createElementVNode("span",Bo,e.toDisplayString(B.value.length),1)]),e.createVNode(e.unref(Ce),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref($e),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:r.value,"onUpdate:modelValue":y[0]||(y[0]=E=>r.value=E),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",Vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,E=>(e.openBlock(),e.createElementBlock("li",{key:`a-${c(E)}`,class:"w-transfer__item",onClick:S=>F(E)},[e.createElementVNode("span",null,e.toDisplayString(k(E)),1),y[3]||(y[3]=e.createElementVNode("i",{class:"pi pi-angle-right"},null,-1))],8,Eo))),128)),B.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Co,"Nenhum item"))])]),e.createElementVNode("div",$o,[e.createVNode(e.unref(_),{type:"button",icon:"pi pi-angle-double-right",text:"",rounded:"",disabled:t.disabled||!B.value.length,onClick:W},null,8,["disabled"]),e.createVNode(e.unref(_),{type:"button",icon:"pi pi-angle-double-left",text:"",rounded:"",disabled:t.disabled||!t.selected.length,onClick:u},null,8,["disabled"])]),e.createElementVNode("div",No,[e.createElementVNode("div",Do,[y[4]||(y[4]=e.createElementVNode("span",{class:"w-transfer__title"},"Selecionados",-1)),e.createElementVNode("span",So,e.toDisplayString(M.value.length),1)]),e.createVNode(e.unref(Ce),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref($e),{class:"pi pi-search"}),e.createVNode(e.unref(J),{modelValue:s.value,"onUpdate:modelValue":y[1]||(y[1]=E=>s.value=E),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",xo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,E=>(e.openBlock(),e.createElementBlock("li",{key:`s-${c(E)}`,class:"w-transfer__item",onClick:S=>I(E)},[y[5]||(y[5]=e.createElementVNode("i",{class:"pi pi-angle-left"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(k(E)),1)],8,Po))),128)),M.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",Fo,"Nenhum item"))])])],2))}});async function Ao(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 n=await a.json();return n.erro?null:n}catch{return null}}const Mo={class:"w-crud-form"},To={key:0,class:"w-crud-form-group-header"},Lo={class:"w-crud-form-group-title"},zo={key:0,class:"w-crud-form-group-desc"},Ro={class:"w-crud-form-fields"},Io={key:0,class:"w-crud-form-switch"},Yo={class:"w-crud-form-switch-label"},Wo={key:1,class:"w-crud-form-col-full"},Oo={class:"w-crud-form-label"},jo={key:0,class:"w-crud-form-required"},Uo={class:"w-crud-form-color-row"},qo={key:2,class:"w-crud-form-col-full"},_o={class:"w-crud-form-label"},Ho=["accept","disabled","onChange"],Ko={key:3,class:"w-crud-form-col-full"},Go={class:"w-crud-form-label"},Jo={key:0,class:"w-crud-form-required"},Zo={class:"w-crud-form-label"},Xo={key:0,class:"w-crud-form-required"},Qo={key:1,class:"pi pi-spin pi-spinner w-crud-form-cep-spinner"},ea={key:16,class:"w-crud-form-cep-error"},ta={key:17,class:"w-crud-form-error"},ht=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 n=t,r=a,s=e.reactive({}),i=e.reactive({}),v=e.reactive({}),c=e.reactive({});function k(d,C){const N=C.target.value,l=N.replace(/\D/g,"");r("update:field",d.field,N),v[d.field]=null,c[d.field]&&(clearTimeout(c[d.field]),c[d.field]=null),l.length===8&&(c[d.field]=setTimeout(async()=>{i[d.field]=!0,v[d.field]=null;try{const f=await Ao(l);if(!f)v[d.field]="CEP não encontrado. Preencha os campos manualmente.";else{const Y=d.cepFields||{},H=Object.keys(Y);for(const j of H){const z=Y[j];if(!z)continue;const G=n.formData[z];(G==null||G==="")&&r("update:field",z,f[j]??"")}}}finally{i[d.field]=!1}},400))}const $=e.computed(()=>n.fields.filter(d=>d.visible===void 0||d.visible===!0?!0:typeof d.visible=="function"?d.visible(n.formData,n.isEditing):d.visible));function B(d){return n.disabled||d.disabledOnEdit&&n.isEditing?!0:typeof d.disabled=="function"?d.disabled(n.formData,n.isEditing):!!d.disabled}function M(d){return e.isRef(d)?d.value:d}const F=e.computed(()=>{const d=n.isEditing?"edit":"create",C=n.fields.find(l=>l.autofocus===!0||l.autofocus===d);if(C)return C.field;const N=$.value.find(l=>!(l.type==="switch"||l.type==="fk"||l.type==="select"||l.type==="image"||l.disabled===!0||l.disabledOnEdit&&n.isEditing));return(N==null?void 0:N.field)??null});function I(d){return d.field===F.value}function W(d){if(d)return d.replace(/9/g,"#").replace(/a/g,"S").replace(/\*/g,"X")}function u(d){if(!d)return"";const C=String(d).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(d,C){const N=C.target.value.replace(/\D/g,"").slice(0,14);r("update:field",d,N)}const y=e.reactive({});function E(d){const C=n.formData[d.field];if(C==null)return null;const N=d.optionValue||"value";return(M(d.options)||[]).find(f=>f[N]===C)??null}function S(d){return y[d.field]||[]}function T(d,C){const N=(C.query||"").toLowerCase(),l=M(d.options)||[],f=d.optionLabel||"label";y[d.field]=l.filter(Y=>String(Y[f]||"").toLowerCase().includes(N))}function h(d,C){const N=d.optionValue||"value";r("update:field",d.field,C.value[N])}function p(d){const C=n.formData[d.field];return C?String(C).replace("#",""):"FFFFFF"}function L(d,C){r("update:field",d.field,`#${C}`)}function m(d){if(typeof d.validate=="function"){const C=d.validate(n.formData[d.field]);s[d.field]=C||null}}function D(){const d=[];for(const C of n.fields)if(typeof C.validate=="function"){const N=C.validate(n.formData[C.field]);s[C.field]=N||null,N&&d.push(N)}return d}function x(){Object.keys(s).forEach(d=>delete s[d])}const O=e.computed(()=>{var l,f,Y,H;const d=new Map,C=[],N=new Map;for(const j of $.value){const z=((l=j.fieldGroup)==null?void 0:l.id)??"__default__";d.has(z)||(d.set(z,{id:z,title:(f=j.fieldGroup)==null?void 0:f.title,description:(Y=j.fieldGroup)==null?void 0:Y.description,fields:[]}),C.push(z),((H=j.fieldGroup)==null?void 0:H.order)!=null&&N.set(z,j.fieldGroup.order)),d.get(z).fields.push(j)}return C.slice().sort((j,z)=>{const G=N.get(j),X=N.get(z);return G!=null&&X!=null?G-X:G!=null?-1:X!=null?1:C.indexOf(j)-C.indexOf(z)}).map(j=>d.get(j))});return o({validateAll:D,clearErrors:x}),(d,C)=>(e.openBlock(),e.createElementBlock("div",Mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,N=>(e.openBlock(),e.createElementBlock("div",{key:N.id,class:"w-crud-form-group"},[N.title?(e.openBlock(),e.createElementBlock("div",To,[e.createElementVNode("h3",Lo,e.toDisplayString(N.title),1),N.description?(e.openBlock(),e.createElementBlock("p",zo,e.toDisplayString(N.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Ro,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.fields,l=>e.renderSlot(d.$slots,`field-${l.field}`,{key:l.field,field:l,formData:t.formData,isEditing:t.isEditing,setFormField:(f,Y)=>r("update:field",f,Y)},()=>[l.type==="switch"?(e.openBlock(),e.createElementBlock("div",Io,[e.createVNode(e.unref(St),{"model-value":t.formData[l.field],disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createElementVNode("label",Yo,e.toDisplayString(l.switchLabel||l.label),1)])):l.type==="color"?(e.openBlock(),e.createElementBlock("div",Wo,[e.createElementVNode("label",Oo,[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.required?(e.openBlock(),e.createElementBlock("span",jo,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Uo,[e.createVNode(e.unref(xt),{"model-value":p(l),disabled:B(l),"onUpdate:modelValue":f=>L(l,f)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createVNode(e.unref(J),{"model-value":t.formData[l.field],class:"w-28",maxlength:"7",placeholder:"#000000",disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","disabled","onUpdate:modelValue"])])])):l.type==="image"?(e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("label",_o,e.toDisplayString(l.label),1),e.renderSlot(d.$slots,`image-${l.field}`,{field:l,formData:t.formData},()=>[e.createElementVNode("input",{type:"file",accept:l.accept||"image/*",disabled:B(l),onChange:f=>{var H;const Y=((H=f.target.files)==null?void 0:H[0])??null;r("update:field",l.field,Y)}},null,40,Ho)])])):l.type==="transfer"?(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("label",Go,[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.required?(e.openBlock(),e.createElementBlock("span",Jo,"*")):e.createCommentVNode("",!0)]),e.createVNode(je,{source:M(l.options)||[],selected:t.formData[l.field]||[],"track-by":l.optionValue||"id","option-label":l.optionLabel||"nome","search-fields":l.searchFields,disabled:B(l),"onUpdate:selected":f=>r("update:field",l.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(l.colSpan===.5?"w-crud-form-col-half":"w-crud-form-col-full")},[e.createElementVNode("label",Zo,[e.createTextVNode(e.toDisplayString(l.label)+" ",1),l.required?(e.openBlock(),e.createElementBlock("span",Xo,"*")):e.createCommentVNode("",!0),i[l.field]?(e.openBlock(),e.createElementBlock("i",Qo)):e.createCommentVNode("",!0)]),(!l.type||l.type==="text")&&l.mask?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:0,"model-value":t.formData[l.field],fluid:"",autofocus:I(l)||void 0,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])),[[e.unref(Re),{mask:W(l.mask)}]]):!l.type||l.type==="text"?(e.openBlock(),e.createBlock(e.unref(J),{key:1,"model-value":t.formData[l.field],fluid:"",autofocus:I(l)||void 0,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):l.type==="email"?(e.openBlock(),e.createBlock(e.unref(J),{key:2,"model-value":t.formData[l.field],type:"email",fluid:"",autofocus:I(l)||void 0,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):l.type==="password"?(e.openBlock(),e.createBlock(e.unref(Pt),{key:3,"model-value":t.formData[l.field],fluid:"","toggle-mask":"",feedback:l.feedback!==!1,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","feedback","placeholder","disabled","onUpdate:modelValue"])):l.type==="number"?(e.openBlock(),e.createBlock(e.unref(Ue),{key:4,"model-value":t.formData[l.field],fluid:"",locale:"pt-BR",min:l.min,max:l.max,"min-fraction-digits":l.minFractionDigits,"max-fraction-digits":l.maxFractionDigits,suffix:l.suffix,prefix:l.prefix,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","min","max","min-fraction-digits","max-fraction-digits","suffix","prefix","placeholder","disabled","onUpdate:modelValue"])):l.type==="currency"&&l.fillFromRight?(e.openBlock(),e.createBlock(Oe,{key:5,"model-value":t.formData[l.field],decimals:l.decimals??2,currency:"",prefix:l.prefix,suffix:l.suffix,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","decimals","prefix","suffix","placeholder","disabled","onUpdate:modelValue"])):l.type==="currency"?(e.openBlock(),e.createBlock(e.unref(Ue),{key:6,"model-value":t.formData[l.field],fluid:"",mode:"currency",currency:"BRL",locale:"pt-BR",min:l.min,max:l.max,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","min","max","placeholder","disabled","onUpdate:modelValue"])):l.type==="select"?(e.openBlock(),e.createBlock(e.unref(Dt),{key:7,"model-value":t.formData[l.field],fluid:"",options:M(l.options),"option-label":l.optionLabel||"label","option-value":l.optionValue||"value","show-clear":l.showClear!==!1,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","options","option-label","option-value","show-clear","placeholder","disabled","onUpdate:modelValue"])):l.type==="autocomplete"?(e.openBlock(),e.createBlock(e.unref(ot),{key:8,"model-value":E(l),fluid:"",suggestions:S(l),"option-label":l.optionLabel||"label",placeholder:l.placeholder,disabled:B(l),onComplete:f=>T(l,f),onItemSelect:f=>h(l,f),onClear:f=>r("update:field",l.field,null)},null,8,["model-value","suggestions","option-label","placeholder","disabled","onComplete","onItemSelect","onClear"])):l.type==="fk"?(e.openBlock(),e.createBlock(We,{key:9,"model-value":t.formData[l.field],endpoint:l.endpoint,"endpoint-params":l.endpointParams,"option-label":l.optionLabel||"nome",placeholder:l.placeholder,disabled:B(l),"show-clear":l.showClear!==!1,"dialog-header":l.label,"crud-fields":l.crudFields,"crud-columns":l.crudColumns,"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","endpoint","endpoint-params","option-label","placeholder","disabled","show-clear","dialog-header","crud-fields","crud-columns","onUpdate:modelValue"])):l.type==="date"?(e.openBlock(),e.createBlock(e.unref(qe),{key:10,"model-value":t.formData[l.field],fluid:"","date-format":l.dateFormat||"dd/mm/yy",placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","date-format","placeholder","disabled","onUpdate:modelValue"])):l.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(qe),{key:11,"model-value":t.formData[l.field],fluid:"","show-time":"","hour-format":l.hourFormat||"24","date-format":l.dateFormat||"dd/mm/yy",placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","hour-format","date-format","placeholder","disabled","onUpdate:modelValue"])):l.type==="cpf_cnpj"?(e.openBlock(),e.createBlock(e.unref(J),{key:12,"model-value":u(t.formData[l.field]),fluid:"",maxlength:"18",placeholder:l.placeholder||"000.000.000-00",disabled:B(l),invalid:!!s[l.field],onInput:f=>g(l.field,f),onBlur:f=>m(l)},null,8,["model-value","placeholder","disabled","invalid","onInput","onBlur"])):l.type==="mask"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:13,"model-value":t.formData[l.field],fluid:"",placeholder:l.placeholder,disabled:B(l),invalid:!!s[l.field],"onUpdate:modelValue":f=>r("update:field",l.field,f),onBlur:f=>m(l)},null,8,["model-value","placeholder","disabled","invalid","onUpdate:modelValue","onBlur"])),[[e.unref(Re),{mask:W(l.mask)}]]):l.type==="cep"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(J),{key:14,"model-value":t.formData[l.field],fluid:"",placeholder:l.placeholder||"00000-000",disabled:B(l),invalid:!!v[l.field],onInput:f=>k(l,f)},null,8,["model-value","placeholder","disabled","invalid","onInput"])),[[e.unref(Re),{mask:"#####-###"}]]):l.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(Nt),{key:15,"model-value":t.formData[l.field],fluid:"",autofocus:I(l)||void 0,rows:l.rows||3,placeholder:l.placeholder,disabled:B(l),"onUpdate:modelValue":f=>r("update:field",l.field,f)},null,8,["model-value","autofocus","rows","placeholder","disabled","onUpdate:modelValue"])):e.createCommentVNode("",!0),v[l.field]?(e.openBlock(),e.createElementBlock("small",ea,e.toDisplayString(v[l.field]),1)):s[l.field]?(e.openBlock(),e.createElementBlock("small",ta,e.toDisplayString(s[l.field]),1)):e.createCommentVNode("",!0)],2))])),128))])]))),128))]))}}),oa={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,n=o,r=e.ref(null);function s(){r.value?r.value.validateAll().length===0&&n("save"):n("save")}return e.watch(()=>a.visible,i=>{i&&r.value&&r.value.clearErrors()}),(i,v)=>(e.openBlock(),e.createBlock(e.unref(tt),{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]=c=>n("update:visible",c))},{default:e.withCtx(()=>[e.createElementVNode("form",{class:"w-crud-form",onSubmit:e.withModifiers(s,["prevent"])},[e.createVNode(ht,{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]=(c,k)=>n("update:field",c,k))},e.createSlots({_:2},[e.renderList(t.fields,c=>({name:`field-${c.field}`,fn:e.withCtx(k=>[e.renderSlot(i.$slots,`field-${c.field}`,e.normalizeProps(e.guardReactiveProps(k)))])})),e.renderList(t.fields.filter(c=>c.type==="image"),c=>({name:`image-${c.field}`,fn:e.withCtx(k=>[e.renderSlot(i.$slots,`image-${c.field}`,e.normalizeProps(e.guardReactiveProps(k)))])}))]),1032,["fields","form-data","is-editing","disabled"]),e.createElementVNode("div",oa,[e.renderSlot(i.$slots,"footer",{saving:t.saving,disabled:t.disabled},()=>[e.createVNode(e.unref(_),{type:"button",label:t.disabled?"Fechar":"Cancelar",severity:"secondary",text:"",disabled:t.saving,onClick:v[1]||(v[1]=c=>n("update:visible",!1))},null,8,["label","disabled"]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(_),{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"]))}}),aa={class:"w-crud"},na={key:0,class:"w-crud-header"},la={class:"w-crud-header-content"},ra={class:"w-crud-title"},sa={key:0,class:"w-crud-subtitle"},ia={class:"w-crud-header-actions"},ca={key:0,class:"w-crud-kpis"},da={class:"w-crud-kpi-content"},ua={class:"w-crud-kpi-label"},ma={class:"w-crud-kpi-value"},fa={key:1,class:"w-crud-table"},pa={class:"w-crud-toolbar"},va={class:"w-crud-toolbar-start"},ga={class:"w-crud-toolbar-end"},ha={key:0,class:"w-crud-view-toggle"},ka={class:"w-crud-actions"},ya={key:2,class:"w-crud-cards-wrap"},ba={class:"w-crud-toolbar w-crud-toolbar--standalone"},wa={class:"w-crud-toolbar-start"},Ba={class:"w-crud-toolbar-end"},Va={key:0,class:"w-crud-view-toggle"},Ea={key:0,class:"w-crud-cards-loading"},Ca={key:2,class:"w-crud-cards"},$a=["onDblclick"],Na={class:"w-crud-card-body"},Da={key:0,class:"w-crud-card-label"},Sa={class:"w-crud-card-value"},xa={key:0,class:"w-crud-card-actions"},kt=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:!1},defaultView:{default:"table"},cardFields:{default:4}},emits:["row-expand","row-collapse"],setup(t,{emit:o}){const a=t,n=o,r=e.useSlots(),{formatNumber:s}=Te(),i=e.ref({}),v=e.ref(a.defaultView);function c(h){return v.value===h}function k(h){v.value=h}const $=e.computed(()=>(a.crud.pagination.page-1)*a.crud.pagination.pageSize),B=e.computed(()=>a.crud.config.columns.filter(h=>h.visible!==!1).map(h=>h.type==="number"&&!h.align?{...h,align:"right"}:h.type==="currency"&&!h.align?{...h,align:"right"}:h));function M(h){if(h.align==="right")return"text-right";if(h.align==="center")return"text-center"}const F=e.computed(()=>B.value.slice(0,a.cardFields)),I=e.computed(()=>{const h=[];return a.crud.config.canEdit!==!1&&h.push({action:"edit",icon:"pi pi-pencil",tooltip:"Editar"}),a.crud.config.canDelete!==!1&&h.push({action:"delete",icon:"pi pi-trash",tooltip:"Excluir",severity:"danger"}),h}),W=e.computed(()=>a.crud.config.rowActions??I.value),u=e.computed(()=>W.value.length>0||!!r["row-actions"]);function g(h,p){h.action==="edit"?a.crud.openEditDialog(p):h.action==="view"?a.crud.openViewDialog(p):h.action==="delete"?a.crud.confirmDelete(p):h.handler&&h.handler(p)}function y(h,p){return h.visible?h.visible(p):!0}function E(h,p){return h.disabled?h.disabled(p):!1}const S=e.computed(()=>{const h=[];return a.showKpi&&h.push({icon:a.kpiIcon,label:a.kpiLabel,value:s(a.crud.pagination.rows,0)}),h.push(...a.extraKpis),h});e.computed(()=>a.crud.config.labels??{});const T=e.computed(()=>a.crud.config.canCreate!==!1);return e.onMounted(()=>{a.autoInit&&a.crud.init()}),(h,p)=>{const L=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",aa,[t.showHeader?(e.openBlock(),e.createElementBlock("div",na,[e.createElementVNode("div",la,[e.createElementVNode("h1",ra,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",sa,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",ia,[e.renderSlot(h.$slots,"header-actions"),T.value?(e.openBlock(),e.createBlock(e.unref(_),{key:0,label:"Novo",icon:"pi pi-plus",onClick:p[0]||(p[0]=m=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(h.$slots,"before-table",{},()=>[S.value.length?(e.openBlock(),e.createElementBlock("div",ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(m,D)=>(e.openBlock(),e.createElementBlock("div",{key:D,class:"w-crud-kpi"},[e.createElementVNode("div",{class:e.normalizeClass(["w-crud-kpi-icon",m.severity?`w-crud-kpi-icon--${m.severity}`:""])},[e.createElementVNode("i",{class:e.normalizeClass([m.icon]),style:e.normalizeStyle(m.color?`color: ${m.color}`:"")},null,6)],2),e.createElementVNode("div",da,[e.createElementVNode("div",ua,e.toDisplayString(m.label),1),e.createElementVNode("div",ma,e.toDisplayString(m.value),1)])]))),128))])):e.createCommentVNode("",!0)]),v.value==="table"?(e.openBlock(),e.createElementBlock("div",fa,[e.createVNode(e.unref(Qe),{value:t.crud.items.value,loading:t.crud.loading.value,"expanded-rows":i.value,"onUpdate:expandedRows":p[4]||(p[4]=m=>i.value=m),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",onPage:t.crud.onPage,onSort:p[5]||(p[5]=m=>t.crud.onSort({sortField:m.sortField,sortOrder:m.sortOrder})),onRowExpand:p[6]||(p[6]=m=>n("row-expand",m.data)),onRowCollapse:p[7]||(p[7]=m=>n("row-collapse",m.data))},e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",pa,[e.createElementVNode("div",va,[t.showSearch?(e.openBlock(),e.createBlock(e.unref(Ce),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref($e),{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(h.$slots,"toolbar-start"),e.renderSlot(h.$slots,"toolbar-filters")]),e.createElementVNode("div",ga,[e.renderSlot(h.$slots,"toolbar-actions"),t.viewToggle?(e.openBlock(),e.createElementBlock("div",ha,[e.createVNode(e.unref(_),{icon:"pi pi-table",size:"small",text:!c("table"),outlined:c("table"),onClick:p[1]||(p[1]=m=>k("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(_),{icon:"pi pi-th-large",size:"small",text:!c("cards"),outlined:c("cards"),onClick:p[2]||(p[2]=m=>k("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&T.value?(e.openBlock(),e.createBlock(e.unref(_),{key:1,label:"Novo",icon:"pi pi-plus",onClick:p[3]||(p[3]=m=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])]),empty:e.withCtx(()=>[e.renderSlot(h.$slots,"empty",{},()=>[p[14]||(p[14]=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(he),{key:0,expander:"",style:{width:"3rem"}})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,m=>(e.openBlock(),e.createBlock(e.unref(he),{key:m.field,field:m.field,header:m.header,sortable:m.sortable,style:e.normalizeStyle(m.style),"header-class":M(m),"body-class":M(m)},{body:e.withCtx(({data:D})=>[e.renderSlot(h.$slots,`column-${m.field}`,{data:D,value:D[m.field]},()=>[e.createVNode(Ne,{column:m,value:D[m.field],"row-data":D},null,8,["column","value","row-data"])])]),_:2},1032,["field","header","sortable","style","header-class","body-class"]))),128)),u.value?(e.openBlock(),e.createBlock(e.unref(he),{key:1,"header-class":"w-crud-actions-header",style:e.normalizeStyle({width:`${(W.value.length+(e.unref(r)["row-actions"]?1:0))*2.5+1}rem`})},{body:e.withCtx(({data:m})=>[e.createElementVNode("div",ka,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,D=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:D.action},[y(D,m)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(_),{key:0,icon:D.icon,text:"",rounded:"",size:"small",severity:D.severity,disabled:E(D,m),onClick:x=>g(D,m)},null,8,["icon","severity","disabled","onClick"])),[[L,D.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(h.$slots,"row-actions",{data:m,crud:t.crud})])]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:2},[t.expandable?{name:"expansion",fn:e.withCtx(m=>[e.renderSlot(h.$slots,"expansion",{data:m.data})]),key:"0"}:void 0]),1032,["value","loading","expanded-rows","rows","total-records","sort-field","sort-order","data-key","onPage"])])):(e.openBlock(),e.createElementBlock("div",ya,[e.createElementVNode("div",ba,[e.createElementVNode("div",wa,[t.showSearch?(e.openBlock(),e.createBlock(e.unref(Ce),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref($e),{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(h.$slots,"toolbar-start"),e.renderSlot(h.$slots,"toolbar-filters")]),e.createElementVNode("div",Ba,[e.renderSlot(h.$slots,"toolbar-actions"),t.viewToggle?(e.openBlock(),e.createElementBlock("div",Va,[e.createVNode(e.unref(_),{icon:"pi pi-table",size:"small",text:!c("table"),outlined:c("table"),onClick:p[8]||(p[8]=m=>k("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(_),{icon:"pi pi-th-large",size:"small",text:!c("cards"),outlined:c("cards"),onClick:p[9]||(p[9]=m=>k("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&T.value?(e.openBlock(),e.createBlock(e.unref(_),{key:1,label:"Novo",icon:"pi pi-plus",onClick:p[10]||(p[10]=m=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])]),t.crud.loading.value?(e.openBlock(),e.createElementBlock("div",Ea,[...p[15]||(p[15]=[e.createElementVNode("i",{class:"pi pi-spin pi-spinner"},null,-1)])])):t.crud.items.value.length?(e.openBlock(),e.createElementBlock("div",Ca,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.crud.items.value,(m,D)=>(e.openBlock(),e.createElementBlock("div",{key:m[t.crud.config.pk||"id"]??D,class:"w-crud-card",onDblclick:x=>t.crud.config.canEdit!==!1&&t.crud.openEditDialog(m)},[e.createElementVNode("div",Na,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,(x,O)=>(e.openBlock(),e.createElementBlock("div",{key:x.field,class:e.normalizeClass(["w-crud-card-row",{"w-crud-card-row--title":O===0}])},[O!==0?(e.openBlock(),e.createElementBlock("span",Da,e.toDisplayString(x.header),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Sa,[e.renderSlot(h.$slots,`column-${x.field}`,{data:m,value:m[x.field]},()=>[e.createVNode(Ne,{column:x,value:m[x.field],"row-data":m},null,8,["column","value","row-data"])])])],2))),128))]),u.value?(e.openBlock(),e.createElementBlock("div",xa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.action},[y(x,m)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(_),{key:0,icon:x.icon,text:"",rounded:"",size:"small",severity:x.severity,disabled:E(x,m),onClick:O=>g(x,m)},null,8,["icon","severity","disabled","onClick"])),[[L,x.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(h.$slots,"row-actions",{data:m,crud:t.crud})])):e.createCommentVNode("",!0)],40,$a))),128))])):e.renderSlot(h.$slots,"empty",{key:1},()=>[p[16]||(p[16]=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($t),{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)])),e.renderSlot(h.$slots,"form-dialog",{crud:t.crud,dialogWidth:t.dialogWidth},()=>{var m;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:((m=t.crud.viewMode)==null?void 0:m.value)??!1,width:t.dialogWidth,"onUpdate:visible":p[11]||(p[11]=D=>{t.crud.dialogVisible.value=D,D||(t.crud.editingItem.value=null)}),"onUpdate:field":p[12]||(p[12]=(D,x)=>t.crud.setFormField(D,x)),onSave:p[13]||(p[13]=D=>t.crud.save())},e.createSlots({_:2},[e.renderList(t.crud.config.form,D=>({name:`field-${D.field}`,fn:e.withCtx(x=>[e.renderSlot(h.$slots,`field-${D.field}`,e.normalizeProps(e.guardReactiveProps(x)))])}))]),1032,["visible","title","fields","form-data","is-editing","saving","disabled","width"])]})])}}}),yt=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"}},n=e.computed(()=>(o.map??a)[o.value]??{label:o.value,severity:"secondary"});return(r,s)=>(e.openBlock(),e.createBlock(e.unref(et),{value:n.value.label,severity:n.value.severity},null,8,["value","severity"]))}}),Pa={class:"w-page-header"},Fa={class:"w-page-header-content"},Aa={class:"w-page-header-title"},Ma={key:0,class:"w-page-header-subtitle"},Ta={class:"w-page-header-actions"},La=e.defineComponent({__name:"WPageHeader",props:{title:{},subtitle:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(n,r)=>(e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("div",Fa,[e.createElementVNode("h2",Aa,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Ma,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ta,[e.renderSlot(n.$slots,"actions"),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(_),{key:0,label:t.actionLabel,icon:t.actionIcon,onClick:r[0]||(r[0]=s=>a("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)])]))}}),za={class:"w-empty-state"},Ra={class:"w-empty-state-icon"},Ia={class:"w-empty-state-title"},Ya={key:0,class:"w-empty-state-description"},Wa=e.defineComponent({__name:"WEmptyState",props:{icon:{},title:{},description:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:o}){const a=o;return(n,r)=>(e.openBlock(),e.createElementBlock("div",za,[e.createElementVNode("div",Ra,[e.createElementVNode("i",{class:e.normalizeClass(t.icon)},null,2)]),e.createElementVNode("p",Ia,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",Ya,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(_),{key:1,label:t.actionLabel,icon:t.actionIcon,size:"small",class:"mt-3",onClick:r[0]||(r[0]=s=>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"),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(ca(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 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)]))}});/*!
|
|
3
5
|
* vue-router v4.6.4
|
|
4
6
|
* (c) 2025 Eduardo San Martin Morote
|
|
5
7
|
* @license MIT
|
|
6
|
-
*/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 Xa=Symbol(process.env.NODE_ENV!=="production"?"router":"");Symbol(process.env.NODE_ENV!=="production"?"route location":"");Symbol(process.env.NODE_ENV!=="production"?"router view location":"");/*!
|
|
7
9
|
* vue-router v4.6.4
|
|
8
10
|
* (c) 2025 Eduardo San Martin Morote
|
|
9
11
|
* @license MIT
|
|
10
|
-
*/function ja(){return e.inject(Oa)}const Ua={class:"w-detail-header"},qa={class:"w-detail-header-left"},_a={class:"w-detail-header-content"},Ha={class:"w-detail-header-title"},Ka={key:0,class:"w-detail-header-subtitle"},Ga={class:"w-detail-header-actions"},Ja=e.defineComponent({__name:"WDetailHeader",props:{title:{},subtitle:{},icon:{},backRoute:{},backTo:{},status:{},statusMap:{}},setup(t){const o=t,a=ja();function n(){o.backTo?a.push(typeof o.backTo=="string"?{name:o.backTo}:o.backTo):o.backRoute?a.push({name:o.backRoute}):a.back()}return(r,s)=>(e.openBlock(),e.createElementBlock("div",Ua,[e.createElementVNode("div",qa,[e.createVNode(e.unref(_),{icon:"pi pi-arrow-left",text:"",rounded:"",onClick:n}),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",_a,[e.createElementVNode("h2",Ha,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Ka,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),t.status?(e.openBlock(),e.createBlock(yt,{key:1,value:t.status,map:t.statusMap},null,8,["value","map"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ga,[e.renderSlot(r.$slots,"actions")])]))}}),Za={class:"w-info-card"},Xa={key:0,class:"w-info-card-title"},Qa={class:"w-info-card-grid"},en={class:"w-info-card-label"},tn={class:"w-info-card-value"},on=e.defineComponent({__name:"WInfoCard",props:{title:{},fields:{}},setup(t){const{formatCurrency:o,formatDate:a,formatNumber:n}=Te();function r(s){const i=s.value;return i==null||i===""?"-":s.format==="currency"?o(Number(i)):s.format==="date"?a(String(i)):s.format==="datetime"?a(String(i),"DD/MM/YYYY HH:mm"):s.format==="number"?n(Number(i)):String(i)}return(s,i)=>(e.openBlock(),e.createElementBlock("div",Za,[t.title?(e.openBlock(),e.createElementBlock("h3",Xa,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Qa,[(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",en,e.toDisplayString(v.label),1),e.createElementVNode("span",tn,e.toDisplayString(r(v)),1)]))),128))])]))}}),an={key:0,class:"w-kpi-card__loading"},nn={class:"w-kpi-card__loading-content"},ln={class:"w-kpi-card__header"},rn={key:0,class:"w-kpi-card__icon"},sn={key:1,class:"w-kpi-card__trend"},cn={class:"w-kpi-card__content"},dn={class:"w-kpi-card__label"},un={class:"w-kpi-card__value"},mn={key:0,class:"w-kpi-card__hint"},fn={key:0,class:"w-kpi-card__footer"},bt=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",an,[e.createVNode(e.unref(Pe),{shape:"circle",size:"2.75rem"}),e.createElementVNode("div",nn,[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",ln,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",rn,[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",sn,[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",cn,[e.createElementVNode("p",dn,e.toDisplayString(t.label),1),e.createElementVNode("div",un,[e.renderSlot(o.$slots,"value",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])]),t.hint||o.$slots.hint?(e.openBlock(),e.createElementBlock("p",mn,[e.renderSlot(o.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(t.hint),1)])])):e.createCommentVNode("",!0)]),o.$slots.footer?(e.openBlock(),e.createElementBlock("footer",fn,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],64))],2))}}),pn=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(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-kpi-grid",a.value])},[n.$slots.item?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(s,i)=>e.renderSlot(n.$slots,"item",{key:i,item:s,index:i})),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,(s,i)=>(e.openBlock(),e.createBlock(bt,{key:i,label:s.label,value:s.value,icon:s.icon,severity:s.severity||"primary",hint:s.hint,trend:s.trend,loading:s.loading},null,8,["label","value","icon","severity","hint","trend","loading"]))),128))],2))}}),vn={class:"w-section-header__main"},gn={key:0,class:"w-section-header__icon"},hn={class:"w-section-header__content"},kn={class:"w-section-header__title-row"},yn={class:"w-section-header__title"},bn={key:0,class:"w-section-header__subtitle"},wn={key:0,class:"w-section-header__actions"},Bn=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",vn,[t.icon||o.$slots.icon?(e.openBlock(),e.createElementBlock("div",gn,[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",hn,[e.createElementVNode("div",kn,[e.createElementVNode("h3",yn,e.toDisplayString(t.title),1),e.renderSlot(o.$slots,"meta")]),t.subtitle?(e.openBlock(),e.createElementBlock("p",bn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",wn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),Vn={key:0,class:"w-form-section__header"},En={class:"w-form-section__content"},Cn={class:"w-form-section__title"},$n={key:0,class:"w-form-section__description"},Nn={key:0,class:"w-form-section__actions"},Dn={class:"w-form-section__body"},Sn=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",Vn,[e.createElementVNode("div",En,[e.createElementVNode("h3",Cn,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",$n,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),o.$slots.actions?(e.openBlock(),e.createElementBlock("div",Nn,[e.renderSlot(o.$slots,"actions")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",Dn,[e.renderSlot(o.$slots,"default")])],2))}}),xn={key:0,class:"w-action-bar__primary"},Pn={key:1,class:"w-action-bar__filters"},Fn={key:2,class:"w-action-bar__secondary"},An=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",xn,[e.renderSlot(o.$slots,"primary",{},()=>[e.renderSlot(o.$slots,"default")])])):e.createCommentVNode("",!0),o.$slots.filters?(e.openBlock(),e.createElementBlock("div",Pn,[e.renderSlot(o.$slots,"filters")])):e.createCommentVNode("",!0),o.$slots.secondary?(e.openBlock(),e.createElementBlock("div",Fn,[e.renderSlot(o.$slots,"secondary")])):e.createCommentVNode("",!0)],2))}}),Mn={class:"w-progress-flow__marker"},Tn={class:"w-progress-flow__content"},Ln={class:"w-progress-flow__label"},zn={key:0,class:"w-progress-flow__description"},Rn=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 n(r){return r<a.value?"done":r===a.value?"current":"pending"}return(r,s)=>(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,(i,v)=>(e.openBlock(),e.createElementBlock("div",{key:i.key,class:e.normalizeClass(["w-progress-flow__step",`w-progress-flow__step--${n(v)}`])},[e.renderSlot(r.$slots,"step",{step:i,index:v,state:n(v)},()=>[e.createElementVNode("div",Mn,[e.createElementVNode("span",null,e.toDisplayString(v+1),1)]),e.createElementVNode("div",Tn,[e.createElementVNode("p",Ln,e.toDisplayString(i.label),1),i.description?(e.openBlock(),e.createElementBlock("p",zn,e.toDisplayString(i.description),1)):e.createCommentVNode("",!0)])])],2))),128))],2))}});function In(t,o,a){const n=t;return Array.isArray(n.results)?{data:n.results,page:n.page??o,page_size:n.page_size??a,rows:n.count??0,extras:n.extras??{}}:Array.isArray(n.data)?{data:n.data,page:n.page??o,page_size:n.page_size??a,rows:n.rows??0,extras:n.extras??{}}:{data:Array.isArray(t)?t:[],page:o,page_size:a,rows:Array.isArray(t)?t.length:0,extras:{}}}function wt(t){return{async list(o,a={}){const n=await t.get(o,{params:a});return In(n.data,Number(a.page??1),Number(a.page_size??20))},async get(o,a,n){return{data:(await t.get(`${o}${a}/`,n)).data}},async create(o,a,n){return{data:(await t.post(o,a,n)).data}},async update(o,a,n,r){return{data:(await t.patch(`${o}${a}/`,n,r)).data}},async delete(o,a){await t.delete(`${o}${a}/`)}}}const Yn={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??wt(o.axios),n={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(at,o.axios),t.provide(De,a),t.provide(Se,n),o.registerComponents!==!1&&(t.component("WCrudView",kt),t.component("WCrudFormDialog",Le),t.component("WCrudColumnRenderer",Ne),t.component("WAutoCompleteFK",We),t.component("WMoneyInput",Oe),t.component("WTransferList",je))}},Bt={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 Wn(t,o){const a={};for(const n of Object.keys(o))JSON.stringify(t[n])!==JSON.stringify(o[n])&&(a[n]=o[n]);return a}function On(t){const{endpoint:o,columns:a,form:n,pk:r="id",searchDebounce:s=300,partialUpdate:i=!0,canCreate:v=!0,canEdit:c=!0,canDelete:k=!0,rowActions:$=void 0,filterParams:B=void 0,createDefaults:M=void 0,transformPayload:F=void 0,onAfterSave:I=void 0,onAfterDelete:W=void 0}=t,u=e.inject(De);if(!u)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useCrudManager.");const g=u,y=e.inject(Se),E=t.pageSize??(y==null?void 0:y.defaultPageSize)??20,S={...Bt,...t.labels},T=Ie(),{confirmDelete:h}=Ye(),p=e.ref([]),L=e.ref({}),m=e.ref(!1),D=e.ref(!1),x=e.ref(""),O=e.ref(!1),d=e.ref(!1),C=e.ref(null),N=e.reactive({});let l=null;const f=e.reactive({page:1,pageSize:E,rows:0,totalPages:0}),Y=e.reactive({field:null,order:0});function H(){const V={};for(const P of n)V[P.field]=P.defaultValue!==void 0?typeof P.defaultValue=="function"?P.defaultValue():P.defaultValue:null;return V}const j=H();for(const V of Object.keys(j))N[V]=j[V];const z=e.computed(()=>C.value!==null&&!d.value),G=e.computed(()=>d.value),X=e.computed(()=>d.value?S.viewTitle??"Visualizar Registro":z.value?S.editTitle:S.createTitle),ye=e.computed(()=>f.page<=1),be=e.computed(()=>f.page>=f.totalPages);let ee=null;async function Z(V={}){m.value=!0;try{const P={page:f.page,page_size:f.pageSize,...V};x.value&&(P.search=x.value),Y.field&&Y.order!==0&&(P.ordering=Y.order===-1?`-${Y.field}`:Y.field),B&&Object.assign(P,B());const R=await g.list(o,P);p.value=R.data,f.rows=R.rows,L.value=R.extras??{},R.page&&(f.page=R.page),R.page_size&&(f.pageSize=R.page_size),f.totalPages=Math.ceil(f.rows/f.pageSize)||0}finally{m.value=!1}}async function te(){await Z()}async function Q(){await Z()}function oe(V){x.value=V,ee&&clearTimeout(ee),ee=setTimeout(()=>{f.page=1,Z()},s)}function ue(V){const P=V.target;oe(P.value)}function ae(V){f.page=V,Z()}function me(){ae(1)}function re(){ae(f.totalPages)}function se(V){f.page=V.page+1,f.pageSize=V.rows,Z()}function fe(V){Y.field=V.sortField??null,Y.order=V.sortOrder??0,f.page=1,Z()}function ie(){const V=H();for(const P of Object.keys(V))N[P]=V[P]}function pe(V,P){N[V]=P}function b(){if(d.value=!1,C.value=null,l=null,ie(),M){const V=M();for(const[P,R]of Object.entries(V))N[P]=R}O.value=!0}function w(V){const P={};for(const R of n){let q=V[R.field]!==void 0?V[R.field]:null;q&&(R.type==="date"||R.type==="datetime")&&typeof q=="string"&&(q=nt(q)),N[R.field]=q,P[R.field]=q}l=P}function U(V){d.value=!1,C.value=V,w(V),O.value=!0}function A(V){d.value=!0,C.value=V,w(V),O.value=!0}function K(V){const P={...V};for(const R of n){const q=P[R.field];if(R.type==="date"&&q instanceof Date?P[R.field]=lt(q):R.type==="datetime"&&q instanceof Date&&(P[R.field]=rt(q)),R.type==="fk"&&q!==null&&typeof q=="object"){const xe=R.optionValue||"id";P[R.field]=q[xe]??q}(R.type==="mask"||R.type==="cpf_cnpj")&&typeof q=="string"&&(P[R.field]=de(q))}return P}async function Et(){for(const V of n){if(V.validate){const P=V.validate(N[V.field]);if(P)return T.error(P),null}if(V.required){const P=N[V.field];if(P==null||P==="")return T.error(`${V.label} é obrigatório`),null}}D.value=!0;try{let V=K(N);if(!z.value&&M&&Object.assign(V,M()),z.value&&i&&l){const ne=K(l);if(V=Wn(ne,V),Object.keys(V).length===0&&!F){O.value=!1;const ce=C.value;return C.value=null,l=null,ce}}F&&(V=F(V,z.value));const P=n.some(ne=>ne.type==="image"&&V[ne.field]instanceof File);let R=V,q;if(P){const ne=new Set(n.filter(le=>le.type==="image").map(le=>le.field)),ce=new FormData;for(const[le,we]of Object.entries(V))if(we!=null)if(we instanceof File)ce.append(le,we);else{if(ne.has(le))continue;ce.append(le,String(we))}R=ce,q={"Content-Type":"multipart/form-data"}}const xe=q?{headers:q}:void 0;let ge;if(z.value&&C.value){const ne=C.value[r];ge=await g.update(o,ne,R,xe);const ce=p.value.findIndex(le=>le[r]===ne);ce!==-1&&(p.value[ce]=ge.data),T.success(S.successUpdate)}else ge=await g.create(o,R,xe),p.value.unshift(ge.data),f.rows++,T.success(S.successCreate);return O.value=!1,C.value=null,l=null,I&&I(ge.data,z.value),ge.data}catch(V){return T.error(ke(V,"Erro ao salvar registro")),null}finally{D.value=!1}}function Ct(V){h(async()=>{try{const P=V[r];await g.delete(o,P);const R=p.value.findIndex(q=>q[r]===P);R!==-1&&(p.value.splice(R,1),f.rows--),T.success(S.successDelete),W&&W(V)}catch(P){T.error(ke(P,"Erro ao excluir registro"))}},S.deleteConfirmMessage)}return{items:p,extras:L,loading:m,saving:D,search:x,dialogVisible:O,editingItem:C,formData:N,pagination:f,sort:Y,isEditing:z,isViewing:G,viewMode:d,dialogTitle:X,isFirstPage:ye,isLastPage:be,init:te,fetchItems:Z,refresh:Q,setSearch:oe,onSearch:ue,onPage:se,onSort:fe,openCreateDialog:b,openEditDialog:U,openViewDialog:A,save:Et,confirmDelete:Ct,setFormField:pe,resetForm:ie,goToPage:ae,firstPage:me,lastPage:re,config:t}}function jn(t){const{endpoint:o,searchDebounce:a=300,immediate:n=!1}=t,r=e.inject(De);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin antes de usar useApi.");const s=r,i=e.inject(Se),v=t.pageSize??(i==null?void 0:i.defaultPageSize)??20,c=e.ref([]),k=e.ref(!1),$=e.ref(""),B=e.ref({}),M=e.reactive({}),F=e.reactive({page:1,pageSize:v,rows:0,totalPages:0}),I=e.reactive({field:null,order:0});let W=null;async function u(p={}){k.value=!0;try{const L={page:F.page,page_size:F.pageSize,...p};$.value&&(L.search=$.value),I.field&&I.order!==0&&(L.ordering=I.order===-1?`-${I.field}`:I.field);for(const[D,x]of Object.entries(M))x!=null&&x!==""&&(L[D]=x);const m=await s.list(o,L);c.value=m.data,F.rows=m.rows,m.page&&(F.page=m.page),m.page_size&&(F.pageSize=m.page_size),F.totalPages=Math.ceil(F.rows/F.pageSize)||0,B.value=m.extras??{}}finally{k.value=!1}}async function g(){await u()}function y(p){$.value=p,W&&clearTimeout(W),W=setTimeout(()=>{F.page=1,u()},a)}function E(p,L){M[p]=L,F.page=1,u()}function S(){for(const p of Object.keys(M))delete M[p];F.page=1,u()}function T(p){F.page=p.page+1,F.pageSize=p.rows,u()}function h(p){I.field=p.sortField??null,I.order=p.sortOrder??0,F.page=1,u()}return n&&u(),{items:c,loading:k,search:$,pagination:F,sort:I,extras:B,fetchItems:u,refresh:g,setSearch:y,setFilter:E,clearFilters:S,onPage:T,onSort:h}}function Un(t){return t.split("?")[0].replace(/^\/+|\/+$/g,"").replace(/^api\/v\d+\//,"")}function qn(t){return typeof t=="string"?{table:t}:t}function Vt(t,o=400){return{response:{status:o,data:{detail:t}},message:t}}function Xe(t){if(t instanceof FormData)throw Vt("SupabaseDataProvider nao envia FormData diretamente. Faça upload do arquivo no Storage e envie a URL/caminho no payload.");return t}function Be(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,s;const a=Un(t),n=(r=o.resources)==null?void 0:r[a];if(n)return qn(n);if((s=o.allowedTables)!=null&&s.includes(a))return{table:a};throw Vt(`Recurso Supabase nao registrado para o endpoint "${t}".`,404)}function _n(t,o,a){const n=new Set(["page","page_size","search","ordering"]),r={...a.defaultFilters,...o};for(const[s,i]of Object.entries(r))n.has(s)||i===null||i===void 0||i===""||(t=t.eq(s,i));return t}function Hn(t,o,a){if(typeof o!="string"||!o.trim()||!(a!=null&&a.length))return t;const n=o.trim().replace(/,/g,"\\,"),r=a.map(s=>`${s}.ilike.%${n}%`).join(",");return t.or(r)}function Kn(t,o){const a=typeof t=="string"&&t?t:o;return a?{field:a.startsWith("-")?a.slice(1):a,ascending:!a.startsWith("-")}:null}function Gn(t,o){return t?o.mapListItem?t.map(a=>{var n;return(n=o.mapListItem)==null?void 0:n.call(o,a)}):t:[]}function Jn(t){const o=t.defaultSelect??"*";return{async list(a,n={}){var M;const r=Ve(a,t),s=Math.max(Number(n.page??1),1),i=Math.max(Number(n.page_size??20),1),v=(s-1)*i,c=v+i-1;let k=t.client.from(r.table).select(r.select??o,{count:"exact"});k=_n(k,n,r),k=Hn(k,n.search,r.searchFields);const $=Kn(n.ordering,r.defaultOrdering);$&&(k=k.order($.field,{ascending:$.ascending}));const B=await k.range(v,c);return B.error&&Be(B.error),{data:Gn(B.data,r),page:s,page_size:i,rows:B.count??((M=B.data)==null?void 0:M.length)??0,extras:{}}},async get(a,n,r){const s=Ve(a,t),i=s.pk??"id",v=await t.client.from(s.table).select(s.select??o).eq(i,n).single();return v.error&&Be(v.error),{data:v.data}},async create(a,n,r){const s=Ve(a,t),i=Xe(n),v=s.mapPayload?s.mapPayload(i,"create"):i,c=await t.client.from(s.table).insert(v).select(s.select??o).single();return c.error&&Be(c.error),{data:c.data}},async update(a,n,r,s){const i=Ve(a,t),v=i.pk??"id",c=Xe(r),k=i.mapPayload?i.mapPayload(c,"update"):c,$=await t.client.from(i.table).update(k).eq(v,n).select(i.select??o).single();return $.error&&Be($.error),{data:$.data}},async delete(a,n){const r=Ve(a,t),s=r.pk??"id",i=r.softDelete===!0?{is_active:!1}:typeof r.softDelete=="object"?r.softDelete:null,v=i?await t.client.from(r.table).update(i).eq(s,n):await t.client.from(r.table).delete().eq(s,n);v.error&&Be(v.error)}}}exports.DEFAULT_CRUD_LABELS=Bt;exports.WActionBar=An;exports.WAutoCompleteFK=We;exports.WCrudColumnRenderer=Ne;exports.WCrudFormDialog=Le;exports.WCrudView=kt;exports.WDetailHeader=Ja;exports.WEmptyState=Wa;exports.WFormRenderer=ht;exports.WFormSection=Sn;exports.WInfoCard=on;exports.WKpiCard=bt;exports.WKpiGrid=pn;exports.WMoneyInput=Oe;exports.WPageHeader=La;exports.WPrimeVuePlugin=Yn;exports.WProgressFlow=Rn;exports.WSectionHeader=Bn;exports.WStatusTag=yt;exports.WTransferList=je;exports.W_AXIOS_KEY=at;exports.W_CONFIG_KEY=Se;exports.W_DATA_PROVIDER_KEY=De;exports.createAxiosDataProvider=wt;exports.createSupabaseDataProvider=Jn;exports.extractApiError=ke;exports.mapApiFieldToColumnDef=vt;exports.mapApiFieldToFieldDef=ft;exports.mapApiFieldsToColumnDefs=gt;exports.mapApiFieldsToFieldDefs=pt;exports.useApi=jn;exports.useApiError=fo;exports.useAppConfirm=Ye;exports.useAppToast=Ie;exports.useCrudManager=On;exports.useFormatters=Te;
|
|
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;
|
|
11
13
|
//# sourceMappingURL=index.cjs.map
|