forlogic-core 1.0.5 → 1.0.7

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.js CHANGED
@@ -7,5 +7,5 @@
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 U(){return M||(M=1,"production"!==process.env.NODE_ENV&&function(){var a=e,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"),p=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),x=Symbol.iterator;var h=a.__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=h.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 p:var t=e,f=t._payload,x=t._init;try{return y(x(f))}catch(e){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,S,k,C,T,P=Object.assign,A=0;function E(){}E.__reactDisabledLog=!0;var R,I=h.ReactCurrentDispatcher;function _(e,a,t){if(void 0===R)try{throw Error()}catch(e){var s=e.stack.trim().match(/\n( *(at )?)/);R=s&&s[1]||""}return"\n"+R+e}var D,O=!1,F="function"==typeof WeakMap?WeakMap:Map;function z(e,a){if(!e||O)return"";var t,s=D.get(e);if(void 0!==s)return s;O=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=I.current,I.current=null,function(){if(0===A){N=console.log,j=console.info,w=console.warn,S=console.error,k=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:E,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}();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&&D.set(e,m),m}}while(d>=1&&c>=0);break}}}finally{O=!1,I.current=r,function(){if(0===--A){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:P({},e,{value:N}),info:P({},e,{value:j}),warn:P({},e,{value:w}),error:P({},e,{value:S}),group:P({},e,{value:k}),groupCollapsed:P({},e,{value:C}),groupEnd:P({},e,{value:T})})}A<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:"",p=u?_(u):"";return"function"==typeof e&&D.set(e,p),p}function M(e,a,t){if(null==e)return"";if("function"==typeof e)return z(e,!(!(s=e.prototype)||!s.isReactComponent));var s;if("string"==typeof e)return _(e);switch(e){case c:return _("Suspense");case m:return _("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return z(e.render,!1);case u:return M(e.type,a,t);case p:var r=e,n=r._payload,o=r._init;try{return M(o(n),a,t)}catch(e){}}return""}D=new F;var $=Object.prototype.hasOwnProperty,U={},B=h.ReactDebugCurrentFrame;function q(e){if(e){var a=e._owner,t=M(e.type,e._source,a?a.type:null);B.setExtraStackFrame(t)}else B.setExtraStackFrame(null)}var V=Array.isArray;function W(e){return V(e)}function H(e){return""+e}function Q(e){if(function(e){try{return H(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)),H(e)}var G,X,K=h.ReactCurrentOwner,Y={key:!0,ref:!0,__self:!0,__source:!0};function J(e,a,s,r,n){var o,i={},l=null,d=null;for(o in void 0!==s&&(Q(s),l=""+s),function(e){if($.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(Q(a.key),l=""+a.key),function(e){if($.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)$.call(a,o)&&!Y.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(){G||(G=!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 Z,ee=h.ReactCurrentOwner,ae=h.ReactDebugCurrentFrame;function te(e){if(e){var a=e._owner,t=M(e.type,e._source,a?a.type:null);ae.setExtraStackFrame(t)}else ae.setExtraStackFrame(null)}function se(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function re(){if(ee.current){var e=y(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Z=!1;var ne={};function oe(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=re();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(!ne[t]){ne[t]=!0;var s="";e&&e._owner&&e._owner!==ee.current&&(s=" It was passed a child from "+y(e._owner.type)+"."),te(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),te(null)}}}function ie(e,a){if("object"==typeof e)if(W(e))for(var t=0;t<e.length;t++){var s=e[t];se(s)&&oe(s,a)}else if(se(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=x&&e[x]||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;)se(n.value)&&oe(n.value,a)}}function le(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($);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||(q(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),q(null)),i instanceof Error&&!(i.message in U)&&(U[i.message]=!0,q(r),g("Failed %s type: %s",t,i.message),q(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!Z){Z=!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 de={};function ce(e,a,s,x,h,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===c||e===m||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||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+=re(),null===e?w="null":W(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 S=J(e,a,s,h,v);if(null==S)return S;if(N){var k=a.children;if(void 0!==k)if(x)if(W(k)){for(var C=0;C<k.length;C++)ie(k[C],e);Object.freeze&&Object.freeze(k)}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 ie(k,e)}if($.call(a,"key")){var T=y(e),P=Object.keys(a).filter(function(e){return"key"!==e}),A=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!de[T+A])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} />',A,T,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",T),de[T+A]=!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){te(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),te(null);break}}null!==e.ref&&(te(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),te(null))}(S):le(S),S}var me=function(e,a,t){return ce(e,a,t,!1)},ue=function(e,a,t){return ce(e,a,t,!0)};L.Fragment=r,L.jsx=me,L.jsxs=ue}()),L}var B=($||($=1,"production"===process.env.NODE_ENV?F.exports=function(){if(S)return z;S=1;var a=e,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=a.__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 z.Fragment=s,z.jsx=i,z.jsxs=i,z}():F.exports=U()),F.exports);function q(...e){return s.twMerge(t.clsx(e))}const V=n.cva("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"}}),W=k.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...n},o)=>{const i=s?r.Slot:"button";return B.jsx(i,{className:q(V({variant:a,size:t,className:e})),ref:o,...n})});W.displayName="Button";const H=C.Root,Q=C.Trigger,G=C.Portal,X=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Overlay,{className:q("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}));X.displayName=C.Overlay.displayName;const K=k.forwardRef(({className:e,...a},t)=>B.jsxs(G,{children:[B.jsx(X,{}),B.jsx(C.Content,{ref:t,className:q("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})]}));K.displayName=C.Content.displayName;const Y=({className:e,...a})=>B.jsx("div",{className:q("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});Y.displayName="AlertDialogHeader";const J=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});J.displayName="AlertDialogFooter";const Z=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Title,{ref:t,className:q("text-lg font-semibold",e),...a}));Z.displayName=C.Title.displayName;const ee=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));ee.displayName=C.Description.displayName;const ae=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Action,{ref:t,className:q(V(),e),...a}));ae.displayName=C.Action.displayName;const te=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Cancel,{ref:t,className:q(V({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));te.displayName=C.Cancel.displayName;const se=n.cva("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"}}),re=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx("div",{ref:s,role:"alert",className:q(se({variant:a}),e),...t}));re.displayName="Alert";const ne=k.forwardRef(({className:e,...a},t)=>B.jsx("h5",{ref:t,className:q("mb-1 font-medium leading-none tracking-tight",e),...a}));ne.displayName="AlertTitle";const oe=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("text-sm [&_p]:leading-relaxed",e),...a}));oe.displayName="AlertDescription";const ie=n.cva("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"}}),le=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx("div",{ref:s,className:q(ie({variant:a}),e),...t}));le.displayName="Badge";const de=k.forwardRef(({...e},a)=>B.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));de.displayName="Breadcrumb";const ce=k.forwardRef(({className:e,...a},t)=>B.jsx("ol",{ref:t,className:q("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));ce.displayName="BreadcrumbList";const me=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,className:q("inline-flex items-center gap-1.5",e),...a}));me.displayName="BreadcrumbItem";const ue=k.forwardRef(({asChild:e,className:a,...t},s)=>{const r=e?k.Fragment:"a";return B.jsx(r,{ref:s,className:q("transition-colors hover:text-foreground",a),...t})});ue.displayName="BreadcrumbLink";const pe=k.forwardRef(({className:e,...a},t)=>B.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:q("font-normal text-foreground",e),...a}));pe.displayName="BreadcrumbPage";const fe=({children:e,className:a,...t})=>B.jsx("li",{role:"presentation","aria-hidden":"true",className:q("[&>svg]:size-3.5",a),...t,children:e??B.jsx(o.ChevronRight,{})});fe.displayName="BreadcrumbSeparator";const xe=({className:e,...a})=>B.jsxs("span",{role:"presentation","aria-hidden":"true",className:q("flex h-9 w-9 items-center justify-center",e),...a,children:[B.jsx(o.MoreHorizontal,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"More"})]});xe.displayName="BreadcrumbEllipsis";const he=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));he.displayName="Card";const ge=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex flex-col space-y-1.5 p-6",e),...a}));ge.displayName="CardHeader";const be=k.forwardRef(({className:e,...a},t)=>B.jsx("h3",{ref:t,className:q("text-2xl font-semibold leading-none tracking-tight",e),...a}));be.displayName="CardTitle";const ve=k.forwardRef(({className:e,...a},t)=>B.jsx("p",{ref:t,className:q("text-sm text-muted-foreground",e),...a}));ve.displayName="CardDescription";const ye=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("p-6 pt-0",e),...a}));ye.displayName="CardContent";const Ne=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex items-center p-6 pt-0",e),...a}));Ne.displayName="CardFooter";const je=k.forwardRef(({className:e,type:a,...t},s)=>B.jsx("input",{type:a,className:q("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}));je.displayName="Input";const we=n.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Se=k.forwardRef(({className:e,...a},t)=>B.jsx(T.Root,{ref:t,className:q(we(),e),...a}));Se.displayName=T.Root.displayName;const ke=P.Root,Ce=P.Trigger,Te=k.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>B.jsx(P.Portal,{children:B.jsx(P.Content,{ref:r,align:a,sideOffset:t,className:q("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})}));Te.displayName=P.Content.displayName;const Pe=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Ae=({value:e="#3b82f6",onChange:a,label:t})=>B.jsxs("div",{className:"space-y-2",children:[t&&B.jsx(Se,{children:t}),B.jsxs(ke,{children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[B.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),B.jsx(Te,{className:"w-64",children:B.jsxs("div",{className:"space-y-3",children:[B.jsxs("div",{children:[B.jsx(Se,{htmlFor:"color-input",children:"Cor personalizada"}),B.jsx(je,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),B.jsxs("div",{children:[B.jsx(Se,{children:"Cores predefinidas"}),B.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Pe.map(e=>B.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))})]})]})})]})]}),Ee=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));Ee.displayName="Command";const Re=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:B.jsx("input",{ref:t,className:q("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})}));Re.displayName="CommandInput";const Ie=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));Ie.displayName="CommandList";const _e=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("py-6 text-center text-sm text-muted-foreground",e),...a}));_e.displayName="CommandEmpty";const De=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("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}));De.displayName="CommandGroup";const Oe=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("-mx-1 h-px bg-border",e),...a}));Oe.displayName="CommandSeparator";const Fe=k.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>B.jsx("div",{ref:n,className:q("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}));Fe.displayName="CommandItem";const ze=({className:e,...a})=>B.jsx("span",{className:q("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});ze.displayName="CommandShortcut";const Me={Root:function({children:e,className:a}){return B.jsx("div",{className:q("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return B.jsx(he,{className:q("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:B.jsx(ye,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return B.jsxs("div",{className:q("flex justify-between items-center text-sm",t),children:[B.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),B.jsx("span",{className:"text-foreground",children:a})]})}},$e=({open:a,onOpenChange:t,item:s,onConfirm:r,entityName:n="item",isDeleting:o=!1})=>{const[i,l]=e.useState("");e.useEffect(()=>{a||l("")},[a]);const d=()=>{l(""),t(!1)},c=i===s?.title;return s?B.jsx(H,{open:a,onOpenChange:d,children:B.jsxs(K,{className:"sm:max-w-[500px]",children:[B.jsx(Y,{children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:B.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),B.jsx("div",{className:"flex-1",children:B.jsx(Z,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),B.jsx(ee,{asChild:!0,children:B.jsxs("div",{className:"space-y-4",children:[B.jsxs("div",{className:"text-sm text-muted-foreground",children:[B.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),B.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:B.jsx("p",{className:"font-medium text-foreground",children:s.title})})]}),B.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:B.jsxs("div",{className:"flex items-start space-x-2",children:[B.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:B.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),B.jsxs("div",{className:"text-sm text-orange-800",children:[B.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),B.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),B.jsxs("div",{className:"space-y-2",children:[B.jsxs(Se,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",B.jsxs("strong",{children:['"',s.title,'"']})," abaixo:"]}),B.jsx(je,{id:"confirmation",type:"text",value:i,onChange:e=>l(e.target.value),placeholder:`Digite: ${s.title}`,className:"w-full"})]})]})}),B.jsxs(J,{children:[B.jsx(te,{onClick:d,children:"Cancelar"}),B.jsx(ae,{onClick:()=>{s&&i===s.title&&(r(s),l(""),t(!1))},disabled:!c||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},Le=A.Root,Ue=A.Trigger,Be=A.Portal,qe=A.Close,Ve=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Overlay,{ref:t,className:q("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}));Ve.displayName=A.Overlay.displayName;const We=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(Be,{children:[B.jsx(Ve,{}),B.jsxs(A.Content,{ref:s,className:q("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,B.jsxs(A.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:[B.jsx(o.X,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));We.displayName=A.Content.displayName;const He=({className:e,...a})=>B.jsx("div",{className:q("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});He.displayName="DialogHeader";const Qe=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Qe.displayName="DialogFooter";const Ge=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Title,{ref:t,className:q("text-lg font-semibold leading-none tracking-tight",e),...a}));Ge.displayName=A.Title.displayName;const Xe=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));Xe.displayName=A.Description.displayName;const Ke=E.Root,Ye=E.Trigger,Je=E.Group,Ze=E.Portal,ea=E.Sub,aa=E.RadioGroup,ta=k.forwardRef(({className:e,inset:a,children:t,...s},r)=>B.jsxs(E.SubTrigger,{ref:r,className:q("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,B.jsx(o.ChevronRight,{className:"ml-auto h-4 w-4"})]}));ta.displayName=E.SubTrigger.displayName;const sa=k.forwardRef(({className:e,...a},t)=>B.jsx(E.SubContent,{ref:t,className:q("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}));sa.displayName=E.SubContent.displayName;const ra=k.forwardRef(({className:e,sideOffset:a=4,...t},s)=>B.jsx(E.Portal,{children:B.jsx(E.Content,{ref:s,sideOffset:a,className:q("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})}));ra.displayName=E.Content.displayName;const na=k.forwardRef(({className:e,inset:a,...t},s)=>B.jsx(E.Item,{ref:s,className:q("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}));na.displayName=E.Item.displayName;const oa=k.forwardRef(({className:e,children:a,checked:t,...s},r)=>B.jsxs(E.CheckboxItem,{ref:r,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(E.ItemIndicator,{children:B.jsx(o.Check,{className:"h-4 w-4"})})}),a]}));oa.displayName=E.CheckboxItem.displayName;const ia=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(E.RadioItem,{ref:s,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(E.ItemIndicator,{children:B.jsx(o.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));ia.displayName=E.RadioItem.displayName;const la=k.forwardRef(({className:e,inset:a,...t},s)=>B.jsx(E.Label,{ref:s,className:q("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));la.displayName=E.Label.displayName;const da=k.forwardRef(({className:e,...a},t)=>B.jsx(E.Separator,{ref:t,className:q("-mx-1 my-1 h-px bg-muted",e),...a}));da.displayName=E.Separator.displayName;const ca=({className:e,...a})=>B.jsx("span",{className:q("ml-auto text-xs tracking-widest opacity-60",e),...a});ca.displayName="DropdownMenuShortcut";const ma={default:o.FileX,search:o.Search,error:o.AlertCircle};function ua({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const o=e?()=>e:ma[n];return B.jsxs("div",{className:q("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[B.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:B.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),B.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&B.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&B.jsx(W,{onClick:s.onClick,variant:"outline",children:s.label})]})}const pa="qualiex_access_token",fa="qualiex_id_token",xa="supabase_token",ha="oauth_state",ga="oauth_nonce",ba="selected_alias",va={setAccessToken:e=>localStorage.setItem(pa,e),getAccessToken:()=>localStorage.getItem(pa),setIdToken:e=>localStorage.setItem(fa,e),getIdToken:()=>localStorage.getItem(fa),setSupabaseToken:e=>localStorage.setItem(xa,e),getSupabaseToken:()=>localStorage.getItem(xa),setOAuthState:e=>sessionStorage.setItem(ha,e),getOAuthState:()=>sessionStorage.getItem(ha),clearOAuthState:()=>sessionStorage.removeItem(ha),setOAuthNonce:e=>sessionStorage.setItem(ga,e),getOAuthNonce:()=>sessionStorage.getItem(ga),clearOAuthNonce:()=>sessionStorage.removeItem(ga),setSelectedAlias:e=>localStorage.setItem(ba,e),getSelectedAlias:()=>localStorage.getItem(ba),clearSelectedAlias:()=>localStorage.removeItem(ba),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!va.getAccessToken()||!va.getIdToken()),clearAll:()=>{localStorage.removeItem(pa),localStorage.removeItem(fa),localStorage.removeItem(xa),localStorage.removeItem(ba),sessionStorage.removeItem(ha),sessionStorage.removeItem(ga)},isTokenExpired:e=>{try{return 1e3*JSON.parse(atob(e.split(".")[1])).exp<Date.now()}catch{return!0}},isSupabaseTokenValid:()=>{const e=va.getSupabaseToken();return!!e&&!va.isTokenExpired(e)},getValidSupabaseToken:()=>{const e=va.getSupabaseToken();return!e||va.isTokenExpired(e)?null:e},extractTokenData:()=>{const e=va.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 ya=0;const Na=new Map,ja=e=>{if(Na.has(e))return;const a=setTimeout(()=>{Na.delete(e),Ca({type:"REMOVE_TOAST",toastId:e})},1e6);Na.set(e,a)},wa=(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?ja(t):e.toasts.forEach(e=>{ja(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)}}},Sa=[];let ka={toasts:[]};function Ca(e){ka=wa(ka,e),Sa.forEach(e=>{e(ka)})}function Ta({...e}){const a=(ya=(ya+1)%Number.MAX_SAFE_INTEGER,ya.toString()),t=()=>Ca({type:"DISMISS_TOAST",toastId:a});return Ca({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>Ca({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function Pa(){const[e,a]=k.useState(ka);return k.useEffect(()=>(Sa.push(a),()=>{const e=Sa.indexOf(a);e>-1&&Sa.splice(e,1)}),[e]),{...e,toast:Ta,dismiss:e=>Ca({type:"DISMISS_TOAST",toastId:e})}}var Aa=Object.defineProperty,Ea=(e,a,t)=>((e,a,t)=>a in e?Aa(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Ra=new class{constructor(){Ea(this,"errors",[]),Ea(this,"toastCount",0),Ea(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()&&Ta({title:"Erro",description:t,variant:"destructive"})}success(e,a){Ta({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 Ia=Object.defineProperty,_a=(e,a,t)=>((e,a,t)=>a in e?Ia(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Da=(void 0).VITE_SUPABASE_URL,Oa=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY,Fa=class e{constructor(){_a(this,"client"),_a(this,"currentToken",null),_a(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:Oa};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),u.createClient(Da,Oa,{auth:{persistSession:!1,autoRefreshToken:!1},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=va.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 Ra.handleError(e instanceof Error?e:"❌ Supabase - Error validating token",!1),!1}}};_a(Fa,"instance");let za=Fa;const Ma=()=>za.getInstance().getClient(),$a={oauth:{authUrl:(void 0).VITE_OAUTH_AUTH_URL,clientId:(void 0).VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},La={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},Ua={debounceDelay:500},Ba=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("lovable.dev")||(void 0).DEV},qa={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 Va{static async initialize(){try{if(!va.hasAllTokens())return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]};const e=va.getAccessToken(),a=va.getIdToken(),t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=va.getSelectedAlias(),o=n&&s.some(e=>e.alias===n)?n:r||s[0]?.alias||null;if(!va.isSupabaseTokenValid()&&o){const a=await this.generateSupabaseToken(e,o);a&&va.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=Ma(),{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=va.generateOAuthState();va.setOAuthState(e);const a=va.generateOAuthNonce();va.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL($a.oauth.authUrl);s.searchParams.set("client_id",$a.oauth.clientId),s.searchParams.set("response_type",$a.oauth.responseType),s.searchParams.set("scope",$a.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),Ba(),window.location.href=s.toString()}static async processCallback(){try{if(va.hasAllTokens()){if(!va.getValidSupabaseToken()){const e=va.getAccessToken(),a=this.extractAliasFromAccessToken(e),t=this.extractCompaniesFromIdToken(va.getIdToken())[0]?.alias,s=a||t;if(s){const a=await this.generateSupabaseToken(e,s);a&&va.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");va.setAccessToken(s),va.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");va.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");va.setSupabaseToken(t)}return va.clearOAuthState(),va.clearOAuthNonce(),console.log("✅ [AuthService] Callback processado com sucesso"),!0}catch(e){throw console.error("❌ [CallbackPage] Erro ao processar callback:",e),e}}static logout(){va.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=Ma(),{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 Wa=e.createContext(void 0),Ha=()=>{const a=e.useContext(Wa);if(void 0===a)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return a},Qa=({variant:a="button",className:t="",children:s})=>{const[r,n]=e.useState(!1),{user:i}=Ha(),{companies:l,alias:d}=Ha(),c=d?l?.find(e=>e.alias===d)||l?.[0]||null:l?.[0]||null,m=(()=>{if(!i?.email)return"";return`${`${(void 0).VITE_FEEDBACK_APP_URL}/`}?${new URLSearchParams({email:i.email,module:"OKR",alias:c?.alias||""}).toString()}`})();if(!i?.email||!c)return null;const u=e.forwardRef((e,s)=>"menuItem"===a?B.jsxs("div",{ref:s,className:"flex items-center cursor-pointer w-full px-2 py-1.5 text-sm hover:bg-accent rounded-sm",...e,children:[B.jsx(o.MessageCircle,{className:"mr-2 h-4 w-4"}),"Feedback"]}):B.jsxs(W,{ref:s,variant:"default",size:"sm",className:`bg-primary hover:bg-primary/90 ${t}`,...e,children:[B.jsx(o.MessageCircle,{className:"mr-2 h-4 w-4"}),"Feedback"]}));return u.displayName="TriggerButton",B.jsxs(Le,{open:r,onOpenChange:n,children:[B.jsx(Ue,{asChild:!0,children:B.jsx(u,{})}),B.jsxs(We,{className:"max-w-4xl max-h-[90vh] w-full h-full p-0 overflow-hidden",children:[B.jsxs(He,{className:"sr-only",children:[B.jsx(Ge,{children:"Feedback"}),B.jsx(Xe,{children:"Formulário de feedback para melhorias no sistema"})]}),B.jsx("div",{className:"w-full h-full",children:B.jsx("iframe",{src:m,width:"100%",height:"600px",className:"feedback-iframe",title:"Formulário de Feedback",loading:"lazy"})})]})]})},Ga=p.FormProvider,Xa=k.createContext({}),Ka=()=>{const e=k.useContext(Xa),a=k.useContext(Ya),{getFieldState:t,formState:s}=p.useFormContext(),r=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:n}=a;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...r}},Ya=k.createContext({}),Ja=k.forwardRef(({className:e,...a},t)=>{const s=k.useId();return B.jsx(Ya.Provider,{value:{id:s},children:B.jsx("div",{ref:t,className:q("space-y-2",e),...a})})});Ja.displayName="FormItem";const Za=k.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=Ka();return B.jsx(Se,{ref:t,className:q(s&&"text-destructive",e),htmlFor:r,...a})});Za.displayName="FormLabel";const et=k.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:n,formMessageId:o}=Ka();return B.jsx(r.Slot,{ref:a,id:s,"aria-describedby":t?`${n} ${o}`:`${n}`,"aria-invalid":!!t,...e})});et.displayName="FormControl";const at=k.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=Ka();return B.jsx("p",{ref:t,id:s,className:q("text-sm text-muted-foreground",e),...a})});at.displayName="FormDescription";const tt=k.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=Ka(),o=r?String(r?.message):a;return o?B.jsx("p",{ref:s,id:n,className:q("text-sm font-medium text-destructive",e),...t,children:o}):null});tt.displayName="FormMessage";const st={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))]"},rt={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function nt({children:e,cols:a="auto-fit",gap:t="md",className:s}){return B.jsx("div",{className:q("grid",st[a],rt[t],s),children:e})}const ot=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(R.Root,{ref:s,className:q("relative overflow-hidden",e),...t,children:[B.jsx(R.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),B.jsx(it,{}),B.jsx(R.Corner,{})]}));ot.displayName=R.Root.displayName;const it=k.forwardRef(({className:e,orientation:a="vertical",...t},s)=>B.jsx(R.ScrollAreaScrollbar,{ref:s,orientation:a,className:q("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:B.jsx(R.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));it.displayName=R.ScrollAreaScrollbar.displayName;const lt={Star:o.Star,Heart:o.Heart,Home:o.Home,User:o.User,Settings:o.Settings,Mail:o.Mail,Phone:o.Phone,Calendar:o.Calendar,MapPin:o.MapPin,Camera:o.Camera,Image:o.Image,Music:o.Music,Video:o.Video,Book:o.Book,Bookmark:o.Bookmark,Search:o.Search,Filter:o.Filter,Edit:o.Edit,Trash2:o.Trash2,Plus:o.Plus,Minus:o.Minus,Check:o.Check,X:o.X,ChevronDown:o.ChevronDown,ChevronUp:o.ChevronUp,ChevronLeft:o.ChevronLeft,ChevronRight:o.ChevronRight,ArrowUp:o.ArrowUp,ArrowDown:o.ArrowDown,ArrowLeft:o.ArrowLeft,ArrowRight:o.ArrowRight,Clock:o.Clock,Bell:o.Bell,AlertCircle:o.AlertCircle,Info:o.Info,HelpCircle:o.HelpCircle,Download:o.Download,Upload:o.Upload,Share:o.Share,Copy:o.Copy,Save:o.Save,FileText:o.FileText,Folder:o.Folder,FolderOpen:o.FolderOpen,Archive:o.Archive,Lock:o.Lock,Unlock:o.Unlock,Eye:o.Eye,EyeOff:o.EyeOff,Shield:o.Shield,Key:o.Key,Zap:o.Zap,Flame:o.Flame,Sparkles:o.Sparkles,Award:o.Award,Trophy:o.Trophy,Target:o.Target},dt=({value:a="Star",onChange:t,label:s})=>{const[r,n]=e.useState(""),i=Object.entries(lt).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),l=lt[a]||o.Star;return B.jsxs("div",{className:"space-y-2",children:[s&&B.jsx(Se,{children:s}),B.jsxs(ke,{children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[B.jsx(l,{className:"h-4 w-4 mr-2"}),a]})}),B.jsx(Te,{className:"w-80",children:B.jsxs("div",{className:"space-y-3",children:[B.jsxs("div",{children:[B.jsx(Se,{htmlFor:"icon-search",children:"Buscar ícone"}),B.jsx(je,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),B.jsx(ot,{className:"h-48",children:B.jsx("div",{className:"grid grid-cols-6 gap-2",children:i.map(([e,s])=>B.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(a===e?"border-primary bg-primary/10":"border-border"),onClick:()=>t?.(e),title:e,children:B.jsx(s,{className:"h-4 w-4"})},e))})})]})})]})]})},ct=k.forwardRef(({className:e,containerClassName:a,...t},s)=>B.jsx(x.OTPInput,{ref:s,containerClassName:q("flex items-center gap-2 has-[:disabled]:opacity-50",a),className:q("disabled:cursor-not-allowed",e),...t}));ct.displayName="InputOTP";const mt=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex items-center",e),...a}));mt.displayName="InputOTPGroup";const ut=k.forwardRef(({index:e,className:a,...t},s)=>{const r=k.useContext(x.OTPInputContext),{char:n,hasFakeCaret:o,isActive:i}=r.slots[e];return B.jsxs("div",{ref:s,className:q("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",i&&"z-10 ring-2 ring-ring ring-offset-background",a),...t,children:[n,o&&B.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:B.jsx("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})});ut.displayName="InputOTPSlot";const pt=k.forwardRef(({...e},a)=>B.jsx("div",{ref:a,role:"separator",...e,children:B.jsx(o.Dot,{})}));pt.displayName="InputOTPSeparator";const ft={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function xt({size:e="md",className:a}){return B.jsx(o.Loader2,{className:q("animate-spin text-muted-foreground",ft[e],a)})}const ht=({className:e,...a})=>B.jsx("nav",{role:"navigation","aria-label":"pagination",className:q("mx-auto flex w-full justify-center",e),...a});ht.displayName="Pagination";const gt=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,className:q("flex flex-row items-center gap-1",e),...a}));gt.displayName="PaginationContent";const bt=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,className:q("",e),...a}));bt.displayName="PaginationItem";const vt=({className:e,isActive:a,size:t="icon",...s})=>B.jsx("a",{"aria-current":a?"page":void 0,className:q(V({variant:a?"outline":"ghost",size:t}),e),...s});vt.displayName="PaginationLink";const yt=({className:e,...a})=>B.jsxs(vt,{"aria-label":"Go to previous page",size:"default",className:q("gap-1 pl-2.5",e),...a,children:[B.jsx(o.ChevronLeft,{className:"h-4 w-4"}),B.jsx("span",{children:"Previous"})]});yt.displayName="PaginationPrevious";const Nt=({className:e,...a})=>B.jsxs(vt,{"aria-label":"Go to next page",size:"default",className:q("gap-1 pr-2.5",e),...a,children:[B.jsx("span",{children:"Next"}),B.jsx(o.ChevronRight,{className:"h-4 w-4"})]});Nt.displayName="PaginationNext";const jt=({className:e,...a})=>B.jsxs("span",{"aria-hidden":!0,className:q("flex h-9 w-9 items-center justify-center",e),...a,children:[B.jsx(o.MoreHorizontal,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"More pages"})]});jt.displayName="PaginationEllipsis";const wt=I.Root,St=I.Group,kt=I.Value,Ct=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(I.Trigger,{ref:s,className:q("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,B.jsx(I.Icon,{asChild:!0,children:B.jsx(o.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));Ct.displayName=I.Trigger.displayName;const Tt=k.forwardRef(({className:e,...a},t)=>B.jsx(I.ScrollUpButton,{ref:t,className:q("flex cursor-default items-center justify-center py-1",e),...a,children:B.jsx(o.ChevronUp,{className:"h-4 w-4"})}));Tt.displayName=I.ScrollUpButton.displayName;const Pt=k.forwardRef(({className:e,...a},t)=>B.jsx(I.ScrollDownButton,{ref:t,className:q("flex cursor-default items-center justify-center py-1",e),...a,children:B.jsx(o.ChevronDown,{className:"h-4 w-4"})}));Pt.displayName=I.ScrollDownButton.displayName;const At=k.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>B.jsx(I.Portal,{children:B.jsxs(I.Content,{ref:r,className:q("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:[B.jsx(Tt,{}),B.jsx(I.Viewport,{className:q("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),B.jsx(Pt,{})]})}));At.displayName=I.Content.displayName;const Et=k.forwardRef(({className:e,...a},t)=>B.jsx(I.Label,{ref:t,className:q("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a}));Et.displayName=I.Label.displayName;const Rt=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(I.Item,{ref:s,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(I.ItemIndicator,{children:B.jsx(o.Check,{className:"h-4 w-4"})})}),B.jsx(I.ItemText,{children:a})]}));Rt.displayName=I.Item.displayName;const It=k.forwardRef(({className:e,...a},t)=>B.jsx(I.Separator,{ref:t,className:q("-mx-1 my-1 h-px bg-muted",e),...a}));It.displayName=I.Separator.displayName;const _t=k.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>B.jsx(_.Root,{ref:r,decorative:t,orientation:a,className:q("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));_t.displayName=_.Root.displayName;const Dt=A.Root,Ot=A.Trigger,Ft=A.Close,zt=A.Portal,Mt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Overlay,{className:q("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}));Mt.displayName=A.Overlay.displayName;const $t=n.cva("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"}}),Lt=k.forwardRef(({side:e="right",className:a,children:t,...s},r)=>B.jsxs(zt,{children:[B.jsx(Mt,{}),B.jsxs(A.Content,{ref:r,className:q($t({side:e}),a),...s,children:[t,B.jsxs(A.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:[B.jsx(o.X,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Lt.displayName=A.Content.displayName;const Ut=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col space-y-2 text-center sm:text-left",e),...a});Ut.displayName="SheetHeader";const Bt=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Bt.displayName="SheetFooter";const qt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Title,{ref:t,className:q("text-lg font-semibold text-foreground",e),...a}));qt.displayName=A.Title.displayName;const Vt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));Vt.displayName=A.Description.displayName;const Wt=D.Provider,Ht=D.Root,Qt=D.Trigger,Gt=k.forwardRef(({className:e,sideOffset:a=4,...t},s)=>B.jsx(D.Content,{ref:s,sideOffset:a,className:q("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}));Gt.displayName=D.Content.displayName;const Xt="sidebar:state",Kt=k.createContext(null);function Yt(){const e=k.useContext(Kt);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Jt=k.forwardRef(({defaultOpen:e=!0,open:a,onOpenChange:t,className:s,style:r,children:n,...o},i)=>{const[l,d]=k.useState(!1);k.useEffect(()=>{const e=()=>d(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[c,m]=k.useState(!1),[u,p]=k.useState(()=>{if("undefined"!=typeof window){const a=localStorage.getItem(Xt);return null!==a?"true"===a:e}return e}),f=a??u,x=k.useCallback(e=>{const a="function"==typeof e?e(f):e;t?t(a):p(a),"undefined"!=typeof window&&localStorage.setItem(Xt,String(a))},[t,f]),h=k.useCallback(()=>l?m(e=>!e):x(e=>!e),[l,x,m]);k.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h]);const g=f?"expanded":"collapsed",b=k.useMemo(()=>({state:g,open:f,setOpen:x,isMobile:l,openMobile:c,setOpenMobile:m,toggleSidebar:h}),[g,f,x,l,c,m,h]);return B.jsx(Kt.Provider,{value:b,children:B.jsx(Wt,{delayDuration:0,children:B.jsx("div",{className:q("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",s),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...r},ref:i,...o,children:n})})})});Jt.displayName="SidebarProvider";const Zt=k.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}=Yt();return"none"===t?B.jsx("div",{className:q("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?B.jsx(Dt,{open:d,onOpenChange:c,...n,children:B.jsxs(Lt,{"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:[B.jsx(qt,{className:"sr-only",children:"Menu de Navegação"}),B.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):B.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:[B.jsx("div",{className:q("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]")}),B.jsx("div",{className:q("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:B.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})})]})});Zt.displayName="Sidebar";const es=k.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Yt();return B.jsxs(W,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:q("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[B.jsx(o.PanelLeft,{}),B.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});es.displayName="SidebarTrigger";const as=k.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Yt();return B.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:q("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})});as.displayName="SidebarRail";const ts=k.forwardRef(({className:e,...a},t)=>B.jsx("main",{ref:t,className:q("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}));ts.displayName="SidebarInset";const ss=k.forwardRef(({className:e,...a},t)=>B.jsx(je,{ref:t,"data-sidebar":"input",className:q("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));ss.displayName="SidebarInput";const rs=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"header",className:q("flex flex-col gap-2 p-2",e),...a}));rs.displayName="SidebarHeader";const ns=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"footer",className:q("flex flex-col gap-2 p-2",e),...a}));ns.displayName="SidebarFooter";const os=k.forwardRef(({className:e,...a},t)=>B.jsx(_t,{ref:t,"data-sidebar":"separator",className:q("mx-2 w-auto bg-sidebar-border",e),...a}));os.displayName="SidebarSeparator";const is=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"content",className:q("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));is.displayName="SidebarContent";const ls=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"group",className:q("relative flex w-full min-w-0 flex-col p-2",e),...a}));ls.displayName="SidebarGroup";const ds=k.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const n=a?r.Slot:"div";return B.jsx(n,{ref:s,"data-sidebar":"group-label",className:q("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})});ds.displayName="SidebarGroupLabel";const cs=k.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const n=a?r.Slot:"button";return B.jsx(n,{ref:s,"data-sidebar":"group-action",className:q("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})});cs.displayName="SidebarGroupAction";const ms=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"group-content",className:q("w-full text-sm",e),...a}));ms.displayName="SidebarGroupContent";const us=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,"data-sidebar":"menu",className:q("flex w-full min-w-0 flex-col gap-1",e),...a}));us.displayName="SidebarMenu";const ps=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,"data-sidebar":"menu-item",className:q("group/menu-item relative",e),...a}));ps.displayName="SidebarMenuItem";const fs=n.cva("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"}}),xs=k.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:n,className:o,...i},l)=>{const d=e?r.Slot:"button",{isMobile:c,state:m}=Yt(),u=B.jsx(d,{ref:l,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:q(fs({variant:t,size:s}),o),...i});return n?("string"==typeof n&&(n={children:n}),B.jsxs(Ht,{children:[B.jsx(Qt,{asChild:!0,children:u}),B.jsx(Gt,{side:"right",align:"center",hidden:"collapsed"!==m||c,...n})]})):u});xs.displayName="SidebarMenuButton";const hs=k.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},n)=>{const o=a?r.Slot:"button";return B.jsx(o,{ref:n,"data-sidebar":"menu-action",className:q("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})});hs.displayName="SidebarMenuAction";const gs=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:q("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}));gs.displayName="SidebarMenuBadge";const bs=k.forwardRef(({className:e,showIcon:a=!1,...t},s)=>{const r=k.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return B.jsxs("div",{ref:s,"data-sidebar":"menu-skeleton",className:q("rounded-md h-8 flex gap-2 px-2 items-center",e),...t,children:[a&&B.jsx("div",{className:"size-4 rounded-md bg-muted animate-pulse","data-sidebar":"menu-skeleton-icon"}),B.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":r}})]})});bs.displayName="SidebarMenuSkeleton";const vs=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:q("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}));vs.displayName="SidebarMenuSub";const ys=k.forwardRef(({...e},a)=>B.jsx("li",{ref:a,...e}));ys.displayName="SidebarMenuSubItem";const Ns=k.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...n},o)=>{const i=e?r.Slot:"a";return B.jsx(i,{ref:o,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:q("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),...n})});function js({className:e,...a}){return B.jsx("div",{className:q("animate-pulse rounded-md bg-muted",e),...a})}function ws({rows:e=5,columns:a=4}){return B.jsx("div",{className:"w-full",children:B.jsxs("div",{className:"rounded-md border",children:[B.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:B.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>B.jsx(js,{className:"h-4 w-24"},a))})}),B.jsx("div",{children:Array.from({length:e}).map((e,t)=>B.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:B.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>B.jsx(js,{className:"h-4 w-20"},a))})},t))})]})})}function Ss({count:e=3}){return B.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>B.jsxs(he,{children:[B.jsxs(ge,{children:[B.jsx(js,{className:"h-4 w-3/4"}),B.jsx(js,{className:"h-3 w-1/2"})]}),B.jsx(ye,{children:B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-3 w-full"}),B.jsx(js,{className:"h-3 w-2/3"})]})})]},a))})}Ns.displayName="SidebarMenuSubButton";const ks={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},Cs={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},Ts={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function Ps({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return B.jsx("div",{className:q("flex","column"===a?"flex-col":"flex-row",ks[t],Cs[s],Ts[r],n&&"flex-wrap",o),children:e})}const As=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{className:"relative w-full overflow-auto",children:B.jsx("table",{ref:t,className:q("w-full caption-bottom text-sm",e),...a})}));As.displayName="Table";const Es=k.forwardRef(({className:e,...a},t)=>B.jsx("thead",{ref:t,className:q("[&_tr]:border-b",e),...a}));Es.displayName="TableHeader";const Rs=k.forwardRef(({className:e,...a},t)=>B.jsx("tbody",{ref:t,className:q("[&_tr:last-child]:border-0",e),...a}));Rs.displayName="TableBody";k.forwardRef(({className:e,...a},t)=>B.jsx("tfoot",{ref:t,className:q("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a})).displayName="TableFooter";const Is=k.forwardRef(({className:e,...a},t)=>B.jsx("tr",{ref:t,className:q("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));Is.displayName="TableRow";const _s=k.forwardRef(({className:e,...a},t)=>B.jsx("th",{ref:t,className:q("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}));_s.displayName="TableHead";const Ds=k.forwardRef(({className:e,...a},t)=>B.jsx("td",{ref:t,className:q("px-4 py-2 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));Ds.displayName="TableCell";const Os=k.forwardRef(({className:e,...a},t)=>B.jsx("caption",{ref:t,className:q("mt-4 text-sm text-muted-foreground",e),...a}));Os.displayName="TableCaption";const Fs=k.forwardRef(({className:e,...a},t)=>B.jsx("textarea",{className:q("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}));Fs.displayName="Textarea";const zs=O.Provider,Ms=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Viewport,{ref:t,className:q("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}));Ms.displayName=O.Viewport.displayName;const $s=n.cva("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"}}),Ls=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx(O.Root,{ref:s,className:q($s({variant:a}),e),...t}));Ls.displayName=O.Root.displayName;const Us=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Action,{ref:t,className:q("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}));Us.displayName=O.Action.displayName;const Bs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Close,{ref:t,className:q("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:B.jsx(o.X,{className:"h-4 w-4"})}));Bs.displayName=O.Close.displayName;const qs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Title,{ref:t,className:q("text-sm font-semibold",e),...a}));qs.displayName=O.Title.displayName;const Vs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Description,{ref:t,className:q("text-sm opacity-90",e),...a}));Vs.displayName=O.Description.displayName;const Ws={"/":"Exemplos","/s":"Solicitações"};function Hs(){const e=h.useLocation();return Ws[e.pathname]||"Página"}const Qs=e.memo(({variant:a="card",className:t="",selectedUnit:s,onUnitChange:r,showDebug:n=!1})=>{const{user:i,companies:l,alias:d,isAuthenticated:c,logout:m,switchUnit:u}=Ha(),p=l?.[0]||null,f=d?l?.find(e=>e.alias===d):p,x=l||[],h=s||f||p||p,g=e.useCallback(e=>{r?r(e):u(e)},[r,u]),b=e.useMemo(()=>{if(!x?.length)return[];const e=new Map;x.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},[x,h?.alias]);if(!c||!i)return null;const v=()=>B.jsxs(B.Fragment,{children:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx("div",{className:"flex-shrink-0",children:B.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:B.jsx(o.User,{className:"h-5 w-5 text-primary-foreground"})})}),B.jsxs("div",{className:"flex-1 min-w-0",children:[B.jsx("p",{className:"text-sm font-medium truncate",children:i.name}),B.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&B.jsx("div",{className:"mt-3",children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx(o.Building2,{className:"h-4 w-4 text-muted-foreground"}),B.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),b.length>1&&B.jsxs("div",{className:"mt-2",children:[B.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",b.length]}),B.jsxs("div",{className:"flex flex-wrap gap-1",children:[b.slice(0,3).map(e=>B.jsx(le,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>g(e),children:e.name},e.alias)),b.length>3&&B.jsxs(le,{variant:"outline",className:"text-xs",children:["+",b.length-3]})]})]})]});if("dropdown"===a){const e=i.identifier&&i.photoDate?`${(void 0).VITE_QUALIEX_COMMON_API_URL}/api/common/users/photo/${i.identifier}/${i.photoDate}?size=36`:null;return B.jsxs(Ke,{children:[B.jsx(Ye,{asChild:!0,children:B.jsx(W,{variant:"ghost",className:`h-auto p-2 ${t}`,children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsxs("div",{className:"hidden md:block text-left",children:[B.jsx("p",{className:"text-sm font-medium",children:i.name}),B.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),e?B.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,B.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center "+(e?"hidden":""),children:B.jsx(o.User,{className:"h-4 w-4 text-primary-foreground"})}),B.jsx(o.ChevronDown,{className:"h-4 w-4"})]})})}),B.jsxs(ra,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[B.jsxs(ea,{children:[B.jsxs(ta,{children:[B.jsx(o.RefreshCw,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),B.jsx(sa,{children:b.map(e=>B.jsxs(na,{onClick:()=>g(e),className:e.alias===h?.alias?"bg-muted":"",children:[B.jsx(o.Building2,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&B.jsx(le,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),B.jsx(da,{}),B.jsx(Qa,{variant:"menuItem"}),B.jsxs(na,{onClick:m,children:[B.jsx(o.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}return B.jsxs(he,{className:t,children:[B.jsx(ge,{children:B.jsx(be,{className:"text-lg",children:"Informações do Usuário"})}),B.jsxs(ye,{className:"space-y-4",children:[B.jsx(v,{}),B.jsx(_t,{}),B.jsxs("div",{className:"flex space-x-2",children:[B.jsx(Qa,{className:"flex-1"}),B.jsxs(W,{variant:"outline",onClick:m,size:"sm",className:"flex-1",children:[B.jsx(o.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})]})});function Gs(a,t){const[s,r]=e.useState(a),n=e.useRef(),o=e.useCallback(()=>{n.current&&(clearTimeout(n.current),n.current=void 0)},[]);return e.useEffect(()=>(o(),n.current=setTimeout(()=>{r(a)},t),o),[a,t,o]),[s,o]}const Xs=(e={})=>{const{enabled:a=!0}=e,{alias:t}=Ha();return m.useQuery({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=Ma(),{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})};class Ks extends e.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){Ra.handleError(e,!1),console.error("ErrorBoundary caught an error:",e,a)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:B.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsxs(ge,{className:"text-center",children:[B.jsx("div",{className:"flex justify-center mb-4",children:B.jsx(o.AlertTriangle,{className:"h-12 w-12 text-destructive"})}),B.jsx(be,{children:"Algo deu errado"})]}),B.jsxs(ye,{className:"text-center space-y-4",children:[B.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),B.jsx(W,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function Ys(a,t,s,r){const[n,o]=e.useState({}),[i,l]=e.useState({}),d=e.useMemo(()=>a,[a]),c=e=>e instanceof Date&&!isNaN(e.getTime()),m=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{}}},u=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(a){return m(e)}},p=(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){}}};e.useEffect(()=>{if(!r)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},a=e(d),n={};a.forEach(e=>{let a;if(t&&void 0!==t[e.name]){if(a=t[e.name],null==a&&(a=""),"date"===e.type&&a)if("string"==typeof a){const e=new Date(a);c(e)&&(a=e.toISOString().split("T")[0])}else c(a)&&(a=a.toISOString().split("T")[0])}else a=m(e);n[e.name]=a}),a.forEach(e=>{const a=u(e,n);void 0!==a&&(n[e.name]=a)}),o(n),l({}),s&&s(n)},[d,t,s,r]);const f=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...f(e.fields))}),a},x=()=>{const e=f(d),a={};return e.forEach(e=>{const t=p(e,n[e.name],n);t&&(a[e.name]=t)}),l(a),0===Object.keys(a).length};return{formData:n,errors:i,updateField:(e,a)=>{o(t=>{const r={...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(d).filter(a=>a.dependsOn===e).forEach(e=>{const a=u(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,r);return s&&s(n),n}),i[e]&&l(a=>{const t={...a};return delete t[e],t});const t=f(d).find(a=>a.name===e);if(t){const s=p(t,a,n);s&&l(a=>({...a,[e]:s}))}},validateForm:x,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),x()&&e(n)}}}var Js=Object.defineProperty,Zs=(e,a,t)=>((e,a,t)=>a in e?Js(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const er=new class{constructor(){Zs(this,"baseUrl",(void 0).VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=va.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 Ra.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return Ra.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(e){return Ra.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 Ra.handleError(e instanceof Error?e:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=va.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(Ra.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}},ar=(e={})=>{const{user:a,alias:t}=Ha(),{enabled:s=!0}=e;return m.useQuery({queryKey:["qualiex-users",t],queryFn:()=>er.getUsers(t),enabled:s&&!!t&&!!a,retry:2,retryDelay:1e3})},tr=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:r})=>{const{data:n=[],isLoading:i,error:l}=ar();return i?B.jsx(js,{className:q("h-10 w-full",r)}):l?B.jsxs("div",{className:`flex items-center gap-2 p-2 border border-destructive/20 rounded-md ${r}`,children:[B.jsx(o.AlertCircle,{className:"h-4 w-4 text-destructive"}),B.jsx("span",{className:"text-sm text-destructive",children:"Erro ao carregar usuários"})]}):B.jsxs(wt,{value:e,onValueChange:a,disabled:s||0===n.length,children:[B.jsx(Ct,{className:r,children:B.jsx(kt,{placeholder:t})}),B.jsx(At,{children:0===n.length?B.jsx(Rt,{value:"no-users",disabled:!0,children:"Nenhum usuário encontrado"}):n.map(e=>B.jsx(Rt,{value:e.userId,children:e.userName},e.userId))})]})},sr=({value:e,onChange:a,placeholder:t="Selecionar responsável",disabled:s,className:r})=>B.jsxs(wt,{value:e,onValueChange:a,disabled:s,children:[B.jsx(Ct,{className:r,children:B.jsx(kt,{placeholder:t})}),B.jsx(At,{children:B.jsx(Rt,{value:"placeholder",children:"Responsável placeholder"})})]});function rr({title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,open:o,submitButtonText:i="Salvar",isLoading:l=!1,usersData:d}){const[c,m]=e.useState(t?.[0]?.id||""),u=e.useMemo(()=>t&&Array.isArray(t)?t.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[t]),{formData:p,errors:f,updateField:x,handleSubmit:h}=Ys(u,s,void 0,o),g=e.useMemo(()=>t&&Array.isArray(t)?t.map(e=>({...e,disabled:e.condition?!e.condition(p):e.disabled||!1})):[],[t,p]),b=e.useMemo(()=>{const e=g.find(e=>e.id===c);if(e&&!e.disabled)return c;const a=g.find(e=>!e.disabled);return a?.id||c},[g,c]);e.useEffect(()=>{b!==c&&m(b)},[b,c]);const v=g.find(e=>e.id===b),y=e=>{const a=(e.computedValue,p[e.name]),t=void 0!==a?a:"",s=f[e.name];switch(e.type){case"group":return B.jsxs("div",{className:"space-y-2",children:[e.label,B.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>y(e))})]},e.name);case"user-select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(tr,{value:t||"",onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(Fs,{id:e.name,value:t||"",onChange:a=>{x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsxs(wt,{value:String(t),onValueChange:a=>{x(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[B.jsx(Ct,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:B.jsx(kt,{placeholder:e.placeholder})}),B.jsx(At,{children:e.options?.map(e=>B.jsx(Rt,{value:e.value,children:e.label},e.value))})]}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"date",value:String(t),onChange:a=>x(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:q("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(sr,{value:String(t),onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(tr,{value:t??"",onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return B.jsxs("div",{children:[B.jsxs(Se,{htmlFor:e.name,children:[e.label," ",e.required&&B.jsx("span",{className:"text-destructive",children:"*"})]}),B.jsx(je,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>x(e.name,a.target.value),className:"h-10"}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return B.jsxs("div",{children:[B.jsx(Ae,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>x(e.name,a)}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return B.jsxs("div",{children:[B.jsx(dt,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>x(e.name,a)}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"text",value:t||"",onChange:a=>{x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},N=e.useCallback(()=>{if(!v)return null;if(v.disabled)return B.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[B.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:B.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),B.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),B.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(v.component){const e=v.component;return B.jsx(e,{formData:p,updateField:x,errors:f,users:d,disabled:v.disabled})}return B.jsx("div",{className:"space-y-3",children:v.fields.map(y)})},[v,p,x,f,d,y]),j=B.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[g.length>1&&B.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:B.jsx("div",{className:"flex space-x-2",children:g.map(e=>B.jsx(W,{variant:b===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=g.find(a=>a.id===e);a&&!a.disabled&&m(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),B.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:l?B.jsx("div",{className:"flex items-center justify-center py-12",children:B.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):B.jsxs("form",{onSubmit:h(r),className:"space-y-3 md:space-y-4",children:[N(),B.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[B.jsx(W,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),B.jsx(W,{type:"submit",disabled:l,children:i})]})]})})]});return B.jsx(Le,{open:o,onOpenChange:e=>{!1===e&&!0===o&&n()},children:B.jsxs(We,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[B.jsxs(He,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[B.jsx(Ge,{className:"text-white",children:a}),B.jsx(Xe,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),j]})})}function nr(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function or(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 ir(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 lr={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"}},dr={date:nr({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:nr({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:nr({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},cr={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 mr;const ur={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=lr[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:dr,formatRelative:(e,a,t,s)=>{const r=cr[e];return"function"==typeof r?r(a):r},localize:{ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:or({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:or({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:or({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:or({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:or({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:(mr={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(mr.matchPattern);if(!t)return null;const s=t[0],r=e.match(mr.parsePattern);if(!r)return null;let n=mr.valueCallback?mr.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:ir({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:ir({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:ir({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:ir({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:ir({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}},pr=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const i=[];if(e){const a={icon:o.Edit,label:"Editar",onClick:e};i.push(a)}if(t){const e={icon:s?o.PowerOff:o.Power,label:s?"Inativar":"Ativar",onClick:t};i.push(e)}if(r&&a){const e={icon:o.Trash2,label:"Remover",onClick:a,destructive:!0};i.push(e)}return"dropdown"===n?B.jsx(B.Fragment,{children:i.map((e,a)=>B.jsxs(na,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[B.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):B.jsx(B.Fragment,{children:i.map((e,a)=>B.jsxs(W,{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:[B.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},fr=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>B.jsxs(Ke,{children:[B.jsx(Ye,{asChild:!0,children:B.jsx(W,{variant:"default",size:"sm",className:"h-7 px-2 text-xs bg-primary text-primary-foreground hover:bg-primary/90",children:B.jsx(o.EllipsisVertical,{size:12})})}),B.jsx(ra,{align:"end",children:B.jsx(pr,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]});const xr=({manager:a,columns:t,onEdit:s,onView:r,onToggleStatus:n,onDelete:i,renderActions:l})=>{const[d,c]=e.useState(!1),[m,u]=e.useState(null);e.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e.useEffect(()=>{const e=()=>u(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);return d?a.isLoading?B.jsx(Ss,{count:3}):0===a.entities.length?B.jsx(ua,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):B.jsxs("div",{className:"space-y-4",children:[a.entities.map(e=>B.jsx(he,{className:"overflow-hidden cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),s?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:B.jsxs(ye,{className:"p-4",children:[t.map(a=>B.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[B.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[a.header,":"]}),B.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)),(s||r||l)&&B.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(e):B.jsx(fr,{onEdit:s?()=>{s(e)}:void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]})},e.id)),m&&B.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:B.jsx(pr,{onEdit:s?()=>{s(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:n?()=>{n(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]}):B.jsxs("div",{className:"space-y-4",children:[a.isLoading?B.jsx(ws,{rows:5,columns:t.length}):0===a.entities.length?B.jsx(ua,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):B.jsxs(As,{children:[B.jsx(Es,{children:B.jsxs(Is,{children:[t.map(e=>{return B.jsx(_s,{className:`${e.className||""} ${e.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:e.sortable?()=>a.handleSort(e.key):void 0,children:B.jsxs("div",{className:"flex items-center "+(e.className?.includes("text-center")?"justify-center":""),children:[e.header,e.sortable&&(t=e.key,a.sortField!==t?B.jsx(o.ArrowUpDown,{size:14,className:"ml-1 opacity-50"}):"asc"===a.sortDirection?B.jsx(o.ArrowUp,{size:14,className:"ml-1"}):B.jsx(o.ArrowDown,{size:14,className:"ml-1"}))]})},e.key);var t}),B.jsx(_s,{className:"w-[100px] text-center",children:"Ações"})]})}),B.jsx(Rs,{children:a.entities.map(e=>B.jsxs(Is,{className:"cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),s?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:[t.map(a=>B.jsx(Ds,{className:a.className,children:a.render?a.render(e):e[a.key]},a.key)),B.jsx(Ds,{className:"text-center",children:l?l(e):B.jsx(fr,{onEdit:s?()=>s(e):void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]},e.id))})]}),m&&B.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:B.jsx(pr,{onEdit:s?()=>{s(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:n?()=>{n(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]})};function hr({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return B.jsx(rr,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const gr=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:i=0,totalPages:l=1}=a,d=i>0?(t-1)*s+1:0,c=Math.min(t*s,i);return B.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:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx("span",{children:"Itens por página"}),B.jsxs(wt,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[B.jsx(Ct,{className:"w-20 h-8 border-border",children:B.jsx(kt,{})}),B.jsxs(At,{children:[B.jsx(Rt,{value:"10",children:"10"}),B.jsx(Rt,{value:"25",children:"25"}),B.jsx(Rt,{value:"50",children:"50"}),B.jsx(Rt,{value:"100",children:"100"})]})]})]}),B.jsx("div",{className:"flex-1 flex justify-center",children:B.jsx("span",{children:i>0?`${d}-${c} de ${i} itens (página ${t} de ${l})`:"0 itens"})}),B.jsxs("div",{className:"flex items-center space-x-1",children:[B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:B.jsx(o.ChevronsLeft,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:B.jsx(o.ChevronLeft,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(Math.min(l,t+1)),disabled:t===l,children:B.jsx(o.ChevronRight,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(l),disabled:t===l,children:B.jsx(o.ChevronsRight,{className:"h-4 w-4"})})]})]})};function br({manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:i,onToggleStatus:l}){const[d,c]=e.useState(!1),[m,u]=e.useState(null),[p,f]=e.useState({isOpen:!1,entityId:null,entityName:""}),x=e=>{u(e),c(!0)},h=()=>{c(!1),u(null)},g=e=>{r(e),c(!1),u(null)},b=e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})};return B.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[B.jsx("div",{className:"flex justify-between items-center px-4 py-1.5 bg-muted/50",children:B.jsx("div",{className:"flex items-center gap-4",children:B.jsxs(W,{onClick:()=>{u(null),c(!0)},className:"flex items-center gap-2",children:[B.jsx(o.Plus,{size:16}),"Novo"]})})}),B.jsx("div",{className:"flex-1 overflow-hidden",children:i?B.jsx(i,{manager:a,onEdit:x,onDelete:b,onToggleStatus:l}):B.jsx("div",{className:"flex flex-col h-full",children:B.jsx("div",{className:"flex-1 overflow-auto",children:B.jsx(xr,{manager:a,columns:t.columns,onEdit:x,onDelete:b,onToggleStatus:l})})})}),B.jsx(gr,{manager:a}),n?B.jsx(n,{open:d,onCancel:h,onSubmit:g,editingEntity:m,isLoading:a.isLoading}):B.jsx(hr,{open:d,title:m?`Editar ${t.entityName}`:`Novo ${t.entityName}`,sections:s,initialData:m||void 0,onSubmit:g,onCancel:h,isLoading:a.isLoading,submitButtonText:m?"Atualizar":"Criar"}),B.jsx($e,{open:p.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:e=>{p.entityId&&(a.deleteEntity(p.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:p.entityId?{id:p.entityId,title:p.entityName}:void 0,entityName:t.entityName,isDeleting:a.isDeleting})]})}class vr{static async extractTokenData(){const e=va.extractTokenData();return e||(Ra.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return Ra.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 Ra.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 er.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 Ra.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 yr=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(yr);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=yr(s);return a}return e},Nr=["responsible_name"];exports.AUTH_CONFIG=$a,exports.ActionMenuItems=pr,exports.Alert=re,exports.AlertDescription=oe,exports.AlertDialog=H,exports.AlertDialogAction=ae,exports.AlertDialogCancel=te,exports.AlertDialogContent=K,exports.AlertDialogDescription=ee,exports.AlertDialogFooter=J,exports.AlertDialogHeader=Y,exports.AlertDialogOverlay=X,exports.AlertDialogPortal=G,exports.AlertDialogTitle=Z,exports.AlertDialogTrigger=Q,exports.AlertTitle=ne,exports.AppHeader=({actions:a})=>{h.useLocation();const t=Hs(),{companies:s,alias:r,isSearchVisible:n,clearSearch:i,refreshData:l,switchUnit:d}=Ha(),c=r?s?.find(e=>e.alias===r)||s?.[0]||null:s?.[0]||null,[m,u]=h.useSearchParams(),[p,f]=e.useState(()=>m.get("search")||""),[x,g]=Gs(p,Ua.debounceDelay);e.useEffect(()=>{if(!n)return;const e=new URLSearchParams(m);x?(e.set("search",x),e.set("page","1")):(e.delete("search"),e.delete("page")),u(e)},[x,u,n,m]);return B.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:B.jsxs("div",{className:"flex items-center justify-between gap-4",children:[B.jsxs("div",{className:"flex items-center space-x-1 md:space-x-2 min-w-0",children:[B.jsx(es,{className:"flex-shrink-0"}),B.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:[B.jsx("div",{className:"min-w-0",children:B.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:t})}),n&&B.jsxs("div",{className:"flex items-center space-x-1 w-full md:w-auto",children:[B.jsxs("div",{className:"relative w-full md:w-48",children:[B.jsx(o.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),B.jsx(je,{placeholder:"Buscar...",value:p,onChange:e=>{return a=e.target.value,void f(a);var a},className:"w-full pl-10 pr-8"}),p&&B.jsx(W,{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:()=>{g(),f("");const e=new URLSearchParams(m);e.delete("search"),e.delete("page"),u(e)},title:"Limpar busca",children:B.jsx(o.X,{size:14})})]}),B.jsx(W,{variant:"outline",size:"sm",onClick:l,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:B.jsx(o.RefreshCw,{size:14})})]})]})]}),B.jsxs("div",{className:"flex-shrink-0 flex items-center gap-3",children:[a&&B.jsx("div",{className:"flex items-center gap-2",children:a}),B.jsx("div",{className:"text-sm",children:B.jsx(Qs,{variant:"dropdown",selectedUnit:c,onUnitChange:d,showDebug:!0})})]})]})})},exports.AppSidebar=function(){const{state:a}=Yt(),t=h.useLocation(),[s,r]=e.useState(!1),{data:n,isLoading:i,error:l}=Xs({enabled:s}),d=e=>t.pathname===e,c=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 B.jsxs(Zt,{collapsible:"icon",children:[B.jsxs(rs,{className:"p-0 gap-0",children:[B.jsxs(Ke,{onOpenChange:r,children:[B.jsx(Ye,{asChild:!0,children:B.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&&"Core (beta)",B.jsx(o.ChevronDown,{size:16})]})}),B.jsx(ra,{className:"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50",align:"collapsed"===a?"center":"start",children:i?B.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[B.jsx(o.Loader2,{className:"h-4 w-4 animate-spin"}),B.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):l?B.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[B.jsx(o.AlertCircle,{className:"h-4 w-4"}),B.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):n&&0!==n.length?B.jsx("div",{className:"space-y-2",children:n.map((e,a)=>B.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 ${c(a)} transition-colors duration-200\n `,children:B.jsxs("div",{className:"flex items-center justify-between",children:[B.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&B.jsx(o.ExternalLink,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):B.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]}),B.jsx("div",{className:"flex justify-center items-center py-4",children:B.jsx("img",{src:"collapsed"===a?"/small.png":"/logo.png",alt:"Logo",className:"collapsed"===a?"h-8 w-8":"h-12 max-w-full"})})]}),B.jsx(is,{children:B.jsx(ls,{children:B.jsx(ms,{children:B.jsxs(us,{children:[B.jsx(ps,{children:B.jsx(xs,{asChild:!0,isActive:d("/"),children:B.jsxs(h.Link,{to:"/",children:[B.jsx(o.Workflow,{}),B.jsx("span",{children:"Exemplos"})]})})}),B.jsx(ps,{children:B.jsx(xs,{asChild:!0,isActive:d("/s"),children:B.jsxs(h.Link,{to:"/s",children:[B.jsx(o.ClipboardList,{}),B.jsx("span",{children:"Solicitações"})]})})})]})})})})]})},exports.AuthProvider=({children:a})=>{const[t,s]=e.useState({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0}),r=m.useQueryClient(),[n,o]=e.useState(!1),[i,l]=e.useState(0),d=e.useCallback(e=>{s(a=>({...a,...e}))},[]),c=e.useCallback(e=>{s(a=>({...a,isLoading:e}))},[]),u=e.useCallback(()=>{s({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0})},[]),p=e.useCallback(async e=>{try{c(!0);const a=va.getAccessToken();if(!a)return void console.error("[AuthContext] Access token não encontrado para trocar unidade");const t=await Va.generateSupabaseToken(a,e.alias);if(!t)return void console.error("[AuthContext] Erro ao gerar token Supabase para nova unidade");va.setSupabaseToken(t),va.setSelectedAlias(e.alias),d({alias:e.alias}),await r.invalidateQueries()}catch(a){console.error("[AuthContext] Erro ao trocar unidade",a,e)}finally{c(!1)}},[d,r,c]),f=e.useCallback(async()=>await Va.processCallback(),[]),x=e.useCallback(async()=>{Va.logout(),u(),await r.clear()},[u,r]),h=e.useCallback(e=>{o(e)},[]),g=e.useCallback(()=>{l(e=>e+1)},[]),b=e.useCallback(()=>{l(e=>e+1)},[]);e.useEffect(()=>{(async()=>{try{await new Promise(e=>setTimeout(e,100));const e=await Va.initialize();e&&e.isAuthenticated?d({user:e.user,companies:e.companies,alias:e.alias,isAuthenticated:!0,isLoading:!1}):c(!1)}catch(e){console.error("[AuthContext] Erro na inicialização da autenticação",e),c(!1)}})()},[d,c]);const v=e.useMemo(()=>({...t,logout:x,processCallback:f,switchUnit:p,availableUnits:t.companies,isSearchVisible:n,setSearchVisible:h,clearSearch:g,refreshData:b}),[t,x,f,p,n,h,g,b]);return B.jsx(Wa.Provider,{value:v,children:a})},exports.AuthService=Va,exports.Badge=le,exports.BaseCrudPage=function({manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const{setSearchVisible:l,refreshData:d}=Ha();return e.useEffect(()=>(l(!0),()=>{l(!1)}),[l]),B.jsx(br,{manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i})},exports.Breadcrumb=de,exports.BreadcrumbEllipsis=xe,exports.BreadcrumbItem=me,exports.BreadcrumbLink=ue,exports.BreadcrumbList=ce,exports.BreadcrumbPage=pe,exports.BreadcrumbSeparator=fe,exports.Button=W,exports.CRUD_CONFIG=La,exports.CallbackPage=()=>{const{processCallback:a}=Ha(),[t,s]=e.useState(null),[r,n]=e.useState(!1);e.useEffect(()=>{(async()=>{try{console.log("🔄 [CallbackPage] Iniciando processamento do callback...");if(await a()){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 s("Falha na autenticação. Tente novamente.")}catch(e){console.error("❌ [CallbackPage] Erro no processamento:",e),s(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[a]);const i=async()=>{n(!0),s(null);try{await a()||s("Falha na autenticação. Tente novamente.")}catch(e){s(e?.message||"Erro ao tentar novamente.")}finally{n(!1)}},l=()=>{window.location.href="/"};return t?B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsxs(be,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[B.jsx(o.AlertCircle,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),B.jsxs(ye,{className:"space-y-4",children:[B.jsx(re,{variant:"destructive",children:B.jsx(oe,{children:t})}),B.jsx("div",{className:"text-sm text-muted-foreground",children:B.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),B.jsxs("div",{className:"flex gap-2",children:[B.jsx(W,{onClick:i,disabled:r,className:"flex-1",children:r?B.jsxs(B.Fragment,{children:[B.jsx(xt,{size:"sm",className:"mr-2"}),"Tentando..."]}):B.jsxs(B.Fragment,{children:[B.jsx(o.RefreshCw,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),B.jsx(W,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"flex justify-center mb-4",children:B.jsx(xt,{size:"lg"})}),B.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},exports.Card=he,exports.CardContent=ye,exports.CardDescription=ve,exports.CardFooter=Ne,exports.CardHeader=ge,exports.CardSkeleton=Ss,exports.CardTitle=be,exports.ColorPicker=Ae,exports.Command=Ee,exports.CommandDialog=({children:e,...a})=>B.jsx("div",{...a,children:B.jsx(Ee,{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})}),exports.CommandEmpty=_e,exports.CommandGroup=De,exports.CommandInput=Re,exports.CommandItem=Fe,exports.CommandList=Ie,exports.CommandSeparator=Oe,exports.CommandShortcut=ze,exports.CrudCards=function({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?B.jsx(nt,{children:Array.from({length:3}).map((e,a)=>B.jsxs(he,{children:[B.jsxs(ge,{children:[B.jsx(js,{className:"h-4 w-3/4"}),B.jsx(js,{className:"h-3 w-1/2"})]}),B.jsx(ye,{children:B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-3 w-full"}),B.jsx(js,{className:"h-3 w-2/3"})]})})]},a))}):B.jsx(Me.Root,{children:e.entities.map(e=>B.jsxs(Me.Item,{onClick:()=>t(e),children:[B.jsx(ge,{className:"pb-3",children:B.jsxs("div",{className:"flex items-start justify-between",children:[B.jsxs("div",{className:"flex-1 min-w-0",children:[B.jsx(be,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),B.jsx(ve,{className:"text-sm",children:j.format(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:ur})})]}),B.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&B.jsx(W,{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),y.toast.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:B.jsx(o.ExternalLink,{className:"h-4 w-4"})}),B.jsx("div",{onClick:e=>e.stopPropagation(),children:B.jsx(fr,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),B.jsx(ye,{className:"pt-0",children:B.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?B.jsx(Me.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})},exports.CrudForm=hr,exports.CrudPage=br,exports.CrudTable=xr,exports.DataList=Me,exports.Dialog=Le,exports.DialogClose=qe,exports.DialogContent=We,exports.DialogDescription=Xe,exports.DialogFooter=Qe,exports.DialogHeader=He,exports.DialogOverlay=Ve,exports.DialogPortal=Be,exports.DialogTitle=Ge,exports.DialogTrigger=Ue,exports.DropdownMenu=Ke,exports.DropdownMenuCheckboxItem=oa,exports.DropdownMenuContent=ra,exports.DropdownMenuGroup=Je,exports.DropdownMenuItem=na,exports.DropdownMenuLabel=la,exports.DropdownMenuPortal=Ze,exports.DropdownMenuRadioGroup=aa,exports.DropdownMenuRadioItem=ia,exports.DropdownMenuSeparator=da,exports.DropdownMenuShortcut=ca,exports.DropdownMenuSub=ea,exports.DropdownMenuSubContent=sa,exports.DropdownMenuSubTrigger=ta,exports.DropdownMenuTrigger=Ye,exports.EmptyState=ua,exports.ErrorBoundary=Ks,exports.FeedbackDialog=Qa,exports.FilterBar=function({manager:e,filters:a}){const{isSearchVisible:t}=Ha(),s=e.searchTerm;return B.jsx(Ps,{direction:"column",gap:"md",className:"mb-6",children:B.jsxs(Ps,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[a.some(e=>"search"===e.type)&&!t&&B.jsxs("div",{className:"relative flex-1",children:[B.jsx(o.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),B.jsx(je,{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 B.jsx("div",{className:"w-full sm:w-auto",children:B.jsx(t,{...e.props})},a)}),s&&B.jsxs(W,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[B.jsx(o.X,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})},exports.Form=Ga,exports.FormControl=et,exports.FormDescription=at,exports.FormField=({...e})=>B.jsx(Xa.Provider,{value:{name:e.name},children:B.jsx(p.Controller,{...e})}),exports.FormItem=Ja,exports.FormLabel=Za,exports.FormMessage=tt,exports.FormSkeleton=function({fields:e=4}){return B.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-4 w-24"}),B.jsx(js,{className:"h-10 w-full"})]},a)),B.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[B.jsx(js,{className:"h-10 w-20"}),B.jsx(js,{className:"h-10 w-20"})]})]})},exports.GenericEntityForm=function({open:e,onCancel:a,onSubmit:t,editingEntity:s,isLoading:r=!1,title:n,editTitle:o,sections:i,transformData:l}){const{alias:d}=Ha();return B.jsx(hr,{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"})},exports.Grid=nt,exports.HeaderSkeleton=function(){return B.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx(js,{className:"h-8 w-8 rounded-full"}),B.jsx(js,{className:"h-6 w-32"})]}),B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx(js,{className:"h-8 w-8"}),B.jsx(js,{className:"h-8 w-24"})]})]})},exports.IconPicker=dt,exports.Input=je,exports.InputOTP=ct,exports.InputOTPGroup=mt,exports.InputOTPSeparator=pt,exports.InputOTPSlot=ut,exports.Label=Se,exports.LoadingState=function({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?B.jsxs("div",{className:q("relative",t),children:[a,B.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:B.jsx(xt,{size:r})})]}):"skeleton"===s?B.jsx("div",{className:q("animate-pulse",t),children:B.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):B.jsx("div",{className:q("flex items-center justify-center py-8",t),children:B.jsx(xt,{size:r})}):B.jsx(B.Fragment,{children:a})},exports.MESSAGES=qa,exports.ModuleSelector=function({modules:a,currentModule:t,onModuleSelect:s,placeholder:r="Selecionar módulo...",emptyMessage:n="Nenhum módulo encontrado.",className:i}){const[l,d]=e.useState(!1),[c,m]=e.useState(""),u=e.useMemo(()=>c?a.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())):a,[a,c]),p=a.find(e=>!!t&&e.url===t);return B.jsxs(ke,{open:l,onOpenChange:d,children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",role:"combobox","aria-expanded":l,className:q("w-full justify-between",i),children:[B.jsx("span",{className:"truncate",children:p?p.name:r}),B.jsx(o.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),B.jsx(Te,{className:"w-full p-0",align:"start",children:B.jsxs(Ee,{children:[B.jsx(Re,{placeholder:"Buscar módulos...",value:c,onChange:e=>m(e.target.value)}),B.jsxs(Ie,{children:[B.jsx(_e,{children:n}),B.jsx(De,{children:u.map(e=>B.jsxs(Fe,{value:e.name,onSelect:()=>{s(e.url),d(!1),m("")},children:[B.jsx(o.Check,{className:q("mr-2 h-4 w-4",p?.id===e.id?"opacity-100":"opacity-0")}),B.jsx("span",{className:"truncate",children:e.name})]},e.id))})]})]})})]})},exports.PageBreadcrumb=function({items:e,maxItems:a=3,className:t}){const s=e.length>a?[e[0],...e.slice(-(a-1))]:e,r=e.length>a;return B.jsx(de,{className:t,children:B.jsx(ce,{children:s.map((e,a)=>{const t=a===s.length-1,n=r&&1===a;return B.jsxs("div",{className:"flex items-center",children:[n&&B.jsxs(B.Fragment,{children:[B.jsx(me,{children:B.jsx(xe,{})}),B.jsx(fe,{})]}),B.jsx(me,{children:t||e.isCurrentPage?B.jsx(pe,{className:"font-bold text-lg",children:e.label}):B.jsx(ue,{href:e.href,children:e.label})}),!t&&B.jsx(fe,{})]},`${e.label}-${a}`)})})})},exports.Pagination=ht,exports.PaginationContent=gt,exports.PaginationEllipsis=jt,exports.PaginationItem=bt,exports.PaginationLink=vt,exports.PaginationNext=Nt,exports.PaginationPrevious=yt,exports.Popover=ke,exports.PopoverContent=Te,exports.PopoverTrigger=Ce,exports.ProtectedRoute=({children:a})=>{const{isAuthenticated:t,isLoading:s}=Ha();if(s)return B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Carregando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.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")?B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Processando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}):(e.useEffect(()=>{(async()=>{Ba()?await Va.loginDev():Va.loginProd()})()},[]),B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Iniciando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.jsx("p",{className:"text-muted-foreground",children:Ba()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})}))}return B.jsx(B.Fragment,{children:a})},exports.QUERY_KEYS={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},exports.QualiexEnrichmentService=vr,exports.QualiexResponsibleSelectField=sr,exports.QualiexUserField=tr,exports.SEARCH_CONFIG=Ua,exports.ScrollArea=ot,exports.ScrollBar=it,exports.Select=wt,exports.SelectContent=At,exports.SelectGroup=St,exports.SelectItem=Rt,exports.SelectLabel=Et,exports.SelectScrollDownButton=Pt,exports.SelectScrollUpButton=Tt,exports.SelectSeparator=It,exports.SelectTrigger=Ct,exports.SelectValue=kt,exports.Separator=_t,exports.Sheet=Dt,exports.SheetClose=Ft,exports.SheetContent=Lt,exports.SheetDescription=Vt,exports.SheetFooter=Bt,exports.SheetHeader=Ut,exports.SheetOverlay=Mt,exports.SheetPortal=zt,exports.SheetTitle=qt,exports.SheetTrigger=Ot,exports.Sidebar=Zt,exports.SidebarContent=is,exports.SidebarFooter=ns,exports.SidebarGroup=ls,exports.SidebarGroupAction=cs,exports.SidebarGroupContent=ms,exports.SidebarGroupLabel=ds,exports.SidebarHeader=rs,exports.SidebarInput=ss,exports.SidebarInset=ts,exports.SidebarMenu=us,exports.SidebarMenuAction=hs,exports.SidebarMenuBadge=gs,exports.SidebarMenuButton=xs,exports.SidebarMenuItem=ps,exports.SidebarMenuSkeleton=bs,exports.SidebarMenuSub=vs,exports.SidebarMenuSubButton=Ns,exports.SidebarMenuSubItem=ys,exports.SidebarProvider=Jt,exports.SidebarRail=as,exports.SidebarSeparator=os,exports.SidebarSkeleton=function(){return B.jsx("div",{className:"w-64 border-r bg-muted/10",children:B.jsxs("div",{className:"p-4",children:[B.jsx(js,{className:"h-8 w-32 mb-6"}),B.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>B.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[B.jsx(js,{className:"h-4 w-4"}),B.jsx(js,{className:"h-4 w-20"})]},a))})]})})},exports.SidebarTrigger=es,exports.Skeleton=js,exports.Spinner=xt,exports.Stack=Ps,exports.Table=As,exports.TableBody=Rs,exports.TableCaption=Os,exports.TableCell=Ds,exports.TableFooter=gr,exports.TableHead=_s,exports.TableHeader=Es,exports.TableRow=Is,exports.TableRowActions=fr,exports.TableSkeleton=ws,exports.Textarea=Fs,exports.Toast=Ls,exports.ToastAction=Us,exports.ToastClose=Bs,exports.ToastDescription=Vs,exports.ToastProvider=zs,exports.ToastTitle=qs,exports.ToastViewport=Ms,exports.Toaster=function(){const{toasts:e}=Pa();return B.jsxs(zs,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return B.jsxs(Ls,{...r,children:[B.jsxs("div",{className:"grid gap-1",children:[a&&B.jsx(qs,{children:a}),t&&B.jsx(Vs,{children:t})]}),s,B.jsx(Bs,{})]},e)}),B.jsx(Ms,{})]})},exports.TokenManager=va,exports.Tooltip=Ht,exports.TooltipContent=Gt,exports.TooltipProvider=Wt,exports.TooltipTrigger=Qt,exports.badgeVariants=ie,exports.buttonVariants=V,exports.cn=q,exports.createService=function(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=()=>Ma().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:p,count:f}=await m;if(p)throw new Error(`Error fetching ${r}: ${p.message}`);let x=((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||[],f,o,d);if(i&&x.data.length>0){if(t&&(h=t,Nr.includes(h))){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 vr.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 vr.enrichWithResponsibleNames(x.data,{entityName:i});x={...x,data:a}}var h;return x},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=yr(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={...yr(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}`)}}},exports.debounce=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},exports.errorService=Ra,exports.formatDatetime=e=>{if(!e)return"";const a=j.parseISO(e);if(!j.isValid(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"})}`},exports.getSupabaseClient=Ma,exports.isDevEnvironment=Ba,exports.qualiexApi=er,exports.setupQualiexCore=function(e){return{queryClient:e.queryClient||new m.QueryClient({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}},exports.toast=Ta,exports.trimTextFields=yr,exports.useActiveModules=Xs,exports.useAuth=Ha,exports.useBaseForm=Ys,exports.useCrud=function({queryKey:a,service:t,entityName:s,searchFields:r,additionalFilters:n={},onSuccess:o}){const[i,l]=h.useSearchParams(),d=m.useQueryClient(),c=i.get("search")||"",u=i.get("sortField")||La.sorting.defaultField,p=i.get("sortDirection")||La.sorting.defaultDirection,f=parseInt(i.get("page")||"1"),x=parseInt(i.get("limit")||String(La.pagination.defaultPageSize)),g=c,b=e.useMemo(()=>({search:g,sortField:u,sortDirection:p,page:f,limit:x,...n}),[g,u,p,f,x,n]),v=e.useCallback(()=>t.getAll(b),[t,b]),N=m.useQuery({queryKey:[a,b],queryFn:v}),j=m.useMutation({mutationFn:t.create,onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.created(s)),o?.()},onError:e=>{y.toast.error(`${qa.error.create(s)}: ${e.message}`)}}),w=m.useMutation({mutationFn:({id:e,data:a})=>t.update(e,a),onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.updated(s)),o?.()},onError:e=>{y.toast.error(`${qa.error.update(s)}: ${e.message}`)}}),S=m.useMutation({mutationFn:t.delete,onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.deleted(s))},onError:e=>{y.toast.error(`${qa.error.delete(s)}: ${e.message}`)}}),k=e.useCallback(e=>{const a={...Object.fromEntries(i)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),l(a)},[i,l]),C=e.useCallback(e=>{k({search:e,page:1})},[k]),T=e.useCallback(e=>{k({sortField:e,sortDirection:u===e&&"asc"===p?"desc":"asc",page:1})},[u,p,k]),P=e.useCallback(e=>{k({page:e})},[k]),A=e.useCallback(e=>{k({limit:e,page:1})},[k]),E=e.useCallback(()=>{l({})},[l]);return{entities:N.data?.data||[],pagination:{currentPage:N.data?.currentPage||1,totalPages:N.data?.totalPages||1,totalItems:N.data?.totalItems||0,itemsPerPage:N.data?.itemsPerPage||La.pagination.defaultPageSize,hasNextPage:N.data?.hasNextPage||!1,hasPreviousPage:N.data?.hasPreviousPage||!1},isLoading:N.isLoading,isCreating:j.isPending,isUpdating:w.isPending,isDeleting:S.isPending,error:N.error,searchTerm:c,sortField:u,sortDirection:p,currentPage:f,itemsPerPage:x,createEntity:j.mutate,updateEntity:(e,a)=>w.mutate({id:e,data:a}),deleteEntity:S.mutate,handleSearch:C,handleSort:T,handlePageChange:P,handleItemsPerPageChange:A,clearFilters:E,refetch:N.refetch}},exports.useDebounce=Gs,exports.useFormField=Ka,exports.usePageTitle=Hs,exports.useQualiexUsers=ar,exports.useRouteBreadcrumbs=function(){const e=h.useLocation();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})()},exports.useSidebar=Yt,exports.useToast=Pa;
10
+ */function U(){return M||(M=1,"production"!==process.env.NODE_ENV&&function(){var a=e,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"),p=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),x=Symbol.iterator;var h=a.__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=h.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 p:var t=e,f=t._payload,x=t._init;try{return y(x(f))}catch(e){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,S,k,C,T,P=Object.assign,A=0;function E(){}E.__reactDisabledLog=!0;var R,I=h.ReactCurrentDispatcher;function _(e,a,t){if(void 0===R)try{throw Error()}catch(e){var s=e.stack.trim().match(/\n( *(at )?)/);R=s&&s[1]||""}return"\n"+R+e}var D,O=!1,F="function"==typeof WeakMap?WeakMap:Map;function z(e,a){if(!e||O)return"";var t,s=D.get(e);if(void 0!==s)return s;O=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=I.current,I.current=null,function(){if(0===A){N=console.log,j=console.info,w=console.warn,S=console.error,k=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:E,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}();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&&D.set(e,m),m}}while(d>=1&&c>=0);break}}}finally{O=!1,I.current=r,function(){if(0===--A){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:P({},e,{value:N}),info:P({},e,{value:j}),warn:P({},e,{value:w}),error:P({},e,{value:S}),group:P({},e,{value:k}),groupCollapsed:P({},e,{value:C}),groupEnd:P({},e,{value:T})})}A<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:"",p=u?_(u):"";return"function"==typeof e&&D.set(e,p),p}function M(e,a,t){if(null==e)return"";if("function"==typeof e)return z(e,!(!(s=e.prototype)||!s.isReactComponent));var s;if("string"==typeof e)return _(e);switch(e){case c:return _("Suspense");case m:return _("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return z(e.render,!1);case u:return M(e.type,a,t);case p:var r=e,n=r._payload,o=r._init;try{return M(o(n),a,t)}catch(e){}}return""}D=new F;var $=Object.prototype.hasOwnProperty,U={},B=h.ReactDebugCurrentFrame;function q(e){if(e){var a=e._owner,t=M(e.type,e._source,a?a.type:null);B.setExtraStackFrame(t)}else B.setExtraStackFrame(null)}var V=Array.isArray;function W(e){return V(e)}function H(e){return""+e}function Q(e){if(function(e){try{return H(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)),H(e)}var G,X,K=h.ReactCurrentOwner,Y={key:!0,ref:!0,__self:!0,__source:!0};function J(e,a,s,r,n){var o,i={},l=null,d=null;for(o in void 0!==s&&(Q(s),l=""+s),function(e){if($.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(Q(a.key),l=""+a.key),function(e){if($.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)$.call(a,o)&&!Y.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(){G||(G=!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 Z,ee=h.ReactCurrentOwner,ae=h.ReactDebugCurrentFrame;function te(e){if(e){var a=e._owner,t=M(e.type,e._source,a?a.type:null);ae.setExtraStackFrame(t)}else ae.setExtraStackFrame(null)}function se(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function re(){if(ee.current){var e=y(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Z=!1;var ne={};function oe(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=re();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(!ne[t]){ne[t]=!0;var s="";e&&e._owner&&e._owner!==ee.current&&(s=" It was passed a child from "+y(e._owner.type)+"."),te(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),te(null)}}}function ie(e,a){if("object"==typeof e)if(W(e))for(var t=0;t<e.length;t++){var s=e[t];se(s)&&oe(s,a)}else if(se(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=x&&e[x]||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;)se(n.value)&&oe(n.value,a)}}function le(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($);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||(q(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),q(null)),i instanceof Error&&!(i.message in U)&&(U[i.message]=!0,q(r),g("Failed %s type: %s",t,i.message),q(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!Z){Z=!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 de={};function ce(e,a,s,x,h,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===c||e===m||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||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+=re(),null===e?w="null":W(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 S=J(e,a,s,h,v);if(null==S)return S;if(N){var k=a.children;if(void 0!==k)if(x)if(W(k)){for(var C=0;C<k.length;C++)ie(k[C],e);Object.freeze&&Object.freeze(k)}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 ie(k,e)}if($.call(a,"key")){var T=y(e),P=Object.keys(a).filter(function(e){return"key"!==e}),A=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!de[T+A])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} />',A,T,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",T),de[T+A]=!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){te(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),te(null);break}}null!==e.ref&&(te(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),te(null))}(S):le(S),S}var me=function(e,a,t){return ce(e,a,t,!1)},ue=function(e,a,t){return ce(e,a,t,!0)};L.Fragment=r,L.jsx=me,L.jsxs=ue}()),L}var B=($||($=1,"production"===process.env.NODE_ENV?F.exports=function(){if(S)return z;S=1;var a=e,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=a.__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 z.Fragment=s,z.jsx=i,z.jsxs=i,z}():F.exports=U()),F.exports);function q(...e){return s.twMerge(t.clsx(e))}const V=n.cva("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"}}),W=k.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...n},o)=>{const i=s?r.Slot:"button";return B.jsx(i,{className:q(V({variant:a,size:t,className:e})),ref:o,...n})});W.displayName="Button";const H=C.Root,Q=C.Trigger,G=C.Portal,X=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Overlay,{className:q("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}));X.displayName=C.Overlay.displayName;const K=k.forwardRef(({className:e,...a},t)=>B.jsxs(G,{children:[B.jsx(X,{}),B.jsx(C.Content,{ref:t,className:q("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})]}));K.displayName=C.Content.displayName;const Y=({className:e,...a})=>B.jsx("div",{className:q("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});Y.displayName="AlertDialogHeader";const J=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});J.displayName="AlertDialogFooter";const Z=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Title,{ref:t,className:q("text-lg font-semibold",e),...a}));Z.displayName=C.Title.displayName;const ee=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));ee.displayName=C.Description.displayName;const ae=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Action,{ref:t,className:q(V(),e),...a}));ae.displayName=C.Action.displayName;const te=k.forwardRef(({className:e,...a},t)=>B.jsx(C.Cancel,{ref:t,className:q(V({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));te.displayName=C.Cancel.displayName;const se=n.cva("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"}}),re=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx("div",{ref:s,role:"alert",className:q(se({variant:a}),e),...t}));re.displayName="Alert";const ne=k.forwardRef(({className:e,...a},t)=>B.jsx("h5",{ref:t,className:q("mb-1 font-medium leading-none tracking-tight",e),...a}));ne.displayName="AlertTitle";const oe=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("text-sm [&_p]:leading-relaxed",e),...a}));oe.displayName="AlertDescription";const ie=n.cva("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"}}),le=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx("div",{ref:s,className:q(ie({variant:a}),e),...t}));le.displayName="Badge";const de=k.forwardRef(({...e},a)=>B.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));de.displayName="Breadcrumb";const ce=k.forwardRef(({className:e,...a},t)=>B.jsx("ol",{ref:t,className:q("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));ce.displayName="BreadcrumbList";const me=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,className:q("inline-flex items-center gap-1.5",e),...a}));me.displayName="BreadcrumbItem";const ue=k.forwardRef(({asChild:e,className:a,...t},s)=>{const r=e?k.Fragment:"a";return B.jsx(r,{ref:s,className:q("transition-colors hover:text-foreground",a),...t})});ue.displayName="BreadcrumbLink";const pe=k.forwardRef(({className:e,...a},t)=>B.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:q("font-normal text-foreground",e),...a}));pe.displayName="BreadcrumbPage";const fe=({children:e,className:a,...t})=>B.jsx("li",{role:"presentation","aria-hidden":"true",className:q("[&>svg]:size-3.5",a),...t,children:e??B.jsx(o.ChevronRight,{})});fe.displayName="BreadcrumbSeparator";const xe=({className:e,...a})=>B.jsxs("span",{role:"presentation","aria-hidden":"true",className:q("flex h-9 w-9 items-center justify-center",e),...a,children:[B.jsx(o.MoreHorizontal,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"More"})]});xe.displayName="BreadcrumbEllipsis";const he=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));he.displayName="Card";const ge=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex flex-col space-y-1.5 p-6",e),...a}));ge.displayName="CardHeader";const be=k.forwardRef(({className:e,...a},t)=>B.jsx("h3",{ref:t,className:q("text-2xl font-semibold leading-none tracking-tight",e),...a}));be.displayName="CardTitle";const ve=k.forwardRef(({className:e,...a},t)=>B.jsx("p",{ref:t,className:q("text-sm text-muted-foreground",e),...a}));ve.displayName="CardDescription";const ye=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("p-6 pt-0",e),...a}));ye.displayName="CardContent";const Ne=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex items-center p-6 pt-0",e),...a}));Ne.displayName="CardFooter";const je=k.forwardRef(({className:e,type:a,...t},s)=>B.jsx("input",{type:a,className:q("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}));je.displayName="Input";const we=n.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Se=k.forwardRef(({className:e,...a},t)=>B.jsx(T.Root,{ref:t,className:q(we(),e),...a}));Se.displayName=T.Root.displayName;const ke=P.Root,Ce=P.Trigger,Te=k.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>B.jsx(P.Portal,{children:B.jsx(P.Content,{ref:r,align:a,sideOffset:t,className:q("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})}));Te.displayName=P.Content.displayName;const Pe=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Ae=({value:e="#3b82f6",onChange:a,label:t})=>B.jsxs("div",{className:"space-y-2",children:[t&&B.jsx(Se,{children:t}),B.jsxs(ke,{children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[B.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),B.jsx(Te,{className:"w-64",children:B.jsxs("div",{className:"space-y-3",children:[B.jsxs("div",{children:[B.jsx(Se,{htmlFor:"color-input",children:"Cor personalizada"}),B.jsx(je,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),B.jsxs("div",{children:[B.jsx(Se,{children:"Cores predefinidas"}),B.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Pe.map(e=>B.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))})]})]})})]})]}),Ee=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));Ee.displayName="Command";const Re=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:B.jsx("input",{ref:t,className:q("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})}));Re.displayName="CommandInput";const Ie=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));Ie.displayName="CommandList";const _e=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("py-6 text-center text-sm text-muted-foreground",e),...a}));_e.displayName="CommandEmpty";const De=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("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}));De.displayName="CommandGroup";const Oe=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("-mx-1 h-px bg-border",e),...a}));Oe.displayName="CommandSeparator";const Fe=k.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>B.jsx("div",{ref:n,className:q("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}));Fe.displayName="CommandItem";const ze=({className:e,...a})=>B.jsx("span",{className:q("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});ze.displayName="CommandShortcut";const Me={Root:function({children:e,className:a}){return B.jsx("div",{className:q("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return B.jsx(he,{className:q("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:B.jsx(ye,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return B.jsxs("div",{className:q("flex justify-between items-center text-sm",t),children:[B.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),B.jsx("span",{className:"text-foreground",children:a})]})}},$e=({open:a,onOpenChange:t,item:s,onConfirm:r,entityName:n="item",isDeleting:o=!1})=>{const[i,l]=e.useState("");e.useEffect(()=>{a||l("")},[a]);const d=()=>{l(""),t(!1)},c=i===s?.title;return s?B.jsx(H,{open:a,onOpenChange:d,children:B.jsxs(K,{className:"sm:max-w-[500px]",children:[B.jsx(Y,{children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:B.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),B.jsx("div",{className:"flex-1",children:B.jsx(Z,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),B.jsx(ee,{asChild:!0,children:B.jsxs("div",{className:"space-y-4",children:[B.jsxs("div",{className:"text-sm text-muted-foreground",children:[B.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),B.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:B.jsx("p",{className:"font-medium text-foreground",children:s.title})})]}),B.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:B.jsxs("div",{className:"flex items-start space-x-2",children:[B.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:B.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),B.jsxs("div",{className:"text-sm text-orange-800",children:[B.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),B.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),B.jsxs("div",{className:"space-y-2",children:[B.jsxs(Se,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",B.jsxs("strong",{children:['"',s.title,'"']})," abaixo:"]}),B.jsx(je,{id:"confirmation",type:"text",value:i,onChange:e=>l(e.target.value),placeholder:`Digite: ${s.title}`,className:"w-full"})]})]})}),B.jsxs(J,{children:[B.jsx(te,{onClick:d,children:"Cancelar"}),B.jsx(ae,{onClick:()=>{s&&i===s.title&&(r(s),l(""),t(!1))},disabled:!c||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},Le=A.Root,Ue=A.Trigger,Be=A.Portal,qe=A.Close,Ve=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Overlay,{ref:t,className:q("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}));Ve.displayName=A.Overlay.displayName;const We=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(Be,{children:[B.jsx(Ve,{}),B.jsxs(A.Content,{ref:s,className:q("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,B.jsxs(A.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:[B.jsx(o.X,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));We.displayName=A.Content.displayName;const He=({className:e,...a})=>B.jsx("div",{className:q("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});He.displayName="DialogHeader";const Qe=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Qe.displayName="DialogFooter";const Ge=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Title,{ref:t,className:q("text-lg font-semibold leading-none tracking-tight",e),...a}));Ge.displayName=A.Title.displayName;const Xe=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));Xe.displayName=A.Description.displayName;const Ke=E.Root,Ye=E.Trigger,Je=E.Group,Ze=E.Portal,ea=E.Sub,aa=E.RadioGroup,ta=k.forwardRef(({className:e,inset:a,children:t,...s},r)=>B.jsxs(E.SubTrigger,{ref:r,className:q("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,B.jsx(o.ChevronRight,{className:"ml-auto h-4 w-4"})]}));ta.displayName=E.SubTrigger.displayName;const sa=k.forwardRef(({className:e,...a},t)=>B.jsx(E.SubContent,{ref:t,className:q("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}));sa.displayName=E.SubContent.displayName;const ra=k.forwardRef(({className:e,sideOffset:a=4,...t},s)=>B.jsx(E.Portal,{children:B.jsx(E.Content,{ref:s,sideOffset:a,className:q("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})}));ra.displayName=E.Content.displayName;const na=k.forwardRef(({className:e,inset:a,...t},s)=>B.jsx(E.Item,{ref:s,className:q("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}));na.displayName=E.Item.displayName;const oa=k.forwardRef(({className:e,children:a,checked:t,...s},r)=>B.jsxs(E.CheckboxItem,{ref:r,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(E.ItemIndicator,{children:B.jsx(o.Check,{className:"h-4 w-4"})})}),a]}));oa.displayName=E.CheckboxItem.displayName;const ia=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(E.RadioItem,{ref:s,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(E.ItemIndicator,{children:B.jsx(o.Circle,{className:"h-2 w-2 fill-current"})})}),a]}));ia.displayName=E.RadioItem.displayName;const la=k.forwardRef(({className:e,inset:a,...t},s)=>B.jsx(E.Label,{ref:s,className:q("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));la.displayName=E.Label.displayName;const da=k.forwardRef(({className:e,...a},t)=>B.jsx(E.Separator,{ref:t,className:q("-mx-1 my-1 h-px bg-muted",e),...a}));da.displayName=E.Separator.displayName;const ca=({className:e,...a})=>B.jsx("span",{className:q("ml-auto text-xs tracking-widest opacity-60",e),...a});ca.displayName="DropdownMenuShortcut";const ma={default:o.FileX,search:o.Search,error:o.AlertCircle};function ua({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const o=e?()=>e:ma[n];return B.jsxs("div",{className:q("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[B.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:B.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),B.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&B.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&B.jsx(W,{onClick:s.onClick,variant:"outline",children:s.label})]})}const pa="qualiex_access_token",fa="qualiex_id_token",xa="supabase_token",ha="oauth_state",ga="oauth_nonce",ba="selected_alias",va={setAccessToken:e=>localStorage.setItem(pa,e),getAccessToken:()=>localStorage.getItem(pa),setIdToken:e=>localStorage.setItem(fa,e),getIdToken:()=>localStorage.getItem(fa),setSupabaseToken:e=>localStorage.setItem(xa,e),getSupabaseToken:()=>localStorage.getItem(xa),setOAuthState:e=>sessionStorage.setItem(ha,e),getOAuthState:()=>sessionStorage.getItem(ha),clearOAuthState:()=>sessionStorage.removeItem(ha),setOAuthNonce:e=>sessionStorage.setItem(ga,e),getOAuthNonce:()=>sessionStorage.getItem(ga),clearOAuthNonce:()=>sessionStorage.removeItem(ga),setSelectedAlias:e=>localStorage.setItem(ba,e),getSelectedAlias:()=>localStorage.getItem(ba),clearSelectedAlias:()=>localStorage.removeItem(ba),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!va.getAccessToken()||!va.getIdToken()),clearAll:()=>{localStorage.removeItem(pa),localStorage.removeItem(fa),localStorage.removeItem(xa),localStorage.removeItem(ba),sessionStorage.removeItem(ha),sessionStorage.removeItem(ga)},isTokenExpired:e=>{try{return 1e3*JSON.parse(atob(e.split(".")[1])).exp<Date.now()}catch{return!0}},isSupabaseTokenValid:()=>{const e=va.getSupabaseToken();return!!e&&!va.isTokenExpired(e)},getValidSupabaseToken:()=>{const e=va.getSupabaseToken();return!e||va.isTokenExpired(e)?null:e},extractTokenData:()=>{const e=va.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 ya=0;const Na=new Map,ja=e=>{if(Na.has(e))return;const a=setTimeout(()=>{Na.delete(e),Ca({type:"REMOVE_TOAST",toastId:e})},1e6);Na.set(e,a)},wa=(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?ja(t):e.toasts.forEach(e=>{ja(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)}}},Sa=[];let ka={toasts:[]};function Ca(e){ka=wa(ka,e),Sa.forEach(e=>{e(ka)})}function Ta({...e}){const a=(ya=(ya+1)%Number.MAX_SAFE_INTEGER,ya.toString()),t=()=>Ca({type:"DISMISS_TOAST",toastId:a});return Ca({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>Ca({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function Pa(){const[e,a]=k.useState(ka);return k.useEffect(()=>(Sa.push(a),()=>{const e=Sa.indexOf(a);e>-1&&Sa.splice(e,1)}),[e]),{...e,toast:Ta,dismiss:e=>Ca({type:"DISMISS_TOAST",toastId:e})}}var Aa=Object.defineProperty,Ea=(e,a,t)=>((e,a,t)=>a in e?Aa(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Ra=new class{constructor(){Ea(this,"errors",[]),Ea(this,"toastCount",0),Ea(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()&&Ta({title:"Erro",description:t,variant:"destructive"})}success(e,a){Ta({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 Ia=Object.defineProperty,_a=(e,a,t)=>((e,a,t)=>a in e?Ia(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const Da=(void 0).VITE_SUPABASE_URL,Oa=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY,Fa=class e{constructor(){_a(this,"client"),_a(this,"currentToken",null),_a(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:Oa};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),u.createClient(Da,Oa,{auth:{persistSession:!1,autoRefreshToken:!1},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=va.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 Ra.handleError(e instanceof Error?e:"❌ Supabase - Error validating token",!1),!1}}};_a(Fa,"instance");let za=Fa;const Ma=()=>za.getInstance().getClient(),$a={oauth:{authUrl:(void 0).VITE_OAUTH_AUTH_URL,clientId:(void 0).VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},La={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},Ua={debounceDelay:500},Ba=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("id-preview")||e.includes("lovable.dev")||(void 0).DEV},qa={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 Va{static async initialize(){try{if(!va.hasAllTokens())return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[]};const e=va.getAccessToken(),a=va.getIdToken(),t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=va.getSelectedAlias(),o=n&&s.some(e=>e.alias===n)?n:r||s[0]?.alias||null;if(!va.isSupabaseTokenValid()&&o){const a=await this.generateSupabaseToken(e,o);a&&va.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=Ma(),{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=va.generateOAuthState();va.setOAuthState(e);const a=va.generateOAuthNonce();va.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL($a.oauth.authUrl);s.searchParams.set("client_id",$a.oauth.clientId),s.searchParams.set("response_type",$a.oauth.responseType),s.searchParams.set("scope",$a.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),Ba(),window.location.href=s.toString()}static async processCallback(){try{if(va.hasAllTokens()){if(!va.getValidSupabaseToken()){const e=va.getAccessToken(),a=this.extractAliasFromAccessToken(e),t=this.extractCompaniesFromIdToken(va.getIdToken())[0]?.alias,s=a||t;if(s){const a=await this.generateSupabaseToken(e,s);a&&va.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");va.setAccessToken(s),va.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");va.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");va.setSupabaseToken(t)}return va.clearOAuthState(),va.clearOAuthNonce(),console.log("✅ [AuthService] Callback processado com sucesso"),!0}catch(e){throw console.error("❌ [CallbackPage] Erro ao processar callback:",e),e}}static logout(){va.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=Ma(),{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 Wa=e.createContext(void 0),Ha=()=>{const a=e.useContext(Wa);if(void 0===a)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return a},Qa=({variant:a="button",className:t="",children:s})=>{const[r,n]=e.useState(!1),{user:i}=Ha(),{companies:l,alias:d}=Ha(),c=d?l?.find(e=>e.alias===d)||l?.[0]||null:l?.[0]||null,m=(()=>{if(!i?.email)return"";return`${`${(void 0).VITE_FEEDBACK_APP_URL}/`}?${new URLSearchParams({email:i.email,module:"OKR",alias:c?.alias||""}).toString()}`})();if(!i?.email||!c)return null;const u=e.forwardRef((e,s)=>"menuItem"===a?B.jsxs("div",{ref:s,className:"flex items-center cursor-pointer w-full px-2 py-1.5 text-sm hover:bg-accent rounded-sm",...e,children:[B.jsx(o.MessageCircle,{className:"mr-2 h-4 w-4"}),"Feedback"]}):B.jsxs(W,{ref:s,variant:"default",size:"sm",className:`bg-primary hover:bg-primary/90 ${t}`,...e,children:[B.jsx(o.MessageCircle,{className:"mr-2 h-4 w-4"}),"Feedback"]}));return u.displayName="TriggerButton",B.jsxs(Le,{open:r,onOpenChange:n,children:[B.jsx(Ue,{asChild:!0,children:B.jsx(u,{})}),B.jsxs(We,{className:"max-w-4xl max-h-[90vh] w-full h-full p-0 overflow-hidden",children:[B.jsxs(He,{className:"sr-only",children:[B.jsx(Ge,{children:"Feedback"}),B.jsx(Xe,{children:"Formulário de feedback para melhorias no sistema"})]}),B.jsx("div",{className:"w-full h-full",children:B.jsx("iframe",{src:m,width:"100%",height:"600px",className:"feedback-iframe",title:"Formulário de Feedback",loading:"lazy"})})]})]})},Ga=p.FormProvider,Xa=k.createContext({}),Ka=()=>{const e=k.useContext(Xa),a=k.useContext(Ya),{getFieldState:t,formState:s}=p.useFormContext(),r=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:n}=a;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...r}},Ya=k.createContext({}),Ja=k.forwardRef(({className:e,...a},t)=>{const s=k.useId();return B.jsx(Ya.Provider,{value:{id:s},children:B.jsx("div",{ref:t,className:q("space-y-2",e),...a})})});Ja.displayName="FormItem";const Za=k.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=Ka();return B.jsx(Se,{ref:t,className:q(s&&"text-destructive",e),htmlFor:r,...a})});Za.displayName="FormLabel";const et=k.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:n,formMessageId:o}=Ka();return B.jsx(r.Slot,{ref:a,id:s,"aria-describedby":t?`${n} ${o}`:`${n}`,"aria-invalid":!!t,...e})});et.displayName="FormControl";const at=k.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=Ka();return B.jsx("p",{ref:t,id:s,className:q("text-sm text-muted-foreground",e),...a})});at.displayName="FormDescription";const tt=k.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=Ka(),o=r?String(r?.message):a;return o?B.jsx("p",{ref:s,id:n,className:q("text-sm font-medium text-destructive",e),...t,children:o}):null});tt.displayName="FormMessage";const st={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))]"},rt={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function nt({children:e,cols:a="auto-fit",gap:t="md",className:s}){return B.jsx("div",{className:q("grid",st[a],rt[t],s),children:e})}const ot=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(R.Root,{ref:s,className:q("relative overflow-hidden",e),...t,children:[B.jsx(R.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),B.jsx(it,{}),B.jsx(R.Corner,{})]}));ot.displayName=R.Root.displayName;const it=k.forwardRef(({className:e,orientation:a="vertical",...t},s)=>B.jsx(R.ScrollAreaScrollbar,{ref:s,orientation:a,className:q("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:B.jsx(R.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));it.displayName=R.ScrollAreaScrollbar.displayName;const lt={Star:o.Star,Heart:o.Heart,Home:o.Home,User:o.User,Settings:o.Settings,Mail:o.Mail,Phone:o.Phone,Calendar:o.Calendar,MapPin:o.MapPin,Camera:o.Camera,Image:o.Image,Music:o.Music,Video:o.Video,Book:o.Book,Bookmark:o.Bookmark,Search:o.Search,Filter:o.Filter,Edit:o.Edit,Trash2:o.Trash2,Plus:o.Plus,Minus:o.Minus,Check:o.Check,X:o.X,ChevronDown:o.ChevronDown,ChevronUp:o.ChevronUp,ChevronLeft:o.ChevronLeft,ChevronRight:o.ChevronRight,ArrowUp:o.ArrowUp,ArrowDown:o.ArrowDown,ArrowLeft:o.ArrowLeft,ArrowRight:o.ArrowRight,Clock:o.Clock,Bell:o.Bell,AlertCircle:o.AlertCircle,Info:o.Info,HelpCircle:o.HelpCircle,Download:o.Download,Upload:o.Upload,Share:o.Share,Copy:o.Copy,Save:o.Save,FileText:o.FileText,Folder:o.Folder,FolderOpen:o.FolderOpen,Archive:o.Archive,Lock:o.Lock,Unlock:o.Unlock,Eye:o.Eye,EyeOff:o.EyeOff,Shield:o.Shield,Key:o.Key,Zap:o.Zap,Flame:o.Flame,Sparkles:o.Sparkles,Award:o.Award,Trophy:o.Trophy,Target:o.Target},dt=({value:a="Star",onChange:t,label:s})=>{const[r,n]=e.useState(""),i=Object.entries(lt).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),l=lt[a]||o.Star;return B.jsxs("div",{className:"space-y-2",children:[s&&B.jsx(Se,{children:s}),B.jsxs(ke,{children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[B.jsx(l,{className:"h-4 w-4 mr-2"}),a]})}),B.jsx(Te,{className:"w-80",children:B.jsxs("div",{className:"space-y-3",children:[B.jsxs("div",{children:[B.jsx(Se,{htmlFor:"icon-search",children:"Buscar ícone"}),B.jsx(je,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),B.jsx(ot,{className:"h-48",children:B.jsx("div",{className:"grid grid-cols-6 gap-2",children:i.map(([e,s])=>B.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(a===e?"border-primary bg-primary/10":"border-border"),onClick:()=>t?.(e),title:e,children:B.jsx(s,{className:"h-4 w-4"})},e))})})]})})]})]})},ct=k.forwardRef(({className:e,containerClassName:a,...t},s)=>B.jsx(x.OTPInput,{ref:s,containerClassName:q("flex items-center gap-2 has-[:disabled]:opacity-50",a),className:q("disabled:cursor-not-allowed",e),...t}));ct.displayName="InputOTP";const mt=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,className:q("flex items-center",e),...a}));mt.displayName="InputOTPGroup";const ut=k.forwardRef(({index:e,className:a,...t},s)=>{const r=k.useContext(x.OTPInputContext),{char:n,hasFakeCaret:o,isActive:i}=r.slots[e];return B.jsxs("div",{ref:s,className:q("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",i&&"z-10 ring-2 ring-ring ring-offset-background",a),...t,children:[n,o&&B.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:B.jsx("div",{className:"h-4 w-px animate-caret-blink bg-foreground duration-1000"})})]})});ut.displayName="InputOTPSlot";const pt=k.forwardRef(({...e},a)=>B.jsx("div",{ref:a,role:"separator",...e,children:B.jsx(o.Dot,{})}));pt.displayName="InputOTPSeparator";const ft={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function xt({size:e="md",className:a}){return B.jsx(o.Loader2,{className:q("animate-spin text-muted-foreground",ft[e],a)})}const ht=({className:e,...a})=>B.jsx("nav",{role:"navigation","aria-label":"pagination",className:q("mx-auto flex w-full justify-center",e),...a});ht.displayName="Pagination";const gt=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,className:q("flex flex-row items-center gap-1",e),...a}));gt.displayName="PaginationContent";const bt=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,className:q("",e),...a}));bt.displayName="PaginationItem";const vt=({className:e,isActive:a,size:t="icon",...s})=>B.jsx("a",{"aria-current":a?"page":void 0,className:q(V({variant:a?"outline":"ghost",size:t}),e),...s});vt.displayName="PaginationLink";const yt=({className:e,...a})=>B.jsxs(vt,{"aria-label":"Go to previous page",size:"default",className:q("gap-1 pl-2.5",e),...a,children:[B.jsx(o.ChevronLeft,{className:"h-4 w-4"}),B.jsx("span",{children:"Previous"})]});yt.displayName="PaginationPrevious";const Nt=({className:e,...a})=>B.jsxs(vt,{"aria-label":"Go to next page",size:"default",className:q("gap-1 pr-2.5",e),...a,children:[B.jsx("span",{children:"Next"}),B.jsx(o.ChevronRight,{className:"h-4 w-4"})]});Nt.displayName="PaginationNext";const jt=({className:e,...a})=>B.jsxs("span",{"aria-hidden":!0,className:q("flex h-9 w-9 items-center justify-center",e),...a,children:[B.jsx(o.MoreHorizontal,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"More pages"})]});jt.displayName="PaginationEllipsis";const wt=I.Root,St=I.Group,kt=I.Value,Ct=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(I.Trigger,{ref:s,className:q("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,B.jsx(I.Icon,{asChild:!0,children:B.jsx(o.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));Ct.displayName=I.Trigger.displayName;const Tt=k.forwardRef(({className:e,...a},t)=>B.jsx(I.ScrollUpButton,{ref:t,className:q("flex cursor-default items-center justify-center py-1",e),...a,children:B.jsx(o.ChevronUp,{className:"h-4 w-4"})}));Tt.displayName=I.ScrollUpButton.displayName;const Pt=k.forwardRef(({className:e,...a},t)=>B.jsx(I.ScrollDownButton,{ref:t,className:q("flex cursor-default items-center justify-center py-1",e),...a,children:B.jsx(o.ChevronDown,{className:"h-4 w-4"})}));Pt.displayName=I.ScrollDownButton.displayName;const At=k.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>B.jsx(I.Portal,{children:B.jsxs(I.Content,{ref:r,className:q("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:[B.jsx(Tt,{}),B.jsx(I.Viewport,{className:q("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),B.jsx(Pt,{})]})}));At.displayName=I.Content.displayName;const Et=k.forwardRef(({className:e,...a},t)=>B.jsx(I.Label,{ref:t,className:q("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a}));Et.displayName=I.Label.displayName;const Rt=k.forwardRef(({className:e,children:a,...t},s)=>B.jsxs(I.Item,{ref:s,className:q("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:[B.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:B.jsx(I.ItemIndicator,{children:B.jsx(o.Check,{className:"h-4 w-4"})})}),B.jsx(I.ItemText,{children:a})]}));Rt.displayName=I.Item.displayName;const It=k.forwardRef(({className:e,...a},t)=>B.jsx(I.Separator,{ref:t,className:q("-mx-1 my-1 h-px bg-muted",e),...a}));It.displayName=I.Separator.displayName;const _t=k.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>B.jsx(_.Root,{ref:r,decorative:t,orientation:a,className:q("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));_t.displayName=_.Root.displayName;const Dt=A.Root,Ot=A.Trigger,Ft=A.Close,zt=A.Portal,Mt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Overlay,{className:q("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}));Mt.displayName=A.Overlay.displayName;const $t=n.cva("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"}}),Lt=k.forwardRef(({side:e="right",className:a,children:t,...s},r)=>B.jsxs(zt,{children:[B.jsx(Mt,{}),B.jsxs(A.Content,{ref:r,className:q($t({side:e}),a),...s,children:[t,B.jsxs(A.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:[B.jsx(o.X,{className:"h-4 w-4"}),B.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Lt.displayName=A.Content.displayName;const Ut=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col space-y-2 text-center sm:text-left",e),...a});Ut.displayName="SheetHeader";const Bt=({className:e,...a})=>B.jsx("div",{className:q("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Bt.displayName="SheetFooter";const qt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Title,{ref:t,className:q("text-lg font-semibold text-foreground",e),...a}));qt.displayName=A.Title.displayName;const Vt=k.forwardRef(({className:e,...a},t)=>B.jsx(A.Description,{ref:t,className:q("text-sm text-muted-foreground",e),...a}));Vt.displayName=A.Description.displayName;const Wt=D.Provider,Ht=D.Root,Qt=D.Trigger,Gt=k.forwardRef(({className:e,sideOffset:a=4,...t},s)=>B.jsx(D.Content,{ref:s,sideOffset:a,className:q("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}));Gt.displayName=D.Content.displayName;const Xt="sidebar:state",Kt=k.createContext(null);function Yt(){const e=k.useContext(Kt);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Jt=k.forwardRef(({defaultOpen:e=!0,open:a,onOpenChange:t,className:s,style:r,children:n,...o},i)=>{const[l,d]=k.useState(!1);k.useEffect(()=>{const e=()=>d(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[c,m]=k.useState(!1),[u,p]=k.useState(()=>{if("undefined"!=typeof window){const a=localStorage.getItem(Xt);return null!==a?"true"===a:e}return e}),f=a??u,x=k.useCallback(e=>{const a="function"==typeof e?e(f):e;t?t(a):p(a),"undefined"!=typeof window&&localStorage.setItem(Xt,String(a))},[t,f]),h=k.useCallback(()=>l?m(e=>!e):x(e=>!e),[l,x,m]);k.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),h())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h]);const g=f?"expanded":"collapsed",b=k.useMemo(()=>({state:g,open:f,setOpen:x,isMobile:l,openMobile:c,setOpenMobile:m,toggleSidebar:h}),[g,f,x,l,c,m,h]);return B.jsx(Kt.Provider,{value:b,children:B.jsx(Wt,{delayDuration:0,children:B.jsx("div",{className:q("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",s),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...r},ref:i,...o,children:n})})})});Jt.displayName="SidebarProvider";const Zt=k.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}=Yt();return"none"===t?B.jsx("div",{className:q("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?B.jsx(Dt,{open:d,onOpenChange:c,...n,children:B.jsxs(Lt,{"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:[B.jsx(qt,{className:"sr-only",children:"Menu de Navegação"}),B.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):B.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:[B.jsx("div",{className:q("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]")}),B.jsx("div",{className:q("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:B.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})})]})});Zt.displayName="Sidebar";const es=k.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Yt();return B.jsxs(W,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:q("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[B.jsx(o.PanelLeft,{}),B.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});es.displayName="SidebarTrigger";const as=k.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Yt();return B.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:q("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})});as.displayName="SidebarRail";const ts=k.forwardRef(({className:e,...a},t)=>B.jsx("main",{ref:t,className:q("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}));ts.displayName="SidebarInset";const ss=k.forwardRef(({className:e,...a},t)=>B.jsx(je,{ref:t,"data-sidebar":"input",className:q("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));ss.displayName="SidebarInput";const rs=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"header",className:q("flex flex-col gap-2 p-2",e),...a}));rs.displayName="SidebarHeader";const ns=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"footer",className:q("flex flex-col gap-2 p-2",e),...a}));ns.displayName="SidebarFooter";const os=k.forwardRef(({className:e,...a},t)=>B.jsx(_t,{ref:t,"data-sidebar":"separator",className:q("mx-2 w-auto bg-sidebar-border",e),...a}));os.displayName="SidebarSeparator";const is=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"content",className:q("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));is.displayName="SidebarContent";const ls=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"group",className:q("relative flex w-full min-w-0 flex-col p-2",e),...a}));ls.displayName="SidebarGroup";const ds=k.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const n=a?r.Slot:"div";return B.jsx(n,{ref:s,"data-sidebar":"group-label",className:q("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})});ds.displayName="SidebarGroupLabel";const cs=k.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const n=a?r.Slot:"button";return B.jsx(n,{ref:s,"data-sidebar":"group-action",className:q("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})});cs.displayName="SidebarGroupAction";const ms=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"group-content",className:q("w-full text-sm",e),...a}));ms.displayName="SidebarGroupContent";const us=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,"data-sidebar":"menu",className:q("flex w-full min-w-0 flex-col gap-1",e),...a}));us.displayName="SidebarMenu";const ps=k.forwardRef(({className:e,...a},t)=>B.jsx("li",{ref:t,"data-sidebar":"menu-item",className:q("group/menu-item relative",e),...a}));ps.displayName="SidebarMenuItem";const fs=n.cva("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"}}),xs=k.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:n,className:o,...i},l)=>{const d=e?r.Slot:"button",{isMobile:c,state:m}=Yt(),u=B.jsx(d,{ref:l,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:q(fs({variant:t,size:s}),o),...i});return n?("string"==typeof n&&(n={children:n}),B.jsxs(Ht,{children:[B.jsx(Qt,{asChild:!0,children:u}),B.jsx(Gt,{side:"right",align:"center",hidden:"collapsed"!==m||c,...n})]})):u});xs.displayName="SidebarMenuButton";const hs=k.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},n)=>{const o=a?r.Slot:"button";return B.jsx(o,{ref:n,"data-sidebar":"menu-action",className:q("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})});hs.displayName="SidebarMenuAction";const gs=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:q("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}));gs.displayName="SidebarMenuBadge";const bs=k.forwardRef(({className:e,showIcon:a=!1,...t},s)=>{const r=k.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return B.jsxs("div",{ref:s,"data-sidebar":"menu-skeleton",className:q("rounded-md h-8 flex gap-2 px-2 items-center",e),...t,children:[a&&B.jsx("div",{className:"size-4 rounded-md bg-muted animate-pulse","data-sidebar":"menu-skeleton-icon"}),B.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":r}})]})});bs.displayName="SidebarMenuSkeleton";const vs=k.forwardRef(({className:e,...a},t)=>B.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:q("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}));vs.displayName="SidebarMenuSub";const ys=k.forwardRef(({...e},a)=>B.jsx("li",{ref:a,...e}));ys.displayName="SidebarMenuSubItem";const Ns=k.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...n},o)=>{const i=e?r.Slot:"a";return B.jsx(i,{ref:o,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:q("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),...n})});function js({className:e,...a}){return B.jsx("div",{className:q("animate-pulse rounded-md bg-muted",e),...a})}function ws({rows:e=5,columns:a=4}){return B.jsx("div",{className:"w-full",children:B.jsxs("div",{className:"rounded-md border",children:[B.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:B.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>B.jsx(js,{className:"h-4 w-24"},a))})}),B.jsx("div",{children:Array.from({length:e}).map((e,t)=>B.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:B.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>B.jsx(js,{className:"h-4 w-20"},a))})},t))})]})})}function Ss({count:e=3}){return B.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>B.jsxs(he,{children:[B.jsxs(ge,{children:[B.jsx(js,{className:"h-4 w-3/4"}),B.jsx(js,{className:"h-3 w-1/2"})]}),B.jsx(ye,{children:B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-3 w-full"}),B.jsx(js,{className:"h-3 w-2/3"})]})})]},a))})}Ns.displayName="SidebarMenuSubButton";const ks={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},Cs={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},Ts={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function Ps({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return B.jsx("div",{className:q("flex","column"===a?"flex-col":"flex-row",ks[t],Cs[s],Ts[r],n&&"flex-wrap",o),children:e})}const As=k.forwardRef(({className:e,...a},t)=>B.jsx("div",{className:"relative w-full overflow-auto",children:B.jsx("table",{ref:t,className:q("w-full caption-bottom text-sm",e),...a})}));As.displayName="Table";const Es=k.forwardRef(({className:e,...a},t)=>B.jsx("thead",{ref:t,className:q("[&_tr]:border-b",e),...a}));Es.displayName="TableHeader";const Rs=k.forwardRef(({className:e,...a},t)=>B.jsx("tbody",{ref:t,className:q("[&_tr:last-child]:border-0",e),...a}));Rs.displayName="TableBody";k.forwardRef(({className:e,...a},t)=>B.jsx("tfoot",{ref:t,className:q("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a})).displayName="TableFooter";const Is=k.forwardRef(({className:e,...a},t)=>B.jsx("tr",{ref:t,className:q("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...a}));Is.displayName="TableRow";const _s=k.forwardRef(({className:e,...a},t)=>B.jsx("th",{ref:t,className:q("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}));_s.displayName="TableHead";const Ds=k.forwardRef(({className:e,...a},t)=>B.jsx("td",{ref:t,className:q("px-4 py-2 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));Ds.displayName="TableCell";const Os=k.forwardRef(({className:e,...a},t)=>B.jsx("caption",{ref:t,className:q("mt-4 text-sm text-muted-foreground",e),...a}));Os.displayName="TableCaption";const Fs=k.forwardRef(({className:e,...a},t)=>B.jsx("textarea",{className:q("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}));Fs.displayName="Textarea";const zs=O.Provider,Ms=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Viewport,{ref:t,className:q("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}));Ms.displayName=O.Viewport.displayName;const $s=n.cva("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"}}),Ls=k.forwardRef(({className:e,variant:a,...t},s)=>B.jsx(O.Root,{ref:s,className:q($s({variant:a}),e),...t}));Ls.displayName=O.Root.displayName;const Us=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Action,{ref:t,className:q("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}));Us.displayName=O.Action.displayName;const Bs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Close,{ref:t,className:q("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:B.jsx(o.X,{className:"h-4 w-4"})}));Bs.displayName=O.Close.displayName;const qs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Title,{ref:t,className:q("text-sm font-semibold",e),...a}));qs.displayName=O.Title.displayName;const Vs=k.forwardRef(({className:e,...a},t)=>B.jsx(O.Description,{ref:t,className:q("text-sm opacity-90",e),...a}));Vs.displayName=O.Description.displayName;const Ws={"/":"Exemplos","/s":"Solicitações"};function Hs(){const e=h.useLocation();return Ws[e.pathname]||"Página"}const Qs=e.memo(({variant:a="card",className:t="",selectedUnit:s,onUnitChange:r,showDebug:n=!1})=>{const{user:i,companies:l,alias:d,isAuthenticated:c,logout:m,switchUnit:u}=Ha(),p=l?.[0]||null,f=d?l?.find(e=>e.alias===d):p,x=l||[],h=s||f||p||p,g=e.useCallback(e=>{r?r(e):u(e)},[r,u]),b=e.useMemo(()=>{if(!x?.length)return[];const e=new Map;x.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},[x,h?.alias]);if(!c||!i)return null;const v=()=>B.jsxs(B.Fragment,{children:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx("div",{className:"flex-shrink-0",children:B.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:B.jsx(o.User,{className:"h-5 w-5 text-primary-foreground"})})}),B.jsxs("div",{className:"flex-1 min-w-0",children:[B.jsx("p",{className:"text-sm font-medium truncate",children:i.name}),B.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&B.jsx("div",{className:"mt-3",children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx(o.Building2,{className:"h-4 w-4 text-muted-foreground"}),B.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),b.length>1&&B.jsxs("div",{className:"mt-2",children:[B.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",b.length]}),B.jsxs("div",{className:"flex flex-wrap gap-1",children:[b.slice(0,3).map(e=>B.jsx(le,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>g(e),children:e.name},e.alias)),b.length>3&&B.jsxs(le,{variant:"outline",className:"text-xs",children:["+",b.length-3]})]})]})]});if("dropdown"===a){const e=i.identifier&&i.photoDate?`${(void 0).VITE_QUALIEX_COMMON_API_URL}/api/common/users/photo/${i.identifier}/${i.photoDate}?size=36`:null;return B.jsxs(Ke,{children:[B.jsx(Ye,{asChild:!0,children:B.jsx(W,{variant:"ghost",className:`h-auto p-2 ${t}`,children:B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsxs("div",{className:"hidden md:block text-left",children:[B.jsx("p",{className:"text-sm font-medium",children:i.name}),B.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),e?B.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,B.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center "+(e?"hidden":""),children:B.jsx(o.User,{className:"h-4 w-4 text-primary-foreground"})}),B.jsx(o.ChevronDown,{className:"h-4 w-4"})]})})}),B.jsxs(ra,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[B.jsxs(ea,{children:[B.jsxs(ta,{children:[B.jsx(o.RefreshCw,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),B.jsx(sa,{children:b.map(e=>B.jsxs(na,{onClick:()=>g(e),className:e.alias===h?.alias?"bg-muted":"",children:[B.jsx(o.Building2,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&B.jsx(le,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),B.jsx(da,{}),B.jsx(Qa,{variant:"menuItem"}),B.jsxs(na,{onClick:m,children:[B.jsx(o.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}return B.jsxs(he,{className:t,children:[B.jsx(ge,{children:B.jsx(be,{className:"text-lg",children:"Informações do Usuário"})}),B.jsxs(ye,{className:"space-y-4",children:[B.jsx(v,{}),B.jsx(_t,{}),B.jsxs("div",{className:"flex space-x-2",children:[B.jsx(Qa,{className:"flex-1"}),B.jsxs(W,{variant:"outline",onClick:m,size:"sm",className:"flex-1",children:[B.jsx(o.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})]})});function Gs(a,t){const[s,r]=e.useState(a),n=e.useRef(),o=e.useCallback(()=>{n.current&&(clearTimeout(n.current),n.current=void 0)},[]);return e.useEffect(()=>(o(),n.current=setTimeout(()=>{r(a)},t),o),[a,t,o]),[s,o]}const Xs=({actions:a})=>{h.useLocation();const t=Hs(),{companies:s,alias:r,isSearchVisible:n,clearSearch:i,refreshData:l,switchUnit:d}=Ha(),c=r?s?.find(e=>e.alias===r)||s?.[0]||null:s?.[0]||null,[m,u]=h.useSearchParams(),[p,f]=e.useState(()=>m.get("search")||""),[x,g]=Gs(p,Ua.debounceDelay);e.useEffect(()=>{if(!n)return;const e=new URLSearchParams(m);x?(e.set("search",x),e.set("page","1")):(e.delete("search"),e.delete("page")),u(e)},[x,u,n,m]);return B.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:B.jsxs("div",{className:"flex items-center justify-between gap-4",children:[B.jsxs("div",{className:"flex items-center space-x-1 md:space-x-2 min-w-0",children:[B.jsx(es,{className:"flex-shrink-0"}),B.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:[B.jsx("div",{className:"min-w-0",children:B.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:t})}),n&&B.jsxs("div",{className:"flex items-center space-x-1 w-full md:w-auto",children:[B.jsxs("div",{className:"relative w-full md:w-48",children:[B.jsx(o.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),B.jsx(je,{placeholder:"Buscar...",value:p,onChange:e=>{return a=e.target.value,void f(a);var a},className:"w-full pl-10 pr-8"}),p&&B.jsx(W,{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:()=>{g(),f("");const e=new URLSearchParams(m);e.delete("search"),e.delete("page"),u(e)},title:"Limpar busca",children:B.jsx(o.X,{size:14})})]}),B.jsx(W,{variant:"outline",size:"sm",onClick:l,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:B.jsx(o.RefreshCw,{size:14})})]})]})]}),B.jsxs("div",{className:"flex-shrink-0 flex items-center gap-3",children:[a&&B.jsx("div",{className:"flex items-center gap-2",children:a}),B.jsx("div",{className:"text-sm",children:B.jsx(Qs,{variant:"dropdown",selectedUnit:c,onUnitChange:d,showDebug:!0})})]})]})})},Ks=(e={})=>{const{enabled:a=!0}=e,{alias:t}=Ha();return m.useQuery({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=Ma(),{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 Ys({config:a}={}){const{state:t}=Yt(),s=h.useLocation(),[r,n]=e.useState(!1),{data:i,isLoading:l,error:d}=Ks({enabled:r}),c=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 B.jsxs(Zt,{collapsible:"icon",children:[B.jsxs(rs,{className:"p-0 gap-0",children:[B.jsxs(Ke,{onOpenChange:n,children:[B.jsx(Ye,{asChild:!0,children:B.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"!==t&&a?.appName,B.jsx(o.ChevronDown,{size:16})]})}),B.jsx(ra,{className:"w-80 bg-popover rounded-lg shadow-lg border border-border p-4 z-50",align:"collapsed"===t?"center":"start",children:l?B.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[B.jsx(o.Loader2,{className:"h-4 w-4 animate-spin"}),B.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):d?B.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[B.jsx(o.AlertCircle,{className:"h-4 w-4"}),B.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):i&&0!==i.length?B.jsx("div",{className:"space-y-2",children:i.map((e,a)=>B.jsx("div",{onClick:()=>(e=>{const a=i?.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 ${c(a)} transition-colors duration-200\n `,children:B.jsxs("div",{className:"flex items-center justify-between",children:[B.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&B.jsx(o.ExternalLink,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):B.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]}),B.jsx("div",{className:"flex justify-center items-center py-4",children:B.jsx("img",{src:"collapsed"===t?"/small.png":"/logo.png",alt:"Logo",className:"collapsed"===t?"h-8 w-8":"h-12 max-w-full"})})]}),B.jsx(is,{children:B.jsx(ls,{children:B.jsx(ms,{children:B.jsx(us,{children:a?.navigation?.map(e=>{return B.jsx(ps,{children:B.jsx(xs,{asChild:!0,isActive:(a=e.path,s.pathname===a),children:B.jsxs(h.Link,{to:e.path,children:[B.jsx(e.icon,{}),B.jsx("span",{children:e.label})]})})},e.path);var a})})})})})]})}class Js extends e.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){Ra.handleError(e,!1),console.error("ErrorBoundary caught an error:",e,a)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:B.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsxs(ge,{className:"text-center",children:[B.jsx("div",{className:"flex justify-center mb-4",children:B.jsx(o.AlertTriangle,{className:"h-12 w-12 text-destructive"})}),B.jsx(be,{children:"Algo deu errado"})]}),B.jsxs(ye,{className:"text-center space-y-4",children:[B.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),B.jsx(W,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function Zs(a,t,s,r){const[n,o]=e.useState({}),[i,l]=e.useState({}),d=e.useMemo(()=>a,[a]),c=e=>e instanceof Date&&!isNaN(e.getTime()),m=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{}}},u=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(a){return m(e)}},p=(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){}}};e.useEffect(()=>{if(!r)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},a=e(d),n={};a.forEach(e=>{let a;if(t&&void 0!==t[e.name]){if(a=t[e.name],null==a&&(a=""),"date"===e.type&&a)if("string"==typeof a){const e=new Date(a);c(e)&&(a=e.toISOString().split("T")[0])}else c(a)&&(a=a.toISOString().split("T")[0])}else a=m(e);n[e.name]=a}),a.forEach(e=>{const a=u(e,n);void 0!==a&&(n[e.name]=a)}),o(n),l({}),s&&s(n)},[d,t,s,r]);const f=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...f(e.fields))}),a},x=()=>{const e=f(d),a={};return e.forEach(e=>{const t=p(e,n[e.name],n);t&&(a[e.name]=t)}),l(a),0===Object.keys(a).length};return{formData:n,errors:i,updateField:(e,a)=>{o(t=>{const r={...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(d).filter(a=>a.dependsOn===e).forEach(e=>{const a=u(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,r);return s&&s(n),n}),i[e]&&l(a=>{const t={...a};return delete t[e],t});const t=f(d).find(a=>a.name===e);if(t){const s=p(t,a,n);s&&l(a=>({...a,[e]:s}))}},validateForm:x,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),x()&&e(n)}}}var er=Object.defineProperty,ar=(e,a,t)=>((e,a,t)=>a in e?er(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const tr=new class{constructor(){ar(this,"baseUrl",(void 0).VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=va.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 Ra.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return Ra.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(e){return Ra.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 Ra.handleError(e instanceof Error?e:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=va.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(Ra.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}},sr=(e={})=>{const{user:a,alias:t}=Ha(),{enabled:s=!0}=e;return m.useQuery({queryKey:["qualiex-users",t],queryFn:()=>tr.getUsers(t),enabled:s&&!!t&&!!a,retry:2,retryDelay:1e3})},rr=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:r})=>{const{data:n=[],isLoading:i,error:l}=sr();return i?B.jsx(js,{className:q("h-10 w-full",r)}):l?B.jsxs("div",{className:`flex items-center gap-2 p-2 border border-destructive/20 rounded-md ${r}`,children:[B.jsx(o.AlertCircle,{className:"h-4 w-4 text-destructive"}),B.jsx("span",{className:"text-sm text-destructive",children:"Erro ao carregar usuários"})]}):B.jsxs(wt,{value:e,onValueChange:a,disabled:s||0===n.length,children:[B.jsx(Ct,{className:r,children:B.jsx(kt,{placeholder:t})}),B.jsx(At,{children:0===n.length?B.jsx(Rt,{value:"no-users",disabled:!0,children:"Nenhum usuário encontrado"}):n.map(e=>B.jsx(Rt,{value:e.userId,children:e.userName},e.userId))})]})},nr=({value:e,onChange:a,placeholder:t="Selecionar responsável",disabled:s,className:r})=>B.jsxs(wt,{value:e,onValueChange:a,disabled:s,children:[B.jsx(Ct,{className:r,children:B.jsx(kt,{placeholder:t})}),B.jsx(At,{children:B.jsx(Rt,{value:"placeholder",children:"Responsável placeholder"})})]});function or({title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,open:o,submitButtonText:i="Salvar",isLoading:l=!1,usersData:d}){const[c,m]=e.useState(t?.[0]?.id||""),u=e.useMemo(()=>t&&Array.isArray(t)?t.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[t]),{formData:p,errors:f,updateField:x,handleSubmit:h}=Zs(u,s,void 0,o),g=e.useMemo(()=>t&&Array.isArray(t)?t.map(e=>({...e,disabled:e.condition?!e.condition(p):e.disabled||!1})):[],[t,p]),b=e.useMemo(()=>{const e=g.find(e=>e.id===c);if(e&&!e.disabled)return c;const a=g.find(e=>!e.disabled);return a?.id||c},[g,c]);e.useEffect(()=>{b!==c&&m(b)},[b,c]);const v=g.find(e=>e.id===b),y=e=>{const a=(e.computedValue,p[e.name]),t=void 0!==a?a:"",s=f[e.name];switch(e.type){case"group":return B.jsxs("div",{className:"space-y-2",children:[e.label,B.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>y(e))})]},e.name);case"user-select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(rr,{value:t||"",onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(Fs,{id:e.name,value:t||"",onChange:a=>{x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsxs(wt,{value:String(t),onValueChange:a=>{x(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[B.jsx(Ct,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:B.jsx(kt,{placeholder:e.placeholder})}),B.jsx(At,{children:e.options?.map(e=>B.jsx(Rt,{value:e.value,children:e.label},e.value))})]}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"date",value:String(t),onChange:a=>x(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:q("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(nr,{value:String(t),onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(rr,{value:t??"",onChange:a=>x(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return B.jsxs("div",{children:[B.jsxs(Se,{htmlFor:e.name,children:[e.label," ",e.required&&B.jsx("span",{className:"text-destructive",children:"*"})]}),B.jsx(je,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>x(e.name,a.target.value),className:"h-10"}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return B.jsxs("div",{children:[B.jsx(Ae,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>x(e.name,a)}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return B.jsxs("div",{children:[B.jsx(dt,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>x(e.name,a)}),s&&B.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return B.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[B.jsx(Se,{htmlFor:e.name,children:e.label}),B.jsx(je,{id:e.name,type:"text",value:t||"",onChange:a=>{x(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&&B.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},N=e.useCallback(()=>{if(!v)return null;if(v.disabled)return B.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[B.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:B.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:B.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),B.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),B.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(v.component){const e=v.component;return B.jsx(e,{formData:p,updateField:x,errors:f,users:d,disabled:v.disabled})}return B.jsx("div",{className:"space-y-3",children:v.fields.map(y)})},[v,p,x,f,d,y]),j=B.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[g.length>1&&B.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:B.jsx("div",{className:"flex space-x-2",children:g.map(e=>B.jsx(W,{variant:b===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=g.find(a=>a.id===e);a&&!a.disabled&&m(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),B.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:l?B.jsx("div",{className:"flex items-center justify-center py-12",children:B.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):B.jsxs("form",{onSubmit:h(r),className:"space-y-3 md:space-y-4",children:[N(),B.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[B.jsx(W,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),B.jsx(W,{type:"submit",disabled:l,children:i})]})]})})]});return B.jsx(Le,{open:o,onOpenChange:e=>{!1===e&&!0===o&&n()},children:B.jsxs(We,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[B.jsxs(He,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[B.jsx(Ge,{className:"text-white",children:a}),B.jsx(Xe,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),j]})})}function ir(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function lr(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 dr(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 cr={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"}},mr={date:ir({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:ir({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:ir({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},ur={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 pr;const fr={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=cr[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:mr,formatRelative:(e,a,t,s)=>{const r=ur[e];return"function"==typeof r?r(a):r},localize:{ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:lr({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:lr({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:lr({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:lr({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:lr({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:(pr={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(pr.matchPattern);if(!t)return null;const s=t[0],r=e.match(pr.parsePattern);if(!r)return null;let n=pr.valueCallback?pr.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:dr({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:dr({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:dr({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:dr({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:dr({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}},xr=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const i=[];if(e){const a={icon:o.Edit,label:"Editar",onClick:e};i.push(a)}if(t){const e={icon:s?o.PowerOff:o.Power,label:s?"Inativar":"Ativar",onClick:t};i.push(e)}if(r&&a){const e={icon:o.Trash2,label:"Remover",onClick:a,destructive:!0};i.push(e)}return"dropdown"===n?B.jsx(B.Fragment,{children:i.map((e,a)=>B.jsxs(na,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[B.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):B.jsx(B.Fragment,{children:i.map((e,a)=>B.jsxs(W,{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:[B.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},hr=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>B.jsxs(Ke,{children:[B.jsx(Ye,{asChild:!0,children:B.jsx(W,{variant:"default",size:"sm",className:"h-7 px-2 text-xs bg-primary text-primary-foreground hover:bg-primary/90",children:B.jsx(o.EllipsisVertical,{size:12})})}),B.jsx(ra,{align:"end",children:B.jsx(xr,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]});const gr=({manager:a,columns:t,onEdit:s,onView:r,onToggleStatus:n,onDelete:i,renderActions:l})=>{const[d,c]=e.useState(!1),[m,u]=e.useState(null);e.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e.useEffect(()=>{const e=()=>u(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);return d?a.isLoading?B.jsx(Ss,{count:3}):0===a.entities.length?B.jsx(ua,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):B.jsxs("div",{className:"space-y-4",children:[a.entities.map(e=>B.jsx(he,{className:"overflow-hidden cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),s?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:B.jsxs(ye,{className:"p-4",children:[t.map(a=>B.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[B.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[a.header,":"]}),B.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)),(s||r||l)&&B.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(e):B.jsx(hr,{onEdit:s?()=>{s(e)}:void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]})},e.id)),m&&B.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:B.jsx(xr,{onEdit:s?()=>{s(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:n?()=>{n(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]}):B.jsxs("div",{className:"space-y-4",children:[a.isLoading?B.jsx(ws,{rows:5,columns:t.length}):0===a.entities.length?B.jsx(ua,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):B.jsxs(As,{children:[B.jsx(Es,{children:B.jsxs(Is,{children:[t.map(e=>{return B.jsx(_s,{className:`${e.className||""} ${e.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:e.sortable?()=>a.handleSort(e.key):void 0,children:B.jsxs("div",{className:"flex items-center "+(e.className?.includes("text-center")?"justify-center":""),children:[e.header,e.sortable&&(t=e.key,a.sortField!==t?B.jsx(o.ArrowUpDown,{size:14,className:"ml-1 opacity-50"}):"asc"===a.sortDirection?B.jsx(o.ArrowUp,{size:14,className:"ml-1"}):B.jsx(o.ArrowDown,{size:14,className:"ml-1"}))]})},e.key);var t}),B.jsx(_s,{className:"w-[100px] text-center",children:"Ações"})]})}),B.jsx(Rs,{children:a.entities.map(e=>B.jsxs(Is,{className:"cursor-pointer hover:bg-muted/50",onClick:a=>{a.stopPropagation(),s?.(e)},onContextMenu:a=>{a.preventDefault(),a.stopPropagation(),u({x:a.clientX,y:a.clientY,item:e})},children:[t.map(a=>B.jsx(Ds,{className:a.className,children:a.render?a.render(e):e[a.key]},a.key)),B.jsx(Ds,{className:"text-center",children:l?l(e):B.jsx(hr,{onEdit:s?()=>s(e):void 0,onDelete:i?()=>i(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]},e.id))})]}),m&&B.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:B.jsx(xr,{onEdit:s?()=>{s(m.item),u(null)}:void 0,onDelete:i?()=>{i(m.item),u(null)}:void 0,onToggleStatus:n?()=>{n(m.item),u(null)}:void 0,isActive:m.item.is_actived,canDelete:!!i,renderAs:"context"})})]})};function br({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return B.jsx(or,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const vr=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:i=0,totalPages:l=1}=a,d=i>0?(t-1)*s+1:0,c=Math.min(t*s,i);return B.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:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx("span",{children:"Itens por página"}),B.jsxs(wt,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[B.jsx(Ct,{className:"w-20 h-8 border-border",children:B.jsx(kt,{})}),B.jsxs(At,{children:[B.jsx(Rt,{value:"10",children:"10"}),B.jsx(Rt,{value:"25",children:"25"}),B.jsx(Rt,{value:"50",children:"50"}),B.jsx(Rt,{value:"100",children:"100"})]})]})]}),B.jsx("div",{className:"flex-1 flex justify-center",children:B.jsx("span",{children:i>0?`${d}-${c} de ${i} itens (página ${t} de ${l})`:"0 itens"})}),B.jsxs("div",{className:"flex items-center space-x-1",children:[B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:B.jsx(o.ChevronsLeft,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:B.jsx(o.ChevronLeft,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(Math.min(l,t+1)),disabled:t===l,children:B.jsx(o.ChevronRight,{className:"h-4 w-4"})}),B.jsx(W,{variant:"outline",size:"sm",onClick:()=>r(l),disabled:t===l,children:B.jsx(o.ChevronsRight,{className:"h-4 w-4"})})]})]})};function yr({manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:i,onToggleStatus:l}){const[d,c]=e.useState(!1),[m,u]=e.useState(null),[p,f]=e.useState({isOpen:!1,entityId:null,entityName:""}),x=e=>{u(e),c(!0)},h=()=>{c(!1),u(null)},g=e=>{r(e),c(!1),u(null)},b=e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})};return B.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[B.jsx("div",{className:"flex justify-between items-center px-4 py-1.5 bg-muted/50",children:B.jsx("div",{className:"flex items-center gap-4",children:B.jsxs(W,{onClick:()=>{u(null),c(!0)},className:"flex items-center gap-2",children:[B.jsx(o.Plus,{size:16}),"Novo"]})})}),B.jsx("div",{className:"flex-1 overflow-hidden",children:i?B.jsx(i,{manager:a,onEdit:x,onDelete:b,onToggleStatus:l}):B.jsx("div",{className:"flex flex-col h-full",children:B.jsx("div",{className:"flex-1 overflow-auto",children:B.jsx(gr,{manager:a,columns:t.columns,onEdit:x,onDelete:b,onToggleStatus:l})})})}),B.jsx(vr,{manager:a}),n?B.jsx(n,{open:d,onCancel:h,onSubmit:g,editingEntity:m,isLoading:a.isLoading}):B.jsx(br,{open:d,title:m?`Editar ${t.entityName}`:`Novo ${t.entityName}`,sections:s,initialData:m||void 0,onSubmit:g,onCancel:h,isLoading:a.isLoading,submitButtonText:m?"Atualizar":"Criar"}),B.jsx($e,{open:p.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:e=>{p.entityId&&(a.deleteEntity(p.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:p.entityId?{id:p.entityId,title:p.entityName}:void 0,entityName:t.entityName,isDeleting:a.isDeleting})]})}class Nr{static async extractTokenData(){const e=va.extractTokenData();return e||(Ra.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return Ra.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 Ra.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 tr.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 Ra.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 jr=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(jr);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=jr(s);return a}return e},wr=["responsible_name"];exports.AUTH_CONFIG=$a,exports.ActionMenuItems=xr,exports.Alert=re,exports.AlertDescription=oe,exports.AlertDialog=H,exports.AlertDialogAction=ae,exports.AlertDialogCancel=te,exports.AlertDialogContent=K,exports.AlertDialogDescription=ee,exports.AlertDialogFooter=J,exports.AlertDialogHeader=Y,exports.AlertDialogOverlay=X,exports.AlertDialogPortal=G,exports.AlertDialogTitle=Z,exports.AlertDialogTrigger=Q,exports.AlertTitle=ne,exports.AppHeader=Xs,exports.AppLayout=function({children:e,sidebar:a,sidebarConfig:t,showHeader:s=!0}){const r=a||B.jsx(Ys,{config:t});return B.jsx(Jt,{children:B.jsxs("div",{className:"min-h-screen flex w-full",children:[r,B.jsxs("main",{className:"flex-1 flex flex-col min-h-screen",children:[s&&B.jsx(Xs,{}),B.jsx("div",{className:"flex-1 flex flex-col",children:e})]})]})})},exports.AppSidebar=Ys,exports.AuthProvider=({children:a})=>{const[t,s]=e.useState({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0}),r=m.useQueryClient(),[n,o]=e.useState(!1),[i,l]=e.useState(0),d=e.useCallback(e=>{s(a=>({...a,...e}))},[]),c=e.useCallback(e=>{s(a=>({...a,isLoading:e}))},[]),u=e.useCallback(()=>{s({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0})},[]),p=e.useCallback(async e=>{try{c(!0);const a=va.getAccessToken();if(!a)return void console.error("[AuthContext] Access token não encontrado para trocar unidade");const t=await Va.generateSupabaseToken(a,e.alias);if(!t)return void console.error("[AuthContext] Erro ao gerar token Supabase para nova unidade");va.setSupabaseToken(t),va.setSelectedAlias(e.alias),d({alias:e.alias}),await r.invalidateQueries()}catch(a){console.error("[AuthContext] Erro ao trocar unidade",a,e)}finally{c(!1)}},[d,r,c]),f=e.useCallback(async()=>await Va.processCallback(),[]),x=e.useCallback(async()=>{Va.logout(),u(),await r.clear()},[u,r]),h=e.useCallback(e=>{o(e)},[]),g=e.useCallback(()=>{l(e=>e+1)},[]),b=e.useCallback(()=>{l(e=>e+1)},[]);e.useEffect(()=>{(async()=>{try{await new Promise(e=>setTimeout(e,100));const e=await Va.initialize();e&&e.isAuthenticated?d({user:e.user,companies:e.companies,alias:e.alias,isAuthenticated:!0,isLoading:!1}):c(!1)}catch(e){console.error("[AuthContext] Erro na inicialização da autenticação",e),c(!1)}})()},[d,c]);const v=e.useMemo(()=>({...t,logout:x,processCallback:f,switchUnit:p,availableUnits:t.companies,isSearchVisible:n,setSearchVisible:h,clearSearch:g,refreshData:b}),[t,x,f,p,n,h,g,b]);return B.jsx(Wa.Provider,{value:v,children:a})},exports.AuthService=Va,exports.Badge=le,exports.BaseCrudPage=function({manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i}){const{setSearchVisible:l,refreshData:d}=Ha();return e.useEffect(()=>(l(!0),()=>{l(!1)}),[l]),B.jsx(yr,{manager:a,config:t,formSections:s,onSave:r,FormComponent:n,TableComponent:o,onToggleStatus:i})},exports.Breadcrumb=de,exports.BreadcrumbEllipsis=xe,exports.BreadcrumbItem=me,exports.BreadcrumbLink=ue,exports.BreadcrumbList=ce,exports.BreadcrumbPage=pe,exports.BreadcrumbSeparator=fe,exports.Button=W,exports.CRUD_CONFIG=La,exports.CallbackPage=()=>{const{processCallback:a}=Ha(),[t,s]=e.useState(null),[r,n]=e.useState(!1);e.useEffect(()=>{(async()=>{try{console.log("🔄 [CallbackPage] Iniciando processamento do callback...");if(await a()){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 s("Falha na autenticação. Tente novamente.")}catch(e){console.error("❌ [CallbackPage] Erro no processamento:",e),s(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[a]);const i=async()=>{n(!0),s(null);try{await a()||s("Falha na autenticação. Tente novamente.")}catch(e){s(e?.message||"Erro ao tentar novamente.")}finally{n(!1)}},l=()=>{window.location.href="/"};return t?B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsxs(be,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[B.jsx(o.AlertCircle,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),B.jsxs(ye,{className:"space-y-4",children:[B.jsx(re,{variant:"destructive",children:B.jsx(oe,{children:t})}),B.jsx("div",{className:"text-sm text-muted-foreground",children:B.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),B.jsxs("div",{className:"flex gap-2",children:[B.jsx(W,{onClick:i,disabled:r,className:"flex-1",children:r?B.jsxs(B.Fragment,{children:[B.jsx(xt,{size:"sm",className:"mr-2"}),"Tentando..."]}):B.jsxs(B.Fragment,{children:[B.jsx(o.RefreshCw,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),B.jsx(W,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"flex justify-center mb-4",children:B.jsx(xt,{size:"lg"})}),B.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},exports.Card=he,exports.CardContent=ye,exports.CardDescription=ve,exports.CardFooter=Ne,exports.CardHeader=ge,exports.CardSkeleton=Ss,exports.CardTitle=be,exports.ColorPicker=Ae,exports.Command=Ee,exports.CommandDialog=({children:e,...a})=>B.jsx("div",{...a,children:B.jsx(Ee,{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})}),exports.CommandEmpty=_e,exports.CommandGroup=De,exports.CommandInput=Re,exports.CommandItem=Fe,exports.CommandList=Ie,exports.CommandSeparator=Oe,exports.CommandShortcut=ze,exports.CrudCards=function({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?B.jsx(nt,{children:Array.from({length:3}).map((e,a)=>B.jsxs(he,{children:[B.jsxs(ge,{children:[B.jsx(js,{className:"h-4 w-3/4"}),B.jsx(js,{className:"h-3 w-1/2"})]}),B.jsx(ye,{children:B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-3 w-full"}),B.jsx(js,{className:"h-3 w-2/3"})]})})]},a))}):B.jsx(Me.Root,{children:e.entities.map(e=>B.jsxs(Me.Item,{onClick:()=>t(e),children:[B.jsx(ge,{className:"pb-3",children:B.jsxs("div",{className:"flex items-start justify-between",children:[B.jsxs("div",{className:"flex-1 min-w-0",children:[B.jsx(be,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),B.jsx(ve,{className:"text-sm",children:j.format(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:fr})})]}),B.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&B.jsx(W,{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),y.toast.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:B.jsx(o.ExternalLink,{className:"h-4 w-4"})}),B.jsx("div",{onClick:e=>e.stopPropagation(),children:B.jsx(hr,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),B.jsx(ye,{className:"pt-0",children:B.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?B.jsx(Me.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})},exports.CrudForm=br,exports.CrudPage=yr,exports.CrudTable=gr,exports.DataList=Me,exports.Dialog=Le,exports.DialogClose=qe,exports.DialogContent=We,exports.DialogDescription=Xe,exports.DialogFooter=Qe,exports.DialogHeader=He,exports.DialogOverlay=Ve,exports.DialogPortal=Be,exports.DialogTitle=Ge,exports.DialogTrigger=Ue,exports.DropdownMenu=Ke,exports.DropdownMenuCheckboxItem=oa,exports.DropdownMenuContent=ra,exports.DropdownMenuGroup=Je,exports.DropdownMenuItem=na,exports.DropdownMenuLabel=la,exports.DropdownMenuPortal=Ze,exports.DropdownMenuRadioGroup=aa,exports.DropdownMenuRadioItem=ia,exports.DropdownMenuSeparator=da,exports.DropdownMenuShortcut=ca,exports.DropdownMenuSub=ea,exports.DropdownMenuSubContent=sa,exports.DropdownMenuSubTrigger=ta,exports.DropdownMenuTrigger=Ye,exports.EmptyState=ua,exports.ErrorBoundary=Js,exports.FeedbackDialog=Qa,exports.FilterBar=function({manager:e,filters:a}){const{isSearchVisible:t}=Ha(),s=e.searchTerm;return B.jsx(Ps,{direction:"column",gap:"md",className:"mb-6",children:B.jsxs(Ps,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[a.some(e=>"search"===e.type)&&!t&&B.jsxs("div",{className:"relative flex-1",children:[B.jsx(o.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),B.jsx(je,{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 B.jsx("div",{className:"w-full sm:w-auto",children:B.jsx(t,{...e.props})},a)}),s&&B.jsxs(W,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[B.jsx(o.X,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})},exports.Form=Ga,exports.FormControl=et,exports.FormDescription=at,exports.FormField=({...e})=>B.jsx(Xa.Provider,{value:{name:e.name},children:B.jsx(p.Controller,{...e})}),exports.FormItem=Ja,exports.FormLabel=Za,exports.FormMessage=tt,exports.FormSkeleton=function({fields:e=4}){return B.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>B.jsxs("div",{className:"space-y-2",children:[B.jsx(js,{className:"h-4 w-24"}),B.jsx(js,{className:"h-10 w-full"})]},a)),B.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[B.jsx(js,{className:"h-10 w-20"}),B.jsx(js,{className:"h-10 w-20"})]})]})},exports.GenericEntityForm=function({open:e,onCancel:a,onSubmit:t,editingEntity:s,isLoading:r=!1,title:n,editTitle:o,sections:i,transformData:l}){const{alias:d}=Ha();return B.jsx(br,{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"})},exports.Grid=nt,exports.HeaderSkeleton=function(){return B.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[B.jsxs("div",{className:"flex items-center space-x-3",children:[B.jsx(js,{className:"h-8 w-8 rounded-full"}),B.jsx(js,{className:"h-6 w-32"})]}),B.jsxs("div",{className:"flex items-center space-x-2",children:[B.jsx(js,{className:"h-8 w-8"}),B.jsx(js,{className:"h-8 w-24"})]})]})},exports.IconPicker=dt,exports.Input=je,exports.InputOTP=ct,exports.InputOTPGroup=mt,exports.InputOTPSeparator=pt,exports.InputOTPSlot=ut,exports.Label=Se,exports.LoadingState=function({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?B.jsxs("div",{className:q("relative",t),children:[a,B.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:B.jsx(xt,{size:r})})]}):"skeleton"===s?B.jsx("div",{className:q("animate-pulse",t),children:B.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):B.jsx("div",{className:q("flex items-center justify-center py-8",t),children:B.jsx(xt,{size:r})}):B.jsx(B.Fragment,{children:a})},exports.MESSAGES=qa,exports.ModuleSelector=function({modules:a,currentModule:t,onModuleSelect:s,placeholder:r="Selecionar módulo...",emptyMessage:n="Nenhum módulo encontrado.",className:i}){const[l,d]=e.useState(!1),[c,m]=e.useState(""),u=e.useMemo(()=>c?a.filter(e=>e.name.toLowerCase().includes(c.toLowerCase())):a,[a,c]),p=a.find(e=>!!t&&e.url===t);return B.jsxs(ke,{open:l,onOpenChange:d,children:[B.jsx(Ce,{asChild:!0,children:B.jsxs(W,{variant:"outline",role:"combobox","aria-expanded":l,className:q("w-full justify-between",i),children:[B.jsx("span",{className:"truncate",children:p?p.name:r}),B.jsx(o.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),B.jsx(Te,{className:"w-full p-0",align:"start",children:B.jsxs(Ee,{children:[B.jsx(Re,{placeholder:"Buscar módulos...",value:c,onChange:e=>m(e.target.value)}),B.jsxs(Ie,{children:[B.jsx(_e,{children:n}),B.jsx(De,{children:u.map(e=>B.jsxs(Fe,{value:e.name,onSelect:()=>{s(e.url),d(!1),m("")},children:[B.jsx(o.Check,{className:q("mr-2 h-4 w-4",p?.id===e.id?"opacity-100":"opacity-0")}),B.jsx("span",{className:"truncate",children:e.name})]},e.id))})]})]})})]})},exports.PageBreadcrumb=function({items:e,maxItems:a=3,className:t}){const s=e.length>a?[e[0],...e.slice(-(a-1))]:e,r=e.length>a;return B.jsx(de,{className:t,children:B.jsx(ce,{children:s.map((e,a)=>{const t=a===s.length-1,n=r&&1===a;return B.jsxs("div",{className:"flex items-center",children:[n&&B.jsxs(B.Fragment,{children:[B.jsx(me,{children:B.jsx(xe,{})}),B.jsx(fe,{})]}),B.jsx(me,{children:t||e.isCurrentPage?B.jsx(pe,{className:"font-bold text-lg",children:e.label}):B.jsx(ue,{href:e.href,children:e.label})}),!t&&B.jsx(fe,{})]},`${e.label}-${a}`)})})})},exports.Pagination=ht,exports.PaginationContent=gt,exports.PaginationEllipsis=jt,exports.PaginationItem=bt,exports.PaginationLink=vt,exports.PaginationNext=Nt,exports.PaginationPrevious=yt,exports.Popover=ke,exports.PopoverContent=Te,exports.PopoverTrigger=Ce,exports.ProtectedRoute=({children:a})=>{const{isAuthenticated:t,isLoading:s}=Ha();if(s)return B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Carregando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.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")?B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Processando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})}):(e.useEffect(()=>{(async()=>{Ba()?await Va.loginDev():Va.loginProd()})()},[]),B.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:B.jsxs(he,{className:"w-full max-w-md",children:[B.jsx(ge,{className:"text-center",children:B.jsx(be,{className:"text-xl font-semibold",children:"Iniciando..."})}),B.jsxs(ye,{className:"text-center",children:[B.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),B.jsx("p",{className:"text-muted-foreground",children:Ba()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})}))}return B.jsx(B.Fragment,{children:a})},exports.QUERY_KEYS={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]},exports.QualiexEnrichmentService=Nr,exports.QualiexResponsibleSelectField=nr,exports.QualiexUserField=rr,exports.SEARCH_CONFIG=Ua,exports.ScrollArea=ot,exports.ScrollBar=it,exports.Select=wt,exports.SelectContent=At,exports.SelectGroup=St,exports.SelectItem=Rt,exports.SelectLabel=Et,exports.SelectScrollDownButton=Pt,exports.SelectScrollUpButton=Tt,exports.SelectSeparator=It,exports.SelectTrigger=Ct,exports.SelectValue=kt,exports.Separator=_t,exports.Sheet=Dt,exports.SheetClose=Ft,exports.SheetContent=Lt,exports.SheetDescription=Vt,exports.SheetFooter=Bt,exports.SheetHeader=Ut,exports.SheetOverlay=Mt,exports.SheetPortal=zt,exports.SheetTitle=qt,exports.SheetTrigger=Ot,exports.Sidebar=Zt,exports.SidebarContent=is,exports.SidebarFooter=ns,exports.SidebarGroup=ls,exports.SidebarGroupAction=cs,exports.SidebarGroupContent=ms,exports.SidebarGroupLabel=ds,exports.SidebarHeader=rs,exports.SidebarInput=ss,exports.SidebarInset=ts,exports.SidebarMenu=us,exports.SidebarMenuAction=hs,exports.SidebarMenuBadge=gs,exports.SidebarMenuButton=xs,exports.SidebarMenuItem=ps,exports.SidebarMenuSkeleton=bs,exports.SidebarMenuSub=vs,exports.SidebarMenuSubButton=Ns,exports.SidebarMenuSubItem=ys,exports.SidebarProvider=Jt,exports.SidebarRail=as,exports.SidebarSeparator=os,exports.SidebarSkeleton=function(){return B.jsx("div",{className:"w-64 border-r bg-muted/10",children:B.jsxs("div",{className:"p-4",children:[B.jsx(js,{className:"h-8 w-32 mb-6"}),B.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>B.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[B.jsx(js,{className:"h-4 w-4"}),B.jsx(js,{className:"h-4 w-20"})]},a))})]})})},exports.SidebarTrigger=es,exports.Skeleton=js,exports.Spinner=xt,exports.Stack=Ps,exports.Table=As,exports.TableBody=Rs,exports.TableCaption=Os,exports.TableCell=Ds,exports.TableFooter=vr,exports.TableHead=_s,exports.TableHeader=Es,exports.TableRow=Is,exports.TableRowActions=hr,exports.TableSkeleton=ws,exports.Textarea=Fs,exports.Toast=Ls,exports.ToastAction=Us,exports.ToastClose=Bs,exports.ToastDescription=Vs,exports.ToastProvider=zs,exports.ToastTitle=qs,exports.ToastViewport=Ms,exports.Toaster=function(){const{toasts:e}=Pa();return B.jsxs(zs,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return B.jsxs(Ls,{...r,children:[B.jsxs("div",{className:"grid gap-1",children:[a&&B.jsx(qs,{children:a}),t&&B.jsx(Vs,{children:t})]}),s,B.jsx(Bs,{})]},e)}),B.jsx(Ms,{})]})},exports.TokenManager=va,exports.Tooltip=Ht,exports.TooltipContent=Gt,exports.TooltipProvider=Wt,exports.TooltipTrigger=Qt,exports.badgeVariants=ie,exports.buttonVariants=V,exports.cn=q,exports.createService=function(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=()=>Ma().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:p,count:f}=await m;if(p)throw new Error(`Error fetching ${r}: ${p.message}`);let x=((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||[],f,o,d);if(i&&x.data.length>0){if(t&&(h=t,wr.includes(h))){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 Nr.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 Nr.enrichWithResponsibleNames(x.data,{entityName:i});x={...x,data:a}}var h;return x},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=jr(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={...jr(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}`)}}},exports.debounce=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},exports.errorService=Ra,exports.formatDatetime=e=>{if(!e)return"";const a=j.parseISO(e);if(!j.isValid(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"})}`},exports.getSupabaseClient=Ma,exports.isDevEnvironment=Ba,exports.qualiexApi=tr,exports.setupQualiexCore=function(e){return{queryClient:e.queryClient||new m.QueryClient({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}},exports.toast=Ta,exports.trimTextFields=jr,exports.useActiveModules=Ks,exports.useAuth=Ha,exports.useBaseForm=Zs,exports.useCrud=function({queryKey:a,service:t,entityName:s,searchFields:r,additionalFilters:n={},onSuccess:o}){const[i,l]=h.useSearchParams(),d=m.useQueryClient(),c=i.get("search")||"",u=i.get("sortField")||La.sorting.defaultField,p=i.get("sortDirection")||La.sorting.defaultDirection,f=parseInt(i.get("page")||"1"),x=parseInt(i.get("limit")||String(La.pagination.defaultPageSize)),g=c,b=e.useMemo(()=>({search:g,sortField:u,sortDirection:p,page:f,limit:x,...n}),[g,u,p,f,x,n]),v=e.useCallback(()=>t.getAll(b),[t,b]),N=m.useQuery({queryKey:[a,b],queryFn:v}),j=m.useMutation({mutationFn:t.create,onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.created(s)),o?.()},onError:e=>{y.toast.error(`${qa.error.create(s)}: ${e.message}`)}}),w=m.useMutation({mutationFn:({id:e,data:a})=>t.update(e,a),onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.updated(s)),o?.()},onError:e=>{y.toast.error(`${qa.error.update(s)}: ${e.message}`)}}),S=m.useMutation({mutationFn:t.delete,onSuccess:()=>{d.invalidateQueries({queryKey:[a]}),y.toast.success(qa.success.deleted(s))},onError:e=>{y.toast.error(`${qa.error.delete(s)}: ${e.message}`)}}),k=e.useCallback(e=>{const a={...Object.fromEntries(i)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),l(a)},[i,l]),C=e.useCallback(e=>{k({search:e,page:1})},[k]),T=e.useCallback(e=>{k({sortField:e,sortDirection:u===e&&"asc"===p?"desc":"asc",page:1})},[u,p,k]),P=e.useCallback(e=>{k({page:e})},[k]),A=e.useCallback(e=>{k({limit:e,page:1})},[k]),E=e.useCallback(()=>{l({})},[l]);return{entities:N.data?.data||[],pagination:{currentPage:N.data?.currentPage||1,totalPages:N.data?.totalPages||1,totalItems:N.data?.totalItems||0,itemsPerPage:N.data?.itemsPerPage||La.pagination.defaultPageSize,hasNextPage:N.data?.hasNextPage||!1,hasPreviousPage:N.data?.hasPreviousPage||!1},isLoading:N.isLoading,isCreating:j.isPending,isUpdating:w.isPending,isDeleting:S.isPending,error:N.error,searchTerm:c,sortField:u,sortDirection:p,currentPage:f,itemsPerPage:x,createEntity:j.mutate,updateEntity:(e,a)=>w.mutate({id:e,data:a}),deleteEntity:S.mutate,handleSearch:C,handleSort:T,handlePageChange:P,handleItemsPerPageChange:A,clearFilters:E,refetch:N.refetch}},exports.useDebounce=Gs,exports.useFormField=Ka,exports.usePageTitle=Hs,exports.useQualiexUsers=sr,exports.useRouteBreadcrumbs=function(){const e=h.useLocation();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})()},exports.useSidebar=Yt,exports.useToast=Pa;
11
11
  //# sourceMappingURL=index.js.map