PageSourceSearch

https://bananasoft.ai/_next/static/chunks/45857-7c3c2b717773fd56.js

js bananasoft.ai collected 2026-10-05 15:08:50 UTC 42,757 bytes, 1 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5ccb4483-5f7c-4dcd-a95e-8f6e81e559ff",e._sentryDebugIdIdentifier="sentry-dbid-5ccb4483-5f7c-4dcd-a95e-8f6e81e559ff")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[45857],{2580:(e,t,a)=>{a.d(t,{p:()=>n});var s=a(95155),o=a(12115);let n=(0,o.forwardRef)(({as:e="input",label:t,error:a,required:n,icon:r,children:i,className:l="",id:c,...d},u)=>{let m=(0,o.useId)(),x=c||m,p=`${x}-error`,h=!!a,f=`input-banana ${l}`,v={id:x,"aria-invalid":!!h||void 0,"aria-describedby":h?p:void 0,"aria-required":n||void 0};return(0,s.jsxs)("div",{children:[t&&(0,s.jsxs)("label",{htmlFor:x,className:"label-banana mb-1 block",children:[t,n&&" *"]}),(0,s.jsxs)("div",{className:"relative",children:[r&&(0,s.jsx)("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 text-content-muted",children:r}),"select"===e?(0,s.jsx)("select",{ref:u,className:`${f} appearance-none ${r?"pl-10":""}`,...v,...d,children:i}):"textarea"===e?(0,s.jsx)("textarea",{ref:u,className:`${f} resize-none`,...v,...d}):(0,s.jsx)("input",{ref:u,className:`${f} ${r?"pl-10":""}`,...v,...d})]}),a&&(0,s.jsx)("p",{id:p,className:"mt-1 text-xs font-bold text-red",role:"alert",children:a})]})});n.displayName="Input"},3327:(e,t,a)=>{a.d(t,{q:()=>o});var s=a(7375);function o(e,t){let a=(0,s.MF)(t);return!!a&&(!0===a.alwaysIncluded||e.some(e=>e.modulo===t||e.modulo===a.featureId))}},4583:(e,t,a)=>{a.d(t,{ay:()=>p});var s=a(48368),o=a(67899),n=a(24642),r=a(7810),i=a(98307),l=a(55870),c=a(30122),d=a(97810),u=a(32390),m=a(14405),x=a(71275);let p=[{featureId:"orcamento",name:"Or\xe7amentos",description:"Monte or\xe7amentos a partir do estoque, escolha o cliente, aplique desconto por item e gere um documento profissional com sua logo, dados da empresa e do cliente.",category:"cross-cutting",icon:s.A,productRoute:"/orcamento",solutionRoute:"/solucoes/controle-estoque",status:"ready",priority:"P2"},{featureId:"pdv-vendas",name:"Ponto de Venda",description:"PDV completo com leitor de c\xf3digo de barras, busca por nome/SKU, carrinho, atalhos de teclado, m\xfaltiplas formas de pagamento e controle de caixa.",category:"core",icon:o.A,productRoute:"/ponto-de-venda",solutionRoute:"/solucoes/sistema-pdv",status:"ready",priority:"P0"},{featureId:"estoque-geral",name:"Estoque",description:"Controle de estoque com entradas, sa\xeddas, ajustes e alertas de estoque m\xednimo.",category:"core",icon:n.A,productRoute:"/estoque",solutionRoute:"/solucoes/controle-estoque",status:"ready",priority:"P0"},{featureId:"clientes-crm",name:"Clientes",description:"Cadastro completo de clientes com dados de contato, endere\xe7o e hist\xf3rico.",category:"core",icon:r.A,productRoute:"/clientes",solutionRoute:"/solucoes/sistema-pdv",status:"ready",alwaysIncluded:!0,priority:"P0"},{featureId:"ordens-servico",name:"Ordens de Servi\xe7o",description:"Gest\xe3o de ordens com fluxo de status, servi\xe7os, itens e atribui\xe7\xe3o de respons\xe1veis.",category:"vertical",icon:i.A,productRoute:"/ordens-servico",solutionRoute:"/solucoes/ordem-de-servico",status:"ready",priority:"P1"},{featureId:"producao",name:"Produ\xe7\xe3o",description:"Fichas t\xe9cnicas, ordens de produ\xe7\xe3o e controle de custo",category:"vertical",icon:l.A,productRoute:"/producao",solutionRoute:"/solucoes/sistema-pdv",status:"ready",priority:"P1"},{featureId:"caixa-diario",name:"Caixa Di\xe1rio",description:"Abertura e fechamento de caixa com controle de sangrias e confer\xeancia.",category:"vertical",icon:c.A,productRoute:"/caixa",solutionRoute:"/solucoes/sistema-pdv",status:"ready",priority:"P1"},{featureId:"caderneta-fiado",name:"Caderneta / Fiado",description:"Controle de cr\xe9dito para clientes recorrentes com limite e hist\xf3rico de lan\xe7amentos.",category:"vertical",icon:d.A,productRoute:"/caderneta",solutionRoute:"/solucoes/sistema-pdv",status:"ready",priority:"P2"},{featureId:"fiscal-nfce",name:"Fiscal / NFC-e",description:"Emiss\xe3o de NFC-e, consulta SEFAZ, DANFE e gest\xe3o de XMLs.",category:"vertical",icon:u.A,productRoute:"/fiscal",solutionRoute:"/solucoes/nota-fiscal-consumidor",status:"ready",priority:"P2"},{featureId:"relatorios-exportacao",name:"Relat\xf3rios & Exporta\xe7\xe3o",description:"Relat\xf3rios de vendas, estoque e desempenho com exporta\xe7\xe3o.",category:"core",icon:s.A,productRoute:"/relatorios",solutionRoute:"/solucoes/sistema-pdv",status:"ready",priority:"P2"},{featureId:"agenda-alunos",name:"Agenda de Alunos",description:"Matr\xedcula, check-in e hor\xe1rios de alunos — entrega em F2.",category:"vertical",icon:m.A,productRoute:"/agenda",solutionRoute:"/solucoes/academia",status:"planned",priority:"P2"},{featureId:"mensalidades",name:"Mensalidades Recorrentes",description:"Cobran\xe7a recorrente mensal de alunos via PIX/boleto — entrega em F2.",category:"vertical",icon:x.A,productRoute:"/mensalidades",solutionRoute:"/solucoes/academia",status:"planned",priority:"P2"}]},7375:(e,t,a)=>{a.d(t,{MF:()=>r,tO:()=>c,v5:()=>i});var s=a(4583);let o={pdv:"pdv-vendas",estoque:"estoque-geral",clientes:"clientes-crm",ordens:"ordens-servico",producao:"producao",caixa:"caixa-diario",caderneta:"caderneta-fiado",fiscal:"fiscal-nfce",relatorios:"relatorios-exportacao",orcamento:"orcamento"},n=Object.fromEntries(Object.entries(o).map(([e,t])=>[t,e]));function r(e){let t=o[e];if(t)return s.ay.find(e=>e.featureId===t)}function i(e){return o[e]?e:n[e]}let l=s.ay.filter(e=>e.alwaysIncluded).map(e=>n[e.featureId]).filter(e=>void 0!==e);function c(e){return[...new Set([...e.map(e=>i(e)).filter(e=>void 0!==e),...l])].filter(e=>{let t=r(e);return void 0!==t&&"planned"!==t.status})}},17640:(e,t,a)=>{a.d(t,{a:()=>o});let s=new Intl.NumberFormat("pt-BR",{maximumFractionDigits:3});function o(e,t){if(null==e||""===e)return"—";let a="number"==typeof e?e:Number(e);if(!Number.isFinite(a))return"—";let o=s.format(a).replace(/^-0$/,"0");return t?`${o} ${t}`:o}},19929:(e,t,a)=>{function s(e){return[{id:null,nome:"Todos os locais"},...e.filter(e=>e.ativo).map(e=>({id:e.id,nome:e.nome}))]}function o(e,t,a){if(null===a)return e;let s=new Map;for(let e of t)e.local_id===a&&s.set(e.estoque_id,e.quantidade);return e.map(e=>({...e,estoque_atual:s.get(e.id)??0}))}function n(e,t,a){let s=new Map;for(let e of a)s.set(e.id,e.nome);return t.filter(t=>t.estoque_id===e).map(e=>({localId:e.local_id,localNome:s.get(e.local_id)??"Local desconhecido",quantidade:e.quantidade}))}a.d(t,{EK:()=>o,UG:()=>n,YQ:()=>s})},36039:(e,t,a)=>{a.d(t,{a:()=>o});var s=a(12115);
1function o(e=768){let[t,a]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{let t=window.matchMedia(`(max-width: ${e-1}px)`);a(t.matches);let s=e=>a(e.matches);return t.addEventListener("change",s),()=>t.removeEventListener("change",s)},[e]),t}},42763:(e,t,a)=>{a.d(t,{Cf:()=>i,Es:()=>u,L3:()=>c,c7:()=>l,lG:()=>r,rr:()=>d});var s=a(95155),o=a(12115);function n(...e){return e.filter(Boolean).join(" ")}function r({open:e,onOpenChange:t,children:a}){let n=(0,o.useRef)(null);return((0,o.useEffect)(()=>{if(!e)return;let a=e=>{"Escape"===e.key&&t(!1)};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[e,t]),e)?(0,s.jsx)("div",{ref:n,role:"dialog","aria-modal":"true",onClick:e=>{e.target===n.current&&t(!1)},className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-4",children:a}):null}function i({children:e,className:t}){return(0,s.jsx)("div",{className:n("relative w-full max-w-md rounded-2xl border border-[var(--border)] bg-[var(--bg2)] p-6 shadow-xl",t),children:e})}function l({children:e,className:t}){return(0,s.jsx)("div",{className:n("space-y-2",t),children:e})}function c({children:e,className:t}){return(0,s.jsx)("h2",{className:n("text-lg font-semibold text-[var(--text)]",t),children:e})}function d({children:e,className:t}){return(0,s.jsx)("p",{className:n("text-sm text-[var(--text-muted)] leading-relaxed",t),children:e})}function u({children:e,className:t}){return(0,s.jsx)("div",{className:n("mt-6 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end sm:gap-2",t),children:e})}},44297:(e,t,a)=>{a.d(t,{KT:()=>n,ny:()=>o,zp:()=>s});let s={"sidebar.pdv-vendas":"Ponto de Venda","sidebar.estoque-geral":"Estoque","sidebar.clientes-crm":"Clientes","sidebar.inicio-rapido":"In\xedcio R\xe1pido","sidebar.ordens-servico":"Ordens de Servi\xe7o","sidebar.producao":"Produ\xe7\xe3o","sidebar.caixa-diario":"Caixa Di\xe1rio","sidebar.caderneta-fiado":"Caderneta / Fiado","sidebar.financeiro":"Financeiro","sidebar.fiscal-nfce":"Fiscal","sidebar.relatorios":"Relat\xf3rios","pages.dashboard.title":"Meu Neg\xf3cio","pages.dashboard.subtitle":"O ritmo do seu neg\xf3cio em tempo real","pages.estoque.title":"Estoque","pages.estoque.novo":"Novo produto","pages.estoque.empty":"Nenhum item encontrado","pages.estoque.empty-cta":"Cadastre o primeiro produto","pages.producao.title":"Produ\xe7\xe3o","pages.producao.nova-ficha":"Nova ficha t\xe9cnica","pages.pdv.adicionar":"Adicionar ao carrinho","pages.pdv.buscar":"Buscar produto","pages.pdv.carrinho-vazio":"Carrinho vazio","pages.clientes.title":"Clientes","pages.clientes.novo":"Novo cliente","pages.clientes.empty":"Nenhum cliente cadastrado","inicio-rapido.destino.produto":"Produto / item de estoque","inicio-rapido.destino.cliente":"Cliente","inicio-rapido.destino.servico":"Servi\xe7o","common.adicionar":"Adicionar","common.salvar":"Salvar","common.cancelar":"Cancelar"};function o(e){switch(e){case"pdv-vendas":return"sidebar.pdv-vendas";case"estoque-geral":return"sidebar.estoque-geral";case"clientes-crm":return"sidebar.clientes-crm";case"inicio-rapido":return"sidebar.inicio-rapido";case"ordens-servico":return"sidebar.ordens-servico";case"producao":return"sidebar.producao";case"caixa-diario":return"sidebar.caixa-diario";case"caderneta-fiado":return"sidebar.caderneta-fiado";case"financeiro":return"sidebar.financeiro";case"fiscal-nfce":return"sidebar.fiscal-nfce";case"relatorios":return"sidebar.relatorios"}}function n(e){return"pdv-vendas"===e||"estoque-geral"===e||"clientes-crm"===e||"inicio-rapido"===e||"ordens-servico"===e||"producao"===e||"caixa-diario"===e||"caderneta-fiado"===e||"financeiro"===e||"fiscal-nfce"===e||"relatorios"===e}},45857:(e,t,a)=>{a.d(t,{d:()=>er});var s=a(95155),o=a(73321),n=a(74865),r=a(12115),i=a(98500),l=a.n(i),c=a(11083),d=a(21885),u=a(56185),m=a(51914),x=a(24642),p=a(41585),h=a(92622),f=a(24538),v=a(65770),g=a(33210),b=a(7915),j=a(49387),y=a(60285),N=a(25344),C=a(91958),q=a(66609),_=a(63446),w=a(60302),k=a(3646),A=a(51237);let $={"estoque-geral":"estoque"};function F(e){let t=e.replace(/^\/demo\//,""),a=$[t]??t,s=`/${a}`;return{basePath:s,route:e=>{let t;return t=s.endsWith("/")?s.slice(0,-1):s,`${t}${e}`},isWorkspace:!0}}var R=a(71421),I=a(93144),P=a(95658),E=a(78857),z=a(2580),S=a(42763),M=a(19929);function D({dataValidade:e}){let t=function(e){if(!e)return null;let t=new Date;t.setHours(0,0,0,0);let a=new Date(e+"T00:00:00");a.setHours(0,0,0,0);let s=Math.ceil((a.getTime()-t.getTime())/864e5);return s<=0?{type:"vencido"}:s<=7?{type:"proximo",days:s}:null}(e);return t?"vencido"===t.type?(0,s.jsx)(E.E,{variant:"danger",children:"Vencido"}):(0,s.jsxs)(E.E,{variant:"warning",children:["Vence em ",t.days," ",1===t.days?"dia":"dias"]}):null}var T=a(69665),L=a(77787),O=a(82917),B=a(47730),K=a(17505);function V({loading:e,error:t,filteredCount:a,totalCount:o,hasFilters:n,emptyTitle:r,emptyDescription:i,onRetry:l,children:c}){if(e)return(0,s.jsxs)("div",{role:"status","aria-label":"Carregando estoque",children:[(0,s.jsx)("span",{className:"sr-only",children:"Carregando estoque"}),(0,s.jsx)(K.E,{variant:"table",rows:5})]});if(t)return(0,s.jsxs)("div",{role:"alert",className:"flex flex-col items-center justify-center rounded-xl border border-outline bg-surface-card px-6 py-12 text-center",children:[(0,s.jsx)(p.A,{size:48,className:"mb-3 text-red","aria-hidden":"true"}),(0,s.jsx)("h3",{className:"text-lg font-bold text-content",children:"N\xe3o foi poss\xedvel carregar o estoque"}),(0,s.jsx)("p",{className:"mt-1 text-sm text-content-muted",children:"Verifique sua conex\xe3o e tente novamente."}),(0,s.jsx)(I.$,{className:"mt-4",variant:"secondary",onClick:l,children:"Tentar novamente"})]});if(0===a){let e=o>0||n;return(0,s.jsx)(B.p,{icon:x.A,title:e?"Nenhum item corresponde aos filtros":r,de
1scription:e?"Ajuste a busca ou os filtros para ver outros itens.":i})}return c}var Z=a(17640);let G="input-banana h-10 w-[132px] shrink-0 bg-surface-card px-3 text-sm shadow-sm",Y=[{key:"nome",label:"Nome"},{key:"categoria",label:"Categoria"},{key:"unidade",label:"Unidade",align:"text-center"},{key:"estoque_atual",label:"Estoque",align:"text-right"},{key:"custo_medio",label:"Custo M\xe9dio",align:"text-right"},{key:"preco_compra",label:"Pre\xe7o Compra",align:"text-right"},{key:"preco_venda",label:"Pre\xe7o Venda",align:"text-right"}];function J({initialFilter:e=null}){let{itens:t,loading:a,error:o,refresh:n,desativarItem:i}=(0,k.Ii)(),{route:g}=F("estoque-geral"),{modules:b,role:j}=(0,R.K)(),y=b.includes("fiscal"),N=(0,O.mk)(b,j?.nome??null),[C,q]=(0,r.useState)(()=>(0,T.qv)(e)),[_,w]=(0,r.useState)("nome"),[$,E]=(0,r.useState)("asc"),S=(0,L.L)("pages.estoque.title"),D=(0,L.L)("pages.estoque.novo"),B=(0,L.L)("pages.estoque.empty"),K=(0,L.L)("pages.estoque.empty-cta"),{multiLocalEnabled:Z,locais:H,saldos:X,selectedLocalId:ee,selectLocal:et}=(0,A.O2)(),ea=(0,r.useMemo)(()=>(0,M.YQ)(H),[H]),es=(0,r.useMemo)(()=>(0,M.EK)(t,X,ee),[t,X,ee]),eo=(0,r.useMemo)(()=>(0,T.TS)(es),[es]),en=(0,r.useMemo)(()=>(0,T.jG)((0,T.fJ)(es,C),_,$),[es,C,_,$]),er=es.length,ei=es.filter(e=>e.ativo).length,el=es.filter(e=>e.ativo&&e.estoque_atual<e.estoque_minimo).length,ec=(0,T.MD)(C),ed=e=>q(t=>({...t,...e}));return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"mb-6 flex items-center justify-between",children:[(0,s.jsx)("h2",{className:"text-2xl font-bold text-content",children:S}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l(),{href:g("/perdas"),children:(0,s.jsx)(I.$,{variant:"secondary",icon:(0,s.jsx)(c.A,{size:16}),children:"Perdas"})}),(0,s.jsx)(l(),{href:g("/movimentacoes"),children:(0,s.jsx)(I.$,{variant:"secondary",icon:(0,s.jsx)(d.A,{size:16}),children:"Movimenta\xe7\xf5es"})}),N&&(0,s.jsx)(l(),{href:g("/nfe-entrada"),children:(0,s.jsx)(I.$,{variant:"secondary",icon:(0,s.jsx)(u.A,{size:16}),children:"Notas de compra"})}),(0,s.jsx)(l(),{href:g("/novo"),children:(0,s.jsx)(I.$,{icon:(0,s.jsx)(m.A,{size:16}),children:D})})]})]}),(0,s.jsxs)("div",{className:"mb-6 grid grid-cols-3 gap-4",children:[(0,s.jsx)(W,{icon:(0,s.jsx)(x.A,{size:20,className:"text-blue"}),bgClass:"bg-blue-bg",label:"Total de Itens",value:er,onClick:()=>ed({status:"todos",condition:"todos"})}),(0,s.jsx)(W,{icon:(0,s.jsx)(x.A,{size:20,className:"text-green"}),bgClass:"bg-green-bg",label:"Ativos",value:ei,onClick:()=>ed({status:"ativos"})}),(0,s.jsx)(W,{icon:(0,s.jsx)(p.A,{size:20,className:"text-red"}),bgClass:"bg-red-bg",label:"Estoque Baixo",value:el,valueClass:"text-red",onClick:()=>ed({status:"ativos",condition:"abaixo-minimo"})})]}),(0,s.jsx)(P.Z,{className:"mb-3 p-3 sm:p-4",children:(0,s.jsxs)("div",{role:"search","aria-label":"Filtros de estoque",className:"flex flex-wrap items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex h-10 shrink-0 items-center gap-2 rounded-lg bg-banana-bg px-2.5 text-banana-dark",children:[(0,s.jsx)(h.A,{size:16,"aria-hidden":"true"}),(0,s.jsx)("span",{className:"text-xs font-bold",children:"Filtros"})]}),(0,s.jsx)("div",{className:"min-w-[180px] flex-1",children:(0,s.jsx)(z.p,{className:"h-10 bg-surface-card text-sm shadow-sm",icon:(0,s.jsx)(x.A,{size:16}),value:C.search,onChange:e=>ed({search:e.target.value}),placeholder:"Buscar por nome, categoria ou c\xf3digo de barras..."})}),Z&&(0,s.jsxs)("label",{className:"flex shrink-0 items-center gap-2",children:[(0,s.jsx)(f.A,{size:16,className:"text-content-muted"}),(0,s.jsx)("select",{value:ee??"",onChange:e=>et(e.target.value||null),className:G,"aria-label":"Filtrar por local",children:ea.map(e=>(0,s.jsx)("option",{value:e.id??"",children:e.nome},e.id??"__all__"))})]}),(0,s.jsxs)("select",{value:C.status,onChange:e=>ed({status:e.target.value}),className:G,"aria-label":"Status do item",children:[(0,s.jsx)("option",{value:"ativos",children:"Ativos"}),(0,s.jsx)("option",{value:"inativos",children:"Inativos"}),(0,s.jsx)("option",{value:"todos",children:"Todos os status"})]}),(0,s.jsxs)("select",{value:C.condition,onChange:e=>ed({condition:e.target.value}),className:"input-banana h-10 w-[148px] shrink-0 bg-surface-card px-3 text-sm shadow-sm","aria-label":"Condi\xe7\xe3o do estoque",children:[(0,s.jsx)("option",{value:"todos",children:"Todo estoque"}),(0,s.jsx)("option",{value:"critico",children:"Cr\xedtico (painel)"}),(0,s.jsx)("option",{value:"atencao",children:"Aten\xe7\xe3o (painel)"}),(0,s.jsx)("option",{value:"abaixo-minimo",children:"Abaixo do m\xednimo"}),(0,s.jsx)("option",{value:"zerado",children:"Zerado"}),(0,s.jsx)("option",{value:"negativo",children:"Negativo"})]}),(0,s.jsxs)("select",{value:C.category,onChange:e=>ed({category:e.target.value}),className:"input-banana h-10 w-[160px] shrink-0 bg-surface-card px-3 text-sm shadow-sm","aria-label":"Categoria",children:[(0,s.jsx)("option",{value:"todos",children:"Todas categorias"}),eo.map(e=>(0,s.jsx)("option",{value:e,children:e},e))]}
1),(0,s.jsxs)("select",{value:C.type,onChange:e=>ed({type:e.target.value}),className:"input-banana h-10 w-[180px] shrink-0 bg-surface-card px-3 text-sm shadow-sm","aria-label":"Tipo do item",children:[(0,s.jsx)("option",{value:"todos",children:"Produtos e insumos"}),(0,s.jsx)("option",{value:"produto",children:"Produtos"}),(0,s.jsx)("option",{value:"insumo",children:"Insumos"}),(0,s.jsx)("option",{value:"ambos",children:"Ambos"})]}),y&&(0,s.jsxs)("label",{className:"flex h-10 shrink-0 cursor-pointer items-center gap-1.5 rounded-lg border border-outline bg-surface-card px-2.5 text-sm font-medium text-content shadow-sm",children:[(0,s.jsx)("input",{type:"checkbox",checked:C.semNf,onChange:e=>ed({semNf:e.target.checked})})," Sem NF"]})]})}),ec&&(0,s.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-2 text-xs",children:[(0,s.jsx)("span",{className:"font-medium text-content-muted",children:"Filtros aplicados:"}),"ativos"!==C.status&&(0,s.jsx)(U,{label:"todos"===C.status?"Todos os status":"Inativos",onRemove:()=>ed({status:"ativos"})}),"todos"!==C.condition&&(0,s.jsx)(U,{label:"abaixo-minimo"===C.condition?"Abaixo do m\xednimo":"critico"===C.condition?"Cr\xedtico (painel)":"atencao"===C.condition?"Aten\xe7\xe3o (painel)":C.condition,onRemove:()=>ed({condition:"todos"})}),"todos"!==C.category&&(0,s.jsx)(U,{label:C.category,onRemove:()=>ed({category:"todos"})}),"todos"!==C.type&&(0,s.jsx)(U,{label:C.type,onRemove:()=>ed({type:"todos"})}),C.semNf&&(0,s.jsx)(U,{label:"Sem NF",onRemove:()=>ed({semNf:!1})}),(0,s.jsx)("button",{type:"button",className:"px-2 py-1 font-semibold text-blue underline",onClick:()=>q(T.t$),children:"Limpar filtros"})]}),(0,s.jsx)(V,{loading:a,error:o,filteredCount:en.length,totalCount:es.length,hasFilters:ec,emptyTitle:B,emptyDescription:K,onRetry:()=>void n(),children:(0,s.jsx)("div",{className:"overflow-hidden rounded-xl border border-outline",children:(0,s.jsxs)("table",{className:"w-full",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{className:"border-b border-outline bg-surface",children:[Y.map(e=>(0,s.jsx)("th",{"aria-sort":_===e.key?"asc"===$?"ascending":"descending":"none",className:`px-4 py-3 ${e.align??"text-left"}`,children:(0,s.jsxs)("button",{type:"button",onClick:()=>{var t;(t=e.key)===_?E(e=>"asc"===e?"desc":"asc"):(w(t),E("asc"))},className:"inline-flex items-center gap-1 text-xs font-semibold text-content-tertiary hover:text-content",children:[e.label,(0,s.jsx)(v.A,{size:13,"aria-hidden":"true"})]})},e.key)),(0,s.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-content-tertiary",children:"GTIN"}),(0,s.jsx)("th",{className:"px-4 py-3 text-right text-xs font-semibold text-content-tertiary",children:"A\xe7\xf5es"})]})}),(0,s.jsx)("tbody",{children:en.map(e=>(0,s.jsx)(Q,{item:e,route:g,hasFiscal:y,onDesativar:i},e.id))})]})})})]})}function U({label:e,onRemove:t}){return(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-surface-hover px-2 py-1 text-content-secondary",children:[e,(0,s.jsx)("button",{type:"button",onClick:t,"aria-label":`Remover filtro ${e}`,children:(0,s.jsx)(g.A,{size:12})})]})}function W({icon:e,bgClass:t,label:a,value:o,valueClass:n="text-content",onClick:r}){return(0,s.jsx)("button",{type:"button",onClick:r,className:"text-left",children:(0,s.jsx)(P.Z,{className:"w-full transition-colors hover:bg-surface-hover",children:(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:`flex h-10 w-10 items-center justify-center rounded-lg ${t}`,children:e}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"text-xs text-content-muted",children:a}),(0,s.jsx)("p",{className:`text-xl font-bold ${n}`,children:o})]})]})})})}function Q({item:e,route:t,hasFiscal:a,onDesativar:o}){let n=e.ativo&&e.estoque_atual<e.estoque_minimo;return(0,s.jsxs)("tr",{className:"border-b border-outline last:border-b-0 bg-surface-card hover:bg-surface-input",children:[(0,s.jsx)("td",{className:"px-4 py-3",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(l(),{href:t(`/${e.id}`),className:"text-sm font-medium text-content hover:text-banana-dark hover:underline",children:e.nome}),!e.ativo&&(0,s.jsx)(E.E,{variant:"danger",children:"Inativo"}),(0,s.jsx)(D,{dataValidade:e.data_validade}),a&&(0,s.jsx)(E.E,{variant:e.has_nf?"success":"danger",children:e.has_nf?"NF":"Sem NF"})]})}),(0,s.jsx)("td",{className:"px-4 py-3 text-sm text-content-tertiary",children:e.categoria||"—"}),(0,s.jsx)("td",{className:"px-4 py-3 text-center text-sm text-content-tertiary",children:e.unidade}),(0,s.jsx)("td",{className:"px-4 py-3 text-right",children:(0,s.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,s.jsx)("span",{className:`text-sm font-medium ${n?"text-red":"text-content"}`,children:(0,Z.a)(e.estoque_atual)}),n&&(0,s.jsxs)(E.E,{variant:"danger",className:"inline-flex items-center gap-1",children:[(0,s.jsx)(p.A,{size:10}),"Baixo"]})]})}),(0,s.jsx)("td",{className:"px-4 py-3 text-right text-sm text-content-tertiary",children:(0,w.iP)(e.custo_medio)}),(0,s.jsx)("td",{className:"px-4 py-3 text-right text-sm text-content-tertiary",children:(0,w.iP)(e.preco_compra)}),(0,s.jsx)("td",{className:"px-4 py-3 text-right text-sm text-content-tertiary",children:null!=e.preco_venda?(0,_.vv)(e.preco_venda):"—"}),(0,s.jsx)("td",{className:"px-4 py-3 text-sm text-content-tertiary font-mono",children:e.gt
1in??"—"}),(0,s.jsx)("td",{className:"px-4 py-3 text-right",children:(0,s.jsx)(H,{item:e,route:t,onDesativar:o})})]})}function H({item:e,route:t,onDesativar:a}){let[o,n]=(0,r.useState)(!1),[i,u]=(0,r.useState)(!1),[m,x]=(0,r.useState)(!1);async function p(){if(!a)return;x(!0);let t=await a(e.id);(x(!1),t.success)?(q.oR.success(t.message),u(!1)):q.oR.error(t.message)}return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"relative inline-flex items-center",children:[(0,s.jsx)(l(),{href:t(`/${e.id}`),"aria-label":`Ver detalhes de ${e.nome}`,className:"rounded-lg p-2 text-content-tertiary hover:bg-surface-hover",children:(0,s.jsx)(b.A,{size:18})}),(0,s.jsx)(l(),{href:t(`/${e.id}/editar`),"aria-label":`Editar ${e.nome}`,className:"rounded-lg p-2 text-content-tertiary hover:bg-surface-hover",children:(0,s.jsx)(j.A,{size:18})}),(0,s.jsx)("button",{type:"button","aria-label":`A\xe7\xf5es para ${e.nome}`,"aria-expanded":o,onClick:()=>n(e=>!e),className:"rounded-lg p-2 text-content-tertiary hover:bg-surface-hover",children:(0,s.jsx)(y.A,{size:18})}),o&&(0,s.jsxs)("div",{className:"absolute right-0 z-20 mt-1 w-48 rounded-lg border border-outline bg-surface-card p-1 text-left shadow-lg",children:[(0,s.jsxs)(l(),{href:t(`/entrada?item=${e.id}`),className:"block rounded px-3 py-2 text-sm text-green hover:bg-surface-hover",children:[(0,s.jsx)(N.A,{size:14,className:"mr-2 inline"}),"Entrada"]}),(0,s.jsxs)(l(),{href:t(`/saida?item=${e.id}`),className:"block rounded px-3 py-2 text-sm text-red hover:bg-surface-hover",children:[(0,s.jsx)(d.A,{size:14,className:"mr-2 inline"}),"Sa\xedda"]}),(0,s.jsxs)(l(),{href:t(`/ajuste?item=${e.id}`),className:"block rounded px-3 py-2 text-sm text-blue hover:bg-surface-hover",children:[(0,s.jsx)(C.A,{size:14,className:"mr-2 inline"}),"Ajuste"]}),e.ativo&&a&&(0,s.jsxs)("button",{type:"button",onClick:()=>{n(!1),u(!0)},className:"block w-full rounded px-3 py-2 text-left text-sm text-red hover:bg-red-bg",children:[(0,s.jsx)(c.A,{size:14,className:"mr-2 inline"}),"Remover do estoque"]})]})]}),(0,s.jsx)(S.lG,{open:i,onOpenChange:u,children:(0,s.jsxs)(S.Cf,{children:[(0,s.jsxs)(S.c7,{children:[(0,s.jsx)(S.L3,{children:"Remover do estoque?"}),(0,s.jsxs)(S.rr,{children:["“",e.nome,"” ser\xe1 desativado e deixar\xe1 de aparecer na lista de ativos. O hist\xf3rico e as movimenta\xe7\xf5es ser\xe3o preservados."]})]}),(0,s.jsxs)(S.Es,{children:[(0,s.jsx)(I.$,{variant:"secondary",onClick:()=>u(!1),disabled:m,children:"Cancelar"}),(0,s.jsx)(I.$,{variant:"danger",onClick:p,disabled:m,children:m?"Removendo...":"Remover do estoque"})]})]})})]})}var X=a(61878),ee=a(21362),et=a(46388);function ea({title:e,route:t,notasDeCompra:a=!1}){return(0,s.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-x-4 gap-y-2",children:[(0,s.jsx)("h2",{className:"min-w-0 text-xl font-bold text-content",children:e}),(0,s.jsxs)("div",{className:"ml-auto flex flex-wrap items-center justify-end gap-x-4 gap-y-2",children:[(0,s.jsx)(l(),{href:t("/perdas"),className:"text-sm font-medium text-blue",children:"Perdas"}),(0,s.jsx)(l(),{href:t("/movimentacoes"),className:"text-sm font-medium text-blue",children:"Movimenta\xe7\xf5es"}),a&&(0,s.jsx)(l(),{href:t("/nfe-entrada"),className:"text-sm font-medium text-blue",children:"Notas de compra"})]})]})}function es({initialFilter:e=null}){let{itens:t,loading:a,error:o,refresh:n,desativarItem:i}=(0,k.Ii)(),{route:c}=F("estoque-geral"),{modules:d,role:u}=(0,R.K)(),x=d.includes("fiscal"),p=(0,O.mk)(d,u?.nome??null),{multiLocalEnabled:h,locais:v,saldos:b,selectedLocalId:j,selectLocal:y}=(0,A.O2)(),[N,C]=(0,r.useState)(()=>(0,T.qv)(e)),[q,_]=(0,r.useState)("nome"),[w,$]=(0,r.useState)("asc"),I=(0,L.L)("pages.estoque.title"),P=(0,L.L)("pages.estoque.novo"),E=(0,L.L)("pages.estoque.empty"),S=(0,L.L)("pages.estoque.empty-cta"),D=(0,r.useMemo)(()=>(0,M.EK)(t,b,j),[t,b,j]),B=(0,r.useMemo)(()=>(0,M.YQ)(v),[v]),K=(0,r.useMemo)(()=>(0,T.TS)(D),[D]),Z=(0,r.useMemo)(()=>(0,T.jG)((0,T.fJ)(D,N),q,w),[D,N,q,w]),G=D.length,Y=D.filter(e=>e.ativo).length,J=D.filter(e=>e.ativo&&e.estoque_atual<e.estoque_minimo).length,U=(0,T.MD)(N),W=e=>C(t=>({...t,...e}));return(0,s.jsxs)("div",{children:[(0,s.jsx)(ea,{title:I,route:c,notasDeCompra:p}),(0,s.jsxs)("div",{className:"mb-4 grid grid-cols-3 gap-2",children:[(0,s.jsx)(eo,{label:"Total",value:G,onClick:()=>W({status:"todos",condition:"todos"})}),(0,s.jsx)(eo,{label:"Ativos",value:Y,onClick:()=>W({status:"ativos"})}),(0,s.jsx)(eo,{label:"Baixo",value:J,alert:!0,onClick:()=>W({status:"ativos",condition:"abaixo-minimo"})})]}),(0,s.jsx)("div",{className:"mb-3",children:(0,s.jsx)(z.p,{icon:(0,s.jsx)(X.A,{size:16}),value:N.search,onChange:e=>W({search:e.target.value}),placeholder:"Buscar por nome ou categoria..."})}),(0,s.jsxs)("div",{className:"mb-3 grid grid-cols-2 gap-2",children:[h&&(0,s.jsxs)("label",{className:"col-span-2 flex items-center gap-2",children:[(0,s.jsx)(f.A,{size:16,className:"text-content-muted"}),(0,s.jsx)("select",{value:j??"",onChange:e=>y(e.target.value||null),className:"input-banana w-full text-sm","aria-label":"Filtrar por local",children:B.map(e=>(0,s.jsx)("option",{value:e.id??"",children:e.nome},e.id??"__all__"))})]}),(0,s.jsxs)("select",{value:N.status,onChange:e=>W({status:e.target.value}),className:"input-banana text-sm","aria-label":"Status do item",children:[(0,s.jsx)("option",{value:"ativos",children:"Ativos"}),(0,s.jsx)("option",{value:"inativos",children:"Inativos"}),(0,s.jsx)("option",{value:"todos",children:"Todos"})]}),(0,s.jsxs)("select",{value:N.condition,onChange:e=>W({condition:e.target.value}),className:"input-banana text-sm","aria-label":"Condi\xe7\xe3o do estoque",children:[(0,s.jsx)("option",{value:"todos",children:"Todo estoque"}),(0,s.jsx)("option",{value:"critico",children:"Cr\xedtico (painel)"}),(0,s.jsx)("option",{value:"atencao",children:"Aten\xe7\xe3o (painel)"}),(0,s.jsx)("option",{value:"abaixo-minimo",children:"Abaixo do m\xednimo"}),(0,s.jsx)("option",{value:"zerado",children:"Zerado"}),(0,s.jsx)("option",{value:"negativo",children:"Negativo"})]}),(0,s.jsxs)("select",{value:N.category,onChange:e=>W({category:e.target.value}),className:"input-banana text-sm","aria-label":"Categoria",children:[(0,s.jsx)("option",{value:"todos",children:"Categorias"}),K.map(e=>(0,s.jsx)("option",{children:e},e))]}
1),(0,s.jsxs)("select",{value:N.type,onChange:e=>W({type:e.target.value}),className:"input-banana text-sm","aria-label":"Tipo do item",children:[(0,s.jsx)("option",{value:"todos",children:"Produtos e insumos"}),(0,s.jsx)("option",{value:"produto",children:"Produtos"}),(0,s.jsx)("option",{value:"insumo",children:"Insumos"}),(0,s.jsx)("option",{value:"ambos",children:"Ambos"})]}),(0,s.jsxs)("select",{value:`${q}:${w}`,onChange:e=>{let[t,a]=e.target.value.split(":");_(t),$(a)},className:"input-banana col-span-2 text-sm","aria-label":"Ordenar itens",children:[(0,s.jsx)("option",{value:"nome:asc",children:"Nome, A a Z"}),(0,s.jsx)("option",{value:"nome:desc",children:"Nome, Z a A"}),(0,s.jsx)("option",{value:"estoque_atual:asc",children:"Estoque, menor primeiro"}),(0,s.jsx)("option",{value:"estoque_atual:desc",children:"Estoque, maior primeiro"}),(0,s.jsx)("option",{value:"categoria:asc",children:"Categoria, A a Z"}),(0,s.jsx)("option",{value:"custo_medio:desc",children:"Custo m\xe9dio, maior primeiro"}),(0,s.jsx)("option",{value:"preco_compra:desc",children:"Pre\xe7o compra, maior primeiro"}),(0,s.jsx)("option",{value:"preco_venda:desc",children:"Pre\xe7o venda, maior primeiro"})]}),x&&(0,s.jsxs)("label",{className:"col-span-2 flex items-center gap-2 text-sm text-content",children:[(0,s.jsx)("input",{type:"checkbox",checked:N.semNf,onChange:e=>W({semNf:e.target.checked})})," Sem NF"]})]}),U&&(0,s.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2 text-xs text-content-muted",children:[(0,s.jsx)("span",{children:"Filtros aplicados:"}),"ativos"!==N.status&&(0,s.jsx)("span",{className:"rounded-full bg-surface-hover px-2 py-1",children:N.status}),"todos"!==N.condition&&(0,s.jsx)("span",{className:"rounded-full bg-surface-hover px-2 py-1",children:"abaixo-minimo"===N.condition?"Abaixo do m\xednimo":"critico"===N.condition?"Cr\xedtico (painel)":"atencao"===N.condition?"Aten\xe7\xe3o (painel)":N.condition}),"todos"!==N.category&&(0,s.jsx)("span",{className:"rounded-full bg-surface-hover px-2 py-1",children:N.category}),"todos"!==N.type&&(0,s.jsx)("span",{className:"rounded-full bg-surface-hover px-2 py-1",children:N.type}),N.semNf&&(0,s.jsx)("span",{className:"rounded-full bg-surface-hover px-2 py-1",children:"Sem NF"}),(0,s.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1 font-semibold text-blue underline",onClick:()=>C(T.t$),children:[(0,s.jsx)(g.A,{size:12})," Limpar filtros"]})]}),(0,s.jsx)(V,{loading:a,error:o,filteredCount:Z.length,totalCount:D.length,hasFilters:U,emptyTitle:E,empty
1Description:S,onRetry:()=>void n(),children:(0,s.jsx)("div",{className:"space-y-2",children:Z.map((e,t)=>(0,s.jsx)(en,{item:e,index:t,route:c,hasFiscal:x,onDesativar:i},e.id))})}),(0,s.jsx)(l(),{href:c("/novo"),"aria-label":P,className:"fixed bottom-24 right-4 z-30 flex h-14 w-14 items-center justify-center rounded-full bg-banana text-content shadow-lg active:bg-banana-dark",children:(0,s.jsx)(m.A,{size:24})})]})}function eo({label:e,value:t,alert:a=!1,onClick:o}){return(0,s.jsx)("button",{type:"button",onClick:o,className:"text-left",children:(0,s.jsxs)(P.Z,{className:"p-3 transition-colors hover:bg-surface-hover",children:[(0,s.jsx)("p",{className:"text-[11px] text-content-muted",children:e}),(0,s.jsx)("p",{className:`text-lg font-bold ${a?"text-red":"text-content"}`,children:t})]})})}function en({item:e,index:t,route:a,hasFiscal:o,onDesativar:n}){let r=e.ativo&&e.estoque_atual<e.estoque_minimo;return(0,s.jsxs)("div",{className:"flex items-center rounded-xl border border-outline bg-surface-card p-4 active:bg-surface-hover",style:{animation:`itemIn 0.3s var(--spring) ${.05*t}s both`},children:[(0,s.jsxs)(l(),{href:a(`/${e.id}`),className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:[(0,s.jsx)("p",{className:"max-w-full truncate text-sm font-semibold text-content",children:e.nome}),!e.ativo&&(0,s.jsx)(E.E,{variant:"danger",children:"Inativo"}),r&&(0,s.jsxs)(E.E,{variant:"danger",className:"inline-flex items-center gap-1",children:[(0,s.jsx)(p.A,{size:10}),"Baixo"]}),o&&(0,s.jsx)(E.E,{variant:e.has_nf?"success":"danger",children:e.has_nf?"NF":"Sem NF"})]}),(0,s.jsxs)("div",{className:"mt-1 flex flex-wrap items-center gap-3 text-xs text-content-muted",children:[e.categoria&&(0,s.jsx)("span",{children:e.categoria}),(0,s.jsx)("span",{children:(0,Z.a)(e.estoque_atual,e.unidade)}),null!=(0,et.c)(e)&&(0,s.jsxs)("span",{children:["Custo: ",(0,w.iP)((0,et.c)(e))]}),null!=e.preco_venda&&(0,s.jsx)("span",{children:(0,_.vv)(e.preco_venda)})]})]}),(0,s.jsx)(H,{item:e,route:a,onDesativar:n}),(0,s.jsx)(ee.A,{size:18,className:"shrink-0 text-content-light"})]})}function er(){let e=(0,o.useSearchParams)().get("filter");return(0,s.jsx)(n.w,{mobile:(0,s.jsx)(es,{initialFilter:e}),desktop:(0,s.jsx)(J,{initialFilter:e})},e??"todos")}},46388:(e,t,a)=>{a.d(t,{c:()=>s});function s(e){if(!e)return null;let t=e.custo_medio??e.ultimo_custo??e.custo_por_unidade_uso;if(null!=t)return t;let a=e.fator_conversao;return null==a||1===a?e.preco_compra??null:null}},47730:(e,t,a)=>{a.d(t,{p:()=>n});var s=a(95155),o=a(93144);function n({icon:e,title:t,description:a,action:r}){return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-16",style:{animation:"itemIn 0.3s var(--spring) both"},children:[(0,s.jsx)(e,{size:64,className:"mb-4 text-content-light",strokeWidth:1}),(0,s.jsx)("h3",{className:"text-lg font-bold text-content",children:t}),a&&(0,s.jsx)("p",{className:"mt-1 text-sm text-content-muted",children:a}),r&&(0,s.jsx)("div",{className:"mt-4",children:r.href?(0,s.jsx)("a",{href:r.href,className:"btn-banana text-sm",children:r.label}):(0,s.jsx)(o.$,{onClick:r.onClick,children:r.label})})]})}},51237:(e,t,a)=>{a.d(t,{O2:()=>l});var s=a(12115),o=a(6217);async function n(e,t){var a;let{data:s,error:o}=await e.from("tenants").select("settings").eq("id",t).single();return o?{enabled:!1,error:o.message}:s?{enabled:null!=(a=s.settings)&&"object"==typeof a&&!0===a.estoque_multi_local,error:null}:{enabled:!1,error:null}}async function r(e,t){let a=e.from("core_estoque_saldo").select("estoque_id, local_id, quantidade");null!==t&&(a=a.eq("local_id",t));let{data:s,error:o}=await a.limit(5e3);return o?{data:[],error:o.message}:{data:s??[],error:null}}async function i(e){let{data:t,error:a}=await e.from("core_estoque_local").select("id, nome, ativo").order("nome",{ascending:!0}).limit(200);return a?{data:[],error:a.message}:{data:t??[],error:null}}function l(){let{client:e,tenantId:t}=(0,o.P)(),[a,l]=(0,s.useState)(!1),[c,d]=(0,s.useState)([]),[u,m]=(0,s.useState)([]),[x,p]=(0,s.use
1State)(null),[h,f]=(0,s.useState)(!0);(0,s.useEffect)(()=>{!async function(){f(!0);let{enabled:a}=await n(e,t);if(l(a),a){let{data:t}=await i(e);d(t);let{data:a}=await r(e,null);m(a)}f(!1)}()},[e,t]);let v=(0,s.useCallback)(async t=>{if(!a)return;let{data:s}=await r(e,t);m(s)},[e,a]);return{multiLocalEnabled:a,locais:c,saldos:u,selectedLocalId:x,selectLocal:(0,s.useCallback)(e=>{p(e),v(e)},[v]),loading:h}}},60302:(e,t,a)=>{a.d(t,{Pu:()=>r,gj:()=>o,iP:()=>i});let s=a(83615).dB;function o(e,t=s){let a=10**t;return Math.round(e*a)/a}function n(e,t){let a=o(e,2),s=Number.EPSILON*Math.max(1,Math.abs(e));return Math.abs(e-a)<=s?2:t}function r(e,t=s){let a=n(e,t);return e.toFixed(a).replace(".",",")}function i(e,t=s){if(null==e||!Number.isFinite(e))return"—";let a=n(e,t);return new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:a,maximumFractionDigits:a}).format(e)}},69665:(e,t,a)=>{function s(e){let t=e.estoque_atual??0,a=e.estoque_minimo??0;return t<0?"critico":a<=0?"em_dia":t<=0||t<a?"critico":t<=1.2*a?"atencao":"em_dia"}a.d(t,{t$:()=>o,fJ:()=>i,qv:()=>n,TS:()=>l,MD:()=>u,oj:()=>r,jG:()=>d});let o={search:"",status:"ativos",condition:"todos",category:"todos",type:"todos",semNf:!1};function n(e){switch(e){case"critico":return{...o,condition:"critico"};case"atencao":return{...o,condition:"atencao"};case"baixo":return{...o,condition:"abaixo-minimo"};case"negativo":return{...o,condition:"negativo"};case"sem-fiscal":return{...o,semNf:!0};default:return{...o}}}function r(e){return(e??"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase("pt-BR").trim()}function i(e,t){return e.filter(e=>{let a;return!!(!(a=r(t.search))||[e.nome,e.categoria,e.codigo_barras,e.gtin].some(e=>
1r(e).includes(a)))&&("ativos"!==t.status||!!e.ativo)&&("inativos"!==t.status||!e.ativo)&&("todos"===t.category||e.categoria===t.category)&&("todos"===t.type||e.tipo_item===t.type)&&(!t.semNf||!1===e.has_nf)&&("critico"!==t.condition||"critico"===s(e))&&("atencao"!==t.condition||"atencao"===s(e))&&("abaixo-minimo"!==t.condition||e.estoque_atual<e.estoque_minimo)&&("zerado"!==t.condition||0===e.estoque_atual)&&("negativo"!==t.condition||!(e.estoque_atual>=0))&&!0})}function l(e){return[...new Set(e.map(e=>e.categoria.trim()).filter(Boolean))].sort((e,t)=>e.localeCompare(t,"pt-BR",{sensitivity:"base"}))}function c(e,t){switch(t){case"nome":return e.nome;case"categoria":return e.categoria||null;case"unidade":return e.unidade||null;case"estoque_atual":return e.estoque_atual;case"custo_medio":return e.custo_medio;case"preco_compra":return e.preco_compra;case"preco_venda":return e.preco_venda}}function d(e,t,a){let s="asc"===a?1:-1;return[...e].sort((e,a)=>{let o=c(e,t),n=c(a,t);return null==o?+(null!=n):null==n?-1:"string"==typeof o&&"string"==typeof n?o.localeCompare(n,"pt-BR",{sensitivity:"base",numeric:!0})*s:(Number(o)-Number(n))*s})}function u(e){return""!==e.search||"ativos"!==e.status||"todos"!==e.condition||"todos"!==e.category||"todos"!==e.type||e.semNf}},71421:(e,t,a)=>{a.d(t,{K:()=>i,TenantProvider:()=>l});var s=a(95155),o=a(12115),n=a(87079);let r=(0,o.createContext)({tenant:null,role:null,modules:[],isClient:!1,isAdmin:!1});function i(){return(0,o.useContext)(r)}function l({children:e,tenant:t,role:a,modules:o}){let i=!!a&&(0,n.OY)(a.nome);return(0,s.jsx)(r.Provider,{value:{tenant:t,role:a,modules:o,isClient:!!t,isAdmin:i},children:e})}},74865:(e,t,a)=>{a.d(t,{w:()=>n});var s=a(95155),o=a(36039);function n({mobile:e,desktop:t}){let a=(0,o.a)();return(0,s.jsx)(s.Fragment,{children:a?e:t})}},77787:(e,t,a)=>{a.d(t,{L:()=>l,VerticalProvider:()=>i});var s=a(95155),o=a(12115),n=a(44297);let r=(0,o.createContext)(null);function i({vertical:e,children:t}){return(0,s.jsx)(r.Provider,{value:e,children:t})}function l(e){let t=(0,o.useContext)(r);return(t?.copyOverrides??{})[e]??n.zp[e]}},78857:(e,t,a)=>{a.d(t,{E:()=>n});var s=a(95155);let o={success:"bg-green-bg text-green",danger:"bg-red-bg text-red",info:"bg-blue-bg text-blue",warning:"bg-banana-bg text-banana-dark",neutral:"bg-surface-hover text-content-tertiary",banana:"bg-banana/18 text-banana-dark"};function n({variant:e="neutral",dot:t,children:a,className:r=""}){return(0,s.jsxs)("span",{className:`badge-banana ${o[e]} ${r}`,children:[t&&(0,s.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current"}),a]})}},82917:(e,t,a)=>{a.d(t,{$G:()=>f,JM:()=>g,PD:()=>c,ds:()=>v,mk:()=>b});var s=a(48368),o=a(98401),n=a(87079),r=a(3327),i=a(7375);let l={pdv:"balcao",ordens:"membro",orcamento:"dono",estoque:"membro",producao:"dono",clientes:"balcao",caderneta:"membro",caixa:"membro",relatorios:"dono",fiscal:"balcao"};function c(e,t){return"membro"===e||!!t&&("dono"===e?(0,n.OY)(t):(0,n.nK)(t))}let d=["pdv","ordens","orcamento","estoque","producao","clientes","caderneta","caixa"],u=new Set(["relatorios"]),m={fiscal:{label:"Notas e contador",href:"/fiscal",icon:s.A}},x="/meu-negocio",p={slug:"meu-negocio",href:x,label:"Meu Neg\xf3cio",featureId:null,icon:o.A};function h(e){let t=d.indexOf(e);return -1===t?d.length:t}function f(e,t){let a=[],s=[];for(let o of e){if(u.has(o))continue;let e=(0,i.MF)(o);if(!e||!c(l[o]??"dono",t))continue;let n=m[o];n?s.push({slug:o,featureId:null,...n}):a.push({slug:o,href:`/${o}`,label:e.name,featureId:e.featureId,icon:e.icon})}return a.sort((e,t)=>h(e.slug)-h(t.slug)),{owner:c("dono",t)?p:null,operational:a,secondary:s}}function v(e){let t=e.operational.filter(e=>"clientes"===e.slug),a=e.operational.filter(e=>"clientes"!==e.slug),s=e.owner?[e.owner]:[],o=e.secondary.length>0||a.length+t.length+s.length>5,n=(o?4:5)-t.length,r=a.slice(0,n),i=s.length>0&&r.length===a.length&&r.length<n;return{bar:[...i?s:[],...r,...t],temMais:o,more:{principais:[...i?[]:s,...a.slice(n)],secundarias:e.secondary}}}function g(e,t){return e===x&&"/"===t||t===e||t.startsWith(`${e}/`)}function b(e,t){return(0,r.q)(e.map(e=>({modulo:e})),"fiscal")&&c("dono",t)}},83615:(e,t,a)=>{a.d(t,{CU:()=>i,dB:()=>s,dk:()=>r,gM:()=>l,oj:()=>n,qF:()=>c});let s=4,o=10**s;function n(e){return Math.round(e*o)/o}function r(e,t){return null!=e&&Number.isFinite(e)&&null!=t&&Number.isFinite(t)&&!(t<=0)?n(e/t):null}function i(e,t){return t||null!=e}function l(e){if(0===e.trim().length)return null;let t=Number(e);return Number.isFinite(t)?t:null}function c(e){return e.toFixed(s).replace(/(\.\d{2}\d*?)0+$/,"$1").replace(".",",")}},87079:(e,t,a)=>{a.d(t,{OY:()=>
1o,nK:()=>r});let s=new Set(["owner","admin"]);function o(e){return s.has(e)}let n=new Set(["owner","admin","operator","operador"]);function r(e){return n.has(e)}},95658:(e,t,a)=>{a.d(t,{Z:()=>o});var s=a(95155);function o({interactive:e,children:t,className:a="",...n}){return(0,s.jsx)("div",{className:`${e?"card-banana":"card-banana-static"} ${a}`,...n,children:t})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.