forlogic-core 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import*as e from"react";import a,{useState as t,useEffect as s,createContext as r,useContext as n,useCallback as o,useMemo as i,useRef as l,Component as d}from"react";import*as c from"@radix-ui/react-alert-dialog";import{clsx as m}from"clsx";import{twMerge as u}from"tailwind-merge";import{Slot as f}from"@radix-ui/react-slot";import{cva as p}from"class-variance-authority";import{ChevronRight as h,MoreHorizontal as x,X as g,Check as b,Circle as v,AlertCircle as y,Search as N,FileX as j,MessageCircle as w,Target as k,Trophy as S,Award as C,Sparkles as T,Flame as E,Zap as R,Key as P,Shield as _,EyeOff as A,Eye as I,Unlock as O,Lock as D,Archive as z,FolderOpen as F,Folder as $,FileText as L,Save as M,Copy as U,Share as V,Upload as W,Download as B,HelpCircle as q,Info as H,Bell as Q,Clock as X,ArrowRight as K,ArrowLeft as G,ArrowDown as Y,ArrowUp as J,ChevronLeft as Z,ChevronUp as ee,ChevronDown as ae,Minus as te,Plus as se,Trash2 as re,Edit as ne,Filter as oe,Bookmark as ie,Book as le,Video as de,Music as ce,Image as me,Camera as ue,MapPin as fe,Calendar as pe,Phone as he,Mail as xe,Settings as ge,User as be,Home as ve,Heart as ye,Star as Ne,Dot as je,Loader2 as we,ChevronsUpDown as ke,PanelLeft as Se,RefreshCw as Ce,Building2 as Te,LogOut as Ee,Workflow as Re,ClipboardList as Pe,ExternalLink as _e,AlertTriangle as Ae,PowerOff as Ie,Power as Oe,EllipsisVertical as De,ArrowUpDown as ze,ChevronsLeft as Fe,ChevronsRight as $e}from"lucide-react";import*as Le from"@radix-ui/react-label";import*as Me from"@radix-ui/react-popover";import*as Ue from"@radix-ui/react-dialog";import*as Ve from"@radix-ui/react-dropdown-menu";import{useQueryClient as We,useQuery as Be,useMutation as qe,QueryClient as He}from"@tanstack/react-query";import{createClient as Qe}from"@supabase/supabase-js";import{useFormContext as Xe,FormProvider as Ke,Controller as Ge}from"react-hook-form";import*as Ye from"@radix-ui/react-scroll-area";import{OTPInput as Je,OTPInputContext as Ze}from"input-otp";import{useLocation as ea,useSearchParams as aa,Link as ta}from"react-router-dom";import*as sa from"@radix-ui/react-select";import*as ra from"@radix-ui/react-separator";import*as na from"@radix-ui/react-tooltip";import"next-themes";import{toast as oa}from"sonner";import*as ia from"@radix-ui/react-toast";import{format as la,parseISO as da,isValid as ca}from"date-fns";var ma,ua={exports:{}},fa={};var pa,ha,xa={};
1
+ import*as e from"react";import a,{useState as t,useEffect as s,createContext as r,useContext as n,useCallback as o,useMemo as i,useRef as l,Component as d}from"react";import*as c from"@radix-ui/react-alert-dialog";import{clsx as m}from"clsx";import{twMerge as u}from"tailwind-merge";import{Slot as f}from"@radix-ui/react-slot";import{cva as p}from"class-variance-authority";import{ChevronRight as h,MoreHorizontal as x,X as g,Check as b,Circle as v,AlertCircle as y,Search as N,FileX as j,MessageCircle as w,Target as k,Trophy as S,Award as C,Sparkles as T,Flame as E,Zap as R,Key as P,Shield as _,EyeOff as A,Eye as I,Unlock as O,Lock as D,Archive as z,FolderOpen as F,Folder as $,FileText as M,Save as L,Copy as U,Share as V,Upload as W,Download as B,HelpCircle as q,Info as H,Bell as Q,Clock as X,ArrowRight as K,ArrowLeft as G,ArrowDown as Y,ArrowUp as J,ChevronLeft as Z,ChevronUp as ee,ChevronDown as ae,Minus as te,Plus as se,Trash2 as re,Edit as ne,Filter as oe,Bookmark as ie,Book as le,Video as de,Music as ce,Image as me,Camera as ue,MapPin as fe,Calendar as pe,Phone as he,Mail as xe,Settings as ge,User as be,Home as ve,Heart as ye,Star as Ne,Dot as je,Loader2 as we,ChevronsUpDown as ke,PanelLeft as Se,RefreshCw as Ce,Building2 as Te,LogOut as Ee,ExternalLink as Re,AlertTriangle as Pe,PowerOff as _e,Power as Ae,EllipsisVertical as Ie,ArrowUpDown as Oe,ChevronsLeft as De,ChevronsRight as ze}from"lucide-react";import*as Fe from"@radix-ui/react-label";import*as $e from"@radix-ui/react-popover";import*as Me from"@radix-ui/react-dialog";import*as Le from"@radix-ui/react-dropdown-menu";import{useQueryClient as Ue,useQuery as Ve,useMutation as We,QueryClient as Be}from"@tanstack/react-query";import{createClient as qe}from"@supabase/supabase-js";import{useFormContext as He,FormProvider as Qe,Controller as Xe}from"react-hook-form";import*as Ke from"@radix-ui/react-scroll-area";import{OTPInput as Ge,OTPInputContext as Ye}from"input-otp";import{useLocation as Je,useSearchParams as Ze,Link as ea}from"react-router-dom";import*as aa from"@radix-ui/react-select";import*as ta from"@radix-ui/react-separator";import*as sa from"@radix-ui/react-tooltip";import"next-themes";import{toast as ra}from"sonner";import*as na from"@radix-ui/react-toast";import{format as oa,parseISO as ia,isValid as la}from"date-fns";var da,ca={exports:{}},ma={};var ua,fa,pa={};
2
2
  /**
3
3
  * @license React
4
4
  * react-jsx-runtime.development.js
@@ -7,5 +7,5 @@ import*as e from"react";import a,{useState as t,useEffect as s,createContext as
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */function ga(){return pa||(pa=1,"production"!==process.env.NODE_ENV&&function(){var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var a=arguments.length,t=new Array(a>1?a-1:0),s=1;s<a;s++)t[s-1]=arguments[s];!function(e,a,t){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(a+="%s",t=t.concat([r]));var n=t.map(function(e){return String(e)});n.unshift("Warning: "+a),Function.prototype.apply.call(console[e],console,n)}("error",e,t)}var b;function v(e){return e.displayName||"Context"}function y(e){if(null==e)return null;if("number"==typeof e.tag&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case r:return"Fragment";case s:return"Portal";case o:return"Profiler";case n:return"StrictMode";case c:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return v(e)+".Consumer";case i:return v(e._context)+".Provider";case d:return function(e,a,t){var s=e.displayName;if(s)return s;var r=a.displayName||a.name||"";return""!==r?t+"("+r+")":t}(e,e.render,"ForwardRef");case u:var a=e.displayName||null;return null!==a?a:y(e.type)||"Memo";case f:var t=e,p=t._payload,h=t._init;try{return y(h(p))}catch(e){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,E=Object.assign,R=0;function P(){}P.__reactDisabledLog=!0;var _,A=x.ReactCurrentDispatcher;function I(e,a,t){if(void 0===_)try{throw Error()}catch(e){var s=e.stack.trim().match(/\n( *(at )?)/);_=s&&s[1]||""}return"\n"+_+e}var O,D=!1,z="function"==typeof WeakMap?WeakMap:Map;function F(e,a){if(!e||D)return"";var t,s=O.get(e);if(void 0!==s)return s;D=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=A.current,A.current=null,function(){if(0===R){N=console.log,j=console.info,w=console.warn,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}R++}();try{if(a){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(o,[])}catch(e){t=e}Reflect.construct(e,[],o)}else{try{o.call()}catch(e){t=e}e.call(o.prototype)}}else{try{throw Error()}catch(e){t=e}e()}}catch(a){if(a&&t&&"string"==typeof a.stack){for(var i=a.stack.split("\n"),l=t.stack.split("\n"),d=i.length-1,c=l.length-1;d>=1&&c>=0&&i[d]!==l[c];)c--;for(;d>=1&&c>=0;d--,c--)if(i[d]!==l[c]){if(1!==d||1!==c)do{if(d--,--c<0||i[d]!==l[c]){var m="\n"+i[d].replace(" at new "," at ");return e.displayName&&m.includes("<anonymous>")&&(m=m.replace("<anonymous>",e.displayName)),"function"==typeof e&&O.set(e,m),m}}while(d>=1&&c>=0);break}}}finally{D=!1,A.current=r,function(){if(0===--R){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:N}),info:E({},e,{value:j}),warn:E({},e,{value:w}),error:E({},e,{value:k}),group:E({},e,{value:S}),groupCollapsed:E({},e,{value:C}),groupEnd:E({},e,{value:T})})}R<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=n}var u=e?e.displayName||e.name:"",f=u?I(u):"";return"function"==typeof e&&O.set(e,f),f}function $(e,a,t){if(null==e)return"";if("function"==typeof e)return F(e,function(e){var a=e.prototype;return!(!a||!a.isReactComponent)}(e));if("string"==typeof e)return I(e);switch(e){case c:return I("Suspense");case m:return I("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return F(e.render,!1);case u:return $(e.type,a,t);case f:var s=e,r=s._payload,n=s._init;try{return $(n(r),a,t)}catch(e){}}return""}O=new z;var L=Object.prototype.hasOwnProperty,M={},U=x.ReactDebugCurrentFrame;function V(e){if(e){var a=e._owner,t=$(e.type,e._source,a?a.type:null);U.setExtraStackFrame(t)}else U.setExtraStackFrame(null)}var W=Array.isArray;function B(e){return W(e)}function q(e){return""+e}function H(e){if(function(e){try{return q(e),!1}catch(e){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),q(e)}var Q,X,K=x.ReactCurrentOwner,G={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,a,s,r,n){var o,i={},l=null,d=null;for(o in void 0!==s&&(H(s),l=""+s),function(e){if(L.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(H(a.key),l=""+a.key),function(e){if(L.call(e,"ref")){var a=Object.getOwnPropertyDescriptor(e,"ref").get;if(a&&a.isReactWarning)return!1}return void 0!==e.ref}(a)&&(d=a.ref,function(e){"string"==typeof e.ref&&K.current}(a)),a)L.call(a,o)&&!G.hasOwnProperty(o)&&(i[o]=a[o]);if(e&&e.defaultProps){var c=e.defaultProps;for(o in c)void 0===i[o]&&(i[o]=c[o])}if(l||d){var m="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,a){var t=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(i,m),d&&function(e,a){var t=function(){X||(X=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}(i,m)}return function(e,a,s,r,n,o,i){var l={$$typeof:t,type:e,key:a,ref:s,props:i,_owner:o,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,d,n,r,K.current,i)}var J,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function ae(e){if(e){var a=e._owner,t=$(e.type,e._source,a?a.type:null);ee.setExtraStackFrame(t)}else ee.setExtraStackFrame(null)}function te(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function se(){if(Z.current){var e=y(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}J=!1;var re={};function ne(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=se();if(!a){var t="string"==typeof e?e:e.displayName||e.name;t&&(a="\n\nCheck the top-level render call using <"+t+">.")}return a}(a);if(!re[t]){re[t]=!0;var s="";e&&e._owner&&e._owner!==Z.current&&(s=" It was passed a child from "+y(e._owner.type)+"."),ae(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,s),ae(null)}}}function oe(e,a){if("object"==typeof e)if(B(e))for(var t=0;t<e.length;t++){var s=e[t];te(s)&&ne(s,a)}else if(te(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=h&&e[h]||e["@@iterator"];return"function"==typeof a?a:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,o=r.call(e);!(n=o.next()).done;)te(n.value)&&ne(n.value,a)}}function ie(e){var a,t=e.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)a=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==d&&t.$$typeof!==u)return;a=t.propTypes}if(a){var s=y(t);!function(e,a,t,s,r){var n=Function.call.bind(L);for(var o in e)if(n(e,o)){var i=void 0;try{if("function"!=typeof e[o]){var l=Error((s||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}i=e[o](a,o,s,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){i=e}!i||i instanceof Error||(V(r),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",t,o,typeof i),V(null)),i instanceof Error&&!(i.message in M)&&(M[i.message]=!0,V(r),g("Failed %s type: %s",t,i.message),V(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!J){J=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function de(e,a,s,h,x,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===c||e===m||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===u||e.$$typeof===i||e.$$typeof===l||e.$$typeof===d||e.$$typeof===b||void 0!==e.getModuleId)}(e);if(!N){var j="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(j+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;j+=se(),null===e?w="null":B(e)?w="array":void 0!==e&&e.$$typeof===t?(w="<"+(y(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=Y(e,a,s,x,v);if(null==k)return k;if(N){var S=a.children;if(void 0!==S)if(h)if(B(S)){for(var C=0;C<S.length;C++)oe(S[C],e);Object.freeze&&Object.freeze(S)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oe(S,e)}if(L.call(a,"key")){var T=y(e),E=Object.keys(a).filter(function(e){return"key"!==e}),R=E.length>0?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}";if(!le[T+R])g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',R,T,E.length>0?"{"+E.join(": ..., ")+": ...}":"{}",T),le[T+R]=!0}return e===r?function(e){for(var a=Object.keys(e.props),t=0;t<a.length;t++){var s=a[t];if("children"!==s&&"key"!==s){ae(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),ae(null);break}}null!==e.ref&&(ae(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}(k):ie(k),k}var ce=function(e,a,t){return de(e,a,t,!1)},me=function(e,a,t){return de(e,a,t,!0)};xa.Fragment=r,xa.jsx=ce,xa.jsxs=me}()),xa}var ba=(ha||(ha=1,"production"===process.env.NODE_ENV?ua.exports=function(){if(ma)return fa;ma=1;var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(e,a,s){var i,l={},d=null,c=null;for(i in void 0!==s&&(d=""+s),void 0!==a.key&&(d=""+a.key),void 0!==a.ref&&(c=a.ref),a)r.call(a,i)&&!o.hasOwnProperty(i)&&(l[i]=a[i]);if(e&&e.defaultProps)for(i in a=e.defaultProps)void 0===l[i]&&(l[i]=a[i]);return{$$typeof:t,type:e,key:d,ref:c,props:l,_owner:n.current}}return fa.Fragment=s,fa.jsx=i,fa.jsxs=i,fa}():ua.exports=ga()),ua.exports);function va(...e){return u(m(e))}const ya=p("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium 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 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline","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:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10","icon-sm":"h-8 w-8","icon-xs":"h-6 w-6"}},defaultVariants:{variant:"default",size:"default"}}),Na=e.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...r},n)=>{const o=s?f:"button";return ba.jsx(o,{className:va(ya({variant:a,size:t,className:e})),ref:n,...r})});Na.displayName="Button";const ja=c.Root,wa=c.Trigger,ka=c.Portal,Sa=e.forwardRef(({className:e,...a},t)=>ba.jsx(c.Overlay,{className:va("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",e),...a,ref:t}));Sa.displayName=c.Overlay.displayName;const Ca=e.forwardRef(({className:e,...a},t)=>ba.jsxs(ka,{children:[ba.jsx(Sa,{}),ba.jsx(c.Content,{ref:t,className:va("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",e),...a})]}));Ca.displayName=c.Content.displayName;const Ta=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col space-y-2 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-6 rounded-t-lg",e),...a});Ta.displayName="AlertDialogHeader";const Ea=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Ea.displayName="AlertDialogFooter";const Ra=e.forwardRef(({className:e,...a},t)=>ba.jsx(c.Title,{ref:t,className:va("text-lg font-semibold",e),...a}));Ra.displayName=c.Title.displayName;const Pa=e.forwardRef(({className:e,...a},t)=>ba.jsx(c.Description,{ref:t,className:va("text-sm text-muted-foreground",e),...a}));Pa.displayName=c.Description.displayName;const _a=e.forwardRef(({className:e,...a},t)=>ba.jsx(c.Action,{ref:t,className:va(ya(),e),...a}));_a.displayName=c.Action.displayName;const Aa=e.forwardRef(({className:e,...a},t)=>ba.jsx(c.Cancel,{ref:t,className:va(ya({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));Aa.displayName=c.Cancel.displayName;const Ia=p("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Oa=e.forwardRef(({className:e,variant:a,...t},s)=>ba.jsx("div",{ref:s,role:"alert",className:va(Ia({variant:a}),e),...t}));Oa.displayName="Alert";const Da=e.forwardRef(({className:e,...a},t)=>ba.jsx("h5",{ref:t,className:va("mb-1 font-medium leading-none tracking-tight",e),...a}));Da.displayName="AlertTitle";const za=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("text-sm [&_p]:leading-relaxed",e),...a}));za.displayName="AlertDescription";const Fa=p("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",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white hover:bg-green-600",warning:"border-transparent bg-yellow-500 text-white hover:bg-yellow-600",info:"border-transparent bg-blue-500 text-white hover:bg-blue-600"}},defaultVariants:{variant:"default"}}),$a=e.forwardRef(({className:e,variant:a,...t},s)=>ba.jsx("div",{ref:s,className:va(Fa({variant:a}),e),...t}));$a.displayName="Badge";const La=e.forwardRef(({...e},a)=>ba.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));La.displayName="Breadcrumb";const Ma=e.forwardRef(({className:e,...a},t)=>ba.jsx("ol",{ref:t,className:va("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));Ma.displayName="BreadcrumbList";const Ua=e.forwardRef(({className:e,...a},t)=>ba.jsx("li",{ref:t,className:va("inline-flex items-center gap-1.5",e),...a}));Ua.displayName="BreadcrumbItem";const Va=e.forwardRef(({asChild:a,className:t,...s},r)=>{const n=a?e.Fragment:"a";return ba.jsx(n,{ref:r,className:va("transition-colors hover:text-foreground",t),...s})});Va.displayName="BreadcrumbLink";const Wa=e.forwardRef(({className:e,...a},t)=>ba.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:va("font-normal text-foreground",e),...a}));Wa.displayName="BreadcrumbPage";const Ba=({children:e,className:a,...t})=>ba.jsx("li",{role:"presentation","aria-hidden":"true",className:va("[&>svg]:size-3.5",a),...t,children:e??ba.jsx(h,{})});Ba.displayName="BreadcrumbSeparator";const qa=({className:e,...a})=>ba.jsxs("span",{role:"presentation","aria-hidden":"true",className:va("flex h-9 w-9 items-center justify-center",e),...a,children:[ba.jsx(x,{className:"h-4 w-4"}),ba.jsx("span",{className:"sr-only",children:"More"})]});qa.displayName="BreadcrumbEllipsis";const Ha=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));Ha.displayName="Card";const Qa=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("flex flex-col space-y-1.5 p-6",e),...a}));Qa.displayName="CardHeader";const Xa=e.forwardRef(({className:e,...a},t)=>ba.jsx("h3",{ref:t,className:va("text-2xl font-semibold leading-none tracking-tight",e),...a}));Xa.displayName="CardTitle";const Ka=e.forwardRef(({className:e,...a},t)=>ba.jsx("p",{ref:t,className:va("text-sm text-muted-foreground",e),...a}));Ka.displayName="CardDescription";const Ga=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("p-6 pt-0",e),...a}));Ga.displayName="CardContent";const Ya=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("flex items-center p-6 pt-0",e),...a}));Ya.displayName="CardFooter";const Ja=e.forwardRef(({className:e,type:a,...t},s)=>ba.jsx("input",{type:a,className:va("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",e),ref:s,...t}));Ja.displayName="Input";const Za=p("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),et=e.forwardRef(({className:e,...a},t)=>ba.jsx(Le.Root,{ref:t,className:va(Za(),e),...a}));et.displayName=Le.Root.displayName;const at=Me.Root,tt=Me.Trigger,st=e.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>ba.jsx(Me.Portal,{children:ba.jsx(Me.Content,{ref:r,align:a,sideOffset:t,className:va("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",e),...s})}));st.displayName=Me.Content.displayName;const rt=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],nt=({value:e="#3b82f6",onChange:a,label:t})=>ba.jsxs("div",{className:"space-y-2",children:[t&&ba.jsx(et,{children:t}),ba.jsxs(at,{children:[ba.jsx(tt,{asChild:!0,children:ba.jsxs(Na,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[ba.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),ba.jsx(st,{className:"w-64",children:ba.jsxs("div",{className:"space-y-3",children:[ba.jsxs("div",{children:[ba.jsx(et,{htmlFor:"color-input",children:"Cor personalizada"}),ba.jsx(Ja,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),ba.jsxs("div",{children:[ba.jsx(et,{children:"Cores predefinidas"}),ba.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:rt.map(e=>ba.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>a?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),ot=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));ot.displayName="Command";const it=({children:e,...a})=>ba.jsx("div",{...a,children:ba.jsx(ot,{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:e})}),lt=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:ba.jsx("input",{ref:t,className:va("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",e),...a})}));lt.displayName="CommandInput";const dt=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));dt.displayName="CommandList";const ct=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("py-6 text-center text-sm text-muted-foreground",e),...a}));ct.displayName="CommandEmpty";const mt=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("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",e),...a}));mt.displayName="CommandGroup";const ut=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("-mx-1 h-px bg-border",e),...a}));ut.displayName="CommandSeparator";const ft=e.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>ba.jsx("div",{ref:n,className:va("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",e),"data-disabled":a,onClick:()=>!a&&t?.(s||""),...r}));ft.displayName="CommandItem";const pt=({className:e,...a})=>ba.jsx("span",{className:va("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});pt.displayName="CommandShortcut";const ht={Root:function({children:e,className:a}){return ba.jsx("div",{className:va("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return ba.jsx(Ha,{className:va("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:ba.jsx(Ga,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return ba.jsxs("div",{className:va("flex justify-between items-center text-sm",t),children:[ba.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),ba.jsx("span",{className:"text-foreground",children:a})]})}},xt=({open:e,onOpenChange:a,item:r,onConfirm:n,entityName:o="item",isDeleting:i=!1})=>{const[l,d]=t("");s(()=>{e||d("")},[e]);const c=()=>{d(""),a(!1)},m=l===r?.title;return r?ba.jsx(ja,{open:e,onOpenChange:c,children:ba.jsxs(Ca,{className:"sm:max-w-[500px]",children:[ba.jsx(Ta,{children:ba.jsxs("div",{className:"flex items-center space-x-2",children:[ba.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:ba.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),ba.jsx("div",{className:"flex-1",children:ba.jsx(Ra,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),ba.jsx(Pa,{asChild:!0,children:ba.jsxs("div",{className:"space-y-4",children:[ba.jsxs("div",{className:"text-sm text-muted-foreground",children:[ba.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",o,":"]}),ba.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:ba.jsx("p",{className:"font-medium text-foreground",children:r.title})})]}),ba.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:ba.jsxs("div",{className:"flex items-start space-x-2",children:[ba.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:ba.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),ba.jsxs("div",{className:"text-sm text-orange-800",children:[ba.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),ba.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",o," será removido permanentemente do sistema."]})]})]})}),ba.jsxs("div",{className:"space-y-2",children:[ba.jsxs(et,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",ba.jsxs("strong",{children:['"',r.title,'"']})," abaixo:"]}),ba.jsx(Ja,{id:"confirmation",type:"text",value:l,onChange:e=>d(e.target.value),placeholder:`Digite: ${r.title}`,className:"w-full"})]})]})}),ba.jsxs(Ea,{children:[ba.jsx(Aa,{onClick:c,children:"Cancelar"}),ba.jsx(_a,{onClick:()=>{r&&l===r.title&&(n(r),d(""),a(!1))},disabled:!m||i,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:i?"Removendo...":`Excluir ${o}`})]})]})}):null},gt=Ue.Root,bt=Ue.Trigger,vt=Ue.Portal,yt=Ue.Close,Nt=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Overlay,{ref:t,className:va("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",e),...a}));Nt.displayName=Ue.Overlay.displayName;const jt=e.forwardRef(({className:e,children:a,...t},s)=>ba.jsxs(vt,{children:[ba.jsx(Nt,{}),ba.jsxs(Ue.Content,{ref:s,className:va("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background p-6 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%] rounded-lg overflow-hidden",e),...t,children:[a,ba.jsxs(Ue.Close,{className:"absolute right-4 top-4 z-10 rounded-sm text-white opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:text-white focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[ba.jsx(g,{className:"h-4 w-4"}),ba.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));jt.displayName=Ue.Content.displayName;const wt=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col space-y-1.5 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-3 rounded-t-lg",e),...a});wt.displayName="DialogHeader";const kt=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});kt.displayName="DialogFooter";const St=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Title,{ref:t,className:va("text-lg font-semibold leading-none tracking-tight",e),...a}));St.displayName=Ue.Title.displayName;const Ct=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Description,{ref:t,className:va("text-sm text-muted-foreground",e),...a}));Ct.displayName=Ue.Description.displayName;const Tt=Ve.Root,Et=Ve.Trigger,Rt=Ve.Group,Pt=Ve.Portal,_t=Ve.Sub,At=Ve.RadioGroup,It=e.forwardRef(({className:e,inset:a,children:t,...s},r)=>ba.jsxs(Ve.SubTrigger,{ref:r,className:va("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",e),...s,children:[t,ba.jsx(h,{className:"ml-auto h-4 w-4"})]}));It.displayName=Ve.SubTrigger.displayName;const Ot=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ve.SubContent,{ref:t,className:va("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",e),...a}));Ot.displayName=Ve.SubContent.displayName;const Dt=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>ba.jsx(Ve.Portal,{children:ba.jsx(Ve.Content,{ref:s,sideOffset:a,className:va("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-white 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 dark:bg-gray-800 dark:border-gray-700",e),...t})}));Dt.displayName=Ve.Content.displayName;const zt=e.forwardRef(({className:e,inset:a,...t},s)=>ba.jsx(Ve.Item,{ref:s,className:va("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",a&&"pl-8",e),...t}));zt.displayName=Ve.Item.displayName;const Ft=e.forwardRef(({className:e,children:a,checked:t,...s},r)=>ba.jsxs(Ve.CheckboxItem,{ref:r,className:va("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",e),checked:t,...s,children:[ba.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:ba.jsx(Ve.ItemIndicator,{children:ba.jsx(b,{className:"h-4 w-4"})})}),a]}));Ft.displayName=Ve.CheckboxItem.displayName;const $t=e.forwardRef(({className:e,children:a,...t},s)=>ba.jsxs(Ve.RadioItem,{ref:s,className:va("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",e),...t,children:[ba.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:ba.jsx(Ve.ItemIndicator,{children:ba.jsx(v,{className:"h-2 w-2 fill-current"})})}),a]}));$t.displayName=Ve.RadioItem.displayName;const Lt=e.forwardRef(({className:e,inset:a,...t},s)=>ba.jsx(Ve.Label,{ref:s,className:va("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));Lt.displayName=Ve.Label.displayName;const Mt=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ve.Separator,{ref:t,className:va("-mx-1 my-1 h-px bg-muted",e),...a}));Mt.displayName=Ve.Separator.displayName;const Ut=({className:e,...a})=>ba.jsx("span",{className:va("ml-auto text-xs tracking-widest opacity-60",e),...a});Ut.displayName="DropdownMenuShortcut";const Vt={default:j,search:N,error:y};function Wt({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const o=e?()=>e:Vt[n];return ba.jsxs("div",{className:va("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[ba.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:ba.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),ba.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&ba.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&ba.jsx(Na,{onClick:s.onClick,variant:"outline",children:s.label})]})}const Bt="qualiex_access_token",qt="qualiex_id_token",Ht="supabase_token",Qt="oauth_state",Xt="oauth_nonce",Kt="selected_alias",Gt={setAccessToken:e=>localStorage.setItem(Bt,e),getAccessToken:()=>localStorage.getItem(Bt),setIdToken:e=>localStorage.setItem(qt,e),getIdToken:()=>localStorage.getItem(qt),setSupabaseToken:e=>localStorage.setItem(Ht,e),getSupabaseToken:()=>localStorage.getItem(Ht),setOAuthState:e=>sessionStorage.setItem(Qt,e),getOAuthState:()=>sessionStorage.getItem(Qt),clearOAuthState:()=>sessionStorage.removeItem(Qt),setOAuthNonce:e=>sessionStorage.setItem(Xt,e),getOAuthNonce:()=>sessionStorage.getItem(Xt),clearOAuthNonce:()=>sessionStorage.removeItem(Xt),setSelectedAlias:e=>localStorage.setItem(Kt,e),getSelectedAlias:()=>localStorage.getItem(Kt),clearSelectedAlias:()=>localStorage.removeItem(Kt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Gt.getAccessToken()||!Gt.getIdToken()),clearAll:()=>{localStorage.removeItem(Bt),localStorage.removeItem(qt),localStorage.removeItem(Ht),localStorage.removeItem(Kt),sessionStorage.removeItem(Qt),sessionStorage.removeItem(Xt)},isTokenExpired:e=>{try{return 1e3*JSON.parse(atob(e.split(".")[1])).exp<Date.now()}catch{return!0}},isSupabaseTokenValid:()=>{const e=Gt.getSupabaseToken();return!!e&&!Gt.isTokenExpired(e)},getValidSupabaseToken:()=>{const e=Gt.getSupabaseToken();return!e||Gt.isTokenExpired(e)?null:e},extractTokenData:()=>{const e=Gt.getSupabaseToken();if(!e)return null;try{const a=JSON.parse(atob(e.split(".")[1])),t=a.alias||a.default||a.user_alias;let s=a.company_id;if(!s&&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){s=e[7];break}}}return{alias:t,companyId:s,payload:a}}catch{return null}}};let Yt=0;const Jt=new Map,Zt=e=>{if(Jt.has(e))return;const a=setTimeout(()=>{Jt.delete(e),ss({type:"REMOVE_TOAST",toastId:e})},1e6);Jt.set(e,a)},es=(e,a)=>{switch(a.type){case"ADD_TOAST":return{...e,toasts:[a.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===a.toast.id?{...e,...a.toast}:e)};case"DISMISS_TOAST":{const{toastId:t}=a;return t?Zt(t):e.toasts.forEach(e=>{Zt(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===a.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==a.toastId)}}},as=[];let ts={toasts:[]};function ss(e){ts=es(ts,e),as.forEach(e=>{e(ts)})}function rs({...e}){const a=(Yt=(Yt+1)%Number.MAX_SAFE_INTEGER,Yt.toString()),t=()=>ss({type:"DISMISS_TOAST",toastId:a});return ss({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>ss({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function ns(){const[a,t]=e.useState(ts);return e.useEffect(()=>(as.push(t),()=>{const e=as.indexOf(t);e>-1&&as.splice(e,1)}),[a]),{...a,toast:rs,dismiss:e=>ss({type:"DISMISS_TOAST",toastId:e})}}var os=Object.defineProperty,is=(e,a,t)=>((e,a,t)=>a in e?os(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const ls=new class{constructor(){is(this,"errors",[]),is(this,"toastCount",0),is(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()&&rs({title:"Erro",description:t,variant:"destructive"})}success(e,a){rs({title:e,description:a,variant:"default"})}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 ds=Object.defineProperty,cs=(e,a,t)=>((e,a,t)=>a in e?ds(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const ms=import.meta.env.VITE_SUPABASE_URL,us=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,fs=class e{constructor(){cs(this,"client"),cs(this,"currentToken",null),cs(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:us};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),Qe(ms,us,{auth:{persistSession:!1,autoRefreshToken:!1},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Gt.getSupabaseToken();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(e){return ls.handleError(e instanceof Error?e:"❌ Supabase - Error validating token",!1),!1}}};cs(fs,"instance");let ps=fs;const hs=()=>ps.getInstance().getClient(),xs={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"}},gs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},bs={debounceDelay:500},vs=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("lovable.dev")||import.meta.env.DEV},ys={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},Ns={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}`}};class js{static async initialize(){try{if(!Gt.hasAllTokens())return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]};const e=Gt.getAccessToken(),a=Gt.getIdToken(),t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=Gt.getSelectedAlias(),o=n&&s.some(e=>e.alias===n)?n:r||s[0]?.alias||null;if(!Gt.isSupabaseTokenValid()&&o){const a=await this.generateSupabaseToken(e,o);a&&Gt.setSupabaseToken(a)}return{isAuthenticated:!0,isLoading:!1,user:t,alias:o,companies:s}}catch(e){return console.error("[Auth] Erro na inicialização:",e),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]}}}static async loginDev(){try{const e=hs(),{data:a,error:t}=await e.functions.invoke("dev-tokens",{body:{environment:"development"}});if(t)return console.error("[Auth] Erro na Edge Function dev-tokens:",t),!1;if(!a?.access_token||!a?.id_token)return console.error("[Auth] Tokens ausentes na resposta"),!1;const s=new URL("/callback",window.location.origin);return s.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=s.toString(),!0}catch(e){return console.error("[Auth] Erro no login dev:",e),!1}}static loginProd(){const e=Gt.generateOAuthState();Gt.setOAuthState(e);const a=Gt.generateOAuthNonce();Gt.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL(xs.oauth.authUrl);s.searchParams.set("client_id",xs.oauth.clientId),s.searchParams.set("response_type",xs.oauth.responseType),s.searchParams.set("scope",xs.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),vs(),window.location.href=s.toString()}static async processCallback(){try{if(Gt.hasAllTokens()){if(!Gt.getValidSupabaseToken()){const e=Gt.getAccessToken(),a=this.extractAliasFromAccessToken(e),t=this.extractCompaniesFromIdToken(Gt.getIdToken())[0]?.alias,s=a||t;if(s){const a=await this.generateSupabaseToken(e,s);a&&Gt.setSupabaseToken(a)}}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),s=t("access_token"),r=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");Gt.setAccessToken(s),Gt.setIdToken(r);const o=this.extractAliasFromAccessToken(s);if(o){const e=await this.generateSupabaseToken(s,o);if(!e)throw new Error("Falha ao gerar token Supabase");Gt.setSupabaseToken(e)}else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");const a=e[0].alias,t=await this.generateSupabaseToken(s,a);if(!t)throw new Error("Falha ao gerar token Supabase");Gt.setSupabaseToken(t)}return Gt.clearOAuthState(),Gt.clearOAuthNonce(),console.log("✅ [AuthService] Callback processado com sucesso"),!0}catch(e){throw console.error("❌ [CallbackPage] Erro ao processar callback:",e),e}}static logout(){Gt.clearAll(),window.location.href="/"}static decodeToken(e){try{const a=e.split(".")[1],t=atob(a),s=new Uint8Array(t.length);for(let e=0;e<t.length;e++)s[e]=t.charCodeAt(e);const r=new TextDecoder("utf-8").decode(s);return JSON.parse(r)}catch{return null}}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier,photoDate:a["photo-date"]}: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 s=a[e].split(";");if(s.length>=4)t.push({alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=a[e].split("|");s&&r&&t.push({alias:s.trim(),name:r.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}static async generateSupabaseToken(e,a){try{const t=hs(),{data:s,error:r}=await t.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return r?(console.error("[Auth] Erro na Edge Function validate-token:",r),null):s?.access_token?s.access_token:(console.error("[Auth] Token Supabase ausente na resposta"),null)}catch(e){return console.error("[Auth] Erro ao gerar token Supabase:",e),null}}}const ws=r(void 0),ks=({children:e})=>{const[a,r]=t({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0}),n=We(),[l,d]=t(!1),[c,m]=t(0),u=o(e=>{r(a=>({...a,...e}))},[]),f=o(e=>{r(a=>({...a,isLoading:e}))},[]),p=o(()=>{r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0})},[]),h=o(async e=>{try{f(!0);const a=Gt.getAccessToken();if(!a)return void console.error("[AuthContext] Access token não encontrado para trocar unidade");const t=await js.generateSupabaseToken(a,e.alias);if(!t)return void console.error("[AuthContext] Erro ao gerar token Supabase para nova unidade");Gt.setSupabaseToken(t),Gt.setSelectedAlias(e.alias),u({alias:e.alias}),await n.invalidateQueries()}catch(a){console.error("[AuthContext] Erro ao trocar unidade",a,e)}finally{f(!1)}},[u,n,f]),x=o(async()=>await js.processCallback(),[]),g=o(async()=>{js.logout(),p(),await n.clear()},[p,n]),b=o(e=>{d(e)},[]),v=o(()=>{m(e=>e+1)},[]),y=o(()=>{m(e=>e+1)},[]);s(()=>{(async()=>{try{await new Promise(e=>setTimeout(e,100));const e=await js.initialize();e&&e.isAuthenticated?u({user:e.user,companies:e.companies,alias:e.alias,isAuthenticated:!0,isLoading:!1}):f(!1)}catch(e){console.error("[AuthContext] Erro na inicialização da autenticação",e),f(!1)}})()},[u,f]);const N=i(()=>({...a,logout:g,processCallback:x,switchUnit:h,availableUnits:a.companies,isSearchVisible:l,setSearchVisible:b,clearSearch:v,refreshData:y}),[a,g,x,h,l,b,v,y]);return ba.jsx(ws.Provider,{value:N,children:e})},Ss=()=>{const e=n(ws);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e},Cs=({variant:e="button",className:s="",children:r})=>{const[n,o]=t(!1),{user:i}=Ss(),{companies:l,alias:d}=Ss(),c=d?l?.find(e=>e.alias===d)||l?.[0]||null:l?.[0]||null,m=(()=>{if(!i?.email)return"";return`${`${import.meta.env.VITE_FEEDBACK_APP_URL}/`}?${new URLSearchParams({email:i.email,module:"OKR",alias:c?.alias||""}).toString()}`})();if(!i?.email||!c)return null;const u=a.forwardRef((a,t)=>"menuItem"===e?ba.jsxs("div",{ref:t,className:"flex items-center cursor-pointer w-full px-2 py-1.5 text-sm hover:bg-accent rounded-sm",...a,children:[ba.jsx(w,{className:"mr-2 h-4 w-4"}),"Feedback"]}):ba.jsxs(Na,{ref:t,variant:"default",size:"sm",className:`bg-primary hover:bg-primary/90 ${s}`,...a,children:[ba.jsx(w,{className:"mr-2 h-4 w-4"}),"Feedback"]}));return u.displayName="TriggerButton",ba.jsxs(gt,{open:n,onOpenChange:o,children:[ba.jsx(bt,{asChild:!0,children:ba.jsx(u,{})}),ba.jsxs(jt,{className:"max-w-4xl max-h-[90vh] w-full h-full p-0 overflow-hidden",children:[ba.jsxs(wt,{className:"sr-only",children:[ba.jsx(St,{children:"Feedback"}),ba.jsx(Ct,{children:"Formulário de feedback para melhorias no sistema"})]}),ba.jsx("div",{className:"w-full h-full",children:ba.jsx("iframe",{src:m,width:"100%",height:"600px",className:"feedback-iframe",title:"Formulário de Feedback",loading:"lazy"})})]})]})},Ts=Ke,Es=e.createContext({}),Rs=({...e})=>ba.jsx(Es.Provider,{value:{name:e.name},children:ba.jsx(Ge,{...e})}),Ps=()=>{const a=e.useContext(Es),t=e.useContext(_s),{getFieldState:s,formState:r}=Xe(),n=s(a.name,r);if(!a)throw new Error("useFormField should be used within <FormField>");const{id:o}=t;return{id:o,name:a.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...n}},_s=e.createContext({}),As=e.forwardRef(({className:a,...t},s)=>{const r=e.useId();return ba.jsx(_s.Provider,{value:{id:r},children:ba.jsx("div",{ref:s,className:va("space-y-2",a),...t})})});As.displayName="FormItem";const Is=e.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=Ps();return ba.jsx(et,{ref:t,className:va(s&&"text-destructive",e),htmlFor:r,...a})});Is.displayName="FormLabel";const Os=e.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:r,formMessageId:n}=Ps();return ba.jsx(f,{ref:a,id:s,"aria-describedby":t?`${r} ${n}`:`${r}`,"aria-invalid":!!t,...e})});Os.displayName="FormControl";const Ds=e.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=Ps();return ba.jsx("p",{ref:t,id:s,className:va("text-sm text-muted-foreground",e),...a})});Ds.displayName="FormDescription";const zs=e.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=Ps(),o=r?String(r?.message):a;return o?ba.jsx("p",{ref:s,id:n,className:va("text-sm font-medium text-destructive",e),...t,children:o}):null});zs.displayName="FormMessage";const Fs={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))]"},$s={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function Ls({children:e,cols:a="auto-fit",gap:t="md",className:s}){return ba.jsx("div",{className:va("grid",Fs[a],$s[t],s),children:e})}const Ms=e.forwardRef(({className:e,children:a,...t},s)=>ba.jsxs(Ye.Root,{ref:s,className:va("relative overflow-hidden",e),...t,children:[ba.jsx(Ye.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),ba.jsx(Us,{}),ba.jsx(Ye.Corner,{})]}));Ms.displayName=Ye.Root.displayName;const Us=e.forwardRef(({className:e,orientation:a="vertical",...t},s)=>ba.jsx(Ye.ScrollAreaScrollbar,{ref:s,orientation:a,className:va("flex touch-none select-none transition-colors","vertical"===a&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...t,children:ba.jsx(Ye.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Us.displayName=Ye.ScrollAreaScrollbar.displayName;const Vs={Star:Ne,Heart:ye,Home:ve,User:be,Settings:ge,Mail:xe,Phone:he,Calendar:pe,MapPin:fe,Camera:ue,Image:me,Music:ce,Video:de,Book:le,Bookmark:ie,Search:N,Filter:oe,Edit:ne,Trash2:re,Plus:se,Minus:te,Check:b,X:g,ChevronDown:ae,ChevronUp:ee,ChevronLeft:Z,ChevronRight:h,ArrowUp:J,ArrowDown:Y,ArrowLeft:G,ArrowRight:K,Clock:X,Bell:Q,AlertCircle:y,Info:H,HelpCircle:q,Download:B,Upload:W,Share:V,Copy:U,Save:M,FileText:L,Folder:$,FolderOpen:F,Archive:z,Lock:D,Unlock:O,Eye:I,EyeOff:A,Shield:_,Key:P,Zap:R,Flame:E,Sparkles:T,Award:C,Trophy:S,Target:k},Ws=({value:e="Star",onChange:a,label:s})=>{const[r,n]=t(""),o=Object.entries(Vs).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),i=Vs[e]||Ne;return ba.jsxs("div",{className:"space-y-2",children:[s&&ba.jsx(et,{children:s}),ba.jsxs(at,{children:[ba.jsx(tt,{asChild:!0,children:ba.jsxs(Na,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[ba.jsx(i,{className:"h-4 w-4 mr-2"}),e]})}),ba.jsx(st,{className:"w-80",children:ba.jsxs("div",{className:"space-y-3",children:[ba.jsxs("div",{children:[ba.jsx(et,{htmlFor:"icon-search",children:"Buscar ícone"}),ba.jsx(Ja,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),ba.jsx(Ms,{className:"h-48",children:ba.jsx("div",{className:"grid grid-cols-6 gap-2",children:o.map(([t,s])=>ba.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(e===t?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(t),title:t,children:ba.jsx(s,{className:"h-4 w-4"})},t))})})]})})]})]})},Bs=e.forwardRef(({className:e,containerClassName:a,...t},s)=>ba.jsx(Je,{ref:s,containerClassName:va("flex items-center gap-2 has-[:disabled]:opacity-50",a),className:va("disabled:cursor-not-allowed",e),...t}));Bs.displayName="InputOTP";const qs=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,className:va("flex items-center",e),...a}));qs.displayName="InputOTPGroup";const Hs=e.forwardRef(({index:a,className:t,...s},r)=>{const n=e.useContext(Ze),{char:o,hasFakeCaret:i,isActive:l}=n.slots[a];return ba.jsxs("div",{ref:r,className:va("relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",l&&"z-10 ring-2 ring-ring ring-offset-background",t),...s,children:[o,i&&ba.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:ba.jsx("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})});Hs.displayName="InputOTPSlot";const Qs=e.forwardRef(({...e},a)=>ba.jsx("div",{ref:a,role:"separator",...e,children:ba.jsx(je,{})}));Qs.displayName="InputOTPSeparator";const Xs={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function Ks({size:e="md",className:a}){return ba.jsx(we,{className:va("animate-spin text-muted-foreground",Xs[e],a)})}function Gs({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?ba.jsxs("div",{className:va("relative",t),children:[a,ba.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:ba.jsx(Ks,{size:r})})]}):"skeleton"===s?ba.jsx("div",{className:va("animate-pulse",t),children:ba.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):ba.jsx("div",{className:va("flex items-center justify-center py-8",t),children:ba.jsx(Ks,{size:r})}):ba.jsx(ba.Fragment,{children:a})}function Ys({modules:e,currentModule:a,onModuleSelect:s,placeholder:r="Selecionar módulo...",emptyMessage:n="Nenhum módulo encontrado.",className:o}){const[l,d]=t(!1),[c,m]=t(""),u=i(()=>c?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())):e,[e,c]),f=e.find(e=>!!a&&e.url===a);return ba.jsxs(at,{open:l,onOpenChange:d,children:[ba.jsx(tt,{asChild:!0,children:ba.jsxs(Na,{variant:"outline",role:"combobox","aria-expanded":l,className:va("w-full justify-between",o),children:[ba.jsx("span",{className:"truncate",children:f?f.name:r}),ba.jsx(ke,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),ba.jsx(st,{className:"w-full p-0",align:"start",children:ba.jsxs(ot,{children:[ba.jsx(lt,{placeholder:"Buscar módulos...",value:c,onChange:e=>m(e.target.value)}),ba.jsxs(dt,{children:[ba.jsx(ct,{children:n}),ba.jsx(mt,{children:u.map(e=>ba.jsxs(ft,{value:e.name,onSelect:()=>{s(e.url),d(!1),m("")},children:[ba.jsx(b,{className:va("mr-2 h-4 w-4",f?.id===e.id?"opacity-100":"opacity-0")}),ba.jsx("span",{className:"truncate",children:e.name})]},e.id))})]})]})})]})}function Js({items:e,maxItems:a=3,className:t}){const s=e.length>a?[e[0],...e.slice(-(a-1))]:e,r=e.length>a;return ba.jsx(La,{className:t,children:ba.jsx(Ma,{children:s.map((e,a)=>{const t=a===s.length-1,n=r&&1===a;return ba.jsxs("div",{className:"flex items-center",children:[n&&ba.jsxs(ba.Fragment,{children:[ba.jsx(Ua,{children:ba.jsx(qa,{})}),ba.jsx(Ba,{})]}),ba.jsx(Ua,{children:t||e.isCurrentPage?ba.jsx(Wa,{className:"font-bold text-lg",children:e.label}):ba.jsx(Va,{href:e.href,children:e.label})}),!t&&ba.jsx(Ba,{})]},`${e.label}-${a}`)})})})}function Zs(){const e=ea();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let s="";return a.forEach((e,r)=>{s+=`/${e}`;const n=r===a.length-1,o=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:o,href:n?void 0:s,isCurrentPage:n})}),t})()}const er=({className:e,...a})=>ba.jsx("nav",{role:"navigation","aria-label":"pagination",className:va("mx-auto flex w-full justify-center",e),...a});er.displayName="Pagination";const ar=e.forwardRef(({className:e,...a},t)=>ba.jsx("ul",{ref:t,className:va("flex flex-row items-center gap-1",e),...a}));ar.displayName="PaginationContent";const tr=e.forwardRef(({className:e,...a},t)=>ba.jsx("li",{ref:t,className:va("",e),...a}));tr.displayName="PaginationItem";const sr=({className:e,isActive:a,size:t="icon",...s})=>ba.jsx("a",{"aria-current":a?"page":void 0,className:va(ya({variant:a?"outline":"ghost",size:t}),e),...s});sr.displayName="PaginationLink";const rr=({className:e,...a})=>ba.jsxs(sr,{"aria-label":"Go to previous page",size:"default",className:va("gap-1 pl-2.5",e),...a,children:[ba.jsx(Z,{className:"h-4 w-4"}),ba.jsx("span",{children:"Previous"})]});rr.displayName="PaginationPrevious";const nr=({className:e,...a})=>ba.jsxs(sr,{"aria-label":"Go to next page",size:"default",className:va("gap-1 pr-2.5",e),...a,children:[ba.jsx("span",{children:"Next"}),ba.jsx(h,{className:"h-4 w-4"})]});nr.displayName="PaginationNext";const or=({className:e,...a})=>ba.jsxs("span",{"aria-hidden":!0,className:va("flex h-9 w-9 items-center justify-center",e),...a,children:[ba.jsx(x,{className:"h-4 w-4"}),ba.jsx("span",{className:"sr-only",children:"More pages"})]});or.displayName="PaginationEllipsis";const ir=sa.Root,lr=sa.Group,dr=sa.Value,cr=e.forwardRef(({className:e,children:a,...t},s)=>ba.jsxs(sa.Trigger,{ref:s,className:va("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",e),...t,children:[a,ba.jsx(sa.Icon,{asChild:!0,children:ba.jsx(ae,{className:"h-4 w-4 opacity-50"})})]}));cr.displayName=sa.Trigger.displayName;const mr=e.forwardRef(({className:e,...a},t)=>ba.jsx(sa.ScrollUpButton,{ref:t,className:va("flex cursor-default items-center justify-center py-1",e),...a,children:ba.jsx(ee,{className:"h-4 w-4"})}));mr.displayName=sa.ScrollUpButton.displayName;const ur=e.forwardRef(({className:e,...a},t)=>ba.jsx(sa.ScrollDownButton,{ref:t,className:va("flex cursor-default items-center justify-center py-1",e),...a,children:ba.jsx(ae,{className:"h-4 w-4"})}));ur.displayName=sa.ScrollDownButton.displayName;const fr=e.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>ba.jsx(sa.Portal,{children:ba.jsxs(sa.Content,{ref:r,className:va("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"===t&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:t,...s,children:[ba.jsx(mr,{}),ba.jsx(sa.Viewport,{className:va("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),ba.jsx(ur,{})]})}));fr.displayName=sa.Content.displayName;const pr=e.forwardRef(({className:e,...a},t)=>ba.jsx(sa.Label,{ref:t,className:va("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a}));pr.displayName=sa.Label.displayName;const hr=e.forwardRef(({className:e,children:a,...t},s)=>ba.jsxs(sa.Item,{ref:s,className:va("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",e),...t,children:[ba.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:ba.jsx(sa.ItemIndicator,{children:ba.jsx(b,{className:"h-4 w-4"})})}),ba.jsx(sa.ItemText,{children:a})]}));hr.displayName=sa.Item.displayName;const xr=e.forwardRef(({className:e,...a},t)=>ba.jsx(sa.Separator,{ref:t,className:va("-mx-1 my-1 h-px bg-muted",e),...a}));xr.displayName=sa.Separator.displayName;const gr=e.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>ba.jsx(ra.Root,{ref:r,decorative:t,orientation:a,className:va("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));gr.displayName=ra.Root.displayName;const br=Ue.Root,vr=Ue.Trigger,yr=Ue.Close,Nr=Ue.Portal,jr=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Overlay,{className:va("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",e),...a,ref:t}));jr.displayName=Ue.Overlay.displayName;const wr=p("fixed z-50 gap-4 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 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t 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"}}),kr=e.forwardRef(({side:e="right",className:a,children:t,...s},r)=>ba.jsxs(Nr,{children:[ba.jsx(jr,{}),ba.jsxs(Ue.Content,{ref:r,className:va(wr({side:e}),a),...s,children:[t,ba.jsxs(Ue.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[ba.jsx(g,{className:"h-4 w-4"}),ba.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));kr.displayName=Ue.Content.displayName;const Sr=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col space-y-2 text-center sm:text-left",e),...a});Sr.displayName="SheetHeader";const Cr=({className:e,...a})=>ba.jsx("div",{className:va("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Cr.displayName="SheetFooter";const Tr=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Title,{ref:t,className:va("text-lg font-semibold text-foreground",e),...a}));Tr.displayName=Ue.Title.displayName;const Er=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ue.Description,{ref:t,className:va("text-sm text-muted-foreground",e),...a}));Er.displayName=Ue.Description.displayName;const Rr=na.Provider,Pr=na.Root,_r=na.Trigger,Ar=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>ba.jsx(na.Content,{ref:s,sideOffset:a,className:va("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",e),...t}));Ar.displayName=na.Content.displayName;const Ir="sidebar:state",Or=e.createContext(null);function Dr(){const a=e.useContext(Or);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}const zr=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:r,style:n,children:o,...i},l)=>{const[d,c]=e.useState(!1);e.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[m,u]=e.useState(!1),[f,p]=e.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(Ir);return null!==e?"true"===e:a}return a}),h=t??f,x=e.useCallback(e=>{const a="function"==typeof e?e(h):e;s?s(a):p(a),"undefined"!=typeof window&&localStorage.setItem(Ir,String(a))},[s,h]),g=e.useCallback(()=>d?u(e=>!e):x(e=>!e),[d,x,u]);e.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);const b=h?"expanded":"collapsed",v=e.useMemo(()=>({state:b,open:h,setOpen:x,isMobile:d,openMobile:m,setOpenMobile:u,toggleSidebar:g}),[b,h,x,d,m,u,g]);return ba.jsx(Or.Provider,{value:v,children:ba.jsx(Rr,{delayDuration:0,children:ba.jsx("div",{className:va("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",r),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},ref:l,...i,children:o})})})});zr.displayName="SidebarProvider";const Fr=e.forwardRef(({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:r,...n},o)=>{const{isMobile:i,state:l,openMobile:d,setOpenMobile:c}=Dr();return"none"===t?ba.jsx("div",{className:va("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?ba.jsx(br,{open:d,onOpenChange:c,...n,children:ba.jsxs(kr,{"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:e,children:[ba.jsx(Tr,{className:"sr-only",children:"Menu de Navegação"}),ba.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):ba.jsxs("div",{ref:o,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?t:"","data-variant":a,"data-side":e,children:[ba.jsx("div",{className:va("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"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),ba.jsx("div",{className:va("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===e?"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"===a||"inset"===a?"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",s),...n,children:ba.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:r})})]})});Fr.displayName="Sidebar";const $r=e.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Dr();return ba.jsxs(Na,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:va("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[ba.jsx(Se,{}),ba.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});$r.displayName="SidebarTrigger";const Lr=e.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Dr();return ba.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:va("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",e),...a})});Lr.displayName="SidebarRail";const Mr=e.forwardRef(({className:e,...a},t)=>ba.jsx("main",{ref:t,className:va("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",e),...a}));Mr.displayName="SidebarInset";const Ur=e.forwardRef(({className:e,...a},t)=>ba.jsx(Ja,{ref:t,"data-sidebar":"input",className:va("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));Ur.displayName="SidebarInput";const Vr=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"header",className:va("flex flex-col gap-2 p-2",e),...a}));Vr.displayName="SidebarHeader";const Wr=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"footer",className:va("flex flex-col gap-2 p-2",e),...a}));Wr.displayName="SidebarFooter";const Br=e.forwardRef(({className:e,...a},t)=>ba.jsx(gr,{ref:t,"data-sidebar":"separator",className:va("mx-2 w-auto bg-sidebar-border",e),...a}));Br.displayName="SidebarSeparator";const qr=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"content",className:va("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));qr.displayName="SidebarContent";const Hr=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"group",className:va("relative flex w-full min-w-0 flex-col p-2",e),...a}));Hr.displayName="SidebarGroup";const Qr=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?f:"div";return ba.jsx(r,{ref:s,"data-sidebar":"group-label",className:va("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",e),...t})});Qr.displayName="SidebarGroupLabel";const Xr=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?f:"button";return ba.jsx(r,{ref:s,"data-sidebar":"group-action",className:va("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",e),...t})});Xr.displayName="SidebarGroupAction";const Kr=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"group-content",className:va("w-full text-sm",e),...a}));Kr.displayName="SidebarGroupContent";const Gr=e.forwardRef(({className:e,...a},t)=>ba.jsx("ul",{ref:t,"data-sidebar":"menu",className:va("flex w-full min-w-0 flex-col gap-1",e),...a}));Gr.displayName="SidebarMenu";const Yr=e.forwardRef(({className:e,...a},t)=>ba.jsx("li",{ref:t,"data-sidebar":"menu-item",className:va("group/menu-item relative",e),...a}));Yr.displayName="SidebarMenuItem";const Jr=p("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-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-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-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Zr=e.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:r,className:n,...o},i)=>{const l=e?f:"button",{isMobile:d,state:c}=Dr(),m=ba.jsx(l,{ref:i,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:va(Jr({variant:t,size:s}),n),...o});return r?("string"==typeof r&&(r={children:r}),ba.jsxs(Pr,{children:[ba.jsx(_r,{asChild:!0,children:m}),ba.jsx(Ar,{side:"right",align:"center",hidden:"collapsed"!==c||d,...r})]})):m});Zr.displayName="SidebarMenuButton";const en=e.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},r)=>{const n=a?f:"button";return ba.jsx(n,{ref:r,"data-sidebar":"menu-action",className:va("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",t&&"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",e),...s})});en.displayName="SidebarMenuAction";const an=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:va("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",e),...a}));an.displayName="SidebarMenuBadge";const tn=e.forwardRef(({className:a,showIcon:t=!1,...s},r)=>{const n=e.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return ba.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:va("rounded-md h-8 flex gap-2 px-2 items-center",a),...s,children:[t&&ba.jsx("div",{className:"size-4 rounded-md bg-muted animate-pulse","data-sidebar":"menu-skeleton-icon"}),ba.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width bg-muted animate-pulse rounded-md","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":n}})]})});tn.displayName="SidebarMenuSkeleton";const sn=e.forwardRef(({className:e,...a},t)=>ba.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:va("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",e),...a}));sn.displayName="SidebarMenuSub";const rn=e.forwardRef(({...e},a)=>ba.jsx("li",{ref:a,...e}));rn.displayName="SidebarMenuSubItem";const nn=e.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...r},n)=>{const o=e?f:"a";return ba.jsx(o,{ref:n,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:va("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"===a&&"text-xs","md"===a&&"text-sm","group-data-[collapsible=icon]:hidden",s),...r})});function on({className:e,...a}){return ba.jsx("div",{className:va("animate-pulse rounded-md bg-muted",e),...a})}function ln({rows:e=5,columns:a=4}){return ba.jsx("div",{className:"w-full",children:ba.jsxs("div",{className:"rounded-md border",children:[ba.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:ba.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>ba.jsx(on,{className:"h-4 w-24"},a))})}),ba.jsx("div",{children:Array.from({length:e}).map((e,t)=>ba.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:ba.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>ba.jsx(on,{className:"h-4 w-20"},a))})},t))})]})})}function dn({count:e=3}){return ba.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>ba.jsxs(Ha,{children:[ba.jsxs(Qa,{children:[ba.jsx(on,{className:"h-4 w-3/4"}),ba.jsx(on,{className:"h-3 w-1/2"})]}),ba.jsx(Ga,{children:ba.jsxs("div",{className:"space-y-2",children:[ba.jsx(on,{className:"h-3 w-full"}),ba.jsx(on,{className:"h-3 w-2/3"})]})})]},a))})}function cn({fields:e=4}){return ba.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>ba.jsxs("div",{className:"space-y-2",children:[ba.jsx(on,{className:"h-4 w-24"}),ba.jsx(on,{className:"h-10 w-full"})]},a)),ba.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[ba.jsx(on,{className:"h-10 w-20"}),ba.jsx(on,{className:"h-10 w-20"})]})]})}function mn(){return ba.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[ba.jsxs("div",{className:"flex items-center space-x-3",children:[ba.jsx(on,{className:"h-8 w-8 rounded-full"}),ba.jsx(on,{className:"h-6 w-32"})]}),ba.jsxs("div",{className:"flex items-center space-x-2",children:[ba.jsx(on,{className:"h-8 w-8"}),ba.jsx(on,{className:"h-8 w-24"})]})]})}function un(){return ba.jsx("div",{className:"w-64 border-r bg-muted/10",children:ba.jsxs("div",{className:"p-4",children:[ba.jsx(on,{className:"h-8 w-32 mb-6"}),ba.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>ba.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[ba.jsx(on,{className:"h-4 w-4"}),ba.jsx(on,{className:"h-4 w-20"})]},a))})]})})}nn.displayName="SidebarMenuSubButton";const fn={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},pn={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},hn={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function xn({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return ba.jsx("div",{className:va("flex","column"===a?"flex-col":"flex-row",fn[t],pn[s],hn[r],n&&"flex-wrap",o),children:e})}const gn=e.forwardRef(({className:e,...a},t)=>ba.jsx("div",{className:"relative w-full overflow-auto",children:ba.jsx("table",{ref:t,className:va("w-full caption-bottom text-sm",e),...a})}));gn.displayName="Table";const bn=e.forwardRef(({className:e,...a},t)=>ba.jsx("thead",{ref:t,className:va("[&_tr]:border-b",e),...a}));bn.displayName="TableHeader";const vn=e.forwardRef(({className:e,...a},t)=>ba.jsx("tbody",{ref:t,className:va("[&_tr:last-child]:border-0",e),...a}));vn.displayName="TableBody";e.forwardRef(({className:e,...a},t)=>ba.jsx("tfoot",{ref:t,className:va("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a})).displayName="TableFooter";const yn=e.forwardRef(({className:e,...a},t)=>ba.jsx("tr",{ref:t,className:va("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));yn.displayName="TableRow";const Nn=e.forwardRef(({className:e,...a},t)=>ba.jsx("th",{ref:t,className:va("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-muted/50 [&:has([role=checkbox])]:pr-0",e),...a}));Nn.displayName="TableHead";const jn=e.forwardRef(({className:e,...a},t)=>ba.jsx("td",{ref:t,className:va("px-4 py-2 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));jn.displayName="TableCell";const wn=e.forwardRef(({className:e,...a},t)=>ba.jsx("caption",{ref:t,className:va("mt-4 text-sm text-muted-foreground",e),...a}));wn.displayName="TableCaption";const kn=e.forwardRef(({className:e,...a},t)=>ba.jsx("textarea",{className:va("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",e),ref:t,...a}));kn.displayName="Textarea";const Sn=ia.Provider,Cn=e.forwardRef(({className:e,...a},t)=>ba.jsx(ia.Viewport,{ref:t,className:va("fixed top-4 left-1/2 transform -translate-x-1/2 z-[100] flex max-h-screen w-full max-w-[420px] flex-col p-4",e),...a}));Cn.displayName=ia.Viewport.displayName;const Tn=p("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),En=e.forwardRef(({className:e,variant:a,...t},s)=>ba.jsx(ia.Root,{ref:s,className:va(Tn({variant:a}),e),...t}));En.displayName=ia.Root.displayName;const Rn=e.forwardRef(({className:e,...a},t)=>ba.jsx(ia.Action,{ref:t,className:va("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...a}));Rn.displayName=ia.Action.displayName;const Pn=e.forwardRef(({className:e,...a},t)=>ba.jsx(ia.Close,{ref:t,className:va("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...a,children:ba.jsx(g,{className:"h-4 w-4"})}));Pn.displayName=ia.Close.displayName;const _n=e.forwardRef(({className:e,...a},t)=>ba.jsx(ia.Title,{ref:t,className:va("text-sm font-semibold",e),...a}));_n.displayName=ia.Title.displayName;const An=e.forwardRef(({className:e,...a},t)=>ba.jsx(ia.Description,{ref:t,className:va("text-sm opacity-90",e),...a}));function In(){const{toasts:e}=ns();return ba.jsxs(Sn,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return ba.jsxs(En,{...r,children:[ba.jsxs("div",{className:"grid gap-1",children:[a&&ba.jsx(_n,{children:a}),t&&ba.jsx(An,{children:t})]}),s,ba.jsx(Pn,{})]},e)}),ba.jsx(Cn,{})]})}An.displayName=ia.Description.displayName;const On={"/":"Exemplos","/s":"Solicitações"};function Dn(){const e=ea();return On[e.pathname]||"Página"}const zn=a.memo(({variant:e="card",className:t="",selectedUnit:s,onUnitChange:r,showDebug:n=!1})=>{const{user:o,companies:i,alias:l,isAuthenticated:d,logout:c,switchUnit:m}=Ss(),u=i?.[0]||null,f=l?i?.find(e=>e.alias===l):u,p=i||[],h=s||f||u||u,x=a.useCallback(e=>{r?r(e):m(e)},[r,m]),g=a.useMemo(()=>{if(!p?.length)return[];const e=new Map;p.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===h?.alias),s=a.filter(e=>e.alias!==h?.alias);return s.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...s]:s},[p,h?.alias]);if(!d||!o)return null;const b=()=>ba.jsxs(ba.Fragment,{children:[ba.jsxs("div",{className:"flex items-center space-x-3",children:[ba.jsx("div",{className:"flex-shrink-0",children:ba.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:ba.jsx(be,{className:"h-5 w-5 text-primary-foreground"})})}),ba.jsxs("div",{className:"flex-1 min-w-0",children:[ba.jsx("p",{className:"text-sm font-medium truncate",children:o.name}),ba.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&ba.jsx("div",{className:"mt-3",children:ba.jsxs("div",{className:"flex items-center space-x-2",children:[ba.jsx(Te,{className:"h-4 w-4 text-muted-foreground"}),ba.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),g.length>1&&ba.jsxs("div",{className:"mt-2",children:[ba.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",g.length]}),ba.jsxs("div",{className:"flex flex-wrap gap-1",children:[g.slice(0,3).map(e=>ba.jsx($a,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>x(e),children:e.name},e.alias)),g.length>3&&ba.jsxs($a,{variant:"outline",className:"text-xs",children:["+",g.length-3]})]})]})]});if("dropdown"===e){const e=o.identifier&&o.photoDate?`${import.meta.env.VITE_QUALIEX_COMMON_API_URL}/api/common/users/photo/${o.identifier}/${o.photoDate}?size=36`:null;return ba.jsxs(Tt,{children:[ba.jsx(Et,{asChild:!0,children:ba.jsx(Na,{variant:"ghost",className:`h-auto p-2 ${t}`,children:ba.jsxs("div",{className:"flex items-center space-x-2",children:[ba.jsxs("div",{className:"hidden md:block text-left",children:[ba.jsx("p",{className:"text-sm font-medium",children:o.name}),ba.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),e?ba.jsx("img",{src:e,alt:"Foto do usuário",className:"w-8 h-8 rounded-full object-cover",onError:e=>{e.currentTarget.style.display="none";const a=e.currentTarget.nextElementSibling;a&&(a.style.display="flex")}}):null,ba.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center "+(e?"hidden":""),children:ba.jsx(be,{className:"h-4 w-4 text-primary-foreground"})}),ba.jsx(ae,{className:"h-4 w-4"})]})})}),ba.jsxs(Dt,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[ba.jsxs(_t,{children:[ba.jsxs(It,{children:[ba.jsx(Ce,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),ba.jsx(Ot,{children:g.map(e=>ba.jsxs(zt,{onClick:()=>x(e),className:e.alias===h?.alias?"bg-muted":"",children:[ba.jsx(Te,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&ba.jsx($a,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),ba.jsx(Mt,{}),ba.jsx(Cs,{variant:"menuItem"}),ba.jsxs(zt,{onClick:c,children:[ba.jsx(Ee,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}return ba.jsxs(Ha,{className:t,children:[ba.jsx(Qa,{children:ba.jsx(Xa,{className:"text-lg",children:"Informações do Usuário"})}),ba.jsxs(Ga,{className:"space-y-4",children:[ba.jsx(b,{}),ba.jsx(gr,{}),ba.jsxs("div",{className:"flex space-x-2",children:[ba.jsx(Cs,{className:"flex-1"}),ba.jsxs(Na,{variant:"outline",onClick:c,size:"sm",className:"flex-1",children:[ba.jsx(Ee,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})]})});function Fn(e,a){const[r,n]=t(e),i=l(),d=o(()=>{i.current&&(clearTimeout(i.current),i.current=void 0)},[]);return s(()=>(d(),i.current=setTimeout(()=>{n(e)},a),d),[e,a,d]),[r,d]}const $n=({actions:e})=>{ea();const a=Dn(),{companies:r,alias:n,isSearchVisible:o,clearSearch:i,refreshData:l,switchUnit:d}=Ss(),c=n?r?.find(e=>e.alias===n)||r?.[0]||null:r?.[0]||null,[m,u]=aa(),[f,p]=t(()=>m.get("search")||""),[h,x]=Fn(f,bs.debounceDelay);s(()=>{if(!o)return;const e=new URLSearchParams(m);h?(e.set("search",h),e.set("page","1")):(e.delete("search"),e.delete("page")),u(e)},[h,u,o,m]);return ba.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:ba.jsxs("div",{className:"flex items-center justify-between gap-4",children:[ba.jsxs("div",{className:"flex items-center space-x-1 md:space-x-2 min-w-0",children:[ba.jsx($r,{className:"flex-shrink-0"}),ba.jsxs("div",{className:"min-w-0 flex flex-col md:flex-row md:items-center md:space-x-3 space-y-2 md:space-y-0",children:[ba.jsx("div",{className:"min-w-0",children:ba.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:a})}),o&&ba.jsxs("div",{className:"flex items-center space-x-1 w-full md:w-auto",children:[ba.jsxs("div",{className:"relative w-full md:w-48",children:[ba.jsx(N,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),ba.jsx(Ja,{placeholder:"Buscar...",value:f,onChange:e=>{return a=e.target.value,void p(a);var a},className:"w-full pl-10 pr-8"}),f&&ba.jsx(Na,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",onClick:()=>{x(),p("");const e=new URLSearchParams(m);e.delete("search"),e.delete("page"),u(e)},title:"Limpar busca",children:ba.jsx(g,{size:14})})]}),ba.jsx(Na,{variant:"outline",size:"sm",onClick:l,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:ba.jsx(Ce,{size:14})})]})]})]}),ba.jsxs("div",{className:"flex-shrink-0 flex items-center gap-3",children:[e&&ba.jsx("div",{className:"flex items-center gap-2",children:e}),ba.jsx("div",{className:"text-sm",children:ba.jsx(zn,{variant:"dropdown",selectedUnit:c,onUnitChange:d,showDebug:!0})})]})]})})},Ln=(e={})=>{const{enabled:a=!0}=e,{alias:t}=Ss();return Be({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=hs(),{data:a,error:s}=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(s)throw s;return a||[]},enabled:a&&!!t})};function Mn(){const{state:e}=Dr(),a=ea(),[s,r]=t(!1),{data:n,isLoading:o,error:i}=Ln({enabled:s}),l=e=>a.pathname===e,d=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]};return ba.jsxs(Fr,{collapsible:"icon",children:[ba.jsxs(Vr,{className:"p-0 gap-0",children:[ba.jsxs(Tt,{onOpenChange:r,children:[ba.jsx(Et,{asChild:!0,children:ba.jsxs("div",{className:"bg-gradient-to-r from-primary to-primary hover:opacity-90 text-primary-foreground font-semibold text-sm flex items-center justify-center cursor-pointer transition-all duration-200 h-8 gap-2 shadow-lg rounded-b-2xl",children:["collapsed"!==e&&"Core (beta)",ba.jsx(ae,{size:16})]})}),ba.jsx(Dt,{className:"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50",align:"collapsed"===e?"center":"start",children:o?ba.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[ba.jsx(we,{className:"h-4 w-4 animate-spin"}),ba.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):i?ba.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[ba.jsx(y,{className:"h-4 w-4"}),ba.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):n&&0!==n.length?ba.jsx("div",{className:"space-y-2",children:n.map((e,a)=>ba.jsx("div",{onClick:()=>(e=>{const a=n?.find(a=>a.url===e);a?.url&&window.open(a.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${d(a)} transition-colors duration-200\n `,children:ba.jsxs("div",{className:"flex items-center justify-between",children:[ba.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&ba.jsx(_e,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):ba.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]}),ba.jsx("div",{className:"flex justify-center items-center py-4",children:ba.jsx("img",{src:"collapsed"===e?"/small.png":"/logo.png",alt:"Logo",className:"collapsed"===e?"h-8 w-8":"h-12 max-w-full"})})]}),ba.jsx(qr,{children:ba.jsx(Hr,{children:ba.jsx(Kr,{children:ba.jsxs(Gr,{children:[ba.jsx(Yr,{children:ba.jsx(Zr,{asChild:!0,isActive:l("/"),children:ba.jsxs(ta,{to:"/",children:[ba.jsx(Re,{}),ba.jsx("span",{children:"Exemplos"})]})})}),ba.jsx(Yr,{children:ba.jsx(Zr,{asChild:!0,isActive:l("/s"),children:ba.jsxs(ta,{to:"/s",children:[ba.jsx(Pe,{}),ba.jsx("span",{children:"Solicitações"})]})})})]})})})})]})}class Un extends d{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){ls.handleError(e,!1),console.error("ErrorBoundary caught an error:",e,a)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:ba.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsxs(Qa,{className:"text-center",children:[ba.jsx("div",{className:"flex justify-center mb-4",children:ba.jsx(Ae,{className:"h-12 w-12 text-destructive"})}),ba.jsx(Xa,{children:"Algo deu errado"})]}),ba.jsxs(Ga,{className:"text-center space-y-4",children:[ba.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),ba.jsx(Na,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function Vn(e,a,r,n){const[o,l]=t({}),[d,c]=t({}),m=i(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),f=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(a){return f(e)}},h=(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(e){}}};s(()=>{if(!n)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},t=e(m),s={};t.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=f(e);s[e.name]=t}),t.forEach(e=>{const a=p(e,s);void 0!==a&&(s[e.name]=a)}),l(s),c({}),r&&r(s)},[m,a,r,n]);const x=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...x(e.fields))}),a},g=()=>{const e=x(m),a={};return e.forEach(e=>{const t=h(e,o[e.name],o);t&&(a[e.name]=t)}),c(a),0===Object.keys(a).length};return{formData:o,errors:d,updateField:(e,a)=>{l(t=>{const s={...t,[e]:a},n=((e,a)=>{let t={...a};const s=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...s(e.fields))}),a};return s(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 r&&r(n),n}),d[e]&&c(a=>{const t={...a};return delete t[e],t});const t=x(m).find(a=>a.name===e);if(t){const s=h(t,a,o);s&&c(a=>({...a,[e]:s}))}},validateForm:g,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),g()&&e(o)}}}var Wn=Object.defineProperty,Bn=(e,a,t)=>((e,a,t)=>a in e?Wn(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const qn=new class{constructor(){Bn(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=Gt.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 r=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{r.searchParams.append(e,a)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!n.ok)throw new Error(`API call failed: ${n.status} ${n.statusText}`);return await n.json()}mapToQualiexUser(e){return{userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível"}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let s=t;if(t.data)s=t.data;else{if(!Array.isArray(t))return ls.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return ls.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(e){return ls.handleError(e instanceof Error?e:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(e){return ls.handleError(e instanceof Error?e:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=Gt.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(ls.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}},Hn=(e={})=>{const{user:a,alias:t}=Ss(),{enabled:s=!0}=e;return Be({queryKey:["qualiex-users",t],queryFn:()=>qn.getUsers(t),enabled:s&&!!t&&!!a,retry:2,retryDelay:1e3})},Qn=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:r})=>{const{data:n=[],isLoading:o,error:i}=Hn();return o?ba.jsx(on,{className:va("h-10 w-full",r)}):i?ba.jsxs("div",{className:`flex items-center gap-2 p-2 border border-destructive/20 rounded-md ${r}`,children:[ba.jsx(y,{className:"h-4 w-4 text-destructive"}),ba.jsx("span",{className:"text-sm text-destructive",children:"Erro ao carregar usuários"})]}):ba.jsxs(ir,{value:e,onValueChange:a,disabled:s||0===n.length,children:[ba.jsx(cr,{className:r,children:ba.jsx(dr,{placeholder:t})}),ba.jsx(fr,{children:0===n.length?ba.jsx(hr,{value:"no-users",disabled:!0,children:"Nenhum usuário encontrado"}):n.map(e=>ba.jsx(hr,{value:e.userId,children:e.userName},e.userId))})]})},Xn=({value:e,onChange:a,placeholder:t="Selecionar responsável",disabled:s,className:r})=>ba.jsxs(ir,{value:e,onValueChange:a,disabled:s,children:[ba.jsx(cr,{className:r,children:ba.jsx(dr,{placeholder:t})}),ba.jsx(fr,{children:ba.jsx(hr,{value:"placeholder",children:"Responsável placeholder"})})]});function Kn({title:e,sections:s,initialData:r,onSubmit:n,onCancel:l,open:d,submitButtonText:c="Salvar",isLoading:m=!1,usersData:u}){const[f,p]=t(s?.[0]?.id||""),h=i(()=>s&&Array.isArray(s)?s.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[s]),{formData:x,errors:g,updateField:b,handleSubmit:v}=Vn(h,r,void 0,d),y=i(()=>s&&Array.isArray(s)?s.map(e=>({...e,disabled:e.condition?!e.condition(x):e.disabled||!1})):[],[s,x]),N=i(()=>{const e=y.find(e=>e.id===f);if(e&&!e.disabled)return f;const a=y.find(e=>!e.disabled);return a?.id||f},[y,f]);a.useEffect(()=>{N!==f&&p(N)},[N,f]);const j=y.find(e=>e.id===N),w=e=>{const a=(e.computedValue,x[e.name]),t=void 0!==a?a:"",s=g[e.name];switch(e.type){case"group":return ba.jsxs("div",{className:"space-y-2",children:[e.label,ba.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>w(e))})]},e.name);case"user-select":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Qn,{value:t||"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(kn,{id:e.name,value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsxs(ir,{value:String(t),onValueChange:a=>{b(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[ba.jsx(cr,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:ba.jsx(dr,{placeholder:e.placeholder})}),ba.jsx(fr,{children:e.options?.map(e=>ba.jsx(hr,{value:e.value,children:e.label},e.value))})]}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Ja,{id:e.name,type:"date",value:String(t),onChange:a=>b(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:va("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Xn,{value:String(t),onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Qn,{value:t??"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return ba.jsxs("div",{children:[ba.jsxs(et,{htmlFor:e.name,children:[e.label," ",e.required&&ba.jsx("span",{className:"text-destructive",children:"*"})]}),ba.jsx(Ja,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>b(e.name,a.target.value),className:"h-10"}),s&&ba.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return ba.jsxs("div",{children:[ba.jsx(nt,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>b(e.name,a)}),s&&ba.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return ba.jsxs("div",{children:[ba.jsx(Ws,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>b(e.name,a)}),s&&ba.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Ja,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);b(e.name,s)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,min:e.min,step:e.step||"1"}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return ba.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[ba.jsx(et,{htmlFor:e.name,children:e.label}),ba.jsx(Ja,{id:e.name,type:"text",value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,readOnly:e.disabled}),s&&ba.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},k=o(()=>{if(!j)return null;if(j.disabled)return ba.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[ba.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:ba.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:ba.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),ba.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),ba.jsx("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(j.component){const e=j.component;return ba.jsx(e,{formData:x,updateField:b,errors:g,users:u,disabled:j.disabled})}return ba.jsx("div",{className:"space-y-3",children:j.fields.map(w)})},[j,x,b,g,u,w]),S=ba.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[y.length>1&&ba.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:ba.jsx("div",{className:"flex space-x-2",children:y.map(e=>ba.jsx(Na,{variant:N===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=y.find(a=>a.id===e);a&&!a.disabled&&p(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),ba.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:m?ba.jsx("div",{className:"flex items-center justify-center py-12",children:ba.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):ba.jsxs("form",{onSubmit:v(n),className:"space-y-3 md:space-y-4",children:[k(),ba.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[ba.jsx(Na,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),ba.jsx(Na,{type:"submit",disabled:m,children:c})]})]})})]});return ba.jsx(gt,{open:d,onOpenChange:e=>{!1===e&&!0===d&&l()},children:ba.jsxs(jt,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[ba.jsxs(wt,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[ba.jsx(St,{className:"text-white",children:e}),ba.jsx(Ct,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),S]})})}function Gn(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function Yn(e){return(a,t)=>{let s;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,r=t?.width?String(t.width):a;s=e.formattingValues[r]||e.formattingValues[a]}else{const a=e.defaultWidth,r=t?.width?String(t.width):e.defaultWidth;s=e.values[r]||e.values[a]}return s[e.argumentCallback?e.argumentCallback(a):a]}}function Jn(e){return(a,t={})=>{const s=t.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=a.match(r);if(!n)return null;const o=n[0],i=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(i)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(i,e=>e.test(o)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(i,e=>e.test(o));let d;d=e.valueCallback?e.valueCallback(l):l,d=t.valueCallback?t.valueCallback(d):d;return{value:d,rest:a.slice(o.length)}}}const Zn={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"}},eo={date:Gn({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:Gn({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Gn({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},ao={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"};var to;const so={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=Zn[e];return s="string"==typeof r?r:1===a?r.one:r.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+s:"há "+s:s},formatLong:eo,formatRelative:(e,a,t,s)=>{const r=ao[e];return"function"==typeof r?r(a):r},localize:{ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:Yn({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:Yn({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:Yn({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:Yn({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:Yn({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"})},match:{ordinalNumber:(to={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(to.matchPattern);if(!t)return null;const s=t[0],r=e.match(to.parsePattern);if(!r)return null;let n=to.valueCallback?to.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:Jn({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:Jn({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:Jn({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:Jn({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:Jn({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"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},ro=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const o=[];if(e){const a={icon:ne,label:"Editar",onClick:e};o.push(a)}if(t){const e={icon:s?Ie:Oe,label:s?"Inativar":"Ativar",onClick:t};o.push(e)}if(r&&a){const e={icon:re,label:"Remover",onClick:a,destructive:!0};o.push(e)}return"dropdown"===n?ba.jsx(ba.Fragment,{children:o.map((e,a)=>ba.jsxs(zt,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[ba.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):ba.jsx(ba.Fragment,{children:o.map((e,a)=>ba.jsxs(Na,{variant:"ghost",size:"sm",onClick:e.onClick,className:"w-full justify-start h-auto py-2 px-3 text-sm font-normal "+(e.destructive?"text-destructive hover:text-destructive":""),children:[ba.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},no=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>ba.jsxs(Tt,{children:[ba.jsx(Et,{asChild:!0,children:ba.jsx(Na,{variant:"default",size:"sm",className:"h-7 px-2 text-xs bg-primary text-primary-foreground hover:bg-primary/90",children:ba.jsx(De,{size:12})})}),ba.jsx(Dt,{align:"end",children:ba.jsx(ro,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]});function oo({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?ba.jsx(Ls,{children:Array.from({length:3}).map((e,a)=>ba.jsxs(Ha,{children:[ba.jsxs(Qa,{children:[ba.jsx(on,{className:"h-4 w-3/4"}),ba.jsx(on,{className:"h-3 w-1/2"})]}),ba.jsx(Ga,{children:ba.jsxs("div",{className:"space-y-2",children:[ba.jsx(on,{className:"h-3 w-full"}),ba.jsx(on,{className:"h-3 w-2/3"})]})})]},a))}):ba.jsx(ht.Root,{children:e.entities.map(e=>ba.jsxs(ht.Item,{onClick:()=>t(e),children:[ba.jsx(Qa,{className:"pb-3",children:ba.jsxs("div",{className:"flex items-start justify-between",children:[ba.jsxs("div",{className:"flex-1 min-w-0",children:[ba.jsx(Xa,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),ba.jsx(Ka,{className:"text-sm",children:la(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:so})})]}),ba.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&ba.jsx(Na,{variant:"external-link",size:"icon-xs",onClick:a=>{a.stopPropagation(),(e=>{try{const a=window.open(e,"_blank");a&&!a.closed&&void 0!==a.closed||(navigator.clipboard.writeText(e),oa.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:ba.jsx(_e,{className:"h-4 w-4"})}),ba.jsx("div",{onClick:e=>e.stopPropagation(),children:ba.jsx(no,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),ba.jsx(Ga,{className:"pt-0",children:ba.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?ba.jsx(ht.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})}const io=({manager:e,columns:a,onEdit:r,onView:n,onToggleStatus:o,onDelete:i,renderActions:l})=>{const[d,c]=t(!1),[m,u]=t(null);s(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),s(()=>{const e=()=>u(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);return d?e.isLoading?ba.jsx(dn,{count:3}):0===e.entities.length?ba.jsx(Wt,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):ba.jsxs("div",{className:"space-y-4",children:[e.entities.map(e=>ba.jsx(Ha,{className:"overflow-hidden cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),r?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:ba.jsxs(Ga,{className:"p-4",children:[a.map(a=>ba.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[ba.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[a.header,":"]}),ba.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:a.render?a.render(e):e[a.key]})]},a.key)),(r||n||l)&&ba.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(e):ba.jsx(no,{onEdit:r?()=>{r(e)}:void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:o?()=>o(e):void 0,isActive:e.is_actived})})]})},e.id)),m&&ba.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:m.x,top:m.y},onClick:e=>e.stopPropagation(),children:ba.jsx(ro,{onEdit:r?()=>{r(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:o?()=>{o(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]}):ba.jsxs("div",{className:"space-y-4",children:[e.isLoading?ba.jsx(ln,{rows:5,columns:a.length}):0===e.entities.length?ba.jsx(Wt,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):ba.jsxs(gn,{children:[ba.jsx(bn,{children:ba.jsxs(yn,{children:[a.map(a=>{return ba.jsx(Nn,{className:`${a.className||""} ${a.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:a.sortable?()=>e.handleSort(a.key):void 0,children:ba.jsxs("div",{className:"flex items-center "+(a.className?.includes("text-center")?"justify-center":""),children:[a.header,a.sortable&&(t=a.key,e.sortField!==t?ba.jsx(ze,{size:14,className:"ml-1 opacity-50"}):"asc"===e.sortDirection?ba.jsx(J,{size:14,className:"ml-1"}):ba.jsx(Y,{size:14,className:"ml-1"}))]})},a.key);var t}),ba.jsx(Nn,{className:"w-[100px] text-center",children:"Ações"})]})}),ba.jsx(vn,{children:e.entities.map(e=>ba.jsxs(yn,{className:"cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),r?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:[a.map(a=>ba.jsx(jn,{className:a.className,children:a.render?a.render(e):e[a.key]},a.key)),ba.jsx(jn,{className:"text-center",children:l?l(e):ba.jsx(no,{onEdit:r?()=>r(e):void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:o?()=>o(e):void 0,isActive:e.is_actived})})]},e.id))})]}),m&&ba.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:m.x,top:m.y},onClick:e=>e.stopPropagation(),children:ba.jsx(ro,{onEdit:r?()=>{r(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:o?()=>{o(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]})};function lo({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return ba.jsx(Kn,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const co=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:o=0,totalPages:i=1}=a,l=o>0?(t-1)*s+1:0,d=Math.min(t*s,o);return ba.jsxs("div",{className:"px-4 py-3 flex items-center justify-between text-sm text-muted-foreground bg-muted/50 border-t border-border flex-shrink-0 mt-auto",children:[ba.jsxs("div",{className:"flex items-center space-x-3",children:[ba.jsx("span",{children:"Itens por página"}),ba.jsxs(ir,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[ba.jsx(cr,{className:"w-20 h-8 border-border",children:ba.jsx(dr,{})}),ba.jsxs(fr,{children:[ba.jsx(hr,{value:"10",children:"10"}),ba.jsx(hr,{value:"25",children:"25"}),ba.jsx(hr,{value:"50",children:"50"}),ba.jsx(hr,{value:"100",children:"100"})]})]})]}),ba.jsx("div",{className:"flex-1 flex justify-center",children:ba.jsx("span",{children:o>0?`${l}-${d} de ${o} itens (página ${t} de ${i})`:"0 itens"})}),ba.jsxs("div",{className:"flex items-center space-x-1",children:[ba.jsx(Na,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:ba.jsx(Fe,{className:"h-4 w-4"})}),ba.jsx(Na,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:ba.jsx(Z,{className:"h-4 w-4"})}),ba.jsx(Na,{variant:"outline",size:"sm",onClick:()=>r(Math.min(i,t+1)),disabled:t===i,children:ba.jsx(h,{className:"h-4 w-4"})}),ba.jsx(Na,{variant:"outline",size:"sm",onClick:()=>r(i),disabled:t===i,children:ba.jsx($e,{className:"h-4 w-4"})})]})]})};function mo({manager:e,config:a,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const[l,d]=t(!1),[c,m]=t(null),[u,f]=t({isOpen:!1,entityId:null,entityName:""}),p=e=>{m(e),d(!0)},h=()=>{d(!1),m(null)},x=e=>{r(e),d(!1),m(null)},g=e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})};return ba.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[ba.jsx("div",{className:"flex justify-between items-center px-4 py-1.5 bg-muted/50",children:ba.jsx("div",{className:"flex items-center gap-4",children:ba.jsxs(Na,{onClick:()=>{m(null),d(!0)},className:"flex items-center gap-2",children:[ba.jsx(se,{size:16}),"Novo"]})})}),ba.jsx("div",{className:"flex-1 overflow-hidden",children:o?ba.jsx(o,{manager:e,onEdit:p,onDelete:g,onToggleStatus:i}):ba.jsx("div",{className:"flex flex-col h-full",children:ba.jsx("div",{className:"flex-1 overflow-auto",children:ba.jsx(io,{manager:e,columns:a.columns,onEdit:p,onDelete:g,onToggleStatus:i})})})}),ba.jsx(co,{manager:e}),n?ba.jsx(n,{open:l,onCancel:h,onSubmit:x,editingEntity:c,isLoading:e.isLoading}):ba.jsx(lo,{open:l,title:c?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:s,initialData:c||void 0,onSubmit:x,onCancel:h,isLoading:e.isLoading,submitButtonText:c?"Atualizar":"Criar"}),ba.jsx(xt,{open:u.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:a=>{u.entityId&&(e.deleteEntity(u.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:u.entityId?{id:u.entityId,title:u.entityName}:void 0,entityName:a.entityName,isDeleting:e.isDeleting})]})}function uo({manager:e,filters:a}){const{isSearchVisible:t}=Ss(),s=e.searchTerm;return ba.jsx(xn,{direction:"column",gap:"md",className:"mb-6",children:ba.jsxs(xn,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[a.some(e=>"search"===e.type)&&!t&&ba.jsxs("div",{className:"relative flex-1",children:[ba.jsx(N,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),ba.jsx(Ja,{placeholder:"Buscar...",value:e.searchTerm,onChange:a=>e.handleSearch(a.target.value),className:"pl-10"})]}),a.filter(e=>"custom"===e.type&&e.component).map((e,a)=>{const t=e.component;return ba.jsx("div",{className:"w-full sm:w-auto",children:ba.jsx(t,{...e.props})},a)}),s&&ba.jsxs(Na,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[ba.jsx(g,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})}function fo({queryKey:e,service:a,entityName:t,searchFields:s,additionalFilters:r={},onSuccess:n}){const[l,d]=aa(),c=We(),m=l.get("search")||"",u=l.get("sortField")||gs.sorting.defaultField,f=l.get("sortDirection")||gs.sorting.defaultDirection,p=parseInt(l.get("page")||"1"),h=parseInt(l.get("limit")||String(gs.pagination.defaultPageSize)),x=m,g=i(()=>({search:x,sortField:u,sortDirection:f,page:p,limit:h,...r}),[x,u,f,p,h,r]),b=o(()=>a.getAll(g),[a,g]),v=Be({queryKey:[e,g],queryFn:b}),y=qe({mutationFn:a.create,onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),oa.success(Ns.success.created(t)),n?.()},onError:e=>{oa.error(`${Ns.error.create(t)}: ${e.message}`)}}),N=qe({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),oa.success(Ns.success.updated(t)),n?.()},onError:e=>{oa.error(`${Ns.error.update(t)}: ${e.message}`)}}),j=qe({mutationFn:a.delete,onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),oa.success(Ns.success.deleted(t))},onError:e=>{oa.error(`${Ns.error.delete(t)}: ${e.message}`)}}),w=o(e=>{const a={...Object.fromEntries(l)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),d(a)},[l,d]),k=o(e=>{w({search:e,page:1})},[w]),S=o(e=>{w({sortField:e,sortDirection:u===e&&"asc"===f?"desc":"asc",page:1})},[u,f,w]),C=o(e=>{w({page:e})},[w]),T=o(e=>{w({limit:e,page:1})},[w]),E=o(()=>{d({})},[d]);return{entities:v.data?.data||[],pagination:{currentPage:v.data?.currentPage||1,totalPages:v.data?.totalPages||1,totalItems:v.data?.totalItems||0,itemsPerPage:v.data?.itemsPerPage||gs.pagination.defaultPageSize,hasNextPage:v.data?.hasNextPage||!1,hasPreviousPage:v.data?.hasPreviousPage||!1},isLoading:v.isLoading,isCreating:y.isPending,isUpdating:N.isPending,isDeleting:j.isPending,error:v.error,searchTerm:m,sortField:u,sortDirection:f,currentPage:p,itemsPerPage:h,createEntity:y.mutate,updateEntity:(e,a)=>N.mutate({id:e,data:a}),deleteEntity:j.mutate,handleSearch:k,handleSort:S,handlePageChange:C,handleItemsPerPageChange:T,clearFilters:E,refetch:v.refetch}}function po({manager:e,config:a,formSections:t,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const{setSearchVisible:l,refreshData:d}=Ss();return s(()=>(l(!0),()=>{l(!1)}),[l]),ba.jsx(mo,{manager:e,config:a,formSections:t,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i})}function ho({open:e,onCancel:a,onSubmit:t,editingEntity:s,isLoading:r=!1,title:n,editTitle:o,sections:i,transformData:l}){const{alias:d}=Ss();return ba.jsx(lo,{open:e,title:s?o:n,sections:i,initialData:s,onSubmit:e=>{if(l){const a=l(e,d||"");t(a)}else{const a={...e,alias:d||""};s?.id&&(a.id=s.id),t(a)}},onCancel:a,isLoading:r,submitButtonText:s?"Atualizar":"Salvar"})}const xo=({children:e})=>{const{isAuthenticated:t,isLoading:s}=Ss();if(s)return ba.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsx(Qa,{className:"text-center",children:ba.jsx(Xa,{className:"text-xl font-semibold",children:"Carregando..."})}),ba.jsxs(Ga,{className:"text-center",children:[ba.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),ba.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!t){return new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token")?ba.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsx(Qa,{className:"text-center",children:ba.jsx(Xa,{className:"text-xl font-semibold",children:"Processando..."})}),ba.jsxs(Ga,{className:"text-center",children:[ba.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),ba.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}):(a.useEffect(()=>{(async()=>{vs()?await js.loginDev():js.loginProd()})()},[]),ba.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsx(Qa,{className:"text-center",children:ba.jsx(Xa,{className:"text-xl font-semibold",children:"Iniciando..."})}),ba.jsxs(Ga,{className:"text-center",children:[ba.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),ba.jsx("p",{className:"text-muted-foreground",children:vs()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})}))}return ba.jsx(ba.Fragment,{children:e})},go=()=>{const{processCallback:e}=Ss(),[a,r]=t(null),[n,o]=t(!1);s(()=>{(async()=>{try{console.log("🔄 [CallbackPage] Iniciando processamento do callback...");if(await e()){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 r("Falha na autenticação. Tente novamente.")}catch(e){console.error("❌ [CallbackPage] Erro no processamento:",e),r(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[e]);const i=async()=>{o(!0),r(null);try{await e()||r("Falha na autenticação. Tente novamente.")}catch(e){r(e?.message||"Erro ao tentar novamente.")}finally{o(!1)}},l=()=>{window.location.href="/"};return a?ba.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsx(Qa,{className:"text-center",children:ba.jsxs(Xa,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[ba.jsx(y,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),ba.jsxs(Ga,{className:"space-y-4",children:[ba.jsx(Oa,{variant:"destructive",children:ba.jsx(za,{children:a})}),ba.jsx("div",{className:"text-sm text-muted-foreground",children:ba.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),ba.jsxs("div",{className:"flex gap-2",children:[ba.jsx(Na,{onClick:i,disabled:n,className:"flex-1",children:n?ba.jsxs(ba.Fragment,{children:[ba.jsx(Ks,{size:"sm",className:"mr-2"}),"Tentando..."]}):ba.jsxs(ba.Fragment,{children:[ba.jsx(Ce,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),ba.jsx(Na,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):ba.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:ba.jsxs(Ha,{className:"w-full max-w-md",children:[ba.jsx(Qa,{className:"text-center",children:ba.jsx(Xa,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),ba.jsxs(Ga,{className:"text-center",children:[ba.jsx("div",{className:"flex justify-center mb-4",children:ba.jsx(Ks,{size:"lg"})}),ba.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})};class bo{static async extractTokenData(){const e=Gt.extractTokenData();return e||(ls.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return ls.handleError(`[QualiexEnrichment.${a.entityName}] Nenhuma entidade encontrada`,!1),e;try{const t=await this.extractTokenData();if(!t)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=t;if(!s||!r)return ls.handleError(`[QualiexEnrichment.${a.entityName}] DADOS OBRIGATÓRIOS FALTANDO - alias: ${!!s}, companyId: ${!!r}`,!1),e.map(e=>({...e,responsible_name:e.id_user?`Configuração incompleta (alias: ${!!s}, companyId: ${!!r})`:null}));const n=await qn.getUsers(s),o=e.map(e=>{if(e.id_user){const a=n.find(a=>a.userId===e.id_user);return{...e,responsible_name:a?.userName||`ID não encontrado: ${e.id_user}`}}return{...e,responsible_name:null}});o.filter(e=>e.responsible_name&&!e.responsible_name.includes("ID não encontrado")&&!e.responsible_name.includes("Erro:")&&!e.responsible_name.includes("Token não encontrado")&&!e.responsible_name.includes("Configuração incompleta")).length;return o}catch(t){return ls.handleError(t instanceof Error?t:`[QualiexEnrichment.${a.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${t.message}`:null}))}}}const vo=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(vo);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=vo(s);return a}return e},yo=e=>{if(!e)return"";const a=da(e);if(!ca(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},No=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},jo=["responsible_name"];function wo(e,a,t){const s="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,schemaName:o,entityName:i}=s,l=()=>hs().schema(o).from(r);return{async getAll(e={}){const{search:a="",sortField:t="updated_at",sortDirection:s="desc",page:o=1,limit:d=25,...c}=e;let m=l().select("*",{count:"exact"});m=m.eq("is_removed",!1),Object.entries(c).forEach(([e,a])=>{null!=a&&""!==a&&(m=Array.isArray(a)?m.in(e,a):"object"==typeof a&&a&&"operator"in a&&"not_null"===a.operator?m.not(e,"is",null):m.eq(e,a))}),m=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(m,a),m=m.order(t,{ascending:"asc"===s}),m=((e,a,t)=>{const s=(a-1)*t,r=s+t-1;return e.range(s,r)})(m,o,d);const{data:u,error:f,count:p}=await m;if(f)throw new Error(`Error fetching ${r}: ${f.message}`);let h=((e,a,t,s)=>{const r=Math.ceil((a||0)/s);return{data:e,currentPage:t,totalPages:r,totalItems:a||0,itemsPerPage:s,hasNextPage:t<r,hasPreviousPage:t>1}})(u||[],p,o,d);if(i&&h.data.length>0){if(t&&(x=t,jo.includes(x))){const a={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},r=await this.getAll(a);if(!r?.data?.length)return r;const n=((e,a,t)=>[...e].sort((e,s)=>{const r=e[a]||"",n=s[a]||"",o=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?o:-o}))(await bo.enrichWithResponsibleNames(r.data,{entityName:i}),t,s),l=((e,a=1,t=25)=>{const s=(a-1)*t,r=s+t,n=e.slice(s,r);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:r<e.length,hasPreviousPage:a>1}}})(n,o,d);return{data:l.data,currentPage:l.pagination.currentPage,totalPages:l.pagination.totalPages,totalItems:l.pagination.totalItems,itemsPerPage:l.pagination.itemsPerPage,hasNextPage:l.pagination.hasNextPage,hasPreviousPage:l.pagination.hasPreviousPage}}const a=await bo.enrichWithResponsibleNames(h.data,{entityName:i});h={...h,data:a}}var x;return h},async getById(e){const{data:a,error:t}=await l().select("*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${r}: ${t.message}`);return a},async create(e){const a=vo(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:s,error:n}=await l().insert(t).select().single();if(n)throw new Error(`Error creating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from create ${r} operation`);return s},async update(e,a){const t={...vo(a),updated_at:(new Date).toISOString()},{data:s,error:n}=await l().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from update ${r} operation`);return s},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await l().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${r}: ${t.message}`)}}}function ko(e){return{queryClient:e.queryClient||new He({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}export{xs as AUTH_CONFIG,ro as ActionMenuItems,Oa as Alert,za as AlertDescription,ja as AlertDialog,_a as AlertDialogAction,Aa as AlertDialogCancel,Ca as AlertDialogContent,Pa as AlertDialogDescription,Ea as AlertDialogFooter,Ta as AlertDialogHeader,Sa as AlertDialogOverlay,ka as AlertDialogPortal,Ra as AlertDialogTitle,wa as AlertDialogTrigger,Da as AlertTitle,$n as AppHeader,Mn as AppSidebar,ks as AuthProvider,js as AuthService,$a as Badge,po as BaseCrudPage,La as Breadcrumb,qa as BreadcrumbEllipsis,Ua as BreadcrumbItem,Va as BreadcrumbLink,Ma as BreadcrumbList,Wa as BreadcrumbPage,Ba as BreadcrumbSeparator,Na as Button,gs as CRUD_CONFIG,go as CallbackPage,Ha as Card,Ga as CardContent,Ka as CardDescription,Ya as CardFooter,Qa as CardHeader,dn as CardSkeleton,Xa as CardTitle,nt as ColorPicker,ot as Command,it as CommandDialog,ct as CommandEmpty,mt as CommandGroup,lt as CommandInput,ft as CommandItem,dt as CommandList,ut as CommandSeparator,pt as CommandShortcut,oo as CrudCards,lo as CrudForm,mo as CrudPage,io as CrudTable,ht as DataList,gt as Dialog,yt as DialogClose,jt as DialogContent,Ct as DialogDescription,kt as DialogFooter,wt as DialogHeader,Nt as DialogOverlay,vt as DialogPortal,St as DialogTitle,bt as DialogTrigger,Tt as DropdownMenu,Ft as DropdownMenuCheckboxItem,Dt as DropdownMenuContent,Rt as DropdownMenuGroup,zt as DropdownMenuItem,Lt as DropdownMenuLabel,Pt as DropdownMenuPortal,At as DropdownMenuRadioGroup,$t as DropdownMenuRadioItem,Mt as DropdownMenuSeparator,Ut as DropdownMenuShortcut,_t as DropdownMenuSub,Ot as DropdownMenuSubContent,It as DropdownMenuSubTrigger,Et as DropdownMenuTrigger,Wt as EmptyState,Un as ErrorBoundary,Cs as FeedbackDialog,uo as FilterBar,Ts as Form,Os as FormControl,Ds as FormDescription,Rs as FormField,As as FormItem,Is as FormLabel,zs as FormMessage,cn as FormSkeleton,ho as GenericEntityForm,Ls as Grid,mn as HeaderSkeleton,Ws as IconPicker,Ja as Input,Bs as InputOTP,qs as InputOTPGroup,Qs as InputOTPSeparator,Hs as InputOTPSlot,et as Label,Gs as LoadingState,Ns as MESSAGES,Ys as ModuleSelector,Js as PageBreadcrumb,er as Pagination,ar as PaginationContent,or as PaginationEllipsis,tr as PaginationItem,sr as PaginationLink,nr as PaginationNext,rr as PaginationPrevious,at as Popover,st as PopoverContent,tt as PopoverTrigger,xo as ProtectedRoute,ys as QUERY_KEYS,bo as QualiexEnrichmentService,Xn as QualiexResponsibleSelectField,Qn as QualiexUserField,bs as SEARCH_CONFIG,Ms as ScrollArea,Us as ScrollBar,ir as Select,fr as SelectContent,lr as SelectGroup,hr as SelectItem,pr as SelectLabel,ur as SelectScrollDownButton,mr as SelectScrollUpButton,xr as SelectSeparator,cr as SelectTrigger,dr as SelectValue,gr as Separator,br as Sheet,yr as SheetClose,kr as SheetContent,Er as SheetDescription,Cr as SheetFooter,Sr as SheetHeader,jr as SheetOverlay,Nr as SheetPortal,Tr as SheetTitle,vr as SheetTrigger,Fr as Sidebar,qr as SidebarContent,Wr as SidebarFooter,Hr as SidebarGroup,Xr as SidebarGroupAction,Kr as SidebarGroupContent,Qr as SidebarGroupLabel,Vr as SidebarHeader,Ur as SidebarInput,Mr as SidebarInset,Gr as SidebarMenu,en as SidebarMenuAction,an as SidebarMenuBadge,Zr as SidebarMenuButton,Yr as SidebarMenuItem,tn as SidebarMenuSkeleton,sn as SidebarMenuSub,nn as SidebarMenuSubButton,rn as SidebarMenuSubItem,zr as SidebarProvider,Lr as SidebarRail,Br as SidebarSeparator,un as SidebarSkeleton,$r as SidebarTrigger,on as Skeleton,Ks as Spinner,xn as Stack,gn as Table,vn as TableBody,wn as TableCaption,jn as TableCell,co as TableFooter,Nn as TableHead,bn as TableHeader,yn as TableRow,no as TableRowActions,ln as TableSkeleton,kn as Textarea,En as Toast,Rn as ToastAction,Pn as ToastClose,An as ToastDescription,Sn as ToastProvider,_n as ToastTitle,Cn as ToastViewport,In as Toaster,Gt as TokenManager,Pr as Tooltip,Ar as TooltipContent,Rr as TooltipProvider,_r as TooltipTrigger,Fa as badgeVariants,ya as buttonVariants,va as cn,wo as createService,No as debounce,ls as errorService,yo as formatDatetime,hs as getSupabaseClient,vs as isDevEnvironment,qn as qualiexApi,ko as setupQualiexCore,rs as toast,vo as trimTextFields,Ln as useActiveModules,Ss as useAuth,Vn as useBaseForm,fo as useCrud,Fn as useDebounce,Ps as useFormField,Dn as usePageTitle,Hn as useQualiexUsers,Zs as useRouteBreadcrumbs,Dr as useSidebar,ns as useToast};
10
+ */function ha(){return ua||(ua=1,"production"!==process.env.NODE_ENV&&function(){var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var a=arguments.length,t=new Array(a>1?a-1:0),s=1;s<a;s++)t[s-1]=arguments[s];!function(e,a,t){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(a+="%s",t=t.concat([r]));var n=t.map(function(e){return String(e)});n.unshift("Warning: "+a),Function.prototype.apply.call(console[e],console,n)}("error",e,t)}var b;function v(e){return e.displayName||"Context"}function y(e){if(null==e)return null;if("number"==typeof e.tag&&g("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case r:return"Fragment";case s:return"Portal";case o:return"Profiler";case n:return"StrictMode";case c:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return v(e)+".Consumer";case i:return v(e._context)+".Provider";case d:return function(e,a,t){var s=e.displayName;if(s)return s;var r=a.displayName||a.name||"";return""!==r?t+"("+r+")":t}(e,e.render,"ForwardRef");case u:var a=e.displayName||null;return null!==a?a:y(e.type)||"Memo";case f:var t=e,p=t._payload,h=t._init;try{return y(h(p))}catch(e){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,E=Object.assign,R=0;function P(){}P.__reactDisabledLog=!0;var _,A=x.ReactCurrentDispatcher;function I(e,a,t){if(void 0===_)try{throw Error()}catch(e){var s=e.stack.trim().match(/\n( *(at )?)/);_=s&&s[1]||""}return"\n"+_+e}var O,D=!1,z="function"==typeof WeakMap?WeakMap:Map;function F(e,a){if(!e||D)return"";var t,s=O.get(e);if(void 0!==s)return s;D=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=A.current,A.current=null,function(){if(0===R){N=console.log,j=console.info,w=console.warn,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}R++}();try{if(a){var o=function(){throw Error()};if(Object.defineProperty(o.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(o,[])}catch(e){t=e}Reflect.construct(e,[],o)}else{try{o.call()}catch(e){t=e}e.call(o.prototype)}}else{try{throw Error()}catch(e){t=e}e()}}catch(a){if(a&&t&&"string"==typeof a.stack){for(var i=a.stack.split("\n"),l=t.stack.split("\n"),d=i.length-1,c=l.length-1;d>=1&&c>=0&&i[d]!==l[c];)c--;for(;d>=1&&c>=0;d--,c--)if(i[d]!==l[c]){if(1!==d||1!==c)do{if(d--,--c<0||i[d]!==l[c]){var m="\n"+i[d].replace(" at new "," at ");return e.displayName&&m.includes("<anonymous>")&&(m=m.replace("<anonymous>",e.displayName)),"function"==typeof e&&O.set(e,m),m}}while(d>=1&&c>=0);break}}}finally{D=!1,A.current=r,function(){if(0===--R){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:N}),info:E({},e,{value:j}),warn:E({},e,{value:w}),error:E({},e,{value:k}),group:E({},e,{value:S}),groupCollapsed:E({},e,{value:C}),groupEnd:E({},e,{value:T})})}R<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=n}var u=e?e.displayName||e.name:"",f=u?I(u):"";return"function"==typeof e&&O.set(e,f),f}function $(e,a,t){if(null==e)return"";if("function"==typeof e)return F(e,function(e){var a=e.prototype;return!(!a||!a.isReactComponent)}(e));if("string"==typeof e)return I(e);switch(e){case c:return I("Suspense");case m:return I("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return F(e.render,!1);case u:return $(e.type,a,t);case f:var s=e,r=s._payload,n=s._init;try{return $(n(r),a,t)}catch(e){}}return""}O=new z;var M=Object.prototype.hasOwnProperty,L={},U=x.ReactDebugCurrentFrame;function V(e){if(e){var a=e._owner,t=$(e.type,e._source,a?a.type:null);U.setExtraStackFrame(t)}else U.setExtraStackFrame(null)}var W=Array.isArray;function B(e){return W(e)}function q(e){return""+e}function H(e){if(function(e){try{return q(e),!1}catch(e){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),q(e)}var Q,X,K=x.ReactCurrentOwner,G={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,a,s,r,n){var o,i={},l=null,d=null;for(o in void 0!==s&&(H(s),l=""+s),function(e){if(M.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(H(a.key),l=""+a.key),function(e){if(M.call(e,"ref")){var a=Object.getOwnPropertyDescriptor(e,"ref").get;if(a&&a.isReactWarning)return!1}return void 0!==e.ref}(a)&&(d=a.ref,function(e){"string"==typeof e.ref&&K.current}(a)),a)M.call(a,o)&&!G.hasOwnProperty(o)&&(i[o]=a[o]);if(e&&e.defaultProps){var c=e.defaultProps;for(o in c)void 0===i[o]&&(i[o]=c[o])}if(l||d){var m="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,a){var t=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(i,m),d&&function(e,a){var t=function(){X||(X=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}(i,m)}return function(e,a,s,r,n,o,i){var l={$$typeof:t,type:e,key:a,ref:s,props:i,_owner:o,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:r}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,d,n,r,K.current,i)}var J,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function ae(e){if(e){var a=e._owner,t=$(e.type,e._source,a?a.type:null);ee.setExtraStackFrame(t)}else ee.setExtraStackFrame(null)}function te(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function se(){if(Z.current){var e=y(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}J=!1;var re={};function ne(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=se();if(!a){var t="string"==typeof e?e:e.displayName||e.name;t&&(a="\n\nCheck the top-level render call using <"+t+">.")}return a}(a);if(!re[t]){re[t]=!0;var s="";e&&e._owner&&e._owner!==Z.current&&(s=" It was passed a child from "+y(e._owner.type)+"."),ae(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,s),ae(null)}}}function oe(e,a){if("object"==typeof e)if(B(e))for(var t=0;t<e.length;t++){var s=e[t];te(s)&&ne(s,a)}else if(te(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=h&&e[h]||e["@@iterator"];return"function"==typeof a?a:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,o=r.call(e);!(n=o.next()).done;)te(n.value)&&ne(n.value,a)}}function ie(e){var a,t=e.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)a=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==d&&t.$$typeof!==u)return;a=t.propTypes}if(a){var s=y(t);!function(e,a,t,s,r){var n=Function.call.bind(M);for(var o in e)if(n(e,o)){var i=void 0;try{if("function"!=typeof e[o]){var l=Error((s||"React class")+": "+t+" type `"+o+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[o]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}i=e[o](a,o,s,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){i=e}!i||i instanceof Error||(V(r),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",t,o,typeof i),V(null)),i instanceof Error&&!(i.message in L)&&(L[i.message]=!0,V(r),g("Failed %s type: %s",t,i.message),V(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!J){J=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function de(e,a,s,h,x,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===c||e===m||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===u||e.$$typeof===i||e.$$typeof===l||e.$$typeof===d||e.$$typeof===b||void 0!==e.getModuleId)}(e);if(!N){var j="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(j+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;j+=se(),null===e?w="null":B(e)?w="array":void 0!==e&&e.$$typeof===t?(w="<"+(y(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=Y(e,a,s,x,v);if(null==k)return k;if(N){var S=a.children;if(void 0!==S)if(h)if(B(S)){for(var C=0;C<S.length;C++)oe(S[C],e);Object.freeze&&Object.freeze(S)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oe(S,e)}if(M.call(a,"key")){var T=y(e),E=Object.keys(a).filter(function(e){return"key"!==e}),R=E.length>0?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}";if(!le[T+R])g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',R,T,E.length>0?"{"+E.join(": ..., ")+": ...}":"{}",T),le[T+R]=!0}return e===r?function(e){for(var a=Object.keys(e.props),t=0;t<a.length;t++){var s=a[t];if("children"!==s&&"key"!==s){ae(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),ae(null);break}}null!==e.ref&&(ae(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}(k):ie(k),k}var ce=function(e,a,t){return de(e,a,t,!1)},me=function(e,a,t){return de(e,a,t,!0)};pa.Fragment=r,pa.jsx=ce,pa.jsxs=me}()),pa}var xa=(fa||(fa=1,"production"===process.env.NODE_ENV?ca.exports=function(){if(da)return ma;da=1;var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(e,a,s){var i,l={},d=null,c=null;for(i in void 0!==s&&(d=""+s),void 0!==a.key&&(d=""+a.key),void 0!==a.ref&&(c=a.ref),a)r.call(a,i)&&!o.hasOwnProperty(i)&&(l[i]=a[i]);if(e&&e.defaultProps)for(i in a=e.defaultProps)void 0===l[i]&&(l[i]=a[i]);return{$$typeof:t,type:e,key:d,ref:c,props:l,_owner:n.current}}return ma.Fragment=s,ma.jsx=i,ma.jsxs=i,ma}():ca.exports=ha()),ca.exports);function ga(...e){return u(m(e))}const ba=p("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium 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 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline","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:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10","icon-sm":"h-8 w-8","icon-xs":"h-6 w-6"}},defaultVariants:{variant:"default",size:"default"}}),va=e.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...r},n)=>{const o=s?f:"button";return xa.jsx(o,{className:ga(ba({variant:a,size:t,className:e})),ref:n,...r})});va.displayName="Button";const ya=c.Root,Na=c.Trigger,ja=c.Portal,wa=e.forwardRef(({className:e,...a},t)=>xa.jsx(c.Overlay,{className:ga("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",e),...a,ref:t}));wa.displayName=c.Overlay.displayName;const ka=e.forwardRef(({className:e,...a},t)=>xa.jsxs(ja,{children:[xa.jsx(wa,{}),xa.jsx(c.Content,{ref:t,className:ga("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",e),...a})]}));ka.displayName=c.Content.displayName;const Sa=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col space-y-2 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-6 rounded-t-lg",e),...a});Sa.displayName="AlertDialogHeader";const Ca=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Ca.displayName="AlertDialogFooter";const Ta=e.forwardRef(({className:e,...a},t)=>xa.jsx(c.Title,{ref:t,className:ga("text-lg font-semibold",e),...a}));Ta.displayName=c.Title.displayName;const Ea=e.forwardRef(({className:e,...a},t)=>xa.jsx(c.Description,{ref:t,className:ga("text-sm text-muted-foreground",e),...a}));Ea.displayName=c.Description.displayName;const Ra=e.forwardRef(({className:e,...a},t)=>xa.jsx(c.Action,{ref:t,className:ga(ba(),e),...a}));Ra.displayName=c.Action.displayName;const Pa=e.forwardRef(({className:e,...a},t)=>xa.jsx(c.Cancel,{ref:t,className:ga(ba({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));Pa.displayName=c.Cancel.displayName;const _a=p("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}),Aa=e.forwardRef(({className:e,variant:a,...t},s)=>xa.jsx("div",{ref:s,role:"alert",className:ga(_a({variant:a}),e),...t}));Aa.displayName="Alert";const Ia=e.forwardRef(({className:e,...a},t)=>xa.jsx("h5",{ref:t,className:ga("mb-1 font-medium leading-none tracking-tight",e),...a}));Ia.displayName="AlertTitle";const Oa=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("text-sm [&_p]:leading-relaxed",e),...a}));Oa.displayName="AlertDescription";const Da=p("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",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white hover:bg-green-600",warning:"border-transparent bg-yellow-500 text-white hover:bg-yellow-600",info:"border-transparent bg-blue-500 text-white hover:bg-blue-600"}},defaultVariants:{variant:"default"}}),za=e.forwardRef(({className:e,variant:a,...t},s)=>xa.jsx("div",{ref:s,className:ga(Da({variant:a}),e),...t}));za.displayName="Badge";const Fa=e.forwardRef(({...e},a)=>xa.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));Fa.displayName="Breadcrumb";const $a=e.forwardRef(({className:e,...a},t)=>xa.jsx("ol",{ref:t,className:ga("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));$a.displayName="BreadcrumbList";const Ma=e.forwardRef(({className:e,...a},t)=>xa.jsx("li",{ref:t,className:ga("inline-flex items-center gap-1.5",e),...a}));Ma.displayName="BreadcrumbItem";const La=e.forwardRef(({asChild:a,className:t,...s},r)=>{const n=a?e.Fragment:"a";return xa.jsx(n,{ref:r,className:ga("transition-colors hover:text-foreground",t),...s})});La.displayName="BreadcrumbLink";const Ua=e.forwardRef(({className:e,...a},t)=>xa.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:ga("font-normal text-foreground",e),...a}));Ua.displayName="BreadcrumbPage";const Va=({children:e,className:a,...t})=>xa.jsx("li",{role:"presentation","aria-hidden":"true",className:ga("[&>svg]:size-3.5",a),...t,children:e??xa.jsx(h,{})});Va.displayName="BreadcrumbSeparator";const Wa=({className:e,...a})=>xa.jsxs("span",{role:"presentation","aria-hidden":"true",className:ga("flex h-9 w-9 items-center justify-center",e),...a,children:[xa.jsx(x,{className:"h-4 w-4"}),xa.jsx("span",{className:"sr-only",children:"More"})]});Wa.displayName="BreadcrumbEllipsis";const Ba=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));Ba.displayName="Card";const qa=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("flex flex-col space-y-1.5 p-6",e),...a}));qa.displayName="CardHeader";const Ha=e.forwardRef(({className:e,...a},t)=>xa.jsx("h3",{ref:t,className:ga("text-2xl font-semibold leading-none tracking-tight",e),...a}));Ha.displayName="CardTitle";const Qa=e.forwardRef(({className:e,...a},t)=>xa.jsx("p",{ref:t,className:ga("text-sm text-muted-foreground",e),...a}));Qa.displayName="CardDescription";const Xa=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("p-6 pt-0",e),...a}));Xa.displayName="CardContent";const Ka=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("flex items-center p-6 pt-0",e),...a}));Ka.displayName="CardFooter";const Ga=e.forwardRef(({className:e,type:a,...t},s)=>xa.jsx("input",{type:a,className:ga("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",e),ref:s,...t}));Ga.displayName="Input";const Ya=p("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Ja=e.forwardRef(({className:e,...a},t)=>xa.jsx(Fe.Root,{ref:t,className:ga(Ya(),e),...a}));Ja.displayName=Fe.Root.displayName;const Za=$e.Root,et=$e.Trigger,at=e.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>xa.jsx($e.Portal,{children:xa.jsx($e.Content,{ref:r,align:a,sideOffset:t,className:ga("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",e),...s})}));at.displayName=$e.Content.displayName;const tt=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],st=({value:e="#3b82f6",onChange:a,label:t})=>xa.jsxs("div",{className:"space-y-2",children:[t&&xa.jsx(Ja,{children:t}),xa.jsxs(Za,{children:[xa.jsx(et,{asChild:!0,children:xa.jsxs(va,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[xa.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),xa.jsx(at,{className:"w-64",children:xa.jsxs("div",{className:"space-y-3",children:[xa.jsxs("div",{children:[xa.jsx(Ja,{htmlFor:"color-input",children:"Cor personalizada"}),xa.jsx(Ga,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),xa.jsxs("div",{children:[xa.jsx(Ja,{children:"Cores predefinidas"}),xa.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:tt.map(e=>xa.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>a?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),rt=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));rt.displayName="Command";const nt=({children:e,...a})=>xa.jsx("div",{...a,children:xa.jsx(rt,{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:e})}),ot=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:xa.jsx("input",{ref:t,className:ga("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",e),...a})}));ot.displayName="CommandInput";const it=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));it.displayName="CommandList";const lt=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("py-6 text-center text-sm text-muted-foreground",e),...a}));lt.displayName="CommandEmpty";const dt=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("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",e),...a}));dt.displayName="CommandGroup";const ct=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("-mx-1 h-px bg-border",e),...a}));ct.displayName="CommandSeparator";const mt=e.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>xa.jsx("div",{ref:n,className:ga("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",e),"data-disabled":a,onClick:()=>!a&&t?.(s||""),...r}));mt.displayName="CommandItem";const ut=({className:e,...a})=>xa.jsx("span",{className:ga("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});ut.displayName="CommandShortcut";const ft={Root:function({children:e,className:a}){return xa.jsx("div",{className:ga("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return xa.jsx(Ba,{className:ga("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:xa.jsx(Xa,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return xa.jsxs("div",{className:ga("flex justify-between items-center text-sm",t),children:[xa.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),xa.jsx("span",{className:"text-foreground",children:a})]})}},pt=({open:e,onOpenChange:a,item:r,onConfirm:n,entityName:o="item",isDeleting:i=!1})=>{const[l,d]=t("");s(()=>{e||d("")},[e]);const c=()=>{d(""),a(!1)},m=l===r?.title;return r?xa.jsx(ya,{open:e,onOpenChange:c,children:xa.jsxs(ka,{className:"sm:max-w-[500px]",children:[xa.jsx(Sa,{children:xa.jsxs("div",{className:"flex items-center space-x-2",children:[xa.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:xa.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),xa.jsx("div",{className:"flex-1",children:xa.jsx(Ta,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),xa.jsx(Ea,{asChild:!0,children:xa.jsxs("div",{className:"space-y-4",children:[xa.jsxs("div",{className:"text-sm text-muted-foreground",children:[xa.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",o,":"]}),xa.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:xa.jsx("p",{className:"font-medium text-foreground",children:r.title})})]}),xa.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:xa.jsxs("div",{className:"flex items-start space-x-2",children:[xa.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:xa.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),xa.jsxs("div",{className:"text-sm text-orange-800",children:[xa.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),xa.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",o," será removido permanentemente do sistema."]})]})]})}),xa.jsxs("div",{className:"space-y-2",children:[xa.jsxs(Ja,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",xa.jsxs("strong",{children:['"',r.title,'"']})," abaixo:"]}),xa.jsx(Ga,{id:"confirmation",type:"text",value:l,onChange:e=>d(e.target.value),placeholder:`Digite: ${r.title}`,className:"w-full"})]})]})}),xa.jsxs(Ca,{children:[xa.jsx(Pa,{onClick:c,children:"Cancelar"}),xa.jsx(Ra,{onClick:()=>{r&&l===r.title&&(n(r),d(""),a(!1))},disabled:!m||i,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:i?"Removendo...":`Excluir ${o}`})]})]})}):null},ht=Me.Root,xt=Me.Trigger,gt=Me.Portal,bt=Me.Close,vt=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Overlay,{ref:t,className:ga("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",e),...a}));vt.displayName=Me.Overlay.displayName;const yt=e.forwardRef(({className:e,children:a,...t},s)=>xa.jsxs(gt,{children:[xa.jsx(vt,{}),xa.jsxs(Me.Content,{ref:s,className:ga("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background p-6 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%] rounded-lg overflow-hidden",e),...t,children:[a,xa.jsxs(Me.Close,{className:"absolute right-4 top-4 z-10 rounded-sm text-white opacity-70 ring-offset-background transition-opacity hover:opacity-100 hover:text-white focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[xa.jsx(g,{className:"h-4 w-4"}),xa.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));yt.displayName=Me.Content.displayName;const Nt=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col space-y-1.5 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-3 rounded-t-lg",e),...a});Nt.displayName="DialogHeader";const jt=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});jt.displayName="DialogFooter";const wt=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Title,{ref:t,className:ga("text-lg font-semibold leading-none tracking-tight",e),...a}));wt.displayName=Me.Title.displayName;const kt=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Description,{ref:t,className:ga("text-sm text-muted-foreground",e),...a}));kt.displayName=Me.Description.displayName;const St=Le.Root,Ct=Le.Trigger,Tt=Le.Group,Et=Le.Portal,Rt=Le.Sub,Pt=Le.RadioGroup,_t=e.forwardRef(({className:e,inset:a,children:t,...s},r)=>xa.jsxs(Le.SubTrigger,{ref:r,className:ga("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",e),...s,children:[t,xa.jsx(h,{className:"ml-auto h-4 w-4"})]}));_t.displayName=Le.SubTrigger.displayName;const At=e.forwardRef(({className:e,...a},t)=>xa.jsx(Le.SubContent,{ref:t,className:ga("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",e),...a}));At.displayName=Le.SubContent.displayName;const It=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>xa.jsx(Le.Portal,{children:xa.jsx(Le.Content,{ref:s,sideOffset:a,className:ga("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-white 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 dark:bg-gray-800 dark:border-gray-700",e),...t})}));It.displayName=Le.Content.displayName;const Ot=e.forwardRef(({className:e,inset:a,...t},s)=>xa.jsx(Le.Item,{ref:s,className:ga("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",a&&"pl-8",e),...t}));Ot.displayName=Le.Item.displayName;const Dt=e.forwardRef(({className:e,children:a,checked:t,...s},r)=>xa.jsxs(Le.CheckboxItem,{ref:r,className:ga("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",e),checked:t,...s,children:[xa.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:xa.jsx(Le.ItemIndicator,{children:xa.jsx(b,{className:"h-4 w-4"})})}),a]}));Dt.displayName=Le.CheckboxItem.displayName;const zt=e.forwardRef(({className:e,children:a,...t},s)=>xa.jsxs(Le.RadioItem,{ref:s,className:ga("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",e),...t,children:[xa.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:xa.jsx(Le.ItemIndicator,{children:xa.jsx(v,{className:"h-2 w-2 fill-current"})})}),a]}));zt.displayName=Le.RadioItem.displayName;const Ft=e.forwardRef(({className:e,inset:a,...t},s)=>xa.jsx(Le.Label,{ref:s,className:ga("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));Ft.displayName=Le.Label.displayName;const $t=e.forwardRef(({className:e,...a},t)=>xa.jsx(Le.Separator,{ref:t,className:ga("-mx-1 my-1 h-px bg-muted",e),...a}));$t.displayName=Le.Separator.displayName;const Mt=({className:e,...a})=>xa.jsx("span",{className:ga("ml-auto text-xs tracking-widest opacity-60",e),...a});Mt.displayName="DropdownMenuShortcut";const Lt={default:j,search:N,error:y};function Ut({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const o=e?()=>e:Lt[n];return xa.jsxs("div",{className:ga("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[xa.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:xa.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),xa.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&xa.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&xa.jsx(va,{onClick:s.onClick,variant:"outline",children:s.label})]})}const Vt="qualiex_access_token",Wt="qualiex_id_token",Bt="supabase_token",qt="oauth_state",Ht="oauth_nonce",Qt="selected_alias",Xt={setAccessToken:e=>localStorage.setItem(Vt,e),getAccessToken:()=>localStorage.getItem(Vt),setIdToken:e=>localStorage.setItem(Wt,e),getIdToken:()=>localStorage.getItem(Wt),setSupabaseToken:e=>localStorage.setItem(Bt,e),getSupabaseToken:()=>localStorage.getItem(Bt),setOAuthState:e=>sessionStorage.setItem(qt,e),getOAuthState:()=>sessionStorage.getItem(qt),clearOAuthState:()=>sessionStorage.removeItem(qt),setOAuthNonce:e=>sessionStorage.setItem(Ht,e),getOAuthNonce:()=>sessionStorage.getItem(Ht),clearOAuthNonce:()=>sessionStorage.removeItem(Ht),setSelectedAlias:e=>localStorage.setItem(Qt,e),getSelectedAlias:()=>localStorage.getItem(Qt),clearSelectedAlias:()=>localStorage.removeItem(Qt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Xt.getAccessToken()||!Xt.getIdToken()),clearAll:()=>{localStorage.removeItem(Vt),localStorage.removeItem(Wt),localStorage.removeItem(Bt),localStorage.removeItem(Qt),sessionStorage.removeItem(qt),sessionStorage.removeItem(Ht)},isTokenExpired:e=>{try{return 1e3*JSON.parse(atob(e.split(".")[1])).exp<Date.now()}catch{return!0}},isSupabaseTokenValid:()=>{const e=Xt.getSupabaseToken();return!!e&&!Xt.isTokenExpired(e)},getValidSupabaseToken:()=>{const e=Xt.getSupabaseToken();return!e||Xt.isTokenExpired(e)?null:e},extractTokenData:()=>{const e=Xt.getSupabaseToken();if(!e)return null;try{const a=JSON.parse(atob(e.split(".")[1])),t=a.alias||a.default||a.user_alias;let s=a.company_id;if(!s&&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){s=e[7];break}}}return{alias:t,companyId:s,payload:a}}catch{return null}}};let Kt=0;const Gt=new Map,Yt=e=>{if(Gt.has(e))return;const a=setTimeout(()=>{Gt.delete(e),as({type:"REMOVE_TOAST",toastId:e})},1e6);Gt.set(e,a)},Jt=(e,a)=>{switch(a.type){case"ADD_TOAST":return{...e,toasts:[a.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===a.toast.id?{...e,...a.toast}:e)};case"DISMISS_TOAST":{const{toastId:t}=a;return t?Yt(t):e.toasts.forEach(e=>{Yt(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===a.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==a.toastId)}}},Zt=[];let es={toasts:[]};function as(e){es=Jt(es,e),Zt.forEach(e=>{e(es)})}function ts({...e}){const a=(Kt=(Kt+1)%Number.MAX_SAFE_INTEGER,Kt.toString()),t=()=>as({type:"DISMISS_TOAST",toastId:a});return as({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>as({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function ss(){const[a,t]=e.useState(es);return e.useEffect(()=>(Zt.push(t),()=>{const e=Zt.indexOf(t);e>-1&&Zt.splice(e,1)}),[a]),{...a,toast:ts,dismiss:e=>as({type:"DISMISS_TOAST",toastId:e})}}var rs=Object.defineProperty,ns=(e,a,t)=>((e,a,t)=>a in e?rs(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const os=new class{constructor(){ns(this,"errors",[]),ns(this,"toastCount",0),ns(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()&&ts({title:"Erro",description:t,variant:"destructive"})}success(e,a){ts({title:e,description:a,variant:"default"})}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 is=Object.defineProperty,ls=(e,a,t)=>((e,a,t)=>a in e?is(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const ds=import.meta.env.VITE_SUPABASE_URL,cs=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,ms=class e{constructor(){ls(this,"client"),ls(this,"currentToken",null),ls(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:cs};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),qe(ds,cs,{auth:{persistSession:!1,autoRefreshToken:!1},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Xt.getSupabaseToken();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(e){return os.handleError(e instanceof Error?e:"❌ Supabase - Error validating token",!1),!1}}};ls(ms,"instance");let us=ms;const fs=()=>us.getInstance().getClient(),ps={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"}},hs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},xs={debounceDelay:500},gs=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("lovable.dev")||import.meta.env.DEV},bs={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},vs={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}`}};class ys{static async initialize(){try{if(!Xt.hasAllTokens())return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]};const e=Xt.getAccessToken(),a=Xt.getIdToken(),t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=Xt.getSelectedAlias(),o=n&&s.some(e=>e.alias===n)?n:r||s[0]?.alias||null;if(!Xt.isSupabaseTokenValid()&&o){const a=await this.generateSupabaseToken(e,o);a&&Xt.setSupabaseToken(a)}return{isAuthenticated:!0,isLoading:!1,user:t,alias:o,companies:s}}catch(e){return console.error("[Auth] Erro na inicialização:",e),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]}}}static async loginDev(){try{const e=fs(),{data:a,error:t}=await e.functions.invoke("dev-tokens",{body:{environment:"development"}});if(t)return console.error("[Auth] Erro na Edge Function dev-tokens:",t),!1;if(!a?.access_token||!a?.id_token)return console.error("[Auth] Tokens ausentes na resposta"),!1;const s=new URL("/callback",window.location.origin);return s.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=s.toString(),!0}catch(e){return console.error("[Auth] Erro no login dev:",e),!1}}static loginProd(){const e=Xt.generateOAuthState();Xt.setOAuthState(e);const a=Xt.generateOAuthNonce();Xt.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL(ps.oauth.authUrl);s.searchParams.set("client_id",ps.oauth.clientId),s.searchParams.set("response_type",ps.oauth.responseType),s.searchParams.set("scope",ps.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),gs(),window.location.href=s.toString()}static async processCallback(){try{if(Xt.hasAllTokens()){if(!Xt.getValidSupabaseToken()){const e=Xt.getAccessToken(),a=this.extractAliasFromAccessToken(e),t=this.extractCompaniesFromIdToken(Xt.getIdToken())[0]?.alias,s=a||t;if(s){const a=await this.generateSupabaseToken(e,s);a&&Xt.setSupabaseToken(a)}}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),s=t("access_token"),r=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");Xt.setAccessToken(s),Xt.setIdToken(r);const o=this.extractAliasFromAccessToken(s);if(o){const e=await this.generateSupabaseToken(s,o);if(!e)throw new Error("Falha ao gerar token Supabase");Xt.setSupabaseToken(e)}else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");const a=e[0].alias,t=await this.generateSupabaseToken(s,a);if(!t)throw new Error("Falha ao gerar token Supabase");Xt.setSupabaseToken(t)}return Xt.clearOAuthState(),Xt.clearOAuthNonce(),console.log("✅ [AuthService] Callback processado com sucesso"),!0}catch(e){throw console.error("❌ [CallbackPage] Erro ao processar callback:",e),e}}static logout(){Xt.clearAll(),window.location.href="/"}static decodeToken(e){try{const a=e.split(".")[1],t=atob(a),s=new Uint8Array(t.length);for(let e=0;e<t.length;e++)s[e]=t.charCodeAt(e);const r=new TextDecoder("utf-8").decode(s);return JSON.parse(r)}catch{return null}}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier,photoDate:a["photo-date"]}: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 s=a[e].split(";");if(s.length>=4)t.push({alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=a[e].split("|");s&&r&&t.push({alias:s.trim(),name:r.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}static async generateSupabaseToken(e,a){try{const t=fs(),{data:s,error:r}=await t.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return r?(console.error("[Auth] Erro na Edge Function validate-token:",r),null):s?.access_token?s.access_token:(console.error("[Auth] Token Supabase ausente na resposta"),null)}catch(e){return console.error("[Auth] Erro ao gerar token Supabase:",e),null}}}const Ns=r(void 0),js=({children:e})=>{const[a,r]=t({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0}),n=Ue(),[l,d]=t(!1),[c,m]=t(0),u=o(e=>{r(a=>({...a,...e}))},[]),f=o(e=>{r(a=>({...a,isLoading:e}))},[]),p=o(()=>{r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0})},[]),h=o(async e=>{try{f(!0);const a=Xt.getAccessToken();if(!a)return void console.error("[AuthContext] Access token não encontrado para trocar unidade");const t=await ys.generateSupabaseToken(a,e.alias);if(!t)return void console.error("[AuthContext] Erro ao gerar token Supabase para nova unidade");Xt.setSupabaseToken(t),Xt.setSelectedAlias(e.alias),u({alias:e.alias}),await n.invalidateQueries()}catch(a){console.error("[AuthContext] Erro ao trocar unidade",a,e)}finally{f(!1)}},[u,n,f]),x=o(async()=>await ys.processCallback(),[]),g=o(async()=>{ys.logout(),p(),await n.clear()},[p,n]),b=o(e=>{d(e)},[]),v=o(()=>{m(e=>e+1)},[]),y=o(()=>{m(e=>e+1)},[]);s(()=>{(async()=>{try{await new Promise(e=>setTimeout(e,100));const e=await ys.initialize();e&&e.isAuthenticated?u({user:e.user,companies:e.companies,alias:e.alias,isAuthenticated:!0,isLoading:!1}):f(!1)}catch(e){console.error("[AuthContext] Erro na inicialização da autenticação",e),f(!1)}})()},[u,f]);const N=i(()=>({...a,logout:g,processCallback:x,switchUnit:h,availableUnits:a.companies,isSearchVisible:l,setSearchVisible:b,clearSearch:v,refreshData:y}),[a,g,x,h,l,b,v,y]);return xa.jsx(Ns.Provider,{value:N,children:e})},ws=()=>{const e=n(Ns);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e},ks=({variant:e="button",className:s="",children:r})=>{const[n,o]=t(!1),{user:i}=ws(),{companies:l,alias:d}=ws(),c=d?l?.find(e=>e.alias===d)||l?.[0]||null:l?.[0]||null,m=(()=>{if(!i?.email)return"";return`${`${import.meta.env.VITE_FEEDBACK_APP_URL}/`}?${new URLSearchParams({email:i.email,module:"OKR",alias:c?.alias||""}).toString()}`})();if(!i?.email||!c)return null;const u=a.forwardRef((a,t)=>"menuItem"===e?xa.jsxs("div",{ref:t,className:"flex items-center cursor-pointer w-full px-2 py-1.5 text-sm hover:bg-accent rounded-sm",...a,children:[xa.jsx(w,{className:"mr-2 h-4 w-4"}),"Feedback"]}):xa.jsxs(va,{ref:t,variant:"default",size:"sm",className:`bg-primary hover:bg-primary/90 ${s}`,...a,children:[xa.jsx(w,{className:"mr-2 h-4 w-4"}),"Feedback"]}));return u.displayName="TriggerButton",xa.jsxs(ht,{open:n,onOpenChange:o,children:[xa.jsx(xt,{asChild:!0,children:xa.jsx(u,{})}),xa.jsxs(yt,{className:"max-w-4xl max-h-[90vh] w-full h-full p-0 overflow-hidden",children:[xa.jsxs(Nt,{className:"sr-only",children:[xa.jsx(wt,{children:"Feedback"}),xa.jsx(kt,{children:"Formulário de feedback para melhorias no sistema"})]}),xa.jsx("div",{className:"w-full h-full",children:xa.jsx("iframe",{src:m,width:"100%",height:"600px",className:"feedback-iframe",title:"Formulário de Feedback",loading:"lazy"})})]})]})},Ss=Qe,Cs=e.createContext({}),Ts=({...e})=>xa.jsx(Cs.Provider,{value:{name:e.name},children:xa.jsx(Xe,{...e})}),Es=()=>{const a=e.useContext(Cs),t=e.useContext(Rs),{getFieldState:s,formState:r}=He(),n=s(a.name,r);if(!a)throw new Error("useFormField should be used within <FormField>");const{id:o}=t;return{id:o,name:a.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...n}},Rs=e.createContext({}),Ps=e.forwardRef(({className:a,...t},s)=>{const r=e.useId();return xa.jsx(Rs.Provider,{value:{id:r},children:xa.jsx("div",{ref:s,className:ga("space-y-2",a),...t})})});Ps.displayName="FormItem";const _s=e.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=Es();return xa.jsx(Ja,{ref:t,className:ga(s&&"text-destructive",e),htmlFor:r,...a})});_s.displayName="FormLabel";const As=e.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:r,formMessageId:n}=Es();return xa.jsx(f,{ref:a,id:s,"aria-describedby":t?`${r} ${n}`:`${r}`,"aria-invalid":!!t,...e})});As.displayName="FormControl";const Is=e.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=Es();return xa.jsx("p",{ref:t,id:s,className:ga("text-sm text-muted-foreground",e),...a})});Is.displayName="FormDescription";const Os=e.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=Es(),o=r?String(r?.message):a;return o?xa.jsx("p",{ref:s,id:n,className:ga("text-sm font-medium text-destructive",e),...t,children:o}):null});Os.displayName="FormMessage";const Ds={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))]"},zs={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function Fs({children:e,cols:a="auto-fit",gap:t="md",className:s}){return xa.jsx("div",{className:ga("grid",Ds[a],zs[t],s),children:e})}const $s=e.forwardRef(({className:e,children:a,...t},s)=>xa.jsxs(Ke.Root,{ref:s,className:ga("relative overflow-hidden",e),...t,children:[xa.jsx(Ke.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),xa.jsx(Ms,{}),xa.jsx(Ke.Corner,{})]}));$s.displayName=Ke.Root.displayName;const Ms=e.forwardRef(({className:e,orientation:a="vertical",...t},s)=>xa.jsx(Ke.ScrollAreaScrollbar,{ref:s,orientation:a,className:ga("flex touch-none select-none transition-colors","vertical"===a&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...t,children:xa.jsx(Ke.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Ms.displayName=Ke.ScrollAreaScrollbar.displayName;const Ls={Star:Ne,Heart:ye,Home:ve,User:be,Settings:ge,Mail:xe,Phone:he,Calendar:pe,MapPin:fe,Camera:ue,Image:me,Music:ce,Video:de,Book:le,Bookmark:ie,Search:N,Filter:oe,Edit:ne,Trash2:re,Plus:se,Minus:te,Check:b,X:g,ChevronDown:ae,ChevronUp:ee,ChevronLeft:Z,ChevronRight:h,ArrowUp:J,ArrowDown:Y,ArrowLeft:G,ArrowRight:K,Clock:X,Bell:Q,AlertCircle:y,Info:H,HelpCircle:q,Download:B,Upload:W,Share:V,Copy:U,Save:L,FileText:M,Folder:$,FolderOpen:F,Archive:z,Lock:D,Unlock:O,Eye:I,EyeOff:A,Shield:_,Key:P,Zap:R,Flame:E,Sparkles:T,Award:C,Trophy:S,Target:k},Us=({value:e="Star",onChange:a,label:s})=>{const[r,n]=t(""),o=Object.entries(Ls).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),i=Ls[e]||Ne;return xa.jsxs("div",{className:"space-y-2",children:[s&&xa.jsx(Ja,{children:s}),xa.jsxs(Za,{children:[xa.jsx(et,{asChild:!0,children:xa.jsxs(va,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[xa.jsx(i,{className:"h-4 w-4 mr-2"}),e]})}),xa.jsx(at,{className:"w-80",children:xa.jsxs("div",{className:"space-y-3",children:[xa.jsxs("div",{children:[xa.jsx(Ja,{htmlFor:"icon-search",children:"Buscar ícone"}),xa.jsx(Ga,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),xa.jsx($s,{className:"h-48",children:xa.jsx("div",{className:"grid grid-cols-6 gap-2",children:o.map(([t,s])=>xa.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(e===t?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(t),title:t,children:xa.jsx(s,{className:"h-4 w-4"})},t))})})]})})]})]})},Vs=e.forwardRef(({className:e,containerClassName:a,...t},s)=>xa.jsx(Ge,{ref:s,containerClassName:ga("flex items-center gap-2 has-[:disabled]:opacity-50",a),className:ga("disabled:cursor-not-allowed",e),...t}));Vs.displayName="InputOTP";const Ws=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,className:ga("flex items-center",e),...a}));Ws.displayName="InputOTPGroup";const Bs=e.forwardRef(({index:a,className:t,...s},r)=>{const n=e.useContext(Ye),{char:o,hasFakeCaret:i,isActive:l}=n.slots[a];return xa.jsxs("div",{ref:r,className:ga("relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",l&&"z-10 ring-2 ring-ring ring-offset-background",t),...s,children:[o,i&&xa.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:xa.jsx("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})});Bs.displayName="InputOTPSlot";const qs=e.forwardRef(({...e},a)=>xa.jsx("div",{ref:a,role:"separator",...e,children:xa.jsx(je,{})}));qs.displayName="InputOTPSeparator";const Hs={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function Qs({size:e="md",className:a}){return xa.jsx(we,{className:ga("animate-spin text-muted-foreground",Hs[e],a)})}function Xs({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?xa.jsxs("div",{className:ga("relative",t),children:[a,xa.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:xa.jsx(Qs,{size:r})})]}):"skeleton"===s?xa.jsx("div",{className:ga("animate-pulse",t),children:xa.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):xa.jsx("div",{className:ga("flex items-center justify-center py-8",t),children:xa.jsx(Qs,{size:r})}):xa.jsx(xa.Fragment,{children:a})}function Ks({modules:e,currentModule:a,onModuleSelect:s,placeholder:r="Selecionar módulo...",emptyMessage:n="Nenhum módulo encontrado.",className:o}){const[l,d]=t(!1),[c,m]=t(""),u=i(()=>c?e.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())):e,[e,c]),f=e.find(e=>!!a&&e.url===a);return xa.jsxs(Za,{open:l,onOpenChange:d,children:[xa.jsx(et,{asChild:!0,children:xa.jsxs(va,{variant:"outline",role:"combobox","aria-expanded":l,className:ga("w-full justify-between",o),children:[xa.jsx("span",{className:"truncate",children:f?f.name:r}),xa.jsx(ke,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),xa.jsx(at,{className:"w-full p-0",align:"start",children:xa.jsxs(rt,{children:[xa.jsx(ot,{placeholder:"Buscar módulos...",value:c,onChange:e=>m(e.target.value)}),xa.jsxs(it,{children:[xa.jsx(lt,{children:n}),xa.jsx(dt,{children:u.map(e=>xa.jsxs(mt,{value:e.name,onSelect:()=>{s(e.url),d(!1),m("")},children:[xa.jsx(b,{className:ga("mr-2 h-4 w-4",f?.id===e.id?"opacity-100":"opacity-0")}),xa.jsx("span",{className:"truncate",children:e.name})]},e.id))})]})]})})]})}function Gs({items:e,maxItems:a=3,className:t}){const s=e.length>a?[e[0],...e.slice(-(a-1))]:e,r=e.length>a;return xa.jsx(Fa,{className:t,children:xa.jsx($a,{children:s.map((e,a)=>{const t=a===s.length-1,n=r&&1===a;return xa.jsxs("div",{className:"flex items-center",children:[n&&xa.jsxs(xa.Fragment,{children:[xa.jsx(Ma,{children:xa.jsx(Wa,{})}),xa.jsx(Va,{})]}),xa.jsx(Ma,{children:t||e.isCurrentPage?xa.jsx(Ua,{className:"font-bold text-lg",children:e.label}):xa.jsx(La,{href:e.href,children:e.label})}),!t&&xa.jsx(Va,{})]},`${e.label}-${a}`)})})})}function Ys(){const e=Je();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let s="";return a.forEach((e,r)=>{s+=`/${e}`;const n=r===a.length-1,o=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:o,href:n?void 0:s,isCurrentPage:n})}),t})()}const Js=({className:e,...a})=>xa.jsx("nav",{role:"navigation","aria-label":"pagination",className:ga("mx-auto flex w-full justify-center",e),...a});Js.displayName="Pagination";const Zs=e.forwardRef(({className:e,...a},t)=>xa.jsx("ul",{ref:t,className:ga("flex flex-row items-center gap-1",e),...a}));Zs.displayName="PaginationContent";const er=e.forwardRef(({className:e,...a},t)=>xa.jsx("li",{ref:t,className:ga("",e),...a}));er.displayName="PaginationItem";const ar=({className:e,isActive:a,size:t="icon",...s})=>xa.jsx("a",{"aria-current":a?"page":void 0,className:ga(ba({variant:a?"outline":"ghost",size:t}),e),...s});ar.displayName="PaginationLink";const tr=({className:e,...a})=>xa.jsxs(ar,{"aria-label":"Go to previous page",size:"default",className:ga("gap-1 pl-2.5",e),...a,children:[xa.jsx(Z,{className:"h-4 w-4"}),xa.jsx("span",{children:"Previous"})]});tr.displayName="PaginationPrevious";const sr=({className:e,...a})=>xa.jsxs(ar,{"aria-label":"Go to next page",size:"default",className:ga("gap-1 pr-2.5",e),...a,children:[xa.jsx("span",{children:"Next"}),xa.jsx(h,{className:"h-4 w-4"})]});sr.displayName="PaginationNext";const rr=({className:e,...a})=>xa.jsxs("span",{"aria-hidden":!0,className:ga("flex h-9 w-9 items-center justify-center",e),...a,children:[xa.jsx(x,{className:"h-4 w-4"}),xa.jsx("span",{className:"sr-only",children:"More pages"})]});rr.displayName="PaginationEllipsis";const nr=aa.Root,or=aa.Group,ir=aa.Value,lr=e.forwardRef(({className:e,children:a,...t},s)=>xa.jsxs(aa.Trigger,{ref:s,className:ga("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",e),...t,children:[a,xa.jsx(aa.Icon,{asChild:!0,children:xa.jsx(ae,{className:"h-4 w-4 opacity-50"})})]}));lr.displayName=aa.Trigger.displayName;const dr=e.forwardRef(({className:e,...a},t)=>xa.jsx(aa.ScrollUpButton,{ref:t,className:ga("flex cursor-default items-center justify-center py-1",e),...a,children:xa.jsx(ee,{className:"h-4 w-4"})}));dr.displayName=aa.ScrollUpButton.displayName;const cr=e.forwardRef(({className:e,...a},t)=>xa.jsx(aa.ScrollDownButton,{ref:t,className:ga("flex cursor-default items-center justify-center py-1",e),...a,children:xa.jsx(ae,{className:"h-4 w-4"})}));cr.displayName=aa.ScrollDownButton.displayName;const mr=e.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>xa.jsx(aa.Portal,{children:xa.jsxs(aa.Content,{ref:r,className:ga("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"===t&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:t,...s,children:[xa.jsx(dr,{}),xa.jsx(aa.Viewport,{className:ga("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),xa.jsx(cr,{})]})}));mr.displayName=aa.Content.displayName;const ur=e.forwardRef(({className:e,...a},t)=>xa.jsx(aa.Label,{ref:t,className:ga("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a}));ur.displayName=aa.Label.displayName;const fr=e.forwardRef(({className:e,children:a,...t},s)=>xa.jsxs(aa.Item,{ref:s,className:ga("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",e),...t,children:[xa.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:xa.jsx(aa.ItemIndicator,{children:xa.jsx(b,{className:"h-4 w-4"})})}),xa.jsx(aa.ItemText,{children:a})]}));fr.displayName=aa.Item.displayName;const pr=e.forwardRef(({className:e,...a},t)=>xa.jsx(aa.Separator,{ref:t,className:ga("-mx-1 my-1 h-px bg-muted",e),...a}));pr.displayName=aa.Separator.displayName;const hr=e.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>xa.jsx(ta.Root,{ref:r,decorative:t,orientation:a,className:ga("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));hr.displayName=ta.Root.displayName;const xr=Me.Root,gr=Me.Trigger,br=Me.Close,vr=Me.Portal,yr=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Overlay,{className:ga("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",e),...a,ref:t}));yr.displayName=Me.Overlay.displayName;const Nr=p("fixed z-50 gap-4 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 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t 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"}}),jr=e.forwardRef(({side:e="right",className:a,children:t,...s},r)=>xa.jsxs(vr,{children:[xa.jsx(yr,{}),xa.jsxs(Me.Content,{ref:r,className:ga(Nr({side:e}),a),...s,children:[t,xa.jsxs(Me.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[xa.jsx(g,{className:"h-4 w-4"}),xa.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));jr.displayName=Me.Content.displayName;const wr=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col space-y-2 text-center sm:text-left",e),...a});wr.displayName="SheetHeader";const kr=({className:e,...a})=>xa.jsx("div",{className:ga("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});kr.displayName="SheetFooter";const Sr=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Title,{ref:t,className:ga("text-lg font-semibold text-foreground",e),...a}));Sr.displayName=Me.Title.displayName;const Cr=e.forwardRef(({className:e,...a},t)=>xa.jsx(Me.Description,{ref:t,className:ga("text-sm text-muted-foreground",e),...a}));Cr.displayName=Me.Description.displayName;const Tr=sa.Provider,Er=sa.Root,Rr=sa.Trigger,Pr=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>xa.jsx(sa.Content,{ref:s,sideOffset:a,className:ga("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",e),...t}));Pr.displayName=sa.Content.displayName;const _r="sidebar:state",Ar=e.createContext(null);function Ir(){const a=e.useContext(Ar);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}const Or=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:r,style:n,children:o,...i},l)=>{const[d,c]=e.useState(!1);e.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[m,u]=e.useState(!1),[f,p]=e.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(_r);return null!==e?"true"===e:a}return a}),h=t??f,x=e.useCallback(e=>{const a="function"==typeof e?e(h):e;s?s(a):p(a),"undefined"!=typeof window&&localStorage.setItem(_r,String(a))},[s,h]),g=e.useCallback(()=>d?u(e=>!e):x(e=>!e),[d,x,u]);e.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);const b=h?"expanded":"collapsed",v=e.useMemo(()=>({state:b,open:h,setOpen:x,isMobile:d,openMobile:m,setOpenMobile:u,toggleSidebar:g}),[b,h,x,d,m,u,g]);return xa.jsx(Ar.Provider,{value:v,children:xa.jsx(Tr,{delayDuration:0,children:xa.jsx("div",{className:ga("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",r),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...n},ref:l,...i,children:o})})})});Or.displayName="SidebarProvider";const Dr=e.forwardRef(({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:r,...n},o)=>{const{isMobile:i,state:l,openMobile:d,setOpenMobile:c}=Ir();return"none"===t?xa.jsx("div",{className:ga("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?xa.jsx(xr,{open:d,onOpenChange:c,...n,children:xa.jsxs(jr,{"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:e,children:[xa.jsx(Sr,{className:"sr-only",children:"Menu de Navegação"}),xa.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):xa.jsxs("div",{ref:o,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?t:"","data-variant":a,"data-side":e,children:[xa.jsx("div",{className:ga("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"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),xa.jsx("div",{className:ga("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===e?"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"===a||"inset"===a?"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",s),...n,children:xa.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:r})})]})});Dr.displayName="Sidebar";const zr=e.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Ir();return xa.jsxs(va,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:ga("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[xa.jsx(Se,{}),xa.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});zr.displayName="SidebarTrigger";const Fr=e.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Ir();return xa.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:ga("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",e),...a})});Fr.displayName="SidebarRail";const $r=e.forwardRef(({className:e,...a},t)=>xa.jsx("main",{ref:t,className:ga("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",e),...a}));$r.displayName="SidebarInset";const Mr=e.forwardRef(({className:e,...a},t)=>xa.jsx(Ga,{ref:t,"data-sidebar":"input",className:ga("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));Mr.displayName="SidebarInput";const Lr=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"header",className:ga("flex flex-col gap-2 p-2",e),...a}));Lr.displayName="SidebarHeader";const Ur=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"footer",className:ga("flex flex-col gap-2 p-2",e),...a}));Ur.displayName="SidebarFooter";const Vr=e.forwardRef(({className:e,...a},t)=>xa.jsx(hr,{ref:t,"data-sidebar":"separator",className:ga("mx-2 w-auto bg-sidebar-border",e),...a}));Vr.displayName="SidebarSeparator";const Wr=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"content",className:ga("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));Wr.displayName="SidebarContent";const Br=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"group",className:ga("relative flex w-full min-w-0 flex-col p-2",e),...a}));Br.displayName="SidebarGroup";const qr=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?f:"div";return xa.jsx(r,{ref:s,"data-sidebar":"group-label",className:ga("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",e),...t})});qr.displayName="SidebarGroupLabel";const Hr=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?f:"button";return xa.jsx(r,{ref:s,"data-sidebar":"group-action",className:ga("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",e),...t})});Hr.displayName="SidebarGroupAction";const Qr=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"group-content",className:ga("w-full text-sm",e),...a}));Qr.displayName="SidebarGroupContent";const Xr=e.forwardRef(({className:e,...a},t)=>xa.jsx("ul",{ref:t,"data-sidebar":"menu",className:ga("flex w-full min-w-0 flex-col gap-1",e),...a}));Xr.displayName="SidebarMenu";const Kr=e.forwardRef(({className:e,...a},t)=>xa.jsx("li",{ref:t,"data-sidebar":"menu-item",className:ga("group/menu-item relative",e),...a}));Kr.displayName="SidebarMenuItem";const Gr=p("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-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-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 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-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-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Yr=e.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:r,className:n,...o},i)=>{const l=e?f:"button",{isMobile:d,state:c}=Ir(),m=xa.jsx(l,{ref:i,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:ga(Gr({variant:t,size:s}),n),...o});return r?("string"==typeof r&&(r={children:r}),xa.jsxs(Er,{children:[xa.jsx(Rr,{asChild:!0,children:m}),xa.jsx(Pr,{side:"right",align:"center",hidden:"collapsed"!==c||d,...r})]})):m});Yr.displayName="SidebarMenuButton";const Jr=e.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},r)=>{const n=a?f:"button";return xa.jsx(n,{ref:r,"data-sidebar":"menu-action",className:ga("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",t&&"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",e),...s})});Jr.displayName="SidebarMenuAction";const Zr=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:ga("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",e),...a}));Zr.displayName="SidebarMenuBadge";const en=e.forwardRef(({className:a,showIcon:t=!1,...s},r)=>{const n=e.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return xa.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:ga("rounded-md h-8 flex gap-2 px-2 items-center",a),...s,children:[t&&xa.jsx("div",{className:"size-4 rounded-md bg-muted animate-pulse","data-sidebar":"menu-skeleton-icon"}),xa.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width bg-muted animate-pulse rounded-md","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":n}})]})});en.displayName="SidebarMenuSkeleton";const an=e.forwardRef(({className:e,...a},t)=>xa.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:ga("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",e),...a}));an.displayName="SidebarMenuSub";const tn=e.forwardRef(({...e},a)=>xa.jsx("li",{ref:a,...e}));tn.displayName="SidebarMenuSubItem";const sn=e.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...r},n)=>{const o=e?f:"a";return xa.jsx(o,{ref:n,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:ga("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"===a&&"text-xs","md"===a&&"text-sm","group-data-[collapsible=icon]:hidden",s),...r})});function rn({className:e,...a}){return xa.jsx("div",{className:ga("animate-pulse rounded-md bg-muted",e),...a})}function nn({rows:e=5,columns:a=4}){return xa.jsx("div",{className:"w-full",children:xa.jsxs("div",{className:"rounded-md border",children:[xa.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:xa.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>xa.jsx(rn,{className:"h-4 w-24"},a))})}),xa.jsx("div",{children:Array.from({length:e}).map((e,t)=>xa.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:xa.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>xa.jsx(rn,{className:"h-4 w-20"},a))})},t))})]})})}function on({count:e=3}){return xa.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>xa.jsxs(Ba,{children:[xa.jsxs(qa,{children:[xa.jsx(rn,{className:"h-4 w-3/4"}),xa.jsx(rn,{className:"h-3 w-1/2"})]}),xa.jsx(Xa,{children:xa.jsxs("div",{className:"space-y-2",children:[xa.jsx(rn,{className:"h-3 w-full"}),xa.jsx(rn,{className:"h-3 w-2/3"})]})})]},a))})}function ln({fields:e=4}){return xa.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>xa.jsxs("div",{className:"space-y-2",children:[xa.jsx(rn,{className:"h-4 w-24"}),xa.jsx(rn,{className:"h-10 w-full"})]},a)),xa.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[xa.jsx(rn,{className:"h-10 w-20"}),xa.jsx(rn,{className:"h-10 w-20"})]})]})}function dn(){return xa.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[xa.jsxs("div",{className:"flex items-center space-x-3",children:[xa.jsx(rn,{className:"h-8 w-8 rounded-full"}),xa.jsx(rn,{className:"h-6 w-32"})]}),xa.jsxs("div",{className:"flex items-center space-x-2",children:[xa.jsx(rn,{className:"h-8 w-8"}),xa.jsx(rn,{className:"h-8 w-24"})]})]})}function cn(){return xa.jsx("div",{className:"w-64 border-r bg-muted/10",children:xa.jsxs("div",{className:"p-4",children:[xa.jsx(rn,{className:"h-8 w-32 mb-6"}),xa.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>xa.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[xa.jsx(rn,{className:"h-4 w-4"}),xa.jsx(rn,{className:"h-4 w-20"})]},a))})]})})}sn.displayName="SidebarMenuSubButton";const mn={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},un={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},fn={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function pn({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return xa.jsx("div",{className:ga("flex","column"===a?"flex-col":"flex-row",mn[t],un[s],fn[r],n&&"flex-wrap",o),children:e})}const hn=e.forwardRef(({className:e,...a},t)=>xa.jsx("div",{className:"relative w-full overflow-auto",children:xa.jsx("table",{ref:t,className:ga("w-full caption-bottom text-sm",e),...a})}));hn.displayName="Table";const xn=e.forwardRef(({className:e,...a},t)=>xa.jsx("thead",{ref:t,className:ga("[&_tr]:border-b",e),...a}));xn.displayName="TableHeader";const gn=e.forwardRef(({className:e,...a},t)=>xa.jsx("tbody",{ref:t,className:ga("[&_tr:last-child]:border-0",e),...a}));gn.displayName="TableBody";e.forwardRef(({className:e,...a},t)=>xa.jsx("tfoot",{ref:t,className:ga("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a})).displayName="TableFooter";const bn=e.forwardRef(({className:e,...a},t)=>xa.jsx("tr",{ref:t,className:ga("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));bn.displayName="TableRow";const vn=e.forwardRef(({className:e,...a},t)=>xa.jsx("th",{ref:t,className:ga("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-muted/50 [&:has([role=checkbox])]:pr-0",e),...a}));vn.displayName="TableHead";const yn=e.forwardRef(({className:e,...a},t)=>xa.jsx("td",{ref:t,className:ga("px-4 py-2 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));yn.displayName="TableCell";const Nn=e.forwardRef(({className:e,...a},t)=>xa.jsx("caption",{ref:t,className:ga("mt-4 text-sm text-muted-foreground",e),...a}));Nn.displayName="TableCaption";const jn=e.forwardRef(({className:e,...a},t)=>xa.jsx("textarea",{className:ga("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",e),ref:t,...a}));jn.displayName="Textarea";const wn=na.Provider,kn=e.forwardRef(({className:e,...a},t)=>xa.jsx(na.Viewport,{ref:t,className:ga("fixed top-4 left-1/2 transform -translate-x-1/2 z-[100] flex max-h-screen w-full max-w-[420px] flex-col p-4",e),...a}));kn.displayName=na.Viewport.displayName;const Sn=p("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Cn=e.forwardRef(({className:e,variant:a,...t},s)=>xa.jsx(na.Root,{ref:s,className:ga(Sn({variant:a}),e),...t}));Cn.displayName=na.Root.displayName;const Tn=e.forwardRef(({className:e,...a},t)=>xa.jsx(na.Action,{ref:t,className:ga("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...a}));Tn.displayName=na.Action.displayName;const En=e.forwardRef(({className:e,...a},t)=>xa.jsx(na.Close,{ref:t,className:ga("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...a,children:xa.jsx(g,{className:"h-4 w-4"})}));En.displayName=na.Close.displayName;const Rn=e.forwardRef(({className:e,...a},t)=>xa.jsx(na.Title,{ref:t,className:ga("text-sm font-semibold",e),...a}));Rn.displayName=na.Title.displayName;const Pn=e.forwardRef(({className:e,...a},t)=>xa.jsx(na.Description,{ref:t,className:ga("text-sm opacity-90",e),...a}));function _n(){const{toasts:e}=ss();return xa.jsxs(wn,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return xa.jsxs(Cn,{...r,children:[xa.jsxs("div",{className:"grid gap-1",children:[a&&xa.jsx(Rn,{children:a}),t&&xa.jsx(Pn,{children:t})]}),s,xa.jsx(En,{})]},e)}),xa.jsx(kn,{})]})}Pn.displayName=na.Description.displayName;const An={"/":"Exemplos","/s":"Solicitações"};function In(){const e=Je();return An[e.pathname]||"Página"}const On=a.memo(({variant:e="card",className:t="",selectedUnit:s,onUnitChange:r,showDebug:n=!1})=>{const{user:o,companies:i,alias:l,isAuthenticated:d,logout:c,switchUnit:m}=ws(),u=i?.[0]||null,f=l?i?.find(e=>e.alias===l):u,p=i||[],h=s||f||u||u,x=a.useCallback(e=>{r?r(e):m(e)},[r,m]),g=a.useMemo(()=>{if(!p?.length)return[];const e=new Map;p.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===h?.alias),s=a.filter(e=>e.alias!==h?.alias);return s.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...s]:s},[p,h?.alias]);if(!d||!o)return null;const b=()=>xa.jsxs(xa.Fragment,{children:[xa.jsxs("div",{className:"flex items-center space-x-3",children:[xa.jsx("div",{className:"flex-shrink-0",children:xa.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:xa.jsx(be,{className:"h-5 w-5 text-primary-foreground"})})}),xa.jsxs("div",{className:"flex-1 min-w-0",children:[xa.jsx("p",{className:"text-sm font-medium truncate",children:o.name}),xa.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&xa.jsx("div",{className:"mt-3",children:xa.jsxs("div",{className:"flex items-center space-x-2",children:[xa.jsx(Te,{className:"h-4 w-4 text-muted-foreground"}),xa.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),g.length>1&&xa.jsxs("div",{className:"mt-2",children:[xa.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",g.length]}),xa.jsxs("div",{className:"flex flex-wrap gap-1",children:[g.slice(0,3).map(e=>xa.jsx(za,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>x(e),children:e.name},e.alias)),g.length>3&&xa.jsxs(za,{variant:"outline",className:"text-xs",children:["+",g.length-3]})]})]})]});if("dropdown"===e){const e=o.identifier&&o.photoDate?`${import.meta.env.VITE_QUALIEX_COMMON_API_URL}/api/common/users/photo/${o.identifier}/${o.photoDate}?size=36`:null;return xa.jsxs(St,{children:[xa.jsx(Ct,{asChild:!0,children:xa.jsx(va,{variant:"ghost",className:`h-auto p-2 ${t}`,children:xa.jsxs("div",{className:"flex items-center space-x-2",children:[xa.jsxs("div",{className:"hidden md:block text-left",children:[xa.jsx("p",{className:"text-sm font-medium",children:o.name}),xa.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),e?xa.jsx("img",{src:e,alt:"Foto do usuário",className:"w-8 h-8 rounded-full object-cover",onError:e=>{e.currentTarget.style.display="none";const a=e.currentTarget.nextElementSibling;a&&(a.style.display="flex")}}):null,xa.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center "+(e?"hidden":""),children:xa.jsx(be,{className:"h-4 w-4 text-primary-foreground"})}),xa.jsx(ae,{className:"h-4 w-4"})]})})}),xa.jsxs(It,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[xa.jsxs(Rt,{children:[xa.jsxs(_t,{children:[xa.jsx(Ce,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),xa.jsx(At,{children:g.map(e=>xa.jsxs(Ot,{onClick:()=>x(e),className:e.alias===h?.alias?"bg-muted":"",children:[xa.jsx(Te,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&xa.jsx(za,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),xa.jsx($t,{}),xa.jsx(ks,{variant:"menuItem"}),xa.jsxs(Ot,{onClick:c,children:[xa.jsx(Ee,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}return xa.jsxs(Ba,{className:t,children:[xa.jsx(qa,{children:xa.jsx(Ha,{className:"text-lg",children:"Informações do Usuário"})}),xa.jsxs(Xa,{className:"space-y-4",children:[xa.jsx(b,{}),xa.jsx(hr,{}),xa.jsxs("div",{className:"flex space-x-2",children:[xa.jsx(ks,{className:"flex-1"}),xa.jsxs(va,{variant:"outline",onClick:c,size:"sm",className:"flex-1",children:[xa.jsx(Ee,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})]})});function Dn(e,a){const[r,n]=t(e),i=l(),d=o(()=>{i.current&&(clearTimeout(i.current),i.current=void 0)},[]);return s(()=>(d(),i.current=setTimeout(()=>{n(e)},a),d),[e,a,d]),[r,d]}const zn=({actions:e})=>{Je();const a=In(),{companies:r,alias:n,isSearchVisible:o,clearSearch:i,refreshData:l,switchUnit:d}=ws(),c=n?r?.find(e=>e.alias===n)||r?.[0]||null:r?.[0]||null,[m,u]=Ze(),[f,p]=t(()=>m.get("search")||""),[h,x]=Dn(f,xs.debounceDelay);s(()=>{if(!o)return;const e=new URLSearchParams(m);h?(e.set("search",h),e.set("page","1")):(e.delete("search"),e.delete("page")),u(e)},[h,u,o,m]);return xa.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:xa.jsxs("div",{className:"flex items-center justify-between gap-4",children:[xa.jsxs("div",{className:"flex items-center space-x-1 md:space-x-2 min-w-0",children:[xa.jsx(zr,{className:"flex-shrink-0"}),xa.jsxs("div",{className:"min-w-0 flex flex-col md:flex-row md:items-center md:space-x-3 space-y-2 md:space-y-0",children:[xa.jsx("div",{className:"min-w-0",children:xa.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:a})}),o&&xa.jsxs("div",{className:"flex items-center space-x-1 w-full md:w-auto",children:[xa.jsxs("div",{className:"relative w-full md:w-48",children:[xa.jsx(N,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),xa.jsx(Ga,{placeholder:"Buscar...",value:f,onChange:e=>{return a=e.target.value,void p(a);var a},className:"w-full pl-10 pr-8"}),f&&xa.jsx(va,{variant:"ghost",size:"sm",className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",onClick:()=>{x(),p("");const e=new URLSearchParams(m);e.delete("search"),e.delete("page"),u(e)},title:"Limpar busca",children:xa.jsx(g,{size:14})})]}),xa.jsx(va,{variant:"outline",size:"sm",onClick:l,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:xa.jsx(Ce,{size:14})})]})]})]}),xa.jsxs("div",{className:"flex-shrink-0 flex items-center gap-3",children:[e&&xa.jsx("div",{className:"flex items-center gap-2",children:e}),xa.jsx("div",{className:"text-sm",children:xa.jsx(On,{variant:"dropdown",selectedUnit:c,onUnitChange:d,showDebug:!0})})]})]})})},Fn=(e={})=>{const{enabled:a=!0}=e,{alias:t}=ws();return Ve({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=fs(),{data:a,error:s}=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(s)throw s;return a||[]},enabled:a&&!!t})};function $n({config:e}={}){const{state:a}=Ir(),s=Je(),[r,n]=t(!1),{data:o,isLoading:i,error:l}=Fn({enabled:r&&e?.showModuleDropdown}),d=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]};return xa.jsxs(Dr,{collapsible:"icon",children:[xa.jsxs(Lr,{className:"p-0 gap-0",children:[e?.showModuleDropdown&&xa.jsxs(St,{onOpenChange:n,children:[xa.jsx(Ct,{asChild:!0,children:xa.jsxs("div",{className:"bg-gradient-to-r from-primary to-primary hover:opacity-90 text-primary-foreground font-semibold text-sm flex items-center justify-center cursor-pointer transition-all duration-200 h-8 gap-2 shadow-lg rounded-b-2xl",children:["collapsed"!==a&&e?.appName,xa.jsx(ae,{size:16})]})}),xa.jsx(It,{className:"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50",align:"collapsed"===a?"center":"start",children:i?xa.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[xa.jsx(we,{className:"h-4 w-4 animate-spin"}),xa.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):l?xa.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[xa.jsx(y,{className:"h-4 w-4"}),xa.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):o&&0!==o.length?xa.jsx("div",{className:"space-y-2",children:o.map((e,a)=>xa.jsx("div",{onClick:()=>(e=>{const a=o?.find(a=>a.url===e);a?.url&&window.open(a.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${d(a)} transition-colors duration-200\n `,children:xa.jsxs("div",{className:"flex items-center justify-between",children:[xa.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&xa.jsx(Re,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):xa.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]}),e?.logos&&xa.jsx("div",{className:"flex justify-center items-center py-4",children:xa.jsx("img",{src:"collapsed"===a?e.logos.collapsed:e.logos.expanded,alt:"Logo",className:"collapsed"===a?"h-8 w-8":"h-12 max-w-full"})})]}),xa.jsx(Wr,{children:xa.jsx(Br,{children:xa.jsx(Qr,{children:xa.jsx(Xr,{children:e?.navigation?.map(e=>{return xa.jsx(Kr,{children:xa.jsx(Yr,{asChild:!0,isActive:(a=e.path,s.pathname===a),children:xa.jsxs(ea,{to:e.path,children:[xa.jsx(e.icon,{}),xa.jsx("span",{children:e.label})]})})},e.path);var a})})})})})]})}function Mn({children:e,sidebar:a,sidebarConfig:t,showHeader:s=!0}){const r=a||xa.jsx($n,{config:t});return xa.jsx(Or,{children:xa.jsxs("div",{className:"min-h-screen flex w-full",children:[r,xa.jsxs("main",{className:"flex-1 flex flex-col min-h-screen",children:[s&&xa.jsx(zn,{}),xa.jsx("div",{className:"flex-1 flex flex-col",children:e})]})]})})}class Ln extends d{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){os.handleError(e,!1),console.error("ErrorBoundary caught an error:",e,a)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:xa.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsxs(qa,{className:"text-center",children:[xa.jsx("div",{className:"flex justify-center mb-4",children:xa.jsx(Pe,{className:"h-12 w-12 text-destructive"})}),xa.jsx(Ha,{children:"Algo deu errado"})]}),xa.jsxs(Xa,{className:"text-center space-y-4",children:[xa.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),xa.jsx(va,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function Un(e,a,r,n){const[o,l]=t({}),[d,c]=t({}),m=i(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),f=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(a){return f(e)}},h=(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(e){}}};s(()=>{if(!n)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},t=e(m),s={};t.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=f(e);s[e.name]=t}),t.forEach(e=>{const a=p(e,s);void 0!==a&&(s[e.name]=a)}),l(s),c({}),r&&r(s)},[m,a,r,n]);const x=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...x(e.fields))}),a},g=()=>{const e=x(m),a={};return e.forEach(e=>{const t=h(e,o[e.name],o);t&&(a[e.name]=t)}),c(a),0===Object.keys(a).length};return{formData:o,errors:d,updateField:(e,a)=>{l(t=>{const s={...t,[e]:a},n=((e,a)=>{let t={...a};const s=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...s(e.fields))}),a};return s(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 r&&r(n),n}),d[e]&&c(a=>{const t={...a};return delete t[e],t});const t=x(m).find(a=>a.name===e);if(t){const s=h(t,a,o);s&&c(a=>({...a,[e]:s}))}},validateForm:g,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),g()&&e(o)}}}var Vn=Object.defineProperty,Wn=(e,a,t)=>((e,a,t)=>a in e?Vn(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const Bn=new class{constructor(){Wn(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=Xt.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 r=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{r.searchParams.append(e,a)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!n.ok)throw new Error(`API call failed: ${n.status} ${n.statusText}`);return await n.json()}mapToQualiexUser(e){return{userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível"}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let s=t;if(t.data)s=t.data;else{if(!Array.isArray(t))return os.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return os.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(e){return os.handleError(e instanceof Error?e:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(e){return os.handleError(e instanceof Error?e:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=Xt.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(os.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}},qn=(e={})=>{const{user:a,alias:t}=ws(),{enabled:s=!0}=e;return Ve({queryKey:["qualiex-users",t],queryFn:()=>Bn.getUsers(t),enabled:s&&!!t&&!!a,retry:2,retryDelay:1e3})},Hn=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:r})=>{const{data:n=[],isLoading:o,error:i}=qn();return o?xa.jsx(rn,{className:ga("h-10 w-full",r)}):i?xa.jsxs("div",{className:`flex items-center gap-2 p-2 border border-destructive/20 rounded-md ${r}`,children:[xa.jsx(y,{className:"h-4 w-4 text-destructive"}),xa.jsx("span",{className:"text-sm text-destructive",children:"Erro ao carregar usuários"})]}):xa.jsxs(nr,{value:e,onValueChange:a,disabled:s||0===n.length,children:[xa.jsx(lr,{className:r,children:xa.jsx(ir,{placeholder:t})}),xa.jsx(mr,{children:0===n.length?xa.jsx(fr,{value:"no-users",disabled:!0,children:"Nenhum usuário encontrado"}):n.map(e=>xa.jsx(fr,{value:e.userId,children:e.userName},e.userId))})]})},Qn=({value:e,onChange:a,placeholder:t="Selecionar responsável",disabled:s,className:r})=>xa.jsxs(nr,{value:e,onValueChange:a,disabled:s,children:[xa.jsx(lr,{className:r,children:xa.jsx(ir,{placeholder:t})}),xa.jsx(mr,{children:xa.jsx(fr,{value:"placeholder",children:"Responsável placeholder"})})]});function Xn({title:e,sections:s,initialData:r,onSubmit:n,onCancel:l,open:d,submitButtonText:c="Salvar",isLoading:m=!1,usersData:u}){const[f,p]=t(s?.[0]?.id||""),h=i(()=>s&&Array.isArray(s)?s.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[s]),{formData:x,errors:g,updateField:b,handleSubmit:v}=Un(h,r,void 0,d),y=i(()=>s&&Array.isArray(s)?s.map(e=>({...e,disabled:e.condition?!e.condition(x):e.disabled||!1})):[],[s,x]),N=i(()=>{const e=y.find(e=>e.id===f);if(e&&!e.disabled)return f;const a=y.find(e=>!e.disabled);return a?.id||f},[y,f]);a.useEffect(()=>{N!==f&&p(N)},[N,f]);const j=y.find(e=>e.id===N),w=e=>{const a=(e.computedValue,x[e.name]),t=void 0!==a?a:"",s=g[e.name];switch(e.type){case"group":return xa.jsxs("div",{className:"space-y-2",children:[e.label,xa.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>w(e))})]},e.name);case"user-select":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Hn,{value:t||"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(jn,{id:e.name,value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsxs(nr,{value:String(t),onValueChange:a=>{b(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[xa.jsx(lr,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:xa.jsx(ir,{placeholder:e.placeholder})}),xa.jsx(mr,{children:e.options?.map(e=>xa.jsx(fr,{value:e.value,children:e.label},e.value))})]}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Ga,{id:e.name,type:"date",value:String(t),onChange:a=>b(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:ga("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Qn,{value:String(t),onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Hn,{value:t??"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return xa.jsxs("div",{children:[xa.jsxs(Ja,{htmlFor:e.name,children:[e.label," ",e.required&&xa.jsx("span",{className:"text-destructive",children:"*"})]}),xa.jsx(Ga,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>b(e.name,a.target.value),className:"h-10"}),s&&xa.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return xa.jsxs("div",{children:[xa.jsx(st,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>b(e.name,a)}),s&&xa.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return xa.jsxs("div",{children:[xa.jsx(Us,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>b(e.name,a)}),s&&xa.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Ga,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);b(e.name,s)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,min:e.min,step:e.step||"1"}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return xa.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[xa.jsx(Ja,{htmlFor:e.name,children:e.label}),xa.jsx(Ga,{id:e.name,type:"text",value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,readOnly:e.disabled}),s&&xa.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},k=o(()=>{if(!j)return null;if(j.disabled)return xa.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[xa.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:xa.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:xa.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),xa.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),xa.jsx("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(j.component){const e=j.component;return xa.jsx(e,{formData:x,updateField:b,errors:g,users:u,disabled:j.disabled})}return xa.jsx("div",{className:"space-y-3",children:j.fields.map(w)})},[j,x,b,g,u,w]),S=xa.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[y.length>1&&xa.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:xa.jsx("div",{className:"flex space-x-2",children:y.map(e=>xa.jsx(va,{variant:N===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=y.find(a=>a.id===e);a&&!a.disabled&&p(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),xa.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:m?xa.jsx("div",{className:"flex items-center justify-center py-12",children:xa.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):xa.jsxs("form",{onSubmit:v(n),className:"space-y-3 md:space-y-4",children:[k(),xa.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[xa.jsx(va,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),xa.jsx(va,{type:"submit",disabled:m,children:c})]})]})})]});return xa.jsx(ht,{open:d,onOpenChange:e=>{!1===e&&!0===d&&l()},children:xa.jsxs(yt,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[xa.jsxs(Nt,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[xa.jsx(wt,{className:"text-white",children:e}),xa.jsx(kt,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),S]})})}function Kn(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function Gn(e){return(a,t)=>{let s;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,r=t?.width?String(t.width):a;s=e.formattingValues[r]||e.formattingValues[a]}else{const a=e.defaultWidth,r=t?.width?String(t.width):e.defaultWidth;s=e.values[r]||e.values[a]}return s[e.argumentCallback?e.argumentCallback(a):a]}}function Yn(e){return(a,t={})=>{const s=t.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=a.match(r);if(!n)return null;const o=n[0],i=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(i)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(i,e=>e.test(o)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(i,e=>e.test(o));let d;d=e.valueCallback?e.valueCallback(l):l,d=t.valueCallback?t.valueCallback(d):d;return{value:d,rest:a.slice(o.length)}}}const Jn={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"}},Zn={date:Kn({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:Kn({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Kn({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},eo={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"};var ao;const to={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=Jn[e];return s="string"==typeof r?r:1===a?r.one:r.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+s:"há "+s:s},formatLong:Zn,formatRelative:(e,a,t,s)=>{const r=eo[e];return"function"==typeof r?r(a):r},localize:{ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:Gn({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:Gn({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:Gn({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:Gn({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:Gn({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"})},match:{ordinalNumber:(ao={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(ao.matchPattern);if(!t)return null;const s=t[0],r=e.match(ao.parsePattern);if(!r)return null;let n=ao.valueCallback?ao.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:Yn({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:Yn({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:Yn({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:Yn({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:Yn({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"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},so=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const o=[];if(e){const a={icon:ne,label:"Editar",onClick:e};o.push(a)}if(t){const e={icon:s?_e:Ae,label:s?"Inativar":"Ativar",onClick:t};o.push(e)}if(r&&a){const e={icon:re,label:"Remover",onClick:a,destructive:!0};o.push(e)}return"dropdown"===n?xa.jsx(xa.Fragment,{children:o.map((e,a)=>xa.jsxs(Ot,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[xa.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):xa.jsx(xa.Fragment,{children:o.map((e,a)=>xa.jsxs(va,{variant:"ghost",size:"sm",onClick:e.onClick,className:"w-full justify-start h-auto py-2 px-3 text-sm font-normal "+(e.destructive?"text-destructive hover:text-destructive":""),children:[xa.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},ro=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>xa.jsxs(St,{children:[xa.jsx(Ct,{asChild:!0,children:xa.jsx(va,{variant:"default",size:"sm",className:"h-7 px-2 text-xs bg-primary text-primary-foreground hover:bg-primary/90",children:xa.jsx(Ie,{size:12})})}),xa.jsx(It,{align:"end",children:xa.jsx(so,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]});function no({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?xa.jsx(Fs,{children:Array.from({length:3}).map((e,a)=>xa.jsxs(Ba,{children:[xa.jsxs(qa,{children:[xa.jsx(rn,{className:"h-4 w-3/4"}),xa.jsx(rn,{className:"h-3 w-1/2"})]}),xa.jsx(Xa,{children:xa.jsxs("div",{className:"space-y-2",children:[xa.jsx(rn,{className:"h-3 w-full"}),xa.jsx(rn,{className:"h-3 w-2/3"})]})})]},a))}):xa.jsx(ft.Root,{children:e.entities.map(e=>xa.jsxs(ft.Item,{onClick:()=>t(e),children:[xa.jsx(qa,{className:"pb-3",children:xa.jsxs("div",{className:"flex items-start justify-between",children:[xa.jsxs("div",{className:"flex-1 min-w-0",children:[xa.jsx(Ha,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),xa.jsx(Qa,{className:"text-sm",children:oa(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:to})})]}),xa.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&xa.jsx(va,{variant:"external-link",size:"icon-xs",onClick:a=>{a.stopPropagation(),(e=>{try{const a=window.open(e,"_blank");a&&!a.closed&&void 0!==a.closed||(navigator.clipboard.writeText(e),ra.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:xa.jsx(Re,{className:"h-4 w-4"})}),xa.jsx("div",{onClick:e=>e.stopPropagation(),children:xa.jsx(ro,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),xa.jsx(Xa,{className:"pt-0",children:xa.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?xa.jsx(ft.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})}const oo=({manager:e,columns:a,onEdit:r,onView:n,onToggleStatus:o,onDelete:i,renderActions:l})=>{const[d,c]=t(!1),[m,u]=t(null);s(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),s(()=>{const e=()=>u(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);return d?e.isLoading?xa.jsx(on,{count:3}):0===e.entities.length?xa.jsx(Ut,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):xa.jsxs("div",{className:"space-y-4",children:[e.entities.map(e=>xa.jsx(Ba,{className:"overflow-hidden cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),r?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:xa.jsxs(Xa,{className:"p-4",children:[a.map(a=>xa.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[xa.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[a.header,":"]}),xa.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:a.render?a.render(e):e[a.key]})]},a.key)),(r||n||l)&&xa.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(e):xa.jsx(ro,{onEdit:r?()=>{r(e)}:void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:o?()=>o(e):void 0,isActive:e.is_actived})})]})},e.id)),m&&xa.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:m.x,top:m.y},onClick:e=>e.stopPropagation(),children:xa.jsx(so,{onEdit:r?()=>{r(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:o?()=>{o(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]}):xa.jsxs("div",{className:"space-y-4",children:[e.isLoading?xa.jsx(nn,{rows:5,columns:a.length}):0===e.entities.length?xa.jsx(Ut,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):xa.jsxs(hn,{children:[xa.jsx(xn,{children:xa.jsxs(bn,{children:[a.map(a=>{return xa.jsx(vn,{className:`${a.className||""} ${a.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:a.sortable?()=>e.handleSort(a.key):void 0,children:xa.jsxs("div",{className:"flex items-center "+(a.className?.includes("text-center")?"justify-center":""),children:[a.header,a.sortable&&(t=a.key,e.sortField!==t?xa.jsx(Oe,{size:14,className:"ml-1 opacity-50"}):"asc"===e.sortDirection?xa.jsx(J,{size:14,className:"ml-1"}):xa.jsx(Y,{size:14,className:"ml-1"}))]})},a.key);var t}),xa.jsx(vn,{className:"w-[100px] text-center",children:"Ações"})]})}),xa.jsx(gn,{children:e.entities.map(e=>xa.jsxs(bn,{className:"cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),r?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:[a.map(a=>xa.jsx(yn,{className:a.className,children:a.render?a.render(e):e[a.key]},a.key)),xa.jsx(yn,{className:"text-center",children:l?l(e):xa.jsx(ro,{onEdit:r?()=>r(e):void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:o?()=>o(e):void 0,isActive:e.is_actived})})]},e.id))})]}),m&&xa.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:m.x,top:m.y},onClick:e=>e.stopPropagation(),children:xa.jsx(so,{onEdit:r?()=>{r(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:o?()=>{o(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]})};function io({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return xa.jsx(Xn,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const lo=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:o=0,totalPages:i=1}=a,l=o>0?(t-1)*s+1:0,d=Math.min(t*s,o);return xa.jsxs("div",{className:"px-4 py-3 flex items-center justify-between text-sm text-muted-foreground bg-muted/50 border-t border-border flex-shrink-0 mt-auto",children:[xa.jsxs("div",{className:"flex items-center space-x-3",children:[xa.jsx("span",{children:"Itens por página"}),xa.jsxs(nr,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[xa.jsx(lr,{className:"w-20 h-8 border-border",children:xa.jsx(ir,{})}),xa.jsxs(mr,{children:[xa.jsx(fr,{value:"10",children:"10"}),xa.jsx(fr,{value:"25",children:"25"}),xa.jsx(fr,{value:"50",children:"50"}),xa.jsx(fr,{value:"100",children:"100"})]})]})]}),xa.jsx("div",{className:"flex-1 flex justify-center",children:xa.jsx("span",{children:o>0?`${l}-${d} de ${o} itens (página ${t} de ${i})`:"0 itens"})}),xa.jsxs("div",{className:"flex items-center space-x-1",children:[xa.jsx(va,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:xa.jsx(De,{className:"h-4 w-4"})}),xa.jsx(va,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:xa.jsx(Z,{className:"h-4 w-4"})}),xa.jsx(va,{variant:"outline",size:"sm",onClick:()=>r(Math.min(i,t+1)),disabled:t===i,children:xa.jsx(h,{className:"h-4 w-4"})}),xa.jsx(va,{variant:"outline",size:"sm",onClick:()=>r(i),disabled:t===i,children:xa.jsx(ze,{className:"h-4 w-4"})})]})]})};function co({manager:e,config:a,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const[l,d]=t(!1),[c,m]=t(null),[u,f]=t({isOpen:!1,entityId:null,entityName:""}),p=e=>{m(e),d(!0)},h=()=>{d(!1),m(null)},x=e=>{r(e),d(!1),m(null)},g=e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})};return xa.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[xa.jsx("div",{className:"flex justify-between items-center px-4 py-1.5 bg-muted/50",children:xa.jsx("div",{className:"flex items-center gap-4",children:xa.jsxs(va,{onClick:()=>{m(null),d(!0)},className:"flex items-center gap-2",children:[xa.jsx(se,{size:16}),"Novo"]})})}),xa.jsx("div",{className:"flex-1 overflow-hidden",children:o?xa.jsx(o,{manager:e,onEdit:p,onDelete:g,onToggleStatus:i}):xa.jsx("div",{className:"flex flex-col h-full",children:xa.jsx("div",{className:"flex-1 overflow-auto",children:xa.jsx(oo,{manager:e,columns:a.columns,onEdit:p,onDelete:g,onToggleStatus:i})})})}),xa.jsx(lo,{manager:e}),n?xa.jsx(n,{open:l,onCancel:h,onSubmit:x,editingEntity:c,isLoading:e.isLoading}):xa.jsx(io,{open:l,title:c?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:s,initialData:c||void 0,onSubmit:x,onCancel:h,isLoading:e.isLoading,submitButtonText:c?"Atualizar":"Criar"}),xa.jsx(pt,{open:u.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:a=>{u.entityId&&(e.deleteEntity(u.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:u.entityId?{id:u.entityId,title:u.entityName}:void 0,entityName:a.entityName,isDeleting:e.isDeleting})]})}function mo({manager:e,filters:a}){const{isSearchVisible:t}=ws(),s=e.searchTerm;return xa.jsx(pn,{direction:"column",gap:"md",className:"mb-6",children:xa.jsxs(pn,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[a.some(e=>"search"===e.type)&&!t&&xa.jsxs("div",{className:"relative flex-1",children:[xa.jsx(N,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),xa.jsx(Ga,{placeholder:"Buscar...",value:e.searchTerm,onChange:a=>e.handleSearch(a.target.value),className:"pl-10"})]}),a.filter(e=>"custom"===e.type&&e.component).map((e,a)=>{const t=e.component;return xa.jsx("div",{className:"w-full sm:w-auto",children:xa.jsx(t,{...e.props})},a)}),s&&xa.jsxs(va,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[xa.jsx(g,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})}function uo({queryKey:e,service:a,entityName:t,searchFields:s,additionalFilters:r={},onSuccess:n}){const[l,d]=Ze(),c=Ue(),m=l.get("search")||"",u=l.get("sortField")||hs.sorting.defaultField,f=l.get("sortDirection")||hs.sorting.defaultDirection,p=parseInt(l.get("page")||"1"),h=parseInt(l.get("limit")||String(hs.pagination.defaultPageSize)),x=m,g=i(()=>({search:x,sortField:u,sortDirection:f,page:p,limit:h,...r}),[x,u,f,p,h,r]),b=o(()=>a.getAll(g),[a,g]),v=Ve({queryKey:[e,g],queryFn:b}),y=We({mutationFn:a.create,onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),ra.success(vs.success.created(t)),n?.()},onError:e=>{ra.error(`${vs.error.create(t)}: ${e.message}`)}}),N=We({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),ra.success(vs.success.updated(t)),n?.()},onError:e=>{ra.error(`${vs.error.update(t)}: ${e.message}`)}}),j=We({mutationFn:a.delete,onSuccess:()=>{c.invalidateQueries({queryKey:[e]}),ra.success(vs.success.deleted(t))},onError:e=>{ra.error(`${vs.error.delete(t)}: ${e.message}`)}}),w=o(e=>{const a={...Object.fromEntries(l)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),d(a)},[l,d]),k=o(e=>{w({search:e,page:1})},[w]),S=o(e=>{w({sortField:e,sortDirection:u===e&&"asc"===f?"desc":"asc",page:1})},[u,f,w]),C=o(e=>{w({page:e})},[w]),T=o(e=>{w({limit:e,page:1})},[w]),E=o(()=>{d({})},[d]);return{entities:v.data?.data||[],pagination:{currentPage:v.data?.currentPage||1,totalPages:v.data?.totalPages||1,totalItems:v.data?.totalItems||0,itemsPerPage:v.data?.itemsPerPage||hs.pagination.defaultPageSize,hasNextPage:v.data?.hasNextPage||!1,hasPreviousPage:v.data?.hasPreviousPage||!1},isLoading:v.isLoading,isCreating:y.isPending,isUpdating:N.isPending,isDeleting:j.isPending,error:v.error,searchTerm:m,sortField:u,sortDirection:f,currentPage:p,itemsPerPage:h,createEntity:y.mutate,updateEntity:(e,a)=>N.mutate({id:e,data:a}),deleteEntity:j.mutate,handleSearch:k,handleSort:S,handlePageChange:C,handleItemsPerPageChange:T,clearFilters:E,refetch:v.refetch}}function fo({manager:e,config:a,formSections:t,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const{setSearchVisible:l,refreshData:d}=ws();return s(()=>(l(!0),()=>{l(!1)}),[l]),xa.jsx(co,{manager:e,config:a,formSections:t,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i})}function po({open:e,onCancel:a,onSubmit:t,editingEntity:s,isLoading:r=!1,title:n,editTitle:o,sections:i,transformData:l}){const{alias:d}=ws();return xa.jsx(io,{open:e,title:s?o:n,sections:i,initialData:s,onSubmit:e=>{if(l){const a=l(e,d||"");t(a)}else{const a={...e,alias:d||""};s?.id&&(a.id=s.id),t(a)}},onCancel:a,isLoading:r,submitButtonText:s?"Atualizar":"Salvar"})}const ho=({children:e})=>{const{isAuthenticated:t,isLoading:s}=ws();if(s)return xa.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsx(qa,{className:"text-center",children:xa.jsx(Ha,{className:"text-xl font-semibold",children:"Carregando..."})}),xa.jsxs(Xa,{className:"text-center",children:[xa.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),xa.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!t){return new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token")?xa.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsx(qa,{className:"text-center",children:xa.jsx(Ha,{className:"text-xl font-semibold",children:"Processando..."})}),xa.jsxs(Xa,{className:"text-center",children:[xa.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),xa.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}):(a.useEffect(()=>{(async()=>{gs()?await ys.loginDev():ys.loginProd()})()},[]),xa.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsx(qa,{className:"text-center",children:xa.jsx(Ha,{className:"text-xl font-semibold",children:"Iniciando..."})}),xa.jsxs(Xa,{className:"text-center",children:[xa.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),xa.jsx("p",{className:"text-muted-foreground",children:gs()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})}))}return xa.jsx(xa.Fragment,{children:e})},xo=()=>{const{processCallback:e}=ws(),[a,r]=t(null),[n,o]=t(!1);s(()=>{(async()=>{try{console.log("🔄 [CallbackPage] Iniciando processamento do callback...");if(await e()){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 r("Falha na autenticação. Tente novamente.")}catch(e){console.error("❌ [CallbackPage] Erro no processamento:",e),r(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[e]);const i=async()=>{o(!0),r(null);try{await e()||r("Falha na autenticação. Tente novamente.")}catch(e){r(e?.message||"Erro ao tentar novamente.")}finally{o(!1)}},l=()=>{window.location.href="/"};return a?xa.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsx(qa,{className:"text-center",children:xa.jsxs(Ha,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[xa.jsx(y,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),xa.jsxs(Xa,{className:"space-y-4",children:[xa.jsx(Aa,{variant:"destructive",children:xa.jsx(Oa,{children:a})}),xa.jsx("div",{className:"text-sm text-muted-foreground",children:xa.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),xa.jsxs("div",{className:"flex gap-2",children:[xa.jsx(va,{onClick:i,disabled:n,className:"flex-1",children:n?xa.jsxs(xa.Fragment,{children:[xa.jsx(Qs,{size:"sm",className:"mr-2"}),"Tentando..."]}):xa.jsxs(xa.Fragment,{children:[xa.jsx(Ce,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),xa.jsx(va,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):xa.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:xa.jsxs(Ba,{className:"w-full max-w-md",children:[xa.jsx(qa,{className:"text-center",children:xa.jsx(Ha,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),xa.jsxs(Xa,{className:"text-center",children:[xa.jsx("div",{className:"flex justify-center mb-4",children:xa.jsx(Qs,{size:"lg"})}),xa.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})};class go{static async extractTokenData(){const e=Xt.extractTokenData();return e||(os.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return os.handleError(`[QualiexEnrichment.${a.entityName}] Nenhuma entidade encontrada`,!1),e;try{const t=await this.extractTokenData();if(!t)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=t;if(!s||!r)return os.handleError(`[QualiexEnrichment.${a.entityName}] DADOS OBRIGATÓRIOS FALTANDO - alias: ${!!s}, companyId: ${!!r}`,!1),e.map(e=>({...e,responsible_name:e.id_user?`Configuração incompleta (alias: ${!!s}, companyId: ${!!r})`:null}));const n=await Bn.getUsers(s),o=e.map(e=>{if(e.id_user){const a=n.find(a=>a.userId===e.id_user);return{...e,responsible_name:a?.userName||`ID não encontrado: ${e.id_user}`}}return{...e,responsible_name:null}});o.filter(e=>e.responsible_name&&!e.responsible_name.includes("ID não encontrado")&&!e.responsible_name.includes("Erro:")&&!e.responsible_name.includes("Token não encontrado")&&!e.responsible_name.includes("Configuração incompleta")).length;return o}catch(t){return os.handleError(t instanceof Error?t:`[QualiexEnrichment.${a.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${t.message}`:null}))}}}const bo=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(bo);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=bo(s);return a}return e},vo=e=>{if(!e)return"";const a=ia(e);if(!la(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},yo=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},No=["responsible_name"];function jo(e,a,t){const s="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,schemaName:o,entityName:i}=s,l=()=>fs().schema(o).from(r);return{async getAll(e={}){const{search:a="",sortField:t="updated_at",sortDirection:s="desc",page:o=1,limit:d=25,...c}=e;let m=l().select("*",{count:"exact"});m=m.eq("is_removed",!1),Object.entries(c).forEach(([e,a])=>{null!=a&&""!==a&&(m=Array.isArray(a)?m.in(e,a):"object"==typeof a&&a&&"operator"in a&&"not_null"===a.operator?m.not(e,"is",null):m.eq(e,a))}),m=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(m,a),m=m.order(t,{ascending:"asc"===s}),m=((e,a,t)=>{const s=(a-1)*t,r=s+t-1;return e.range(s,r)})(m,o,d);const{data:u,error:f,count:p}=await m;if(f)throw new Error(`Error fetching ${r}: ${f.message}`);let h=((e,a,t,s)=>{const r=Math.ceil((a||0)/s);return{data:e,currentPage:t,totalPages:r,totalItems:a||0,itemsPerPage:s,hasNextPage:t<r,hasPreviousPage:t>1}})(u||[],p,o,d);if(i&&h.data.length>0){if(t&&(x=t,No.includes(x))){const a={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},r=await this.getAll(a);if(!r?.data?.length)return r;const n=((e,a,t)=>[...e].sort((e,s)=>{const r=e[a]||"",n=s[a]||"",o=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?o:-o}))(await go.enrichWithResponsibleNames(r.data,{entityName:i}),t,s),l=((e,a=1,t=25)=>{const s=(a-1)*t,r=s+t,n=e.slice(s,r);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:r<e.length,hasPreviousPage:a>1}}})(n,o,d);return{data:l.data,currentPage:l.pagination.currentPage,totalPages:l.pagination.totalPages,totalItems:l.pagination.totalItems,itemsPerPage:l.pagination.itemsPerPage,hasNextPage:l.pagination.hasNextPage,hasPreviousPage:l.pagination.hasPreviousPage}}const a=await go.enrichWithResponsibleNames(h.data,{entityName:i});h={...h,data:a}}var x;return h},async getById(e){const{data:a,error:t}=await l().select("*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${r}: ${t.message}`);return a},async create(e){const a=bo(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:s,error:n}=await l().insert(t).select().single();if(n)throw new Error(`Error creating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from create ${r} operation`);return s},async update(e,a){const t={...bo(a),updated_at:(new Date).toISOString()},{data:s,error:n}=await l().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from update ${r} operation`);return s},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await l().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${r}: ${t.message}`)}}}function wo(e){return{queryClient:e.queryClient||new Be({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}export{ps as AUTH_CONFIG,so as ActionMenuItems,Aa as Alert,Oa as AlertDescription,ya as AlertDialog,Ra as AlertDialogAction,Pa as AlertDialogCancel,ka as AlertDialogContent,Ea as AlertDialogDescription,Ca as AlertDialogFooter,Sa as AlertDialogHeader,wa as AlertDialogOverlay,ja as AlertDialogPortal,Ta as AlertDialogTitle,Na as AlertDialogTrigger,Ia as AlertTitle,zn as AppHeader,Mn as AppLayout,$n as AppSidebar,js as AuthProvider,ys as AuthService,za as Badge,fo as BaseCrudPage,Fa as Breadcrumb,Wa as BreadcrumbEllipsis,Ma as BreadcrumbItem,La as BreadcrumbLink,$a as BreadcrumbList,Ua as BreadcrumbPage,Va as BreadcrumbSeparator,va as Button,hs as CRUD_CONFIG,xo as CallbackPage,Ba as Card,Xa as CardContent,Qa as CardDescription,Ka as CardFooter,qa as CardHeader,on as CardSkeleton,Ha as CardTitle,st as ColorPicker,rt as Command,nt as CommandDialog,lt as CommandEmpty,dt as CommandGroup,ot as CommandInput,mt as CommandItem,it as CommandList,ct as CommandSeparator,ut as CommandShortcut,no as CrudCards,io as CrudForm,co as CrudPage,oo as CrudTable,ft as DataList,ht as Dialog,bt as DialogClose,yt as DialogContent,kt as DialogDescription,jt as DialogFooter,Nt as DialogHeader,vt as DialogOverlay,gt as DialogPortal,wt as DialogTitle,xt as DialogTrigger,St as DropdownMenu,Dt as DropdownMenuCheckboxItem,It as DropdownMenuContent,Tt as DropdownMenuGroup,Ot as DropdownMenuItem,Ft as DropdownMenuLabel,Et as DropdownMenuPortal,Pt as DropdownMenuRadioGroup,zt as DropdownMenuRadioItem,$t as DropdownMenuSeparator,Mt as DropdownMenuShortcut,Rt as DropdownMenuSub,At as DropdownMenuSubContent,_t as DropdownMenuSubTrigger,Ct as DropdownMenuTrigger,Ut as EmptyState,Ln as ErrorBoundary,ks as FeedbackDialog,mo as FilterBar,Ss as Form,As as FormControl,Is as FormDescription,Ts as FormField,Ps as FormItem,_s as FormLabel,Os as FormMessage,ln as FormSkeleton,po as GenericEntityForm,Fs as Grid,dn as HeaderSkeleton,Us as IconPicker,Ga as Input,Vs as InputOTP,Ws as InputOTPGroup,qs as InputOTPSeparator,Bs as InputOTPSlot,Ja as Label,Xs as LoadingState,vs as MESSAGES,Ks as ModuleSelector,Gs as PageBreadcrumb,Js as Pagination,Zs as PaginationContent,rr as PaginationEllipsis,er as PaginationItem,ar as PaginationLink,sr as PaginationNext,tr as PaginationPrevious,Za as Popover,at as PopoverContent,et as PopoverTrigger,ho as ProtectedRoute,bs as QUERY_KEYS,go as QualiexEnrichmentService,Qn as QualiexResponsibleSelectField,Hn as QualiexUserField,xs as SEARCH_CONFIG,$s as ScrollArea,Ms as ScrollBar,nr as Select,mr as SelectContent,or as SelectGroup,fr as SelectItem,ur as SelectLabel,cr as SelectScrollDownButton,dr as SelectScrollUpButton,pr as SelectSeparator,lr as SelectTrigger,ir as SelectValue,hr as Separator,xr as Sheet,br as SheetClose,jr as SheetContent,Cr as SheetDescription,kr as SheetFooter,wr as SheetHeader,yr as SheetOverlay,vr as SheetPortal,Sr as SheetTitle,gr as SheetTrigger,Dr as Sidebar,Wr as SidebarContent,Ur as SidebarFooter,Br as SidebarGroup,Hr as SidebarGroupAction,Qr as SidebarGroupContent,qr as SidebarGroupLabel,Lr as SidebarHeader,Mr as SidebarInput,$r as SidebarInset,Xr as SidebarMenu,Jr as SidebarMenuAction,Zr as SidebarMenuBadge,Yr as SidebarMenuButton,Kr as SidebarMenuItem,en as SidebarMenuSkeleton,an as SidebarMenuSub,sn as SidebarMenuSubButton,tn as SidebarMenuSubItem,Or as SidebarProvider,Fr as SidebarRail,Vr as SidebarSeparator,cn as SidebarSkeleton,zr as SidebarTrigger,rn as Skeleton,Qs as Spinner,pn as Stack,hn as Table,gn as TableBody,Nn as TableCaption,yn as TableCell,lo as TableFooter,vn as TableHead,xn as TableHeader,bn as TableRow,ro as TableRowActions,nn as TableSkeleton,jn as Textarea,Cn as Toast,Tn as ToastAction,En as ToastClose,Pn as ToastDescription,wn as ToastProvider,Rn as ToastTitle,kn as ToastViewport,_n as Toaster,Xt as TokenManager,Er as Tooltip,Pr as TooltipContent,Tr as TooltipProvider,Rr as TooltipTrigger,Da as badgeVariants,ba as buttonVariants,ga as cn,jo as createService,yo as debounce,os as errorService,vo as formatDatetime,fs as getSupabaseClient,gs as isDevEnvironment,Bn as qualiexApi,wo as setupQualiexCore,ts as toast,bo as trimTextFields,Fn as useActiveModules,ws as useAuth,Un as useBaseForm,uo as useCrud,Dn as useDebounce,Es as useFormField,In as usePageTitle,qn as useQualiexUsers,Ys as useRouteBreadcrumbs,Ir as useSidebar,ss as useToast};
11
11
  //# sourceMappingURL=index.esm.js.map