@wgalleti/primevue-components 0.7.1 → 0.8.2

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.
Files changed (59) hide show
  1. package/README.md +17 -0
  2. package/bin/wpvc.mjs +209 -0
  3. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-C9YG4BXB.cjs +12 -0
  4. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-C9YG4BXB.cjs.map +1 -0
  5. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-CoGaRckJ.js +3348 -0
  6. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-CoGaRckJ.js.map +1 -0
  7. package/dist/components/crud/WCrudFormDialog.vue.d.ts +2 -215
  8. package/dist/components/crud/WCrudView.vue.d.ts +16 -8
  9. package/dist/components/form/WAutoCompleteFK.vue.d.ts +1 -1
  10. package/dist/components/form/WDatePicker.vue.d.ts +44 -0
  11. package/dist/components/form/WDateRange.vue.d.ts +23 -0
  12. package/dist/components/form/WFileUpload.vue.d.ts +48 -0
  13. package/dist/components/form/WFormRenderer.vue.d.ts +2 -37
  14. package/dist/components/index.d.ts +3 -0
  15. package/dist/components.cjs +1 -1
  16. package/dist/components.cjs.map +1 -1
  17. package/dist/components.js +124 -20
  18. package/dist/components.js.map +1 -1
  19. package/dist/composables/defineCrudConfig.d.ts +18 -0
  20. package/dist/composables/index.d.ts +4 -0
  21. package/dist/composables/useDateInput.d.ts +29 -0
  22. package/dist/composables/useFormKeyboardNav.d.ts +11 -0
  23. package/dist/composables.cjs +1 -1
  24. package/dist/composables.cjs.map +1 -1
  25. package/dist/composables.js +14 -8
  26. package/dist/composables.js.map +1 -1
  27. package/dist/index.cjs +1 -1
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.ts +3 -2
  30. package/dist/index.js +53 -50
  31. package/dist/primevue-components.css +1 -1
  32. package/dist/types/field.d.ts +5 -0
  33. package/dist/types/manager.d.ts +8 -0
  34. package/dist/useApi-BDjRqSFt.cjs +2 -0
  35. package/dist/useApi-BDjRqSFt.cjs.map +1 -0
  36. package/dist/useApi-CzOJADZw.js +395 -0
  37. package/dist/useApi-CzOJADZw.js.map +1 -0
  38. package/dist/useFormKeyboardNav-D4Irq5RE.js +461 -0
  39. package/dist/useFormKeyboardNav-D4Irq5RE.js.map +1 -0
  40. package/dist/useFormKeyboardNav-D4Ow3k4Y.cjs +3 -0
  41. package/dist/useFormKeyboardNav-D4Ow3k4Y.cjs.map +1 -0
  42. package/package.json +8 -3
  43. package/skill/SKILL.md +67 -0
  44. package/skill/references/components.md +51 -0
  45. package/skill/references/crud.md +83 -0
  46. package/skill/references/migration.md +58 -0
  47. package/skill/references/setup.md +74 -0
  48. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-B70Uk-1x.cjs +0 -12
  49. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-B70Uk-1x.cjs.map +0 -1
  50. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-BVlG1in1.js +0 -3024
  51. package/dist/WProgressFlow.vue_vue_type_script_setup_true_lang-BVlG1in1.js.map +0 -1
  52. package/dist/useApi-B692TOWz.js +0 -383
  53. package/dist/useApi-B692TOWz.js.map +0 -1
  54. package/dist/useApi-BIlKLud-.cjs +0 -2
  55. package/dist/useApi-BIlKLud-.cjs.map +0 -1
  56. package/dist/useApiError-BEbEk2Kq.cjs +0 -3
  57. package/dist/useApiError-BEbEk2Kq.cjs.map +0 -1
  58. package/dist/useApiError-C7rPzGrF.js +0 -375
  59. package/dist/useApiError-C7rPzGrF.js.map +0 -1
package/README.md CHANGED
@@ -25,6 +25,18 @@ Se o projeto usar a camada Axios padrao, instale tambem `axios@^1.0`.
25
25
 
26
26
  ## Setup
27
27
 
28
+ ### Rápido (CLI)
29
+
30
+ Num app consumidor, rode:
31
+
32
+ ```bash
33
+ npx @wgalleti/primevue-components init
34
+ ```
35
+
36
+ O comando checa as peer deps, registra o `WPrimeVuePlugin` e o CSS no `main` (de forma idempotente, complementando só o que falta) e instala a skill do Claude Code em `.claude/skills/wpvc/`. Use `--dry-run` para ver o que faria sem escrever.
37
+
38
+ ### Manual
39
+
28
40
  ```typescript
29
41
  // main.ts
30
42
  import { createApp } from 'vue'
@@ -32,6 +44,7 @@ import PrimeVue from 'primevue/config'
32
44
  import ToastService from 'primevue/toastservice'
33
45
  import ConfirmationService from 'primevue/confirmationservice'
34
46
  import { WPrimeVuePlugin } from '@wgalleti/primevue-components'
47
+ import '@wgalleti/primevue-components/style.css' // estilos dos componentes (uma vez)
35
48
  import api from './plugins/axios' // sua instância axios configurada
36
49
 
37
50
  const app = createApp(App)
@@ -44,10 +57,14 @@ app.use(WPrimeVuePlugin, {
44
57
  axios: api, // compatibilidade: cria um dataProvider Axios automaticamente
45
58
  defaultPageSize: 20, // opcional (default: 20)
46
59
  dateFormat: 'DD/MM/YYYY', // opcional (default: 'DD/MM/YYYY')
60
+ dateTimeFormat: 'DD/MM/YYYY HH:mm', // opcional
47
61
  locale: 'pt-BR', // opcional (default: 'pt-BR')
62
+ currency: 'BRL', // opcional (default: 'BRL')
48
63
  })
49
64
  ```
50
65
 
66
+ > **Ordem importa:** registre o `WPrimeVuePlugin` **depois** de `PrimeVue`, `ToastService` e `ConfirmationService` — os componentes usam Toast/Confirm.
67
+
51
68
  ### Setup com Supabase
52
69
 
53
70
  Projetos sem backend REST podem registrar um `dataProvider` Supabase. Os endpoints usados em `useCrudManager`, `useApi` e `WAutoCompleteFK` continuam sendo strings, mas precisam estar mapeados em `resources`.
package/bin/wpvc.mjs ADDED
@@ -0,0 +1,209 @@
1
+ #!/usr/bin/env node
2
+ // CLI de integração do @wgalleti/primevue-components em apps consumidores.
3
+ // Uso: npx @wgalleti/primevue-components init [--force] [--dry-run]
4
+ // (ou, instalado: wpvc init)
5
+
6
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync, statSync, copyFileSync } from 'node:fs'
7
+ import { join, dirname, relative } from 'node:path'
8
+ import { fileURLToPath } from 'node:url'
9
+
10
+ const PKG_ROOT = dirname(dirname(fileURLToPath(import.meta.url)))
11
+ const CWD = process.cwd()
12
+ const args = process.argv.slice(2)
13
+ const cmd = args[0]
14
+ const FORCE = args.includes('--force')
15
+ const DRY = args.includes('--dry-run')
16
+
17
+ const c = {
18
+ dim: (s) => `\x1b[2m${s}\x1b[0m`,
19
+ green: (s) => `\x1b[32m${s}\x1b[0m`,
20
+ yellow: (s) => `\x1b[33m${s}\x1b[0m`,
21
+ red: (s) => `\x1b[31m${s}\x1b[0m`,
22
+ bold: (s) => `\x1b[1m${s}\x1b[0m`,
23
+ }
24
+ const log = (s = '') => console.log(s)
25
+ const ok = (s) => log(` ${c.green('✓')} ${s}`)
26
+ const skip = (s) => log(` ${c.dim('•')} ${c.dim(s)}`)
27
+ const warn = (s) => log(` ${c.yellow('!')} ${s}`)
28
+ const write = (file, content) => {
29
+ if (DRY) return log(` ${c.dim('[dry-run] escreveria')} ${relative(CWD, file)}`)
30
+ mkdirSync(dirname(file), { recursive: true })
31
+ writeFileSync(file, content)
32
+ }
33
+
34
+ function copyDir(src, dest) {
35
+ let copied = 0
36
+ for (const entry of readdirSync(src)) {
37
+ const s = join(src, entry)
38
+ const d = join(dest, entry)
39
+ if (statSync(s).isDirectory()) {
40
+ copied += copyDir(s, d)
41
+ } else {
42
+ if (existsSync(d) && !FORCE) continue
43
+ if (!DRY) {
44
+ mkdirSync(dirname(d), { recursive: true })
45
+ copyFileSync(s, d)
46
+ }
47
+ copied++
48
+ }
49
+ }
50
+ return copied
51
+ }
52
+
53
+ function readJSON(file) {
54
+ try {
55
+ return JSON.parse(readFileSync(file, 'utf8'))
56
+ } catch {
57
+ return null
58
+ }
59
+ }
60
+
61
+ // --- passos -----------------------------------------------------------------
62
+
63
+ function stepSkill() {
64
+ log(c.bold('\n• Skill (.claude/skills/wpvc)'))
65
+ const src = join(PKG_ROOT, 'skill')
66
+ if (!existsSync(src)) return warn('pasta skill/ não encontrada no pacote — pulei.')
67
+ const dest = join(CWD, '.claude', 'skills', 'wpvc')
68
+ const existed = existsSync(join(dest, 'SKILL.md'))
69
+ const n = DRY ? '?' : copyDir(src, dest)
70
+ if (existed && !FORCE) skip('skill já existe (use --force para sobrescrever)')
71
+ else ok(`skill copiada (${n} arquivo(s)) → .claude/skills/wpvc/`)
72
+ }
73
+
74
+ function stepPeers() {
75
+ log(c.bold('\n• Dependências (peers)'))
76
+ const pkg = readJSON(join(CWD, 'package.json'))
77
+ if (!pkg) return warn('package.json não encontrado no diretório atual.')
78
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies }
79
+ const peers = ['vue', 'primevue', 'axios', 'dayjs']
80
+ const missing = peers.filter((p) => !deps[p])
81
+ if (!deps['@wgalleti/primevue-components']) warn('@wgalleti/primevue-components não está nas deps deste projeto.')
82
+ if (missing.length) warn(`peers ausentes: ${missing.join(', ')} — instale antes de usar.`)
83
+ else ok('peers presentes (vue, primevue, axios, dayjs)')
84
+ }
85
+
86
+ function findMain() {
87
+ for (const p of ['src/main.ts', 'src/main.mts', 'src/main.js', 'src/main.mjs']) {
88
+ const full = join(CWD, p)
89
+ if (existsSync(full)) return full
90
+ }
91
+ return null
92
+ }
93
+
94
+ function insertAfterLastImport(src, line) {
95
+ const lines = src.split('\n')
96
+ let last = -1
97
+ for (let i = 0; i < lines.length; i++) if (/^\s*import\s/.test(lines[i])) last = i
98
+ if (last === -1) return `${line}\n${src}`
99
+ lines.splice(last + 1, 0, line)
100
+ return lines.join('\n')
101
+ }
102
+
103
+ function stepMain() {
104
+ log(c.bold('\n• main (plugin + CSS)'))
105
+ const main = findMain()
106
+ if (!main) return warn('src/main.{ts,js} não encontrado — configure manualmente (veja references/setup.md).')
107
+ const rel = relative(CWD, main)
108
+ let src = readFileSync(main, 'utf8')
109
+ const original = src
110
+
111
+ // CSS (baixo risco)
112
+ if (src.includes('primevue-components/style.css')) skip('import do CSS já presente')
113
+ else {
114
+ src = insertAfterLastImport(src, "import '@wgalleti/primevue-components/style.css'")
115
+ ok('import do CSS adicionado')
116
+ }
117
+
118
+ // Plugin
119
+ if (src.includes('WPrimeVuePlugin')) {
120
+ skip('WPrimeVuePlugin já registrado')
121
+ } else {
122
+ const hasAppConst = /\b(?:const|let)\s+app\s*=\s*createApp\s*\(/.test(src)
123
+ const mountRe = /^([ \t]*)app\s*\.mount\s*\(/m
124
+ const mountMatch = src.match(mountRe)
125
+ if (hasAppConst && mountMatch) {
126
+ src = insertAfterLastImport(src, "import { WPrimeVuePlugin } from '@wgalleti/primevue-components'")
127
+ if (!/from ['"]\.\/plugins\/axios['"]/.test(src) && !/\bimport\s+api\b/.test(src)) {
128
+ src = insertAfterLastImport(src, "import api from './plugins/axios' // ajuste para sua instância axios")
129
+ }
130
+ const indent = mountMatch[1] ?? ''
131
+ const blockLines = [
132
+ '',
133
+ `${indent}app.use(WPrimeVuePlugin, {`,
134
+ `${indent} axios: api,`,
135
+ `${indent} locale: 'pt-BR',`,
136
+ `${indent}})`,
137
+ ]
138
+ const lines = src.split('\n')
139
+ const idx = lines.findIndex((l) => mountRe.test(l))
140
+ lines.splice(idx, 0, ...blockLines)
141
+ src = lines.join('\n')
142
+ ok("WPrimeVuePlugin registrado (revise 'axios: api')")
143
+ if (!src.includes('ToastService')) warn('ToastService/ConfirmationService não detectados — os componentes precisam deles.')
144
+ } else {
145
+ warn('não consegui inserir o plugin com segurança (padrão de main incomum).')
146
+ warn('adicione manualmente — veja .claude/skills/wpvc/references/setup.md')
147
+ }
148
+ }
149
+
150
+ // Normaliza excesso de linhas em branco geradas pelas inserções.
151
+ src = src.replace(/\n{3,}/g, '\n\n')
152
+
153
+ if (src !== original) {
154
+ if (!DRY) {
155
+ writeFileSync(`${main}.bak`, original)
156
+ writeFileSync(main, src)
157
+ }
158
+ ok(`${rel} atualizado ${c.dim(`(backup: ${rel}.bak)`)}`)
159
+ } else {
160
+ skip(`${rel} já configurado — nada a complementar`)
161
+ }
162
+ }
163
+
164
+ function runInit() {
165
+ log(c.bold('wpvc init') + c.dim(` — ${relative(dirname(CWD), CWD) || CWD}`))
166
+ if (DRY) warn('modo --dry-run: nada será escrito.')
167
+ if (!existsSync(join(CWD, 'package.json'))) {
168
+ log(c.red('\nErro: rode dentro da raiz de um projeto (package.json não encontrado).'))
169
+ process.exit(1)
170
+ }
171
+ stepPeers()
172
+ stepMain()
173
+ stepSkill()
174
+ log(c.bold('\nPronto.') + ' Próximos passos:')
175
+ log(` 1. Confirme o import da sua instância axios no main.`)
176
+ log(` 2. Abra ${c.bold('.claude/skills/wpvc/SKILL.md')} — o Claude Code já vai usar a skill.`)
177
+ log(` 3. Crie sua 1ª tela: ${c.dim('useCrudManager({ endpoint, columns, form }) + <WCrudView>')}\n`)
178
+ }
179
+
180
+ function runSkillOnly() {
181
+ stepSkill()
182
+ }
183
+
184
+ function usage() {
185
+ log(`
186
+ ${c.bold('@wgalleti/primevue-components')} — CLI de integração
187
+
188
+ ${c.bold('npx @wgalleti/primevue-components init')} [--force] [--dry-run]
189
+ Configura o app: checa peers, registra o plugin + CSS no main,
190
+ e copia a skill para .claude/skills/wpvc/.
191
+
192
+ ${c.bold('... skill')} [--force]
193
+ Só (re)copia a skill.
194
+
195
+ Flags: --force sobrescreve, --dry-run mostra sem escrever.
196
+ `)
197
+ }
198
+
199
+ switch (cmd) {
200
+ case 'init':
201
+ runInit()
202
+ break
203
+ case 'skill':
204
+ runSkillOnly()
205
+ break
206
+ default:
207
+ usage()
208
+ if (cmd) process.exitCode = 1
209
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";const e=require("vue"),Ue=require("primevue/datatable"),pe=require("primevue/column"),F=require("primevue/button"),Z=require("primevue/inputtext"),Ee=require("primevue/inputnumber"),xe=require("primevue/select"),Le=require("primevue/popover"),ut=require("primevue/checkbox"),he=require("primevue/iconfield"),ge=require("primevue/inputicon"),mt=require("primevue/paginator"),pt=require("primevue/contextmenu"),Te=require("primevue/tag"),ue=require("./useFormKeyboardNav-D4Ow3k4Y.cjs"),Fe=require("primevue/dialog"),ft=require("primevue/textarea"),qe=require("primevue/autocomplete"),vt=require("primevue/toggleswitch"),kt=require("primevue/colorpicker"),ht=require("primevue/password"),gt=require("./plugin-D1YvyKXX.cjs"),Oe=require("primevue/datepicker"),yt=require("primevue/inputgroup"),Ie=require("primevue/inputgroupaddon"),bt=require("primevue/slider"),we=require("primevue/skeleton"),wt={key:0,class:"text-muted-color text-xs"},Bt=["src","alt"],Vt={key:3,class:"text-muted-color tabular-nums text-[0.8125rem]"},Ct={key:4,class:"text-muted-color tabular-nums text-[0.8125rem]"},Et={key:5,class:"font-semibold tabular-nums text-[0.8125rem]"},Nt={key:6,class:"font-semibold tabular-nums text-[0.8125rem]"},$t={key:7,class:"text-[0.8125rem]"},Ne=e.defineComponent({__name:"WCrudColumnRenderer",props:{column:{},value:{},rowData:{}},setup(t){const{formatDate:a,formatDateTime:l,formatCurrency:n,formatNumber:r}=ue.useFormatters();return(d,k)=>t.value==null?(e.openBlock(),e.createElementBlock("span",wt,"—")):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,Bt)):t.column.type==="boolean"?(e.openBlock(),e.createBlock(e.unref(Te),{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",Vt,e.toDisplayString(e.unref(a)(t.value)),1)):t.column.type==="datetime"?(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(e.unref(l)(t.value)),1)):t.column.type==="currency"?(e.openBlock(),e.createElementBlock("span",Et,e.toDisplayString(e.unref(n)(t.value)),1)):t.column.type==="number"?(e.openBlock(),e.createElementBlock("span",Nt,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",$t,e.toDisplayString(t.column.format?t.column.format(t.value,t.rowData):t.value),1))}});var St=Object.defineProperty,xt=(t,a,l)=>a in t?St(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l,ye=(t,a,l)=>xt(t,typeof a!="symbol"?a+"":a,l);const Re={"#":{pattern:/[0-9]/},"@":{pattern:/[a-zA-Z]/},"*":{pattern:/[a-zA-Z0-9]/}},Me=(t,a,l)=>t.replaceAll(a,"").replace(l,".").replace("..",".").replace(/[^.\d]/g,""),ze=(t,a,l)=>{var n;return new Intl.NumberFormat(((n=l.number)==null?void 0:n.locale)??"en",{minimumFractionDigits:t,maximumFractionDigits:a,roundingMode:"trunc"})},Dt=(t,a=!0,l)=>{var n,r,d,k;const b=((n=l.number)==null?void 0:n.unsigned)!==!0&&t.startsWith("-")?"-":"",h=((r=l.number)==null?void 0:r.fraction)??0;let w=ze(0,h,l);const S=w.formatToParts(1000.12),v=((d=S.find(V=>V.type==="group"))==null?void 0:d.value)??" ",I=((k=S.find(V=>V.type==="decimal"))==null?void 0:k.value)??".",q=Me(t,v,I);if(Number.isNaN(parseFloat(q)))return b;const U=q.split(".");if(U[1]!=null&&U[1].length>=1){const V=U[1].length<=h?U[1].length:h;w=ze(V,h,l)}let L=w.format(parseFloat(q));return a?h>0&&q.endsWith(".")&&!q.slice(0,-1).includes(".")&&(L+=I):L=Me(L,v,I),b+L},We=t=>JSON.parse(t.replaceAll("'",'"')),Ft=(t,a={})=>{const l={...a};t.dataset.maska!=null&&t.dataset.maska!==""&&(l.mask=Pt(t.dataset.maska)),t.dataset.maskaEager!=null&&(l.eager=Be(t.dataset.maskaEager)),t.dataset.maskaReversed!=null&&(l.reversed=Be(t.dataset.maskaReversed)),t.dataset.maskaTokensReplace!=null&&(l.tokensReplace=Be(t.dataset.maskaTokensReplace)),t.dataset.maskaTokens!=null&&(l.tokens=It(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=Be(t.dataset.maskaNumberUnsigned)),(t.dataset.maskaNumber!=null||Object.values(n).length>0)&&(l.number=n),l},Be=t=>t!==""?!!JSON.parse(t):!0,Pt=t=>t.startsWith("[")&&t.endsWith("]")?We(t):t,It=t=>{if(t.startsWith("{")&&t.endsWith("}"))return We(t);const a={};return t.split("|").forEach(l=>{const n=l.split(":");a[n[0]]={pattern:je()?new RegExp(n[1],"u"):new RegExp(n[1]),optional:n[2]==="optional",multiple:n[2]==="multiple",repeated:n[2]==="repeated"}}),a},je=()=>{try{return new RegExp("\\p{L}","u"),!0}catch{return!1}};class Rt{constructor(a={}){ye(this,"opts",{}),ye(this,"memo",new Map);const l={...a};if(l.tokens!=null){l.tokens=l.tokensReplace?{...l.tokens}:{...Re,...l.tokens};for(const n of Object.values(l.tokens))typeof n.pattern=="string"&&(n.pattern=je()?new RegExp(n.pattern,"u"):new RegExp(n.pattern))}else l.tokens=Re;Array.isArray(l.mask)&&(l.mask.length>1?l.mask=[...l.mask].sort((n,r)=>n.length-r.length):l.mask=l.mask[0]??""),l.mask===""&&(l.mask=null),this.opts=l}masked(a){return this.process(String(a),this.findMask(String(a)))}unmasked(a){return this.process(String(a),this.findMask(String(a)),!1)}isEager(){return this.opts.eager===!0}isReversed(){return this.opts.reversed===!0}completed(a){const l=this.findMask(String(a));if(this.opts.mask==null||l==null)return!1;const n=this.process(String(a),l).length;return typeof this.opts.mask=="string"?n>=this.opts.mask.length:n>=l.length}findMask(a){const l=this.opts.mask;if(l==null)return null;if(typeof l=="string")return l;if(typeof l=="function")return l(a);const n=this.process(a,l.slice(-1).pop()??"",!1);return l.find(r=>this.process(a,r,!1).length>=n.length)??""}escapeMask(a){const l=[],n=[];return a.split("").forEach((r,d)=>{r==="!"&&a[d-1]!=="!"?n.push(d-n.length):l.push(r)}),{mask:l.join(""),escaped:n}}process(a,l,n=!0){if(this.opts.number!=null)return Dt(a,n,this.opts);if(l==null)return a;const r=`v=${a},mr=${l},m=${n?1:0}`;if(this.memo.has(r))return this.memo.get(r);const{mask:d,escaped:k}=this.escapeMask(l),b=[],h=this.opts.tokens!=null?this.opts.tokens:{},w=this.isReversed()?-1:1,S=this.isReversed()?"unshift":"push",v=this.isReversed()?0:d.length-1,I=this.isReversed()?()=>V>-1&&N>-1:()=>V<d.length&&N<a.length,q=g=>!this.isReversed()&&g<=v||this.isReversed()&&g>=v;let U,L=-1,V=this.isReversed()?d.length-1:0,N=this.isReversed()?a.length-1:0,D=!1;for(;I();){const g=d.charAt(V),R=h[g],W=(R==null?void 0:R.transform)!=null?R.transform(a.charAt(N)):a.charAt(N);if(!k.includes(V)&&R!=null?(W.match(R.pattern)!=null?(b[S](W),R.repeated?(L===-1?L=V:V===v&&V!==L&&(V=L-w),v===L&&(V-=w)):R.multiple&&(D=!0,V-=w),V+=w):R.multiple?D&&(V+=w,N-=w,D=!1):W===U?U=void 0:R.optional&&(V+=w,N-=w),N+=w):(n&&!this.isEager()&&b[S](g),W===g&&!this.isEager()?N+=w:U=g,this.isEager()||(V+=w)),this.isEager())for(;q(V)&&(h[d.charAt(V)]==null||k.includes(V));){if(n){if(b[S](d.charAt(V)),a.charAt(N)===d.charAt(V)){V+=w,N+=w;continue}}else d.charAt(V)===a.charAt(N)&&(N+=w);V+=w}}return this.memo.set(r,b.join("")),this.memo.get(r)}}class Mt{constructor(a,l={}){ye(this,"items",new Map),ye(this,"eventAbortController"),ye(this,"onInput",n=>{if(n instanceof CustomEvent&&n.type==="input"&&!n.isTrusted&&!n.bubbles)return;const r=n.target,d=this.items.get(r);if(d===void 0)return;const k="inputType"in n&&n.inputType.startsWith("delete"),b=d.isEager(),h=k&&b&&d.unmasked(r.value)===""?"":r.value;this.fixCursor(r,k,()=>this.setValue(r,h))}),this.options=l,this.eventAbortController=new AbortController,this.init(this.getInputs(a))}update(a={}){this.options={...a},this.init(Array.from(this.items.keys()))}updateValue(a){var l;a.value!==""&&a.value!==((l=this.processInput(a))==null?void 0:l.masked)&&this.setValue(a,a.value)}destroy(){this.eventAbortController.abort(),this.items.clear()}init(a){const l=this.getOptions(this.options);for(const n of a){if(!this.items.has(n)){const{signal:d}=this.eventAbortController;n.addEventListener("input",this.onInput,{capture:!0,signal:d})}const r=new Rt(Ft(n,l));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(a){return typeof a=="string"?Array.from(document.querySelectorAll(a)):"length"in a?Array.from(a):[a]}getOptions(a){const{onMaska:l,preProcess:n,postProcess:r,...d}=a;return d}fixCursor(a,l,n){var r,d;const k=a.selectionStart,b=a.value;if(n(),k===null||k===b.length&&!l)return;const h=a.value,w=b.slice(0,k),S=h.slice(0,k),v=(r=this.processInput(a,w))==null?void 0:r.unmasked,I=(d=this.processInput(a,S))==null?void 0:d.unmasked;if(v===void 0||I===void 0)return;let q=k;w!==S&&(q+=l?h.length-b.length:v.length-I.length),a.setSelectionRange(q,q)}setValue(a,l){const n=this.processInput(a,l);n!==void 0&&(a.value=n.masked,this.options.onMaska!=null&&(Array.isArray(this.options.onMaska)?this.options.onMaska.forEach(r=>r(n)):this.options.onMaska(n)),a.dispatchEvent(new CustomEvent("maska",{detail:n})),a.dispatchEvent(new CustomEvent("input",{detail:n.masked})))}processInput(a,l){const n=this.items.get(a);if(n===void 0)return;let r=l??a.value;this.options.preProcess!=null&&(r=this.options.preProcess(r));let d=n.masked(r);return this.options.postProcess!=null&&(d=this.options.postProcess(d)),{masked:d,unmasked:n.unmasked(r),completed:n.completed(r)}}}const Se=new WeakMap,zt=(t,a)=>{if(t.arg==null||t.instance==null)return;const l="setup"in t.instance.$.type;t.arg in t.instance?t.instance[t.arg]=a:l&&console.warn("Maska: please expose `%s` using defineExpose",t.arg)},Ce=(t,a)=>{var l;const n=t instanceof HTMLInputElement?t:t.querySelector("input");if(n==null||(n==null?void 0:n.type)==="file")return;let r={};if(a.value!=null&&(r=typeof a.value=="string"?{mask:a.value}:{...a.value}),a.arg!=null){const d=k=>{const b=a.modifiers.unmasked?k.unmasked:a.modifiers.completed?k.completed:k.masked;zt(a,b)};r.onMaska=r.onMaska==null?d:Array.isArray(r.onMaska)?[...r.onMaska,d]:[r.onMaska,d]}Se.has(n)?(l=Se.get(n))==null||l.update(r):Se.set(n,new Mt(n,r))},At={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 Ke(t){var n;const a=At[t.type]??"text",l={field:t.name,label:t.label,type:a,required:t.required??!1};return(t.type==="decimal"||t.type==="float")&&(l.minFractionDigits=2,l.maxFractionDigits=2),t.type==="boolean"&&(l.defaultValue=!1),t.type==="choice"&&((n=t.choices)!=null&&n.length)&&(l.options=t.choices.map(r=>({label:r.label,value:r.value}))),t.type==="fk"&&(l.endpoint=t.endpoint,t.option_label&&(l.optionLabel=t.option_label),t.option_value&&(l.optionValue=t.option_value)),l}function He(t){return t.filter(a=>!a.read_only&&a.name!=="id").map(Ke)}const Ut={boolean:"boolean",date:"date",datetime:"datetime",decimal:"number",float:"number",integer:"number"};function Ge(t){return{field:t.type==="fk"?`${t.name}_nome`:t.name,header:t.label,type:Ut[t.type],sortable:!0}}function Ye(t,a=6){return t.filter(l=>!l.read_only&&l.name!=="id").slice(0,a).map(Ge)}const Lt=["disabled"],Tt={class:"w-autocompletefk-toolbar"},qt={class:"w-autocompletefk-toolbar-actions"},Ot={class:"flex items-center justify-end gap-1"},Wt={class:"w-autocompletefk-footer"},Je=e.defineComponent({inheritAttrs:!1,__name:"WAutoCompleteFK",props:{modelValue:{},endpoint:{},endpointParams:{},drilldown:{},optionLabel:{default:"nome"},optionValue:{default:"id"},placeholder:{default:"Buscar..."},blockedPlaceholder:{},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:a}){const l=t,n=a,r=e.inject(gt.W_DATA_PROVIDER_KEY);if(!r)throw new Error("[wPrimeVueComponents] dataProvider não encontrado. Registre o WPrimeVuePlugin.");const d=r,k=ue.useAppToast(),{confirmDelete:b}=ue.useAppConfirm(),h=e.ref(null),w=e.ref([]),S=e.ref(!1);let v=null;function I(c){return c==null||c===""}function q(c){if(c&&typeof c=="object"){const f=c;return f.id??f.value??f}return c}const U=e.computed(()=>{const c=l.drilldown;return c?Array.isArray(c)?c:[c]:[]}),L=e.computed(()=>U.value.some(c=>(c.required??!0)&&I(q(c.value))));function V(){const c={};for(const f of U.value){const z=q(f.value);I(z)||(c[f.field]=z)}return c}const N=e.computed(()=>L.value&&l.blockedPlaceholder?l.blockedPlaceholder:l.placeholder);async function D(c){try{const f=await d.get(l.endpoint,c);h.value=f.data}catch{h.value=null}}async function g(c){if(L.value){w.value=[];return}S.value=!0;try{const f={page_size:20,...l.endpointParams,...V()};c&&(f.search=c);const z=await d.list(l.endpoint,f);w.value=z.data}catch{w.value=[]}finally{S.value=!1}}function R(c){const f=c.query||"";if(f.length<l.minLength){w.value=[];return}v&&clearTimeout(v),v=setTimeout(()=>g(f),300)}function W(c){h.value=c.value,n("update:modelValue",c.value)}function Y(){h.value=null,n("update:modelValue",null)}e.watch(()=>l.modelValue,async c=>{if(c!=null){if(typeof c=="object"&&c!==null&&l.optionLabel in c){h.value=c;return}(!h.value||h.value[l.optionValue]!==c)&&await D(c)}else h.value=null},{immediate:!0});const _=e.ref(!1),j=e.ref([]),ee=e.ref(!1),K=e.ref(""),Q=e.ref(1),le=e.ref(15),P=e.ref(0),T=e.ref(null),J=e.ref(null),te=e.ref(0);let oe=null;const m=e.ref([]),y=e.computed(()=>{var c;return(c=l.crudFields)!=null&&c.length?!0:m.value.length>0}),B=e.computed(()=>l.canCreate??y.value),o=e.computed(()=>l.canEdit??y.value),u=e.computed(()=>l.canDelete??y.value),x=e.computed(()=>o.value||u.value),H=e.computed(()=>{var c;return(c=l.crudFields)!=null&&c.length?l.crudFields:He(m.value)}),X=e.computed(()=>{var c,f;return(c=l.crudColumns)!=null&&c.length?l.crudColumns:(f=l.columns)!=null&&f.length?l.columns.map(z=>({field:z.field,header:z.header,sortable:!0})):m.value.length?Ye(m.value):[{field:l.optionLabel,header:l.optionLabel,sortable:!0}]});async function C(){var c,f,z;if(L.value){j.value=[],P.value=0;return}ee.value=!0;try{const E={page:Q.value,page_size:le.value,...l.endpointParams,...V()};K.value&&(E.search=K.value),J.value&&te.value!==0&&(E.ordering=te.value===-1?`-${J.value}`:J.value);const G=await d.list(l.endpoint,E);j.value=G.data,P.value=G.rows,(c=G.extras)!=null&&c.fields&&!((f=l.columns)!=null&&f.length)&&!((z=l.crudFields)!=null&&z.length)&&(m.value=G.extras.fields)}catch{j.value=[],P.value=0}finally{ee.value=!1}}function O(c){c.key==="F2"&&!l.disabled&&(c.preventDefault(),ae())}function ae(){l.disabled||(K.value="",Q.value=1,J.value=null,te.value=0,T.value=null,_.value=!0,C())}function re(c){Q.value=c.page+1,le.value=c.rows,C()}function $e(c){J.value=c.sortField??null,te.value=c.sortOrder??0,Q.value=1,C()}function ce(){T.value&&(h.value=T.value,n("update:modelValue",T.value),_.value=!1)}function fe(c){h.value=c.data,n("update:modelValue",c.data),_.value=!1}const s=e.ref(null),p=e.ref(null);let M="";function i(){M="",e.nextTick(()=>{var f,z,E;const c=(f=s.value)==null?void 0:f.$el;(z=c==null?void 0:c.focus)==null||z.call(c),(E=c==null?void 0:c.select)==null||E.call(c)})}function $(){e.nextTick(()=>{var f;const c=(f=p.value)==null?void 0:f.querySelector(".p-datatable-tbody > tr");c==null||c.focus()})}function A(c){if(c.key!=="Enter"||c.isComposing)return;c.preventDefault();const f=K.value.trim();if(f===""||f===M){$();return}oe&&clearTimeout(oe),M=f,Q.value=1,C()}function ne(c){c.key==="Enter"&&(c.preventDefault(),c.stopPropagation(),T.value&&ce())}e.watch(K,()=>{oe&&clearTimeout(oe),oe=setTimeout(()=>{Q.value=1,M=K.value.trim(),C()},300)}),e.watch(()=>U.value.map(c=>q(c.value)),(c,f)=>{if(_.value&&(Q.value=1,C()),!f)return;const z=c.some((G,dt)=>G!==f[dt]),E=f.some(G=>!I(G));z&&E&&h.value&&(h.value=null,n("update:modelValue",null))});const me=e.ref(!1),ve=e.ref(!1),ie=e.ref(null),se=e.reactive({}),ke=e.computed(()=>ie.value!==null),be=e.computed(()=>ke.value?"Editar Registro":"Novo Registro");function de(){const c={};for(const f of H.value)c[f.field]=f.defaultValue!==void 0?typeof f.defaultValue=="function"?f.defaultValue():f.defaultValue:null;return c}function at(){const c=de();for(const f of Object.keys(se))delete se[f];for(const[f,z]of Object.entries(c))se[f]=z}function nt(){ie.value=null,at(),me.value=!0}function rt(c){ie.value=c;for(const f of H.value)se[f.field]=c[f.field]!==void 0?c[f.field]:null;me.value=!0}function it(c,f){se[c]=f}async function st(){ve.value=!0;try{const c={...se};for(const z of H.value){const E=c[z.field];if(z.type==="fk"&&E!==null&&typeof E=="object"){const G=z.optionValue||"id";c[z.field]=E[G]??E}}let f;if(ke.value&&ie.value){const z=ie.value[l.optionValue];f=await d.update(l.endpoint,z,c);const E=j.value.findIndex(G=>G[l.optionValue]===z);E!==-1&&(j.value[E]=f.data),k.success("Registro atualizado com sucesso")}else f=await d.create(l.endpoint,c),j.value.unshift(f.data),P.value++,k.success("Registro criado com sucesso");me.value=!1,ie.value=null,T.value=f.data}catch(c){k.error(ue.extractApiError(c,"Erro ao salvar registro"))}finally{ve.value=!1}}function ct(c){b(async()=>{try{const f=c[l.optionValue];await d.delete(l.endpoint,f);const z=j.value.findIndex(E=>E[l.optionValue]===f);z!==-1&&(j.value.splice(z,1),P.value--),h.value&&h.value[l.optionValue]===f&&(h.value=null,n("update:modelValue",null)),T.value&&T.value[l.optionValue]===f&&(T.value=null),k.success("Registro excluído com sucesso")}catch(f){k.error(ue.extractApiError(f,"Erro ao excluir registro"))}})}return(c,f)=>{const z=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",e.mergeProps({class:"w-autocompletefk"},c.$attrs),[e.createVNode(e.unref(qe),{"model-value":h.value,suggestions:w.value,"option-label":t.optionLabel,placeholder:N.value,disabled:t.disabled,"force-selection":t.forceSelection,loading:S.value,fluid:"",onComplete:R,onItemSelect:W,onClear:Y,onKeydown:O},null,8,["model-value","suggestions","option-label","placeholder","disabled","force-selection","loading"]),e.withDirectives((e.openBlock(),e.createElementBlock("button",{type:"button",disabled:t.disabled,"data-kbd-skip":"",tabindex:"-1",class:"w-autocompletefk-trigger",onClick:ae},[...f[6]||(f[6]=[e.createElementVNode("i",{class:"pi pi-search"},null,-1)])],8,Lt)),[[z,"Pesquisar (F2)",void 0,{top:!0}]])],16),e.createVNode(e.unref(Fe),{visible:_.value,"onUpdate:visible":f[4]||(f[4]=E=>_.value=E),header:t.dialogHeader||"Pesquisar",style:{width:"80vw"},modal:"",draggable:!1,class:"w-autocompletefk-dialog",onShow:i},{footer:e.withCtx(()=>[e.createElementVNode("div",Wt,[e.createVNode(e.unref(F),{label:"Cancelar",severity:"secondary",text:"",onClick:f[3]||(f[3]=E=>_.value=!1)}),e.createVNode(e.unref(F),{label:"Selecionar",icon:"pi pi-check",disabled:!T.value,onClick:ce},null,8,["disabled"])])]),default:e.withCtx(()=>[e.createElementVNode("div",Tt,[e.createVNode(e.unref(he),{class:"w-autocompletefk-toolbar-search"},{default:e.withCtx(()=>[e.createVNode(e.unref(ge),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{ref_key:"modalSearchInput",ref:s,modelValue:K.value,"onUpdate:modelValue":f[0]||(f[0]=E=>K.value=E),placeholder:"Pesquisar...",class:"w-full",autofocus:"",onKeydown:A},null,8,["modelValue"])]),_:1}),e.createElementVNode("div",qt,[B.value?(e.openBlock(),e.createBlock(e.unref(F),{key:0,label:"Novo",icon:"pi pi-plus",size:"small",onClick:nt})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{ref_key:"modalTableWrap",ref:p,onKeydownCapture:ne},[e.createVNode(e.unref(Ue),{selection:T.value,"onUpdate:selection":f[1]||(f[1]=E=>T.value=E),"meta-key-selection":!1,value:j.value,loading:ee.value,paginator:"",lazy:"","striped-rows":"","removable-sort":"",size:"small",rows:le.value,"total-records":P.value,"sort-field":J.value??void 0,"sort-order":te.value,"selection-mode":"single","data-key":t.optionValue,onPage:re,onSort:f[2]||(f[2]=E=>$e({sortField:E.sortField,sortOrder:E.sortOrder})),onRowDblclick:fe},{empty:e.withCtx(()=>[...f[7]||(f[7]=[e.createElementVNode("div",{class:"w-autocompletefk-empty"},"Nenhum registro encontrado",-1)])]),default:e.withCtx(()=>[e.createVNode(e.unref(pe),{"selection-mode":"single","header-style":"width: 3rem"}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(X.value,E=>(e.openBlock(),e.createBlock(e.unref(pe),{key:E.field,field:E.field,header:E.header,sortable:E.sortable??!0,style:e.normalizeStyle(E.style)},{body:e.withCtx(({data:G})=>[E.type?(e.openBlock(),e.createBlock(Ne,{key:0,column:E,value:G[E.field],"row-data":G},null,8,["column","value","row-data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(G[E.field]),1)],64))]),_:2},1032,["field","header","sortable","style"]))),128)),x.value?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,header:"",style:{width:"6rem"}},{body:e.withCtx(({data:E})=>[e.createElementVNode("div",Ot,[o.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:"pi pi-pencil",text:"",rounded:"",size:"small",onClick:G=>rt(E)},null,8,["onClick"])),[[z,"Editar",void 0,{top:!0}]]):e.createCommentVNode("",!0),u.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:1,icon:"pi pi-trash",text:"",rounded:"",size:"small",severity:"danger",onClick:G=>ct(E)},null,8,["onClick"])),[[z,"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"])],544)]),_:1},8,["visible","header"]),y.value?(e.openBlock(),e.createBlock(Pe,{key:0,visible:me.value,title:be.value,fields:H.value,"form-data":se,"is-editing":ke.value,saving:ve.value,width:t.dialogWidth,"onUpdate:visible":f[5]||(f[5]=E=>{me.value=E,E||(ie.value=null)}),"onUpdate:field":it,onSave:st},null,8,["visible","title","fields","form-data","is-editing","saving","width"])):e.createCommentVNode("",!0)],64)}}}),jt={class:"w-datepicker"},Kt={class:"w-datepicker-panel"},Ht={class:"w-datepicker-actions"},De=e.defineComponent({__name:"WDatePicker",props:{modelValue:{default:null},valueFormat:{default:"iso"},showTime:{type:Boolean,default:!1},autonow:{type:Boolean,default:!1},minDate:{},maxDate:{},disabled:{type:Boolean,default:!1},showClear:{type:Boolean,default:!0},placeholder:{},invalid:{type:Boolean,default:!1},inputId:{}},emits:["update:modelValue"],setup(t,{emit:a}){const l=t,n=a,r=ue.useDateInput({showTime:()=>l.showTime,valueFormat:()=>l.valueFormat}),d=e.ref(""),k=e.ref(null),b=e.ref(null),h=e.computed(()=>({mask:r.mask()})),w=e.computed(()=>r.toDate(l.minDate)??void 0),S=e.computed(()=>r.toDate(l.maxDate)??void 0);e.watch(()=>l.modelValue,g=>{const R=r.toDate(g);k.value=R,d.value=r.toDisplay(R)},{immediate:!0});function v(g){n("update:modelValue",r.toValue(g))}function I(){if(d.value===""){v(null);return}const g=r.fromDisplay(d.value);g&&v(g)}function q(){d.value=r.toDisplay(r.toDate(l.modelValue))}function U(g){g.key==="F2"&&!l.disabled&&(g.preventDefault(),V())}function L(g){var W;v(g??null),l.showTime||(W=b.value)==null||W.hide()}function V(){v(r.today())}function N(){var g;v(null),(g=b.value)==null||g.hide()}function D(g){var R;l.disabled||(R=b.value)==null||R.toggle(g)}return e.onMounted(()=>{l.autonow&&l.modelValue==null&&V()}),(g,R)=>(e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(e.unref(he),null,{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(Z),{id:t.inputId,modelValue:d.value,"onUpdate:modelValue":R[0]||(R[0]=W=>d.value=W),placeholder:t.placeholder??e.unref(r).placeholder(),disabled:t.disabled,invalid:t.invalid,fluid:"",autocomplete:"off",inputmode:"numeric",onInput:I,onBlur:q,onKeydown:U},null,8,["id","modelValue","placeholder","disabled","invalid"]),[[e.unref(Ce),h.value]]),e.createVNode(e.unref(ge),{class:e.normalizeClass(["pi pi-calendar w-datepicker-icon",{"w-datepicker-icon-disabled":t.disabled}]),role:"button",tabindex:"-1","aria-label":"Abrir calendário",onClick:D},null,8,["class"])]),_:1}),e.createVNode(e.unref(Le),{ref_key:"op",ref:b},{default:e.withCtx(()=>[e.createElementVNode("div",Kt,[e.createVNode(e.unref(Oe),{"model-value":k.value??void 0,inline:"","show-time":t.showTime,"hour-format":"24","min-date":w.value,"max-date":S.value,"onUpdate:modelValue":L},null,8,["model-value","show-time","min-date","max-date"]),e.createElementVNode("div",Ht,[e.createVNode(e.unref(F),{label:"Hoje",text:"",size:"small",onClick:V}),t.showClear?(e.openBlock(),e.createBlock(e.unref(F),{key:0,label:"Limpar",text:"",size:"small",severity:"secondary",onClick:N})):e.createCommentVNode("",!0)])])]),_:1},512)]))}}),Xe=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:a}){const l=t,n=a,r=e.computed(()=>l.prefix??(l.currency?"R$":void 0)),d=e.computed(()=>!!r.value||!!l.suffix),k=e.computed(()=>{const h=l.modelValue;return h==null||Number.isNaN(h)?"":new Intl.NumberFormat(l.locale,{minimumFractionDigits:l.decimals,maximumFractionDigits:l.decimals}).format(h)});function b(h){const w=h.target.value.replace(/\D/g,"");if(!w){n("update:modelValue",null);return}const S=Number(w)/Math.pow(10,l.decimals);n("update:modelValue",S)}return(h,w)=>d.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(Ie),{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.value),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(Z),{"model-value":k.value,inputmode:"numeric",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:b},null,8,["model-value","placeholder","disabled","invalid"]),t.suffix?(e.openBlock(),e.createBlock(e.unref(Ie),{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.suffix),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})):(e.openBlock(),e.createBlock(e.unref(Z),{key:1,"model-value":k.value,inputmode:"numeric",fluid:"",class:"w-money-input__field",placeholder:t.placeholder,disabled:t.disabled,invalid:t.invalid,onInput:b},null,8,["model-value","placeholder","disabled","invalid"]))}}),Gt={class:"w-imgcropper"},Yt=["src"],Jt={class:"w-imgcropper-actions"},Xt=["accept"],Zt={class:"w-imgcropper-stage"},Qt=["src"],_t={class:"w-imgcropper-zoom"},Ve=300,el=e.defineComponent({__name:"WImageCropper",props:{modelValue:{default:null},accept:{default:"image/*"},maxSize:{default:5242880},aspectRatio:{default:1},circular:{type:Boolean,default:!1},width:{default:200},height:{default:200}},emits:["update:modelValue","error"],setup(t,{emit:a}){const l=t,n=a,r=e.ref(null);e.watch(()=>l.modelValue,o=>{r.value&&(URL.revokeObjectURL(r.value),r.value=null),o instanceof File&&(r.value=URL.createObjectURL(o))},{immediate:!0}),e.onBeforeUnmount(()=>{r.value&&URL.revokeObjectURL(r.value)});const d=e.computed(()=>l.modelValue instanceof File?r.value:typeof l.modelValue=="string"&&l.modelValue?l.modelValue:null),k=e.ref(null);function b(){var o;(o=k.value)==null||o.click()}function h(o){const u=(l.accept||"").trim();return!u||u==="*"||u.includes("image/*")?o.type.startsWith("image/"):u.split(",").map(x=>x.trim()).filter(Boolean).some(x=>x.endsWith("/*")?o.type.startsWith(x.slice(0,-1)):x.startsWith(".")?o.name.toLowerCase().endsWith(x.toLowerCase()):o.type===x)}let w="image.png",S="image/png",v=null;function I(o){var X;const u=o.target,x=(X=u.files)==null?void 0:X[0];if(u.value="",!x)return;if(!h(x)){n("error","Tipo de arquivo não suportado.");return}if(x.size>l.maxSize){n("error",`Imagem acima do limite de ${(l.maxSize/1048576).toFixed(1)}MB.`);return}w=x.name,S=x.type||"image/png";const H=new FileReader;H.onload=()=>{const C=new Image;C.onload=()=>{v=C,V.value=C.naturalWidth,N.value=C.naturalHeight,D.value=1,L.value=C.src,g.x=(W.value-ee.value)/2,g.y=(Y.value-K.value)/2,U.value=!0},C.onerror=()=>n("error","Não foi possível carregar a imagem."),C.src=String(H.result)},H.onerror=()=>n("error","Falha ao ler o arquivo."),H.readAsDataURL(x)}function q(){n("update:modelValue",null)}const U=e.ref(!1),L=e.ref(""),V=e.ref(0),N=e.ref(0),D=e.ref(1),g=e.reactive({x:0,y:0}),R=e.computed(()=>l.circular?1:l.aspectRatio||1),W=e.computed(()=>R.value>=1?Ve:Math.round(Ve*R.value)),Y=e.computed(()=>R.value>=1?Math.round(Ve/R.value):Ve),_=e.computed(()=>V.value&&N.value?Math.max(W.value/V.value,Y.value/N.value):1),j=e.computed(()=>_.value*D.value),ee=e.computed(()=>V.value*j.value),K=e.computed(()=>N.value*j.value);function Q(){g.x=Math.min(0,Math.max(W.value-ee.value,g.x)),g.y=Math.min(0,Math.max(Y.value-K.value,g.y))}e.watch(D,Q);const le=e.computed(()=>({width:`${ee.value}px`,height:`${K.value}px`,transform:`translate(${g.x}px, ${g.y}px)`})),P=e.ref(!1);let T={x:0,y:0,ox:0,oy:0};function J(o){var u,x;P.value=!0,(x=(u=o.currentTarget).setPointerCapture)==null||x.call(u,o.pointerId),T={x:o.clientX,y:o.clientY,ox:g.x,oy:g.y}}function te(o){P.value&&(g.x=T.ox+(o.clientX-T.x),g.y=T.oy+(o.clientY-T.y),Q())}function oe(){P.value=!1}function m(){return l.circular?"image/png":S==="image/jpeg"||S==="image/png"||S==="image/webp"?S:"image/png"}function y(o){const u=o==="image/png"?"png":o==="image/webp"?"webp":"jpg";return`${w.replace(/\.[^.]+$/,"")||"image"}.${u}`}function B(){if(!v)return;const o=j.value,u=-g.x/o,x=-g.y/o,H=W.value/o,X=Y.value/o,C=document.createElement("canvas");C.width=Math.max(1,Math.round(H)),C.height=Math.max(1,Math.round(X));const O=C.getContext("2d");if(!O){n("error","Canvas indisponível neste ambiente.");return}l.circular&&(O.beginPath(),O.ellipse(C.width/2,C.height/2,C.width/2,C.height/2,0,0,Math.PI*2),O.clip()),O.drawImage(v,u,x,H,X,0,0,C.width,C.height);const ae=m();C.toBlob(re=>{if(!re){n("error","Falha ao processar a imagem.");return}n("update:modelValue",new File([re],y(ae),{type:ae})),U.value=!1},ae,.92)}return(o,u)=>(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("div",{class:e.normalizeClass(["w-imgcropper-preview",{"is-circular":t.circular,"is-empty":!d.value}]),style:e.normalizeStyle({width:`${t.width}px`,height:`${t.height}px`})},[d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("img",{src:d.value,alt:"",class:"w-imgcropper-img"},null,8,Yt),e.createElementVNode("div",Jt,[e.createVNode(e.unref(F),{type:"button",icon:"pi pi-pencil",rounded:"",text:"","aria-label":"Trocar imagem",onClick:b}),e.createVNode(e.unref(F),{type:"button",icon:"pi pi-trash",rounded:"",text:"",severity:"danger","aria-label":"Remover imagem",onClick:q})])],64)):e.renderSlot(o.$slots,"placeholder",{open:b},()=>[e.createElementVNode("button",{type:"button",class:"w-imgcropper-empty",onClick:b},[...u[3]||(u[3]=[e.createElementVNode("i",{class:"pi pi-image"},null,-1),e.createElementVNode("span",null,"Selecionar imagem",-1)])])],!0,1)],6),e.createElementVNode("input",{ref_key:"fileInput",ref:k,type:"file",accept:t.accept,class:"w-imgcropper-file",onChange:I},null,40,Xt),e.createVNode(e.unref(Fe),{visible:U.value,"onUpdate:visible":u[2]||(u[2]=x=>U.value=x),modal:"",header:"Ajustar imagem","dismissable-mask":!1,style:{width:"auto"}},{footer:e.withCtx(()=>[e.createVNode(e.unref(F),{type:"button",label:"Cancelar",text:"",onClick:u[1]||(u[1]=x=>U.value=!1)}),e.createVNode(e.unref(F),{type:"button",label:"Confirmar",onClick:B})]),default:e.withCtx(()=>[e.createElementVNode("div",Zt,[e.createElementVNode("div",{class:e.normalizeClass(["w-imgcropper-viewport",{"is-circular":t.circular}]),style:e.normalizeStyle({width:`${W.value}px`,height:`${Y.value}px`}),onPointerdown:J,onPointermove:te,onPointerup:oe,onPointerleave:oe},[L.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:L.value,alt:"",class:"w-imgcropper-cropimg",style:e.normalizeStyle(le.value),draggable:"false"},null,12,Qt)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["w-imgcropper-stencil",{"is-circular":t.circular}])},null,2)],38),e.createElementVNode("div",_t,[u[4]||(u[4]=e.createElementVNode("i",{class:"pi pi-search-minus"},null,-1)),e.createVNode(e.unref(bt),{modelValue:D.value,"onUpdate:modelValue":u[0]||(u[0]=x=>D.value=x),min:1,max:4,step:.01,class:"w-imgcropper-slider"},null,8,["modelValue"]),u[5]||(u[5]=e.createElementVNode("i",{class:"pi pi-search-plus"},null,-1))])])]),_:1},8,["visible"])]))}}),tl=(t,a)=>{const l=t.__vccOpts||t;for(const[n,r]of a)l[n]=r;return l},Ze=tl(el,[["__scopeId","data-v-95684d2d"]]),ll={class:"w-transfer__pane"},ol={class:"w-transfer__head"},al={class:"w-transfer__count"},nl={class:"w-transfer__list"},rl=["onClick"],il={key:0,class:"w-transfer__empty"},sl={class:"w-transfer__controls"},cl={class:"w-transfer__pane"},dl={class:"w-transfer__head"},ul={class:"w-transfer__count"},ml={class:"w-transfer__list"},pl=["onClick"],fl={key:0,class:"w-transfer__empty"},Qe=e.defineComponent({__name:"WTransferList",props:{source:{},selected:{default:()=>[]},trackBy:{default:"id"},optionLabel:{default:"nome"},searchFields:{},disabled:{type:Boolean}},emits:["update:selected"],setup(t,{emit:a}){const l=t,n=a,r=e.ref(""),d=e.ref(""),k=e.computed(()=>new Set(l.selected)),b=e.computed(()=>l.searchFields??[l.optionLabel]);function h(N){return N[l.trackBy]}function w(N){return String(N[l.optionLabel]??"")}function S(N,D){if(!D)return!0;const g=D.toLowerCase();return b.value.some(R=>String(N[R]??"").toLowerCase().includes(g))}const v=e.computed(()=>l.source.filter(N=>!k.value.has(h(N))&&S(N,r.value))),I=e.computed(()=>l.source.filter(N=>k.value.has(h(N))&&S(N,d.value)));function q(N){l.disabled||n("update:selected",[...l.selected,h(N)])}function U(N){if(l.disabled)return;const D=h(N);n("update:selected",l.selected.filter(g=>g!==D))}function L(){l.disabled||n("update:selected",l.source.map(h))}function V(){l.disabled||n("update:selected",[])}return(N,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-transfer",{"w-transfer--disabled":t.disabled}])},[e.createElementVNode("div",ll,[e.createElementVNode("div",ol,[D[2]||(D[2]=e.createElementVNode("span",{class:"w-transfer__title"},"Disponíveis",-1)),e.createElementVNode("span",al,e.toDisplayString(v.value.length),1)]),e.createVNode(e.unref(he),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(ge),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{modelValue:r.value,"onUpdate:modelValue":D[0]||(D[0]=g=>r.value=g),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",nl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,g=>(e.openBlock(),e.createElementBlock("li",{key:`a-${h(g)}`,class:"w-transfer__item",onClick:R=>q(g)},[e.createElementVNode("span",null,e.toDisplayString(w(g)),1),D[3]||(D[3]=e.createElementVNode("i",{class:"pi pi-angle-right"},null,-1))],8,rl))),128)),v.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",il,"Nenhum item"))])]),e.createElementVNode("div",sl,[e.createVNode(e.unref(F),{type:"button",icon:"pi pi-angle-double-right",text:"",rounded:"",disabled:t.disabled||!v.value.length,onClick:L},null,8,["disabled"]),e.createVNode(e.unref(F),{type:"button",icon:"pi pi-angle-double-left",text:"",rounded:"",disabled:t.disabled||!t.selected.length,onClick:V},null,8,["disabled"])]),e.createElementVNode("div",cl,[e.createElementVNode("div",dl,[D[4]||(D[4]=e.createElementVNode("span",{class:"w-transfer__title"},"Selecionados",-1)),e.createElementVNode("span",ul,e.toDisplayString(I.value.length),1)]),e.createVNode(e.unref(he),{class:"w-transfer__search"},{default:e.withCtx(()=>[e.createVNode(e.unref(ge),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{modelValue:d.value,"onUpdate:modelValue":D[1]||(D[1]=g=>d.value=g),placeholder:"Buscar...",fluid:""},null,8,["modelValue"])]),_:1}),e.createElementVNode("ul",ml,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,g=>(e.openBlock(),e.createElementBlock("li",{key:`s-${h(g)}`,class:"w-transfer__item",onClick:R=>U(g)},[D[5]||(D[5]=e.createElementVNode("i",{class:"pi pi-angle-left"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(w(g)),1)],8,pl))),128)),I.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("li",fl,"Nenhum item"))])])],2))}});async function vl(t){const a=t.replace(/\D/g,"");if(a.length!==8)return null;try{const l=await fetch(`https://viacep.com.br/ws/${a}/json/`);if(!l.ok)return null;const n=await l.json();return n.erro?null:n}catch{return null}}const kl={class:"w-crud-form"},hl={key:0,class:"w-crud-form-group-header"},gl={class:"w-crud-form-group-title"},yl={key:0,class:"w-crud-form-group-desc"},bl={class:"w-crud-form-switch-label"},wl={class:"w-crud-form-label"},Bl={key:0,class:"w-crud-form-required"},Vl={class:"w-crud-form-color-row"},Cl={class:"w-crud-form-label"},El={key:0,class:"w-crud-form-error"},Nl={class:"w-crud-form-label"},$l={key:0,class:"w-crud-form-required"},Sl={class:"w-crud-form-label"},xl={key:0,class:"w-crud-form-required"},Dl={key:1,class:"pi pi-spin pi-spinner w-crud-form-cep-spinner"},Fl={key:16,class:"w-crud-form-cep-error"},Pl={key:17,class:"w-crud-form-error"},_e=e.defineComponent({__name:"WFormRenderer",props:{fields:{},formData:{},isEditing:{type:Boolean},disabled:{type:Boolean,default:!1},columns:{default:2}},emits:["update:field"],setup(t,{expose:a,emit:l}){const n=t,r=l,d=e.reactive({}),k=e.reactive({}),b=e.reactive({}),h=e.reactive({});function w(m,y){const B=y.target.value,o=B.replace(/\D/g,"");r("update:field",m.field,B),b[m.field]=null,h[m.field]&&(clearTimeout(h[m.field]),h[m.field]=null),o.length===8&&(h[m.field]=setTimeout(async()=>{k[m.field]=!0,b[m.field]=null;try{const u=await vl(o);if(!u)b[m.field]="CEP não encontrado. Preencha os campos manualmente.";else{const x=m.cepFields||{},H=Object.keys(x);for(const X of H){const C=x[X];if(!C)continue;const O=n.formData[C];(O==null||O==="")&&r("update:field",C,u[X]??"")}}}finally{k[m.field]=!1}},400))}const S=e.computed(()=>n.fields.filter(m=>m.visible===void 0||m.visible===!0?!0:typeof m.visible=="function"?m.visible(n.formData,n.isEditing):m.visible));function v(m){return n.disabled||m.disabledOnEdit&&n.isEditing?!0:typeof m.disabled=="function"?m.disabled(n.formData,n.isEditing):!!m.disabled}function I(m){return e.isRef(m)?m.value:m}const q=e.computed(()=>{const m=n.isEditing?"edit":"create",y=n.fields.find(o=>o.autofocus===!0||o.autofocus===m);if(y)return y.field;const B=S.value.find(o=>!(o.type==="switch"||o.type==="fk"||o.type==="select"||o.type==="image"||o.disabled===!0||o.disabledOnEdit&&n.isEditing));return(B==null?void 0:B.field)??null});function U(m){return m.field===q.value}function L(m){if(m)return m.replace(/9/g,"#").replace(/a/g,"S").replace(/\*/g,"X")}function V(m){if(!m)return"";const y=String(m).replace(/\D/g,"").slice(0,14);return y.length<=11?y.replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d)/,"$1.$2").replace(/(\d{3})(\d{1,2})$/,"$1-$2"):y.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 N(m,y){const B=y.target.value.replace(/\D/g,"").slice(0,14);r("update:field",m,B)}const D=e.reactive({});function g(m){const y=n.formData[m.field];if(y==null)return null;const B=m.optionValue||"value";return(I(m.options)||[]).find(u=>u[B]===y)??null}function R(m){return D[m.field]||[]}function W(m,y){const B=(y.query||"").toLowerCase(),o=I(m.options)||[],u=m.optionLabel||"label";D[m.field]=o.filter(x=>String(x[u]||"").toLowerCase().includes(B))}function Y(m,y){const B=m.optionValue||"value";r("update:field",m.field,y.value[B])}function _(m){const y=n.formData[m.field];return y?String(y).replace("#",""):"FFFFFF"}function j(m,y){r("update:field",m.field,`#${y}`)}function ee(m){const y=m.dependsOn;return y?(Array.isArray(y)?y:[y]).map(o=>({field:o.param||o.field,value:n.formData[o.field],required:o.required})):void 0}function K(m){if(typeof m.validate=="function"){const y=m.validate(n.formData[m.field]);d[m.field]=y||null}}function Q(){const m=[];for(const y of n.fields)if(typeof y.validate=="function"){const B=y.validate(n.formData[y.field]);d[y.field]=B||null,B&&m.push(B)}return m}function le(){Object.keys(d).forEach(m=>delete d[m])}function P(m){return Math.max(1,Math.floor(m.columns??n.columns))}function T(m,y){const B=m.colSpan;return B==null||B==="full"?y:B===.5?Math.max(1,Math.round(y/2)):Math.min(Math.max(1,Math.floor(B)),y)}function J(m,y){return{"--w-col-span":T(m,P(y))}}function te(m,y){return T(m,P(y))===P(y)?"w-crud-form-col-full":"w-crud-form-col-half"}const oe=e.computed(()=>{var o,u,x,H,X;const m=new Map,y=[],B=new Map;for(const C of S.value){const O=((o=C.fieldGroup)==null?void 0:o.id)??"__default__";m.has(O)||(m.set(O,{id:O,title:(u=C.fieldGroup)==null?void 0:u.title,description:(x=C.fieldGroup)==null?void 0:x.description,columns:(H=C.fieldGroup)==null?void 0:H.columns,fields:[]}),y.push(O),((X=C.fieldGroup)==null?void 0:X.order)!=null&&B.set(O,C.fieldGroup.order)),m.get(O).fields.push(C)}return y.slice().sort((C,O)=>{const ae=B.get(C),re=B.get(O);return ae!=null&&re!=null?ae-re:ae!=null?-1:re!=null?1:y.indexOf(C)-y.indexOf(O)}).map(C=>m.get(C))});return a({validateAll:Q,clearErrors:le}),(m,y)=>(e.openBlock(),e.createElementBlock("div",kl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(oe.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.id,class:"w-crud-form-group"},[B.title?(e.openBlock(),e.createElementBlock("div",hl,[e.createElementVNode("h3",gl,e.toDisplayString(B.title),1),B.description?(e.openBlock(),e.createElementBlock("p",yl,e.toDisplayString(B.description),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"w-crud-form-fields",style:e.normalizeStyle({"--w-form-cols":P(B)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.fields,o=>e.renderSlot(m.$slots,`field-${o.field}`,{field:o,formData:t.formData,isEditing:t.isEditing,setFormField:(u,x)=>r("update:field",u,x)},()=>[o.type==="switch"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-crud-form-switch",style:e.normalizeStyle(J(o,B))},[e.createVNode(e.unref(vt),{"model-value":t.formData[o.field],disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createElementVNode("label",bl,e.toDisplayString(o.switchLabel||o.label),1)],4)):o.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(te(o,B)),style:e.normalizeStyle(J(o,B))},[e.createElementVNode("label",wl,[e.createTextVNode(e.toDisplayString(o.label)+" ",1),o.required?(e.openBlock(),e.createElementBlock("span",Bl,"*")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Vl,[e.createVNode(e.unref(kt),{"model-value":_(o),disabled:v(o),"onUpdate:modelValue":u=>j(o,u)},null,8,["model-value","disabled","onUpdate:modelValue"]),e.createVNode(e.unref(Z),{"model-value":t.formData[o.field],class:"w-28",maxlength:"7",placeholder:"#000000",disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","disabled","onUpdate:modelValue"])])],6)):o.type==="image"?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(te(o,B)),style:e.normalizeStyle(J(o,B))},[e.createElementVNode("label",Cl,e.toDisplayString(o.label),1),e.renderSlot(m.$slots,`image-${o.field}`,{field:o,formData:t.formData},()=>[e.createVNode(Ze,{"model-value":t.formData[o.field],accept:o.accept||"image/*","onUpdate:modelValue":u=>r("update:field",o.field,u),onError:u=>{d[o.field]=u}},null,8,["model-value","accept","onUpdate:modelValue","onError"])]),d[o.field]?(e.openBlock(),e.createElementBlock("small",El,e.toDisplayString(d[o.field]),1)):e.createCommentVNode("",!0)],6)):o.type==="transfer"?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(te(o,B)),style:e.normalizeStyle(J(o,B))},[e.createElementVNode("label",Nl,[e.createTextVNode(e.toDisplayString(o.label)+" ",1),o.required?(e.openBlock(),e.createElementBlock("span",$l,"*")):e.createCommentVNode("",!0)]),e.createVNode(Qe,{source:I(o.options)||[],selected:t.formData[o.field]||[],"track-by":o.optionValue||"id","option-label":o.optionLabel||"nome","search-fields":o.searchFields,disabled:v(o),"onUpdate:selected":u=>r("update:field",o.field,u)},null,8,["source","selected","track-by","option-label","search-fields","disabled","onUpdate:selected"])],6)):(e.openBlock(),e.createElementBlock("div",{key:4,class:e.normalizeClass(te(o,B)),style:e.normalizeStyle(J(o,B))},[e.createElementVNode("label",Sl,[e.createTextVNode(e.toDisplayString(o.label)+" ",1),o.required?(e.openBlock(),e.createElementBlock("span",xl,"*")):e.createCommentVNode("",!0),k[o.field]?(e.openBlock(),e.createElementBlock("i",Dl)):e.createCommentVNode("",!0)]),(!o.type||o.type==="text")&&o.mask?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:0,"model-value":t.formData[o.field],fluid:"",autofocus:U(o)||void 0,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])),[[e.unref(Ce),{mask:L(o.mask)}]]):!o.type||o.type==="text"?(e.openBlock(),e.createBlock(e.unref(Z),{key:1,"model-value":t.formData[o.field],fluid:"",autofocus:U(o)||void 0,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):o.type==="email"?(e.openBlock(),e.createBlock(e.unref(Z),{key:2,"model-value":t.formData[o.field],type:"email",fluid:"",autofocus:U(o)||void 0,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autofocus","placeholder","disabled","onUpdate:modelValue"])):o.type==="password"?(e.openBlock(),e.createBlock(e.unref(ht),{key:3,"model-value":t.formData[o.field],fluid:"","toggle-mask":"",feedback:o.feedback!==!1,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","feedback","placeholder","disabled","onUpdate:modelValue"])):o.type==="number"?(e.openBlock(),e.createBlock(e.unref(Ee),{key:4,"model-value":t.formData[o.field],fluid:"",locale:"pt-BR",min:o.min,max:o.max,"min-fraction-digits":o.minFractionDigits,"max-fraction-digits":o.maxFractionDigits,suffix:o.suffix,prefix:o.prefix,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","min","max","min-fraction-digits","max-fraction-digits","suffix","prefix","placeholder","disabled","onUpdate:modelValue"])):o.type==="currency"&&o.fillFromRight?(e.openBlock(),e.createBlock(Xe,{key:5,"model-value":t.formData[o.field],decimals:o.decimals??2,currency:"",prefix:o.prefix,suffix:o.suffix,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","decimals","prefix","suffix","placeholder","disabled","onUpdate:modelValue"])):o.type==="currency"?(e.openBlock(),e.createBlock(e.unref(Ee),{key:6,"model-value":t.formData[o.field],fluid:"",mode:"currency",currency:"BRL",locale:"pt-BR",min:o.min,max:o.max,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","min","max","placeholder","disabled","onUpdate:modelValue"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(xe),{key:7,"model-value":t.formData[o.field],fluid:"",options:I(o.options),"option-label":o.optionLabel||"label","option-value":o.optionValue||"value","show-clear":o.showClear!==!1,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","options","option-label","option-value","show-clear","placeholder","disabled","onUpdate:modelValue"])):o.type==="autocomplete"?(e.openBlock(),e.createBlock(e.unref(qe),{key:8,"model-value":g(o),fluid:"",suggestions:R(o),"option-label":o.optionLabel||"label",placeholder:o.placeholder,disabled:v(o),onComplete:u=>W(o,u),onItemSelect:u=>Y(o,u),onClear:u=>r("update:field",o.field,null)},null,8,["model-value","suggestions","option-label","placeholder","disabled","onComplete","onItemSelect","onClear"])):o.type==="fk"?(e.openBlock(),e.createBlock(Je,{key:9,"model-value":t.formData[o.field],endpoint:o.endpoint,"endpoint-params":o.endpointParams,drilldown:ee(o),"blocked-placeholder":o.blockedPlaceholder,"option-label":o.optionLabel||"nome",placeholder:o.placeholder,disabled:v(o),"show-clear":o.showClear!==!1,"dialog-header":o.label,"crud-fields":o.crudFields,"crud-columns":o.crudColumns,"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","endpoint","endpoint-params","drilldown","blocked-placeholder","option-label","placeholder","disabled","show-clear","dialog-header","crud-fields","crud-columns","onUpdate:modelValue"])):o.type==="date"?(e.openBlock(),e.createBlock(De,{key:10,"model-value":t.formData[o.field],"value-format":"date",autonow:o.autonow,"min-date":o.minDate,"max-date":o.maxDate,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autonow","min-date","max-date","placeholder","disabled","onUpdate:modelValue"])):o.type==="datetime"?(e.openBlock(),e.createBlock(De,{key:11,"model-value":t.formData[o.field],"value-format":"date","show-time":"",autonow:o.autonow,"min-date":o.minDate,"max-date":o.maxDate,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autonow","min-date","max-date","placeholder","disabled","onUpdate:modelValue"])):o.type==="cpf_cnpj"?(e.openBlock(),e.createBlock(e.unref(Z),{key:12,"model-value":V(t.formData[o.field]),fluid:"",maxlength:"18",placeholder:o.placeholder||"000.000.000-00",disabled:v(o),invalid:!!d[o.field],onInput:u=>N(o.field,u),onBlur:u=>K(o)},null,8,["model-value","placeholder","disabled","invalid","onInput","onBlur"])):o.type==="mask"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:13,"model-value":t.formData[o.field],fluid:"",placeholder:o.placeholder,disabled:v(o),invalid:!!d[o.field],"onUpdate:modelValue":u=>r("update:field",o.field,u),onBlur:u=>K(o)},null,8,["model-value","placeholder","disabled","invalid","onUpdate:modelValue","onBlur"])),[[e.unref(Ce),{mask:L(o.mask)}]]):o.type==="cep"?e.withDirectives((e.openBlock(),e.createBlock(e.unref(Z),{key:14,"model-value":t.formData[o.field],fluid:"",placeholder:o.placeholder||"00000-000",disabled:v(o),invalid:!!b[o.field],onInput:u=>w(o,u)},null,8,["model-value","placeholder","disabled","invalid","onInput"])),[[e.unref(Ce),{mask:"#####-###"}]]):o.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(ft),{key:15,"model-value":t.formData[o.field],fluid:"",autofocus:U(o)||void 0,rows:o.rows||3,placeholder:o.placeholder,disabled:v(o),"onUpdate:modelValue":u=>r("update:field",o.field,u)},null,8,["model-value","autofocus","rows","placeholder","disabled","onUpdate:modelValue"])):e.createCommentVNode("",!0),b[o.field]?(e.openBlock(),e.createElementBlock("small",Fl,e.toDisplayString(b[o.field]),1)):d[o.field]?(e.openBlock(),e.createElementBlock("small",Pl,e.toDisplayString(d[o.field]),1)):e.createCommentVNode("",!0)],6))],void 0,o.field)),128))],4)]))),128))]))}}),Il={class:"w-crud-form-footer"},Pe=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"},formColumns:{default:void 0},keyboardNav:{type:Boolean}},emits:["update:visible","update:field","save"],setup(t,{emit:a}){const l=t,n=a,r=e.ref(null),d=e.ref(null);function k(){r.value?r.value.validateAll().length===0&&n("save"):n("save")}const{focusFirst:b,handleKeydown:h}=ue.useFormKeyboardNav(d,{enabled:()=>l.keyboardNav===!0,onSubmit:k});return e.watch(()=>l.visible,w=>{w&&r.value&&r.value.clearErrors()}),(w,S)=>(e.openBlock(),e.createBlock(e.unref(Fe),{visible:t.visible,header:t.title,style:e.normalizeStyle({width:t.width}),modal:"",draggable:!1,class:"w-crud-form-dialog","onUpdate:visible":S[3]||(S[3]=v=>n("update:visible",v)),onShow:e.unref(b)},{default:e.withCtx(()=>[e.createElementVNode("form",{ref_key:"formRef",ref:d,class:"w-crud-form",onSubmit:e.withModifiers(k,["prevent"]),onKeydown:S[2]||(S[2]=(...v)=>e.unref(h)&&e.unref(h)(...v))},[e.createVNode(_e,{ref_key:"rendererRef",ref:r,fields:t.fields,"form-data":t.formData,"is-editing":t.isEditing,disabled:t.disabled,columns:t.formColumns,"onUpdate:field":S[0]||(S[0]=(v,I)=>n("update:field",v,I))},e.createSlots({_:2},[e.renderList(t.fields,v=>({name:`field-${v.field}`,fn:e.withCtx(I=>[e.renderSlot(w.$slots,`field-${v.field}`,e.normalizeProps(e.guardReactiveProps(I)))])})),e.renderList(t.fields.filter(v=>v.type==="image"),v=>({name:`image-${v.field}`,fn:e.withCtx(I=>[e.renderSlot(w.$slots,`image-${v.field}`,e.normalizeProps(e.guardReactiveProps(I)))])}))]),1032,["fields","form-data","is-editing","disabled","columns"]),e.createElementVNode("div",Il,[e.renderSlot(w.$slots,"footer",{saving:t.saving,disabled:t.disabled},()=>[e.createVNode(e.unref(F),{type:"button",label:t.disabled?"Fechar":"Cancelar",severity:"secondary",text:"",disabled:t.saving,"data-kbd-skip":"",onClick:S[1]||(S[1]=v=>n("update:visible",!1))},null,8,["label","disabled"]),t.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(F),{key:0,type:"submit",label:t.isEditing?"Atualizar":"Salvar",icon:"pi pi-check",loading:t.saving},null,8,["label","loading"]))])])],544)]),_:3},8,["visible","header","style","onShow"]))}});function Rl(t,a){const l=a[t.field];return t.format?t.format(l,a):l==null?"":typeof l=="boolean"?l?"Sim":"Não":String(l)}function Ae(t,a){return t.includes('"')||t.includes(a)||t.includes(`
2
+ `)||t.includes("\r")?`"${t.replace(/"/g,'""')}"`:t}function et(t,a,l={}){const n=l.separator??";",r=a.map(k=>Ae(k.header,n)).join(n),d=t.map(k=>a.map(b=>Ae(Rl(b,k),n)).join(n));return"\uFEFF"+[r,...d].join(`\r
3
+ `)}function tt(t,a="export.csv"){const l=new Blob([t],{type:"text/csv;charset=utf-8;"}),n=URL.createObjectURL(l),r=document.createElement("a");r.href=n,r.download=a,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}const Ml={class:"w-crud"},zl={key:0,class:"w-crud-header"},Al={class:"w-crud-header-content"},Ul={class:"w-crud-title"},Ll={key:0,class:"w-crud-subtitle"},Tl={class:"w-crud-header-actions"},ql={key:0,class:"w-crud-kpis"},Ol={class:"w-crud-kpi-content"},Wl={class:"w-crud-kpi-label"},jl={class:"w-crud-kpi-value"},Kl={class:"w-crud-content-main"},Hl={key:0,class:"w-crud-filters",style:{display:"flex","flex-wrap":"wrap",gap:"0.5rem","align-items":"center","margin-bottom":"0.75rem"}},Gl={key:1,class:"w-crud-table"},Yl={key:0,class:"w-crud-bulkbar",style:{display:"flex","align-items":"center",gap:"0.5rem","margin-bottom":"0.5rem",padding:"0.5rem 0.75rem","border-radius":"8px",background:"var(--p-primary-50, #eef2ff)",color:"var(--p-primary-700, #3730a3)"}},Jl={style:{"font-weight":"600","font-size":"0.85rem","margin-right":"auto"}},Xl={class:"w-crud-toolbar"},Zl={class:"w-crud-toolbar-start"},Ql={class:"w-crud-toolbar-end"},_l={style:{display:"flex","flex-direction":"column",gap:"0.35rem","min-width":"180px"}},eo=["for"],to={key:2,class:"w-crud-view-toggle"},lo={class:"w-crud-actions"},oo={key:2,class:"w-crud-cards-wrap"},ao={class:"w-crud-toolbar w-crud-toolbar--standalone"},no={class:"w-crud-toolbar-start"},ro={class:"w-crud-toolbar-end"},io={key:1,class:"w-crud-view-toggle"},so={key:0,class:"w-crud-cards-loading"},co={key:2,class:"w-crud-cards"},uo=["onClick","onDblclick","onContextmenu"],mo={class:"w-crud-card-body"},po={key:0,class:"w-crud-card-label"},fo={class:"w-crud-card-value"},vo={key:0,class:"w-crud-card-actions"},ko={key:0,class:"w-crud-rail"},ho={key:1,class:"w-crud-rail-sep"},go={key:2,class:"w-crud-rail-sep"},yo=e.defineComponent({__name:"WCrudView",props:{crud:{},title:{},subtitle:{},showSearch:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},dialogWidth:{default:"480px"},formColumns:{},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},showPrint:{type:Boolean,default:!1},exportCsv:{type:Boolean,default:!0},csvFilename:{default:"export.csv"},csvScope:{default:"all"},csvPageSize:{default:200},persistState:{}},emits:["row-expand","row-collapse","print"],setup(t,{emit:a}){const l=t,n=a,r=e.useSlots(),{formatNumber:d}=ue.useFormatters(),k=e.ref({}),b=e.ref(l.defaultView);function h(s){return b.value===s}function w(s){b.value=s}const S=e.computed(()=>(l.crud.pagination.page-1)*l.crud.pagination.pageSize),v=e.reactive({hidden:[]}),I=e.ref(null);function q(){return l.persistState?`wcrud:cols:${l.persistState}`:null}function U(){const s=q();if(s)try{const p=JSON.parse(localStorage.getItem(s)||"{}");Array.isArray(p.hidden)&&(v.hidden=p.hidden)}catch{}}function L(){const s=q();s&&localStorage.setItem(s,JSON.stringify({hidden:v.hidden}))}const V=e.computed(()=>l.crud.config.columns.filter(s=>s.visible!==!1));function N(s,p){v.hidden=p?v.hidden.filter(M=>M!==s):[...new Set([...v.hidden,s])],L()}const D=e.computed(()=>l.crud.config.columns.filter(s=>s.visible!==!1&&!v.hidden.includes(s.field)).map(s=>s.type==="number"&&!s.align?{...s,align:"right"}:s.type==="currency"&&!s.align?{...s,align:"right"}:s));function g(s){if(s.align==="right")return"text-right";if(s.align==="center")return"text-center"}const R=e.computed(()=>D.value.slice(0,l.cardFields)),W=e.computed(()=>{const s=[];return l.crud.config.canEdit!==!1&&s.push({action:"edit",icon:"pi pi-pencil",tooltip:"Editar"}),l.crud.config.canCreate!==!1&&s.push({action:"duplicate",icon:"pi pi-copy",tooltip:"Duplicar",severity:"info"}),l.crud.config.canDelete!==!1&&s.push({action:"delete",icon:"pi pi-trash",tooltip:"Excluir",severity:"danger"}),s}),Y=e.computed(()=>l.crud.config.rowActions??W.value),_=e.computed(()=>Y.value.length>0||!!r["row-actions"]);function j(s,p){if(s.handler){s.handler(p);return}s.action==="edit"?l.crud.openEditDialog(p):s.action==="view"?l.crud.openViewDialog(p):s.action==="duplicate"?l.crud.openDuplicateDialog(p):s.action==="delete"&&l.crud.confirmDelete(p)}function ee(s,p){return s.visible?s.visible(p):!0}function K(s,p){return s.disabled?s.disabled(p):!1}const Q=e.computed(()=>{const s=[];return l.showKpi&&s.push({icon:l.kpiIcon,label:l.kpiLabel,value:d(l.crud.pagination.rows,0)}),s.push(...l.extraKpis),s}),le=e.computed(()=>l.crud.config.canCreate!==!1),P=e.ref(null),T=e.computed(()=>l.crud.config.selectionMode==="multiple"),J=e.computed(()=>l.crud.config.editMode==="cell"),te=e.computed(()=>new Map(l.crud.config.form.map(s=>[s.field,s]))),oe=["text","email","number","currency"];function m(s){const p=te.value.get(s);return p&&oe.includes(p.type||"text")?p:void 0}function y(s){s.newValue!==(s.value??s.data[s.field])&&l.crud.updateField(s.data,s.field,s.newValue)}const B=e.computed(()=>l.crud.config.columns.filter(s=>s.filter)),o=[{label:"Sim",value:!0},{label:"Não",value:!1}];function u(s){var p;return((p=s.filter)==null?void 0:p.param)||s.field}const x={};function H(s,p){const M=u(s);x[M]&&clearTimeout(x[M]),x[M]=setTimeout(()=>l.crud.setColumnFilter(M,p||null),300)}const X=e.ref(null);function C(s){P.value=s}function O(s){var p;l.contextMenu&&(P.value=s.data,(p=X.value)==null||p.show(s.originalEvent))}function ae(s,p){var M;l.contextMenu&&(s.preventDefault(),P.value=p,(M=X.value)==null||M.show(s))}const re=e.computed(()=>{const s=P.value;if(!s)return[];const p=[{label:"Ver detalhes",icon:"pi pi-eye",command:()=>l.crud.openViewDialog(s)}];for(const M of Y.value)ee(M,s)&&p.push({label:M.tooltip??M.action,icon:M.icon,class:M.severity==="danger"?"w-crud-ctx-danger":void 0,disabled:K(M,s),command:()=>j(M,s)});return l.showPrint&&p.push({label:"Imprimir",icon:"pi pi-print",command:()=>n("print",s)}),l.exportCsv&&(p.push({separator:!0}),p.push({label:l.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",icon:"pi pi-download",command:()=>fe()})),p});function $e(){P.value&&n("print",P.value)}const ce=e.ref(!1);async function fe(){if(!ce.value){ce.value=!0;try{const s=l.csvScope==="page"?l.crud.items.value:await l.crud.fetchAll(l.csvPageSize),p=et(s,D.value);tt(p,l.csvFilename)}finally{ce.value=!1}}}return e.onMounted(()=>{U(),l.autoInit&&l.crud.init()}),(s,p)=>{const M=e.resolveDirective("tooltip");return e.openBlock(),e.createElementBlock("div",Ml,[t.showHeader?(e.openBlock(),e.createElementBlock("div",zl,[e.createElementVNode("div",Al,[e.createElementVNode("h1",Ul,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Ll,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Tl,[e.renderSlot(s.$slots,"header-actions"),le.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(F),{key:0,label:"Novo",icon:"pi pi-plus",onClick:p[0]||(p[0]=i=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"before-table",{},()=>[Q.value.length?(e.openBlock(),e.createElementBlock("div",ql,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,(i,$)=>(e.openBlock(),e.createElementBlock("div",{key:$,class:"w-crud-kpi"},[e.createElementVNode("div",{class:e.normalizeClass(["w-crud-kpi-icon",i.severity?`w-crud-kpi-icon--${i.severity}`:""])},[e.createElementVNode("i",{class:e.normalizeClass([i.icon]),style:e.normalizeStyle(i.color?`color: ${i.color}`:"")},null,6)],2),e.createElementVNode("div",Ol,[e.createElementVNode("div",Wl,e.toDisplayString(i.label),1),e.createElementVNode("div",jl,e.toDisplayString(i.value),1)])]))),128))])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["w-crud-content",{"w-crud-content--rail":t.actionRail}])},[e.createElementVNode("div",Kl,[B.value.length?(e.openBlock(),e.createElementBlock("div",Hl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,i=>{var $,A,ne,me,ve,ie,se,ke,be;return e.openBlock(),e.createElementBlock(e.Fragment,{key:i.field},[((($=i.filter)==null?void 0:$.type)||"text")==="text"?(e.openBlock(),e.createBlock(e.unref(Z),{key:0,"model-value":t.crud.columnFilters[u(i)]??"",placeholder:((A=i.filter)==null?void 0:A.placeholder)||i.header,size:"small",onInput:de=>H(i,de.target.value)},null,8,["model-value","placeholder","onInput"])):((ne=i.filter)==null?void 0:ne.type)==="select"?(e.openBlock(),e.createBlock(e.unref(xe),{key:1,"model-value":t.crud.columnFilters[u(i)],options:(me=i.filter)==null?void 0:me.options,"option-label":"label","option-value":"value",placeholder:((ve=i.filter)==null?void 0:ve.placeholder)||i.header,"show-clear":"",size:"small","onUpdate:modelValue":de=>t.crud.setColumnFilter(u(i),de)},null,8,["model-value","options","placeholder","onUpdate:modelValue"])):((ie=i.filter)==null?void 0:ie.type)==="boolean"?(e.openBlock(),e.createBlock(e.unref(xe),{key:2,"model-value":t.crud.columnFilters[u(i)],options:o,"option-label":"label","option-value":"value",placeholder:((se=i.filter)==null?void 0:se.placeholder)||i.header,"show-clear":"",size:"small","onUpdate:modelValue":de=>t.crud.setColumnFilter(u(i),de)},null,8,["model-value","placeholder","onUpdate:modelValue"])):((ke=i.filter)==null?void 0:ke.type)==="numeric"?(e.openBlock(),e.createBlock(e.unref(Ee),{key:3,"model-value":t.crud.columnFilters[u(i)]??null,placeholder:((be=i.filter)==null?void 0:be.placeholder)||i.header,size:"small","onUpdate:modelValue":de=>t.crud.setColumnFilter(u(i),de)},null,8,["model-value","placeholder","onUpdate:modelValue"])):e.createCommentVNode("",!0)],64)}),128)),Object.keys(t.crud.columnFilters).length?(e.openBlock(),e.createBlock(e.unref(F),{key:0,label:"Limpar filtros",icon:"pi pi-filter-slash",text:"",size:"small",onClick:p[1]||(p[1]=i=>t.crud.clearColumnFilters())})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),b.value==="table"?(e.openBlock(),e.createElementBlock("div",Gl,[T.value&&t.crud.selectedItems.value.length?(e.openBlock(),e.createElementBlock("div",Yl,[e.createElementVNode("span",Jl,e.toDisplayString(t.crud.selectedItems.value.length)+" selecionado(s) ",1),e.renderSlot(s.$slots,"bulk-actions",{selected:t.crud.selectedItems.value,crud:t.crud},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.crud.config.bulkActions||[],i=>(e.openBlock(),e.createBlock(e.unref(F),{key:i.action,label:i.label,icon:i.icon,severity:i.severity,size:"small",disabled:i.disabled?i.disabled(t.crud.selectedItems.value):!1,onClick:$=>i.handler(t.crud.selectedItems.value)},null,8,["label","icon","severity","disabled","onClick"]))),128))]),e.withDirectives(e.createVNode(e.unref(F),{icon:"pi pi-times",text:"",rounded:"",size:"small",onClick:p[2]||(p[2]=i=>t.crud.clearSelection())},null,512),[[M,"Limpar seleção",void 0,{top:!0}]])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ue),{"expanded-rows":k.value,"onUpdate:expandedRows":p[7]||(p[7]=i=>k.value=i),value:t.crud.items.value,loading:t.crud.loading.value,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","edit-mode":J.value?"cell":void 0,selection:T.value?t.crud.selectedItems.value:t.actionRail||t.contextMenu?P.value:void 0,"selection-mode":T.value?void 0:t.actionRail||t.contextMenu?"single":void 0,"context-menu":t.contextMenu,"context-menu-selection":t.contextMenu?P.value:void 0,"onUpdate:selection":p[8]||(p[8]=i=>T.value?t.crud.selectedItems.value=i:P.value=i),"onUpdate:contextMenuSelection":p[9]||(p[9]=i=>P.value=i),onRowContextmenu:O,onPage:t.crud.onPage,onSort:p[10]||(p[10]=i=>t.crud.onSort({sortField:i.sortField,sortOrder:i.sortOrder})),onRowExpand:p[11]||(p[11]=i=>n("row-expand",i.data)),onRowCollapse:p[12]||(p[12]=i=>n("row-collapse",i.data)),onCellEditComplete:y},e.createSlots({header:e.withCtx(()=>[e.createElementVNode("div",Xl,[e.createElementVNode("div",Zl,[t.showSearch?(e.openBlock(),e.createBlock(e.unref(he),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(ge),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"toolbar-start"),e.renderSlot(s.$slots,"toolbar-filters")]),e.createElementVNode("div",Ql,[e.renderSlot(s.$slots,"toolbar-actions"),t.persistState?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives(e.createVNode(e.unref(F),{icon:"pi pi-sliders-h",text:"",size:"small",onClick:p[3]||(p[3]=i=>{var $;return($=I.value)==null?void 0:$.toggle(i)})},null,512),[[M,"Colunas",void 0,{top:!0}]]),e.createVNode(e.unref(Le),{ref_key:"chooser",ref:I},{default:e.withCtx(()=>[e.createElementVNode("div",_l,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,i=>(e.openBlock(),e.createElementBlock("div",{key:i.field,style:{display:"flex","align-items":"center",gap:"0.5rem"}},[e.createVNode(e.unref(ut),{"model-value":!v.hidden.includes(i.field),"input-id":`wcrud-col-${i.field}`,binary:"","onUpdate:modelValue":$=>N(i.field,!!$)},null,8,["model-value","input-id","onUpdate:modelValue"]),e.createElementVNode("label",{for:`wcrud-col-${i.field}`,style:{"font-size":"0.85rem",cursor:"pointer"}},e.toDisplayString(i.header),9,eo)]))),128))])]),_:1},512)],64)):e.createCommentVNode("",!0),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:1,icon:"pi pi-download",text:"",size:"small",loading:ce.value,onClick:fe},null,8,["loading"])),[[M,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",to,[e.createVNode(e.unref(F),{icon:"pi pi-table",size:"small",text:!h("table"),outlined:h("table"),onClick:p[4]||(p[4]=i=>w("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(F),{icon:"pi pi-th-large",size:"small",text:!h("cards"),outlined:h("cards"),onClick:p[5]||(p[5]=i=>w("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&le.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(F),{key:3,label:"Novo",icon:"pi pi-plus",onClick:p[6]||(p[6]=i=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])])]),empty:e.withCtx(()=>[e.renderSlot(s.$slots,"empty",{},()=>[p[20]||(p[20]=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.value?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,"selection-mode":"multiple",style:{width:"3rem"}})):e.createCommentVNode("",!0),t.expandable?(e.openBlock(),e.createBlock(e.unref(pe),{key:1,expander:"",style:{width:"3rem"}})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,i=>(e.openBlock(),e.createBlock(e.unref(pe),{key:i.field,field:i.field,header:i.header,sortable:i.sortable,style:e.normalizeStyle(i.style),"header-class":g(i),"body-class":g(i)},e.createSlots({body:e.withCtx(({data:$})=>[e.renderSlot(s.$slots,`column-${i.field}`,{data:$,value:$[i.field]},()=>[e.createVNode(Ne,{column:i,value:$[i.field],"row-data":$},null,8,["column","value","row-data"])])]),_:2},[J.value&&m(i.field)?{name:"editor",fn:e.withCtx(({data:$})=>{var A;return[["number","currency"].includes(((A=m(i.field))==null?void 0:A.type)||"")?(e.openBlock(),e.createBlock(e.unref(Ee),{key:0,"model-value":$[i.field]??null,fluid:"","onUpdate:modelValue":ne=>{$[i.field]=ne}},null,8,["model-value","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(e.unref(Z),{key:1,"model-value":$[i.field]??"",fluid:"","onUpdate:modelValue":ne=>{$[i.field]=ne}},null,8,["model-value","onUpdate:modelValue"]))]}),key:"0"}:void 0]),1032,["field","header","sortable","style","header-class","body-class"]))),128)),_.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(pe),{key:2,"header-class":"w-crud-actions-header",style:e.normalizeStyle({width:`${(Y.value.length+(e.unref(r)["row-actions"]?1:0))*2.5+1}rem`})},{body:e.withCtx(({data:i})=>[e.createElementVNode("div",lo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,$=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:$.action},[ee($,i)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:$.icon,text:"",rounded:"",size:"small",severity:$.severity,disabled:K($,i),onClick:A=>j($,i)},null,8,["icon","severity","disabled","onClick"])),[[M,$.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(s.$slots,"row-actions",{data:i,crud:t.crud})])]),_:3},8,["style"])):e.createCommentVNode("",!0)]),_:2},[t.expandable?{name:"expansion",fn:e.withCtx(i=>[e.renderSlot(s.$slots,"expansion",{data:i.data})]),key:"0"}:void 0]),1032,["expanded-rows","value","loading","rows","total-records","sort-field","sort-order","data-key","edit-mode","selection","selection-mode","context-menu","context-menu-selection","onPage"])])):(e.openBlock(),e.createElementBlock("div",oo,[e.createElementVNode("div",ao,[e.createElementVNode("div",no,[t.showSearch?(e.openBlock(),e.createBlock(e.unref(he),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(ge),{class:"pi pi-search"}),e.createVNode(e.unref(Z),{"model-value":t.crud.search.value,placeholder:"Buscar...",class:"w-72",onInput:t.crud.onSearch},null,8,["model-value","onInput"])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"toolbar-start"),e.renderSlot(s.$slots,"toolbar-filters")]),e.createElementVNode("div",ro,[e.renderSlot(s.$slots,"toolbar-actions"),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:"pi pi-download",text:"",size:"small",loading:ce.value,onClick:fe},null,8,["loading"])),[[M,t.csvScope==="all"?"Exportar tudo (CSV)":"Exportar página (CSV)",void 0,{top:!0}]]):e.createCommentVNode("",!0),t.viewToggle?(e.openBlock(),e.createElementBlock("div",io,[e.createVNode(e.unref(F),{icon:"pi pi-table",size:"small",text:!h("table"),outlined:h("table"),onClick:p[13]||(p[13]=i=>w("table"))},null,8,["text","outlined"]),e.createVNode(e.unref(F),{icon:"pi pi-th-large",size:"small",text:!h("cards"),outlined:h("cards"),onClick:p[14]||(p[14]=i=>w("cards"))},null,8,["text","outlined"])])):e.createCommentVNode("",!0),!t.showHeader&&le.value&&!t.actionRail?(e.openBlock(),e.createBlock(e.unref(F),{key:2,label:"Novo",icon:"pi pi-plus",onClick:p[15]||(p[15]=i=>t.crud.openCreateDialog())})):e.createCommentVNode("",!0)])]),t.crud.loading.value?(e.openBlock(),e.createElementBlock("div",so,[...p[21]||(p[21]=[e.createElementVNode("i",{class:"pi pi-spin pi-spinner"},null,-1)])])):t.crud.items.value.length?(e.openBlock(),e.createElementBlock("div",co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.crud.items.value,(i,$)=>(e.openBlock(),e.createElementBlock("div",{key:i[t.crud.config.pk||"id"]??$,class:e.normalizeClass(["w-crud-card",{"w-crud-card--selected":P.value===i}]),onClick:A=>C(i),onDblclick:A=>t.crud.config.canEdit!==!1&&t.crud.openEditDialog(i),onContextmenu:A=>ae(A,i)},[e.createElementVNode("div",mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(A,ne)=>(e.openBlock(),e.createElementBlock("div",{key:A.field,class:e.normalizeClass(["w-crud-card-row",{"w-crud-card-row--title":ne===0}])},[ne!==0?(e.openBlock(),e.createElementBlock("span",po,e.toDisplayString(A.header),1)):e.createCommentVNode("",!0),e.createElementVNode("span",fo,[e.renderSlot(s.$slots,`column-${A.field}`,{data:i,value:i[A.field]},()=>[e.createVNode(Ne,{column:A,value:i[A.field],"row-data":i},null,8,["column","value","row-data"])])])],2))),128))]),_.value&&!t.actionRail?(e.openBlock(),e.createElementBlock("div",vo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,A=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:A.action},[ee(A,i)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:A.icon,text:"",rounded:"",size:"small",severity:A.severity,disabled:K(A,i),onClick:ne=>j(A,i)},null,8,["icon","severity","disabled","onClick"])),[[M,A.tooltip,void 0,{top:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(s.$slots,"row-actions",{data:i,crud:t.crud})])):e.createCommentVNode("",!0)],42,uo))),128))])):e.renderSlot(s.$slots,"empty",{},()=>[p[22]||(p[22]=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))],void 0,1),t.crud.items.value.length?(e.openBlock(),e.createBlock(e.unref(mt),{key:3,rows:t.crud.pagination.pageSize,"total-records":t.crud.pagination.rows,first:S.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",ko,[le.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:"pi pi-plus",rounded:"",onClick:p[16]||(p[16]=i=>t.crud.openCreateDialog())},null,512)),[[M,"Novo",void 0,{left:!0}]]):e.createCommentVNode("",!0),le.value&&Y.value.length?(e.openBlock(),e.createElementBlock("div",ho)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.action},[!P.value||ee(i,P.value)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:0,icon:i.icon,text:"",rounded:"",severity:i.severity,disabled:!P.value||K(i,P.value),onClick:$=>P.value&&j(i,P.value)},null,8,["icon","severity","disabled","onClick"])),[[M,i.tooltip,void 0,{left:!0}]]):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(s.$slots,"rail-actions",{selected:P.value,crud:t.crud}),t.showPrint||t.exportCsv?(e.openBlock(),e.createElementBlock("div",go)):e.createCommentVNode("",!0),t.showPrint?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:3,icon:"pi pi-print",text:"",rounded:"",disabled:!P.value,onClick:$e},null,8,["disabled"])),[[M,"Imprimir",void 0,{left:!0}]]):e.createCommentVNode("",!0),t.exportCsv?e.withDirectives((e.openBlock(),e.createBlock(e.unref(F),{key:4,icon:"pi pi-download",text:"",rounded:"",loading:ce.value,onClick:fe},null,8,["loading"])),[[M,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(pt),{key:1,ref_key:"cm",ref:X,model:re.value},null,8,["model"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"form-dialog",{crud:t.crud,dialogWidth:t.dialogWidth},()=>{var i;return[e.createVNode(Pe,{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:((i=t.crud.viewMode)==null?void 0:i.value)??!1,width:t.dialogWidth,"form-columns":t.formColumns??t.crud.config.formColumns,"keyboard-nav":t.crud.config.keyboardNav,"onUpdate:visible":p[17]||(p[17]=$=>{t.crud.dialogVisible.value=$,$||(t.crud.editingItem.value=null)}),"onUpdate:field":p[18]||(p[18]=($,A)=>t.crud.setFormField($,A)),onSave:p[19]||(p[19]=$=>t.crud.save())},e.createSlots({_:2},[e.renderList(t.crud.config.form,$=>({name:`field-${$.field}`,fn:e.withCtx(A=>[e.renderSlot(s.$slots,`field-${$.field}`,e.normalizeProps(e.guardReactiveProps(A)))])}))]),1032,["visible","title","fields","form-data","is-editing","saving","disabled","width","form-columns","keyboard-nav"])]})])}}}),bo=e.defineComponent({__name:"WDateRange",props:{modelValue:{default:null},placeholder:{default:"Selecione o período"},minDate:{},maxDate:{},showButtonBar:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const l=a;function n(r){l("update:modelValue",r??null)}return(r,d)=>(e.openBlock(),e.createBlock(e.unref(Oe),{"model-value":t.modelValue??void 0,"selection-mode":"range",placeholder:t.placeholder,"min-date":t.minDate,"max-date":t.maxDate,"show-button-bar":t.showButtonBar,disabled:t.disabled,"date-format":"dd/mm/yy",fluid:"","onUpdate:modelValue":n},null,8,["model-value","placeholder","min-date","max-date","show-button-bar","disabled"]))}}),lt=e.defineComponent({__name:"WStatusTag",props:{value:{},map:{}},setup(t){const a=t,l={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(()=>(a.map??l)[a.value]??{label:a.value,severity:"secondary"});return(r,d)=>(e.openBlock(),e.createBlock(e.unref(Te),{value:n.value.label,severity:n.value.severity},null,8,["value","severity"]))}}),wo={class:"w-page-header"},Bo={class:"w-page-header-content"},Vo={class:"w-page-header-title"},Co={key:0,class:"w-page-header-subtitle"},Eo={class:"w-page-header-actions"},No=e.defineComponent({__name:"WPageHeader",props:{title:{},subtitle:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:a}){const l=a;return(n,r)=>(e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("div",Bo,[e.createElementVNode("h2",Vo,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Co,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Eo,[e.renderSlot(n.$slots,"actions"),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(F),{key:0,label:t.actionLabel,icon:t.actionIcon,onClick:r[0]||(r[0]=d=>l("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)])]))}}),$o={class:"w-empty-state"},So={class:"w-empty-state-icon"},xo={class:"w-empty-state-title"},Do={key:0,class:"w-empty-state-description"},Fo=e.defineComponent({__name:"WEmptyState",props:{icon:{},title:{},description:{},actionLabel:{},actionIcon:{}},emits:["action"],setup(t,{emit:a}){const l=a;return(n,r)=>(e.openBlock(),e.createElementBlock("div",$o,[e.createElementVNode("div",So,[e.createElementVNode("i",{class:e.normalizeClass(t.icon)},null,2)]),e.createElementVNode("p",xo,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",Do,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),t.actionLabel?(e.openBlock(),e.createBlock(e.unref(F),{key:1,label:t.actionLabel,icon:t.actionIcon,size:"small",class:"mt-3",onClick:r[0]||(r[0]=d=>l("action"))},null,8,["label","icon"])):e.createCommentVNode("",!0)]))}});/*!
4
+ * vue-router v4.6.4
5
+ * (c) 2025 Eduardo San Martin Morote
6
+ * @license MIT
7
+ */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 Po=Symbol(process.env.NODE_ENV!=="production"?"router":"");Symbol(process.env.NODE_ENV!=="production"?"route location":"");Symbol(process.env.NODE_ENV!=="production"?"router view location":"");/*!
8
+ * vue-router v4.6.4
9
+ * (c) 2025 Eduardo San Martin Morote
10
+ * @license MIT
11
+ */function Io(){return e.inject(Po)}const Ro={class:"w-detail-header"},Mo={class:"w-detail-header-left"},zo={class:"w-detail-header-content"},Ao={class:"w-detail-header-title"},Uo={key:0,class:"w-detail-header-subtitle"},Lo={class:"w-detail-header-actions"},To=e.defineComponent({__name:"WDetailHeader",props:{title:{},subtitle:{},icon:{},backRoute:{},backTo:{},status:{},statusMap:{}},setup(t){const a=t,l=Io();function n(){a.backTo?l.push(typeof a.backTo=="string"?{name:a.backTo}:a.backTo):a.backRoute?l.push({name:a.backRoute}):l.back()}return(r,d)=>(e.openBlock(),e.createElementBlock("div",Ro,[e.createElementVNode("div",Mo,[e.createVNode(e.unref(F),{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",zo,[e.createElementVNode("h2",Ao,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("p",Uo,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)]),t.status?(e.openBlock(),e.createBlock(lt,{key:1,value:t.status,map:t.statusMap},null,8,["value","map"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Lo,[e.renderSlot(r.$slots,"actions")])]))}}),qo={class:"w-info-card"},Oo={key:0,class:"w-info-card-title"},Wo={class:"w-info-card-grid"},jo={class:"w-info-card-label"},Ko={class:"w-info-card-value"},Ho=e.defineComponent({__name:"WInfoCard",props:{title:{},fields:{}},setup(t){const{formatCurrency:a,formatDate:l,formatNumber:n}=ue.useFormatters();function r(d){const k=d.value;return k==null||k===""?"-":d.format==="currency"?a(Number(k)):d.format==="date"?l(String(k)):d.format==="datetime"?l(String(k),"DD/MM/YYYY HH:mm"):d.format==="number"?n(Number(k)):String(k)}return(d,k)=>(e.openBlock(),e.createElementBlock("div",qo,[t.title?(e.openBlock(),e.createElementBlock("h3",Oo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Wo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,b=>(e.openBlock(),e.createElementBlock("div",{key:b.label,class:"w-info-card-field"},[e.createElementVNode("span",jo,e.toDisplayString(b.label),1),e.createElementVNode("span",Ko,e.toDisplayString(r(b)),1)]))),128))])]))}}),Go={key:0,class:"w-kpi-card__loading"},Yo={class:"w-kpi-card__loading-content"},Jo={class:"w-kpi-card__header"},Xo={key:0,class:"w-kpi-card__icon"},Zo={key:1,class:"w-kpi-card__trend"},Qo={class:"w-kpi-card__content"},_o={class:"w-kpi-card__label"},ea={class:"w-kpi-card__value"},ta={key:0,class:"w-kpi-card__hint"},la={key:0,class:"w-kpi-card__footer"},ot=e.defineComponent({__name:"WKpiCard",props:{label:{},value:{},icon:{},hint:{},severity:{},trend:{},loading:{type:Boolean}},setup(t){return(a,l)=>(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",Go,[e.createVNode(e.unref(we),{shape:"circle",size:"2.75rem"}),e.createElementVNode("div",Yo,[e.createVNode(e.unref(we),{width:"6rem",height:"0.75rem"}),e.createVNode(e.unref(we),{width:"7.5rem",height:"1.5rem"}),e.createVNode(e.unref(we),{width:"5rem",height:"0.75rem"})])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Jo,[t.icon||a.$slots.icon?(e.openBlock(),e.createElementBlock("div",Xo,[e.renderSlot(a.$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||a.$slots.trend?(e.openBlock(),e.createElementBlock("div",Zo,[e.renderSlot(a.$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",Qo,[e.createElementVNode("p",_o,e.toDisplayString(t.label),1),e.createElementVNode("div",ea,[e.renderSlot(a.$slots,"value",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])]),t.hint||a.$slots.hint?(e.openBlock(),e.createElementBlock("p",ta,[e.renderSlot(a.$slots,"hint",{},()=>[e.createTextVNode(e.toDisplayString(t.hint),1)])])):e.createCommentVNode("",!0)]),a.$slots.footer?(e.openBlock(),e.createElementBlock("footer",la,[e.renderSlot(a.$slots,"footer")])):e.createCommentVNode("",!0)],64))],2))}}),oa=e.defineComponent({__name:"WKpiGrid",props:{items:{default:()=>[]},columns:{default:4},dense:{type:Boolean,default:!1}},setup(t){const a=t,l=e.computed(()=>[a.columns==="auto"?"w-kpi-grid--auto":`w-kpi-grid--cols-${a.columns}`,{"w-kpi-grid--dense":a.dense}]);return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-kpi-grid",l.value])},[n.$slots.item?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(d,k)=>e.renderSlot(n.$slots,"item",{key:k,item:d,index:k})),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.items,(d,k)=>(e.openBlock(),e.createBlock(ot,{key:k,label:d.label,value:d.value,icon:d.icon,severity:d.severity||"primary",hint:d.hint,trend:d.trend,loading:d.loading},null,8,["label","value","icon","severity","hint","trend","loading"]))),128))],2))}}),aa={class:"w-section-header__main"},na={key:0,class:"w-section-header__icon"},ra={class:"w-section-header__content"},ia={class:"w-section-header__title-row"},sa={class:"w-section-header__title"},ca={key:0,class:"w-section-header__subtitle"},da={key:0,class:"w-section-header__actions"},ua=e.defineComponent({__name:"WSectionHeader",props:{title:{},subtitle:{},icon:{},compact:{type:Boolean}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-section-header",{"w-section-header--compact":t.compact}])},[e.createElementVNode("div",aa,[t.icon||a.$slots.icon?(e.openBlock(),e.createElementBlock("div",na,[e.renderSlot(a.$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",ra,[e.createElementVNode("div",ia,[e.createElementVNode("h3",sa,e.toDisplayString(t.title),1),e.renderSlot(a.$slots,"meta")]),t.subtitle?(e.openBlock(),e.createElementBlock("p",ca,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])]),a.$slots.actions?(e.openBlock(),e.createElementBlock("div",da,[e.renderSlot(a.$slots,"actions")])):e.createCommentVNode("",!0)],2))}}),ma={key:0,class:"w-form-section__header"},pa={class:"w-form-section__content"},fa={class:"w-form-section__title"},va={key:0,class:"w-form-section__description"},ka={key:0,class:"w-form-section__actions"},ha={class:"w-form-section__body"},ga=e.defineComponent({__name:"WFormSection",props:{title:{},description:{},variant:{}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["w-form-section",t.variant?`w-form-section--${t.variant}`:""])},[t.title||t.description||a.$slots.actions?(e.openBlock(),e.createElementBlock("div",ma,[e.createElementVNode("div",pa,[e.createElementVNode("h3",fa,e.toDisplayString(t.title),1),t.description?(e.openBlock(),e.createElementBlock("p",va,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),a.$slots.actions?(e.openBlock(),e.createElementBlock("div",ka,[e.renderSlot(a.$slots,"actions")])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",ha,[e.renderSlot(a.$slots,"default")])],2))}}),ya={key:0,class:"w-action-bar__primary"},ba={key:1,class:"w-action-bar__filters"},wa={key:2,class:"w-action-bar__secondary"},Ba=e.defineComponent({__name:"WActionBar",props:{align:{default:"between"},stackOnMobile:{type:Boolean,default:!0}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["w-action-bar",[`w-action-bar--${t.align}`,{"w-action-bar--stack":t.stackOnMobile}]])},[a.$slots.primary||a.$slots.default?(e.openBlock(),e.createElementBlock("div",ya,[e.renderSlot(a.$slots,"primary",{},()=>[e.renderSlot(a.$slots,"default")])])):e.createCommentVNode("",!0),a.$slots.filters?(e.openBlock(),e.createElementBlock("div",ba,[e.renderSlot(a.$slots,"filters")])):e.createCommentVNode("",!0),a.$slots.secondary?(e.openBlock(),e.createElementBlock("div",wa,[e.renderSlot(a.$slots,"secondary")])):e.createCommentVNode("",!0)],2))}}),Va={class:"w-progress-flow__marker"},Ca={class:"w-progress-flow__content"},Ea={class:"w-progress-flow__label"},Na={key:0,class:"w-progress-flow__description"},$a=e.defineComponent({__name:"WProgressFlow",props:{steps:{},currentStep:{},orientation:{default:"horizontal"}},setup(t){const a=t,l=e.computed(()=>a.steps.findIndex(r=>r.key===a.currentStep));function n(r){return r<l.value?"done":r===l.value?"current":"pending"}return(r,d)=>(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,(k,b)=>(e.openBlock(),e.createElementBlock("div",{key:k.key,class:e.normalizeClass(["w-progress-flow__step",`w-progress-flow__step--${n(b)}`])},[e.renderSlot(r.$slots,"step",{step:k,index:b,state:n(b)},()=>[e.createElementVNode("div",Va,[e.createElementVNode("span",null,e.toDisplayString(b+1),1)]),e.createElementVNode("div",Ca,[e.createElementVNode("p",Ea,e.toDisplayString(k.label),1),k.description?(e.openBlock(),e.createElementBlock("p",Na,e.toDisplayString(k.description),1)):e.createCommentVNode("",!0)])])],2))),128))],2))}});exports.WImageCropper=Ze;exports._sfc_main=Ba;exports._sfc_main$1=Je;exports._sfc_main$10=ga;exports._sfc_main$11=Ho;exports._sfc_main$12=ot;exports._sfc_main$13=oa;exports._sfc_main$14=Xe;exports._sfc_main$15=No;exports._sfc_main$16=$a;exports._sfc_main$17=ua;exports._sfc_main$18=lt;exports._sfc_main$19=Qe;exports._sfc_main$2=Ne;exports._sfc_main$3=Pe;exports._sfc_main$4=yo;exports._sfc_main$5=De;exports._sfc_main$6=bo;exports._sfc_main$7=To;exports._sfc_main$8=Fo;exports._sfc_main$9=_e;exports.downloadCsv=tt;exports.mapApiFieldToColumnDef=Ge;exports.mapApiFieldToFieldDef=Ke;exports.mapApiFieldsToColumnDefs=Ye;exports.mapApiFieldsToFieldDefs=He;exports.toCsv=et;
12
+ //# sourceMappingURL=WProgressFlow.vue_vue_type_script_setup_true_lang-C9YG4BXB.cjs.map