forlogic-core 1.6.0 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("react"),t=require("@radix-ui/react-slot"),a=require("class-variance-authority"),s=require("clsx"),r=require("tailwind-merge"),n=require("date-fns"),o=require("@radix-ui/react-label"),i=require("@radix-ui/react-dialog"),l=require("lucide-react"),c=require("react-hook-form"),d=require("@radix-ui/react-select"),u=require("@radix-ui/react-checkbox"),m=require("@radix-ui/react-toast"),p=require("@supabase/supabase-js"),f=require("@tanstack/react-query"),h=require("react-router-dom"),x=require("sonner"),g=require("@radix-ui/react-alert-dialog"),b=require("@radix-ui/react-dropdown-menu"),v=require("@radix-ui/react-popover"),y=require("@radix-ui/react-scroll-area"),N=require("@radix-ui/react-accordion"),j=require("@radix-ui/react-aspect-ratio"),w=require("@radix-ui/react-avatar"),k=require("react-day-picker"),S=require("@radix-ui/react-collapsible"),C=require("@radix-ui/react-progress"),T=require("@radix-ui/react-radio-group"),P=require("@radix-ui/react-separator"),A=require("@radix-ui/react-tooltip"),R=require("@radix-ui/react-slider"),E=require("next-themes");require("react-dom");var I=require("@radix-ui/react-tabs"),_=require("@radix-ui/react-toggle"),D=require("@radix-ui/react-toggle-group"),O=require("react-markdown"),z=require("remark-gfm");function L(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if("default"!==a){var s=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,s.get?s:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var F,M=L(e),$=L(o),U=L(i),B=L(d),V=L(u),q=L(m),W=L(g),H=L(b),Q=L(v),G=L(y),X=L(N),K=L(j),J=L(w),Y=L(S),Z=L(C),ee=L(T),te=L(P),ae=L(A),se=L(R),re=L(I),ne=L(_),oe=L(D),ie={exports:{}},le={};var ce,de,ue={};
1
+ "use strict";var e=require("react"),t=require("@radix-ui/react-slot"),a=require("class-variance-authority"),s=require("clsx"),r=require("tailwind-merge"),n=require("date-fns"),o=require("@radix-ui/react-label"),i=require("@radix-ui/react-dialog"),l=require("lucide-react"),c=require("react-hook-form"),d=require("@radix-ui/react-select"),u=require("@radix-ui/react-checkbox"),m=require("@radix-ui/react-toast"),p=require("@supabase/supabase-js"),f=require("@tanstack/react-query"),h=require("react-router-dom"),x=require("sonner"),g=require("@radix-ui/react-alert-dialog"),b=require("@radix-ui/react-dropdown-menu"),v=require("@radix-ui/react-popover"),y=require("@radix-ui/react-scroll-area"),N=require("@radix-ui/react-accordion"),j=require("@radix-ui/react-aspect-ratio"),w=require("@radix-ui/react-avatar"),k=require("react-day-picker"),S=require("@radix-ui/react-collapsible"),C=require("@radix-ui/react-progress"),T=require("@radix-ui/react-radio-group"),P=require("@radix-ui/react-separator"),A=require("@radix-ui/react-tooltip"),R=require("@radix-ui/react-slider"),E=require("next-themes");require("react-dom");var I=require("@radix-ui/react-tabs"),_=require("@radix-ui/react-toggle"),D=require("@radix-ui/react-toggle-group"),O=require("react-markdown"),z=require("remark-gfm");function F(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if("default"!==a){var s=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,s.get?s:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var L,M=F(e),$=F(o),U=F(i),B=F(d),V=F(u),q=F(m),W=F(g),H=F(b),Q=F(v),G=F(y),X=F(N),K=F(j),J=F(w),Y=F(S),Z=F(C),ee=F(T),te=F(P),ae=F(A),se=F(R),re=F(I),ne=F(_),oe=F(D),ie={exports:{}},le={};var ce,de,ue={};
2
2
  /**
3
3
  * @license React
4
4
  * react-jsx-runtime.development.js
@@ -7,4 +7,4 @@
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 me(){return ce||(ce=1,"production"!==process.env.NODE_ENV&&function(){var t=e,a=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"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];!function(e,t,a){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(t+="%s",a=a.concat([r]));var n=a.map(function(e){return String(e)});n.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,n)}("error",e,a)}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 d:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return v(e)+".Consumer";case i:return v(e._context)+".Provider";case c:return function(e,t,a){var s=e.displayName;if(s)return s;var r=t.displayName||t.name||"";return""!==r?a+"("+r+")":a}(e,e.render,"ForwardRef");case m:var t=e.displayName||null;return null!==t?t:y(e.type)||"Memo";case p:var a=e,f=a._payload,h=a._init;try{return y(h(f))}catch(x){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,P=Object.assign,A=0;function R(){}R.__reactDisabledLog=!0;var E,I=x.ReactCurrentDispatcher;function _(e,t,a){if(void 0===E)try{throw Error()}catch(r){var s=r.stack.trim().match(/\n( *(at )?)/);E=s&&s[1]||""}return"\n"+E+e}var D,O=!1,z="function"==typeof WeakMap?WeakMap:Map;function L(e,t){if(!e||O)return"";var a,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,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:R,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}();try{if(t){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(f){a=f}Reflect.construct(e,[],o)}else{try{o.call()}catch(f){a=f}e.call(o.prototype)}}else{try{throw Error()}catch(f){a=f}e()}}catch(h){if(h&&a&&"string"==typeof h.stack){for(var i=h.stack.split("\n"),l=a.stack.split("\n"),c=i.length-1,d=l.length-1;c>=1&&d>=0&&i[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(i[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||i[c]!==l[d]){var u="\n"+i[c].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,u),u}}while(c>=1&&d>=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:k}),group:P({},e,{value:S}),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 m=e?e.displayName||e.name:"",p=m?_(m):"";return"function"==typeof e&&D.set(e,p),p}function F(e,t,a){if(null==e)return"";if("function"==typeof e)return L(e,!(!(s=e.prototype)||!s.isReactComponent));var s;if("string"==typeof e)return _(e);switch(e){case d:return _("Suspense");case u:return _("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return L(e.render,!1);case m:return F(e.type,t,a);case p:var r=e,n=r._payload,o=r._init;try{return F(o(n),t,a)}catch(i){}}return""}D=new z;var M=Object.prototype.hasOwnProperty,$={},U=x.ReactDebugCurrentFrame;function B(e){if(e){var t=e._owner,a=F(e.type,e._source,t?t.type:null);U.setExtraStackFrame(a)}else U.setExtraStackFrame(null)}var V=Array.isArray;function q(e){return V(e)}function W(e){return""+e}function H(e){if(function(e){try{return W(e),!1}catch(t){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)),W(e)}var Q,G,X=x.ReactCurrentOwner,K={key:!0,ref:!0,__self:!0,__source:!0};function J(e,t,s,r,n){var o,i={},l=null,c=null;for(o in void 0!==s&&(H(s),l=""+s),function(e){if(M.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(H(t.key),l=""+t.key),function(e){if(M.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e){"string"==typeof e.ref&&X.current}(t)),t)M.call(t,o)&&!K.hasOwnProperty(o)&&(i[o]=t[o]);if(e&&e.defaultProps){var d=e.defaultProps;for(o in d)void 0===i[o]&&(i[o]=d[o])}if(l||c){var u="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var a=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};a.isReactWarning=!0,Object.defineProperty(e,"key",{get:a,configurable:!0})}(i,u),c&&function(e,t){var a=function(){G||(G=!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)",t))};a.isReactWarning=!0,Object.defineProperty(e,"ref",{get:a,configurable:!0})}(i,u)}return function(e,t,s,r,n,o,i){var l={$$typeof:a,type:e,key:t,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,c,n,r,X.current,i)}var Y,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function te(e){if(e){var t=e._owner,a=F(e.type,e._source,t?t.type:null);ee.setExtraStackFrame(a)}else ee.setExtraStackFrame(null)}function ae(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}function se(){if(Z.current){var e=y(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Y=!1;var re={};function ne(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var a=function(e){var t=se();if(!t){var a="string"==typeof e?e:e.displayName||e.name;a&&(t="\n\nCheck the top-level render call using <"+a+">.")}return t}(t);if(!re[a]){re[a]=!0;var s="";e&&e._owner&&e._owner!==Z.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.',a,s),te(null)}}}function oe(e,t){if("object"==typeof e)if(q(e))for(var a=0;a<e.length;a++){var s=e[a];ae(s)&&ne(s,t)}else if(ae(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var t=h&&e[h]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,o=r.call(e);!(n=o.next()).done;)ae(n.value)&&ne(n.value,t)}}function ie(e){var t,a=e.type;if(null!=a&&"string"!=typeof a){if("function"==typeof a)t=a.propTypes;else{if("object"!=typeof a||a.$$typeof!==c&&a.$$typeof!==m)return;t=a.propTypes}if(t){var s=y(a);!function(e,t,a,s,r){var n=Function.call.bind(M);for(var o in e)if(n(e,o)){var i=void 0;try{if("function"!=typeof e[o]){var l=Error((s||"React class")+": "+a+" 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](t,o,s,a,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(c){i=c}!i||i instanceof Error||(B(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",a,o,typeof i),B(null)),i instanceof Error&&!(i.message in $)&&($[i.message]=!0,B(r),g("Failed %s type: %s",a,i.message),B(null))}}(t,e.props,"prop",s,e)}else if(void 0!==a.PropTypes&&!Y){Y=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(a)||"Unknown")}"function"!=typeof a.getDefaultProps||a.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function ce(e,t,s,h,x,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===d||e===u||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===m||e.$$typeof===i||e.$$typeof===l||e.$$typeof===c||e.$$typeof===b||void 0!==e.getModuleId)}(e);if(!N){var j="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(j+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;j+=se(),null===e?w="null":q(e)?w="array":void 0!==e&&e.$$typeof===a?(w="<"+(y(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=J(e,t,s,x,v);if(null==k)return k;if(N){var S=t.children;if(void 0!==S)if(h)if(q(S)){for(var C=0;C<S.length;C++)oe(S[C],e);Object.freeze&&Object.freeze(S)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oe(S,e)}if(M.call(t,"key")){var T=y(e),P=Object.keys(t).filter(function(e){return"key"!==e}),A=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!le[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),le[T+A]=!0}return e===r?function(e){for(var t=Object.keys(e.props),a=0;a<t.length;a++){var s=t[a];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))}(k):ie(k),k}var de=function(e,t,a){return ce(e,t,a,!1)},me=function(e,t,a){return ce(e,t,a,!0)};ue.Fragment=r,ue.jsx=de,ue.jsxs=me}()),ue}var pe=(de||(de=1,"production"===process.env.NODE_ENV?ie.exports=function(){if(F)return le;F=1;var t=e,a=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(e,t,s){var i,l={},c=null,d=null;for(i in void 0!==s&&(c=""+s),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)r.call(t,i)&&!o.hasOwnProperty(i)&&(l[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===l[i]&&(l[i]=t[i]);return{$$typeof:a,type:e,key:c,ref:d,props:l,_owner:n.current}}return le.Fragment=s,le.jsx=i,le.jsxs=i,le}():ie.exports=me()),ie.exports);function fe(...e){return r.twMerge(s.clsx(e))}const he=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(he);if("object"==typeof e&&e.constructor===Object){const t={};for(const[a,s]of Object.entries(e))t[a]=he(s);return t}return e},xe=a.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",action:"bg-primary/10 text-primary hover:bg-primary/20 border border-primary/30","icon-only":"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2","external-link":"bg-transparent text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors","action-primary":"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm","action-secondary":"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input"},size:{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"}}),ge=M.forwardRef(({className:e,variant:a,size:s,asChild:r=!1,...n},o)=>{const i=r?t.Slot:"button";return pe.jsx(i,{className:fe(xe({variant:a,size:s,className:e})),ref:o,...n})});ge.displayName="Button";const be=M.forwardRef(({className:e,type:t,...a},s)=>pe.jsx("input",{type:t,className:fe("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,...a}));be.displayName="Input";const ve=a.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ye=M.forwardRef(({className:e,...t},a)=>pe.jsx($.Root,{ref:a,className:fe(ve(),e),...t}));ye.displayName=$.Root.displayName;const Ne=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Ne.displayName="Card";const je=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex flex-col space-y-1.5 p-6",e),...t}));je.displayName="CardHeader";const we=M.forwardRef(({className:e,...t},a)=>pe.jsx("h3",{ref:a,className:fe("text-2xl font-semibold leading-none tracking-tight",e),...t}));we.displayName="CardTitle";const ke=M.forwardRef(({className:e,...t},a)=>pe.jsx("p",{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));ke.displayName="CardDescription";const Se=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("p-6 pt-0",e),...t}));Se.displayName="CardContent";const Ce=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex items-center p-6 pt-0",e),...t}));Ce.displayName="CardFooter";const Te=U.Root,Pe=U.Trigger,Ae=U.Portal,Re=U.Close,Ee=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Overlay,{ref:a,className:fe("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),...t}));Ee.displayName=U.Overlay.displayName;const Ie=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(Ae,{children:[pe.jsx(Ee,{}),pe.jsxs(U.Content,{ref:s,className:fe("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),...a,children:[t,pe.jsxs(U.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:[pe.jsx(l.X,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Ie.displayName=U.Content.displayName;const _e=({className:e,...t})=>pe.jsx("div",{className:fe("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),...t});_e.displayName="DialogHeader";const De=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});De.displayName="DialogFooter";const Oe=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Title,{ref:a,className:fe("text-lg font-semibold leading-none tracking-tight",e),...t}));Oe.displayName=U.Title.displayName;const ze=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));ze.displayName=U.Description.displayName;const Le=c.FormProvider,Fe=M.createContext({}),Me=()=>{const e=M.useContext(Fe),t=M.useContext($e),{getFieldState:a,formState:s}=c.useFormContext(),r=a(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:n}=t;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...r}},$e=M.createContext({}),Ue=M.forwardRef(({className:e,...t},a)=>{const s=M.useId();return pe.jsx($e.Provider,{value:{id:s},children:pe.jsx("div",{ref:a,className:fe("space-y-2",e),...t})})});Ue.displayName="FormItem";const Be=M.forwardRef(({className:e,...t},a)=>{const{error:s,formItemId:r}=Me();return pe.jsx(ye,{ref:a,className:fe(s&&"text-destructive",e),htmlFor:r,...t})});Be.displayName="FormLabel";const Ve=M.forwardRef(({...e},a)=>{const{error:s,formItemId:r,formDescriptionId:n,formMessageId:o}=Me();return pe.jsx(t.Slot,{ref:a,id:r,"aria-describedby":s?`${n} ${o}`:`${n}`,"aria-invalid":!!s,...e})});Ve.displayName="FormControl";M.forwardRef(({className:e,...t},a)=>{const{formDescriptionId:s}=Me();return pe.jsx("p",{ref:a,id:s,className:fe("text-sm text-muted-foreground",e),...t})}).displayName="FormDescription";const qe=M.forwardRef(({className:e,children:t,...a},s)=>{const{error:r,formMessageId:n}=Me(),o=r?String(r?.message):t;return o?pe.jsx("p",{ref:s,id:n,className:fe("text-sm font-medium text-destructive",e),...a,children:o}):null});qe.displayName="FormMessage";const We=B.Root,He=B.Value,Qe=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(B.Trigger,{ref:s,className:fe("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),...a,children:[t,pe.jsx(B.Icon,{asChild:!0,children:pe.jsx(l.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));Qe.displayName=B.Trigger.displayName;const Ge=M.forwardRef(({className:e,...t},a)=>pe.jsx(B.ScrollUpButton,{ref:a,className:fe("flex cursor-default items-center justify-center py-1",e),...t,children:pe.jsx(l.ChevronUp,{className:"h-4 w-4"})}));Ge.displayName=B.ScrollUpButton.displayName;const Xe=M.forwardRef(({className:e,...t},a)=>pe.jsx(B.ScrollDownButton,{ref:a,className:fe("flex cursor-default items-center justify-center py-1",e),...t,children:pe.jsx(l.ChevronDown,{className:"h-4 w-4"})}));Xe.displayName=B.ScrollDownButton.displayName;const Ke=M.forwardRef(({className:e,children:t,position:a="popper",...s},r)=>pe.jsx(B.Portal,{children:pe.jsxs(B.Content,{ref:r,className:fe("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"===a&&"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:a,...s,children:[pe.jsx(Ge,{}),pe.jsx(B.Viewport,{className:fe("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),pe.jsx(Xe,{})]})}));Ke.displayName=B.Content.displayName;M.forwardRef(({className:e,...t},a)=>pe.jsx(B.Label,{ref:a,className:fe("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t})).displayName=B.Label.displayName;const Je=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(B.Item,{ref:s,className:fe("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),...a,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(B.ItemIndicator,{children:pe.jsx(l.Check,{className:"h-4 w-4"})})}),pe.jsx(B.ItemText,{children:t})]}));Je.displayName=B.Item.displayName;M.forwardRef(({className:e,...t},a)=>pe.jsx(B.Separator,{ref:a,className:fe("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=B.Separator.displayName;const Ye=M.forwardRef(({className:e,...t},a)=>pe.jsx(V.Root,{ref:a,className:fe("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:pe.jsx(V.Indicator,{className:fe("flex items-center justify-center text-current"),children:pe.jsx(l.Check,{className:"h-4 w-4"})})}));Ye.displayName=V.Root.displayName;const Ze=M.forwardRef(({className:e,...t},a)=>pe.jsx("textarea",{className:fe("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:a,...t}));Ze.displayName="Textarea";const et=a.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"}}),tt=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx("div",{ref:s,className:fe(et({variant:t}),e),...a}));tt.displayName="Badge";const at={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function st({size:e="md",className:t}){return pe.jsx(l.Loader2,{className:fe("animate-spin text-muted-foreground",at[e],t)})}let rt=0;const nt=new Map,ot=e=>{if(nt.has(e))return;const t=setTimeout(()=>{nt.delete(e),dt({type:"REMOVE_TOAST",toastId:e})},1e6);nt.set(e,t)},it=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{const{toastId:a}=t;return a?ot(a):e.toasts.forEach(e=>{ot(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},lt=[];let ct={toasts:[]};function dt(e){ct=it(ct,e),lt.forEach(e=>{e(ct)})}function ut({...e}){const t=(rt=(rt+1)%Number.MAX_SAFE_INTEGER,rt.toString()),a=()=>dt({type:"DISMISS_TOAST",toastId:t});return dt({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||a()}}}),{id:t,dismiss:a,update:e=>dt({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function mt(){const[e,t]=M.useState(ct);return M.useEffect(()=>(lt.push(t),()=>{const e=lt.indexOf(t);e>-1&&lt.splice(e,1)}),[e]),{...e,toast:ut,dismiss:e=>dt({type:"DISMISS_TOAST",toastId:e})}}const pt=q.Provider,ft=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Viewport,{ref:a,className:fe("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),...t}));ft.displayName=q.Viewport.displayName;const ht=a.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"}}),xt=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx(q.Root,{ref:s,className:fe(ht({variant:t}),e),...a}));xt.displayName=q.Root.displayName;const gt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Action,{ref:a,className:fe("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),...t}));gt.displayName=q.Action.displayName;const bt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Close,{ref:a,className:fe("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":"",...t,children:pe.jsx(l.X,{className:"h-4 w-4"})}));bt.displayName=q.Close.displayName;const vt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Title,{ref:a,className:fe("text-sm font-semibold",e),...t}));vt.displayName=q.Title.displayName;const yt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Description,{ref:a,className:fe("text-sm opacity-90",e),...t}));yt.displayName=q.Description.displayName;var Nt=Object.defineProperty;class jt{static normalizeBase64Url(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");const a=(4-t.length%4)%4;return t+="=".repeat(a),t}static parseJwtPayload(e){try{const r=e.split(".");if(3!==r.length)return null;const n=r[1];n.length,this.LARGE_PAYLOAD_THRESHOLD;try{const e=this.normalizeBase64Url(n),t=atob(e),a=new Uint8Array(t.length);for(let r=0;r<t.length;r++)a[r]=t.charCodeAt(r);const s=new TextDecoder("utf-8").decode(a);return JSON.parse(s)}catch(t){try{const e=this.normalizeBase64Url(n),t=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(t)}catch(a){try{const e=this.normalizeBase64Url(n),t=atob(e);return JSON.parse(t)}catch(s){throw s}}}}catch(r){return null}}static validateTokens(e,t){const a=[],s=[];try{t.split(".")[1],e.split(".")[1];const r=this.parseJwtPayload(t),n=this.parseJwtPayload(e);if(!r){const e="ID token decode falhou - possível problema com base64url encoding";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:a,errors:s}}let o=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";a.push(e),o=!1}const i=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<i){const e="Access token expirado - pode precisar de refresh";a.push(e),o=!1}if(r.exp&&r.exp<i){const e="ID token expirado - autenticação inválida";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:o,warnings:a,errors:s}}return{isValid:!0,idTokenValid:!0,accessTokenValid:o,warnings:a,errors:s}}catch(r){const e=`Erro na validação de tokens: ${r}`;return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:a,errors:s}}}static isTokenExpired(e){const t=this.parseJwtPayload(e);return!t||!t.exp||1e3*t.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,t,a)=>{t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a})(jt,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const wt="qualiex_access_token",kt="qualiex_id_token",St="supabase_token",Ct="oauth_state",Tt="oauth_nonce",Pt="selected_alias",At="manual_logout",Rt={setAccessToken:e=>localStorage.setItem(wt,e),getAccessToken:()=>localStorage.getItem(wt),setIdToken:e=>localStorage.setItem(kt,e),getIdToken:()=>localStorage.getItem(kt),getSupabaseToken:()=>localStorage.getItem(St),setOAuthState:e=>sessionStorage.setItem(Ct,e),getOAuthState:()=>sessionStorage.getItem(Ct),clearOAuthState:()=>sessionStorage.removeItem(Ct),setOAuthNonce:e=>sessionStorage.setItem(Tt,e),getOAuthNonce:()=>sessionStorage.getItem(Tt),clearOAuthNonce:()=>sessionStorage.removeItem(Tt),setSelectedAlias:e=>localStorage.setItem(Pt,e),getSelectedAlias:()=>localStorage.getItem(Pt),clearSelectedAlias:()=>localStorage.removeItem(Pt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Rt.getAccessToken()||!Rt.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(St,e),Rt._clearValidationCache()},areAllTokensValid:()=>{const e=Rt.getAccessToken(),t=Rt.getIdToken();if(!e||!t)return!1;try{const a=jt.validateTokens(e,t);return!!a.idTokenValid&&(a.accessTokenValid,a.idTokenValid)}catch(a){return!1}},clearExpiredTokens:()=>{let e=!1;const t=Rt.getAccessToken(),a=Rt.getIdToken(),s=Rt.getSupabaseToken();return t&&Rt.isTokenExpired(t)&&(localStorage.removeItem(wt),e=!0),a&&Rt.isTokenExpired(a)&&(localStorage.removeItem(kt),e=!0),s&&Rt.isTokenExpired(s)&&(localStorage.removeItem(St),e=!0),e},clearAll:()=>{localStorage.removeItem(wt),localStorage.removeItem(kt),localStorage.removeItem(St),localStorage.removeItem(Pt),localStorage.removeItem(At),sessionStorage.removeItem(Ct),sessionStorage.removeItem(Tt)},setManualLogout:()=>localStorage.setItem(At,"true"),isManualLogout:()=>"true"===localStorage.getItem(At),clearManualLogout:()=>localStorage.removeItem(At),isTokenExpired:e=>{try{return jt.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{Rt._validationCache.isValid=!1,Rt._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=Rt.getSupabaseToken();if(!e)return!1;if(Rt.isTokenExpired(e))return Rt._clearValidationCache(),Rt._handleExpiredToken(),!1;const t=Date.now();return t-Rt._validationCache.timestamp<Rt._validationCache.cacheValidityMs?Rt._validationCache.isValid:(Rt._validationCache.isValid=!0,Rt._validationCache.timestamp=t,!0)},getValidSupabaseToken:()=>Rt.isSupabaseTokenValid()?Rt.getSupabaseToken():null,_handleExpiredToken:()=>{Rt.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!Rt.isSupabaseTokenValid())return null;const e=Rt.getSupabaseToken();if(!e)return null;try{const t=jt.parseJwtPayload(e);if(!t)return null;const a=t.alias||t.default||t.user_alias;let s=t.company_id;if(!s&&a)for(const e in t)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=t[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===a){s=e[7];break}}}return{alias:a,companyId:s,payload:t}}catch(t){return Rt._handleExpiredToken(),null}},getCompanyId:e=>{const t=Rt.extractTokenData();if(!t)return null;if(!e)return t.companyId;const a=Rt.getIdToken();if(!a)return null;try{const t=jt.parseJwtPayload(a);if(!t)return null;for(const a in t)if(a.startsWith("co")&&/^co\d+$/.test(a)){const s=t[a];if(s&&"string"==typeof s){const t=s.split(";");if(t.length>7&&t[0]===e)return t[7]}}}catch{return null}return null},getCurrentCompanyId:()=>{const e=Rt.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=Rt.getIdToken();if(!e)return[];try{const t=jt.parseJwtPayload(e);if(!t)return[];const a=[];for(const e in t)if(e.startsWith("co")&&/^co\d+$/.test(e)){const s=t[e];if(s&&"string"==typeof s){const e=s.split(";");e.length>=4&&a.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:t})}}return a}catch{return[]}}};var Et=Object.defineProperty,It=(e,t,a)=>((e,t,a)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);const _t=new class{constructor(){It(this,"errors",[]),It(this,"toastCount",0),It(this,"lastToastTime",0)}handleError(e,t=!0){const a="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:a,timestamp:Date.now(),count:1}),t&&this.shouldShowToast()&&ut({title:"Erro",description:a,variant:"destructive"})}success(e,t){ut({title:e,description:t,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 Dt=Object.defineProperty,Ot=(e,t,a)=>((e,t,a)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);const zt=(void 0).VITE_SUPABASE_URL,Lt=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY,Ft=class e{constructor(){Ot(this,"client"),Ot(this,"currentToken",null),Ot(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const t={apikey:Lt};return e&&this.isTokenValid(e)&&(t.Authorization=`Bearer ${e}`),p.createClient(zt,Lt,{auth:{persistSession:!1,autoRefreshToken:!1,storage:void 0},global:{headers:t}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Rt.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const t=JSON.parse(atob(e.split(".")[1])),a=Math.floor(Date.now()/1e3);return t.exp>a}catch(t){return _t.handleError(t instanceof Error?t:"❌ Supabase - Error validating token",!1),!1}}};Ot(Ft,"instance");let Mt=Ft;const $t=()=>Mt.getInstance().getClient();var Ut=Object.freeze({__proto__:null,getSupabaseClient:$t}),Bt=Object.defineProperty,Vt=(e,t,a)=>((e,t,a)=>t in e?Bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,t+"",a);const qt=new class{constructor(){Vt(this,"baseUrl",(void 0).VITE_QUALIEX_API_URL)}async makeApiCall(e,t,a){const s=Rt.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!a||""===a.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const r=new URL(e,this.baseUrl);Object.entries(t).forEach(([e,t])=>{r.searchParams.append(e,t)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":a}});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,t){try{const a=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:t,search:"",filterStatus:"active"},e);let s=a;if(a.data)s=a.data;else{if(!Array.isArray(a))return _t.handleError("[QualiexApi] Unexpected response format",!1),[];s=a}if(!Array.isArray(s))return _t.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(a){return _t.handleError(a instanceof Error?a:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,t,a){try{return(await this.fetchUsers(t,a)).find(t=>t.userId===e)||null}catch(s){return _t.handleError(s instanceof Error?s:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const t=Rt.extractTokenData();return t&&t.companyId?this.fetchUsers(e,t.companyId):(_t.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}};class Wt{static async extractTokenData(){const e=Rt.extractTokenData();return e||(_t.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,t){if(!e||0===e.length)return _t.handleError(`[QualiexEnrichment.${t.entityName}] Nenhuma entidade encontrada`,!1),e;try{const a=await this.extractTokenData();if(!a)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=a;if(!s||!r)return _t.handleError(`[QualiexEnrichment.${t.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 qt.getUsers(s),o=e.map(e=>{if(e.id_user){const t=n.find(t=>t.userId===e.id_user);return{...e,responsible_name:t?.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(a){return _t.handleError(a instanceof Error?a:`[QualiexEnrichment.${t.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${a.message}`:null}))}}}const Ht={oauth:{authUrl:(void 0).VITE_OAUTH_AUTH_URL,clientId:(void 0).VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},Qt={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},Gt={debounceDelay:500},Xt=()=>{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};let Kt={enableUserEnrichment:!1,enableUsersApi:!1};const Jt=()=>Kt,Yt={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}`}},Zt=["responsible_name"];function ea(e,t,a){const s="string"==typeof e?{tableName:e,searchFields:t||[],schemaName:a||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,selectFields:o,schemaName:i,entityName:l,enableQualiexEnrichment:c=!1}=s,d=()=>{if(!Rt.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return $t().schema(i).from(r)};return{async getAll(e={}){const{search:t="",sortField:a="updated_at",sortDirection:s="desc",page:i=1,limit:u=25,...m}=e;let p=d().select(o||"*",{count:"exact"});p=p.eq("is_removed",!1),Object.entries(m).forEach(([e,t])=>{null!=t&&""!==t&&(p=Array.isArray(t)?p.in(e,t):"object"==typeof t&&t&&"operator"in t&&"not_null"===t.operator?p.not(e,"is",null):p.eq(e,t))}),p=((e,t)=>{if(t&&n.length>0){const a=n.map(e=>`${e}.ilike.%${t}%`).join(",");return e.or(a)}return e})(p,t),p=p.order(a,{ascending:"asc"===s}),p=((e,t,a)=>{const s=(t-1)*a,r=s+a-1;return e.range(s,r)})(p,i,u);const{data:f,error:h,count:x}=await p;if(h)throw new Error(`Error fetching ${r}: ${h.message}`);let g=((e,t,a,s)=>{const r=Math.ceil((t||0)/s);return{data:e,currentPage:a,totalPages:r,totalItems:t||0,itemsPerPage:s,hasNextPage:a<r,hasPreviousPage:a>1}})(f||[],x,i,u);const b=Jt();if(c&&b.enableUserEnrichment&&l&&g.data.length>0){if(g.data.some(e=>e.id_user)){if(a&&(v=a,Zt.includes(v))){const t={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},r=await this.getAll(t);if(!r?.data?.length)return r;const n=((e,t,a)=>[...e].sort((e,s)=>{const r=e[t]||"",n=s[t]||"",o=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===a?o:-o}))(await Wt.enrichWithResponsibleNames(r.data,{entityName:l}),a,s),o=((e,t=1,a=25)=>{const s=(t-1)*a,r=s+a,n=e.slice(s,r);return{data:n,pagination:{currentPage:t,totalPages:Math.ceil(e.length/a),totalItems:n.length,totalCount:e.length,itemsPerPage:a,hasNextPage:r<e.length,hasPreviousPage:t>1}}})(n,i,u);return{data:o.data,currentPage:o.pagination.currentPage,totalPages:o.pagination.totalPages,totalItems:o.pagination.totalItems,itemsPerPage:o.pagination.itemsPerPage,hasNextPage:o.pagination.hasNextPage,hasPreviousPage:o.pagination.hasPreviousPage}}const t=await Wt.enrichWithResponsibleNames(g.data,{entityName:l});g={...g,data:t}}}var v;return g},async getById(e){const{data:t,error:a}=await d().select(o||"*").eq("id",e).maybeSingle();if(a)throw new Error(`Error fetching ${r}: ${a.message}`);return t},async create(e){const t=he(e),a=Object.entries(t).reduce((e,[t,a])=>(void 0!==a&&(e[t]=a),e),{}),{data:s,error:n}=await d().insert(a).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,t){const a={...he(t),updated_at:(new Date).toISOString()},{data:s,error:n}=await d().update(a).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 t={is_removed:!0,updated_at:(new Date).toISOString()},{error:a}=await d().update(t).eq("id",e);if(a)throw new Error(`Error soft deleting ${r}: ${a.message}`)}}}const ta=()=>{Rt.clearManualLogout()},aa=(void 0).VITE_SUPABASE_URL,sa=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY;class ra{static async generateToken(e,t,a,s=!1){try{if(!s){const e=Rt.getSupabaseToken();if(e&&Rt.isSupabaseTokenValid())return e}const r=p.createClient(aa,sa,{auth:{persistSession:!1,autoRefreshToken:!1}}),{data:n,error:o}=await r.functions.invoke("validate-token",{body:{access_token:e,alias:t}});return o&&(o.message?.includes("401")||o.message?.includes("Unauthorized"))?(a?.(),null):n?.access_token&&n.access_token?(Rt.setSupabaseToken(n.access_token),n.access_token):null}catch(r){return r instanceof Error&&(r.message.includes("401")||r.message.includes("Unauthorized"))&&a?.(),null}}}var na=Object.defineProperty,oa=(e,t,a)=>((e,t,a)=>t in e?na(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);class ia{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=Rt.getAccessToken(),t=Rt.getSelectedAlias();if(!e||!t)return null;const a=await ra.generateToken(e,t,this.onLogoutCallback||void 0,!1);return a?(Rt.setSupabaseToken(a),a):null}catch(e){return null}finally{this.isRegenerating=!1}}}oa(ia,"isRegenerating",!1),oa(ia,"onLogoutCallback",null);const la=class{static async initialize(){try{if(!Rt.hasAllTokens()||!Rt.areAllTokensValid())return Rt.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null};const e=Rt.getAccessToken(),t=Rt.getIdToken();ta();const a=this.extractUserFromIdToken(t),s=this.extractCompaniesFromIdToken(t),r=this.extractAliasFromAccessToken(e),n=Rt.extractTokenData(),o=n?.alias;let i=null;if(o&&s.some(e=>e.alias===o))i=o;else{const e=Rt.getSelectedAlias(),t=e&&s.some(t=>t.alias===e);i=t?e:r||s[0]?.alias||null}!Rt.isSupabaseTokenValid()&&i&&await ia.attemptRegeneration();let l=null;if(i){const e=Rt.getCompanyId(i),t=s.find(e=>e.alias===i);t&&(l={id:e||t.id,name:t.name,alias:t.alias})}return{isAuthenticated:!0,isLoading:!1,user:a,alias:i,companies:s,selectedUnit:l,userId:a?.id||null,userAlias:a?.id||null}}catch(e){return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null}}}static async loginDev(){try{const{getSupabaseClient:e}=await Promise.resolve().then(function(){return Ut}),t=e(),{data:a,error:s}=await t.functions.invoke("dev-tokens",{body:{environment:"development"}});if(s)return!1;if(!a?.access_token||!a?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=Rt.generateOAuthState();Rt.setOAuthState(e);const t=Rt.generateOAuthNonce();Rt.setOAuthNonce(t);const a=`${window.location.origin}/callback`,s=new URL(Ht.oauth.authUrl);s.searchParams.set("client_id",Ht.oauth.clientId),s.searchParams.set("response_type",Ht.oauth.responseType),s.searchParams.set("scope",Ht.oauth.scope),s.searchParams.set("redirect_uri",a),s.searchParams.set("state",e),s.searchParams.set("nonce",t),s.searchParams.set("response_mode","fragment"),Xt(),window.location.href=s.toString()}static async processCallback(){try{if(Rt.hasAllTokens()){if(!Rt.getValidSupabaseToken()){Rt.getAccessToken();await ia.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),t=new URLSearchParams(window.location.search),a=a=>e.get(a)||t.get(a),s=a("access_token"),r=a("id_token"),n=a("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");Rt.setAccessToken(s),Rt.setIdToken(r),ta();const o=this.extractAliasFromAccessToken(s);if(o)Rt.setSelectedAlias(o);else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");Rt.setSelectedAlias(e[0].alias)}if(!await ia.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return Rt.clearOAuthState(),Rt.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){Rt.setManualLogout(),Rt.clearAll(),window.location.href="/login"}static decodeToken(e){return jt.parseJwtPayload(e)}static extractUserFromIdToken(e){const t=this.decodeToken(e);return t?{id:t.subNewId,email:t.email,name:t.name,identifier:t.identifier}:null}static extractCompaniesFromIdToken(e){const t=this.decodeToken(e);if(!t)return[];const a=[];return Object.keys(t).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof t[e]){const s=t[e].split(";");if(s.length>=4)a.push({id:s.length>7?s[7].trim():"",alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=t[e].split("|");s&&r&&a.push({id:"",alias:s.trim(),name:r.trim()})}}}),a}static extractAliasFromAccessToken(e){const t=this.decodeToken(e);return t?.default||null}};ia.setLogoutCallback(()=>{la.logout()});let ca=la;class da{static handleError(e){if(!e)return!1;const t=e.message||e.toString();return!!this.isAuthenticationError(e,t)&&(Rt.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,t){if(401===e.status||401===e.statusCode)return!0;const a=t.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>a.includes(e))}static async wrapAsync(e){try{return await e}catch(t){if(!this.handleError(t))throw t;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}const ua=e.createContext(void 0),ma=()=>{const t=e.useContext(ua);if(void 0===t)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return t};function pa({queryKey:t,service:a,entityName:s,searchFields:r,additionalFilters:n={},onSuccess:o}){const[i,l]=h.useSearchParams(),c=f.useQueryClient(),{alias:d,userId:u}=ma(),m=i.get("search")||"",p=i.get("sortField")||Qt.sorting.defaultField,g=i.get("sortDirection")||Qt.sorting.defaultDirection,b=parseInt(i.get("page")||"1"),v=parseInt(i.get("limit")||String(Qt.pagination.defaultPageSize)),y=m,N=e.useMemo(()=>({search:y,sortField:p,sortDirection:g,page:b,limit:v,...n}),[y,p,g,b,v,n]),j=e.useCallback(()=>a.getAll(N),[a,N]),w=f.useQuery({queryKey:[t,d,u,N],queryFn:j});if(!w)throw new Error(`useCrud: Query initialization failed for "${s}". Ensure QueryClientProvider is configured in your app root.`);const k=f.useMutation({mutationFn:a.create,onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.created(s)),o?.()},onError:e=>{x.toast.error(`${Yt.error.create(s)}: ${e.message}`)}}),S=f.useMutation({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.updated(s)),o?.()},onError:e=>{x.toast.error(`${Yt.error.update(s)}: ${e.message}`)}}),C=f.useMutation({mutationFn:a.delete,onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.deleted(s))},onError:e=>{x.toast.error(`${Yt.error.delete(s)}: ${e.message}`)}}),T=e.useCallback(e=>{const t={...Object.fromEntries(i)};Object.entries(e).forEach(([e,a])=>{""===a||0===a?delete t[e]:t[e]=String(a)}),l(t)},[i,l]),P=e.useCallback(e=>{T({search:e,page:1})},[T]),A=e.useCallback(e=>{T({sortField:e,sortDirection:p===e&&"asc"===g?"desc":"asc",page:1})},[p,g,T]),R=e.useCallback(e=>{T({page:e})},[T]),E=e.useCallback(e=>{T({limit:e,page:1})},[T]),I=e.useCallback(()=>{l({})},[l]),[_,D]=e.useState([]),O=e.useCallback(e=>{D(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),z=e.useCallback(()=>{const e=w?.data?.data.map(e=>e.id)||[];D(t=>t.length===e.length?[]:e)},[w?.data?.data]),L=e.useCallback(()=>{D([])},[]),F=e.useMemo(()=>{const e=w?.data?.data.map(e=>e.id)||[];return e.length>0&&_.length===e.length},[_,w?.data?.data]),M=f.useMutation({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(e,a)=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(`${a.length} ${s}(s) deletado(s) com sucesso`),L()},onError:e=>{x.toast.error(`Erro ao deletar itens: ${e.message}`)}});return{entities:w?.data?.data||[],pagination:{currentPage:w?.data?.currentPage||1,totalPages:w?.data?.totalPages||1,totalItems:w?.data?.totalItems||0,itemsPerPage:w?.data?.itemsPerPage||Qt.pagination.defaultPageSize,hasNextPage:w?.data?.hasNextPage||!1,hasPreviousPage:w?.data?.hasPreviousPage||!1},isLoading:w?.isLoading??!0,isCreating:k?.isPending??!1,isUpdating:S?.isPending??!1,isDeleting:C?.isPending??!1,error:w?.error||null,searchTerm:m,sortField:p,sortDirection:g,currentPage:b,itemsPerPage:v,createEntity:k.mutate,updateEntity:(e,t)=>S.mutate({id:e,data:t}),deleteEntity:C.mutate,handleSearch:P,handleSort:A,handlePageChange:R,handleItemsPerPageChange:E,clearFilters:I,refetch:w.refetch,selectedIds:_,selectItem:O,selectAll:z,clearSelection:L,isAllSelected:F,bulkDelete:M.mutate,isBulkDeleting:M.isPending}}const fa=W.Root,ha=W.Trigger,xa=W.Portal,ga=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Overlay,{className:fe("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),...t,ref:a}));ga.displayName=W.Overlay.displayName;const ba=M.forwardRef(({className:e,...t},a)=>pe.jsxs(xa,{children:[pe.jsx(ga,{}),pe.jsx(W.Content,{ref:a,className:fe("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),...t})]}));ba.displayName=W.Content.displayName;const va=({className:e,...t})=>pe.jsx("div",{className:fe("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),...t});va.displayName="AlertDialogHeader";const ya=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});ya.displayName="AlertDialogFooter";const Na=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Title,{ref:a,className:fe("text-lg font-semibold",e),...t}));Na.displayName=W.Title.displayName;const ja=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));ja.displayName=W.Description.displayName;const wa=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Action,{ref:a,className:fe(xe(),e),...t}));wa.displayName=W.Action.displayName;const ka=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Cancel,{ref:a,className:fe(xe({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));ka.displayName=W.Cancel.displayName;const Sa=({open:t,onOpenChange:a,item:s,onConfirm:r,entityName:n="item",isDeleting:o=!1})=>{const[i,l]=e.useState("");e.useEffect(()=>{t||l("")},[t]);const c=()=>{l(""),a(!1)},d=i===s?.title;return s?pe.jsx(fa,{open:t,onOpenChange:c,children:pe.jsxs(ba,{className:"sm:max-w-[500px]",children:[pe.jsx(va,{children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:pe.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),pe.jsx("div",{className:"flex-1",children:pe.jsx(Na,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),pe.jsx(ja,{asChild:!0,children:pe.jsxs("div",{className:"space-y-4",children:[pe.jsxs("div",{className:"text-sm text-muted-foreground",children:[pe.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),pe.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:pe.jsx("p",{className:"font-medium text-foreground",children:s.title})})]}),pe.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:pe.jsxs("div",{className:"flex items-start space-x-2",children:[pe.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:pe.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),pe.jsxs("div",{className:"text-sm text-orange-800",children:[pe.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),pe.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),pe.jsxs("div",{className:"space-y-2",children:[pe.jsxs(ye,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",pe.jsxs("strong",{children:['"',s.title,'"']})," abaixo:"]}),pe.jsx(be,{id:"confirmation",type:"text",value:i,onChange:e=>l(e.target.value),placeholder:`Digite: ${s.title}`,className:"w-full"})]})]})}),pe.jsxs(ya,{children:[pe.jsx(ka,{onClick:c,children:"Cancelar"}),pe.jsx(wa,{onClick:()=>{s&&i===s.title&&(r(s),l(""),a(!1))},disabled:!d||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},Ca=M.forwardRef(({className:e,...t},a)=>pe.jsx("table",{ref:a,className:fe("w-full caption-bottom text-sm",e),...t}));Ca.displayName="Table";const Ta=M.forwardRef(({className:e,...t},a)=>pe.jsx("thead",{ref:a,className:fe("[&_tr]:border-b sticky top-0 z-[1] bg-background",e),...t}));Ta.displayName="TableHeader";const Pa=M.forwardRef(({className:e,...t},a)=>pe.jsx("tbody",{ref:a,className:fe("[&_tr:last-child]:border-0",e),...t}));Pa.displayName="TableBody";const Aa=M.forwardRef(({className:e,...t},a)=>pe.jsx("tfoot",{ref:a,className:fe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));Aa.displayName="TableFooter";const Ra=M.forwardRef(({className:e,...t},a)=>pe.jsx("tr",{ref:a,className:fe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted odd:bg-muted/50",e),...t}));Ra.displayName="TableRow";const Ea=M.forwardRef(({className:e,...t},a)=>pe.jsx("th",{ref:a,className:fe("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-background border-b [&:has([role=checkbox])]:pr-0",e),...t}));Ea.displayName="TableHead";const Ia=M.forwardRef(({className:e,...t},a)=>pe.jsx("td",{ref:a,className:fe("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Ia.displayName="TableCell";const _a=M.forwardRef(({className:e,...t},a)=>pe.jsx("caption",{ref:a,className:fe("mt-4 text-sm text-muted-foreground",e),...t}));function Da({className:e,...t}){return pe.jsx("div",{className:fe("animate-pulse rounded-md bg-muted",e),...t})}function Oa({rows:e=5,columns:t=4}){return pe.jsx("div",{className:"w-full",children:pe.jsxs("div",{className:"rounded-md border",children:[pe.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:pe.jsx("div",{className:"flex space-x-4",children:Array.from({length:t}).map((e,t)=>pe.jsx(Da,{className:"h-4 w-24"},t))})}),pe.jsx("div",{children:Array.from({length:e}).map((e,a)=>pe.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:pe.jsx("div",{className:"flex space-x-4",children:Array.from({length:t}).map((e,t)=>pe.jsx(Da,{className:"h-4 w-20"},t))})},a))})]})})}function za({count:e=3}){return pe.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,t)=>pe.jsxs(Ne,{children:[pe.jsxs(je,{children:[pe.jsx(Da,{className:"h-4 w-3/4"}),pe.jsx(Da,{className:"h-3 w-1/2"})]}),pe.jsx(Se,{children:pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Da,{className:"h-3 w-full"}),pe.jsx(Da,{className:"h-3 w-2/3"})]})})]},t))})}_a.displayName="TableCaption";const La={default:l.FileX,search:l.Search,error:l.AlertCircle};function Fa({icon:e,title:t,description:a,action:s,className:r,variant:n="default"}){const o=e?()=>e:La[n];return pe.jsxs("div",{className:fe("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[pe.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:pe.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),pe.jsx("h3",{className:"text-lg font-semibold mb-2",children:t}),a&&pe.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:a}),s&&pe.jsx(ge,{onClick:s.onClick,variant:"outline",children:s.label})]})}const Ma=H.Root,$a=H.Trigger,Ua=H.Group,Ba=H.Portal,Va=H.Sub,qa=H.RadioGroup,Wa=M.forwardRef(({className:e,inset:t,children:a,...s},r)=>pe.jsxs(H.SubTrigger,{ref:r,className:fe("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...s,children:[a,pe.jsx(l.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Wa.displayName=H.SubTrigger.displayName;const Ha=M.forwardRef(({className:e,...t},a)=>pe.jsx(H.SubContent,{ref:a,className:fe("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),...t}));Ha.displayName=H.SubContent.displayName;const Qa=M.forwardRef(({className:e,sideOffset:t=4,...a},s)=>pe.jsx(H.Portal,{children:pe.jsx(H.Content,{ref:s,sideOffset:t,className:fe("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),...a})}));Qa.displayName=H.Content.displayName;const Ga=M.forwardRef(({className:e,inset:t,...a},s)=>pe.jsx(H.Item,{ref:s,className:fe("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...a}));Ga.displayName=H.Item.displayName;const Xa=M.forwardRef(({className:e,children:t,checked:a,...s},r)=>pe.jsxs(H.CheckboxItem,{ref:r,className:fe("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:a,...s,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(H.ItemIndicator,{children:pe.jsx(l.Check,{className:"h-4 w-4"})})}),t]}));Xa.displayName=H.CheckboxItem.displayName;const Ka=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(H.RadioItem,{ref:s,className:fe("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),...a,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(H.ItemIndicator,{children:pe.jsx(l.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));Ka.displayName=H.RadioItem.displayName;const Ja=M.forwardRef(({className:e,inset:t,...a},s)=>pe.jsx(H.Label,{ref:s,className:fe("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...a}));Ja.displayName=H.Label.displayName;const Ya=M.forwardRef(({className:e,...t},a)=>pe.jsx(H.Separator,{ref:a,className:fe("-mx-1 my-1 h-px bg-muted",e),...t}));Ya.displayName=H.Separator.displayName;const Za=({className:e,...t})=>pe.jsx("span",{className:fe("ml-auto text-xs tracking-widest opacity-60",e),...t});Za.displayName="DropdownMenuShortcut";const es=({onEdit:e,onDelete:t,onToggleStatus:a,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const o=[];if(e){const t={icon:l.Edit,label:"Editar",onClick:e};o.push(t)}if(a){const e={icon:s?l.PowerOff:l.Power,label:s?"Inativar":"Ativar",onClick:a};o.push(e)}if(r&&t){const e={icon:l.Trash2,label:"Remover",onClick:t,destructive:!0};o.push(e)}return"dropdown"===n?pe.jsx(pe.Fragment,{children:o.map((e,t)=>pe.jsxs(Ga,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[pe.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},t))}):pe.jsx(pe.Fragment,{children:o.map((e,t)=>pe.jsxs(ge,{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:[pe.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},t))})},ts=({onEdit:e,onDelete:t,canDelete:a=!0,onToggleStatus:s,isActive:r=!0})=>pe.jsxs(Ma,{children:[pe.jsx($a,{asChild:!0,children:pe.jsx(ge,{variant:"action",size:"sm",className:"h-7 px-2 text-xs",children:pe.jsx(l.EllipsisVertical,{size:12})})}),pe.jsx(Qa,{align:"end",children:pe.jsx(es,{onEdit:t=>{t?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),t?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:a,renderAs:"dropdown"})})]}),as=({manager:t,columns:a,onEdit:s,onView:r,onToggleStatus:n,onDelete:o,renderActions:i,enableBulkActions:c=!1})=>{const[d,u]=e.useState(!1),[m,p]=e.useState(null);e.useEffect(()=>{const e=()=>u(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e.useEffect(()=>{const e=()=>p(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);const f=(()=>{a.length;let e=0;const t=a.map(t=>{if(t.width)return e+=t.width,{...t,calculatedWidth:t.width,isFixed:!0};{const a=t.minWidth||120,s=t.weight||1;return e+=a,{...t,calculatedWidth:a,weight:s,isFixed:!1}}});return e+=100,t.map(e=>e.isFixed?{...e,style:{width:`${e.calculatedWidth}px`}}:{...e,style:{minWidth:`${e.calculatedWidth}px`,width:`${e.calculatedWidth}px`}})})();return d?t.isLoading?pe.jsx(za,{count:3}):0===t.entities.length?pe.jsx(Fa,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):pe.jsxs("div",{className:"space-y-4",children:[t.entities.map(e=>pe.jsx(Ne,{className:fe("overflow-hidden cursor-pointer hover:bg-muted/50",c&&t.selectedIds.includes(e.id)&&"bg-muted"),onClick:t=>{t.stopPropagation(),c||s?.(e)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),p({x:t.clientX,y:t.clientY,item:e})},children:pe.jsx(Se,{className:"p-4",children:pe.jsxs("div",{className:"flex items-start gap-3",children:[c&&pe.jsx("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:pe.jsx(Ye,{checked:t.selectedIds.includes(e.id),onCheckedChange:()=>t.selectItem(e.id)})}),pe.jsxs("div",{className:"flex-1",children:[a.map(t=>pe.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[pe.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[t.header,":"]}),pe.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:t.render?t.render(e):e[t.key]})]},String(t.key))),(s||r||i)&&pe.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:i?i(e):pe.jsx(ts,{onEdit:s?()=>{s(e)}:void 0,onDelete:o?()=>o(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]})]})})},e.id)),m&&pe.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:pe.jsx(es,{onEdit:s?()=>{s(m.item),p(null)}:void 0,onDelete:o?()=>{o(m.item),p(null)}:void 0,onToggleStatus:n?()=>{n(m.item),p(null)}:void 0,isActive:m.item.is_actived,canDelete:!!o,renderAs:"context"})})]}):pe.jsxs("div",{className:"flex flex-col h-full",children:[t.isLoading?pe.jsx(Oa,{rows:5,columns:a.length}):pe.jsx("div",{className:"flex flex-col h-full overflow-hidden",children:pe.jsx("div",{className:"flex-1 overflow-auto",children:pe.jsxs(Ca,{className:"table-auto",children:[pe.jsxs("colgroup",{children:[c&&pe.jsx("col",{style:{width:"50px"}}),f.map((e,t)=>pe.jsx("col",{style:e.style},t)),pe.jsx("col",{style:{width:"100px"}})]}),pe.jsx(Ta,{children:pe.jsxs(Ra,{children:[c&&pe.jsx(Ea,{className:"w-[50px]",children:pe.jsx(Ye,{checked:t.isAllSelected,onCheckedChange:t.selectAll})}),a.map(e=>{return pe.jsx(Ea,{className:`${e.className||""} ${e.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:e.sortable?()=>t.handleSort(String(e.key)):void 0,children:pe.jsxs("div",{className:"flex items-center "+(e.className?.includes("text-center")?"justify-center":""),children:[e.header,e.sortable&&(a=String(e.key),t.sortField!==a?pe.jsx(l.ArrowUpDown,{size:14,className:"ml-1 opacity-50"}):"asc"===t.sortDirection?pe.jsx(l.ArrowUp,{size:14,className:"ml-1"}):pe.jsx(l.ArrowDown,{size:14,className:"ml-1"}))]})},String(e.key));var a}),pe.jsx(Ea,{className:"w-[100px] text-center",children:"Ações"})]})}),pe.jsx(Pa,{children:0===t.entities.length?pe.jsx(Ra,{children:pe.jsx(Ia,{colSpan:a.length+1,className:"h-32",children:pe.jsx(Fa,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"})})}):t.entities.map(e=>pe.jsxs(Ra,{className:fe("cursor-pointer hover:bg-muted/50",c&&t.selectedIds.includes(e.id)&&"bg-muted"),onClick:t=>{t.stopPropagation(),c||s?.(e)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),p({x:t.clientX,y:t.clientY,item:e})},children:[c&&pe.jsx(Ia,{onClick:e=>e.stopPropagation(),children:pe.jsx(Ye,{checked:t.selectedIds.includes(e.id),onCheckedChange:()=>t.selectItem(e.id)})}),a.map(t=>pe.jsx(Ia,{className:t.className,children:t.render?t.render(e):e[t.key]},String(t.key))),pe.jsx(Ia,{className:"text-center",children:i?i(e):pe.jsx(ts,{onEdit:s?()=>s(e):void 0,onDelete:o?()=>o(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]},e.id))})]})})}),m&&pe.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:pe.jsx(es,{onEdit:s?()=>{s(m.item),p(null)}:void 0,onDelete:o?()=>{o(m.item),p(null)}:void 0,onToggleStatus:n?()=>{n(m.item),p(null)}:void 0,isActive:m.item.is_actived,canDelete:!!o,renderAs:"context"})})]})};function ss(t,a,s,r){const[n,o]=e.useState({}),[i,l]=e.useState({}),c=e.useMemo(()=>t,[t]),d=e=>e instanceof Date&&!isNaN(e.getTime()),u=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{}}},m=(e,t)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(t)}catch(a){return u(e)}},p=(e,t,a)=>{if(e.required&&(""===t||null==t||Array.isArray(t)&&0===t.length))return`${e.label} é obrigatório`;if(e.validation){let r;if("function"==typeof e.validation?r=e.validation:e.validation.custom&&"function"==typeof e.validation.custom&&(r=e.validation.custom),r)try{const e=r(t,a);if(e)return e}catch(s){}}};e.useEffect(()=>{if(!r)return;const e=t=>{const a=[];return t.forEach(t=>{a.push(t),t.fields&&a.push(...e(t.fields))}),a},t=e(c),n={};t.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);d(e)&&(t=e.toISOString().split("T")[0])}else d(t)&&(t=t.toISOString().split("T")[0])}else t=u(e);n[e.name]=t}),t.forEach(e=>{const t=m(e,n);void 0!==t&&(n[e.name]=t)}),a&&Object.keys(a).forEach(e=>{t.find(t=>t.name===e)||void 0===a[e]||(n[e]=a[e])}),o(n),l({}),s&&s(n)},[c,a,s,r]);const f=e=>{const t=[];return e.forEach(e=>{t.push(e),e.fields&&t.push(...f(e.fields))}),t},h=()=>{const e=f(c),t={};return e.forEach(e=>{const a=p(e,n[e.name],n);a&&(t[e.name]=a)}),l(t),0===Object.keys(t).length};return{formData:n,errors:i,updateField:(e,t)=>{o(a=>{const r={...a,[e]:t},n=((e,t)=>{let a={...t};const s=e=>{const t=[];return e.forEach(e=>{t.push(e),e.fields&&t.push(...s(e.fields))}),t};return s(c).filter(t=>t.dependsOn===e).forEach(e=>{const t=m(e,a);void 0!==t&&(a={...a,[e.name]:t})}),a})(e,r);return s&&s(n),n}),i[e]&&l(t=>{const a={...t};return delete a[e],a});const a=f(c).find(t=>t.name===e);if(a){const s=p(a,t,n);s&&l(t=>({...t,[e]:s}))}},validateForm:h,handleSubmit:e=>t=>{t&&(t.preventDefault(),t.stopPropagation()),h()&&e(n)}}}const rs=Q.Root,ns=Q.Trigger,os=M.forwardRef(({className:e,align:t="center",sideOffset:a=4,...s},r)=>pe.jsx(Q.Portal,{children:pe.jsx(Q.Content,{ref:r,align:t,sideOffset:a,className:fe("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})}));os.displayName=Q.Content.displayName;const is=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],ls=({value:e="#3b82f6",onChange:t,label:a})=>pe.jsxs("div",{className:"space-y-2",children:[a&&pe.jsx(ye,{children:a}),pe.jsxs(rs,{children:[pe.jsx(ns,{asChild:!0,children:pe.jsxs(ge,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[pe.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),pe.jsx(os,{className:"w-64",children:pe.jsxs("div",{className:"space-y-3",children:[pe.jsxs("div",{children:[pe.jsx(ye,{htmlFor:"color-input",children:"Cor personalizada"}),pe.jsx(be,{id:"color-input",type:"color",value:e,onChange:e=>t?.(e.target.value),className:"h-10 w-full"})]}),pe.jsxs("div",{children:[pe.jsx(ye,{children:"Cores predefinidas"}),pe.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:is.map(e=>pe.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>t?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),cs=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(G.Root,{ref:s,className:fe("relative overflow-hidden",e),...a,children:[pe.jsx(G.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),pe.jsx(ds,{}),pe.jsx(G.Corner,{})]}));cs.displayName=G.Root.displayName;const ds=M.forwardRef(({className:e,orientation:t="vertical",...a},s)=>pe.jsx(G.ScrollAreaScrollbar,{ref:s,orientation:t,className:fe("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:pe.jsx(G.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));ds.displayName=G.ScrollAreaScrollbar.displayName;const us={Star:l.Star,Heart:l.Heart,Home:l.Home,User:l.User,Settings:l.Settings,Mail:l.Mail,Phone:l.Phone,Calendar:l.Calendar,MapPin:l.MapPin,Camera:l.Camera,Image:l.Image,Music:l.Music,Video:l.Video,Book:l.Book,Bookmark:l.Bookmark,Search:l.Search,Filter:l.Filter,Edit:l.Edit,Trash2:l.Trash2,Plus:l.Plus,Minus:l.Minus,Check:l.Check,X:l.X,ChevronDown:l.ChevronDown,ChevronUp:l.ChevronUp,ChevronLeft:l.ChevronLeft,ChevronRight:l.ChevronRight,ArrowUp:l.ArrowUp,ArrowDown:l.ArrowDown,ArrowLeft:l.ArrowLeft,ArrowRight:l.ArrowRight,Clock:l.Clock,Bell:l.Bell,AlertCircle:l.AlertCircle,Info:l.Info,HelpCircle:l.HelpCircle,Download:l.Download,Upload:l.Upload,Share:l.Share,Copy:l.Copy,Save:l.Save,FileText:l.FileText,Folder:l.Folder,FolderOpen:l.FolderOpen,Archive:l.Archive,Lock:l.Lock,Unlock:l.Unlock,Eye:l.Eye,EyeOff:l.EyeOff,Shield:l.Shield,Key:l.Key,Zap:l.Zap,Flame:l.Flame,Sparkles:l.Sparkles,Award:l.Award,Trophy:l.Trophy,Target:l.Target},ms=({value:t="Star",onChange:a,label:s})=>{const[r,n]=e.useState(""),o=Object.entries(us).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),i=us[t]||l.Star;return pe.jsxs("div",{className:"space-y-2",children:[s&&pe.jsx(ye,{children:s}),pe.jsxs(rs,{children:[pe.jsx(ns,{asChild:!0,children:pe.jsxs(ge,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[pe.jsx(i,{className:"h-4 w-4 mr-2"}),t]})}),pe.jsx(os,{className:"w-80",children:pe.jsxs("div",{className:"space-y-3",children:[pe.jsxs("div",{children:[pe.jsx(ye,{htmlFor:"icon-search",children:"Buscar ícone"}),pe.jsx(be,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),pe.jsx(cs,{className:"h-48",children:pe.jsx("div",{className:"grid grid-cols-6 gap-2",children:o.map(([e,s])=>pe.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(t===e?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(e),title:e,children:pe.jsx(s,{className:"h-4 w-4"})},e))})})]})})]})]})};function ps({value:t,onChange:a,items:s,isLoading:r=!1,error:n=null,getItemValue:o,getItemLabel:i,searchPlaceholder:c="Buscar...",emptyMessage:d="Nenhum item disponível",noResultsMessage:u="Nenhum resultado encontrado",sortItems:m,placeholder:p="Selecionar...",disabled:f=!1,className:h}){const[x,g]=e.useState(""),b=e.useMemo(()=>{const e=m?[...s].sort(m):[...s].sort((e,t)=>i(e).localeCompare(i(t),"pt-BR"));if(!x.trim())return e;const t=x.toLowerCase();return e.filter(e=>i(e).toLowerCase().includes(t))},[s,x,m,i]);return r?pe.jsx(Da,{className:fe("h-10 w-full",h)}):n?pe.jsxs("div",{className:fe("flex items-center gap-2 p-2 border border-destructive/20 rounded-md",h),children:[pe.jsx(l.AlertCircle,{className:"h-4 w-4 text-destructive"}),pe.jsx("span",{className:"text-sm text-destructive",children:n.message||"Erro ao carregar dados"})]}):pe.jsxs(We,{value:t,onValueChange:a,disabled:f||0===s.length,children:[pe.jsx(Qe,{className:h,children:pe.jsx(He,{placeholder:p})}),pe.jsxs(Ke,{children:[pe.jsx("div",{className:"px-2 pb-2",children:pe.jsxs("div",{className:"relative",children:[pe.jsx(l.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),pe.jsx(be,{placeholder:c,value:x,onChange:e=>g(e.target.value),onKeyDown:e=>e.stopPropagation(),className:"pl-8 h-9"})]})}),0===b.length?pe.jsx(Je,{value:"no-items",disabled:!0,children:x?u:d}):b.map(e=>pe.jsx(Je,{value:o(e),children:i(e)},o(e)))]})]})}const fs=(e={})=>{const{user:t,alias:a}=ma(),s=Jt(),{enabled:r=s.enableUsersApi}=e;return f.useQuery({queryKey:["qualiex-users",a],queryFn:()=>qt.getUsers(a),enabled:r&&!!a&&!!t,retry:2,retryDelay:1e3})},hs=({value:e="",onChange:t,placeholder:a="Selecionar usuário",disabled:s,className:r,enabled:n})=>{const{data:o=[],isLoading:i,error:l}=fs({enabled:n});return pe.jsx(ps,{value:e,onChange:t,items:o,isLoading:i,error:l,getItemValue:e=>e.userId,getItemLabel:e=>e.userName,placeholder:a,searchPlaceholder:"Buscar usuário...",emptyMessage:"Nenhum usuário disponível",noResultsMessage:"Nenhum usuário encontrado",disabled:s,className:r})};function xs({title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,open:o,submitButtonText:i="Salvar",isLoading:l=!1,usersData:c}){const[d,u]=e.useState(a?.[0]?.id||""),m=e.useMemo(()=>a&&Array.isArray(a)?a.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[a]),{formData:p,errors:f,updateField:h,handleSubmit:x}=ss(m,s,void 0,o),g=e.useMemo(()=>a&&Array.isArray(a)?a.map(e=>({...e,disabled:e.condition?!e.condition(p):e.disabled||!1})):[],[a,p]),b=e.useMemo(()=>{const e=g.find(e=>e.id===d);if(e&&!e.disabled)return d;const t=g.find(e=>!e.disabled);return t?.id||d},[g,d]);e.useEffect(()=>{b!==d&&u(b)},[b,d]);const v=g.find(e=>e.id===b),y=e=>{const t=(e.computedValue,p[e.name]),a=void 0!==t?t:"",s=f[e.name];switch(e.type){case"group":return pe.jsxs("div",{className:"space-y-2",children:[e.label,pe.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 pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(hs,{value:a||"",onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(Ze,{id:e.name,value:a||"",onChange:t=>{h(e.name,t.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsxs(We,{value:String(a),onValueChange:t=>{h(e.name,t),e.onValueChange&&e.onValueChange(t)},disabled:e.disabled,children:[pe.jsx(Qe,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:pe.jsx(He,{placeholder:e.placeholder})}),pe.jsx(Ke,{children:e.options?.map(e=>pe.jsx(Je,{value:e.value,children:e.label},e.value))})]}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"date",value:String(a),onChange:t=>h(e.name,t.target.value),placeholder:e.placeholder,disabled:e.disabled,className:fe("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":const t=Jt();return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(hs,{value:String(a),onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:t.enableUsersApi}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":const r=Jt();return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(hs,{value:a??"",onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:r.enableUsersApi}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return pe.jsxs("div",{children:[pe.jsxs(ye,{htmlFor:e.name,children:[e.label," ",e.required&&pe.jsx("span",{className:"text-destructive",children:"*"})]}),pe.jsx(be,{id:e.name,type:"color",value:a||e.defaultValue||"#000000",onChange:t=>h(e.name,t.target.value),className:"h-10"}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return pe.jsxs("div",{children:[pe.jsx(ls,{label:`${e.label} ${e.required?"*":""}`,value:a||e.defaultValue||"#3b82f6",onChange:t=>h(e.name,t)}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return pe.jsxs("div",{children:[pe.jsx(ms,{label:`${e.label} ${e.required?"*":""}`,value:a||e.defaultValue||"Star",onChange:t=>h(e.name,t)}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"number",value:null!=a?String(a):"",onChange:t=>{const a=t.target.value,s=""===a?null:Number(a);h(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&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"text",value:a||"",onChange:t=>{h(e.name,t.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&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},N=e.useCallback(()=>{if(!v)return null;if(v.disabled)return pe.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[pe.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:pe.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:pe.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),pe.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),pe.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 pe.jsx(e,{formData:p,updateField:h,errors:f,users:c,disabled:v.disabled})}return pe.jsx("div",{className:"space-y-3",children:v.fields.map(y)})},[v,p,h,f,c,y]),j=pe.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[g.length>1&&pe.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:pe.jsx("div",{className:"flex space-x-2",children:g.map(e=>pe.jsx(ge,{variant:b===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const t=g.find(t=>t.id===e);t&&!t.disabled&&u(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),pe.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:l?pe.jsx("div",{className:"flex items-center justify-center py-12",children:pe.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):pe.jsxs("form",{onSubmit:x(r),className:"space-y-3 md:space-y-4",children:[N(),pe.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[pe.jsx(ge,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),pe.jsx(ge,{type:"submit",disabled:l,children:i})]})]})})]});return pe.jsx(Te,{open:o,onOpenChange:e=>{!1===e&&!0===o&&n()},children:pe.jsxs(Ie,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[pe.jsxs(_e,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[pe.jsx(Oe,{className:"text-white",children:t}),pe.jsx(ze,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),j]})})}function gs({open:e,title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return pe.jsx(xs,{open:e,title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const bs=({manager:e})=>{const{pagination:t={totalItems:0,totalPages:1},currentPage:a=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:o=0,totalPages:i=1}=t,c=o>0?(a-1)*s+1:0,d=Math.min(a*s,o);return pe.jsxs("div",{className:"px-4 h-12 flex items-center justify-between text-sm text-muted-foreground bg-muted/50 border-t border-border flex-shrink-0 mt-auto",children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx("span",{children:"Itens por página"}),pe.jsxs(We,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[pe.jsx(Qe,{className:"w-20 h-8 border-border",children:pe.jsx(He,{})}),pe.jsxs(Ke,{children:[pe.jsx(Je,{value:"10",children:"10"}),pe.jsx(Je,{value:"25",children:"25"}),pe.jsx(Je,{value:"50",children:"50"}),pe.jsx(Je,{value:"100",children:"100"})]})]})]}),pe.jsx("div",{className:"flex-1 flex justify-center",children:pe.jsx("span",{children:o>0?`${c}-${d} de ${o} itens (página ${a} de ${i})`:"0 itens"})}),pe.jsxs("div",{className:"flex items-center space-x-1",children:[pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===a,children:pe.jsx(l.ChevronsLeft,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,a-1)),disabled:1===a,children:pe.jsx(l.ChevronLeft,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(Math.min(i,a+1)),disabled:a===i,children:pe.jsx(l.ChevronRight,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(i),disabled:a===i,children:pe.jsx(l.ChevronsRight,{className:"h-4 w-4"})})]})]})},vs=({selectedCount:e,onClearSelection:t,onBulkDelete:a,customActions:s=[],isLoading:r=!1})=>pe.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[pe.jsxs("div",{className:"flex items-center gap-3",children:[pe.jsxs("span",{className:"text-sm font-medium",children:[e," ",1===e?"item selecionado":"itens selecionados"]}),pe.jsxs(ge,{variant:"ghost",size:"sm",onClick:t,className:"h-7 px-2",children:[pe.jsx(l.X,{size:14,className:"mr-1"}),"Limpar"]})]}),pe.jsxs("div",{className:"flex items-center gap-2",children:[s.map((e,t)=>{const a=e.icon;return pe.jsxs(ge,{variant:e.variant||"outline",size:"sm",onClick:()=>e.action([]),disabled:r,className:"h-7",children:[a&&pe.jsx(a,{size:14,className:"mr-1"}),e.label]},t)}),a&&pe.jsxs(ge,{variant:"destructive",size:"sm",onClick:a,disabled:r,className:"h-7",children:[pe.jsx(l.Trash2,{size:14,className:"mr-1"}),"Deletar"]})]})]});function ys({manager:t,config:a,formSections:s,onSave:r,onToggleStatus:n}){const{setSearchVisible:o}=ma(),[i,c]=e.useState(!1),[d,u]=e.useState(null),[m,p]=e.useState({isOpen:!1,entityId:null,entityName:""}),[f,h]=e.useState({isOpen:!1,count:0});e.useEffect(()=>(o(!0),()=>{o(!1)}),[o]);return pe.jsxs("div",{className:"flex-1 flex flex-col h-full",children:[a.enableBulkActions&&t.selectedIds.length>0&&pe.jsx(vs,{selectedCount:t.selectedIds.length,onClearSelection:t.clearSelection,onBulkDelete:r?()=>{h({isOpen:!0,count:t.selectedIds.length})}:void 0,customActions:a.bulkActions,isLoading:t.isBulkDeleting}),pe.jsx("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b",children:pe.jsx("div",{className:"flex items-center gap-4",children:pe.jsxs(ge,{onClick:()=>{u(null),c(!0)},className:"flex items-center gap-2",children:[pe.jsx(l.Plus,{size:16}),"Novo"]})})}),pe.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:pe.jsx(as,{manager:t,columns:a.columns,onEdit:e=>{u(e),c(!0)},onDelete:e=>{p({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:n,enableBulkActions:a.enableBulkActions})}),pe.jsx("div",{className:"flex-shrink-0 border-t bg-background",children:pe.jsx(bs,{manager:t})}),pe.jsx(gs,{open:i,title:d?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:s,initialData:d||void 0,onSubmit:e=>{r(e),c(!1),u(null)},onCancel:()=>{c(!1),u(null)},isLoading:t.isLoading,submitButtonText:d?"Atualizar":"Criar"}),pe.jsx(Sa,{open:m.isOpen,onOpenChange:()=>{p({isOpen:!1,entityId:null,entityName:""})},onConfirm:e=>{m.entityId&&(t.deleteEntity(m.entityId),p({isOpen:!1,entityId:null,entityName:""}))},item:m.entityId?{id:m.entityId,title:m.entityName}:void 0,entityName:a.entityName,isDeleting:t.isDeleting}),pe.jsx(Sa,{open:f.isOpen,onOpenChange:()=>h({isOpen:!1,count:0}),onConfirm:()=>(t.bulkDelete?.(t.selectedIds),void h({isOpen:!1,count:0})),item:{id:"bulk",title:`${f.count} ${1===f.count?"item":"itens"}`},entityName:a.entityName,isDeleting:t.isBulkDeleting})]})}function Ns(e,t,a={}){const s=[];return Object.keys(t).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const a=t[e],r={key:e,header:ws(e),label:ws(e),...js(e,a),sortable:!0,searchable:"string"==typeof a};s.push(r)}}),{title:e,columns:s,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...a}}function js(e,t){const a=e.toLowerCase();return a.includes("email")?{type:"email",required:!0}:a.includes("phone")||a.includes("tel")?{type:"tel"}:a.includes("description")||a.includes("content")||a.includes("notes")?{type:"textarea"}:a.includes("status")||a.includes("type")||a.includes("category")?{type:"select",options:[]}:"boolean"==typeof t?{type:"boolean"}:"number"==typeof t?{type:"number"}:t instanceof Date?{type:"date"}:{type:"text"}}function ws(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const ks={user:{title:"Usuários",searchPlaceholder:"Buscar usuários...",enableDelete:!1},product:{title:"Produtos",searchPlaceholder:"Buscar produtos...",enableFilters:!0},order:{title:"Pedidos",searchPlaceholder:"Buscar pedidos...",enableCreate:!1},category:{title:"Categorias",searchPlaceholder:"Buscar categorias...",itemsPerPage:20}};const Ss=a.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"}}),Cs=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx("div",{ref:s,role:"alert",className:fe(Ss({variant:t}),e),...a}));Cs.displayName="Alert";const Ts=M.forwardRef(({className:e,...t},a)=>pe.jsx("h5",{ref:a,className:fe("mb-1 font-medium leading-none tracking-tight",e),...t}));Ts.displayName="AlertTitle";const Ps=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("text-sm [&_p]:leading-relaxed",e),...t}));Ps.displayName="AlertDescription";const As=X.Root,Rs=M.forwardRef(({className:e,...t},a)=>pe.jsx(X.Item,{ref:a,className:fe("border-b",e),...t}));Rs.displayName="AccordionItem";const Es=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsx(X.Header,{className:"flex",children:pe.jsxs(X.Trigger,{ref:s,className:fe("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...a,children:[t,pe.jsx(l.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Es.displayName=X.Trigger.displayName;const Is=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsx(X.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...a,children:pe.jsx("div",{className:fe("pb-4 pt-0",e),children:t})}));Is.displayName=X.Content.displayName;const _s=K.Root,Ds=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Root,{ref:a,className:fe("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));Ds.displayName=J.Root.displayName;const Os=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Image,{ref:a,className:fe("aspect-square h-full w-full",e),...t}));Os.displayName=J.Image.displayName;const zs=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Fallback,{ref:a,className:fe("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));zs.displayName=J.Fallback.displayName;const Ls=M.forwardRef(({...e},t)=>pe.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));Ls.displayName="Breadcrumb";const Fs=M.forwardRef(({className:e,...t},a)=>pe.jsx("ol",{ref:a,className:fe("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));Fs.displayName="BreadcrumbList";const Ms=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,className:fe("inline-flex items-center gap-1.5",e),...t}));Ms.displayName="BreadcrumbItem";const $s=M.forwardRef(({asChild:e,className:t,...a},s)=>{const r=e?M.Fragment:"a";return pe.jsx(r,{ref:s,className:fe("transition-colors hover:text-foreground",t),...a})});$s.displayName="BreadcrumbLink";const Us=M.forwardRef(({className:e,...t},a)=>pe.jsx("span",{ref:a,role:"link","aria-disabled":"true","aria-current":"page",className:fe("font-normal text-foreground",e),...t}));Us.displayName="BreadcrumbPage";const Bs=({children:e,className:t,...a})=>pe.jsx("li",{role:"presentation","aria-hidden":"true",className:fe("[&>svg]:size-3.5",t),...a,children:e??pe.jsx(l.ChevronRight,{})});Bs.displayName="BreadcrumbSeparator";const Vs=({className:e,...t})=>pe.jsxs("span",{role:"presentation","aria-hidden":"true",className:fe("flex h-9 w-9 items-center justify-center",e),...t,children:[pe.jsx(l.MoreHorizontal,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"More"})]});function qs(e){return(t={})=>{const a=t.width?String(t.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}function Ws(e){return(t,a)=>{let s;if("formatting"===(a?.context?String(a.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,r=a?.width?String(a.width):t;s=e.formattingValues[r]||e.formattingValues[t]}else{const t=e.defaultWidth,r=a?.width?String(a.width):e.defaultWidth;s=e.values[r]||e.values[t]}return s[e.argumentCallback?e.argumentCallback(t):t]}}function Hs(e){return(t,a={})=>{const s=a.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=t.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,t){for(let a=0;a<e.length;a++)if(t(e[a]))return a;return}(i,e=>e.test(o)):function(e,t){for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t(e[a]))return a;return}(i,e=>e.test(o));let c;c=e.valueCallback?e.valueCallback(l):l,c=a.valueCallback?a.valueCallback(c):c;return{value:c,rest:t.slice(o.length)}}}Vs.displayName="BreadcrumbEllipsis";const Qs={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"}},Gs={date:qs({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:qs({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:qs({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Xs={lastWeek:e=>{const t=e.getDay();return"'"+(0===t||6===t?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},Ks={ordinalNumber:(e,t)=>{const a=Number(e);return"week"===t?.unit?a+"ª":a+"º"},era:Ws({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:Ws({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:Ws({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:Ws({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:Ws({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"})},Js={ordinalNumber:(Ys={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const a=e.match(Ys.matchPattern);if(!a)return null;const s=a[0],r=e.match(Ys.parsePattern);if(!r)return null;let n=Ys.valueCallback?Ys.valueCallback(r[0]):r[0];return n=t.valueCallback?t.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:Hs({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:Hs({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:Hs({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:Hs({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:Hs({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"})};var Ys;const Zs={code:"pt-BR",formatDistance:(e,t,a)=>{let s;const r=Qs[e];return s="string"==typeof r?r:1===t?r.one:r.other.replace("{{count}}",String(t)),a?.addSuffix?a.comparison&&a.comparison>0?"em "+s:"há "+s:s},formatLong:Gs,formatRelative:(e,t,a,s)=>{const r=Xs[e];return"function"==typeof r?r(t):r},localize:Ks,match:Js,options:{weekStartsOn:0,firstWeekContainsDate:1}};function er({className:e,classNames:t,showOutsideDays:a=!0,...s}){return pe.jsx(k.DayPicker,{showOutsideDays:a,className:fe("p-3",e),locale:Zs,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:fe(xe({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day:fe(xe({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:({...e})=>pe.jsx(l.ChevronLeft,{className:"h-4 w-4"}),IconRight:({...e})=>pe.jsx(l.ChevronRight,{className:"h-4 w-4"})},...s})}er.displayName="Calendar";const tr=Y.Root,ar=Y.CollapsibleTrigger,sr=Y.CollapsibleContent,rr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));rr.displayName="Command";const nr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:pe.jsx("input",{ref:a,className:fe("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),...t})}));nr.displayName="CommandInput";const or=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));or.displayName="CommandList";const ir=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("py-6 text-center text-sm text-muted-foreground",e),...t}));ir.displayName="CommandEmpty";const lr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("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),...t}));lr.displayName="CommandGroup";const cr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("-mx-1 h-px bg-border",e),...t}));cr.displayName="CommandSeparator";const dr=M.forwardRef(({className:e,disabled:t,onSelect:a,value:s,...r},n)=>pe.jsx("div",{ref:n,className:fe("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":t,onClick:()=>!t&&a?.(s||""),...r}));dr.displayName="CommandItem";const ur=({className:e,...t})=>pe.jsx("span",{className:fe("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});ur.displayName="CommandShortcut";const mr={Root:function({children:e,className:t}){return pe.jsx("div",{className:fe("space-y-4",t),children:e})},Item:function({children:e,onClick:t,className:a}){return pe.jsx(Ne,{className:fe("transition-colors",t&&"cursor-pointer hover:bg-muted/50",a),onClick:t,children:pe.jsx(Se,{className:"p-4",children:e})})},Field:function({label:e,value:t,className:a}){return pe.jsxs("div",{className:fe("flex justify-between items-center text-sm",a),children:[pe.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),pe.jsx("span",{className:"text-foreground",children:t})]})}},pr={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))]"},fr={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function hr({children:e,cols:t="auto-fit",gap:a="md",className:s}){return pe.jsx("div",{className:fe("grid",pr[t],fr[a],s),children:e})}const xr=({className:e,...t})=>pe.jsx("nav",{role:"navigation","aria-label":"pagination",className:fe("mx-auto flex w-full justify-center",e),...t});xr.displayName="Pagination";const gr=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,className:fe("flex flex-row items-center gap-1",e),...t}));gr.displayName="PaginationContent";const br=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,className:fe("",e),...t}));br.displayName="PaginationItem";const vr=({className:e,isActive:t,size:a="icon",...s})=>pe.jsx("a",{"aria-current":t?"page":void 0,className:fe(xe({variant:t?"outline":"ghost",size:a}),e),...s});vr.displayName="PaginationLink";const yr=({className:e,...t})=>pe.jsxs(vr,{"aria-label":"Go to previous page",size:"default",className:fe("gap-1 pl-2.5",e),...t,children:[pe.jsx(l.ChevronLeft,{className:"h-4 w-4"}),pe.jsx("span",{children:"Previous"})]});yr.displayName="PaginationPrevious";const Nr=({className:e,...t})=>pe.jsxs(vr,{"aria-label":"Go to next page",size:"default",className:fe("gap-1 pr-2.5",e),...t,children:[pe.jsx("span",{children:"Next"}),pe.jsx(l.ChevronRight,{className:"h-4 w-4"})]});Nr.displayName="PaginationNext";const jr=({className:e,...t})=>pe.jsxs("span",{"aria-hidden":!0,className:fe("flex h-9 w-9 items-center justify-center",e),...t,children:[pe.jsx(l.MoreHorizontal,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"More pages"})]});jr.displayName="PaginationEllipsis";const wr=M.forwardRef(({className:e,value:t,...a},s)=>pe.jsx(Z.Root,{ref:s,className:fe("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...a,children:pe.jsx(Z.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));wr.displayName=Z.Root.displayName;const kr=M.forwardRef(({className:e,...t},a)=>pe.jsx(ee.Root,{className:fe("grid gap-2",e),...t,ref:a}));kr.displayName=ee.Root.displayName;const Sr=M.forwardRef(({className:e,...t},a)=>pe.jsx(ee.Item,{ref:a,className:fe("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:pe.jsx(ee.Indicator,{className:"flex items-center justify-center",children:pe.jsx(l.Circle,{className:"h-2.5 w-2.5 fill-current text-current"})})}));Sr.displayName=ee.Item.displayName;const Cr=M.forwardRef(({className:e,orientation:t="horizontal",decorative:a=!0,...s},r)=>pe.jsx(te.Root,{ref:r,decorative:a,orientation:t,className:fe("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...s}));Cr.displayName=te.Root.displayName;const Tr=U.Root,Pr=U.Trigger,Ar=U.Close,Rr=U.Portal,Er=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Overlay,{className:fe("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),...t,ref:a}));Er.displayName=U.Overlay.displayName;const Ir=a.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"}}),_r=M.forwardRef(({side:e="right",className:t,children:a,...s},r)=>pe.jsxs(Rr,{children:[pe.jsx(Er,{}),pe.jsxs(U.Content,{ref:r,className:fe(Ir({side:e}),t),...s,children:[a,pe.jsxs(U.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:[pe.jsx(l.X,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));_r.displayName=U.Content.displayName;const Dr=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col space-y-2 text-center sm:text-left",e),...t});Dr.displayName="SheetHeader";const Or=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Or.displayName="SheetFooter";const zr=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Title,{ref:a,className:fe("text-lg font-semibold text-foreground",e),...t}));zr.displayName=U.Title.displayName;const Lr=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));Lr.displayName=U.Description.displayName;const Fr=ae.Provider,Mr=ae.Root,$r=ae.Trigger,Ur=M.forwardRef(({className:e,sideOffset:t=4,...a},s)=>pe.jsx(ae.Content,{ref:s,sideOffset:t,className:fe("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),...a}));Ur.displayName=ae.Content.displayName;const Br="sidebar:state",Vr=M.createContext(null);function qr(){const e=M.useContext(Vr);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Wr=M.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:a,className:s,style:r,children:n,...o},i)=>{const[l,c]=M.useState(!1);M.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[d,u]=M.useState(!1),[m,p]=M.useState(()=>{if("undefined"!=typeof window){const t=localStorage.getItem(Br);return null!==t?"true"===t:e}return e}),f=t??m,h=M.useCallback(e=>{const t="function"==typeof e?e(f):e;a?a(t):p(t),"undefined"!=typeof window&&localStorage.setItem(Br,String(t))},[a,f]),x=M.useCallback(()=>l?u(e=>!e):h(e=>!e),[l,h,u]);M.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),x())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[x]);const g=f?"expanded":"collapsed",b=M.useMemo(()=>({state:g,open:f,setOpen:h,isMobile:l,openMobile:d,setOpenMobile:u,toggleSidebar:x}),[g,f,h,l,d,u,x]);return pe.jsx(Vr.Provider,{value:b,children:pe.jsx(Fr,{delayDuration:0,children:pe.jsx("div",{className:fe("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":"4.5rem",...r},ref:i,...o,children:n})})})});Wr.displayName="SidebarProvider";const Hr=M.forwardRef(({side:e="left",variant:t="sidebar",collapsible:a="offcanvas",className:s,children:r,...n},o)=>{const{isMobile:i,state:l,openMobile:c,setOpenMobile:d}=qr();return"none"===a?pe.jsx("div",{className:fe("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?pe.jsx(Tr,{open:c,onOpenChange:d,...n,children:pe.jsxs(_r,{"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:[pe.jsx(zr,{className:"sr-only",children:"Menu de Navegação"}),pe.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):pe.jsxs("div",{ref:o,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?a:"","data-variant":t,"data-side":e,children:[pe.jsx("div",{className:fe("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"===t||"inset"===t?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),pe.jsx("div",{className:fe("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"===t||"inset"===t?"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:pe.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow bg-white",children:r})})]})});Hr.displayName="Sidebar";const Qr=M.forwardRef(({className:e,onClick:t,...a},s)=>{const{toggleSidebar:r}=qr();return pe.jsxs(ge,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:fe("h-7 w-7",e),onClick:e=>{t?.(e),r()},...a,children:[pe.jsx(l.PanelLeft,{}),pe.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Qr.displayName="SidebarTrigger";const Gr=M.forwardRef(({className:e,...t},a)=>{const{toggleSidebar:s}=qr();return pe.jsx("button",{ref:a,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:fe("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),...t})});Gr.displayName="SidebarRail";const Xr=M.forwardRef(({className:e,...t},a)=>pe.jsx("main",{ref:a,className:fe("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),...t}));Xr.displayName="SidebarInset";const Kr=M.forwardRef(({className:e,...t},a)=>pe.jsx(be,{ref:a,"data-sidebar":"input",className:fe("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));Kr.displayName="SidebarInput";const Jr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"header",className:fe("flex flex-col gap-2 p-2",e),...t}));Jr.displayName="SidebarHeader";const Yr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"footer",className:fe("flex flex-col gap-2 p-2",e),...t}));Yr.displayName="SidebarFooter";const Zr=M.forwardRef(({className:e,...t},a)=>pe.jsx(Cr,{ref:a,"data-sidebar":"separator",className:fe("mx-2 w-auto bg-sidebar-border",e),...t}));Zr.displayName="SidebarSeparator";const en=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"content",className:fe("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));en.displayName="SidebarContent";const tn=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"group",className:fe("relative flex w-full min-w-0 flex-col p-2",e),...t}));tn.displayName="SidebarGroup";const an=M.forwardRef(({className:e,asChild:a=!1,...s},r)=>{const n=a?t.Slot:"div";return pe.jsx(n,{ref:r,"data-sidebar":"group-label",className:fe("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),...s})});an.displayName="SidebarGroupLabel";const sn=M.forwardRef(({className:e,asChild:a=!1,...s},r)=>{const n=a?t.Slot:"button";return pe.jsx(n,{ref:r,"data-sidebar":"group-action",className:fe("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),...s})});sn.displayName="SidebarGroupAction";const rn=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"group-content",className:fe("w-full text-sm",e),...t}));rn.displayName="SidebarGroupContent";const nn=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,"data-sidebar":"menu",className:fe("flex w-full min-w-0 flex-col gap-1",e),...t}));nn.displayName="SidebarMenu";const on=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,"data-sidebar":"menu-item",className:fe("group/menu-item relative",e),...t}));on.displayName="SidebarMenuItem";const ln=a.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-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),cn=M.forwardRef(({asChild:e=!1,isActive:a=!1,variant:s="default",size:r="default",tooltip:n,className:o,...i},l)=>{const c=e?t.Slot:"button",{isMobile:d,state:u}=qr(),m=pe.jsx(c,{ref:l,"data-sidebar":"menu-button","data-size":r,"data-active":a,className:fe(ln({variant:s,size:r}),o),...i});return n?("string"==typeof n&&(n={children:n}),pe.jsxs(Mr,{children:[pe.jsx($r,{asChild:!0,children:m}),pe.jsx(Ur,{side:"right",align:"center",hidden:"collapsed"!==u||d,...n})]})):m});cn.displayName="SidebarMenuButton";const dn=M.forwardRef(({className:e,asChild:a=!1,showOnHover:s=!1,...r},n)=>{const o=a?t.Slot:"button";return pe.jsx(o,{ref:n,"data-sidebar":"menu-action",className:fe("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",s&&"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),...r})});dn.displayName="SidebarMenuAction";const un=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"menu-badge",className:fe("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),...t}));un.displayName="SidebarMenuBadge";const mn=M.forwardRef(({className:e,showIcon:t=!1,...a},s)=>{const r=M.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return pe.jsxs("div",{ref:s,"data-sidebar":"menu-skeleton",className:fe("rounded-md h-8 flex gap-2 px-2 items-center",e),...a,children:[t&&pe.jsx("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),pe.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})});mn.displayName="SidebarMenuSkeleton";const pn=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,"data-sidebar":"menu-sub",className:fe("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),...t}));pn.displayName="SidebarMenuSub";const fn=M.forwardRef(({...e},t)=>pe.jsx("li",{ref:t,...e}));fn.displayName="SidebarMenuSubItem";const hn=M.forwardRef(({asChild:e=!1,size:a="md",isActive:s,className:r,...n},o)=>{const i=e?t.Slot:"a";return pe.jsx(i,{ref:o,"data-sidebar":"menu-sub-button","data-size":a,"data-active":s,className:fe("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",r),...n})});hn.displayName="SidebarMenuSubButton";const xn=M.forwardRef(({className:e,...t},a)=>pe.jsxs(se.Root,{ref:a,className:fe("relative flex w-full touch-none select-none items-center",e),...t,children:[pe.jsx(se.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:pe.jsx(se.Range,{className:"absolute h-full bg-primary"})}),pe.jsx(se.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));xn.displayName=se.Root.displayName;function gn(e,t,{checkForDefaultPrevented:a=!0}={}){return function(s){if(e?.(s),!1===a||!s.defaultPrevented)return t?.(s)}}function bn(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function vn(...e){return M.useCallback(function(...e){return t=>{let a=!1;const s=e.map(e=>{const s=bn(e,t);return a||"function"!=typeof s||(a=!0),s});if(a)return()=>{for(let t=0;t<s.length;t++){const a=s[t];"function"==typeof a?a():bn(e[t],null)}}}}(...e),e)}function yn(...e){const t=e[0];if(1===e.length)return t;const a=()=>{const a=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){const s=a.reduce((t,{useScope:a,scopeName:s})=>({...t,...a(e)[`__scope${s}`]}),{});return M.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return a.scopeName=t.scopeName,a}var Nn=globalThis?.document?M.useLayoutEffect:()=>{},jn=M[" useInsertionEffect ".trim().toString()]||Nn;function wn({prop:e,defaultProp:t,onChange:a=()=>{},caller:s}){const[r,n,o]=function({defaultProp:e,onChange:t}){const[a,s]=M.useState(e),r=M.useRef(a),n=M.useRef(t);return jn(()=>{n.current=t},[t]),M.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,s,n]}({defaultProp:t,onChange:a}),i=void 0!==e,l=i?e:r;{const t=M.useRef(void 0!==e);M.useEffect(()=>{const e=t.current;if(e!==i){}t.current=i},[i,s])}const c=M.useCallback(t=>{if(i){const a=function(e){return"function"==typeof e}(t)?t(e):t;a!==e&&o.current?.(a)}else n(t)},[i,e,n,o]);return[l,c]}var kn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{const s=t.createSlot(`Primitive.${a}`),r=M.forwardRef((e,t)=>{const{asChild:r,...n}=e,o=r?s:a;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),pe.jsx(o,{...n,ref:t})});return r.displayName=`Primitive.${a}`,{...e,[a]:r}},{}),Sn="Switch",[Cn]=function(e,t=[]){let a=[];const s=()=>{const t=a.map(e=>M.createContext(e));return function(a){const s=a?.[e]||t;return M.useMemo(()=>({[`__scope${e}`]:{...a,[e]:s}}),[a,s])}};return s.scopeName=e,[function(t,s){const r=M.createContext(s),n=a.length;a=[...a,s];const o=t=>{const{scope:a,children:s,...o}=t,i=a?.[e]?.[n]||r,l=M.useMemo(()=>o,Object.values(o));return pe.jsx(i.Provider,{value:l,children:s})};return o.displayName=t+"Provider",[o,function(a,o){const i=o?.[e]?.[n]||r,l=M.useContext(i);if(l)return l;if(void 0!==s)return s;throw new Error(`\`${a}\` must be used within \`${t}\``)}]},yn(s,...t)]}(Sn),[Tn,Pn]=Cn(Sn),An=M.forwardRef((e,t)=>{const{__scopeSwitch:a,name:s,checked:r,defaultChecked:n,required:o,disabled:i,value:l="on",onCheckedChange:c,form:d,...u}=e,[m,p]=M.useState(null),f=vn(t,e=>p(e)),h=M.useRef(!1),x=!m||(d||!!m.closest("form")),[g,b]=wn({prop:r,defaultProp:n??!1,onChange:c,caller:Sn});return pe.jsxs(Tn,{scope:a,checked:g,disabled:i,children:[pe.jsx(kn.button,{type:"button",role:"switch","aria-checked":g,"aria-required":o,"data-state":_n(g),"data-disabled":i?"":void 0,disabled:i,value:l,...u,ref:f,onClick:gn(e.onClick,e=>{b(e=>!e),x&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),x&&pe.jsx(In,{control:m,bubbles:!h.current,name:s,value:l,checked:g,required:o,disabled:i,form:d,style:{transform:"translateX(-100%)"}})]})});An.displayName=Sn;var Rn="SwitchThumb",En=M.forwardRef((e,t)=>{const{__scopeSwitch:a,...s}=e,r=Pn(Rn,a);return pe.jsx(kn.span,{"data-state":_n(r.checked),"data-disabled":r.disabled?"":void 0,...s,ref:t})});En.displayName=Rn;var In=M.forwardRef(({__scopeSwitch:e,control:t,checked:a,bubbles:s=!0,...r},n)=>{const o=M.useRef(null),i=vn(o,n),l=function(e){const t=M.useRef({value:e,previous:e});return M.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}(a),c=function(e){const[t,a]=M.useState(void 0);return Nn(()=>{if(e){a({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver(t=>{if(!Array.isArray(t))return;if(!t.length)return;const s=t[0];let r,n;if("borderBoxSize"in s){const e=s.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,n=t.blockSize}else r=e.offsetWidth,n=e.offsetHeight;a({width:r,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}a(void 0)},[e]),t}(t);return M.useEffect(()=>{const e=o.current;if(!e)return;const t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==a&&r){const t=new Event("click",{bubbles:s});r.call(e,a),e.dispatchEvent(t)}},[l,a,s]),pe.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...r,tabIndex:-1,ref:i,style:{...r.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function _n(e){return e?"checked":"unchecked"}In.displayName="SwitchBubbleInput";var Dn=An,On=En;const zn=M.forwardRef(({className:e,...t},a)=>pe.jsx(Dn,{className:fe("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:a,children:pe.jsx(On,{className:fe("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));zn.displayName=Dn.displayName;const Ln={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},Fn={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},Mn={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function $n({children:e,direction:t="column",gap:a="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return pe.jsx("div",{className:fe("flex","column"===t?"flex-col":"flex-row",Ln[a],Fn[s],Mn[r],n&&"flex-wrap",o),children:e})}const Un=re.Root,Bn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.List,{ref:a,className:fe("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));Bn.displayName=re.List.displayName;const Vn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.Trigger,{ref:a,className:fe("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Vn.displayName=re.Trigger.displayName;const qn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.Content,{ref:a,className:fe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));qn.displayName=re.Content.displayName;const Wn=a.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Hn=M.forwardRef(({className:e,variant:t,size:a,...s},r)=>pe.jsx(ne.Root,{ref:r,className:fe(Wn({variant:t,size:a,className:e})),...s}));Hn.displayName=ne.Root.displayName;const Qn=M.createContext({size:"default",variant:"default"}),Gn=M.forwardRef(({className:e,variant:t,size:a,children:s,...r},n)=>pe.jsx(oe.Root,{ref:n,className:fe("flex items-center justify-center gap-1",e),...r,children:pe.jsx(Qn.Provider,{value:{variant:t,size:a},children:s})}));Gn.displayName=oe.Root.displayName;const Xn=M.forwardRef(({className:e,children:t,variant:a,size:s,...r},n)=>{const o=M.useContext(Qn);return pe.jsx(oe.Item,{ref:n,className:fe(Wn({variant:o.variant||a,size:o.size||s}),e),...r,children:t})});Xn.displayName=oe.Item.displayName;const Kn=e.forwardRef(({variant:e="default",className:t,children:a,...s},r)=>pe.jsx(ge,{ref:r,variant:"outline",size:"sm",className:fe("h-7 px-2 text-xs","border-primary/20 text-primary hover:bg-primary/5",t),...s,children:a||pe.jsx(l.EllipsisVertical,{size:12})}));function Jn(e){const t=h.useNavigate();return{onNew:()=>{const a=e.newPath||`${e.basePath}/new`;t(a)},onEdit:a=>{const s=e.editPath?e.editPath.replace(":id",a.id):`${e.basePath}/${a.id}/edit`;t(s)}}}Kn.displayName="ActionButton";const Yn=e.memo(({variant:t="card",className:a="",selectedUnit:s,onUnitChange:r})=>{const{user:n,companies:o,alias:i,isAuthenticated:c,logout:d,switchUnit:u}=ma(),m=o?.[0]||null,p=i?o?.find(e=>e.alias===i):m,f=o||[],h=s||p||m||m,x=e.useCallback(e=>{r?r(e):u(e)},[r,u]),g=e.useMemo(()=>{if(!f?.length)return[];const e=new Map;f.forEach(t=>{e.set(t.alias,t)});const t=Array.from(e.values()),a=t.find(e=>e.alias===h?.alias),s=t.filter(e=>e.alias!==h?.alias);return s.sort((e,t)=>(e.name||"").localeCompare(t.name||"","pt-BR",{sensitivity:"base"})),a?[a,...s]:s},[f,h?.alias]);if(!c||!n)return null;const b=()=>pe.jsxs(pe.Fragment,{children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx("div",{className:"flex-shrink-0",children:pe.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:pe.jsx(l.User,{className:"h-5 w-5 text-primary-foreground"})})}),pe.jsxs("div",{className:"flex-1 min-w-0",children:[pe.jsx("p",{className:"text-sm font-medium truncate",children:n.name}),pe.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&pe.jsx("div",{className:"mt-3",children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx(l.Building2,{className:"h-4 w-4 text-muted-foreground"}),pe.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),g.length>1&&pe.jsxs("div",{className:"mt-2",children:[pe.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",g.length]}),pe.jsxs("div",{className:"flex flex-wrap gap-1",children:[g.slice(0,3).map(e=>pe.jsx(tt,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>x(e),children:e.name},e.alias)),g.length>3&&pe.jsxs(tt,{variant:"outline",className:"text-xs",children:["+",g.length-3]})]})]})]});return"dropdown"===t?pe.jsxs(Ma,{children:[pe.jsx($a,{asChild:!0,children:pe.jsx(ge,{variant:"ghost",className:`h-auto p-2 ${a}`,children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsxs("div",{className:"hidden md:block text-left",children:[pe.jsx("p",{className:"text-sm font-medium",children:n.name}),pe.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),pe.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:pe.jsx(l.User,{className:"h-4 w-4 text-primary-foreground"})}),pe.jsx(l.ChevronDown,{className:"h-4 w-4"})]})})}),pe.jsxs(Qa,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[pe.jsxs(Va,{children:[pe.jsxs(Wa,{children:[pe.jsx(l.RefreshCw,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),pe.jsx(Ha,{children:g.map(e=>pe.jsxs(Ga,{onClick:()=>x(e),className:e.alias===h?.alias?"bg-muted":"",children:[pe.jsx(l.Building2,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&pe.jsx(tt,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),pe.jsx(Ya,{}),pe.jsxs(Ga,{onClick:d,children:[pe.jsx(l.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]}):pe.jsxs(Ne,{className:a,children:[pe.jsx(je,{children:pe.jsx(we,{className:"text-lg",children:"Informações do Usuário"})}),pe.jsxs(Se,{className:"space-y-4",children:[pe.jsx(b,{}),pe.jsx(Cr,{}),pe.jsxs(ge,{variant:"outline",onClick:d,size:"sm",className:"w-full",children:[pe.jsx(l.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}),Zn=e.createContext({});function eo({children:t,config:a}){const s=e.useMemo(()=>({navigation:a?.navigation,appName:a?.appName}),[a?.navigation,a?.appName]);return pe.jsx(Zn.Provider,{value:s,children:t})}function to(){return e.useContext(Zn)}function ao(){const e=h.useLocation(),{navigation:t}=to(),a=t?.find(t=>t.path===e.pathname);return a?.label||"Página"}function so(t,a){const[s,r]=e.useState(t),n=e.useRef(),o=e.useCallback(()=>{n.current&&(clearTimeout(n.current),n.current=void 0)},[]);return e.useEffect(()=>(o(),n.current=setTimeout(()=>{r(t)},a),o),[t,a,o]),[s,o]}const ro=e.memo(function({actions:t}){const a=h.useLocation(),s=ao(),{navigation:r,appName:n}=to(),{companies:o,alias:i,isSearchVisible:c,clearSearch:d,refreshData:u,switchUnit:m}=ma(),p=i?o?.find(e=>e.alias===i)||o?.[0]||null:o?.[0]||null,[f,x]=h.useSearchParams(),[g,b]=e.useState(()=>f.get("search")||""),[v,y]=so(g,Gt.debounceDelay);e.useEffect(()=>{if(!c)return;const e=new URLSearchParams(f);v?(e.set("search",v),e.set("page","1")):e.delete("search"),x(e)},[v,x,c]);const N=r?.find(e=>e.path===a.pathname);return pe.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:pe.jsxs("div",{className:"flex items-center gap-4",children:[pe.jsxs("div",{className:"flex-shrink-0",children:[pe.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[pe.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:s}),pe.jsx(tt,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:n||"Módulo"})]}),pe.jsx("p",{className:"text-sm text-muted-foreground truncate",children:N?.complementaryText||"Detalhes do item"})]}),c&&pe.jsxs("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[pe.jsxs("div",{className:"relative flex-1",children:[pe.jsx(l.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),pe.jsx(be,{placeholder:"/wiki"===a.pathname?"Buscar artigos...":"Buscar...",value:g,onChange:e=>(e=>{b(e)})(e.target.value),className:"w-full pl-10 pr-8"}),g&&pe.jsx(ge,{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:()=>{y(),b("");const e=new URLSearchParams(f);e.delete("search"),e.delete("page"),x(e)},title:"Limpar busca",children:pe.jsx(l.X,{size:14})})]}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:u,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:pe.jsx(l.RefreshCw,{size:14})})]}),pe.jsxs("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[t&&pe.jsx("div",{className:"flex items-center gap-2",children:t}),pe.jsx("div",{className:"text-sm",children:pe.jsx(Yn,{variant:"dropdown",selectedUnit:p,onUnitChange:m})})]})]})})}),no=(e={})=>{const{enabled:t=!0}=e,{alias:a}=ma();return f.useQuery({queryKey:["active-modules",a],queryFn:async()=>{if(!a)return[];const e=$t(),{data:t,error:s}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",a).eq("status","active").order("name");if(s){if(!da.handleError(s))throw s;return[]}return t||[]},enabled:t&&!!a})},oo=({key:e,enabled:t,checkFn:a,staleTime:s=3e5,gcTime:r=6e5})=>f.useQuery({queryKey:["permission",e],queryFn:a,enabled:t,staleTime:s,gcTime:r,retry:0,refetchOnWindowFocus:!1}),io=(void 0).VITE_SUPABASE_PROJECT_ID,lo={logo:`https://${io}.supabase.co/storage/v1/object/public/library-assets/logo.svg`,smallLogo:`https://${io}.supabase.co/storage/v1/object/public/library-assets/small.svg`},co=lo.logo,uo=lo.smallLogo,mo="forlogic-sidebar-pinned",po=()=>{try{const e=localStorage.getItem(mo);return!!e&&JSON.parse(e)}catch{return!1}};function fo({config:t}={}){const{state:a,open:s,setOpen:r}=qr(),n=h.useLocation(),{alias:o,user:i}=ma(),[c,d]=e.useState(!1),[u,m]=e.useState(po),[p,f]=e.useState(!1);e.useEffect(()=>{r(!!u||!(!p&&!c))},[u,p,c,r]);const{data:x,isLoading:g,error:b}=no({enabled:c}),v=e=>{const t=["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 t[e%t.length]};return pe.jsxs(Hr,{collapsible:"icon",onMouseEnter:()=>{u||f(!0)},onMouseLeave:()=>{u||f(!1)},className:"app-sidebar transition-all duration-300 ease-in-out bg-white border-r border-gray-200 py-6 px-3",children:[pe.jsxs(Jr,{className:"p-0 gap-0",children:[pe.jsx("div",{className:"flex items-center justify-between h-[34px]",children:s?pe.jsxs(pe.Fragment,{children:[pe.jsx("div",{className:"flex items-center pl-[12px]",children:pe.jsx("img",{src:lo.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),pe.jsx("button",{onClick:()=>{const e=!u;m(e),(e=>{try{localStorage.setItem(mo,JSON.stringify(e))}catch{}})(e)},className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(u?"bg-primary text-primary-foreground":"hover:bg-muted text-muted-foreground"),children:pe.jsx(l.PanelLeft,{className:"h-4 w-4"})})]}):pe.jsx("div",{className:"flex items-center justify-center w-full h-[34px]",children:pe.jsx("img",{src:lo.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),pe.jsx("div",{className:"mt-2 pt-0",children:pe.jsxs(Ma,{onOpenChange:d,children:[pe.jsx($a,{asChild:!0,children:s?pe.jsxs("div",{className:"bg-muted hover:bg-muted/80 text-foreground font-medium text-sm flex items-center justify-between cursor-pointer transition-all duration-200 h-8 px-3 gap-3 rounded-md w-full",children:[pe.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[pe.jsx("img",{src:"https://ccjfvpnndclajkleyqkc.supabase.co/storage/v1/object/public/library-assets/composit.svg",alt:"Menu",className:"h-6 w-6 text-muted-foreground flex-shrink-0"}),pe.jsx("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:t?.appName||"Título do módulo"})]}),pe.jsx(l.ChevronDown,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):pe.jsx("div",{className:"flex items-center justify-center w-full h-8 bg-muted hover:bg-muted/80 rounded-md cursor-pointer transition-all duration-200 p-[5px]",children:pe.jsx(l.ChevronDown,{className:"h-6 w-6 text-muted-foreground"})})}),pe.jsx(Qa,{className:s?"w-80 bg-white rounded-lg shadow-lg border border-gray-200 p-4 z-50":"w-[58px] bg-white rounded-lg shadow-lg border border-gray-200 p-2 z-50",align:s?"start":"center",children:g?pe.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[pe.jsx(l.Loader2,{className:"h-4 w-4 animate-spin"}),pe.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):b?pe.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[pe.jsx(l.AlertCircle,{className:"h-4 w-4"}),pe.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):x&&0!==x.length?pe.jsx("div",{className:"space-y-2",children:x.map((e,t)=>pe.jsx("div",{onClick:()=>(e=>{const t=x?.find(t=>t.url===e);t?.url&&window.open(t.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${v(t)} transition-colors duration-200\n `,children:pe.jsxs("div",{className:"flex items-center justify-between",children:[pe.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&pe.jsx(l.ExternalLink,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):pe.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]})})]}),pe.jsx(en,{children:pe.jsx(tn,{className:"p-0 mt-6",children:pe.jsx(rn,{children:pe.jsx(nn,{className:"space-y-2",children:pe.jsx(Fr,{children:t?.navigation?.map((e,t)=>{const a=({item:e,index:t})=>{const a=`${e.path}-${t}-${o??"noalias"}-${i?.id??"nouser"}`,{data:s=!0,isLoading:r}=oo({key:a,enabled:Boolean(e.permissionCheck&&o&&i?.id),checkFn:e.permissionCheck||(()=>Promise.resolve(!0))}),c=e.permissionCheck&&!s,d=r?l.Loader2:c?l.Lock:e.icon;return c||e.complementaryText,pe.jsx(on,{children:c||r?pe.jsxs(Mr,{children:[pe.jsx($r,{asChild:!0,children:pe.jsx(cn,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:pe.jsxs("div",{className:"flex w-full items-center gap-3",children:[pe.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:pe.jsx(d,{className:"h-4 w-4 "+(r?"animate-spin":"")})}),pe.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})}),pe.jsx(Ur,{children:pe.jsx("p",{children:r?"Verificando acesso...":"Acesso restrito"})})]}):pe.jsx(cn,{asChild:!0,isActive:(u=e.path,n.pathname===u),size:"lg",className:"h-10",children:pe.jsxs(h.Link,{to:e.path,className:"flex w-full items-center gap-3",children:[pe.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:pe.jsx(d,{className:"h-5 w-4"})}),pe.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})},e.path);var u};return pe.jsx(a,{item:e,index:t},e.path)})})})})})})]})}const ho=e.memo(function({children:t,sidebar:a,sidebarConfig:s,showHeader:r=!0}){const n=e.useMemo(()=>a||pe.jsx(fo,{config:s}),[a,s]),o=e.useMemo(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return pe.jsx(eo,{config:s,children:pe.jsx(Wr,{defaultOpen:!1,style:o,children:pe.jsxs("div",{className:"min-h-screen flex w-full",children:[n,pe.jsxs("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[r&&pe.jsx("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:pe.jsx(ro,{})}),pe.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50",children:t})]})]})})})});class xo extends e.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){_t.handleError(e,!1)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:pe.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsxs(je,{className:"text-center",children:[pe.jsx("div",{className:"flex justify-center mb-4",children:pe.jsx(l.AlertTriangle,{className:"h-12 w-12 text-destructive"})}),pe.jsx(we,{children:"Algo deu errado"})]}),pe.jsxs(Se,{className:"text-center space-y-4",children:[pe.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),pe.jsx(ge,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function go(){const[t,a]=e.useState([]),[s,r]=e.useState(!1),[n,o]=e.useState(null),[i,l]=e.useState(null);e.useEffect(()=>{c()},[]);const c=async()=>{try{const e=$t(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"createThread"}});if(s)throw s;o(t.threadId),a([{id:"initial",role:"assistant",content:"Olá! Como posso ajudá-lo hoje?",timestamp:new Date}])}catch(e){l("Erro ao inicializar conversa"),x.toast.error("Erro ao inicializar conversa")}};return{messages:t,isLoading:s,error:i,sendMessage:e.useCallback(async e=>{if(!n||!e.trim())return;const t={id:`user-${Date.now()}`,role:"user",content:e,timestamp:new Date};a(e=>[...e,t]),r(!0),l(null);try{const t=$t(),{data:s,error:r}=await t.functions.invoke("openai-chat",{body:{action:"sendMessage",threadId:n,message:e}});if(r)throw r;const{runId:o}=s,i=await(async e=>{if(!n)return!1;for(let a=0;a<60;a++)try{const t=$t(),{data:a,error:s}=await t.functions.invoke("openai-chat",{body:{action:"checkRunStatus",threadId:n,runId:e}});if(s)throw s;const{status:r}=a;if("completed"===r)return!0;if("failed"===r||"cancelled"===r)throw new Error("O assistente encontrou um erro");await new Promise(e=>setTimeout(e,1e3))}catch(t){throw t}throw new Error("Tempo limite excedido")})(o);i&&await(async()=>{if(n)try{const e=$t(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"getMessages",threadId:n}});if(s)throw s;const r=t.messages.map(e=>({id:e.id,role:e.role,content:e.content,timestamp:new Date(1e3*e.created_at)}));a(r)}catch(e){throw e}})()}catch(s){const e=s instanceof Error?s.message:"Erro ao enviar mensagem";l(e),x.toast.error(e),a(e=>e.filter(e=>e.id!==t.id))}finally{r(!1)}},[n]),threadId:n}}function bo({content:e,className:t}){return pe.jsx("div",{className:fe("prose prose-sm max-w-none",t),children:pe.jsx(O,{remarkPlugins:[z],components:{h1:({children:e})=>pe.jsx("h1",{className:"text-lg font-bold mt-4 mb-2 text-foreground",children:e}),h2:({children:e})=>pe.jsx("h2",{className:"text-base font-bold mt-3 mb-2 text-foreground",children:e}),h3:({children:e})=>pe.jsx("h3",{className:"text-sm font-semibold mt-2 mb-1 text-foreground",children:e}),p:({children:e})=>pe.jsx("p",{className:"text-sm mb-2 last:mb-0 text-foreground",children:e}),ul:({children:e})=>pe.jsx("ul",{className:"list-disc list-inside mb-2 space-y-1",children:e}),ol:({children:e})=>pe.jsx("ol",{className:"list-decimal list-inside mb-2 space-y-1",children:e}),li:({children:e})=>pe.jsx("li",{className:"text-sm text-foreground",children:e}),code:({inline:e,children:t,...a})=>e?pe.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono text-foreground",...a,children:t}):pe.jsx("code",{className:"block bg-muted p-2 rounded text-xs font-mono overflow-x-auto mb-2 text-foreground",...a,children:t}),pre:({children:e})=>pe.jsx("pre",{className:"bg-muted p-2 rounded overflow-x-auto mb-2",children:e}),a:({children:e,href:t})=>pe.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline hover:text-primary/80",children:e}),blockquote:({children:e})=>pe.jsx("blockquote",{className:"border-l-4 border-primary pl-3 italic my-2 text-muted-foreground",children:e}),strong:({children:e})=>pe.jsx("strong",{className:"font-bold text-foreground",children:e}),em:({children:e})=>pe.jsx("em",{className:"italic text-foreground",children:e})},children:e})})}Object.defineProperty(exports,"sonnerToast",{enumerable:!0,get:function(){return x.toast}}),exports.AUTH_CONFIG=Ht,exports.Accordion=As,exports.AccordionContent=Is,exports.AccordionItem=Rs,exports.AccordionTrigger=Es,exports.ActionButton=Kn,exports.ActionMenuItems=es,exports.Alert=Cs,exports.AlertDescription=Ps,exports.AlertDialog=fa,exports.AlertDialogAction=wa,exports.AlertDialogCancel=ka,exports.AlertDialogContent=ba,exports.AlertDialogDescription=ja,exports.AlertDialogFooter=ya,exports.AlertDialogHeader=va,exports.AlertDialogOverlay=ga,exports.AlertDialogPortal=xa,exports.AlertDialogTitle=Na,exports.AlertDialogTrigger=ha,exports.AlertTitle=Ts,exports.AppHeader=ro,exports.AppLayout=ho,exports.AppSidebar=fo,exports.AspectRatio=_s,exports.AuthErrorInterceptor=da,exports.AuthProvider=({children:t})=>{const[a,s]=e.useState({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null});let r=null;try{r=f.useQueryClient()}catch{}const[n,o]=e.useState(!1),[i,l]=e.useState(0),c=e.useCallback(e=>{s(t=>({...t,...e}))},[]),d=e.useCallback(e=>{s(t=>({...t,isLoading:e}))},[]),u=e.useCallback(()=>{s({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null})},[]),m=e.useCallback(async e=>{try{d(!0);const t=Rt.getAccessToken();if(!t)return;const a=await ra.generateToken(t,e.alias,void 0,!0);if(!a)return;Rt.setSupabaseToken(a),Rt.setSelectedAlias(e.alias);const s=Rt.extractTokenData(),n=s?.alias||e.alias,o={id:s?.companyId||Rt.getCompanyId(e.alias)||e.id,name:e.name,alias:n};c({alias:n,selectedUnit:o}),r&&(await r.clear(),await new Promise(e=>setTimeout(e,100)))}catch(t){}finally{d(!1)}},[c,r,d]),p=e.useCallback(async()=>await ca.processCallback(),[]),h=e.useCallback(async()=>{ca.logout(),u(),r&&await r.clear()},[u,r]),x=e.useCallback(e=>{o(e)},[]),g=e.useCallback(()=>{l(e=>e+1)},[]),b=e.useCallback(()=>{l(e=>e+1)},[]);e.useEffect(()=>{if(!a.isAuthenticated)return;let e=!0;const t=setInterval(()=>{e&&(Rt.areAllTokensValid()||e&&h())},6e5);return()=>{e=!1,clearInterval(t)}},[a.isAuthenticated,h]),e.useEffect(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const t=await ca.initialize();if(!e)return;t&&t.isAuthenticated?c({user:t.user,companies:t.companies,alias:t.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:t.selectedUnit,userId:t.userId,userAlias:t.userAlias}):e&&d(!1)}catch(t){e&&(da.handleError(t),d(!1))}})(),()=>{e=!1}},[c,d,h]);const v=e.useMemo(()=>({...a,logout:h,processCallback:p,switchUnit:m,availableUnits:a.companies,isSearchVisible:n,setSearchVisible:x,clearSearch:g,refreshData:b}),[a.user,a.companies,a.alias,a.isAuthenticated,a.isLoading,a.selectedUnit,a.userId,a.userAlias,h,p,m,n,x,g,b]);return pe.jsx(ua.Provider,{value:v,children:t})},exports.AuthService=ca,exports.Avatar=Ds,exports.AvatarFallback=zs,exports.AvatarImage=Os,exports.Badge=tt,exports.BaseForm=xs,exports.Breadcrumb=Ls,exports.BreadcrumbEllipsis=Vs,exports.BreadcrumbItem=Ms,exports.BreadcrumbLink=$s,exports.BreadcrumbList=Fs,exports.BreadcrumbPage=Us,exports.BreadcrumbSeparator=Bs,exports.BulkActionBar=vs,exports.Button=ge,exports.CRUD_CONFIG=Qt,exports.Calendar=er,exports.CallbackPage=()=>{const{processCallback:t}=ma(),[a,s]=e.useState(null),[r,n]=e.useState(!1);e.useEffect(()=>{(async()=>{try{if(await t()){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){s(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[t]);const o=async()=>{n(!0),s(null);try{await t()||s("Falha na autenticação. Tente novamente.")}catch(e){s(e?.message||"Erro ao tentar novamente.")}finally{n(!1)}},i=()=>{window.location.href="/"};return a?pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsxs(we,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[pe.jsx(l.AlertCircle,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),pe.jsxs(Se,{className:"space-y-4",children:[pe.jsx(Cs,{variant:"destructive",children:pe.jsx(Ps,{children:a})}),pe.jsx("div",{className:"text-sm text-muted-foreground",children:pe.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),pe.jsxs("div",{className:"flex gap-2",children:[pe.jsx(ge,{onClick:o,disabled:r,className:"flex-1",children:r?pe.jsxs(pe.Fragment,{children:[pe.jsx(st,{size:"sm",className:"mr-2"}),"Tentando..."]}):pe.jsxs(pe.Fragment,{children:[pe.jsx(l.RefreshCw,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),pe.jsx(ge,{onClick:i,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"flex justify-center mb-4",children:pe.jsx(st,{size:"lg"})}),pe.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},exports.Card=Ne,exports.CardContent=Se,exports.CardDescription=ke,exports.CardFooter=Ce,exports.CardHeader=je,exports.CardSkeleton=za,exports.CardTitle=we,exports.ChatbotPage=function(){const[t,a]=e.useState(!1),[s,r]=e.useState(""),{messages:n,isLoading:o,error:i,sendMessage:c}=go(),d=e.useRef(null),u=e.useRef(null);e.useEffect(()=>{if(d.current){const e=d.current.querySelector("[data-radix-scroll-area-viewport]");e&&(e.scrollTop=e.scrollHeight)}},[n]),e.useEffect(()=>{t&&u.current&&u.current.focus()},[t]),e.useEffect(()=>{const e=e=>{"Escape"===e.key&&t&&a(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);const m=()=>{s.trim()&&!o&&(c(s),r(""))};return pe.jsxs(pe.Fragment,{children:[pe.jsx(ge,{onClick:()=>a(!t),className:"fixed bottom-6 right-6 h-14 w-14 rounded-full shadow-lg z-50",size:"icon",children:t?pe.jsx(l.X,{className:"h-6 w-6"}):pe.jsx(l.MessageCircle,{className:"h-6 w-6"})}),t&&pe.jsxs(Ne,{className:"fixed bottom-24 right-6 w-96 h-[600px] shadow-xl z-50 flex flex-col",children:[pe.jsxs(je,{className:"flex flex-row items-center justify-between space-y-0 pb-4",children:[pe.jsx(we,{className:"text-lg font-semibold",children:"Chat Assistant"}),pe.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>a(!1),className:"h-8 w-8",children:pe.jsx(l.X,{className:"h-4 w-4"})})]}),pe.jsxs(Se,{className:"flex-1 flex flex-col p-0 overflow-hidden",children:[pe.jsx(cs,{ref:d,className:"flex-1 px-4",children:pe.jsxs("div",{className:"space-y-4 py-4",children:[n.map(e=>pe.jsx("div",{className:"flex "+("user"===e.role?"justify-end":"justify-start"),children:pe.jsx("div",{className:"max-w-[80%] rounded-lg px-4 py-2 "+("user"===e.role?"bg-primary text-primary-foreground":"bg-muted"),children:"assistant"===e.role?pe.jsx(bo,{content:e.content}):pe.jsx("p",{className:"text-sm whitespace-pre-wrap",children:e.content})})},e.id)),o&&pe.jsx("div",{className:"flex justify-start",children:pe.jsx("div",{className:"bg-muted rounded-lg px-4 py-2",children:pe.jsxs("div",{className:"flex space-x-2",children:[pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce"}),pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.2s]"}),pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.4s]"})]})})}),i&&pe.jsx("div",{className:"text-center text-sm text-destructive py-2",children:i})]})}),pe.jsx("div",{className:"border-t p-4",children:pe.jsxs("div",{className:"flex space-x-2",children:[pe.jsx(be,{ref:u,value:s,onChange:e=>r(e.target.value),onKeyPress:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m())},placeholder:"Digite sua mensagem...",disabled:o,className:"flex-1"}),pe.jsx(ge,{onClick:m,disabled:o||!s.trim(),size:"icon",children:pe.jsx(l.Send,{className:"h-4 w-4"})})]})})]})]})]})},exports.Checkbox=Ye,exports.Collapsible=tr,exports.CollapsibleContent=sr,exports.CollapsibleTrigger=ar,exports.ColorPicker=ls,exports.Command=rr,exports.CommandDialog=({children:e,...t})=>pe.jsx("div",{...t,children:pe.jsx(rr,{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=ir,exports.CommandGroup=lr,exports.CommandInput=nr,exports.CommandItem=dr,exports.CommandList=or,exports.CommandSeparator=cr,exports.CommandShortcut=ur,exports.CrudCards=function({manager:e,config:t,onEdit:a,onDelete:s}){return e.isLoading?pe.jsx(hr,{children:Array.from({length:3}).map((e,t)=>pe.jsxs(Ne,{children:[pe.jsxs(je,{children:[pe.jsx(Da,{className:"h-4 w-3/4"}),pe.jsx(Da,{className:"h-3 w-1/2"})]}),pe.jsx(Se,{children:pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Da,{className:"h-3 w-full"}),pe.jsx(Da,{className:"h-3 w-2/3"})]})})]},t))}):pe.jsx(mr.Root,{children:e.entities.map(e=>pe.jsxs(mr.Item,{onClick:()=>a(e),children:[pe.jsx(je,{className:"pb-3",children:pe.jsxs("div",{className:"flex items-start justify-between",children:[pe.jsxs("div",{className:"flex-1 min-w-0",children:[pe.jsx(we,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),pe.jsx(ke,{className:"text-sm",children:n.format(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:Zs})})]}),pe.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&pe.jsx(ge,{variant:"external-link",size:"icon-xs",onClick:t=>{t.stopPropagation(),(e=>{try{const t=window.open(e,"_blank");t&&!t.closed&&void 0!==t.closed||(navigator.clipboard.writeText(e),x.toast.info("Link copiado para a área de transferência"))}catch(t){window.location.href=e}})(e.link)},title:"Abrir link externo",children:pe.jsx(l.ExternalLink,{className:"h-4 w-4"})}),pe.jsx("div",{onClick:e=>e.stopPropagation(),children:pe.jsx(ts,{onEdit:()=>a(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),pe.jsx(Se,{className:"pt-0",children:pe.jsx("div",{className:"space-y-2",children:t.cardFields?.map(t=>{const a=e[t.key];return a?pe.jsx(mr.Field,{label:t.label,value:t.render?t.render(a,e):String(a)},String(t.key)):null})})})]},e.id))})},exports.CrudForm=gs,exports.CrudTable=as,exports.DataList=mr,exports.DeleteConfirmationDialog=Sa,exports.Dialog=Te,exports.DialogClose=Re,exports.DialogContent=Ie,exports.DialogDescription=ze,exports.DialogFooter=De,exports.DialogHeader=_e,exports.DialogOverlay=Ee,exports.DialogPortal=Ae,exports.DialogTitle=Oe,exports.DialogTrigger=Pe,exports.DropdownMenu=Ma,exports.DropdownMenuCheckboxItem=Xa,exports.DropdownMenuContent=Qa,exports.DropdownMenuGroup=Ua,exports.DropdownMenuItem=Ga,exports.DropdownMenuLabel=Ja,exports.DropdownMenuPortal=Ba,exports.DropdownMenuRadioGroup=qa,exports.DropdownMenuRadioItem=Ka,exports.DropdownMenuSeparator=Ya,exports.DropdownMenuShortcut=Za,exports.DropdownMenuSub=Va,exports.DropdownMenuSubContent=Ha,exports.DropdownMenuSubTrigger=Wa,exports.DropdownMenuTrigger=$a,exports.EmptyState=Fa,exports.EntitySelect=ps,exports.ErrorBoundary=xo,exports.FilterBar=function({manager:e,filters:t}){const{isSearchVisible:a}=ma(),s=e.searchTerm;return pe.jsx($n,{direction:"column",gap:"md",className:"mb-6",children:pe.jsxs($n,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[t.some(e=>"search"===e.type)&&!a&&pe.jsxs("div",{className:"relative flex-1",children:[pe.jsx(l.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),pe.jsx(be,{placeholder:"Buscar...",value:e.searchTerm,onChange:t=>e.handleSearch(t.target.value),className:"pl-10"})]}),t.filter(e=>"custom"===e.type&&e.component).map((e,t)=>{const a=e.component;return pe.jsx("div",{className:"w-full sm:w-auto",children:pe.jsx(a,{...e.props})},t)}),s&&pe.jsxs(ge,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[pe.jsx(l.X,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})},exports.Form=Le,exports.FormControl=Ve,exports.FormField=({...e})=>pe.jsx(Fe.Provider,{value:{name:e.name},children:pe.jsx(c.Controller,{...e})}),exports.FormItem=Ue,exports.FormLabel=Be,exports.FormMessage=qe,exports.FormSkeleton=function({fields:e=4}){return pe.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,t)=>pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Da,{className:"h-4 w-24"}),pe.jsx(Da,{className:"h-10 w-full"})]},t)),pe.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[pe.jsx(Da,{className:"h-10 w-20"}),pe.jsx(Da,{className:"h-10 w-20"})]})]})},exports.Grid=hr,exports.HeaderSkeleton=function(){return pe.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx(Da,{className:"h-8 w-8 rounded-full"}),pe.jsx(Da,{className:"h-6 w-32"})]}),pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx(Da,{className:"h-8 w-8"}),pe.jsx(Da,{className:"h-8 w-24"})]})]})},exports.IconPicker=ms,exports.Input=be,exports.Label=ye,exports.LoadingState=function({isLoading:e,children:t,className:a,type:s="spinner",size:r="md"}){return e?"overlay"===s?pe.jsxs("div",{className:fe("relative",a),children:[t,pe.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:pe.jsx(st,{size:r})})]}):"skeleton"===s?pe.jsx("div",{className:fe("animate-pulse",a),children:pe.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):pe.jsx("div",{className:fe("flex items-center justify-center py-8",a),children:pe.jsx(st,{size:r})}):pe.jsx(pe.Fragment,{children:t})},exports.LoginPage=()=>pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),pe.jsxs(Se,{className:"text-center space-y-4",children:[pe.jsx("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),pe.jsx(ge,{onClick:async()=>{Xt()?await ca.loginDev():ca.loginProd()},className:"w-full",size:"lg",children:Xt()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})}),exports.MESSAGES=Yt,exports.MarkdownMessage=bo,exports.NavigationProvider=eo,exports.PageBreadcrumb=function({items:e,maxItems:t=3,className:a}){return e.length>t&&(e[0],e.slice(-(t-1))),e.length,pe.jsx(Ls,{className:a})},exports.Pagination=xr,exports.PaginationContent=gr,exports.PaginationEllipsis=jr,exports.PaginationItem=br,exports.PaginationLink=vr,exports.PaginationNext=Nr,exports.PaginationPrevious=yr,exports.Popover=rs,exports.PopoverContent=os,exports.PopoverTrigger=ns,exports.Progress=wr,exports.ProtectedRoute=({children:t})=>{const{isAuthenticated:a,isLoading:s}=ma();if(e.useEffect(()=>{if(!a)return;const e=()=>{Rt.areAllTokensValid()||ca.logout()};e();const t=setInterval(e,3e5);return()=>clearInterval(t)},[a]),e.useEffect(()=>{if(s)return;if(a)return;if(Rt.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),t=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,r=new URLSearchParams(t);if(e.has("access_token")||r.has("access_token"))return;const n=Xt();(async()=>{n?await ca.loginDev():ca.loginProd()})()},[a,s]),s)return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Carregando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!a){if(new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token"))return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Processando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})});try{if(Rt.areAllTokensValid())return pe.jsx(pe.Fragment,{children:t})}catch{}return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Iniciando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:Xt()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return pe.jsx(pe.Fragment,{children:t})},exports.QUERY_KEYS={crud:e=>[e],list:(e,t)=>[e,"list",t],detail:(e,t)=>[e,"detail",t]},exports.QualiexEnrichmentService=Wt,exports.QualiexUserField=hs,exports.RadioGroup=kr,exports.RadioGroupItem=Sr,exports.SEARCH_CONFIG=Gt,exports.ScrollArea=cs,exports.ScrollBar=ds,exports.Select=We,exports.SelectContent=Ke,exports.SelectItem=Je,exports.SelectTrigger=Qe,exports.SelectValue=He,exports.Separator=Cr,exports.Sheet=Tr,exports.SheetClose=Ar,exports.SheetContent=_r,exports.SheetDescription=Lr,exports.SheetFooter=Or,exports.SheetHeader=Dr,exports.SheetOverlay=Er,exports.SheetPortal=Rr,exports.SheetTitle=zr,exports.SheetTrigger=Pr,exports.Sidebar=Hr,exports.SidebarContent=en,exports.SidebarFooter=Yr,exports.SidebarGroup=tn,exports.SidebarGroupAction=sn,exports.SidebarGroupContent=rn,exports.SidebarGroupLabel=an,exports.SidebarHeader=Jr,exports.SidebarInput=Kr,exports.SidebarInset=Xr,exports.SidebarMenu=nn,exports.SidebarMenuAction=dn,exports.SidebarMenuBadge=un,exports.SidebarMenuButton=cn,exports.SidebarMenuItem=on,exports.SidebarMenuSkeleton=mn,exports.SidebarMenuSub=pn,exports.SidebarMenuSubButton=hn,exports.SidebarMenuSubItem=fn,exports.SidebarProvider=Wr,exports.SidebarRail=Gr,exports.SidebarSeparator=Zr,exports.SidebarSkeleton=function(){return pe.jsx("div",{className:"w-64 border-r bg-muted/10",children:pe.jsxs("div",{className:"p-4",children:[pe.jsx(Da,{className:"h-8 w-32 mb-6"}),pe.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,t)=>pe.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[pe.jsx(Da,{className:"h-4 w-4"}),pe.jsx(Da,{className:"h-4 w-20"})]},t))})]})})},exports.SidebarTrigger=Qr,exports.Skeleton=Da,exports.Slider=xn,exports.SonnerToaster=({...e})=>{const{theme:t="system"}=E.useTheme();return pe.jsx(x.Toaster,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},exports.Spinner=st,exports.Stack=$n,exports.Switch=zn,exports.TabPageContent=function({children:e,className:t}){return pe.jsx("div",{className:fe("space-y-6",t),children:e})},exports.TabPageHeader=function({title:e,description:t,actions:a,className:s}){return pe.jsxs("div",{className:fe("space-y-4",s),children:[pe.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[pe.jsxs("div",{className:"space-y-1",children:[pe.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:e}),t&&pe.jsx("p",{className:"text-muted-foreground text-sm",children:t})]}),a&&pe.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:a})]}),pe.jsx(Cr,{})]})},exports.TabPageLayout=function({children:e,className:t}){return pe.jsx("div",{className:fe("flex flex-col h-full",t),children:pe.jsx(cs,{className:"flex-1",children:pe.jsx("div",{className:"space-y-6 p-6",children:e})})})},exports.Table=Ca,exports.TableBody=Pa,exports.TableCaption=_a,exports.TableCell=Ia,exports.TableFooter=Aa,exports.TableHead=Ea,exports.TableHeader=Ta,exports.TableRow=Ra,exports.TableRowActions=ts,exports.TableSkeleton=Oa,exports.Tabs=Un,exports.TabsContent=qn,exports.TabsList=Bn,exports.TabsTrigger=Vn,exports.Textarea=Ze,exports.Toast=xt,exports.ToastAction=gt,exports.ToastClose=bt,exports.ToastDescription=yt,exports.ToastProvider=pt,exports.ToastTitle=vt,exports.ToastViewport=ft,exports.Toaster=function(){const{toasts:e}=mt();return pe.jsxs(pt,{children:[e.map(function({id:e,title:t,description:a,action:s,...r}){return pe.jsxs(xt,{...r,children:[pe.jsxs("div",{className:"grid gap-1",children:[t&&pe.jsx(vt,{children:t}),a&&pe.jsx(yt,{children:a})]}),s,pe.jsx(bt,{})]},e)}),pe.jsx(ft,{})]})},exports.Toggle=Hn,exports.ToggleGroup=Gn,exports.ToggleGroupItem=Xn,exports.TokenManager=Rt,exports.TokenService=jt,exports.Tooltip=Mr,exports.TooltipContent=Ur,exports.TooltipProvider=Fr,exports.TooltipTrigger=$r,exports.assets=lo,exports.badgeVariants=et,exports.buttonVariants=xe,exports.cn=fe,exports.createCrudPage=function(e){return()=>{const{manager:t,config:a,onSave:s,onToggleStatus:r}=e,n={entityName:a.entityName,entityNamePlural:a.entityNamePlural,filters:a.filters||[],columns:a.columns,cardFields:a.cardFields||[]};return pe.jsx(ys,{manager:t,config:n,formSections:a.formSections,onSave:s,onToggleStatus:r})}},exports.createRoutingHandlers=Jn,exports.createService=ea,exports.createSimpleSaveHandler=function(e,t,a){return s=>{if(s.id){const t=a(s);e.updateEntity(s.id,t)}else{const a=t(s);e.createEntity(a)}}},exports.createSimpleService=function(e){const t=ea({tableName:e.tableName,searchFields:e.searchFields||["title"],schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0});return{service:t,useCrudHook:a=>pa({queryKey:e.tableName,service:{...t,getAll:async(e={})=>await t.getAll({...e})},entityName:e.entityName,onSuccess:a})}},exports.crudPresets=ks,exports.debounce=(e,t)=>{let a;return(...s)=>{clearTimeout(a),a=setTimeout(()=>e(...s),t)}},exports.errorService=_t,exports.formatCurrency=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),exports.formatDatetime=e=>{if(!e)return"";const t=n.parseISO(e);if(!n.isValid(t))return"Data inválida";return`${t.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${t.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},exports.generateCrudConfig=Ns,exports.getQualiexConfig=Jt,exports.getSupabaseClient=$t,exports.isDevEnvironment=Xt,exports.logoSrc=co,exports.qualiexApi=qt,exports.setQualiexConfig=e=>{Kt={...Kt,...e}},exports.setupQualiexCore=function(e){return{queryClient:e.queryClient||new f.QueryClient({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}},exports.smallLogoSrc=uo,exports.toast=ut,exports.toggleVariants=Wn,exports.trimTextFields=he,exports.useActiveModules=no,exports.useAuth=ma,exports.useBaseForm=ss,exports.useCrud=pa,exports.useCrudRouting=function(e){return Jn({basePath:e})},exports.useDebounce=so,exports.useNavigation=to,exports.useOpenAIChat=go,exports.usePageTitle=ao,exports.usePermissionQuery=oo,exports.useQualiexUsers=fs,exports.useRouteBreadcrumbs=function(){const e=h.useLocation();return(()=>{const t=e.pathname.split("/").filter(Boolean),a=[{label:"Exemplos",href:"/"}];let s="";return t.forEach((e,r)=>{s+=`/${e}`;const n=r===t.length-1,o=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");a.push({label:o,href:n?void 0:s,isCurrentPage:n})}),a})()},exports.useSidebar=qr,exports.useToast=mt,exports.withPreset=function(e,t,a={}){const s=ks[e];return Ns(s.title,t,{...s,...a})};
10
+ */function me(){return ce||(ce=1,"production"!==process.env.NODE_ENV&&function(){var t=e,a=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"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),s=1;s<t;s++)a[s-1]=arguments[s];!function(e,t,a){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(t+="%s",a=a.concat([r]));var n=a.map(function(e){return String(e)});n.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,n)}("error",e,a)}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 d:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return v(e)+".Consumer";case i:return v(e._context)+".Provider";case c:return function(e,t,a){var s=e.displayName;if(s)return s;var r=t.displayName||t.name||"";return""!==r?a+"("+r+")":a}(e,e.render,"ForwardRef");case m:var t=e.displayName||null;return null!==t?t:y(e.type)||"Memo";case p:var a=e,f=a._payload,h=a._init;try{return y(h(f))}catch(x){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,P=Object.assign,A=0;function R(){}R.__reactDisabledLog=!0;var E,I=x.ReactCurrentDispatcher;function _(e,t,a){if(void 0===E)try{throw Error()}catch(r){var s=r.stack.trim().match(/\n( *(at )?)/);E=s&&s[1]||""}return"\n"+E+e}var D,O=!1,z="function"==typeof WeakMap?WeakMap:Map;function F(e,t){if(!e||O)return"";var a,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,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:R,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}();try{if(t){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(f){a=f}Reflect.construct(e,[],o)}else{try{o.call()}catch(f){a=f}e.call(o.prototype)}}else{try{throw Error()}catch(f){a=f}e()}}catch(h){if(h&&a&&"string"==typeof h.stack){for(var i=h.stack.split("\n"),l=a.stack.split("\n"),c=i.length-1,d=l.length-1;c>=1&&d>=0&&i[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(i[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||i[c]!==l[d]){var u="\n"+i[c].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,u),u}}while(c>=1&&d>=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:k}),group:P({},e,{value:S}),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 m=e?e.displayName||e.name:"",p=m?_(m):"";return"function"==typeof e&&D.set(e,p),p}function L(e,t,a){if(null==e)return"";if("function"==typeof e)return F(e,!(!(s=e.prototype)||!s.isReactComponent));var s;if("string"==typeof e)return _(e);switch(e){case d:return _("Suspense");case u:return _("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return F(e.render,!1);case m:return L(e.type,t,a);case p:var r=e,n=r._payload,o=r._init;try{return L(o(n),t,a)}catch(i){}}return""}D=new z;var M=Object.prototype.hasOwnProperty,$={},U=x.ReactDebugCurrentFrame;function B(e){if(e){var t=e._owner,a=L(e.type,e._source,t?t.type:null);U.setExtraStackFrame(a)}else U.setExtraStackFrame(null)}var V=Array.isArray;function q(e){return V(e)}function W(e){return""+e}function H(e){if(function(e){try{return W(e),!1}catch(t){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)),W(e)}var Q,G,X=x.ReactCurrentOwner,K={key:!0,ref:!0,__self:!0,__source:!0};function J(e,t,s,r,n){var o,i={},l=null,c=null;for(o in void 0!==s&&(H(s),l=""+s),function(e){if(M.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(H(t.key),l=""+t.key),function(e){if(M.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e){"string"==typeof e.ref&&X.current}(t)),t)M.call(t,o)&&!K.hasOwnProperty(o)&&(i[o]=t[o]);if(e&&e.defaultProps){var d=e.defaultProps;for(o in d)void 0===i[o]&&(i[o]=d[o])}if(l||c){var u="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var a=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};a.isReactWarning=!0,Object.defineProperty(e,"key",{get:a,configurable:!0})}(i,u),c&&function(e,t){var a=function(){G||(G=!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)",t))};a.isReactWarning=!0,Object.defineProperty(e,"ref",{get:a,configurable:!0})}(i,u)}return function(e,t,s,r,n,o,i){var l={$$typeof:a,type:e,key:t,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,c,n,r,X.current,i)}var Y,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function te(e){if(e){var t=e._owner,a=L(e.type,e._source,t?t.type:null);ee.setExtraStackFrame(a)}else ee.setExtraStackFrame(null)}function ae(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}function se(){if(Z.current){var e=y(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Y=!1;var re={};function ne(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var a=function(e){var t=se();if(!t){var a="string"==typeof e?e:e.displayName||e.name;a&&(t="\n\nCheck the top-level render call using <"+a+">.")}return t}(t);if(!re[a]){re[a]=!0;var s="";e&&e._owner&&e._owner!==Z.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.',a,s),te(null)}}}function oe(e,t){if("object"==typeof e)if(q(e))for(var a=0;a<e.length;a++){var s=e[a];ae(s)&&ne(s,t)}else if(ae(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var t=h&&e[h]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,o=r.call(e);!(n=o.next()).done;)ae(n.value)&&ne(n.value,t)}}function ie(e){var t,a=e.type;if(null!=a&&"string"!=typeof a){if("function"==typeof a)t=a.propTypes;else{if("object"!=typeof a||a.$$typeof!==c&&a.$$typeof!==m)return;t=a.propTypes}if(t){var s=y(a);!function(e,t,a,s,r){var n=Function.call.bind(M);for(var o in e)if(n(e,o)){var i=void 0;try{if("function"!=typeof e[o]){var l=Error((s||"React class")+": "+a+" 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](t,o,s,a,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(c){i=c}!i||i instanceof Error||(B(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",a,o,typeof i),B(null)),i instanceof Error&&!(i.message in $)&&($[i.message]=!0,B(r),g("Failed %s type: %s",a,i.message),B(null))}}(t,e.props,"prop",s,e)}else if(void 0!==a.PropTypes&&!Y){Y=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(a)||"Unknown")}"function"!=typeof a.getDefaultProps||a.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function ce(e,t,s,h,x,v){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===o||e===n||e===d||e===u||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===m||e.$$typeof===i||e.$$typeof===l||e.$$typeof===c||e.$$typeof===b||void 0!==e.getModuleId)}(e);if(!N){var j="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(j+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;j+=se(),null===e?w="null":q(e)?w="array":void 0!==e&&e.$$typeof===a?(w="<"+(y(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=J(e,t,s,x,v);if(null==k)return k;if(N){var S=t.children;if(void 0!==S)if(h)if(q(S)){for(var C=0;C<S.length;C++)oe(S[C],e);Object.freeze&&Object.freeze(S)}else g("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else oe(S,e)}if(M.call(t,"key")){var T=y(e),P=Object.keys(t).filter(function(e){return"key"!==e}),A=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!le[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),le[T+A]=!0}return e===r?function(e){for(var t=Object.keys(e.props),a=0;a<t.length;a++){var s=t[a];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))}(k):ie(k),k}var de=function(e,t,a){return ce(e,t,a,!1)},me=function(e,t,a){return ce(e,t,a,!0)};ue.Fragment=r,ue.jsx=de,ue.jsxs=me}()),ue}var pe=(de||(de=1,"production"===process.env.NODE_ENV?ie.exports=function(){if(L)return le;L=1;var t=e,a=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(e,t,s){var i,l={},c=null,d=null;for(i in void 0!==s&&(c=""+s),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)r.call(t,i)&&!o.hasOwnProperty(i)&&(l[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===l[i]&&(l[i]=t[i]);return{$$typeof:a,type:e,key:c,ref:d,props:l,_owner:n.current}}return le.Fragment=s,le.jsx=i,le.jsxs=i,le}():ie.exports=me()),ie.exports);function fe(...e){return r.twMerge(s.clsx(e))}const he=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(he);if("object"==typeof e&&e.constructor===Object){const t={};for(const[a,s]of Object.entries(e))t[a]=he(s);return t}return e},xe=a.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",action:"bg-primary/10 text-primary hover:bg-primary/20 border border-primary/30","icon-only":"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2","external-link":"bg-transparent text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors","action-primary":"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm","action-secondary":"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input"},size:{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"}}),ge=M.forwardRef(({className:e,variant:a,size:s,asChild:r=!1,...n},o)=>{const i=r?t.Slot:"button";return pe.jsx(i,{className:fe(xe({variant:a,size:s,className:e})),ref:o,...n})});ge.displayName="Button";const be=M.forwardRef(({className:e,type:t,...a},s)=>pe.jsx("input",{type:t,className:fe("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,...a}));be.displayName="Input";const ve=a.cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),ye=M.forwardRef(({className:e,...t},a)=>pe.jsx($.Root,{ref:a,className:fe(ve(),e),...t}));ye.displayName=$.Root.displayName;const Ne=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));Ne.displayName="Card";const je=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex flex-col space-y-1.5 p-6",e),...t}));je.displayName="CardHeader";const we=M.forwardRef(({className:e,...t},a)=>pe.jsx("h3",{ref:a,className:fe("text-2xl font-semibold leading-none tracking-tight",e),...t}));we.displayName="CardTitle";const ke=M.forwardRef(({className:e,...t},a)=>pe.jsx("p",{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));ke.displayName="CardDescription";const Se=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("p-6 pt-0",e),...t}));Se.displayName="CardContent";const Ce=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex items-center p-6 pt-0",e),...t}));Ce.displayName="CardFooter";const Te=U.Root,Pe=U.Trigger,Ae=U.Portal,Re=U.Close,Ee=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Overlay,{ref:a,className:fe("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),...t}));Ee.displayName=U.Overlay.displayName;const Ie=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(Ae,{children:[pe.jsx(Ee,{}),pe.jsxs(U.Content,{ref:s,className:fe("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),...a,children:[t,pe.jsxs(U.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:[pe.jsx(l.X,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Ie.displayName=U.Content.displayName;const _e=({className:e,...t})=>pe.jsx("div",{className:fe("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),...t});_e.displayName="DialogHeader";const De=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});De.displayName="DialogFooter";const Oe=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Title,{ref:a,className:fe("text-lg font-semibold leading-none tracking-tight",e),...t}));Oe.displayName=U.Title.displayName;const ze=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));ze.displayName=U.Description.displayName;const Fe=c.FormProvider,Le=M.createContext({}),Me=()=>{const e=M.useContext(Le),t=M.useContext($e),{getFieldState:a,formState:s}=c.useFormContext(),r=a(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:n}=t;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...r}},$e=M.createContext({}),Ue=M.forwardRef(({className:e,...t},a)=>{const s=M.useId();return pe.jsx($e.Provider,{value:{id:s},children:pe.jsx("div",{ref:a,className:fe("space-y-2",e),...t})})});Ue.displayName="FormItem";const Be=M.forwardRef(({className:e,...t},a)=>{const{error:s,formItemId:r}=Me();return pe.jsx(ye,{ref:a,className:fe(s&&"text-destructive",e),htmlFor:r,...t})});Be.displayName="FormLabel";const Ve=M.forwardRef(({...e},a)=>{const{error:s,formItemId:r,formDescriptionId:n,formMessageId:o}=Me();return pe.jsx(t.Slot,{ref:a,id:r,"aria-describedby":s?`${n} ${o}`:`${n}`,"aria-invalid":!!s,...e})});Ve.displayName="FormControl";M.forwardRef(({className:e,...t},a)=>{const{formDescriptionId:s}=Me();return pe.jsx("p",{ref:a,id:s,className:fe("text-sm text-muted-foreground",e),...t})}).displayName="FormDescription";const qe=M.forwardRef(({className:e,children:t,...a},s)=>{const{error:r,formMessageId:n}=Me(),o=r?String(r?.message):t;return o?pe.jsx("p",{ref:s,id:n,className:fe("text-sm font-medium text-destructive",e),...a,children:o}):null});qe.displayName="FormMessage";const We=B.Root,He=B.Value,Qe=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(B.Trigger,{ref:s,className:fe("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),...a,children:[t,pe.jsx(B.Icon,{asChild:!0,children:pe.jsx(l.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));Qe.displayName=B.Trigger.displayName;const Ge=M.forwardRef(({className:e,...t},a)=>pe.jsx(B.ScrollUpButton,{ref:a,className:fe("flex cursor-default items-center justify-center py-1",e),...t,children:pe.jsx(l.ChevronUp,{className:"h-4 w-4"})}));Ge.displayName=B.ScrollUpButton.displayName;const Xe=M.forwardRef(({className:e,...t},a)=>pe.jsx(B.ScrollDownButton,{ref:a,className:fe("flex cursor-default items-center justify-center py-1",e),...t,children:pe.jsx(l.ChevronDown,{className:"h-4 w-4"})}));Xe.displayName=B.ScrollDownButton.displayName;const Ke=M.forwardRef(({className:e,children:t,position:a="popper",...s},r)=>pe.jsx(B.Portal,{children:pe.jsxs(B.Content,{ref:r,className:fe("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"===a&&"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:a,...s,children:[pe.jsx(Ge,{}),pe.jsx(B.Viewport,{className:fe("p-1","popper"===a&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),pe.jsx(Xe,{})]})}));Ke.displayName=B.Content.displayName;M.forwardRef(({className:e,...t},a)=>pe.jsx(B.Label,{ref:a,className:fe("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t})).displayName=B.Label.displayName;const Je=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(B.Item,{ref:s,className:fe("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),...a,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(B.ItemIndicator,{children:pe.jsx(l.Check,{className:"h-4 w-4"})})}),pe.jsx(B.ItemText,{children:t})]}));Je.displayName=B.Item.displayName;M.forwardRef(({className:e,...t},a)=>pe.jsx(B.Separator,{ref:a,className:fe("-mx-1 my-1 h-px bg-muted",e),...t})).displayName=B.Separator.displayName;const Ye=M.forwardRef(({className:e,...t},a)=>pe.jsx(V.Root,{ref:a,className:fe("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",e),...t,children:pe.jsx(V.Indicator,{className:fe("flex items-center justify-center text-current"),children:pe.jsx(l.Check,{className:"h-4 w-4"})})}));Ye.displayName=V.Root.displayName;const Ze=M.forwardRef(({className:e,...t},a)=>pe.jsx("textarea",{className:fe("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:a,...t}));Ze.displayName="Textarea";const et=a.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"}}),tt=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx("div",{ref:s,className:fe(et({variant:t}),e),...a}));tt.displayName="Badge";const at={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function st({size:e="md",className:t}){return pe.jsx(l.Loader2,{className:fe("animate-spin text-muted-foreground",at[e],t)})}let rt=0;const nt=new Map,ot=e=>{if(nt.has(e))return;const t=setTimeout(()=>{nt.delete(e),dt({type:"REMOVE_TOAST",toastId:e})},1e6);nt.set(e,t)},it=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{const{toastId:a}=t;return a?ot(a):e.toasts.forEach(e=>{ot(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===a||void 0===a?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},lt=[];let ct={toasts:[]};function dt(e){ct=it(ct,e),lt.forEach(e=>{e(ct)})}function ut({...e}){const t=(rt=(rt+1)%Number.MAX_SAFE_INTEGER,rt.toString()),a=()=>dt({type:"DISMISS_TOAST",toastId:t});return dt({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||a()}}}),{id:t,dismiss:a,update:e=>dt({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function mt(){const[e,t]=M.useState(ct);return M.useEffect(()=>(lt.push(t),()=>{const e=lt.indexOf(t);e>-1&&lt.splice(e,1)}),[e]),{...e,toast:ut,dismiss:e=>dt({type:"DISMISS_TOAST",toastId:e})}}const pt=q.Provider,ft=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Viewport,{ref:a,className:fe("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),...t}));ft.displayName=q.Viewport.displayName;const ht=a.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"}}),xt=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx(q.Root,{ref:s,className:fe(ht({variant:t}),e),...a}));xt.displayName=q.Root.displayName;const gt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Action,{ref:a,className:fe("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),...t}));gt.displayName=q.Action.displayName;const bt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Close,{ref:a,className:fe("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":"",...t,children:pe.jsx(l.X,{className:"h-4 w-4"})}));bt.displayName=q.Close.displayName;const vt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Title,{ref:a,className:fe("text-sm font-semibold",e),...t}));vt.displayName=q.Title.displayName;const yt=M.forwardRef(({className:e,...t},a)=>pe.jsx(q.Description,{ref:a,className:fe("text-sm opacity-90",e),...t}));yt.displayName=q.Description.displayName;var Nt=Object.defineProperty;class jt{static normalizeBase64Url(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");const a=(4-t.length%4)%4;return t+="=".repeat(a),t}static parseJwtPayload(e){try{const r=e.split(".");if(3!==r.length)return null;const n=r[1];n.length,this.LARGE_PAYLOAD_THRESHOLD;try{const e=this.normalizeBase64Url(n),t=atob(e),a=new Uint8Array(t.length);for(let r=0;r<t.length;r++)a[r]=t.charCodeAt(r);const s=new TextDecoder("utf-8").decode(a);return JSON.parse(s)}catch(t){try{const e=this.normalizeBase64Url(n),t=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(t)}catch(a){try{const e=this.normalizeBase64Url(n),t=atob(e);return JSON.parse(t)}catch(s){throw s}}}}catch(r){return null}}static validateTokens(e,t){const a=[],s=[];try{t.split(".")[1],e.split(".")[1];const r=this.parseJwtPayload(t),n=this.parseJwtPayload(e);if(!r){const e="ID token decode falhou - possível problema com base64url encoding";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:a,errors:s}}let o=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";a.push(e),o=!1}const i=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<i){const e="Access token expirado - pode precisar de refresh";a.push(e),o=!1}if(r.exp&&r.exp<i){const e="ID token expirado - autenticação inválida";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:o,warnings:a,errors:s}}return{isValid:!0,idTokenValid:!0,accessTokenValid:o,warnings:a,errors:s}}catch(r){const e=`Erro na validação de tokens: ${r}`;return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:a,errors:s}}}static isTokenExpired(e){const t=this.parseJwtPayload(e);return!t||!t.exp||1e3*t.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,t,a)=>{t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a})(jt,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const wt="qualiex_access_token",kt="qualiex_id_token",St="supabase_token",Ct="oauth_state",Tt="oauth_nonce",Pt="selected_alias",At="manual_logout",Rt={setAccessToken:e=>localStorage.setItem(wt,e),getAccessToken:()=>localStorage.getItem(wt),setIdToken:e=>localStorage.setItem(kt,e),getIdToken:()=>localStorage.getItem(kt),getSupabaseToken:()=>localStorage.getItem(St),setOAuthState:e=>sessionStorage.setItem(Ct,e),getOAuthState:()=>sessionStorage.getItem(Ct),clearOAuthState:()=>sessionStorage.removeItem(Ct),setOAuthNonce:e=>sessionStorage.setItem(Tt,e),getOAuthNonce:()=>sessionStorage.getItem(Tt),clearOAuthNonce:()=>sessionStorage.removeItem(Tt),setSelectedAlias:e=>localStorage.setItem(Pt,e),getSelectedAlias:()=>localStorage.getItem(Pt),clearSelectedAlias:()=>localStorage.removeItem(Pt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!Rt.getAccessToken()||!Rt.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(St,e),Rt._clearValidationCache()},areAllTokensValid:()=>{const e=Rt.getAccessToken(),t=Rt.getIdToken();if(!e||!t)return!1;try{const a=jt.validateTokens(e,t);return!!a.idTokenValid&&(a.accessTokenValid,a.idTokenValid)}catch(a){return!1}},clearExpiredTokens:()=>{let e=!1;const t=Rt.getAccessToken(),a=Rt.getIdToken(),s=Rt.getSupabaseToken();return t&&Rt.isTokenExpired(t)&&(localStorage.removeItem(wt),e=!0),a&&Rt.isTokenExpired(a)&&(localStorage.removeItem(kt),e=!0),s&&Rt.isTokenExpired(s)&&(localStorage.removeItem(St),e=!0),e},clearAll:()=>{localStorage.removeItem(wt),localStorage.removeItem(kt),localStorage.removeItem(St),localStorage.removeItem(Pt),localStorage.removeItem(At),sessionStorage.removeItem(Ct),sessionStorage.removeItem(Tt)},setManualLogout:()=>localStorage.setItem(At,"true"),isManualLogout:()=>"true"===localStorage.getItem(At),clearManualLogout:()=>localStorage.removeItem(At),isTokenExpired:e=>{try{return jt.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{Rt._validationCache.isValid=!1,Rt._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=Rt.getSupabaseToken();if(!e)return!1;if(Rt.isTokenExpired(e))return Rt._clearValidationCache(),Rt._handleExpiredToken(),!1;const t=Date.now();return t-Rt._validationCache.timestamp<Rt._validationCache.cacheValidityMs?Rt._validationCache.isValid:(Rt._validationCache.isValid=!0,Rt._validationCache.timestamp=t,!0)},getValidSupabaseToken:()=>Rt.isSupabaseTokenValid()?Rt.getSupabaseToken():null,_handleExpiredToken:()=>{Rt.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!Rt.isSupabaseTokenValid())return null;const e=Rt.getSupabaseToken();if(!e)return null;try{const t=jt.parseJwtPayload(e);if(!t)return null;const a=t.alias||t.default||t.user_alias;let s=t.company_id;if(!s&&a)for(const e in t)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=t[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===a){s=e[7];break}}}return{alias:a,companyId:s,payload:t}}catch(t){return Rt._handleExpiredToken(),null}},getCompanyId:e=>{const t=Rt.extractTokenData();if(!t)return null;if(!e)return t.companyId;const a=Rt.getIdToken();if(!a)return null;try{const t=jt.parseJwtPayload(a);if(!t)return null;for(const a in t)if(a.startsWith("co")&&/^co\d+$/.test(a)){const s=t[a];if(s&&"string"==typeof s){const t=s.split(";");if(t.length>7&&t[0]===e)return t[7]}}}catch{return null}return null},getCurrentCompanyId:()=>{const e=Rt.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=Rt.getIdToken();if(!e)return[];try{const t=jt.parseJwtPayload(e);if(!t)return[];const a=[];for(const e in t)if(e.startsWith("co")&&/^co\d+$/.test(e)){const s=t[e];if(s&&"string"==typeof s){const e=s.split(";");e.length>=4&&a.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:t})}}return a}catch{return[]}}};var Et=Object.defineProperty,It=(e,t,a)=>((e,t,a)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);const _t=new class{constructor(){It(this,"errors",[]),It(this,"toastCount",0),It(this,"lastToastTime",0)}handleError(e,t=!0){const a="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:a,timestamp:Date.now(),count:1}),t&&this.shouldShowToast()&&ut({title:"Erro",description:a,variant:"destructive"})}success(e,t){ut({title:e,description:t,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 Dt=Object.defineProperty,Ot=(e,t,a)=>((e,t,a)=>t in e?Dt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);const zt=(void 0).VITE_SUPABASE_URL,Ft=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY,Lt=class e{constructor(){Ot(this,"client"),Ot(this,"currentToken",null),Ot(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const t={apikey:Ft};return e&&this.isTokenValid(e)&&(t.Authorization=`Bearer ${e}`),p.createClient(zt,Ft,{auth:{persistSession:!1,autoRefreshToken:!1,storage:void 0},global:{headers:t}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=Rt.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const t=JSON.parse(atob(e.split(".")[1])),a=Math.floor(Date.now()/1e3);return t.exp>a}catch(t){return _t.handleError(t instanceof Error?t:"❌ Supabase - Error validating token",!1),!1}}};Ot(Lt,"instance");let Mt=Lt;const $t=()=>Mt.getInstance().getClient();var Ut=Object.freeze({__proto__:null,getSupabaseClient:$t}),Bt=Object.defineProperty,Vt=(e,t,a)=>((e,t,a)=>t in e?Bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,t+"",a);const qt=new class{constructor(){Vt(this,"baseUrl",(void 0).VITE_QUALIEX_API_URL)}async makeApiCall(e,t,a){const s=Rt.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!a||""===a.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const r=new URL(e,this.baseUrl);Object.entries(t).forEach(([e,t])=>{r.searchParams.append(e,t)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":a}});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,t){try{const a=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:t,search:"",filterStatus:"active"},e);let s=a;if(a.data)s=a.data;else{if(!Array.isArray(a))return _t.handleError("[QualiexApi] Unexpected response format",!1),[];s=a}if(!Array.isArray(s))return _t.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(a){return _t.handleError(a instanceof Error?a:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,t,a){try{return(await this.fetchUsers(t,a)).find(t=>t.userId===e)||null}catch(s){return _t.handleError(s instanceof Error?s:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const t=Rt.extractTokenData();return t&&t.companyId?this.fetchUsers(e,t.companyId):(_t.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}};class Wt{static async extractTokenData(){const e=Rt.extractTokenData();return e||(_t.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,t){if(!e||0===e.length)return _t.handleError(`[QualiexEnrichment.${t.entityName}] Nenhuma entidade encontrada`,!1),e;try{const a=await this.extractTokenData();if(!a)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=a;if(!s||!r)return _t.handleError(`[QualiexEnrichment.${t.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 qt.getUsers(s),o=e.map(e=>{if(e.id_user){const t=n.find(t=>t.userId===e.id_user);return{...e,responsible_name:t?.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(a){return _t.handleError(a instanceof Error?a:`[QualiexEnrichment.${t.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${a.message}`:null}))}}}const Ht={oauth:{authUrl:(void 0).VITE_OAUTH_AUTH_URL,clientId:(void 0).VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},Qt={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},Gt={debounceDelay:500},Xt=()=>{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};let Kt={enableUserEnrichment:!1,enableUsersApi:!1};const Jt=()=>Kt,Yt={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}`}},Zt=["responsible_name"],ea=e=>Zt.includes(e);function ta(e,t,a){const s="string"==typeof e?{tableName:e,searchFields:t||[],schemaName:a||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,selectFields:o,schemaName:i,entityName:l,enableQualiexEnrichment:c=!1}=s,d=()=>{if(!Rt.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return $t().schema(i).from(r)};return{async getAll(e={}){const{search:t="",sortField:a="updated_at",sortDirection:s="desc",page:i=1,limit:u=25,...m}=e;let p=d().select(o||"*",{count:"exact"});p=p.eq("is_removed",!1),Object.entries(m).forEach(([e,t])=>{null!=t&&""!==t&&(p=Array.isArray(t)?p.in(e,t):"object"==typeof t&&t&&"operator"in t&&"not_null"===t.operator?p.not(e,"is",null):p.eq(e,t))}),p=((e,t)=>{if(t&&n.length>0){const a=n.map(e=>`${e}.ilike.%${t}%`).join(",");return e.or(a)}return e})(p,t);a.includes(".")||ea(a)||(p=p.order(a,{ascending:"asc"===s})),p=((e,t,a)=>{const s=(t-1)*a,r=s+a-1;return e.range(s,r)})(p,i,u);const{data:f,error:h,count:x}=await p;if(h)throw new Error(`Error fetching ${r}: ${h.message}`);let g=((e,t,a,s)=>{const r=Math.ceil((t||0)/s);return{data:e,currentPage:a,totalPages:r,totalItems:t||0,itemsPerPage:s,hasNextPage:a<r,hasPreviousPage:a>1}})(f||[],x,i,u);const b=Jt();if(c&&b.enableUserEnrichment&&l&&g.data.length>0){if(g.data.some(e=>e.id_user)){const t=a&&a.includes(".");if(a&&(ea(a)||t)){const r={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},n=await this.getAll(r);if(!n?.data?.length)return n;const o=await Wt.enrichWithResponsibleNames(n.data,{entityName:l});let c;c=t?o.sort((e,t)=>{const r=a.split(".").reduce((e,t)=>e?.[t],e)||"",n=a.split(".").reduce((e,t)=>e?.[t],t)||"",o=String(r).localeCompare(String(n),"pt-BR");return"asc"===s?o:-o}):((e,t,a)=>[...e].sort((e,s)=>{const r=e[t]||"",n=s[t]||"",o=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===a?o:-o}))(o,a,s);const d=((e,t=1,a=25)=>{const s=(t-1)*a,r=s+a,n=e.slice(s,r);return{data:n,pagination:{currentPage:t,totalPages:Math.ceil(e.length/a),totalItems:n.length,totalCount:e.length,itemsPerPage:a,hasNextPage:r<e.length,hasPreviousPage:t>1}}})(c,i,u);return{data:d.data,currentPage:d.pagination.currentPage,totalPages:d.pagination.totalPages,totalItems:d.pagination.totalItems,itemsPerPage:d.pagination.itemsPerPage,hasNextPage:d.pagination.hasNextPage,hasPreviousPage:d.pagination.hasPreviousPage}}const r=await Wt.enrichWithResponsibleNames(g.data,{entityName:l});g={...g,data:r}}}return g},async getById(e){const{data:t,error:a}=await d().select(o||"*").eq("id",e).maybeSingle();if(a)throw new Error(`Error fetching ${r}: ${a.message}`);return t},async create(e){const t=he(e),a=Object.entries(t).reduce((e,[t,a])=>(void 0!==a&&(e[t]=a),e),{}),{data:s,error:n}=await d().insert(a).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,t){const a={...he(t),updated_at:(new Date).toISOString()},{data:s,error:n}=await d().update(a).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 t={is_removed:!0,updated_at:(new Date).toISOString()},{error:a}=await d().update(t).eq("id",e);if(a)throw new Error(`Error soft deleting ${r}: ${a.message}`)}}}const aa=()=>{Rt.clearManualLogout()},sa=(void 0).VITE_SUPABASE_URL,ra=(void 0).VITE_SUPABASE_PUBLISHABLE_KEY;class na{static async generateToken(e,t,a,s=!1){try{if(!s){const e=Rt.getSupabaseToken();if(e&&Rt.isSupabaseTokenValid())return e}const r=p.createClient(sa,ra,{auth:{persistSession:!1,autoRefreshToken:!1}}),{data:n,error:o}=await r.functions.invoke("validate-token",{body:{access_token:e,alias:t}});return o&&(o.message?.includes("401")||o.message?.includes("Unauthorized"))?(a?.(),null):n?.access_token&&n.access_token?(Rt.setSupabaseToken(n.access_token),n.access_token):null}catch(r){return r instanceof Error&&(r.message.includes("401")||r.message.includes("Unauthorized"))&&a?.(),null}}}var oa=Object.defineProperty,ia=(e,t,a)=>((e,t,a)=>t in e?oa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a);class la{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=Rt.getAccessToken(),t=Rt.getSelectedAlias();if(!e||!t)return null;const a=await na.generateToken(e,t,this.onLogoutCallback||void 0,!1);return a?(Rt.setSupabaseToken(a),a):null}catch(e){return null}finally{this.isRegenerating=!1}}}ia(la,"isRegenerating",!1),ia(la,"onLogoutCallback",null);const ca=class{static async initialize(){try{if(!Rt.hasAllTokens()||!Rt.areAllTokensValid())return Rt.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null};const e=Rt.getAccessToken(),t=Rt.getIdToken();aa();const a=this.extractUserFromIdToken(t),s=this.extractCompaniesFromIdToken(t),r=this.extractAliasFromAccessToken(e),n=Rt.extractTokenData(),o=n?.alias;let i=null;if(o&&s.some(e=>e.alias===o))i=o;else{const e=Rt.getSelectedAlias(),t=e&&s.some(t=>t.alias===e);i=t?e:r||s[0]?.alias||null}!Rt.isSupabaseTokenValid()&&i&&await la.attemptRegeneration();let l=null;if(i){const e=Rt.getCompanyId(i),t=s.find(e=>e.alias===i);t&&(l={id:e||t.id,name:t.name,alias:t.alias})}return{isAuthenticated:!0,isLoading:!1,user:a,alias:i,companies:s,selectedUnit:l,userId:a?.id||null,userAlias:a?.id||null}}catch(e){return{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null}}}static async loginDev(){try{const{getSupabaseClient:e}=await Promise.resolve().then(function(){return Ut}),t=e(),{data:a,error:s}=await t.functions.invoke("dev-tokens",{body:{environment:"development"}});if(s)return!1;if(!a?.access_token||!a?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${a.access_token}&id_token=${a.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=Rt.generateOAuthState();Rt.setOAuthState(e);const t=Rt.generateOAuthNonce();Rt.setOAuthNonce(t);const a=`${window.location.origin}/callback`,s=new URL(Ht.oauth.authUrl);s.searchParams.set("client_id",Ht.oauth.clientId),s.searchParams.set("response_type",Ht.oauth.responseType),s.searchParams.set("scope",Ht.oauth.scope),s.searchParams.set("redirect_uri",a),s.searchParams.set("state",e),s.searchParams.set("nonce",t),s.searchParams.set("response_mode","fragment"),Xt(),window.location.href=s.toString()}static async processCallback(){try{if(Rt.hasAllTokens()){if(!Rt.getValidSupabaseToken()){Rt.getAccessToken();await la.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),t=new URLSearchParams(window.location.search),a=a=>e.get(a)||t.get(a),s=a("access_token"),r=a("id_token"),n=a("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");Rt.setAccessToken(s),Rt.setIdToken(r),aa();const o=this.extractAliasFromAccessToken(s);if(o)Rt.setSelectedAlias(o);else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");Rt.setSelectedAlias(e[0].alias)}if(!await la.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return Rt.clearOAuthState(),Rt.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){Rt.setManualLogout(),Rt.clearAll(),window.location.href="/login"}static decodeToken(e){return jt.parseJwtPayload(e)}static extractUserFromIdToken(e){const t=this.decodeToken(e);return t?{id:t.subNewId,email:t.email,name:t.name,identifier:t.identifier}:null}static extractCompaniesFromIdToken(e){const t=this.decodeToken(e);if(!t)return[];const a=[];return Object.keys(t).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof t[e]){const s=t[e].split(";");if(s.length>=4)a.push({id:s.length>7?s[7].trim():"",alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=t[e].split("|");s&&r&&a.push({id:"",alias:s.trim(),name:r.trim()})}}}),a}static extractAliasFromAccessToken(e){const t=this.decodeToken(e);return t?.default||null}};la.setLogoutCallback(()=>{ca.logout()});let da=ca;class ua{static handleError(e){if(!e)return!1;const t=e.message||e.toString();return!!this.isAuthenticationError(e,t)&&(Rt.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,t){if(401===e.status||401===e.statusCode)return!0;const a=t.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>a.includes(e))}static async wrapAsync(e){try{return await e}catch(t){if(!this.handleError(t))throw t;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}const ma=e.createContext(void 0),pa=()=>{const t=e.useContext(ma);if(void 0===t)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return t};function fa({queryKey:t,service:a,entityName:s,searchFields:r,additionalFilters:n={},onSuccess:o}){const[i,l]=h.useSearchParams(),c=f.useQueryClient(),{alias:d,userId:u}=pa(),m=i.get("search")||"",p=i.get("sortField")||Qt.sorting.defaultField,g=i.get("sortDirection")||Qt.sorting.defaultDirection,b=parseInt(i.get("page")||"1"),v=parseInt(i.get("limit")||String(Qt.pagination.defaultPageSize)),y=m,N=e.useMemo(()=>({search:y,sortField:p,sortDirection:g,page:b,limit:v,...n}),[y,p,g,b,v,n]),j=e.useCallback(()=>a.getAll(N),[a,N]),w=f.useQuery({queryKey:[t,d,u,N],queryFn:j});if(!w)throw new Error(`useCrud: Query initialization failed for "${s}". Ensure QueryClientProvider is configured in your app root.`);const k=f.useMutation({mutationFn:a.create,onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.created(s)),o?.()},onError:e=>{x.toast.error(`${Yt.error.create(s)}: ${e.message}`)}}),S=f.useMutation({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.updated(s)),o?.()},onError:e=>{x.toast.error(`${Yt.error.update(s)}: ${e.message}`)}}),C=f.useMutation({mutationFn:a.delete,onSuccess:()=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(Yt.success.deleted(s))},onError:e=>{x.toast.error(`${Yt.error.delete(s)}: ${e.message}`)}}),T=e.useCallback(e=>{const t={...Object.fromEntries(i)};Object.entries(e).forEach(([e,a])=>{""===a||0===a?delete t[e]:t[e]=String(a)}),l(t)},[i,l]),P=e.useCallback(e=>{T({search:e,page:1})},[T]),A=e.useCallback(e=>{T({sortField:e,sortDirection:p===e&&"asc"===g?"desc":"asc",page:1})},[p,g,T]),R=e.useCallback(e=>{T({page:e})},[T]),E=e.useCallback(e=>{T({limit:e,page:1})},[T]),I=e.useCallback(()=>{l({})},[l]),[_,D]=e.useState([]),O=e.useCallback(e=>{D(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),z=e.useCallback(()=>{const e=w?.data?.data.map(e=>e.id)||[];D(t=>t.length===e.length?[]:e)},[w?.data?.data]),F=e.useCallback(()=>{D([])},[]),L=e.useMemo(()=>{const e=w?.data?.data.map(e=>e.id)||[];return e.length>0&&_.length===e.length},[_,w?.data?.data]),M=f.useMutation({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(e,a)=>{c.invalidateQueries({queryKey:[t]}),x.toast.success(`${a.length} ${s}(s) deletado(s) com sucesso`),F()},onError:e=>{x.toast.error(`Erro ao deletar itens: ${e.message}`)}});return{entities:w?.data?.data||[],pagination:{currentPage:w?.data?.currentPage||1,totalPages:w?.data?.totalPages||1,totalItems:w?.data?.totalItems||0,itemsPerPage:w?.data?.itemsPerPage||Qt.pagination.defaultPageSize,hasNextPage:w?.data?.hasNextPage||!1,hasPreviousPage:w?.data?.hasPreviousPage||!1},isLoading:w?.isLoading??!0,isCreating:k?.isPending??!1,isUpdating:S?.isPending??!1,isDeleting:C?.isPending??!1,error:w?.error||null,searchTerm:m,sortField:p,sortDirection:g,currentPage:b,itemsPerPage:v,createEntity:k.mutate,updateEntity:(e,t)=>S.mutate({id:e,data:t}),deleteEntity:C.mutate,handleSearch:P,handleSort:A,handlePageChange:R,handleItemsPerPageChange:E,clearFilters:I,refetch:w.refetch,selectedIds:_,selectItem:O,selectAll:z,clearSelection:F,isAllSelected:L,bulkDelete:M.mutate,isBulkDeleting:M.isPending}}const ha=W.Root,xa=W.Trigger,ga=W.Portal,ba=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Overlay,{className:fe("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),...t,ref:a}));ba.displayName=W.Overlay.displayName;const va=M.forwardRef(({className:e,...t},a)=>pe.jsxs(ga,{children:[pe.jsx(ba,{}),pe.jsx(W.Content,{ref:a,className:fe("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),...t})]}));va.displayName=W.Content.displayName;const ya=({className:e,...t})=>pe.jsx("div",{className:fe("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),...t});ya.displayName="AlertDialogHeader";const Na=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Na.displayName="AlertDialogFooter";const ja=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Title,{ref:a,className:fe("text-lg font-semibold",e),...t}));ja.displayName=W.Title.displayName;const wa=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));wa.displayName=W.Description.displayName;const ka=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Action,{ref:a,className:fe(xe(),e),...t}));ka.displayName=W.Action.displayName;const Sa=M.forwardRef(({className:e,...t},a)=>pe.jsx(W.Cancel,{ref:a,className:fe(xe({variant:"outline"}),"mt-2 sm:mt-0",e),...t}));Sa.displayName=W.Cancel.displayName;const Ca=({open:t,onOpenChange:a,item:s,onConfirm:r,entityName:n="item",isDeleting:o=!1})=>{const[i,l]=e.useState("");e.useEffect(()=>{t||l("")},[t]);const c=()=>{l(""),a(!1)},d=i===s?.title;return s?pe.jsx(ha,{open:t,onOpenChange:c,children:pe.jsxs(va,{className:"sm:max-w-[500px]",children:[pe.jsx(ya,{children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:pe.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),pe.jsx("div",{className:"flex-1",children:pe.jsx(ja,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),pe.jsx(wa,{asChild:!0,children:pe.jsxs("div",{className:"space-y-4",children:[pe.jsxs("div",{className:"text-sm text-muted-foreground",children:[pe.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),pe.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:pe.jsx("p",{className:"font-medium text-foreground",children:s.title})})]}),pe.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:pe.jsxs("div",{className:"flex items-start space-x-2",children:[pe.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:pe.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),pe.jsxs("div",{className:"text-sm text-orange-800",children:[pe.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),pe.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),pe.jsxs("div",{className:"space-y-2",children:[pe.jsxs(ye,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",pe.jsxs("strong",{children:['"',s.title,'"']})," abaixo:"]}),pe.jsx(be,{id:"confirmation",type:"text",value:i,onChange:e=>l(e.target.value),placeholder:`Digite: ${s.title}`,className:"w-full"})]})]})}),pe.jsxs(Na,{children:[pe.jsx(Sa,{onClick:c,children:"Cancelar"}),pe.jsx(ka,{onClick:()=>{s&&i===s.title&&(r(s),l(""),a(!1))},disabled:!d||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},Ta=M.forwardRef(({className:e,...t},a)=>pe.jsx("table",{ref:a,className:fe("w-full caption-bottom text-sm",e),...t}));Ta.displayName="Table";const Pa=M.forwardRef(({className:e,...t},a)=>pe.jsx("thead",{ref:a,className:fe("[&_tr]:border-b sticky top-0 z-[1] bg-background",e),...t}));Pa.displayName="TableHeader";const Aa=M.forwardRef(({className:e,...t},a)=>pe.jsx("tbody",{ref:a,className:fe("[&_tr:last-child]:border-0",e),...t}));Aa.displayName="TableBody";const Ra=M.forwardRef(({className:e,...t},a)=>pe.jsx("tfoot",{ref:a,className:fe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));Ra.displayName="TableFooter";const Ea=M.forwardRef(({className:e,...t},a)=>pe.jsx("tr",{ref:a,className:fe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted odd:bg-muted/50",e),...t}));Ea.displayName="TableRow";const Ia=M.forwardRef(({className:e,...t},a)=>pe.jsx("th",{ref:a,className:fe("h-12 px-4 py-3 text-left align-middle font-medium text-muted-foreground bg-background border-b [&:has([role=checkbox])]:pr-0",e),...t}));Ia.displayName="TableHead";const _a=M.forwardRef(({className:e,...t},a)=>pe.jsx("td",{ref:a,className:fe("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));_a.displayName="TableCell";const Da=M.forwardRef(({className:e,...t},a)=>pe.jsx("caption",{ref:a,className:fe("mt-4 text-sm text-muted-foreground",e),...t}));function Oa({className:e,...t}){return pe.jsx("div",{className:fe("animate-pulse rounded-md bg-muted",e),...t})}function za({rows:e=5,columns:t=4}){return pe.jsx("div",{className:"w-full",children:pe.jsxs("div",{className:"rounded-md border",children:[pe.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:pe.jsx("div",{className:"flex space-x-4",children:Array.from({length:t}).map((e,t)=>pe.jsx(Oa,{className:"h-4 w-24"},t))})}),pe.jsx("div",{children:Array.from({length:e}).map((e,a)=>pe.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:pe.jsx("div",{className:"flex space-x-4",children:Array.from({length:t}).map((e,t)=>pe.jsx(Oa,{className:"h-4 w-20"},t))})},a))})]})})}function Fa({count:e=3}){return pe.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,t)=>pe.jsxs(Ne,{children:[pe.jsxs(je,{children:[pe.jsx(Oa,{className:"h-4 w-3/4"}),pe.jsx(Oa,{className:"h-3 w-1/2"})]}),pe.jsx(Se,{children:pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Oa,{className:"h-3 w-full"}),pe.jsx(Oa,{className:"h-3 w-2/3"})]})})]},t))})}Da.displayName="TableCaption";const La={default:l.FileX,search:l.Search,error:l.AlertCircle};function Ma({icon:e,title:t,description:a,action:s,className:r,variant:n="default"}){const o=e?()=>e:La[n];return pe.jsxs("div",{className:fe("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[pe.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:pe.jsx(o,{className:"h-8 w-8 text-muted-foreground"})}),pe.jsx("h3",{className:"text-lg font-semibold mb-2",children:t}),a&&pe.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:a}),s&&pe.jsx(ge,{onClick:s.onClick,variant:"outline",children:s.label})]})}const $a=H.Root,Ua=H.Trigger,Ba=H.Group,Va=H.Portal,qa=H.Sub,Wa=H.RadioGroup,Ha=M.forwardRef(({className:e,inset:t,children:a,...s},r)=>pe.jsxs(H.SubTrigger,{ref:r,className:fe("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",t&&"pl-8",e),...s,children:[a,pe.jsx(l.ChevronRight,{className:"ml-auto h-4 w-4"})]}));Ha.displayName=H.SubTrigger.displayName;const Qa=M.forwardRef(({className:e,...t},a)=>pe.jsx(H.SubContent,{ref:a,className:fe("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),...t}));Qa.displayName=H.SubContent.displayName;const Ga=M.forwardRef(({className:e,sideOffset:t=4,...a},s)=>pe.jsx(H.Portal,{children:pe.jsx(H.Content,{ref:s,sideOffset:t,className:fe("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),...a})}));Ga.displayName=H.Content.displayName;const Xa=M.forwardRef(({className:e,inset:t,...a},s)=>pe.jsx(H.Item,{ref:s,className:fe("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...a}));Xa.displayName=H.Item.displayName;const Ka=M.forwardRef(({className:e,children:t,checked:a,...s},r)=>pe.jsxs(H.CheckboxItem,{ref:r,className:fe("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:a,...s,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(H.ItemIndicator,{children:pe.jsx(l.Check,{className:"h-4 w-4"})})}),t]}));Ka.displayName=H.CheckboxItem.displayName;const Ja=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(H.RadioItem,{ref:s,className:fe("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),...a,children:[pe.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:pe.jsx(H.ItemIndicator,{children:pe.jsx(l.Circle,{className:"h-2 w-2 fill-current"})})}),t]}));Ja.displayName=H.RadioItem.displayName;const Ya=M.forwardRef(({className:e,inset:t,...a},s)=>pe.jsx(H.Label,{ref:s,className:fe("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...a}));Ya.displayName=H.Label.displayName;const Za=M.forwardRef(({className:e,...t},a)=>pe.jsx(H.Separator,{ref:a,className:fe("-mx-1 my-1 h-px bg-muted",e),...t}));Za.displayName=H.Separator.displayName;const es=({className:e,...t})=>pe.jsx("span",{className:fe("ml-auto text-xs tracking-widest opacity-60",e),...t});es.displayName="DropdownMenuShortcut";const ts=({onEdit:e,onDelete:t,onToggleStatus:a,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const o=[];if(e){const t={icon:l.Edit,label:"Editar",onClick:e};o.push(t)}if(a){const e={icon:s?l.PowerOff:l.Power,label:s?"Inativar":"Ativar",onClick:a};o.push(e)}if(r&&t){const e={icon:l.Trash2,label:"Remover",onClick:t,destructive:!0};o.push(e)}return"dropdown"===n?pe.jsx(pe.Fragment,{children:o.map((e,t)=>pe.jsxs(Xa,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[pe.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},t))}):pe.jsx(pe.Fragment,{children:o.map((e,t)=>pe.jsxs(ge,{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:[pe.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},t))})},as=({onEdit:e,onDelete:t,canDelete:a=!0,onToggleStatus:s,isActive:r=!0})=>pe.jsxs($a,{children:[pe.jsx(Ua,{asChild:!0,children:pe.jsx(ge,{variant:"action",size:"sm",className:"h-7 px-2 text-xs",children:pe.jsx(l.EllipsisVertical,{size:12})})}),pe.jsx(Ga,{align:"end",children:pe.jsx(ts,{onEdit:t=>{t?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),t?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:a,renderAs:"dropdown"})})]}),ss=({manager:t,columns:a,onEdit:s,onView:r,onToggleStatus:n,onDelete:o,renderActions:i,enableBulkActions:c=!1})=>{const[d,u]=e.useState(!1),[m,p]=e.useState(null);e.useEffect(()=>{const e=()=>u(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e.useEffect(()=>{const e=()=>p(null);if(m)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[m]);const f=(()=>{a.length;let e=0;const t=a.map(t=>{if(t.width)return e+=t.width,{...t,calculatedWidth:t.width,isFixed:!0};{const a=t.minWidth||120,s=t.weight||1;return e+=a,{...t,calculatedWidth:a,weight:s,isFixed:!1}}});return e+=100,t.map(e=>e.isFixed?{...e,style:{width:`${e.calculatedWidth}px`}}:{...e,style:{minWidth:`${e.calculatedWidth}px`,width:`${e.calculatedWidth}px`}})})();return d?t.isLoading?pe.jsx(Fa,{count:3}):0===t.entities.length?pe.jsx(Ma,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):pe.jsxs("div",{className:"space-y-4",children:[t.entities.map(e=>pe.jsx(Ne,{className:fe("overflow-hidden cursor-pointer hover:bg-muted/50",c&&t.selectedIds.includes(e.id)&&"bg-muted"),onClick:t=>{t.stopPropagation(),c||s?.(e)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),p({x:t.clientX,y:t.clientY,item:e})},children:pe.jsx(Se,{className:"p-4",children:pe.jsxs("div",{className:"flex items-start gap-3",children:[c&&pe.jsx("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:pe.jsx(Ye,{checked:t.selectedIds.includes(e.id),onCheckedChange:()=>t.selectItem(e.id)})}),pe.jsxs("div",{className:"flex-1",children:[a.map(t=>pe.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[pe.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[t.header,":"]}),pe.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:t.render?t.render(e):e[t.key]})]},String(t.key))),(s||r||i)&&pe.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:i?i(e):pe.jsx(as,{onEdit:s?()=>{s(e)}:void 0,onDelete:o?()=>o(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]})]})})},e.id)),m&&pe.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:pe.jsx(ts,{onEdit:s?()=>{s(m.item),p(null)}:void 0,onDelete:o?()=>{o(m.item),p(null)}:void 0,onToggleStatus:n?()=>{n(m.item),p(null)}:void 0,isActive:m.item.is_actived,canDelete:!!o,renderAs:"context"})})]}):pe.jsxs("div",{className:"flex flex-col h-full",children:[t.isLoading?pe.jsx(za,{rows:5,columns:a.length}):pe.jsx("div",{className:"flex flex-col h-full overflow-hidden",children:pe.jsx("div",{className:"flex-1 overflow-auto",children:pe.jsxs(Ta,{className:"table-auto",children:[pe.jsxs("colgroup",{children:[c&&pe.jsx("col",{style:{width:"50px"}}),f.map((e,t)=>pe.jsx("col",{style:e.style},t)),pe.jsx("col",{style:{width:"100px"}})]}),pe.jsx(Pa,{children:pe.jsxs(Ea,{children:[c&&pe.jsx(Ia,{className:"w-[50px]",children:pe.jsx(Ye,{checked:t.isAllSelected,onCheckedChange:t.selectAll})}),a.map(e=>{return pe.jsx(Ia,{className:`${e.className||""} ${e.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:e.sortable?()=>t.handleSort(String(e.key)):void 0,children:pe.jsxs("div",{className:"flex items-center "+(e.className?.includes("text-center")?"justify-center":""),children:[e.header,e.sortable&&(a=String(e.key),t.sortField!==a?pe.jsx(l.ArrowUpDown,{size:14,className:"ml-1 opacity-50"}):"asc"===t.sortDirection?pe.jsx(l.ArrowUp,{size:14,className:"ml-1"}):pe.jsx(l.ArrowDown,{size:14,className:"ml-1"}))]})},String(e.key));var a}),pe.jsx(Ia,{className:"w-[100px] text-center",children:"Ações"})]})}),pe.jsx(Aa,{children:0===t.entities.length?pe.jsx(Ea,{children:pe.jsx(_a,{colSpan:a.length+1,className:"h-32",children:pe.jsx(Ma,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"})})}):t.entities.map(e=>pe.jsxs(Ea,{className:fe("cursor-pointer hover:bg-muted/50",c&&t.selectedIds.includes(e.id)&&"bg-muted"),onClick:t=>{t.stopPropagation(),c||s?.(e)},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),p({x:t.clientX,y:t.clientY,item:e})},children:[c&&pe.jsx(_a,{onClick:e=>e.stopPropagation(),children:pe.jsx(Ye,{checked:t.selectedIds.includes(e.id),onCheckedChange:()=>t.selectItem(e.id)})}),a.map(t=>pe.jsx(_a,{className:t.className,children:t.render?t.render(e):e[t.key]},String(t.key))),pe.jsx(_a,{className:"text-center",children:i?i(e):pe.jsx(as,{onEdit:s?()=>s(e):void 0,onDelete:o?()=>o(e):void 0,onToggleStatus:n?()=>n(e):void 0,isActive:e.is_actived})})]},e.id))})]})})}),m&&pe.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:pe.jsx(ts,{onEdit:s?()=>{s(m.item),p(null)}:void 0,onDelete:o?()=>{o(m.item),p(null)}:void 0,onToggleStatus:n?()=>{n(m.item),p(null)}:void 0,isActive:m.item.is_actived,canDelete:!!o,renderAs:"context"})})]})};function rs(t,a,s,r){const[n,o]=e.useState({}),[i,l]=e.useState({}),c=e.useMemo(()=>t,[t]),d=e=>e instanceof Date&&!isNaN(e.getTime()),u=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{}}},m=(e,t)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(t)}catch(a){return u(e)}},p=(e,t,a)=>{if(e.required&&(""===t||null==t||Array.isArray(t)&&0===t.length))return`${e.label} é obrigatório`;if(e.validation){let r;if("function"==typeof e.validation?r=e.validation:e.validation.custom&&"function"==typeof e.validation.custom&&(r=e.validation.custom),r)try{const e=r(t,a);if(e)return e}catch(s){}}};e.useEffect(()=>{if(!r)return;const e=t=>{const a=[];return t.forEach(t=>{a.push(t),t.fields&&a.push(...e(t.fields))}),a},t=e(c),n={};t.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);d(e)&&(t=e.toISOString().split("T")[0])}else d(t)&&(t=t.toISOString().split("T")[0])}else t=u(e);n[e.name]=t}),t.forEach(e=>{const t=m(e,n);void 0!==t&&(n[e.name]=t)}),a&&Object.keys(a).forEach(e=>{t.find(t=>t.name===e)||void 0===a[e]||(n[e]=a[e])}),o(n),l({}),s&&s(n)},[c,a,s,r]);const f=e=>{const t=[];return e.forEach(e=>{t.push(e),e.fields&&t.push(...f(e.fields))}),t},h=()=>{const e=f(c),t={};return e.forEach(e=>{const a=p(e,n[e.name],n);a&&(t[e.name]=a)}),l(t),0===Object.keys(t).length};return{formData:n,errors:i,updateField:(e,t)=>{o(a=>{const r={...a,[e]:t},n=((e,t)=>{let a={...t};const s=e=>{const t=[];return e.forEach(e=>{t.push(e),e.fields&&t.push(...s(e.fields))}),t};return s(c).filter(t=>t.dependsOn===e).forEach(e=>{const t=m(e,a);void 0!==t&&(a={...a,[e.name]:t})}),a})(e,r);return s&&s(n),n}),i[e]&&l(t=>{const a={...t};return delete a[e],a});const a=f(c).find(t=>t.name===e);if(a){const s=p(a,t,n);s&&l(t=>({...t,[e]:s}))}},validateForm:h,handleSubmit:e=>t=>{t&&(t.preventDefault(),t.stopPropagation()),h()&&e(n)}}}const ns=Q.Root,os=Q.Trigger,is=M.forwardRef(({className:e,align:t="center",sideOffset:a=4,...s},r)=>pe.jsx(Q.Portal,{children:pe.jsx(Q.Content,{ref:r,align:t,sideOffset:a,className:fe("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})}));is.displayName=Q.Content.displayName;const ls=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],cs=({value:e="#3b82f6",onChange:t,label:a})=>pe.jsxs("div",{className:"space-y-2",children:[a&&pe.jsx(ye,{children:a}),pe.jsxs(ns,{children:[pe.jsx(os,{asChild:!0,children:pe.jsxs(ge,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[pe.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),pe.jsx(is,{className:"w-64",children:pe.jsxs("div",{className:"space-y-3",children:[pe.jsxs("div",{children:[pe.jsx(ye,{htmlFor:"color-input",children:"Cor personalizada"}),pe.jsx(be,{id:"color-input",type:"color",value:e,onChange:e=>t?.(e.target.value),className:"h-10 w-full"})]}),pe.jsxs("div",{children:[pe.jsx(ye,{children:"Cores predefinidas"}),pe.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:ls.map(e=>pe.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>t?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),ds=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsxs(G.Root,{ref:s,className:fe("relative overflow-hidden",e),...a,children:[pe.jsx(G.Viewport,{className:"h-full w-full rounded-[inherit]",children:t}),pe.jsx(us,{}),pe.jsx(G.Corner,{})]}));ds.displayName=G.Root.displayName;const us=M.forwardRef(({className:e,orientation:t="vertical",...a},s)=>pe.jsx(G.ScrollAreaScrollbar,{ref:s,orientation:t,className:fe("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...a,children:pe.jsx(G.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));us.displayName=G.ScrollAreaScrollbar.displayName;const ms={Star:l.Star,Heart:l.Heart,Home:l.Home,User:l.User,Settings:l.Settings,Mail:l.Mail,Phone:l.Phone,Calendar:l.Calendar,MapPin:l.MapPin,Camera:l.Camera,Image:l.Image,Music:l.Music,Video:l.Video,Book:l.Book,Bookmark:l.Bookmark,Search:l.Search,Filter:l.Filter,Edit:l.Edit,Trash2:l.Trash2,Plus:l.Plus,Minus:l.Minus,Check:l.Check,X:l.X,ChevronDown:l.ChevronDown,ChevronUp:l.ChevronUp,ChevronLeft:l.ChevronLeft,ChevronRight:l.ChevronRight,ArrowUp:l.ArrowUp,ArrowDown:l.ArrowDown,ArrowLeft:l.ArrowLeft,ArrowRight:l.ArrowRight,Clock:l.Clock,Bell:l.Bell,AlertCircle:l.AlertCircle,Info:l.Info,HelpCircle:l.HelpCircle,Download:l.Download,Upload:l.Upload,Share:l.Share,Copy:l.Copy,Save:l.Save,FileText:l.FileText,Folder:l.Folder,FolderOpen:l.FolderOpen,Archive:l.Archive,Lock:l.Lock,Unlock:l.Unlock,Eye:l.Eye,EyeOff:l.EyeOff,Shield:l.Shield,Key:l.Key,Zap:l.Zap,Flame:l.Flame,Sparkles:l.Sparkles,Award:l.Award,Trophy:l.Trophy,Target:l.Target},ps=({value:t="Star",onChange:a,label:s})=>{const[r,n]=e.useState(""),o=Object.entries(ms).filter(([e])=>e.toLowerCase().includes(r.toLowerCase())),i=ms[t]||l.Star;return pe.jsxs("div",{className:"space-y-2",children:[s&&pe.jsx(ye,{children:s}),pe.jsxs(ns,{children:[pe.jsx(os,{asChild:!0,children:pe.jsxs(ge,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[pe.jsx(i,{className:"h-4 w-4 mr-2"}),t]})}),pe.jsx(is,{className:"w-80",children:pe.jsxs("div",{className:"space-y-3",children:[pe.jsxs("div",{children:[pe.jsx(ye,{htmlFor:"icon-search",children:"Buscar ícone"}),pe.jsx(be,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:r,onChange:e=>n(e.target.value)})]}),pe.jsx(ds,{className:"h-48",children:pe.jsx("div",{className:"grid grid-cols-6 gap-2",children:o.map(([e,s])=>pe.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(t===e?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(e),title:e,children:pe.jsx(s,{className:"h-4 w-4"})},e))})})]})})]})]})};function fs({value:t,onChange:a,items:s,isLoading:r=!1,error:n=null,getItemValue:o,getItemLabel:i,searchPlaceholder:c="Buscar...",emptyMessage:d="Nenhum item disponível",noResultsMessage:u="Nenhum resultado encontrado",sortItems:m,placeholder:p="Selecionar...",disabled:f=!1,className:h}){const[x,g]=e.useState(""),b=e.useMemo(()=>{const e=m?[...s].sort(m):[...s].sort((e,t)=>i(e).localeCompare(i(t),"pt-BR"));if(!x.trim())return e;const t=x.toLowerCase();return e.filter(e=>i(e).toLowerCase().includes(t))},[s,x,m,i]);return r?pe.jsx(Oa,{className:fe("h-10 w-full",h)}):n?pe.jsxs("div",{className:fe("flex items-center gap-2 p-2 border border-destructive/20 rounded-md",h),children:[pe.jsx(l.AlertCircle,{className:"h-4 w-4 text-destructive"}),pe.jsx("span",{className:"text-sm text-destructive",children:n.message||"Erro ao carregar dados"})]}):pe.jsxs(We,{value:t,onValueChange:a,disabled:f||0===s.length,children:[pe.jsx(Qe,{className:h,children:pe.jsx(He,{placeholder:p})}),pe.jsxs(Ke,{children:[pe.jsx("div",{className:"px-2 pb-2",children:pe.jsxs("div",{className:"relative",children:[pe.jsx(l.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),pe.jsx(be,{placeholder:c,value:x,onChange:e=>g(e.target.value),onKeyDown:e=>e.stopPropagation(),className:"pl-8 h-9"})]})}),0===b.length?pe.jsx(Je,{value:"no-items",disabled:!0,children:x?u:d}):b.map(e=>pe.jsx(Je,{value:o(e),children:i(e)},o(e)))]})]})}const hs=(e={})=>{const{user:t,alias:a}=pa(),s=Jt(),{enabled:r=s.enableUsersApi}=e;return f.useQuery({queryKey:["qualiex-users",a],queryFn:()=>qt.getUsers(a),enabled:r&&!!a&&!!t,retry:2,retryDelay:1e3})},xs=({value:e="",onChange:t,placeholder:a="Selecionar usuário",disabled:s,className:r,enabled:n})=>{const{data:o=[],isLoading:i,error:l}=hs({enabled:n});return pe.jsx(fs,{value:e,onChange:t,items:o,isLoading:i,error:l,getItemValue:e=>e.userId,getItemLabel:e=>e.userName,placeholder:a,searchPlaceholder:"Buscar usuário...",emptyMessage:"Nenhum usuário disponível",noResultsMessage:"Nenhum usuário encontrado",disabled:s,className:r})};function gs({title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,open:o,submitButtonText:i="Salvar",isLoading:l=!1,usersData:c}){const[d,u]=e.useState(a?.[0]?.id||""),m=e.useMemo(()=>a&&Array.isArray(a)?a.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[a]),{formData:p,errors:f,updateField:h,handleSubmit:x}=rs(m,s,void 0,o),g=e.useMemo(()=>a&&Array.isArray(a)?a.map(e=>({...e,disabled:e.condition?!e.condition(p):e.disabled||!1})):[],[a,p]),b=e.useMemo(()=>{const e=g.find(e=>e.id===d);if(e&&!e.disabled)return d;const t=g.find(e=>!e.disabled);return t?.id||d},[g,d]);e.useEffect(()=>{b!==d&&u(b)},[b,d]);const v=g.find(e=>e.id===b),y=e=>{const t=(e.computedValue,p[e.name]),a=void 0!==t?t:"",s=f[e.name];switch(e.type){case"group":return pe.jsxs("div",{className:"space-y-2",children:[e.label,pe.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 pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(xs,{value:a||"",onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(Ze,{id:e.name,value:a||"",onChange:t=>{h(e.name,t.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsxs(We,{value:String(a),onValueChange:t=>{h(e.name,t),e.onValueChange&&e.onValueChange(t)},disabled:e.disabled,children:[pe.jsx(Qe,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:pe.jsx(He,{placeholder:e.placeholder})}),pe.jsx(Ke,{children:e.options?.map(e=>pe.jsx(Je,{value:e.value,children:e.label},e.value))})]}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"date",value:String(a),onChange:t=>h(e.name,t.target.value),placeholder:e.placeholder,disabled:e.disabled,className:fe("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":const t=Jt();return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(xs,{value:String(a),onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:t.enableUsersApi}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":const r=Jt();return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(xs,{value:a??"",onChange:t=>h(e.name,t),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:r.enableUsersApi}),s&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return pe.jsxs("div",{children:[pe.jsxs(ye,{htmlFor:e.name,children:[e.label," ",e.required&&pe.jsx("span",{className:"text-destructive",children:"*"})]}),pe.jsx(be,{id:e.name,type:"color",value:a||e.defaultValue||"#000000",onChange:t=>h(e.name,t.target.value),className:"h-10"}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return pe.jsxs("div",{children:[pe.jsx(cs,{label:`${e.label} ${e.required?"*":""}`,value:a||e.defaultValue||"#3b82f6",onChange:t=>h(e.name,t)}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return pe.jsxs("div",{children:[pe.jsx(ps,{label:`${e.label} ${e.required?"*":""}`,value:a||e.defaultValue||"Star",onChange:t=>h(e.name,t)}),s&&pe.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"number",value:null!=a?String(a):"",onChange:t=>{const a=t.target.value,s=""===a?null:Number(a);h(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&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return pe.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[pe.jsx(ye,{htmlFor:e.name,children:e.label}),pe.jsx(be,{id:e.name,type:"text",value:a||"",onChange:t=>{h(e.name,t.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&&pe.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},N=e.useCallback(()=>{if(!v)return null;if(v.disabled)return pe.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[pe.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:pe.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:pe.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),pe.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),pe.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 pe.jsx(e,{formData:p,updateField:h,errors:f,users:c,disabled:v.disabled})}return pe.jsx("div",{className:"space-y-3",children:v.fields.map(y)})},[v,p,h,f,c,y]),j=pe.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[g.length>1&&pe.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:pe.jsx("div",{className:"flex space-x-2",children:g.map(e=>pe.jsx(ge,{variant:b===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const t=g.find(t=>t.id===e);t&&!t.disabled&&u(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),pe.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:l?pe.jsx("div",{className:"flex items-center justify-center py-12",children:pe.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):pe.jsxs("form",{onSubmit:x(r),className:"space-y-3 md:space-y-4",children:[N(),pe.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[pe.jsx(ge,{type:"button",variant:"outline",onClick:n,children:"Cancelar"}),pe.jsx(ge,{type:"submit",disabled:l,children:i})]})]})})]});return pe.jsx(Te,{open:o,onOpenChange:e=>{!1===e&&!0===o&&n()},children:pe.jsxs(Ie,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[pe.jsxs(_e,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[pe.jsx(Oe,{className:"text-white",children:t}),pe.jsx(ze,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),j]})})}function bs({open:e,title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,isLoading:o=!1,submitButtonText:i="Salvar"}){return pe.jsx(gs,{open:e,title:t,sections:a,initialData:s,onSubmit:r,onCancel:n,isLoading:o,submitButtonText:i})}const vs=({manager:e})=>{const{pagination:t={totalItems:0,totalPages:1},currentPage:a=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:o=0,totalPages:i=1}=t,c=o>0?(a-1)*s+1:0,d=Math.min(a*s,o);return pe.jsxs("div",{className:"px-4 h-12 flex items-center justify-between text-sm text-muted-foreground bg-muted/50 border-t border-border flex-shrink-0 mt-auto",children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx("span",{children:"Itens por página"}),pe.jsxs(We,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[pe.jsx(Qe,{className:"w-20 h-8 border-border",children:pe.jsx(He,{})}),pe.jsxs(Ke,{children:[pe.jsx(Je,{value:"10",children:"10"}),pe.jsx(Je,{value:"25",children:"25"}),pe.jsx(Je,{value:"50",children:"50"}),pe.jsx(Je,{value:"100",children:"100"})]})]})]}),pe.jsx("div",{className:"flex-1 flex justify-center",children:pe.jsx("span",{children:o>0?`${c}-${d} de ${o} itens (página ${a} de ${i})`:"0 itens"})}),pe.jsxs("div",{className:"flex items-center space-x-1",children:[pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===a,children:pe.jsx(l.ChevronsLeft,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,a-1)),disabled:1===a,children:pe.jsx(l.ChevronLeft,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(Math.min(i,a+1)),disabled:a===i,children:pe.jsx(l.ChevronRight,{className:"h-4 w-4"})}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:()=>r(i),disabled:a===i,children:pe.jsx(l.ChevronsRight,{className:"h-4 w-4"})})]})]})},ys=({selectedCount:e,onClearSelection:t,onBulkDelete:a,customActions:s=[],isLoading:r=!1})=>pe.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[pe.jsxs("div",{className:"flex items-center gap-3",children:[pe.jsxs("span",{className:"text-sm font-medium",children:[e," ",1===e?"item selecionado":"itens selecionados"]}),pe.jsxs(ge,{variant:"ghost",size:"sm",onClick:t,className:"h-7 px-2",children:[pe.jsx(l.X,{size:14,className:"mr-1"}),"Limpar"]})]}),pe.jsxs("div",{className:"flex items-center gap-2",children:[s.map((e,t)=>{const a=e.icon;return pe.jsxs(ge,{variant:e.variant||"outline",size:"sm",onClick:()=>e.action([]),disabled:r,className:"h-7",children:[a&&pe.jsx(a,{size:14,className:"mr-1"}),e.label]},t)}),a&&pe.jsxs(ge,{variant:"destructive",size:"sm",onClick:a,disabled:r,className:"h-7",children:[pe.jsx(l.Trash2,{size:14,className:"mr-1"}),"Deletar"]})]})]}),Ns={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},js={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},ws={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function ks({children:e,direction:t="column",gap:a="md",align:s="stretch",justify:r="start",wrap:n=!1,className:o}){return pe.jsx("div",{className:fe("flex","column"===t?"flex-col":"flex-row",Ns[a],js[s],ws[r],n&&"flex-wrap",o),children:e})}function Ss({manager:e,filters:t,inline:a=!1}){const{isSearchVisible:s}=pa(),r=e.searchTerm,n=pe.jsxs(pe.Fragment,{children:[t.some(e=>"search"===e.type)&&!s&&pe.jsxs("div",{className:"relative flex-1",children:[pe.jsx(l.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),pe.jsx(be,{placeholder:"Buscar...",value:e.searchTerm,onChange:t=>e.handleSearch(t.target.value),className:"pl-10"})]}),t.filter(e=>"custom"===e.type&&e.component).map((e,t)=>{const s=e.component;return pe.jsx("div",{className:a?"":"w-full sm:w-auto",children:pe.jsx(s,{...e.props})},t)}),r&&pe.jsxs(ge,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[pe.jsx(l.X,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]});return a?pe.jsx("div",{className:"flex items-center gap-2",children:n}):pe.jsx(ks,{direction:"column",gap:"md",className:"mb-6",children:pe.jsx(ks,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:n})})}function Cs({manager:t,config:a,formSections:s,onSave:r,onToggleStatus:n}){const{setSearchVisible:o}=pa(),[i,c]=e.useState(!1),[d,u]=e.useState(null),[m,p]=e.useState({isOpen:!1,entityId:null,entityName:""}),[f,h]=e.useState({isOpen:!1,count:0});e.useEffect(()=>(o(!0),()=>{o(!1)}),[o]);return pe.jsxs("div",{className:"flex-1 flex flex-col h-full",children:[a.enableBulkActions&&t.selectedIds.length>0&&pe.jsx(ys,{selectedCount:t.selectedIds.length,onClearSelection:t.clearSelection,onBulkDelete:r?()=>{h({isOpen:!0,count:t.selectedIds.length})}:void 0,customActions:a.bulkActions,isLoading:t.isBulkDeleting}),pe.jsxs("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:[pe.jsx("div",{className:"flex items-center gap-4",children:pe.jsxs(ge,{onClick:()=>{u(null),c(!0)},children:[pe.jsx(l.Plus,{size:16,className:"mr-2"}),"Novo"]})}),a.filters&&a.filters.length>0&&pe.jsx("div",{className:"flex items-center gap-2 flex-1 justify-end",children:pe.jsx(Ss,{manager:t,filters:a.filters,inline:!0})})]}),pe.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:pe.jsx(ss,{manager:t,columns:a.columns,onEdit:e=>{u(e),c(!0)},onDelete:e=>{p({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:n,enableBulkActions:a.enableBulkActions})}),pe.jsx("div",{className:"flex-shrink-0 border-t bg-background",children:pe.jsx(vs,{manager:t})}),pe.jsx(bs,{open:i,title:d?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:s,initialData:d||void 0,onSubmit:e=>{r(e),c(!1),u(null)},onCancel:()=>{c(!1),u(null)},isLoading:t.isLoading,submitButtonText:d?"Atualizar":"Criar"}),pe.jsx(Ca,{open:m.isOpen,onOpenChange:()=>{p({isOpen:!1,entityId:null,entityName:""})},onConfirm:e=>{m.entityId&&(t.deleteEntity(m.entityId),p({isOpen:!1,entityId:null,entityName:""}))},item:m.entityId?{id:m.entityId,title:m.entityName}:void 0,entityName:a.entityName,isDeleting:t.isDeleting}),pe.jsx(Ca,{open:f.isOpen,onOpenChange:()=>h({isOpen:!1,count:0}),onConfirm:()=>(t.bulkDelete?.(t.selectedIds),void h({isOpen:!1,count:0})),item:{id:"bulk",title:`${f.count} ${1===f.count?"item":"itens"}`},entityName:a.entityName,isDeleting:t.isBulkDeleting})]})}function Ts(e,t,a={}){const s=[];return Object.keys(t).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const a=t[e],r={key:e,header:As(e),label:As(e),...Ps(e,a),sortable:!0,searchable:"string"==typeof a};s.push(r)}}),{title:e,columns:s,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...a}}function Ps(e,t){const a=e.toLowerCase();return a.includes("email")?{type:"email",required:!0}:a.includes("phone")||a.includes("tel")?{type:"tel"}:a.includes("description")||a.includes("content")||a.includes("notes")?{type:"textarea"}:a.includes("status")||a.includes("type")||a.includes("category")?{type:"select",options:[]}:"boolean"==typeof t?{type:"boolean"}:"number"==typeof t?{type:"number"}:t instanceof Date?{type:"date"}:{type:"text"}}function As(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const Rs={user:{title:"Usuários",searchPlaceholder:"Buscar usuários...",enableDelete:!1},product:{title:"Produtos",searchPlaceholder:"Buscar produtos...",enableFilters:!0},order:{title:"Pedidos",searchPlaceholder:"Buscar pedidos...",enableCreate:!1},category:{title:"Categorias",searchPlaceholder:"Buscar categorias...",itemsPerPage:20}};const Es=a.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"}}),Is=M.forwardRef(({className:e,variant:t,...a},s)=>pe.jsx("div",{ref:s,role:"alert",className:fe(Es({variant:t}),e),...a}));Is.displayName="Alert";const _s=M.forwardRef(({className:e,...t},a)=>pe.jsx("h5",{ref:a,className:fe("mb-1 font-medium leading-none tracking-tight",e),...t}));_s.displayName="AlertTitle";const Ds=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("text-sm [&_p]:leading-relaxed",e),...t}));Ds.displayName="AlertDescription";const Os=X.Root,zs=M.forwardRef(({className:e,...t},a)=>pe.jsx(X.Item,{ref:a,className:fe("border-b",e),...t}));zs.displayName="AccordionItem";const Fs=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsx(X.Header,{className:"flex",children:pe.jsxs(X.Trigger,{ref:s,className:fe("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...a,children:[t,pe.jsx(l.ChevronDown,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Fs.displayName=X.Trigger.displayName;const Ls=M.forwardRef(({className:e,children:t,...a},s)=>pe.jsx(X.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...a,children:pe.jsx("div",{className:fe("pb-4 pt-0",e),children:t})}));Ls.displayName=X.Content.displayName;const Ms=K.Root,$s=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Root,{ref:a,className:fe("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t}));$s.displayName=J.Root.displayName;const Us=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Image,{ref:a,className:fe("aspect-square h-full w-full",e),...t}));Us.displayName=J.Image.displayName;const Bs=M.forwardRef(({className:e,...t},a)=>pe.jsx(J.Fallback,{ref:a,className:fe("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t}));Bs.displayName=J.Fallback.displayName;const Vs=M.forwardRef(({...e},t)=>pe.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));Vs.displayName="Breadcrumb";const qs=M.forwardRef(({className:e,...t},a)=>pe.jsx("ol",{ref:a,className:fe("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));qs.displayName="BreadcrumbList";const Ws=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,className:fe("inline-flex items-center gap-1.5",e),...t}));Ws.displayName="BreadcrumbItem";const Hs=M.forwardRef(({asChild:e,className:t,...a},s)=>{const r=e?M.Fragment:"a";return pe.jsx(r,{ref:s,className:fe("transition-colors hover:text-foreground",t),...a})});Hs.displayName="BreadcrumbLink";const Qs=M.forwardRef(({className:e,...t},a)=>pe.jsx("span",{ref:a,role:"link","aria-disabled":"true","aria-current":"page",className:fe("font-normal text-foreground",e),...t}));Qs.displayName="BreadcrumbPage";const Gs=({children:e,className:t,...a})=>pe.jsx("li",{role:"presentation","aria-hidden":"true",className:fe("[&>svg]:size-3.5",t),...a,children:e??pe.jsx(l.ChevronRight,{})});Gs.displayName="BreadcrumbSeparator";const Xs=({className:e,...t})=>pe.jsxs("span",{role:"presentation","aria-hidden":"true",className:fe("flex h-9 w-9 items-center justify-center",e),...t,children:[pe.jsx(l.MoreHorizontal,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"More"})]});function Ks(e){return(t={})=>{const a=t.width?String(t.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}function Js(e){return(t,a)=>{let s;if("formatting"===(a?.context?String(a.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,r=a?.width?String(a.width):t;s=e.formattingValues[r]||e.formattingValues[t]}else{const t=e.defaultWidth,r=a?.width?String(a.width):e.defaultWidth;s=e.values[r]||e.values[t]}return s[e.argumentCallback?e.argumentCallback(t):t]}}function Ys(e){return(t,a={})=>{const s=a.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=t.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,t){for(let a=0;a<e.length;a++)if(t(e[a]))return a;return}(i,e=>e.test(o)):function(e,t){for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t(e[a]))return a;return}(i,e=>e.test(o));let c;c=e.valueCallback?e.valueCallback(l):l,c=a.valueCallback?a.valueCallback(c):c;return{value:c,rest:t.slice(o.length)}}}Xs.displayName="BreadcrumbEllipsis";const Zs={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"}},er={date:Ks({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:Ks({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Ks({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tr={lastWeek:e=>{const t=e.getDay();return"'"+(0===t||6===t?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},ar={ordinalNumber:(e,t)=>{const a=Number(e);return"week"===t?.unit?a+"ª":a+"º"},era:Js({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:Js({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:Js({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:Js({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:Js({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"})},sr={ordinalNumber:(rr={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const a=e.match(rr.matchPattern);if(!a)return null;const s=a[0],r=e.match(rr.parsePattern);if(!r)return null;let n=rr.valueCallback?rr.valueCallback(r[0]):r[0];return n=t.valueCallback?t.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:Ys({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:Ys({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:Ys({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:Ys({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:Ys({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"})};var rr;const nr={code:"pt-BR",formatDistance:(e,t,a)=>{let s;const r=Zs[e];return s="string"==typeof r?r:1===t?r.one:r.other.replace("{{count}}",String(t)),a?.addSuffix?a.comparison&&a.comparison>0?"em "+s:"há "+s:s},formatLong:er,formatRelative:(e,t,a,s)=>{const r=tr[e];return"function"==typeof r?r(t):r},localize:ar,match:sr,options:{weekStartsOn:0,firstWeekContainsDate:1}};function or({className:e,classNames:t,showOutsideDays:a=!0,...s}){return pe.jsx(k.DayPicker,{showOutsideDays:a,className:fe("p-3",e),locale:nr,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:fe(xe({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day:fe(xe({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},components:{IconLeft:({...e})=>pe.jsx(l.ChevronLeft,{className:"h-4 w-4"}),IconRight:({...e})=>pe.jsx(l.ChevronRight,{className:"h-4 w-4"})},...s})}or.displayName="Calendar";const ir=Y.Root,lr=Y.CollapsibleTrigger,cr=Y.CollapsibleContent,dr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));dr.displayName="Command";const ur=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:pe.jsx("input",{ref:a,className:fe("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),...t})}));ur.displayName="CommandInput";const mr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));mr.displayName="CommandList";const pr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("py-6 text-center text-sm text-muted-foreground",e),...t}));pr.displayName="CommandEmpty";const fr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("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),...t}));fr.displayName="CommandGroup";const hr=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,className:fe("-mx-1 h-px bg-border",e),...t}));hr.displayName="CommandSeparator";const xr=M.forwardRef(({className:e,disabled:t,onSelect:a,value:s,...r},n)=>pe.jsx("div",{ref:n,className:fe("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":t,onClick:()=>!t&&a?.(s||""),...r}));xr.displayName="CommandItem";const gr=({className:e,...t})=>pe.jsx("span",{className:fe("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});gr.displayName="CommandShortcut";const br={Root:function({children:e,className:t}){return pe.jsx("div",{className:fe("space-y-4",t),children:e})},Item:function({children:e,onClick:t,className:a}){return pe.jsx(Ne,{className:fe("transition-colors",t&&"cursor-pointer hover:bg-muted/50",a),onClick:t,children:pe.jsx(Se,{className:"p-4",children:e})})},Field:function({label:e,value:t,className:a}){return pe.jsxs("div",{className:fe("flex justify-between items-center text-sm",a),children:[pe.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),pe.jsx("span",{className:"text-foreground",children:t})]})}},vr={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))]"},yr={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function Nr({children:e,cols:t="auto-fit",gap:a="md",className:s}){return pe.jsx("div",{className:fe("grid",vr[t],yr[a],s),children:e})}const jr=({className:e,...t})=>pe.jsx("nav",{role:"navigation","aria-label":"pagination",className:fe("mx-auto flex w-full justify-center",e),...t});jr.displayName="Pagination";const wr=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,className:fe("flex flex-row items-center gap-1",e),...t}));wr.displayName="PaginationContent";const kr=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,className:fe("",e),...t}));kr.displayName="PaginationItem";const Sr=({className:e,isActive:t,size:a="icon",...s})=>pe.jsx("a",{"aria-current":t?"page":void 0,className:fe(xe({variant:t?"outline":"ghost",size:a}),e),...s});Sr.displayName="PaginationLink";const Cr=({className:e,...t})=>pe.jsxs(Sr,{"aria-label":"Go to previous page",size:"default",className:fe("gap-1 pl-2.5",e),...t,children:[pe.jsx(l.ChevronLeft,{className:"h-4 w-4"}),pe.jsx("span",{children:"Previous"})]});Cr.displayName="PaginationPrevious";const Tr=({className:e,...t})=>pe.jsxs(Sr,{"aria-label":"Go to next page",size:"default",className:fe("gap-1 pr-2.5",e),...t,children:[pe.jsx("span",{children:"Next"}),pe.jsx(l.ChevronRight,{className:"h-4 w-4"})]});Tr.displayName="PaginationNext";const Pr=({className:e,...t})=>pe.jsxs("span",{"aria-hidden":!0,className:fe("flex h-9 w-9 items-center justify-center",e),...t,children:[pe.jsx(l.MoreHorizontal,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"More pages"})]});Pr.displayName="PaginationEllipsis";const Ar=M.forwardRef(({className:e,value:t,...a},s)=>pe.jsx(Z.Root,{ref:s,className:fe("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...a,children:pe.jsx(Z.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));Ar.displayName=Z.Root.displayName;const Rr=M.forwardRef(({className:e,...t},a)=>pe.jsx(ee.Root,{className:fe("grid gap-2",e),...t,ref:a}));Rr.displayName=ee.Root.displayName;const Er=M.forwardRef(({className:e,...t},a)=>pe.jsx(ee.Item,{ref:a,className:fe("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:pe.jsx(ee.Indicator,{className:"flex items-center justify-center",children:pe.jsx(l.Circle,{className:"h-2.5 w-2.5 fill-current text-current"})})}));Er.displayName=ee.Item.displayName;const Ir=M.forwardRef(({className:e,orientation:t="horizontal",decorative:a=!0,...s},r)=>pe.jsx(te.Root,{ref:r,decorative:a,orientation:t,className:fe("shrink-0 bg-border","horizontal"===t?"h-[1px] w-full":"h-full w-[1px]",e),...s}));Ir.displayName=te.Root.displayName;const _r=U.Root,Dr=U.Trigger,Or=U.Close,zr=U.Portal,Fr=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Overlay,{className:fe("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),...t,ref:a}));Fr.displayName=U.Overlay.displayName;const Lr=a.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"}}),Mr=M.forwardRef(({side:e="right",className:t,children:a,...s},r)=>pe.jsxs(zr,{children:[pe.jsx(Fr,{}),pe.jsxs(U.Content,{ref:r,className:fe(Lr({side:e}),t),...s,children:[a,pe.jsxs(U.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:[pe.jsx(l.X,{className:"h-4 w-4"}),pe.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Mr.displayName=U.Content.displayName;const $r=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col space-y-2 text-center sm:text-left",e),...t});$r.displayName="SheetHeader";const Ur=({className:e,...t})=>pe.jsx("div",{className:fe("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Ur.displayName="SheetFooter";const Br=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Title,{ref:a,className:fe("text-lg font-semibold text-foreground",e),...t}));Br.displayName=U.Title.displayName;const Vr=M.forwardRef(({className:e,...t},a)=>pe.jsx(U.Description,{ref:a,className:fe("text-sm text-muted-foreground",e),...t}));Vr.displayName=U.Description.displayName;const qr=ae.Provider,Wr=ae.Root,Hr=ae.Trigger,Qr=M.forwardRef(({className:e,sideOffset:t=4,...a},s)=>pe.jsx(ae.Content,{ref:s,sideOffset:t,className:fe("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),...a}));Qr.displayName=ae.Content.displayName;const Gr="sidebar:state",Xr=M.createContext(null);function Kr(){const e=M.useContext(Xr);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const Jr=M.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:a,className:s,style:r,children:n,...o},i)=>{const[l,c]=M.useState(!1);M.useEffect(()=>{const e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[d,u]=M.useState(!1),[m,p]=M.useState(()=>{if("undefined"!=typeof window){const t=localStorage.getItem(Gr);return null!==t?"true"===t:e}return e}),f=t??m,h=M.useCallback(e=>{const t="function"==typeof e?e(f):e;a?a(t):p(t),"undefined"!=typeof window&&localStorage.setItem(Gr,String(t))},[a,f]),x=M.useCallback(()=>l?u(e=>!e):h(e=>!e),[l,h,u]);M.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),x())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[x]);const g=f?"expanded":"collapsed",b=M.useMemo(()=>({state:g,open:f,setOpen:h,isMobile:l,openMobile:d,setOpenMobile:u,toggleSidebar:x}),[g,f,h,l,d,u,x]);return pe.jsx(Xr.Provider,{value:b,children:pe.jsx(qr,{delayDuration:0,children:pe.jsx("div",{className:fe("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":"4.5rem",...r},ref:i,...o,children:n})})})});Jr.displayName="SidebarProvider";const Yr=M.forwardRef(({side:e="left",variant:t="sidebar",collapsible:a="offcanvas",className:s,children:r,...n},o)=>{const{isMobile:i,state:l,openMobile:c,setOpenMobile:d}=Kr();return"none"===a?pe.jsx("div",{className:fe("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:o,...n,children:r}):i?pe.jsx(_r,{open:c,onOpenChange:d,...n,children:pe.jsxs(Mr,{"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:[pe.jsx(Br,{className:"sr-only",children:"Menu de Navegação"}),pe.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):pe.jsxs("div",{ref:o,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?a:"","data-variant":t,"data-side":e,children:[pe.jsx("div",{className:fe("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"===t||"inset"===t?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),pe.jsx("div",{className:fe("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"===t||"inset"===t?"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:pe.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow bg-white",children:r})})]})});Yr.displayName="Sidebar";const Zr=M.forwardRef(({className:e,onClick:t,...a},s)=>{const{toggleSidebar:r}=Kr();return pe.jsxs(ge,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:fe("h-7 w-7",e),onClick:e=>{t?.(e),r()},...a,children:[pe.jsx(l.PanelLeft,{}),pe.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Zr.displayName="SidebarTrigger";const en=M.forwardRef(({className:e,...t},a)=>{const{toggleSidebar:s}=Kr();return pe.jsx("button",{ref:a,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:fe("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),...t})});en.displayName="SidebarRail";const tn=M.forwardRef(({className:e,...t},a)=>pe.jsx("main",{ref:a,className:fe("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),...t}));tn.displayName="SidebarInset";const an=M.forwardRef(({className:e,...t},a)=>pe.jsx(be,{ref:a,"data-sidebar":"input",className:fe("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));an.displayName="SidebarInput";const sn=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"header",className:fe("flex flex-col gap-2 p-2",e),...t}));sn.displayName="SidebarHeader";const rn=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"footer",className:fe("flex flex-col gap-2 p-2",e),...t}));rn.displayName="SidebarFooter";const nn=M.forwardRef(({className:e,...t},a)=>pe.jsx(Ir,{ref:a,"data-sidebar":"separator",className:fe("mx-2 w-auto bg-sidebar-border",e),...t}));nn.displayName="SidebarSeparator";const on=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"content",className:fe("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));on.displayName="SidebarContent";const ln=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"group",className:fe("relative flex w-full min-w-0 flex-col p-2",e),...t}));ln.displayName="SidebarGroup";const cn=M.forwardRef(({className:e,asChild:a=!1,...s},r)=>{const n=a?t.Slot:"div";return pe.jsx(n,{ref:r,"data-sidebar":"group-label",className:fe("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),...s})});cn.displayName="SidebarGroupLabel";const dn=M.forwardRef(({className:e,asChild:a=!1,...s},r)=>{const n=a?t.Slot:"button";return pe.jsx(n,{ref:r,"data-sidebar":"group-action",className:fe("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),...s})});dn.displayName="SidebarGroupAction";const un=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"group-content",className:fe("w-full text-sm",e),...t}));un.displayName="SidebarGroupContent";const mn=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,"data-sidebar":"menu",className:fe("flex w-full min-w-0 flex-col gap-1",e),...t}));mn.displayName="SidebarMenu";const pn=M.forwardRef(({className:e,...t},a)=>pe.jsx("li",{ref:a,"data-sidebar":"menu-item",className:fe("group/menu-item relative",e),...t}));pn.displayName="SidebarMenuItem";const fn=a.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-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),hn=M.forwardRef(({asChild:e=!1,isActive:a=!1,variant:s="default",size:r="default",tooltip:n,className:o,...i},l)=>{const c=e?t.Slot:"button",{isMobile:d,state:u}=Kr(),m=pe.jsx(c,{ref:l,"data-sidebar":"menu-button","data-size":r,"data-active":a,className:fe(fn({variant:s,size:r}),o),...i});return n?("string"==typeof n&&(n={children:n}),pe.jsxs(Wr,{children:[pe.jsx(Hr,{asChild:!0,children:m}),pe.jsx(Qr,{side:"right",align:"center",hidden:"collapsed"!==u||d,...n})]})):m});hn.displayName="SidebarMenuButton";const xn=M.forwardRef(({className:e,asChild:a=!1,showOnHover:s=!1,...r},n)=>{const o=a?t.Slot:"button";return pe.jsx(o,{ref:n,"data-sidebar":"menu-action",className:fe("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",s&&"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),...r})});xn.displayName="SidebarMenuAction";const gn=M.forwardRef(({className:e,...t},a)=>pe.jsx("div",{ref:a,"data-sidebar":"menu-badge",className:fe("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),...t}));gn.displayName="SidebarMenuBadge";const bn=M.forwardRef(({className:e,showIcon:t=!1,...a},s)=>{const r=M.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return pe.jsxs("div",{ref:s,"data-sidebar":"menu-skeleton",className:fe("rounded-md h-8 flex gap-2 px-2 items-center",e),...a,children:[t&&pe.jsx("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),pe.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})});bn.displayName="SidebarMenuSkeleton";const vn=M.forwardRef(({className:e,...t},a)=>pe.jsx("ul",{ref:a,"data-sidebar":"menu-sub",className:fe("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),...t}));vn.displayName="SidebarMenuSub";const yn=M.forwardRef(({...e},t)=>pe.jsx("li",{ref:t,...e}));yn.displayName="SidebarMenuSubItem";const Nn=M.forwardRef(({asChild:e=!1,size:a="md",isActive:s,className:r,...n},o)=>{const i=e?t.Slot:"a";return pe.jsx(i,{ref:o,"data-sidebar":"menu-sub-button","data-size":a,"data-active":s,className:fe("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",r),...n})});Nn.displayName="SidebarMenuSubButton";const jn=M.forwardRef(({className:e,...t},a)=>pe.jsxs(se.Root,{ref:a,className:fe("relative flex w-full touch-none select-none items-center",e),...t,children:[pe.jsx(se.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:pe.jsx(se.Range,{className:"absolute h-full bg-primary"})}),pe.jsx(se.Thumb,{className:"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"})]}));jn.displayName=se.Root.displayName;function wn(e,t,{checkForDefaultPrevented:a=!0}={}){return function(s){if(e?.(s),!1===a||!s.defaultPrevented)return t?.(s)}}function kn(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function Sn(...e){return M.useCallback(function(...e){return t=>{let a=!1;const s=e.map(e=>{const s=kn(e,t);return a||"function"!=typeof s||(a=!0),s});if(a)return()=>{for(let t=0;t<s.length;t++){const a=s[t];"function"==typeof a?a():kn(e[t],null)}}}}(...e),e)}function Cn(...e){const t=e[0];if(1===e.length)return t;const a=()=>{const a=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){const s=a.reduce((t,{useScope:a,scopeName:s})=>({...t,...a(e)[`__scope${s}`]}),{});return M.useMemo(()=>({[`__scope${t.scopeName}`]:s}),[s])}};return a.scopeName=t.scopeName,a}var Tn=globalThis?.document?M.useLayoutEffect:()=>{},Pn=M[" useInsertionEffect ".trim().toString()]||Tn;function An({prop:e,defaultProp:t,onChange:a=()=>{},caller:s}){const[r,n,o]=function({defaultProp:e,onChange:t}){const[a,s]=M.useState(e),r=M.useRef(a),n=M.useRef(t);return Pn(()=>{n.current=t},[t]),M.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,s,n]}({defaultProp:t,onChange:a}),i=void 0!==e,l=i?e:r;{const t=M.useRef(void 0!==e);M.useEffect(()=>{const e=t.current;if(e!==i){}t.current=i},[i,s])}const c=M.useCallback(t=>{if(i){const a=function(e){return"function"==typeof e}(t)?t(e):t;a!==e&&o.current?.(a)}else n(t)},[i,e,n,o]);return[l,c]}var Rn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,a)=>{const s=t.createSlot(`Primitive.${a}`),r=M.forwardRef((e,t)=>{const{asChild:r,...n}=e,o=r?s:a;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),pe.jsx(o,{...n,ref:t})});return r.displayName=`Primitive.${a}`,{...e,[a]:r}},{}),En="Switch",[In]=function(e,t=[]){let a=[];const s=()=>{const t=a.map(e=>M.createContext(e));return function(a){const s=a?.[e]||t;return M.useMemo(()=>({[`__scope${e}`]:{...a,[e]:s}}),[a,s])}};return s.scopeName=e,[function(t,s){const r=M.createContext(s),n=a.length;a=[...a,s];const o=t=>{const{scope:a,children:s,...o}=t,i=a?.[e]?.[n]||r,l=M.useMemo(()=>o,Object.values(o));return pe.jsx(i.Provider,{value:l,children:s})};return o.displayName=t+"Provider",[o,function(a,o){const i=o?.[e]?.[n]||r,l=M.useContext(i);if(l)return l;if(void 0!==s)return s;throw new Error(`\`${a}\` must be used within \`${t}\``)}]},Cn(s,...t)]}(En),[_n,Dn]=In(En),On=M.forwardRef((e,t)=>{const{__scopeSwitch:a,name:s,checked:r,defaultChecked:n,required:o,disabled:i,value:l="on",onCheckedChange:c,form:d,...u}=e,[m,p]=M.useState(null),f=Sn(t,e=>p(e)),h=M.useRef(!1),x=!m||(d||!!m.closest("form")),[g,b]=An({prop:r,defaultProp:n??!1,onChange:c,caller:En});return pe.jsxs(_n,{scope:a,checked:g,disabled:i,children:[pe.jsx(Rn.button,{type:"button",role:"switch","aria-checked":g,"aria-required":o,"data-state":Mn(g),"data-disabled":i?"":void 0,disabled:i,value:l,...u,ref:f,onClick:wn(e.onClick,e=>{b(e=>!e),x&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),x&&pe.jsx(Ln,{control:m,bubbles:!h.current,name:s,value:l,checked:g,required:o,disabled:i,form:d,style:{transform:"translateX(-100%)"}})]})});On.displayName=En;var zn="SwitchThumb",Fn=M.forwardRef((e,t)=>{const{__scopeSwitch:a,...s}=e,r=Dn(zn,a);return pe.jsx(Rn.span,{"data-state":Mn(r.checked),"data-disabled":r.disabled?"":void 0,...s,ref:t})});Fn.displayName=zn;var Ln=M.forwardRef(({__scopeSwitch:e,control:t,checked:a,bubbles:s=!0,...r},n)=>{const o=M.useRef(null),i=Sn(o,n),l=function(e){const t=M.useRef({value:e,previous:e});return M.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}(a),c=function(e){const[t,a]=M.useState(void 0);return Tn(()=>{if(e){a({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver(t=>{if(!Array.isArray(t))return;if(!t.length)return;const s=t[0];let r,n;if("borderBoxSize"in s){const e=s.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,n=t.blockSize}else r=e.offsetWidth,n=e.offsetHeight;a({width:r,height:n})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}a(void 0)},[e]),t}(t);return M.useEffect(()=>{const e=o.current;if(!e)return;const t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==a&&r){const t=new Event("click",{bubbles:s});r.call(e,a),e.dispatchEvent(t)}},[l,a,s]),pe.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...r,tabIndex:-1,ref:i,style:{...r.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function Mn(e){return e?"checked":"unchecked"}Ln.displayName="SwitchBubbleInput";var $n=On,Un=Fn;const Bn=M.forwardRef(({className:e,...t},a)=>pe.jsx($n,{className:fe("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:a,children:pe.jsx(Un,{className:fe("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));Bn.displayName=$n.displayName;const Vn=re.Root,qn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.List,{ref:a,className:fe("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...t}));qn.displayName=re.List.displayName;const Wn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.Trigger,{ref:a,className:fe("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...t}));Wn.displayName=re.Trigger.displayName;const Hn=M.forwardRef(({className:e,...t},a)=>pe.jsx(re.Content,{ref:a,className:fe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));Hn.displayName=re.Content.displayName;const Qn=a.cva("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Gn=M.forwardRef(({className:e,variant:t,size:a,...s},r)=>pe.jsx(ne.Root,{ref:r,className:fe(Qn({variant:t,size:a,className:e})),...s}));Gn.displayName=ne.Root.displayName;const Xn=M.createContext({size:"default",variant:"default"}),Kn=M.forwardRef(({className:e,variant:t,size:a,children:s,...r},n)=>pe.jsx(oe.Root,{ref:n,className:fe("flex items-center justify-center gap-1",e),...r,children:pe.jsx(Xn.Provider,{value:{variant:t,size:a},children:s})}));Kn.displayName=oe.Root.displayName;const Jn=M.forwardRef(({className:e,children:t,variant:a,size:s,...r},n)=>{const o=M.useContext(Xn);return pe.jsx(oe.Item,{ref:n,className:fe(Qn({variant:o.variant||a,size:o.size||s}),e),...r,children:t})});Jn.displayName=oe.Item.displayName;const Yn=e.forwardRef(({variant:e="default",className:t,children:a,...s},r)=>pe.jsx(ge,{ref:r,variant:"outline",size:"sm",className:fe("h-7 px-2 text-xs","border-primary/20 text-primary hover:bg-primary/5",t),...s,children:a||pe.jsx(l.EllipsisVertical,{size:12})}));function Zn(e){const t=h.useNavigate();return{onNew:()=>{const a=e.newPath||`${e.basePath}/new`;t(a)},onEdit:a=>{const s=e.editPath?e.editPath.replace(":id",a.id):`${e.basePath}/${a.id}/edit`;t(s)}}}Yn.displayName="ActionButton";const eo=e.memo(({variant:t="card",className:a="",selectedUnit:s,onUnitChange:r})=>{const{user:n,companies:o,alias:i,isAuthenticated:c,logout:d,switchUnit:u}=pa(),m=o?.[0]||null,p=i?o?.find(e=>e.alias===i):m,f=o||[],h=s||p||m||m,x=e.useCallback(e=>{r?r(e):u(e)},[r,u]),g=e.useMemo(()=>{if(!f?.length)return[];const e=new Map;f.forEach(t=>{e.set(t.alias,t)});const t=Array.from(e.values()),a=t.find(e=>e.alias===h?.alias),s=t.filter(e=>e.alias!==h?.alias);return s.sort((e,t)=>(e.name||"").localeCompare(t.name||"","pt-BR",{sensitivity:"base"})),a?[a,...s]:s},[f,h?.alias]);if(!c||!n)return null;const b=()=>pe.jsxs(pe.Fragment,{children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx("div",{className:"flex-shrink-0",children:pe.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:pe.jsx(l.User,{className:"h-5 w-5 text-primary-foreground"})})}),pe.jsxs("div",{className:"flex-1 min-w-0",children:[pe.jsx("p",{className:"text-sm font-medium truncate",children:n.name}),pe.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",h?.name||"N/A"]})]})]}),h&&pe.jsx("div",{className:"mt-3",children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx(l.Building2,{className:"h-4 w-4 text-muted-foreground"}),pe.jsx("span",{className:"text-sm font-medium",children:h.name})]})}),g.length>1&&pe.jsxs("div",{className:"mt-2",children:[pe.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",g.length]}),pe.jsxs("div",{className:"flex flex-wrap gap-1",children:[g.slice(0,3).map(e=>pe.jsx(tt,{variant:e.alias===h?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>x(e),children:e.name},e.alias)),g.length>3&&pe.jsxs(tt,{variant:"outline",className:"text-xs",children:["+",g.length-3]})]})]})]});return"dropdown"===t?pe.jsxs($a,{children:[pe.jsx(Ua,{asChild:!0,children:pe.jsx(ge,{variant:"ghost",className:`h-auto p-2 ${a}`,children:pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsxs("div",{className:"hidden md:block text-left",children:[pe.jsx("p",{className:"text-sm font-medium",children:n.name}),pe.jsx("p",{className:"text-xs text-muted-foreground",children:h?.name||"N/A"})]}),pe.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:pe.jsx(l.User,{className:"h-4 w-4 text-primary-foreground"})}),pe.jsx(l.ChevronDown,{className:"h-4 w-4"})]})})}),pe.jsxs(Ga,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[pe.jsxs(qa,{children:[pe.jsxs(Ha,{children:[pe.jsx(l.RefreshCw,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),pe.jsx(Qa,{children:g.map(e=>pe.jsxs(Xa,{onClick:()=>x(e),className:e.alias===h?.alias?"bg-muted":"",children:[pe.jsx(l.Building2,{className:"mr-2 h-4 w-4"}),e.name,e.alias===h?.alias&&pe.jsx(tt,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),pe.jsx(Za,{}),pe.jsxs(Xa,{onClick:d,children:[pe.jsx(l.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]}):pe.jsxs(Ne,{className:a,children:[pe.jsx(je,{children:pe.jsx(we,{className:"text-lg",children:"Informações do Usuário"})}),pe.jsxs(Se,{className:"space-y-4",children:[pe.jsx(b,{}),pe.jsx(Ir,{}),pe.jsxs(ge,{variant:"outline",onClick:d,size:"sm",className:"w-full",children:[pe.jsx(l.LogOut,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}),to=e.createContext({});function ao({children:t,config:a}){const s=e.useMemo(()=>({navigation:a?.navigation,appName:a?.appName}),[a?.navigation,a?.appName]);return pe.jsx(to.Provider,{value:s,children:t})}function so(){return e.useContext(to)}function ro(){const e=h.useLocation(),{navigation:t}=so(),a=t?.find(t=>t.path===e.pathname);return a?.label||"Página"}function no(t,a){const[s,r]=e.useState(t),n=e.useRef(),o=e.useCallback(()=>{n.current&&(clearTimeout(n.current),n.current=void 0)},[]);return e.useEffect(()=>(o(),n.current=setTimeout(()=>{r(t)},a),o),[t,a,o]),[s,o]}const oo=e.memo(function({actions:t}){const a=h.useLocation(),s=ro(),{navigation:r,appName:n}=so(),{companies:o,alias:i,isSearchVisible:c,clearSearch:d,refreshData:u,switchUnit:m}=pa(),p=i?o?.find(e=>e.alias===i)||o?.[0]||null:o?.[0]||null,[f,x]=h.useSearchParams(),[g,b]=e.useState(()=>f.get("search")||""),[v,y]=no(g,Gt.debounceDelay);e.useEffect(()=>{if(!c)return;const e=new URLSearchParams(f);v?(e.set("search",v),e.set("page","1")):e.delete("search"),x(e)},[v,x,c]);const N=r?.find(e=>e.path===a.pathname);return pe.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:pe.jsxs("div",{className:"flex items-center gap-4",children:[pe.jsxs("div",{className:"flex-shrink-0",children:[pe.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[pe.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:s}),pe.jsx(tt,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:n||"Módulo"})]}),pe.jsx("p",{className:"text-sm text-muted-foreground truncate",children:N?.complementaryText||"Detalhes do item"})]}),c&&pe.jsxs("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[pe.jsxs("div",{className:"relative flex-1",children:[pe.jsx(l.Search,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),pe.jsx(be,{placeholder:"/wiki"===a.pathname?"Buscar artigos...":"Buscar...",value:g,onChange:e=>(e=>{b(e)})(e.target.value),className:"w-full pl-10 pr-8"}),g&&pe.jsx(ge,{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:()=>{y(),b("");const e=new URLSearchParams(f);e.delete("search"),e.delete("page"),x(e)},title:"Limpar busca",children:pe.jsx(l.X,{size:14})})]}),pe.jsx(ge,{variant:"outline",size:"sm",onClick:u,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:pe.jsx(l.RefreshCw,{size:14})})]}),pe.jsxs("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[t&&pe.jsx("div",{className:"flex items-center gap-2",children:t}),pe.jsx("div",{className:"text-sm",children:pe.jsx(eo,{variant:"dropdown",selectedUnit:p,onUnitChange:m})})]})]})})}),io=(e={})=>{const{enabled:t=!0}=e,{alias:a}=pa();return f.useQuery({queryKey:["active-modules",a],queryFn:async()=>{if(!a)return[];const e=$t(),{data:t,error:s}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",a).eq("status","active").order("name");if(s){if(!ua.handleError(s))throw s;return[]}return t||[]},enabled:t&&!!a})},lo=({key:e,enabled:t,checkFn:a,staleTime:s=3e5,gcTime:r=6e5})=>f.useQuery({queryKey:["permission",e],queryFn:a,enabled:t,staleTime:s,gcTime:r,retry:0,refetchOnWindowFocus:!1}),co=(void 0).VITE_SUPABASE_PROJECT_ID,uo={logo:`https://${co}.supabase.co/storage/v1/object/public/library-assets/logo.svg`,smallLogo:`https://${co}.supabase.co/storage/v1/object/public/library-assets/small.svg`},mo=uo.logo,po=uo.smallLogo,fo="forlogic-sidebar-pinned",ho=()=>{try{const e=localStorage.getItem(fo);return!!e&&JSON.parse(e)}catch{return!1}};function xo({config:t}={}){const{state:a,open:s,setOpen:r}=Kr(),n=h.useLocation(),{alias:o,user:i}=pa(),[c,d]=e.useState(!1),[u,m]=e.useState(ho),[p,f]=e.useState(!1);e.useEffect(()=>{r(!!u||!(!p&&!c))},[u,p,c,r]);const{data:x,isLoading:g,error:b}=io({enabled:c}),v=e=>{const t=["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 t[e%t.length]};return pe.jsxs(Yr,{collapsible:"icon",onMouseEnter:()=>{u||f(!0)},onMouseLeave:()=>{u||f(!1)},className:"app-sidebar transition-all duration-300 ease-in-out bg-white border-r border-gray-200 py-6 px-3",children:[pe.jsxs(sn,{className:"p-0 gap-0",children:[pe.jsx("div",{className:"flex items-center justify-between h-[34px]",children:s?pe.jsxs(pe.Fragment,{children:[pe.jsx("div",{className:"flex items-center pl-[12px]",children:pe.jsx("img",{src:uo.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),pe.jsx("button",{onClick:()=>{const e=!u;m(e),(e=>{try{localStorage.setItem(fo,JSON.stringify(e))}catch{}})(e)},className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(u?"bg-primary text-primary-foreground":"hover:bg-muted text-muted-foreground"),children:pe.jsx(l.PanelLeft,{className:"h-4 w-4"})})]}):pe.jsx("div",{className:"flex items-center justify-center w-full h-[34px]",children:pe.jsx("img",{src:uo.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),pe.jsx("div",{className:"mt-2 pt-0",children:pe.jsxs($a,{onOpenChange:d,children:[pe.jsx(Ua,{asChild:!0,children:s?pe.jsxs("div",{className:"bg-muted hover:bg-muted/80 text-foreground font-medium text-sm flex items-center justify-between cursor-pointer transition-all duration-200 h-8 px-3 gap-3 rounded-md w-full",children:[pe.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[pe.jsx("img",{src:"https://ccjfvpnndclajkleyqkc.supabase.co/storage/v1/object/public/library-assets/composit.svg",alt:"Menu",className:"h-6 w-6 text-muted-foreground flex-shrink-0"}),pe.jsx("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:t?.appName||"Título do módulo"})]}),pe.jsx(l.ChevronDown,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):pe.jsx("div",{className:"flex items-center justify-center w-full h-8 bg-muted hover:bg-muted/80 rounded-md cursor-pointer transition-all duration-200 p-[5px]",children:pe.jsx(l.ChevronDown,{className:"h-6 w-6 text-muted-foreground"})})}),pe.jsx(Ga,{className:s?"w-80 bg-white rounded-lg shadow-lg border border-gray-200 p-4 z-50":"w-[58px] bg-white rounded-lg shadow-lg border border-gray-200 p-2 z-50",align:s?"start":"center",children:g?pe.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[pe.jsx(l.Loader2,{className:"h-4 w-4 animate-spin"}),pe.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):b?pe.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[pe.jsx(l.AlertCircle,{className:"h-4 w-4"}),pe.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):x&&0!==x.length?pe.jsx("div",{className:"space-y-2",children:x.map((e,t)=>pe.jsx("div",{onClick:()=>(e=>{const t=x?.find(t=>t.url===e);t?.url&&window.open(t.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${v(t)} transition-colors duration-200\n `,children:pe.jsxs("div",{className:"flex items-center justify-between",children:[pe.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&pe.jsx(l.ExternalLink,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):pe.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]})})]}),pe.jsx(on,{children:pe.jsx(ln,{className:"p-0 mt-6",children:pe.jsx(un,{children:pe.jsx(mn,{className:"space-y-2",children:pe.jsx(qr,{children:t?.navigation?.map((e,t)=>{const a=({item:e,index:t})=>{const a=`${e.path}-${t}-${o??"noalias"}-${i?.id??"nouser"}`,{data:s=!0,isLoading:r}=lo({key:a,enabled:Boolean(e.permissionCheck&&o&&i?.id),checkFn:e.permissionCheck||(()=>Promise.resolve(!0))}),c=e.permissionCheck&&!s,d=r?l.Loader2:c?l.Lock:e.icon;return c||e.complementaryText,pe.jsx(pn,{children:c||r?pe.jsxs(Wr,{children:[pe.jsx(Hr,{asChild:!0,children:pe.jsx(hn,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:pe.jsxs("div",{className:"flex w-full items-center gap-3",children:[pe.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:pe.jsx(d,{className:"h-4 w-4 "+(r?"animate-spin":"")})}),pe.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})}),pe.jsx(Qr,{children:pe.jsx("p",{children:r?"Verificando acesso...":"Acesso restrito"})})]}):pe.jsx(hn,{asChild:!0,isActive:(u=e.path,n.pathname===u),size:"lg",className:"h-10",children:pe.jsxs(h.Link,{to:e.path,className:"flex w-full items-center gap-3",children:[pe.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:pe.jsx(d,{className:"h-5 w-4"})}),pe.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})},e.path);var u};return pe.jsx(a,{item:e,index:t},e.path)})})})})})})]})}const go=e.memo(function({children:t,sidebar:a,sidebarConfig:s,showHeader:r=!0}){const n=e.useMemo(()=>a||pe.jsx(xo,{config:s}),[a,s]),o=e.useMemo(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return pe.jsx(ao,{config:s,children:pe.jsx(Jr,{defaultOpen:!1,style:o,children:pe.jsxs("div",{className:"min-h-screen flex w-full",children:[n,pe.jsxs("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[r&&pe.jsx("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:pe.jsx(oo,{})}),pe.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50",children:t})]})]})})})});class bo extends e.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){_t.handleError(e,!1)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:pe.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsxs(je,{className:"text-center",children:[pe.jsx("div",{className:"flex justify-center mb-4",children:pe.jsx(l.AlertTriangle,{className:"h-12 w-12 text-destructive"})}),pe.jsx(we,{children:"Algo deu errado"})]}),pe.jsxs(Se,{className:"text-center space-y-4",children:[pe.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),pe.jsx(ge,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function vo(){const[t,a]=e.useState([]),[s,r]=e.useState(!1),[n,o]=e.useState(null),[i,l]=e.useState(null);e.useEffect(()=>{c()},[]);const c=async()=>{try{const e=$t(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"createThread"}});if(s)throw s;o(t.threadId),a([{id:"initial",role:"assistant",content:"Olá! Como posso ajudá-lo hoje?",timestamp:new Date}])}catch(e){l("Erro ao inicializar conversa"),x.toast.error("Erro ao inicializar conversa")}};return{messages:t,isLoading:s,error:i,sendMessage:e.useCallback(async e=>{if(!n||!e.trim())return;const t={id:`user-${Date.now()}`,role:"user",content:e,timestamp:new Date};a(e=>[...e,t]),r(!0),l(null);try{const t=$t(),{data:s,error:r}=await t.functions.invoke("openai-chat",{body:{action:"sendMessage",threadId:n,message:e}});if(r)throw r;const{runId:o}=s,i=await(async e=>{if(!n)return!1;for(let a=0;a<60;a++)try{const t=$t(),{data:a,error:s}=await t.functions.invoke("openai-chat",{body:{action:"checkRunStatus",threadId:n,runId:e}});if(s)throw s;const{status:r}=a;if("completed"===r)return!0;if("failed"===r||"cancelled"===r)throw new Error("O assistente encontrou um erro");await new Promise(e=>setTimeout(e,1e3))}catch(t){throw t}throw new Error("Tempo limite excedido")})(o);i&&await(async()=>{if(n)try{const e=$t(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"getMessages",threadId:n}});if(s)throw s;const r=t.messages.map(e=>({id:e.id,role:e.role,content:e.content,timestamp:new Date(1e3*e.created_at)}));a(r)}catch(e){throw e}})()}catch(s){const e=s instanceof Error?s.message:"Erro ao enviar mensagem";l(e),x.toast.error(e),a(e=>e.filter(e=>e.id!==t.id))}finally{r(!1)}},[n]),threadId:n}}function yo({content:e,className:t}){return pe.jsx("div",{className:fe("prose prose-sm max-w-none",t),children:pe.jsx(O,{remarkPlugins:[z],components:{h1:({children:e})=>pe.jsx("h1",{className:"text-lg font-bold mt-4 mb-2 text-foreground",children:e}),h2:({children:e})=>pe.jsx("h2",{className:"text-base font-bold mt-3 mb-2 text-foreground",children:e}),h3:({children:e})=>pe.jsx("h3",{className:"text-sm font-semibold mt-2 mb-1 text-foreground",children:e}),p:({children:e})=>pe.jsx("p",{className:"text-sm mb-2 last:mb-0 text-foreground",children:e}),ul:({children:e})=>pe.jsx("ul",{className:"list-disc list-inside mb-2 space-y-1",children:e}),ol:({children:e})=>pe.jsx("ol",{className:"list-decimal list-inside mb-2 space-y-1",children:e}),li:({children:e})=>pe.jsx("li",{className:"text-sm text-foreground",children:e}),code:({inline:e,children:t,...a})=>e?pe.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono text-foreground",...a,children:t}):pe.jsx("code",{className:"block bg-muted p-2 rounded text-xs font-mono overflow-x-auto mb-2 text-foreground",...a,children:t}),pre:({children:e})=>pe.jsx("pre",{className:"bg-muted p-2 rounded overflow-x-auto mb-2",children:e}),a:({children:e,href:t})=>pe.jsx("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline hover:text-primary/80",children:e}),blockquote:({children:e})=>pe.jsx("blockquote",{className:"border-l-4 border-primary pl-3 italic my-2 text-muted-foreground",children:e}),strong:({children:e})=>pe.jsx("strong",{className:"font-bold text-foreground",children:e}),em:({children:e})=>pe.jsx("em",{className:"italic text-foreground",children:e})},children:e})})}Object.defineProperty(exports,"sonnerToast",{enumerable:!0,get:function(){return x.toast}}),exports.AUTH_CONFIG=Ht,exports.Accordion=Os,exports.AccordionContent=Ls,exports.AccordionItem=zs,exports.AccordionTrigger=Fs,exports.ActionButton=Yn,exports.ActionMenuItems=ts,exports.Alert=Is,exports.AlertDescription=Ds,exports.AlertDialog=ha,exports.AlertDialogAction=ka,exports.AlertDialogCancel=Sa,exports.AlertDialogContent=va,exports.AlertDialogDescription=wa,exports.AlertDialogFooter=Na,exports.AlertDialogHeader=ya,exports.AlertDialogOverlay=ba,exports.AlertDialogPortal=ga,exports.AlertDialogTitle=ja,exports.AlertDialogTrigger=xa,exports.AlertTitle=_s,exports.AppHeader=oo,exports.AppLayout=go,exports.AppSidebar=xo,exports.AspectRatio=Ms,exports.AuthErrorInterceptor=ua,exports.AuthProvider=({children:t})=>{const[a,s]=e.useState({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null});let r=null;try{r=f.useQueryClient()}catch{}const[n,o]=e.useState(!1),[i,l]=e.useState(0),c=e.useCallback(e=>{s(t=>({...t,...e}))},[]),d=e.useCallback(e=>{s(t=>({...t,isLoading:e}))},[]),u=e.useCallback(()=>{s({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null})},[]),m=e.useCallback(async e=>{try{d(!0);const t=Rt.getAccessToken();if(!t)return;const a=await na.generateToken(t,e.alias,void 0,!0);if(!a)return;Rt.setSupabaseToken(a),Rt.setSelectedAlias(e.alias);const s=Rt.extractTokenData(),n=s?.alias||e.alias,o={id:s?.companyId||Rt.getCompanyId(e.alias)||e.id,name:e.name,alias:n};c({alias:n,selectedUnit:o}),r&&(await r.clear(),await new Promise(e=>setTimeout(e,100)))}catch(t){}finally{d(!1)}},[c,r,d]),p=e.useCallback(async()=>await da.processCallback(),[]),h=e.useCallback(async()=>{da.logout(),u(),r&&await r.clear()},[u,r]),x=e.useCallback(e=>{o(e)},[]),g=e.useCallback(()=>{l(e=>e+1)},[]),b=e.useCallback(()=>{l(e=>e+1)},[]);e.useEffect(()=>{if(!a.isAuthenticated)return;let e=!0;const t=setInterval(()=>{e&&(Rt.areAllTokensValid()||e&&h())},6e5);return()=>{e=!1,clearInterval(t)}},[a.isAuthenticated,h]),e.useEffect(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const t=await da.initialize();if(!e)return;t&&t.isAuthenticated?c({user:t.user,companies:t.companies,alias:t.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:t.selectedUnit,userId:t.userId,userAlias:t.userAlias}):e&&d(!1)}catch(t){e&&(ua.handleError(t),d(!1))}})(),()=>{e=!1}},[c,d,h]);const v=e.useMemo(()=>({...a,logout:h,processCallback:p,switchUnit:m,availableUnits:a.companies,isSearchVisible:n,setSearchVisible:x,clearSearch:g,refreshData:b}),[a.user,a.companies,a.alias,a.isAuthenticated,a.isLoading,a.selectedUnit,a.userId,a.userAlias,h,p,m,n,x,g,b]);return pe.jsx(ma.Provider,{value:v,children:t})},exports.AuthService=da,exports.Avatar=$s,exports.AvatarFallback=Bs,exports.AvatarImage=Us,exports.Badge=tt,exports.BaseForm=gs,exports.Breadcrumb=Vs,exports.BreadcrumbEllipsis=Xs,exports.BreadcrumbItem=Ws,exports.BreadcrumbLink=Hs,exports.BreadcrumbList=qs,exports.BreadcrumbPage=Qs,exports.BreadcrumbSeparator=Gs,exports.BulkActionBar=ys,exports.Button=ge,exports.CRUD_CONFIG=Qt,exports.Calendar=or,exports.CallbackPage=()=>{const{processCallback:t}=pa(),[a,s]=e.useState(null),[r,n]=e.useState(!1);e.useEffect(()=>{(async()=>{try{if(await t()){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){s(e?.message||"Erro durante a autenticação. Tente novamente.")}})()},[t]);const o=async()=>{n(!0),s(null);try{await t()||s("Falha na autenticação. Tente novamente.")}catch(e){s(e?.message||"Erro ao tentar novamente.")}finally{n(!1)}},i=()=>{window.location.href="/"};return a?pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsxs(we,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[pe.jsx(l.AlertCircle,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),pe.jsxs(Se,{className:"space-y-4",children:[pe.jsx(Is,{variant:"destructive",children:pe.jsx(Ds,{children:a})}),pe.jsx("div",{className:"text-sm text-muted-foreground",children:pe.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),pe.jsxs("div",{className:"flex gap-2",children:[pe.jsx(ge,{onClick:o,disabled:r,className:"flex-1",children:r?pe.jsxs(pe.Fragment,{children:[pe.jsx(st,{size:"sm",className:"mr-2"}),"Tentando..."]}):pe.jsxs(pe.Fragment,{children:[pe.jsx(l.RefreshCw,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),pe.jsx(ge,{onClick:i,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"flex justify-center mb-4",children:pe.jsx(st,{size:"lg"})}),pe.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},exports.Card=Ne,exports.CardContent=Se,exports.CardDescription=ke,exports.CardFooter=Ce,exports.CardHeader=je,exports.CardSkeleton=Fa,exports.CardTitle=we,exports.ChatbotPage=function(){const[t,a]=e.useState(!1),[s,r]=e.useState(""),{messages:n,isLoading:o,error:i,sendMessage:c}=vo(),d=e.useRef(null),u=e.useRef(null);e.useEffect(()=>{if(d.current){const e=d.current.querySelector("[data-radix-scroll-area-viewport]");e&&(e.scrollTop=e.scrollHeight)}},[n]),e.useEffect(()=>{t&&u.current&&u.current.focus()},[t]),e.useEffect(()=>{const e=e=>{"Escape"===e.key&&t&&a(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t]);const m=()=>{s.trim()&&!o&&(c(s),r(""))};return pe.jsxs(pe.Fragment,{children:[pe.jsx(ge,{onClick:()=>a(!t),className:"fixed bottom-6 right-6 h-14 w-14 rounded-full shadow-lg z-50",size:"icon",children:t?pe.jsx(l.X,{className:"h-6 w-6"}):pe.jsx(l.MessageCircle,{className:"h-6 w-6"})}),t&&pe.jsxs(Ne,{className:"fixed bottom-24 right-6 w-96 h-[600px] shadow-xl z-50 flex flex-col",children:[pe.jsxs(je,{className:"flex flex-row items-center justify-between space-y-0 pb-4",children:[pe.jsx(we,{className:"text-lg font-semibold",children:"Chat Assistant"}),pe.jsx(ge,{variant:"ghost",size:"icon",onClick:()=>a(!1),className:"h-8 w-8",children:pe.jsx(l.X,{className:"h-4 w-4"})})]}),pe.jsxs(Se,{className:"flex-1 flex flex-col p-0 overflow-hidden",children:[pe.jsx(ds,{ref:d,className:"flex-1 px-4",children:pe.jsxs("div",{className:"space-y-4 py-4",children:[n.map(e=>pe.jsx("div",{className:"flex "+("user"===e.role?"justify-end":"justify-start"),children:pe.jsx("div",{className:"max-w-[80%] rounded-lg px-4 py-2 "+("user"===e.role?"bg-primary text-primary-foreground":"bg-muted"),children:"assistant"===e.role?pe.jsx(yo,{content:e.content}):pe.jsx("p",{className:"text-sm whitespace-pre-wrap",children:e.content})})},e.id)),o&&pe.jsx("div",{className:"flex justify-start",children:pe.jsx("div",{className:"bg-muted rounded-lg px-4 py-2",children:pe.jsxs("div",{className:"flex space-x-2",children:[pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce"}),pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.2s]"}),pe.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.4s]"})]})})}),i&&pe.jsx("div",{className:"text-center text-sm text-destructive py-2",children:i})]})}),pe.jsx("div",{className:"border-t p-4",children:pe.jsxs("div",{className:"flex space-x-2",children:[pe.jsx(be,{ref:u,value:s,onChange:e=>r(e.target.value),onKeyPress:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m())},placeholder:"Digite sua mensagem...",disabled:o,className:"flex-1"}),pe.jsx(ge,{onClick:m,disabled:o||!s.trim(),size:"icon",children:pe.jsx(l.Send,{className:"h-4 w-4"})})]})})]})]})]})},exports.Checkbox=Ye,exports.Collapsible=ir,exports.CollapsibleContent=cr,exports.CollapsibleTrigger=lr,exports.ColorPicker=cs,exports.Command=dr,exports.CommandDialog=({children:e,...t})=>pe.jsx("div",{...t,children:pe.jsx(dr,{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=pr,exports.CommandGroup=fr,exports.CommandInput=ur,exports.CommandItem=xr,exports.CommandList=mr,exports.CommandSeparator=hr,exports.CommandShortcut=gr,exports.CrudCards=function({manager:e,config:t,onEdit:a,onDelete:s}){return e.isLoading?pe.jsx(Nr,{children:Array.from({length:3}).map((e,t)=>pe.jsxs(Ne,{children:[pe.jsxs(je,{children:[pe.jsx(Oa,{className:"h-4 w-3/4"}),pe.jsx(Oa,{className:"h-3 w-1/2"})]}),pe.jsx(Se,{children:pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Oa,{className:"h-3 w-full"}),pe.jsx(Oa,{className:"h-3 w-2/3"})]})})]},t))}):pe.jsx(br.Root,{children:e.entities.map(e=>pe.jsxs(br.Item,{onClick:()=>a(e),children:[pe.jsx(je,{className:"pb-3",children:pe.jsxs("div",{className:"flex items-start justify-between",children:[pe.jsxs("div",{className:"flex-1 min-w-0",children:[pe.jsx(we,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),pe.jsx(ke,{className:"text-sm",children:n.format(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:nr})})]}),pe.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&pe.jsx(ge,{variant:"external-link",size:"icon-xs",onClick:t=>{t.stopPropagation(),(e=>{try{const t=window.open(e,"_blank");t&&!t.closed&&void 0!==t.closed||(navigator.clipboard.writeText(e),x.toast.info("Link copiado para a área de transferência"))}catch(t){window.location.href=e}})(e.link)},title:"Abrir link externo",children:pe.jsx(l.ExternalLink,{className:"h-4 w-4"})}),pe.jsx("div",{onClick:e=>e.stopPropagation(),children:pe.jsx(as,{onEdit:()=>a(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),pe.jsx(Se,{className:"pt-0",children:pe.jsx("div",{className:"space-y-2",children:t.cardFields?.map(t=>{const a=e[t.key];return a?pe.jsx(br.Field,{label:t.label,value:t.render?t.render(a,e):String(a)},String(t.key)):null})})})]},e.id))})},exports.CrudForm=bs,exports.CrudTable=ss,exports.DataList=br,exports.DeleteConfirmationDialog=Ca,exports.Dialog=Te,exports.DialogClose=Re,exports.DialogContent=Ie,exports.DialogDescription=ze,exports.DialogFooter=De,exports.DialogHeader=_e,exports.DialogOverlay=Ee,exports.DialogPortal=Ae,exports.DialogTitle=Oe,exports.DialogTrigger=Pe,exports.DropdownMenu=$a,exports.DropdownMenuCheckboxItem=Ka,exports.DropdownMenuContent=Ga,exports.DropdownMenuGroup=Ba,exports.DropdownMenuItem=Xa,exports.DropdownMenuLabel=Ya,exports.DropdownMenuPortal=Va,exports.DropdownMenuRadioGroup=Wa,exports.DropdownMenuRadioItem=Ja,exports.DropdownMenuSeparator=Za,exports.DropdownMenuShortcut=es,exports.DropdownMenuSub=qa,exports.DropdownMenuSubContent=Qa,exports.DropdownMenuSubTrigger=Ha,exports.DropdownMenuTrigger=Ua,exports.EmptyState=Ma,exports.EntitySelect=fs,exports.ErrorBoundary=bo,exports.FilterBar=Ss,exports.Form=Fe,exports.FormControl=Ve,exports.FormField=({...e})=>pe.jsx(Le.Provider,{value:{name:e.name},children:pe.jsx(c.Controller,{...e})}),exports.FormItem=Ue,exports.FormLabel=Be,exports.FormMessage=qe,exports.FormSkeleton=function({fields:e=4}){return pe.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,t)=>pe.jsxs("div",{className:"space-y-2",children:[pe.jsx(Oa,{className:"h-4 w-24"}),pe.jsx(Oa,{className:"h-10 w-full"})]},t)),pe.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[pe.jsx(Oa,{className:"h-10 w-20"}),pe.jsx(Oa,{className:"h-10 w-20"})]})]})},exports.Grid=Nr,exports.HeaderSkeleton=function(){return pe.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[pe.jsxs("div",{className:"flex items-center space-x-3",children:[pe.jsx(Oa,{className:"h-8 w-8 rounded-full"}),pe.jsx(Oa,{className:"h-6 w-32"})]}),pe.jsxs("div",{className:"flex items-center space-x-2",children:[pe.jsx(Oa,{className:"h-8 w-8"}),pe.jsx(Oa,{className:"h-8 w-24"})]})]})},exports.IconPicker=ps,exports.Input=be,exports.Label=ye,exports.LoadingState=function({isLoading:e,children:t,className:a,type:s="spinner",size:r="md"}){return e?"overlay"===s?pe.jsxs("div",{className:fe("relative",a),children:[t,pe.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:pe.jsx(st,{size:r})})]}):"skeleton"===s?pe.jsx("div",{className:fe("animate-pulse",a),children:pe.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):pe.jsx("div",{className:fe("flex items-center justify-center py-8",a),children:pe.jsx(st,{size:r})}):pe.jsx(pe.Fragment,{children:t})},exports.LoginPage=()=>pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),pe.jsxs(Se,{className:"text-center space-y-4",children:[pe.jsx("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),pe.jsx(ge,{onClick:async()=>{Xt()?await da.loginDev():da.loginProd()},className:"w-full",size:"lg",children:Xt()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})}),exports.MESSAGES=Yt,exports.MarkdownMessage=yo,exports.NavigationProvider=ao,exports.PageBreadcrumb=function({items:e,maxItems:t=3,className:a}){return e.length>t&&(e[0],e.slice(-(t-1))),e.length,pe.jsx(Vs,{className:a})},exports.Pagination=jr,exports.PaginationContent=wr,exports.PaginationEllipsis=Pr,exports.PaginationItem=kr,exports.PaginationLink=Sr,exports.PaginationNext=Tr,exports.PaginationPrevious=Cr,exports.Popover=ns,exports.PopoverContent=is,exports.PopoverTrigger=os,exports.Progress=Ar,exports.ProtectedRoute=({children:t})=>{const{isAuthenticated:a,isLoading:s}=pa();if(e.useEffect(()=>{if(!a)return;const e=()=>{Rt.areAllTokensValid()||da.logout()};e();const t=setInterval(e,3e5);return()=>clearInterval(t)},[a]),e.useEffect(()=>{if(s)return;if(a)return;if(Rt.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),t=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,r=new URLSearchParams(t);if(e.has("access_token")||r.has("access_token"))return;const n=Xt();(async()=>{n?await da.loginDev():da.loginProd()})()},[a,s]),s)return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Carregando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!a){if(new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token"))return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Processando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})});try{if(Rt.areAllTokensValid())return pe.jsx(pe.Fragment,{children:t})}catch{}return pe.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:pe.jsxs(Ne,{className:"w-full max-w-md",children:[pe.jsx(je,{className:"text-center",children:pe.jsx(we,{className:"text-xl font-semibold",children:"Iniciando..."})}),pe.jsxs(Se,{className:"text-center",children:[pe.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),pe.jsx("p",{className:"text-muted-foreground",children:Xt()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return pe.jsx(pe.Fragment,{children:t})},exports.QUERY_KEYS={crud:e=>[e],list:(e,t)=>[e,"list",t],detail:(e,t)=>[e,"detail",t]},exports.QualiexEnrichmentService=Wt,exports.QualiexUserField=xs,exports.RadioGroup=Rr,exports.RadioGroupItem=Er,exports.SEARCH_CONFIG=Gt,exports.ScrollArea=ds,exports.ScrollBar=us,exports.Select=We,exports.SelectContent=Ke,exports.SelectItem=Je,exports.SelectTrigger=Qe,exports.SelectValue=He,exports.Separator=Ir,exports.Sheet=_r,exports.SheetClose=Or,exports.SheetContent=Mr,exports.SheetDescription=Vr,exports.SheetFooter=Ur,exports.SheetHeader=$r,exports.SheetOverlay=Fr,exports.SheetPortal=zr,exports.SheetTitle=Br,exports.SheetTrigger=Dr,exports.Sidebar=Yr,exports.SidebarContent=on,exports.SidebarFooter=rn,exports.SidebarGroup=ln,exports.SidebarGroupAction=dn,exports.SidebarGroupContent=un,exports.SidebarGroupLabel=cn,exports.SidebarHeader=sn,exports.SidebarInput=an,exports.SidebarInset=tn,exports.SidebarMenu=mn,exports.SidebarMenuAction=xn,exports.SidebarMenuBadge=gn,exports.SidebarMenuButton=hn,exports.SidebarMenuItem=pn,exports.SidebarMenuSkeleton=bn,exports.SidebarMenuSub=vn,exports.SidebarMenuSubButton=Nn,exports.SidebarMenuSubItem=yn,exports.SidebarProvider=Jr,exports.SidebarRail=en,exports.SidebarSeparator=nn,exports.SidebarSkeleton=function(){return pe.jsx("div",{className:"w-64 border-r bg-muted/10",children:pe.jsxs("div",{className:"p-4",children:[pe.jsx(Oa,{className:"h-8 w-32 mb-6"}),pe.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,t)=>pe.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[pe.jsx(Oa,{className:"h-4 w-4"}),pe.jsx(Oa,{className:"h-4 w-20"})]},t))})]})})},exports.SidebarTrigger=Zr,exports.Skeleton=Oa,exports.Slider=jn,exports.SonnerToaster=({...e})=>{const{theme:t="system"}=E.useTheme();return pe.jsx(x.Toaster,{theme:t,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...e})},exports.Spinner=st,exports.Stack=ks,exports.Switch=Bn,exports.TabPageContent=function({children:e,className:t}){return pe.jsx("div",{className:fe("space-y-6",t),children:e})},exports.TabPageHeader=function({title:e,description:t,actions:a,className:s}){return pe.jsxs("div",{className:fe("space-y-4",s),children:[pe.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[pe.jsxs("div",{className:"space-y-1",children:[pe.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:e}),t&&pe.jsx("p",{className:"text-muted-foreground text-sm",children:t})]}),a&&pe.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:a})]}),pe.jsx(Ir,{})]})},exports.TabPageLayout=function({children:e,className:t}){return pe.jsx("div",{className:fe("flex flex-col h-full",t),children:pe.jsx(ds,{className:"flex-1",children:pe.jsx("div",{className:"space-y-6 p-6",children:e})})})},exports.Table=Ta,exports.TableBody=Aa,exports.TableCaption=Da,exports.TableCell=_a,exports.TableFooter=Ra,exports.TableHead=Ia,exports.TableHeader=Pa,exports.TableRow=Ea,exports.TableRowActions=as,exports.TableSkeleton=za,exports.Tabs=Vn,exports.TabsContent=Hn,exports.TabsList=qn,exports.TabsTrigger=Wn,exports.Textarea=Ze,exports.Toast=xt,exports.ToastAction=gt,exports.ToastClose=bt,exports.ToastDescription=yt,exports.ToastProvider=pt,exports.ToastTitle=vt,exports.ToastViewport=ft,exports.Toaster=function(){const{toasts:e}=mt();return pe.jsxs(pt,{children:[e.map(function({id:e,title:t,description:a,action:s,...r}){return pe.jsxs(xt,{...r,children:[pe.jsxs("div",{className:"grid gap-1",children:[t&&pe.jsx(vt,{children:t}),a&&pe.jsx(yt,{children:a})]}),s,pe.jsx(bt,{})]},e)}),pe.jsx(ft,{})]})},exports.Toggle=Gn,exports.ToggleGroup=Kn,exports.ToggleGroupItem=Jn,exports.TokenManager=Rt,exports.TokenService=jt,exports.Tooltip=Wr,exports.TooltipContent=Qr,exports.TooltipProvider=qr,exports.TooltipTrigger=Hr,exports.assets=uo,exports.badgeVariants=et,exports.buttonVariants=xe,exports.cn=fe,exports.createCrudPage=function(e){return()=>{const{manager:t,config:a,onSave:s,onToggleStatus:r}=e,n={entityName:a.entityName,entityNamePlural:a.entityNamePlural,filters:a.filters||[],columns:a.columns,cardFields:a.cardFields||[]};return pe.jsx(Cs,{manager:t,config:n,formSections:a.formSections,onSave:s,onToggleStatus:r})}},exports.createRoutingHandlers=Zn,exports.createService=ta,exports.createSimpleSaveHandler=function(e,t,a){return s=>{if(s.id){const t=a(s);e.updateEntity(s.id,t)}else{const a=t(s);e.createEntity(a)}}},exports.createSimpleService=function(e){const t=ta({tableName:e.tableName,searchFields:e.searchFields||["title"],selectFields:e.selectFields,schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0});return{service:t,useCrudHook:a=>fa({queryKey:e.tableName,service:{...t,getAll:async(e={})=>await t.getAll({...e})},entityName:e.entityName,onSuccess:a})}},exports.crudPresets=Rs,exports.debounce=(e,t)=>{let a;return(...s)=>{clearTimeout(a),a=setTimeout(()=>e(...s),t)}},exports.errorService=_t,exports.formatCurrency=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),exports.formatDatetime=e=>{if(!e)return"";const t=n.parseISO(e);if(!n.isValid(t))return"Data inválida";return`${t.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${t.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},exports.generateCrudConfig=Ts,exports.getQualiexConfig=Jt,exports.getSupabaseClient=$t,exports.isDevEnvironment=Xt,exports.logoSrc=mo,exports.qualiexApi=qt,exports.setQualiexConfig=e=>{Kt={...Kt,...e}},exports.setupQualiexCore=function(e){return{queryClient:e.queryClient||new f.QueryClient({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}},exports.smallLogoSrc=po,exports.toast=ut,exports.toggleVariants=Qn,exports.trimTextFields=he,exports.useActiveModules=io,exports.useAuth=pa,exports.useBaseForm=rs,exports.useCrud=fa,exports.useCrudRouting=function(e){return Zn({basePath:e})},exports.useDebounce=no,exports.useNavigation=so,exports.useOpenAIChat=vo,exports.usePageTitle=ro,exports.usePermissionQuery=lo,exports.useQualiexUsers=hs,exports.useRouteBreadcrumbs=function(){const e=h.useLocation();return(()=>{const t=e.pathname.split("/").filter(Boolean),a=[{label:"Exemplos",href:"/"}];let s="";return t.forEach((e,r)=>{s+=`/${e}`;const n=r===t.length-1,o=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");a.push({label:o,href:n?void 0:s,isCurrentPage:n})}),a})()},exports.useSidebar=Kr,exports.useToast=mt,exports.withPreset=function(e,t,a={}){const s=Rs[e];return Ts(s.title,t,{...s,...a})};