forlogic-core 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import*as r from"react";import s,{useState as n,useMemo as i,createContext as o,useContext as l,useCallback as d,useEffect as c,useRef as m,memo as u,Component as h}from"react";import{Slot as p}from"@radix-ui/react-slot";import{cva as f}from"class-variance-authority";import{clsx as g}from"clsx";import{twMerge as b}from"tailwind-merge";import{parseISO as v,isValid as y,format as N}from"date-fns";import x from"i18next";export{default as i18n}from"i18next";import{toast as w,Toaster as k}from"sonner";export{toast as sonnerToast,toast}from"sonner";import{EllipsisVertical as C,X as S,ChevronDown as _,ChevronUp as P,Check as I,Loader2 as E,Loader2Icon as A,OctagonXIcon as T,TriangleAlertIcon as R,InfoIcon as z,CircleCheckIcon as M,AlertCircle as F,Search as j,FileX as D,ChevronRight as L,Circle as O,Edit as $,PowerOff as U,Power as W,Trash2 as q,Plus as V,ArrowUpDown as B,ArrowUp as H,ArrowDown as K,Target as Q,Trophy as G,Award as J,Sparkles as X,Flame as Y,Zap as Z,Key as ee,Shield as ae,EyeOff as te,Eye as re,Unlock as se,Lock as ne,Archive as ie,FolderOpen as oe,Folder as le,FileText as de,Save as ce,Copy as me,Share as ue,Upload as he,Download as pe,HelpCircle as fe,Info as ge,Bell as be,Clock as ve,ArrowRight as ye,ArrowLeft as Ne,ChevronLeft as xe,Minus as we,Filter as ke,Bookmark as Ce,Book as Se,Video as _e,Music as Pe,Image as Ie,Camera as Ee,MapPin as Ae,Calendar as Te,Phone as Re,Mail as ze,Settings as Me,User as Fe,Home as je,Heart as De,Star as Le,ChevronsLeft as Oe,ChevronsRight as $e,CheckCircle as Ue,AlertTriangle as We,RefreshCw as qe,MoreHorizontal as Ve,GripVertical as Be,PanelLeft as He,Edit3 as Ke,Code as Qe,Heading1 as Ge,Heading2 as Je,Heading3 as Xe,Bold as Ye,Italic as Ze,Underline as ea,Strikethrough as aa,List as ta,ListOrdered as ra,Highlighter as sa,Link as na,RemoveFormatting as ia,Undo as oa,Redo as la,Globe as da,Building2 as ca,LogOut as ma,ExternalLink as ua,Users as ha,Crown as pa,UserPlus as fa}from"lucide-react";import*as ga from"@radix-ui/react-label";import*as ba from"@radix-ui/react-dialog";import*as va from"@radix-ui/react-separator";import{useFormContext as ya,FormProvider as Na,Controller as xa,appendErrors as wa,useForm as ka}from"react-hook-form";import*as Ca from"@radix-ui/react-select";import*as Sa from"@radix-ui/react-checkbox";import*as _a from"@radix-ui/react-popover";import{useTranslation as Pa,initReactI18next as Ia,I18nextProvider as Ea}from"react-i18next";export{I18nextProvider,useTranslation}from"react-i18next";import{createClient as Aa}from"@supabase/supabase-js";import{useQueryClient as Ta,useQuery as Ra,useMutation as za,QueryClient as Ma,QueryClientProvider as Fa}from"@tanstack/react-query";import{useSearchParams as ja,useLocation as Da,useNavigate as La,Link as Oa}from"react-router-dom";import*as $a from"@radix-ui/react-tooltip";import*as Ua from"@radix-ui/react-dropdown-menu";import*as Wa from"@radix-ui/react-context-menu";import*as qa from"@radix-ui/react-scroll-area";import*as Va from"@radix-ui/react-switch";import*as Ba from"@radix-ui/react-progress";import*as Ha from"@radix-ui/react-collapsible";import*as Ka from"@radix-ui/react-accordion";import*as Qa from"@radix-ui/react-alert-dialog";import*as Ga from"@radix-ui/react-avatar";import{DayPicker as Ja}from"react-day-picker";import{Drawer as Xa}from"vaul";import*as Ya from"@radix-ui/react-hover-card";import*as Za from"@radix-ui/react-navigation-menu";import*as et from"@radix-ui/react-radio-group";import*as at from"react-resizable-panels";import*as tt from"@radix-ui/react-slider";import*as rt from"@radix-ui/react-tabs";import*as st from"@radix-ui/react-toggle";import*as nt from"@radix-ui/react-toggle-group";import*as it from"@radix-ui/react-menubar";import*as ot from"recharts";import{useEditor as lt,EditorContent as dt}from"@tiptap/react";import ct from"@tiptap/starter-kit";import mt from"@tiptap/extension-underline";import ut from"@tiptap/extension-link";import{TextStyle as ht}from"@tiptap/extension-text-style";import{Color as pt}from"@tiptap/extension-color";import ft from"@tiptap/extension-highlight";import{z as gt}from"zod";import{validateFieldsNatively as bt,toNestErrors as vt}from"@hookform/resolvers";function yt(e,a){a?.stopPropagation();window.open(e,"_blank","noopener,noreferrer")||navigator.clipboard.writeText(e).then(()=>{w.info(x.t("link_copied"))})}function Nt(...e){return b(g(e))}const xt=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(xt);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,r]of Object.entries(e))a[t]=xt(r);return a}return e},wt=e=>{if(!e)return"";const a=v(e);if(!y(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric",timeZone:"America/Sao_Paulo"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit",timeZone:"America/Sao_Paulo"})}`},kt=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),Ct=(e,a)=>{let t;return(...r)=>{clearTimeout(t),t=setTimeout(()=>e(...r),a)}},St=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-"),_t=f("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{primary:"bg-primary text-primary-foreground hover:bg-primary-hover shadow-sm hover:shadow-md active:scale-[0.98]",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary-hover border border-input shadow-sm",tertiary:"bg-background text-foreground hover:bg-accent hover:text-accent-foreground border border-border",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground",subtle:"text-muted-foreground hover:text-foreground hover:bg-accent/50",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm hover:shadow-md",danger:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm hover:shadow-md",link:"text-primary underline-offset-4 hover:underline",icon:"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2",loading:"bg-primary/50 text-primary-foreground cursor-wait",default:"bg-primary text-primary-foreground hover:bg-primary/90",action:"bg-primary/10 text-primary hover:bg-primary/20 border border-primary/30","icon-only":"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2","external-link":"bg-transparent text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors","action-primary":"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm","action-secondary":"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input"},size:{sm:"h-8 px-3 text-xs rounded",md:"h-10 px-4 py-2 text-sm rounded-md",lg:"h-12 px-8 text-base rounded-lg",xl:"h-14 px-10 text-lg rounded-lg",icon:"h-10 w-10","icon-sm":"h-8 w-8","icon-xs":"h-6 w-6",default:"h-10 px-4 py-2"}},defaultVariants:{variant:"primary",size:"md"}}),Pt=r.forwardRef(({className:a,variant:t,size:r,asChild:s=!1,...n},i)=>e(s?p:"button",{className:Nt(_t({variant:t,size:r,className:a})),ref:i,...n}));Pt.displayName="Button";const It=s.forwardRef(({className:a,children:t,...r},s)=>e(Pt,{ref:s,variant:"action",size:"sm",className:Nt("h-7 px-2 text-xs",a),...r,children:t||e(C,{size:12})}));It.displayName="ActionButton";const Et=r.forwardRef(({className:a,type:t,...r},s)=>e("input",{type:t,className:Nt("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:s,...r}));Et.displayName="Input";const At=f("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Tt=r.forwardRef(({className:a,...t},r)=>e(ga.Root,{ref:r,className:Nt(At(),a),...t}));Tt.displayName=ga.Root.displayName;const Rt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("rounded-lg border bg-card text-card-foreground shadow-sm",a),...t}));Rt.displayName="Card";const zt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex flex-col space-y-1.5 p-6",a),...t}));zt.displayName="CardHeader";const Mt=r.forwardRef(({className:a,...t},r)=>e("h3",{ref:r,className:Nt("text-2xl font-semibold leading-none tracking-tight",a),...t}));Mt.displayName="CardTitle";const Ft=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Ft.displayName="CardDescription";const jt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("p-6 pt-0",a),...t}));jt.displayName="CardContent";const Dt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex items-center p-6 pt-0",a),...t}));Dt.displayName="CardFooter";const Lt=r.forwardRef(({className:a,orientation:t="horizontal",decorative:r=!0,...s},n)=>e(va.Root,{ref:n,decorative:r,orientation:t,className:Nt("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",a),...s}));Lt.displayName=va.Root.displayName;const Ot=ba.Root,$t=ba.Trigger,Ut=ba.Portal,Wt=ba.Close,qt=r.forwardRef(({className:a,...t},r)=>e(ba.Overlay,{ref:r,className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t}));qt.displayName=ba.Overlay.displayName;const Vt={sm:"sm:max-w-[420px]",md:"sm:max-w-lg",lg:"sm:max-w-2xl",xl:"sm:max-w-4xl",full:"max-w-[85vw]"},Bt=r.forwardRef(({className:t,children:r,size:s="md",...n},i)=>a(Ut,{children:[e(qt,{}),a(ba.Content,{ref:i,className:Nt("fixed left-[50%] top-[50%] z-50 flex flex-col w-full max-w-[85vw] max-h-[85vh] translate-x-[-50%] translate-y-[-50%] border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",Vt[s],t),...n,children:[r,a(ba.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-0 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e(S,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]})]}));Bt.displayName=ba.Content.displayName;const Ht=({className:t,showSeparator:r=!1,children:s,...n})=>a("div",{className:Nt("flex flex-col flex-shrink-0",t),...n,children:[e("div",{className:"flex flex-col text-left",children:s}),r&&e(Lt,{className:"mt-2"})]});Ht.displayName="DialogHeader";const Kt=({className:a,...t})=>e("div",{className:Nt("flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",a),...t});Kt.displayName="DialogBody";const Qt=({className:t,children:r,...s})=>a("div",{className:"flex-shrink-0 pt-4",children:[e(Lt,{className:"mb-4"}),e("div",{className:Nt("flex flex-row justify-end gap-2",t),...s,children:r})]});Qt.displayName="DialogFooter";const Gt=r.forwardRef(({className:a,...t},r)=>e(ba.Title,{ref:r,className:Nt("text-lg font-semibold leading-none tracking-tight",a),...t}));Gt.displayName=ba.Title.displayName;const Jt=r.forwardRef(({className:a,...t},r)=>e(ba.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Jt.displayName=ba.Description.displayName;const Xt=Na,Yt=r.createContext({}),Zt=({...a})=>e(Yt.Provider,{value:{name:a.name},children:e(xa,{...a})}),er=()=>{const e=r.useContext(Yt),a=r.useContext(ar),{getFieldState:t,formState:s}=ya(),n=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=a;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...n}},ar=r.createContext({}),tr=r.forwardRef(({className:a,...t},s)=>{const n=r.useId();return e(ar.Provider,{value:{id:n},children:e("div",{ref:s,className:Nt("space-y-2",a),...t})})});tr.displayName="FormItem";const rr=r.forwardRef(({className:a,...t},r)=>{const{error:s,formItemId:n}=er();return e(Tt,{ref:r,className:Nt(s&&"text-destructive",a),htmlFor:n,...t})});rr.displayName="FormLabel";const sr=r.forwardRef(({...a},t)=>{const{error:r,formItemId:s,formDescriptionId:n,formMessageId:i}=er();return e(p,{ref:t,id:s,"aria-describedby":r?`${n} ${i}`:`${n}`,"aria-invalid":!!r,...a})});sr.displayName="FormControl";const nr=r.forwardRef(({className:a,...t},r)=>{const{formDescriptionId:s}=er();return e("p",{ref:r,id:s,className:Nt("text-sm text-muted-foreground",a),...t})});nr.displayName="FormDescription";const ir=r.forwardRef(({className:a,children:t,...r},s)=>{const{error:n,formMessageId:i}=er(),o=n?String(n?.message):t;return o?e("p",{ref:s,id:i,className:Nt("text-sm font-medium text-destructive",a),...r,children:o}):null});ir.displayName="FormMessage";const or=Ca.Root,lr=Ca.Group,dr=Ca.Value,cr=r.forwardRef(({className:t,children:r,...s},n)=>a(Ca.Trigger,{ref:n,className:Nt("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...s,children:[r,e(Ca.Icon,{asChild:!0,children:e(_,{className:"h-4 w-4 opacity-50"})})]}));cr.displayName=Ca.Trigger.displayName;const mr=r.forwardRef(({className:a,...t},r)=>e(Ca.ScrollUpButton,{ref:r,className:Nt("flex cursor-default items-center justify-center py-1",a),...t,children:e(P,{className:"h-4 w-4"})}));mr.displayName=Ca.ScrollUpButton.displayName;const ur=r.forwardRef(({className:a,...t},r)=>e(Ca.ScrollDownButton,{ref:r,className:Nt("flex cursor-default items-center justify-center py-1",a),...t,children:e(_,{className:"h-4 w-4"})}));ur.displayName=Ca.ScrollDownButton.displayName;const hr=r.forwardRef(({className:t,children:r,position:s="popper",container:n,collisionBoundary:i,...o},l)=>e(Ca.Portal,{container:n,children:a(Ca.Content,{ref:l,className:Nt("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,collisionBoundary:i,...o,children:[e(mr,{}),e(Ca.Viewport,{className:Nt("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),e(ur,{})]})}));hr.displayName=Ca.Content.displayName;const pr=r.forwardRef(({className:a,...t},r)=>e(Ca.Label,{ref:r,className:Nt("py-1.5 pl-8 pr-2 text-sm font-semibold",a),...t}));pr.displayName=Ca.Label.displayName;const fr=r.forwardRef(({className:t,children:r,...s},n)=>a(Ca.Item,{ref:n,className:Nt("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ca.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),e(Ca.ItemText,{children:r})]}));fr.displayName=Ca.Item.displayName;const gr=r.forwardRef(({className:a,...t},r)=>e(Ca.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));gr.displayName=Ca.Separator.displayName;const br=r.forwardRef(({className:a,...t},r)=>e(Sa.Root,{ref:r,className:Nt("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...t,children:e(Sa.Indicator,{className:Nt("flex items-center justify-center text-current"),children:e(I,{className:"h-4 w-4"})})}));br.displayName=Sa.Root.displayName;const vr=r.forwardRef(({className:a,...t},r)=>e("textarea",{className:Nt("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:r,...t}));vr.displayName="Textarea";const yr=f("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",danger:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-success text-success-foreground hover:bg-success/90",warning:"border-transparent bg-warning text-warning-foreground hover:bg-warning/90",info:"border-transparent bg-primary/10 text-primary hover:bg-primary/20",sharp:"border-transparent bg-[hsl(78,70%,46%)] text-foreground hover:bg-[hsl(78,70%,40%)]"}},defaultVariants:{variant:"default"}}),Nr=r.forwardRef(({className:a,variant:t,...r},s)=>e("div",{ref:s,className:Nt(yr({variant:t}),a),...r}));Nr.displayName="Badge";const xr={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function wr({size:a="md",className:t}){return e(E,{className:Nt("animate-spin text-muted-foreground",xr[a],t)})}function kr({isLoading:r,children:s,className:n,type:i="spinner",size:o="md"}){return r?"overlay"===i?a("div",{className:Nt("relative",n),children:[s,e("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:e(wr,{size:o})})]}):e("div","skeleton"===i?{className:Nt("animate-pulse",n),children:e("div",{className:"bg-muted rounded-md h-full w-full"})}:{className:Nt("flex items-center justify-center py-8",n),children:e(wr,{size:o})}):e(t,{children:s})}const Cr=({...a})=>e(k,{className:"group",position:"top-right",expand:!0,visibleToasts:5,closeButton:!0,icons:{success:e(M,{className:"h-4 w-4"}),info:e(z,{className:"h-4 w-4"}),warning:e(R,{className:"h-4 w-4"}),error:e(T,{className:"h-4 w-4"}),loading:e(A,{className:"h-4 w-4 animate-spin"})},toastOptions:{classNames:{toast:"group toast group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg group-[.toaster]:relative",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",closeButton:"group-[.toast]:absolute group-[.toast]:right-2 group-[.toast]:top-2 group-[.toast]:left-auto group-[.toast]:transform-none group-[.toast]:border-0 group-[.toast]:bg-transparent group-[.toast]:opacity-70 group-[.toast]:hover:opacity-100 group-[.toast]:hover:bg-transparent group-[.toast]:transition-opacity",success:"!bg-success-light !border-success-light",error:"!bg-destructive/10 !border-destructive/10",warning:"!bg-warning-light !border-warning-light",info:"!bg-info-light !border-info-light"}},...a}),Sr=_a.Root,_r=_a.Trigger,Pr=r.forwardRef(({className:a,align:t="center",sideOffset:r=4,container:s,...n},i)=>e(_a.Portal,{container:s,children:e(_a.Content,{ref:i,align:t,sideOffset:r,className:Nt("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})}));Pr.displayName=_a.Content.displayName;const Ir=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...t}));Ir.displayName="Command";const Er=({children:a,...t})=>e("div",{...t,children:e(Ir,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:a})}),Ar=r.forwardRef(({className:a,...t},r)=>e("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:e("input",{ref:r,className:Nt("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...t})}));Ar.displayName="CommandInput";const Tr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...t}));Tr.displayName="CommandList";const Rr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("py-6 text-center text-sm text-muted-foreground",a),...t}));Rr.displayName="CommandEmpty";const zr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...t}));zr.displayName="CommandGroup";const Mr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("-mx-1 h-px bg-border",a),...t}));Mr.displayName="CommandSeparator";const Fr=r.forwardRef(({className:a,disabled:t,onSelect:r,value:s,...n},i)=>e("div",{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none hover:bg-accent hover:text-accent-foreground data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",a),"data-disabled":t,onClick:()=>!t&&r?.(s||""),...n}));Fr.displayName="CommandItem";const jr=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});function Dr({className:a,...t}){return e("div",{className:Nt("animate-pulse rounded-md bg-muted",a),...t})}jr.displayName="CommandShortcut";const Lr=e=>e.normalize("NFD").replace(/\p{Diacritic}/gu,"").toLowerCase();function Or({multiple:t,options:r,value:s,onChange:o,getOptionValue:l,getOptionLabel:d,placeholder:c,label:m,icon:u,emptyMessage:h,searchPlaceholder:p,disabled:f,required:g,className:b,sortOptions:v,maxDisplayedBadges:y,popoverContainer:N,onOpen:x,onClose:w}){const{t:k}=Pa(),[C,P]=n(!1),[E,A]=n(""),T=i(()=>s?Array.isArray(s)?s:[s]:[],[s]),R=i(()=>{if(!N)return;let e=N,a=0;try{for(;e&&a<3;){const t=window.getComputedStyle(e),r=t.overflowY||t.overflow;if(!r||"visible"===r||"unset"===r)break;e=e.parentElement,a++}}catch{}return e??void 0},[N]),z=i(()=>{const e=r.map(e=>({original:e,value:l(e),label:d(e)}));return v?e.sort((e,a)=>e.label.localeCompare(a.label,"pt-BR",{sensitivity:"base"})):e},[r,l,d,v]),M=i(()=>{if(!E)return z;const e=Lr(E);return z.filter(a=>Lr(a.label).includes(e))},[z,E]),F=i(()=>z.filter(e=>T.includes(e.value)),[z,T]),j=(e,a)=>{a.preventDefault(),a.stopPropagation(),o&&o(t?T.filter(a=>a!==e):"")},D=y?F.slice(0,y):F,L=y&&F.length>y?F.length-y:0;return a("div",{className:Nt("space-y-2",b),children:[m&&a(Tt,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(Sr,{open:C,onOpenChange:e=>{P(e),e?x?.():(A(""),w?.())},modal:!1,children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",role:"combobox","aria-expanded":C,disabled:f,className:Nt("w-full justify-between min-h-10 h-auto",0===F.length&&"text-muted-foreground"),children:[0===F.length?a("span",{className:"flex items-center gap-2",children:[u&&e(u,{className:"h-4 w-4"}),c]}):t?a("div",{className:"flex flex-wrap gap-1.5 flex-1 mr-2",children:[D.map(t=>a(Nr,{variant:"secondary",className:"gap-1 pr-1",children:[t.label,e("button",{type:"button",className:"rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",onKeyDown:e=>{"Enter"===e.key&&j(t.value,e)},onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>j(t.value,e),children:e(S,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},t.value)),L>0&&a(Nr,{variant:"outline",className:"gap-1",children:["+",L]})]}):a("span",{className:"flex items-center gap-2",children:[u&&e(u,{className:"h-4 w-4"}),F[0]?.label]}),e(_,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),e(Pr,{className:"w-full p-0 bg-popover z-[60]",align:"start",container:R,collisionBoundary:R,children:a(Ir,{children:[e(Ar,{placeholder:p,value:E,onChange:e=>A(e.target.value)}),e(Tr,{children:0===r.length?e(Rr,{children:h}):0===M.length?e(Rr,{children:k("no_results")}):e(zr,{children:M.map(r=>a(Fr,{value:r.value,onSelect:()=>(e=>{if(o)if(t){const a=T.includes(e)?T.filter(a=>a!==e):[...T,e];o(a)}else o(e),P(!1)})(r.value),className:"cursor-pointer",children:[e(I,{className:Nt("mr-2 h-4 w-4",T.includes(r.value)?"opacity-100":"opacity-0")}),r.label]},r.value))})})]})})]})]})}function $r({multiple:t=!1,options:r,items:s,value:n,onChange:i,onValueChange:o,getOptionValue:l=e=>e.value,getOptionLabel:d=e=>e.label,placeholder:c,label:m,icon:u,emptyMessage:h,searchPlaceholder:p,disabled:f=!1,required:g=!1,isLoading:b=!1,error:v,className:y,sortOptions:N=!0,maxDisplayedBadges:x,popoverContainer:w,onOpen:k,onClose:C}){const{t:S}=Pa(),_=s||r||[],P=o||i,I=c||S("select_placeholder"),E=h||S("no_results"),A=p||S("search_placeholder");if(b)return a("div",{className:Nt("space-y-2",y),children:[m&&a(Tt,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Dr,{className:"h-10 w-full"})]});const T="string"==typeof v?v:v instanceof Error?v.message:v?"Erro ao carregar dados":void 0;return T?a("div",{className:Nt("space-y-2",y),children:[m&&a(Tt,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a("div",{className:"flex items-center gap-2 p-3 border border-destructive rounded-md bg-destructive/10 text-destructive",children:[e(F,{className:"h-4 w-4"}),e("span",{className:"text-sm",children:T})]})]}):e(Or,{multiple:t,options:_,value:n||(t?[]:""),onChange:P,getOptionValue:l,getOptionLabel:d,placeholder:I,label:m,icon:u,emptyMessage:E,searchPlaceholder:A,disabled:f,required:g,className:y,sortOptions:N,maxDisplayedBadges:x,popoverContainer:w,onOpen:k,onClose:C})}var Ur=Object.defineProperty;class Wr{static normalizeBase64Url(e){let a=e.replace(/-/g,"+").replace(/_/g,"/");const t=(4-a.length%4)%4;return a+="=".repeat(t),a}static parseJwtPayload(e){try{const s=e.split(".");if(3!==s.length)return null;const n=s[1];n.length,this.LARGE_PAYLOAD_THRESHOLD;try{const e=this.normalizeBase64Url(n),a=atob(e),t=new Uint8Array(a.length);for(let s=0;s<a.length;s++)t[s]=a.charCodeAt(s);const r=new TextDecoder("utf-8").decode(t);return JSON.parse(r)}catch(a){try{const e=this.normalizeBase64Url(n),a=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(a)}catch(t){try{const e=this.normalizeBase64Url(n),a=atob(e);return JSON.parse(a)}catch(r){throw r}}}}catch(s){return null}}static validateTokens(e,a){const t=[],r=[];try{a.split(".")[1],e.split(".")[1];const s=this.parseJwtPayload(a),n=this.parseJwtPayload(e);if(!s){const e="ID token decode falhou - possível problema com base64url encoding";return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:r}}let i=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";t.push(e),i=!1}const o=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<o){const e="Access token expirado - pode precisar de refresh";t.push(e),i=!1}if(s.exp&&s.exp<o){const e="ID token expirado - autenticação inválida";return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:i,warnings:t,errors:r}}return{isValid:!0,idTokenValid:!0,accessTokenValid:i,warnings:t,errors:r}}catch(s){const e=`Erro na validação de tokens: ${s}`;return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:r}}}static isTokenExpired(e){const a=this.parseJwtPayload(e);return!a||!a.exp||1e3*a.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,a,t)=>{a in e?Ur(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(Wr,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const qr="qualiex_access_token",Vr="qualiex_id_token",Br="supabase_token",Hr="oauth_state",Kr="oauth_nonce",Qr="selected_alias",Gr="manual_logout",Jr={setAccessToken:e=>localStorage.setItem(qr,e),getAccessToken:()=>localStorage.getItem(qr),setIdToken:e=>localStorage.setItem(Vr,e),getIdToken:()=>localStorage.getItem(Vr),getSupabaseToken:()=>localStorage.getItem(Br),setOAuthState:e=>sessionStorage.setItem(Hr,e),getOAuthState:()=>sessionStorage.getItem(Hr),clearOAuthState:()=>sessionStorage.removeItem(Hr),setOAuthNonce:e=>sessionStorage.setItem(Kr,e),getOAuthNonce:()=>sessionStorage.getItem(Kr),clearOAuthNonce:()=>sessionStorage.removeItem(Kr),setSelectedAlias:e=>localStorage.setItem(Qr,e),getSelectedAlias:()=>localStorage.getItem(Qr),clearSelectedAlias:()=>localStorage.removeItem(Qr),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Jr.getAccessToken()||!Jr.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(Br,e),Jr._clearValidationCache()},areAllTokensValid:()=>{const e=Jr.getAccessToken(),a=Jr.getIdToken();if(!e||!a)return!1;try{const t=Wr.validateTokens(e,a);return!!t.idTokenValid&&t.idTokenValid}catch(t){return!1}},clearExpiredTokens:()=>{let e=!1;const a=Jr.getAccessToken(),t=Jr.getIdToken(),r=Jr.getSupabaseToken();return a&&Jr.isTokenExpired(a)&&(localStorage.removeItem(qr),e=!0),t&&Jr.isTokenExpired(t)&&(localStorage.removeItem(Vr),e=!0),r&&Jr.isTokenExpired(r)&&(localStorage.removeItem(Br),e=!0),e},clearAll:()=>{localStorage.removeItem(qr),localStorage.removeItem(Vr),localStorage.removeItem(Br),localStorage.removeItem(Qr),localStorage.removeItem(Gr),sessionStorage.removeItem(Hr),sessionStorage.removeItem(Kr)},setManualLogout:()=>localStorage.setItem(Gr,"true"),isManualLogout:()=>"true"===localStorage.getItem(Gr),clearManualLogout:()=>localStorage.removeItem(Gr),isTokenExpired:e=>{try{return Wr.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{Jr._validationCache.isValid=!1,Jr._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=Jr.getSupabaseToken();if(!e)return!1;if(Jr.isTokenExpired(e))return Jr._clearValidationCache(),Jr._handleExpiredToken(),!1;const a=Date.now();return a-Jr._validationCache.timestamp<Jr._validationCache.cacheValidityMs?Jr._validationCache.isValid:(Jr._validationCache.isValid=!0,Jr._validationCache.timestamp=a,!0)},getValidSupabaseToken:()=>Jr.isSupabaseTokenValid()?Jr.getSupabaseToken():null,_handleExpiredToken:()=>{Jr.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!Jr.isSupabaseTokenValid())return null;const e=Jr.getSupabaseToken();if(!e)return null;try{const a=Wr.parseJwtPayload(e);if(!a)return null;const t=a.alias||a.default||a.user_alias,r=a.place_id||null,s=a.place_name||null;let n=a.company_id;if(!n&&t)for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===t){n=e[7];break}}}return{alias:t,companyId:n,placeId:r,placeName:s,payload:a}}catch(a){return Jr._handleExpiredToken(),null}},getCompanyId:e=>{const a=Jr.getAccessToken();if(a)try{const t=Wr.parseJwtPayload(a);if(t)for(const a in t)if(a.startsWith("co")&&/^co\d+$/.test(a)){const r=t[a];if(r&&"string"==typeof r){const a=r.split(";");if(e&&a.length>7&&a[0]===e)return a[7];if(!e&&a.length>7)return a[7]}}}catch(s){}const t=Jr.extractTokenData();if(t?.companyId)return t.companyId;const r=Jr.getIdToken();if(r)try{const a=Wr.parseJwtPayload(r);if(a)for(const t in a)if(t.startsWith("co")&&/^co\d+$/.test(t)){const r=a[t];if(r&&"string"==typeof r){const a=r.split(";");if(e&&a.length>7&&a[0]===e)return a[7];if(!e&&a.length>7)return a[7]}}}catch(s){}return null},getCurrentCompanyId:()=>{const e=Jr.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=Jr.getIdToken();if(!e)return[];try{const a=Wr.parseJwtPayload(e);if(!a)return[];const t=[];for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");e.length>=4&&t.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:a})}}return t}catch{return[]}}};var Xr=Object.defineProperty,Yr=(e,a,t)=>((e,a,t)=>a in e?Xr(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Zr=new class{constructor(){Yr(this,"errors",[]),Yr(this,"toastCount",0),Yr(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;if(this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()){const e=this.getErrorTitle(t);w.error(e,{description:t})}}getErrorTitle(e){const a=e.toLowerCase();return a.includes("401")||a.includes("unauthorized")||a.includes("expirou")?"Sessão Expirada":a.includes("token")||a.includes("autenticação")?"Erro de Autenticação":a.includes("api")||a.includes("network")?"Erro de Conexão":"Erro"}success(e,a){w.success(e,{description:a})}shouldShowToast(){const e=Date.now();return e-this.lastToastTime>6e4&&(this.toastCount=0),this.toastCount<3&&(this.toastCount++,this.lastToastTime=e,!0)}getErrors(){return this.errors.slice(-50)}clearErrors(){this.errors=[]}};var es=Object.defineProperty,as=(e,a,t)=>((e,a,t)=>a in e?es(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const ts=import.meta.env.VITE_SUPABASE_URL,rs=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,ss=class e{constructor(){as(this,"client"),as(this,"currentToken",null),as(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:rs};e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`);return Aa(ts,rs,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1,storage:void 0},global:{headers:a,fetch:async(e,a)=>("string"==typeof e?e:e.url).includes("/auth/v1/user")?new Response(JSON.stringify({error:"blocked"}),{status:401,headers:{"Content-Type":"application/json"}}):fetch(e,a)}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Jr.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const a=JSON.parse(atob(e.split(".")[1])),t=Math.floor(Date.now()/1e3);return a.exp>t}catch(a){return Zr.handleError(a instanceof Error?a:"❌ Supabase - Error validating token",!1),!1}}};as(ss,"instance");let ns=ss;function is(){return ns.getInstance().getClient()}class os{static async generateToken(e,a,t,r=!1){try{if(!r){const e=Jr.getSupabaseToken();if(e&&Jr.isSupabaseTokenValid())return e}const s=is(),{data:n,error:i}=await s.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return i&&(i.message?.includes("401")||i.message?.includes("Unauthorized"))?(t?.(),null):n?.access_token&&n.access_token?(Jr.setSupabaseToken(n.access_token),n.access_token):null}catch(s){return s instanceof Error&&(s.message.includes("401")||s.message.includes("Unauthorized"))&&t?.(),null}}}var ls=Object.defineProperty,ds=(e,a,t)=>((e,a,t)=>a in e?ls(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);class cs{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=Jr.getAccessToken(),a=Jr.getSelectedAlias();if(!e||!a)return null;const t=await os.generateToken(e,a,this.onLogoutCallback||void 0,!1);return t?(Jr.setSupabaseToken(t),t):null}catch(e){return null}finally{this.isRegenerating=!1}}}ds(cs,"isRegenerating",!1),ds(cs,"onLogoutCallback",null);class ms{static handleError(e){if(!e)return!1;const a=e.message||e.toString();return!!this.isAuthenticationError(e,a)&&(Jr.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,a){if(401===e.status||401===e.statusCode)return!0;const t=a.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>t.includes(e))}static async wrapAsync(e){try{return await e}catch(a){if(!this.handleError(a))throw a;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}var us=Object.defineProperty;class hs{static async handleApiError(e){if(!e||this.isRetrying)return!1;const a=e.status||e.statusCode,t=e.message||e.toString();if(401===a||t.includes("401")||t.includes("Unauthorized")){this.isRetrying=!0;try{return await cs.attemptRegeneration()?(this.isRetrying=!1,!0):(ms.handleError(e),this.isRetrying=!1,!1)}catch(r){return ms.handleError(e),this.isRetrying=!1,!1}}return!1}static validateToken(){const e=Jr.getAccessToken();return e?Jr.isTokenExpired(e)?{valid:!1,message:"Sua sessão expirou. Você será redirecionado para fazer login."}:{valid:!0}:{valid:!1,message:"Token OAuth não encontrado. Faça login novamente."}}}((e,a,t)=>{((e,a,t)=>{a in e?us(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(e,a+"",t)})(hs,"isRetrying",!1);var ps=Object.defineProperty,fs=(e,a,t)=>((e,a,t)=>a in e?ps(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const gs=new class{constructor(){fs(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const r=hs.validateToken();if(!r.valid)throw new Error(r.message||"Token inválido");const s=Jr.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const n=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{n.searchParams.append(e,a)});const i=await fetch(n.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!i.ok){const e=new Error(`API call failed: ${i.status} ${i.statusText}`);throw e.status=i.status,e.statusCode=i.status,e}return await i.json()}mapToQualiexUser(e){return{id:e.id||e.ID||"",userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível",placeId:null,placeName:e.placeName||null,roleId:e.roleId||void 0,roleName:e.roleName||void 0,companyId:e.companyId||void 0,companyName:e.companyName||void 0}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let r=t;if(t.data)r=t.data;else{if(!Array.isArray(t))return Zr.handleError("[QualiexApi] Formato de resposta inesperado",!1),[];r=t}if(!Array.isArray(r))return Zr.handleError("[QualiexApi] Resposta não é um array",!1),[];return r.map(this.mapToQualiexUser)}catch(t){if(await hs.handleApiError(t))try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let r=t;if(t.data)r=t.data;else{if(!Array.isArray(t))return Zr.handleError("[QualiexApi] Formato de resposta inesperado após retry",!1),[];r=t}return Array.isArray(r)?r.map(this.mapToQualiexUser):(Zr.handleError("[QualiexApi] Resposta não é um array após retry",!1),[])}catch(r){return Zr.handleError(r instanceof Error?r:"Erro ao buscar usuários após renovação de token",!0),[]}const s=t instanceof Error?t.message:"Erro ao buscar usuários da API Qualiex";return Zr.handleError(s,!0),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(r){return Zr.handleError(r instanceof Error?r:"[QualiexApi] Error fetching user by ID"),null}}async fetchActiveUsersMap(e,a){const t=await this.fetchUsers(e,a),r=new Map;return t.forEach(e=>{r.set(e.userId,e)}),r}async getUsers(e){const a=Jr.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):[]}async getAllUsers(e){return this.getUsers(e)}},bs={oauth:{authUrl:import.meta.env.VITE_OAUTH_AUTH_URL,clientId:import.meta.env.VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},vs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},ys={debounceDelay:500},Ns=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("id-preview")||e.includes("lovable.dev")||import.meta.env.DEV},xs={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},ws={userNameFieldSuffix:"_name",userEmailFieldSuffix:"_email",userUsernameFieldSuffix:"_username"},ks=()=>ws,Cs={isQualiex:"true"===import.meta.env.VITE_IS_QUALIEX},Ss={success:{created:e=>`${e} criado com sucesso`,updated:e=>`${e} atualizado com sucesso`,deleted:e=>`${e} removido com sucesso`},error:{create:e=>`Erro ao criar ${e}`,update:e=>`Erro ao atualizar ${e}`,delete:e=>`Erro ao remover ${e}`,load:e=>`Erro ao carregar ${e}`}};function _s(e,a){const t=ks(),r=a||t.userNameFieldSuffix||"_name";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function Ps(e,a){const t=ks(),r=a||t.userEmailFieldSuffix||"_email";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function Is(e,a){const t=ks(),r=a||t.userUsernameFieldSuffix||"_username";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function Es(e,a){return a&&a.length>0?a.map(e=>({idField:e.idField,nameField:e.nameField||_s(e.idField),emailField:e.emailField||Ps(e.idField),usernameField:e.usernameField||Is(e.idField)})):e&&e.length>0?e.map(e=>({idField:e,nameField:_s(e),emailField:Ps(e),usernameField:Is(e)})):[{idField:"id_user",nameField:"responsible_name"}]}const As=new Map;class Ts{static async fetchQualiexUsers(e,a){const t=`${a}_${e}`,r=As.get(t);if(r&&Date.now()-r.timestamp<3e5)return r.users;const s=await gs.fetchUsers(e,a);return As.set(t,{users:s,timestamp:Date.now()}),s}static extractUserIds(e,a){const t=new Set;for(const r of e)for(const e of a){const a=r[e.idField];a&&"string"==typeof a&&""!==a.trim()&&t.add(a)}return t}static indexUsers(e){const a=new Map;for(const t of e)t.id&&a.set(t.id,t),t.userId&&a.set(t.userId,t);return a}static enrichEntity(e,a,t){const r={...e};for(const s of a){const a=e[s.idField];if(!a)continue;const n=t.get(a);if(n){if(s.nameField){r[s.nameField]||(r[s.nameField]=n.userName||n.displayName||null)}if(s.emailField){r[s.emailField]||(r[s.emailField]=n.userEmail||null)}if(s.usernameField){r[s.usernameField]||(r[s.usernameField]=n.userName||null)}}}return r}static async enrichWithUserData(e,a){if(!Array.isArray(e)||0===e.length)return e;try{if(!Jr.areAllTokensValid())return e;const t=Jr.extractTokenData();if(!t)return e;const{alias:r,companyId:s}=t;if(!r||!s)return e;const n=Es(a.userIdFields,a.userFieldsMapping);if(0===this.extractUserIds(e,n).size)return e;const i=await this.fetchQualiexUsers(r,s),o=this.indexUsers(i);return e.map(e=>this.enrichEntity(e,n,o))}catch(t){return Zr.handleError(t instanceof Error?t:new Error(`[QualiexEnrichment.${a.entityName}] Erro crítico`),!1),e}}static async enrichWithResponsibleNames(e,a){return this.enrichWithUserData(e,{entityName:a.entityName,userIdFields:["id_user"],userFieldsMapping:[{idField:"id_user",nameField:"responsible_name"}]})}}const Rs=["responsible_name"],zs=e=>Rs.includes(e);function Ms(e,a,t){const r="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"common"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"common",...e},{tableName:s,searchFields:n,selectFields:i,schemaName:o,entityName:l,enableQualiexEnrichment:d=!1}=r,c=()=>{if(!Jr.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return is().schema(o).from(s)},m=(e,a,t,r)=>{let s=c().select(i||"*",{count:"exact"});s=s.eq("is_removed",!1),Object.entries(r).forEach(([e,a])=>{void 0!==a&&""!==a&&(Array.isArray(a)?s=s.in(e,a):"object"==typeof a&&a&&"operator"in a?"not_null"===a.operator?s=s.not(e,"is",null):"is_null"===a.operator&&(s=s.is(e,null)):null!==a&&(s=s.eq(e,a)))}),s=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(s,e);const o=a.includes(".");return o||zs(a)||(s=s.order(a,{ascending:"asc"===t})),{query:s,isForeignKey:o}},u=async(e,a,t,s,n)=>{const i=Es(r.userIdFields,r.userFieldsMapping).some(e=>e.nameField===a||e.emailField===a||e.usernameField===a),o=a.includes(".");if(zs(a)||o||i){const e={search:"",sortField:void 0,sortDirection:void 0,page:1,limit:500},i=await this.getAll(e);if(!i?.data?.length)return i;const d=await Ts.enrichWithUserData(i.data,{entityName:l,userIdFields:r.userIdFields,userFieldsMapping:r.userFieldsMapping});let c;c=o?d.sort((e,r)=>{const s=a.split(".").reduce((e,a)=>e?.[a],e)||"",n=a.split(".").reduce((e,a)=>e?.[a],r)||"",i=String(s).localeCompare(String(n),"pt-BR");return"asc"===t?i:-i}):((e,a,t)=>[...e].sort((e,r)=>{const s=e[a]||"",n=r[a]||"",i=s.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?i:-i}))(d,a,t);const m=((e,a=1,t=25)=>{const r=(a-1)*t,s=r+t,n=e.slice(r,s);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:s<e.length,hasPreviousPage:a>1}}})(c,s,n);return{data:m.data,currentPage:m.pagination.currentPage,totalPages:m.pagination.totalPages,totalItems:m.pagination.totalCount,itemsPerPage:m.pagination.itemsPerPage,hasNextPage:m.pagination.hasNextPage,hasPreviousPage:m.pagination.hasPreviousPage}}return await Ts.enrichWithUserData(e,{entityName:l,userIdFields:r.userIdFields,userFieldsMapping:r.userFieldsMapping})};return{async getAll(e={}){const{search:a,sortField:t,sortDirection:n,page:i,limit:o,additionalFilters:c}=(e=>{const{search:a="",sortField:t="updated_at",sortDirection:r="desc",page:s=1,limit:n=25,...i}=e;return{search:a,sortField:t,sortDirection:r,page:s,limit:n,additionalFilters:i}})(e),{query:h}=m(a,t,n,c),p=((e,a,t)=>{const r=(a-1)*t,s=r+t-1;return e.range(r,s)})(h,i,o),{data:f,error:g,count:b}=await p;if(g)throw new Error(`Error fetching ${s}: ${g.message}`);let v=((e,a,t,r)=>{const s=Math.ceil((a||0)/r);return{data:e,currentPage:t,totalPages:s,totalItems:a||0,itemsPerPage:r,hasNextPage:t<s,hasPreviousPage:t>1}})(f||[],b,i,o);if((e=>{if(!d||!l||0===e.length)return!1;const a=Es(r.userIdFields,r.userFieldsMapping);return e.some(e=>a.some(a=>e[a.idField]))})(v.data)){const e=await u(v.data,t,n,i,o);if(!Array.isArray(e))return e;v={...v,data:e}}return v},async getById(e){const{data:a,error:t}=await c().select(i||"*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${s}: ${t.message}`);return a},async create(e){const a=xt(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:r,error:n}=await c().insert(t).select().single();if(n)throw new Error(`Error creating ${s}: ${n.message}`);if(!r)throw new Error(`No data returned from create ${s} operation`);return r},async update(e,a){const t={...xt(a),updated_at:(new Date).toISOString()},{data:r,error:n}=await c().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${s}: ${n.message}`);if(!r)throw new Error(`No data returned from update ${s} operation`);return r},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await c().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${s}: ${t.message}`)}}}const Fs=()=>{Jr.clearManualLogout()},js=e=>e?.placeId||null,Ds=e=>e?.placeName||null,Ls=e=>({placeId:js(e),placeName:Ds(e)}),Os=class{static async initialize(){try{if(!Jr.hasAllTokens()||!Jr.areAllTokensValid())return Jr.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null};const a=Jr.getAccessToken(),t=Jr.getIdToken();Fs();const r=this.extractUserFromIdToken(t),s=this.extractCompaniesFromIdToken(t),n=this.extractAliasFromAccessToken(a),i=Jr.extractTokenData(),o=i?.alias;let l=null;if(o&&s.some(e=>e.alias===o))l=o;else{const e=Jr.getSelectedAlias(),a=e&&s.some(a=>a.alias===e);l=a?e:n||s[0]?.alias||null}!Jr.isSupabaseTokenValid()&&l&&await cs.attemptRegeneration();let d=null;if(l){const e=Jr.getCompanyId(l),a=s.find(e=>e.alias===l);a&&(d={id:e||a.id,name:a.name,alias:a.alias})}let c=null,m=null;if(r?.id&&l){const a=Jr.getCompanyId(l);if(a)try{const e=(await gs.fetchActiveUsersMap(l,a)).get(r.id);if(e){const a=Ls(e);c=a.placeId,m=a.placeName}}catch(e){}}return{isAuthenticated:!0,isLoading:!1,user:r,alias:l,companies:s,selectedUnit:d,userId:r?.id||null,userAlias:r?.id||null,placeId:c,placeName:m,activePlaceId:c,activePlaceName:m}}catch(e){return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null}}}static async loginDev(){try{const e=is(),{data:a,error:t}=await e.functions.invoke("dev-tokens",{body:{environment:"development"}});if(t)return!1;if(!a?.access_token||!a?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=Jr.generateOAuthState();Jr.setOAuthState(e);const a=Jr.generateOAuthNonce();Jr.setOAuthNonce(a);const t=`${window.location.origin}/callback`,r=new URL(bs.oauth.authUrl);r.searchParams.set("client_id",bs.oauth.clientId),r.searchParams.set("response_type",bs.oauth.responseType),r.searchParams.set("scope",bs.oauth.scope),r.searchParams.set("redirect_uri",t),r.searchParams.set("state",e),r.searchParams.set("nonce",a),r.searchParams.set("response_mode","fragment"),Ns(),window.location.href=r.toString()}static async processCallback(){try{if(Jr.hasAllTokens()){if(!Jr.getValidSupabaseToken()){Jr.getAccessToken();await cs.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),a=new URLSearchParams(window.location.search),t=t=>e.get(t)||a.get(t),r=t("access_token"),s=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!r||!s)throw new Error("Tokens não encontrados na URL de callback");Jr.setAccessToken(r),Jr.setIdToken(s),Fs();const i=this.extractAliasFromAccessToken(r);if(i)Jr.setSelectedAlias(i);else{const e=this.extractCompaniesFromIdToken(s);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");Jr.setSelectedAlias(e[0].alias)}if(!await cs.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return Jr.clearOAuthState(),Jr.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){Jr.setManualLogout(),Jr.clearAll(),window.location.href="/login"}static decodeToken(e){return Wr.parseJwtPayload(e)}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier}:null}static extractCompaniesFromIdToken(e){const a=this.decodeToken(e);if(!a)return[];const t=[];return Object.keys(a).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof a[e]){const r=a[e].split(";");if(r.length>=4)t.push({id:r.length>7?r[7].trim():"",alias:r[0].trim(),name:r[3].trim()});else{const[r,s]=a[e].split("|");r&&s&&t.push({id:"",alias:r.trim(),name:s.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}};cs.setLogoutCallback(()=>{Os.logout()});let $s=Os;const Us=o(void 0),Ws=({children:a})=>{const[t,r]=n({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null});let s=null;try{s=Ta()}catch{}const[o,l]=n(!1),[m,u]=n(0),h=d(e=>{r(a=>({...a,...e}))},[]),p=d(e=>{r(a=>({...a,isLoading:e}))},[]),f=d(()=>{r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null})},[]),g=d(async e=>{try{p(!0);const r=Jr.getAccessToken();if(!r)return;const n=await os.generateToken(r,e.alias,void 0,!0);if(!n)return;Jr.setSupabaseToken(n),Jr.setSelectedAlias(e.alias);const i=Jr.extractTokenData(),o=i?.alias||e.alias,l=i?.companyId||Jr.getCompanyId(e.alias),d={id:l||e.id,name:e.name,alias:o};let c=null,m=null;if(t.user?.id&&o&&l)try{const e=(await gs.fetchActiveUsersMap(o,l)).get(t.user.id);if(e){const a=Ls(e);c=a.placeId,m=a.placeName}}catch(a){}h({alias:o,selectedUnit:d,placeId:c,placeName:m,activePlaceId:c,activePlaceName:m}),s&&(await s.clear(),await new Promise(e=>setTimeout(e,100)))}catch(a){}finally{p(!1)}},[h,s,p,t.user]),b=d(async()=>await $s.processCallback(),[]),v=d(async()=>{$s.logout(),f(),s&&await s.clear()},[f,s]),y=d(e=>{l(e)},[]),N=d(()=>{u(e=>e+1)},[]),x=d(()=>{u(e=>e+1)},[]);c(()=>{if(!t.isAuthenticated)return;let e=!0;const a=setInterval(()=>{e&&(Jr.areAllTokensValid()||e&&v())},6e5);return()=>{e=!1,clearInterval(a)}},[t.isAuthenticated,v]),c(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const a=await $s.initialize();if(!e)return;a&&a.isAuthenticated?h({user:a.user,companies:a.companies,alias:a.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:a.selectedUnit,userId:a.userId,userAlias:a.userAlias,placeId:a.placeId,placeName:a.placeName,activePlaceId:a.activePlaceId,activePlaceName:a.activePlaceName}):e&&p(!1)}catch(a){e&&(ms.handleError(a),p(!1))}})(),()=>{e=!1}},[h,p,v]);const w=i(()=>({...t,logout:v,processCallback:b,switchUnit:g,availableUnits:t.companies,isSearchVisible:o,setSearchVisible:y,clearSearch:N,refreshData:x}),[t.user,t.companies,t.alias,t.isAuthenticated,t.isLoading,t.selectedUnit,t.userId,t.userAlias,t.placeId,t.placeName,t.activePlaceId,t.activePlaceName,v,b,g,o,y,N,x]);return e(Us.Provider,{value:w,children:a})},qs=()=>{const e=l(Us);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e};function Vs({queryKey:e,service:a,entityName:t,searchFields:r,additionalFilters:s={},onSuccess:o}){const[l,c]=ja(),m=Ta(),{alias:u,userId:h,isAuthenticated:p}=qs(),f=d(a=>{const t=`${e}_${a}`,r=l.get(t);return r||(l.get(a)||"")},[l,e]),g=f("search"),b=f("sortField")||vs.sorting.defaultField,v=f("sortDirection")||vs.sorting.defaultDirection,y=parseInt(f("page")||"1"),N=parseInt(f("limit")||String(vs.pagination.defaultPageSize)),x=g,k=i(()=>({search:x,sortField:b,sortDirection:v,page:y,limit:N,...s}),[x,b,v,y,N,s]),C=d(()=>a.getAll(k),[a,k]),S=Ra({queryKey:[e,u,h,k],queryFn:C,enabled:!!u&&p});if(!S)throw new Error(`useCrud: Query initialization failed for "${t}". Ensure QueryClientProvider is configured in your app root.`);const _=za({mutationFn:a.create,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.created(t)),o?.()},onError:e=>{w.error(`${Ss.error.create(t)}: ${e.message}`)}}),P=za({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.updated(t)),o?.()},onError:e=>{w.error(`${Ss.error.update(t)}: ${e.message}`)}}),I=za({mutationFn:a.delete,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.deleted(t))},onError:e=>{w.error(`${Ss.error.delete(t)}: ${e.message}`)}}),E=d(a=>{const t={...Object.fromEntries(l)};Object.entries(a).forEach(([a,r])=>{const s=`${e}_${a}`;""===r||0===r?delete t[s]:t[s]=String(r)}),delete t.sortField,delete t.sortDirection,c(t)},[l,c,e]),A=d(e=>{E({search:e,page:1})},[E]),T=d(e=>{E({sortField:e,sortDirection:b===e&&"asc"===v?"desc":"asc",page:1})},[b,v,E]),R=d(e=>{E({page:e})},[E]),z=d(e=>{E({limit:e,page:1})},[E]),M=d(()=>{const a=Object.fromEntries(l),t=`${e}_`,r=Object.fromEntries(Object.entries(a).filter(([e])=>!e.startsWith(t)));c(r)},[c,l,e]),[F,j]=n([]),D=d(e=>{j(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[]),L=d(()=>{const e=S?.data?.data.map(e=>e.id)||[];j(a=>a.length===e.length?[]:e)},[S?.data?.data]),O=d(()=>{j([])},[]),$=i(()=>{const e=S?.data?.data.map(e=>e.id)||[];return e.length>0&&F.length===e.length},[F,S?.data?.data]),U=za({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(a,r)=>{m.invalidateQueries({queryKey:[e]}),w.success(`${r.length} ${t}(s) deletado(s) com sucesso`),O()},onError:e=>{w.error(`Erro ao deletar itens: ${e.message}`)}}),W=d((e,a)=>{const t=a?a(e):e;e.id?P.mutate({id:e.id,data:t}):_.mutate({...t,alias:u})},[u,_,P]);return{entities:S?.data?.data||[],pagination:{data:S?.data?.data||[],currentPage:S?.data?.currentPage||1,totalPages:S?.data?.totalPages||1,totalItems:S?.data?.totalItems||0,itemsPerPage:S?.data?.itemsPerPage||vs.pagination.defaultPageSize,hasNextPage:S?.data?.hasNextPage||!1,hasPreviousPage:S?.data?.hasPreviousPage||!1},isLoading:S?.isLoading??!0,isCreating:_?.isPending??!1,isUpdating:P?.isPending??!1,isDeleting:I?.isPending??!1,error:S?.error||null,searchTerm:g,sortField:b,sortDirection:v,currentPage:y,itemsPerPage:N,queryKey:e,createEntity:_.mutate,updateEntity:(e,a)=>P.mutate({id:e,data:a}),deleteEntity:I.mutate,save:W,handleSearch:A,handleSort:T,handlePageChange:R,handleItemsPerPageChange:z,clearFilters:M,refetch:S.refetch,selectedIds:F,selectItem:D,selectAll:L,clearSelection:O,isAllSelected:$,bulkDelete:e=>U.mutateAsync(e),isBulkDeleting:U.isPending}}function Bs(e){const a=Ms({tableName:e.tableName,searchFields:e.searchFields||["title"],selectFields:e.selectFields,schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0,userIdFields:e.userIdFields,userFieldsMapping:e.userFieldsMapping});return{service:a,useCrudHook:(t,r)=>Vs({queryKey:e.tableName,service:{...a,getAll:async(e={})=>await a.getAll({...e})},entityName:e.entityName,additionalFilters:t,onSuccess:r})}}const Hs=r.forwardRef(({className:a,...t},r)=>e("table",{ref:r,className:Nt("w-full caption-bottom text-sm table-fixed",a),...t}));Hs.displayName="Table";const Ks=r.forwardRef(({className:a,...t},r)=>e("thead",{ref:r,className:Nt("[&_tr]:border-b sticky top-0 z-[1] bg-background",a),...t}));Ks.displayName="TableHeader";const Qs=r.forwardRef(({className:a,...t},r)=>e("tbody",{ref:r,className:Nt("[&_tr:last-child]:border-0",a),...t}));Qs.displayName="TableBody";const Gs=r.forwardRef(({className:a,...t},r)=>e("tfoot",{ref:r,className:Nt("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...t}));Gs.displayName="TableFooter";const Js=r.forwardRef(({className:a,...t},r)=>e("tr",{ref:r,className:Nt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted even:bg-table-stripe",a),...t}));Js.displayName="TableRow";const Xs=r.forwardRef(({className:a,...t},r)=>e("th",{ref:r,className:Nt("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-background border-b [&:has([role=checkbox])]:pr-0",a),...t}));Xs.displayName="TableHead";const Ys=r.forwardRef(({className:a,...t},r)=>e("td",{ref:r,className:Nt("px-4 py-3 align-middle overflow-hidden [&:has([role=checkbox])]:pr-0",a),...t}));Ys.displayName="TableCell";const Zs=r.forwardRef(({className:a,...t},r)=>e("caption",{ref:r,className:Nt("mt-4 text-sm text-muted-foreground",a),...t}));function en({rows:t=5,columns:r=4}){return e("div",{className:"w-full",children:a("div",{className:"rounded-md border",children:[e("div",{className:"border-b bg-muted/50 px-4 py-3",children:e("div",{className:"flex space-x-4",children:Array.from({length:r}).map((a,t)=>e(Dr,{className:"h-4 w-24"},t))})}),e("div",{children:Array.from({length:t}).map((a,t)=>e("div",{className:"border-b px-4 py-3 last:border-0",children:e("div",{className:"flex space-x-4",children:Array.from({length:r}).map((a,t)=>e(Dr,{className:"h-4 w-20"},t))})},t))})]})})}function an({count:t=3}){return e("div",{className:"space-y-4",children:Array.from({length:t}).map((t,r)=>a(Rt,{children:[a(zt,{children:[e(Dr,{className:"h-4 w-3/4"}),e(Dr,{className:"h-3 w-1/2"})]}),e(jt,{children:a("div",{className:"space-y-2",children:[e(Dr,{className:"h-3 w-full"}),e(Dr,{className:"h-3 w-2/3"})]})})]},r))})}function tn({fields:t=4}){return a("div",{className:"space-y-4",children:[Array.from({length:t}).map((t,r)=>a("div",{className:"space-y-2",children:[e(Dr,{className:"h-4 w-24"}),e(Dr,{className:"h-10 w-full"})]},r)),a("div",{className:"flex justify-end space-x-2 pt-4",children:[e(Dr,{className:"h-10 w-20"}),e(Dr,{className:"h-10 w-20"})]})]})}function rn(){return a("div",{className:"flex items-center justify-between p-4 border-b",children:[a("div",{className:"flex items-center space-x-3",children:[e(Dr,{className:"h-8 w-8 rounded-full"}),e(Dr,{className:"h-6 w-32"})]}),a("div",{className:"flex items-center space-x-2",children:[e(Dr,{className:"h-8 w-8"}),e(Dr,{className:"h-8 w-24"})]})]})}function sn(){return e("div",{className:"w-64 border-r bg-muted/10",children:a("div",{className:"p-4",children:[e(Dr,{className:"h-8 w-32 mb-6"}),e("div",{className:"space-y-2",children:Array.from({length:6}).map((t,r)=>a("div",{className:"flex items-center space-x-3 p-2",children:[e(Dr,{className:"h-4 w-4"}),e(Dr,{className:"h-4 w-20"})]},r))})]})})}Zs.displayName="TableCaption";const nn={default:D,search:j,error:F};function on({icon:t,title:r,description:s,action:n,className:i,variant:o="default"}){const l=t?()=>t:nn[o];return a("div",{className:Nt("flex flex-col items-center justify-center py-12 px-4 text-center",i),children:[e("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:e(l,{className:"h-8 w-8 text-muted-foreground"})}),e("h3",{className:"text-lg font-semibold mb-2",children:r}),s&&e("p",{className:"text-muted-foreground mb-6 max-w-sm",children:s}),n&&e(Pt,{onClick:n.onClick,variant:"outline",children:n.label})]})}const ln=$a.Provider,dn=$a.Root,cn=$a.Trigger,mn=r.forwardRef(({className:a,sideOffset:t=4,...r},s)=>e($a.Content,{ref:s,sideOffset:t,className:Nt("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...r}));function un({children:t,className:s}){const n=r.useRef(null),[i,o]=r.useState(!1);r.useEffect(()=>{const e=()=>{const e=n.current;e&&o(e.scrollWidth>e.clientWidth)};e();const a=new ResizeObserver(e);return n.current&&a.observe(n.current),()=>a.disconnect()},[t]);const l=e("div",{ref:n,className:`truncate w-full max-w-full ${s||""}`,children:t});return i?e(ln,{delayDuration:300,children:a(dn,{children:[e(cn,{asChild:!0,children:l}),e(mn,{side:"top",className:"max-w-[400px] break-words",children:t})]})}):l}mn.displayName=$a.Content.displayName;const hn=r.forwardRef(({direction:a,onMouseDown:t,isDragging:r,className:s},n)=>{const i="horizontal"===a;return e("div",{ref:n,onMouseDown:t,className:Nt("absolute z-20 select-none touch-none","transition-colors duration-150",i&&["top-0 right-0 h-full w-2 -mr-1","cursor-col-resize","hover:bg-primary/20","group flex items-center justify-center"],!i&&["bottom-0 left-0 w-full h-2 -mb-1","cursor-row-resize","hover:bg-primary/20","group flex items-center justify-center"],r&&"bg-primary/30",s),children:e("div",{className:Nt("rounded-full bg-border transition-colors group-hover:bg-primary",r&&"bg-primary",i?"h-6 w-0.5":"w-6 h-0.5")})})});hn.displayName="TableResizeHandle";const pn=Ua.Root,fn=Ua.Trigger,gn=Ua.Group,bn=Ua.Portal,vn=Ua.Sub,yn=Ua.RadioGroup,Nn=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(Ua.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));Nn.displayName=Ua.SubTrigger.displayName;const xn=r.forwardRef(({className:a,...t},r)=>e(Ua.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));xn.displayName=Ua.SubContent.displayName;const wn=r.forwardRef(({className:a,sideOffset:t=4,...r},s)=>e(Ua.Portal,{children:e(Ua.Content,{ref:s,sideOffset:t,className:Nt("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground p-1 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...r})}));wn.displayName=Ua.Content.displayName;const kn=r.forwardRef(({className:a,inset:t,...r},s)=>e(Ua.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));kn.displayName=Ua.Item.displayName;const Cn=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(Ua.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ua.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));Cn.displayName=Ua.CheckboxItem.displayName;const Sn=r.forwardRef(({className:t,children:r,...s},n)=>a(Ua.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ua.ItemIndicator,{children:e(O,{className:"h-2 w-2 fill-current"})})}),r]}));Sn.displayName=Ua.RadioItem.displayName;const _n=r.forwardRef(({className:a,inset:t,...r},s)=>e(Ua.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",a),...r}));_n.displayName=Ua.Label.displayName;const Pn=r.forwardRef(({className:a,...t},r)=>e(Ua.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));Pn.displayName=Ua.Separator.displayName;const In=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest opacity-60",a),...t});In.displayName="DropdownMenuShortcut";const En=Wa.Root,An=Wa.Trigger,Tn=Wa.Group,Rn=Wa.Portal,zn=Wa.Sub,Mn=Wa.RadioGroup,Fn=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(Wa.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));Fn.displayName=Wa.SubTrigger.displayName;const jn=r.forwardRef(({className:a,...t},r)=>e(Wa.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));jn.displayName=Wa.SubContent.displayName;const Dn=r.forwardRef(({className:a,...t},r)=>e(Wa.Portal,{children:e(Wa.Content,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t})}));Dn.displayName=Wa.Content.displayName;const Ln=r.forwardRef(({className:a,inset:t,...r},s)=>e(Wa.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));Ln.displayName=Wa.Item.displayName;const On=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(Wa.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Wa.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));On.displayName=Wa.CheckboxItem.displayName;const $n=r.forwardRef(({className:t,children:r,...s},n)=>a(Wa.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Wa.ItemIndicator,{children:e(O,{className:"h-2 w-2 fill-current"})})}),r]}));$n.displayName=Wa.RadioItem.displayName;const Un=r.forwardRef(({className:a,inset:t,...r},s)=>e(Wa.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",a),...r}));Un.displayName=Wa.Label.displayName;const Wn=r.forwardRef(({className:a,...t},r)=>e(Wa.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-border",a),...t}));Wn.displayName=Wa.Separator.displayName;const qn=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});qn.displayName="ContextMenuShortcut";const Vn=({onEdit:r,onDelete:s,onToggleStatus:n,isActive:i=!0,canDelete:o=!0,customActions:l=[],renderAs:d})=>{const{t:c}=Pa(),m=[];if(r){const e={icon:$,label:c("edit"),onClick:r};m.push(e)}if(l.forEach(e=>{m.push(e)}),n){const e={icon:i?U:W,label:c(i?"deactivate":"activate"),onClick:n};m.push(e)}if(o&&s){const e={icon:q,label:c("delete"),onClick:s,destructive:!0};m.push(e)}const u="dropdown"===d?kn:Ln;return e(t,{children:m.map((t,r)=>a(u,{onClick:t.onClick,className:Nt("whitespace-normal cursor-pointer",t.destructive&&"text-destructive focus:text-destructive"),children:[e(t.icon,{className:"mr-2 h-4 w-4 flex-shrink-0"}),t.label]},r))})},Bn=({onEdit:t,onDelete:r,canDelete:s=!0,onToggleStatus:n,isActive:i=!0,customActions:o=[]})=>a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"action",size:"sm",className:"h-7 px-2 text-xs",children:e(C,{size:12})})}),e(wn,{align:"end",className:"bg-background border border-border shadow-lg min-w-[160px]",children:e(Vn,{onEdit:t?e=>{e?.stopPropagation(),t?.()}:void 0,onDelete:r?e=>{e?.stopPropagation(),r?.()}:void 0,onToggleStatus:n?e=>{e?.stopPropagation(),n?.()}:void 0,isActive:i,canDelete:s&&!!r,customActions:o,renderAs:"dropdown"})})]}),Hn=150;function Kn({columns:e,storageKey:a,onResize:t,enabled:r=!0}){const[s,i]=n(()=>{if(!r||"undefined"==typeof window)return e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{});if(a){const e=localStorage.getItem(a);if(e)try{return JSON.parse(e)}catch{}}return e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{})}),[o,l]=n(!1),[u,h]=n(null),p=m(0),f=m(0),g=d((e,a)=>{r&&(a.preventDefault(),a.stopPropagation(),l(!0),h(e),p.current=a.clientX,f.current=s[e]??Hn)},[r,s]);c(()=>{if(!o||!u)return;const r=e.find(e=>e.key===u),s=r?.minWidth??60,n=r?.maxWidth??500,d=e=>{const a=e.clientX-p.current,r=Math.max(s,Math.min(n,f.current+a));i(e=>{const a={...e,[u]:r};return t?.(a),a})},c=()=>{l(!1),h(null),a&&i(e=>(localStorage.setItem(a,JSON.stringify(e)),e))};return document.addEventListener("mousemove",d),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c)}},[o,u,e,a,t]),c(()=>{o?(document.body.style.cursor="col-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[o]);const b=d(()=>{const r=e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{});i(r),a&&localStorage.removeItem(a),t?.(r)},[e,a,t]);return{columnWidths:s,isDragging:o,activeColumn:u,handleMouseDown:g,resetWidths:b}}function Qn({rowIds:e,defaultHeight:a=48,minHeight:t=32,maxHeight:r=120,storageKey:s,onResize:i,enabled:o=!0}){const[l,u]=n(()=>{if(!o||"undefined"==typeof window)return{};if(s){const e=localStorage.getItem(s);if(e)try{return JSON.parse(e)}catch{}}return{}}),[h,p]=n(!1),[f,g]=n(null),b=m(0),v=m(0),y=d(e=>l[e]??a,[l,a]),N=d((e,t)=>{o&&(t.preventDefault(),t.stopPropagation(),p(!0),g(e),b.current=t.clientY,v.current=l[e]??a)},[o,l,a]);c(()=>{if(!h||!f)return;const e=e=>{const a=e.clientY-b.current,s=Math.max(t,Math.min(r,v.current+a));u(e=>{const a={...e,[f]:s};return i?.(a),a})},a=()=>{p(!1),g(null),s&&u(e=>(localStorage.setItem(s,JSON.stringify(e)),e))};return document.addEventListener("mousemove",e),document.addEventListener("mouseup",a),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",a)}},[h,f,t,r,s,i]),c(()=>{h?(document.body.style.cursor="row-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[h]);const x=d(()=>{u({}),s&&localStorage.removeItem(s),i?.({})},[s,i]);return{rowHeights:l,isDragging:h,activeRow:f,handleMouseDown:N,resetHeights:x,getRowHeight:y}}const Gn=u(({checked:a,onCheckedChange:t})=>e(br,{checked:a,onCheckedChange:t}),(e,a)=>e.checked===a.checked),Jn=({manager:t,columns:r,onEdit:s,onView:o,onToggleStatus:l,onDelete:d,renderActions:m,customRowActions:u,enableBulkActions:h=!1,onNew:p,newButtonLabel:f,showNewButton:g=!0,customActions:b=[],hideActionBar:v=!1,enableColumnResize:y=!0,resizeStorageKey:N})=>{const{t:x}=Pa(),{setSearchVisible:w}=qs(),[k,C]=n(!1);c(()=>(w(!0),()=>w(!1)),[w]),c(()=>{const e=()=>C(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const{columnWidths:S,isDragging:_,activeColumn:P,handleMouseDown:I}=Kn({columns:r.map(e=>({key:String(e.key),minWidth:e.minWidth??60,maxWidth:500,defaultWidth:e.width??e.minWidth??150})),storageKey:N?`${N}-columns`:void 0,enabled:y}),{isDragging:E,activeRow:A,handleMouseDown:T,getRowHeight:R}=Qn({rowIds:t.entities.map(e=>e.id),storageKey:N?`${N}-rows`:void 0,enabled:!1}),z=i(()=>(()=>{if(y)return r.map(e=>{const a=S[String(e.key)]??e.width??e.minWidth??150;return{...e,calculatedWidth:a,style:{width:`${a}px`}}});let e=0;const a=r.map(a=>{if(a.width)return e+=a.width,{...a,calculatedWidth:a.width,isFixed:!0};{const t=a.minWidth||120,r=a.weight||1;return e+=t,{...a,calculatedWidth:t,weight:r,isFixed:!1}}});return e+=50,a.map(e=>e.isFixed?{...e,style:{width:`${e.calculatedWidth}px`}}:{...e,style:{minWidth:`${e.calculatedWidth}px`,width:`${e.calculatedWidth}px`}})})(),[r,y,S]),M=!v&&(p||b.length>0);return k?t.isLoading?e(an,{count:3}):0===t.entities.length?e(on,{title:x("empty_title"),description:x("empty_description"),variant:"search"}):a("div",{className:"flex flex-col h-full",children:[M&&e("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:a("div",{className:"flex items-center gap-2",children:[p&&g&&a(Pt,{onClick:p,children:[e(V,{size:16,className:"mr-2"}),f||x("new")]}),b.map((t,r)=>{const s=t.icon;return a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[s&&e(s,{size:16,className:"mr-2"}),t.label]},r)})]})}),e("div",{className:"flex-1 overflow-auto space-y-4 p-4",children:t.entities.map(n=>a(En,{children:[e(An,{asChild:!0,children:e(Rt,{className:Nt("overflow-hidden cursor-pointer hover:bg-muted/50",h&&t.selectedIds.includes(n.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),h?t.selectItem(n.id):s?.(n)},children:e(jt,{className:"p-4",children:a("div",{className:"flex items-start gap-3",children:[h&&e("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:e(Gn,{checked:t.selectedIds.includes(n.id),onCheckedChange:()=>t.selectItem(n.id)})}),a("div",{className:"flex-1",children:[r.map(t=>a("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[a("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[t.header,":"]}),e("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:t.render?t.render(n):String(n[t.key]??"")})]},String(t.key))),(s||o||m)&&e("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:m?m(n):e(Bn,{onEdit:s?()=>{s(n)}:void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,customActions:u?u(n):[]})})]})]})})})}),e(Dn,{className:"w-[160px]",children:e(Vn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,canDelete:!!d,customActions:u?u(n):[],renderAs:"context"})})]},n.id))})]}):a("div",{className:"flex flex-col h-full",children:[M&&e("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:a("div",{className:"flex items-center gap-2",children:[p&&g&&a(Pt,{onClick:p,children:[e(V,{size:16,className:"mr-2"}),f||x("new")]}),b.map((t,r)=>{const s=t.icon;return a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[s&&e(s,{size:16,className:"mr-2"}),t.label]},r)})]})}),t.isLoading?e(en,{rows:5,columns:r.length}):e("div",{className:"flex flex-col h-full overflow-hidden",children:e("div",{className:"flex-1 overflow-auto",children:a(Hs,{className:"table-auto",children:[a("colgroup",{children:[h&&e("col",{style:{width:"50px"}}),z.map((a,t)=>e("col",{style:a.style},t)),e("col",{style:{width:"50px"}})]}),e(Ks,{children:a(Js,{children:[h&&e(Xs,{className:"w-[50px]",children:e(Gn,{checked:t.isAllSelected,onCheckedChange:t.selectAll})}),r.map(r=>{const s=y&&!1!==r.resizable,n=P===String(r.key);return a(Xs,{className:Nt(r.className,r.sortable&&"cursor-pointer hover:bg-muted/50","relative"),onClick:r.sortable?()=>t.handleSort(String(r.key)):void 0,children:[a("div",{className:"flex items-center "+(r.className?.includes("text-center")?"justify-center":""),children:[r.header,r.sortable&&(i=String(r.key),t.sortField!==i?e(B,{size:14,className:"ml-1 opacity-50"}):"asc"===t.sortDirection?e(H,{size:14,className:"ml-1"}):e(K,{size:14,className:"ml-1"}))]}),s&&e(hn,{direction:"horizontal",onMouseDown:e=>I(String(r.key),e),isDragging:n})]},String(r.key));var i}),e(Xs,{className:"w-[50px] text-center",children:x("actions")})]})}),e(Qs,{children:0===t.entities.length?e(Js,{children:e(Ys,{colSpan:h?r.length+2:r.length+1,className:"h-32",children:e(on,{title:x("empty_title"),description:x("empty_description"),variant:"search"})})}):t.entities.map(n=>{const i=R(n.id);return n.id,a(En,{children:[e(An,{asChild:!0,children:a(Js,{className:Nt("cursor-pointer hover:bg-muted/50 relative",h&&t.selectedIds.includes(n.id)&&"bg-muted"),style:i?{height:`${i}px`}:void 0,onClick:e=>{e.stopPropagation(),h?t.selectItem(n.id):s?.(n)},children:[h&&e(Ys,{onClick:e=>e.stopPropagation(),children:e(Gn,{checked:t.selectedIds.includes(n.id),onCheckedChange:()=>t.selectItem(n.id)})}),r.map(a=>e(Ys,{className:a.className,children:e(un,{children:a.render?a.render(n):String(n[a.key]??"")})},String(a.key))),e(Ys,{className:"text-center",children:m?m(n):e(Bn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,customActions:u?u(n):[]})})]})}),e(Dn,{className:"w-[160px]",children:e(Vn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,canDelete:!!d,customActions:u?u(n):[],renderAs:"context"})})]},n.id)})})]})})})]})};function Xn(e,a,t,r){const[s,o]=n({}),[l,d]=n({}),m=i(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),h=e=>{if(void 0!==e.defaultValue)return e.defaultValue;switch(e.type){case"multiselect":return[];case"checkbox":return!1;case"number":return 0;case"date":default:return"";case"group":return{}}},p=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(t){return h(e)}},f=(e,a,t)=>{if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length))return`${e.label} é obrigatório`;if(e.validation){let s;if("function"==typeof e.validation?s=e.validation:e.validation.custom&&"function"==typeof e.validation.custom&&(s=e.validation.custom),s)try{const e=s(a,t);if(e)return e}catch(r){}}};c(()=>{if(!r)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},s=e(m),n={};s.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);u(e)&&(t=e.toISOString().split("T")[0])}else u(t)&&(t=t.toISOString().split("T")[0])}else t=h(e);n[e.name]=t}),s.forEach(e=>{const a=p(e,n);void 0!==a&&(n[e.name]=a)}),a&&Object.keys(a).forEach(e=>{s.find(a=>a.name===e)||void 0===a[e]||(n[e]=a[e])}),o(n),d({}),t&&t(n)},[m,a,t,r]);const g=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...g(e.fields))}),a},b=()=>{const e=g(m),a={};return e.forEach(e=>{const t=f(e,s[e.name],s);t&&(a[e.name]=t)}),d(a),0===Object.keys(a).length};return{formData:s,errors:l,updateField:(e,a)=>{o(r=>{const s={...r,[e]:a},n=((e,a)=>{let t={...a};const r=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...r(e.fields))}),a};return r(m).filter(a=>a.dependsOn===e).forEach(e=>{const a=p(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,s);return t&&t(n),n}),l[e]&&d(a=>{const t={...a};return delete t[e],t});const r=g(m).find(a=>a.name===e);if(r){const t=f(r,a,s);t&&d(a=>({...a,[e]:t}))}},validateForm:b,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),b()&&e(s)}}}const Yn=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Zn=({value:t="#3b82f6",onChange:r,label:s})=>a("div",{className:"space-y-2",children:[s&&e(Tt,{children:s}),a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[e("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:t}}),t]})}),e(Pr,{className:"w-64",children:a("div",{className:"space-y-3",children:[a("div",{children:[e(Tt,{htmlFor:"color-input",children:"Cor personalizada"}),e(Et,{id:"color-input",type:"color",value:t,onChange:e=>r?.(e.target.value),className:"h-10 w-full"})]}),a("div",{children:[e(Tt,{children:"Cores predefinidas"}),e("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Yn.map(a=>e("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:a},onClick:()=>r?.(a),"aria-label":`Selecionar cor ${a}`},a))})]})]})})]})]}),ei=r.forwardRef(({className:t,children:r,...s},n)=>a(qa.Root,{ref:n,className:Nt("relative overflow-hidden",t),...s,children:[e(qa.Viewport,{className:"h-full w-full rounded-[inherit]",children:r}),e(ai,{}),e(qa.Corner,{})]}));ei.displayName=qa.Root.displayName;const ai=r.forwardRef(({className:a,orientation:t="vertical",...r},s)=>e(qa.ScrollAreaScrollbar,{ref:s,orientation:t,className:Nt("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...r,children:e(qa.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));ai.displayName=qa.ScrollAreaScrollbar.displayName;const ti={Star:Le,Heart:De,Home:je,User:Fe,Settings:Me,Mail:ze,Phone:Re,Calendar:Te,MapPin:Ae,Camera:Ee,Image:Ie,Music:Pe,Video:_e,Book:Se,Bookmark:Ce,Search:j,Filter:ke,Edit:$,Trash2:q,Plus:V,Minus:we,Check:I,X:S,ChevronDown:_,ChevronUp:P,ChevronLeft:xe,ChevronRight:L,ArrowUp:H,ArrowDown:K,ArrowLeft:Ne,ArrowRight:ye,Clock:ve,Bell:be,AlertCircle:F,Info:ge,HelpCircle:fe,Download:pe,Upload:he,Share:ue,Copy:me,Save:ce,FileText:de,Folder:le,FolderOpen:oe,Archive:ie,Lock:ne,Unlock:se,Eye:re,EyeOff:te,Shield:ae,Key:ee,Zap:Z,Flame:Y,Sparkles:X,Award:J,Trophy:G,Target:Q},ri=({value:t="Star",onChange:r,label:s})=>{const{t:i}=Pa(),[o,l]=n(""),d=Object.entries(ti).filter(([e])=>e.toLowerCase().includes(o.toLowerCase())),c=ti[t]||Le;return a("div",{className:"space-y-2",children:[s&&e(Tt,{children:s}),a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[e(c,{className:"h-4 w-4 mr-2"}),t]})}),e(Pr,{className:"w-80",children:a("div",{className:"space-y-3",children:[a("div",{children:[e(Tt,{htmlFor:"icon-search",children:i("search")}),e(Et,{id:"icon-search",placeholder:i("search"),value:o,onChange:e=>l(e.target.value)})]}),e(ei,{className:"h-48",children:e("div",{className:"grid grid-cols-6 gap-2",children:d.map(([a,s])=>e("button",{className:"p-2 rounded border-2 hover:border-primary "+(t===a?"border-primary bg-primary/10":"border-border"),onClick:()=>r?.(a),title:a,children:e(s,{className:"h-4 w-4"})},a))})})]})})]})]})},si=r.forwardRef(({className:a,...t},r)=>e(Va.Root,{className:Nt("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...t,ref:r,children:e(Va.Thumb,{className:Nt("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));si.displayName=Va.Root.displayName;const ni=(e={})=>{const{user:a,alias:t}=qs(),{enabled:r=!0}=e;return Ra({queryKey:["qualiex-users",t],queryFn:()=>gs.getUsers(t),enabled:r&&!!t&&!!a,retry:2,retryDelay:1e3})},ii=({value:a,onChange:t,multiple:r=!1,label:s,required:n,placeholder:o,icon:l,maxDisplayedBadges:c,className:m,disabled:u,enabled:h,displayFormat:p="name",customDisplayFn:f,filterFn:g,sortOptions:b=!0,popoverContainer:v,onOpen:y,onClose:N})=>{const{t:x}=Pa(),{data:w=[],isLoading:k,error:C}=ni({enabled:h}),S=i(()=>g?w.filter(g):w,[w,g]),_=d(e=>{if("custom"===p&&f)return f(e);const a=e.userName||e.displayName||"";switch(p){case"name-email":return e.userEmail?`${a} (${e.userEmail})`:a;case"name-role":return e.roleName?`${a} - ${e.roleName}`:a;default:return a}},[p,f]);return e($r,{multiple:r,value:a??(r?[]:""),onChange:t,options:S,isLoading:k,error:C,getOptionValue:e=>e.userId||e.id||"",getOptionLabel:_,placeholder:o||x("search_placeholder"),searchPlaceholder:x("search_placeholder"),emptyMessage:x("no_results"),label:s,required:n,icon:l,maxDisplayedBadges:c,disabled:u,className:m,sortOptions:b,popoverContainer:v,onOpen:y,onClose:N})};function oi({title:t,sections:r,initialData:o,onSubmit:l,onCancel:c,open:u,submitButtonText:h,isLoading:p=!1,usersData:f}){const{t:g}=Pa(),[b,v]=n(r?.[0]?.id||""),y=m(null),[N,x]=n(null),w=d(e=>{y.current=e,x(e)},[]),k=i(()=>r&&Array.isArray(r)?r.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[r]),{formData:C,errors:S,updateField:_,handleSubmit:P}=Xn(k,o,void 0,u),I=i(()=>r&&Array.isArray(r)?r.map(e=>({...e,disabled:e.condition?!e.condition(C):e.disabled||!1})):[],[r,C]),E=i(()=>{const e=I.find(e=>e.id===b);if(e&&!e.disabled)return b;const a=I.find(e=>!e.disabled);return a?.id||b},[I,b]);s.useEffect(()=>{E!==b&&v(E)},[E,b]);const A=I.find(e=>e.id===E),T=t=>{const r=(t.computedValue,C[t.name]),s=void 0!==r?r:"",n=S[t.name];switch(t.type){case"group":const r="horizontal"===t.layout,i=r?`flex gap-3 w-full ${t.className||""}`:"space-y-3",o=r?Nt("space-y-2 w-full",t.wrapperClassName):Nt("space-y-2",t.className,t.wrapperClassName);return a("div",{className:o,children:[t.label,e("div",{className:i,children:t.fields?.map(e=>T(e))})]},t.name);case"user-select":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ii,{value:s||"",onChange:e=>_(t.name,e),placeholder:t.placeholder,disabled:t.disabled,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"textarea":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(vr,{id:t.name,value:s||"",onChange:e=>{_(t.name,e.target.value)},placeholder:t.placeholder,disabled:t.disabled,rows:t.rows,maxLength:t.maxLength,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"select":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(or,{value:String(s),onValueChange:e=>{_(t.name,e),t.onValueChange&&t.onValueChange(e)},disabled:t.disabled,children:[e(cr,{className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,children:e(dr,{placeholder:t.placeholder})}),e(hr,{children:t.options?.map(a=>e(fr,{value:a.value,children:a.label},a.value))})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"multiselect":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e($r,{options:t.options||[],value:Array.isArray(s)?s:[],onChange:e=>_(t.name,e),placeholder:t.placeholder,disabled:t.disabled,error:n,popoverContainer:N,getOptionValue:e=>String(e.value),getOptionLabel:e=>e.label}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"date":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:"date",value:String(s),onChange:e=>_(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled,className:Nt("w-full",n?"border-destructive":"",t.disabled?"bg-muted cursor-not-allowed":"")}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"color":return a("div",{children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:"color",value:s||t.defaultValue||"#000000",onChange:e=>_(t.name,e.target.value),className:"h-10"}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"color-picker":return a("div",{children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Zn,{value:s||t.defaultValue||"#3b82f6",onChange:e=>_(t.name,e)}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"icon-picker":return a("div",{children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ri,{value:s||t.defaultValue||"Star",onChange:e=>_(t.name,e)}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"custom":if(!t.component)return null;const l=t.component,d="function"==typeof t.componentProps?t.componentProps(C):t.componentProps||{};return a("div",{className:`space-y-2 ${t.className||""}`,children:[t.label&&a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(l,{value:s,onChange:e=>{_(t.name,e),t.onValueChange&&t.onValueChange(e)},disabled:t.disabled,error:n,popoverContainer:N,...d}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"number":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:"number",value:null!=s?String(s):"",onChange:e=>{const a=e.target.value,r=""===a?null:Number(a);_(t.name,r)},placeholder:t.placeholder,disabled:t.disabled,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,min:t.min,step:t.step||"1"}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"checkbox":return a("div",{className:`flex items-center space-x-2 ${t.className||""}`,children:[e(br,{id:t.name,checked:!!s,onCheckedChange:e=>_(t.name,e),disabled:t.disabled}),a(Tt,{htmlFor:t.name,className:"cursor-pointer",children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"switch":return a("div",{className:`flex items-center justify-between space-x-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(si,{id:t.name,checked:!!s,onCheckedChange:e=>_(t.name,e),disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive mt-2",children:n})]},t.name);default:return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:"text",value:s||"",onChange:e=>{_(t.name,e.target.value)},placeholder:t.placeholder,disabled:t.disabled,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,readOnly:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name)}},R=d(()=>{if(!A)return null;if(A.disabled)return a("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e("div",{className:"rounded-full bg-muted p-3 mb-4",children:e("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),e("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),e("p",{className:"text-muted-foreground max-w-sm",children:'Complete as informações obrigatórias na seção "Informações Gerais" para acessar esta seção.'})]});if(A.component){const a=A.component;return e(a,{formData:C,updateField:_,errors:S,users:f,disabled:A.disabled})}return e("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:A.fields.map(T)})},[A,C,_,S,f,T]),z=a("div",{className:"flex flex-col max-h-[80vh]",children:[I.length>1&&e("div",{className:"flex-shrink-0 p-4 border-b",children:e("div",{className:"flex space-x-2",children:I.map(a=>e(Pt,{variant:E===a.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=I.find(a=>a.id===e);a&&!a.disabled&&v(e)})(a.id),disabled:a.disabled,className:a.disabled?"opacity-50 cursor-not-allowed":"",children:a.title},a.id))})}),e("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:p?e("div",{className:"flex items-center justify-center py-12",children:e("div",{className:"text-muted-foreground",children:g("loading")})}):a("form",{onSubmit:P(l),className:"space-y-3 md:space-y-4",children:[R(),a("div",{className:"flex justify-end space-x-2 pt-4",children:[e(Pt,{type:"button",variant:"outline",onClick:c,children:g("cancel")}),e(Pt,{type:"submit",disabled:p,children:h||g("save")})]})]})})]});return e(Ot,{open:u,onOpenChange:e=>{!1===e&&!0===u&&c()},children:a(Bt,{ref:w,className:"max-w-4xl max-h-[90vh] overflow-visible",children:[a(Ht,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[e(Gt,{children:t}),e(Jt,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),z]})})}function li({currentPage:r,totalPages:s,totalItems:n,itemsPerPage:i,onPageChange:o,onItemsPerPageChange:l,variant:d="full"}){const c=(r-1)*i+1,m=Math.min(r*i,n);return a("div",{className:"flex items-center justify-between px-4 py-3 gap-4",children:[e("div",{className:"flex items-center gap-2",children:"full"===d&&a(t,{children:[e("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Itens por página"}),a(or,{value:String(i),onValueChange:e=>l(Number(e)),children:[e(cr,{className:"h-8 w-[70px]",children:e(dr,{})}),a(hr,{children:[e(fr,{value:"10",children:"10"}),e(fr,{value:"25",children:"25"}),e(fr,{value:"50",children:"50"}),e(fr,{value:"100",children:"100"})]})]})]})}),a("div",{className:"text-sm text-muted-foreground text-center hidden sm:block",children:[c,"-",m," de ",n," itens"]}),a("div",{className:"flex items-center gap-1",children:[e(Pt,{variant:"outline",size:"sm",onClick:()=>o(1),disabled:1===r,className:"h-8 w-8 p-0",children:e(Oe,{size:16})}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(r-1),disabled:1===r,className:"h-8 w-8 p-0",children:e(xe,{size:16})}),a("div",{className:"flex items-center gap-1 px-2",children:[e("span",{className:"text-sm font-medium",children:r}),e("span",{className:"text-sm text-muted-foreground",children:"de"}),e("span",{className:"text-sm font-medium",children:s})]}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(r+1),disabled:r===s,className:"h-8 w-8 p-0",children:e(L,{size:16})}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(s),disabled:r===s,className:"h-8 w-8 p-0",children:e($e,{size:16})})]})]})}function di({manager:a}){return e(li,{currentPage:a.pagination.currentPage,totalPages:a.pagination.totalPages,totalItems:a.pagination.totalItems,itemsPerPage:a.pagination.itemsPerPage,onPageChange:a.handlePageChange,onItemsPerPageChange:a.handleItemsPerPageChange,variant:"full"})}const ci=({selectedCount:t,onClearSelection:r,onBulkDelete:s,customActions:n=[],isLoading:i=!1})=>{const{t:o}=Pa();return a("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[a("div",{className:"flex items-center gap-3",children:[e("span",{className:"text-sm font-medium",children:o("selected_count",{count:t})}),a(Pt,{variant:"ghost",size:"sm",onClick:r,className:"h-7 px-2",children:[e(S,{size:14,className:"mr-1"}),o("clear")]})]}),a("div",{className:"flex items-center gap-2",children:[n.map((t,r)=>{const s=t.icon;return a(Pt,{variant:t.variant||"outline",size:"sm",onClick:()=>t.action([]),disabled:i,className:"h-7",children:[s&&e(s,{size:14,className:"mr-1"}),t.label]},r)}),s&&a(Pt,{variant:"destructive",size:"sm",onClick:s,disabled:i,className:"h-7",children:[e(q,{size:14,className:"mr-1"}),o("delete")]})]})]})},mi={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},ui={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},hi={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function pi({children:a,direction:t="column",gap:r="md",align:s="stretch",justify:n="start",wrap:i=!1,className:o}){return e("div",{className:Nt("flex","column"===t?"flex-col":"flex-row",mi[r],ui[s],hi[n],i&&"flex-wrap",o),children:a})}function fi({manager:r,filters:s,inline:n=!1}){const{t:i}=Pa(),{isSearchVisible:o}=qs(),l=r.searchTerm,d=a(t,{children:[s.some(e=>"search"===e.type)&&!o&&a("div",{className:"relative flex-1",children:[e(j,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),e(Et,{placeholder:i("search"),value:r.searchTerm,onChange:e=>r.handleSearch(e.target.value),className:"pl-10"})]}),s.filter(e=>"select"===e.type&&e.options).map((t,r)=>a("select",{value:t.value||"",onChange:e=>t.onChange?.(e.target.value),className:"h-10 px-3 rounded-md border border-input bg-background text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",children:[t.placeholder&&e("option",{value:"",children:t.placeholder}),t.options.map(a=>e("option",{value:a.value,children:a.label},a.value))]},`select-${r}`)),s.filter(e=>"custom"===e.type&&e.component).map((a,t)=>{const r=a.component;return e("div",{className:n?"":"w-full sm:w-auto",children:e(r,{...a.props})},`custom-${t}`)}),l&&a(Pt,{variant:"outline",onClick:r.clearFilters,className:"whitespace-nowrap",children:[e(S,{className:"h-4 w-4 mr-2"}),i("clear")]})]});return n?e("div",{className:"flex items-center gap-2",children:d}):e(pi,{direction:"column",gap:"md",className:"mb-6",children:e(pi,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:d})})}function gi({manager:t,config:r,formSections:s,onSave:i,onToggleStatus:o,defaultSort:l}){t&&t.queryKey;const{t:d}=Pa(),{setSearchVisible:m}=qs(),[u,h]=ja(),[p,f]=n(!1),[g,b]=n(null),[v,y]=n({isOpen:!1,entityId:null,entityName:""}),[N,x]=n({isOpen:!1,count:0});c(()=>(m(!0),()=>{m(!1)}),[m]),c(()=>{if(l&&t){const e=`${t.queryKey}_sortField`,a=`${t.queryKey}_sortDirection`;if(!u.has(e)&&!u.has(a)){const t=Object.fromEntries(u);t[e]=l.column,t[a]=l.direction,h(t)}}},[]);const w=()=>{y({isOpen:!1,entityId:null,entityName:""})};return a("div",{className:"flex-1 flex flex-col h-full",children:[r.enableBulkActions&&t.selectedIds.length>0&&e(ci,{selectedCount:t.selectedIds.length,onClearSelection:t.clearSelection,onBulkDelete:r.bulkActions&&r.bulkActions.length>0?void 0:()=>{x({isOpen:!0,count:t.selectedIds.length})},customActions:r.bulkActions,isLoading:t.isBulkDeleting}),a("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:[a("div",{className:"flex items-center gap-2",children:[a(Pt,{onClick:()=>{r.onNew?r.onNew():(b(null),f(!0))},children:[e(V,{size:16,className:"mr-2"}),d("new")]}),r.customActions?.map((t,r)=>a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[t.icon&&e(t.icon,{size:16,className:"mr-2"}),t.label]},r))]}),r.filters&&r.filters.length>0&&e("div",{className:"flex items-center gap-2 flex-1 justify-end",children:e(fi,{manager:t,filters:r.filters,inline:!0})})]}),e("div",{className:"flex-1 flex flex-col overflow-hidden",children:r.customListView?e("div",{className:"flex-1 overflow-auto p-4",children:r.customListView(t.entities,t)}):e(Jn,{manager:t,columns:r.columns,onEdit:e=>{r.onEdit?r.onEdit(e):(b(e),f(!0))},onDelete:e=>{y({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:o,enableBulkActions:r.enableBulkActions,customRowActions:r.customRowActions})}),e("div",{className:"flex-shrink-0 border-t bg-background",children:e(di,{manager:t})}),!r.useCustomRouting&&e(oi,{open:p,title:g?`Editar ${r.entityName}`:`Novo ${r.entityName}`,sections:s,initialData:g||void 0,onSubmit:e=>{i(e),f(!1),b(null)},onCancel:()=>{f(!1),b(null)},isLoading:t.isLoading,submitButtonText:d(g?"update":"create")}),e(Ot,{open:v.isOpen,onOpenChange:w,children:a(Bt,{size:"sm",children:[e(Ht,{showSeparator:!0,children:e(Gt,{children:"Você tem certeza absoluta?"})}),e("div",{className:"flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",children:a("p",{className:"text-sm text-muted-foreground",children:["Você está prestes a excluir ",e("strong",{children:v.entityName}),". Esta ação não pode ser desfeita."]})}),a(Qt,{children:[e(Pt,{variant:"outline",onClick:w,children:"Cancelar"}),e(Pt,{variant:"destructive",onClick:()=>{v.entityId&&(t.deleteEntity(v.entityId),y({isOpen:!1,entityId:null,entityName:""}))},disabled:t.isDeleting,children:t.isDeleting?"Excluindo...":"Sim, excluir"})]})]})}),e(Ot,{open:N.isOpen,onOpenChange:()=>x({isOpen:!1,count:0}),children:a(Bt,{size:"sm",children:[e(Ht,{showSeparator:!0,children:e(Gt,{children:"Você tem certeza absoluta?"})}),e("div",{className:"flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",children:a("p",{className:"text-sm text-muted-foreground",children:["Você está prestes a excluir ",e("strong",{children:N.count})," ",1===N.count?r.entityName:r.entityNamePlural,". Esta ação não pode ser desfeita."]})}),a(Qt,{children:[e(Pt,{variant:"outline",onClick:()=>x({isOpen:!1,count:0}),children:"Cancelar"}),e(Pt,{variant:"destructive",onClick:()=>{t.bulkDelete?.(t.selectedIds),x({isOpen:!1,count:0})},disabled:t.isBulkDeleting,children:t.isBulkDeleting?"Excluindo...":"Sim, excluir"})]})]})})]})}function bi(a){return({manager:t})=>{const{manager:r,config:s,onSave:n,onEdit:i,onToggleStatus:o}=a,l=t??r,d={entityName:s.entityName,entityNamePlural:s.entityNamePlural,filters:s.filters||[],columns:s.columns,cardFields:s.cardFields||[],enableBulkActions:s.enableBulkActions??!1,bulkActions:s.bulkActions||[],customActions:s.customActions,customRowActions:s.customRowActions,customListView:s.customListView,onEdit:i||s.onEdit};return e(gi,{manager:l,config:d,formSections:s.formSections,onSave:n,onToggleStatus:o,defaultSort:s.defaultSort})}}function vi(e,a,t){return r=>{if(r.id){const a=t(r);e.updateEntity(r.id,a)}else{const t=a(r);e.createEntity(t)}}}function yi(e,a,t={}){const r=[];return Object.keys(a).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const t=a[e],s={key:e,header:xi(e),label:xi(e),...Ni(e,t),sortable:!0,searchable:"string"==typeof t};r.push(s)}}),{title:e,columns:r,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...t}}function Ni(e,a){const t=e.toLowerCase();return t.includes("email")?{type:"email",required:!0}:t.includes("phone")||t.includes("tel")?{type:"tel"}:t.includes("description")||t.includes("content")||t.includes("notes")?{type:"textarea"}:t.includes("status")||t.includes("type")||t.includes("category")?{type:"select",options:[]}:"boolean"==typeof a?{type:"boolean"}:"number"==typeof a?{type:"number"}:a instanceof Date?{type:"date"}:{type:"text"}}function xi(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const wi=r.forwardRef(({className:a,value:t,...r},s)=>e(Ba.Root,{ref:s,className:Nt("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",a),...r,children:e(Ba.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));function ki({steps:t,currentStepIndex:r,onStepClick:s,className:n}){return e("div",{className:Nt("flex items-center justify-between mb-6",n),children:t.map((r,n)=>a("div",{className:"flex items-center flex-1",children:[e("div",{className:Nt("flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors font-medium",r.isActive&&"border-primary bg-primary text-primary-foreground",r.isCompleted&&"border-primary bg-primary text-primary-foreground",!r.isActive&&!r.isCompleted&&"border-muted-foreground/30 text-muted-foreground bg-background",s&&!r.isDisabled&&"cursor-pointer hover:border-primary/50",r.isDisabled&&"opacity-50 cursor-not-allowed"),onClick:()=>s&&!r.isDisabled&&s(n),role:s&&!r.isDisabled?"button":void 0,tabIndex:s&&!r.isDisabled?0:void 0,"aria-label":`${r.label} - ${r.isCompleted?"Completo":r.isActive?"Atual":"Pendente"}`,children:r.isCompleted?e(I,{className:"w-5 h-5"}):n+1}),n<t.length-1&&e("div",{className:Nt("flex-1 h-0.5 mx-2 transition-colors",r.isCompleted?"bg-primary":"bg-muted-foreground/30"),"aria-hidden":"true"})]},r.id))})}function Ci({steps:t,currentStepIndex:r,onStepClick:s,className:n}){return e("div",{className:Nt("flex items-center gap-2 mb-6 overflow-x-auto",n),children:t.map((r,n)=>a("div",{className:"flex items-center gap-2 whitespace-nowrap",children:[a("div",{className:Nt("flex items-center gap-2 px-3 py-2 rounded-md transition-colors",r.isActive&&"bg-primary text-primary-foreground font-medium",r.isCompleted&&"bg-primary/10 text-primary",!r.isActive&&!r.isCompleted&&"bg-muted text-muted-foreground",s&&!r.isDisabled&&"cursor-pointer hover:bg-primary/20",r.isDisabled&&"opacity-50 cursor-not-allowed"),onClick:()=>s&&!r.isDisabled&&s(n),role:s&&!r.isDisabled?"button":void 0,tabIndex:s&&!r.isDisabled?0:void 0,"aria-label":`${r.label} - ${r.isCompleted?"Completo":r.isActive?"Atual":"Pendente"}`,children:[e("span",{className:"text-sm font-medium",children:n+1}),e("span",{className:"text-sm",children:r.label}),r.isCompleted&&e(I,{className:"w-4 h-4 ml-1"})]}),n<t.length-1&&e("span",{className:"text-muted-foreground","aria-hidden":"true",children:"/"})]},r.id))})}function Si({steps:t,currentStepIndex:r,className:s}){const n=t[r],i=(r+1)/t.length*100;return a("div",{className:Nt("mb-6 space-y-2",s),children:[a("div",{className:"flex items-center justify-between text-sm",children:[a("span",{className:"text-muted-foreground",children:["Etapa ",r+1," de ",t.length]}),e("span",{className:"font-medium",children:n?.label})]}),e(wi,{value:i,className:"h-2"})]})}function _i({isFirstStep:r,isLastStep:s,canGoNext:n,canGoPrevious:i,isLoading:o,onPrevious:l,onNext:d,onSubmit:c,previousButtonText:m,nextButtonText:u,submitButtonText:h}){const{t:p}=Pa();return a(t,{children:[e("div",{children:i&&!r&&e(Pt,{type:"button",variant:"outline",onClick:l,disabled:o,children:m||p("previous")})}),a("div",{className:"flex gap-2",children:[n&&!s&&e(Pt,{type:"button",onClick:d,disabled:o,children:u||p("next")}),s&&e(Pt,{type:"button",onClick:c,disabled:o,children:o?p("saving"):h||p("save")})]})]})}function Pi({title:t,sections:r,initialData:o,onSubmit:l,onCancel:c,open:u,submitButtonText:h,isLoading:p=!1,usersData:f,showProgressIndicator:g=!0,progressType:b="stepper",validateOnNext:v=!0,allowSkipSections:y=!1,previousButtonText:N,nextButtonText:x,onStepChange:w,onStepValidationFail:k,renderProgressIndicator:C,renderButtons:S,currentStepIndex:_,onCurrentStepChange:P}){const[I,E]=n(0),A=_??I,T=P??E,R=m(null),[z,M]=n(null),F=d(e=>{R.current=e,M(e)},[]),j=i(()=>r&&Array.isArray(r)?r.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[r]),{formData:D,errors:L,updateField:O,handleSubmit:$}=Xn(j,o,void 0,u);s.useEffect(()=>{u&&T(0)},[u,T]);const U=d(()=>{const e=r[A];if(!e)return!0;const a=e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e),t={};let s=!0;return a.forEach(e=>{const a=D[e.name];if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length)&&(t[e.name]=`${e.label} é obrigatório`,s=!1),e.validation&&"function"==typeof e.validation){const r=e.validation(a,D);r&&(t[e.name]=r,s=!1)}}),!s&&k&&k(A,t),s},[r,A,D,k]),W=d(()=>{if(v&&!U())return;const e=A+1;e<r.length&&(T(e),w?.(e,r[e].id))},[A,r,v,U,T,w]),q=d(()=>{const e=A-1;e>=0&&(T(e),w?.(e,r[e].id))},[A,r,T,w]),V=d(()=>{let e=!0;for(let a=0;a<r.length;a++){r[a].fields.flatMap(e=>"group"===e.type?e.fields||[]:e).forEach(a=>{const t=D[a.name];a.required&&(""===t||null==t||Array.isArray(t)&&0===t.length)&&(e=!1)})}e&&$(l)()},[r,D,$,l]),B=i(()=>r.map((e,a)=>({index:a,id:e.id,label:e.label||e.id,isActive:a===A,isCompleted:a<A,isDisabled:e.disabled||!1})),[r,A]),H=0===A,K=A===r.length-1,Q=i(()=>{if(!g)return null;if(C)return C(A,r.length,r);const a=y?e=>{T(e),w?.(e,r[e].id)}:void 0;switch(b){case"breadcrumb":return e(Ci,{steps:B,currentStepIndex:A,onStepClick:a});case"progressbar":return e(Si,{steps:B,currentStepIndex:A});default:return e(ki,{steps:B,currentStepIndex:A,onStepClick:a})}},[g,C,b,B,A,r,y,T,w]),G=i(()=>{const a={isFirstStep:H,isLastStep:K,canGoNext:A<r.length-1,canGoPrevious:A>0,isLoading:p,onPrevious:q,onNext:W,onSubmit:V,previousButtonText:N,nextButtonText:x,submitButtonText:h};return S?S(a):e(_i,{...a})},[H,K,A,r.length,p,q,W,V,N,x,h,S]),J=t=>{const r=(t.computedValue,D[t.name]),s=void 0!==r?r:"",n=L[t.name];switch(t.type){case"group":return a("div",{className:"space-y-2",children:[t.label&&e(Tt,{className:"text-sm font-medium",children:t.label}),e("div",{className:Nt("grid gap-4",1===t.columns&&"grid-cols-1",2===t.columns&&"grid-cols-1 md:grid-cols-2",3===t.columns&&"grid-cols-1 md:grid-cols-3",4===t.columns&&"grid-cols-1 md:grid-cols-4",!t.columns&&"grid-cols-1"),children:t.fields?.map(e=>J(e))})]},t.name);case"number":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:"number",value:s,onChange:e=>O(t.name,""===e.target.value?"":Number(e.target.value)),placeholder:t.placeholder,disabled:t.disabled||void 0!==t.computedValue,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"textarea":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(vr,{id:t.name,value:s,onChange:e=>O(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled,rows:t.rows||3,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"select":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(or,{value:s,onValueChange:e=>O(t.name,e),children:[e(cr,{className:n?"border-destructive":"",children:e(dr,{placeholder:t.placeholder||`Selecione ${t.label}`})}),e(hr,{children:t.options?.map(a=>e(fr,{value:String(a.value),children:a.label},a.value))})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"multiselect":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e($r,{options:t.options||[],value:Array.isArray(s)?s:[],onChange:e=>O(t.name,e),placeholder:t.placeholder,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"color":case"color-picker":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Zn,{value:s,onChange:e=>O(t.name,e),label:""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"icon-picker":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ri,{value:s,onChange:e=>O(t.name,e),label:""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"user-select":return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ii,{value:s,onChange:e=>O(t.name,e),placeholder:t.placeholder,disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"custom":return t.render?a("div",{className:"space-y-2",children:[t.label&&a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),t.render({value:s,onChange:e=>O(t.name,e),error:n,disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name):null;default:return a("div",{className:"space-y-2",children:[a(Tt,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Et,{id:t.name,type:t.type||"text",value:s,onChange:e=>O(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled||void 0!==t.computedValue,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name)}},X=r[A];return e(Ot,{open:u,onOpenChange:c,children:a(Bt,{ref:F,className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[e(Ht,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:e(Gt,{className:"text-white",children:t})}),Q,e("div",{className:"space-y-4 py-4",children:X?.fields.map(e=>J(e))}),e("div",{className:"flex justify-between pt-4 border-t",children:G})]})})}wi.displayName=Ba.Root.displayName;const Ii=({children:r})=>{const{isAuthenticated:n,isLoading:i}=qs();if(s.useEffect(()=>{if(!n)return;const e=()=>{Jr.areAllTokensValid()||$s.logout()};e();const a=setInterval(e,3e5);return()=>clearInterval(a)},[n]),s.useEffect(()=>{if(i)return;if(n)return;if(Jr.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),a=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,t=new URLSearchParams(a);if(e.has("access_token")||t.has("access_token"))return;const r=Ns();(async()=>{r?await $s.loginDev():$s.loginProd()})()},[n,i]),i)return e("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Carregando..."})}),a(jt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!n){const t=new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token");return e("div",t?{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Processando..."})}),a(jt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}:{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Iniciando..."})}),a(jt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:Ns()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return e(t,{children:r})},Ei=f("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",{variants:{variant:{info:"bg-[hsl(var(--alert-info-bg))] border-[hsl(var(--alert-info-border))] text-[hsl(var(--alert-info-foreground))] [&>svg]:text-[hsl(var(--alert-info-foreground))]",warning:"bg-[hsl(var(--alert-warning-bg))] border-[hsl(var(--alert-warning-border))] text-[hsl(var(--alert-warning-foreground))] [&>svg]:text-[hsl(var(--alert-warning-foreground))]",danger:"bg-[hsl(var(--alert-danger-bg))] border-[hsl(var(--alert-danger-border))] text-[hsl(var(--alert-danger-foreground))] [&>svg]:text-[hsl(var(--alert-danger-foreground))]",success:"bg-[hsl(var(--alert-success-bg))] border-[hsl(var(--alert-success-border))] text-[hsl(var(--alert-success-foreground))] [&>svg]:text-[hsl(var(--alert-success-foreground))]"}},defaultVariants:{variant:"info"}}),Ai={info:ge,warning:ge,danger:We,success:Ue},Ti=r.forwardRef(({className:t,variant:r="info",showIcon:s=!0,children:n,...i},o)=>{const l=Ai[r||"info"];return a("div",{ref:o,role:"alert",className:Nt(Ei({variant:r}),t),...i,children:[s&&e(l,{className:"h-4 w-4"}),n]})});Ti.displayName="Alert";const Ri=r.forwardRef(({className:a,...t},r)=>e("h5",{ref:r,className:Nt("mb-1 font-medium leading-none tracking-tight",a),...t}));Ri.displayName="AlertTitle";const zi=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("text-sm [&_p]:leading-relaxed",a),...t}));zi.displayName="AlertDescription";const Mi=()=>{const{processCallback:r}=qs(),[s,i]=n(null),[o,l]=n(!1);c(()=>{(async()=>{try{if(await r()){window.history.replaceState({},document.title,"/");const e=localStorage.getItem("auth_return_url");e?(localStorage.removeItem("auth_return_url"),window.location.href=e):window.location.href="/"}else i("Falha na autenticação. Tente novamente.")}catch(e){i(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[r]);const d=async()=>{l(!0),i(null);try{await r()||i("Falha na autenticação. Tente novamente.")}catch(e){i(e?.message||"Erro ao tentar novamente.")}finally{l(!1)}},m=()=>{window.location.href="/"};return e("div",s?{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:a(Mt,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[e(F,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),a(jt,{className:"space-y-4",children:[e(Ti,{variant:"danger",children:e(zi,{children:s})}),e("div",{className:"text-sm text-muted-foreground",children:e("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),a("div",{className:"flex gap-2",children:[e(Pt,{onClick:d,disabled:o,className:"flex-1",children:a(t,o?{children:[e(wr,{size:"sm",className:"mr-2"}),"Tentando..."]}:{children:[e(qe,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),e(Pt,{onClick:m,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}:{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),a(jt,{className:"text-center",children:[e("div",{className:"flex justify-center mb-4",children:e(wr,{size:"lg"})}),e("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},Fi=()=>e("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),a(jt,{className:"text-center space-y-4",children:[e("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),e(Pt,{onClick:async()=>{Ns()?await $s.loginDev():$s.loginProd()},className:"w-full",size:"lg",children:Ns()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})}),ji=o(void 0);function Di({children:a,actions:t}){const[r,s]=n({}),[i,o]=n(t);return c(()=>{o(t)},[t]),e(ji.Provider,{value:{metadata:r,setMetadata:s,clearMetadata:()=>s({}),headerActions:i,setHeaderActions:o},children:a})}function Li(){const e=l(ji);if(!e)throw new Error("usePageMetadataContext must be used within PageMetadataProvider");return e}function Oi(e){const{setMetadata:a,clearMetadata:t}=Li();c(()=>(a(e),()=>t()),[e.title,e.subtitle,a,t])}function $i(e){return{queryClient:e.queryClient||new Ma({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}const Ui=import.meta.env.VITE_SUPABASE_URL,Wi=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY;let qi=null;var Vi=Object.defineProperty,Bi=(e,a,t)=>((e,a,t)=>a in e?Vi(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Hi=new class{constructor(){Bi(this,"cache",{}),Bi(this,"cacheTimestamps",new Map),Bi(this,"CACHE_TTL",3e5),Bi(this,"loadingPromises",new Map)}isCacheValid(e){const a=this.cacheTimestamps.get(e);return!!a&&Date.now()-a<this.CACHE_TTL}async loadTranslations(e){if(this.isCacheValid(e))return this.cache[e]||{};const a=this.loadingPromises.get(e);if(a)return a;const t=this.fetchTranslations(e);this.loadingPromises.set(e,t);try{return await t}finally{this.loadingPromises.delete(e)}}async fetchTranslations(e){try{const a=(!qi&&Ui&&Wi&&(qi=Aa(Ui,Wi,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1}})),qi),{data:t,error:r}=await a.schema("common").from("translations").select("key, pt, en, es").eq("is_removed",!1);if(r)return"42501"===r.code||"PGRST301"===r.code||r.message?.includes("permission denied")||r.message?.includes("No suitable key"),{};const s={};return t?.forEach(a=>{let t;t="pt-BR"===e?a.pt:"en-US"===e?a.en||a.pt:"es-ES"===e&&a.es||a.pt,t&&(s[a.key]=t)}),this.cache[e]=s,this.cacheTimestamps.set(e,Date.now()),s}catch(a){return{}}}async upsertTranslation(e,a,t,r){const s=is(),{error:n}=await s.schema("common").from("translations").upsert({key:e,pt:a,en:t,es:r},{onConflict:"key"});if(n)throw n;this.clearCache()}async bulkUpsertTranslations(e){const a=is(),{error:t}=await a.schema("common").from("translations").upsert(e.map(e=>({key:e.key,pt:e.pt,en:e.en,es:e.es})),{onConflict:"key"});if(t)throw t;this.clearCache()}clearCache(){this.cache={},this.cacheTimestamps.clear()}clearCacheForLocale(e){delete this.cache[e],this.cacheTimestamps.delete(e)}};var Ki=Object.defineProperty,Qi=(e,a,t)=>((e,a,t)=>a in e?Ki(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Gi="true"===import.meta.env.VITE_I18N_DEBUG_MODE;x.use(new class{constructor(e=!1){Qi(this,"type","backend"),Qi(this,"isDebugMode"),Qi(this,"cache",new Map),Qi(this,"loadingPromises",new Map),this.isDebugMode=e}read(e,a,t){if(this.cache.has(e))return void t(null,this.cache.get(e));if(this.loadingPromises.has(e))return void this.loadingPromises.get(e).then(()=>{t(null,this.cache.get(e)||{})});const r=Hi.loadTranslations(e).then(a=>{if(this.isDebugMode){const t={};Object.keys(a).forEach(e=>{t[e]=`[${e} ✅]`}),this.cache.set(e,t)}else this.cache.set(e,a)}).catch(a=>{this.cache.set(e,{})}).finally(()=>{this.loadingPromises.delete(e)});this.loadingPromises.set(e,r),r.then(()=>{t(null,this.cache.get(e)||{})})}create(e,a,t,r){}}(Gi)).use(Ia).init({fallbackLng:"pt-BR",lng:"pt-BR",defaultNS:"translations",ns:["translations"],interpolation:{escapeValue:!1},react:{useSuspense:!1},saveMissing:!1,returnEmptyString:!1,parseMissingKeyHandler:(e,a)=>Gi?`[${e} ❌]`:`[⚠️ ${e}]`});const Ji=new class{async getUserPreferences(e,a){if(!Jr.areAllTokensValid())return null;const t=is();try{const{data:r,error:s}=await t.schema("common").from("user_preferences").select("*").eq("id_user",e).eq("alias",a).maybeSingle();if(s)return"PGRST116"===s.code?this.createDefaultPreferences(e,a):("42501"===s.code||"PGRST301"===s.code||s.message?.includes("permission denied"),null);if(!r)return this.createDefaultPreferences(e,a);const n=r;return{locale:n.locale,timezone:n.timezone,datetimeFormat:n.datetime_format}}catch(r){return null}}async createDefaultPreferences(e,a){const t=is(),r={id_user:e,locale:"pt-BR",timezone:"America/Sao_Paulo",datetime_format:"dd/MM/yyyy HH:mm",alias:a};try{const{data:e,error:a}=await t.schema("common").from("user_preferences").insert(r).select().single();if(a)throw a;const s=e;return{locale:s.locale,timezone:s.timezone,datetimeFormat:s.datetime_format}}catch(s){throw s}}async updatePreferences(e,a,t){const r=is();try{const{error:s}=await r.schema("common").from("user_preferences").update(t).eq("id_user",e).eq("alias",a);if(s)throw s}catch(s){throw s}}},Xi=o(void 0),Yi=({children:a})=>{const{user:t,alias:r}=qs(),[s,i]=n({locale:"pt-BR",timezone:"America/Sao_Paulo",datetimeFormat:"dd/MM/yyyy HH:mm"}),[o,l]=n(!0);c(()=>{(async()=>{if(t?.id&&r)try{const e=await Ji.getUserPreferences(t.id,r);e&&(i({locale:e.locale,timezone:e.timezone,datetimeFormat:e.datetimeFormat}),await x.changeLanguage(e.locale),localStorage.setItem("i18nextLng",e.locale))}catch(e){}finally{l(!1)}else l(!1)})()},[t?.id,r]);const m=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{locale:e}),i(a=>({...a,locale:e})),await x.changeLanguage(e),localStorage.setItem("i18nextLng",e)}catch(a){throw a}},[t?.id,r]),u=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{timezone:e}),i(a=>({...a,timezone:e}))}catch(a){throw a}},[t?.id,r]),h=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{datetime_format:e}),i(a=>({...a,datetimeFormat:e}))}catch(a){throw a}},[t?.id,r]);return e(Xi.Provider,{value:{...s,setLocale:m,setTimezone:u,setDatetimeFormat:h,isLoading:o},children:a})},Zi=()=>{const e=l(Xi);if(!e)throw new Error("useLocale deve ser usado dentro de LocaleProvider");return e};function eo({children:r}){const{ready:s}=Pa(),[i,o]=n(!0);return c(()=>{s&&i&&o(!1)},[s,i]),i&&!s?e("div",{className:"flex items-center justify-center min-h-screen bg-background",children:a("div",{className:"flex flex-col items-center gap-4",children:[e(wr,{size:"lg"}),e("p",{className:"text-sm text-muted-foreground animate-pulse",children:"Carregando traduções..."})]})}):e(t,{children:r})}const ao=Ha.Root,to=Ha.CollapsibleTrigger,ro=Ha.CollapsibleContent;var so=Object.defineProperty,no=(e,a,t)=>((e,a,t)=>a in e?so(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);class io extends h{constructor(e){super(e),no(this,"copyErrorDetails",()=>{const e=Zr.getErrors().slice(0,2),a=`\n=== ERRO ATUAL ===\n${this.state.error?.message||"Erro desconhecido"}\n\nStack Trace:\n${this.state.error?.stack||"Não disponível"}\n\n=== ÚLTIMOS ERROS ===\n${e.map((e,a)=>`${a+1}. [${new Date(e.timestamp).toLocaleTimeString()}] ${e.message}`).join("\n")||"Nenhum erro registrado"}\n `.trim();navigator.clipboard.writeText(a),w.success("Detalhes copiados!",{description:"Os detalhes do erro foram copiados para a área de transferência."})}),this.state={hasError:!1,showDetails:!1}}static getDerivedStateFromError(e){if(import.meta.env.DEV)throw e;return{hasError:!0,error:e}}componentDidCatch(e,a){if(import.meta.env.DEV)throw e;Zr.handleError(e,!1),this.setState({errorInfo:a})}render(){if(this.state.hasError){if(this.props.fallback)return this.props.fallback;const t=Zr.getErrors().slice(0,2);return e("div",{className:"flex items-center justify-center min-h-screen p-4",children:a(Rt,{className:"w-full max-w-2xl",children:[a(zt,{className:"text-center",children:[e("div",{className:"flex justify-center mb-4",children:e(We,{className:"h-12 w-12 text-destructive"})}),e(Mt,{children:"Algo deu errado"})]}),a(jt,{className:"space-y-4",children:[e("p",{className:"text-center text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),a(ao,{open:this.state.showDetails,onOpenChange:e=>this.setState({showDetails:e}),children:[e(to,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full flex items-center justify-center gap-2",children:[e(_,{className:"h-4 w-4 transition-transform "+(this.state.showDetails?"rotate-180":"")}),"Ver Detalhes Técnicos"]})}),a(ro,{className:"mt-4 space-y-4",children:[a("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[a("div",{children:[e("h4",{className:"font-semibold text-sm mb-2 flex items-center gap-2",children:"📋 Erro Atual"}),a("div",{className:"text-sm space-y-2",children:[e("p",{className:"font-medium text-destructive",children:this.state.error?.message||"Erro desconhecido"}),this.state.error?.stack&&e(ei,{className:"h-32 w-full rounded border bg-muted p-2",children:e("pre",{className:"text-xs text-muted-foreground whitespace-pre-wrap",children:this.state.error.stack})})]})]}),t.length>0&&a("div",{className:"pt-3 border-t",children:[e("h4",{className:"font-semibold text-sm mb-2 flex items-center gap-2",children:"📜 Últimos Erros"}),e("div",{className:"space-y-2",children:t.map((t,r)=>e("div",{className:"text-sm p-2 rounded bg-muted/50",children:a("div",{className:"flex items-start gap-2",children:[a("span",{className:"font-medium text-muted-foreground shrink-0",children:[r+1,"."]}),a("div",{className:"flex-1 min-w-0",children:[e("div",{className:"flex items-center gap-2 flex-wrap",children:a("span",{className:"text-xs text-muted-foreground",children:["[",new Date(t.timestamp).toLocaleTimeString(),"]"]})}),e("p",{className:"text-sm break-words",children:t.message})]})]})},t.id))})]})]}),a(Pt,{variant:"outline",onClick:this.copyErrorDetails,className:"w-full flex items-center justify-center gap-2",children:[e(me,{className:"h-4 w-4"}),"Copiar Detalhes"]})]})]}),e(Pt,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})})}return this.props.children}}function oo({children:a,queryClient:t}){const r=t??new Ma({defaultOptions:{queries:{staleTime:3e5,retry:1}}});return e(io,{children:e(Ea,{i18n:x,children:e(Fa,{client:r,children:e(Ws,{children:e(Yi,{children:e(eo,{children:a})})})})})})}const lo=Ka.Root,co=r.forwardRef(({className:a,...t},r)=>e(Ka.Item,{ref:r,className:Nt("border-b",a),...t}));co.displayName="AccordionItem";const mo=r.forwardRef(({className:t,children:r,...s},n)=>e(Ka.Header,{className:"flex",children:a(Ka.Trigger,{ref:n,className:Nt("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...s,children:[r,e(_,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));mo.displayName=Ka.Trigger.displayName;const uo=r.forwardRef(({className:a,children:t,...r},s)=>e(Ka.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:e("div",{className:Nt("pb-4 pt-0",a),children:t})}));uo.displayName=Ka.Content.displayName;const ho=Qa.Root,po=Qa.Trigger,fo=Qa.Portal,go=r.forwardRef(({className:a,...t},r)=>e(Qa.Overlay,{className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t,ref:r}));go.displayName=Qa.Overlay.displayName;const bo=r.forwardRef(({className:t,...r},s)=>a(fo,{children:[e(go,{}),e(Qa.Content,{ref:s,className:Nt("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...r})]}));bo.displayName=Qa.Content.displayName;const vo=({className:a,...t})=>e("div",{className:Nt("flex flex-col space-y-2 text-center sm:text-left",a),...t});vo.displayName="AlertDialogHeader";const yo=({className:a,...t})=>e("div",{className:Nt("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...t});yo.displayName="AlertDialogFooter";const No=r.forwardRef(({className:a,...t},r)=>e(Qa.Title,{ref:r,className:Nt("text-lg font-semibold",a),...t}));No.displayName=Qa.Title.displayName;const xo=r.forwardRef(({className:a,...t},r)=>e(Qa.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));xo.displayName=Qa.Description.displayName;const wo=r.forwardRef(({className:a,...t},r)=>e(Qa.Action,{ref:r,className:Nt(_t(),a),...t}));wo.displayName=Qa.Action.displayName;const ko=r.forwardRef(({className:a,...t},r)=>e(Qa.Cancel,{ref:r,className:Nt(_t({variant:"outline"}),"mt-2 sm:mt-0",a),...t}));ko.displayName=Qa.Cancel.displayName;const Co=r.forwardRef(({className:a,...t},r)=>e(Ga.Root,{ref:r,className:Nt("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",a),...t}));Co.displayName=Ga.Root.displayName;const So=r.forwardRef(({className:a,...t},r)=>e(Ga.Image,{ref:r,className:Nt("aspect-square h-full w-full",a),...t}));So.displayName=Ga.Image.displayName;const _o=r.forwardRef(({className:a,...t},r)=>e(Ga.Fallback,{ref:r,className:Nt("flex h-full w-full items-center justify-center rounded-full bg-muted",a),...t}));_o.displayName=Ga.Fallback.displayName;const Po=r.forwardRef(({...a},t)=>e("nav",{ref:t,"aria-label":"breadcrumb",...a}));Po.displayName="Breadcrumb";const Io=r.forwardRef(({className:a,...t},r)=>e("ol",{ref:r,className:Nt("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",a),...t}));Io.displayName="BreadcrumbList";const Eo=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,className:Nt("inline-flex items-center gap-1.5",a),...t}));Eo.displayName="BreadcrumbItem";const Ao=r.forwardRef(({asChild:a,className:t,...r},s)=>e(a?p:"a",{ref:s,className:Nt("transition-colors hover:text-foreground",t),...r}));Ao.displayName="BreadcrumbLink";const To=r.forwardRef(({className:a,...t},r)=>e("span",{ref:r,role:"link","aria-disabled":"true","aria-current":"page",className:Nt("font-normal text-foreground",a),...t}));To.displayName="BreadcrumbPage";const Ro=({children:a,className:t,...r})=>e("li",{role:"presentation","aria-hidden":"true",className:Nt("[&>svg]:h-3.5 [&>svg]:w-3.5",t),...r,children:a??e(L,{})});Ro.displayName="BreadcrumbSeparator";const zo=({className:t,...r})=>a("span",{role:"presentation","aria-hidden":"true",className:Nt("flex h-9 w-9 items-center justify-center",t),...r,children:[e(Ve,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Mais"})]});zo.displayName="BreadcrumbEllipsis";const Mo=f("flex items-center",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}}),Fo=r.forwardRef(({className:a,orientation:t,...r},s)=>e("div",{ref:s,className:Nt(Mo({orientation:t}),a),...r}));function jo(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function Do(e){return(a,t)=>{let r;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,s=t?.width?String(t.width):a;r=e.formattingValues[s]||e.formattingValues[a]}else{const a=e.defaultWidth,s=t?.width?String(t.width):e.defaultWidth;r=e.values[s]||e.values[a]}return r[e.argumentCallback?e.argumentCallback(a):a]}}function Lo(e){return(a,t={})=>{const r=t.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],n=a.match(s);if(!n)return null;const i=n[0],o=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(o,e=>e.test(i)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(o,e=>e.test(i));let d;d=e.valueCallback?e.valueCallback(l):l,d=t.valueCallback?t.valueCallback(d):d;return{value:d,rest:a.slice(i.length)}}}function Oo(e){return(a,t={})=>{const r=a.match(e.matchPattern);if(!r)return null;const s=r[0],n=a.match(e.parsePattern);if(!n)return null;let i=e.valueCallback?e.valueCallback(n[0]):n[0];i=t.valueCallback?t.valueCallback(i):i;return{value:i,rest:a.slice(s.length)}}}Fo.displayName="ButtonGroup";const $o={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Uo={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Wo={ordinalNumber:(e,a)=>{const t=Number(e),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},era:Do({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:Do({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:Do({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:Do({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:Do({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},qo={ordinalNumber:Oo({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Lo({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},Vo={code:"en-US",formatDistance:(e,a,t)=>{let r;const s=$o[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",a.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r},formatLong:{date:jo({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:jo({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:jo({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},formatRelative:(e,a,t,r)=>Uo[e],localize:Wo,match:qo,options:{weekStartsOn:0,firstWeekContainsDate:1}},Bo={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Ho={date:jo({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:jo({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:jo({formats:{full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Ko={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Qo={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},Go={ordinalNumber:(e,a)=>Number(e)+"º",era:Do({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},defaultWidth:"wide"}),quarter:Do({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:Do({values:{narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},defaultWidth:"wide"}),day:Do({values:{narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},defaultWidth:"wide"}),dayPeriod:Do({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},defaultFormattingWidth:"wide"})},Jo={ordinalNumber:Oo({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:Lo({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},defaultParseWidth:"any"})},Xo={code:"es",formatDistance:(e,a,t)=>{let r;const s=Bo[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",a.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"en "+r:"hace "+r:r},formatLong:Ho,formatRelative:(e,a,t,r)=>1!==a.getHours()?Qo[e]:Ko[e],localize:Go,match:Jo,options:{weekStartsOn:1,firstWeekContainsDate:1}},Yo={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Zo={date:jo({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},defaultWidth:"full"}),time:jo({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:jo({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},el={lastWeek:e=>{const a=e.getDay();return"'"+(0===a||6===a?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},al={ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:Do({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:Do({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:Do({values:{narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},defaultWidth:"wide"}),day:Do({values:{narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},defaultWidth:"wide"}),dayPeriod:Do({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},defaultFormattingWidth:"wide"})},tl={ordinalNumber:Oo({matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Lo({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},defaultMatchWidth:"wide",parsePatterns:{short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},defaultParseWidth:"any"})},rl={code:"pt-BR",formatDistance:(e,a,t)=>{let r;const s=Yo[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+r:"há "+r:r},formatLong:Zo,formatRelative:(e,a,t,r)=>{const s=el[e];return"function"==typeof s?s(a):s},localize:al,match:tl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function sl({className:a,classNames:t,showOutsideDays:r=!0,...s}){return e(Ja,{showOutsideDays:r,className:Nt("p-3 pointer-events-auto",a),locale:rl,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:Nt(_t({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day:Nt(_t({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:({...a})=>e(xe,{className:"h-4 w-4"}),IconRight:({...a})=>e(L,{className:"h-4 w-4"})},...s})}sl.displayName="Calendar";const nl={Root:function({children:a,className:t}){return e("div",{className:Nt("space-y-4",t),children:a})},Item:function({children:a,onClick:t,className:r}){return e(Rt,{className:Nt("transition-colors",t&&"cursor-pointer hover:bg-muted/50",r),onClick:t,children:e(jt,{className:"p-4",children:a})})},Field:function({label:t,value:r,className:s}){return a("div",{className:Nt("flex justify-between items-center text-sm",s),children:[a("span",{className:"text-muted-foreground font-medium",children:[t,":"]}),e("span",{className:"text-foreground",children:r})]})}};function il({date:t,onDateChange:r,placeholder:s="Pick a date",disabled:n=!1,className:i,disabledDates:o}){return a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",disabled:n,className:Nt("w-full justify-start text-left font-normal",!t&&"text-muted-foreground",i),children:[e(Te,{className:"mr-2 h-4 w-4"}),t?N(t,"PPP"):e("span",{children:s})]})}),e(Pr,{className:"w-auto p-0",align:"start",children:e(sl,{mode:"single",selected:t,onSelect:r,disabled:o,initialFocus:!0,className:"pointer-events-auto"})})]})}const ol=({shouldScaleBackground:a=!0,...t})=>e(Xa.Root,{shouldScaleBackground:a,...t});ol.displayName="Drawer";const ll=Xa.Trigger,dl=Xa.Portal,cl=Xa.Close,ml=r.forwardRef(({className:a,...t},r)=>e(Xa.Overlay,{ref:r,className:Nt("fixed inset-0 z-50 bg-black/80",a),...t}));ml.displayName=Xa.Overlay.displayName;const ul=r.forwardRef(({className:t,children:r,...s},n)=>a(dl,{children:[e(ml,{}),a(Xa.Content,{ref:n,className:Nt("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",t),...s,children:[e("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),r]})]}));ul.displayName="DrawerContent";const hl=({className:a,...t})=>e("div",{className:Nt("grid gap-1.5 p-4 text-center sm:text-left",a),...t});hl.displayName="DrawerHeader";const pl=({className:a,...t})=>e("div",{className:Nt("mt-auto flex flex-col gap-2 p-4",a),...t});pl.displayName="DrawerFooter";const fl=r.forwardRef(({className:a,...t},r)=>e(Xa.Title,{ref:r,className:Nt("text-lg font-semibold leading-none tracking-tight",a),...t}));fl.displayName=Xa.Title.displayName;const gl=r.forwardRef(({className:a,...t},r)=>e(Xa.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));gl.displayName=Xa.Description.displayName;const bl={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6","auto-fit":"grid-cols-[repeat(auto-fit,minmax(250px,1fr))]","auto-fill":"grid-cols-[repeat(auto-fill,minmax(250px,1fr))]"},vl={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function yl({children:a,cols:t="auto-fit",gap:r="md",className:s}){return e("div",{className:Nt("grid",bl[t],vl[r],s),children:a})}const Nl=Ya.Root,xl=Ya.Trigger,wl=r.forwardRef(({className:a,align:t="center",sideOffset:r=4,...s},n)=>e(Ya.Content,{ref:n,align:t,sideOffset:r,className:Nt("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...s}));wl.displayName=Ya.Content.displayName;const kl=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-slot":"input-group",className:Nt("flex min-w-0 items-center rounded-md border border-input bg-background","focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 focus-within:ring-offset-background","has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50","has-[textarea:disabled]:cursor-not-allowed has-[textarea:disabled]:opacity-50",a),...t}));kl.displayName="InputGroup";const Cl=f("flex items-center justify-center text-sm text-muted-foreground shrink-0",{variants:{align:{"inline-start":"border-r border-input px-3","inline-end":"border-l border-input px-3","block-start":"border-b border-input px-3 py-2 w-full justify-start","block-end":"border-t border-input px-3 py-2 w-full justify-start"}},defaultVariants:{align:"inline-start"}}),Sl=r.forwardRef(({className:a,align:t,...r},s)=>e("div",{ref:s,"data-slot":"input-group-addon",className:Nt(Cl({align:t}),a),...r}));Sl.displayName="InputGroupAddon";const _l=f("",{variants:{size:{xs:"h-6 px-2 text-xs","icon-xs":"h-6 w-6",sm:"h-7 px-3 text-xs","icon-sm":"h-7 w-7"}},defaultVariants:{size:"xs"}}),Pl=r.forwardRef(({className:a,size:t,variant:r="ghost",...s},n)=>e(Pt,{ref:n,"data-slot":"input-group-button",variant:r,className:Nt(_l({size:t}),"rounded-none first:rounded-l-md last:rounded-r-md",a),...s}));Pl.displayName="InputGroupButton";const Il=r.forwardRef(({className:a,...t},r)=>e(Et,{ref:r,"data-slot":"input-group-control",className:Nt("flex-1 border-0 bg-transparent shadow-none","focus-visible:ring-0 focus-visible:ring-offset-0",a),...t}));Il.displayName="InputGroupInput";const El=r.forwardRef(({className:a,...t},r)=>e(vr,{ref:r,"data-slot":"input-group-control",className:Nt("flex-1 border-0 bg-transparent shadow-none resize-none","focus-visible:ring-0 focus-visible:ring-offset-0",a),...t}));El.displayName="InputGroupTextarea";const Al=r.forwardRef(({className:a,...t},r)=>e("h1",{ref:r,className:Nt("scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl",a),...t}));Al.displayName="H1";const Tl=r.forwardRef(({className:a,...t},r)=>e("h2",{ref:r,className:Nt("scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0",a),...t}));Tl.displayName="H2";const Rl=r.forwardRef(({className:a,...t},r)=>e("h3",{ref:r,className:Nt("scroll-m-20 text-2xl font-semibold tracking-tight",a),...t}));Rl.displayName="H3";const zl=r.forwardRef(({className:a,...t},r)=>e("h4",{ref:r,className:Nt("scroll-m-20 text-xl font-semibold tracking-tight",a),...t}));zl.displayName="H4";const Ml=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("leading-7 [&:not(:first-child)]:mt-6",a),...t}));Ml.displayName="P";const Fl=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-xl text-muted-foreground",a),...t}));Fl.displayName="Lead";const jl=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("text-lg font-semibold",a),...t}));jl.displayName="Large";const Dl=r.forwardRef(({className:a,...t},r)=>e("small",{ref:r,className:Nt("text-sm font-medium leading-none",a),...t}));Dl.displayName="Small";const Ll=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Ll.displayName="Muted";const Ol=r.forwardRef(({className:a,...t},r)=>e("code",{ref:r,className:Nt("relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",a),...t}));Ol.displayName="InlineCode";const $l=r.forwardRef(({className:a,...t},r)=>e("blockquote",{ref:r,className:Nt("mt-6 border-l-2 pl-6 italic",a),...t}));$l.displayName="Blockquote";const Ul=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,className:Nt("my-6 ml-6 list-disc [&>li]:mt-2",a),...t}));Ul.displayName="List";const Wl=r.forwardRef(({className:t,children:r,...s},n)=>a(Za.Root,{ref:n,className:Nt("relative z-10 flex max-w-max flex-1 items-center justify-center",t),...s,children:[r,e(Gl,{})]}));Wl.displayName=Za.Root.displayName;const ql=r.forwardRef(({className:a,...t},r)=>e(Za.List,{ref:r,className:Nt("group flex flex-1 list-none items-center justify-center space-x-1",a),...t}));ql.displayName=Za.List.displayName;const Vl=Za.Item,Bl=f("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),Hl=r.forwardRef(({className:t,children:r,...s},n)=>a(Za.Trigger,{ref:n,className:Nt(Bl(),"group",t),...s,children:[r," ",e(_,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));Hl.displayName=Za.Trigger.displayName;const Kl=r.forwardRef(({className:a,...t},r)=>e(Za.Content,{ref:r,className:Nt("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",a),...t}));Kl.displayName=Za.Content.displayName;const Ql=Za.Link,Gl=r.forwardRef(({className:a,...t},r)=>e("div",{className:Nt("absolute left-0 top-full flex justify-center"),children:e(Za.Viewport,{className:Nt("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",a),ref:r,...t})}));Gl.displayName=Za.Viewport.displayName;const Jl=r.forwardRef(({className:a,...t},r)=>e(Za.Indicator,{ref:r,className:Nt("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",a),...t,children:e("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));function Xl({items:r,maxItems:s=3,className:n}){const i=r.length>s?[r[0],...r.slice(-(s-1))]:r,o=r.length>s;return e(Po,{className:n,children:e(Io,{children:i.map((r,s)=>{const n=o&&1===s;return a(Eo,{children:[!(0===s)&&e(Ro,{}),n&&a(t,{children:[e(zo,{}),e(Ro,{})]}),r.isCurrentPage?e(To,{children:r.label}):e(Ao,{href:r.href,children:r.label})]},r.label)})})})}function Yl(){const e=Da();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let r="";return a.forEach((e,s)=>{r+=`/${e}`;const n=s===a.length-1,i=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:i,href:n?void 0:r,isCurrentPage:n})}),t})()}Jl.displayName=Za.Indicator.displayName;const Zl=({className:a,...t})=>e("nav",{role:"navigation","aria-label":"pagination",className:Nt("mx-auto flex w-full justify-center",a),...t});Zl.displayName="Pagination";const ed=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,className:Nt("flex flex-row items-center gap-1",a),...t}));ed.displayName="PaginationContent";const ad=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,className:Nt("",a),...t}));ad.displayName="PaginationItem";const td=({className:a,isActive:t,size:r="icon",...s})=>e("a",{"aria-current":t?"page":void 0,className:Nt(_t({variant:t?"outline":"ghost",size:r}),a),...s});td.displayName="PaginationLink";const rd=({className:t,...r})=>a(td,{"aria-label":"Go to previous page",size:"default",className:Nt("gap-1 pl-2.5",t),...r,children:[e(xe,{className:"h-4 w-4"}),e("span",{children:"Previous"})]});rd.displayName="PaginationPrevious";const sd=({className:t,...r})=>a(td,{"aria-label":"Go to next page",size:"default",className:Nt("gap-1 pr-2.5",t),...r,children:[e("span",{children:"Next"}),e(L,{className:"h-4 w-4"})]});sd.displayName="PaginationNext";const nd=({className:t,...r})=>a("span",{"aria-hidden":!0,className:Nt("flex h-9 w-9 items-center justify-center",t),...r,children:[e(Ve,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"More pages"})]});nd.displayName="PaginationEllipsis";const id=r.forwardRef(({className:a,...t},r)=>e(et.Root,{className:Nt("grid gap-2",a),...t,ref:r}));id.displayName=et.Root.displayName;const od=r.forwardRef(({className:a,...t},r)=>e(et.Item,{ref:r,className:Nt("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),...t,children:e(et.Indicator,{className:"flex items-center justify-center",children:e(O,{className:"h-2.5 w-2.5 fill-current text-current"})})}));od.displayName=et.Item.displayName;const ld=({className:a,...t})=>e(at.PanelGroup,{className:Nt("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",a),...t}),dd=at.Panel,cd=({withHandle:a,className:t,...r})=>e(at.PanelResizeHandle,{className:Nt("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...r,children:a&&e("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:e(Be,{className:"h-2.5 w-2.5"})})}),md=ba.Root,ud=ba.Trigger,hd=ba.Close,pd=ba.Portal,fd=r.forwardRef(({className:a,...t},r)=>e(ba.Overlay,{className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t,ref:r}));fd.displayName=ba.Overlay.displayName;const gd=f("fixed z-50 flex flex-col bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b max-h-[70vh] data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t max-h-[70vh] data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),bd=r.forwardRef(({side:t="right",className:r,children:s,...n},i)=>a(pd,{children:[e(fd,{}),a(ba.Content,{ref:i,className:Nt(gd({side:t}),r),...n,children:[s,a(ba.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-0 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e(S,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]})]}));bd.displayName=ba.Content.displayName;const vd=({className:t,showSeparator:r=!1,children:s,...n})=>a("div",{className:Nt("flex flex-col flex-shrink-0",t),...n,children:[e("div",{className:"flex flex-col text-left",children:s}),r&&e(Lt,{className:"mt-2"})]});vd.displayName="SheetHeader";const yd=({className:a,...t})=>e("div",{className:Nt("flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",a),...t});yd.displayName="SheetBody";const Nd=({className:t,children:r,...s})=>a("div",{className:"flex-shrink-0 pt-4",children:[e(Lt,{className:"mb-4"}),e("div",{className:Nt("flex flex-row justify-end gap-2",t),...s,children:r})]});Nd.displayName="SheetFooter";const xd=r.forwardRef(({className:a,...t},r)=>e(ba.Title,{ref:r,className:Nt("text-lg font-semibold text-foreground",a),...t}));xd.displayName=ba.Title.displayName;const wd=r.forwardRef(({className:a,...t},r)=>e(ba.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));wd.displayName=ba.Description.displayName;const kd="sidebar:state",Cd=r.createContext(null);function Sd(){const e=r.useContext(Cd);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const _d=r.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:n,style:i,children:o,...l},d)=>{const[c,m]=r.useState(!1);r.useEffect(()=>{const e=()=>m(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[u,h]=r.useState(!1),[p,f]=r.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(kd);return null!==e?"true"===e:a}return a}),g=t??p,b=r.useCallback(e=>{const a="function"==typeof e?e(g):e;s?s(a):f(a),"undefined"!=typeof window&&localStorage.setItem(kd,String(a))},[s,g]),v=r.useCallback(()=>c?h(e=>!e):b(e=>!e),[c,b,h]);r.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[v]);const y=g?"expanded":"collapsed",N=r.useMemo(()=>({state:y,open:g,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:h,toggleSidebar:v}),[y,g,b,c,u,h,v]);return e(Cd.Provider,{value:N,children:e(ln,{delayDuration:0,children:e("div",{className:Nt("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",n),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...i},ref:d,...l,children:o})})})});_d.displayName="SidebarProvider";const Pd=r.forwardRef(({side:t="left",variant:r="sidebar",collapsible:s="offcanvas",className:n,children:i,...o},l)=>{const{isMobile:d,state:c,openMobile:m,setOpenMobile:u}=Sd();return"none"===s?e("div",{className:Nt("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:l,...o,children:i}):d?e(md,{open:m,onOpenChange:u,...o,children:a(bd,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden sidebar-mobile",style:{"--sidebar-width":"18rem"},side:t,children:[e(xd,{className:"sr-only",children:"Menu de Navegação"}),e("div",{className:"flex h-full w-full flex-col",children:i})]})}):a("div",{ref:l,className:"group peer hidden md:block text-sidebar-foreground","data-state":c,"data-collapsible":"collapsed"===c?s:"","data-variant":r,"data-side":t,children:[e("div",{className:Nt("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),e("div",{className:Nt("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...o,children:e("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow bg-white",children:i})})]})});Pd.displayName="Sidebar";const Id=r.forwardRef(({className:t,onClick:r,...s},n)=>{const{toggleSidebar:i}=Sd();return a(Pt,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Nt("h-7 w-7",t),onClick:e=>{r?.(e),i()},...s,children:[e(He,{}),e("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Id.displayName="SidebarTrigger";const Ed=r.forwardRef(({className:a,...t},r)=>{const{toggleSidebar:s}=Sd();return e("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:Nt("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})});Ed.displayName="SidebarRail";const Ad=r.forwardRef(({className:a,...t},r)=>e("main",{ref:r,className:Nt("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",a),...t}));Ad.displayName="SidebarInset";const Td=r.forwardRef(({className:a,...t},r)=>e(Et,{ref:r,"data-sidebar":"input",className:Nt("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",a),...t}));Td.displayName="SidebarInput";const Rd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"header",className:Nt("flex flex-col gap-2 p-2",a),...t}));Rd.displayName="SidebarHeader";const zd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"footer",className:Nt("flex flex-col gap-2 p-2",a),...t}));zd.displayName="SidebarFooter";const Md=r.forwardRef(({className:a,...t},r)=>e(Lt,{ref:r,"data-sidebar":"separator",className:Nt("mx-2 w-auto bg-sidebar-border",a),...t}));Md.displayName="SidebarSeparator";const Fd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"content",className:Nt("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...t}));Fd.displayName="SidebarContent";const jd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"group",className:Nt("relative flex w-full min-w-0 flex-col p-2",a),...t}));jd.displayName="SidebarGroup";const Dd=r.forwardRef(({className:a,asChild:t=!1,...r},s)=>e(t?p:"div",{ref:s,"data-sidebar":"group-label",className:Nt("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...r}));Dd.displayName="SidebarGroupLabel";const Ld=r.forwardRef(({className:a,asChild:t=!1,...r},s)=>e(t?p:"button",{ref:s,"data-sidebar":"group-action",className:Nt("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",a),...r}));Ld.displayName="SidebarGroupAction";const Od=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"group-content",className:Nt("w-full text-sm",a),...t}));Od.displayName="SidebarGroupContent";const $d=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,"data-sidebar":"menu",className:Nt("flex w-full min-w-0 flex-col gap-1",a),...t}));$d.displayName="SidebarMenu";const Ud=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,"data-sidebar":"menu-item",className:Nt("group/menu-item relative",a),...t}));Ud.displayName="SidebarMenuItem";const Wd=f("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),qd=r.forwardRef(({asChild:t=!1,isActive:r=!1,variant:s="default",size:n="default",tooltip:i,className:o,...l},d)=>{const c=t?p:"button",{isMobile:m,state:u}=Sd(),h=e(c,{ref:d,"data-sidebar":"menu-button","data-size":n,"data-active":r,className:Nt(Wd({variant:s,size:n}),o),...l});return i?("string"==typeof i&&(i={children:i}),a(dn,{children:[e(cn,{asChild:!0,children:h}),e(mn,{side:"right",align:"center",hidden:"collapsed"!==u||m,...i})]})):h});qd.displayName="SidebarMenuButton";const Vd=r.forwardRef(({className:a,asChild:t=!1,showOnHover:r=!1,...s},n)=>e(t?p:"button",{ref:n,"data-sidebar":"menu-action",className:Nt("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",a),...s}));Vd.displayName="SidebarMenuAction";const Bd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"menu-badge",className:Nt("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t}));Bd.displayName="SidebarMenuBadge";const Hd=r.forwardRef(({className:t,showIcon:s=!1,...n},i)=>{const o=r.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return a("div",{ref:i,"data-sidebar":"menu-skeleton",className:Nt("rounded-md h-8 flex gap-2 px-2 items-center",t),...n,children:[s&&e("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Hd.displayName="SidebarMenuSkeleton";const Kd=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,"data-sidebar":"menu-sub",className:Nt("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t}));Kd.displayName="SidebarMenuSub";const Qd=r.forwardRef(({...a},t)=>e("li",{ref:t,...a}));Qd.displayName="SidebarMenuSubItem";const Gd=r.forwardRef(({asChild:a=!1,size:t="md",isActive:r,className:s,...n},i)=>e(a?p:"a",{ref:i,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:Nt("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===t&&"text-xs","md"===t&&"text-sm","group-data-[collapsible=icon]:hidden",s),...n}));Gd.displayName="SidebarMenuSubButton";const Jd=r.forwardRef(({className:t,value:r,defaultValue:s,...n},i)=>{const o=r||s||[0];return a(tt.Root,{ref:i,value:r,defaultValue:s,className:Nt("relative flex w-full touch-none select-none items-center",t),...n,children:[e(tt.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e(tt.Range,{className:"absolute h-full bg-primary"})}),o.map((a,t)=>e(tt.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},t))]})});Jd.displayName=tt.Root.displayName;const Xd=rt.Root,Yd=r.forwardRef(({className:a,...t},r)=>e(rt.List,{ref:r,className:Nt("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",a),...t}));Yd.displayName=rt.List.displayName;const Zd=r.forwardRef(({className:a,...t},r)=>e(rt.Trigger,{ref:r,className:Nt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",a),...t}));Zd.displayName=rt.Trigger.displayName;const ec=r.forwardRef(({className:a,...t},r)=>e(rt.Content,{ref:r,className:Nt("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...t}));function ac({children:a,className:t}){return e("div",{className:Nt("flex flex-col h-full",t),children:e(ei,{className:"flex-1",children:e("div",{className:"space-y-6 p-6",children:a})})})}function tc({title:t,description:r,actions:s,className:n}){return a("div",{className:Nt("space-y-4",n),children:[a("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[a("div",{className:"space-y-1",children:[e("h2",{className:"text-2xl font-bold tracking-tight",children:t}),r&&e("p",{className:"text-muted-foreground text-sm",children:r})]}),s&&e("div",{className:"flex items-center gap-2 flex-wrap",children:s})]}),e(Lt,{})]})}function rc({children:a,className:t}){return e("div",{className:Nt("space-y-6",t),children:a})}ec.displayName=rt.Content.displayName;const sc=f("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),nc=r.forwardRef(({className:a,variant:t,size:r,...s},n)=>e(st.Root,{ref:n,className:Nt(sc({variant:t,size:r,className:a})),...s}));nc.displayName=st.Root.displayName;const ic=r.createContext({size:"default",variant:"default"}),oc=r.forwardRef(({className:a,variant:t,size:r,children:s,...n},i)=>e(nt.Root,{ref:i,className:Nt("flex items-center justify-center gap-1",a),...n,children:e(ic.Provider,{value:{variant:t,size:r},children:s})}));oc.displayName=nt.Root.displayName;const lc=r.forwardRef(({className:a,children:t,variant:s,size:n,...i},o)=>{const l=r.useContext(ic);return e(nt.Item,{ref:o,className:Nt(sc({variant:l.variant||s,size:l.size||n}),a),...i,children:t})});lc.displayName=nt.Item.displayName;const dc=it.Menu,cc=it.Group,mc=it.Portal,uc=it.Sub,hc=it.RadioGroup,pc=r.forwardRef(({className:a,...t},r)=>e(it.Root,{ref:r,className:Nt("flex h-10 items-center space-x-1 rounded-md border bg-background p-1",a),...t}));pc.displayName=it.Root.displayName;const fc=r.forwardRef(({className:a,...t},r)=>e(it.Trigger,{ref:r,className:Nt("flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a),...t}));fc.displayName=it.Trigger.displayName;const gc=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(it.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));gc.displayName=it.SubTrigger.displayName;const bc=r.forwardRef(({className:a,...t},r)=>e(it.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));bc.displayName=it.SubContent.displayName;const vc=r.forwardRef(({className:a,align:t="start",alignOffset:r=-4,sideOffset:s=8,...n},i)=>e(it.Portal,{children:e(it.Content,{ref:i,align:t,alignOffset:r,sideOffset:s,className:Nt("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})}));vc.displayName=it.Content.displayName;const yc=r.forwardRef(({className:a,inset:t,...r},s)=>e(it.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));yc.displayName=it.Item.displayName;const Nc=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(it.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(it.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));Nc.displayName=it.CheckboxItem.displayName;const xc=r.forwardRef(({className:t,children:r,...s},n)=>a(it.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(it.ItemIndicator,{children:e(O,{className:"h-2 w-2 fill-current"})})}),r]}));xc.displayName=it.RadioItem.displayName;const wc=r.forwardRef(({className:a,inset:t,...r},s)=>e(it.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",a),...r}));wc.displayName=it.Label.displayName;const kc=r.forwardRef(({className:a,...t},r)=>e(it.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));kc.displayName=it.Separator.displayName;const Cc=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});Cc.displayname="MenubarShortcut";const Sc={light:"",dark:".dark"},_c=r.createContext(null);function Pc(){const e=r.useContext(_c);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}const Ic=r.forwardRef(({id:t,className:s,children:n,config:i,...o},l)=>{const d=r.useId(),c=`chart-${t||d.replace(/:/g,"")}`;return e(_c.Provider,{value:{config:i},children:a("div",{"data-chart":c,ref:l,className:Nt("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",s),...o,children:[e(Ec,{id:c,config:i}),e(ot.ResponsiveContainer,{children:n})]})})});Ic.displayName="Chart";const Ec=({id:a,config:t})=>{const r=Object.entries(t).filter(([,e])=>e.theme||e.color);return r.length?e("style",{dangerouslySetInnerHTML:{__html:Object.entries(Sc).map(([e,t])=>`\n${t} [data-chart=${a}] {\n${r.map(([a,t])=>{const r=t.theme?.[e]||t.color;return r?` --color-${a}: ${r};`:null}).join("\n")}\n}\n`).join("\n")}}):null},Ac=ot.Tooltip,Tc=r.forwardRef(({active:s,payload:n,className:i,indicator:o="dot",hideLabel:l=!1,hideIndicator:d=!1,label:c,labelFormatter:m,labelClassName:u,formatter:h,color:p,nameKey:f,labelKey:g},b)=>{const{config:v}=Pc(),y=r.useMemo(()=>{if(l||!n?.length)return null;const[a]=n,t=Mc(v,a,`${g||a?.dataKey||a?.name||"value"}`),r=g||"string"!=typeof c?t?.label:v[c]?.label||c;return m?e("div",{className:Nt("font-medium",u),children:m(r,n)}):r?e("div",{className:Nt("font-medium",u),children:r}):null},[c,m,n,l,u,v,g]);if(!s||!n?.length)return null;const N=1===n.length&&"dot"!==o;return a("div",{ref:b,className:Nt("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",i),children:[N?null:y,e("div",{className:"grid gap-1.5",children:n.map((r,s)=>{const n=`${f||r.name||r.dataKey||"value"}`,i=Mc(v,r,n),l=p||r.payload?.fill||r.color;return e("div",{className:Nt("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===o&&"items-center"),children:h&&void 0!==r?.value&&r.name?h(r.value,r.name,r,s,r.payload):a(t,{children:[i?.icon?e(i.icon,{}):!d&&e("div",{className:Nt("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===o,"w-1":"line"===o,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===o,"my-0.5":N&&"dashed"===o}),style:{"--color-bg":l,"--color-border":l}}),a("div",{className:Nt("flex flex-1 justify-between leading-none",N?"items-end":"items-center"),children:[a("div",{className:"grid gap-1.5",children:[N?y:null,e("span",{className:"text-muted-foreground",children:i?.label||r.name})]}),void 0!==r.value&&e("span",{className:"font-mono font-medium tabular-nums text-foreground",children:"number"==typeof r.value?r.value.toLocaleString():r.value})]})]})},r.dataKey||s)})})]})});Tc.displayName="ChartTooltip";const Rc=ot.Legend,zc=r.forwardRef(({className:t,hideIcon:r=!1,payload:s,verticalAlign:n="bottom",nameKey:i},o)=>{const{config:l}=Pc();return s?.length?e("div",{ref:o,className:Nt("flex items-center justify-center gap-4","top"===n?"pb-3":"pt-3",t),children:s.map(t=>{const s=`${i||t.dataKey||"value"}`,n=Mc(l,t,s);return a("div",{className:Nt("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[n?.icon&&!r?e(n.icon,{}):e("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:t.color}}),n?.label]},t.value)})}):null});function Mc(e,a,t){if("object"!=typeof a||null===a)return;const r="payload"in a&&"object"==typeof a.payload&&null!==a.payload?a.payload:void 0;let s=t;return t in a&&"string"==typeof a[t]?s=a[t]:r&&t in r&&"string"==typeof r[t]&&(s=r[t]),s in e?e[s]:e[t]}zc.displayName="ChartLegend";const Fc=({onClick:a,isActive:t,disabled:r,children:s,title:n})=>e("button",{type:"button",onClick:a,disabled:r,title:n,className:Nt("p-1.5 rounded hover:bg-muted transition-colors",t?"bg-muted text-primary":"text-muted-foreground",r&&"opacity-50 cursor-not-allowed"),children:s}),jc=()=>e("div",{className:"w-px h-5 bg-border mx-1"}),Dc=({value:t,onChange:s,disabled:i,placeholder:o="Escreva o conteúdo aqui...",minHeight:l="300px",showModeToggle:c=!0,showVariableHint:m=!0,className:u})=>{const[h,p]=n("visual"),f=lt({extensions:[ct.configure({heading:{levels:[1,2,3]}}),mt,ut.configure({openOnClick:!1,HTMLAttributes:{class:"text-primary underline"}}),ht,pt,ft.configure({multicolor:!0})],content:t||"",editable:!i,onUpdate:({editor:e})=>{s(e.getHTML())}});r.useEffect(()=>{f&&t!==f.getHTML()&&f.commands.setContent(t||"")},[t,f]);const g=d(()=>{if(!f)return;const e=f.getAttributes("link").href,a=window.prompt("URL",e);null!==a&&(""!==a?f.chain().focus().extendMarkRange("link").setLink({href:a}).run():f.chain().focus().extendMarkRange("link").unsetLink().run())},[f]);return f?a("div",{className:Nt("space-y-2",u),children:[c&&a("div",{className:"flex justify-between items-center",children:[a("div",{className:"flex gap-1",children:[a(Pt,{type:"button",size:"sm",variant:"visual"===h?"default":"outline",onClick:()=>p("visual"),disabled:i,children:[e(Ke,{className:"h-3.5 w-3.5 mr-1"}),"Editor Visual"]}),a(Pt,{type:"button",size:"sm",variant:"code"===h?"default":"outline",onClick:()=>p("code"),disabled:i,children:[e(Qe,{className:"h-3.5 w-3.5 mr-1"}),"Código HTML"]}),a(Pt,{type:"button",size:"sm",variant:"preview"===h?"default":"outline",onClick:()=>p("preview"),disabled:i,children:[e(re,{className:"h-3.5 w-3.5 mr-1"}),"Preview"]})]}),m&&a("p",{className:"text-xs text-muted-foreground",children:["Use ",e("code",{className:"bg-muted px-1 py-0.5 rounded",children:"{{variavel}}"})]})]}),"visual"===h&&a("div",{className:"border rounded-md overflow-hidden bg-background",children:[a("div",{className:"flex flex-wrap items-center gap-0.5 p-2 border-b bg-muted/30",children:[e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:1}).run(),isActive:f.isActive("heading",{level:1}),disabled:i,title:"Título 1",children:e(Ge,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:2}).run(),isActive:f.isActive("heading",{level:2}),disabled:i,title:"Título 2",children:e(Je,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:3}).run(),isActive:f.isActive("heading",{level:3}),disabled:i,title:"Título 3",children:e(Xe,{className:"h-4 w-4"})}),e(jc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleBold().run(),isActive:f.isActive("bold"),disabled:i,title:"Negrito",children:e(Ye,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleItalic().run(),isActive:f.isActive("italic"),disabled:i,title:"Itálico",children:e(Ze,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleUnderline().run(),isActive:f.isActive("underline"),disabled:i,title:"Sublinhado",children:e(ea,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleStrike().run(),isActive:f.isActive("strike"),disabled:i,title:"Riscado",children:e(aa,{className:"h-4 w-4"})}),e(jc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleBulletList().run(),isActive:f.isActive("bulletList"),disabled:i,title:"Lista",children:e(ta,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleOrderedList().run(),isActive:f.isActive("orderedList"),disabled:i,title:"Lista Ordenada",children:e(ra,{className:"h-4 w-4"})}),e(jc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleHighlight().run(),isActive:f.isActive("highlight"),disabled:i,title:"Destacar",children:e(sa,{className:"h-4 w-4"})}),e(Fc,{onClick:g,isActive:f.isActive("link"),disabled:i,title:"Link",children:e(na,{className:"h-4 w-4"})}),e(jc,{}),e(Fc,{onClick:()=>f.chain().focus().unsetAllMarks().clearNodes().run(),disabled:i,title:"Limpar Formatação",children:e(ia,{className:"h-4 w-4"})}),e(jc,{}),e(Fc,{onClick:()=>f.chain().focus().undo().run(),disabled:i||!f.can().undo(),title:"Desfazer",children:e(oa,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().redo().run(),disabled:i||!f.can().redo(),title:"Refazer",children:e(la,{className:"h-4 w-4"})})]}),e(dt,{editor:f,className:Nt("prose prose-sm max-w-none p-4 focus:outline-none","[&_.ProseMirror]:outline-none","[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground","[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]","[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left","[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0","[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none"),style:{minHeight:l}})]}),"code"===h&&e("textarea",{value:t||"",onChange:e=>s(e.target.value),disabled:i,className:"w-full p-3 border rounded-md font-mono text-sm resize-none focus:ring-2 focus:ring-primary bg-background",style:{height:l},placeholder:"Cole ou edite o HTML aqui..."}),"preview"===h&&e("div",{className:"border rounded-lg p-4 bg-muted overflow-auto",style:{height:l},children:e("div",{className:"bg-background shadow-sm rounded border p-4",children:e("div",{dangerouslySetInnerHTML:{__html:t||`<p class="text-muted-foreground">${o}</p>`}})})})]}):null};function Lc({label:t,onClick:r,icon:s,actions:n=[],variant:i="default",size:o="default",disabled:l=!1,loading:d=!1,menuAlign:c="end",className:m}){const u=l||d;if(!(n.length>0))return a(Pt,{variant:i,size:o,disabled:u,onClick:r,className:m,children:[d?e(E,{className:"mr-2 h-4 w-4 animate-spin"}):s?e(s,{className:"mr-2 h-4 w-4"}):null,t]});return a("div",{className:Nt("inline-flex rounded-md shadow-sm",m),children:[a(Pt,{variant:i,size:o,disabled:u,onClick:r,className:"rounded-r-none border-r-0 focus:z-10",children:[d?e(E,{className:"mr-2 h-4 w-4 animate-spin"}):s?e(s,{className:"mr-2 h-4 w-4"}):null,t]}),a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:i,size:o,disabled:u,className:Nt("rounded-l-none focus:z-10",{sm:"w-7 min-w-7 px-0",default:"w-8 min-w-8 px-0",lg:"w-9 min-w-9 px-0"}[o]),"aria-label":"Mais opções",children:e(_,{className:{sm:"h-3 w-3",default:"h-4 w-4",lg:"h-4 w-4"}[o]})})}),e(wn,{align:c,className:"min-w-[160px]",children:n.map(t=>{const r=t.icon;return a(kn,{onClick:t.onClick,disabled:t.disabled,className:Nt("destructive"===t.variant&&"text-destructive focus:text-destructive"),children:[r&&e(r,{className:"mr-2 h-4 w-4"}),t.label]},t.id)})})]})]})}function Oc({data:t,columns:r,sortField:s,sortDirection:n,onSort:o,onRowClick:l,renderActions:d,isLoading:c=!1,emptyMessage:m="Nenhum item encontrado",className:u,enableSelection:h=!1,selectedIds:p=[],onSelectItem:f,onSelectAll:g,isAllSelected:b=!1,enableColumnResize:v=!0,onColumnResize:y,storageKey:N}){const{columnWidths:x,isDragging:w,activeColumn:k,handleMouseDown:C}=Kn({columns:r.map(e=>({key:String(e.key),minWidth:e.minWidth??60,maxWidth:e.maxWidth??500,defaultWidth:e.width??e.minWidth??150})),storageKey:N?`${N}-columns`:void 0,onResize:y,enabled:v}),{isDragging:S,activeRow:_,handleMouseDown:P,getRowHeight:I}=Qn({rowIds:t.map(e=>e.id),storageKey:N?`${N}-rows`:void 0,enabled:!1}),E=i(()=>{if(v)return r.map(e=>`${x[String(e.key)]??e.width??e.minWidth??150}px`);const e=r.reduce((e,a)=>a.width?e:e+(a.weight??1),0);return r.map(a=>{if(a.width)return`${a.width}px`;if(a.minWidth&&!a.weight)return`${a.minWidth}px`;const t=(a.weight??1)/e*100;return a.minWidth?`minmax(${a.minWidth}px, ${t}%)`:`${t}%`})},[r,v,x]);if(c)return e("div",{className:"flex-1 overflow-auto",children:e("div",{className:"p-4 space-y-3",children:[...Array(5)].map((a,t)=>e(Dr,{className:"h-12 w-full"},t))})});if(0===t.length)return e("div",{className:"flex-1 flex items-center justify-center",children:e("div",{className:"text-center text-muted-foreground",children:e("p",{children:m})})});return e("div",{className:"flex-1 overflow-auto "+(w||S?"select-none":""),children:a(Hs,{className:u,children:[e(Ks,{className:"sticky top-0 bg-background z-10",children:a(Js,{children:[h&&e(Xs,{className:"w-[40px]",children:e(br,{checked:b,onCheckedChange:g,"aria-label":"Selecionar todos"})}),r.map((t,r)=>{const i=v&&!1!==t.resizable,l=k===String(t.key);return a(Xs,{className:`${t.className||""} relative`,style:{width:E[r]},children:[t.sortable&&o?a("button",{onClick:()=>o(String(t.key)),className:"flex items-center hover:text-foreground transition-colors font-medium",children:[t.header,(d=String(t.key),s!==d?e(B,{size:14,className:"ml-1 opacity-50"}):e("asc"===n?H:K,{size:14,className:"ml-1"}))]}):e("span",{className:"font-medium",children:t.header}),i&&e(hn,{direction:"horizontal",onMouseDown:e=>C(String(t.key),e),isDragging:l})]},String(t.key));var d}),d&&e(Xs,{className:"w-[80px] text-right",children:"Ações"})]})}),e(Qs,{children:t.map(t=>{const s=I(t.id);return t.id,a(Js,{onClick:()=>l?.(t),className:(l?"cursor-pointer":"")+" relative",style:s?{height:`${s}px`}:void 0,children:[h&&e(Ys,{children:e(br,{checked:p.includes(t.id),onCheckedChange:()=>f?.(t.id),onClick:e=>e.stopPropagation(),"aria-label":`Selecionar item ${t.id}`})}),r.map(a=>e(Ys,{className:a.className,children:e(un,{children:a.render?a.render(t):String(t[a.key]??"-")})},String(a.key))),d&&e(Ys,{className:"text-right",onClick:e=>e.stopPropagation(),children:d(t)})]},t.id)})})]})})}function $c({onEdit:t,onDelete:r,onToggleStatus:s,isActive:n=!0,canEdit:i=!0,canDelete:o=!0,customActions:l=[],renderAs:d="dropdown",variant:c="default"}){const{t:m}=Pa(),u=[];return t&&i&&u.push({icon:$,label:m("edit"),onClick:t,variant:"default"}),s&&u.push({icon:n?U:W,label:m(n?"deactivate":"activate"),onClick:s,variant:"default"}),l.forEach(e=>{!1!==e.show&&u.push({icon:e.icon,label:e.label,onClick:e.onClick,variant:e.variant||"default"})}),r&&o&&u.push({icon:q,label:m("remove"),onClick:r,variant:"destructive"}),0===u.length?null:"dropdown"===d?a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"ghost",size:"compact"===c?"sm":"default",className:"compact"===c?"h-7 px-2":"",children:e(C,{size:"compact"===c?14:16})})}),e(wn,{align:"end",className:"bg-background border border-border shadow-lg min-w-[120px]",children:u.map((t,r)=>a(kn,{onClick:t.onClick,className:"destructive"===t.variant?"text-destructive":"",children:[t.icon&&e(t.icon,{className:"mr-2 h-4 w-4"}),t.label]},r))})]}):e("div",{className:"flex items-center gap-1",children:u.map((t,r)=>a(Pt,{variant:"destructive"===t.variant?"destructive":"ghost",size:"compact"===c?"sm":"default",onClick:t.onClick,className:"compact"===c?"h-7 px-2":"",children:[t.icon&&e(t.icon,{size:"compact"===c?14:16}),"compact"!==c&&e("span",{className:"ml-1",children:t.label})]},r))})}function Uc({searchValue:t="",onSearchChange:r,customFilters:s=[],onClearFilters:n,showClearButton:i=!0,layout:o="horizontal"}){const{t:l}=Pa(),d=t||s.length>0;return a("div",{className:`flex ${"vertical"===o?"flex-col":"flex-row items-center"} gap-2 w-full`,children:[r&&a("div",{className:"relative flex-1 min-w-[200px]",children:[e(j,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e(Et,{type:"text",placeholder:l("search"),value:t,onChange:e=>r(e.target.value),className:"pl-9 h-9"})]}),s.map((a,t)=>e("div",{className:"vertical"===o?"w-full":"",children:a},t)),i&&d&&n&&a(Pt,{variant:"ghost",size:"sm",onClick:n,className:"h-9 px-3 whitespace-nowrap",children:[e(S,{size:14,className:"mr-1"}),l("clear_filters")]})]})}function Wc(e){const a=La();return{onNew:()=>{const t=e.newPath||`${e.basePath}/new`;a(t)},onEdit:t=>{const r=e.editPath?e.editPath.replace(":id",t.id):`${e.basePath}/${t.id}/edit`;a(r)}}}function qc(e,a){const t=Wc({basePath:e,newPath:a.newPath,editPath:a.editPath});return{useCustomRouting:!0,onNew:t.onNew,onEdit:t.onEdit}}const Vc=[{value:"pt-BR",label:"Português (BR)",flag:"🇧🇷"},{value:"en-US",label:"English (US)",flag:"🇺🇸"},{value:"es-ES",label:"Español",flag:"🇪🇸"}],Bc=[{value:"dd/MM/yyyy HH:mm",label:"dd/MM/yyyy HH:mm",example:"28/11/2024 14:30",description:"Padrão Brasileiro"},{value:"MM/dd/yyyy hh:mm a",label:"MM/dd/yyyy hh:mm a",example:"11/28/2024 02:30 PM",description:"Padrão Americano (12h)"},{value:"MM/dd/yyyy HH:mm",label:"MM/dd/yyyy HH:mm",example:"11/28/2024 14:30",description:"Padrão Americano (24h)"},{value:"yyyy-MM-dd HH:mm",label:"yyyy-MM-dd HH:mm",example:"2024-11-28 14:30",description:"ISO 8601"},{value:"dd.MM.yyyy HH:mm",label:"dd.MM.yyyy HH:mm",example:"28.11.2024 14:30",description:"Padrão Europeu"},{value:"d MMM yyyy, HH:mm",label:"d MMM yyyy, HH:mm",example:"28 Nov 2024, 14:30",description:"Formato Longo"}],Hc=[{value:"America/Sao_Paulo",label:"Brasília (UTC-3)",offset:"-03:00"},{value:"America/Noronha",label:"Fernando de Noronha (UTC-2)",offset:"-02:00"},{value:"America/Manaus",label:"Manaus (UTC-4)",offset:"-04:00"},{value:"America/Rio_Branco",label:"Rio Branco (UTC-5)",offset:"-05:00"},{value:"America/New_York",label:"New York (UTC-5/-4)",offset:"-05:00"},{value:"America/Chicago",label:"Chicago (UTC-6/-5)",offset:"-06:00"},{value:"America/Los_Angeles",label:"Los Angeles (UTC-8/-7)",offset:"-08:00"},{value:"Europe/London",label:"Londres (UTC+0/+1)",offset:"+00:00"},{value:"Europe/Paris",label:"Paris (UTC+1/+2)",offset:"+01:00"},{value:"Europe/Berlin",label:"Berlim (UTC+1/+2)",offset:"+01:00"},{value:"Asia/Tokyo",label:"Tóquio (UTC+9)",offset:"+09:00"},{value:"Australia/Sydney",label:"Sydney (UTC+10/+11)",offset:"+10:00"}],Kc=()=>{const{locale:t,datetimeFormat:r,timezone:s,setLocale:n,setDatetimeFormat:i,setTimezone:o}=Zi(),{t:l}=Pa();return a("div",{className:"space-y-4 p-4",children:[a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(da,{className:"h-4 w-4"}),l("language")]}),a(or,{value:t,onValueChange:n,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Vc.map(e=>a(fr,{value:e.value,children:[e.flag," ",e.label]},e.value))})]})]}),a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(ve,{className:"h-4 w-4"}),l("timezone")||"Fuso Horário"]}),a(or,{value:s,onValueChange:o,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Hc.map(a=>e(fr,{value:a.value,children:a.label},a.value))})]})]}),a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(Te,{className:"h-4 w-4"}),l("dateTimeFormat")||"Formato de Data/Hora"]}),a(or,{value:r,onValueChange:i,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Bc.map(t=>e(fr,{value:t.value,children:a("div",{className:"flex flex-col items-start",children:[e("span",{children:t.label}),a("span",{className:"text-xs text-muted-foreground",children:[t.description," • ",t.example]})]})},t.value))})]})]})]})},Qc=s.memo(({variant:r="card",className:i="",selectedUnit:o,onUnitChange:l})=>{const{user:d,companies:c,alias:m,isAuthenticated:u,logout:h,switchUnit:p}=qs(),[f,g]=n(!1),b="true"===import.meta.env.VITE_SHOW_USER_PREFERENCES,v=c?.[0]||null,y=m?c?.find(e=>e.alias===m):v,N=c||[],x=o||y||v||v,w=s.useCallback(e=>{l?l(e):p(e)},[l,p]),k=s.useMemo(()=>{if(!N?.length)return[];const e=new Map;N.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===x?.alias),r=a.filter(e=>e.alias!==x?.alias);return r.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...r]:r},[N,x?.alias]);if(!u||!d)return null;const C=()=>a(t,{children:[a("div",{className:"flex items-center space-x-3",children:[e("div",{className:"flex-shrink-0",children:e("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:e(Fe,{className:"h-5 w-5 text-primary-foreground"})})}),a("div",{className:"flex-1 min-w-0",children:[e("p",{className:"text-sm font-medium truncate",children:d.name}),a("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",x?.name||"N/A"]})]})]}),x&&e("div",{className:"mt-3",children:a("div",{className:"flex items-center space-x-2",children:[e(ca,{className:"h-4 w-4 text-muted-foreground"}),e("span",{className:"text-sm font-medium",children:x.name})]})}),k.length>1&&a("div",{className:"mt-2",children:[a("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",k.length]}),a("div",{className:"flex flex-wrap gap-1",children:[k.slice(0,3).map(a=>e(Nr,{variant:a.alias===x?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>w(a),children:a.name},a.alias)),k.length>3&&a(Nr,{variant:"outline",className:"text-xs",children:["+",k.length-3]})]})]})]});return"dropdown"===r?a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"ghost",className:`h-auto p-2 ${i}`,children:a("div",{className:"flex items-center space-x-2",children:[a("div",{className:"hidden md:block text-left",children:[e("p",{className:"text-sm font-medium",children:d.name}),e("p",{className:"text-xs text-muted-foreground",children:x?.name||"N/A"})]}),e("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:e(Fe,{className:"h-4 w-4 text-primary-foreground"})}),e(_,{className:"h-4 w-4"})]})})}),a(wn,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[a(vn,{children:[a(Nn,{children:[e(qe,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),e(xn,{children:k.map(t=>a(kn,{onClick:()=>w(t),className:t.alias===x?.alias?"bg-muted":"",children:[e(ca,{className:"mr-2 h-4 w-4"}),t.name,t.alias===x?.alias&&e(Nr,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},t.alias))})]}),b&&e(Pn,{}),b&&a(kn,{onClick:()=>g(!0),children:[e(Me,{className:"mr-2 h-4 w-4"}),"Preferências"]}),a(kn,{onClick:h,children:[e(ma,{className:"mr-2 h-4 w-4"}),"Sair"]})]}),b&&e(Ot,{open:f,onOpenChange:g,children:a(Bt,{children:[e(Ht,{children:e(Gt,{children:"Preferências de Internacionalização"})}),e(Kc,{})]})})]}):a(Rt,{className:i,children:[e(zt,{children:e(Mt,{className:"text-lg",children:"Informações do Usuário"})}),a(jt,{className:"space-y-4",children:[e(C,{}),e(Lt,{}),b&&a(Pt,{variant:"outline",onClick:()=>g(!0),size:"sm",className:"w-full",children:[e(Me,{className:"mr-2 h-4 w-4"}),"Preferências"]}),a(Pt,{variant:"outline",onClick:h,size:"sm",className:"w-full",children:[e(ma,{className:"mr-2 h-4 w-4"}),"Sair"]}),b&&e(Ot,{open:f,onOpenChange:g,children:a(Bt,{children:[e(Ht,{children:e(Gt,{children:"Preferências de Internacionalização"})}),e(Kc,{})]})})]})]})}),Gc=o({});function Jc({children:a,config:t}){const r=i(()=>({navigation:t?.navigation,appName:t?.appName}),[t?.navigation,t?.appName]);return e(Gc.Provider,{value:r,children:a})}function Xc(){return l(Gc)}function Yc(){const e=Da(),{navigation:a}=Xc(),{t:t}=Pa();if(!a)return t("page");const r=a.find(a=>a.path===e.pathname);if(r)return r.label;const s=a.find(a=>e.pathname.startsWith(a.path+"/"));return s?.label||t("page")}function Zc(e,a){const[t,r]=n(e),s=m(),i=d(()=>{s.current&&(clearTimeout(s.current),s.current=void 0)},[]);return c(()=>(i(),s.current=setTimeout(()=>{r(e)},a),i),[e,a,i]),[t,i]}const em=u(function({actions:t}){const r=Da(),s=Yc(),{navigation:i,appName:o}=Xc(),{metadata:l,headerActions:d}=Li(),{t:m}=Pa(),{companies:u,alias:h,isSearchVisible:p,clearSearch:f,refreshData:g,switchUnit:b}=qs(),v=h?u?.find(e=>e.alias===h)||u?.[0]||null:u?.[0]||null,[y,N]=ja(),[x,w]=n(()=>y.get("search")||""),[k,C]=Zc(x,ys.debounceDelay);c(()=>{if(!p)return;const e=new URLSearchParams(y);k?(e.set("search",k),e.set("page","1")):e.delete("search"),N(e)},[k,N,p]);const _=i?.find(e=>e.path===r.pathname)||i?.find(e=>r.pathname.startsWith(e.path+"/")),P=l.title||s,I=l.subtitle||_?.complementaryText||m("item_details");return e("header",{className:"bg-background border-b border-border px-2 md:px-4 py-2",children:a("div",{className:"flex items-center gap-4",children:[a("div",{className:"flex-shrink-0",children:[a("div",{className:"flex items-center gap-2 mb-1",children:[e("h1",{className:"text-lg font-semibold text-foreground truncate",children:P}),e(Nr,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:o||m("module")})]}),I&&e("p",{className:"text-sm text-muted-foreground truncate",children:I})]}),p&&a("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[a("div",{className:"relative flex-1",children:[e(j,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),e(Et,{placeholder:m("search"),value:x,onChange:e=>(e=>{w(e)})(e.target.value),className:"w-full pl-10 pr-8"}),x&&e(Pt,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-muted",onClick:()=>{C(),w("");const e=new URLSearchParams(y);e.delete("search"),e.delete("page"),N(e)},title:m("clear_search"),children:e(S,{size:14})})]}),e(Pt,{variant:"outline",size:"sm",onClick:g,className:"flex-shrink-0 h-10 w-10 p-0",title:m("refresh_data"),children:e(qe,{size:14})})]}),a("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[(d||t)&&e("div",{className:"flex items-center gap-2",children:d||t}),import.meta.env.VITE_WIKI_URL&&e(Pt,{variant:"secondary",size:"sm",className:"h-8 px-3",onClick:e=>yt(import.meta.env.VITE_WIKI_URL,e),title:m("open_wiki"),children:"Wiki"}),e("div",{className:"text-sm",children:e(Qc,{variant:"dropdown",selectedUnit:v,onUnitChange:b})})]})]})})}),am=({key:e,enabled:a,checkFn:t,staleTime:r=3e5,gcTime:s=6e5})=>Ra({queryKey:["permission",e],queryFn:t,enabled:a,staleTime:r,gcTime:s,retry:0,refetchOnWindowFocus:!1}),tm=(e={})=>{const{enabled:a=!0}=e,{alias:t}=qs();return Ra({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=is(),{data:a,error:r}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",t).eq("status","active").order("name");if(r){if(!ms.handleError(r))throw r;return[]}return a||[]},enabled:a&&!!t})},rm="forlogic-sidebar-pinned",sm=()=>{try{const e=localStorage.getItem(rm);return!!e&&JSON.parse(e)}catch{return!1}},nm=e=>{const a=["border-l-yellow-400","border-l-green-400","border-l-blue-400","border-l-red-400","border-l-purple-400","border-l-pink-400"];return a[e%a.length]},im=`https://${import.meta.env.VITE_SUPABASE_PROJECT_ID_STORAGE??import.meta.env.VITE_SUPABASE_PROJECT_ID}.supabase.co/storage/v1/object/public/library-assets`,om={logo:`${im}/${Cs.isQualiex?"logo-qualiex.svg":"logo.svg"}`,smallLogo:`${im}/${Cs.isQualiex?"small-forlogic.svg":"small.svg"}`},lm=om.logo,dm=om.smallLogo;function cm({appName:r,isPinned:s,onPinToggle:n,open:i,dropdownOpen:o,onDropdownChange:l}){const{t:d}=Pa(),{data:c,isLoading:m,error:u}=tm({enabled:o}),h=e=>{((e,a)=>{const t=e?.find(e=>e.url===a);t?.url&&window.open(t.url,"_blank")})(c,e)};return a(Rd,{className:"p-0 gap-0",children:[e("div",{className:"flex items-center justify-between h-[34px]",children:i?a(t,{children:[e("div",{className:"flex items-center pl-[12px]",children:e("img",{src:om.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),e("button",{onClick:n,className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(s?"bg-primary/20 text-primary":"hover:bg-muted text-muted-foreground"),children:e(He,{className:"h-4 w-4"})})]}):e("div",{className:"flex items-center justify-center w-full h-[34px]",children:e("img",{src:om.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),e("div",{className:"mt-2 pt-0",children:a(pn,{onOpenChange:l,children:[e(fn,{asChild:!0,children:i?a("div",{className:"bg-muted hover:bg-muted/80 text-foreground font-medium text-sm flex items-center justify-between cursor-pointer transition-all duration-200 h-8 px-3 gap-3 rounded-md w-full",children:[a("div",{className:"flex items-center gap-2 min-w-0",children:[e("img",{src:"https://ccjfvpnndclajkleyqkc.supabase.co/storage/v1/object/public/library-assets/composit.svg",alt:"Menu",className:"h-6 w-6 text-muted-foreground flex-shrink-0"}),e("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:r})]}),e(_,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):e("div",{className:"flex items-center justify-center w-full h-8 bg-muted hover:bg-muted/80 rounded-md cursor-pointer transition-all duration-200 p-[5px]",children:e(_,{className:"h-6 w-6 text-muted-foreground"})})}),e(wn,{className:i?"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50":"w-[58px] bg-popover rounded-lg shadow-lg border border-border p-2 z-50",align:i?"start":"center",children:m?a("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[e(E,{className:"h-4 w-4 animate-spin"}),e("span",{className:"text-sm",children:d("loading")})]}):u?a("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[e(F,{className:"h-4 w-4"}),e("span",{className:"text-sm",children:d("error")})]}):c&&0!==c.length?e("div",{className:"space-y-2",children:c.map((t,r)=>e("div",{onClick:()=>h(t.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${nm(r)} transition-colors duration-200\n `,children:a("div",{className:"flex items-center justify-between",children:[e("span",{className:"font-medium text-foreground text-sm",children:t.name}),t.url&&e(ua,{className:"h-4 w-4 text-muted-foreground"})]})},t.id))}):e("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:d("no_results")})})]})})]})}function mm({config:r,isCollapsed:s=!1,isDisabled:n=!1,className:i}){const{actions:o,triggerLabel:l="Criar",triggerIcon:d=V}=r;if(!o||0===o.length)return null;const c=(r,n,i=!1)=>a(t,{children:[r,!s&&n&&e("span",{className:"truncate",children:n}),!s&&i&&e(_,{className:"ml-auto h-4 w-4 shrink-0"})]});if(!(o.length>1)){const t=o[0],r=t.icon||d,l=n||t.disabled,m=e(Pt,{onClick:t.onClick,disabled:l,className:Nt("w-full gap-2 justify-start",s&&"justify-center px-2",i),variant:"outline",size:"default",children:c(e(r,{className:"h-4 w-4 shrink-0"}),t.label)});return s?a(dn,{children:[e(cn,{asChild:!0,children:m}),e(mn,{side:"right",children:e("p",{children:t.label})})]}):m}const m=e(Pt,{disabled:n,className:Nt("w-full gap-2 justify-start",s&&"justify-center px-2",i),variant:"outline",size:"default",children:c(e(d,{className:"h-4 w-4 shrink-0"}),l,!0)});return a(pn,{children:[e(fn,{asChild:!0,children:s?a(dn,{children:[e(cn,{asChild:!0,children:m}),e(mn,{side:"right",children:e("p",{children:l})})]}):m}),e(wn,{align:"start",side:s?"right":"bottom",className:"w-56 bg-popover",children:o.map(t=>{const r=t.icon;return a(kn,{onClick:t.onClick,disabled:t.disabled,className:"cursor-pointer",children:[r&&e(r,{className:"mr-2 h-4 w-4"}),t.label]},t.id)})})]})}function um({direction:e="right",minWidth:a=224,maxWidth:t=384,defaultWidth:r=240,storageKey:s="sidebar-width",onResize:i,isOpen:o=!0}={}){const[l,u]=n(()=>{if("undefined"==typeof window)return r;const e=localStorage.getItem(s);return e?parseInt(e):r}),[h,p]=n(!1),f=m(null);c(()=>{const e=document.querySelector(".sidebar-container");e&&e instanceof HTMLElement&&(o?e.style.setProperty("--sidebar-width",`${l}px`):e.style.setProperty("--sidebar-width","240px"))},[l,o]);const g=d(e=>{e.preventDefault(),p(!0)},[]);return c(()=>{if(!h)return;const r=r=>{let s;s="left"===e?window.innerWidth-r.clientX:r.clientX,s=Math.max(a,Math.min(t,s)),u(s),i?.(s)},n=()=>{p(!1),localStorage.setItem(s,l.toString())};return document.addEventListener("mousemove",r),document.addEventListener("mouseup",n),()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)}},[h,e,a,t,l,s,i]),c(()=>{h?(document.body.style.cursor="ew-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[h,e]),{width:l,isDragging:h,dragRef:f,handleMouseDown:g}}const hm=o(void 0);function pm({children:a}){const[t,r]=n(new Set),[s,o]=n(!1),l=d(e=>{r(a=>{const t=new Set(a);return t.add(e),t})},[]),c=d(e=>{r(a=>{const t=new Set(a);return t.delete(e),t})},[]),m=d(e=>{o(e)},[]),u=i(()=>t.size>0||s,[t,s]),h=i(()=>({openModals:t,hasOpenModal:u,registerModal:l,unregisterModal:c,setHasOpenModal:m}),[t,u,l,c,m]);return e(hm.Provider,{value:h,children:a})}function fm(){const e=l(hm);return e||{openModals:new Set,hasOpenModal:!1,registerModal:()=>{},unregisterModal:()=>{},setHasOpenModal:()=>{}}}function gm(){const{hasOpenModal:e}=fm();return e}function bm({config:t,customContent:r,resizable:s=!1,minWidth:i=224,maxWidth:o=384}={}){const{t:l}=Pa(),{open:d,setOpen:u}=Sd(),h=Da(),{alias:p,user:f}=qs(),{hasOpenModal:g}=fm(),[b,v]=n(!1),[y,N]=n(sm),[x,w]=n(!1),k=m(!1),C=s?um({minWidth:i,maxWidth:o,storageKey:"app-sidebar-width",isOpen:d}):null;c(()=>{u(!!y||!(!x&&!b))},[y,x,b,u]);return a(Pd,{collapsible:"icon",onMouseEnter:()=>{y||k.current||w(!0)},onMouseLeave:()=>{y||w(!1)},className:"app-sidebar bg-background border-r border-border py-6 px-3",style:C&&d?{width:`${C.width}px`,transition:"none"}:{transition:"all 300ms ease-in-out"},children:[e(cm,{appName:t?.appName||l("module_title"),isPinned:y,onPinToggle:()=>{const e=!y;N(e),(e=>{try{localStorage.setItem(rm,JSON.stringify(e))}catch{}})(e),e||(k.current=!0,w(!1),u(!1),setTimeout(()=>{k.current=!1},300))},open:d,dropdownOpen:b,onDropdownChange:v}),t?.moduleActions&&t.moduleActions.actions.length>0&&e("div",{className:"px-3 py-2",children:e(ln,{children:e(mm,{config:t.moduleActions,isCollapsed:!d,isDisabled:g})})}),e(Fd,{children:r||e(jd,{className:"p-0 mt-6",children:e(Od,{children:e($d,{className:"space-y-2",children:e(ln,{children:t?.navigation?.map((t,r)=>{const s=({item:t,index:r})=>{const n=`${t.path}-${r}-${p??"noalias"}-${f?.id??"nouser"}`,{data:i=!0,isLoading:o}=am({key:n,enabled:Boolean(t.permissionCheck&&p&&f?.id),checkFn:t.permissionCheck||(()=>Promise.resolve(!0))}),d=t.permissionCheck&&!i;if(d&&"Admin"===t.label)return null;const c=o?E:d?ne:t.icon;d?l("restricted_access"):t.complementaryText;return t.children&&t.children.length>0?e(ao,{defaultOpen:!0,className:"group/collapsible",children:a(Ud,{children:[e(to,{asChild:!0,children:e(qd,{size:"lg",className:"h-10",children:a("div",{className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-5 w-4"})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label}),e(L,{className:"ml-auto h-4 w-4 transition-transform group-data-[state=open]/collapsible:rotate-90 group-data-[collapsible=icon]:hidden"})]})})}),e(ro,{children:e(Kd,{children:t.children.map((a,t)=>e(s,{item:a,index:t},a.path))})})]})},t.path):e(Ud,{children:d||o?a(dn,{children:[e(cn,{asChild:!0,children:e(qd,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:a("div",{className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-4 w-4 "+(o?"animate-spin":"")})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label})]})})}),e(mn,{children:e("p",{children:l(o?"checking_access":"restricted_access")})})]}):e(qd,{asChild:!0,isActive:(m=t.path,h.pathname===m||h.pathname.startsWith(m+"/")),size:"lg",className:"h-10",children:a(Oa,{to:t.path,className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-5 w-4"})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label})]})})},t.path);var m};return e(s,{item:t,index:r},t.path)})})})})})}),s&&C&&d&&e("div",{ref:C.dragRef,onMouseDown:C.handleMouseDown,className:Nt("absolute inset-y-0 right-0 w-1 cursor-ew-resize","hover:bg-primary/20 transition-colors","after:absolute after:inset-y-0 after:-left-1 after:-right-1 after:content-['']",C.isDragging&&"bg-primary/40")})]})}const vm=u(function({children:t,sidebar:r,sidebarConfig:s,showHeader:n=!0}){const o=i(()=>r||e(bm,{config:s}),[r,s]),l=i(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return e(Jc,{config:s,children:e(Di,{children:e(_d,{defaultOpen:!1,style:l,children:a("div",{className:"sidebar-container min-h-screen flex w-full",children:[o,a("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[n&&e("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:e(em,{})}),e("div",{className:"flex-1 overflow-y-auto bg-muted/30",children:t})]})]})})})})}),ym={"pt-BR":rl,"en-US":Vo,"es-ES":Xo},Nm=(e,a="pt-BR")=>{if(!e)return"";const t=v(e);if(!y(t))return"Invalid date";return N(t,"PP",{locale:ym[a]||rl})},xm=()=>{const{locale:e,timezone:a,datetimeFormat:t}=Zi();return{formatDatetime:e=>((e,a="dd/MM/yyyy HH:mm")=>{if(!e)return"";const t=v(e);return y(t)?N(t,a):"Invalid date"})(e,t,a),formatDate:a=>Nm(a,e),locale:e,timezone:a,datetimeFormat:t}};class wm{static async sendEmail(e){const a=is(),{data:t,error:r}=await a.functions.invoke("send-email",{body:{template_code:e.templateCode,to:e.to,variables:e.variables,cc:e.cc,bcc:e.bcc,replyTo:e.replyTo}});if(r)throw r;return t}}const km=wm;function Cm({open:t,onOpenChange:r,placeId:s,placeName:o,onMakeManager:l,onMakeMembers:d,currentManagerId:c,currentMemberIds:m=[]}){const{t:u}=Pa(),[h,p]=n([]),[f,g]=n(!1),[b,v]=n(""),{data:y=[],isLoading:N}=ni({enabled:t}),x=i(()=>{let e=[...y];if(e.sort((e,a)=>{const t=e.userName?.toLowerCase()||"",r=a.userName?.toLowerCase()||"";return t.localeCompare(r)}),b){const a=b.toLowerCase();e=e.filter(e=>e.userName?.toLowerCase().includes(a)||e.userEmail?.toLowerCase().includes(a))}return e},[y,b]),w=e=>{p(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},k=1===h.length,C=h.length>0;return e(Ot,{open:t,onOpenChange:r,children:a(Bt,{className:"max-w-2xl",children:[e(Ht,{children:a(Gt,{className:"flex items-center gap-2",children:[e(ha,{className:"h-5 w-5"}),"Gerenciar Acessos - ",o]})}),a("div",{className:"relative",children:[e(j,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e(Et,{placeholder:u("search_placeholder"),value:b,onChange:e=>v(e.target.value),className:"pl-9"})]}),e(ei,{className:"h-[400px] pr-4",children:N?e("div",{className:"space-y-2",children:[...Array(5)].map((a,t)=>e(Dr,{className:"h-16 w-full"},t))}):0===x.length?a("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e(ha,{className:"h-12 w-12 text-muted-foreground/50 mb-3"}),e("p",{className:"text-sm text-muted-foreground",children:b?"Nenhum usuário encontrado":"Nenhum usuário disponível"})]}):e("div",{className:"space-y-2",children:x.map(t=>{const r=t.userId===c,s=m.includes(t.userId||""),n=h.includes(t.userId||"");return a("div",{className:Nt("flex items-center gap-3 p-3 rounded-lg border transition-colors",n&&"bg-accent border-primary","hover:bg-accent/50 cursor-pointer"),onClick:()=>w(t.userId||""),children:[e(br,{checked:n,onCheckedChange:()=>w(t.userId||""),onClick:e=>e.stopPropagation()}),a("div",{className:"flex-1",children:[a("div",{className:"flex items-center gap-2",children:[e("p",{className:"font-medium",children:t.userName}),r&&e(pa,{className:"h-4 w-4 text-yellow-500"})]}),e("p",{className:"text-sm text-muted-foreground",children:t.userEmail})]}),(r||s)&&e("div",{className:"text-xs text-muted-foreground",children:r?"Gestor":"Membro"})]},t.userId)})})}),a(Qt,{className:"flex gap-2 sm:gap-2",children:[e("div",{className:"flex-1 text-sm text-muted-foreground",children:h.length>0&&a("span",{children:[h.length," selecionado(s)"]})}),k&&l&&a(Pt,{onClick:async()=>{if(l&&1===h.length){g(!0);try{await l(h[0],s),p([])}finally{g(!1)}}},disabled:f,variant:"outline",children:[e(pa,{className:"h-4 w-4 mr-2"}),"Tornar Gestor"]}),C&&d&&a(Pt,{onClick:async()=>{if(d&&0!==h.length){g(!0);try{await d(h,s),p([])}finally{g(!1)}}},disabled:f,children:[e(fa,{className:"h-4 w-4 mr-2"}),"Tornar ",h.length>1?"Membros":"Membro"]})]})]})})}function Sm({place:t,level:r=0,manageAccessConfig:s}){const[i,o]=n(!1),[l,d]=n(!1),c=t.subPlaces&&t.subPlaces.length>0,m=t.isActive??!0,u=t.usersCount??0;return a("div",{children:[a(ao,{open:i,onOpenChange:o,children:[a("div",{className:"flex items-center gap-2 py-3 px-4 hover:bg-accent/50 transition-colors",style:{paddingLeft:2*r+1+"rem"},children:[c?a(to,{className:"flex items-center gap-2 flex-1",children:[e(L,{className:Nt("h-4 w-4 transition-transform shrink-0",i&&"rotate-90")}),e(ca,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e("span",{className:"font-medium",children:t.name}),a("span",{className:"text-sm text-muted-foreground",children:["(",t.subPlaces.length,")"]})]}):a("div",{className:"flex items-center gap-2 flex-1",children:[e("div",{className:"w-4 shrink-0"}),e(ca,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e("span",{className:"font-medium",children:t.name})]}),a("div",{className:"flex items-center gap-3 ml-auto",children:[a("div",{className:"flex items-center gap-1.5",children:[e(ha,{className:"h-3.5 w-3.5 text-muted-foreground"}),e("span",{className:"text-sm text-muted-foreground",children:u})]}),e(Nr,{variant:m?"default":"secondary",className:"text-xs",children:m?"Ativo":"Inativo"}),s&&e($c,{customActions:[{label:"Gerenciar Acessos",icon:Me,onClick:()=>d(!0),variant:"default"}],renderAs:"dropdown",variant:"compact"})]})]}),c&&e(ro,{children:t.subPlaces.map(a=>e(Sm,{place:a,level:r+1,manageAccessConfig:s},a.id))})]}),0===r&&e(Lt,{}),s&&e(Cm,{open:l,onOpenChange:d,placeId:t.id,placeName:t.name,onMakeManager:s.onMakeManager,onMakeMembers:s.onMakeMembers,currentManagerId:s.getCurrentManagerId?.(t.id),currentMemberIds:s.getCurrentMemberIds?.(t.id)})]})}function _m({places:t,isLoading:r,manageAccessConfig:s}){const{t:n}=Pa();return r?e("div",{className:"flex items-center justify-center py-12",children:a("div",{className:"text-center space-y-2",children:[e("div",{className:"animate-spin h-8 w-8 border-4 border-primary border-t-transparent rounded-full mx-auto"}),e("p",{className:"text-sm text-muted-foreground",children:n("loading_data")})]})}):t&&0!==t.length?a("div",{className:"space-y-1",children:[e("h2",{className:"text-xl font-bold mb-4",children:"Estrutura de Locais"}),t.map(a=>e(Sm,{place:a,manageAccessConfig:s},a.id))]}):a("div",{className:"flex flex-col items-center justify-center py-12 text-center space-y-3",children:[e(ca,{className:"h-12 w-12 text-muted-foreground/50"}),a("div",{children:[e("h3",{className:"font-semibold text-lg",children:"Nenhum local encontrado"}),e("p",{className:"text-sm text-muted-foreground",children:"Não há locais cadastrados para esta unidade."})]})]})}var Pm=Object.defineProperty,Im=(e,a,t)=>((e,a,t)=>a in e?Pm(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const Em=new class{constructor(){Im(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const r=hs.validateToken();if(!r.valid)throw new Error(r.message||"Token inválido");const s=Jr.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório");const n=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{n.searchParams.append(e,a)});const i=await fetch(n.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!i.ok){const e=new Error(`API call failed: ${i.status}`);throw e.status=i.status,e}return i.json()}buildHierarchy(e){const a=new Map,t=[];return e.forEach(e=>{a.set(e.id,{...e,subPlaces:[]})}),e.forEach(e=>{const r=a.get(e.id);if(e.parentId){const s=a.get(e.parentId);s?(s.subPlaces=s.subPlaces||[],s.subPlaces.push(r)):t.push(r)}else t.push(r)}),t}async getPlaces(e,a){try{const t=await this.makeApiCall("/api/common/v1/places",{companyId:a},e),r=t.data||t||[];return this.buildHierarchy(r)}catch(t){if(await hs.handleApiError(t))try{const t=await this.makeApiCall("/api/common/v1/places",{companyId:a},e),r=t.data||t||[];return this.buildHierarchy(r)}catch(r){return Zr.handleError(r instanceof Error?r:"Erro ao buscar locais após renovação de token",!0),[]}return Zr.handleError(t instanceof Error?t.message:"Erro ao buscar locais",!0),[]}}};function Am(e,a){const t=e.map(e=>({...e})),r=new Set(t.filter(e=>!a.has(e.id_user)).map(e=>e.id_user));return t.forEach(e=>{if(e.id_leader&&r.has(e.id_leader)){let a=e.id_leader;for(;a&&r.has(a);){const e=t.find(e=>e.id_user===a);a=e?.id_leader||null}e.id_leader=a}}),t.filter(e=>a.has(e.id_user))}function Tm(e){const a=new Map,t=new Map,r=[];e.forEach(e=>{const r={...e,children:[],level:0};a.set(e.id,r),t.set(e.id_user,r)}),e.forEach(e=>{const s=a.get(e.id);if(e.id_leader){const a=t.get(e.id_leader);if(a)return void a.children.push(s)}r.push(s)});const s=(e,a)=>{e.level=a,e.children.forEach(e=>s(e,a+1))};r.forEach(e=>s(e,0));const n=e=>{e.sort((e,a)=>{const t=e.name||e.id_user||e.email||"",r=a.name||a.id_user||a.email||"";return t.localeCompare(r)}),e.forEach(e=>e.children.length>0&&n(e.children))};return n(r),r}function Rm(e){const a=[],t=e=>{a.push(e),e.children.forEach(t)};return e.forEach(t),a}function zm(){const{alias:e,isAuthenticated:a}=qs(),t=Jr.getAccessToken(),{data:r=[]}=ni({enabled:!0});return Ra({queryKey:["leadership",e,r.length],queryFn:async()=>{if(!t||!e)throw new Error("Usuário não autenticado ou unidade não selecionada");const a=is(),{data:s,error:n}=await a.schema("common").from("leaders").select("*").eq("is_removed",!1).eq("alias",e);if(n)throw new Error("Erro ao buscar hierarquia de liderança");if(!s||0===s.length)return[];const i={};r.forEach(e=>{i[e.userId]={name:e.userName||e.userEmail,email:e.userEmail||""}});const o=s.map(e=>({...e,name:i[e.id_user]?.name||"[Não encontrado]",email:i[e.id_user]?.email||"",subordinatesCount:s.filter(a=>a.id_leader===e.id_user).length})),l=new Set(s.map(e=>e.id_user));return new Set(s.filter(e=>e.id_leader&&!l.has(e.id_leader)).map(e=>e.id_leader)).forEach(e=>{const a=i[e];o.push({id:`virtual-${e}`,alias:s[0]?.alias||"",id_user:e,id_leader:null,is_removed:!1,is_active:!0,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString(),name:a?.name||"[Não encontrado]",email:a?.email||"",subordinatesCount:s.filter(a=>a.id_leader===e).length})}),Tm(o)},enabled:!!t&&!!e&&a&&r.length>0})}function Mm(){const e="common",{alias:a}=qs(),t=Ta(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(t.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");if((await r.schema(e).from("leaders").select("id").eq("alias",a).eq("id_user",t.id_user).eq("is_removed",!1).maybeSingle()).data)throw new Error("Este usuário já está cadastrado como líder");t.id_leader&&await $m(r,a,e,t.id_user,t.id_leader);const{data:s,error:n}=await r.schema(e).from("leaders").insert({alias:a,id_user:t.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1}).select().single();if(n)throw n;return s},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder adicionado com sucesso")},onError:e=>{w.error(e.message||"Erro ao adicionar líder")}})}function Fm(){const e="common",{alias:a}=qs(),t=Ta(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(t.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await $m(r,a,e,t.id_user,t.id_leader);const{data:s,error:n}=await r.schema(e).from("leaders").insert({alias:a,id_user:t.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1}).select().single();if(n)throw n;return s},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder virtual promovido com sucesso")},onError:e=>{w.error(e.message||"Erro ao criar líder")}})}function jm(){const e="common",{alias:a}=qs(),t=Ta(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(!t.users.length)throw new Error("Selecione pelo menos um liderado");const s=t.users.map(e=>e.id_user),{data:n}=await r.schema(e).from("leaders").select("id_user").eq("alias",a).in("id_user",s).eq("is_removed",!1);if(n&&n.length>0){const e=n.map(e=>e.id_user);throw new Error(`Alguns usuários já estão cadastrados como líderes: ${e.join(", ")}`)}for(const d of t.users){if(t.id_leader&&d.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await $m(r,a,e,d.id_user,t.id_leader)}const i=t.users.map(e=>({alias:a,id_user:e.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1})),{data:o,error:l}=await r.schema(e).from("leaders").insert(i).select();if(l)throw l;return o},onSuccess:e=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success(`${e?.length||0} liderado(s) adicionado(s) com sucesso`)},onError:e=>{w.error(e.message||"Erro ao adicionar liderados")}})}function Dm(){const e="common",{alias:a}=qs(),t=Ta(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");const{data:s}=await r.schema(e).from("leaders").select("id_user").eq("id",t.id).eq("alias",a).single();if(!s)throw new Error("Líder não encontrado");if(s.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await $m(r,a,e,s.id_user,t.id_leader,t.id);const{data:n,error:i}=await r.schema(e).from("leaders").update({id_leader:t.id_leader}).eq("id",t.id).eq("alias",a).select().single();if(i)throw i;return n},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder atualizado com sucesso")},onError:e=>{w.error(e.message||"Erro ao atualizar líder")}})}function Lm(){const{alias:e}=qs(),a=Ta(),t=is();return za({mutationFn:async a=>{if(!e)throw new Error("Unidade não selecionada");const{error:r}=await t.schema("common").from("leaders").update({is_removed:!0}).eq("id",a).eq("alias",e);if(r)throw r},onSuccess:()=>{a.invalidateQueries({queryKey:["leadership",e]}),w.success("Líder removido com sucesso")},onError:e=>{w.error(e.message||"Erro ao remover líder")}})}function Om(){const e="common",{alias:a}=qs(),t=Ta(),r=is();return za({mutationFn:async({leaderUserId:t,selectedUsers:s})=>{if(!a)throw new Error("Unidade não selecionada");const n=s.map(e=>e.id_user),i=await Promise.all([r.schema(e).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1).eq("id_leader",t),r.schema(e).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1).in("id_user",n.length?n:["__none__"])]),[{data:o,error:l},{data:d,error:c}]=i;if(l)throw l;if(c)throw c;const m=o||[],u=d||[],h=new Set(n),p=m.filter(e=>!h.has(e.id_user)),f=u.filter(e=>e.id_leader!==t),g=new Set(u.map(e=>e.id_user)),b=s.filter(e=>!g.has(e.id_user));for(const N of f)await $m(r,a,e,N.id_user,t,N.id);for(const N of b){if(N.id_user===t)throw new Error("Usuário não pode ser seu próprio líder");await $m(r,a,e,N.id_user,t)}const v=[];if(p.length){const t=p.map(e=>e.id);v.push(r.schema(e).from("leaders").update({is_removed:!0}).in("id",t).eq("alias",a))}if(f.length){const s=f.map(e=>e.id);v.push(r.schema(e).from("leaders").update({id_leader:t}).in("id",s).eq("alias",a))}if(b.length){const s=b.map(e=>({alias:a,id_user:e.id_user,id_leader:t,is_active:!0,is_removed:!1}));v.push(r.schema(e).from("leaders").insert(s))}const y=(await Promise.all(v)).find(e=>e?.error);if(y?.error)throw y.error;return{unlinked:p.length,updated:f.length,created:b.length}},onSuccess:e=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success(`Subordinados sincronizados (${e.created} adicionados, ${e.updated} atualizados, ${e.unlinked} removidos)`)},onError:e=>{w.error(e.message||"Erro ao sincronizar subordinados")}})}async function $m(e,a,t,r,s,n){const{data:i,error:o}=await e.schema(t).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1);if(o)throw o;const l=n?i.filter(e=>e.id!==n):i,d=new Set;let c=s;for(;c;){if(d.has(c))throw new Error("Esta associação criaria um ciclo na hierarquia");if(c===r)throw new Error("Esta associação criaria um ciclo na hierarquia");d.add(c);const e=l.find(e=>e.id_user===c);c=e?.id_leader||null}}function Um({leader:r,expandedIds:s,onToggleExpand:n,onEdit:i}){const o=s.has(r.id),l=r.children.length>0,d=32*r.level;return a(t,{children:[a("tr",{className:"border-b hover:bg-muted/50 transition-colors",children:[e("td",{className:"py-3 px-4",children:a("div",{className:"flex items-center gap-2",style:{paddingLeft:`${d}px`},children:[l?e("button",{onClick:()=>n(r.id),className:"p-1 hover:bg-accent rounded",children:e(o?_:L,{className:"h-4 w-4"})}):e("div",{className:"w-6"}),e(Fe,{className:"h-4 w-4 text-muted-foreground"}),e("button",{onClick:()=>{i(r)},className:"font-medium hover:text-primary hover:underline text-left",children:r.name||r.id_user||r.email})]})}),e("td",{className:"py-3 px-4 text-center",children:e("span",{className:"text-sm",children:r.subordinatesCount||0})})]}),l&&o&&r.children.map(a=>e(Um,{leader:a,expandedIds:s,onToggleExpand:n,onEdit:i},a.id))]})}function Wm(e,a,t){function r(t,r){if(t._zod||Object.defineProperty(t,"_zod",{value:{def:r,constr:i,traits:new Set},enumerable:!1}),t._zod.traits.has(e))return;t._zod.traits.add(e),a(t,r);const s=i.prototype,n=Object.keys(s);for(let e=0;e<n.length;e++){const a=n[e];a in t||(t[a]=s[a].bind(t))}}const s=t?.Parent??Object;class n extends s{}function i(e){var a;const s=t?.Parent?new n:this;r(s,e),(a=s._zod).deferred??(a.deferred=[]);for(const t of s._zod.deferred)t();return s}return Object.defineProperty(n,"name",{value:e}),Object.defineProperty(i,"init",{value:r}),Object.defineProperty(i,Symbol.hasInstance,{value:a=>!!(t?.Parent&&a instanceof t.Parent)||a?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class qm extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Vm={};function Bm(e){return Vm}function Hm(e,a){return"bigint"==typeof a?a.toString():a}const Km="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Qm(e){return"string"==typeof e?e:e?.message}function Gm(e,a,t){const r={...e,path:e.path??[]};if(!e.message){const s=Qm(e.inst?._zod.def?.error?.(e))??Qm(a?.error?.(e))??Qm(t.customError?.(e))??Qm(t.localeError?.(e))??"Invalid input";r.message=s}return delete r.inst,delete r.continue,a?.reportInput||delete r.input,r}const Jm=(e,a)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:a,enumerable:!1}),e.message=JSON.stringify(a,Hm,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Xm=Wm("$ZodError",Jm),Ym=Wm("$ZodError",Jm,{Parent:Error}),Zm=e=>(a,t,r,s)=>{const n=r?Object.assign(r,{async:!1}):{async:!1},i=a._zod.run({value:t,issues:[]},n);if(i instanceof Promise)throw new qm;if(i.issues.length){const a=new(s?.Err??e)(i.issues.map(e=>Gm(e,n,Bm())));throw Km(a,s?.callee),a}return i.value},eu=Zm(Ym),au=e=>async(a,t,r,s)=>{const n=r?Object.assign(r,{async:!0}):{async:!0};let i=a._zod.run({value:t,issues:[]},n);if(i instanceof Promise&&(i=await i),i.issues.length){const a=new(s?.Err??e)(i.issues.map(e=>Gm(e,n,Bm())));throw Km(a,s?.callee),a}return i.value},tu=au(Ym);function ru(e,a){try{var t=e()}catch(e){return a(e)}return t&&t.then?t.then(void 0,a):t}function su(e,a){for(var t={};e.length;){var r=e[0],s=r.code,n=r.message,i=r.path.join(".");if(!t[i])if("unionErrors"in r){var o=r.unionErrors[0].errors[0];t[i]={message:o.message,type:o.code}}else t[i]={message:n,type:s};if("unionErrors"in r&&r.unionErrors.forEach(function(a){return a.errors.forEach(function(a){return e.push(a)})}),a){var l=t[i].types,d=l&&l[r.code];t[i]=wa(i,a,t,s,d?[].concat(d,r.message):r.message)}e.shift()}return t}function nu(e,a){for(var t={};e.length;){var r=e[0],s=r.code,n=r.message,i=r.path.join(".");if(!t[i])if("invalid_union"===r.code&&r.errors.length>0){var o=r.errors[0][0];t[i]={message:o.message,type:o.code}}else t[i]={message:n,type:s};if("invalid_union"===r.code&&r.errors.forEach(function(a){return a.forEach(function(a){return e.push(a)})}),a){var l=t[i].types,d=l&&l[r.code];t[i]=wa(i,a,t,s,d?[].concat(d,r.message):r.message)}e.shift()}return t}function iu(e,a,t){if(void 0===t&&(t={}),"_def"in(r=e)&&"object"==typeof r._def&&"typeName"in r._def)return function(s,n,i){try{return Promise.resolve(ru(function(){return Promise.resolve(e["sync"===t.mode?"parse":"parseAsync"](s,a)).then(function(e){return i.shouldUseNativeValidation&&bt({},i),{errors:{},values:t.raw?Object.assign({},s):e}})},function(e){if(function(e){return Array.isArray(null==e?void 0:e.issues)}(e))return{values:{},errors:vt(su(e.errors,!i.shouldUseNativeValidation&&"all"===i.criteriaMode),i)};throw e}))}catch(r){return Promise.reject(r)}};var r;if(function(e){return"_zod"in e&&"object"==typeof e._zod}(e))return function(s,n,i){try{return Promise.resolve(ru(function(){return Promise.resolve(("sync"===t.mode?eu:tu)(e,s,a)).then(function(e){return i.shouldUseNativeValidation&&bt({},i),{errors:{},values:t.raw?Object.assign({},s):e}})},function(e){if(function(e){return e instanceof Xm}(e))return{values:{},errors:vt(nu(e.issues,!i.shouldUseNativeValidation&&"all"===i.criteriaMode),i)};throw e}))}catch(r){return Promise.reject(r)}};throw new Error("Invalid input: not a Zod schema")}const ou=gt.object({id_leader:gt.string().nullable(),id_users:gt.array(gt.string()).min(1,"Selecione pelo menos um liderado")}),lu=gt.object({id_leader:gt.string().nullable(),id_users:gt.array(gt.string())});function du({value:t,onChange:r,excludeUserIds:s=[],error:i}){const{data:o=[],isLoading:l}=ni(),[d,u]=n(""),h=m(null),p=m(0),{t:f}=Pa(),g=o.filter(e=>!s.includes(e.userId||"")).filter(e=>{const a=d.toLowerCase(),t=e.userName?.toLowerCase().includes(a);return t}).sort((e,a)=>{const r=t.includes(e.userId),s=t.includes(a.userId);if(r&&!s)return-1;if(!r&&s)return 1;const n=e.userName||e.userEmail||"",i=a.userName||a.userEmail||"";return n.localeCompare(i)});return c(()=>{h.current&&p.current>0&&(h.current.scrollTop=p.current)},[g]),a("div",l?{className:"flex items-center justify-center p-4",children:[e(E,{className:"h-6 w-6 animate-spin"}),e("span",{className:"ml-2",children:f("loading_data")})]}:{className:"space-y-2",children:[e(Et,{placeholder:f("search_user"),value:d,onChange:e=>u(e.target.value)}),e("div",{ref:h,className:"border rounded-md p-4 h-[300px] overflow-y-auto",children:0===g.length?e("p",{className:"text-sm text-muted-foreground",children:f("search_user")}):e("div",{className:"space-y-2",children:g.map(s=>a("div",{className:"flex items-center space-x-2",children:[e(br,{id:s.userId,checked:t.includes(s.userId),onCheckedChange:()=>{return e=s.userId,h.current&&(p.current=h.current.scrollTop),void(t.includes(e)?r(t.filter(a=>a!==e)):r([...t,e]));var e}}),e(Tt,{htmlFor:s.userId,className:"flex-1 cursor-pointer",children:s.userName||s.userEmail})]},s.userId))})}),t.length>0&&e("p",{className:"text-sm text-muted-foreground",children:f("selected_count",{count:t.length})}),i&&e("p",{className:"text-sm text-destructive",children:i})]})}function cu({leader:r,prefilledLeaderId:s,onSuccess:i}){const{t:o}=Pa(),{alias:l}=qs(),d=!!r,m=r?.id.startsWith("virtual-"),u=jm(),h=Fm(),p=Dm(),f=Om(),g=Lm(),{data:b=[]}=zm(),{data:v=[]}=ni(),[y,N]=n(""),x=Rm(b).map(e=>e.id_user),w=d?Rm(b).filter(e=>e.id_leader===r.id_user).map(e=>e.id_user):[],k=ka({resolver:iu(d?lu:ou),defaultValues:{id_leader:s||(d?r?.id_leader:null)||null,id_users:d?w:[]}});c(()=>{if(r){const e=Rm(b).filter(e=>e.id_leader===r.id_user).map(e=>e.id_user);k.reset({id_leader:r.id_leader||null,id_users:e})}else s?k.reset({id_leader:s,id_users:[]}):k.reset({id_leader:null,id_users:[]})},[l,r?.id,r?.id_user,r?.id_leader,s,b]);const C=u.isPending||h.isPending||p.isPending||f.isPending||g.isPending,S=k.watch("id_leader"),_=k.watch("id_users"),P=d?[r.id_user,...x.filter(e=>e!==r.id_user&&!_.includes(e)&&!w.includes(e))]:[S,...x.filter(e=>!_.includes(e))].filter(Boolean);return a("form",{onSubmit:k.handleSubmit(async e=>{try{if(d)if(m){await h.mutateAsync({id_user:r.id_user,id_leader:e.id_leader});const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await f.mutateAsync({leaderUserId:r.id_user,selectedUsers:a})}else{await p.mutateAsync({id:r.id,id_leader:e.id_leader});const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await f.mutateAsync({leaderUserId:r.id_user,selectedUsers:a})}else{const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await u.mutateAsync({id_leader:e.id_leader,users:a})}i?.()}catch(a){}}),className:"space-y-4",children:[d&&a("div",{children:[e(Tt,{children:o("leader")}),e(Et,{value:v.find(e=>e.userId===r.id_user)?.userName||r.name||r.id_user,disabled:!0,className:"bg-muted"})]}),a("div",{children:[e(Tt,{children:o("superior")}),a(or,{value:S||"none",onValueChange:e=>k.setValue("id_leader","none"===e?null:e),children:[e(cr,{children:e(dr,{placeholder:o("select_placeholder")})}),a(hr,{children:[e("div",{className:"sticky top-0 z-10 bg-background p-2 border-b",children:e(Et,{placeholder:o("superior_search"),value:y,onChange:e=>N(e.target.value),onKeyDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:"h-8"})}),a(ei,{className:"h-[200px]",children:[e(fr,{value:"none",children:"[Nenhum]"}),v.filter(e=>{const a=d?e.userId!==r.id_user:!_.includes(e.userId),t=!y||e.userName?.toLowerCase().includes(y.toLowerCase());return a&&t}).sort((e,a)=>{const t=e.userName||e.userEmail||"",r=a.userName||a.userEmail||"";return t.localeCompare(r)}).map(a=>e(fr,{value:a.userId,children:a.userName},a.userId))]})]})]},`superior-select-${l}`),k.formState.errors.id_leader&&e("p",{className:"text-sm text-destructive mt-1",children:k.formState.errors.id_leader.message})]}),a("div",{children:[a(Tt,{children:[o("subordinates")," *"]}),e(du,{value:_,onChange:e=>k.setValue("id_users",e),excludeUserIds:P,error:k.formState.errors.id_users?.message},`users-multiselect-${l}`)]}),a("div",{className:"flex items-center justify-between gap-2",children:[e(Pt,{type:"submit",disabled:C||!d&&0===_.length,children:C&&!g.isPending?a(t,{children:[e(E,{className:"mr-2 h-4 w-4 animate-spin"}),o(d?"updating":"saving")]}):d?_.length>0?o("update_success",{count:_.length}):o("update"):o("create_success",{count:_.length})}),d&&!S&&0===_.length&&e(Pt,{type:"button",variant:"destructive",disabled:C,onClick:async()=>{if(r&&window.confirm(o("remove_confirm")))try{await g.mutateAsync(r.id),i?.()}catch(e){}},className:"ml-auto",children:g.isPending?a(t,{children:[e(E,{className:"mr-2 h-4 w-4 animate-spin"}),o("removing")]}):a(t,{children:[e(q,{className:"mr-2 h-4 w-4"}),o("remove")]})})]})]})}function mu({open:t,onOpenChange:r,leader:s,prefilledLeaderId:n,title:i}){return e(Ot,{open:t,onOpenChange:r,children:a(Bt,{className:"sm:max-w-[500px]",children:[e(Ht,{children:e(Gt,{children:i})}),e(cu,{leader:s,prefilledLeaderId:n,onSuccess:()=>r(!1)})]})})}const uu="leadership-expanded-nodes",hu=(e,a)=>{try{localStorage.setItem(`${uu}-${e}`,JSON.stringify(Array.from(a)))}catch(t){}};function pu(){const{alias:t}=qs(),{t:r}=Pa(),{data:s,isLoading:i,error:o,refetch:l}=zm(),{data:d=[]}=ni({enabled:!0}),[m,u]=n(()=>t?(e=>{try{const a=localStorage.getItem(`${uu}-${e}`);if(a)return new Set(JSON.parse(a))}catch(o){}return new Set})(t):new Set),[h,p]=n(!1),[f,g]=n(),[b,v]=n(null),y=d.filter(e=>e.userName&&"Nome não disponível"!==e.userName),N=new Set(y.map(e=>e.userId)),x=y.length-(s?Rm(s).filter(e=>N.has(e.id_user)&&"[Não encontrado]"!==e.name).length:0);c(()=>{if(s&&s.length>0&&t){if(!localStorage.getItem(`${uu}-${t}`)){const e=s.map(e=>e.id),a=new Set(e);u(a),hu(t,a)}}},[s,t]);const w=e=>{u(a=>{const r=new Set(a);return r.has(e)?r.delete(e):r.add(e),t&&hu(t,r),r})},k=e=>{g(e),v(null),p(!0)};return i?e("div",{className:"flex items-center justify-center h-full",children:a("div",{className:"text-center",children:[e(qe,{className:"h-8 w-8 animate-spin mx-auto mb-4 text-muted-foreground"}),e("p",{className:"text-muted-foreground",children:r("loading")})]})}):o?e("div",{className:"flex items-center justify-center h-full",children:a("div",{className:"text-center",children:[e("p",{className:"text-destructive mb-4",children:"Erro ao carregar hierarquia de liderança"}),e(Pt,{onClick:()=>l(),children:"Tentar novamente"})]})}):a("div",{className:"flex flex-col h-full",children:[e("div",{className:"flex items-center justify-between p-4 border-b",children:a("div",{className:"flex gap-2 items-center",children:[a(Pt,{size:"sm",onClick:()=>{g(void 0),v(null),p(!0)},children:[e(V,{className:"h-4 w-4 mr-2"}),"Definir Líder"]}),a(Pt,{variant:"outline",size:"sm",onClick:()=>{if(!s)return;const e=Rm(s).filter(e=>e.children.length>0).map(e=>e.id),a=new Set(e);u(a),t&&hu(t,a)},disabled:!s||0===s.length,children:[e(_,{className:"h-4 w-4 mr-2"}),"Expandir todos"]}),a(Pt,{variant:"outline",size:"sm",onClick:()=>{const e=new Set;u(e),t&&hu(t,e)},disabled:!s||0===s.length,children:[e(L,{className:"h-4 w-4 mr-2"}),"Recolher todos"]}),e("div",{className:"flex items-center gap-2 ml-4",children:a("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-muted rounded-md",children:[e(ha,{className:"h-4 w-4 text-muted-foreground"}),a("span",{className:"text-sm font-medium",children:[x," usuário",1!==x?"s":""," não associado",1!==x?"s":""]})]})})]})}),s&&0!==s.length?e(ei,{className:"flex-1",children:e("div",{children:a("table",{className:"w-full",children:[e("thead",{children:a("tr",{className:"border-b bg-muted/50",children:[e("th",{className:"py-3 px-4 text-left font-semibold",children:"Nome"}),e("th",{className:"py-3 px-4 text-center font-semibold",children:"Liderados"})]})}),e("tbody",{children:s.map(a=>e(Um,{leader:a,expandedIds:m,onToggleExpand:w,onEdit:k},a.id))})]})})}):e("div",{className:"flex items-center justify-center flex-1",children:a("div",{className:"text-center space-y-4",children:[e("p",{className:"text-muted-foreground",children:"Nenhuma hierarquia de liderança encontrada"}),e("p",{className:"text-sm text-muted-foreground",children:'Clique em "Definir Líder" para começar'})]})}),e(mu,{open:h,onOpenChange:()=>{p(!1),g(void 0),v(null)},leader:f,prefilledLeaderId:b,title:f?r("edit")+" "+r("name"):b?r("add")+" Liderado":r("add")+" Líder Raiz"},`leadership-dialog-${t}`)]})}function fu(e){const[a,t]=n(!1),[r,s]=n(0),{t:i}=Pa(),{uploadFunction:o,deleteFunction:l,defaultOptions:d,onSuccess:c,onError:m}=e||{};return{upload:async(e,a)=>{if(!o){const e=new Error("uploadFunction não fornecida");throw w.error("Erro de configuração",{description:"Função de upload não configurada. Verifique a documentação."}),e}t(!0),s(0);try{const t={...d,...a};if(t.maxSize&&e.size>t.maxSize)throw new Error(`Arquivo muito grande. Tamanho máximo: ${Math.round(t.maxSize/1024/1024)}MB`);if(t.allowedTypes){if(!t.allowedTypes.some(a=>a.endsWith("/*")?e.type.startsWith(a.replace("/*","")):e.type===a))throw new Error(`Tipo de arquivo não permitido. Tipos aceitos: ${t.allowedTypes.join(", ")}`)}const r=await o(e,t);return s(100),w.success("Sucesso",{description:i("file_upload_success")}),c?.(r),r}catch(r){const e=r instanceof Error?r:new Error("Erro ao fazer upload");throw w.error("Erro",{description:e.message}),m?.(e),e}finally{t(!1)}},deleteMedia:async(e,a)=>{if(!l){const e=new Error("deleteFunction não fornecida");throw w.error("Erro de configuração",{description:"Função de delete não configurada."}),e}try{await l(e,a),w.success("Sucesso",{description:"Arquivo removido com sucesso"})}catch(t){throw w.error("Erro",{description:"Erro ao remover o arquivo"}),t}},uploading:a,progress:r}}function gu(e){const a=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([a-zA-Z0-9_-]{11})/,/^([a-zA-Z0-9_-]{11})$/];for(const t of a){const a=e.match(t);if(a)return a[1]}return null}function bu(e,a){const t=gu(e);if(!t)return e;return`https://www.youtube.com/embed/${t}${a?"?autoplay=1&mute=1":""}`}function vu(e){const a=e.match(/vimeo\.com\/(?:video\/)?(\d+)/);return a?a[1]:null}function yu(e,a){const t=vu(e);if(!t)return e;return`https://player.vimeo.com/video/${t}${a?"?autoplay=1&muted=1":""}`}function Nu(e){if(!e)return;const a=e.match(/src="([^"]+)"/);return a?a[1]:void 0}function xu(e){return e?/youtube|youtu\.be/.test(e)?"youtube":/vimeo/.test(e)?"vimeo":"file":"file"}function wu(e,a,t){switch(a||xu(e)){case"youtube":return bu(e,t);case"vimeo":return yu(e,t);default:return e}}function ku({value:r,onChange:s,onSubmit:o,onCancel:l,uploadFunction:d,deleteFunction:c,uploadOptions:u}){const{t:h}=Pa(),[p,f]=n(r||{inputType:"url",controls:!0}),g=m(null),b=m(null),{upload:v,uploading:y}=fu({uploadFunction:d,deleteFunction:c,defaultOptions:{...u,allowedTypes:["video/*"],maxSize:104857600}}),{upload:N,uploading:x}=fu({uploadFunction:d,deleteFunction:c,defaultOptions:{...u,allowedTypes:["image/*"],maxSize:5242880}}),k=i(()=>xu(p.videoUrl||Nu(p.embedCode)||""),[p.videoUrl,p.embedCode]),C=(e,a)=>{const t={...p,[e]:a};f(t),s(t)};return a("div",{className:"space-y-6",children:[a("div",{className:"space-y-2",children:[e(Tt,{children:h("input_type")}),a(or,{value:p.inputType||"url",onValueChange:e=>C("inputType",e),children:[e(cr,{children:e(dr,{})}),a(hr,{children:[e(fr,{value:"url",children:h("url")}),e(fr,{value:"upload",children:h("input_type_upload")}),e(fr,{value:"embed",children:h("input_type_embed")})]})]})]}),"upload"===p.inputType&&d&&a("div",{className:"space-y-2",children:[e(Tt,{children:h("file")}),a("div",{className:"flex gap-2",children:[e("input",{ref:g,type:"file",accept:"video/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await v(a),t={...p,videoUrl:e.url,videoFile:e.name,videoPath:e.path,videoSize:e.size,title:p.title||a.name.replace(/\.[^/.]+$/,"")};f(t),s(t)}catch(t){}finally{g.current&&(g.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>g.current?.click(),disabled:y,children:a(t,y?{children:[e(E,{className:"mr-2 h-4 w-4 animate-spin"}),h("uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),h("select_video")]})}),p.videoFile&&e("span",{className:"text-xs text-muted-foreground truncate self-center",children:h("video.fileInfo",{name:p.videoFile,size:Math.round((p.videoSize||0)/1024/1024)})})]})]}),"embed"===p.inputType&&a("div",{className:"space-y-2",children:[e(Tt,{children:h("embed")}),e(vr,{placeholder:h("embed"),value:p.embedCode||"",onChange:e=>C("embedCode",e.target.value),rows:4,className:"font-mono text-sm"})]}),d&&a("div",{className:"space-y-2",children:[e(Tt,{children:h("thumbnail")}),a("div",{className:"flex gap-2",children:[e(Et,{type:"url",placeholder:h("thumbnail"),value:p.thumbnail||"",onChange:e=>C("thumbnail",e.target.value),className:"flex-1"}),e("input",{ref:b,type:"file",accept:"image/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await N(a),t={...p,thumbnail:e.url,thumbnailFile:e.name,thumbnailPath:e.path};f(t),s(t)}catch(t){}finally{b.current&&(b.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>b.current?.click(),disabled:x,children:a(t,x?{children:[e(E,{className:"mr-2 h-4 w-4 animate-spin"}),h("video.uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),h("upload")]})})]}),p.thumbnailFile&&e("p",{className:"text-xs text-muted-foreground",children:h("video.thumbnailFileInfo",{name:p.thumbnailFile})})]}),a("div",{className:"space-y-2",children:[e(Tt,{htmlFor:"title",children:h("title")}),e(Et,{id:"title",placeholder:h("title"),value:p.title||"",onChange:e=>C("title",e.target.value)})]}),a("div",{className:"flex gap-6",children:[a("div",{className:"flex items-center gap-2",children:[e("input",{id:"autoplay",type:"checkbox",checked:p.autoplay||!1,onChange:e=>C("autoplay",e.target.checked),className:"h-4 w-4"}),e(Tt,{htmlFor:"autoplay",className:"cursor-pointer",children:h("video.autoplay")})]}),a("div",{className:"flex items-center gap-2",children:[e("input",{id:"controls",type:"checkbox",checked:!1!==p.controls,onChange:e=>C("controls",e.target.checked),className:"h-4 w-4"}),e(Tt,{htmlFor:"controls",className:"cursor-pointer",children:h("video.controls")})]})]}),a("div",{className:"space-y-2",children:[e(Tt,{children:h("preview")}),e("div",{className:"border rounded-lg p-4 bg-muted/30",children:(()=>{const t=p.videoUrl||Nu(p.embedCode)||"";if(!t)return e("div",{className:"text-center py-8 text-muted-foreground",children:h("no_content_preview")});if("file"===k)return a("video",{controls:!1!==p.controls,autoPlay:p.autoplay,poster:p.thumbnail,className:"w-full h-auto rounded-md",playsInline:!0,children:[e("source",{src:t}),h("unsupported")]});const r="youtube"===k?bu(t,p.autoplay):yu(t,p.autoplay);return e("div",{className:"relative w-full",style:{paddingTop:"56.25%"},children:e("iframe",{title:p.title||h("video"),src:r,className:"absolute inset-0 w-full h-full rounded-md",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})})()})]}),a("div",{className:"flex justify-end gap-2 pt-4 border-t",children:[e(Pt,{variant:"outline",onClick:l,children:h("cancel")}),e(Pt,{onClick:()=>{p.videoUrl||p.embedCode?o(p):w.error(h("error"),{description:h("error_no_video")})},disabled:!(p.videoUrl||p.embedCode),children:h("save")})]})]})}function Cu({content:t,className:r="",style:s}){const n=t.videoUrl||Nu(t.embedCode)||"";if(!n)return null;const i=xu(n),{t:o}=Pa();return e(Rt,{className:`overflow-hidden my-4 ${r}`,style:s,children:a(jt,{className:"p-0",children:["file"===i?a("video",{controls:!1!==t.controls,autoPlay:t.autoplay,poster:t.thumbnail,className:"w-full h-auto",playsInline:!0,muted:t.autoplay,children:[e("source",{src:n}),"Seu navegador não suporta vídeos HTML5."]}):e("div",{className:"relative w-full",style:{paddingTop:"56.25%"},children:e("iframe",{title:t.title||o("video"),src:"youtube"===i?bu(n,t.autoplay):yu(n,t.autoplay),className:"absolute inset-0 w-full h-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}),t.title&&e("div",{className:"p-4",children:e("p",{className:"text-sm font-medium",children:t.title})})]})})}function Su({value:r,onChange:s,onSubmit:i,onCancel:o,uploadFunction:l,deleteFunction:d,uploadOptions:c}){const{t:u}=Pa(),[h,p]=n(r||{alignment:"center",allowDownload:!1}),f=m(null),{upload:g,uploading:b}=fu({uploadFunction:l,deleteFunction:d,defaultOptions:{...c,allowedTypes:["image/*"],maxSize:5242880}}),v=(e,a)=>{const t={...h,[e]:a};p(t),s(t)};return a("div",{className:"space-y-6",children:[a("div",{className:"space-y-2",children:[e(Tt,{children:u("url")}),a("div",{className:"flex gap-2",children:[e(Et,{type:"url",placeholder:u("url_placeholder"),value:h.imageUrl||"",onChange:e=>v("imageUrl",e.target.value),className:"flex-1"}),l&&a(t,{children:[e("input",{ref:f,type:"file",accept:"image/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await g(a),t={...h,imageUrl:e.url,imageFile:e.name,imagePath:e.path,imageSize:e.size};p(t),s(t)}catch(t){}finally{f.current&&(f.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>f.current?.click(),disabled:b,children:a(t,b?{children:[e(E,{className:"mr-2 h-4 w-4 animate-spin"}),u("uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),u("upload")]})})]})]}),h.imageFile&&e("p",{className:"text-xs text-muted-foreground",children:u("image.fileInfo",{name:h.imageFile,size:Math.round((h.imageSize||0)/1024)})})]}),h.imageUrl&&a("div",{className:"space-y-2",children:[e(Tt,{children:u("preview")}),e("div",{className:"border rounded-lg p-4 bg-muted/30",children:e("div",{className:"flex "+("left"===h.alignment?"justify-start":"right"===h.alignment?"justify-end":"justify-center"),children:e("img",{src:h.imageUrl,alt:h.alt||"Preview",style:{width:h.width?`${h.width}px`:"auto",height:h.height?`${h.height}px`:"auto",maxWidth:"100%"},className:"rounded-lg shadow-md"})})})]}),a("div",{className:"space-y-2",children:[e(Tt,{htmlFor:"caption",children:u("caption")}),e(vr,{id:"caption",placeholder:u("caption"),value:h.caption||"",onChange:e=>v("caption",e.target.value),rows:2})]}),a("div",{className:"space-y-2",children:[e(Tt,{htmlFor:"alt",children:u("alt")}),e(Et,{id:"alt",placeholder:u("alt"),value:h.alt||"",onChange:e=>v("alt",e.target.value)})]}),a("div",{className:"space-y-2",children:[e(Tt,{children:u("alignment")}),a(or,{value:h.alignment||"center",onValueChange:e=>v("alignment",e),children:[e(cr,{children:e(dr,{})}),a(hr,{children:[e(fr,{value:"left",children:u("left")}),e(fr,{value:"center",children:u("center")}),e(fr,{value:"right",children:u("right")})]})]})]}),a("div",{className:"grid grid-cols-2 gap-4",children:[a("div",{className:"space-y-2",children:[e(Tt,{htmlFor:"width",children:u("width")}),e(Et,{id:"width",type:"number",placeholder:"px",value:h.width||"",onChange:e=>v("width",e.target.value?Number(e.target.value):void 0)})]}),a("div",{className:"space-y-2",children:[e(Tt,{htmlFor:"height",children:u("height")}),e(Et,{id:"height",type:"number",placeholder:"px",value:h.height||"",onChange:e=>v("height",e.target.value?Number(e.target.value):void 0)})]})]}),a("div",{className:"flex items-center gap-2",children:[e("input",{id:"allowDownload",type:"checkbox",checked:h.allowDownload||!1,onChange:e=>v("allowDownload",e.target.checked),className:"h-4 w-4"}),e(Tt,{htmlFor:"allowDownload",className:"cursor-pointer",children:u("allow_download")})]}),a("div",{className:"flex justify-end gap-2 pt-4 border-t",children:[e(Pt,{variant:"outline",onClick:o,children:u("cancel")}),e(Pt,{onClick:()=>{h.imageUrl?i(h):w.error(u("error"),{description:u("error_no_image")})},disabled:!h.imageUrl,children:u("save")})]})]})}function _u({content:t,className:r="",style:s}){if(!t.imageUrl)return null;const n={left:"justify-start",center:"justify-center",right:"justify-end"}[t.alignment||"center"];return e("div",{className:`flex ${n} my-4 ${r}`,style:s,children:a("div",{className:"space-y-2 max-w-full",children:[e("img",{src:t.imageUrl,alt:t.alt||"",style:{width:t.width?`${t.width}px`:"auto",height:t.height?`${t.height}px`:"auto",maxWidth:"100%"},className:"rounded-lg shadow-md"}),t.caption&&e("p",{className:"text-sm text-muted-foreground text-center italic",children:t.caption}),t.allowDownload&&t.imageUrl&&a("a",{href:t.imageUrl,download:!0,className:"flex items-center gap-2 text-sm text-primary hover:underline justify-center",children:[e(pe,{className:"h-4 w-4"}),"Baixar imagem"]})]})})}function Pu(e,a){return e/a}function Iu(e,a,t,r){const s=Pu(e,a);return t&&!r?{width:t,height:Math.round(t/s)}:r&&!t?{width:Math.round(r*s),height:r}:{width:e,height:a}}function Eu(e){const a=e.toLowerCase();return[".jpg",".jpeg",".png",".gif",".webp",".svg",".bmp",".ico"].some(e=>a.includes(e))}function Au(e){try{const a=new URL(e),t=a.pathname.split("/");return t[t.length-1]||"image"}catch{const a=e.split("/");return a[a.length-1]||"image"}}function Tu(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(2)} MB`}export{bs as AUTH_CONFIG,lo as Accordion,uo as AccordionContent,co as AccordionItem,mo as AccordionTrigger,It as ActionButton,$c as ActionMenu,Vn as ActionMenuItems,Ti as Alert,zi as AlertDescription,ho as AlertDialog,wo as AlertDialogAction,ko as AlertDialogCancel,bo as AlertDialogContent,xo as AlertDialogDescription,yo as AlertDialogFooter,vo as AlertDialogHeader,go as AlertDialogOverlay,fo as AlertDialogPortal,No as AlertDialogTitle,po as AlertDialogTrigger,Ri as AlertTitle,em as AppHeader,vm as AppLayout,bm as AppSidebar,ms as AuthErrorInterceptor,Ws as AuthProvider,$s as AuthService,Co as Avatar,_o as AvatarFallback,So as AvatarImage,Nr as Badge,oi as BaseForm,$l as Blockquote,Po as Breadcrumb,zo as BreadcrumbEllipsis,Eo as BreadcrumbItem,Ao as BreadcrumbLink,Io as BreadcrumbList,To as BreadcrumbPage,Ro as BreadcrumbSeparator,ci as BulkActionBar,Pt as Button,Fo as ButtonGroup,vs as CRUD_CONFIG,sl as Calendar,Mi as CallbackPage,Rt as Card,jt as CardContent,Ft as CardDescription,Dt as CardFooter,zt as CardHeader,an as CardSkeleton,Mt as CardTitle,Ic as ChartContainer,Rc as ChartLegend,zc as ChartLegendContent,Ec as ChartStyle,Ac as ChartTooltip,Tc as ChartTooltipContent,br as Checkbox,ao as Collapsible,ro as CollapsibleContent,to as CollapsibleTrigger,Zn as ColorPicker,$r as Combobox,Ir as Command,Er as CommandDialog,Rr as CommandEmpty,zr as CommandGroup,Ar as CommandInput,Fr as CommandItem,Tr as CommandList,Mr as CommandSeparator,jr as CommandShortcut,En as ContextMenu,On as ContextMenuCheckboxItem,Dn as ContextMenuContent,Tn as ContextMenuGroup,Ln as ContextMenuItem,Un as ContextMenuLabel,Rn as ContextMenuPortal,Mn as ContextMenuRadioGroup,$n as ContextMenuRadioItem,Wn as ContextMenuSeparator,qn as ContextMenuShortcut,zn as ContextMenuSub,jn as ContextMenuSubContent,Fn as ContextMenuSubTrigger,An as ContextMenuTrigger,oo as CoreProviders,gi as CrudPageInternal,di as CrudPagination,Uc as CrudPrimitiveFilterBar,li as CrudPrimitivePagination,Oc as CrudPrimitiveTable,Jn as CrudTable,nl as DataList,il as DatePicker,Ot as Dialog,Kt as DialogBody,Wt as DialogClose,Bt as DialogContent,Jt as DialogDescription,Qt as DialogFooter,Ht as DialogHeader,qt as DialogOverlay,Ut as DialogPortal,Gt as DialogTitle,$t as DialogTrigger,ol as Drawer,cl as DrawerClose,ul as DrawerContent,gl as DrawerDescription,pl as DrawerFooter,hl as DrawerHeader,ml as DrawerOverlay,dl as DrawerPortal,fl as DrawerTitle,ll as DrawerTrigger,pn as DropdownMenu,Cn as DropdownMenuCheckboxItem,wn as DropdownMenuContent,gn as DropdownMenuGroup,kn as DropdownMenuItem,_n as DropdownMenuLabel,bn as DropdownMenuPortal,yn as DropdownMenuRadioGroup,Sn as DropdownMenuRadioItem,Pn as DropdownMenuSeparator,In as DropdownMenuShortcut,vn as DropdownMenuSub,xn as DropdownMenuSubContent,Nn as DropdownMenuSubTrigger,fn as DropdownMenuTrigger,wm as EmailService,on as EmptyState,$r as EntitySelect,io as ErrorBoundary,fi as FilterBar,Xt as Form,sr as FormControl,nr as FormDescription,Zt as FormField,tr as FormItem,rr as FormLabel,ir as FormMessage,tn as FormSkeleton,yl as Grid,Al as H1,Tl as H2,Rl as H3,zl as H4,rn as HeaderSkeleton,Nl as HoverCard,wl as HoverCardContent,xl as HoverCardTrigger,ri as IconPicker,Su as ImageEditor,_u as ImageRenderer,Ol as InlineCode,Et as Input,kl as InputGroup,Sl as InputGroupAddon,Pl as InputGroupButton,Il as InputGroupInput,El as InputGroupTextarea,Cs as LOGO_CONFIG,Tt as Label,jl as Large,Fl as Lead,Um as LeaderRow,mu as LeadershipDialog,cu as LeadershipForm,pu as LeadershipPage,Ul as List,kr as LoadingState,Yi as LocaleProvider,Kc as LocaleSelector,Fi as LoginPage,Ss as MESSAGES,Cm as ManageAccessModal,pc as Menubar,Nc as MenubarCheckboxItem,vc as MenubarContent,cc as MenubarGroup,yc as MenubarItem,wc as MenubarLabel,dc as MenubarMenu,mc as MenubarPortal,hc as MenubarRadioGroup,xc as MenubarRadioItem,kc as MenubarSeparator,Cc as MenubarShortcut,uc as MenubarSub,bc as MenubarSubContent,gc as MenubarSubTrigger,fc as MenubarTrigger,pm as ModalStateProvider,$r as MultiSelect,Ll as Muted,Wl as NavigationMenu,Kl as NavigationMenuContent,Jl as NavigationMenuIndicator,Vl as NavigationMenuItem,Ql as NavigationMenuLink,ql as NavigationMenuList,Hl as NavigationMenuTrigger,Gl as NavigationMenuViewport,Jc as NavigationProvider,Ml as P,Xl as PageBreadcrumb,Di as PageMetadataProvider,Zl as Pagination,ed as PaginationContent,nd as PaginationEllipsis,ad as PaginationItem,td as PaginationLink,sd as PaginationNext,rd as PaginationPrevious,Sm as PlaceCard,_m as PlacesList,Sr as Popover,Pr as PopoverContent,_r as PopoverTrigger,wi as Progress,Ii as ProtectedRoute,ws as QUALIEX_CONFIG,xs as QUERY_KEYS,Ts as QualiexEnrichmentService,hs as QualiexErrorInterceptor,ii as QualiexUserField,id as RadioGroup,od as RadioGroupItem,cd as ResizableHandle,dd as ResizablePanel,ld as ResizablePanelGroup,Dc as RichTextEditor,ys as SEARCH_CONFIG,ei as ScrollArea,ai as ScrollBar,or as Select,hr as SelectContent,lr as SelectGroup,fr as SelectItem,pr as SelectLabel,ur as SelectScrollDownButton,mr as SelectScrollUpButton,$r as SelectSearch,gr as SelectSeparator,cr as SelectTrigger,dr as SelectValue,Lt as Separator,md as Sheet,yd as SheetBody,hd as SheetClose,bd as SheetContent,wd as SheetDescription,Nd as SheetFooter,vd as SheetHeader,fd as SheetOverlay,pd as SheetPortal,xd as SheetTitle,ud as SheetTrigger,Pd as Sidebar,mm as SidebarActionTrigger,Fd as SidebarContent,zd as SidebarFooter,jd as SidebarGroup,Ld as SidebarGroupAction,Od as SidebarGroupContent,Dd as SidebarGroupLabel,cm as SidebarHeader,Td as SidebarInput,Ad as SidebarInset,$d as SidebarMenu,Vd as SidebarMenuAction,Bd as SidebarMenuBadge,qd as SidebarMenuButton,Ud as SidebarMenuItem,Hd as SidebarMenuSkeleton,Kd as SidebarMenuSub,Gd as SidebarMenuSubButton,Qd as SidebarMenuSubItem,_d as SidebarProvider,Ed as SidebarRail,Md as SidebarSeparator,sn as SidebarSkeleton,Id as SidebarTrigger,Dr as Skeleton,Jd as Slider,Dl as Small,Cr as SonnerToaster,wr as Spinner,Lc as SplitButton,pi as Stack,si as Switch,rc as TabPageContent,tc as TabPageHeader,ac as TabPageLayout,Hs as Table,Qs as TableBody,Zs as TableCaption,Ys as TableCell,Gs as TableFooter,Xs as TableHead,Ks as TableHeader,hn as TableResizeHandle,Js as TableRow,Bn as TableRowActions,en as TableSkeleton,Xd as Tabs,ec as TabsContent,Yd as TabsList,Zd as TabsTrigger,vr as Textarea,Cr as Toaster,nc as Toggle,oc as ToggleGroup,lc as ToggleGroupItem,Jr as TokenManager,Wr as TokenService,dn as Tooltip,mn as TooltipContent,ln as TooltipProvider,cn as TooltipTrigger,eo as TranslationLoader,un as TruncatedCell,ku as VideoEditor,Cu as VideoRenderer,Ci as WizardBreadcrumb,_i as WizardButtons,Pi as WizardForm,Si as WizardProgressBar,ki as WizardStepper,om as assets,yr as badgeVariants,Tm as buildHierarchy,Mo as buttonGroupVariants,_t as buttonVariants,Pu as calculateAspectRatio,Nt as cn,bi as createCrudPage,qc as createCrudRoutingConfig,Wc as createRoutingHandlers,Ms as createService,vi as createSimpleSaveHandler,Bs as createSimpleService,Ct as debounce,Ps as deriveEmailField,_s as deriveNameField,Is as deriveUsernameField,xu as detectVideoProvider,km as emailService,Zr as errorService,Au as extractImageFileName,vu as extractVimeoId,gu as extractYouTubeId,Am as filterAndPromoteOrphans,Rm as flattenTree,kt as formatCurrency,Nm as formatDate,wt as formatDatetime,Tu as formatFileSize,yi as generateCrudConfig,ks as getQualiexConfig,is as getSupabaseClient,yt as handleExternalLink,Cl as inputGroupAddonVariants,_l as inputGroupButtonVariants,Ns as isDevEnvironment,Eu as isImageUrl,lm as logoSrc,Bl as navigationMenuTriggerStyle,wu as normalizeVideoUrl,yu as normalizeVimeoUrl,bu as normalizeYouTubeUrl,Nu as parseIframeSrc,Em as placeService,gs as qualiexApi,Iu as resizeKeepingAspect,Es as resolveFieldMappings,$i as setupQualiexCore,St as slugify,dm as smallLogoSrc,sc as toggleVariants,Hi as translationService,xt as trimTextFields,tm as useActiveModules,qs as useAuth,Xn as useBaseForm,Kn as useColumnResize,Mm as useCreateLeaderMutation,jm as useCreateMultipleLeadersMutation,Fm as useCreateSingleLeaderMutation,Vs as useCrud,Zc as useDebounce,er as useFormField,gm as useHasOpenModal,xm as useI18nFormatters,zm as useLeadershipApi,Zi as useLocale,fu as useMediaUpload,fm as useModalState,Xc as useNavigation,Oi as usePageMetadata,Li as usePageMetadataContext,Yc as usePageTitle,am as usePermissionQuery,ni as useQualiexUsers,Lm as useRemoveLeaderMutation,Yl as useRouteBreadcrumbs,Qn as useRowResize,Sd as useSidebar,um as useSidebarResize,Om as useSyncSubordinatesMutation,Dm as useUpdateLeaderMutation};
1
+ import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import*as r from"react";import s,{useState as n,useMemo as i,createContext as o,useContext as l,useCallback as d,useEffect as c,useRef as m,memo as u,Component as h}from"react";import{Slot as p}from"@radix-ui/react-slot";import{cva as f}from"class-variance-authority";import{clsx as g}from"clsx";import{twMerge as b}from"tailwind-merge";import{parseISO as v,isValid as y,format as N}from"date-fns";import x from"i18next";export{default as i18n}from"i18next";import{toast as w,Toaster as k}from"sonner";export{toast as sonnerToast,toast}from"sonner";import{EllipsisVertical as C,X as S,ChevronDown as _,ChevronUp as P,Check as I,Loader2 as A,Loader2Icon as T,OctagonXIcon as E,TriangleAlertIcon as R,InfoIcon as z,CircleCheckIcon as M,AlertCircle as F,Search as D,FileX as j,ChevronRight as L,Circle as $,Edit as O,PowerOff as U,Power as W,Trash2 as q,Plus as V,ArrowUpDown as B,ArrowUp as H,ArrowDown as K,Target as Q,Trophy as G,Award as J,Sparkles as X,Flame as Y,Zap as Z,Key as ee,Shield as ae,EyeOff as te,Eye as re,Unlock as se,Lock as ne,Archive as ie,FolderOpen as oe,Folder as le,FileText as de,Save as ce,Copy as me,Share as ue,Upload as he,Download as pe,HelpCircle as fe,Info as ge,Bell as be,Clock as ve,ArrowRight as ye,ArrowLeft as Ne,ChevronLeft as xe,Minus as we,Filter as ke,Bookmark as Ce,Book as Se,Video as _e,Music as Pe,Image as Ie,Camera as Ae,MapPin as Te,Calendar as Ee,Phone as Re,Mail as ze,Settings as Me,User as Fe,Home as De,Heart as je,Star as Le,ChevronsLeft as $e,ChevronsRight as Oe,CheckCircle as Ue,AlertTriangle as We,RefreshCw as qe,MoreHorizontal as Ve,GripVertical as Be,PanelLeft as He,Edit3 as Ke,Code as Qe,Heading1 as Ge,Heading2 as Je,Heading3 as Xe,Bold as Ye,Italic as Ze,Underline as ea,Strikethrough as aa,List as ta,ListOrdered as ra,Highlighter as sa,Link as na,RemoveFormatting as ia,Undo as oa,Redo as la,Globe as da,Building2 as ca,LogOut as ma,ExternalLink as ua,Users as ha,Crown as pa,UserPlus as fa}from"lucide-react";import*as ga from"@radix-ui/react-label";import*as ba from"@radix-ui/react-dialog";import*as va from"@radix-ui/react-separator";import{useFormContext as ya,FormProvider as Na,Controller as xa,appendErrors as wa,useForm as ka}from"react-hook-form";import*as Ca from"@radix-ui/react-select";import*as Sa from"@radix-ui/react-checkbox";import*as _a from"@radix-ui/react-popover";import{useTranslation as Pa,initReactI18next as Ia,I18nextProvider as Aa}from"react-i18next";export{I18nextProvider,useTranslation}from"react-i18next";import{createClient as Ta}from"@supabase/supabase-js";import{useQueryClient as Ea,useQuery as Ra,useMutation as za,QueryClient as Ma,QueryClientProvider as Fa}from"@tanstack/react-query";import{useSearchParams as Da,useLocation as ja,useNavigate as La,Link as $a}from"react-router-dom";import*as Oa from"@radix-ui/react-tooltip";import*as Ua from"@radix-ui/react-dropdown-menu";import*as Wa from"@radix-ui/react-context-menu";import*as qa from"@radix-ui/react-scroll-area";import*as Va from"@radix-ui/react-switch";import*as Ba from"@radix-ui/react-progress";import*as Ha from"@radix-ui/react-collapsible";import*as Ka from"@radix-ui/react-accordion";import*as Qa from"@radix-ui/react-alert-dialog";import*as Ga from"@radix-ui/react-avatar";import{DayPicker as Ja}from"react-day-picker";import{Drawer as Xa}from"vaul";import*as Ya from"@radix-ui/react-hover-card";import*as Za from"@radix-ui/react-navigation-menu";import*as et from"@radix-ui/react-radio-group";import*as at from"react-resizable-panels";import*as tt from"@radix-ui/react-slider";import*as rt from"@radix-ui/react-tabs";import*as st from"@radix-ui/react-toggle";import*as nt from"@radix-ui/react-toggle-group";import*as it from"@radix-ui/react-menubar";import*as ot from"recharts";import{useEditor as lt,EditorContent as dt}from"@tiptap/react";import ct from"@tiptap/starter-kit";import mt from"@tiptap/extension-underline";import ut from"@tiptap/extension-link";import{TextStyle as ht}from"@tiptap/extension-text-style";import{Color as pt}from"@tiptap/extension-color";import ft from"@tiptap/extension-highlight";import{z as gt}from"zod";import{validateFieldsNatively as bt,toNestErrors as vt}from"@hookform/resolvers";function yt(e,a){a?.stopPropagation();window.open(e,"_blank","noopener,noreferrer")||navigator.clipboard.writeText(e).then(()=>{w.info(x.t("link_copied"))})}function Nt(...e){return b(g(e))}const xt=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(xt);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,r]of Object.entries(e))a[t]=xt(r);return a}return e},wt=e=>{if(!e)return"";const a=v(e);if(!y(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric",timeZone:"America/Sao_Paulo"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit",timeZone:"America/Sao_Paulo"})}`},kt=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),Ct=(e,a)=>{let t;return(...r)=>{clearTimeout(t),t=setTimeout(()=>e(...r),a)}},St=e=>e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-"),_t=f("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{primary:"bg-primary text-primary-foreground hover:bg-primary-hover shadow-sm hover:shadow-md active:scale-[0.98]",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary-hover border border-input shadow-sm",tertiary:"bg-background text-foreground hover:bg-accent hover:text-accent-foreground border border-border",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",ghost:"hover:bg-accent hover:text-accent-foreground",subtle:"text-muted-foreground hover:text-foreground hover:bg-accent/50",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm hover:shadow-md",danger:"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm hover:shadow-md",link:"text-primary underline-offset-4 hover:underline",icon:"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2",loading:"bg-primary/50 text-primary-foreground cursor-wait",default:"bg-primary text-primary-foreground hover:bg-primary/90",action:"bg-primary/10 text-primary hover:bg-primary/20 border border-primary/30","icon-only":"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2","external-link":"bg-transparent text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors","action-primary":"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm","action-secondary":"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input"},size:{sm:"h-8 px-3 text-xs rounded",md:"h-10 px-4 py-2 text-sm rounded-md",lg:"h-12 px-8 text-base rounded-lg",xl:"h-14 px-10 text-lg rounded-lg",icon:"h-10 w-10","icon-sm":"h-8 w-8","icon-xs":"h-6 w-6",default:"h-10 px-4 py-2"}},defaultVariants:{variant:"primary",size:"md"}}),Pt=r.forwardRef(({className:a,variant:t,size:r,asChild:s=!1,...n},i)=>e(s?p:"button",{className:Nt(_t({variant:t,size:r,className:a})),ref:i,...n}));Pt.displayName="Button";const It=s.forwardRef(({className:a,children:t,...r},s)=>e(Pt,{ref:s,variant:"action",size:"sm",className:Nt("h-7 px-2 text-xs",a),...r,children:t||e(C,{size:12})}));It.displayName="ActionButton";const At=r.forwardRef(({className:a,type:t,...r},s)=>e("input",{type:t,className:Nt("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",a),ref:s,...r}));At.displayName="Input";const Tt=f("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Et=r.forwardRef(({className:a,...t},r)=>e(ga.Root,{ref:r,className:Nt(Tt(),a),...t}));Et.displayName=ga.Root.displayName;const Rt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("rounded-lg border bg-card text-card-foreground shadow-sm",a),...t}));Rt.displayName="Card";const zt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex flex-col space-y-1.5 p-6",a),...t}));zt.displayName="CardHeader";const Mt=r.forwardRef(({className:a,...t},r)=>e("h3",{ref:r,className:Nt("text-2xl font-semibold leading-none tracking-tight",a),...t}));Mt.displayName="CardTitle";const Ft=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Ft.displayName="CardDescription";const Dt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("p-6 pt-0",a),...t}));Dt.displayName="CardContent";const jt=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex items-center p-6 pt-0",a),...t}));jt.displayName="CardFooter";const Lt=r.forwardRef(({className:a,orientation:t="horizontal",decorative:r=!0,...s},n)=>e(va.Root,{ref:n,decorative:r,orientation:t,className:Nt("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",a),...s}));Lt.displayName=va.Root.displayName;const $t=ba.Root,Ot=ba.Trigger,Ut=ba.Portal,Wt=ba.Close,qt=r.forwardRef(({className:a,...t},r)=>e(ba.Overlay,{ref:r,className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t}));qt.displayName=ba.Overlay.displayName;const Vt={sm:"sm:max-w-[420px]",md:"sm:max-w-lg",lg:"sm:max-w-2xl",xl:"sm:max-w-4xl",full:"max-w-[85vw]"},Bt=r.forwardRef(({className:t,children:r,size:s="md",...n},i)=>a(Ut,{children:[e(qt,{}),a(ba.Content,{ref:i,className:Nt("fixed left-[50%] top-[50%] z-50 flex flex-col w-full max-w-[85vw] max-h-[85vh] translate-x-[-50%] translate-y-[-50%] border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",Vt[s],t),...n,children:[r,a(ba.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-0 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[e(S,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]})]}));Bt.displayName=ba.Content.displayName;const Ht=({className:t,showSeparator:r=!1,children:s,...n})=>a("div",{className:Nt("flex flex-col flex-shrink-0",t),...n,children:[e("div",{className:"flex flex-col text-left",children:s}),r&&e(Lt,{className:"mt-2"})]});Ht.displayName="DialogHeader";const Kt=({className:a,...t})=>e("div",{className:Nt("flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",a),...t});Kt.displayName="DialogBody";const Qt=({className:t,children:r,...s})=>a("div",{className:"flex-shrink-0 pt-4",children:[e(Lt,{className:"mb-4"}),e("div",{className:Nt("flex flex-row justify-end gap-2",t),...s,children:r})]});Qt.displayName="DialogFooter";const Gt=r.forwardRef(({className:a,...t},r)=>e(ba.Title,{ref:r,className:Nt("text-lg font-semibold leading-none tracking-tight",a),...t}));Gt.displayName=ba.Title.displayName;const Jt=r.forwardRef(({className:a,...t},r)=>e(ba.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Jt.displayName=ba.Description.displayName;const Xt=Na,Yt=r.createContext({}),Zt=({...a})=>e(Yt.Provider,{value:{name:a.name},children:e(xa,{...a})}),er=()=>{const e=r.useContext(Yt),a=r.useContext(ar),{getFieldState:t,formState:s}=ya(),n=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=a;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...n}},ar=r.createContext({}),tr=r.forwardRef(({className:a,...t},s)=>{const n=r.useId();return e(ar.Provider,{value:{id:n},children:e("div",{ref:s,className:Nt("space-y-2",a),...t})})});tr.displayName="FormItem";const rr=r.forwardRef(({className:a,...t},r)=>{const{error:s,formItemId:n}=er();return e(Et,{ref:r,className:Nt(s&&"text-destructive",a),htmlFor:n,...t})});rr.displayName="FormLabel";const sr=r.forwardRef(({...a},t)=>{const{error:r,formItemId:s,formDescriptionId:n,formMessageId:i}=er();return e(p,{ref:t,id:s,"aria-describedby":r?`${n} ${i}`:`${n}`,"aria-invalid":!!r,...a})});sr.displayName="FormControl";const nr=r.forwardRef(({className:a,...t},r)=>{const{formDescriptionId:s}=er();return e("p",{ref:r,id:s,className:Nt("text-sm text-muted-foreground",a),...t})});nr.displayName="FormDescription";const ir=r.forwardRef(({className:a,children:t,...r},s)=>{const{error:n,formMessageId:i}=er(),o=n?String(n?.message):t;return o?e("p",{ref:s,id:i,className:Nt("text-sm font-medium text-destructive",a),...r,children:o}):null});ir.displayName="FormMessage";const or=Ca.Root,lr=Ca.Group,dr=Ca.Value,cr=r.forwardRef(({className:t,children:r,...s},n)=>a(Ca.Trigger,{ref:n,className:Nt("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...s,children:[r,e(Ca.Icon,{asChild:!0,children:e(_,{className:"h-4 w-4 opacity-50"})})]}));cr.displayName=Ca.Trigger.displayName;const mr=r.forwardRef(({className:a,...t},r)=>e(Ca.ScrollUpButton,{ref:r,className:Nt("flex cursor-default items-center justify-center py-1",a),...t,children:e(P,{className:"h-4 w-4"})}));mr.displayName=Ca.ScrollUpButton.displayName;const ur=r.forwardRef(({className:a,...t},r)=>e(Ca.ScrollDownButton,{ref:r,className:Nt("flex cursor-default items-center justify-center py-1",a),...t,children:e(_,{className:"h-4 w-4"})}));ur.displayName=Ca.ScrollDownButton.displayName;const hr=r.forwardRef(({className:t,children:r,position:s="popper",container:n,collisionBoundary:i,...o},l)=>e(Ca.Portal,{container:n,children:a(Ca.Content,{ref:l,className:Nt("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,collisionBoundary:i,...o,children:[e(mr,{}),e(Ca.Viewport,{className:Nt("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),e(ur,{})]})}));hr.displayName=Ca.Content.displayName;const pr=r.forwardRef(({className:a,...t},r)=>e(Ca.Label,{ref:r,className:Nt("py-1.5 pl-8 pr-2 text-sm font-semibold",a),...t}));pr.displayName=Ca.Label.displayName;const fr=r.forwardRef(({className:t,children:r,...s},n)=>a(Ca.Item,{ref:n,className:Nt("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ca.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),e(Ca.ItemText,{children:r})]}));fr.displayName=Ca.Item.displayName;const gr=r.forwardRef(({className:a,...t},r)=>e(Ca.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));gr.displayName=Ca.Separator.displayName;const br=r.forwardRef(({className:a,...t},r)=>e(Sa.Root,{ref:r,className:Nt("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...t,children:e(Sa.Indicator,{className:Nt("flex items-center justify-center text-current"),children:e(I,{className:"h-4 w-4"})})}));br.displayName=Sa.Root.displayName;const vr=r.forwardRef(({className:a,...t},r)=>e("textarea",{className:Nt("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:r,...t}));vr.displayName="Textarea";const yr=f("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",danger:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-success text-success-foreground hover:bg-success/90",warning:"border-transparent bg-warning text-warning-foreground hover:bg-warning/90",info:"border-transparent bg-primary/10 text-primary hover:bg-primary/20",sharp:"border-transparent bg-[hsl(78,70%,46%)] text-foreground hover:bg-[hsl(78,70%,40%)]"}},defaultVariants:{variant:"default"}}),Nr=r.forwardRef(({className:a,variant:t,...r},s)=>e("div",{ref:s,className:Nt(yr({variant:t}),a),...r}));Nr.displayName="Badge";const xr={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function wr({size:a="md",className:t}){return e(A,{className:Nt("animate-spin text-muted-foreground",xr[a],t)})}function kr({isLoading:r,children:s,className:n,type:i="spinner",size:o="md"}){return r?"overlay"===i?a("div",{className:Nt("relative",n),children:[s,e("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:e(wr,{size:o})})]}):e("div","skeleton"===i?{className:Nt("animate-pulse",n),children:e("div",{className:"bg-muted rounded-md h-full w-full"})}:{className:Nt("flex items-center justify-center py-8",n),children:e(wr,{size:o})}):e(t,{children:s})}const Cr=({...a})=>e(k,{className:"group",position:"top-right",expand:!0,visibleToasts:5,closeButton:!0,icons:{success:e(M,{className:"h-4 w-4"}),info:e(z,{className:"h-4 w-4"}),warning:e(R,{className:"h-4 w-4"}),error:e(E,{className:"h-4 w-4"}),loading:e(T,{className:"h-4 w-4 animate-spin"})},toastOptions:{classNames:{toast:"group toast group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg group-[.toaster]:relative",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",closeButton:"group-[.toast]:absolute group-[.toast]:right-2 group-[.toast]:top-2 group-[.toast]:left-auto group-[.toast]:transform-none group-[.toast]:border-0 group-[.toast]:bg-transparent group-[.toast]:opacity-70 group-[.toast]:hover:opacity-100 group-[.toast]:hover:bg-transparent group-[.toast]:transition-opacity",success:"!bg-success-light !border-success-light",error:"!bg-destructive/10 !border-destructive/10",warning:"!bg-warning-light !border-warning-light",info:"!bg-info-light !border-info-light"}},...a}),Sr=_a.Root,_r=_a.Trigger,Pr=r.forwardRef(({className:a,align:t="center",sideOffset:r=4,container:s,...n},i)=>e(_a.Portal,{container:s,children:e(_a.Content,{ref:i,align:t,sideOffset:r,className:Nt("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})}));Pr.displayName=_a.Content.displayName;const Ir=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",a),...t}));Ir.displayName="Command";const Ar=({children:a,...t})=>e("div",{...t,children:e(Ir,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:a})}),Tr=r.forwardRef(({className:a,...t},r)=>e("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:e("input",{ref:r,className:Nt("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",a),...t})}));Tr.displayName="CommandInput";const Er=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("max-h-[300px] overflow-y-auto overflow-x-hidden",a),...t}));Er.displayName="CommandList";const Rr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("py-6 text-center text-sm text-muted-foreground",a),...t}));Rr.displayName="CommandEmpty";const zr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",a),...t}));zr.displayName="CommandGroup";const Mr=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("-mx-1 h-px bg-border",a),...t}));Mr.displayName="CommandSeparator";const Fr=r.forwardRef(({className:a,disabled:t,onSelect:r,value:s,...n},i)=>e("div",{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none hover:bg-accent hover:text-accent-foreground data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",a),"data-disabled":t,onClick:()=>!t&&r?.(s||""),...n}));Fr.displayName="CommandItem";const Dr=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});function jr({className:a,...t}){return e("div",{className:Nt("animate-pulse rounded-md bg-muted",a),...t})}Dr.displayName="CommandShortcut";const Lr=e=>e.normalize("NFD").replace(/\p{Diacritic}/gu,"").toLowerCase();function $r({multiple:t,options:r,value:s,onChange:o,getOptionValue:l,getOptionLabel:d,placeholder:c,label:m,icon:u,emptyMessage:h,searchPlaceholder:p,disabled:f,required:g,className:b,sortOptions:v,maxDisplayedBadges:y,popoverContainer:N,onOpen:x,onClose:w}){const{t:k}=Pa(),[C,P]=n(!1),[A,T]=n(""),E=i(()=>s?Array.isArray(s)?s:[s]:[],[s]),R=i(()=>{if(!N)return;let e=N,a=0;try{for(;e&&a<3;){const t=window.getComputedStyle(e),r=t.overflowY||t.overflow;if(!r||"visible"===r||"unset"===r)break;e=e.parentElement,a++}}catch{}return e??void 0},[N]),z=i(()=>{const e=r.map(e=>({original:e,value:l(e),label:d(e)}));return v?e.sort((e,a)=>e.label.localeCompare(a.label,"pt-BR",{sensitivity:"base"})):e},[r,l,d,v]),M=i(()=>{if(!A)return z;const e=Lr(A);return z.filter(a=>Lr(a.label).includes(e))},[z,A]),F=i(()=>z.filter(e=>E.includes(e.value)),[z,E]),D=(e,a)=>{a.preventDefault(),a.stopPropagation(),o&&o(t?E.filter(a=>a!==e):"")},j=y?F.slice(0,y):F,L=y&&F.length>y?F.length-y:0;return a("div",{className:Nt("space-y-2",b),children:[m&&a(Et,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(Sr,{open:C,onOpenChange:e=>{P(e),e?x?.():(T(""),w?.())},modal:!1,children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",role:"combobox","aria-expanded":C,disabled:f,className:Nt("w-full justify-between min-h-10 h-auto",0===F.length&&"text-muted-foreground"),children:[0===F.length?a("span",{className:"flex items-center gap-2",children:[u&&e(u,{className:"h-4 w-4"}),c]}):t?a("div",{className:"flex flex-wrap gap-1.5 flex-1 mr-2",children:[j.map(t=>a(Nr,{variant:"secondary",className:"gap-1 pr-1",children:[t.label,e("button",{type:"button",className:"rounded-full outline-none ring-offset-background focus:ring-2 focus:ring-ring focus:ring-offset-2",onKeyDown:e=>{"Enter"===e.key&&D(t.value,e)},onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>D(t.value,e),children:e(S,{className:"h-3 w-3 text-muted-foreground hover:text-foreground"})})]},t.value)),L>0&&a(Nr,{variant:"outline",className:"gap-1",children:["+",L]})]}):a("span",{className:"flex items-center gap-2",children:[u&&e(u,{className:"h-4 w-4"}),F[0]?.label]}),e(_,{className:"h-4 w-4 shrink-0 opacity-50"})]})}),e(Pr,{className:"w-full p-0 bg-popover z-[60]",align:"start",container:R,collisionBoundary:R,children:a(Ir,{children:[e(Tr,{placeholder:p,value:A,onChange:e=>T(e.target.value)}),e(Er,{children:0===r.length?e(Rr,{children:h}):0===M.length?e(Rr,{children:k("no_results")}):e(zr,{children:M.map(r=>a(Fr,{value:r.value,onSelect:()=>(e=>{if(o)if(t){const a=E.includes(e)?E.filter(a=>a!==e):[...E,e];o(a)}else o(e),P(!1)})(r.value),className:"cursor-pointer",children:[e(I,{className:Nt("mr-2 h-4 w-4",E.includes(r.value)?"opacity-100":"opacity-0")}),r.label]},r.value))})})]})})]})]})}function Or({multiple:t=!1,options:r,items:s,value:n,onChange:i,onValueChange:o,getOptionValue:l=e=>e.value,getOptionLabel:d=e=>e.label,placeholder:c,label:m,icon:u,emptyMessage:h,searchPlaceholder:p,disabled:f=!1,required:g=!1,isLoading:b=!1,error:v,className:y,sortOptions:N=!0,maxDisplayedBadges:x,popoverContainer:w,onOpen:k,onClose:C}){const{t:S}=Pa(),_=s||r||[],P=o||i,I=c||S("select_placeholder"),A=h||S("no_results"),T=p||S("search_placeholder");if(b)return a("div",{className:Nt("space-y-2",y),children:[m&&a(Et,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(jr,{className:"h-10 w-full"})]});const E="string"==typeof v?v:v instanceof Error?v.message:v?"Erro ao carregar dados":void 0;return E?a("div",{className:Nt("space-y-2",y),children:[m&&a(Et,{children:[m,g&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a("div",{className:"flex items-center gap-2 p-3 border border-destructive rounded-md bg-destructive/10 text-destructive",children:[e(F,{className:"h-4 w-4"}),e("span",{className:"text-sm",children:E})]})]}):e($r,{multiple:t,options:_,value:n||(t?[]:""),onChange:P,getOptionValue:l,getOptionLabel:d,placeholder:I,label:m,icon:u,emptyMessage:A,searchPlaceholder:T,disabled:f,required:g,className:y,sortOptions:N,maxDisplayedBadges:x,popoverContainer:w,onOpen:k,onClose:C})}var Ur=Object.defineProperty;class Wr{static normalizeBase64Url(e){let a=e.replace(/-/g,"+").replace(/_/g,"/");const t=(4-a.length%4)%4;return a+="=".repeat(t),a}static parseJwtPayload(e){try{const s=e.split(".");if(3!==s.length)return null;const n=s[1];n.length,this.LARGE_PAYLOAD_THRESHOLD;try{const e=this.normalizeBase64Url(n),a=atob(e),t=new Uint8Array(a.length);for(let s=0;s<a.length;s++)t[s]=a.charCodeAt(s);const r=new TextDecoder("utf-8").decode(t);return JSON.parse(r)}catch(a){try{const e=this.normalizeBase64Url(n),a=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(a)}catch(t){try{const e=this.normalizeBase64Url(n),a=atob(e);return JSON.parse(a)}catch(r){throw r}}}}catch(s){return null}}static validateTokens(e,a){const t=[],r=[];try{a.split(".")[1],e.split(".")[1];const s=this.parseJwtPayload(a),n=this.parseJwtPayload(e);if(!s){const e="ID token decode falhou - possível problema com base64url encoding";return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:r}}let i=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";t.push(e),i=!1}const o=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<o){const e="Access token expirado - pode precisar de refresh";t.push(e),i=!1}if(s.exp&&s.exp<o){const e="ID token expirado - autenticação inválida";return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:i,warnings:t,errors:r}}return{isValid:!0,idTokenValid:!0,accessTokenValid:i,warnings:t,errors:r}}catch(s){const e=`Erro na validação de tokens: ${s}`;return r.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:r}}}static isTokenExpired(e){const a=this.parseJwtPayload(e);return!a||!a.exp||1e3*a.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,a,t)=>{a in e?Ur(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(Wr,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const qr="qualiex_access_token",Vr="qualiex_id_token",Br="supabase_token",Hr="oauth_state",Kr="oauth_nonce",Qr="selected_alias",Gr="manual_logout",Jr={setAccessToken:e=>localStorage.setItem(qr,e),getAccessToken:()=>localStorage.getItem(qr),setIdToken:e=>localStorage.setItem(Vr,e),getIdToken:()=>localStorage.getItem(Vr),getSupabaseToken:()=>localStorage.getItem(Br),setOAuthState:e=>sessionStorage.setItem(Hr,e),getOAuthState:()=>sessionStorage.getItem(Hr),clearOAuthState:()=>sessionStorage.removeItem(Hr),setOAuthNonce:e=>sessionStorage.setItem(Kr,e),getOAuthNonce:()=>sessionStorage.getItem(Kr),clearOAuthNonce:()=>sessionStorage.removeItem(Kr),setSelectedAlias:e=>localStorage.setItem(Qr,e),getSelectedAlias:()=>localStorage.getItem(Qr),clearSelectedAlias:()=>localStorage.removeItem(Qr),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Jr.getAccessToken()||!Jr.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(Br,e),Jr._clearValidationCache()},areAllTokensValid:()=>{const e=Jr.getAccessToken(),a=Jr.getIdToken();if(!e||!a)return!1;try{const t=Wr.validateTokens(e,a);return!!t.idTokenValid&&t.idTokenValid}catch(t){return!1}},clearExpiredTokens:()=>{let e=!1;const a=Jr.getAccessToken(),t=Jr.getIdToken(),r=Jr.getSupabaseToken();return a&&Jr.isTokenExpired(a)&&(localStorage.removeItem(qr),e=!0),t&&Jr.isTokenExpired(t)&&(localStorage.removeItem(Vr),e=!0),r&&Jr.isTokenExpired(r)&&(localStorage.removeItem(Br),e=!0),e},clearAll:()=>{localStorage.removeItem(qr),localStorage.removeItem(Vr),localStorage.removeItem(Br),localStorage.removeItem(Qr),localStorage.removeItem(Gr),sessionStorage.removeItem(Hr),sessionStorage.removeItem(Kr)},setManualLogout:()=>localStorage.setItem(Gr,"true"),isManualLogout:()=>"true"===localStorage.getItem(Gr),clearManualLogout:()=>localStorage.removeItem(Gr),isTokenExpired:e=>{try{return Wr.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{Jr._validationCache.isValid=!1,Jr._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=Jr.getSupabaseToken();if(!e)return!1;if(Jr.isTokenExpired(e))return Jr._clearValidationCache(),Jr._handleExpiredToken(),!1;const a=Date.now();return a-Jr._validationCache.timestamp<Jr._validationCache.cacheValidityMs?Jr._validationCache.isValid:(Jr._validationCache.isValid=!0,Jr._validationCache.timestamp=a,!0)},getValidSupabaseToken:()=>Jr.isSupabaseTokenValid()?Jr.getSupabaseToken():null,_handleExpiredToken:()=>{Jr.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!Jr.isSupabaseTokenValid())return null;const e=Jr.getSupabaseToken();if(!e)return null;try{const a=Wr.parseJwtPayload(e);if(!a)return null;const t=a.alias||a.default||a.user_alias,r=a.place_id||null,s=a.place_name||null;let n=a.company_id;if(!n&&t)for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===t){n=e[7];break}}}return{alias:t,companyId:n,placeId:r,placeName:s,payload:a}}catch(a){return Jr._handleExpiredToken(),null}},getCompanyId:e=>{const a=Jr.getAccessToken();if(a)try{const t=Wr.parseJwtPayload(a);if(t)for(const a in t)if(a.startsWith("co")&&/^co\d+$/.test(a)){const r=t[a];if(r&&"string"==typeof r){const a=r.split(";");if(e&&a.length>7&&a[0]===e)return a[7];if(!e&&a.length>7)return a[7]}}}catch(s){}const t=Jr.extractTokenData();if(t?.companyId)return t.companyId;const r=Jr.getIdToken();if(r)try{const a=Wr.parseJwtPayload(r);if(a)for(const t in a)if(t.startsWith("co")&&/^co\d+$/.test(t)){const r=a[t];if(r&&"string"==typeof r){const a=r.split(";");if(e&&a.length>7&&a[0]===e)return a[7];if(!e&&a.length>7)return a[7]}}}catch(s){}return null},getCurrentCompanyId:()=>{const e=Jr.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=Jr.getIdToken();if(!e)return[];try{const a=Wr.parseJwtPayload(e);if(!a)return[];const t=[];for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");e.length>=4&&t.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:a})}}return t}catch{return[]}}};var Xr=Object.defineProperty,Yr=(e,a,t)=>((e,a,t)=>a in e?Xr(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Zr=new class{constructor(){Yr(this,"errors",[]),Yr(this,"toastCount",0),Yr(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;if(this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()){const e=this.getErrorTitle(t);w.error(e,{description:t})}}getErrorTitle(e){const a=e.toLowerCase();return a.includes("401")||a.includes("unauthorized")||a.includes("expirou")?"Sessão Expirada":a.includes("token")||a.includes("autenticação")?"Erro de Autenticação":a.includes("api")||a.includes("network")?"Erro de Conexão":"Erro"}success(e,a){w.success(e,{description:a})}shouldShowToast(){const e=Date.now();return e-this.lastToastTime>6e4&&(this.toastCount=0),this.toastCount<3&&(this.toastCount++,this.lastToastTime=e,!0)}getErrors(){return this.errors.slice(-50)}clearErrors(){this.errors=[]}};var es=Object.defineProperty,as=(e,a,t)=>((e,a,t)=>a in e?es(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const ts=import.meta.env.VITE_SUPABASE_URL,rs=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,ss=class e{constructor(){as(this,"client"),as(this,"currentToken",null),as(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:rs};e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`);return Ta(ts,rs,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1,storage:void 0},global:{headers:a,fetch:async(e,a)=>("string"==typeof e?e:e.url).includes("/auth/v1/user")?new Response(JSON.stringify({error:"blocked"}),{status:401,headers:{"Content-Type":"application/json"}}):fetch(e,a)}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Jr.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const a=JSON.parse(atob(e.split(".")[1])),t=Math.floor(Date.now()/1e3);return a.exp>t}catch(a){return Zr.handleError(a instanceof Error?a:"❌ Supabase - Error validating token",!1),!1}}};as(ss,"instance");let ns=ss;function is(){return ns.getInstance().getClient()}class os{static async generateToken(e,a,t,r=!1){try{if(!r){const e=Jr.getSupabaseToken();if(e&&Jr.isSupabaseTokenValid())return e}const s=is(),{data:n,error:i}=await s.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return i&&(i.message?.includes("401")||i.message?.includes("Unauthorized"))?(t?.(),null):n?.access_token&&n.access_token?(Jr.setSupabaseToken(n.access_token),n.access_token):null}catch(s){return s instanceof Error&&(s.message.includes("401")||s.message.includes("Unauthorized"))&&t?.(),null}}}var ls=Object.defineProperty,ds=(e,a,t)=>((e,a,t)=>a in e?ls(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);class cs{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=Jr.getAccessToken(),a=Jr.getSelectedAlias();if(!e||!a)return null;const t=await os.generateToken(e,a,this.onLogoutCallback||void 0,!1);return t?(Jr.setSupabaseToken(t),t):null}catch(e){return null}finally{this.isRegenerating=!1}}}ds(cs,"isRegenerating",!1),ds(cs,"onLogoutCallback",null);class ms{static handleError(e){if(!e)return!1;const a=e.message||e.toString();return!!this.isAuthenticationError(e,a)&&(Jr.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,a){if(401===e.status||401===e.statusCode)return!0;const t=a.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>t.includes(e))}static async wrapAsync(e){try{return await e}catch(a){if(!this.handleError(a))throw a;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}var us=Object.defineProperty;class hs{static async handleApiError(e){if(!e||this.isRetrying)return!1;const a=e.status||e.statusCode,t=e.message||e.toString();if(401===a||t.includes("401")||t.includes("Unauthorized")){this.isRetrying=!0;try{return await cs.attemptRegeneration()?(this.isRetrying=!1,!0):(ms.handleError(e),this.isRetrying=!1,!1)}catch(r){return ms.handleError(e),this.isRetrying=!1,!1}}return!1}static validateToken(){const e=Jr.getAccessToken();return e?Jr.isTokenExpired(e)?{valid:!1,message:"Sua sessão expirou. Você será redirecionado para fazer login."}:{valid:!0}:{valid:!1,message:"Token OAuth não encontrado. Faça login novamente."}}}((e,a,t)=>{((e,a,t)=>{a in e?us(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(e,a+"",t)})(hs,"isRetrying",!1);var ps=Object.defineProperty,fs=(e,a,t)=>((e,a,t)=>a in e?ps(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const gs=new class{constructor(){fs(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const r=hs.validateToken();if(!r.valid)throw new Error(r.message||"Token inválido");const s=Jr.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const n=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{n.searchParams.append(e,a)});const i=await fetch(n.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!i.ok){const e=new Error(`API call failed: ${i.status} ${i.statusText}`);throw e.status=i.status,e.statusCode=i.status,e}return await i.json()}mapToQualiexUser(e){return{id:e.id||e.ID||"",userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível",placeId:null,placeName:e.placeName||null,roleId:e.roleId||void 0,roleName:e.roleName||void 0,companyId:e.companyId||void 0,companyName:e.companyName||void 0}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let r=t;if(t.data)r=t.data;else{if(!Array.isArray(t))return Zr.handleError("[QualiexApi] Formato de resposta inesperado",!1),[];r=t}if(!Array.isArray(r))return Zr.handleError("[QualiexApi] Resposta não é um array",!1),[];return r.map(this.mapToQualiexUser)}catch(t){if(await hs.handleApiError(t))try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let r=t;if(t.data)r=t.data;else{if(!Array.isArray(t))return Zr.handleError("[QualiexApi] Formato de resposta inesperado após retry",!1),[];r=t}return Array.isArray(r)?r.map(this.mapToQualiexUser):(Zr.handleError("[QualiexApi] Resposta não é um array após retry",!1),[])}catch(r){return Zr.handleError(r instanceof Error?r:"Erro ao buscar usuários após renovação de token",!0),[]}const s=t instanceof Error?t.message:"Erro ao buscar usuários da API Qualiex";return Zr.handleError(s,!0),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(r){return Zr.handleError(r instanceof Error?r:"[QualiexApi] Error fetching user by ID"),null}}async fetchActiveUsersMap(e,a){const t=await this.fetchUsers(e,a),r=new Map;return t.forEach(e=>{r.set(e.userId,e)}),r}async getUsers(e){const a=Jr.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):[]}async getAllUsers(e){return this.getUsers(e)}},bs={oauth:{authUrl:import.meta.env.VITE_OAUTH_AUTH_URL,clientId:import.meta.env.VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},vs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},ys={debounceDelay:500},Ns=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("id-preview")||e.includes("lovable.dev")||import.meta.env.DEV},xs={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},ws={userNameFieldSuffix:"_name",userEmailFieldSuffix:"_email",userUsernameFieldSuffix:"_username"},ks=()=>ws,Cs={isQualiex:"true"===import.meta.env.VITE_IS_QUALIEX},Ss={success:{created:e=>`${e} criado com sucesso`,updated:e=>`${e} atualizado com sucesso`,deleted:e=>`${e} removido com sucesso`},error:{create:e=>`Erro ao criar ${e}`,update:e=>`Erro ao atualizar ${e}`,delete:e=>`Erro ao remover ${e}`,load:e=>`Erro ao carregar ${e}`}};function _s(e,a){const t=ks(),r=a||t.userNameFieldSuffix||"_name";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function Ps(e,a){const t=ks(),r=a||t.userEmailFieldSuffix||"_email";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function Is(e,a){const t=ks(),r=a||t.userUsernameFieldSuffix||"_username";return e.endsWith("_id")?e.replace(/_id$/,r):`${e}${r}`}function As(e,a){return a&&a.length>0?a.map(e=>({idField:e.idField,nameField:e.nameField||_s(e.idField),emailField:e.emailField||Ps(e.idField),usernameField:e.usernameField||Is(e.idField)})):e&&e.length>0?e.map(e=>({idField:e,nameField:_s(e),emailField:Ps(e),usernameField:Is(e)})):[{idField:"id_user",nameField:"responsible_name"}]}const Ts=new Map;class Es{static async fetchQualiexUsers(e,a){const t=`${a}_${e}`,r=Ts.get(t);if(r&&Date.now()-r.timestamp<3e5)return r.users;const s=await gs.fetchUsers(e,a);return Ts.set(t,{users:s,timestamp:Date.now()}),s}static extractUserIds(e,a){const t=new Set;for(const r of e)for(const e of a){const a=r[e.idField];a&&"string"==typeof a&&""!==a.trim()&&t.add(a)}return t}static indexUsers(e){const a=new Map;for(const t of e)t.id&&a.set(t.id,t),t.userId&&a.set(t.userId,t);return a}static enrichEntity(e,a,t){const r={...e};for(const s of a){const a=e[s.idField];if(!a)continue;const n=t.get(a);if(n){if(s.nameField){r[s.nameField]||(r[s.nameField]=n.userName||n.displayName||null)}if(s.emailField){r[s.emailField]||(r[s.emailField]=n.userEmail||null)}if(s.usernameField){r[s.usernameField]||(r[s.usernameField]=n.userName||null)}}}return r}static async enrichWithUserData(e,a){if(!Array.isArray(e)||0===e.length)return e;try{if(!Jr.areAllTokensValid())return e;const t=Jr.extractTokenData();if(!t)return e;const{alias:r,companyId:s}=t;if(!r||!s)return e;const n=As(a.userIdFields,a.userFieldsMapping);if(0===this.extractUserIds(e,n).size)return e;const i=await this.fetchQualiexUsers(r,s),o=this.indexUsers(i);return e.map(e=>this.enrichEntity(e,n,o))}catch(t){return Zr.handleError(t instanceof Error?t:new Error(`[QualiexEnrichment.${a.entityName}] Erro crítico`),!1),e}}static async enrichWithResponsibleNames(e,a){return this.enrichWithUserData(e,{entityName:a.entityName,userIdFields:["id_user"],userFieldsMapping:[{idField:"id_user",nameField:"responsible_name"}]})}}const Rs=["responsible_name"],zs=e=>Rs.includes(e);function Ms(e,a,t){const r="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"common"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"common",...e},{tableName:s,searchFields:n,selectFields:i,schemaName:o,entityName:l,enableQualiexEnrichment:d=!1}=r,c=()=>{if(!Jr.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return is().schema(o).from(s)},m=(e,a,t,r)=>{let s=c().select(i||"*",{count:"exact"});s=s.eq("is_removed",!1),Object.entries(r).forEach(([e,a])=>{void 0!==a&&""!==a&&(Array.isArray(a)?s=s.in(e,a):"object"==typeof a&&a&&"operator"in a?"not_null"===a.operator?s=s.not(e,"is",null):"is_null"===a.operator&&(s=s.is(e,null)):null!==a&&(s=s.eq(e,a)))}),s=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(s,e);const o=a.includes(".");return o||zs(a)||(s=s.order(a,{ascending:"asc"===t})),{query:s,isForeignKey:o}},u=async(e,a,t,s,n)=>{const i=As(r.userIdFields,r.userFieldsMapping).some(e=>e.nameField===a||e.emailField===a||e.usernameField===a),o=a.includes(".");if(zs(a)||o||i){const e={search:"",sortField:void 0,sortDirection:void 0,page:1,limit:500},i=await this.getAll(e);if(!i?.data?.length)return i;const d=await Es.enrichWithUserData(i.data,{entityName:l,userIdFields:r.userIdFields,userFieldsMapping:r.userFieldsMapping});let c;c=o?d.sort((e,r)=>{const s=a.split(".").reduce((e,a)=>e?.[a],e)||"",n=a.split(".").reduce((e,a)=>e?.[a],r)||"",i=String(s).localeCompare(String(n),"pt-BR");return"asc"===t?i:-i}):((e,a,t)=>[...e].sort((e,r)=>{const s=e[a]||"",n=r[a]||"",i=s.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?i:-i}))(d,a,t);const m=((e,a=1,t=25)=>{const r=(a-1)*t,s=r+t,n=e.slice(r,s);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:s<e.length,hasPreviousPage:a>1}}})(c,s,n);return{data:m.data,currentPage:m.pagination.currentPage,totalPages:m.pagination.totalPages,totalItems:m.pagination.totalCount,itemsPerPage:m.pagination.itemsPerPage,hasNextPage:m.pagination.hasNextPage,hasPreviousPage:m.pagination.hasPreviousPage}}return await Es.enrichWithUserData(e,{entityName:l,userIdFields:r.userIdFields,userFieldsMapping:r.userFieldsMapping})};return{async getAll(e={}){const{search:a,sortField:t,sortDirection:n,page:i,limit:o,additionalFilters:c}=(e=>{const{search:a="",sortField:t="updated_at",sortDirection:r="desc",page:s=1,limit:n=25,...i}=e;return{search:a,sortField:t,sortDirection:r,page:s,limit:n,additionalFilters:i}})(e),{query:h}=m(a,t,n,c),p=((e,a,t)=>{const r=(a-1)*t,s=r+t-1;return e.range(r,s)})(h,i,o),{data:f,error:g,count:b}=await p;if(g)throw new Error(`Error fetching ${s}: ${g.message}`);let v=((e,a,t,r)=>{const s=Math.ceil((a||0)/r);return{data:e,currentPage:t,totalPages:s,totalItems:a||0,itemsPerPage:r,hasNextPage:t<s,hasPreviousPage:t>1}})(f||[],b,i,o);if((e=>{if(!d||!l||0===e.length)return!1;const a=As(r.userIdFields,r.userFieldsMapping);return e.some(e=>a.some(a=>e[a.idField]))})(v.data)){const e=await u(v.data,t,n,i,o);if(!Array.isArray(e))return e;v={...v,data:e}}return v},async getById(e){const{data:a,error:t}=await c().select(i||"*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${s}: ${t.message}`);return a},async create(e){const a=xt(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:r,error:n}=await c().insert(t).select().single();if(n)throw new Error(`Error creating ${s}: ${n.message}`);if(!r)throw new Error(`No data returned from create ${s} operation`);return r},async update(e,a){const t={...xt(a),updated_at:(new Date).toISOString()},{data:r,error:n}=await c().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${s}: ${n.message}`);if(!r)throw new Error(`No data returned from update ${s} operation`);return r},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await c().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${s}: ${t.message}`)}}}const Fs=()=>{Jr.clearManualLogout()},Ds=e=>e?.placeId||null,js=e=>e?.placeName||null,Ls=e=>({placeId:Ds(e),placeName:js(e)}),$s=class{static async initialize(){try{if(!Jr.hasAllTokens()||!Jr.areAllTokensValid())return Jr.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null};const a=Jr.getAccessToken(),t=Jr.getIdToken();Fs();const r=this.extractUserFromIdToken(t),s=this.extractCompaniesFromIdToken(t),n=this.extractAliasFromAccessToken(a),i=Jr.extractTokenData(),o=i?.alias;let l=null;if(o&&s.some(e=>e.alias===o))l=o;else{const e=Jr.getSelectedAlias(),a=e&&s.some(a=>a.alias===e);l=a?e:n||s[0]?.alias||null}!Jr.isSupabaseTokenValid()&&l&&await cs.attemptRegeneration();let d=null;if(l){const e=Jr.getCompanyId(l),a=s.find(e=>e.alias===l);a&&(d={id:e||a.id,name:a.name,alias:a.alias})}let c=null,m=null;if(r?.id&&l){const a=Jr.getCompanyId(l);if(a)try{const e=(await gs.fetchActiveUsersMap(l,a)).get(r.id);if(e){const a=Ls(e);c=a.placeId,m=a.placeName}}catch(e){}}return{isAuthenticated:!0,isLoading:!1,user:r,alias:l,companies:s,selectedUnit:d,userId:r?.id||null,userAlias:r?.id||null,placeId:c,placeName:m,activePlaceId:c,activePlaceName:m}}catch(e){return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null}}}static async loginDev(){try{const e=is(),{data:a,error:t}=await e.functions.invoke("dev-tokens",{body:{environment:"development"}});if(t)return!1;if(!a?.access_token||!a?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=Jr.generateOAuthState();Jr.setOAuthState(e);const a=Jr.generateOAuthNonce();Jr.setOAuthNonce(a);const t=`${window.location.origin}/callback`,r=new URL(bs.oauth.authUrl);r.searchParams.set("client_id",bs.oauth.clientId),r.searchParams.set("response_type",bs.oauth.responseType),r.searchParams.set("scope",bs.oauth.scope),r.searchParams.set("redirect_uri",t),r.searchParams.set("state",e),r.searchParams.set("nonce",a),r.searchParams.set("response_mode","fragment"),Ns(),window.location.href=r.toString()}static async processCallback(){try{if(Jr.hasAllTokens()){if(!Jr.getValidSupabaseToken()){Jr.getAccessToken();await cs.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),a=new URLSearchParams(window.location.search),t=t=>e.get(t)||a.get(t),r=t("access_token"),s=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!r||!s)throw new Error("Tokens não encontrados na URL de callback");Jr.setAccessToken(r),Jr.setIdToken(s),Fs();const i=this.extractAliasFromAccessToken(r);if(i)Jr.setSelectedAlias(i);else{const e=this.extractCompaniesFromIdToken(s);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");Jr.setSelectedAlias(e[0].alias)}if(!await cs.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return Jr.clearOAuthState(),Jr.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){Jr.setManualLogout(),Jr.clearAll(),window.location.href="/login"}static decodeToken(e){return Wr.parseJwtPayload(e)}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier}:null}static extractCompaniesFromIdToken(e){const a=this.decodeToken(e);if(!a)return[];const t=[];return Object.keys(a).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof a[e]){const r=a[e].split(";");if(r.length>=4)t.push({id:r.length>7?r[7].trim():"",alias:r[0].trim(),name:r[3].trim()});else{const[r,s]=a[e].split("|");r&&s&&t.push({id:"",alias:r.trim(),name:s.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}};cs.setLogoutCallback(()=>{$s.logout()});let Os=$s;const Us=o(void 0),Ws=({children:a})=>{const[t,r]=n({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null});let s=null;try{s=Ea()}catch{}const[o,l]=n(!1),[m,u]=n(0),h=d(e=>{r(a=>({...a,...e}))},[]),p=d(e=>{r(a=>({...a,isLoading:e}))},[]),f=d(()=>{r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null,placeId:null,placeName:null,activePlaceId:null,activePlaceName:null})},[]),g=d(async e=>{try{p(!0);const r=Jr.getAccessToken();if(!r)return;const n=await os.generateToken(r,e.alias,void 0,!0);if(!n)return;Jr.setSupabaseToken(n),Jr.setSelectedAlias(e.alias);const i=Jr.extractTokenData(),o=i?.alias||e.alias,l=i?.companyId||Jr.getCompanyId(e.alias),d={id:l||e.id,name:e.name,alias:o};let c=null,m=null;if(t.user?.id&&o&&l)try{const e=(await gs.fetchActiveUsersMap(o,l)).get(t.user.id);if(e){const a=Ls(e);c=a.placeId,m=a.placeName}}catch(a){}h({alias:o,selectedUnit:d,placeId:c,placeName:m,activePlaceId:c,activePlaceName:m}),s&&(await s.clear(),await new Promise(e=>setTimeout(e,100)))}catch(a){}finally{p(!1)}},[h,s,p,t.user]),b=d(async()=>await Os.processCallback(),[]),v=d(async()=>{Os.logout(),f(),s&&await s.clear()},[f,s]),y=d(e=>{l(e)},[]),N=d(()=>{u(e=>e+1)},[]),x=d(()=>{u(e=>e+1)},[]);c(()=>{if(!t.isAuthenticated)return;let e=!0;const a=setInterval(()=>{e&&(Jr.areAllTokensValid()||e&&v())},6e5);return()=>{e=!1,clearInterval(a)}},[t.isAuthenticated,v]),c(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const a=await Os.initialize();if(!e)return;a&&a.isAuthenticated?h({user:a.user,companies:a.companies,alias:a.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:a.selectedUnit,userId:a.userId,userAlias:a.userAlias,placeId:a.placeId,placeName:a.placeName,activePlaceId:a.activePlaceId,activePlaceName:a.activePlaceName}):e&&p(!1)}catch(a){e&&(ms.handleError(a),p(!1))}})(),()=>{e=!1}},[h,p,v]);const w=i(()=>({...t,logout:v,processCallback:b,switchUnit:g,availableUnits:t.companies,isSearchVisible:o,setSearchVisible:y,clearSearch:N,refreshData:x}),[t.user,t.companies,t.alias,t.isAuthenticated,t.isLoading,t.selectedUnit,t.userId,t.userAlias,t.placeId,t.placeName,t.activePlaceId,t.activePlaceName,v,b,g,o,y,N,x]);return e(Us.Provider,{value:w,children:a})},qs=()=>{const e=l(Us);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e};function Vs({queryKey:e,service:a,entityName:t,searchFields:r,additionalFilters:s={},onSuccess:o}){const[l,c]=Da(),m=Ea(),{alias:u,userId:h,isAuthenticated:p}=qs(),f=d(a=>{const t=`${e}_${a}`,r=l.get(t);return r||(l.get(a)||"")},[l,e]),g=f("search"),b=f("sortField")||vs.sorting.defaultField,v=f("sortDirection")||vs.sorting.defaultDirection,y=parseInt(f("page")||"1"),N=parseInt(f("limit")||String(vs.pagination.defaultPageSize)),x=g,k=i(()=>({search:x,sortField:b,sortDirection:v,page:y,limit:N,...s}),[x,b,v,y,N,s]),C=d(()=>a.getAll(k),[a,k]),S=Ra({queryKey:[e,u,h,k],queryFn:C,enabled:!!u&&p});if(!S)throw new Error(`useCrud: Query initialization failed for "${t}". Ensure QueryClientProvider is configured in your app root.`);const _=za({mutationFn:a.create,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.created(t)),o?.()},onError:e=>{w.error(`${Ss.error.create(t)}: ${e.message}`)}}),P=za({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.updated(t)),o?.()},onError:e=>{w.error(`${Ss.error.update(t)}: ${e.message}`)}}),I=za({mutationFn:a.delete,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),w.success(Ss.success.deleted(t))},onError:e=>{w.error(`${Ss.error.delete(t)}: ${e.message}`)}}),A=d(a=>{const t={...Object.fromEntries(l)};Object.entries(a).forEach(([a,r])=>{const s=`${e}_${a}`;""===r||0===r?delete t[s]:t[s]=String(r)}),delete t.sortField,delete t.sortDirection,c(t)},[l,c,e]),T=d(e=>{A({search:e,page:1})},[A]),E=d(e=>{A({sortField:e,sortDirection:b===e&&"asc"===v?"desc":"asc",page:1})},[b,v,A]),R=d(e=>{A({page:e})},[A]),z=d(e=>{A({limit:e,page:1})},[A]),M=d(()=>{const a=Object.fromEntries(l),t=`${e}_`,r=Object.fromEntries(Object.entries(a).filter(([e])=>!e.startsWith(t)));c(r)},[c,l,e]),[F,D]=n([]),j=d(e=>{D(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[]),L=d(()=>{const e=S?.data?.data.map(e=>e.id)||[];D(a=>a.length===e.length?[]:e)},[S?.data?.data]),$=d(()=>{D([])},[]),O=i(()=>{const e=S?.data?.data.map(e=>e.id)||[];return e.length>0&&F.length===e.length},[F,S?.data?.data]),U=za({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(a,r)=>{m.invalidateQueries({queryKey:[e]}),w.success(`${r.length} ${t}(s) deletado(s) com sucesso`),$()},onError:e=>{w.error(`Erro ao deletar itens: ${e.message}`)}}),W=d((e,a)=>{const t=a?a(e):e;e.id?P.mutate({id:e.id,data:t}):_.mutate({...t,alias:u})},[u,_,P]);return{entities:S?.data?.data||[],pagination:{data:S?.data?.data||[],currentPage:S?.data?.currentPage||1,totalPages:S?.data?.totalPages||1,totalItems:S?.data?.totalItems||0,itemsPerPage:S?.data?.itemsPerPage||vs.pagination.defaultPageSize,hasNextPage:S?.data?.hasNextPage||!1,hasPreviousPage:S?.data?.hasPreviousPage||!1},isLoading:S?.isLoading??!0,isCreating:_?.isPending??!1,isUpdating:P?.isPending??!1,isDeleting:I?.isPending??!1,error:S?.error||null,searchTerm:g,sortField:b,sortDirection:v,currentPage:y,itemsPerPage:N,queryKey:e,createEntity:_.mutate,updateEntity:(e,a)=>P.mutate({id:e,data:a}),deleteEntity:I.mutate,save:W,handleSearch:T,handleSort:E,handlePageChange:R,handleItemsPerPageChange:z,clearFilters:M,refetch:S.refetch,selectedIds:F,selectItem:j,selectAll:L,clearSelection:$,isAllSelected:O,bulkDelete:e=>U.mutateAsync(e),isBulkDeleting:U.isPending}}function Bs(e){const a=Ms({tableName:e.tableName,searchFields:e.searchFields||["title"],selectFields:e.selectFields,schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0,userIdFields:e.userIdFields,userFieldsMapping:e.userFieldsMapping});return{service:a,useCrudHook:(t,r)=>Vs({queryKey:e.tableName,service:{...a,getAll:async(e={})=>await a.getAll({...e})},entityName:e.entityName,additionalFilters:t,onSuccess:r})}}const Hs=r.forwardRef(({className:a,...t},r)=>e("table",{ref:r,className:Nt("w-full caption-bottom text-sm table-fixed",a),...t}));Hs.displayName="Table";const Ks=r.forwardRef(({className:a,...t},r)=>e("thead",{ref:r,className:Nt("[&_tr]:border-b sticky top-0 z-[1] bg-background",a),...t}));Ks.displayName="TableHeader";const Qs=r.forwardRef(({className:a,...t},r)=>e("tbody",{ref:r,className:Nt("[&_tr:last-child]:border-0",a),...t}));Qs.displayName="TableBody";const Gs=r.forwardRef(({className:a,...t},r)=>e("tfoot",{ref:r,className:Nt("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...t}));Gs.displayName="TableFooter";const Js=r.forwardRef(({className:a,...t},r)=>e("tr",{ref:r,className:Nt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted even:bg-table-stripe",a),...t}));Js.displayName="TableRow";const Xs=r.forwardRef(({className:a,...t},r)=>e("th",{ref:r,className:Nt("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-background border-b [&:has([role=checkbox])]:pr-0",a),...t}));Xs.displayName="TableHead";const Ys=r.forwardRef(({className:a,...t},r)=>e("td",{ref:r,className:Nt("px-4 py-3 align-middle overflow-hidden [&:has([role=checkbox])]:pr-0",a),...t}));Ys.displayName="TableCell";const Zs=r.forwardRef(({className:a,...t},r)=>e("caption",{ref:r,className:Nt("mt-4 text-sm text-muted-foreground",a),...t}));function en({rows:t=5,columns:r=4}){return e("div",{className:"w-full",children:a("div",{className:"rounded-md border",children:[e("div",{className:"border-b bg-muted/50 px-4 py-3",children:e("div",{className:"flex space-x-4",children:Array.from({length:r}).map((a,t)=>e(jr,{className:"h-4 w-24"},t))})}),e("div",{children:Array.from({length:t}).map((a,t)=>e("div",{className:"border-b px-4 py-3 last:border-0",children:e("div",{className:"flex space-x-4",children:Array.from({length:r}).map((a,t)=>e(jr,{className:"h-4 w-20"},t))})},t))})]})})}function an({count:t=3}){return e("div",{className:"space-y-4",children:Array.from({length:t}).map((t,r)=>a(Rt,{children:[a(zt,{children:[e(jr,{className:"h-4 w-3/4"}),e(jr,{className:"h-3 w-1/2"})]}),e(Dt,{children:a("div",{className:"space-y-2",children:[e(jr,{className:"h-3 w-full"}),e(jr,{className:"h-3 w-2/3"})]})})]},r))})}function tn({fields:t=4}){return a("div",{className:"space-y-4",children:[Array.from({length:t}).map((t,r)=>a("div",{className:"space-y-2",children:[e(jr,{className:"h-4 w-24"}),e(jr,{className:"h-10 w-full"})]},r)),a("div",{className:"flex justify-end space-x-2 pt-4",children:[e(jr,{className:"h-10 w-20"}),e(jr,{className:"h-10 w-20"})]})]})}function rn(){return a("div",{className:"flex items-center justify-between p-4 border-b",children:[a("div",{className:"flex items-center space-x-3",children:[e(jr,{className:"h-8 w-8 rounded-full"}),e(jr,{className:"h-6 w-32"})]}),a("div",{className:"flex items-center space-x-2",children:[e(jr,{className:"h-8 w-8"}),e(jr,{className:"h-8 w-24"})]})]})}function sn(){return e("div",{className:"w-64 border-r bg-muted/10",children:a("div",{className:"p-4",children:[e(jr,{className:"h-8 w-32 mb-6"}),e("div",{className:"space-y-2",children:Array.from({length:6}).map((t,r)=>a("div",{className:"flex items-center space-x-3 p-2",children:[e(jr,{className:"h-4 w-4"}),e(jr,{className:"h-4 w-20"})]},r))})]})})}Zs.displayName="TableCaption";const nn={default:j,search:D,error:F};function on({icon:t,title:r,description:s,action:n,className:i,variant:o="default"}){const l=t?()=>t:nn[o];return a("div",{className:Nt("flex flex-col items-center justify-center py-12 px-4 text-center",i),children:[e("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:e(l,{className:"h-8 w-8 text-muted-foreground"})}),e("h3",{className:"text-lg font-semibold mb-2",children:r}),s&&e("p",{className:"text-muted-foreground mb-6 max-w-sm",children:s}),n&&e(Pt,{onClick:n.onClick,variant:"outline",children:n.label})]})}const ln=Oa.Provider,dn=Oa.Root,cn=Oa.Trigger,mn=r.forwardRef(({className:a,sideOffset:t=4,...r},s)=>e(Oa.Content,{ref:s,sideOffset:t,className:Nt("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...r}));function un({children:t,className:s}){const n=r.useRef(null),[i,o]=r.useState(!1);r.useEffect(()=>{const e=()=>{const e=n.current;e&&o(e.scrollWidth>e.clientWidth)};e();const a=new ResizeObserver(e);return n.current&&a.observe(n.current),()=>a.disconnect()},[t]);const l=e("div",{ref:n,className:`truncate w-full max-w-full ${s||""}`,children:t});return i?e(ln,{delayDuration:300,children:a(dn,{children:[e(cn,{asChild:!0,children:l}),e(mn,{side:"top",className:"max-w-[400px] break-words",children:t})]})}):l}mn.displayName=Oa.Content.displayName;const hn=r.forwardRef(({direction:a,onMouseDown:t,isDragging:r,className:s},n)=>{const i="horizontal"===a;return e("div",{ref:n,onMouseDown:t,className:Nt("absolute z-20 select-none touch-none","transition-colors duration-150",i&&["top-0 right-0 h-full w-2 -mr-1","cursor-col-resize","hover:bg-primary/20","group flex items-center justify-center"],!i&&["bottom-0 left-0 w-full h-2 -mb-1","cursor-row-resize","hover:bg-primary/20","group flex items-center justify-center"],r&&"bg-primary/30",s),children:e("div",{className:Nt("rounded-full bg-border transition-colors group-hover:bg-primary",r&&"bg-primary",i?"h-6 w-0.5":"w-6 h-0.5")})})});hn.displayName="TableResizeHandle";const pn=Ua.Root,fn=Ua.Trigger,gn=Ua.Group,bn=Ua.Portal,vn=Ua.Sub,yn=Ua.RadioGroup,Nn=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(Ua.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));Nn.displayName=Ua.SubTrigger.displayName;const xn=r.forwardRef(({className:a,...t},r)=>e(Ua.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));xn.displayName=Ua.SubContent.displayName;const wn=r.forwardRef(({className:a,sideOffset:t=4,...r},s)=>e(Ua.Portal,{children:e(Ua.Content,{ref:s,sideOffset:t,className:Nt("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground p-1 shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...r})}));wn.displayName=Ua.Content.displayName;const kn=r.forwardRef(({className:a,inset:t,...r},s)=>e(Ua.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));kn.displayName=Ua.Item.displayName;const Cn=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(Ua.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ua.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));Cn.displayName=Ua.CheckboxItem.displayName;const Sn=r.forwardRef(({className:t,children:r,...s},n)=>a(Ua.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Ua.ItemIndicator,{children:e($,{className:"h-2 w-2 fill-current"})})}),r]}));Sn.displayName=Ua.RadioItem.displayName;const _n=r.forwardRef(({className:a,inset:t,...r},s)=>e(Ua.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",a),...r}));_n.displayName=Ua.Label.displayName;const Pn=r.forwardRef(({className:a,...t},r)=>e(Ua.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));Pn.displayName=Ua.Separator.displayName;const In=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest opacity-60",a),...t});In.displayName="DropdownMenuShortcut";const An=Wa.Root,Tn=Wa.Trigger,En=Wa.Group,Rn=Wa.Portal,zn=Wa.Sub,Mn=Wa.RadioGroup,Fn=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(Wa.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));Fn.displayName=Wa.SubTrigger.displayName;const Dn=r.forwardRef(({className:a,...t},r)=>e(Wa.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));Dn.displayName=Wa.SubContent.displayName;const jn=r.forwardRef(({className:a,...t},r)=>e(Wa.Portal,{children:e(Wa.Content,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t})}));jn.displayName=Wa.Content.displayName;const Ln=r.forwardRef(({className:a,inset:t,...r},s)=>e(Wa.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));Ln.displayName=Wa.Item.displayName;const $n=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(Wa.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Wa.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));$n.displayName=Wa.CheckboxItem.displayName;const On=r.forwardRef(({className:t,children:r,...s},n)=>a(Wa.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(Wa.ItemIndicator,{children:e($,{className:"h-2 w-2 fill-current"})})}),r]}));On.displayName=Wa.RadioItem.displayName;const Un=r.forwardRef(({className:a,inset:t,...r},s)=>e(Wa.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold text-foreground",t&&"pl-8",a),...r}));Un.displayName=Wa.Label.displayName;const Wn=r.forwardRef(({className:a,...t},r)=>e(Wa.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-border",a),...t}));Wn.displayName=Wa.Separator.displayName;const qn=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});qn.displayName="ContextMenuShortcut";const Vn=({onEdit:r,onDelete:s,onToggleStatus:n,isActive:i=!0,canDelete:o=!0,customActions:l=[],renderAs:d})=>{const{t:c}=Pa(),m=[];if(r){const e={icon:O,label:c("edit"),onClick:r};m.push(e)}if(l.forEach(e=>{m.push(e)}),n){const e={icon:i?U:W,label:c(i?"deactivate":"activate"),onClick:n};m.push(e)}if(o&&s){const e={icon:q,label:c("delete"),onClick:s,destructive:!0};m.push(e)}const u="dropdown"===d?kn:Ln;return e(t,{children:m.map((t,r)=>a(u,{onClick:t.onClick,className:Nt("whitespace-normal cursor-pointer",t.destructive&&"text-destructive focus:text-destructive"),children:[e(t.icon,{className:"mr-2 h-4 w-4 flex-shrink-0"}),t.label]},r))})},Bn=({onEdit:t,onDelete:r,canDelete:s=!0,onToggleStatus:n,isActive:i=!0,customActions:o=[]})=>a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"action",size:"sm",className:"h-7 px-2 text-xs",children:e(C,{size:12})})}),e(wn,{align:"end",className:"bg-background border border-border shadow-lg min-w-[160px]",children:e(Vn,{onEdit:t?e=>{e?.stopPropagation(),t?.()}:void 0,onDelete:r?e=>{e?.stopPropagation(),r?.()}:void 0,onToggleStatus:n?e=>{e?.stopPropagation(),n?.()}:void 0,isActive:i,canDelete:s&&!!r,customActions:o,renderAs:"dropdown"})})]}),Hn=150;function Kn({columns:e,storageKey:a,onResize:t,enabled:r=!0}){const[s,i]=n(()=>{if(!r||"undefined"==typeof window)return e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{});if(a){const e=localStorage.getItem(a);if(e)try{return JSON.parse(e)}catch{}}return e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{})}),[o,l]=n(!1),[u,h]=n(null),p=m(0),f=m(0),g=d((e,a)=>{r&&(a.preventDefault(),a.stopPropagation(),l(!0),h(e),p.current=a.clientX,f.current=s[e]??Hn)},[r,s]);c(()=>{if(!o||!u)return;const r=e.find(e=>e.key===u),s=r?.minWidth??60,n=r?.maxWidth??500,d=e=>{const a=e.clientX-p.current,r=Math.max(s,Math.min(n,f.current+a));i(e=>{const a={...e,[u]:r};return t?.(a),a})},c=()=>{l(!1),h(null),a&&i(e=>(localStorage.setItem(a,JSON.stringify(e)),e))};return document.addEventListener("mousemove",d),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",c)}},[o,u,e,a,t]),c(()=>{o?(document.body.style.cursor="col-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[o]);const b=d(()=>{const r=e.reduce((e,a)=>(e[a.key]=a.defaultWidth??Hn,e),{});i(r),a&&localStorage.removeItem(a),t?.(r)},[e,a,t]);return{columnWidths:s,isDragging:o,activeColumn:u,handleMouseDown:g,resetWidths:b}}function Qn({rowIds:e,defaultHeight:a=48,minHeight:t=32,maxHeight:r=120,storageKey:s,onResize:i,enabled:o=!0}){const[l,u]=n(()=>{if(!o||"undefined"==typeof window)return{};if(s){const e=localStorage.getItem(s);if(e)try{return JSON.parse(e)}catch{}}return{}}),[h,p]=n(!1),[f,g]=n(null),b=m(0),v=m(0),y=d(e=>l[e]??a,[l,a]),N=d((e,t)=>{o&&(t.preventDefault(),t.stopPropagation(),p(!0),g(e),b.current=t.clientY,v.current=l[e]??a)},[o,l,a]);c(()=>{if(!h||!f)return;const e=e=>{const a=e.clientY-b.current,s=Math.max(t,Math.min(r,v.current+a));u(e=>{const a={...e,[f]:s};return i?.(a),a})},a=()=>{p(!1),g(null),s&&u(e=>(localStorage.setItem(s,JSON.stringify(e)),e))};return document.addEventListener("mousemove",e),document.addEventListener("mouseup",a),()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",a)}},[h,f,t,r,s,i]),c(()=>{h?(document.body.style.cursor="row-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[h]);const x=d(()=>{u({}),s&&localStorage.removeItem(s),i?.({})},[s,i]);return{rowHeights:l,isDragging:h,activeRow:f,handleMouseDown:N,resetHeights:x,getRowHeight:y}}const Gn=u(({checked:a,onCheckedChange:t})=>e(br,{checked:a,onCheckedChange:t}),(e,a)=>e.checked===a.checked),Jn=({manager:t,columns:r,onEdit:s,onView:o,onToggleStatus:l,onDelete:d,renderActions:m,customRowActions:u,enableBulkActions:h=!1,onNew:p,newButtonLabel:f,showNewButton:g=!0,customActions:b=[],hideActionBar:v=!1,enableColumnResize:y=!0,resizeStorageKey:N})=>{const{t:x}=Pa(),{setSearchVisible:w}=qs(),[k,C]=n(!1);c(()=>(w(!0),()=>w(!1)),[w]),c(()=>{const e=()=>C(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const{columnWidths:S,isDragging:_,activeColumn:P,handleMouseDown:I}=Kn({columns:r.map(e=>({key:String(e.key),minWidth:e.minWidth??60,maxWidth:500,defaultWidth:e.width??e.minWidth??150})),storageKey:N?`${N}-columns`:void 0,enabled:y}),{isDragging:A,activeRow:T,handleMouseDown:E,getRowHeight:R}=Qn({rowIds:t.entities.map(e=>e.id),storageKey:N?`${N}-rows`:void 0,enabled:!1}),z=i(()=>(()=>{if(y)return r.map(e=>{const a=S[String(e.key)]??e.width??e.minWidth??150;return{...e,calculatedWidth:a,style:{width:`${a}px`}}});let e=0;const a=r.map(a=>{if(a.width)return e+=a.width,{...a,calculatedWidth:a.width,isFixed:!0};{const t=a.minWidth||120,r=a.weight||1;return e+=t,{...a,calculatedWidth:t,weight:r,isFixed:!1}}});return e+=50,a.map(e=>e.isFixed?{...e,style:{width:`${e.calculatedWidth}px`}}:{...e,style:{minWidth:`${e.calculatedWidth}px`,width:`${e.calculatedWidth}px`}})})(),[r,y,S]),M=!v&&(p||b.length>0);return k?t.isLoading?e(an,{count:3}):0===t.entities.length?e(on,{title:x("empty_title"),description:x("empty_description"),variant:"search"}):a("div",{className:"flex flex-col h-full",children:[M&&e("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:a("div",{className:"flex items-center gap-2",children:[p&&g&&a(Pt,{onClick:p,children:[e(V,{size:16,className:"mr-2"}),f||x("new")]}),b.map((t,r)=>{const s=t.icon;return a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[s&&e(s,{size:16,className:"mr-2"}),t.label]},r)})]})}),e("div",{className:"flex-1 overflow-auto space-y-4 p-4",children:t.entities.map(n=>a(An,{children:[e(Tn,{asChild:!0,children:e(Rt,{className:Nt("overflow-hidden cursor-pointer hover:bg-muted/50",h&&t.selectedIds.includes(n.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),h?t.selectItem(n.id):s?.(n)},children:e(Dt,{className:"p-4",children:a("div",{className:"flex items-start gap-3",children:[h&&e("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:e(Gn,{checked:t.selectedIds.includes(n.id),onCheckedChange:()=>t.selectItem(n.id)})}),a("div",{className:"flex-1",children:[r.map(t=>a("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[a("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[t.header,":"]}),e("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:t.render?t.render(n):String(n[t.key]??"")})]},String(t.key))),(s||o||m)&&e("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:m?m(n):e(Bn,{onEdit:s?()=>{s(n)}:void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,customActions:u?u(n):[]})})]})]})})})}),e(jn,{className:"w-[160px]",children:e(Vn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,canDelete:!!d,customActions:u?u(n):[],renderAs:"context"})})]},n.id))})]}):a("div",{className:"flex flex-col h-full",children:[M&&e("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:a("div",{className:"flex items-center gap-2",children:[p&&g&&a(Pt,{onClick:p,children:[e(V,{size:16,className:"mr-2"}),f||x("new")]}),b.map((t,r)=>{const s=t.icon;return a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[s&&e(s,{size:16,className:"mr-2"}),t.label]},r)})]})}),t.isLoading?e(en,{rows:5,columns:r.length}):e("div",{className:"flex flex-col h-full overflow-hidden",children:e("div",{className:"flex-1 overflow-auto",children:a(Hs,{className:"table-auto",children:[a("colgroup",{children:[h&&e("col",{style:{width:"50px"}}),z.map((a,t)=>e("col",{style:a.style},t)),e("col",{style:{width:"50px"}})]}),e(Ks,{children:a(Js,{children:[h&&e(Xs,{className:"w-[50px]",children:e(Gn,{checked:t.isAllSelected,onCheckedChange:t.selectAll})}),r.map(r=>{const s=y&&!1!==r.resizable,n=P===String(r.key);return a(Xs,{className:Nt(r.className,r.sortable&&"cursor-pointer hover:bg-muted/50","relative"),onClick:r.sortable?()=>t.handleSort(String(r.key)):void 0,children:[a("div",{className:"flex items-center "+(r.className?.includes("text-center")?"justify-center":""),children:[r.header,r.sortable&&(i=String(r.key),t.sortField!==i?e(B,{size:14,className:"ml-1 opacity-50"}):"asc"===t.sortDirection?e(H,{size:14,className:"ml-1"}):e(K,{size:14,className:"ml-1"}))]}),s&&e(hn,{direction:"horizontal",onMouseDown:e=>I(String(r.key),e),isDragging:n})]},String(r.key));var i}),e(Xs,{className:"w-[50px] text-center",children:x("actions")})]})}),e(Qs,{children:0===t.entities.length?e(Js,{children:e(Ys,{colSpan:h?r.length+2:r.length+1,className:"h-32",children:e(on,{title:x("empty_title"),description:x("empty_description"),variant:"search"})})}):t.entities.map(n=>{const i=R(n.id);return n.id,a(An,{children:[e(Tn,{asChild:!0,children:a(Js,{className:Nt("cursor-pointer hover:bg-muted/50 relative",h&&t.selectedIds.includes(n.id)&&"bg-muted"),style:i?{height:`${i}px`}:void 0,onClick:e=>{e.stopPropagation(),h?t.selectItem(n.id):s?.(n)},children:[h&&e(Ys,{onClick:e=>e.stopPropagation(),children:e(Gn,{checked:t.selectedIds.includes(n.id),onCheckedChange:()=>t.selectItem(n.id)})}),r.map(a=>e(Ys,{className:a.className,children:e(un,{children:a.render?a.render(n):String(n[a.key]??"")})},String(a.key))),e(Ys,{className:"text-center",children:m?m(n):e(Bn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,customActions:u?u(n):[]})})]})}),e(jn,{className:"w-[160px]",children:e(Vn,{onEdit:s?()=>s(n):void 0,onDelete:d?()=>d(n):void 0,onToggleStatus:l?()=>l(n):void 0,isActive:n.is_actived,canDelete:!!d,customActions:u?u(n):[],renderAs:"context"})})]},n.id)})})]})})})]})};function Xn(e,a,t,r){const[s,o]=n({}),[l,d]=n({}),m=i(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),h=e=>{if(void 0!==e.defaultValue)return e.defaultValue;switch(e.type){case"multiselect":return[];case"checkbox":return!1;case"number":return 0;case"date":default:return"";case"group":return{}}},p=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(t){return h(e)}},f=(e,a,t)=>{if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length))return`${e.label} é obrigatório`;if(e.validation){let s;if("function"==typeof e.validation?s=e.validation:e.validation.custom&&"function"==typeof e.validation.custom&&(s=e.validation.custom),s)try{const e=s(a,t);if(e)return e}catch(r){}}};c(()=>{if(!r)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},s=e(m),n={};s.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);u(e)&&(t=e.toISOString().split("T")[0])}else u(t)&&(t=t.toISOString().split("T")[0])}else t=h(e);n[e.name]=t}),s.forEach(e=>{const a=p(e,n);void 0!==a&&(n[e.name]=a)}),a&&Object.keys(a).forEach(e=>{s.find(a=>a.name===e)||void 0===a[e]||(n[e]=a[e])}),o(n),d({}),t&&t(n)},[m,a,t,r]);const g=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...g(e.fields))}),a},b=()=>{const e=g(m),a={};return e.forEach(e=>{const t=f(e,s[e.name],s);t&&(a[e.name]=t)}),d(a),0===Object.keys(a).length};return{formData:s,errors:l,updateField:(e,a)=>{o(r=>{const s={...r,[e]:a},n=((e,a)=>{let t={...a};const r=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...r(e.fields))}),a};return r(m).filter(a=>a.dependsOn===e).forEach(e=>{const a=p(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,s);return t&&t(n),n}),l[e]&&d(a=>{const t={...a};return delete t[e],t});const r=g(m).find(a=>a.name===e);if(r){const t=f(r,a,s);t&&d(a=>({...a,[e]:t}))}},validateForm:b,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),b()&&e(s)}}}const Yn=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Zn=({value:t="#3b82f6",onChange:r,label:s})=>a("div",{className:"space-y-2",children:[s&&e(Et,{children:s}),a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[e("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:t}}),t]})}),e(Pr,{className:"w-64",children:a("div",{className:"space-y-3",children:[a("div",{children:[e(Et,{htmlFor:"color-input",children:"Cor personalizada"}),e(At,{id:"color-input",type:"color",value:t,onChange:e=>r?.(e.target.value),className:"h-10 w-full"})]}),a("div",{children:[e(Et,{children:"Cores predefinidas"}),e("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Yn.map(a=>e("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:a},onClick:()=>r?.(a),"aria-label":`Selecionar cor ${a}`},a))})]})]})})]})]}),ei=r.forwardRef(({className:t,children:r,...s},n)=>a(qa.Root,{ref:n,className:Nt("relative overflow-hidden",t),...s,children:[e(qa.Viewport,{className:"h-full w-full rounded-[inherit]",children:r}),e(ai,{}),e(qa.Corner,{})]}));ei.displayName=qa.Root.displayName;const ai=r.forwardRef(({className:a,orientation:t="vertical",...r},s)=>e(qa.ScrollAreaScrollbar,{ref:s,orientation:t,className:Nt("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",a),...r,children:e(qa.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));ai.displayName=qa.ScrollAreaScrollbar.displayName;const ti={Star:Le,Heart:je,Home:De,User:Fe,Settings:Me,Mail:ze,Phone:Re,Calendar:Ee,MapPin:Te,Camera:Ae,Image:Ie,Music:Pe,Video:_e,Book:Se,Bookmark:Ce,Search:D,Filter:ke,Edit:O,Trash2:q,Plus:V,Minus:we,Check:I,X:S,ChevronDown:_,ChevronUp:P,ChevronLeft:xe,ChevronRight:L,ArrowUp:H,ArrowDown:K,ArrowLeft:Ne,ArrowRight:ye,Clock:ve,Bell:be,AlertCircle:F,Info:ge,HelpCircle:fe,Download:pe,Upload:he,Share:ue,Copy:me,Save:ce,FileText:de,Folder:le,FolderOpen:oe,Archive:ie,Lock:ne,Unlock:se,Eye:re,EyeOff:te,Shield:ae,Key:ee,Zap:Z,Flame:Y,Sparkles:X,Award:J,Trophy:G,Target:Q},ri=({value:t="Star",onChange:r,label:s})=>{const{t:i}=Pa(),[o,l]=n(""),d=Object.entries(ti).filter(([e])=>e.toLowerCase().includes(o.toLowerCase())),c=ti[t]||Le;return a("div",{className:"space-y-2",children:[s&&e(Et,{children:s}),a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[e(c,{className:"h-4 w-4 mr-2"}),t]})}),e(Pr,{className:"w-80",children:a("div",{className:"space-y-3",children:[a("div",{children:[e(Et,{htmlFor:"icon-search",children:i("search")}),e(At,{id:"icon-search",placeholder:i("search"),value:o,onChange:e=>l(e.target.value)})]}),e(ei,{className:"h-48",children:e("div",{className:"grid grid-cols-6 gap-2",children:d.map(([a,s])=>e("button",{className:"p-2 rounded border-2 hover:border-primary "+(t===a?"border-primary bg-primary/10":"border-border"),onClick:()=>r?.(a),title:a,children:e(s,{className:"h-4 w-4"})},a))})})]})})]})]})},si=r.forwardRef(({className:a,...t},r)=>e(Va.Root,{className:Nt("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...t,ref:r,children:e(Va.Thumb,{className:Nt("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));si.displayName=Va.Root.displayName;const ni=(e={})=>{const{user:a,alias:t}=qs(),{enabled:r=!0}=e;return Ra({queryKey:["qualiex-users",t],queryFn:()=>gs.getUsers(t),enabled:r&&!!t&&!!a,retry:2,retryDelay:1e3})},ii=({value:a,onChange:t,multiple:r=!1,label:s,required:n,placeholder:o,icon:l,maxDisplayedBadges:c,className:m,disabled:u,enabled:h,displayFormat:p="name",customDisplayFn:f,filterFn:g,sortOptions:b=!0,popoverContainer:v,onOpen:y,onClose:N})=>{const{t:x}=Pa(),{data:w=[],isLoading:k,error:C}=ni({enabled:h}),S=i(()=>g?w.filter(g):w,[w,g]),_=d(e=>{if("custom"===p&&f)return f(e);const a=e.userName||e.displayName||"";switch(p){case"name-email":return e.userEmail?`${a} (${e.userEmail})`:a;case"name-role":return e.roleName?`${a} - ${e.roleName}`:a;default:return a}},[p,f]);return e(Or,{multiple:r,value:a??(r?[]:""),onChange:t,options:S,isLoading:k,error:C,getOptionValue:e=>e.userId||e.id||"",getOptionLabel:_,placeholder:o||x("search_placeholder"),searchPlaceholder:x("search_placeholder"),emptyMessage:x("no_results"),label:s,required:n,icon:l,maxDisplayedBadges:c,disabled:u,className:m,sortOptions:b,popoverContainer:v,onOpen:y,onClose:N})};function oi({title:t,sections:r,initialData:o,onSubmit:l,onCancel:c,open:u,submitButtonText:h,isLoading:p=!1,usersData:f}){const{t:g}=Pa(),[b,v]=n(r?.[0]?.id||""),y=m(null),[N,x]=n(null),w=d(e=>{y.current=e,x(e)},[]),k=i(()=>r&&Array.isArray(r)?r.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[r]),{formData:C,errors:S,updateField:_,handleSubmit:P}=Xn(k,o,void 0,u),I=i(()=>r&&Array.isArray(r)?r.map(e=>({...e,disabled:e.condition?!e.condition(C):e.disabled||!1})):[],[r,C]),A=i(()=>{const e=I.find(e=>e.id===b);if(e&&!e.disabled)return b;const a=I.find(e=>!e.disabled);return a?.id||b},[I,b]);s.useEffect(()=>{A!==b&&v(A)},[A,b]);const T=I.find(e=>e.id===A),E=t=>{const r=(t.computedValue,C[t.name]),s=void 0!==r?r:"",n=S[t.name];switch(t.type){case"group":const r="horizontal"===t.layout,i=r?`flex gap-3 w-full ${t.className||""}`:"space-y-3",o=r?Nt("space-y-2 w-full",t.wrapperClassName):Nt("space-y-2",t.className,t.wrapperClassName);return a("div",{className:o,children:[t.label,e("div",{className:i,children:t.fields?.map(e=>E(e))})]},t.name);case"user-select":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ii,{value:s||"",onChange:e=>_(t.name,e),placeholder:t.placeholder,disabled:t.disabled,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"textarea":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(vr,{id:t.name,value:s||"",onChange:e=>{_(t.name,e.target.value)},placeholder:t.placeholder,disabled:t.disabled,rows:t.rows,maxLength:t.maxLength,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"select":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(or,{value:String(s),onValueChange:e=>{_(t.name,e),t.onValueChange&&t.onValueChange(e)},disabled:t.disabled,children:[e(cr,{className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,children:e(dr,{placeholder:t.placeholder})}),e(hr,{children:t.options?.map(a=>e(fr,{value:a.value,children:a.label},a.value))})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"multiselect":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Or,{options:t.options||[],value:Array.isArray(s)?s:[],onChange:e=>_(t.name,e),placeholder:t.placeholder,disabled:t.disabled,error:n,popoverContainer:N,getOptionValue:e=>String(e.value),getOptionLabel:e=>e.label}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"date":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:"date",value:String(s),onChange:e=>_(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled,className:Nt("w-full",n?"border-destructive":"",t.disabled?"bg-muted cursor-not-allowed":"")}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"color":return a("div",{children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:"color",value:s||t.defaultValue||"#000000",onChange:e=>_(t.name,e.target.value),className:"h-10"}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"color-picker":return a("div",{children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Zn,{value:s||t.defaultValue||"#3b82f6",onChange:e=>_(t.name,e)}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"icon-picker":return a("div",{children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ri,{value:s||t.defaultValue||"Star",onChange:e=>_(t.name,e)}),n&&e("p",{className:"text-sm text-destructive mt-1",children:n})]},t.name);case"custom":if(!t.component)return null;const l=t.component,d="function"==typeof t.componentProps?t.componentProps(C):t.componentProps||{};return a("div",{className:`space-y-2 ${t.className||""}`,children:[t.label&&a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(l,{value:s,onChange:e=>{_(t.name,e),t.onValueChange&&t.onValueChange(e)},disabled:t.disabled,error:n,popoverContainer:N,...d}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"number":return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:"number",value:null!=s?String(s):"",onChange:e=>{const a=e.target.value,r=""===a?null:Number(a);_(t.name,r)},placeholder:t.placeholder,disabled:t.disabled,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,min:t.min,step:t.step||"1"}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"checkbox":return a("div",{className:`flex items-center space-x-2 ${t.className||""}`,children:[e(br,{id:t.name,checked:!!s,onCheckedChange:e=>_(t.name,e),disabled:t.disabled}),a(Et,{htmlFor:t.name,className:"cursor-pointer",children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"switch":return a("div",{className:`flex items-center justify-between space-x-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(si,{id:t.name,checked:!!s,onCheckedChange:e=>_(t.name,e),disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive mt-2",children:n})]},t.name);default:return a("div",{className:`space-y-2 ${t.className||""}`,children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:"text",value:s||"",onChange:e=>{_(t.name,e.target.value)},placeholder:t.placeholder,disabled:t.disabled,className:`${n?"border-destructive":""} ${t.disabled?"bg-muted cursor-not-allowed":""}`,readOnly:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name)}},R=d(()=>{if(!T)return null;if(T.disabled)return a("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e("div",{className:"rounded-full bg-muted p-3 mb-4",children:e("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),e("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),e("p",{className:"text-muted-foreground max-w-sm",children:'Complete as informações obrigatórias na seção "Informações Gerais" para acessar esta seção.'})]});if(T.component){const a=T.component;return e(a,{formData:C,updateField:_,errors:S,users:f,disabled:T.disabled})}return e("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:T.fields.map(E)})},[T,C,_,S,f,E]),z=a("div",{className:"flex flex-col max-h-[80vh]",children:[I.length>1&&e("div",{className:"flex-shrink-0 p-4 border-b",children:e("div",{className:"flex space-x-2",children:I.map(a=>e(Pt,{variant:A===a.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=I.find(a=>a.id===e);a&&!a.disabled&&v(e)})(a.id),disabled:a.disabled,className:a.disabled?"opacity-50 cursor-not-allowed":"",children:a.title},a.id))})}),e("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:p?e("div",{className:"flex items-center justify-center py-12",children:e("div",{className:"text-muted-foreground",children:g("loading")})}):a("form",{onSubmit:P(l),className:"space-y-3 md:space-y-4",children:[R(),a("div",{className:"flex justify-end space-x-2 pt-4",children:[e(Pt,{type:"button",variant:"outline",onClick:c,children:g("cancel")}),e(Pt,{type:"submit",disabled:p,children:h||g("save")})]})]})})]});return e($t,{open:u,onOpenChange:e=>{!1===e&&!0===u&&c()},children:a(Bt,{ref:w,className:"max-w-4xl max-h-[90vh] overflow-visible",children:[a(Ht,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[e(Gt,{children:t}),e(Jt,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),z]})})}function li({currentPage:r,totalPages:s,totalItems:n,itemsPerPage:i,onPageChange:o,onItemsPerPageChange:l,variant:d="full"}){const c=(r-1)*i+1,m=Math.min(r*i,n);return a("div",{className:"flex items-center justify-between px-4 py-3 gap-4",children:[e("div",{className:"flex items-center gap-2",children:"full"===d&&a(t,{children:[e("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Itens por página"}),a(or,{value:String(i),onValueChange:e=>l(Number(e)),children:[e(cr,{className:"h-8 w-[70px]",children:e(dr,{})}),a(hr,{children:[e(fr,{value:"10",children:"10"}),e(fr,{value:"25",children:"25"}),e(fr,{value:"50",children:"50"}),e(fr,{value:"100",children:"100"})]})]})]})}),a("div",{className:"text-sm text-muted-foreground text-center hidden sm:block",children:[c,"-",m," de ",n," itens"]}),a("div",{className:"flex items-center gap-1",children:[e(Pt,{variant:"outline",size:"sm",onClick:()=>o(1),disabled:1===r,className:"h-8 w-8 p-0",children:e($e,{size:16})}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(r-1),disabled:1===r,className:"h-8 w-8 p-0",children:e(xe,{size:16})}),a("div",{className:"flex items-center gap-1 px-2",children:[e("span",{className:"text-sm font-medium",children:r}),e("span",{className:"text-sm text-muted-foreground",children:"de"}),e("span",{className:"text-sm font-medium",children:s})]}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(r+1),disabled:r===s,className:"h-8 w-8 p-0",children:e(L,{size:16})}),e(Pt,{variant:"outline",size:"sm",onClick:()=>o(s),disabled:r===s,className:"h-8 w-8 p-0",children:e(Oe,{size:16})})]})]})}function di({manager:a}){return e(li,{currentPage:a.pagination.currentPage,totalPages:a.pagination.totalPages,totalItems:a.pagination.totalItems,itemsPerPage:a.pagination.itemsPerPage,onPageChange:a.handlePageChange,onItemsPerPageChange:a.handleItemsPerPageChange,variant:"full"})}const ci=({selectedCount:t,onClearSelection:r,onBulkDelete:s,customActions:n=[],isLoading:i=!1})=>{const{t:o}=Pa();return a("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[a("div",{className:"flex items-center gap-3",children:[e("span",{className:"text-sm font-medium",children:o("selected_count",{count:t})}),a(Pt,{variant:"ghost",size:"sm",onClick:r,className:"h-7 px-2",children:[e(S,{size:14,className:"mr-1"}),o("clear")]})]}),a("div",{className:"flex items-center gap-2",children:[n.map((t,r)=>{const s=t.icon;return a(Pt,{variant:t.variant||"outline",size:"sm",onClick:()=>t.action([]),disabled:i,className:"h-7",children:[s&&e(s,{size:14,className:"mr-1"}),t.label]},r)}),s&&a(Pt,{variant:"destructive",size:"sm",onClick:s,disabled:i,className:"h-7",children:[e(q,{size:14,className:"mr-1"}),o("delete")]})]})]})},mi={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},ui={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},hi={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function pi({children:a,direction:t="column",gap:r="md",align:s="stretch",justify:n="start",wrap:i=!1,className:o}){return e("div",{className:Nt("flex","column"===t?"flex-col":"flex-row",mi[r],ui[s],hi[n],i&&"flex-wrap",o),children:a})}function fi({manager:r,filters:s,inline:n=!1}){const{t:i}=Pa(),{isSearchVisible:o}=qs(),l=r.searchTerm,d=a(t,{children:[s.some(e=>"search"===e.type)&&!o&&a("div",{className:"relative flex-1",children:[e(D,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),e(At,{placeholder:i("search"),value:r.searchTerm,onChange:e=>r.handleSearch(e.target.value),className:"pl-10"})]}),s.filter(e=>"select"===e.type&&e.options).map((t,r)=>a("select",{value:t.value||"",onChange:e=>t.onChange?.(e.target.value),className:"h-10 px-3 rounded-md border border-input bg-background text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",children:[t.placeholder&&e("option",{value:"",children:t.placeholder}),t.options.map(a=>e("option",{value:a.value,children:a.label},a.value))]},`select-${r}`)),s.filter(e=>"custom"===e.type&&e.component).map((a,t)=>{const r=a.component;return e("div",{className:n?"":"w-full sm:w-auto",children:e(r,{...a.props})},`custom-${t}`)}),l&&a(Pt,{variant:"outline",onClick:r.clearFilters,className:"whitespace-nowrap",children:[e(S,{className:"h-4 w-4 mr-2"}),i("clear")]})]});return n?e("div",{className:"flex items-center gap-2",children:d}):e(pi,{direction:"column",gap:"md",className:"mb-6",children:e(pi,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:d})})}function gi({manager:t,config:r,formSections:s,onSave:i,onToggleStatus:o,defaultSort:l}){t&&t.queryKey;const{t:d}=Pa(),{setSearchVisible:m}=qs(),[u,h]=Da(),[p,f]=n(!1),[g,b]=n(null),[v,y]=n({isOpen:!1,entityId:null,entityName:""}),[N,x]=n({isOpen:!1,count:0});c(()=>(m(!0),()=>{m(!1)}),[m]),c(()=>{if(l&&t){const e=`${t.queryKey}_sortField`,a=`${t.queryKey}_sortDirection`;if(!u.has(e)&&!u.has(a)){const t=Object.fromEntries(u);t[e]=l.column,t[a]=l.direction,h(t)}}},[]);const w=()=>{y({isOpen:!1,entityId:null,entityName:""})};return a("div",{className:"flex-1 flex flex-col h-full",children:[r.enableBulkActions&&t.selectedIds.length>0&&e(ci,{selectedCount:t.selectedIds.length,onClearSelection:t.clearSelection,onBulkDelete:r.bulkActions&&r.bulkActions.length>0?void 0:()=>{x({isOpen:!0,count:t.selectedIds.length})},customActions:r.bulkActions,isLoading:t.isBulkDeleting}),a("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:[a("div",{className:"flex items-center gap-2",children:[a(Pt,{onClick:()=>{r.onNew?r.onNew():(b(null),f(!0))},children:[e(V,{size:16,className:"mr-2"}),d("new")]}),r.customActions?.map((t,r)=>a(Pt,{onClick:t.action,variant:t.variant||"outline",children:[t.icon&&e(t.icon,{size:16,className:"mr-2"}),t.label]},r))]}),r.filters&&r.filters.length>0&&e("div",{className:"flex items-center gap-2 flex-1 justify-end",children:e(fi,{manager:t,filters:r.filters,inline:!0})})]}),e("div",{className:"flex-1 flex flex-col overflow-hidden",children:r.customListView?e("div",{className:"flex-1 overflow-auto p-4",children:r.customListView(t.entities,t)}):e(Jn,{manager:t,columns:r.columns,onEdit:e=>{r.onEdit?r.onEdit(e):(b(e),f(!0))},onDelete:e=>{y({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:o,enableBulkActions:r.enableBulkActions,customRowActions:r.customRowActions})}),e("div",{className:"flex-shrink-0 border-t bg-background",children:e(di,{manager:t})}),!r.useCustomRouting&&e(oi,{open:p,title:g?`Editar ${r.entityName}`:`Novo ${r.entityName}`,sections:s,initialData:g||void 0,onSubmit:e=>{i(e),f(!1),b(null)},onCancel:()=>{f(!1),b(null)},isLoading:t.isLoading,submitButtonText:d(g?"update":"create")}),e($t,{open:v.isOpen,onOpenChange:w,children:a(Bt,{size:"sm",children:[e(Ht,{showSeparator:!0,children:e(Gt,{children:"Você tem certeza absoluta?"})}),e("div",{className:"flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",children:a("p",{className:"text-sm text-muted-foreground",children:["Você está prestes a excluir ",e("strong",{children:v.entityName}),". Esta ação não pode ser desfeita."]})}),a(Qt,{children:[e(Pt,{variant:"outline",onClick:w,children:"Cancelar"}),e(Pt,{variant:"destructive",onClick:()=>{v.entityId&&(t.deleteEntity(v.entityId),y({isOpen:!1,entityId:null,entityName:""}))},disabled:t.isDeleting,children:t.isDeleting?"Excluindo...":"Sim, excluir"})]})]})}),e($t,{open:N.isOpen,onOpenChange:()=>x({isOpen:!1,count:0}),children:a(Bt,{size:"sm",children:[e(Ht,{showSeparator:!0,children:e(Gt,{children:"Você tem certeza absoluta?"})}),e("div",{className:"flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",children:a("p",{className:"text-sm text-muted-foreground",children:["Você está prestes a excluir ",e("strong",{children:N.count})," ",1===N.count?r.entityName:r.entityNamePlural,". Esta ação não pode ser desfeita."]})}),a(Qt,{children:[e(Pt,{variant:"outline",onClick:()=>x({isOpen:!1,count:0}),children:"Cancelar"}),e(Pt,{variant:"destructive",onClick:()=>{t.bulkDelete?.(t.selectedIds),x({isOpen:!1,count:0})},disabled:t.isBulkDeleting,children:t.isBulkDeleting?"Excluindo...":"Sim, excluir"})]})]})})]})}function bi(a){return({manager:t})=>{const{manager:r,config:s,onSave:n,onEdit:i,onToggleStatus:o}=a,l=t??r,d={entityName:s.entityName,entityNamePlural:s.entityNamePlural,filters:s.filters||[],columns:s.columns,cardFields:s.cardFields||[],enableBulkActions:s.enableBulkActions??!1,bulkActions:s.bulkActions||[],customActions:s.customActions,customRowActions:s.customRowActions,customListView:s.customListView,onEdit:i||s.onEdit};return e(gi,{manager:l,config:d,formSections:s.formSections,onSave:n,onToggleStatus:o,defaultSort:s.defaultSort})}}function vi(e,a,t){return r=>{if(r.id){const a=t(r);e.updateEntity(r.id,a)}else{const t=a(r);e.createEntity(t)}}}function yi(e,a,t={}){const r=[];return Object.keys(a).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const t=a[e],s={key:e,header:xi(e),label:xi(e),...Ni(e,t),sortable:!0,searchable:"string"==typeof t};r.push(s)}}),{title:e,columns:r,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...t}}function Ni(e,a){const t=e.toLowerCase();return t.includes("email")?{type:"email",required:!0}:t.includes("phone")||t.includes("tel")?{type:"tel"}:t.includes("description")||t.includes("content")||t.includes("notes")?{type:"textarea"}:t.includes("status")||t.includes("type")||t.includes("category")?{type:"select",options:[]}:"boolean"==typeof a?{type:"boolean"}:"number"==typeof a?{type:"number"}:a instanceof Date?{type:"date"}:{type:"text"}}function xi(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const wi=r.forwardRef(({className:a,value:t,...r},s)=>e(Ba.Root,{ref:s,className:Nt("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",a),...r,children:e(Ba.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));function ki({steps:t,currentStepIndex:r,onStepClick:s,className:n}){return e("div",{className:Nt("flex items-center justify-between mb-6",n),children:t.map((r,n)=>a("div",{className:"flex items-center flex-1",children:[e("div",{className:Nt("flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors font-medium",r.isActive&&"border-primary bg-primary text-primary-foreground",r.isCompleted&&"border-primary bg-primary text-primary-foreground",!r.isActive&&!r.isCompleted&&"border-muted-foreground/30 text-muted-foreground bg-background",s&&!r.isDisabled&&"cursor-pointer hover:border-primary/50",r.isDisabled&&"opacity-50 cursor-not-allowed"),onClick:()=>s&&!r.isDisabled&&s(n),role:s&&!r.isDisabled?"button":void 0,tabIndex:s&&!r.isDisabled?0:void 0,"aria-label":`${r.label} - ${r.isCompleted?"Completo":r.isActive?"Atual":"Pendente"}`,children:r.isCompleted?e(I,{className:"w-5 h-5"}):n+1}),n<t.length-1&&e("div",{className:Nt("flex-1 h-0.5 mx-2 transition-colors",r.isCompleted?"bg-primary":"bg-muted-foreground/30"),"aria-hidden":"true"})]},r.id))})}function Ci({steps:t,currentStepIndex:r,onStepClick:s,className:n}){return e("div",{className:Nt("flex items-center gap-2 mb-6 overflow-x-auto",n),children:t.map((r,n)=>a("div",{className:"flex items-center gap-2 whitespace-nowrap",children:[a("div",{className:Nt("flex items-center gap-2 px-3 py-2 rounded-md transition-colors",r.isActive&&"bg-primary text-primary-foreground font-medium",r.isCompleted&&"bg-primary/10 text-primary",!r.isActive&&!r.isCompleted&&"bg-muted text-muted-foreground",s&&!r.isDisabled&&"cursor-pointer hover:bg-primary/20",r.isDisabled&&"opacity-50 cursor-not-allowed"),onClick:()=>s&&!r.isDisabled&&s(n),role:s&&!r.isDisabled?"button":void 0,tabIndex:s&&!r.isDisabled?0:void 0,"aria-label":`${r.label} - ${r.isCompleted?"Completo":r.isActive?"Atual":"Pendente"}`,children:[e("span",{className:"text-sm font-medium",children:n+1}),e("span",{className:"text-sm",children:r.label}),r.isCompleted&&e(I,{className:"w-4 h-4 ml-1"})]}),n<t.length-1&&e("span",{className:"text-muted-foreground","aria-hidden":"true",children:"/"})]},r.id))})}function Si({steps:t,currentStepIndex:r,className:s}){const n=t[r],i=(r+1)/t.length*100;return a("div",{className:Nt("mb-6 space-y-2",s),children:[a("div",{className:"flex items-center justify-between text-sm",children:[a("span",{className:"text-muted-foreground",children:["Etapa ",r+1," de ",t.length]}),e("span",{className:"font-medium",children:n?.label})]}),e(wi,{value:i,className:"h-2"})]})}function _i({isFirstStep:r,isLastStep:s,canGoNext:n,canGoPrevious:i,isLoading:o,onPrevious:l,onNext:d,onSubmit:c,previousButtonText:m,nextButtonText:u,submitButtonText:h}){const{t:p}=Pa();return a(t,{children:[e("div",{children:i&&!r&&e(Pt,{type:"button",variant:"outline",onClick:l,disabled:o,children:m||p("previous")})}),a("div",{className:"flex gap-2",children:[n&&!s&&e(Pt,{type:"button",onClick:d,disabled:o,children:u||p("next")}),s&&e(Pt,{type:"button",onClick:c,disabled:o,children:o?p("saving"):h||p("save")})]})]})}function Pi({title:t,sections:r,initialData:o,onSubmit:l,onCancel:c,open:u,submitButtonText:h,isLoading:p=!1,usersData:f,showProgressIndicator:g=!0,progressType:b="stepper",validateOnNext:v=!0,allowSkipSections:y=!1,previousButtonText:N,nextButtonText:x,onStepChange:w,onStepValidationFail:k,renderProgressIndicator:C,renderButtons:S,currentStepIndex:_,onCurrentStepChange:P}){const[I,A]=n(0),T=_??I,E=P??A,R=m(null),[z,M]=n(null),F=d(e=>{R.current=e,M(e)},[]),D=i(()=>r&&Array.isArray(r)?r.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[r]),{formData:j,errors:L,updateField:$,handleSubmit:O}=Xn(D,o,void 0,u);s.useEffect(()=>{u&&E(0)},[u,E]);const U=d(()=>{const e=r[T];if(!e)return!0;const a=e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e),t={};let s=!0;return a.forEach(e=>{const a=j[e.name];if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length)&&(t[e.name]=`${e.label} é obrigatório`,s=!1),e.validation&&"function"==typeof e.validation){const r=e.validation(a,j);r&&(t[e.name]=r,s=!1)}}),!s&&k&&k(T,t),s},[r,T,j,k]),W=d(()=>{if(v&&!U())return;const e=T+1;e<r.length&&(E(e),w?.(e,r[e].id))},[T,r,v,U,E,w]),q=d(()=>{const e=T-1;e>=0&&(E(e),w?.(e,r[e].id))},[T,r,E,w]),V=d(()=>{let e=!0;for(let a=0;a<r.length;a++){r[a].fields.flatMap(e=>"group"===e.type?e.fields||[]:e).forEach(a=>{const t=j[a.name];a.required&&(""===t||null==t||Array.isArray(t)&&0===t.length)&&(e=!1)})}e&&O(l)()},[r,j,O,l]),B=i(()=>r.map((e,a)=>({index:a,id:e.id,label:e.label||e.id,isActive:a===T,isCompleted:a<T,isDisabled:e.disabled||!1})),[r,T]),H=0===T,K=T===r.length-1,Q=i(()=>{if(!g)return null;if(C)return C(T,r.length,r);const a=y?e=>{E(e),w?.(e,r[e].id)}:void 0;switch(b){case"breadcrumb":return e(Ci,{steps:B,currentStepIndex:T,onStepClick:a});case"progressbar":return e(Si,{steps:B,currentStepIndex:T});default:return e(ki,{steps:B,currentStepIndex:T,onStepClick:a})}},[g,C,b,B,T,r,y,E,w]),G=i(()=>{const a={isFirstStep:H,isLastStep:K,canGoNext:T<r.length-1,canGoPrevious:T>0,isLoading:p,onPrevious:q,onNext:W,onSubmit:V,previousButtonText:N,nextButtonText:x,submitButtonText:h};return S?S(a):e(_i,{...a})},[H,K,T,r.length,p,q,W,V,N,x,h,S]),J=t=>{const r=(t.computedValue,j[t.name]),s=void 0!==r?r:"",n=L[t.name];switch(t.type){case"group":return a("div",{className:"space-y-2",children:[t.label&&e(Et,{className:"text-sm font-medium",children:t.label}),e("div",{className:Nt("grid gap-4",1===t.columns&&"grid-cols-1",2===t.columns&&"grid-cols-1 md:grid-cols-2",3===t.columns&&"grid-cols-1 md:grid-cols-3",4===t.columns&&"grid-cols-1 md:grid-cols-4",!t.columns&&"grid-cols-1"),children:t.fields?.map(e=>J(e))})]},t.name);case"number":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:"number",value:s,onChange:e=>$(t.name,""===e.target.value?"":Number(e.target.value)),placeholder:t.placeholder,disabled:t.disabled||void 0!==t.computedValue,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"textarea":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(vr,{id:t.name,value:s,onChange:e=>$(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled,rows:t.rows||3,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"select":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),a(or,{value:s,onValueChange:e=>$(t.name,e),children:[e(cr,{className:n?"border-destructive":"",children:e(dr,{placeholder:t.placeholder||`Selecione ${t.label}`})}),e(hr,{children:t.options?.map(a=>e(fr,{value:String(a.value),children:a.label},a.value))})]}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"multiselect":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Or,{options:t.options||[],value:Array.isArray(s)?s:[],onChange:e=>$(t.name,e),placeholder:t.placeholder,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"color":case"color-picker":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(Zn,{value:s,onChange:e=>$(t.name,e),label:""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"icon-picker":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ri,{value:s,onChange:e=>$(t.name,e),label:""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"user-select":return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(ii,{value:s,onChange:e=>$(t.name,e),placeholder:t.placeholder,disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name);case"custom":return t.render?a("div",{className:"space-y-2",children:[t.label&&a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),t.render({value:s,onChange:e=>$(t.name,e),error:n,disabled:t.disabled}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name):null;default:return a("div",{className:"space-y-2",children:[a(Et,{htmlFor:t.name,children:[t.label,t.required&&e("span",{className:"text-destructive ml-1",children:"*"})]}),e(At,{id:t.name,type:t.type||"text",value:s,onChange:e=>$(t.name,e.target.value),placeholder:t.placeholder,disabled:t.disabled||void 0!==t.computedValue,className:n?"border-destructive":""}),n&&e("p",{className:"text-sm text-destructive",children:n})]},t.name)}},X=r[T];return e($t,{open:u,onOpenChange:c,children:a(Bt,{ref:F,className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[e(Ht,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:e(Gt,{className:"text-white",children:t})}),Q,e("div",{className:"space-y-4 py-4",children:X?.fields.map(e=>J(e))}),e("div",{className:"flex justify-between pt-4 border-t",children:G})]})})}wi.displayName=Ba.Root.displayName;const Ii=({children:r})=>{const{isAuthenticated:n,isLoading:i}=qs();if(s.useEffect(()=>{if(!n)return;const e=()=>{Jr.areAllTokensValid()||Os.logout()};e();const a=setInterval(e,3e5);return()=>clearInterval(a)},[n]),s.useEffect(()=>{if(i)return;if(n)return;if(Jr.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),a=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,t=new URLSearchParams(a);if(e.has("access_token")||t.has("access_token"))return;const r=Ns();(async()=>{r?await Os.loginDev():Os.loginProd()})()},[n,i]),i)return e("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Carregando..."})}),a(Dt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!n){const t=new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token");return e("div",t?{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Processando..."})}),a(Dt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}:{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Iniciando..."})}),a(Dt,{className:"text-center",children:[e("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),e("p",{className:"text-muted-foreground",children:Ns()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return e(t,{children:r})},Ai=f("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4",{variants:{variant:{info:"bg-[hsl(var(--alert-info-bg))] border-[hsl(var(--alert-info-border))] text-[hsl(var(--alert-info-foreground))] [&>svg]:text-[hsl(var(--alert-info-foreground))]",warning:"bg-[hsl(var(--alert-warning-bg))] border-[hsl(var(--alert-warning-border))] text-[hsl(var(--alert-warning-foreground))] [&>svg]:text-[hsl(var(--alert-warning-foreground))]",danger:"bg-[hsl(var(--alert-danger-bg))] border-[hsl(var(--alert-danger-border))] text-[hsl(var(--alert-danger-foreground))] [&>svg]:text-[hsl(var(--alert-danger-foreground))]",success:"bg-[hsl(var(--alert-success-bg))] border-[hsl(var(--alert-success-border))] text-[hsl(var(--alert-success-foreground))] [&>svg]:text-[hsl(var(--alert-success-foreground))]"}},defaultVariants:{variant:"info"}}),Ti={info:ge,warning:ge,danger:We,success:Ue},Ei=r.forwardRef(({className:t,variant:r="info",showIcon:s=!0,children:n,...i},o)=>{const l=Ti[r||"info"];return a("div",{ref:o,role:"alert",className:Nt(Ai({variant:r}),t),...i,children:[s&&e(l,{className:"h-4 w-4"}),n]})});Ei.displayName="Alert";const Ri=r.forwardRef(({className:a,...t},r)=>e("h5",{ref:r,className:Nt("mb-1 font-medium leading-none tracking-tight",a),...t}));Ri.displayName="AlertTitle";const zi=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("text-sm [&_p]:leading-relaxed",a),...t}));zi.displayName="AlertDescription";const Mi=()=>{const{processCallback:r}=qs(),[s,i]=n(null),[o,l]=n(!1);c(()=>{(async()=>{try{if(await r()){window.history.replaceState({},document.title,"/");const e=localStorage.getItem("auth_return_url");e?(localStorage.removeItem("auth_return_url"),window.location.href=e):window.location.href="/"}else i("Falha na autenticação. Tente novamente.")}catch(e){i(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[r]);const d=async()=>{l(!0),i(null);try{await r()||i("Falha na autenticação. Tente novamente.")}catch(e){i(e?.message||"Erro ao tentar novamente.")}finally{l(!1)}},m=()=>{window.location.href="/"};return e("div",s?{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:a(Mt,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[e(F,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),a(Dt,{className:"space-y-4",children:[e(Ei,{variant:"danger",children:e(zi,{children:s})}),e("div",{className:"text-sm text-muted-foreground",children:e("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),a("div",{className:"flex gap-2",children:[e(Pt,{onClick:d,disabled:o,className:"flex-1",children:a(t,o?{children:[e(wr,{size:"sm",className:"mr-2"}),"Tentando..."]}:{children:[e(qe,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),e(Pt,{onClick:m,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}:{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),a(Dt,{className:"text-center",children:[e("div",{className:"flex justify-center mb-4",children:e(wr,{size:"lg"})}),e("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},Fi=()=>e("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:a(Rt,{className:"w-full max-w-md",children:[e(zt,{className:"text-center",children:e(Mt,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),a(Dt,{className:"text-center space-y-4",children:[e("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),e(Pt,{onClick:async()=>{Ns()?await Os.loginDev():Os.loginProd()},className:"w-full",size:"lg",children:Ns()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})}),Di=o(void 0);function ji({children:a,actions:t}){const[r,s]=n({}),[i,o]=n(t);return c(()=>{o(t)},[t]),e(Di.Provider,{value:{metadata:r,setMetadata:s,clearMetadata:()=>s({}),headerActions:i,setHeaderActions:o},children:a})}function Li(){const e=l(Di);if(!e)throw new Error("usePageMetadataContext must be used within PageMetadataProvider");return e}function $i(e){const{setMetadata:a,clearMetadata:t}=Li();c(()=>(a(e),()=>t()),[e.title,e.subtitle,a,t])}function Oi(e){return{queryClient:e.queryClient||new Ma({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}const Ui=import.meta.env.VITE_SUPABASE_URL,Wi=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY;let qi=null;var Vi=Object.defineProperty,Bi=(e,a,t)=>((e,a,t)=>a in e?Vi(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Hi=new class{constructor(){Bi(this,"cache",{}),Bi(this,"cacheTimestamps",new Map),Bi(this,"CACHE_TTL",3e5),Bi(this,"loadingPromises",new Map)}isCacheValid(e){const a=this.cacheTimestamps.get(e);return!!a&&Date.now()-a<this.CACHE_TTL}async loadTranslations(e){if(this.isCacheValid(e))return this.cache[e]||{};const a=this.loadingPromises.get(e);if(a)return a;const t=this.fetchTranslations(e);this.loadingPromises.set(e,t);try{return await t}finally{this.loadingPromises.delete(e)}}async fetchTranslations(e){try{const a=(!qi&&Ui&&Wi&&(qi=Ta(Ui,Wi,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1}})),qi),{data:t,error:r}=await a.schema("common").from("translations").select("key, pt, en, es").eq("is_removed",!1);if(r)return"42501"===r.code||"PGRST301"===r.code||r.message?.includes("permission denied")||r.message?.includes("No suitable key"),{};const s={};return t?.forEach(a=>{let t;t="pt-BR"===e?a.pt:"en-US"===e?a.en||a.pt:"es-ES"===e&&a.es||a.pt,t&&(s[a.key]=t)}),this.cache[e]=s,this.cacheTimestamps.set(e,Date.now()),s}catch(a){return{}}}async upsertTranslation(e,a,t,r){const s=is(),{error:n}=await s.schema("common").from("translations").upsert({key:e,pt:a,en:t,es:r},{onConflict:"key"});if(n)throw n;this.clearCache()}async bulkUpsertTranslations(e){const a=is(),{error:t}=await a.schema("common").from("translations").upsert(e.map(e=>({key:e.key,pt:e.pt,en:e.en,es:e.es})),{onConflict:"key"});if(t)throw t;this.clearCache()}clearCache(){this.cache={},this.cacheTimestamps.clear()}clearCacheForLocale(e){delete this.cache[e],this.cacheTimestamps.delete(e)}};var Ki=Object.defineProperty,Qi=(e,a,t)=>((e,a,t)=>a in e?Ki(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Gi="true"===import.meta.env.VITE_I18N_DEBUG_MODE;x.use(new class{constructor(e=!1){Qi(this,"type","backend"),Qi(this,"isDebugMode"),Qi(this,"cache",new Map),Qi(this,"loadingPromises",new Map),this.isDebugMode=e}read(e,a,t){if(this.cache.has(e))return void t(null,this.cache.get(e));if(this.loadingPromises.has(e))return void this.loadingPromises.get(e).then(()=>{t(null,this.cache.get(e)||{})});const r=Hi.loadTranslations(e).then(a=>{if(this.isDebugMode){const t={};Object.keys(a).forEach(e=>{t[e]=`[${e} ✅]`}),this.cache.set(e,t)}else this.cache.set(e,a)}).catch(a=>{this.cache.set(e,{})}).finally(()=>{this.loadingPromises.delete(e)});this.loadingPromises.set(e,r),r.then(()=>{t(null,this.cache.get(e)||{})})}create(e,a,t,r){}}(Gi)).use(Ia).init({fallbackLng:"pt-BR",lng:"pt-BR",defaultNS:"translations",ns:["translations"],interpolation:{escapeValue:!1},react:{useSuspense:!1},saveMissing:!1,returnEmptyString:!1,parseMissingKeyHandler:(e,a)=>Gi?`[${e} ❌]`:`[⚠️ ${e}]`});const Ji=new class{async getUserPreferences(e,a){if(!Jr.areAllTokensValid())return null;const t=is();try{const{data:r,error:s}=await t.schema("common").from("user_preferences").select("*").eq("id_user",e).eq("alias",a).maybeSingle();if(s)return"PGRST116"===s.code?this.createDefaultPreferences(e,a):("42501"===s.code||"PGRST301"===s.code||s.message?.includes("permission denied"),null);if(!r)return this.createDefaultPreferences(e,a);const n=r;return{locale:n.locale,timezone:n.timezone,datetimeFormat:n.datetime_format}}catch(r){return null}}async createDefaultPreferences(e,a){const t=is(),r={id_user:e,locale:"pt-BR",timezone:"America/Sao_Paulo",datetime_format:"dd/MM/yyyy HH:mm",alias:a};try{const{data:e,error:a}=await t.schema("common").from("user_preferences").insert(r).select().single();if(a)throw a;const s=e;return{locale:s.locale,timezone:s.timezone,datetimeFormat:s.datetime_format}}catch(s){throw s}}async updatePreferences(e,a,t){const r=is();try{const{error:s}=await r.schema("common").from("user_preferences").update(t).eq("id_user",e).eq("alias",a);if(s)throw s}catch(s){throw s}}},Xi=o(void 0),Yi=({children:a})=>{const{user:t,alias:r}=qs(),[s,i]=n({locale:"pt-BR",timezone:"America/Sao_Paulo",datetimeFormat:"dd/MM/yyyy HH:mm"}),[o,l]=n(!0);c(()=>{(async()=>{if(t?.id&&r)try{const e=await Ji.getUserPreferences(t.id,r);e&&(i({locale:e.locale,timezone:e.timezone,datetimeFormat:e.datetimeFormat}),await x.changeLanguage(e.locale),localStorage.setItem("i18nextLng",e.locale))}catch(e){}finally{l(!1)}else l(!1)})()},[t?.id,r]);const m=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{locale:e}),i(a=>({...a,locale:e})),await x.changeLanguage(e),localStorage.setItem("i18nextLng",e)}catch(a){throw a}},[t?.id,r]),u=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{timezone:e}),i(a=>({...a,timezone:e}))}catch(a){throw a}},[t?.id,r]),h=d(async e=>{if(t?.id&&r)try{await Ji.updatePreferences(t.id,r,{datetime_format:e}),i(a=>({...a,datetimeFormat:e}))}catch(a){throw a}},[t?.id,r]);return e(Xi.Provider,{value:{...s,setLocale:m,setTimezone:u,setDatetimeFormat:h,isLoading:o},children:a})},Zi=()=>{const e=l(Xi);if(!e)throw new Error("useLocale deve ser usado dentro de LocaleProvider");return e};function eo({children:r}){const{ready:s}=Pa(),[i,o]=n(!0);return c(()=>{s&&i&&o(!1)},[s,i]),i&&!s?e("div",{className:"flex items-center justify-center min-h-screen bg-background",children:a("div",{className:"flex flex-col items-center gap-4",children:[e(wr,{size:"lg"}),e("p",{className:"text-sm text-muted-foreground animate-pulse",children:"Carregando traduções..."})]})}):e(t,{children:r})}const ao=Ha.Root,to=Ha.CollapsibleTrigger,ro=Ha.CollapsibleContent;var so=Object.defineProperty,no=(e,a,t)=>((e,a,t)=>a in e?so(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);class io extends h{constructor(e){super(e),no(this,"copyErrorDetails",()=>{const e=Zr.getErrors().slice(0,2),a=`\n=== ERRO ATUAL ===\n${this.state.error?.message||"Erro desconhecido"}\n\nStack Trace:\n${this.state.error?.stack||"Não disponível"}\n\n=== ÚLTIMOS ERROS ===\n${e.map((e,a)=>`${a+1}. [${new Date(e.timestamp).toLocaleTimeString()}] ${e.message}`).join("\n")||"Nenhum erro registrado"}\n `.trim();navigator.clipboard.writeText(a),w.success("Detalhes copiados!",{description:"Os detalhes do erro foram copiados para a área de transferência."})}),this.state={hasError:!1,showDetails:!1}}static getDerivedStateFromError(e){if(import.meta.env.DEV)throw e;return{hasError:!0,error:e}}componentDidCatch(e,a){if(import.meta.env.DEV)throw e;Zr.handleError(e,!1),this.setState({errorInfo:a})}render(){if(this.state.hasError){if(this.props.fallback)return this.props.fallback;const t=Zr.getErrors().slice(0,2);return e("div",{className:"flex items-center justify-center min-h-screen p-4",children:a(Rt,{className:"w-full max-w-2xl",children:[a(zt,{className:"text-center",children:[e("div",{className:"flex justify-center mb-4",children:e(We,{className:"h-12 w-12 text-destructive"})}),e(Mt,{children:"Algo deu errado"})]}),a(Dt,{className:"space-y-4",children:[e("p",{className:"text-center text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),a(ao,{open:this.state.showDetails,onOpenChange:e=>this.setState({showDetails:e}),children:[e(to,{asChild:!0,children:a(Pt,{variant:"outline",className:"w-full flex items-center justify-center gap-2",children:[e(_,{className:"h-4 w-4 transition-transform "+(this.state.showDetails?"rotate-180":"")}),"Ver Detalhes Técnicos"]})}),a(ro,{className:"mt-4 space-y-4",children:[a("div",{className:"rounded-lg border bg-card p-4 space-y-3",children:[a("div",{children:[e("h4",{className:"font-semibold text-sm mb-2 flex items-center gap-2",children:"📋 Erro Atual"}),a("div",{className:"text-sm space-y-2",children:[e("p",{className:"font-medium text-destructive",children:this.state.error?.message||"Erro desconhecido"}),this.state.error?.stack&&e(ei,{className:"h-32 w-full rounded border bg-muted p-2",children:e("pre",{className:"text-xs text-muted-foreground whitespace-pre-wrap",children:this.state.error.stack})})]})]}),t.length>0&&a("div",{className:"pt-3 border-t",children:[e("h4",{className:"font-semibold text-sm mb-2 flex items-center gap-2",children:"📜 Últimos Erros"}),e("div",{className:"space-y-2",children:t.map((t,r)=>e("div",{className:"text-sm p-2 rounded bg-muted/50",children:a("div",{className:"flex items-start gap-2",children:[a("span",{className:"font-medium text-muted-foreground shrink-0",children:[r+1,"."]}),a("div",{className:"flex-1 min-w-0",children:[e("div",{className:"flex items-center gap-2 flex-wrap",children:a("span",{className:"text-xs text-muted-foreground",children:["[",new Date(t.timestamp).toLocaleTimeString(),"]"]})}),e("p",{className:"text-sm break-words",children:t.message})]})]})},t.id))})]})]}),a(Pt,{variant:"outline",onClick:this.copyErrorDetails,className:"w-full flex items-center justify-center gap-2",children:[e(me,{className:"h-4 w-4"}),"Copiar Detalhes"]})]})]}),e(Pt,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})})}return this.props.children}}function oo({children:a,queryClient:t}){const r=t??new Ma({defaultOptions:{queries:{staleTime:3e5,retry:1}}});return e(io,{children:e(Aa,{i18n:x,children:e(Fa,{client:r,children:e(Ws,{children:e(Yi,{children:e(eo,{children:a})})})})})})}const lo=Ka.Root,co=r.forwardRef(({className:a,...t},r)=>e(Ka.Item,{ref:r,className:Nt("border-b",a),...t}));co.displayName="AccordionItem";const mo=r.forwardRef(({className:t,children:r,...s},n)=>e(Ka.Header,{className:"flex",children:a(Ka.Trigger,{ref:n,className:Nt("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",t),...s,children:[r,e(_,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));mo.displayName=Ka.Trigger.displayName;const uo=r.forwardRef(({className:a,children:t,...r},s)=>e(Ka.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...r,children:e("div",{className:Nt("pb-4 pt-0",a),children:t})}));uo.displayName=Ka.Content.displayName;const ho=Qa.Root,po=Qa.Trigger,fo=Qa.Portal,go=r.forwardRef(({className:a,...t},r)=>e(Qa.Overlay,{className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t,ref:r}));go.displayName=Qa.Overlay.displayName;const bo=r.forwardRef(({className:t,...r},s)=>a(fo,{children:[e(go,{}),e(Qa.Content,{ref:s,className:Nt("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...r})]}));bo.displayName=Qa.Content.displayName;const vo=({className:a,...t})=>e("div",{className:Nt("flex flex-col space-y-2 text-center sm:text-left",a),...t});vo.displayName="AlertDialogHeader";const yo=({className:a,...t})=>e("div",{className:Nt("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...t});yo.displayName="AlertDialogFooter";const No=r.forwardRef(({className:a,...t},r)=>e(Qa.Title,{ref:r,className:Nt("text-lg font-semibold",a),...t}));No.displayName=Qa.Title.displayName;const xo=r.forwardRef(({className:a,...t},r)=>e(Qa.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));xo.displayName=Qa.Description.displayName;const wo=r.forwardRef(({className:a,...t},r)=>e(Qa.Action,{ref:r,className:Nt(_t(),a),...t}));wo.displayName=Qa.Action.displayName;const ko=r.forwardRef(({className:a,...t},r)=>e(Qa.Cancel,{ref:r,className:Nt(_t({variant:"outline"}),"mt-2 sm:mt-0",a),...t}));ko.displayName=Qa.Cancel.displayName;const Co=r.forwardRef(({className:a,...t},r)=>e(Ga.Root,{ref:r,className:Nt("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",a),...t}));Co.displayName=Ga.Root.displayName;const So=r.forwardRef(({className:a,...t},r)=>e(Ga.Image,{ref:r,className:Nt("aspect-square h-full w-full",a),...t}));So.displayName=Ga.Image.displayName;const _o=r.forwardRef(({className:a,...t},r)=>e(Ga.Fallback,{ref:r,className:Nt("flex h-full w-full items-center justify-center rounded-full bg-muted",a),...t}));_o.displayName=Ga.Fallback.displayName;const Po=r.forwardRef(({...a},t)=>e("nav",{ref:t,"aria-label":"breadcrumb",...a}));Po.displayName="Breadcrumb";const Io=r.forwardRef(({className:a,...t},r)=>e("ol",{ref:r,className:Nt("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",a),...t}));Io.displayName="BreadcrumbList";const Ao=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,className:Nt("inline-flex items-center gap-1.5",a),...t}));Ao.displayName="BreadcrumbItem";const To=r.forwardRef(({asChild:a,className:t,...r},s)=>e(a?p:"a",{ref:s,className:Nt("transition-colors hover:text-foreground",t),...r}));To.displayName="BreadcrumbLink";const Eo=r.forwardRef(({className:a,...t},r)=>e("span",{ref:r,role:"link","aria-disabled":"true","aria-current":"page",className:Nt("font-normal text-foreground",a),...t}));Eo.displayName="BreadcrumbPage";const Ro=({children:a,className:t,...r})=>e("li",{role:"presentation","aria-hidden":"true",className:Nt("[&>svg]:h-3.5 [&>svg]:w-3.5",t),...r,children:a??e(L,{})});Ro.displayName="BreadcrumbSeparator";const zo=({className:t,...r})=>a("span",{role:"presentation","aria-hidden":"true",className:Nt("flex h-9 w-9 items-center justify-center",t),...r,children:[e(Ve,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Mais"})]});zo.displayName="BreadcrumbEllipsis";const Mo=f("flex items-center",{variants:{orientation:{horizontal:"flex-row [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}}),Fo=r.forwardRef(({className:a,orientation:t,...r},s)=>e("div",{ref:s,className:Nt(Mo({orientation:t}),a),...r}));function Do(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function jo(e){return(a,t)=>{let r;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,s=t?.width?String(t.width):a;r=e.formattingValues[s]||e.formattingValues[a]}else{const a=e.defaultWidth,s=t?.width?String(t.width):e.defaultWidth;r=e.values[s]||e.values[a]}return r[e.argumentCallback?e.argumentCallback(a):a]}}function Lo(e){return(a,t={})=>{const r=t.width,s=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],n=a.match(s);if(!n)return null;const i=n[0],o=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(o,e=>e.test(i)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(o,e=>e.test(i));let d;d=e.valueCallback?e.valueCallback(l):l,d=t.valueCallback?t.valueCallback(d):d;return{value:d,rest:a.slice(i.length)}}}function $o(e){return(a,t={})=>{const r=a.match(e.matchPattern);if(!r)return null;const s=r[0],n=a.match(e.parsePattern);if(!n)return null;let i=e.valueCallback?e.valueCallback(n[0]):n[0];i=t.valueCallback?t.valueCallback(i):i;return{value:i,rest:a.slice(s.length)}}}Fo.displayName="ButtonGroup";const Oo={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Uo={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Wo={ordinalNumber:(e,a)=>{const t=Number(e),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},era:jo({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:jo({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:jo({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:jo({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:jo({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},qo={ordinalNumber:$o({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Lo({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},Vo={code:"en-US",formatDistance:(e,a,t)=>{let r;const s=Oo[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",a.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r},formatLong:{date:Do({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:Do({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:Do({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},formatRelative:(e,a,t,r)=>Uo[e],localize:Wo,match:qo,options:{weekStartsOn:0,firstWeekContainsDate:1}},Bo={lessThanXSeconds:{one:"menos de un segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"medio minuto",lessThanXMinutes:{one:"menos de un minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"alrededor de 1 hora",other:"alrededor de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 día",other:"{{count}} días"},aboutXWeeks:{one:"alrededor de 1 semana",other:"alrededor de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"alrededor de 1 mes",other:"alrededor de {{count}} meses"},xMonths:{one:"1 mes",other:"{{count}} meses"},aboutXYears:{one:"alrededor de 1 año",other:"alrededor de {{count}} años"},xYears:{one:"1 año",other:"{{count}} años"},overXYears:{one:"más de 1 año",other:"más de {{count}} años"},almostXYears:{one:"casi 1 año",other:"casi {{count}} años"}},Ho={date:Do({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},defaultWidth:"full"}),time:Do({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Do({formats:{full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Ko={lastWeek:"'el' eeee 'pasado a la' p",yesterday:"'ayer a la' p",today:"'hoy a la' p",tomorrow:"'mañana a la' p",nextWeek:"eeee 'a la' p",other:"P"},Qo={lastWeek:"'el' eeee 'pasado a las' p",yesterday:"'ayer a las' p",today:"'hoy a las' p",tomorrow:"'mañana a las' p",nextWeek:"eeee 'a las' p",other:"P"},Go={ordinalNumber:(e,a)=>Number(e)+"º",era:jo({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},defaultWidth:"wide"}),quarter:jo({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:jo({values:{narrow:["e","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],wide:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"]},defaultWidth:"wide"}),day:jo({values:{narrow:["d","l","m","m","j","v","s"],short:["do","lu","ma","mi","ju","vi","sá"],abbreviated:["dom","lun","mar","mié","jue","vie","sáb"],wide:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"]},defaultWidth:"wide"}),dayPeriod:jo({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"mañana",afternoon:"tarde",evening:"tarde",night:"noche"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},abbreviated:{am:"AM",pm:"PM",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"},wide:{am:"a.m.",pm:"p.m.",midnight:"medianoche",noon:"mediodia",morning:"de la mañana",afternoon:"de la tarde",evening:"de la tarde",night:"de la noche"}},defaultFormattingWidth:"wide"})},Jo={ordinalNumber:$o({matchPattern:/^(\d+)(º)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}}),era:Lo({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i,wide:/^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes de la era com[uú]n)/i,/^(despu[eé]s de cristo|era com[uú]n)/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[efmajsond]/i,abbreviated:/^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i,wide:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^e/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^en/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^[dlmjvs]/i,short:/^(do|lu|ma|mi|ju|vi|s[áa])/i,abbreviated:/^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i,wide:/^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^do/i,/^lu/i,/^ma/i,/^mi/i,/^ju/i,/^vi/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i,any:/^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn/i,noon:/^md/i,morning:/mañana/i,afternoon:/tarde/i,evening:/tarde/i,night:/noche/i}},defaultParseWidth:"any"})},Xo={code:"es",formatDistance:(e,a,t)=>{let r;const s=Bo[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",a.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"en "+r:"hace "+r:r},formatLong:Ho,formatRelative:(e,a,t,r)=>1!==a.getHours()?Qo[e]:Ko[e],localize:Go,match:Jo,options:{weekStartsOn:1,firstWeekContainsDate:1}},Yo={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},Zo={date:Do({formats:{full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},defaultWidth:"full"}),time:Do({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Do({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},el={lastWeek:e=>{const a=e.getDay();return"'"+(0===a||6===a?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},al={ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:jo({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:jo({values:{narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:jo({values:{narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},defaultWidth:"wide"}),day:jo({values:{narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},defaultWidth:"wide"}),dayPeriod:jo({values:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},defaultFormattingWidth:"wide"})},tl={ordinalNumber:$o({matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Lo({matchPatterns:{narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},defaultParseWidth:"any"}),quarter:Lo({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:Lo({matchPatterns:{narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},defaultParseWidth:"any"}),day:Lo({matchPatterns:{narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},defaultMatchWidth:"wide",parsePatterns:{short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},defaultParseWidth:"any"}),dayPeriod:Lo({matchPatterns:{narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},defaultParseWidth:"any"})},rl={code:"pt-BR",formatDistance:(e,a,t)=>{let r;const s=Yo[e];return r="string"==typeof s?s:1===a?s.one:s.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+r:"há "+r:r},formatLong:Zo,formatRelative:(e,a,t,r)=>{const s=el[e];return"function"==typeof s?s(a):s},localize:al,match:tl,options:{weekStartsOn:0,firstWeekContainsDate:1}};function sl({className:a,classNames:t,showOutsideDays:r=!0,...s}){return e(Ja,{showOutsideDays:r,className:Nt("p-3 pointer-events-auto",a),locale:rl,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:Nt(_t({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day:Nt(_t({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{Chevron:({orientation:a})=>e("left"===a?xe:L,{className:"h-4 w-4"})},...s})}sl.displayName="Calendar";const nl={Root:function({children:a,className:t}){return e("div",{className:Nt("space-y-4",t),children:a})},Item:function({children:a,onClick:t,className:r}){return e(Rt,{className:Nt("transition-colors",t&&"cursor-pointer hover:bg-muted/50",r),onClick:t,children:e(Dt,{className:"p-4",children:a})})},Field:function({label:t,value:r,className:s}){return a("div",{className:Nt("flex justify-between items-center text-sm",s),children:[a("span",{className:"text-muted-foreground font-medium",children:[t,":"]}),e("span",{className:"text-foreground",children:r})]})}};function il({date:t,onDateChange:r,placeholder:s="Pick a date",disabled:n=!1,className:i,disabledDates:o}){return a(Sr,{children:[e(_r,{asChild:!0,children:a(Pt,{variant:"outline",disabled:n,className:Nt("w-full justify-start text-left font-normal",!t&&"text-muted-foreground",i),children:[e(Ee,{className:"mr-2 h-4 w-4"}),t?N(t,"PPP"):e("span",{children:s})]})}),e(Pr,{className:"w-auto p-0",align:"start",children:e(sl,{mode:"single",selected:t,onSelect:r,disabled:o,initialFocus:!0,className:"pointer-events-auto"})})]})}const ol=({shouldScaleBackground:a=!0,...t})=>e(Xa.Root,{shouldScaleBackground:a,...t});ol.displayName="Drawer";const ll=Xa.Trigger,dl=Xa.Portal,cl=Xa.Close,ml=r.forwardRef(({className:a,...t},r)=>e(Xa.Overlay,{ref:r,className:Nt("fixed inset-0 z-50 bg-black/80",a),...t}));ml.displayName=Xa.Overlay.displayName;const ul=r.forwardRef(({className:t,children:r,...s},n)=>a(dl,{children:[e(ml,{}),a(Xa.Content,{ref:n,className:Nt("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",t),...s,children:[e("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),r]})]}));ul.displayName="DrawerContent";const hl=({className:a,...t})=>e("div",{className:Nt("grid gap-1.5 p-4 text-center sm:text-left",a),...t});hl.displayName="DrawerHeader";const pl=({className:a,...t})=>e("div",{className:Nt("mt-auto flex flex-col gap-2 p-4",a),...t});pl.displayName="DrawerFooter";const fl=r.forwardRef(({className:a,...t},r)=>e(Xa.Title,{ref:r,className:Nt("text-lg font-semibold leading-none tracking-tight",a),...t}));fl.displayName=Xa.Title.displayName;const gl=r.forwardRef(({className:a,...t},r)=>e(Xa.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));gl.displayName=Xa.Description.displayName;const bl={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6","auto-fit":"grid-cols-[repeat(auto-fit,minmax(250px,1fr))]","auto-fill":"grid-cols-[repeat(auto-fill,minmax(250px,1fr))]"},vl={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function yl({children:a,cols:t="auto-fit",gap:r="md",className:s}){return e("div",{className:Nt("grid",bl[t],vl[r],s),children:a})}const Nl=Ya.Root,xl=Ya.Trigger,wl=r.forwardRef(({className:a,align:t="center",sideOffset:r=4,...s},n)=>e(Ya.Content,{ref:n,align:t,sideOffset:r,className:Nt("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...s}));wl.displayName=Ya.Content.displayName;const kl=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-slot":"input-group",className:Nt("flex min-w-0 items-center rounded-md border border-input bg-background","focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 focus-within:ring-offset-background","has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50","has-[textarea:disabled]:cursor-not-allowed has-[textarea:disabled]:opacity-50",a),...t}));kl.displayName="InputGroup";const Cl=f("flex items-center justify-center text-sm text-muted-foreground shrink-0",{variants:{align:{"inline-start":"border-r border-input px-3","inline-end":"border-l border-input px-3","block-start":"border-b border-input px-3 py-2 w-full justify-start","block-end":"border-t border-input px-3 py-2 w-full justify-start"}},defaultVariants:{align:"inline-start"}}),Sl=r.forwardRef(({className:a,align:t,...r},s)=>e("div",{ref:s,"data-slot":"input-group-addon",className:Nt(Cl({align:t}),a),...r}));Sl.displayName="InputGroupAddon";const _l=f("",{variants:{size:{xs:"h-6 px-2 text-xs","icon-xs":"h-6 w-6",sm:"h-7 px-3 text-xs","icon-sm":"h-7 w-7"}},defaultVariants:{size:"xs"}}),Pl=r.forwardRef(({className:a,size:t,variant:r="ghost",...s},n)=>e(Pt,{ref:n,"data-slot":"input-group-button",variant:r,className:Nt(_l({size:t}),"rounded-none first:rounded-l-md last:rounded-r-md",a),...s}));Pl.displayName="InputGroupButton";const Il=r.forwardRef(({className:a,...t},r)=>e(At,{ref:r,"data-slot":"input-group-control",className:Nt("flex-1 border-0 bg-transparent shadow-none","focus-visible:ring-0 focus-visible:ring-offset-0",a),...t}));Il.displayName="InputGroupInput";const Al=r.forwardRef(({className:a,...t},r)=>e(vr,{ref:r,"data-slot":"input-group-control",className:Nt("flex-1 border-0 bg-transparent shadow-none resize-none","focus-visible:ring-0 focus-visible:ring-offset-0",a),...t}));Al.displayName="InputGroupTextarea";const Tl=r.forwardRef(({className:a,...t},r)=>e("h1",{ref:r,className:Nt("scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl",a),...t}));Tl.displayName="H1";const El=r.forwardRef(({className:a,...t},r)=>e("h2",{ref:r,className:Nt("scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0",a),...t}));El.displayName="H2";const Rl=r.forwardRef(({className:a,...t},r)=>e("h3",{ref:r,className:Nt("scroll-m-20 text-2xl font-semibold tracking-tight",a),...t}));Rl.displayName="H3";const zl=r.forwardRef(({className:a,...t},r)=>e("h4",{ref:r,className:Nt("scroll-m-20 text-xl font-semibold tracking-tight",a),...t}));zl.displayName="H4";const Ml=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("leading-7 [&:not(:first-child)]:mt-6",a),...t}));Ml.displayName="P";const Fl=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-xl text-muted-foreground",a),...t}));Fl.displayName="Lead";const Dl=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,className:Nt("text-lg font-semibold",a),...t}));Dl.displayName="Large";const jl=r.forwardRef(({className:a,...t},r)=>e("small",{ref:r,className:Nt("text-sm font-medium leading-none",a),...t}));jl.displayName="Small";const Ll=r.forwardRef(({className:a,...t},r)=>e("p",{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));Ll.displayName="Muted";const $l=r.forwardRef(({className:a,...t},r)=>e("code",{ref:r,className:Nt("relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold",a),...t}));$l.displayName="InlineCode";const Ol=r.forwardRef(({className:a,...t},r)=>e("blockquote",{ref:r,className:Nt("mt-6 border-l-2 pl-6 italic",a),...t}));Ol.displayName="Blockquote";const Ul=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,className:Nt("my-6 ml-6 list-disc [&>li]:mt-2",a),...t}));Ul.displayName="List";const Wl=r.forwardRef(({className:t,children:r,...s},n)=>a(Za.Root,{ref:n,className:Nt("relative z-10 flex max-w-max flex-1 items-center justify-center",t),...s,children:[r,e(Gl,{})]}));Wl.displayName=Za.Root.displayName;const ql=r.forwardRef(({className:a,...t},r)=>e(Za.List,{ref:r,className:Nt("group flex flex-1 list-none items-center justify-center space-x-1",a),...t}));ql.displayName=Za.List.displayName;const Vl=Za.Item,Bl=f("group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"),Hl=r.forwardRef(({className:t,children:r,...s},n)=>a(Za.Trigger,{ref:n,className:Nt(Bl(),"group",t),...s,children:[r," ",e(_,{className:"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180","aria-hidden":"true"})]}));Hl.displayName=Za.Trigger.displayName;const Kl=r.forwardRef(({className:a,...t},r)=>e(Za.Content,{ref:r,className:Nt("left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",a),...t}));Kl.displayName=Za.Content.displayName;const Ql=Za.Link,Gl=r.forwardRef(({className:a,...t},r)=>e("div",{className:Nt("absolute left-0 top-full flex justify-center"),children:e(Za.Viewport,{className:Nt("origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",a),ref:r,...t})}));Gl.displayName=Za.Viewport.displayName;const Jl=r.forwardRef(({className:a,...t},r)=>e(Za.Indicator,{ref:r,className:Nt("top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",a),...t,children:e("div",{className:"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md"})}));function Xl({items:r,maxItems:s=3,className:n}){const i=r.length>s?[r[0],...r.slice(-(s-1))]:r,o=r.length>s;return e(Po,{className:n,children:e(Io,{children:i.map((r,s)=>{const n=o&&1===s;return a(Ao,{children:[!(0===s)&&e(Ro,{}),n&&a(t,{children:[e(zo,{}),e(Ro,{})]}),r.isCurrentPage?e(Eo,{children:r.label}):e(To,{href:r.href,children:r.label})]},r.label)})})})}function Yl(){const e=ja();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let r="";return a.forEach((e,s)=>{r+=`/${e}`;const n=s===a.length-1,i=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:i,href:n?void 0:r,isCurrentPage:n})}),t})()}Jl.displayName=Za.Indicator.displayName;const Zl=({className:a,...t})=>e("nav",{role:"navigation","aria-label":"pagination",className:Nt("mx-auto flex w-full justify-center",a),...t});Zl.displayName="Pagination";const ed=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,className:Nt("flex flex-row items-center gap-1",a),...t}));ed.displayName="PaginationContent";const ad=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,className:Nt("",a),...t}));ad.displayName="PaginationItem";const td=({className:a,isActive:t,size:r="icon",...s})=>e("a",{"aria-current":t?"page":void 0,className:Nt(_t({variant:t?"outline":"ghost",size:r}),a),...s});td.displayName="PaginationLink";const rd=({className:t,...r})=>a(td,{"aria-label":"Go to previous page",size:"default",className:Nt("gap-1 pl-2.5",t),...r,children:[e(xe,{className:"h-4 w-4"}),e("span",{children:"Previous"})]});rd.displayName="PaginationPrevious";const sd=({className:t,...r})=>a(td,{"aria-label":"Go to next page",size:"default",className:Nt("gap-1 pr-2.5",t),...r,children:[e("span",{children:"Next"}),e(L,{className:"h-4 w-4"})]});sd.displayName="PaginationNext";const nd=({className:t,...r})=>a("span",{"aria-hidden":!0,className:Nt("flex h-9 w-9 items-center justify-center",t),...r,children:[e(Ve,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"More pages"})]});nd.displayName="PaginationEllipsis";const id=r.forwardRef(({className:a,...t},r)=>e(et.Root,{className:Nt("grid gap-2",a),...t,ref:r}));id.displayName=et.Root.displayName;const od=r.forwardRef(({className:a,...t},r)=>e(et.Item,{ref:r,className:Nt("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),...t,children:e(et.Indicator,{className:"flex items-center justify-center",children:e($,{className:"h-2.5 w-2.5 fill-current text-current"})})}));od.displayName=et.Item.displayName;const ld=({className:a,...t})=>e(at.PanelGroup,{className:Nt("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",a),...t}),dd=at.Panel,cd=({withHandle:a,className:t,...r})=>e(at.PanelResizeHandle,{className:Nt("relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...r,children:a&&e("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:e(Be,{className:"h-2.5 w-2.5"})})}),md=ba.Root,ud=ba.Trigger,hd=ba.Close,pd=ba.Portal,fd=r.forwardRef(({className:a,...t},r)=>e(ba.Overlay,{className:Nt("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...t,ref:r}));fd.displayName=ba.Overlay.displayName;const gd=f("fixed z-50 flex flex-col bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b max-h-[70vh] data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t max-h-[70vh] data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),bd=r.forwardRef(({side:t="right",className:r,children:s,...n},i)=>a(pd,{children:[e(fd,{}),a(ba.Content,{ref:i,className:Nt(gd({side:t}),r),...n,children:[s,a(ba.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-0 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[e(S,{className:"h-4 w-4"}),e("span",{className:"sr-only",children:"Close"})]})]})]}));bd.displayName=ba.Content.displayName;const vd=({className:t,showSeparator:r=!1,children:s,...n})=>a("div",{className:Nt("flex flex-col flex-shrink-0",t),...n,children:[e("div",{className:"flex flex-col text-left",children:s}),r&&e(Lt,{className:"mt-2"})]});vd.displayName="SheetHeader";const yd=({className:a,...t})=>e("div",{className:Nt("flex-1 min-h-0 overflow-auto py-4 px-1 -mx-1",a),...t});yd.displayName="SheetBody";const Nd=({className:t,children:r,...s})=>a("div",{className:"flex-shrink-0 pt-4",children:[e(Lt,{className:"mb-4"}),e("div",{className:Nt("flex flex-row justify-end gap-2",t),...s,children:r})]});Nd.displayName="SheetFooter";const xd=r.forwardRef(({className:a,...t},r)=>e(ba.Title,{ref:r,className:Nt("text-lg font-semibold text-foreground",a),...t}));xd.displayName=ba.Title.displayName;const wd=r.forwardRef(({className:a,...t},r)=>e(ba.Description,{ref:r,className:Nt("text-sm text-muted-foreground",a),...t}));wd.displayName=ba.Description.displayName;const kd="sidebar:state",Cd=r.createContext(null);function Sd(){const e=r.useContext(Cd);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const _d=r.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:n,style:i,children:o,...l},d)=>{const[c,m]=r.useState(!1);r.useEffect(()=>{const e=()=>m(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[u,h]=r.useState(!1),[p,f]=r.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(kd);return null!==e?"true"===e:a}return a}),g=t??p,b=r.useCallback(e=>{const a="function"==typeof e?e(g):e;s?s(a):f(a),"undefined"!=typeof window&&localStorage.setItem(kd,String(a))},[s,g]),v=r.useCallback(()=>c?h(e=>!e):b(e=>!e),[c,b,h]);r.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),v())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[v]);const y=g?"expanded":"collapsed",N=r.useMemo(()=>({state:y,open:g,setOpen:b,isMobile:c,openMobile:u,setOpenMobile:h,toggleSidebar:v}),[y,g,b,c,u,h,v]);return e(Cd.Provider,{value:N,children:e(ln,{delayDuration:0,children:e("div",{className:Nt("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",n),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...i},ref:d,...l,children:o})})})});_d.displayName="SidebarProvider";const Pd=r.forwardRef(({side:t="left",variant:r="sidebar",collapsible:s="offcanvas",className:n,children:i,...o},l)=>{const{isMobile:d,state:c,openMobile:m,setOpenMobile:u}=Sd();return"none"===s?e("div",{className:Nt("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",n),ref:l,...o,children:i}):d?e(md,{open:m,onOpenChange:u,...o,children:a(bd,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden sidebar-mobile",style:{"--sidebar-width":"18rem"},side:t,children:[e(xd,{className:"sr-only",children:"Menu de Navegação"}),e("div",{className:"flex h-full w-full flex-col",children:i})]})}):a("div",{ref:l,className:"group peer hidden md:block text-sidebar-foreground","data-state":c,"data-collapsible":"collapsed"===c?s:"","data-variant":r,"data-side":t,children:[e("div",{className:Nt("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),e("div",{className:Nt("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...o,children:e("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow bg-white",children:i})})]})});Pd.displayName="Sidebar";const Id=r.forwardRef(({className:t,onClick:r,...s},n)=>{const{toggleSidebar:i}=Sd();return a(Pt,{ref:n,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Nt("h-7 w-7",t),onClick:e=>{r?.(e),i()},...s,children:[e(He,{}),e("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Id.displayName="SidebarTrigger";const Ad=r.forwardRef(({className:a,...t},r)=>{const{toggleSidebar:s}=Sd();return e("button",{ref:r,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:Nt("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})});Ad.displayName="SidebarRail";const Td=r.forwardRef(({className:a,...t},r)=>e("main",{ref:r,className:Nt("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",a),...t}));Td.displayName="SidebarInset";const Ed=r.forwardRef(({className:a,...t},r)=>e(At,{ref:r,"data-sidebar":"input",className:Nt("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",a),...t}));Ed.displayName="SidebarInput";const Rd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"header",className:Nt("flex flex-col gap-2 p-2",a),...t}));Rd.displayName="SidebarHeader";const zd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"footer",className:Nt("flex flex-col gap-2 p-2",a),...t}));zd.displayName="SidebarFooter";const Md=r.forwardRef(({className:a,...t},r)=>e(Lt,{ref:r,"data-sidebar":"separator",className:Nt("mx-2 w-auto bg-sidebar-border",a),...t}));Md.displayName="SidebarSeparator";const Fd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"content",className:Nt("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...t}));Fd.displayName="SidebarContent";const Dd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"group",className:Nt("relative flex w-full min-w-0 flex-col p-2",a),...t}));Dd.displayName="SidebarGroup";const jd=r.forwardRef(({className:a,asChild:t=!1,...r},s)=>e(t?p:"div",{ref:s,"data-sidebar":"group-label",className:Nt("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...r}));jd.displayName="SidebarGroupLabel";const Ld=r.forwardRef(({className:a,asChild:t=!1,...r},s)=>e(t?p:"button",{ref:s,"data-sidebar":"group-action",className:Nt("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",a),...r}));Ld.displayName="SidebarGroupAction";const $d=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"group-content",className:Nt("w-full text-sm",a),...t}));$d.displayName="SidebarGroupContent";const Od=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,"data-sidebar":"menu",className:Nt("flex w-full min-w-0 flex-col gap-1",a),...t}));Od.displayName="SidebarMenu";const Ud=r.forwardRef(({className:a,...t},r)=>e("li",{ref:r,"data-sidebar":"menu-item",className:Nt("group/menu-item relative",a),...t}));Ud.displayName="SidebarMenuItem";const Wd=f("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),qd=r.forwardRef(({asChild:t=!1,isActive:r=!1,variant:s="default",size:n="default",tooltip:i,className:o,...l},d)=>{const c=t?p:"button",{isMobile:m,state:u}=Sd(),h=e(c,{ref:d,"data-sidebar":"menu-button","data-size":n,"data-active":r,className:Nt(Wd({variant:s,size:n}),o),...l});return i?("string"==typeof i&&(i={children:i}),a(dn,{children:[e(cn,{asChild:!0,children:h}),e(mn,{side:"right",align:"center",hidden:"collapsed"!==u||m,...i})]})):h});qd.displayName="SidebarMenuButton";const Vd=r.forwardRef(({className:a,asChild:t=!1,showOnHover:r=!1,...s},n)=>e(t?p:"button",{ref:n,"data-sidebar":"menu-action",className:Nt("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",a),...s}));Vd.displayName="SidebarMenuAction";const Bd=r.forwardRef(({className:a,...t},r)=>e("div",{ref:r,"data-sidebar":"menu-badge",className:Nt("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",a),...t}));Bd.displayName="SidebarMenuBadge";const Hd=r.forwardRef(({className:t,showIcon:s=!1,...n},i)=>{const o=r.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return a("div",{ref:i,"data-sidebar":"menu-skeleton",className:Nt("rounded-md h-8 flex gap-2 px-2 items-center",t),...n,children:[s&&e("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})});Hd.displayName="SidebarMenuSkeleton";const Kd=r.forwardRef(({className:a,...t},r)=>e("ul",{ref:r,"data-sidebar":"menu-sub",className:Nt("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",a),...t}));Kd.displayName="SidebarMenuSub";const Qd=r.forwardRef(({...a},t)=>e("li",{ref:t,...a}));Qd.displayName="SidebarMenuSubItem";const Gd=r.forwardRef(({asChild:a=!1,size:t="md",isActive:r,className:s,...n},i)=>e(a?p:"a",{ref:i,"data-sidebar":"menu-sub-button","data-size":t,"data-active":r,className:Nt("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===t&&"text-xs","md"===t&&"text-sm","group-data-[collapsible=icon]:hidden",s),...n}));Gd.displayName="SidebarMenuSubButton";const Jd=r.forwardRef(({className:t,value:r,defaultValue:s,...n},i)=>{const o=r||s||[0];return a(tt.Root,{ref:i,value:r,defaultValue:s,className:Nt("relative flex w-full touch-none select-none items-center",t),...n,children:[e(tt.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:e(tt.Range,{className:"absolute h-full bg-primary"})}),o.map((a,t)=>e(tt.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},t))]})});Jd.displayName=tt.Root.displayName;const Xd=rt.Root,Yd=r.forwardRef(({className:a,...t},r)=>e(rt.List,{ref:r,className:Nt("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",a),...t}));Yd.displayName=rt.List.displayName;const Zd=r.forwardRef(({className:a,...t},r)=>e(rt.Trigger,{ref:r,className:Nt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",a),...t}));Zd.displayName=rt.Trigger.displayName;const ec=r.forwardRef(({className:a,...t},r)=>e(rt.Content,{ref:r,className:Nt("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...t}));function ac({children:a,className:t}){return e("div",{className:Nt("flex flex-col h-full",t),children:e(ei,{className:"flex-1",children:e("div",{className:"space-y-6 p-6",children:a})})})}function tc({title:t,description:r,actions:s,className:n}){return a("div",{className:Nt("space-y-4",n),children:[a("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[a("div",{className:"space-y-1",children:[e("h2",{className:"text-2xl font-bold tracking-tight",children:t}),r&&e("p",{className:"text-muted-foreground text-sm",children:r})]}),s&&e("div",{className:"flex items-center gap-2 flex-wrap",children:s})]}),e(Lt,{})]})}function rc({children:a,className:t}){return e("div",{className:Nt("space-y-6",t),children:a})}ec.displayName=rt.Content.displayName;const sc=f("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),nc=r.forwardRef(({className:a,variant:t,size:r,...s},n)=>e(st.Root,{ref:n,className:Nt(sc({variant:t,size:r,className:a})),...s}));nc.displayName=st.Root.displayName;const ic=r.createContext({size:"default",variant:"default"}),oc=r.forwardRef(({className:a,variant:t,size:r,children:s,...n},i)=>e(nt.Root,{ref:i,className:Nt("flex items-center justify-center gap-1",a),...n,children:e(ic.Provider,{value:{variant:t,size:r},children:s})}));oc.displayName=nt.Root.displayName;const lc=r.forwardRef(({className:a,children:t,variant:s,size:n,...i},o)=>{const l=r.useContext(ic);return e(nt.Item,{ref:o,className:Nt(sc({variant:l.variant||s,size:l.size||n}),a),...i,children:t})});lc.displayName=nt.Item.displayName;const dc=it.Menu,cc=it.Group,mc=it.Portal,uc=it.Sub,hc=it.RadioGroup,pc=r.forwardRef(({className:a,...t},r)=>e(it.Root,{ref:r,className:Nt("flex h-10 items-center space-x-1 rounded-md border bg-background p-1",a),...t}));pc.displayName=it.Root.displayName;const fc=r.forwardRef(({className:a,...t},r)=>e(it.Trigger,{ref:r,className:Nt("flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",a),...t}));fc.displayName=it.Trigger.displayName;const gc=r.forwardRef(({className:t,inset:r,children:s,...n},i)=>a(it.SubTrigger,{ref:i,className:Nt("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",r&&"pl-8",t),...n,children:[s,e(L,{className:"ml-auto h-4 w-4"})]}));gc.displayName=it.SubTrigger.displayName;const bc=r.forwardRef(({className:a,...t},r)=>e(it.SubContent,{ref:r,className:Nt("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...t}));bc.displayName=it.SubContent.displayName;const vc=r.forwardRef(({className:a,align:t="start",alignOffset:r=-4,sideOffset:s=8,...n},i)=>e(it.Portal,{children:e(it.Content,{ref:i,align:t,alignOffset:r,sideOffset:s,className:Nt("z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...n})}));vc.displayName=it.Content.displayName;const yc=r.forwardRef(({className:a,inset:t,...r},s)=>e(it.Item,{ref:s,className:Nt("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",a),...r}));yc.displayName=it.Item.displayName;const Nc=r.forwardRef(({className:t,children:r,checked:s,...n},i)=>a(it.CheckboxItem,{ref:i,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),checked:s,...n,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(it.ItemIndicator,{children:e(I,{className:"h-4 w-4"})})}),r]}));Nc.displayName=it.CheckboxItem.displayName;const xc=r.forwardRef(({className:t,children:r,...s},n)=>a(it.RadioItem,{ref:n,className:Nt("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...s,children:[e("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e(it.ItemIndicator,{children:e($,{className:"h-2 w-2 fill-current"})})}),r]}));xc.displayName=it.RadioItem.displayName;const wc=r.forwardRef(({className:a,inset:t,...r},s)=>e(it.Label,{ref:s,className:Nt("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",a),...r}));wc.displayName=it.Label.displayName;const kc=r.forwardRef(({className:a,...t},r)=>e(it.Separator,{ref:r,className:Nt("-mx-1 my-1 h-px bg-muted",a),...t}));kc.displayName=it.Separator.displayName;const Cc=({className:a,...t})=>e("span",{className:Nt("ml-auto text-xs tracking-widest text-muted-foreground",a),...t});Cc.displayname="MenubarShortcut";const Sc={light:"",dark:".dark"},_c=r.createContext(null);function Pc(){const e=r.useContext(_c);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}const Ic=r.forwardRef(({id:t,className:s,children:n,config:i,...o},l)=>{const d=r.useId(),c=`chart-${t||d.replace(/:/g,"")}`;return e(_c.Provider,{value:{config:i},children:a("div",{"data-chart":c,ref:l,className:Nt("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",s),...o,children:[e(Ac,{id:c,config:i}),e(ot.ResponsiveContainer,{children:n})]})})});Ic.displayName="Chart";const Ac=({id:a,config:t})=>{const r=Object.entries(t).filter(([,e])=>e.theme||e.color);return r.length?e("style",{dangerouslySetInnerHTML:{__html:Object.entries(Sc).map(([e,t])=>`\n${t} [data-chart=${a}] {\n${r.map(([a,t])=>{const r=t.theme?.[e]||t.color;return r?` --color-${a}: ${r};`:null}).join("\n")}\n}\n`).join("\n")}}):null},Tc=ot.Tooltip,Ec=r.forwardRef(({active:s,payload:n,className:i,indicator:o="dot",hideLabel:l=!1,hideIndicator:d=!1,label:c,labelFormatter:m,labelClassName:u,formatter:h,color:p,nameKey:f,labelKey:g},b)=>{const{config:v}=Pc(),y=r.useMemo(()=>{if(l||!n?.length)return null;const[a]=n,t=Mc(v,a,`${g||a?.dataKey||a?.name||"value"}`),r=g||"string"!=typeof c?t?.label:v[c]?.label||c;return m?e("div",{className:Nt("font-medium",u),children:m(r,n)}):r?e("div",{className:Nt("font-medium",u),children:r}):null},[c,m,n,l,u,v,g]);if(!s||!n?.length)return null;const N=1===n.length&&"dot"!==o;return a("div",{ref:b,className:Nt("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",i),children:[N?null:y,e("div",{className:"grid gap-1.5",children:n.map((r,s)=>{const n=`${f||r.name||r.dataKey||"value"}`,i=Mc(v,r,n),l=p||r.payload?.fill||r.color;return e("div",{className:Nt("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===o&&"items-center"),children:h&&void 0!==r?.value&&r.name?h(r.value,r.name,r,s,r.payload):a(t,{children:[i?.icon?e(i.icon,{}):!d&&e("div",{className:Nt("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===o,"w-1":"line"===o,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===o,"my-0.5":N&&"dashed"===o}),style:{"--color-bg":l,"--color-border":l}}),a("div",{className:Nt("flex flex-1 justify-between leading-none",N?"items-end":"items-center"),children:[a("div",{className:"grid gap-1.5",children:[N?y:null,e("span",{className:"text-muted-foreground",children:i?.label||r.name})]}),void 0!==r.value&&e("span",{className:"font-mono font-medium tabular-nums text-foreground",children:"number"==typeof r.value?r.value.toLocaleString():r.value})]})]})},r.dataKey||s)})})]})});Ec.displayName="ChartTooltip";const Rc=ot.Legend,zc=r.forwardRef(({className:t,hideIcon:r=!1,payload:s,verticalAlign:n="bottom",nameKey:i},o)=>{const{config:l}=Pc();return s?.length?e("div",{ref:o,className:Nt("flex items-center justify-center gap-4","top"===n?"pb-3":"pt-3",t),children:s.map(t=>{const s=`${i||t.dataKey||"value"}`,n=Mc(l,t,s);return a("div",{className:Nt("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[n?.icon&&!r?e(n.icon,{}):e("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:t.color}}),n?.label]},t.value)})}):null});function Mc(e,a,t){if("object"!=typeof a||null===a)return;const r="payload"in a&&"object"==typeof a.payload&&null!==a.payload?a.payload:void 0;let s=t;return t in a&&"string"==typeof a[t]?s=a[t]:r&&t in r&&"string"==typeof r[t]&&(s=r[t]),s in e?e[s]:e[t]}zc.displayName="ChartLegend";const Fc=({onClick:a,isActive:t,disabled:r,children:s,title:n})=>e("button",{type:"button",onClick:a,disabled:r,title:n,className:Nt("p-1.5 rounded hover:bg-muted transition-colors",t?"bg-muted text-primary":"text-muted-foreground",r&&"opacity-50 cursor-not-allowed"),children:s}),Dc=()=>e("div",{className:"w-px h-5 bg-border mx-1"}),jc=({value:t,onChange:s,disabled:i,placeholder:o="Escreva o conteúdo aqui...",minHeight:l="300px",showModeToggle:c=!0,showVariableHint:m=!0,className:u})=>{const[h,p]=n("visual"),f=lt({extensions:[ct.configure({heading:{levels:[1,2,3]}}),mt,ut.configure({openOnClick:!1,HTMLAttributes:{class:"text-primary underline"}}),ht,pt,ft.configure({multicolor:!0})],content:t||"",editable:!i,onUpdate:({editor:e})=>{s(e.getHTML())}});r.useEffect(()=>{f&&t!==f.getHTML()&&f.commands.setContent(t||"")},[t,f]);const g=d(()=>{if(!f)return;const e=f.getAttributes("link").href,a=window.prompt("URL",e);null!==a&&(""!==a?f.chain().focus().extendMarkRange("link").setLink({href:a}).run():f.chain().focus().extendMarkRange("link").unsetLink().run())},[f]);return f?a("div",{className:Nt("space-y-2",u),children:[c&&a("div",{className:"flex justify-between items-center",children:[a("div",{className:"flex gap-1",children:[a(Pt,{type:"button",size:"sm",variant:"visual"===h?"default":"outline",onClick:()=>p("visual"),disabled:i,children:[e(Ke,{className:"h-3.5 w-3.5 mr-1"}),"Editor Visual"]}),a(Pt,{type:"button",size:"sm",variant:"code"===h?"default":"outline",onClick:()=>p("code"),disabled:i,children:[e(Qe,{className:"h-3.5 w-3.5 mr-1"}),"Código HTML"]}),a(Pt,{type:"button",size:"sm",variant:"preview"===h?"default":"outline",onClick:()=>p("preview"),disabled:i,children:[e(re,{className:"h-3.5 w-3.5 mr-1"}),"Preview"]})]}),m&&a("p",{className:"text-xs text-muted-foreground",children:["Use ",e("code",{className:"bg-muted px-1 py-0.5 rounded",children:"{{variavel}}"})]})]}),"visual"===h&&a("div",{className:"border rounded-md overflow-hidden bg-background",children:[a("div",{className:"flex flex-wrap items-center gap-0.5 p-2 border-b bg-muted/30",children:[e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:1}).run(),isActive:f.isActive("heading",{level:1}),disabled:i,title:"Título 1",children:e(Ge,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:2}).run(),isActive:f.isActive("heading",{level:2}),disabled:i,title:"Título 2",children:e(Je,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleHeading({level:3}).run(),isActive:f.isActive("heading",{level:3}),disabled:i,title:"Título 3",children:e(Xe,{className:"h-4 w-4"})}),e(Dc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleBold().run(),isActive:f.isActive("bold"),disabled:i,title:"Negrito",children:e(Ye,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleItalic().run(),isActive:f.isActive("italic"),disabled:i,title:"Itálico",children:e(Ze,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleUnderline().run(),isActive:f.isActive("underline"),disabled:i,title:"Sublinhado",children:e(ea,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleStrike().run(),isActive:f.isActive("strike"),disabled:i,title:"Riscado",children:e(aa,{className:"h-4 w-4"})}),e(Dc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleBulletList().run(),isActive:f.isActive("bulletList"),disabled:i,title:"Lista",children:e(ta,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().toggleOrderedList().run(),isActive:f.isActive("orderedList"),disabled:i,title:"Lista Ordenada",children:e(ra,{className:"h-4 w-4"})}),e(Dc,{}),e(Fc,{onClick:()=>f.chain().focus().toggleHighlight().run(),isActive:f.isActive("highlight"),disabled:i,title:"Destacar",children:e(sa,{className:"h-4 w-4"})}),e(Fc,{onClick:g,isActive:f.isActive("link"),disabled:i,title:"Link",children:e(na,{className:"h-4 w-4"})}),e(Dc,{}),e(Fc,{onClick:()=>f.chain().focus().unsetAllMarks().clearNodes().run(),disabled:i,title:"Limpar Formatação",children:e(ia,{className:"h-4 w-4"})}),e(Dc,{}),e(Fc,{onClick:()=>f.chain().focus().undo().run(),disabled:i||!f.can().undo(),title:"Desfazer",children:e(oa,{className:"h-4 w-4"})}),e(Fc,{onClick:()=>f.chain().focus().redo().run(),disabled:i||!f.can().redo(),title:"Refazer",children:e(la,{className:"h-4 w-4"})})]}),e(dt,{editor:f,className:Nt("prose prose-sm max-w-none p-4 focus:outline-none","[&_.ProseMirror]:outline-none","[&_.ProseMirror_p.is-editor-empty:first-child::before]:text-muted-foreground","[&_.ProseMirror_p.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]","[&_.ProseMirror_p.is-editor-empty:first-child::before]:float-left","[&_.ProseMirror_p.is-editor-empty:first-child::before]:h-0","[&_.ProseMirror_p.is-editor-empty:first-child::before]:pointer-events-none"),style:{minHeight:l}})]}),"code"===h&&e("textarea",{value:t||"",onChange:e=>s(e.target.value),disabled:i,className:"w-full p-3 border rounded-md font-mono text-sm resize-none focus:ring-2 focus:ring-primary bg-background",style:{height:l},placeholder:"Cole ou edite o HTML aqui..."}),"preview"===h&&e("div",{className:"border rounded-lg p-4 bg-muted overflow-auto",style:{height:l},children:e("div",{className:"bg-background shadow-sm rounded border p-4",children:e("div",{dangerouslySetInnerHTML:{__html:t||`<p class="text-muted-foreground">${o}</p>`}})})})]}):null};function Lc({label:t,onClick:r,icon:s,actions:n=[],variant:i="default",size:o="default",disabled:l=!1,loading:d=!1,menuAlign:c="end",className:m}){const u=l||d;if(!(n.length>0))return a(Pt,{variant:i,size:o,disabled:u,onClick:r,className:m,children:[d?e(A,{className:"mr-2 h-4 w-4 animate-spin"}):s?e(s,{className:"mr-2 h-4 w-4"}):null,t]});return a("div",{className:Nt("inline-flex rounded-md shadow-sm",m),children:[a(Pt,{variant:i,size:o,disabled:u,onClick:r,className:"rounded-r-none border-r-0 focus:z-10",children:[d?e(A,{className:"mr-2 h-4 w-4 animate-spin"}):s?e(s,{className:"mr-2 h-4 w-4"}):null,t]}),a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:i,size:o,disabled:u,className:Nt("rounded-l-none focus:z-10",{sm:"w-7 min-w-7 px-0",default:"w-8 min-w-8 px-0",lg:"w-9 min-w-9 px-0"}[o]),"aria-label":"Mais opções",children:e(_,{className:{sm:"h-3 w-3",default:"h-4 w-4",lg:"h-4 w-4"}[o]})})}),e(wn,{align:c,className:"min-w-[160px]",children:n.map(t=>{const r=t.icon;return a(kn,{onClick:t.onClick,disabled:t.disabled,className:Nt("destructive"===t.variant&&"text-destructive focus:text-destructive"),children:[r&&e(r,{className:"mr-2 h-4 w-4"}),t.label]},t.id)})})]})]})}function $c({data:t,columns:r,sortField:s,sortDirection:n,onSort:o,onRowClick:l,renderActions:d,isLoading:c=!1,emptyMessage:m="Nenhum item encontrado",className:u,enableSelection:h=!1,selectedIds:p=[],onSelectItem:f,onSelectAll:g,isAllSelected:b=!1,enableColumnResize:v=!0,onColumnResize:y,storageKey:N}){const{columnWidths:x,isDragging:w,activeColumn:k,handleMouseDown:C}=Kn({columns:r.map(e=>({key:String(e.key),minWidth:e.minWidth??60,maxWidth:e.maxWidth??500,defaultWidth:e.width??e.minWidth??150})),storageKey:N?`${N}-columns`:void 0,onResize:y,enabled:v}),{isDragging:S,activeRow:_,handleMouseDown:P,getRowHeight:I}=Qn({rowIds:t.map(e=>e.id),storageKey:N?`${N}-rows`:void 0,enabled:!1}),A=i(()=>{if(v)return r.map(e=>`${x[String(e.key)]??e.width??e.minWidth??150}px`);const e=r.reduce((e,a)=>a.width?e:e+(a.weight??1),0);return r.map(a=>{if(a.width)return`${a.width}px`;if(a.minWidth&&!a.weight)return`${a.minWidth}px`;const t=(a.weight??1)/e*100;return a.minWidth?`minmax(${a.minWidth}px, ${t}%)`:`${t}%`})},[r,v,x]);if(c)return e("div",{className:"flex-1 overflow-auto",children:e("div",{className:"p-4 space-y-3",children:[...Array(5)].map((a,t)=>e(jr,{className:"h-12 w-full"},t))})});if(0===t.length)return e("div",{className:"flex-1 flex items-center justify-center",children:e("div",{className:"text-center text-muted-foreground",children:e("p",{children:m})})});return e("div",{className:"flex-1 overflow-auto "+(w||S?"select-none":""),children:a(Hs,{className:u,children:[e(Ks,{className:"sticky top-0 bg-background z-10",children:a(Js,{children:[h&&e(Xs,{className:"w-[40px]",children:e(br,{checked:b,onCheckedChange:g,"aria-label":"Selecionar todos"})}),r.map((t,r)=>{const i=v&&!1!==t.resizable,l=k===String(t.key);return a(Xs,{className:`${t.className||""} relative`,style:{width:A[r]},children:[t.sortable&&o?a("button",{onClick:()=>o(String(t.key)),className:"flex items-center hover:text-foreground transition-colors font-medium",children:[t.header,(d=String(t.key),s!==d?e(B,{size:14,className:"ml-1 opacity-50"}):e("asc"===n?H:K,{size:14,className:"ml-1"}))]}):e("span",{className:"font-medium",children:t.header}),i&&e(hn,{direction:"horizontal",onMouseDown:e=>C(String(t.key),e),isDragging:l})]},String(t.key));var d}),d&&e(Xs,{className:"w-[80px] text-right",children:"Ações"})]})}),e(Qs,{children:t.map(t=>{const s=I(t.id);return t.id,a(Js,{onClick:()=>l?.(t),className:(l?"cursor-pointer":"")+" relative",style:s?{height:`${s}px`}:void 0,children:[h&&e(Ys,{children:e(br,{checked:p.includes(t.id),onCheckedChange:()=>f?.(t.id),onClick:e=>e.stopPropagation(),"aria-label":`Selecionar item ${t.id}`})}),r.map(a=>e(Ys,{className:a.className,children:e(un,{children:a.render?a.render(t):String(t[a.key]??"-")})},String(a.key))),d&&e(Ys,{className:"text-right",onClick:e=>e.stopPropagation(),children:d(t)})]},t.id)})})]})})}function Oc({onEdit:t,onDelete:r,onToggleStatus:s,isActive:n=!0,canEdit:i=!0,canDelete:o=!0,customActions:l=[],renderAs:d="dropdown",variant:c="default"}){const{t:m}=Pa(),u=[];return t&&i&&u.push({icon:O,label:m("edit"),onClick:t,variant:"default"}),s&&u.push({icon:n?U:W,label:m(n?"deactivate":"activate"),onClick:s,variant:"default"}),l.forEach(e=>{!1!==e.show&&u.push({icon:e.icon,label:e.label,onClick:e.onClick,variant:e.variant||"default"})}),r&&o&&u.push({icon:q,label:m("remove"),onClick:r,variant:"destructive"}),0===u.length?null:"dropdown"===d?a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"ghost",size:"compact"===c?"sm":"default",className:"compact"===c?"h-7 px-2":"",children:e(C,{size:"compact"===c?14:16})})}),e(wn,{align:"end",className:"bg-background border border-border shadow-lg min-w-[120px]",children:u.map((t,r)=>a(kn,{onClick:t.onClick,className:"destructive"===t.variant?"text-destructive":"",children:[t.icon&&e(t.icon,{className:"mr-2 h-4 w-4"}),t.label]},r))})]}):e("div",{className:"flex items-center gap-1",children:u.map((t,r)=>a(Pt,{variant:"destructive"===t.variant?"destructive":"ghost",size:"compact"===c?"sm":"default",onClick:t.onClick,className:"compact"===c?"h-7 px-2":"",children:[t.icon&&e(t.icon,{size:"compact"===c?14:16}),"compact"!==c&&e("span",{className:"ml-1",children:t.label})]},r))})}function Uc({searchValue:t="",onSearchChange:r,customFilters:s=[],onClearFilters:n,showClearButton:i=!0,layout:o="horizontal"}){const{t:l}=Pa(),d=t||s.length>0;return a("div",{className:`flex ${"vertical"===o?"flex-col":"flex-row items-center"} gap-2 w-full`,children:[r&&a("div",{className:"relative flex-1 min-w-[200px]",children:[e(D,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e(At,{type:"text",placeholder:l("search"),value:t,onChange:e=>r(e.target.value),className:"pl-9 h-9"})]}),s.map((a,t)=>e("div",{className:"vertical"===o?"w-full":"",children:a},t)),i&&d&&n&&a(Pt,{variant:"ghost",size:"sm",onClick:n,className:"h-9 px-3 whitespace-nowrap",children:[e(S,{size:14,className:"mr-1"}),l("clear_filters")]})]})}function Wc(e){const a=La();return{onNew:()=>{const t=e.newPath||`${e.basePath}/new`;a(t)},onEdit:t=>{const r=e.editPath?e.editPath.replace(":id",t.id):`${e.basePath}/${t.id}/edit`;a(r)}}}function qc(e,a){const t=Wc({basePath:e,newPath:a.newPath,editPath:a.editPath});return{useCustomRouting:!0,onNew:t.onNew,onEdit:t.onEdit}}const Vc=[{value:"pt-BR",label:"Português (BR)",flag:"🇧🇷"},{value:"en-US",label:"English (US)",flag:"🇺🇸"},{value:"es-ES",label:"Español",flag:"🇪🇸"}],Bc=[{value:"dd/MM/yyyy HH:mm",label:"dd/MM/yyyy HH:mm",example:"28/11/2024 14:30",description:"Padrão Brasileiro"},{value:"MM/dd/yyyy hh:mm a",label:"MM/dd/yyyy hh:mm a",example:"11/28/2024 02:30 PM",description:"Padrão Americano (12h)"},{value:"MM/dd/yyyy HH:mm",label:"MM/dd/yyyy HH:mm",example:"11/28/2024 14:30",description:"Padrão Americano (24h)"},{value:"yyyy-MM-dd HH:mm",label:"yyyy-MM-dd HH:mm",example:"2024-11-28 14:30",description:"ISO 8601"},{value:"dd.MM.yyyy HH:mm",label:"dd.MM.yyyy HH:mm",example:"28.11.2024 14:30",description:"Padrão Europeu"},{value:"d MMM yyyy, HH:mm",label:"d MMM yyyy, HH:mm",example:"28 Nov 2024, 14:30",description:"Formato Longo"}],Hc=[{value:"America/Sao_Paulo",label:"Brasília (UTC-3)",offset:"-03:00"},{value:"America/Noronha",label:"Fernando de Noronha (UTC-2)",offset:"-02:00"},{value:"America/Manaus",label:"Manaus (UTC-4)",offset:"-04:00"},{value:"America/Rio_Branco",label:"Rio Branco (UTC-5)",offset:"-05:00"},{value:"America/New_York",label:"New York (UTC-5/-4)",offset:"-05:00"},{value:"America/Chicago",label:"Chicago (UTC-6/-5)",offset:"-06:00"},{value:"America/Los_Angeles",label:"Los Angeles (UTC-8/-7)",offset:"-08:00"},{value:"Europe/London",label:"Londres (UTC+0/+1)",offset:"+00:00"},{value:"Europe/Paris",label:"Paris (UTC+1/+2)",offset:"+01:00"},{value:"Europe/Berlin",label:"Berlim (UTC+1/+2)",offset:"+01:00"},{value:"Asia/Tokyo",label:"Tóquio (UTC+9)",offset:"+09:00"},{value:"Australia/Sydney",label:"Sydney (UTC+10/+11)",offset:"+10:00"}],Kc=()=>{const{locale:t,datetimeFormat:r,timezone:s,setLocale:n,setDatetimeFormat:i,setTimezone:o}=Zi(),{t:l}=Pa();return a("div",{className:"space-y-4 p-4",children:[a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(da,{className:"h-4 w-4"}),l("language")]}),a(or,{value:t,onValueChange:n,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Vc.map(e=>a(fr,{value:e.value,children:[e.flag," ",e.label]},e.value))})]})]}),a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(ve,{className:"h-4 w-4"}),l("timezone")||"Fuso Horário"]}),a(or,{value:s,onValueChange:o,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Hc.map(a=>e(fr,{value:a.value,children:a.label},a.value))})]})]}),a("div",{children:[a("label",{className:"text-sm font-medium mb-2 flex items-center gap-2",children:[e(Ee,{className:"h-4 w-4"}),l("dateTimeFormat")||"Formato de Data/Hora"]}),a(or,{value:r,onValueChange:i,children:[e(cr,{children:e(dr,{})}),e(hr,{children:Bc.map(t=>e(fr,{value:t.value,children:a("div",{className:"flex flex-col items-start",children:[e("span",{children:t.label}),a("span",{className:"text-xs text-muted-foreground",children:[t.description," • ",t.example]})]})},t.value))})]})]})]})},Qc=s.memo(({variant:r="card",className:i="",selectedUnit:o,onUnitChange:l})=>{const{user:d,companies:c,alias:m,isAuthenticated:u,logout:h,switchUnit:p}=qs(),[f,g]=n(!1),b="true"===import.meta.env.VITE_SHOW_USER_PREFERENCES,v=c?.[0]||null,y=m?c?.find(e=>e.alias===m):v,N=c||[],x=o||y||v||v,w=s.useCallback(e=>{l?l(e):p(e)},[l,p]),k=s.useMemo(()=>{if(!N?.length)return[];const e=new Map;N.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===x?.alias),r=a.filter(e=>e.alias!==x?.alias);return r.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...r]:r},[N,x?.alias]);if(!u||!d)return null;const C=()=>a(t,{children:[a("div",{className:"flex items-center space-x-3",children:[e("div",{className:"flex-shrink-0",children:e("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:e(Fe,{className:"h-5 w-5 text-primary-foreground"})})}),a("div",{className:"flex-1 min-w-0",children:[e("p",{className:"text-sm font-medium truncate",children:d.name}),a("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",x?.name||"N/A"]})]})]}),x&&e("div",{className:"mt-3",children:a("div",{className:"flex items-center space-x-2",children:[e(ca,{className:"h-4 w-4 text-muted-foreground"}),e("span",{className:"text-sm font-medium",children:x.name})]})}),k.length>1&&a("div",{className:"mt-2",children:[a("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",k.length]}),a("div",{className:"flex flex-wrap gap-1",children:[k.slice(0,3).map(a=>e(Nr,{variant:a.alias===x?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>w(a),children:a.name},a.alias)),k.length>3&&a(Nr,{variant:"outline",className:"text-xs",children:["+",k.length-3]})]})]})]});return"dropdown"===r?a(pn,{children:[e(fn,{asChild:!0,children:e(Pt,{variant:"ghost",className:`h-auto p-2 ${i}`,children:a("div",{className:"flex items-center space-x-2",children:[a("div",{className:"hidden md:block text-left",children:[e("p",{className:"text-sm font-medium",children:d.name}),e("p",{className:"text-xs text-muted-foreground",children:x?.name||"N/A"})]}),e("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:e(Fe,{className:"h-4 w-4 text-primary-foreground"})}),e(_,{className:"h-4 w-4"})]})})}),a(wn,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[a(vn,{children:[a(Nn,{children:[e(qe,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),e(xn,{children:k.map(t=>a(kn,{onClick:()=>w(t),className:t.alias===x?.alias?"bg-muted":"",children:[e(ca,{className:"mr-2 h-4 w-4"}),t.name,t.alias===x?.alias&&e(Nr,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},t.alias))})]}),b&&e(Pn,{}),b&&a(kn,{onClick:()=>g(!0),children:[e(Me,{className:"mr-2 h-4 w-4"}),"Preferências"]}),a(kn,{onClick:h,children:[e(ma,{className:"mr-2 h-4 w-4"}),"Sair"]})]}),b&&e($t,{open:f,onOpenChange:g,children:a(Bt,{children:[e(Ht,{children:e(Gt,{children:"Preferências de Internacionalização"})}),e(Kc,{})]})})]}):a(Rt,{className:i,children:[e(zt,{children:e(Mt,{className:"text-lg",children:"Informações do Usuário"})}),a(Dt,{className:"space-y-4",children:[e(C,{}),e(Lt,{}),b&&a(Pt,{variant:"outline",onClick:()=>g(!0),size:"sm",className:"w-full",children:[e(Me,{className:"mr-2 h-4 w-4"}),"Preferências"]}),a(Pt,{variant:"outline",onClick:h,size:"sm",className:"w-full",children:[e(ma,{className:"mr-2 h-4 w-4"}),"Sair"]}),b&&e($t,{open:f,onOpenChange:g,children:a(Bt,{children:[e(Ht,{children:e(Gt,{children:"Preferências de Internacionalização"})}),e(Kc,{})]})})]})]})}),Gc=o({});function Jc({children:a,config:t}){const r=i(()=>({navigation:t?.navigation,appName:t?.appName}),[t?.navigation,t?.appName]);return e(Gc.Provider,{value:r,children:a})}function Xc(){return l(Gc)}function Yc(){const e=ja(),{navigation:a}=Xc(),{t:t}=Pa();if(!a)return t("page");const r=a.find(a=>a.path===e.pathname);if(r)return r.label;const s=a.find(a=>e.pathname.startsWith(a.path+"/"));return s?.label||t("page")}function Zc(e,a){const[t,r]=n(e),s=m(),i=d(()=>{s.current&&(clearTimeout(s.current),s.current=void 0)},[]);return c(()=>(i(),s.current=setTimeout(()=>{r(e)},a),i),[e,a,i]),[t,i]}const em=u(function({actions:t}){const r=ja(),s=Yc(),{navigation:i,appName:o}=Xc(),{metadata:l,headerActions:d}=Li(),{t:m}=Pa(),{companies:u,alias:h,isSearchVisible:p,clearSearch:f,refreshData:g,switchUnit:b}=qs(),v=h?u?.find(e=>e.alias===h)||u?.[0]||null:u?.[0]||null,[y,N]=Da(),[x,w]=n(()=>y.get("search")||""),[k,C]=Zc(x,ys.debounceDelay);c(()=>{if(!p)return;const e=new URLSearchParams(y);k?(e.set("search",k),e.set("page","1")):e.delete("search"),N(e)},[k,N,p]);const _=i?.find(e=>e.path===r.pathname)||i?.find(e=>r.pathname.startsWith(e.path+"/")),P=l.title||s,I=l.subtitle||_?.complementaryText||m("item_details");return e("header",{className:"bg-background border-b border-border px-2 md:px-4 py-2",children:a("div",{className:"flex items-center gap-4",children:[a("div",{className:"flex-shrink-0",children:[a("div",{className:"flex items-center gap-2 mb-1",children:[e("h1",{className:"text-lg font-semibold text-foreground truncate",children:P}),e(Nr,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:o||m("module")})]}),I&&e("p",{className:"text-sm text-muted-foreground truncate",children:I})]}),p&&a("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[a("div",{className:"relative flex-1",children:[e(D,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),e(At,{placeholder:m("search"),value:x,onChange:e=>(e=>{w(e)})(e.target.value),className:"w-full pl-10 pr-8"}),x&&e(Pt,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-muted",onClick:()=>{C(),w("");const e=new URLSearchParams(y);e.delete("search"),e.delete("page"),N(e)},title:m("clear_search"),children:e(S,{size:14})})]}),e(Pt,{variant:"outline",size:"sm",onClick:g,className:"flex-shrink-0 h-10 w-10 p-0",title:m("refresh_data"),children:e(qe,{size:14})})]}),a("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[(d||t)&&e("div",{className:"flex items-center gap-2",children:d||t}),import.meta.env.VITE_WIKI_URL&&e(Pt,{variant:"secondary",size:"sm",className:"h-8 px-3",onClick:e=>yt(import.meta.env.VITE_WIKI_URL,e),title:m("open_wiki"),children:"Wiki"}),e("div",{className:"text-sm",children:e(Qc,{variant:"dropdown",selectedUnit:v,onUnitChange:b})})]})]})})}),am=({key:e,enabled:a,checkFn:t,staleTime:r=3e5,gcTime:s=6e5})=>Ra({queryKey:["permission",e],queryFn:t,enabled:a,staleTime:r,gcTime:s,retry:0,refetchOnWindowFocus:!1}),tm=(e={})=>{const{enabled:a=!0}=e,{alias:t}=qs();return Ra({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=is(),{data:a,error:r}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",t).eq("status","active").order("name");if(r){if(!ms.handleError(r))throw r;return[]}return a||[]},enabled:a&&!!t})},rm="forlogic-sidebar-pinned",sm=()=>{try{const e=localStorage.getItem(rm);return!!e&&JSON.parse(e)}catch{return!1}},nm=e=>{const a=["border-l-yellow-400","border-l-green-400","border-l-blue-400","border-l-red-400","border-l-purple-400","border-l-pink-400"];return a[e%a.length]},im=`https://${import.meta.env.VITE_SUPABASE_PROJECT_ID_STORAGE??import.meta.env.VITE_SUPABASE_PROJECT_ID}.supabase.co/storage/v1/object/public/library-assets`,om={logo:`${im}/${Cs.isQualiex?"logo-qualiex.svg":"logo.svg"}`,smallLogo:`${im}/${Cs.isQualiex?"small-forlogic.svg":"small.svg"}`},lm=om.logo,dm=om.smallLogo;function cm({appName:r,isPinned:s,onPinToggle:n,open:i,dropdownOpen:o,onDropdownChange:l}){const{t:d}=Pa(),{data:c,isLoading:m,error:u}=tm({enabled:o}),h=e=>{((e,a)=>{const t=e?.find(e=>e.url===a);t?.url&&window.open(t.url,"_blank")})(c,e)};return a(Rd,{className:"p-0 gap-0",children:[e("div",{className:"flex items-center justify-between h-[34px]",children:i?a(t,{children:[e("div",{className:"flex items-center pl-[12px]",children:e("img",{src:om.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),e("button",{onClick:n,className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(s?"bg-primary/20 text-primary":"hover:bg-muted text-muted-foreground"),children:e(He,{className:"h-4 w-4"})})]}):e("div",{className:"flex items-center justify-center w-full h-[34px]",children:e("img",{src:om.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),e("div",{className:"mt-2 pt-0",children:a(pn,{onOpenChange:l,children:[e(fn,{asChild:!0,children:i?a("div",{className:"bg-muted hover:bg-muted/80 text-foreground font-medium text-sm flex items-center justify-between cursor-pointer transition-all duration-200 h-8 px-3 gap-3 rounded-md w-full",children:[a("div",{className:"flex items-center gap-2 min-w-0",children:[e("img",{src:"https://ccjfvpnndclajkleyqkc.supabase.co/storage/v1/object/public/library-assets/composit.svg",alt:"Menu",className:"h-6 w-6 text-muted-foreground flex-shrink-0"}),e("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:r})]}),e(_,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):e("div",{className:"flex items-center justify-center w-full h-8 bg-muted hover:bg-muted/80 rounded-md cursor-pointer transition-all duration-200 p-[5px]",children:e(_,{className:"h-6 w-6 text-muted-foreground"})})}),e(wn,{className:i?"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50":"w-[58px] bg-popover rounded-lg shadow-lg border border-border p-2 z-50",align:i?"start":"center",children:m?a("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[e(A,{className:"h-4 w-4 animate-spin"}),e("span",{className:"text-sm",children:d("loading")})]}):u?a("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[e(F,{className:"h-4 w-4"}),e("span",{className:"text-sm",children:d("error")})]}):c&&0!==c.length?e("div",{className:"space-y-2",children:c.map((t,r)=>e("div",{onClick:()=>h(t.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${nm(r)} transition-colors duration-200\n `,children:a("div",{className:"flex items-center justify-between",children:[e("span",{className:"font-medium text-foreground text-sm",children:t.name}),t.url&&e(ua,{className:"h-4 w-4 text-muted-foreground"})]})},t.id))}):e("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:d("no_results")})})]})})]})}function mm({config:r,isCollapsed:s=!1,isDisabled:n=!1,className:i}){const{actions:o,triggerLabel:l="Criar",triggerIcon:d=V}=r;if(!o||0===o.length)return null;const c=(r,n,i=!1)=>a(t,{children:[r,!s&&n&&e("span",{className:"truncate",children:n}),!s&&i&&e(_,{className:"ml-auto h-4 w-4 shrink-0"})]});if(!(o.length>1)){const t=o[0],r=t.icon||d,l=n||t.disabled,m=e(Pt,{onClick:t.onClick,disabled:l,className:Nt("w-full gap-2 justify-start",s&&"justify-center px-2",i),variant:"outline",size:"default",children:c(e(r,{className:"h-4 w-4 shrink-0"}),t.label)});return s?a(dn,{children:[e(cn,{asChild:!0,children:m}),e(mn,{side:"right",children:e("p",{children:t.label})})]}):m}const m=e(Pt,{disabled:n,className:Nt("w-full gap-2 justify-start",s&&"justify-center px-2",i),variant:"outline",size:"default",children:c(e(d,{className:"h-4 w-4 shrink-0"}),l,!0)});return a(pn,{children:[e(fn,{asChild:!0,children:s?a(dn,{children:[e(cn,{asChild:!0,children:m}),e(mn,{side:"right",children:e("p",{children:l})})]}):m}),e(wn,{align:"start",side:s?"right":"bottom",className:"w-56 bg-popover",children:o.map(t=>{const r=t.icon;return a(kn,{onClick:t.onClick,disabled:t.disabled,className:"cursor-pointer",children:[r&&e(r,{className:"mr-2 h-4 w-4"}),t.label]},t.id)})})]})}function um({direction:e="right",minWidth:a=224,maxWidth:t=384,defaultWidth:r=240,storageKey:s="sidebar-width",onResize:i,isOpen:o=!0}={}){const[l,u]=n(()=>{if("undefined"==typeof window)return r;const e=localStorage.getItem(s);return e?parseInt(e):r}),[h,p]=n(!1),f=m(null);c(()=>{const e=document.querySelector(".sidebar-container");e&&e instanceof HTMLElement&&(o?e.style.setProperty("--sidebar-width",`${l}px`):e.style.setProperty("--sidebar-width","240px"))},[l,o]);const g=d(e=>{e.preventDefault(),p(!0)},[]);return c(()=>{if(!h)return;const r=r=>{let s;s="left"===e?window.innerWidth-r.clientX:r.clientX,s=Math.max(a,Math.min(t,s)),u(s),i?.(s)},n=()=>{p(!1),localStorage.setItem(s,l.toString())};return document.addEventListener("mousemove",r),document.addEventListener("mouseup",n),()=>{document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n)}},[h,e,a,t,l,s,i]),c(()=>{h?(document.body.style.cursor="ew-resize",document.body.style.userSelect="none"):(document.body.style.cursor="",document.body.style.userSelect="")},[h,e]),{width:l,isDragging:h,dragRef:f,handleMouseDown:g}}const hm=o(void 0);function pm({children:a}){const[t,r]=n(new Set),[s,o]=n(!1),l=d(e=>{r(a=>{const t=new Set(a);return t.add(e),t})},[]),c=d(e=>{r(a=>{const t=new Set(a);return t.delete(e),t})},[]),m=d(e=>{o(e)},[]),u=i(()=>t.size>0||s,[t,s]),h=i(()=>({openModals:t,hasOpenModal:u,registerModal:l,unregisterModal:c,setHasOpenModal:m}),[t,u,l,c,m]);return e(hm.Provider,{value:h,children:a})}function fm(){const e=l(hm);return e||{openModals:new Set,hasOpenModal:!1,registerModal:()=>{},unregisterModal:()=>{},setHasOpenModal:()=>{}}}function gm(){const{hasOpenModal:e}=fm();return e}function bm({config:t,customContent:r,resizable:s=!1,minWidth:i=224,maxWidth:o=384}={}){const{t:l}=Pa(),{open:d,setOpen:u}=Sd(),h=ja(),{alias:p,user:f}=qs(),{hasOpenModal:g}=fm(),[b,v]=n(!1),[y,N]=n(sm),[x,w]=n(!1),k=m(!1),C=s?um({minWidth:i,maxWidth:o,storageKey:"app-sidebar-width",isOpen:d}):null;c(()=>{u(!!y||!(!x&&!b))},[y,x,b,u]);return a(Pd,{collapsible:"icon",onMouseEnter:()=>{y||k.current||w(!0)},onMouseLeave:()=>{y||w(!1)},className:"app-sidebar bg-background border-r border-border py-6 px-3",style:C&&d?{width:`${C.width}px`,transition:"none"}:{transition:"all 300ms ease-in-out"},children:[e(cm,{appName:t?.appName||l("module_title"),isPinned:y,onPinToggle:()=>{const e=!y;N(e),(e=>{try{localStorage.setItem(rm,JSON.stringify(e))}catch{}})(e),e||(k.current=!0,w(!1),u(!1),setTimeout(()=>{k.current=!1},300))},open:d,dropdownOpen:b,onDropdownChange:v}),t?.moduleActions&&t.moduleActions.actions.length>0&&e("div",{className:"px-3 py-2",children:e(ln,{children:e(mm,{config:t.moduleActions,isCollapsed:!d,isDisabled:g})})}),e(Fd,{children:r||e(Dd,{className:"p-0 mt-6",children:e($d,{children:e(Od,{className:"space-y-2",children:e(ln,{children:t?.navigation?.map((t,r)=>{const s=({item:t,index:r})=>{const n=`${t.path}-${r}-${p??"noalias"}-${f?.id??"nouser"}`,{data:i=!0,isLoading:o}=am({key:n,enabled:Boolean(t.permissionCheck&&p&&f?.id),checkFn:t.permissionCheck||(()=>Promise.resolve(!0))}),d=t.permissionCheck&&!i;if(d&&"Admin"===t.label)return null;const c=o?A:d?ne:t.icon;d?l("restricted_access"):t.complementaryText;return t.children&&t.children.length>0?e(ao,{defaultOpen:!0,className:"group/collapsible",children:a(Ud,{children:[e(to,{asChild:!0,children:e(qd,{size:"lg",className:"h-10",children:a("div",{className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-5 w-4"})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label}),e(L,{className:"ml-auto h-4 w-4 transition-transform group-data-[state=open]/collapsible:rotate-90 group-data-[collapsible=icon]:hidden"})]})})}),e(ro,{children:e(Kd,{children:t.children.map((a,t)=>e(s,{item:a,index:t},a.path))})})]})},t.path):e(Ud,{children:d||o?a(dn,{children:[e(cn,{asChild:!0,children:e(qd,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:a("div",{className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-4 w-4 "+(o?"animate-spin":"")})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label})]})})}),e(mn,{children:e("p",{children:l(o?"checking_access":"restricted_access")})})]}):e(qd,{asChild:!0,isActive:(m=t.path,h.pathname===m||h.pathname.startsWith(m+"/")),size:"lg",className:"h-10",children:a($a,{to:t.path,className:"flex w-full items-center gap-3",children:[e("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:e(c,{className:"h-5 w-4"})}),e("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:t.label})]})})},t.path);var m};return e(s,{item:t,index:r},t.path)})})})})})}),s&&C&&d&&e("div",{ref:C.dragRef,onMouseDown:C.handleMouseDown,className:Nt("absolute inset-y-0 right-0 w-1 cursor-ew-resize","hover:bg-primary/20 transition-colors","after:absolute after:inset-y-0 after:-left-1 after:-right-1 after:content-['']",C.isDragging&&"bg-primary/40")})]})}const vm=u(function({children:t,sidebar:r,sidebarConfig:s,showHeader:n=!0}){const o=i(()=>r||e(bm,{config:s}),[r,s]),l=i(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return e(Jc,{config:s,children:e(ji,{children:e(_d,{defaultOpen:!1,style:l,children:a("div",{className:"sidebar-container min-h-screen flex w-full",children:[o,a("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[n&&e("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:e(em,{})}),e("div",{className:"flex-1 overflow-y-auto bg-muted/30",children:t})]})]})})})})}),ym={"pt-BR":rl,"en-US":Vo,"es-ES":Xo},Nm=(e,a="pt-BR")=>{if(!e)return"";const t=v(e);if(!y(t))return"Invalid date";return N(t,"PP",{locale:ym[a]||rl})},xm=()=>{const{locale:e,timezone:a,datetimeFormat:t}=Zi();return{formatDatetime:e=>((e,a="dd/MM/yyyy HH:mm")=>{if(!e)return"";const t=v(e);return y(t)?N(t,a):"Invalid date"})(e,t,a),formatDate:a=>Nm(a,e),locale:e,timezone:a,datetimeFormat:t}};class wm{static async sendEmail(e){const a=is(),{data:t,error:r}=await a.functions.invoke("send-email",{body:{template_code:e.templateCode,to:e.to,variables:e.variables,cc:e.cc,bcc:e.bcc,replyTo:e.replyTo}});if(r)throw r;return t}}const km=wm;function Cm({open:t,onOpenChange:r,placeId:s,placeName:o,onMakeManager:l,onMakeMembers:d,currentManagerId:c,currentMemberIds:m=[]}){const{t:u}=Pa(),[h,p]=n([]),[f,g]=n(!1),[b,v]=n(""),{data:y=[],isLoading:N}=ni({enabled:t}),x=i(()=>{let e=[...y];if(e.sort((e,a)=>{const t=e.userName?.toLowerCase()||"",r=a.userName?.toLowerCase()||"";return t.localeCompare(r)}),b){const a=b.toLowerCase();e=e.filter(e=>e.userName?.toLowerCase().includes(a)||e.userEmail?.toLowerCase().includes(a))}return e},[y,b]),w=e=>{p(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},k=1===h.length,C=h.length>0;return e($t,{open:t,onOpenChange:r,children:a(Bt,{className:"max-w-2xl",children:[e(Ht,{children:a(Gt,{className:"flex items-center gap-2",children:[e(ha,{className:"h-5 w-5"}),"Gerenciar Acessos - ",o]})}),a("div",{className:"relative",children:[e(D,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e(At,{placeholder:u("search_placeholder"),value:b,onChange:e=>v(e.target.value),className:"pl-9"})]}),e(ei,{className:"h-[400px] pr-4",children:N?e("div",{className:"space-y-2",children:[...Array(5)].map((a,t)=>e(jr,{className:"h-16 w-full"},t))}):0===x.length?a("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e(ha,{className:"h-12 w-12 text-muted-foreground/50 mb-3"}),e("p",{className:"text-sm text-muted-foreground",children:b?"Nenhum usuário encontrado":"Nenhum usuário disponível"})]}):e("div",{className:"space-y-2",children:x.map(t=>{const r=t.userId===c,s=m.includes(t.userId||""),n=h.includes(t.userId||"");return a("div",{className:Nt("flex items-center gap-3 p-3 rounded-lg border transition-colors",n&&"bg-accent border-primary","hover:bg-accent/50 cursor-pointer"),onClick:()=>w(t.userId||""),children:[e(br,{checked:n,onCheckedChange:()=>w(t.userId||""),onClick:e=>e.stopPropagation()}),a("div",{className:"flex-1",children:[a("div",{className:"flex items-center gap-2",children:[e("p",{className:"font-medium",children:t.userName}),r&&e(pa,{className:"h-4 w-4 text-yellow-500"})]}),e("p",{className:"text-sm text-muted-foreground",children:t.userEmail})]}),(r||s)&&e("div",{className:"text-xs text-muted-foreground",children:r?"Gestor":"Membro"})]},t.userId)})})}),a(Qt,{className:"flex gap-2 sm:gap-2",children:[e("div",{className:"flex-1 text-sm text-muted-foreground",children:h.length>0&&a("span",{children:[h.length," selecionado(s)"]})}),k&&l&&a(Pt,{onClick:async()=>{if(l&&1===h.length){g(!0);try{await l(h[0],s),p([])}finally{g(!1)}}},disabled:f,variant:"outline",children:[e(pa,{className:"h-4 w-4 mr-2"}),"Tornar Gestor"]}),C&&d&&a(Pt,{onClick:async()=>{if(d&&0!==h.length){g(!0);try{await d(h,s),p([])}finally{g(!1)}}},disabled:f,children:[e(fa,{className:"h-4 w-4 mr-2"}),"Tornar ",h.length>1?"Membros":"Membro"]})]})]})})}function Sm({place:t,level:r=0,manageAccessConfig:s}){const[i,o]=n(!1),[l,d]=n(!1),c=t.subPlaces&&t.subPlaces.length>0,m=t.isActive??!0,u=t.usersCount??0;return a("div",{children:[a(ao,{open:i,onOpenChange:o,children:[a("div",{className:"flex items-center gap-2 py-3 px-4 hover:bg-accent/50 transition-colors",style:{paddingLeft:2*r+1+"rem"},children:[c?a(to,{className:"flex items-center gap-2 flex-1",children:[e(L,{className:Nt("h-4 w-4 transition-transform shrink-0",i&&"rotate-90")}),e(ca,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e("span",{className:"font-medium",children:t.name}),a("span",{className:"text-sm text-muted-foreground",children:["(",t.subPlaces.length,")"]})]}):a("div",{className:"flex items-center gap-2 flex-1",children:[e("div",{className:"w-4 shrink-0"}),e(ca,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e("span",{className:"font-medium",children:t.name})]}),a("div",{className:"flex items-center gap-3 ml-auto",children:[a("div",{className:"flex items-center gap-1.5",children:[e(ha,{className:"h-3.5 w-3.5 text-muted-foreground"}),e("span",{className:"text-sm text-muted-foreground",children:u})]}),e(Nr,{variant:m?"default":"secondary",className:"text-xs",children:m?"Ativo":"Inativo"}),s&&e(Oc,{customActions:[{label:"Gerenciar Acessos",icon:Me,onClick:()=>d(!0),variant:"default"}],renderAs:"dropdown",variant:"compact"})]})]}),c&&e(ro,{children:t.subPlaces.map(a=>e(Sm,{place:a,level:r+1,manageAccessConfig:s},a.id))})]}),0===r&&e(Lt,{}),s&&e(Cm,{open:l,onOpenChange:d,placeId:t.id,placeName:t.name,onMakeManager:s.onMakeManager,onMakeMembers:s.onMakeMembers,currentManagerId:s.getCurrentManagerId?.(t.id),currentMemberIds:s.getCurrentMemberIds?.(t.id)})]})}function _m({places:t,isLoading:r,manageAccessConfig:s}){const{t:n}=Pa();return r?e("div",{className:"flex items-center justify-center py-12",children:a("div",{className:"text-center space-y-2",children:[e("div",{className:"animate-spin h-8 w-8 border-4 border-primary border-t-transparent rounded-full mx-auto"}),e("p",{className:"text-sm text-muted-foreground",children:n("loading_data")})]})}):t&&0!==t.length?a("div",{className:"space-y-1",children:[e("h2",{className:"text-xl font-bold mb-4",children:"Estrutura de Locais"}),t.map(a=>e(Sm,{place:a,manageAccessConfig:s},a.id))]}):a("div",{className:"flex flex-col items-center justify-center py-12 text-center space-y-3",children:[e(ca,{className:"h-12 w-12 text-muted-foreground/50"}),a("div",{children:[e("h3",{className:"font-semibold text-lg",children:"Nenhum local encontrado"}),e("p",{className:"text-sm text-muted-foreground",children:"Não há locais cadastrados para esta unidade."})]})]})}var Pm=Object.defineProperty,Im=(e,a,t)=>((e,a,t)=>a in e?Pm(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const Am=new class{constructor(){Im(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const r=hs.validateToken();if(!r.valid)throw new Error(r.message||"Token inválido");const s=Jr.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório");const n=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{n.searchParams.append(e,a)});const i=await fetch(n.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!i.ok){const e=new Error(`API call failed: ${i.status}`);throw e.status=i.status,e}return i.json()}buildHierarchy(e){const a=new Map,t=[];return e.forEach(e=>{a.set(e.id,{...e,subPlaces:[]})}),e.forEach(e=>{const r=a.get(e.id);if(e.parentId){const s=a.get(e.parentId);s?(s.subPlaces=s.subPlaces||[],s.subPlaces.push(r)):t.push(r)}else t.push(r)}),t}async getPlaces(e,a){try{const t=await this.makeApiCall("/api/common/v1/places",{companyId:a},e),r=t.data||t||[];return this.buildHierarchy(r)}catch(t){if(await hs.handleApiError(t))try{const t=await this.makeApiCall("/api/common/v1/places",{companyId:a},e),r=t.data||t||[];return this.buildHierarchy(r)}catch(r){return Zr.handleError(r instanceof Error?r:"Erro ao buscar locais após renovação de token",!0),[]}return Zr.handleError(t instanceof Error?t.message:"Erro ao buscar locais",!0),[]}}};function Tm(e,a){const t=e.map(e=>({...e})),r=new Set(t.filter(e=>!a.has(e.id_user)).map(e=>e.id_user));return t.forEach(e=>{if(e.id_leader&&r.has(e.id_leader)){let a=e.id_leader;for(;a&&r.has(a);){const e=t.find(e=>e.id_user===a);a=e?.id_leader||null}e.id_leader=a}}),t.filter(e=>a.has(e.id_user))}function Em(e){const a=new Map,t=new Map,r=[];e.forEach(e=>{const r={...e,children:[],level:0};a.set(e.id,r),t.set(e.id_user,r)}),e.forEach(e=>{const s=a.get(e.id);if(e.id_leader){const a=t.get(e.id_leader);if(a)return void a.children.push(s)}r.push(s)});const s=(e,a)=>{e.level=a,e.children.forEach(e=>s(e,a+1))};r.forEach(e=>s(e,0));const n=e=>{e.sort((e,a)=>{const t=e.name||e.id_user||e.email||"",r=a.name||a.id_user||a.email||"";return t.localeCompare(r)}),e.forEach(e=>e.children.length>0&&n(e.children))};return n(r),r}function Rm(e){const a=[],t=e=>{a.push(e),e.children.forEach(t)};return e.forEach(t),a}function zm(){const{alias:e,isAuthenticated:a}=qs(),t=Jr.getAccessToken(),{data:r=[]}=ni({enabled:!0});return Ra({queryKey:["leadership",e,r.length],queryFn:async()=>{if(!t||!e)throw new Error("Usuário não autenticado ou unidade não selecionada");const a=is(),{data:s,error:n}=await a.schema("common").from("leaders").select("*").eq("is_removed",!1).eq("alias",e);if(n)throw new Error("Erro ao buscar hierarquia de liderança");if(!s||0===s.length)return[];const i={};r.forEach(e=>{i[e.userId]={name:e.userName||e.userEmail,email:e.userEmail||""}});const o=s.map(e=>({...e,name:i[e.id_user]?.name||"[Não encontrado]",email:i[e.id_user]?.email||"",subordinatesCount:s.filter(a=>a.id_leader===e.id_user).length})),l=new Set(s.map(e=>e.id_user));return new Set(s.filter(e=>e.id_leader&&!l.has(e.id_leader)).map(e=>e.id_leader)).forEach(e=>{const a=i[e];o.push({id:`virtual-${e}`,alias:s[0]?.alias||"",id_user:e,id_leader:null,is_removed:!1,is_active:!0,created_at:(new Date).toISOString(),updated_at:(new Date).toISOString(),name:a?.name||"[Não encontrado]",email:a?.email||"",subordinatesCount:s.filter(a=>a.id_leader===e).length})}),Em(o)},enabled:!!t&&!!e&&a&&r.length>0})}function Mm(){const e="common",{alias:a}=qs(),t=Ea(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(t.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");if((await r.schema(e).from("leaders").select("id").eq("alias",a).eq("id_user",t.id_user).eq("is_removed",!1).maybeSingle()).data)throw new Error("Este usuário já está cadastrado como líder");t.id_leader&&await Om(r,a,e,t.id_user,t.id_leader);const{data:s,error:n}=await r.schema(e).from("leaders").insert({alias:a,id_user:t.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1}).select().single();if(n)throw n;return s},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder adicionado com sucesso")},onError:e=>{w.error(e.message||"Erro ao adicionar líder")}})}function Fm(){const e="common",{alias:a}=qs(),t=Ea(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(t.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await Om(r,a,e,t.id_user,t.id_leader);const{data:s,error:n}=await r.schema(e).from("leaders").insert({alias:a,id_user:t.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1}).select().single();if(n)throw n;return s},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder virtual promovido com sucesso")},onError:e=>{w.error(e.message||"Erro ao criar líder")}})}function Dm(){const e="common",{alias:a}=qs(),t=Ea(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");if(!t.users.length)throw new Error("Selecione pelo menos um liderado");const s=t.users.map(e=>e.id_user),{data:n}=await r.schema(e).from("leaders").select("id_user").eq("alias",a).in("id_user",s).eq("is_removed",!1);if(n&&n.length>0){const e=n.map(e=>e.id_user);throw new Error(`Alguns usuários já estão cadastrados como líderes: ${e.join(", ")}`)}for(const d of t.users){if(t.id_leader&&d.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await Om(r,a,e,d.id_user,t.id_leader)}const i=t.users.map(e=>({alias:a,id_user:e.id_user,id_leader:t.id_leader,is_active:!0,is_removed:!1})),{data:o,error:l}=await r.schema(e).from("leaders").insert(i).select();if(l)throw l;return o},onSuccess:e=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success(`${e?.length||0} liderado(s) adicionado(s) com sucesso`)},onError:e=>{w.error(e.message||"Erro ao adicionar liderados")}})}function jm(){const e="common",{alias:a}=qs(),t=Ea(),r=is();return za({mutationFn:async t=>{if(!a)throw new Error("Unidade não selecionada");const{data:s}=await r.schema(e).from("leaders").select("id_user").eq("id",t.id).eq("alias",a).single();if(!s)throw new Error("Líder não encontrado");if(s.id_user===t.id_leader)throw new Error("Usuário não pode ser seu próprio líder");t.id_leader&&await Om(r,a,e,s.id_user,t.id_leader,t.id);const{data:n,error:i}=await r.schema(e).from("leaders").update({id_leader:t.id_leader}).eq("id",t.id).eq("alias",a).select().single();if(i)throw i;return n},onSuccess:()=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success("Líder atualizado com sucesso")},onError:e=>{w.error(e.message||"Erro ao atualizar líder")}})}function Lm(){const{alias:e}=qs(),a=Ea(),t=is();return za({mutationFn:async a=>{if(!e)throw new Error("Unidade não selecionada");const{error:r}=await t.schema("common").from("leaders").update({is_removed:!0}).eq("id",a).eq("alias",e);if(r)throw r},onSuccess:()=>{a.invalidateQueries({queryKey:["leadership",e]}),w.success("Líder removido com sucesso")},onError:e=>{w.error(e.message||"Erro ao remover líder")}})}function $m(){const e="common",{alias:a}=qs(),t=Ea(),r=is();return za({mutationFn:async({leaderUserId:t,selectedUsers:s})=>{if(!a)throw new Error("Unidade não selecionada");const n=s.map(e=>e.id_user),i=await Promise.all([r.schema(e).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1).eq("id_leader",t),r.schema(e).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1).in("id_user",n.length?n:["__none__"])]),[{data:o,error:l},{data:d,error:c}]=i;if(l)throw l;if(c)throw c;const m=o||[],u=d||[],h=new Set(n),p=m.filter(e=>!h.has(e.id_user)),f=u.filter(e=>e.id_leader!==t),g=new Set(u.map(e=>e.id_user)),b=s.filter(e=>!g.has(e.id_user));for(const N of f)await Om(r,a,e,N.id_user,t,N.id);for(const N of b){if(N.id_user===t)throw new Error("Usuário não pode ser seu próprio líder");await Om(r,a,e,N.id_user,t)}const v=[];if(p.length){const t=p.map(e=>e.id);v.push(r.schema(e).from("leaders").update({is_removed:!0}).in("id",t).eq("alias",a))}if(f.length){const s=f.map(e=>e.id);v.push(r.schema(e).from("leaders").update({id_leader:t}).in("id",s).eq("alias",a))}if(b.length){const s=b.map(e=>({alias:a,id_user:e.id_user,id_leader:t,is_active:!0,is_removed:!1}));v.push(r.schema(e).from("leaders").insert(s))}const y=(await Promise.all(v)).find(e=>e?.error);if(y?.error)throw y.error;return{unlinked:p.length,updated:f.length,created:b.length}},onSuccess:e=>{t.invalidateQueries({queryKey:["leadership",a]}),w.success(`Subordinados sincronizados (${e.created} adicionados, ${e.updated} atualizados, ${e.unlinked} removidos)`)},onError:e=>{w.error(e.message||"Erro ao sincronizar subordinados")}})}async function Om(e,a,t,r,s,n){const{data:i,error:o}=await e.schema(t).from("leaders").select("id, id_user, id_leader").eq("alias",a).eq("is_removed",!1);if(o)throw o;const l=n?i.filter(e=>e.id!==n):i,d=new Set;let c=s;for(;c;){if(d.has(c))throw new Error("Esta associação criaria um ciclo na hierarquia");if(c===r)throw new Error("Esta associação criaria um ciclo na hierarquia");d.add(c);const e=l.find(e=>e.id_user===c);c=e?.id_leader||null}}function Um({leader:r,expandedIds:s,onToggleExpand:n,onEdit:i}){const o=s.has(r.id),l=r.children.length>0,d=32*r.level;return a(t,{children:[a("tr",{className:"border-b hover:bg-muted/50 transition-colors",children:[e("td",{className:"py-3 px-4",children:a("div",{className:"flex items-center gap-2",style:{paddingLeft:`${d}px`},children:[l?e("button",{onClick:()=>n(r.id),className:"p-1 hover:bg-accent rounded",children:e(o?_:L,{className:"h-4 w-4"})}):e("div",{className:"w-6"}),e(Fe,{className:"h-4 w-4 text-muted-foreground"}),e("button",{onClick:()=>{i(r)},className:"font-medium hover:text-primary hover:underline text-left",children:r.name||r.id_user||r.email})]})}),e("td",{className:"py-3 px-4 text-center",children:e("span",{className:"text-sm",children:r.subordinatesCount||0})})]}),l&&o&&r.children.map(a=>e(Um,{leader:a,expandedIds:s,onToggleExpand:n,onEdit:i},a.id))]})}var Wm=function(e,a){for(var t={};e.length;){var r=e[0],s=r.code,n=r.message,i=r.path.join(".");if(!t[i])if("unionErrors"in r){var o=r.unionErrors[0].errors[0];t[i]={message:o.message,type:o.code}}else t[i]={message:n,type:s};if("unionErrors"in r&&r.unionErrors.forEach(function(a){return a.errors.forEach(function(a){return e.push(a)})}),a){var l=t[i].types,d=l&&l[r.code];t[i]=wa(i,a,t,s,d?[].concat(d,r.message):r.message)}e.shift()}return t},qm=function(e,a,t){return void 0===t&&(t={}),function(r,s,n){try{return Promise.resolve(function(s,i){try{var o=Promise.resolve(e["sync"===t.mode?"parse":"parseAsync"](r,a)).then(function(e){return n.shouldUseNativeValidation&&bt({},n),{errors:{},values:t.raw?r:e}})}catch(l){return i(l)}return o&&o.then?o.then(void 0,i):o}(0,function(e){if(function(e){return Array.isArray(null==e?void 0:e.errors)}(e))return{values:{},errors:vt(Wm(e.errors,!n.shouldUseNativeValidation&&"all"===n.criteriaMode),n)};throw e}))}catch(i){return Promise.reject(i)}}};const Vm=gt.object({id_leader:gt.string().nullable(),id_users:gt.array(gt.string()).min(1,"Selecione pelo menos um liderado")}),Bm=gt.object({id_leader:gt.string().nullable(),id_users:gt.array(gt.string())});function Hm({value:t,onChange:r,excludeUserIds:s=[],error:i}){const{data:o=[],isLoading:l}=ni(),[d,u]=n(""),h=m(null),p=m(0),{t:f}=Pa(),g=o.filter(e=>!s.includes(e.userId||"")).filter(e=>{const a=d.toLowerCase(),t=e.userName?.toLowerCase().includes(a);return t}).sort((e,a)=>{const r=t.includes(e.userId),s=t.includes(a.userId);if(r&&!s)return-1;if(!r&&s)return 1;const n=e.userName||e.userEmail||"",i=a.userName||a.userEmail||"";return n.localeCompare(i)});return c(()=>{h.current&&p.current>0&&(h.current.scrollTop=p.current)},[g]),a("div",l?{className:"flex items-center justify-center p-4",children:[e(A,{className:"h-6 w-6 animate-spin"}),e("span",{className:"ml-2",children:f("loading_data")})]}:{className:"space-y-2",children:[e(At,{placeholder:f("search_user"),value:d,onChange:e=>u(e.target.value)}),e("div",{ref:h,className:"border rounded-md p-4 h-[300px] overflow-y-auto",children:0===g.length?e("p",{className:"text-sm text-muted-foreground",children:f("search_user")}):e("div",{className:"space-y-2",children:g.map(s=>a("div",{className:"flex items-center space-x-2",children:[e(br,{id:s.userId,checked:t.includes(s.userId),onCheckedChange:()=>{return e=s.userId,h.current&&(p.current=h.current.scrollTop),void(t.includes(e)?r(t.filter(a=>a!==e)):r([...t,e]));var e}}),e(Et,{htmlFor:s.userId,className:"flex-1 cursor-pointer",children:s.userName||s.userEmail})]},s.userId))})}),t.length>0&&e("p",{className:"text-sm text-muted-foreground",children:f("selected_count",{count:t.length})}),i&&e("p",{className:"text-sm text-destructive",children:i})]})}function Km({leader:r,prefilledLeaderId:s,onSuccess:i}){const{t:o}=Pa(),{alias:l}=qs(),d=!!r,m=r?.id.startsWith("virtual-"),u=Dm(),h=Fm(),p=jm(),f=$m(),g=Lm(),{data:b=[]}=zm(),{data:v=[]}=ni(),[y,N]=n(""),x=Rm(b).map(e=>e.id_user),w=d?Rm(b).filter(e=>e.id_leader===r.id_user).map(e=>e.id_user):[],k=ka({resolver:qm(d?Bm:Vm),defaultValues:{id_leader:s||(d?r?.id_leader:null)||null,id_users:d?w:[]}});c(()=>{if(r){const e=Rm(b).filter(e=>e.id_leader===r.id_user).map(e=>e.id_user);k.reset({id_leader:r.id_leader||null,id_users:e})}else s?k.reset({id_leader:s,id_users:[]}):k.reset({id_leader:null,id_users:[]})},[l,r?.id,r?.id_user,r?.id_leader,s,b]);const C=u.isPending||h.isPending||p.isPending||f.isPending||g.isPending,S=k.watch("id_leader"),_=k.watch("id_users"),P=d?[r.id_user,...x.filter(e=>e!==r.id_user&&!_.includes(e)&&!w.includes(e))]:[S,...x.filter(e=>!_.includes(e))].filter(Boolean);return a("form",{onSubmit:k.handleSubmit(async e=>{try{if(d)if(m){await h.mutateAsync({id_user:r.id_user,id_leader:e.id_leader});const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await f.mutateAsync({leaderUserId:r.id_user,selectedUsers:a})}else{await p.mutateAsync({id:r.id,id_leader:e.id_leader});const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await f.mutateAsync({leaderUserId:r.id_user,selectedUsers:a})}else{const a=v.filter(a=>e.id_users.includes(a.userId)).map(e=>({id_user:e.userId}));await u.mutateAsync({id_leader:e.id_leader,users:a})}i?.()}catch(a){}}),className:"space-y-4",children:[d&&a("div",{children:[e(Et,{children:o("leader")}),e(At,{value:v.find(e=>e.userId===r.id_user)?.userName||r.name||r.id_user,disabled:!0,className:"bg-muted"})]}),a("div",{children:[e(Et,{children:o("superior")}),a(or,{value:S||"none",onValueChange:e=>k.setValue("id_leader","none"===e?null:e),children:[e(cr,{children:e(dr,{placeholder:o("select_placeholder")})}),a(hr,{children:[e("div",{className:"sticky top-0 z-10 bg-background p-2 border-b",children:e(At,{placeholder:o("superior_search"),value:y,onChange:e=>N(e.target.value),onKeyDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:"h-8"})}),a(ei,{className:"h-[200px]",children:[e(fr,{value:"none",children:"[Nenhum]"}),v.filter(e=>{const a=d?e.userId!==r.id_user:!_.includes(e.userId),t=!y||e.userName?.toLowerCase().includes(y.toLowerCase());return a&&t}).sort((e,a)=>{const t=e.userName||e.userEmail||"",r=a.userName||a.userEmail||"";return t.localeCompare(r)}).map(a=>e(fr,{value:a.userId,children:a.userName},a.userId))]})]})]},`superior-select-${l}`),k.formState.errors.id_leader&&e("p",{className:"text-sm text-destructive mt-1",children:k.formState.errors.id_leader.message})]}),a("div",{children:[a(Et,{children:[o("subordinates")," *"]}),e(Hm,{value:_,onChange:e=>k.setValue("id_users",e),excludeUserIds:P,error:k.formState.errors.id_users?.message},`users-multiselect-${l}`)]}),a("div",{className:"flex items-center justify-between gap-2",children:[e(Pt,{type:"submit",disabled:C||!d&&0===_.length,children:C&&!g.isPending?a(t,{children:[e(A,{className:"mr-2 h-4 w-4 animate-spin"}),o(d?"updating":"saving")]}):d?_.length>0?o("update_success",{count:_.length}):o("update"):o("create_success",{count:_.length})}),d&&!S&&0===_.length&&e(Pt,{type:"button",variant:"destructive",disabled:C,onClick:async()=>{if(r&&window.confirm(o("remove_confirm")))try{await g.mutateAsync(r.id),i?.()}catch(e){}},className:"ml-auto",children:g.isPending?a(t,{children:[e(A,{className:"mr-2 h-4 w-4 animate-spin"}),o("removing")]}):a(t,{children:[e(q,{className:"mr-2 h-4 w-4"}),o("remove")]})})]})]})}function Qm({open:t,onOpenChange:r,leader:s,prefilledLeaderId:n,title:i}){return e($t,{open:t,onOpenChange:r,children:a(Bt,{className:"sm:max-w-[500px]",children:[e(Ht,{children:e(Gt,{children:i})}),e(Km,{leader:s,prefilledLeaderId:n,onSuccess:()=>r(!1)})]})})}const Gm="leadership-expanded-nodes",Jm=(e,a)=>{try{localStorage.setItem(`${Gm}-${e}`,JSON.stringify(Array.from(a)))}catch(t){}};function Xm(){const{alias:t}=qs(),{t:r}=Pa(),{data:s,isLoading:i,error:o,refetch:l}=zm(),{data:d=[]}=ni({enabled:!0}),[m,u]=n(()=>t?(e=>{try{const a=localStorage.getItem(`${Gm}-${e}`);if(a)return new Set(JSON.parse(a))}catch(o){}return new Set})(t):new Set),[h,p]=n(!1),[f,g]=n(),[b,v]=n(null),y=d.filter(e=>e.userName&&"Nome não disponível"!==e.userName),N=new Set(y.map(e=>e.userId)),x=y.length-(s?Rm(s).filter(e=>N.has(e.id_user)&&"[Não encontrado]"!==e.name).length:0);c(()=>{if(s&&s.length>0&&t){if(!localStorage.getItem(`${Gm}-${t}`)){const e=s.map(e=>e.id),a=new Set(e);u(a),Jm(t,a)}}},[s,t]);const w=e=>{u(a=>{const r=new Set(a);return r.has(e)?r.delete(e):r.add(e),t&&Jm(t,r),r})},k=e=>{g(e),v(null),p(!0)};return i?e("div",{className:"flex items-center justify-center h-full",children:a("div",{className:"text-center",children:[e(qe,{className:"h-8 w-8 animate-spin mx-auto mb-4 text-muted-foreground"}),e("p",{className:"text-muted-foreground",children:r("loading")})]})}):o?e("div",{className:"flex items-center justify-center h-full",children:a("div",{className:"text-center",children:[e("p",{className:"text-destructive mb-4",children:"Erro ao carregar hierarquia de liderança"}),e(Pt,{onClick:()=>l(),children:"Tentar novamente"})]})}):a("div",{className:"flex flex-col h-full",children:[e("div",{className:"flex items-center justify-between p-4 border-b",children:a("div",{className:"flex gap-2 items-center",children:[a(Pt,{size:"sm",onClick:()=>{g(void 0),v(null),p(!0)},children:[e(V,{className:"h-4 w-4 mr-2"}),"Definir Líder"]}),a(Pt,{variant:"outline",size:"sm",onClick:()=>{if(!s)return;const e=Rm(s).filter(e=>e.children.length>0).map(e=>e.id),a=new Set(e);u(a),t&&Jm(t,a)},disabled:!s||0===s.length,children:[e(_,{className:"h-4 w-4 mr-2"}),"Expandir todos"]}),a(Pt,{variant:"outline",size:"sm",onClick:()=>{const e=new Set;u(e),t&&Jm(t,e)},disabled:!s||0===s.length,children:[e(L,{className:"h-4 w-4 mr-2"}),"Recolher todos"]}),e("div",{className:"flex items-center gap-2 ml-4",children:a("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-muted rounded-md",children:[e(ha,{className:"h-4 w-4 text-muted-foreground"}),a("span",{className:"text-sm font-medium",children:[x," usuário",1!==x?"s":""," não associado",1!==x?"s":""]})]})})]})}),s&&0!==s.length?e(ei,{className:"flex-1",children:e("div",{children:a("table",{className:"w-full",children:[e("thead",{children:a("tr",{className:"border-b bg-muted/50",children:[e("th",{className:"py-3 px-4 text-left font-semibold",children:"Nome"}),e("th",{className:"py-3 px-4 text-center font-semibold",children:"Liderados"})]})}),e("tbody",{children:s.map(a=>e(Um,{leader:a,expandedIds:m,onToggleExpand:w,onEdit:k},a.id))})]})})}):e("div",{className:"flex items-center justify-center flex-1",children:a("div",{className:"text-center space-y-4",children:[e("p",{className:"text-muted-foreground",children:"Nenhuma hierarquia de liderança encontrada"}),e("p",{className:"text-sm text-muted-foreground",children:'Clique em "Definir Líder" para começar'})]})}),e(Qm,{open:h,onOpenChange:()=>{p(!1),g(void 0),v(null)},leader:f,prefilledLeaderId:b,title:f?r("edit")+" "+r("name"):b?r("add")+" Liderado":r("add")+" Líder Raiz"},`leadership-dialog-${t}`)]})}function Ym(e){const[a,t]=n(!1),[r,s]=n(0),{t:i}=Pa(),{uploadFunction:o,deleteFunction:l,defaultOptions:d,onSuccess:c,onError:m}=e||{};return{upload:async(e,a)=>{if(!o){const e=new Error("uploadFunction não fornecida");throw w.error("Erro de configuração",{description:"Função de upload não configurada. Verifique a documentação."}),e}t(!0),s(0);try{const t={...d,...a};if(t.maxSize&&e.size>t.maxSize)throw new Error(`Arquivo muito grande. Tamanho máximo: ${Math.round(t.maxSize/1024/1024)}MB`);if(t.allowedTypes){if(!t.allowedTypes.some(a=>a.endsWith("/*")?e.type.startsWith(a.replace("/*","")):e.type===a))throw new Error(`Tipo de arquivo não permitido. Tipos aceitos: ${t.allowedTypes.join(", ")}`)}const r=await o(e,t);return s(100),w.success("Sucesso",{description:i("file_upload_success")}),c?.(r),r}catch(r){const e=r instanceof Error?r:new Error("Erro ao fazer upload");throw w.error("Erro",{description:e.message}),m?.(e),e}finally{t(!1)}},deleteMedia:async(e,a)=>{if(!l){const e=new Error("deleteFunction não fornecida");throw w.error("Erro de configuração",{description:"Função de delete não configurada."}),e}try{await l(e,a),w.success("Sucesso",{description:"Arquivo removido com sucesso"})}catch(t){throw w.error("Erro",{description:"Erro ao remover o arquivo"}),t}},uploading:a,progress:r}}function Zm(e){const a=[/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([a-zA-Z0-9_-]{11})/,/^([a-zA-Z0-9_-]{11})$/];for(const t of a){const a=e.match(t);if(a)return a[1]}return null}function eu(e,a){const t=Zm(e);if(!t)return e;return`https://www.youtube.com/embed/${t}${a?"?autoplay=1&mute=1":""}`}function au(e){const a=e.match(/vimeo\.com\/(?:video\/)?(\d+)/);return a?a[1]:null}function tu(e,a){const t=au(e);if(!t)return e;return`https://player.vimeo.com/video/${t}${a?"?autoplay=1&muted=1":""}`}function ru(e){if(!e)return;const a=e.match(/src="([^"]+)"/);return a?a[1]:void 0}function su(e){return e?/youtube|youtu\.be/.test(e)?"youtube":/vimeo/.test(e)?"vimeo":"file":"file"}function nu(e,a,t){switch(a||su(e)){case"youtube":return eu(e,t);case"vimeo":return tu(e,t);default:return e}}function iu({value:r,onChange:s,onSubmit:o,onCancel:l,uploadFunction:d,deleteFunction:c,uploadOptions:u}){const{t:h}=Pa(),[p,f]=n(r||{inputType:"url",controls:!0}),g=m(null),b=m(null),{upload:v,uploading:y}=Ym({uploadFunction:d,deleteFunction:c,defaultOptions:{...u,allowedTypes:["video/*"],maxSize:104857600}}),{upload:N,uploading:x}=Ym({uploadFunction:d,deleteFunction:c,defaultOptions:{...u,allowedTypes:["image/*"],maxSize:5242880}}),k=i(()=>su(p.videoUrl||ru(p.embedCode)||""),[p.videoUrl,p.embedCode]),C=(e,a)=>{const t={...p,[e]:a};f(t),s(t)};return a("div",{className:"space-y-6",children:[a("div",{className:"space-y-2",children:[e(Et,{children:h("input_type")}),a(or,{value:p.inputType||"url",onValueChange:e=>C("inputType",e),children:[e(cr,{children:e(dr,{})}),a(hr,{children:[e(fr,{value:"url",children:h("url")}),e(fr,{value:"upload",children:h("input_type_upload")}),e(fr,{value:"embed",children:h("input_type_embed")})]})]})]}),"upload"===p.inputType&&d&&a("div",{className:"space-y-2",children:[e(Et,{children:h("file")}),a("div",{className:"flex gap-2",children:[e("input",{ref:g,type:"file",accept:"video/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await v(a),t={...p,videoUrl:e.url,videoFile:e.name,videoPath:e.path,videoSize:e.size,title:p.title||a.name.replace(/\.[^/.]+$/,"")};f(t),s(t)}catch(t){}finally{g.current&&(g.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>g.current?.click(),disabled:y,children:a(t,y?{children:[e(A,{className:"mr-2 h-4 w-4 animate-spin"}),h("uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),h("select_video")]})}),p.videoFile&&e("span",{className:"text-xs text-muted-foreground truncate self-center",children:h("video.fileInfo",{name:p.videoFile,size:Math.round((p.videoSize||0)/1024/1024)})})]})]}),"embed"===p.inputType&&a("div",{className:"space-y-2",children:[e(Et,{children:h("embed")}),e(vr,{placeholder:h("embed"),value:p.embedCode||"",onChange:e=>C("embedCode",e.target.value),rows:4,className:"font-mono text-sm"})]}),d&&a("div",{className:"space-y-2",children:[e(Et,{children:h("thumbnail")}),a("div",{className:"flex gap-2",children:[e(At,{type:"url",placeholder:h("thumbnail"),value:p.thumbnail||"",onChange:e=>C("thumbnail",e.target.value),className:"flex-1"}),e("input",{ref:b,type:"file",accept:"image/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await N(a),t={...p,thumbnail:e.url,thumbnailFile:e.name,thumbnailPath:e.path};f(t),s(t)}catch(t){}finally{b.current&&(b.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>b.current?.click(),disabled:x,children:a(t,x?{children:[e(A,{className:"mr-2 h-4 w-4 animate-spin"}),h("video.uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),h("upload")]})})]}),p.thumbnailFile&&e("p",{className:"text-xs text-muted-foreground",children:h("video.thumbnailFileInfo",{name:p.thumbnailFile})})]}),a("div",{className:"space-y-2",children:[e(Et,{htmlFor:"title",children:h("title")}),e(At,{id:"title",placeholder:h("title"),value:p.title||"",onChange:e=>C("title",e.target.value)})]}),a("div",{className:"flex gap-6",children:[a("div",{className:"flex items-center gap-2",children:[e("input",{id:"autoplay",type:"checkbox",checked:p.autoplay||!1,onChange:e=>C("autoplay",e.target.checked),className:"h-4 w-4"}),e(Et,{htmlFor:"autoplay",className:"cursor-pointer",children:h("video.autoplay")})]}),a("div",{className:"flex items-center gap-2",children:[e("input",{id:"controls",type:"checkbox",checked:!1!==p.controls,onChange:e=>C("controls",e.target.checked),className:"h-4 w-4"}),e(Et,{htmlFor:"controls",className:"cursor-pointer",children:h("video.controls")})]})]}),a("div",{className:"space-y-2",children:[e(Et,{children:h("preview")}),e("div",{className:"border rounded-lg p-4 bg-muted/30",children:(()=>{const t=p.videoUrl||ru(p.embedCode)||"";if(!t)return e("div",{className:"text-center py-8 text-muted-foreground",children:h("no_content_preview")});if("file"===k)return a("video",{controls:!1!==p.controls,autoPlay:p.autoplay,poster:p.thumbnail,className:"w-full h-auto rounded-md",playsInline:!0,children:[e("source",{src:t}),h("unsupported")]});const r="youtube"===k?eu(t,p.autoplay):tu(t,p.autoplay);return e("div",{className:"relative w-full",style:{paddingTop:"56.25%"},children:e("iframe",{title:p.title||h("video"),src:r,className:"absolute inset-0 w-full h-full rounded-md",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})})()})]}),a("div",{className:"flex justify-end gap-2 pt-4 border-t",children:[e(Pt,{variant:"outline",onClick:l,children:h("cancel")}),e(Pt,{onClick:()=>{p.videoUrl||p.embedCode?o(p):w.error(h("error"),{description:h("error_no_video")})},disabled:!(p.videoUrl||p.embedCode),children:h("save")})]})]})}function ou({content:t,className:r="",style:s}){const n=t.videoUrl||ru(t.embedCode)||"";if(!n)return null;const i=su(n),{t:o}=Pa();return e(Rt,{className:`overflow-hidden my-4 ${r}`,style:s,children:a(Dt,{className:"p-0",children:["file"===i?a("video",{controls:!1!==t.controls,autoPlay:t.autoplay,poster:t.thumbnail,className:"w-full h-auto",playsInline:!0,muted:t.autoplay,children:[e("source",{src:n}),"Seu navegador não suporta vídeos HTML5."]}):e("div",{className:"relative w-full",style:{paddingTop:"56.25%"},children:e("iframe",{title:t.title||o("video"),src:"youtube"===i?eu(n,t.autoplay):tu(n,t.autoplay),className:"absolute inset-0 w-full h-full",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})}),t.title&&e("div",{className:"p-4",children:e("p",{className:"text-sm font-medium",children:t.title})})]})})}function lu({value:r,onChange:s,onSubmit:i,onCancel:o,uploadFunction:l,deleteFunction:d,uploadOptions:c}){const{t:u}=Pa(),[h,p]=n(r||{alignment:"center",allowDownload:!1}),f=m(null),{upload:g,uploading:b}=Ym({uploadFunction:l,deleteFunction:d,defaultOptions:{...c,allowedTypes:["image/*"],maxSize:5242880}}),v=(e,a)=>{const t={...h,[e]:a};p(t),s(t)};return a("div",{className:"space-y-6",children:[a("div",{className:"space-y-2",children:[e(Et,{children:u("url")}),a("div",{className:"flex gap-2",children:[e(At,{type:"url",placeholder:u("url_placeholder"),value:h.imageUrl||"",onChange:e=>v("imageUrl",e.target.value),className:"flex-1"}),l&&a(t,{children:[e("input",{ref:f,type:"file",accept:"image/*",onChange:async e=>{const a=e.target.files?.[0];if(a)try{const e=await g(a),t={...h,imageUrl:e.url,imageFile:e.name,imagePath:e.path,imageSize:e.size};p(t),s(t)}catch(t){}finally{f.current&&(f.current.value="")}},className:"hidden"}),e(Pt,{type:"button",variant:"outline",onClick:()=>f.current?.click(),disabled:b,children:a(t,b?{children:[e(A,{className:"mr-2 h-4 w-4 animate-spin"}),u("uploading")]}:{children:[e(he,{className:"mr-2 h-4 w-4"}),u("upload")]})})]})]}),h.imageFile&&e("p",{className:"text-xs text-muted-foreground",children:u("image.fileInfo",{name:h.imageFile,size:Math.round((h.imageSize||0)/1024)})})]}),h.imageUrl&&a("div",{className:"space-y-2",children:[e(Et,{children:u("preview")}),e("div",{className:"border rounded-lg p-4 bg-muted/30",children:e("div",{className:"flex "+("left"===h.alignment?"justify-start":"right"===h.alignment?"justify-end":"justify-center"),children:e("img",{src:h.imageUrl,alt:h.alt||"Preview",style:{width:h.width?`${h.width}px`:"auto",height:h.height?`${h.height}px`:"auto",maxWidth:"100%"},className:"rounded-lg shadow-md"})})})]}),a("div",{className:"space-y-2",children:[e(Et,{htmlFor:"caption",children:u("caption")}),e(vr,{id:"caption",placeholder:u("caption"),value:h.caption||"",onChange:e=>v("caption",e.target.value),rows:2})]}),a("div",{className:"space-y-2",children:[e(Et,{htmlFor:"alt",children:u("alt")}),e(At,{id:"alt",placeholder:u("alt"),value:h.alt||"",onChange:e=>v("alt",e.target.value)})]}),a("div",{className:"space-y-2",children:[e(Et,{children:u("alignment")}),a(or,{value:h.alignment||"center",onValueChange:e=>v("alignment",e),children:[e(cr,{children:e(dr,{})}),a(hr,{children:[e(fr,{value:"left",children:u("left")}),e(fr,{value:"center",children:u("center")}),e(fr,{value:"right",children:u("right")})]})]})]}),a("div",{className:"grid grid-cols-2 gap-4",children:[a("div",{className:"space-y-2",children:[e(Et,{htmlFor:"width",children:u("width")}),e(At,{id:"width",type:"number",placeholder:"px",value:h.width||"",onChange:e=>v("width",e.target.value?Number(e.target.value):void 0)})]}),a("div",{className:"space-y-2",children:[e(Et,{htmlFor:"height",children:u("height")}),e(At,{id:"height",type:"number",placeholder:"px",value:h.height||"",onChange:e=>v("height",e.target.value?Number(e.target.value):void 0)})]})]}),a("div",{className:"flex items-center gap-2",children:[e("input",{id:"allowDownload",type:"checkbox",checked:h.allowDownload||!1,onChange:e=>v("allowDownload",e.target.checked),className:"h-4 w-4"}),e(Et,{htmlFor:"allowDownload",className:"cursor-pointer",children:u("allow_download")})]}),a("div",{className:"flex justify-end gap-2 pt-4 border-t",children:[e(Pt,{variant:"outline",onClick:o,children:u("cancel")}),e(Pt,{onClick:()=>{h.imageUrl?i(h):w.error(u("error"),{description:u("error_no_image")})},disabled:!h.imageUrl,children:u("save")})]})]})}function du({content:t,className:r="",style:s}){if(!t.imageUrl)return null;const n={left:"justify-start",center:"justify-center",right:"justify-end"}[t.alignment||"center"];return e("div",{className:`flex ${n} my-4 ${r}`,style:s,children:a("div",{className:"space-y-2 max-w-full",children:[e("img",{src:t.imageUrl,alt:t.alt||"",style:{width:t.width?`${t.width}px`:"auto",height:t.height?`${t.height}px`:"auto",maxWidth:"100%"},className:"rounded-lg shadow-md"}),t.caption&&e("p",{className:"text-sm text-muted-foreground text-center italic",children:t.caption}),t.allowDownload&&t.imageUrl&&a("a",{href:t.imageUrl,download:!0,className:"flex items-center gap-2 text-sm text-primary hover:underline justify-center",children:[e(pe,{className:"h-4 w-4"}),"Baixar imagem"]})]})})}function cu(e,a){return e/a}function mu(e,a,t,r){const s=cu(e,a);return t&&!r?{width:t,height:Math.round(t/s)}:r&&!t?{width:Math.round(r*s),height:r}:{width:e,height:a}}function uu(e){const a=e.toLowerCase();return[".jpg",".jpeg",".png",".gif",".webp",".svg",".bmp",".ico"].some(e=>a.includes(e))}function hu(e){try{const a=new URL(e),t=a.pathname.split("/");return t[t.length-1]||"image"}catch{const a=e.split("/");return a[a.length-1]||"image"}}function pu(e){return e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(2)} MB`}export{bs as AUTH_CONFIG,lo as Accordion,uo as AccordionContent,co as AccordionItem,mo as AccordionTrigger,It as ActionButton,Oc as ActionMenu,Vn as ActionMenuItems,Ei as Alert,zi as AlertDescription,ho as AlertDialog,wo as AlertDialogAction,ko as AlertDialogCancel,bo as AlertDialogContent,xo as AlertDialogDescription,yo as AlertDialogFooter,vo as AlertDialogHeader,go as AlertDialogOverlay,fo as AlertDialogPortal,No as AlertDialogTitle,po as AlertDialogTrigger,Ri as AlertTitle,em as AppHeader,vm as AppLayout,bm as AppSidebar,ms as AuthErrorInterceptor,Ws as AuthProvider,Os as AuthService,Co as Avatar,_o as AvatarFallback,So as AvatarImage,Nr as Badge,oi as BaseForm,Ol as Blockquote,Po as Breadcrumb,zo as BreadcrumbEllipsis,Ao as BreadcrumbItem,To as BreadcrumbLink,Io as BreadcrumbList,Eo as BreadcrumbPage,Ro as BreadcrumbSeparator,ci as BulkActionBar,Pt as Button,Fo as ButtonGroup,vs as CRUD_CONFIG,sl as Calendar,Mi as CallbackPage,Rt as Card,Dt as CardContent,Ft as CardDescription,jt as CardFooter,zt as CardHeader,an as CardSkeleton,Mt as CardTitle,Ic as ChartContainer,Rc as ChartLegend,zc as ChartLegendContent,Ac as ChartStyle,Tc as ChartTooltip,Ec as ChartTooltipContent,br as Checkbox,ao as Collapsible,ro as CollapsibleContent,to as CollapsibleTrigger,Zn as ColorPicker,Or as Combobox,Ir as Command,Ar as CommandDialog,Rr as CommandEmpty,zr as CommandGroup,Tr as CommandInput,Fr as CommandItem,Er as CommandList,Mr as CommandSeparator,Dr as CommandShortcut,An as ContextMenu,$n as ContextMenuCheckboxItem,jn as ContextMenuContent,En as ContextMenuGroup,Ln as ContextMenuItem,Un as ContextMenuLabel,Rn as ContextMenuPortal,Mn as ContextMenuRadioGroup,On as ContextMenuRadioItem,Wn as ContextMenuSeparator,qn as ContextMenuShortcut,zn as ContextMenuSub,Dn as ContextMenuSubContent,Fn as ContextMenuSubTrigger,Tn as ContextMenuTrigger,oo as CoreProviders,gi as CrudPageInternal,di as CrudPagination,Uc as CrudPrimitiveFilterBar,li as CrudPrimitivePagination,$c as CrudPrimitiveTable,Jn as CrudTable,nl as DataList,il as DatePicker,$t as Dialog,Kt as DialogBody,Wt as DialogClose,Bt as DialogContent,Jt as DialogDescription,Qt as DialogFooter,Ht as DialogHeader,qt as DialogOverlay,Ut as DialogPortal,Gt as DialogTitle,Ot as DialogTrigger,ol as Drawer,cl as DrawerClose,ul as DrawerContent,gl as DrawerDescription,pl as DrawerFooter,hl as DrawerHeader,ml as DrawerOverlay,dl as DrawerPortal,fl as DrawerTitle,ll as DrawerTrigger,pn as DropdownMenu,Cn as DropdownMenuCheckboxItem,wn as DropdownMenuContent,gn as DropdownMenuGroup,kn as DropdownMenuItem,_n as DropdownMenuLabel,bn as DropdownMenuPortal,yn as DropdownMenuRadioGroup,Sn as DropdownMenuRadioItem,Pn as DropdownMenuSeparator,In as DropdownMenuShortcut,vn as DropdownMenuSub,xn as DropdownMenuSubContent,Nn as DropdownMenuSubTrigger,fn as DropdownMenuTrigger,wm as EmailService,on as EmptyState,Or as EntitySelect,io as ErrorBoundary,fi as FilterBar,Xt as Form,sr as FormControl,nr as FormDescription,Zt as FormField,tr as FormItem,rr as FormLabel,ir as FormMessage,tn as FormSkeleton,yl as Grid,Tl as H1,El as H2,Rl as H3,zl as H4,rn as HeaderSkeleton,Nl as HoverCard,wl as HoverCardContent,xl as HoverCardTrigger,ri as IconPicker,lu as ImageEditor,du as ImageRenderer,$l as InlineCode,At as Input,kl as InputGroup,Sl as InputGroupAddon,Pl as InputGroupButton,Il as InputGroupInput,Al as InputGroupTextarea,Cs as LOGO_CONFIG,Et as Label,Dl as Large,Fl as Lead,Um as LeaderRow,Qm as LeadershipDialog,Km as LeadershipForm,Xm as LeadershipPage,Ul as List,kr as LoadingState,Yi as LocaleProvider,Kc as LocaleSelector,Fi as LoginPage,Ss as MESSAGES,Cm as ManageAccessModal,pc as Menubar,Nc as MenubarCheckboxItem,vc as MenubarContent,cc as MenubarGroup,yc as MenubarItem,wc as MenubarLabel,dc as MenubarMenu,mc as MenubarPortal,hc as MenubarRadioGroup,xc as MenubarRadioItem,kc as MenubarSeparator,Cc as MenubarShortcut,uc as MenubarSub,bc as MenubarSubContent,gc as MenubarSubTrigger,fc as MenubarTrigger,pm as ModalStateProvider,Or as MultiSelect,Ll as Muted,Wl as NavigationMenu,Kl as NavigationMenuContent,Jl as NavigationMenuIndicator,Vl as NavigationMenuItem,Ql as NavigationMenuLink,ql as NavigationMenuList,Hl as NavigationMenuTrigger,Gl as NavigationMenuViewport,Jc as NavigationProvider,Ml as P,Xl as PageBreadcrumb,ji as PageMetadataProvider,Zl as Pagination,ed as PaginationContent,nd as PaginationEllipsis,ad as PaginationItem,td as PaginationLink,sd as PaginationNext,rd as PaginationPrevious,Sm as PlaceCard,_m as PlacesList,Sr as Popover,Pr as PopoverContent,_r as PopoverTrigger,wi as Progress,Ii as ProtectedRoute,ws as QUALIEX_CONFIG,xs as QUERY_KEYS,Es as QualiexEnrichmentService,hs as QualiexErrorInterceptor,ii as QualiexUserField,id as RadioGroup,od as RadioGroupItem,cd as ResizableHandle,dd as ResizablePanel,ld as ResizablePanelGroup,jc as RichTextEditor,ys as SEARCH_CONFIG,ei as ScrollArea,ai as ScrollBar,or as Select,hr as SelectContent,lr as SelectGroup,fr as SelectItem,pr as SelectLabel,ur as SelectScrollDownButton,mr as SelectScrollUpButton,Or as SelectSearch,gr as SelectSeparator,cr as SelectTrigger,dr as SelectValue,Lt as Separator,md as Sheet,yd as SheetBody,hd as SheetClose,bd as SheetContent,wd as SheetDescription,Nd as SheetFooter,vd as SheetHeader,fd as SheetOverlay,pd as SheetPortal,xd as SheetTitle,ud as SheetTrigger,Pd as Sidebar,mm as SidebarActionTrigger,Fd as SidebarContent,zd as SidebarFooter,Dd as SidebarGroup,Ld as SidebarGroupAction,$d as SidebarGroupContent,jd as SidebarGroupLabel,cm as SidebarHeader,Ed as SidebarInput,Td as SidebarInset,Od as SidebarMenu,Vd as SidebarMenuAction,Bd as SidebarMenuBadge,qd as SidebarMenuButton,Ud as SidebarMenuItem,Hd as SidebarMenuSkeleton,Kd as SidebarMenuSub,Gd as SidebarMenuSubButton,Qd as SidebarMenuSubItem,_d as SidebarProvider,Ad as SidebarRail,Md as SidebarSeparator,sn as SidebarSkeleton,Id as SidebarTrigger,jr as Skeleton,Jd as Slider,jl as Small,Cr as SonnerToaster,wr as Spinner,Lc as SplitButton,pi as Stack,si as Switch,rc as TabPageContent,tc as TabPageHeader,ac as TabPageLayout,Hs as Table,Qs as TableBody,Zs as TableCaption,Ys as TableCell,Gs as TableFooter,Xs as TableHead,Ks as TableHeader,hn as TableResizeHandle,Js as TableRow,Bn as TableRowActions,en as TableSkeleton,Xd as Tabs,ec as TabsContent,Yd as TabsList,Zd as TabsTrigger,vr as Textarea,Cr as Toaster,nc as Toggle,oc as ToggleGroup,lc as ToggleGroupItem,Jr as TokenManager,Wr as TokenService,dn as Tooltip,mn as TooltipContent,ln as TooltipProvider,cn as TooltipTrigger,eo as TranslationLoader,un as TruncatedCell,iu as VideoEditor,ou as VideoRenderer,Ci as WizardBreadcrumb,_i as WizardButtons,Pi as WizardForm,Si as WizardProgressBar,ki as WizardStepper,om as assets,yr as badgeVariants,Em as buildHierarchy,Mo as buttonGroupVariants,_t as buttonVariants,cu as calculateAspectRatio,Nt as cn,bi as createCrudPage,qc as createCrudRoutingConfig,Wc as createRoutingHandlers,Ms as createService,vi as createSimpleSaveHandler,Bs as createSimpleService,Ct as debounce,Ps as deriveEmailField,_s as deriveNameField,Is as deriveUsernameField,su as detectVideoProvider,km as emailService,Zr as errorService,hu as extractImageFileName,au as extractVimeoId,Zm as extractYouTubeId,Tm as filterAndPromoteOrphans,Rm as flattenTree,kt as formatCurrency,Nm as formatDate,wt as formatDatetime,pu as formatFileSize,yi as generateCrudConfig,ks as getQualiexConfig,is as getSupabaseClient,yt as handleExternalLink,Cl as inputGroupAddonVariants,_l as inputGroupButtonVariants,Ns as isDevEnvironment,uu as isImageUrl,lm as logoSrc,Bl as navigationMenuTriggerStyle,nu as normalizeVideoUrl,tu as normalizeVimeoUrl,eu as normalizeYouTubeUrl,ru as parseIframeSrc,Am as placeService,gs as qualiexApi,mu as resizeKeepingAspect,As as resolveFieldMappings,Oi as setupQualiexCore,St as slugify,dm as smallLogoSrc,sc as toggleVariants,Hi as translationService,xt as trimTextFields,tm as useActiveModules,qs as useAuth,Xn as useBaseForm,Kn as useColumnResize,Mm as useCreateLeaderMutation,Dm as useCreateMultipleLeadersMutation,Fm as useCreateSingleLeaderMutation,Vs as useCrud,Zc as useDebounce,er as useFormField,gm as useHasOpenModal,xm as useI18nFormatters,zm as useLeadershipApi,Zi as useLocale,Ym as useMediaUpload,fm as useModalState,Xc as useNavigation,$i as usePageMetadata,Li as usePageMetadataContext,Yc as usePageTitle,am as usePermissionQuery,ni as useQualiexUsers,Lm as useRemoveLeaderMutation,Yl as useRouteBreadcrumbs,Qn as useRowResize,Sd as useSidebar,um as useSidebarResize,$m as useSyncSubordinatesMutation,jm as useUpdateLeaderMutation};