@wgalleti/primevue-components 0.9.5 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,13 +10,21 @@ interface DrilldownFilter {
10
10
  value: unknown;
11
11
  required?: boolean;
12
12
  }
13
+ /** Valor aceito no `v-model`: id, objeto ou — em `multiple` — lista de ids/objetos. */
14
+ type FKValue = string | number | Record<string, unknown>;
13
15
  type __VLS_Props = {
14
- modelValue: string | number | Record<string, unknown> | null;
16
+ modelValue: FKValue | FKValue[] | null;
15
17
  endpoint: string;
16
18
  endpointParams?: Record<string, string | number | boolean>;
17
19
  /** Filtro(s) em cascata resolvido(s): aplicado(s) como parâmetro na busca. Com
18
20
  * `required` (default true), a busca só ocorre quando o valor estiver preenchido. */
19
21
  drilldown?: DrilldownFilter | DrilldownFilter[];
22
+ /** Seleção múltipla: o campo vira chips e o `v-model` passa a ser uma lista
23
+ * de objetos. O modal de pesquisa ganha caixas de marcação. */
24
+ multiple?: boolean;
25
+ /** Em `multiple`, quantos chips mostrar antes de resumir o resto em `+N`
26
+ * (0 = mostrar todos). Útil em campo estreito, tipo filtro de painel. */
27
+ maxChips?: number;
20
28
  optionLabel?: string;
21
29
  optionValue?: string;
22
30
  placeholder?: string;
@@ -40,10 +48,12 @@ type __VLS_Props = {
40
48
  autofocus?: boolean;
41
49
  };
42
50
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
43
- "update:modelValue": (value: Record<string, unknown> | null) => any;
51
+ "update:modelValue": (value: Record<string, unknown> | Record<string, unknown>[] | null) => any;
44
52
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
45
- "onUpdate:modelValue"?: ((value: Record<string, unknown> | null) => any) | undefined;
53
+ "onUpdate:modelValue"?: ((value: Record<string, unknown> | Record<string, unknown>[] | null) => any) | undefined;
46
54
  }>, {
55
+ multiple: boolean;
56
+ maxChips: number;
47
57
  optionLabel: string;
48
58
  optionValue: string;
49
59
  placeholder: string;
@@ -31,10 +31,10 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
31
31
  "onUpdate:modelValue"?: ((value: File | File[] | null) => any) | undefined;
32
32
  }>, {
33
33
  modelValue: File | File[] | null;
34
+ multiple: boolean;
34
35
  disabled: boolean;
35
36
  accept: string;
36
37
  maxSize: number;
37
- multiple: boolean;
38
38
  chooseLabel: string;
39
39
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
40
40
  input: HTMLInputElement;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./WProgressFlow.vue_vue_type_script_setup_true_lang-CyoU4ZvR.cjs"),e=require("vue"),m=require("primevue/button"),g={class:"w-fileupload",style:{display:"flex","flex-direction":"column",gap:"0.5rem"}},W=["accept","multiple"],v={key:0,style:{"list-style":"none",margin:"0",padding:"0",display:"flex","flex-direction":"column",gap:"0.35rem"}},k={style:{flex:"1",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},B={style:{opacity:"0.6"}},x=e.defineComponent({__name:"WFileUpload",props:{modelValue:{default:null},multiple:{type:Boolean,default:!1},accept:{default:void 0},maxSize:{default:10485760},disabled:{type:Boolean,default:!1},chooseLabel:{default:"Selecionar arquivo"}},emits:["update:modelValue","error"],setup(a,{emit:p}){const o=a,s=p,d=e.ref(null),c=e.computed(()=>{const l=o.modelValue;return l?Array.isArray(l)?l:[l]:[]});function f(){var l;(l=d.value)==null||l.click()}function _(l){const n=l.target,r=Array.from(n.files||[]);n.value="";const i=[];for(const u of r){if(u.size>o.maxSize){s("error",`"${u.name}" acima do limite de ${(o.maxSize/1048576).toFixed(1)}MB.`);continue}i.push(u)}i.length&&s("update:modelValue",o.multiple?[...c.value,...i]:i[0])}function y(l){if(!o.multiple){s("update:modelValue",null);return}const n=c.value.slice();n.splice(l,1),s("update:modelValue",n.length?n:null)}function $(l){return l<1024?`${l} B`:l<1048576?`${(l/1024).toFixed(0)} KB`:`${(l/1048576).toFixed(1)} MB`}return(l,n)=>(e.openBlock(),e.createElementBlock("div",g,[e.createElementVNode("div",null,[e.createVNode(e.unref(m),{type:"button",label:a.chooseLabel,icon:"pi pi-upload",outlined:"",size:"small",disabled:a.disabled,onClick:f},null,8,["label","disabled"])]),e.createElementVNode("input",{ref_key:"input",ref:d,type:"file",accept:a.accept,multiple:a.multiple,style:{display:"none"},onChange:_},null,40,W),c.value.length?(e.openBlock(),e.createElementBlock("ul",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(r,i)=>(e.openBlock(),e.createElementBlock("li",{key:`${r.name}-${i}`,style:{display:"flex","align-items":"center",gap:"0.5rem","font-size":"0.85rem"}},[n[0]||(n[0]=e.createElementVNode("i",{class:"pi pi-file",style:{opacity:"0.6"}},null,-1)),e.createElementVNode("span",k,e.toDisplayString(r.name),1),e.createElementVNode("span",B,e.toDisplayString($(r.size)),1),e.createVNode(e.unref(m),{type:"button",icon:"pi pi-times",text:"",rounded:"",size:"small",severity:"danger",disabled:a.disabled,onClick:u=>y(i)},null,8,["disabled","onClick"])]))),128))])):e.renderSlot(l.$slots,"empty",{},()=>[n[1]||(n[1]=e.createElementVNode("span",{style:{"font-size":"0.8rem",opacity:"0.6"}},"Nenhum arquivo selecionado",-1))],void 0,1)]))}});exports.WActionBar=t._sfc_main;exports.WAutoCompleteFK=t._sfc_main$1;exports.WCrudColumnRenderer=t._sfc_main$2;exports.WCrudFormDialog=t._sfc_main$3;exports.WCrudView=t._sfc_main$4;exports.WDatePicker=t._sfc_main$5;exports.WDateRange=t._sfc_main$6;exports.WDetailHeader=t._sfc_main$7;exports.WEmptyState=t._sfc_main$8;exports.WFormRenderer=t._sfc_main$9;exports.WFormSection=t._sfc_main$10;exports.WImageCropper=t.WImageCropper;exports.WInfoCard=t._sfc_main$11;exports.WKpiCard=t._sfc_main$12;exports.WKpiGrid=t._sfc_main$13;exports.WMoneyInput=t._sfc_main$14;exports.WPageHeader=t._sfc_main$15;exports.WProgressFlow=t._sfc_main$16;exports.WSectionHeader=t._sfc_main$17;exports.WStatusTag=t._sfc_main$18;exports.WTransferList=t._sfc_main$19;exports.WFileUpload=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./WProgressFlow.vue_vue_type_script_setup_true_lang-Cc0DJRIy.cjs"),e=require("vue"),m=require("primevue/button"),g={class:"w-fileupload",style:{display:"flex","flex-direction":"column",gap:"0.5rem"}},W=["accept","multiple"],v={key:0,style:{"list-style":"none",margin:"0",padding:"0",display:"flex","flex-direction":"column",gap:"0.35rem"}},k={style:{flex:"1",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},B={style:{opacity:"0.6"}},x=e.defineComponent({__name:"WFileUpload",props:{modelValue:{default:null},multiple:{type:Boolean,default:!1},accept:{default:void 0},maxSize:{default:10485760},disabled:{type:Boolean,default:!1},chooseLabel:{default:"Selecionar arquivo"}},emits:["update:modelValue","error"],setup(a,{emit:p}){const o=a,s=p,d=e.ref(null),c=e.computed(()=>{const l=o.modelValue;return l?Array.isArray(l)?l:[l]:[]});function f(){var l;(l=d.value)==null||l.click()}function _(l){const n=l.target,r=Array.from(n.files||[]);n.value="";const i=[];for(const u of r){if(u.size>o.maxSize){s("error",`"${u.name}" acima do limite de ${(o.maxSize/1048576).toFixed(1)}MB.`);continue}i.push(u)}i.length&&s("update:modelValue",o.multiple?[...c.value,...i]:i[0])}function y(l){if(!o.multiple){s("update:modelValue",null);return}const n=c.value.slice();n.splice(l,1),s("update:modelValue",n.length?n:null)}function $(l){return l<1024?`${l} B`:l<1048576?`${(l/1024).toFixed(0)} KB`:`${(l/1048576).toFixed(1)} MB`}return(l,n)=>(e.openBlock(),e.createElementBlock("div",g,[e.createElementVNode("div",null,[e.createVNode(e.unref(m),{type:"button",label:a.chooseLabel,icon:"pi pi-upload",outlined:"",size:"small",disabled:a.disabled,onClick:f},null,8,["label","disabled"])]),e.createElementVNode("input",{ref_key:"input",ref:d,type:"file",accept:a.accept,multiple:a.multiple,style:{display:"none"},onChange:_},null,40,W),c.value.length?(e.openBlock(),e.createElementBlock("ul",v,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(r,i)=>(e.openBlock(),e.createElementBlock("li",{key:`${r.name}-${i}`,style:{display:"flex","align-items":"center",gap:"0.5rem","font-size":"0.85rem"}},[n[0]||(n[0]=e.createElementVNode("i",{class:"pi pi-file",style:{opacity:"0.6"}},null,-1)),e.createElementVNode("span",k,e.toDisplayString(r.name),1),e.createElementVNode("span",B,e.toDisplayString($(r.size)),1),e.createVNode(e.unref(m),{type:"button",icon:"pi pi-times",text:"",rounded:"",size:"small",severity:"danger",disabled:a.disabled,onClick:u=>y(i)},null,8,["disabled","onClick"])]))),128))])):e.renderSlot(l.$slots,"empty",{},()=>[n[1]||(n[1]=e.createElementVNode("span",{style:{"font-size":"0.8rem",opacity:"0.6"}},"Nenhum arquivo selecionado",-1))],void 0,1)]))}});exports.WActionBar=t._sfc_main;exports.WAutoCompleteFK=t._sfc_main$1;exports.WCrudColumnRenderer=t._sfc_main$2;exports.WCrudFormDialog=t._sfc_main$3;exports.WCrudView=t._sfc_main$4;exports.WDatePicker=t._sfc_main$5;exports.WDateRange=t._sfc_main$6;exports.WDetailHeader=t._sfc_main$7;exports.WEmptyState=t._sfc_main$8;exports.WFormRenderer=t._sfc_main$9;exports.WFormSection=t._sfc_main$10;exports.WImageCropper=t.WImageCropper;exports.WInfoCard=t._sfc_main$11;exports.WKpiCard=t._sfc_main$12;exports.WKpiGrid=t._sfc_main$13;exports.WMoneyInput=t._sfc_main$14;exports.WPageHeader=t._sfc_main$15;exports.WProgressFlow=t._sfc_main$16;exports.WSectionHeader=t._sfc_main$17;exports.WStatusTag=t._sfc_main$18;exports.WTransferList=t._sfc_main$19;exports.WFileUpload=x;
2
2
  //# sourceMappingURL=components.cjs.map
@@ -1,4 +1,4 @@
1
- import { _ as I, a as M, b as N, c as P, d as R, e as _, f as T, g as U, h as j, i as G, j as J, W as O, k as Q, l as X, m as Y, n as Z, o as ee, p as le, q as te, r as ae, s as ie } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-BjLZrFmL.js";
1
+ import { _ as I, a as M, b as N, c as P, d as R, e as _, f as T, g as U, h as j, i as G, j as J, W as O, k as Q, l as X, m as Y, n as Z, o as ee, p as le, q as te, r as ae, s as ie } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-DVjJq8Bs.js";
2
2
  import { defineComponent as k, ref as F, computed as S, openBlock as u, createElementBlock as p, createElementVNode as i, createVNode as m, unref as f, Fragment as b, renderList as z, toDisplayString as y, renderSlot as B } from "vue";
3
3
  import W from "primevue/button";
4
4
  const V = {
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./plugin-D1YvyKXX.cjs"),n=require("./WProgressFlow.vue_vue_type_script_setup_true_lang-CyoU4ZvR.cjs"),W=require("./useApi-237Q1Vdg.cjs"),f=require("./useFormKeyboardNav-D4Ow3k4Y.cjs"),P=require("./types.cjs");function F(e,a,t){const r=e;return Array.isArray(r.results)?{data:r.results,page:r.page??a,page_size:r.page_size??t,rows:r.count??0,extras:r.extras??{}}:Array.isArray(r.data)?{data:r.data,page:r.page??a,page_size:r.page_size??t,rows:r.rows??0,extras:r.extras??{}}:{data:Array.isArray(e)?e:[],page:a,page_size:t,rows:Array.isArray(e)?e.length:0,extras:{}}}function D(e){return{async list(a,t={}){const r=await e.get(a,{params:t});return F(r.data,Number(t.page??1),Number(t.page_size??20))},async get(a,t,r){return{data:(await e.get(`${a}${t}/`,r)).data}},async create(a,t,r){return{data:(await e.post(a,t,r)).data}},async update(a,t,r,s){return{data:(await e.patch(`${a}${t}/`,r,s)).data}},async delete(a,t){await e.delete(`${a}${t}/`)}}}const C={install(e,a){if(!(a!=null&&a.axios)&&!(a!=null&&a.dataProvider))throw new Error('[wPrimeVueComponents] Informe "axios" ou "dataProvider" ao registrar o WPrimeVuePlugin.');const t=a.dataProvider??D(a.axios),r={axios:a.axios,dataProvider:t,defaultPageSize:a.defaultPageSize??20,dateFormat:a.dateFormat??"DD/MM/YYYY",dateTimeFormat:a.dateTimeFormat??"DD/MM/YYYY HH:mm",locale:a.locale??"pt-BR",currency:a.currency??"BRL"};a.axios&&e.provide(m.W_AXIOS_KEY,a.axios),e.provide(m.W_DATA_PROVIDER_KEY,t),e.provide(m.W_CONFIG_KEY,r),a.registerComponents!==!1&&(e.component("WCrudView",n._sfc_main$4),e.component("WCrudFormDialog",n._sfc_main$3),e.component("WCrudColumnRenderer",n._sfc_main$2),e.component("WAutoCompleteFK",n._sfc_main$1),e.component("WMoneyInput",n._sfc_main$14),e.component("WTransferList",n._sfc_main$19))}};function v(e){return e.split("?")[0].replace(/^\/+|\/+$/g,"").replace(/^api\/v\d+\//,"")}function w(e){return typeof e=="string"?{table:e}:e}function $(e,a=400){return{response:{status:a,data:{detail:e}},message:e}}function y(e){if(e instanceof FormData)throw $("SupabaseDataProvider nao envia FormData diretamente. Faça upload do arquivo no Storage e envie a URL/caminho no payload.");return e}function p(e){throw{response:{data:{detail:(e==null?void 0:e.message)??"Erro ao consultar Supabase",code:e==null?void 0:e.code,details:e==null?void 0:e.details,hint:e==null?void 0:e.hint}},message:(e==null?void 0:e.message)??"Erro ao consultar Supabase"}}function g(e,a){var s,i;const t=v(e),r=(s=a.resources)==null?void 0:s[t];if(r)return w(r);if((i=a.allowedTables)!=null&&i.includes(t))return{table:t};throw $(`Recurso Supabase nao registrado para o endpoint "${e}".`,404)}function E(e,a,t){const r=new Set(["page","page_size","search","ordering"]),s={...t.defaultFilters,...a};for(const[i,o]of Object.entries(s))r.has(i)||o===null||o===void 0||o===""||(e=e.eq(i,o));return e}function S(e,a,t){if(typeof a!="string"||!a.trim()||!(t!=null&&t.length))return e;const r=a.trim().replace(/,/g,"\\,"),s=t.map(i=>`${i}.ilike.%${r}%`).join(",");return e.or(s)}function T(e,a){const t=typeof e=="string"&&e?e:a;return t?{field:t.startsWith("-")?t.slice(1):t,ascending:!t.startsWith("-")}:null}function b(e,a){return e?a.mapListItem?e.map(t=>{var r;return(r=a.mapListItem)==null?void 0:r.call(a,t)}):e:[]}function R(e){const a=e.defaultSelect??"*";return{async list(t,r={}){var A;const s=g(t,e),i=Math.max(Number(r.page??1),1),o=Math.max(Number(r.page_size??20),1),c=(i-1)*o,l=c+o-1;let u=e.client.from(s.table).select(s.select??a,{count:"exact"});u=E(u,r,s),u=S(u,r.search,s.searchFields);const d=T(r.ordering,s.defaultOrdering);d&&(u=u.order(d.field,{ascending:d.ascending}));const _=await u.range(c,l);return _.error&&p(_.error),{data:b(_.data,s),page:i,page_size:o,rows:_.count??((A=_.data)==null?void 0:A.length)??0,extras:{}}},async get(t,r,s){const i=g(t,e),o=i.pk??"id",c=await e.client.from(i.table).select(i.select??a).eq(o,r).single();return c.error&&p(c.error),{data:c.data}},async create(t,r,s){const i=g(t,e),o=y(r),c=i.mapPayload?i.mapPayload(o,"create"):o,l=await e.client.from(i.table).insert(c).select(i.select??a).single();return l.error&&p(l.error),{data:l.data}},async update(t,r,s,i){const o=g(t,e),c=o.pk??"id",l=y(s),u=o.mapPayload?o.mapPayload(l,"update"):l,d=await e.client.from(o.table).update(u).eq(c,r).select(o.select??a).single();return d.error&&p(d.error),{data:d.data}},async delete(t,r){const s=g(t,e),i=s.pk??"id",o=s.softDelete===!0?{is_active:!1}:typeof s.softDelete=="object"?s.softDelete:null,c=o?await e.client.from(s.table).update(o).eq(i,r):await e.client.from(s.table).delete().eq(i,r);c.error&&p(c.error)}}}exports.W_AXIOS_KEY=m.W_AXIOS_KEY;exports.W_CONFIG_KEY=m.W_CONFIG_KEY;exports.W_DATA_PROVIDER_KEY=m.W_DATA_PROVIDER_KEY;exports.WActionBar=n._sfc_main;exports.WAutoCompleteFK=n._sfc_main$1;exports.WCrudColumnRenderer=n._sfc_main$2;exports.WCrudFormDialog=n._sfc_main$3;exports.WCrudView=n._sfc_main$4;exports.WDatePicker=n._sfc_main$5;exports.WDateRange=n._sfc_main$6;exports.WDetailHeader=n._sfc_main$7;exports.WEmptyState=n._sfc_main$8;exports.WFormRenderer=n._sfc_main$9;exports.WFormSection=n._sfc_main$10;exports.WInfoCard=n._sfc_main$11;exports.WKpiCard=n._sfc_main$12;exports.WKpiGrid=n._sfc_main$13;exports.WMoneyInput=n._sfc_main$14;exports.WPageHeader=n._sfc_main$15;exports.WProgressFlow=n._sfc_main$16;exports.WSectionHeader=n._sfc_main$17;exports.WStatusTag=n._sfc_main$18;exports.WTransferList=n._sfc_main$19;exports.downloadCsv=n.downloadCsv;exports.mapApiFieldToColumnDef=n.mapApiFieldToColumnDef;exports.mapApiFieldToFieldDef=n.mapApiFieldToFieldDef;exports.mapApiFieldsToColumnDefs=n.mapApiFieldsToColumnDefs;exports.mapApiFieldsToFieldDefs=n.mapApiFieldsToFieldDefs;exports.toCsv=n.toCsv;exports.useApi=W.useApi;exports.useCrudManager=W.useCrudManager;exports.extractApiError=f.extractApiError;exports.useApiError=f.useApiError;exports.useAppConfirm=f.useAppConfirm;exports.useAppToast=f.useAppToast;exports.useDateInput=f.useDateInput;exports.useFormatters=f.useFormatters;exports.DEFAULT_CRUD_LABELS=P.DEFAULT_CRUD_LABELS;exports.WPrimeVuePlugin=C;exports.createAxiosDataProvider=D;exports.createSupabaseDataProvider=R;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./plugin-D1YvyKXX.cjs"),n=require("./WProgressFlow.vue_vue_type_script_setup_true_lang-Cc0DJRIy.cjs"),W=require("./useApi-237Q1Vdg.cjs"),f=require("./useFormKeyboardNav-D4Ow3k4Y.cjs"),P=require("./types.cjs");function F(e,a,t){const r=e;return Array.isArray(r.results)?{data:r.results,page:r.page??a,page_size:r.page_size??t,rows:r.count??0,extras:r.extras??{}}:Array.isArray(r.data)?{data:r.data,page:r.page??a,page_size:r.page_size??t,rows:r.rows??0,extras:r.extras??{}}:{data:Array.isArray(e)?e:[],page:a,page_size:t,rows:Array.isArray(e)?e.length:0,extras:{}}}function D(e){return{async list(a,t={}){const r=await e.get(a,{params:t});return F(r.data,Number(t.page??1),Number(t.page_size??20))},async get(a,t,r){return{data:(await e.get(`${a}${t}/`,r)).data}},async create(a,t,r){return{data:(await e.post(a,t,r)).data}},async update(a,t,r,s){return{data:(await e.patch(`${a}${t}/`,r,s)).data}},async delete(a,t){await e.delete(`${a}${t}/`)}}}const C={install(e,a){if(!(a!=null&&a.axios)&&!(a!=null&&a.dataProvider))throw new Error('[wPrimeVueComponents] Informe "axios" ou "dataProvider" ao registrar o WPrimeVuePlugin.');const t=a.dataProvider??D(a.axios),r={axios:a.axios,dataProvider:t,defaultPageSize:a.defaultPageSize??20,dateFormat:a.dateFormat??"DD/MM/YYYY",dateTimeFormat:a.dateTimeFormat??"DD/MM/YYYY HH:mm",locale:a.locale??"pt-BR",currency:a.currency??"BRL"};a.axios&&e.provide(m.W_AXIOS_KEY,a.axios),e.provide(m.W_DATA_PROVIDER_KEY,t),e.provide(m.W_CONFIG_KEY,r),a.registerComponents!==!1&&(e.component("WCrudView",n._sfc_main$4),e.component("WCrudFormDialog",n._sfc_main$3),e.component("WCrudColumnRenderer",n._sfc_main$2),e.component("WAutoCompleteFK",n._sfc_main$1),e.component("WMoneyInput",n._sfc_main$14),e.component("WTransferList",n._sfc_main$19))}};function v(e){return e.split("?")[0].replace(/^\/+|\/+$/g,"").replace(/^api\/v\d+\//,"")}function w(e){return typeof e=="string"?{table:e}:e}function $(e,a=400){return{response:{status:a,data:{detail:e}},message:e}}function y(e){if(e instanceof FormData)throw $("SupabaseDataProvider nao envia FormData diretamente. Faça upload do arquivo no Storage e envie a URL/caminho no payload.");return e}function p(e){throw{response:{data:{detail:(e==null?void 0:e.message)??"Erro ao consultar Supabase",code:e==null?void 0:e.code,details:e==null?void 0:e.details,hint:e==null?void 0:e.hint}},message:(e==null?void 0:e.message)??"Erro ao consultar Supabase"}}function g(e,a){var s,i;const t=v(e),r=(s=a.resources)==null?void 0:s[t];if(r)return w(r);if((i=a.allowedTables)!=null&&i.includes(t))return{table:t};throw $(`Recurso Supabase nao registrado para o endpoint "${e}".`,404)}function E(e,a,t){const r=new Set(["page","page_size","search","ordering"]),s={...t.defaultFilters,...a};for(const[i,o]of Object.entries(s))r.has(i)||o===null||o===void 0||o===""||(e=e.eq(i,o));return e}function S(e,a,t){if(typeof a!="string"||!a.trim()||!(t!=null&&t.length))return e;const r=a.trim().replace(/,/g,"\\,"),s=t.map(i=>`${i}.ilike.%${r}%`).join(",");return e.or(s)}function T(e,a){const t=typeof e=="string"&&e?e:a;return t?{field:t.startsWith("-")?t.slice(1):t,ascending:!t.startsWith("-")}:null}function b(e,a){return e?a.mapListItem?e.map(t=>{var r;return(r=a.mapListItem)==null?void 0:r.call(a,t)}):e:[]}function R(e){const a=e.defaultSelect??"*";return{async list(t,r={}){var A;const s=g(t,e),i=Math.max(Number(r.page??1),1),o=Math.max(Number(r.page_size??20),1),c=(i-1)*o,l=c+o-1;let u=e.client.from(s.table).select(s.select??a,{count:"exact"});u=E(u,r,s),u=S(u,r.search,s.searchFields);const d=T(r.ordering,s.defaultOrdering);d&&(u=u.order(d.field,{ascending:d.ascending}));const _=await u.range(c,l);return _.error&&p(_.error),{data:b(_.data,s),page:i,page_size:o,rows:_.count??((A=_.data)==null?void 0:A.length)??0,extras:{}}},async get(t,r,s){const i=g(t,e),o=i.pk??"id",c=await e.client.from(i.table).select(i.select??a).eq(o,r).single();return c.error&&p(c.error),{data:c.data}},async create(t,r,s){const i=g(t,e),o=y(r),c=i.mapPayload?i.mapPayload(o,"create"):o,l=await e.client.from(i.table).insert(c).select(i.select??a).single();return l.error&&p(l.error),{data:l.data}},async update(t,r,s,i){const o=g(t,e),c=o.pk??"id",l=y(s),u=o.mapPayload?o.mapPayload(l,"update"):l,d=await e.client.from(o.table).update(u).eq(c,r).select(o.select??a).single();return d.error&&p(d.error),{data:d.data}},async delete(t,r){const s=g(t,e),i=s.pk??"id",o=s.softDelete===!0?{is_active:!1}:typeof s.softDelete=="object"?s.softDelete:null,c=o?await e.client.from(s.table).update(o).eq(i,r):await e.client.from(s.table).delete().eq(i,r);c.error&&p(c.error)}}}exports.W_AXIOS_KEY=m.W_AXIOS_KEY;exports.W_CONFIG_KEY=m.W_CONFIG_KEY;exports.W_DATA_PROVIDER_KEY=m.W_DATA_PROVIDER_KEY;exports.WActionBar=n._sfc_main;exports.WAutoCompleteFK=n._sfc_main$1;exports.WCrudColumnRenderer=n._sfc_main$2;exports.WCrudFormDialog=n._sfc_main$3;exports.WCrudView=n._sfc_main$4;exports.WDatePicker=n._sfc_main$5;exports.WDateRange=n._sfc_main$6;exports.WDetailHeader=n._sfc_main$7;exports.WEmptyState=n._sfc_main$8;exports.WFormRenderer=n._sfc_main$9;exports.WFormSection=n._sfc_main$10;exports.WInfoCard=n._sfc_main$11;exports.WKpiCard=n._sfc_main$12;exports.WKpiGrid=n._sfc_main$13;exports.WMoneyInput=n._sfc_main$14;exports.WPageHeader=n._sfc_main$15;exports.WProgressFlow=n._sfc_main$16;exports.WSectionHeader=n._sfc_main$17;exports.WStatusTag=n._sfc_main$18;exports.WTransferList=n._sfc_main$19;exports.downloadCsv=n.downloadCsv;exports.mapApiFieldToColumnDef=n.mapApiFieldToColumnDef;exports.mapApiFieldToFieldDef=n.mapApiFieldToFieldDef;exports.mapApiFieldsToColumnDefs=n.mapApiFieldsToColumnDefs;exports.mapApiFieldsToFieldDefs=n.mapApiFieldsToFieldDefs;exports.toCsv=n.toCsv;exports.useApi=W.useApi;exports.useCrudManager=W.useCrudManager;exports.extractApiError=f.extractApiError;exports.useApiError=f.useApiError;exports.useAppConfirm=f.useAppConfirm;exports.useAppToast=f.useAppToast;exports.useDateInput=f.useDateInput;exports.useFormatters=f.useFormatters;exports.DEFAULT_CRUD_LABELS=P.DEFAULT_CRUD_LABELS;exports.WPrimeVuePlugin=C;exports.createAxiosDataProvider=D;exports.createSupabaseDataProvider=R;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { b as _, W, a as w } from "./plugin-BKa0eSEM.js";
2
- import { d as A, c as P, b as v, a as C, n as D, s as x } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-BjLZrFmL.js";
3
- import { _ as k, e as N, f as O, g as V, h as q, i as H, j, k as B, l as U, m as G, o as X, p as J, q as Q, r as Z, t as ee, u as ae, v as te, w as re, x as se, y as ne } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-BjLZrFmL.js";
2
+ import { d as A, c as P, b as v, a as C, n as D, s as x } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-DVjJq8Bs.js";
3
+ import { _ as k, e as N, f as O, g as V, h as q, i as H, j, k as B, l as U, m as G, o as X, p as J, q as Q, r as Z, t as ee, u as ae, v as te, w as re, x as se, y as ne } from "./WProgressFlow.vue_vue_type_script_setup_true_lang-DVjJq8Bs.js";
4
4
  import { u as ie, a as ce } from "./useApi-BsrLTNwE.js";
5
5
  import { e as le, u as de, a as fe, b as me, c as pe, f as ge } from "./useFormKeyboardNav-D4Irq5RE.js";
6
6
  import { DEFAULT_CRUD_LABELS as _e } from "./types.js";
@@ -1 +1 @@
1
- .w-imgcropper-preview[data-v-95684d2d]{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--p-content-border-color, #e2e8f0);background:var(--p-content-background, #f8fafc)}.w-imgcropper-preview.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-img[data-v-95684d2d]{width:100%;height:100%;object-fit:cover;display:block}.w-imgcropper-actions[data-v-95684d2d]{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:4px;padding:4px;background:color-mix(in srgb,#000 45%,transparent);opacity:0;transition:opacity .15s ease}.w-imgcropper-preview:hover .w-imgcropper-actions[data-v-95684d2d],.w-imgcropper-preview:focus-within .w-imgcropper-actions[data-v-95684d2d]{opacity:1}.w-imgcropper-empty[data-v-95684d2d]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:none;background:transparent;color:var(--p-text-muted-color, #64748b);font-size:.85rem}.w-imgcropper-empty i[data-v-95684d2d]{font-size:1.5rem}.w-imgcropper-file[data-v-95684d2d]{display:none}.w-imgcropper-stage[data-v-95684d2d]{display:flex;flex-direction:column;gap:16px;align-items:center}.w-imgcropper-viewport[data-v-95684d2d]{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#1e1e1e;border-radius:4px}.w-imgcropper-viewport[data-v-95684d2d]:active{cursor:grabbing}.w-imgcropper-viewport.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-cropimg[data-v-95684d2d]{position:absolute;top:0;left:0;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.w-imgcropper-stencil[data-v-95684d2d]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb,#fff 60%,transparent) inset}.w-imgcropper-stencil.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-zoom[data-v-95684d2d]{display:flex;align-items:center;gap:10px;width:100%;color:var(--p-text-muted-color, #64748b)}.w-imgcropper-slider[data-v-95684d2d]{flex:1}.w-crud-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.w-crud-header-content{min-width:0}.w-crud-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--p-text-color);line-height:1.3}.w-crud-subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-crud-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-crud-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.25rem}.w-crud-kpi{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background)}.w-crud-kpi-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color);flex-shrink:0;font-size:1.125rem}.w-crud-kpi-icon--primary{background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color)}.w-crud-kpi-icon--success{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-crud-kpi-icon--warning{background:color-mix(in srgb,var(--p-yellow-500, #eab308) 10%,transparent);color:var(--p-yellow-500, #eab308)}.w-crud-kpi-icon--danger{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-crud-kpi-icon--info{background:color-mix(in srgb,var(--p-blue-500, #3b82f6) 10%,transparent);color:var(--p-blue-500, #3b82f6)}.w-crud-kpi-content{min-width:0}.w-crud-kpi-label{font-size:.6875rem;font-weight:500;color:var(--p-text-muted-color);text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:.25rem}.w-crud-kpi-value{font-size:1.25rem;font-weight:700;color:var(--p-text-color);letter-spacing:-.02em;line-height:1}.w-crud-table{border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background);overflow:hidden}.w-crud-table .p-datatable{font-size:.8125rem}.w-crud-table .p-datatable-header{background:transparent;border-bottom:1px solid var(--p-content-border-color);padding:.75rem 1rem}.w-crud-table .p-datatable-thead>tr>th{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--p-text-muted-color);background:var(--p-content-background)}.w-crud-table .p-datatable-tbody>tr>td{padding-top:.625rem;padding-bottom:.625rem}.w-crud-table .p-datatable-paginator-bottom{border-top:1px solid var(--p-content-border-color)}.w-crud-paginator .p-paginator-content{justify-content:flex-end}.w-crud-paginator .p-paginator-current{font-size:.75rem;color:var(--p-text-muted-color);margin-right:auto!important}.w-crud-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0}.w-crud-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto}.w-crud-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.w-crud-actions-header .p-datatable-column-header-content{justify-content:center}.w-crud-actions{display:flex;align-items:center;justify-content:center;gap:.125rem}.w-crud-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem}.w-crud-empty-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1rem;margin-bottom:1rem;background:var(--p-content-hover-background);color:var(--p-text-muted-color);font-size:1.5rem}.w-crud-empty-title{font-size:.875rem;font-weight:600;color:var(--p-text-color)}.w-crud-empty-text{font-size:.75rem;color:var(--p-text-muted-color);margin-top:.25rem}.p-datatable-header-cell.text-right .p-datatable-column-header-content{justify-content:flex-end}.p-datatable-header-cell.text-center .p-datatable-column-header-content{justify-content:center}.p-dialog.w-crud-form-dialog>.p-dialog-header{padding-bottom:.5rem}.p-dialog.w-crud-form-dialog>.p-dialog-content{padding-bottom:.75rem}.w-crud-form{display:flex;flex-direction:column;gap:1.5rem}.w-crud-form-group-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--p-surface-200)}.dark .w-crud-form-group-header{border-bottom-color:var(--p-surface-700)}.w-crud-form-group-title{font-size:.875rem;font-weight:600;color:var(--p-text-color);margin:0}.w-crud-form-group-desc{font-size:.75rem;color:var(--p-text-muted-color);margin:.25rem 0 0}.w-crud-form-cep-error{display:block;font-size:.75rem;color:var(--p-red-500);margin-top:.25rem}.w-crud-form-cep-spinner{margin-left:.375rem;font-size:.75rem;color:var(--p-text-muted-color)}.w-crud-form-fields{display:grid;grid-template-columns:repeat(var(--w-form-cols, 2),1fr);gap:1rem 1rem}.w-crud-form-col-full{grid-column:span var(--w-col-span, 2)}.w-crud-form-col-half{grid-column:span var(--w-col-span, 1)}@media(max-width:640px){.w-crud-form-fields{grid-template-columns:1fr}.w-crud-form-col-full,.w-crud-form-col-half,.w-crud-form-switch{grid-column:1 / -1}}.w-crud-form-field{display:flex;flex-direction:column}.w-crud-form-required{color:var(--p-red-400, #f87171);margin-left:.125rem}.w-crud-form-label{display:block;font-weight:500;margin-bottom:.375rem;color:var(--p-text-color);font-size:.75rem}.w-crud-form-color-row{display:flex;align-items:center;gap:.5rem}.w-crud-form-switch{grid-column:span var(--w-col-span, 2);display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--p-content-hover-background)}.w-crud-form-switch-label{font-size:.875rem;font-weight:500;color:var(--p-text-color);-webkit-user-select:none;user-select:none}.w-crud-form-error{display:block;font-size:.75rem;color:var(--p-red-400, #f87171);margin-top:.25rem}.w-crud-form-footer{display:flex;justify-content:space-between;gap:.5rem;padding-top:1rem;padding-bottom:.5rem;border-top:1px solid var(--p-content-border-color);margin-top:.25rem}.w-autocompletefk{position:relative;display:flex;align-items:stretch;width:100%}.w-autocompletefk .p-autocomplete{flex:1}.w-autocompletefk .p-autocomplete-input{padding-right:2.5rem}.w-autocompletefk-trigger{position:absolute;right:0;top:0;bottom:0;width:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--p-text-muted-color);cursor:pointer;border:none;background:transparent;transition:color .15s;font-size:.875rem}.w-autocompletefk-trigger:hover{color:var(--p-primary-color)}.w-autocompletefk-trigger:disabled{opacity:.4;cursor:default}.w-autocompletefk-trigger i{font-size:.875rem}.w-autocompletefk-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.w-autocompletefk-toolbar-search{flex:1}.w-autocompletefk-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-autocompletefk-empty{text-align:center;padding:1.5rem;color:var(--p-text-muted-color);font-size:.875rem}.w-autocompletefk-footer{display:flex;justify-content:flex-end;gap:.5rem}.w-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.w-page-header-content{min-width:0}.w-page-header-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--p-text-color);line-height:1.3}.w-page-header-subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-page-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-detail-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.w-detail-header-icon{font-size:1.25rem;color:var(--p-primary-color)}.w-detail-header-content{min-width:0}.w-detail-header-title{font-size:1.125rem;font-weight:600;color:var(--p-text-color);line-height:1.3}.w-detail-header-subtitle{font-size:.75rem;color:var(--p-text-muted-color);margin-top:.125rem}.w-detail-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.w-empty-state-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1rem;margin-bottom:1rem;background:var(--p-content-hover-background);color:var(--p-text-muted-color);font-size:1.5rem}.w-empty-state-title{font-size:.9375rem;font-weight:600;color:var(--p-text-color)}.w-empty-state-description{font-size:.8125rem;color:var(--p-text-muted-color);margin-top:.25rem;max-width:24rem}.w-info-card{padding:1.25rem;border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background);margin-bottom:1rem}.w-info-card-title{font-size:.9375rem;font-weight:600;color:var(--p-text-color);margin-bottom:.75rem}.w-info-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem}.w-info-card-field{display:flex;flex-direction:column;gap:.125rem}.w-info-card-label{font-size:.6875rem;font-weight:500;color:var(--p-text-muted-color);text-transform:uppercase;letter-spacing:.05em}.w-info-card-value{font-size:.875rem;font-weight:500;color:var(--p-text-color)}.w-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-section-header--compact{margin-bottom:.75rem}.w-section-header__main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.w-section-header__icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:.75rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color)}.w-section-header__content{min-width:0}.w-section-header__title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.w-section-header__title{font-size:1rem;font-weight:600;color:var(--p-text-color);line-height:1.3}.w-section-header__subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-section-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-form-section{border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background);padding:1rem}.w-form-section--muted{background:color-mix(in srgb,var(--p-content-background) 88%,var(--p-primary-color) 2%)}.w-form-section--outlined{background:transparent}.w-form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-form-section__content{min-width:0}.w-form-section__title{font-size:.9375rem;font-weight:600;color:var(--p-text-color)}.w-form-section__description{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-form-section__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-form-section__body{display:flex;flex-direction:column;gap:1rem}.w-action-bar{display:flex;align-items:center;gap:.75rem}.w-action-bar--between{justify-content:space-between}.w-action-bar--start{justify-content:flex-start}.w-action-bar--end{justify-content:flex-end}.w-action-bar__primary,.w-action-bar__secondary,.w-action-bar__filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.w-action-bar__primary{min-width:0}.w-action-bar__secondary{justify-content:flex-end}.w-kpi-grid{display:grid;gap:.75rem}.w-kpi-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w-kpi-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w-kpi-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w-kpi-grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.w-kpi-grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.w-kpi-grid--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.w-kpi-grid--dense{gap:.5rem}.w-kpi-card{display:flex;flex-direction:column;gap:.875rem;min-height:100%;padding:1rem 1.125rem;border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background)}.w-kpi-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.w-kpi-card__icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.875rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color);font-size:1.125rem}.w-kpi-card__content{display:flex;flex-direction:column;gap:.25rem}.w-kpi-card__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color);font-weight:600}.w-kpi-card__value{font-size:1.5rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--p-text-color)}.w-kpi-card__hint{font-size:.8125rem;color:var(--p-text-muted-color)}.w-kpi-card__footer{margin-top:auto}.w-kpi-card__trend{display:flex;justify-content:flex-end}.w-kpi-card__trend-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--p-content-hover-background);color:var(--p-text-muted-color)}.w-kpi-card__trend-badge--up{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-kpi-card__trend-badge--down{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-kpi-card__loading{display:flex;align-items:center;gap:.875rem}.w-kpi-card__loading-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.w-kpi-card--success .w-kpi-card__icon{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-kpi-card--warning .w-kpi-card__icon{background:color-mix(in srgb,var(--p-yellow-500, #eab308) 10%,transparent);color:var(--p-yellow-500, #eab308)}.w-kpi-card--danger .w-kpi-card__icon{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-kpi-card--info .w-kpi-card__icon{background:color-mix(in srgb,var(--p-blue-500, #3b82f6) 10%,transparent);color:var(--p-blue-500, #3b82f6)}.w-kpi-card--neutral .w-kpi-card__icon{background:var(--p-content-hover-background);color:var(--p-text-muted-color)}.w-progress-flow{display:flex;gap:.75rem}.w-progress-flow--horizontal{align-items:stretch;flex-wrap:wrap}.w-progress-flow--vertical{flex-direction:column}.w-progress-flow__step{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.w-progress-flow--horizontal .w-progress-flow__step{flex:1 1 0;min-width:12rem;padding:.875rem 1rem;border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background)}.w-progress-flow__marker{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;border:1px solid var(--p-content-border-color);color:var(--p-text-muted-color);background:transparent;font-size:.8125rem;font-weight:700}.w-progress-flow__content{min-width:0}.w-progress-flow__label{font-size:.875rem;font-weight:600;color:var(--p-text-color)}.w-progress-flow__description{margin-top:.125rem;font-size:.75rem;color:var(--p-text-muted-color)}.w-progress-flow__step--current .w-progress-flow__marker{border-color:var(--p-primary-color);background:color-mix(in srgb,var(--p-primary-color) 12%,transparent);color:var(--p-primary-color)}.w-progress-flow__step--done .w-progress-flow__marker{border-color:var(--p-green-500, #22c55e);background:color-mix(in srgb,var(--p-green-500, #22c55e) 12%,transparent);color:var(--p-green-500, #22c55e)}.w-crud-view-toggle{display:inline-flex;align-items:center;gap:.125rem}.w-crud-toolbar--standalone{border:1px solid var(--p-content-border-color);background:var(--p-content-background);border-radius:.75rem;padding:.625rem .75rem;margin-bottom:.75rem}.w-crud-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;align-items:start}.w-crud-cards--bare{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.w-crud-card-bare{min-width:0}.w-crud-card{display:flex;flex-direction:column;gap:.625rem;padding:1.25rem;border:1px solid var(--p-content-border-color);border-radius:.75rem;background:var(--p-content-background);cursor:default;transition:border-color .15s,box-shadow .15s}.w-crud-card:hover{border-color:color-mix(in srgb,var(--p-primary-color) 40%,var(--p-content-border-color))}.w-crud-card-body{display:flex;flex-direction:column;gap:.375rem;min-width:0}.w-crud-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.8125rem;min-width:0}.w-crud-card-row--title{font-size:.9375rem;font-weight:600;color:var(--p-text-color);margin-bottom:.125rem}.w-crud-card-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color);flex-shrink:0}.w-crud-card-value{min-width:0;text-align:right;color:var(--p-text-color)}.w-crud-card-row--title .w-crud-card-value{text-align:left}.w-crud-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.125rem;margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--p-content-border-color)}.w-crud-cards-loading{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--p-text-muted-color);font-size:1.5rem}.w-crud-cards-wrap .w-crud-paginator{margin-top:.75rem}.w-crud-card--selected{border-color:var(--p-primary-color);box-shadow:0 0 0 1px var(--p-primary-color)}.w-crud-content--rail{display:flex;align-items:flex-start;gap:.75rem}.w-crud-content-main{min-width:0}.w-crud-content--rail .w-crud-content-main{flex:1}.w-crud-rail{position:sticky;top:1rem;display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0;width:52px;padding:.5rem 0;border:1px solid var(--p-content-border-color);border-radius:15px;background:var(--p-content-background);box-shadow:var(--p-overlay-popover-shadow, 0 6px 20px rgba(15, 23, 42, .09))}.w-crud-rail-sep{width:60%;height:1px;background:var(--p-content-border-color);margin:.125rem 0}.w-crud-ctx-danger .p-contextmenu-item-link,.w-crud-ctx-danger .p-contextmenu-item-link .p-contextmenu-item-icon{color:var(--p-red-500, #ef4444)}.w-money-input__field{text-align:right}.w-transfer{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch}.w-transfer--disabled{opacity:.6;pointer-events:none}.w-transfer__pane{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--p-content-border-color);border-radius:.75rem;background:var(--p-content-background);padding:.625rem;min-width:0}.w-transfer__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.w-transfer__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color)}.w-transfer__count{font-size:.6875rem;font-weight:600;color:var(--p-text-muted-color);background:var(--p-content-hover-background);border-radius:999px;padding:.0625rem .5rem}.w-transfer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem;max-height:14rem;overflow-y:auto}.w-transfer__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.375rem .5rem;border-radius:.5rem;font-size:.8125rem;color:var(--p-text-color);cursor:pointer;transition:background-color .12s}.w-transfer__item:hover{background:var(--p-content-hover-background)}.w-transfer__item i{color:var(--p-text-muted-color);font-size:.75rem}.w-transfer__empty{padding:.75rem .5rem;text-align:center;font-size:.75rem;color:var(--p-text-muted-color)}.w-transfer__controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem}@media(max-width:768px){.w-section-header,.w-form-section__header,.w-action-bar--stack{flex-direction:column;align-items:stretch}.w-action-bar__primary,.w-action-bar__secondary,.w-action-bar__filters{justify-content:flex-start}.w-kpi-grid--cols-2,.w-kpi-grid--cols-3,.w-kpi-grid--cols-4,.w-transfer{grid-template-columns:1fr}.w-transfer__controls{flex-direction:row}}.w-datepicker,.w-datepicker .p-iconfield{width:100%}.w-datepicker-icon{cursor:pointer;color:var(--p-text-muted-color);transition:color .15s}.w-datepicker-icon:hover{color:var(--p-primary-color)}.w-datepicker-icon-disabled{opacity:.4;cursor:default;pointer-events:none}.w-datepicker-panel{display:flex;flex-direction:column;gap:.5rem}.w-datepicker-actions{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--p-content-border-color);padding-top:.5rem}
1
+ .w-imgcropper-preview[data-v-95684d2d]{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--p-content-border-color, #e2e8f0);background:var(--p-content-background, #f8fafc)}.w-imgcropper-preview.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-img[data-v-95684d2d]{width:100%;height:100%;object-fit:cover;display:block}.w-imgcropper-actions[data-v-95684d2d]{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:4px;padding:4px;background:color-mix(in srgb,#000 45%,transparent);opacity:0;transition:opacity .15s ease}.w-imgcropper-preview:hover .w-imgcropper-actions[data-v-95684d2d],.w-imgcropper-preview:focus-within .w-imgcropper-actions[data-v-95684d2d]{opacity:1}.w-imgcropper-empty[data-v-95684d2d]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:none;background:transparent;color:var(--p-text-muted-color, #64748b);font-size:.85rem}.w-imgcropper-empty i[data-v-95684d2d]{font-size:1.5rem}.w-imgcropper-file[data-v-95684d2d]{display:none}.w-imgcropper-stage[data-v-95684d2d]{display:flex;flex-direction:column;gap:16px;align-items:center}.w-imgcropper-viewport[data-v-95684d2d]{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#1e1e1e;border-radius:4px}.w-imgcropper-viewport[data-v-95684d2d]:active{cursor:grabbing}.w-imgcropper-viewport.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-cropimg[data-v-95684d2d]{position:absolute;top:0;left:0;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.w-imgcropper-stencil[data-v-95684d2d]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb,#fff 60%,transparent) inset}.w-imgcropper-stencil.is-circular[data-v-95684d2d]{border-radius:50%}.w-imgcropper-zoom[data-v-95684d2d]{display:flex;align-items:center;gap:10px;width:100%;color:var(--p-text-muted-color, #64748b)}.w-imgcropper-slider[data-v-95684d2d]{flex:1}.w-crud-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.w-crud-header-content{min-width:0}.w-crud-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--p-text-color);line-height:1.3}.w-crud-subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-crud-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-crud-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:1.25rem}.w-crud-kpi{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background)}.w-crud-kpi-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color);flex-shrink:0;font-size:1.125rem}.w-crud-kpi-icon--primary{background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color)}.w-crud-kpi-icon--success{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-crud-kpi-icon--warning{background:color-mix(in srgb,var(--p-yellow-500, #eab308) 10%,transparent);color:var(--p-yellow-500, #eab308)}.w-crud-kpi-icon--danger{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-crud-kpi-icon--info{background:color-mix(in srgb,var(--p-blue-500, #3b82f6) 10%,transparent);color:var(--p-blue-500, #3b82f6)}.w-crud-kpi-content{min-width:0}.w-crud-kpi-label{font-size:.6875rem;font-weight:500;color:var(--p-text-muted-color);text-transform:uppercase;letter-spacing:.05em;line-height:1;margin-bottom:.25rem}.w-crud-kpi-value{font-size:1.25rem;font-weight:700;color:var(--p-text-color);letter-spacing:-.02em;line-height:1}.w-crud-table{border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background);overflow:hidden}.w-crud-table .p-datatable{font-size:.8125rem}.w-crud-table .p-datatable-header{background:transparent;border-bottom:1px solid var(--p-content-border-color);padding:.75rem 1rem}.w-crud-table .p-datatable-thead>tr>th{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--p-text-muted-color);background:var(--p-content-background)}.w-crud-table .p-datatable-tbody>tr>td{padding-top:.625rem;padding-bottom:.625rem}.w-crud-table .p-datatable-paginator-bottom{border-top:1px solid var(--p-content-border-color)}.w-crud-paginator .p-paginator-content{justify-content:flex-end}.w-crud-paginator .p-paginator-current{font-size:.75rem;color:var(--p-text-muted-color);margin-right:auto!important}.w-crud-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0}.w-crud-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto}.w-crud-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.w-crud-actions-header .p-datatable-column-header-content{justify-content:center}.w-crud-actions{display:flex;align-items:center;justify-content:center;gap:.125rem}.w-crud-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem}.w-crud-empty-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1rem;margin-bottom:1rem;background:var(--p-content-hover-background);color:var(--p-text-muted-color);font-size:1.5rem}.w-crud-empty-title{font-size:.875rem;font-weight:600;color:var(--p-text-color)}.w-crud-empty-text{font-size:.75rem;color:var(--p-text-muted-color);margin-top:.25rem}.p-datatable-header-cell.text-right .p-datatable-column-header-content{justify-content:flex-end}.p-datatable-header-cell.text-center .p-datatable-column-header-content{justify-content:center}.p-dialog.w-crud-form-dialog>.p-dialog-header{padding-bottom:.5rem}.p-dialog.w-crud-form-dialog>.p-dialog-content{padding-bottom:.75rem}.w-crud-form{display:flex;flex-direction:column;gap:1.5rem}.w-crud-form-group-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--p-surface-200)}.dark .w-crud-form-group-header{border-bottom-color:var(--p-surface-700)}.w-crud-form-group-title{font-size:.875rem;font-weight:600;color:var(--p-text-color);margin:0}.w-crud-form-group-desc{font-size:.75rem;color:var(--p-text-muted-color);margin:.25rem 0 0}.w-crud-form-cep-error{display:block;font-size:.75rem;color:var(--p-red-500);margin-top:.25rem}.w-crud-form-cep-spinner{margin-left:.375rem;font-size:.75rem;color:var(--p-text-muted-color)}.w-crud-form-fields{display:grid;grid-template-columns:repeat(var(--w-form-cols, 2),1fr);gap:1rem 1rem}.w-crud-form-col-full{grid-column:span var(--w-col-span, 2)}.w-crud-form-col-half{grid-column:span var(--w-col-span, 1)}@media(max-width:640px){.w-crud-form-fields{grid-template-columns:1fr}.w-crud-form-col-full,.w-crud-form-col-half,.w-crud-form-switch{grid-column:1 / -1}}.w-crud-form-field{display:flex;flex-direction:column}.w-crud-form-required{color:var(--p-red-400, #f87171);margin-left:.125rem}.w-crud-form-label{display:block;font-weight:500;margin-bottom:.375rem;color:var(--p-text-color);font-size:.75rem}.w-crud-form-color-row{display:flex;align-items:center;gap:.5rem}.w-crud-form-switch{grid-column:span var(--w-col-span, 2);display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--p-content-hover-background)}.w-crud-form-switch-label{font-size:.875rem;font-weight:500;color:var(--p-text-color);-webkit-user-select:none;user-select:none}.w-crud-form-error{display:block;font-size:.75rem;color:var(--p-red-400, #f87171);margin-top:.25rem}.w-crud-form-footer{display:flex;justify-content:space-between;gap:.5rem;padding-top:1rem;padding-bottom:.5rem;border-top:1px solid var(--p-content-border-color);margin-top:.25rem}.w-autocompletefk{position:relative;display:flex;align-items:stretch;width:100%}.w-autocompletefk .p-autocomplete{flex:1;min-width:0}.w-autocompletefk .p-autocomplete-input{padding-right:2.5rem}.w-autocompletefk .p-autocomplete-input-multiple{padding-right:2.5rem;min-width:0;max-height:7rem;overflow-y:auto}.w-autocompletefk .p-autocomplete-chip-item{max-width:var(--w-fk-chip-max, 100%);min-width:min(100%,6rem)}.w-autocompletefk .p-autocomplete-chip{max-width:100%;min-width:0}.w-autocompletefk .p-autocomplete-chip .p-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-autocompletefk .p-autocomplete-input-chip{flex:1 1 2rem;min-width:2rem}.w-autocompletefk .w-autocompletefk-chip{cursor:pointer}.w-autocompletefk .p-autocomplete-chip-item:has(>.w-autocompletefk-chip-hidden){display:none}.w-autocompletefk .w-autocompletefk-chip-more{font-variant-numeric:tabular-nums}.w-autocompletefk .p-autocomplete-chip-item:has(>.w-autocompletefk-chip-more){min-width:0;flex:0 0 auto}.w-autocompletefk-clear{position:absolute;right:2.25rem;top:0;bottom:0;width:1.75rem;display:flex;align-items:center;justify-content:center;color:var(--p-text-muted-color);cursor:pointer;border:none;background:transparent;transition:color .15s;font-size:.75rem}.w-autocompletefk-clear:hover{color:var(--p-primary-color)}.w-autocompletefk-clear i{font-size:.75rem}.w-autocompletefk-has-clear .p-autocomplete-input,.w-autocompletefk-has-clear .p-autocomplete-input-multiple{padding-right:4.25rem}.w-autocompletefk-trigger{position:absolute;right:0;top:0;bottom:0;width:2.5rem;display:flex;align-items:center;justify-content:center;color:var(--p-text-muted-color);cursor:pointer;border:none;background:transparent;transition:color .15s;font-size:.875rem}.w-autocompletefk-trigger:hover{color:var(--p-primary-color)}.w-autocompletefk-trigger:disabled{opacity:.4;cursor:default}.w-autocompletefk-trigger i{font-size:.875rem}.w-autocompletefk-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.w-autocompletefk-toolbar-search{flex:1}.w-autocompletefk-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-autocompletefk-empty{text-align:center;padding:1.5rem;color:var(--p-text-muted-color);font-size:.875rem}.w-autocompletefk-footer{display:flex;justify-content:flex-end;gap:.5rem}.w-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.w-page-header-content{min-width:0}.w-page-header-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;color:var(--p-text-color);line-height:1.3}.w-page-header-subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-page-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-detail-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.w-detail-header-icon{font-size:1.25rem;color:var(--p-primary-color)}.w-detail-header-content{min-width:0}.w-detail-header-title{font-size:1.125rem;font-weight:600;color:var(--p-text-color);line-height:1.3}.w-detail-header-subtitle{font-size:.75rem;color:var(--p-text-muted-color);margin-top:.125rem}.w-detail-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.w-empty-state-icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1rem;margin-bottom:1rem;background:var(--p-content-hover-background);color:var(--p-text-muted-color);font-size:1.5rem}.w-empty-state-title{font-size:.9375rem;font-weight:600;color:var(--p-text-color)}.w-empty-state-description{font-size:.8125rem;color:var(--p-text-muted-color);margin-top:.25rem;max-width:24rem}.w-info-card{padding:1.25rem;border-radius:.75rem;border:1px solid var(--p-content-border-color);background:var(--p-content-background);margin-bottom:1rem}.w-info-card-title{font-size:.9375rem;font-weight:600;color:var(--p-text-color);margin-bottom:.75rem}.w-info-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1.5rem}.w-info-card-field{display:flex;flex-direction:column;gap:.125rem}.w-info-card-label{font-size:.6875rem;font-weight:500;color:var(--p-text-muted-color);text-transform:uppercase;letter-spacing:.05em}.w-info-card-value{font-size:.875rem;font-weight:500;color:var(--p-text-color)}.w-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-section-header--compact{margin-bottom:.75rem}.w-section-header__main{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.w-section-header__icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:.75rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color)}.w-section-header__content{min-width:0}.w-section-header__title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.w-section-header__title{font-size:1rem;font-weight:600;color:var(--p-text-color);line-height:1.3}.w-section-header__subtitle{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-section-header__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-form-section{border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background);padding:1rem}.w-form-section--muted{background:color-mix(in srgb,var(--p-content-background) 88%,var(--p-primary-color) 2%)}.w-form-section--outlined{background:transparent}.w-form-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.w-form-section__content{min-width:0}.w-form-section__title{font-size:.9375rem;font-weight:600;color:var(--p-text-color)}.w-form-section__description{margin-top:.125rem;font-size:.8125rem;color:var(--p-text-muted-color)}.w-form-section__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.w-form-section__body{display:flex;flex-direction:column;gap:1rem}.w-action-bar{display:flex;align-items:center;gap:.75rem}.w-action-bar--between{justify-content:space-between}.w-action-bar--start{justify-content:flex-start}.w-action-bar--end{justify-content:flex-end}.w-action-bar__primary,.w-action-bar__secondary,.w-action-bar__filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.w-action-bar__primary{min-width:0}.w-action-bar__secondary{justify-content:flex-end}.w-kpi-grid{display:grid;gap:.75rem}.w-kpi-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.w-kpi-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.w-kpi-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.w-kpi-grid--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.w-kpi-grid--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.w-kpi-grid--auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.w-kpi-grid--dense{gap:.5rem}.w-kpi-card{display:flex;flex-direction:column;gap:.875rem;min-height:100%;padding:1rem 1.125rem;border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background)}.w-kpi-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.w-kpi-card__icon{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:.875rem;background:color-mix(in srgb,var(--p-primary-color) 10%,transparent);color:var(--p-primary-color);font-size:1.125rem}.w-kpi-card__content{display:flex;flex-direction:column;gap:.25rem}.w-kpi-card__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color);font-weight:600}.w-kpi-card__value{font-size:1.5rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--p-text-color)}.w-kpi-card__hint{font-size:.8125rem;color:var(--p-text-muted-color)}.w-kpi-card__footer{margin-top:auto}.w-kpi-card__trend{display:flex;justify-content:flex-end}.w-kpi-card__trend-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--p-content-hover-background);color:var(--p-text-muted-color)}.w-kpi-card__trend-badge--up{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-kpi-card__trend-badge--down{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-kpi-card__loading{display:flex;align-items:center;gap:.875rem}.w-kpi-card__loading-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.w-kpi-card--success .w-kpi-card__icon{background:color-mix(in srgb,var(--p-green-500, #22c55e) 10%,transparent);color:var(--p-green-500, #22c55e)}.w-kpi-card--warning .w-kpi-card__icon{background:color-mix(in srgb,var(--p-yellow-500, #eab308) 10%,transparent);color:var(--p-yellow-500, #eab308)}.w-kpi-card--danger .w-kpi-card__icon{background:color-mix(in srgb,var(--p-red-500, #ef4444) 10%,transparent);color:var(--p-red-500, #ef4444)}.w-kpi-card--info .w-kpi-card__icon{background:color-mix(in srgb,var(--p-blue-500, #3b82f6) 10%,transparent);color:var(--p-blue-500, #3b82f6)}.w-kpi-card--neutral .w-kpi-card__icon{background:var(--p-content-hover-background);color:var(--p-text-muted-color)}.w-progress-flow{display:flex;gap:.75rem}.w-progress-flow--horizontal{align-items:stretch;flex-wrap:wrap}.w-progress-flow--vertical{flex-direction:column}.w-progress-flow__step{display:flex;align-items:flex-start;gap:.75rem;min-width:0}.w-progress-flow--horizontal .w-progress-flow__step{flex:1 1 0;min-width:12rem;padding:.875rem 1rem;border:1px solid var(--p-content-border-color);border-radius:1rem;background:var(--p-content-background)}.w-progress-flow__marker{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;border:1px solid var(--p-content-border-color);color:var(--p-text-muted-color);background:transparent;font-size:.8125rem;font-weight:700}.w-progress-flow__content{min-width:0}.w-progress-flow__label{font-size:.875rem;font-weight:600;color:var(--p-text-color)}.w-progress-flow__description{margin-top:.125rem;font-size:.75rem;color:var(--p-text-muted-color)}.w-progress-flow__step--current .w-progress-flow__marker{border-color:var(--p-primary-color);background:color-mix(in srgb,var(--p-primary-color) 12%,transparent);color:var(--p-primary-color)}.w-progress-flow__step--done .w-progress-flow__marker{border-color:var(--p-green-500, #22c55e);background:color-mix(in srgb,var(--p-green-500, #22c55e) 12%,transparent);color:var(--p-green-500, #22c55e)}.w-crud-view-toggle{display:inline-flex;align-items:center;gap:.125rem}.w-crud-toolbar--standalone{border:1px solid var(--p-content-border-color);background:var(--p-content-background);border-radius:.75rem;padding:.625rem .75rem;margin-bottom:.75rem}.w-crud-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;align-items:start}.w-crud-cards--bare{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.w-crud-card-bare{min-width:0}.w-crud-card{display:flex;flex-direction:column;gap:.625rem;padding:1.25rem;border:1px solid var(--p-content-border-color);border-radius:.75rem;background:var(--p-content-background);cursor:default;transition:border-color .15s,box-shadow .15s}.w-crud-card:hover{border-color:color-mix(in srgb,var(--p-primary-color) 40%,var(--p-content-border-color))}.w-crud-card-body{display:flex;flex-direction:column;gap:.375rem;min-width:0}.w-crud-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.8125rem;min-width:0}.w-crud-card-row--title{font-size:.9375rem;font-weight:600;color:var(--p-text-color);margin-bottom:.125rem}.w-crud-card-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color);flex-shrink:0}.w-crud-card-value{min-width:0;text-align:right;color:var(--p-text-color)}.w-crud-card-row--title .w-crud-card-value{text-align:left}.w-crud-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:.125rem;margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--p-content-border-color)}.w-crud-cards-loading{display:flex;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--p-text-muted-color);font-size:1.5rem}.w-crud-cards-wrap .w-crud-paginator{margin-top:.75rem}.w-crud-card--selected{border-color:var(--p-primary-color);box-shadow:0 0 0 1px var(--p-primary-color)}.w-crud-content--rail{display:flex;align-items:flex-start;gap:.75rem}.w-crud-content-main{min-width:0}.w-crud-content--rail .w-crud-content-main{flex:1}.w-crud-rail{position:sticky;top:1rem;display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0;width:52px;padding:.5rem 0;border:1px solid var(--p-content-border-color);border-radius:15px;background:var(--p-content-background);box-shadow:var(--p-overlay-popover-shadow, 0 6px 20px rgba(15, 23, 42, .09))}.w-crud-rail-sep{width:60%;height:1px;background:var(--p-content-border-color);margin:.125rem 0}.w-crud-ctx-danger .p-contextmenu-item-link,.w-crud-ctx-danger .p-contextmenu-item-link .p-contextmenu-item-icon{color:var(--p-red-500, #ef4444)}.w-money-input__field{text-align:right}.w-transfer{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch}.w-transfer--disabled{opacity:.6;pointer-events:none}.w-transfer__pane{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--p-content-border-color);border-radius:.75rem;background:var(--p-content-background);padding:.625rem;min-width:0}.w-transfer__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.w-transfer__title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--p-text-muted-color)}.w-transfer__count{font-size:.6875rem;font-weight:600;color:var(--p-text-muted-color);background:var(--p-content-hover-background);border-radius:999px;padding:.0625rem .5rem}.w-transfer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem;max-height:14rem;overflow-y:auto}.w-transfer__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.375rem .5rem;border-radius:.5rem;font-size:.8125rem;color:var(--p-text-color);cursor:pointer;transition:background-color .12s}.w-transfer__item:hover{background:var(--p-content-hover-background)}.w-transfer__item i{color:var(--p-text-muted-color);font-size:.75rem}.w-transfer__empty{padding:.75rem .5rem;text-align:center;font-size:.75rem;color:var(--p-text-muted-color)}.w-transfer__controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem}@media(max-width:768px){.w-section-header,.w-form-section__header,.w-action-bar--stack{flex-direction:column;align-items:stretch}.w-action-bar__primary,.w-action-bar__secondary,.w-action-bar__filters{justify-content:flex-start}.w-kpi-grid--cols-2,.w-kpi-grid--cols-3,.w-kpi-grid--cols-4,.w-transfer{grid-template-columns:1fr}.w-transfer__controls{flex-direction:row}}.w-datepicker,.w-datepicker .p-iconfield{width:100%}.w-datepicker-icon{cursor:pointer;color:var(--p-text-muted-color);transition:color .15s}.w-datepicker-icon:hover{color:var(--p-primary-color)}.w-datepicker-icon-disabled{opacity:.4;cursor:default;pointer-events:none}.w-datepicker-panel{display:flex;flex-direction:column;gap:.5rem}.w-datepicker-actions{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--p-content-border-color);padding-top:.5rem}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wgalleti/primevue-components",
3
- "version": "0.9.5",
3
+ "version": "0.9.6",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -35,6 +35,11 @@ Autocomplete inline + modal de pesquisa (tabela paginada, CRUD embutido opcional
35
35
  - **F2** abre o modal de busca (foco na pesquisa). Enter vazio → grid; Espaço marca; Enter confirma. Enter com texto → pesquisa; próximo Enter → grid.
36
36
  - Cascata (filtra por outro campo): prop `drilldown` no componente standalone; via `FieldDef { type: 'fk' }` o mesmo se declara com **`dependsOn`**.
37
37
  - `canCreate`/`canEdit`/`canDelete` + `crudFields`/`crudColumns` habilitam CRUD dentro do modal.
38
+ - **`multiple`** (0.9.6+): vira chips e o modal ganha marcação múltipla. `v-model` = **lista de objetos**
39
+ (entra id ou objeto; sai objeto → mapeie com `.map((o) => o.id)`). Chips correm lado a lado e truncam;
40
+ `maxChips` resume o excedente num chip `+N` (bom em filtro estreito). `showClear` mostra um `x` de
41
+ limpar tudo ao lado da lupa. É para filtro/tela de comparação standalone — `FieldDef { type: 'fk' }`
42
+ continua single.
38
43
 
39
44
  ## Outros de formulário
40
45