forlogic-core 1.5.5 → 1.6.1
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/README.md +404 -2
- package/dist/README.md +404 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as e from"react";import a,{createContext as t,useContext as s,useState as r,useCallback as n,useEffect as i,useMemo as o,useRef as l,memo as c,Component as d}from"react";import{Slot as m,createSlot as u}from"@radix-ui/react-slot";import{cva as f}from"class-variance-authority";import{clsx as p}from"clsx";import{twMerge as h}from"tailwind-merge";import{parseISO as x,isValid as g,format as b}from"date-fns";import*as y from"@radix-ui/react-label";import*as v from"@radix-ui/react-dialog";import{X as N,ChevronDown as j,ChevronUp as w,Check as k,Loader2 as S,AlertCircle as C,Search as T,FileX as R,ChevronRight as _,Circle as P,Edit as E,PowerOff as I,Power as A,Trash2 as D,EllipsisVertical as z,ArrowUpDown as O,ArrowUp as $,ArrowDown as F,Target as L,Trophy as M,Award as U,Sparkles as V,Flame as B,Zap as W,Key as q,Shield as H,EyeOff as Q,Eye as K,Unlock as J,Lock as X,Archive as Y,FolderOpen as G,Folder as Z,FileText as ee,Save as ae,Copy as te,Share as se,Upload as re,Download as ne,HelpCircle as ie,Info as oe,Bell as le,Clock as ce,ArrowRight as de,ArrowLeft as me,ChevronLeft as ue,Minus as fe,Plus as pe,Filter as he,Bookmark as xe,Book as ge,Video as be,Music as ye,Image as ve,Camera as Ne,MapPin as je,Calendar as we,Phone as ke,Mail as Se,Settings as Ce,User as Te,Home as Re,Heart as _e,Star as Pe,ChevronsLeft as Ee,ChevronsRight as Ie,RefreshCw as Ae,MoreHorizontal as De,PanelLeft as ze,ExternalLink as Oe,Building2 as $e,LogOut as Fe,AlertTriangle as Le,MessageCircle as Me,Send as Ue}from"lucide-react";import{useFormContext as Ve,FormProvider as Be,Controller as We}from"react-hook-form";import*as qe from"@radix-ui/react-select";import*as He from"@radix-ui/react-checkbox";import*as Qe from"@radix-ui/react-toast";import{createClient as Ke}from"@supabase/supabase-js";import{useQueryClient as Je,useQuery as Xe,useMutation as Ye,QueryClient as Ge}from"@tanstack/react-query";import{useSearchParams as Ze,useLocation as ea,useNavigate as aa,Link as ta}from"react-router-dom";import{toast as sa,Toaster as ra}from"sonner";export{toast as sonnerToast}from"sonner";import*as na from"@radix-ui/react-alert-dialog";import*as ia from"@radix-ui/react-dropdown-menu";import*as oa from"@radix-ui/react-popover";import*as la from"@radix-ui/react-scroll-area";import*as ca from"@radix-ui/react-accordion";import*as da from"@radix-ui/react-aspect-ratio";import*as ma from"@radix-ui/react-avatar";import{DayPicker as ua}from"react-day-picker";import*as fa from"@radix-ui/react-collapsible";import*as pa from"@radix-ui/react-progress";import*as ha from"@radix-ui/react-radio-group";import*as xa from"@radix-ui/react-separator";import*as ga from"@radix-ui/react-tooltip";import*as ba from"@radix-ui/react-slider";import{useTheme as ya}from"next-themes";import"react-dom";import*as va from"@radix-ui/react-tabs";import*as Na from"@radix-ui/react-toggle";import*as ja from"@radix-ui/react-toggle-group";
|
|
1
|
+
import*as e from"react";import a,{createContext as t,useContext as s,useState as r,useCallback as n,useEffect as i,useMemo as o,useRef as l,memo as c,Component as d}from"react";import{Slot as m,createSlot as u}from"@radix-ui/react-slot";import{cva as f}from"class-variance-authority";import{clsx as p}from"clsx";import{twMerge as h}from"tailwind-merge";import{parseISO as x,isValid as g,format as b}from"date-fns";import*as y from"@radix-ui/react-label";import*as v from"@radix-ui/react-dialog";import{X as N,ChevronDown as j,ChevronUp as w,Check as k,Loader2 as S,AlertCircle as C,Search as T,FileX as R,ChevronRight as _,Circle as P,Edit as E,PowerOff as I,Power as A,Trash2 as D,EllipsisVertical as z,ArrowUpDown as O,ArrowUp as $,ArrowDown as F,Target as L,Trophy as M,Award as U,Sparkles as V,Flame as B,Zap as W,Key as q,Shield as H,EyeOff as Q,Eye as K,Unlock as J,Lock as X,Archive as Y,FolderOpen as G,Folder as Z,FileText as ee,Save as ae,Copy as te,Share as se,Upload as re,Download as ne,HelpCircle as ie,Info as oe,Bell as le,Clock as ce,ArrowRight as de,ArrowLeft as me,ChevronLeft as ue,Minus as fe,Plus as pe,Filter as he,Bookmark as xe,Book as ge,Video as be,Music as ye,Image as ve,Camera as Ne,MapPin as je,Calendar as we,Phone as ke,Mail as Se,Settings as Ce,User as Te,Home as Re,Heart as _e,Star as Pe,ChevronsLeft as Ee,ChevronsRight as Ie,RefreshCw as Ae,MoreHorizontal as De,PanelLeft as ze,ExternalLink as Oe,Building2 as $e,LogOut as Fe,AlertTriangle as Le,MessageCircle as Me,Send as Ue}from"lucide-react";import{useFormContext as Ve,FormProvider as Be,Controller as We}from"react-hook-form";import*as qe from"@radix-ui/react-select";import*as He from"@radix-ui/react-checkbox";import*as Qe from"@radix-ui/react-toast";import{createClient as Ke}from"@supabase/supabase-js";import{useQueryClient as Je,useQuery as Xe,useMutation as Ye,QueryClient as Ge}from"@tanstack/react-query";import{useSearchParams as Ze,useLocation as ea,useNavigate as aa,Link as ta}from"react-router-dom";import{toast as sa,Toaster as ra}from"sonner";export{toast as sonnerToast}from"sonner";import*as na from"@radix-ui/react-alert-dialog";import*as ia from"@radix-ui/react-dropdown-menu";import*as oa from"@radix-ui/react-popover";import*as la from"@radix-ui/react-scroll-area";import*as ca from"@radix-ui/react-accordion";import*as da from"@radix-ui/react-aspect-ratio";import*as ma from"@radix-ui/react-avatar";import{DayPicker as ua}from"react-day-picker";import*as fa from"@radix-ui/react-collapsible";import*as pa from"@radix-ui/react-progress";import*as ha from"@radix-ui/react-radio-group";import*as xa from"@radix-ui/react-separator";import*as ga from"@radix-ui/react-tooltip";import*as ba from"@radix-ui/react-slider";import{useTheme as ya}from"next-themes";import"react-dom";import*as va from"@radix-ui/react-tabs";import*as Na from"@radix-ui/react-toggle";import*as ja from"@radix-ui/react-toggle-group";import wa from"react-markdown";import ka from"remark-gfm";var Sa,Ca={exports:{}},Ta={};var Ra,_a,Pa={};
|
|
2
2
|
/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.development.js
|
|
@@ -7,4 +7,4 @@ import*as e from"react";import a,{createContext as t,useContext as s,useState as
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/function Ea(){return Ra||(Ra=1,"production"!==process.env.NODE_ENV&&function(){var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var a=arguments.length,t=new Array(a>1?a-1:0),s=1;s<a;s++)t[s-1]=arguments[s];!function(e,a,t){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(a+="%s",t=t.concat([r]));var n=t.map(function(e){return String(e)});n.unshift("Warning: "+a),Function.prototype.apply.call(console[e],console,n)}("error",e,t)}var b;function y(e){return e.displayName||"Context"}function v(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 i:return"Profiler";case n:return"StrictMode";case d:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return y(e)+".Consumer";case o:return y(e._context)+".Provider";case c:return function(e,a,t){var s=e.displayName;if(s)return s;var r=a.displayName||a.name||"";return""!==r?t+"("+r+")":t}(e,e.render,"ForwardRef");case u:var a=e.displayName||null;return null!==a?a:v(e.type)||"Memo";case f:var t=e,p=t._payload,h=t._init;try{return v(h(p))}catch(x){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,R=Object.assign,_=0;function P(){}P.__reactDisabledLog=!0;var E,I=x.ReactCurrentDispatcher;function A(e,a,t){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,z=!1,O="function"==typeof WeakMap?WeakMap:Map;function $(e,a){if(!e||z)return"";var t,s=D.get(e);if(void 0!==s)return s;z=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=I.current,I.current=null,function(){if(0===_){N=console.log,j=console.info,w=console.warn,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}_++}();try{if(a){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(i,[])}catch(p){t=p}Reflect.construct(e,[],i)}else{try{i.call()}catch(p){t=p}e.call(i.prototype)}}else{try{throw Error()}catch(p){t=p}e()}}catch(h){if(h&&t&&"string"==typeof h.stack){for(var o=h.stack.split("\n"),l=t.stack.split("\n"),c=o.length-1,d=l.length-1;c>=1&&d>=0&&o[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(o[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||o[c]!==l[d]){var m="\n"+o[c].replace(" at new "," at ");return e.displayName&&m.includes("<anonymous>")&&(m=m.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,m),m}}while(c>=1&&d>=0);break}}}finally{z=!1,I.current=r,function(){if(0===--_){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:R({},e,{value:N}),info:R({},e,{value:j}),warn:R({},e,{value:w}),error:R({},e,{value:k}),group:R({},e,{value:S}),groupCollapsed:R({},e,{value:C}),groupEnd:R({},e,{value:T})})}_<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=n}var u=e?e.displayName||e.name:"",f=u?A(u):"";return"function"==typeof e&&D.set(e,f),f}function F(e,a,t){if(null==e)return"";if("function"==typeof e)return $(e,function(e){var a=e.prototype;return!(!a||!a.isReactComponent)}(e));if("string"==typeof e)return A(e);switch(e){case d:return A("Suspense");case m:return A("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return $(e.render,!1);case u:return F(e.type,a,t);case f:var s=e,r=s._payload,n=s._init;try{return F(n(r),a,t)}catch(i){}}return""}D=new O;var L=Object.prototype.hasOwnProperty,M={},U=x.ReactDebugCurrentFrame;function V(e){if(e){var a=e._owner,t=F(e.type,e._source,a?a.type:null);U.setExtraStackFrame(t)}else U.setExtraStackFrame(null)}var B=Array.isArray;function W(e){return B(e)}function q(e){return""+e}function H(e){if(function(e){try{return q(e),!1}catch(a){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),q(e)}var Q,K,J=x.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,a,s,r,n){var i,o={},l=null,c=null;for(i in void 0!==s&&(H(s),l=""+s),function(e){if(L.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(H(a.key),l=""+a.key),function(e){if(L.call(e,"ref")){var a=Object.getOwnPropertyDescriptor(e,"ref").get;if(a&&a.isReactWarning)return!1}return void 0!==e.ref}(a)&&(c=a.ref,function(e){"string"==typeof e.ref&&J.current}(a)),a)L.call(a,i)&&!X.hasOwnProperty(i)&&(o[i]=a[i]);if(e&&e.defaultProps){var d=e.defaultProps;for(i in d)void 0===o[i]&&(o[i]=d[i])}if(l||c){var m="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,a){var t=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,m),c&&function(e,a){var t=function(){K||(K=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}(o,m)}return function(e,a,s,r,n,i,o){var l={$$typeof:t,type:e,key:a,ref:s,props:o,_owner:i,_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,J.current,o)}var G,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function ae(e){if(e){var a=e._owner,t=F(e.type,e._source,a?a.type:null);ee.setExtraStackFrame(t)}else ee.setExtraStackFrame(null)}function te(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function se(){if(Z.current){var e=v(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}G=!1;var re={};function ne(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=se();if(!a){var t="string"==typeof e?e:e.displayName||e.name;t&&(a="\n\nCheck the top-level render call using <"+t+">.")}return a}(a);if(!re[t]){re[t]=!0;var s="";e&&e._owner&&e._owner!==Z.current&&(s=" It was passed a child from "+v(e._owner.type)+"."),ae(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,s),ae(null)}}}function ie(e,a){if("object"==typeof e)if(W(e))for(var t=0;t<e.length;t++){var s=e[t];te(s)&&ne(s,a)}else if(te(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=h&&e[h]||e["@@iterator"];return"function"==typeof a?a:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,i=r.call(e);!(n=i.next()).done;)te(n.value)&&ne(n.value,a)}}function oe(e){var a,t=e.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)a=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==c&&t.$$typeof!==u)return;a=t.propTypes}if(a){var s=v(t);!function(e,a,t,s,r){var n=Function.call.bind(L);for(var i in e)if(n(e,i)){var o=void 0;try{if("function"!=typeof e[i]){var l=Error((s||"React class")+": "+t+" type `"+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[i]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}o=e[i](a,i,s,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(c){o=c}!o||o instanceof Error||(V(r),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",t,i,typeof o),V(null)),o instanceof Error&&!(o.message in M)&&(M[o.message]=!0,V(r),g("Failed %s type: %s",t,o.message),V(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!G){G=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",v(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function ce(e,a,s,h,x,y){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===i||e===n||e===d||e===m||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===u||e.$$typeof===o||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":W(e)?w="array":void 0!==e&&e.$$typeof===t?(w="<"+(v(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=Y(e,a,s,x,y);if(null==k)return k;if(N){var S=a.children;if(void 0!==S)if(h)if(W(S)){for(var C=0;C<S.length;C++)ie(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 ie(S,e)}if(L.call(a,"key")){var T=v(e),R=Object.keys(a).filter(function(e){return"key"!==e}),_=R.length>0?"{key: someKey, "+R.join(": ..., ")+": ...}":"{key: someKey}";if(!le[T+_])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} />',_,T,R.length>0?"{"+R.join(": ..., ")+": ...}":"{}",T),le[T+_]=!0}return e===r?function(e){for(var a=Object.keys(e.props),t=0;t<a.length;t++){var s=a[t];if("children"!==s&&"key"!==s){ae(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),ae(null);break}}null!==e.ref&&(ae(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}(k):oe(k),k}var de=function(e,a,t){return ce(e,a,t,!1)},me=function(e,a,t){return ce(e,a,t,!0)};Pa.Fragment=r,Pa.jsx=de,Pa.jsxs=me}()),Pa}var Ia=(_a||(_a=1,"production"===process.env.NODE_ENV?Ca.exports=function(){if(Sa)return Ta;Sa=1;var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function o(e,a,s){var o,l={},c=null,d=null;for(o in void 0!==s&&(c=""+s),void 0!==a.key&&(c=""+a.key),void 0!==a.ref&&(d=a.ref),a)r.call(a,o)&&!i.hasOwnProperty(o)&&(l[o]=a[o]);if(e&&e.defaultProps)for(o in a=e.defaultProps)void 0===l[o]&&(l[o]=a[o]);return{$$typeof:t,type:e,key:c,ref:d,props:l,_owner:n.current}}return Ta.Fragment=s,Ta.jsx=o,Ta.jsxs=o,Ta}():Ca.exports=Ea()),Ca.exports);function Aa(...e){return h(p(e))}const Da=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(Da);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=Da(s);return a}return e},za=e=>{if(!e)return"";const a=x(e);if(!g(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},Oa=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),$a=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},Fa=f("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline","icon-only":"bg-transparent border border-input hover:bg-accent hover:text-accent-foreground p-2","external-link":"bg-transparent text-muted-foreground hover:text-foreground hover:bg-accent/50 transition-colors","action-primary":"bg-primary text-primary-foreground hover:bg-primary/90 shadow-sm","action-secondary":"bg-secondary text-secondary-foreground hover:bg-secondary/80 border border-input"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10","icon-sm":"h-8 w-8","icon-xs":"h-6 w-6"}},defaultVariants:{variant:"default",size:"default"}}),La=e.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...r},n)=>{const i=s?m:"button";return Ia.jsx(i,{className:Aa(Fa({variant:a,size:t,className:e})),ref:n,...r})});La.displayName="Button";const Ma=e.forwardRef(({className:e,type:a,...t},s)=>Ia.jsx("input",{type:a,className:Aa("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:s,...t}));Ma.displayName="Input";const Ua=f("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Va=e.forwardRef(({className:e,...a},t)=>Ia.jsx(y.Root,{ref:t,className:Aa(Ua(),e),...a}));Va.displayName=y.Root.displayName;const Ba=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));Ba.displayName="Card";const Wa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex flex-col space-y-1.5 p-6",e),...a}));Wa.displayName="CardHeader";const qa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("h3",{ref:t,className:Aa("text-2xl font-semibold leading-none tracking-tight",e),...a}));qa.displayName="CardTitle";const Ha=e.forwardRef(({className:e,...a},t)=>Ia.jsx("p",{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ha.displayName="CardDescription";const Qa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("p-6 pt-0",e),...a}));Qa.displayName="CardContent";const Ka=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex items-center p-6 pt-0",e),...a}));Ka.displayName="CardFooter";const Ja=v.Root,Xa=v.Trigger,Ya=v.Portal,Ga=v.Close,Za=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Overlay,{ref:t,className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a}));Za.displayName=v.Overlay.displayName;const et=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(Ya,{children:[Ia.jsx(Za,{}),Ia.jsxs(v.Content,{ref:s,className:Aa("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background p-6 duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg overflow-hidden",e),...t,children:[a,Ia.jsxs(v.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:[Ia.jsx(N,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));et.displayName=v.Content.displayName;const at=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-1.5 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-3 rounded-t-lg",e),...a});at.displayName="DialogHeader";const tt=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});tt.displayName="DialogFooter";const st=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Title,{ref:t,className:Aa("text-lg font-semibold leading-none tracking-tight",e),...a}));st.displayName=v.Title.displayName;const rt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));rt.displayName=v.Description.displayName;const nt=Be,it=e.createContext({}),ot=({...e})=>Ia.jsx(it.Provider,{value:{name:e.name},children:Ia.jsx(We,{...e})}),lt=()=>{const a=e.useContext(it),t=e.useContext(ct),{getFieldState:s,formState:r}=Ve(),n=s(a.name,r);if(!a)throw new Error("useFormField should be used within <FormField>");const{id:i}=t;return{id:i,name:a.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...n}},ct=e.createContext({}),dt=e.forwardRef(({className:a,...t},s)=>{const r=e.useId();return Ia.jsx(ct.Provider,{value:{id:r},children:Ia.jsx("div",{ref:s,className:Aa("space-y-2",a),...t})})});dt.displayName="FormItem";const mt=e.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=lt();return Ia.jsx(Va,{ref:t,className:Aa(s&&"text-destructive",e),htmlFor:r,...a})});mt.displayName="FormLabel";const ut=e.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:r,formMessageId:n}=lt();return Ia.jsx(m,{ref:a,id:s,"aria-describedby":t?`${r} ${n}`:`${r}`,"aria-invalid":!!t,...e})});ut.displayName="FormControl";e.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=lt();return Ia.jsx("p",{ref:t,id:s,className:Aa("text-sm text-muted-foreground",e),...a})}).displayName="FormDescription";const ft=e.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=lt(),i=r?String(r?.message):a;return i?Ia.jsx("p",{ref:s,id:n,className:Aa("text-sm font-medium text-destructive",e),...t,children:i}):null});ft.displayName="FormMessage";const pt=qe.Root,ht=qe.Value,xt=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(qe.Trigger,{ref:s,className:Aa("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...t,children:[a,Ia.jsx(qe.Icon,{asChild:!0,children:Ia.jsx(j,{className:"h-4 w-4 opacity-50"})})]}));xt.displayName=qe.Trigger.displayName;const gt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.ScrollUpButton,{ref:t,className:Aa("flex cursor-default items-center justify-center py-1",e),...a,children:Ia.jsx(w,{className:"h-4 w-4"})}));gt.displayName=qe.ScrollUpButton.displayName;const bt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.ScrollDownButton,{ref:t,className:Aa("flex cursor-default items-center justify-center py-1",e),...a,children:Ia.jsx(j,{className:"h-4 w-4"})}));bt.displayName=qe.ScrollDownButton.displayName;const yt=e.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>Ia.jsx(qe.Portal,{children:Ia.jsxs(qe.Content,{ref:r,className:Aa("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===t&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:t,...s,children:[Ia.jsx(gt,{}),Ia.jsx(qe.Viewport,{className:Aa("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),Ia.jsx(bt,{})]})}));yt.displayName=qe.Content.displayName;e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.Label,{ref:t,className:Aa("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a})).displayName=qe.Label.displayName;const vt=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(qe.Item,{ref:s,className:Aa("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(qe.ItemIndicator,{children:Ia.jsx(k,{className:"h-4 w-4"})})}),Ia.jsx(qe.ItemText,{children:a})]}));vt.displayName=qe.Item.displayName;e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.Separator,{ref:t,className:Aa("-mx-1 my-1 h-px bg-muted",e),...a})).displayName=qe.Separator.displayName;const Nt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(He.Root,{ref:t,className:Aa("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),...a,children:Ia.jsx(He.Indicator,{className:Aa("flex items-center justify-center text-current"),children:Ia.jsx(k,{className:"h-4 w-4"})})}));Nt.displayName=He.Root.displayName;const jt=e.forwardRef(({className:e,...a},t)=>Ia.jsx("textarea",{className:Aa("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...a}));jt.displayName="Textarea";const wt=f("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",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"}}),kt=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx("div",{ref:s,className:Aa(wt({variant:a}),e),...t}));kt.displayName="Badge";const St={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function Ct({size:e="md",className:a}){return Ia.jsx(S,{className:Aa("animate-spin text-muted-foreground",St[e],a)})}function Tt({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?Ia.jsxs("div",{className:Aa("relative",t),children:[a,Ia.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:Ia.jsx(Ct,{size:r})})]}):"skeleton"===s?Ia.jsx("div",{className:Aa("animate-pulse",t),children:Ia.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):Ia.jsx("div",{className:Aa("flex items-center justify-center py-8",t),children:Ia.jsx(Ct,{size:r})}):Ia.jsx(Ia.Fragment,{children:a})}let Rt=0;const _t=new Map,Pt=e=>{if(_t.has(e))return;const a=setTimeout(()=>{_t.delete(e),Dt({type:"REMOVE_TOAST",toastId:e})},1e6);_t.set(e,a)},Et=(e,a)=>{switch(a.type){case"ADD_TOAST":return{...e,toasts:[a.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===a.toast.id?{...e,...a.toast}:e)};case"DISMISS_TOAST":{const{toastId:t}=a;return t?Pt(t):e.toasts.forEach(e=>{Pt(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===a.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==a.toastId)}}},It=[];let At={toasts:[]};function Dt(e){At=Et(At,e),It.forEach(e=>{e(At)})}function zt({...e}){const a=(Rt=(Rt+1)%Number.MAX_SAFE_INTEGER,Rt.toString()),t=()=>Dt({type:"DISMISS_TOAST",toastId:a});return Dt({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>Dt({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function Ot(){const[a,t]=e.useState(At);return e.useEffect(()=>(It.push(t),()=>{const e=It.indexOf(t);e>-1&&It.splice(e,1)}),[a]),{...a,toast:zt,dismiss:e=>Dt({type:"DISMISS_TOAST",toastId:e})}}const $t=Qe.Provider,Ft=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Viewport,{ref:t,className:Aa("fixed top-4 left-1/2 transform -translate-x-1/2 z-[100] flex max-h-screen w-full max-w-[420px] flex-col p-4",e),...a}));Ft.displayName=Qe.Viewport.displayName;const Lt=f("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"}}),Mt=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx(Qe.Root,{ref:s,className:Aa(Lt({variant:a}),e),...t}));Mt.displayName=Qe.Root.displayName;const Ut=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Action,{ref:t,className:Aa("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...a}));Ut.displayName=Qe.Action.displayName;const Vt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Close,{ref:t,className:Aa("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...a,children:Ia.jsx(N,{className:"h-4 w-4"})}));Vt.displayName=Qe.Close.displayName;const Bt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Title,{ref:t,className:Aa("text-sm font-semibold",e),...a}));Bt.displayName=Qe.Title.displayName;const Wt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Description,{ref:t,className:Aa("text-sm opacity-90",e),...a}));function qt(){const{toasts:e}=Ot();return Ia.jsxs($t,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return Ia.jsxs(Mt,{...r,children:[Ia.jsxs("div",{className:"grid gap-1",children:[a&&Ia.jsx(Bt,{children:a}),t&&Ia.jsx(Wt,{children:t})]}),s,Ia.jsx(Vt,{})]},e)}),Ia.jsx(Ft,{})]})}Wt.displayName=Qe.Description.displayName;var Ht=Object.defineProperty;class Qt{static normalizeBase64Url(e){let a=e.replace(/-/g,"+").replace(/_/g,"/");const t=(4-a.length%4)%4;return a+="=".repeat(t),a}static parseJwtPayload(e){try{const 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),a=atob(e),t=new Uint8Array(a.length);for(let r=0;r<a.length;r++)t[r]=a.charCodeAt(r);const s=new TextDecoder("utf-8").decode(t);return JSON.parse(s)}catch(a){try{const e=this.normalizeBase64Url(n),a=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(a)}catch(t){try{const e=this.normalizeBase64Url(n),a=atob(e);return JSON.parse(a)}catch(s){throw s}}}}catch(r){return null}}static validateTokens(e,a){const t=[],s=[];try{a.split(".")[1],e.split(".")[1];const r=this.parseJwtPayload(a),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:t,errors:s}}let i=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";t.push(e),i=!1}const o=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<o){const e="Access token expirado - pode precisar de refresh";t.push(e),i=!1}if(r.exp&&r.exp<o){const e="ID token expirado - autenticação inválida";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:i,warnings:t,errors:s}}return{isValid:!0,idTokenValid:!0,accessTokenValid:i,warnings:t,errors:s}}catch(r){const e=`Erro na validação de tokens: ${r}`;return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:s}}}static isTokenExpired(e){const a=this.parseJwtPayload(e);return!a||!a.exp||1e3*a.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,a,t)=>{a in e?Ht(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(Qt,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const Kt="qualiex_access_token",Jt="qualiex_id_token",Xt="supabase_token",Yt="oauth_state",Gt="oauth_nonce",Zt="selected_alias",es="manual_logout",as={setAccessToken:e=>localStorage.setItem(Kt,e),getAccessToken:()=>localStorage.getItem(Kt),setIdToken:e=>localStorage.setItem(Jt,e),getIdToken:()=>localStorage.getItem(Jt),getSupabaseToken:()=>localStorage.getItem(Xt),setOAuthState:e=>sessionStorage.setItem(Yt,e),getOAuthState:()=>sessionStorage.getItem(Yt),clearOAuthState:()=>sessionStorage.removeItem(Yt),setOAuthNonce:e=>sessionStorage.setItem(Gt,e),getOAuthNonce:()=>sessionStorage.getItem(Gt),clearOAuthNonce:()=>sessionStorage.removeItem(Gt),setSelectedAlias:e=>localStorage.setItem(Zt,e),getSelectedAlias:()=>localStorage.getItem(Zt),clearSelectedAlias:()=>localStorage.removeItem(Zt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!as.getAccessToken()||!as.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(Xt,e),as._clearValidationCache()},areAllTokensValid:()=>{const e=as.getAccessToken(),a=as.getIdToken();if(!e||!a)return!1;try{const t=Qt.validateTokens(e,a);return!!t.idTokenValid&&(t.accessTokenValid,t.idTokenValid)}catch(t){return!1}},clearExpiredTokens:()=>{let e=!1;const a=as.getAccessToken(),t=as.getIdToken(),s=as.getSupabaseToken();return a&&as.isTokenExpired(a)&&(localStorage.removeItem(Kt),e=!0),t&&as.isTokenExpired(t)&&(localStorage.removeItem(Jt),e=!0),s&&as.isTokenExpired(s)&&(localStorage.removeItem(Xt),e=!0),e},clearAll:()=>{localStorage.removeItem(Kt),localStorage.removeItem(Jt),localStorage.removeItem(Xt),localStorage.removeItem(Zt),localStorage.removeItem(es),sessionStorage.removeItem(Yt),sessionStorage.removeItem(Gt)},setManualLogout:()=>localStorage.setItem(es,"true"),isManualLogout:()=>"true"===localStorage.getItem(es),clearManualLogout:()=>localStorage.removeItem(es),isTokenExpired:e=>{try{return Qt.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{as._validationCache.isValid=!1,as._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=as.getSupabaseToken();if(!e)return!1;if(as.isTokenExpired(e))return as._clearValidationCache(),as._handleExpiredToken(),!1;const a=Date.now();return a-as._validationCache.timestamp<as._validationCache.cacheValidityMs?as._validationCache.isValid:(as._validationCache.isValid=!0,as._validationCache.timestamp=a,!0)},getValidSupabaseToken:()=>as.isSupabaseTokenValid()?as.getSupabaseToken():null,_handleExpiredToken:()=>{as.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!as.isSupabaseTokenValid())return null;const e=as.getSupabaseToken();if(!e)return null;try{const a=Qt.parseJwtPayload(e);if(!a)return null;const t=a.alias||a.default||a.user_alias;let s=a.company_id;if(!s&&t)for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===t){s=e[7];break}}}return{alias:t,companyId:s,payload:a}}catch(a){return as._handleExpiredToken(),null}},getCompanyId:e=>{const a=as.extractTokenData();if(!a)return null;if(!e)return a.companyId;const t=as.getIdToken();if(!t)return null;try{const a=Qt.parseJwtPayload(t);if(!a)return null;for(const t in a)if(t.startsWith("co")&&/^co\d+$/.test(t)){const s=a[t];if(s&&"string"==typeof s){const a=s.split(";");if(a.length>7&&a[0]===e)return a[7]}}}catch{return null}return null},getCurrentCompanyId:()=>{const e=as.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=as.getIdToken();if(!e)return[];try{const a=Qt.parseJwtPayload(e);if(!a)return[];const t=[];for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const s=a[e];if(s&&"string"==typeof s){const e=s.split(";");e.length>=4&&t.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:a})}}return t}catch{return[]}}};var ts=Object.defineProperty,ss=(e,a,t)=>((e,a,t)=>a in e?ts(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const rs=new class{constructor(){ss(this,"errors",[]),ss(this,"toastCount",0),ss(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()&&zt({title:"Erro",description:t,variant:"destructive"})}success(e,a){zt({title:e,description:a,variant:"default"})}shouldShowToast(){const e=Date.now();return e-this.lastToastTime>6e4&&(this.toastCount=0),this.toastCount<3&&(this.toastCount++,this.lastToastTime=e,!0)}getErrors(){return this.errors.slice(-50)}clearErrors(){this.errors=[]}};var ns=Object.defineProperty,is=(e,a,t)=>((e,a,t)=>a in e?ns(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const os=import.meta.env.VITE_SUPABASE_URL,ls=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,cs=class e{constructor(){is(this,"client"),is(this,"currentToken",null),is(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:ls};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),Ke(os,ls,{auth:{persistSession:!1,autoRefreshToken:!1,storage:void 0},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=as.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const a=JSON.parse(atob(e.split(".")[1])),t=Math.floor(Date.now()/1e3);return a.exp>t}catch(a){return rs.handleError(a instanceof Error?a:"❌ Supabase - Error validating token",!1),!1}}};is(cs,"instance");let ds=cs;const ms=()=>ds.getInstance().getClient();var us=Object.freeze({__proto__:null,getSupabaseClient:ms}),fs=Object.defineProperty,ps=(e,a,t)=>((e,a,t)=>a in e?fs(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const hs=new class{constructor(){ps(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=as.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const r=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{r.searchParams.append(e,a)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!n.ok)throw new Error(`API call failed: ${n.status} ${n.statusText}`);return await n.json()}mapToQualiexUser(e){return{userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível"}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let s=t;if(t.data)s=t.data;else{if(!Array.isArray(t))return rs.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return rs.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(t){return rs.handleError(t instanceof Error?t:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(s){return rs.handleError(s instanceof Error?s:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=as.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(rs.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}};class xs{static async extractTokenData(){const e=as.extractTokenData();return e||(rs.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return rs.handleError(`[QualiexEnrichment.${a.entityName}] Nenhuma entidade encontrada`,!1),e;try{const t=await this.extractTokenData();if(!t)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=t;if(!s||!r)return rs.handleError(`[QualiexEnrichment.${a.entityName}] DADOS OBRIGATÓRIOS FALTANDO - alias: ${!!s}, companyId: ${!!r}`,!1),e.map(e=>({...e,responsible_name:e.id_user?`Configuração incompleta (alias: ${!!s}, companyId: ${!!r})`:null}));const n=await hs.getUsers(s),i=e.map(e=>{if(e.id_user){const a=n.find(a=>a.userId===e.id_user);return{...e,responsible_name:a?.userName||`ID não encontrado: ${e.id_user}`}}return{...e,responsible_name:null}});i.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 i}catch(t){return rs.handleError(t instanceof Error?t:`[QualiexEnrichment.${a.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${t.message}`:null}))}}}const gs={oauth:{authUrl:import.meta.env.VITE_OAUTH_AUTH_URL,clientId:import.meta.env.VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},bs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},ys={debounceDelay:500},vs=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("id-preview")||e.includes("lovable.dev")||import.meta.env.DEV},Ns={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]};let js={enableUserEnrichment:!1,enableUsersApi:!1};const ws=()=>js,ks=e=>{js={...js,...e}},Ss={success:{created:e=>`${e} criado com sucesso`,updated:e=>`${e} atualizado com sucesso`,deleted:e=>`${e} removido com sucesso`},error:{create:e=>`Erro ao criar ${e}`,update:e=>`Erro ao atualizar ${e}`,delete:e=>`Erro ao remover ${e}`,load:e=>`Erro ao carregar ${e}`}},Cs=["responsible_name"];function Ts(e,a,t){const s="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,selectFields:i,schemaName:o,entityName:l,enableQualiexEnrichment:c=!1}=s,d=()=>{if(!as.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return ms().schema(o).from(r)};return{async getAll(e={}){const{search:a="",sortField:t="updated_at",sortDirection:s="desc",page:o=1,limit:m=25,...u}=e;let f=d().select(i||"*",{count:"exact"});f=f.eq("is_removed",!1),Object.entries(u).forEach(([e,a])=>{null!=a&&""!==a&&(f=Array.isArray(a)?f.in(e,a):"object"==typeof a&&a&&"operator"in a&&"not_null"===a.operator?f.not(e,"is",null):f.eq(e,a))}),f=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(f,a),f=f.order(t,{ascending:"asc"===s}),f=((e,a,t)=>{const s=(a-1)*t,r=s+t-1;return e.range(s,r)})(f,o,m);const{data:p,error:h,count:x}=await f;if(h)throw new Error(`Error fetching ${r}: ${h.message}`);let g=((e,a,t,s)=>{const r=Math.ceil((a||0)/s);return{data:e,currentPage:t,totalPages:r,totalItems:a||0,itemsPerPage:s,hasNextPage:t<r,hasPreviousPage:t>1}})(p||[],x,o,m);const b=ws();if(c&&b.enableUserEnrichment&&l&&g.data.length>0){if(g.data.some(e=>e.id_user)){if(t&&(y=t,Cs.includes(y))){const a={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},r=await this.getAll(a);if(!r?.data?.length)return r;const n=((e,a,t)=>[...e].sort((e,s)=>{const r=e[a]||"",n=s[a]||"",i=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?i:-i}))(await xs.enrichWithResponsibleNames(r.data,{entityName:l}),t,s),i=((e,a=1,t=25)=>{const s=(a-1)*t,r=s+t,n=e.slice(s,r);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:r<e.length,hasPreviousPage:a>1}}})(n,o,m);return{data:i.data,currentPage:i.pagination.currentPage,totalPages:i.pagination.totalPages,totalItems:i.pagination.totalItems,itemsPerPage:i.pagination.itemsPerPage,hasNextPage:i.pagination.hasNextPage,hasPreviousPage:i.pagination.hasPreviousPage}}const a=await xs.enrichWithResponsibleNames(g.data,{entityName:l});g={...g,data:a}}}var y;return g},async getById(e){const{data:a,error:t}=await d().select(i||"*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${r}: ${t.message}`);return a},async create(e){const a=Da(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:s,error:n}=await d().insert(t).select().single();if(n)throw new Error(`Error creating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from create ${r} operation`);return s},async update(e,a){const t={...Da(a),updated_at:(new Date).toISOString()},{data:s,error:n}=await d().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from update ${r} operation`);return s},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await d().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${r}: ${t.message}`)}}}const Rs=()=>{as.clearManualLogout()},_s=import.meta.env.VITE_SUPABASE_URL,Ps=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY;class Es{static async generateToken(e,a,t,s=!1){try{if(!s){const e=as.getSupabaseToken();if(e&&as.isSupabaseTokenValid())return e}const r=Ke(_s,Ps,{auth:{persistSession:!1,autoRefreshToken:!1}}),{data:n,error:i}=await r.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return i&&(i.message?.includes("401")||i.message?.includes("Unauthorized"))?(t?.(),null):n?.access_token&&n.access_token?(as.setSupabaseToken(n.access_token),n.access_token):null}catch(r){return r instanceof Error&&(r.message.includes("401")||r.message.includes("Unauthorized"))&&t?.(),null}}}var Is=Object.defineProperty,As=(e,a,t)=>((e,a,t)=>a in e?Is(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);class Ds{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=as.getAccessToken(),a=as.getSelectedAlias();if(!e||!a)return null;const t=await Es.generateToken(e,a,this.onLogoutCallback||void 0,!1);return t?(as.setSupabaseToken(t),t):null}catch(e){return null}finally{this.isRegenerating=!1}}}As(Ds,"isRegenerating",!1),As(Ds,"onLogoutCallback",null);const zs=class{static async initialize(){try{if(!as.hasAllTokens()||!as.areAllTokensValid())return as.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null};const e=as.getAccessToken(),a=as.getIdToken();Rs();const t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=as.extractTokenData(),i=n?.alias;let o=null;if(i&&s.some(e=>e.alias===i))o=i;else{const e=as.getSelectedAlias(),a=e&&s.some(a=>a.alias===e);o=a?e:r||s[0]?.alias||null}!as.isSupabaseTokenValid()&&o&&await Ds.attemptRegeneration();let l=null;if(o){const e=as.getCompanyId(o),a=s.find(e=>e.alias===o);a&&(l={id:e||a.id,name:a.name,alias:a.alias})}return{isAuthenticated:!0,isLoading:!1,user:t,alias:o,companies:s,selectedUnit:l,userId:t?.id||null,userAlias:t?.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 us}),a=e(),{data:t,error:s}=await a.functions.invoke("dev-tokens",{body:{environment:"development"}});if(s)return!1;if(!t?.access_token||!t?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${t.access_token}&id_token=${t.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=as.generateOAuthState();as.setOAuthState(e);const a=as.generateOAuthNonce();as.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL(gs.oauth.authUrl);s.searchParams.set("client_id",gs.oauth.clientId),s.searchParams.set("response_type",gs.oauth.responseType),s.searchParams.set("scope",gs.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),vs(),window.location.href=s.toString()}static async processCallback(){try{if(as.hasAllTokens()){if(!as.getValidSupabaseToken()){as.getAccessToken();await Ds.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),a=new URLSearchParams(window.location.search),t=t=>e.get(t)||a.get(t),s=t("access_token"),r=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");as.setAccessToken(s),as.setIdToken(r),Rs();const i=this.extractAliasFromAccessToken(s);if(i)as.setSelectedAlias(i);else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");as.setSelectedAlias(e[0].alias)}if(!await Ds.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return as.clearOAuthState(),as.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){as.setManualLogout(),as.clearAll(),window.location.href="/login"}static decodeToken(e){return Qt.parseJwtPayload(e)}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier}:null}static extractCompaniesFromIdToken(e){const a=this.decodeToken(e);if(!a)return[];const t=[];return Object.keys(a).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof a[e]){const s=a[e].split(";");if(s.length>=4)t.push({id:s.length>7?s[7].trim():"",alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=a[e].split("|");s&&r&&t.push({id:"",alias:s.trim(),name:r.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}};Ds.setLogoutCallback(()=>{zs.logout()});let Os=zs;class $s{static handleError(e){if(!e)return!1;const a=e.message||e.toString();return!!this.isAuthenticationError(e,a)&&(as.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,a){if(401===e.status||401===e.statusCode)return!0;const t=a.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>t.includes(e))}static async wrapAsync(e){try{return await e}catch(a){if(!this.handleError(a))throw a;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}const Fs=t(void 0),Ls=({children:e})=>{const[a,t]=r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null});let s=null;try{s=Je()}catch{}const[l,c]=r(!1),[d,m]=r(0),u=n(e=>{t(a=>({...a,...e}))},[]),f=n(e=>{t(a=>({...a,isLoading:e}))},[]),p=n(()=>{t({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null})},[]),h=n(async e=>{try{f(!0);const a=as.getAccessToken();if(!a)return;const t=await Es.generateToken(a,e.alias,void 0,!0);if(!t)return;as.setSupabaseToken(t),as.setSelectedAlias(e.alias);const r=as.extractTokenData(),n=r?.alias||e.alias,i={id:r?.companyId||as.getCompanyId(e.alias)||e.id,name:e.name,alias:n};u({alias:n,selectedUnit:i}),s&&(await s.clear(),await new Promise(e=>setTimeout(e,100)))}catch(a){}finally{f(!1)}},[u,s,f]),x=n(async()=>await Os.processCallback(),[]),g=n(async()=>{Os.logout(),p(),s&&await s.clear()},[p,s]),b=n(e=>{c(e)},[]),y=n(()=>{m(e=>e+1)},[]),v=n(()=>{m(e=>e+1)},[]);i(()=>{if(!a.isAuthenticated)return;let e=!0;const t=setInterval(()=>{e&&(as.areAllTokensValid()||e&&g())},6e5);return()=>{e=!1,clearInterval(t)}},[a.isAuthenticated,g]),i(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const a=await Os.initialize();if(!e)return;a&&a.isAuthenticated?u({user:a.user,companies:a.companies,alias:a.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:a.selectedUnit,userId:a.userId,userAlias:a.userAlias}):e&&f(!1)}catch(a){e&&($s.handleError(a),f(!1))}})(),()=>{e=!1}},[u,f,g]);const N=o(()=>({...a,logout:g,processCallback:x,switchUnit:h,availableUnits:a.companies,isSearchVisible:l,setSearchVisible:b,clearSearch:y,refreshData:v}),[a.user,a.companies,a.alias,a.isAuthenticated,a.isLoading,a.selectedUnit,a.userId,a.userAlias,g,x,h,l,b,y,v]);return Ia.jsx(Fs.Provider,{value:N,children:e})},Ms=()=>{const e=s(Fs);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e};function Us({queryKey:e,service:a,entityName:t,searchFields:s,additionalFilters:i={},onSuccess:l}){const[c,d]=Ze(),m=Je(),{alias:u,userId:f}=Ms(),p=c.get("search")||"",h=c.get("sortField")||bs.sorting.defaultField,x=c.get("sortDirection")||bs.sorting.defaultDirection,g=parseInt(c.get("page")||"1"),b=parseInt(c.get("limit")||String(bs.pagination.defaultPageSize)),y=p,v=o(()=>({search:y,sortField:h,sortDirection:x,page:g,limit:b,...i}),[y,h,x,g,b,i]),N=n(()=>a.getAll(v),[a,v]),j=Xe({queryKey:[e,u,f,v],queryFn:N});if(!j)throw new Error(`useCrud: Query initialization failed for "${t}". Ensure QueryClientProvider is configured in your app root.`);const w=Ye({mutationFn:a.create,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.created(t)),l?.()},onError:e=>{sa.error(`${Ss.error.create(t)}: ${e.message}`)}}),k=Ye({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.updated(t)),l?.()},onError:e=>{sa.error(`${Ss.error.update(t)}: ${e.message}`)}}),S=Ye({mutationFn:a.delete,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.deleted(t))},onError:e=>{sa.error(`${Ss.error.delete(t)}: ${e.message}`)}}),C=n(e=>{const a={...Object.fromEntries(c)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),d(a)},[c,d]),T=n(e=>{C({search:e,page:1})},[C]),R=n(e=>{C({sortField:e,sortDirection:h===e&&"asc"===x?"desc":"asc",page:1})},[h,x,C]),_=n(e=>{C({page:e})},[C]),P=n(e=>{C({limit:e,page:1})},[C]),E=n(()=>{d({})},[d]),[I,A]=r([]),D=n(e=>{A(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[]),z=n(()=>{const e=j?.data?.data.map(e=>e.id)||[];A(a=>a.length===e.length?[]:e)},[j?.data?.data]),O=n(()=>{A([])},[]),$=o(()=>{const e=j?.data?.data.map(e=>e.id)||[];return e.length>0&&I.length===e.length},[I,j?.data?.data]),F=Ye({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(a,s)=>{m.invalidateQueries({queryKey:[e]}),sa.success(`${s.length} ${t}(s) deletado(s) com sucesso`),O()},onError:e=>{sa.error(`Erro ao deletar itens: ${e.message}`)}});return{entities:j?.data?.data||[],pagination:{currentPage:j?.data?.currentPage||1,totalPages:j?.data?.totalPages||1,totalItems:j?.data?.totalItems||0,itemsPerPage:j?.data?.itemsPerPage||bs.pagination.defaultPageSize,hasNextPage:j?.data?.hasNextPage||!1,hasPreviousPage:j?.data?.hasPreviousPage||!1},isLoading:j?.isLoading??!0,isCreating:w?.isPending??!1,isUpdating:k?.isPending??!1,isDeleting:S?.isPending??!1,error:j?.error||null,searchTerm:p,sortField:h,sortDirection:x,currentPage:g,itemsPerPage:b,createEntity:w.mutate,updateEntity:(e,a)=>k.mutate({id:e,data:a}),deleteEntity:S.mutate,handleSearch:T,handleSort:R,handlePageChange:_,handleItemsPerPageChange:P,clearFilters:E,refetch:j.refetch,selectedIds:I,selectItem:D,selectAll:z,clearSelection:O,isAllSelected:$,bulkDelete:F.mutate,isBulkDeleting:F.isPending}}function Vs(e){const a=Ts({tableName:e.tableName,searchFields:e.searchFields||["title"],schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0});return{service:a,useCrudHook:t=>Us({queryKey:e.tableName,service:{...a,getAll:async(e={})=>await a.getAll({...e})},entityName:e.entityName,onSuccess:t})}}const Bs=na.Root,Ws=na.Trigger,qs=na.Portal,Hs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Overlay,{className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));Hs.displayName=na.Overlay.displayName;const Qs=e.forwardRef(({className:e,...a},t)=>Ia.jsxs(qs,{children:[Ia.jsx(Hs,{}),Ia.jsx(na.Content,{ref:t,className:Aa("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a})]}));Qs.displayName=na.Content.displayName;const Ks=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-2 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-6 rounded-t-lg",e),...a});Ks.displayName="AlertDialogHeader";const Js=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Js.displayName="AlertDialogFooter";const Xs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Title,{ref:t,className:Aa("text-lg font-semibold",e),...a}));Xs.displayName=na.Title.displayName;const Ys=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ys.displayName=na.Description.displayName;const Gs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Action,{ref:t,className:Aa(Fa(),e),...a}));Gs.displayName=na.Action.displayName;const Zs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Cancel,{ref:t,className:Aa(Fa({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));Zs.displayName=na.Cancel.displayName;const er=({open:e,onOpenChange:a,item:t,onConfirm:s,entityName:n="item",isDeleting:o=!1})=>{const[l,c]=r("");i(()=>{e||c("")},[e]);const d=()=>{c(""),a(!1)},m=l===t?.title;return t?Ia.jsx(Bs,{open:e,onOpenChange:d,children:Ia.jsxs(Qs,{className:"sm:max-w-[500px]",children:[Ia.jsx(Ks,{children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:Ia.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),Ia.jsx("div",{className:"flex-1",children:Ia.jsx(Xs,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),Ia.jsx(Ys,{asChild:!0,children:Ia.jsxs("div",{className:"space-y-4",children:[Ia.jsxs("div",{className:"text-sm text-muted-foreground",children:[Ia.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),Ia.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:Ia.jsx("p",{className:"font-medium text-foreground",children:t.title})})]}),Ia.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:Ia.jsxs("div",{className:"flex items-start space-x-2",children:[Ia.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:Ia.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),Ia.jsxs("div",{className:"text-sm text-orange-800",children:[Ia.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),Ia.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsxs(Va,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",Ia.jsxs("strong",{children:['"',t.title,'"']})," abaixo:"]}),Ia.jsx(Ma,{id:"confirmation",type:"text",value:l,onChange:e=>c(e.target.value),placeholder:`Digite: ${t.title}`,className:"w-full"})]})]})}),Ia.jsxs(Js,{children:[Ia.jsx(Zs,{onClick:d,children:"Cancelar"}),Ia.jsx(Gs,{onClick:()=>{t&&l===t.title&&(s(t),c(""),a(!1))},disabled:!m||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},ar=e.forwardRef(({className:e,...a},t)=>Ia.jsx("table",{ref:t,className:Aa("w-full caption-bottom text-sm",e),...a}));ar.displayName="Table";const tr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("thead",{ref:t,className:Aa("[&_tr]:border-b sticky top-0 z-[1] bg-background",e),...a}));tr.displayName="TableHeader";const sr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tbody",{ref:t,className:Aa("[&_tr:last-child]:border-0",e),...a}));sr.displayName="TableBody";const rr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tfoot",{ref:t,className:Aa("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a}));rr.displayName="TableFooter";const nr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tr",{ref:t,className:Aa("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted odd:bg-muted/50",e),...a}));nr.displayName="TableRow";const ir=e.forwardRef(({className:e,...a},t)=>Ia.jsx("th",{ref:t,className:Aa("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),...a}));ir.displayName="TableHead";const or=e.forwardRef(({className:e,...a},t)=>Ia.jsx("td",{ref:t,className:Aa("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));or.displayName="TableCell";const lr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("caption",{ref:t,className:Aa("mt-4 text-sm text-muted-foreground",e),...a}));function cr({className:e,...a}){return Ia.jsx("div",{className:Aa("animate-pulse rounded-md bg-muted",e),...a})}function dr({rows:e=5,columns:a=4}){return Ia.jsx("div",{className:"w-full",children:Ia.jsxs("div",{className:"rounded-md border",children:[Ia.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:Ia.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>Ia.jsx(cr,{className:"h-4 w-24"},a))})}),Ia.jsx("div",{children:Array.from({length:e}).map((e,t)=>Ia.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:Ia.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>Ia.jsx(cr,{className:"h-4 w-20"},a))})},t))})]})})}function mr({count:e=3}){return Ia.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>Ia.jsxs(Ba,{children:[Ia.jsxs(Wa,{children:[Ia.jsx(cr,{className:"h-4 w-3/4"}),Ia.jsx(cr,{className:"h-3 w-1/2"})]}),Ia.jsx(Qa,{children:Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-3 w-full"}),Ia.jsx(cr,{className:"h-3 w-2/3"})]})})]},a))})}function ur({fields:e=4}){return Ia.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-4 w-24"}),Ia.jsx(cr,{className:"h-10 w-full"})]},a)),Ia.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[Ia.jsx(cr,{className:"h-10 w-20"}),Ia.jsx(cr,{className:"h-10 w-20"})]})]})}function fr(){return Ia.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx(cr,{className:"h-8 w-8 rounded-full"}),Ia.jsx(cr,{className:"h-6 w-32"})]}),Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx(cr,{className:"h-8 w-8"}),Ia.jsx(cr,{className:"h-8 w-24"})]})]})}function pr(){return Ia.jsx("div",{className:"w-64 border-r bg-muted/10",children:Ia.jsxs("div",{className:"p-4",children:[Ia.jsx(cr,{className:"h-8 w-32 mb-6"}),Ia.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>Ia.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[Ia.jsx(cr,{className:"h-4 w-4"}),Ia.jsx(cr,{className:"h-4 w-20"})]},a))})]})})}lr.displayName="TableCaption";const hr={default:R,search:T,error:C};function xr({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const i=e?()=>e:hr[n];return Ia.jsxs("div",{className:Aa("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[Ia.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:Ia.jsx(i,{className:"h-8 w-8 text-muted-foreground"})}),Ia.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&Ia.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&Ia.jsx(La,{onClick:s.onClick,variant:"outline",children:s.label})]})}const gr=ia.Root,br=ia.Trigger,yr=ia.Group,vr=ia.Portal,Nr=ia.Sub,jr=ia.RadioGroup,wr=e.forwardRef(({className:e,inset:a,children:t,...s},r)=>Ia.jsxs(ia.SubTrigger,{ref:r,className:Aa("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",e),...s,children:[t,Ia.jsx(_,{className:"ml-auto h-4 w-4"})]}));wr.displayName=ia.SubTrigger.displayName;const kr=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ia.SubContent,{ref:t,className:Aa("z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a}));kr.displayName=ia.SubContent.displayName;const Sr=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>Ia.jsx(ia.Portal,{children:Ia.jsx(ia.Content,{ref:s,sideOffset:a,className:Aa("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-white shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:bg-gray-800 dark:border-gray-700",e),...t})}));Sr.displayName=ia.Content.displayName;const Cr=e.forwardRef(({className:e,inset:a,...t},s)=>Ia.jsx(ia.Item,{ref:s,className:Aa("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",e),...t}));Cr.displayName=ia.Item.displayName;const Tr=e.forwardRef(({className:e,children:a,checked:t,...s},r)=>Ia.jsxs(ia.CheckboxItem,{ref:r,className:Aa("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:t,...s,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(ia.ItemIndicator,{children:Ia.jsx(k,{className:"h-4 w-4"})})}),a]}));Tr.displayName=ia.CheckboxItem.displayName;const Rr=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(ia.RadioItem,{ref:s,className:Aa("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(ia.ItemIndicator,{children:Ia.jsx(P,{className:"h-2 w-2 fill-current"})})}),a]}));Rr.displayName=ia.RadioItem.displayName;const _r=e.forwardRef(({className:e,inset:a,...t},s)=>Ia.jsx(ia.Label,{ref:s,className:Aa("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));_r.displayName=ia.Label.displayName;const Pr=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ia.Separator,{ref:t,className:Aa("-mx-1 my-1 h-px bg-muted",e),...a}));Pr.displayName=ia.Separator.displayName;const Er=({className:e,...a})=>Ia.jsx("span",{className:Aa("ml-auto text-xs tracking-widest opacity-60",e),...a});Er.displayName="DropdownMenuShortcut";const Ir=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const i=[];if(e){const a={icon:E,label:"Editar",onClick:e};i.push(a)}if(t){const e={icon:s?I:A,label:s?"Inativar":"Ativar",onClick:t};i.push(e)}if(r&&a){const e={icon:D,label:"Remover",onClick:a,destructive:!0};i.push(e)}return"dropdown"===n?Ia.jsx(Ia.Fragment,{children:i.map((e,a)=>Ia.jsxs(Cr,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[Ia.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):Ia.jsx(Ia.Fragment,{children:i.map((e,a)=>Ia.jsxs(La,{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:[Ia.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},Ar=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>Ia.jsxs(gr,{children:[Ia.jsx(br,{asChild:!0,children:Ia.jsx(La,{variant:"default",size:"sm",className:"h-7 px-2 text-xs bg-primary text-primary-foreground hover:bg-primary/90",children:Ia.jsx(z,{size:12})})}),Ia.jsx(Sr,{align:"end",children:Ia.jsx(Ir,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]}),Dr=({manager:e,columns:a,onEdit:t,onView:s,onToggleStatus:n,onDelete:o,renderActions:l,enableBulkActions:c=!1})=>{const[d,m]=r(!1),[u,f]=r(null);i(()=>{const e=()=>m(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),i(()=>{const e=()=>f(null);if(u)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[u]);const p=(()=>{a.length;let e=0;const t=a.map(a=>{if(a.width)return e+=a.width,{...a,calculatedWidth:a.width,isFixed:!0};{const t=a.minWidth||120,s=a.weight||1;return e+=t,{...a,calculatedWidth:t,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?e.isLoading?Ia.jsx(mr,{count:3}):0===e.entities.length?Ia.jsx(xr,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):Ia.jsxs("div",{className:"space-y-4",children:[e.entities.map(r=>Ia.jsx(Ba,{className:Aa("overflow-hidden cursor-pointer hover:bg-muted/50",c&&e.selectedIds.includes(r.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),c||t?.(r)},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),f({x:e.clientX,y:e.clientY,item:r})},children:Ia.jsx(Qa,{className:"p-4",children:Ia.jsxs("div",{className:"flex items-start gap-3",children:[c&&Ia.jsx("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:Ia.jsx(Nt,{checked:e.selectedIds.includes(r.id),onCheckedChange:()=>e.selectItem(r.id)})}),Ia.jsxs("div",{className:"flex-1",children:[a.map(e=>Ia.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[Ia.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[e.header,":"]}),Ia.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:e.render?e.render(r):r[e.key]})]},String(e.key))),(t||s||l)&&Ia.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(r):Ia.jsx(Ar,{onEdit:t?()=>{t(r)}:void 0,onDelete:o?()=>o(r):void 0,onToggleStatus:n?()=>n(r):void 0,isActive:r.is_actived})})]})]})})},r.id)),u&&Ia.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:u.x,top:u.y},onClick:e=>e.stopPropagation(),children:Ia.jsx(Ir,{onEdit:t?()=>{t(u.item),f(null)}:void 0,onDelete:o?()=>{o(u.item),f(null)}:void 0,onToggleStatus:n?()=>{n(u.item),f(null)}:void 0,isActive:u.item.is_actived,canDelete:!!o,renderAs:"context"})})]}):Ia.jsxs("div",{className:"flex flex-col h-full",children:[e.isLoading?Ia.jsx(dr,{rows:5,columns:a.length}):Ia.jsx("div",{className:"flex flex-col h-full overflow-hidden",children:Ia.jsx("div",{className:"flex-1 overflow-auto",children:Ia.jsxs(ar,{className:"table-auto",children:[Ia.jsxs("colgroup",{children:[c&&Ia.jsx("col",{style:{width:"50px"}}),p.map((e,a)=>Ia.jsx("col",{style:e.style},a)),Ia.jsx("col",{style:{width:"100px"}})]}),Ia.jsx(tr,{children:Ia.jsxs(nr,{children:[c&&Ia.jsx(ir,{className:"w-[50px]",children:Ia.jsx(Nt,{checked:e.isAllSelected,onCheckedChange:e.selectAll})}),a.map(a=>{return Ia.jsx(ir,{className:`${a.className||""} ${a.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:a.sortable?()=>e.handleSort(String(a.key)):void 0,children:Ia.jsxs("div",{className:"flex items-center "+(a.className?.includes("text-center")?"justify-center":""),children:[a.header,a.sortable&&(t=String(a.key),e.sortField!==t?Ia.jsx(O,{size:14,className:"ml-1 opacity-50"}):"asc"===e.sortDirection?Ia.jsx($,{size:14,className:"ml-1"}):Ia.jsx(F,{size:14,className:"ml-1"}))]})},String(a.key));var t}),Ia.jsx(ir,{className:"w-[100px] text-center",children:"Ações"})]})}),Ia.jsx(sr,{children:0===e.entities.length?Ia.jsx(nr,{children:Ia.jsx(or,{colSpan:a.length+1,className:"h-32",children:Ia.jsx(xr,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"})})}):e.entities.map(s=>Ia.jsxs(nr,{className:Aa("cursor-pointer hover:bg-muted/50",c&&e.selectedIds.includes(s.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),c||t?.(s)},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),f({x:e.clientX,y:e.clientY,item:s})},children:[c&&Ia.jsx(or,{onClick:e=>e.stopPropagation(),children:Ia.jsx(Nt,{checked:e.selectedIds.includes(s.id),onCheckedChange:()=>e.selectItem(s.id)})}),a.map(e=>Ia.jsx(or,{className:e.className,children:e.render?e.render(s):s[e.key]},String(e.key))),Ia.jsx(or,{className:"text-center",children:l?l(s):Ia.jsx(Ar,{onEdit:t?()=>t(s):void 0,onDelete:o?()=>o(s):void 0,onToggleStatus:n?()=>n(s):void 0,isActive:s.is_actived})})]},s.id))})]})})}),u&&Ia.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:u.x,top:u.y},onClick:e=>e.stopPropagation(),children:Ia.jsx(Ir,{onEdit:t?()=>{t(u.item),f(null)}:void 0,onDelete:o?()=>{o(u.item),f(null)}:void 0,onToggleStatus:n?()=>{n(u.item),f(null)}:void 0,isActive:u.item.is_actived,canDelete:!!o,renderAs:"context"})})]})};function zr(e,a,t,s){const[n,l]=r({}),[c,d]=r({}),m=o(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),f=e=>{if(void 0!==e.defaultValue)return e.defaultValue;switch(e.type){case"multiselect":return[];case"checkbox":return!1;case"number":return 0;case"date":default:return"";case"group":return{}}},p=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(t){return f(e)}},h=(e,a,t)=>{if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length))return`${e.label} é obrigatório`;if(e.validation){let 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(a,t);if(e)return e}catch(s){}}};i(()=>{if(!s)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},r=e(m),n={};r.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);u(e)&&(t=e.toISOString().split("T")[0])}else u(t)&&(t=t.toISOString().split("T")[0])}else t=f(e);n[e.name]=t}),r.forEach(e=>{const a=p(e,n);void 0!==a&&(n[e.name]=a)}),a&&Object.keys(a).forEach(e=>{r.find(a=>a.name===e)||void 0===a[e]||(n[e]=a[e])}),l(n),d({}),t&&t(n)},[m,a,t,s]);const x=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...x(e.fields))}),a},g=()=>{const e=x(m),a={};return e.forEach(e=>{const t=h(e,n[e.name],n);t&&(a[e.name]=t)}),d(a),0===Object.keys(a).length};return{formData:n,errors:c,updateField:(e,a)=>{l(s=>{const r={...s,[e]:a},n=((e,a)=>{let t={...a};const s=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...s(e.fields))}),a};return s(m).filter(a=>a.dependsOn===e).forEach(e=>{const a=p(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,r);return t&&t(n),n}),c[e]&&d(a=>{const t={...a};return delete t[e],t});const s=x(m).find(a=>a.name===e);if(s){const t=h(s,a,n);t&&d(a=>({...a,[e]:t}))}},validateForm:g,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),g()&&e(n)}}}const Or=oa.Root,$r=oa.Trigger,Fr=e.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>Ia.jsx(oa.Portal,{children:Ia.jsx(oa.Content,{ref:r,align:a,sideOffset:t,className:Aa("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})}));Fr.displayName=oa.Content.displayName;const Lr=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Mr=({value:e="#3b82f6",onChange:a,label:t})=>Ia.jsxs("div",{className:"space-y-2",children:[t&&Ia.jsx(Va,{children:t}),Ia.jsxs(Or,{children:[Ia.jsx($r,{asChild:!0,children:Ia.jsxs(La,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[Ia.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),Ia.jsx(Fr,{className:"w-64",children:Ia.jsxs("div",{className:"space-y-3",children:[Ia.jsxs("div",{children:[Ia.jsx(Va,{htmlFor:"color-input",children:"Cor personalizada"}),Ia.jsx(Ma,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),Ia.jsxs("div",{children:[Ia.jsx(Va,{children:"Cores predefinidas"}),Ia.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Lr.map(e=>Ia.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>a?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),Ur=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(la.Root,{ref:s,className:Aa("relative overflow-hidden",e),...t,children:[Ia.jsx(la.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),Ia.jsx(Vr,{}),Ia.jsx(la.Corner,{})]}));Ur.displayName=la.Root.displayName;const Vr=e.forwardRef(({className:e,orientation:a="vertical",...t},s)=>Ia.jsx(la.ScrollAreaScrollbar,{ref:s,orientation:a,className:Aa("flex touch-none select-none transition-colors","vertical"===a&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...t,children:Ia.jsx(la.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Vr.displayName=la.ScrollAreaScrollbar.displayName;const Br={Star:Pe,Heart:_e,Home:Re,User:Te,Settings:Ce,Mail:Se,Phone:ke,Calendar:we,MapPin:je,Camera:Ne,Image:ve,Music:ye,Video:be,Book:ge,Bookmark:xe,Search:T,Filter:he,Edit:E,Trash2:D,Plus:pe,Minus:fe,Check:k,X:N,ChevronDown:j,ChevronUp:w,ChevronLeft:ue,ChevronRight:_,ArrowUp:$,ArrowDown:F,ArrowLeft:me,ArrowRight:de,Clock:ce,Bell:le,AlertCircle:C,Info:oe,HelpCircle:ie,Download:ne,Upload:re,Share:se,Copy:te,Save:ae,FileText:ee,Folder:Z,FolderOpen:G,Archive:Y,Lock:X,Unlock:J,Eye:K,EyeOff:Q,Shield:H,Key:q,Zap:W,Flame:B,Sparkles:V,Award:U,Trophy:M,Target:L},Wr=({value:e="Star",onChange:a,label:t})=>{const[s,n]=r(""),i=Object.entries(Br).filter(([e])=>e.toLowerCase().includes(s.toLowerCase())),o=Br[e]||Pe;return Ia.jsxs("div",{className:"space-y-2",children:[t&&Ia.jsx(Va,{children:t}),Ia.jsxs(Or,{children:[Ia.jsx($r,{asChild:!0,children:Ia.jsxs(La,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[Ia.jsx(o,{className:"h-4 w-4 mr-2"}),e]})}),Ia.jsx(Fr,{className:"w-80",children:Ia.jsxs("div",{className:"space-y-3",children:[Ia.jsxs("div",{children:[Ia.jsx(Va,{htmlFor:"icon-search",children:"Buscar ícone"}),Ia.jsx(Ma,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:s,onChange:e=>n(e.target.value)})]}),Ia.jsx(Ur,{className:"h-48",children:Ia.jsx("div",{className:"grid grid-cols-6 gap-2",children:i.map(([t,s])=>Ia.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(e===t?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(t),title:t,children:Ia.jsx(s,{className:"h-4 w-4"})},t))})})]})})]})]})},qr=(e={})=>{const{user:a,alias:t}=Ms(),s=ws(),{enabled:r=s.enableUsersApi}=e;return Xe({queryKey:["qualiex-users",t],queryFn:()=>hs.getUsers(t),enabled:r&&!!t&&!!a,retry:2,retryDelay:1e3})},Hr=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:n,enabled:i})=>{const{data:l=[],isLoading:c,error:d}=qr({enabled:i}),[m,u]=r(""),f=o(()=>{const e=[...l].sort((e,a)=>e.userName.localeCompare(a.userName,"pt-BR"));if(!m.trim())return e;const a=m.toLowerCase();return e.filter(e=>e.userName.toLowerCase().includes(a))},[l,m]);return c?Ia.jsx(cr,{className:Aa("h-10 w-full",n)}):d?Ia.jsxs("div",{className:`flex items-center gap-2 p-2 border border-destructive/20 rounded-md ${n}`,children:[Ia.jsx(C,{className:"h-4 w-4 text-destructive"}),Ia.jsx("span",{className:"text-sm text-destructive",children:"Erro ao carregar usuários"})]}):Ia.jsxs(pt,{value:e,onValueChange:a,disabled:s||0===l.length,children:[Ia.jsx(xt,{className:n,children:Ia.jsx(ht,{placeholder:t})}),Ia.jsxs(yt,{children:[Ia.jsx("div",{className:"px-2 pb-2",children:Ia.jsxs("div",{className:"relative",children:[Ia.jsx(T,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),Ia.jsx(Ma,{placeholder:"Buscar usuário...",value:m,onChange:e=>u(e.target.value),onKeyDown:e=>e.stopPropagation(),className:"pl-8 h-9"})]})}),0===f.length?Ia.jsx(vt,{value:"no-users",disabled:!0,children:m?"Nenhum usuário encontrado":"Nenhum usuário disponível"}):f.map(e=>Ia.jsx(vt,{value:e.userId,children:e.userName},e.userId))]})]})},Qr=({value:e,onChange:a,placeholder:t="Selecionar responsável",disabled:s,className:r})=>Ia.jsxs(pt,{value:e,onValueChange:a,disabled:s,children:[Ia.jsx(xt,{className:r,children:Ia.jsx(ht,{placeholder:t})}),Ia.jsx(yt,{children:Ia.jsx(vt,{value:"placeholder",children:"Responsável placeholder"})})]});function Kr({title:e,sections:t,initialData:s,onSubmit:i,onCancel:l,open:c,submitButtonText:d="Salvar",isLoading:m=!1,usersData:u}){const[f,p]=r(t?.[0]?.id||""),h=o(()=>t&&Array.isArray(t)?t.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[t]),{formData:x,errors:g,updateField:b,handleSubmit:y}=zr(h,s,void 0,c),v=o(()=>t&&Array.isArray(t)?t.map(e=>({...e,disabled:e.condition?!e.condition(x):e.disabled||!1})):[],[t,x]),N=o(()=>{const e=v.find(e=>e.id===f);if(e&&!e.disabled)return f;const a=v.find(e=>!e.disabled);return a?.id||f},[v,f]);a.useEffect(()=>{N!==f&&p(N)},[N,f]);const j=v.find(e=>e.id===N),w=e=>{const a=(e.computedValue,x[e.name]),t=void 0!==a?a:"",s=g[e.name];switch(e.type){case"group":return Ia.jsxs("div",{className:"space-y-2",children:[e.label,Ia.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>w(e))})]},e.name);case"user-select":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Hr,{value:t||"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(jt,{id:e.name,value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsxs(pt,{value:String(t),onValueChange:a=>{b(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[Ia.jsx(xt,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:Ia.jsx(ht,{placeholder:e.placeholder})}),Ia.jsx(yt,{children:e.options?.map(e=>Ia.jsx(vt,{value:e.value,children:e.label},e.value))})]}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"date",value:String(t),onChange:a=>b(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:Aa("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Qr,{value:String(t),onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":const a=ws();return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Hr,{value:t??"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:a.enableUsersApi}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return Ia.jsxs("div",{children:[Ia.jsxs(Va,{htmlFor:e.name,children:[e.label," ",e.required&&Ia.jsx("span",{className:"text-destructive",children:"*"})]}),Ia.jsx(Ma,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>b(e.name,a.target.value),className:"h-10"}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return Ia.jsxs("div",{children:[Ia.jsx(Mr,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>b(e.name,a)}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return Ia.jsxs("div",{children:[Ia.jsx(Wr,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>b(e.name,a)}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);b(e.name,s)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,min:e.min,step:e.step||"1"}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"text",value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,readOnly:e.disabled}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},k=n(()=>{if(!j)return null;if(j.disabled)return Ia.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[Ia.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:Ia.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:Ia.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),Ia.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),Ia.jsx("p",{className:"text-muted-foreground max-w-sm",children:'Complete as informações obrigatórias na seção "Informações Gerais" para acessar esta seção.'})]});if(j.component){const e=j.component;return Ia.jsx(e,{formData:x,updateField:b,errors:g,users:u,disabled:j.disabled})}return Ia.jsx("div",{className:"space-y-3",children:j.fields.map(w)})},[j,x,b,g,u,w]),S=Ia.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[v.length>1&&Ia.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:Ia.jsx("div",{className:"flex space-x-2",children:v.map(e=>Ia.jsx(La,{variant:N===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=v.find(a=>a.id===e);a&&!a.disabled&&p(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),Ia.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:m?Ia.jsx("div",{className:"flex items-center justify-center py-12",children:Ia.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):Ia.jsxs("form",{onSubmit:y(i),className:"space-y-3 md:space-y-4",children:[k(),Ia.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[Ia.jsx(La,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),Ia.jsx(La,{type:"submit",disabled:m,children:d})]})]})})]});return Ia.jsx(Ja,{open:c,onOpenChange:e=>{!1===e&&!0===c&&l()},children:Ia.jsxs(et,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[Ia.jsxs(at,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[Ia.jsx(st,{className:"text-white",children:e}),Ia.jsx(rt,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),S]})})}function Jr({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:i=!1,submitButtonText:o="Salvar"}){return Ia.jsx(Kr,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:i,submitButtonText:o})}const Xr=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:i=0,totalPages:o=1}=a,l=i>0?(t-1)*s+1:0,c=Math.min(t*s,i);return Ia.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:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx("span",{children:"Itens por página"}),Ia.jsxs(pt,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[Ia.jsx(xt,{className:"w-20 h-8 border-border",children:Ia.jsx(ht,{})}),Ia.jsxs(yt,{children:[Ia.jsx(vt,{value:"10",children:"10"}),Ia.jsx(vt,{value:"25",children:"25"}),Ia.jsx(vt,{value:"50",children:"50"}),Ia.jsx(vt,{value:"100",children:"100"})]})]})]}),Ia.jsx("div",{className:"flex-1 flex justify-center",children:Ia.jsx("span",{children:i>0?`${l}-${c} de ${i} itens (página ${t} de ${o})`:"0 itens"})}),Ia.jsxs("div",{className:"flex items-center space-x-1",children:[Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:Ia.jsx(Ee,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:Ia.jsx(ue,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(Math.min(o,t+1)),disabled:t===o,children:Ia.jsx(_,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(o),disabled:t===o,children:Ia.jsx(Ie,{className:"h-4 w-4"})})]})]})},Yr=({selectedCount:e,onClearSelection:a,onBulkDelete:t,customActions:s=[],isLoading:r=!1})=>Ia.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[Ia.jsxs("div",{className:"flex items-center gap-3",children:[Ia.jsxs("span",{className:"text-sm font-medium",children:[e," ",1===e?"item selecionado":"itens selecionados"]}),Ia.jsxs(La,{variant:"ghost",size:"sm",onClick:a,className:"h-7 px-2",children:[Ia.jsx(N,{size:14,className:"mr-1"}),"Limpar"]})]}),Ia.jsxs("div",{className:"flex items-center gap-2",children:[s.map((e,a)=>{const t=e.icon;return Ia.jsxs(La,{variant:e.variant||"outline",size:"sm",onClick:()=>e.action([]),disabled:r,className:"h-7",children:[t&&Ia.jsx(t,{size:14,className:"mr-1"}),e.label]},a)}),t&&Ia.jsxs(La,{variant:"destructive",size:"sm",onClick:t,disabled:r,className:"h-7",children:[Ia.jsx(D,{size:14,className:"mr-1"}),"Deletar"]})]})]});function Gr({manager:e,config:a,formSections:t,onSave:s,onToggleStatus:n}){const{setSearchVisible:o}=Ms(),[l,c]=r(!1),[d,m]=r(null),[u,f]=r({isOpen:!1,entityId:null,entityName:""}),[p,h]=r({isOpen:!1,count:0});i(()=>(o(!0),()=>{o(!1)}),[o]);return Ia.jsxs("div",{className:"flex-1 flex flex-col h-full",children:[a.enableBulkActions&&e.selectedIds.length>0&&Ia.jsx(Yr,{selectedCount:e.selectedIds.length,onClearSelection:e.clearSelection,onBulkDelete:s?()=>{h({isOpen:!0,count:e.selectedIds.length})}:void 0,customActions:a.bulkActions,isLoading:e.isBulkDeleting}),Ia.jsx("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b",children:Ia.jsx("div",{className:"flex items-center gap-4",children:Ia.jsxs(La,{onClick:()=>{m(null),c(!0)},className:"flex items-center gap-2",children:[Ia.jsx(pe,{size:16}),"Novo"]})})}),Ia.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:Ia.jsx(Dr,{manager:e,columns:a.columns,onEdit:e=>{m(e),c(!0)},onDelete:e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:n,enableBulkActions:a.enableBulkActions})}),Ia.jsx("div",{className:"flex-shrink-0 border-t bg-background",children:Ia.jsx(Xr,{manager:e})}),Ia.jsx(Jr,{open:l,title:d?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:t,initialData:d||void 0,onSubmit:e=>{s(e),c(!1),m(null)},onCancel:()=>{c(!1),m(null)},isLoading:e.isLoading,submitButtonText:d?"Atualizar":"Criar"}),Ia.jsx(er,{open:u.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:a=>{u.entityId&&(e.deleteEntity(u.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:u.entityId?{id:u.entityId,title:u.entityName}:void 0,entityName:a.entityName,isDeleting:e.isDeleting}),Ia.jsx(er,{open:p.isOpen,onOpenChange:()=>h({isOpen:!1,count:0}),onConfirm:()=>(e.bulkDelete?.(e.selectedIds),void h({isOpen:!1,count:0})),item:{id:"bulk",title:`${p.count} ${1===p.count?"item":"itens"}`},entityName:a.entityName,isDeleting:e.isBulkDeleting})]})}function Zr(e){return()=>{const{manager:a,config:t,onSave:s,onToggleStatus:r}=e,n={entityName:t.entityName,entityNamePlural:t.entityNamePlural,filters:t.filters||[],columns:t.columns,cardFields:t.cardFields||[]};return Ia.jsx(Gr,{manager:a,config:n,formSections:t.formSections,onSave:s,onToggleStatus:r})}}function en(e,a,t){return s=>{if(s.id){const a=t(s);e.updateEntity(s.id,a)}else{const t=a(s);e.createEntity(t)}}}function an(e,a,t={}){const s=[];return Object.keys(a).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const t=a[e],r={key:e,header:sn(e),label:sn(e),...tn(e,t),sortable:!0,searchable:"string"==typeof t};s.push(r)}}),{title:e,columns:s,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...t}}function tn(e,a){const t=e.toLowerCase();return t.includes("email")?{type:"email",required:!0}:t.includes("phone")||t.includes("tel")?{type:"tel"}:t.includes("description")||t.includes("content")||t.includes("notes")?{type:"textarea"}:t.includes("status")||t.includes("type")||t.includes("category")?{type:"select",options:[]}:"boolean"==typeof a?{type:"boolean"}:"number"==typeof a?{type:"number"}:a instanceof Date?{type:"date"}:{type:"text"}}function sn(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const rn={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}};function nn(e,a,t={}){const s=rn[e];return an(s.title,a,{...s,...t})}const on=({children:e})=>{const{isAuthenticated:t,isLoading:s}=Ms();if(a.useEffect(()=>{if(!t)return;const e=()=>{as.areAllTokensValid()||Os.logout()};e();const a=setInterval(e,3e5);return()=>clearInterval(a)},[t]),a.useEffect(()=>{if(s)return;if(t)return;if(as.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),a=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,r=new URLSearchParams(a);if(e.has("access_token")||r.has("access_token"))return;const n=vs();(async()=>{n?await Os.loginDev():Os.loginProd()})()},[t,s]),s)return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Carregando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!t){if(new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token"))return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Processando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})});try{if(as.areAllTokensValid())return Ia.jsx(Ia.Fragment,{children:e})}catch{}return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Iniciando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:vs()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return Ia.jsx(Ia.Fragment,{children:e})},ln=f("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>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"}}),cn=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx("div",{ref:s,role:"alert",className:Aa(ln({variant:a}),e),...t}));cn.displayName="Alert";const dn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("h5",{ref:t,className:Aa("mb-1 font-medium leading-none tracking-tight",e),...a}));dn.displayName="AlertTitle";const mn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("text-sm [&_p]:leading-relaxed",e),...a}));mn.displayName="AlertDescription";const un=()=>{const{processCallback:e}=Ms(),[a,t]=r(null),[s,n]=r(!1);i(()=>{(async()=>{try{if(await e()){window.history.replaceState({},document.title,"/");const e=localStorage.getItem("auth_return_url");e?(localStorage.removeItem("auth_return_url"),window.location.href=e):window.location.href="/"}else t("Falha na autenticação. Tente novamente.")}catch(a){t(a?.message||"Erro durante a autenticação. Tente novamente.")}})()},[e]);const o=async()=>{n(!0),t(null);try{await e()||t("Falha na autenticação. Tente novamente.")}catch(a){t(a?.message||"Erro ao tentar novamente.")}finally{n(!1)}},l=()=>{window.location.href="/"};return a?Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsxs(qa,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[Ia.jsx(C,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),Ia.jsxs(Qa,{className:"space-y-4",children:[Ia.jsx(cn,{variant:"destructive",children:Ia.jsx(mn,{children:a})}),Ia.jsx("div",{className:"text-sm text-muted-foreground",children:Ia.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),Ia.jsxs("div",{className:"flex gap-2",children:[Ia.jsx(La,{onClick:o,disabled:s,className:"flex-1",children:s?Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(Ct,{size:"sm",className:"mr-2"}),"Tentando..."]}):Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(Ae,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),Ia.jsx(La,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"flex justify-center mb-4",children:Ia.jsx(Ct,{size:"lg"})}),Ia.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},fn=()=>Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),Ia.jsxs(Qa,{className:"text-center space-y-4",children:[Ia.jsx("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),Ia.jsx(La,{onClick:async()=>{vs()?await Os.loginDev():Os.loginProd()},className:"w-full",size:"lg",children:vs()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})});function pn(e){return{queryClient:e.queryClient||new Ge({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}const hn=ca.Root,xn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ca.Item,{ref:t,className:Aa("border-b",e),...a}));xn.displayName="AccordionItem";const gn=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsx(ca.Header,{className:"flex",children:Ia.jsxs(ca.Trigger,{ref:s,className:Aa("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...t,children:[a,Ia.jsx(j,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));gn.displayName=ca.Trigger.displayName;const bn=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsx(ca.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...t,children:Ia.jsx("div",{className:Aa("pb-4 pt-0",e),children:a})}));bn.displayName=ca.Content.displayName;const yn=da.Root,vn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Root,{ref:t,className:Aa("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...a}));vn.displayName=ma.Root.displayName;const Nn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Image,{ref:t,className:Aa("aspect-square h-full w-full",e),...a}));Nn.displayName=ma.Image.displayName;const jn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Fallback,{ref:t,className:Aa("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...a}));jn.displayName=ma.Fallback.displayName;const wn=e.forwardRef(({...e},a)=>Ia.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));wn.displayName="Breadcrumb";const kn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ol",{ref:t,className:Aa("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));kn.displayName="BreadcrumbList";const Sn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,className:Aa("inline-flex items-center gap-1.5",e),...a}));Sn.displayName="BreadcrumbItem";const Cn=e.forwardRef(({asChild:a,className:t,...s},r)=>{const n=a?e.Fragment:"a";return Ia.jsx(n,{ref:r,className:Aa("transition-colors hover:text-foreground",t),...s})});Cn.displayName="BreadcrumbLink";const Tn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:Aa("font-normal text-foreground",e),...a}));Tn.displayName="BreadcrumbPage";const Rn=({children:e,className:a,...t})=>Ia.jsx("li",{role:"presentation","aria-hidden":"true",className:Aa("[&>svg]:size-3.5",a),...t,children:e??Ia.jsx(_,{})});Rn.displayName="BreadcrumbSeparator";const _n=({className:e,...a})=>Ia.jsxs("span",{role:"presentation","aria-hidden":"true",className:Aa("flex h-9 w-9 items-center justify-center",e),...a,children:[Ia.jsx(De,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"More"})]});function Pn(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function En(e){return(a,t)=>{let s;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,r=t?.width?String(t.width):a;s=e.formattingValues[r]||e.formattingValues[a]}else{const a=e.defaultWidth,r=t?.width?String(t.width):e.defaultWidth;s=e.values[r]||e.values[a]}return s[e.argumentCallback?e.argumentCallback(a):a]}}function In(e){return(a,t={})=>{const s=t.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=a.match(r);if(!n)return null;const i=n[0],o=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(o,e=>e.test(i)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(o,e=>e.test(i));let c;c=e.valueCallback?e.valueCallback(l):l,c=t.valueCallback?t.valueCallback(c):c;return{value:c,rest:a.slice(i.length)}}}_n.displayName="BreadcrumbEllipsis";const An={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"}},Dn={date:Pn({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:Pn({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:Pn({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},zn={lastWeek:e=>{const a=e.getDay();return"'"+(0===a||6===a?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},On={ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:En({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:En({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:En({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:En({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:En({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"})},$n={ordinalNumber:(Fn={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(Fn.matchPattern);if(!t)return null;const s=t[0],r=e.match(Fn.parsePattern);if(!r)return null;let n=Fn.valueCallback?Fn.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:In({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:In({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:In({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:In({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:In({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 Fn;const Ln={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=An[e];return s="string"==typeof r?r:1===a?r.one:r.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+s:"há "+s:s},formatLong:Dn,formatRelative:(e,a,t,s)=>{const r=zn[e];return"function"==typeof r?r(a):r},localize:On,match:$n,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Mn({className:e,classNames:a,showOutsideDays:t=!0,...s}){return Ia.jsx(ua,{showOutsideDays:t,className:Aa("p-3",e),locale:Ln,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:Aa(Fa({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:Aa(Fa({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",...a},components:{IconLeft:({...e})=>Ia.jsx(ue,{className:"h-4 w-4"}),IconRight:({...e})=>Ia.jsx(_,{className:"h-4 w-4"})},...s})}Mn.displayName="Calendar";const Un=fa.Root,Vn=fa.CollapsibleTrigger,Bn=fa.CollapsibleContent,Wn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));Wn.displayName="Command";const qn=({children:e,...a})=>Ia.jsx("div",{...a,children:Ia.jsx(Wn,{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})}),Hn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:Ia.jsx("input",{ref:t,className:Aa("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...a})}));Hn.displayName="CommandInput";const Qn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));Qn.displayName="CommandList";const Kn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("py-6 text-center text-sm text-muted-foreground",e),...a}));Kn.displayName="CommandEmpty";const Jn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...a}));Jn.displayName="CommandGroup";const Xn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("-mx-1 h-px bg-border",e),...a}));Xn.displayName="CommandSeparator";const Yn=e.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>Ia.jsx("div",{ref:n,className:Aa("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",e),"data-disabled":a,onClick:()=>!a&&t?.(s||""),...r}));Yn.displayName="CommandItem";const Gn=({className:e,...a})=>Ia.jsx("span",{className:Aa("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});Gn.displayName="CommandShortcut";const Zn={Root:function({children:e,className:a}){return Ia.jsx("div",{className:Aa("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return Ia.jsx(Ba,{className:Aa("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:Ia.jsx(Qa,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return Ia.jsxs("div",{className:Aa("flex justify-between items-center text-sm",t),children:[Ia.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),Ia.jsx("span",{className:"text-foreground",children:a})]})}},ei={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))]"},ai={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function ti({children:e,cols:a="auto-fit",gap:t="md",className:s}){return Ia.jsx("div",{className:Aa("grid",ei[a],ai[t],s),children:e})}function si({items:e,maxItems:a=3,className:t}){return e.length>a&&(e[0],e.slice(-(a-1))),e.length,Ia.jsx(wn,{className:t})}function ri(){const e=ea();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let s="";return a.forEach((e,r)=>{s+=`/${e}`;const n=r===a.length-1,i=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:i,href:n?void 0:s,isCurrentPage:n})}),t})()}const ni=({className:e,...a})=>Ia.jsx("nav",{role:"navigation","aria-label":"pagination",className:Aa("mx-auto flex w-full justify-center",e),...a});ni.displayName="Pagination";const ii=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,className:Aa("flex flex-row items-center gap-1",e),...a}));ii.displayName="PaginationContent";const oi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,className:Aa("",e),...a}));oi.displayName="PaginationItem";const li=({className:e,isActive:a,size:t="icon",...s})=>Ia.jsx("a",{"aria-current":a?"page":void 0,className:Aa(Fa({variant:a?"outline":"ghost",size:t}),e),...s});li.displayName="PaginationLink";const ci=({className:e,...a})=>Ia.jsxs(li,{"aria-label":"Go to previous page",size:"default",className:Aa("gap-1 pl-2.5",e),...a,children:[Ia.jsx(ue,{className:"h-4 w-4"}),Ia.jsx("span",{children:"Previous"})]});ci.displayName="PaginationPrevious";const di=({className:e,...a})=>Ia.jsxs(li,{"aria-label":"Go to next page",size:"default",className:Aa("gap-1 pr-2.5",e),...a,children:[Ia.jsx("span",{children:"Next"}),Ia.jsx(_,{className:"h-4 w-4"})]});di.displayName="PaginationNext";const mi=({className:e,...a})=>Ia.jsxs("span",{"aria-hidden":!0,className:Aa("flex h-9 w-9 items-center justify-center",e),...a,children:[Ia.jsx(De,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"More pages"})]});mi.displayName="PaginationEllipsis";const ui=e.forwardRef(({className:e,value:a,...t},s)=>Ia.jsx(pa.Root,{ref:s,className:Aa("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...t,children:Ia.jsx(pa.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));ui.displayName=pa.Root.displayName;const fi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ha.Root,{className:Aa("grid gap-2",e),...a,ref:t}));fi.displayName=ha.Root.displayName;const pi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ha.Item,{ref:t,className:Aa("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),...a,children:Ia.jsx(ha.Indicator,{className:"flex items-center justify-center",children:Ia.jsx(P,{className:"h-2.5 w-2.5 fill-current text-current"})})}));pi.displayName=ha.Item.displayName;const hi=e.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>Ia.jsx(xa.Root,{ref:r,decorative:t,orientation:a,className:Aa("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));hi.displayName=xa.Root.displayName;const xi=v.Root,gi=v.Trigger,bi=v.Close,yi=v.Portal,vi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Overlay,{className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));vi.displayName=v.Overlay.displayName;const Ni=f("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"}}),ji=e.forwardRef(({side:e="right",className:a,children:t,...s},r)=>Ia.jsxs(yi,{children:[Ia.jsx(vi,{}),Ia.jsxs(v.Content,{ref:r,className:Aa(Ni({side:e}),a),...s,children:[t,Ia.jsxs(v.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:[Ia.jsx(N,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));ji.displayName=v.Content.displayName;const wi=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-2 text-center sm:text-left",e),...a});wi.displayName="SheetHeader";const ki=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});ki.displayName="SheetFooter";const Si=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Title,{ref:t,className:Aa("text-lg font-semibold text-foreground",e),...a}));Si.displayName=v.Title.displayName;const Ci=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ci.displayName=v.Description.displayName;const Ti=ga.Provider,Ri=ga.Root,_i=ga.Trigger,Pi=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>Ia.jsx(ga.Content,{ref:s,sideOffset:a,className:Aa("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));Pi.displayName=ga.Content.displayName;const Ei="sidebar:state",Ii=e.createContext(null);function Ai(){const a=e.useContext(Ii);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}const Di=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:r,style:n,children:i,...o},l)=>{const[c,d]=e.useState(!1);e.useEffect(()=>{const e=()=>d(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[m,u]=e.useState(!1),[f,p]=e.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(Ei);return null!==e?"true"===e:a}return a}),h=t??f,x=e.useCallback(e=>{const a="function"==typeof e?e(h):e;s?s(a):p(a),"undefined"!=typeof window&&localStorage.setItem(Ei,String(a))},[s,h]),g=e.useCallback(()=>c?u(e=>!e):x(e=>!e),[c,x,u]);e.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);const b=h?"expanded":"collapsed",y=e.useMemo(()=>({state:b,open:h,setOpen:x,isMobile:c,openMobile:m,setOpenMobile:u,toggleSidebar:g}),[b,h,x,c,m,u,g]);return Ia.jsx(Ii.Provider,{value:y,children:Ia.jsx(Ti,{delayDuration:0,children:Ia.jsx("div",{className:Aa("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",r),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...n},ref:l,...o,children:i})})})});Di.displayName="SidebarProvider";const zi=e.forwardRef(({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:r,...n},i)=>{const{isMobile:o,state:l,openMobile:c,setOpenMobile:d}=Ai();return"none"===t?Ia.jsx("div",{className:Aa("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:i,...n,children:r}):o?Ia.jsx(xi,{open:c,onOpenChange:d,...n,children:Ia.jsxs(ji,{"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:[Ia.jsx(Si,{className:"sr-only",children:"Menu de Navegação"}),Ia.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):Ia.jsxs("div",{ref:i,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?t:"","data-variant":a,"data-side":e,children:[Ia.jsx("div",{className:Aa("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),Ia.jsx("div",{className:Aa("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...n,children:Ia.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})})]})});zi.displayName="Sidebar";const Oi=e.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Ai();return Ia.jsxs(La,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Aa("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[Ia.jsx(ze,{}),Ia.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Oi.displayName="SidebarTrigger";const $i=e.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Ai();return Ia.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:Aa("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})});$i.displayName="SidebarRail";const Fi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("main",{ref:t,className:Aa("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...a}));Fi.displayName="SidebarInset";const Li=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Ma,{ref:t,"data-sidebar":"input",className:Aa("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));Li.displayName="SidebarInput";const Mi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"header",className:Aa("flex flex-col gap-2 p-2",e),...a}));Mi.displayName="SidebarHeader";const Ui=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"footer",className:Aa("flex flex-col gap-2 p-2",e),...a}));Ui.displayName="SidebarFooter";const Vi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(hi,{ref:t,"data-sidebar":"separator",className:Aa("mx-2 w-auto bg-sidebar-border",e),...a}));Vi.displayName="SidebarSeparator";const Bi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"content",className:Aa("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));Bi.displayName="SidebarContent";const Wi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"group",className:Aa("relative flex w-full min-w-0 flex-col p-2",e),...a}));Wi.displayName="SidebarGroup";const qi=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?m:"div";return Ia.jsx(r,{ref:s,"data-sidebar":"group-label",className:Aa("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...t})});qi.displayName="SidebarGroupLabel";const Hi=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?m:"button";return Ia.jsx(r,{ref:s,"data-sidebar":"group-action",className:Aa("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...t})});Hi.displayName="SidebarGroupAction";const Qi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"group-content",className:Aa("w-full text-sm",e),...a}));Qi.displayName="SidebarGroupContent";const Ki=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,"data-sidebar":"menu",className:Aa("flex w-full min-w-0 flex-col gap-1",e),...a}));Ki.displayName="SidebarMenu";const Ji=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,"data-sidebar":"menu-item",className:Aa("group/menu-item relative",e),...a}));Ji.displayName="SidebarMenuItem";const Xi=f("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),Yi=e.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:r,className:n,...i},o)=>{const l=e?m:"button",{isMobile:c,state:d}=Ai(),u=Ia.jsx(l,{ref:o,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:Aa(Xi({variant:t,size:s}),n),...i});return r?("string"==typeof r&&(r={children:r}),Ia.jsxs(Ri,{children:[Ia.jsx(_i,{asChild:!0,children:u}),Ia.jsx(Pi,{side:"right",align:"center",hidden:"collapsed"!==d||c,...r})]})):u});Yi.displayName="SidebarMenuButton";const Gi=e.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},r)=>{const n=a?m:"button";return Ia.jsx(n,{ref:r,"data-sidebar":"menu-action",className:Aa("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",t&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...s})});Gi.displayName="SidebarMenuAction";const Zi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:Aa("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...a}));Zi.displayName="SidebarMenuBadge";const eo=e.forwardRef(({className:a,showIcon:t=!1,...s},r)=>{const n=e.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return Ia.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Aa("rounded-md h-8 flex gap-2 px-2 items-center",a),...s,children:[t&&Ia.jsx("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),Ia.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":n}})]})});eo.displayName="SidebarMenuSkeleton";const ao=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:Aa("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...a}));ao.displayName="SidebarMenuSub";const to=e.forwardRef(({...e},a)=>Ia.jsx("li",{ref:a,...e}));to.displayName="SidebarMenuSubItem";const so=e.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...r},n)=>{const i=e?m:"a";return Ia.jsx(i,{ref:n,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:Aa("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===a&&"text-xs","md"===a&&"text-sm","group-data-[collapsible=icon]:hidden",s),...r})});so.displayName="SidebarMenuSubButton";const ro=e.forwardRef(({className:e,...a},t)=>Ia.jsxs(ba.Root,{ref:t,className:Aa("relative flex w-full touch-none select-none items-center",e),...a,children:[Ia.jsx(ba.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:Ia.jsx(ba.Range,{className:"absolute h-full bg-primary"})}),Ia.jsx(ba.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"})]}));ro.displayName=ba.Root.displayName;const no=({...e})=>{const{theme:a="system"}=ya();return Ia.jsx(ra,{theme:a,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})};function io(e,a,{checkForDefaultPrevented:t=!0}={}){return function(s){if(e?.(s),!1===t||!s.defaultPrevented)return a?.(s)}}function oo(e,a){if("function"==typeof e)return e(a);null!=e&&(e.current=a)}function lo(...a){return e.useCallback(function(...e){return a=>{let t=!1;const s=e.map(e=>{const s=oo(e,a);return t||"function"!=typeof s||(t=!0),s});if(t)return()=>{for(let a=0;a<s.length;a++){const t=s[a];"function"==typeof t?t():oo(e[a],null)}}}}(...a),a)}function co(...a){const t=a[0];if(1===a.length)return t;const s=()=>{const s=a.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(a){const r=s.reduce((e,{useScope:t,scopeName:s})=>({...e,...t(a)[`__scope${s}`]}),{});return e.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return s.scopeName=t.scopeName,s}var mo=globalThis?.document?e.useLayoutEffect:()=>{},uo=e[" useInsertionEffect ".trim().toString()]||mo;function fo({prop:a,defaultProp:t,onChange:s=()=>{},caller:r}){const[n,i,o]=function({defaultProp:a,onChange:t}){const[s,r]=e.useState(a),n=e.useRef(s),i=e.useRef(t);return uo(()=>{i.current=t},[t]),e.useEffect(()=>{n.current!==s&&(i.current?.(s),n.current=s)},[s,n]),[s,r,i]}({defaultProp:t,onChange:s}),l=void 0!==a,c=l?a:n;{const t=e.useRef(void 0!==a);e.useEffect(()=>{const e=t.current;if(e!==l){}t.current=l},[l,r])}const d=e.useCallback(e=>{if(l){const t=function(e){return"function"==typeof e}(e)?e(a):e;t!==a&&o.current?.(t)}else i(e)},[l,a,i,o]);return[c,d]}var po=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,t)=>{const s=u(`Primitive.${t}`),r=e.forwardRef((e,a)=>{const{asChild:r,...n}=e,i=r?s:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),Ia.jsx(i,{...n,ref:a})});return r.displayName=`Primitive.${t}`,{...a,[t]:r}},{}),ho="Switch",[xo]=function(a,t=[]){let s=[];const r=()=>{const t=s.map(a=>e.createContext(a));return function(s){const r=s?.[a]||t;return e.useMemo(()=>({[`__scope${a}`]:{...s,[a]:r}}),[s,r])}};return r.scopeName=a,[function(t,r){const n=e.createContext(r),i=s.length;s=[...s,r];const o=t=>{const{scope:s,children:r,...o}=t,l=s?.[a]?.[i]||n,c=e.useMemo(()=>o,Object.values(o));return Ia.jsx(l.Provider,{value:c,children:r})};return o.displayName=t+"Provider",[o,function(s,o){const l=o?.[a]?.[i]||n,c=e.useContext(l);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${s}\` must be used within \`${t}\``)}]},co(r,...t)]}(ho),[go,bo]=xo(ho),yo=e.forwardRef((a,t)=>{const{__scopeSwitch:s,name:r,checked:n,defaultChecked:i,required:o,disabled:l,value:c="on",onCheckedChange:d,form:m,...u}=a,[f,p]=e.useState(null),h=lo(t,e=>p(e)),x=e.useRef(!1),g=!f||(m||!!f.closest("form")),[b,y]=fo({prop:n,defaultProp:i??!1,onChange:d,caller:ho});return Ia.jsxs(go,{scope:s,checked:b,disabled:l,children:[Ia.jsx(po.button,{type:"button",role:"switch","aria-checked":b,"aria-required":o,"data-state":wo(b),"data-disabled":l?"":void 0,disabled:l,value:c,...u,ref:h,onClick:io(a.onClick,e=>{y(e=>!e),g&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),g&&Ia.jsx(jo,{control:f,bubbles:!x.current,name:r,value:c,checked:b,required:o,disabled:l,form:m,style:{transform:"translateX(-100%)"}})]})});yo.displayName=ho;var vo="SwitchThumb",No=e.forwardRef((e,a)=>{const{__scopeSwitch:t,...s}=e,r=bo(vo,t);return Ia.jsx(po.span,{"data-state":wo(r.checked),"data-disabled":r.disabled?"":void 0,...s,ref:a})});No.displayName=vo;var jo=e.forwardRef(({__scopeSwitch:a,control:t,checked:s,bubbles:r=!0,...n},i)=>{const o=e.useRef(null),l=lo(o,i),c=function(a){const t=e.useRef({value:a,previous:a});return e.useMemo(()=>(t.current.value!==a&&(t.current.previous=t.current.value,t.current.value=a),t.current.previous),[a])}(s),d=function(a){const[t,s]=e.useState(void 0);return mo(()=>{if(a){s({width:a.offsetWidth,height:a.offsetHeight});const e=new ResizeObserver(e=>{if(!Array.isArray(e))return;if(!e.length)return;const t=e[0];let r,n;if("borderBoxSize"in t){const e=t.borderBoxSize,a=Array.isArray(e)?e[0]:e;r=a.inlineSize,n=a.blockSize}else r=a.offsetWidth,n=a.offsetHeight;s({width:r,height:n})});return e.observe(a,{box:"border-box"}),()=>e.unobserve(a)}s(void 0)},[a]),t}(t);return e.useEffect(()=>{const e=o.current;if(!e)return;const a=window.HTMLInputElement.prototype,t=Object.getOwnPropertyDescriptor(a,"checked").set;if(c!==s&&t){const a=new Event("click",{bubbles:r});t.call(e,s),e.dispatchEvent(a)}},[c,s,r]),Ia.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...n,tabIndex:-1,ref:l,style:{...n.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function wo(e){return e?"checked":"unchecked"}jo.displayName="SwitchBubbleInput";var ko=yo,So=No;const Co=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ko,{className:Aa("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),...a,ref:t,children:Ia.jsx(So,{className:Aa("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")})}));Co.displayName=ko.displayName;const To={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},Ro={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},_o={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function Po({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:i}){return Ia.jsx("div",{className:Aa("flex","column"===a?"flex-col":"flex-row",To[t],Ro[s],_o[r],n&&"flex-wrap",i),children:e})}const Eo=va.Root,Io=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.List,{ref:t,className:Aa("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...a}));Io.displayName=va.List.displayName;const Ao=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.Trigger,{ref:t,className:Aa("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),...a}));Ao.displayName=va.Trigger.displayName;const Do=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.Content,{ref:t,className:Aa("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...a}));function zo({children:e,className:a}){return Ia.jsx("div",{className:Aa("flex flex-col h-full",a),children:Ia.jsx(Ur,{className:"flex-1",children:Ia.jsx("div",{className:"space-y-6 p-6",children:e})})})}function Oo({title:e,description:a,actions:t,className:s}){return Ia.jsxs("div",{className:Aa("space-y-4",s),children:[Ia.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[Ia.jsxs("div",{className:"space-y-1",children:[Ia.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:e}),a&&Ia.jsx("p",{className:"text-muted-foreground text-sm",children:a})]}),t&&Ia.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:t})]}),Ia.jsx(hi,{})]})}function $o({children:e,className:a}){return Ia.jsx("div",{className:Aa("space-y-6",a),children:e})}Do.displayName=va.Content.displayName;const Fo=f("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Lo=e.forwardRef(({className:e,variant:a,size:t,...s},r)=>Ia.jsx(Na.Root,{ref:r,className:Aa(Fo({variant:a,size:t,className:e})),...s}));Lo.displayName=Na.Root.displayName;const Mo=e.createContext({size:"default",variant:"default"}),Uo=e.forwardRef(({className:e,variant:a,size:t,children:s,...r},n)=>Ia.jsx(ja.Root,{ref:n,className:Aa("flex items-center justify-center gap-1",e),...r,children:Ia.jsx(Mo.Provider,{value:{variant:a,size:t},children:s})}));Uo.displayName=ja.Root.displayName;const Vo=e.forwardRef(({className:a,children:t,variant:s,size:r,...n},i)=>{const o=e.useContext(Mo);return Ia.jsx(ja.Item,{ref:i,className:Aa(Fo({variant:o.variant||s,size:o.size||r}),a),...n,children:t})});Vo.displayName=ja.Item.displayName;const Bo=a.forwardRef(({variant:e="default",className:a,children:t,...s},r)=>Ia.jsx(La,{ref:r,variant:"outline",size:"sm",className:Aa("h-7 px-2 text-xs","border-primary/20 text-primary hover:bg-primary/5",a),...s,children:t||Ia.jsx(z,{size:12})}));function Wo({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?Ia.jsx(ti,{children:Array.from({length:3}).map((e,a)=>Ia.jsxs(Ba,{children:[Ia.jsxs(Wa,{children:[Ia.jsx(cr,{className:"h-4 w-3/4"}),Ia.jsx(cr,{className:"h-3 w-1/2"})]}),Ia.jsx(Qa,{children:Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-3 w-full"}),Ia.jsx(cr,{className:"h-3 w-2/3"})]})})]},a))}):Ia.jsx(Zn.Root,{children:e.entities.map(e=>Ia.jsxs(Zn.Item,{onClick:()=>t(e),children:[Ia.jsx(Wa,{className:"pb-3",children:Ia.jsxs("div",{className:"flex items-start justify-between",children:[Ia.jsxs("div",{className:"flex-1 min-w-0",children:[Ia.jsx(qa,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),Ia.jsx(Ha,{className:"text-sm",children:b(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:Ln})})]}),Ia.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&Ia.jsx(La,{variant:"external-link",size:"icon-xs",onClick:a=>{a.stopPropagation(),(e=>{try{const a=window.open(e,"_blank");a&&!a.closed&&void 0!==a.closed||(navigator.clipboard.writeText(e),sa.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:Ia.jsx(Oe,{className:"h-4 w-4"})}),Ia.jsx("div",{onClick:e=>e.stopPropagation(),children:Ia.jsx(Ar,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),Ia.jsx(Qa,{className:"pt-0",children:Ia.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?Ia.jsx(Zn.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})}function qo({manager:e,filters:a}){const{isSearchVisible:t}=Ms(),s=e.searchTerm;return Ia.jsx(Po,{direction:"column",gap:"md",className:"mb-6",children:Ia.jsxs(Po,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:[a.some(e=>"search"===e.type)&&!t&&Ia.jsxs("div",{className:"relative flex-1",children:[Ia.jsx(T,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),Ia.jsx(Ma,{placeholder:"Buscar...",value:e.searchTerm,onChange:a=>e.handleSearch(a.target.value),className:"pl-10"})]}),a.filter(e=>"custom"===e.type&&e.component).map((e,a)=>{const t=e.component;return Ia.jsx("div",{className:"w-full sm:w-auto",children:Ia.jsx(t,{...e.props})},a)}),s&&Ia.jsxs(La,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[Ia.jsx(N,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]})})}function Ho(e){const a=aa();return{onNew:()=>{const t=e.newPath||`${e.basePath}/new`;a(t)},onEdit:t=>{const s=e.editPath?e.editPath.replace(":id",t.id):`${e.basePath}/${t.id}/edit`;a(s)}}}function Qo(e){return Ho({basePath:e})}Bo.displayName="ActionButton";const Ko=a.memo(({variant:e="card",className:t="",selectedUnit:s,onUnitChange:r})=>{const{user:n,companies:i,alias:o,isAuthenticated:l,logout:c,switchUnit:d}=Ms(),m=i?.[0]||null,u=o?i?.find(e=>e.alias===o):m,f=i||[],p=s||u||m||m,h=a.useCallback(e=>{r?r(e):d(e)},[r,d]),x=a.useMemo(()=>{if(!f?.length)return[];const e=new Map;f.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===p?.alias),s=a.filter(e=>e.alias!==p?.alias);return s.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...s]:s},[f,p?.alias]);if(!l||!n)return null;const g=()=>Ia.jsxs(Ia.Fragment,{children:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx("div",{className:"flex-shrink-0",children:Ia.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:Ia.jsx(Te,{className:"h-5 w-5 text-primary-foreground"})})}),Ia.jsxs("div",{className:"flex-1 min-w-0",children:[Ia.jsx("p",{className:"text-sm font-medium truncate",children:n.name}),Ia.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",p?.name||"N/A"]})]})]}),p&&Ia.jsx("div",{className:"mt-3",children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx($e,{className:"h-4 w-4 text-muted-foreground"}),Ia.jsx("span",{className:"text-sm font-medium",children:p.name})]})}),x.length>1&&Ia.jsxs("div",{className:"mt-2",children:[Ia.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",x.length]}),Ia.jsxs("div",{className:"flex flex-wrap gap-1",children:[x.slice(0,3).map(e=>Ia.jsx(kt,{variant:e.alias===p?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>h(e),children:e.name},e.alias)),x.length>3&&Ia.jsxs(kt,{variant:"outline",className:"text-xs",children:["+",x.length-3]})]})]})]});return"dropdown"===e?Ia.jsxs(gr,{children:[Ia.jsx(br,{asChild:!0,children:Ia.jsx(La,{variant:"ghost",className:`h-auto p-2 ${t}`,children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsxs("div",{className:"hidden md:block text-left",children:[Ia.jsx("p",{className:"text-sm font-medium",children:n.name}),Ia.jsx("p",{className:"text-xs text-muted-foreground",children:p?.name||"N/A"})]}),Ia.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:Ia.jsx(Te,{className:"h-4 w-4 text-primary-foreground"})}),Ia.jsx(j,{className:"h-4 w-4"})]})})}),Ia.jsxs(Sr,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[Ia.jsxs(Nr,{children:[Ia.jsxs(wr,{children:[Ia.jsx(Ae,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),Ia.jsx(kr,{children:x.map(e=>Ia.jsxs(Cr,{onClick:()=>h(e),className:e.alias===p?.alias?"bg-muted":"",children:[Ia.jsx($e,{className:"mr-2 h-4 w-4"}),e.name,e.alias===p?.alias&&Ia.jsx(kt,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),Ia.jsx(Pr,{}),Ia.jsxs(Cr,{onClick:c,children:[Ia.jsx(Fe,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]}):Ia.jsxs(Ba,{className:t,children:[Ia.jsx(Wa,{children:Ia.jsx(qa,{className:"text-lg",children:"Informações do Usuário"})}),Ia.jsxs(Qa,{className:"space-y-4",children:[Ia.jsx(g,{}),Ia.jsx(hi,{}),Ia.jsxs(La,{variant:"outline",onClick:c,size:"sm",className:"w-full",children:[Ia.jsx(Fe,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}),Jo=t({});function Xo({children:e,config:a}){const t=o(()=>({navigation:a?.navigation,appName:a?.appName}),[a?.navigation,a?.appName]);return Ia.jsx(Jo.Provider,{value:t,children:e})}function Yo(){return s(Jo)}function Go(){const e=ea(),{navigation:a}=Yo(),t=a?.find(a=>a.path===e.pathname);return t?.label||"Página"}function Zo(e,a){const[t,s]=r(e),o=l(),c=n(()=>{o.current&&(clearTimeout(o.current),o.current=void 0)},[]);return i(()=>(c(),o.current=setTimeout(()=>{s(e)},a),c),[e,a,c]),[t,c]}const el=c(function({actions:e}){const a=ea(),t=Go(),{navigation:s,appName:n}=Yo(),{companies:o,alias:l,isSearchVisible:c,clearSearch:d,refreshData:m,switchUnit:u}=Ms(),f=l?o?.find(e=>e.alias===l)||o?.[0]||null:o?.[0]||null,[p,h]=Ze(),[x,g]=r(()=>p.get("search")||""),[b,y]=Zo(x,ys.debounceDelay);i(()=>{if(!c)return;const e=new URLSearchParams(p);b?(e.set("search",b),e.set("page","1")):e.delete("search"),h(e)},[b,h,c]);const v=s?.find(e=>e.path===a.pathname);return Ia.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:Ia.jsxs("div",{className:"flex items-center gap-4",children:[Ia.jsxs("div",{className:"flex-shrink-0",children:[Ia.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[Ia.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:t}),Ia.jsx(kt,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:n||"Módulo"})]}),Ia.jsx("p",{className:"text-sm text-muted-foreground truncate",children:v?.complementaryText||"Detalhes do item"})]}),c&&Ia.jsxs("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[Ia.jsxs("div",{className:"relative flex-1",children:[Ia.jsx(T,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),Ia.jsx(Ma,{placeholder:"/wiki"===a.pathname?"Buscar artigos...":"Buscar...",value:x,onChange:e=>(e=>{g(e)})(e.target.value),className:"w-full pl-10 pr-8"}),x&&Ia.jsx(La,{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(),g("");const e=new URLSearchParams(p);e.delete("search"),e.delete("page"),h(e)},title:"Limpar busca",children:Ia.jsx(N,{size:14})})]}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:m,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:Ia.jsx(Ae,{size:14})})]}),Ia.jsxs("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[e&&Ia.jsx("div",{className:"flex items-center gap-2",children:e}),Ia.jsx("div",{className:"text-sm",children:Ia.jsx(Ko,{variant:"dropdown",selectedUnit:f,onUnitChange:u})})]})]})})}),al=(e={})=>{const{enabled:a=!0}=e,{alias:t}=Ms();return Xe({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=ms(),{data:a,error:s}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",t).eq("status","active").order("name");if(s){if(!$s.handleError(s))throw s;return[]}return a||[]},enabled:a&&!!t})},tl=({key:e,enabled:a,checkFn:t,staleTime:s=3e5,gcTime:r=6e5})=>Xe({queryKey:["permission",e],queryFn:t,enabled:a,staleTime:s,gcTime:r,retry:0,refetchOnWindowFocus:!1}),sl=import.meta.env.VITE_SUPABASE_PROJECT_ID,rl={logo:`https://${sl}.supabase.co/storage/v1/object/public/library-assets/logo.svg`,smallLogo:`https://${sl}.supabase.co/storage/v1/object/public/library-assets/small.svg`},nl=rl.logo,il=rl.smallLogo,ol="forlogic-sidebar-pinned",ll=()=>{try{const e=localStorage.getItem(ol);return!!e&&JSON.parse(e)}catch{return!1}};function cl({config:e}={}){const{state:a,open:t,setOpen:s}=Ai(),n=ea(),{alias:o,user:l}=Ms(),[c,d]=r(!1),[m,u]=r(ll),[f,p]=r(!1);i(()=>{s(!!m||!(!f&&!c))},[m,f,c,s]);const{data:h,isLoading:x,error:g}=al({enabled:c}),b=e=>{const a=["border-l-yellow-400","border-l-green-400","border-l-blue-400","border-l-red-400","border-l-purple-400","border-l-pink-400"];return a[e%a.length]};return Ia.jsxs(zi,{collapsible:"icon",onMouseEnter:()=>{m||p(!0)},onMouseLeave:()=>{m||p(!1)},className:"app-sidebar transition-all duration-300 ease-in-out bg-white border-r border-gray-200 py-6 px-3",children:[Ia.jsxs(Mi,{className:"p-0 gap-0",children:[Ia.jsx("div",{className:"flex items-center justify-between h-[34px]",children:t?Ia.jsxs(Ia.Fragment,{children:[Ia.jsx("div",{className:"flex items-center pl-[12px]",children:Ia.jsx("img",{src:rl.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),Ia.jsx("button",{onClick:()=>{const e=!m;u(e),(e=>{try{localStorage.setItem(ol,JSON.stringify(e))}catch{}})(e)},className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(m?"bg-primary text-primary-foreground":"hover:bg-muted text-muted-foreground"),children:Ia.jsx(ze,{className:"h-4 w-4"})})]}):Ia.jsx("div",{className:"flex items-center justify-center w-full h-[34px]",children:Ia.jsx("img",{src:rl.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),Ia.jsx("div",{className:"mt-2 pt-0",children:Ia.jsxs(gr,{onOpenChange:d,children:[Ia.jsx(br,{asChild:!0,children:t?Ia.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:[Ia.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[Ia.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"}),Ia.jsx("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:e?.appName||"Título do módulo"})]}),Ia.jsx(j,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):Ia.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:Ia.jsx(j,{className:"h-6 w-6 text-muted-foreground"})})}),Ia.jsx(Sr,{className:t?"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:t?"start":"center",children:x?Ia.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[Ia.jsx(S,{className:"h-4 w-4 animate-spin"}),Ia.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):g?Ia.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[Ia.jsx(C,{className:"h-4 w-4"}),Ia.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):h&&0!==h.length?Ia.jsx("div",{className:"space-y-2",children:h.map((e,a)=>Ia.jsx("div",{onClick:()=>(e=>{const a=h?.find(a=>a.url===e);a?.url&&window.open(a.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${b(a)} transition-colors duration-200\n `,children:Ia.jsxs("div",{className:"flex items-center justify-between",children:[Ia.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&Ia.jsx(Oe,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):Ia.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]})})]}),Ia.jsx(Bi,{children:Ia.jsx(Wi,{className:"p-0 mt-6",children:Ia.jsx(Qi,{children:Ia.jsx(Ki,{className:"space-y-2",children:Ia.jsx(Ti,{children:e?.navigation?.map((e,a)=>{const t=({item:e,index:a})=>{const t=`${e.path}-${a}-${o??"noalias"}-${l?.id??"nouser"}`,{data:s=!0,isLoading:r}=tl({key:t,enabled:Boolean(e.permissionCheck&&o&&l?.id),checkFn:e.permissionCheck||(()=>Promise.resolve(!0))}),i=e.permissionCheck&&!s,c=r?S:i?X:e.icon;return i||e.complementaryText,Ia.jsx(Ji,{children:i||r?Ia.jsxs(Ri,{children:[Ia.jsx(_i,{asChild:!0,children:Ia.jsx(Yi,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:Ia.jsxs("div",{className:"flex w-full items-center gap-3",children:[Ia.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:Ia.jsx(c,{className:"h-4 w-4 "+(r?"animate-spin":"")})}),Ia.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})}),Ia.jsx(Pi,{children:Ia.jsx("p",{children:r?"Verificando acesso...":"Acesso restrito"})})]}):Ia.jsx(Yi,{asChild:!0,isActive:(d=e.path,n.pathname===d),size:"lg",className:"h-10",children:Ia.jsxs(ta,{to:e.path,className:"flex w-full items-center gap-3",children:[Ia.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:Ia.jsx(c,{className:"h-5 w-4"})}),Ia.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})},e.path);var d};return Ia.jsx(t,{item:e,index:a},e.path)})})})})})})]})}const dl=c(function({children:e,sidebar:a,sidebarConfig:t,showHeader:s=!0}){const r=o(()=>a||Ia.jsx(cl,{config:t}),[a,t]),n=o(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return Ia.jsx(Xo,{config:t,children:Ia.jsx(Di,{defaultOpen:!1,style:n,children:Ia.jsxs("div",{className:"min-h-screen flex w-full",children:[r,Ia.jsxs("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[s&&Ia.jsx("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:Ia.jsx(el,{})}),Ia.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50",children:e})]})]})})})});class ml extends d{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){rs.handleError(e,!1)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:Ia.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsxs(Wa,{className:"text-center",children:[Ia.jsx("div",{className:"flex justify-center mb-4",children:Ia.jsx(Le,{className:"h-12 w-12 text-destructive"})}),Ia.jsx(qa,{children:"Algo deu errado"})]}),Ia.jsxs(Qa,{className:"text-center space-y-4",children:[Ia.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),Ia.jsx(La,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function ul(){const[e,a]=r([]),[t,s]=r(!1),[o,l]=r(null),[c,d]=r(null);i(()=>{m()},[]);const m=async()=>{try{const e=ms(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"createThread"}});if(s)throw s;l(t.threadId),a([{id:"initial",role:"assistant",content:"Olá! Como posso ajudá-lo hoje?",timestamp:new Date}])}catch(e){d("Erro ao inicializar conversa"),sa.error("Erro ao inicializar conversa")}};return{messages:e,isLoading:t,error:c,sendMessage:n(async e=>{if(!o||!e.trim())return;const t={id:`user-${Date.now()}`,role:"user",content:e,timestamp:new Date};a(e=>[...e,t]),s(!0),d(null);try{const t=ms(),{data:s,error:r}=await t.functions.invoke("openai-chat",{body:{action:"sendMessage",threadId:o,message:e}});if(r)throw r;const{runId:n}=s,i=await(async e=>{if(!o)return!1;for(let t=0;t<60;t++)try{const a=ms(),{data:t,error:s}=await a.functions.invoke("openai-chat",{body:{action:"checkRunStatus",threadId:o,runId:e}});if(s)throw s;const{status:r}=t;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(a){throw a}throw new Error("Tempo limite excedido")})(n);i&&await(async()=>{if(o)try{const e=ms(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"getMessages",threadId:o}});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(r){const e=r instanceof Error?r.message:"Erro ao enviar mensagem";d(e),sa.error(e),a(e=>e.filter(e=>e.id!==t.id))}finally{s(!1)}},[o]),threadId:o}}function fl({content:e,className:a}){return Ia.jsx("div",{className:Aa("prose prose-sm max-w-none",a),children:Ia.jsx(wa,{remarkPlugins:[ka],components:{h1:({children:e})=>Ia.jsx("h1",{className:"text-lg font-bold mt-4 mb-2 text-foreground",children:e}),h2:({children:e})=>Ia.jsx("h2",{className:"text-base font-bold mt-3 mb-2 text-foreground",children:e}),h3:({children:e})=>Ia.jsx("h3",{className:"text-sm font-semibold mt-2 mb-1 text-foreground",children:e}),p:({children:e})=>Ia.jsx("p",{className:"text-sm mb-2 last:mb-0 text-foreground",children:e}),ul:({children:e})=>Ia.jsx("ul",{className:"list-disc list-inside mb-2 space-y-1",children:e}),ol:({children:e})=>Ia.jsx("ol",{className:"list-decimal list-inside mb-2 space-y-1",children:e}),li:({children:e})=>Ia.jsx("li",{className:"text-sm text-foreground",children:e}),code:({inline:e,children:a,...t})=>e?Ia.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono text-foreground",...t,children:a}):Ia.jsx("code",{className:"block bg-muted p-2 rounded text-xs font-mono overflow-x-auto mb-2 text-foreground",...t,children:a}),pre:({children:e})=>Ia.jsx("pre",{className:"bg-muted p-2 rounded overflow-x-auto mb-2",children:e}),a:({children:e,href:a})=>Ia.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline hover:text-primary/80",children:e}),blockquote:({children:e})=>Ia.jsx("blockquote",{className:"border-l-4 border-primary pl-3 italic my-2 text-muted-foreground",children:e}),strong:({children:e})=>Ia.jsx("strong",{className:"font-bold text-foreground",children:e}),em:({children:e})=>Ia.jsx("em",{className:"italic text-foreground",children:e})},children:e})})}function pl(){const[e,a]=r(!1),[t,s]=r(""),{messages:n,isLoading:o,error:c,sendMessage:d}=ul(),m=l(null),u=l(null);i(()=>{if(m.current){const e=m.current.querySelector("[data-radix-scroll-area-viewport]");e&&(e.scrollTop=e.scrollHeight)}},[n]),i(()=>{e&&u.current&&u.current.focus()},[e]),i(()=>{const t=t=>{"Escape"===t.key&&e&&a(!1)};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]);const f=()=>{t.trim()&&!o&&(d(t),s(""))};return Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(La,{onClick:()=>a(!e),className:"fixed bottom-6 right-6 h-14 w-14 rounded-full shadow-lg z-50",size:"icon",children:e?Ia.jsx(N,{className:"h-6 w-6"}):Ia.jsx(Me,{className:"h-6 w-6"})}),e&&Ia.jsxs(Ba,{className:"fixed bottom-24 right-6 w-96 h-[600px] shadow-xl z-50 flex flex-col",children:[Ia.jsxs(Wa,{className:"flex flex-row items-center justify-between space-y-0 pb-4",children:[Ia.jsx(qa,{className:"text-lg font-semibold",children:"Chat Assistant"}),Ia.jsx(La,{variant:"ghost",size:"icon",onClick:()=>a(!1),className:"h-8 w-8",children:Ia.jsx(N,{className:"h-4 w-4"})})]}),Ia.jsxs(Qa,{className:"flex-1 flex flex-col p-0 overflow-hidden",children:[Ia.jsx(Ur,{ref:m,className:"flex-1 px-4",children:Ia.jsxs("div",{className:"space-y-4 py-4",children:[n.map(e=>Ia.jsx("div",{className:"flex "+("user"===e.role?"justify-end":"justify-start"),children:Ia.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?Ia.jsx(fl,{content:e.content}):Ia.jsx("p",{className:"text-sm whitespace-pre-wrap",children:e.content})})},e.id)),o&&Ia.jsx("div",{className:"flex justify-start",children:Ia.jsx("div",{className:"bg-muted rounded-lg px-4 py-2",children:Ia.jsxs("div",{className:"flex space-x-2",children:[Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce"}),Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.2s]"}),Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.4s]"})]})})}),c&&Ia.jsx("div",{className:"text-center text-sm text-destructive py-2",children:c})]})}),Ia.jsx("div",{className:"border-t p-4",children:Ia.jsxs("div",{className:"flex space-x-2",children:[Ia.jsx(Ma,{ref:u,value:t,onChange:e=>s(e.target.value),onKeyPress:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),f())},placeholder:"Digite sua mensagem...",disabled:o,className:"flex-1"}),Ia.jsx(La,{onClick:f,disabled:o||!t.trim(),size:"icon",children:Ia.jsx(Ue,{className:"h-4 w-4"})})]})})]})]})]})}export{gs as AUTH_CONFIG,hn as Accordion,bn as AccordionContent,xn as AccordionItem,gn as AccordionTrigger,Bo as ActionButton,Ir as ActionMenuItems,cn as Alert,mn as AlertDescription,Bs as AlertDialog,Gs as AlertDialogAction,Zs as AlertDialogCancel,Qs as AlertDialogContent,Ys as AlertDialogDescription,Js as AlertDialogFooter,Ks as AlertDialogHeader,Hs as AlertDialogOverlay,qs as AlertDialogPortal,Xs as AlertDialogTitle,Ws as AlertDialogTrigger,dn as AlertTitle,el as AppHeader,dl as AppLayout,cl as AppSidebar,yn as AspectRatio,$s as AuthErrorInterceptor,Ls as AuthProvider,Os as AuthService,vn as Avatar,jn as AvatarFallback,Nn as AvatarImage,kt as Badge,Kr as BaseForm,wn as Breadcrumb,_n as BreadcrumbEllipsis,Sn as BreadcrumbItem,Cn as BreadcrumbLink,kn as BreadcrumbList,Tn as BreadcrumbPage,Rn as BreadcrumbSeparator,Yr as BulkActionBar,La as Button,bs as CRUD_CONFIG,Mn as Calendar,un as CallbackPage,Ba as Card,Qa as CardContent,Ha as CardDescription,Ka as CardFooter,Wa as CardHeader,mr as CardSkeleton,qa as CardTitle,pl as ChatbotPage,Nt as Checkbox,Un as Collapsible,Bn as CollapsibleContent,Vn as CollapsibleTrigger,Mr as ColorPicker,Wn as Command,qn as CommandDialog,Kn as CommandEmpty,Jn as CommandGroup,Hn as CommandInput,Yn as CommandItem,Qn as CommandList,Xn as CommandSeparator,Gn as CommandShortcut,Wo as CrudCards,Jr as CrudForm,Dr as CrudTable,Zn as DataList,er as DeleteConfirmationDialog,Ja as Dialog,Ga as DialogClose,et as DialogContent,rt as DialogDescription,tt as DialogFooter,at as DialogHeader,Za as DialogOverlay,Ya as DialogPortal,st as DialogTitle,Xa as DialogTrigger,gr as DropdownMenu,Tr as DropdownMenuCheckboxItem,Sr as DropdownMenuContent,yr as DropdownMenuGroup,Cr as DropdownMenuItem,_r as DropdownMenuLabel,vr as DropdownMenuPortal,jr as DropdownMenuRadioGroup,Rr as DropdownMenuRadioItem,Pr as DropdownMenuSeparator,Er as DropdownMenuShortcut,Nr as DropdownMenuSub,kr as DropdownMenuSubContent,wr as DropdownMenuSubTrigger,br as DropdownMenuTrigger,xr as EmptyState,ml as ErrorBoundary,qo as FilterBar,nt as Form,ut as FormControl,ot as FormField,dt as FormItem,mt as FormLabel,ft as FormMessage,ur as FormSkeleton,ti as Grid,fr as HeaderSkeleton,Wr as IconPicker,Ma as Input,Va as Label,Tt as LoadingState,fn as LoginPage,Ss as MESSAGES,fl as MarkdownMessage,Xo as NavigationProvider,si as PageBreadcrumb,ni as Pagination,ii as PaginationContent,mi as PaginationEllipsis,oi as PaginationItem,li as PaginationLink,di as PaginationNext,ci as PaginationPrevious,Or as Popover,Fr as PopoverContent,$r as PopoverTrigger,ui as Progress,on as ProtectedRoute,Ns as QUERY_KEYS,xs as QualiexEnrichmentService,Qr as QualiexResponsibleSelectField,Hr as QualiexUserField,fi as RadioGroup,pi as RadioGroupItem,ys as SEARCH_CONFIG,Ur as ScrollArea,Vr as ScrollBar,pt as Select,yt as SelectContent,vt as SelectItem,xt as SelectTrigger,ht as SelectValue,hi as Separator,xi as Sheet,bi as SheetClose,ji as SheetContent,Ci as SheetDescription,ki as SheetFooter,wi as SheetHeader,vi as SheetOverlay,yi as SheetPortal,Si as SheetTitle,gi as SheetTrigger,zi as Sidebar,Bi as SidebarContent,Ui as SidebarFooter,Wi as SidebarGroup,Hi as SidebarGroupAction,Qi as SidebarGroupContent,qi as SidebarGroupLabel,Mi as SidebarHeader,Li as SidebarInput,Fi as SidebarInset,Ki as SidebarMenu,Gi as SidebarMenuAction,Zi as SidebarMenuBadge,Yi as SidebarMenuButton,Ji as SidebarMenuItem,eo as SidebarMenuSkeleton,ao as SidebarMenuSub,so as SidebarMenuSubButton,to as SidebarMenuSubItem,Di as SidebarProvider,$i as SidebarRail,Vi as SidebarSeparator,pr as SidebarSkeleton,Oi as SidebarTrigger,cr as Skeleton,ro as Slider,no as SonnerToaster,Ct as Spinner,Po as Stack,Co as Switch,$o as TabPageContent,Oo as TabPageHeader,zo as TabPageLayout,ar as Table,sr as TableBody,lr as TableCaption,or as TableCell,rr as TableFooter,ir as TableHead,tr as TableHeader,nr as TableRow,Ar as TableRowActions,dr as TableSkeleton,Eo as Tabs,Do as TabsContent,Io as TabsList,Ao as TabsTrigger,jt as Textarea,Mt as Toast,Ut as ToastAction,Vt as ToastClose,Wt as ToastDescription,$t as ToastProvider,Bt as ToastTitle,Ft as ToastViewport,qt as Toaster,Lo as Toggle,Uo as ToggleGroup,Vo as ToggleGroupItem,as as TokenManager,Qt as TokenService,Ri as Tooltip,Pi as TooltipContent,Ti as TooltipProvider,_i as TooltipTrigger,rl as assets,wt as badgeVariants,Fa as buttonVariants,Aa as cn,Zr as createCrudPage,Ho as createRoutingHandlers,Ts as createService,en as createSimpleSaveHandler,Vs as createSimpleService,rn as crudPresets,$a as debounce,rs as errorService,Oa as formatCurrency,za as formatDatetime,an as generateCrudConfig,ws as getQualiexConfig,ms as getSupabaseClient,vs as isDevEnvironment,nl as logoSrc,hs as qualiexApi,ks as setQualiexConfig,pn as setupQualiexCore,il as smallLogoSrc,zt as toast,Fo as toggleVariants,Da as trimTextFields,al as useActiveModules,Ms as useAuth,zr as useBaseForm,Us as useCrud,Qo as useCrudRouting,Zo as useDebounce,Yo as useNavigation,ul as useOpenAIChat,Go as usePageTitle,tl as usePermissionQuery,qr as useQualiexUsers,ri as useRouteBreadcrumbs,Ai as useSidebar,Ot as useToast,nn as withPreset};
|
|
10
|
+
*/function Ea(){return Ra||(Ra=1,"production"!==process.env.NODE_ENV&&function(){var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),h=Symbol.iterator;var x=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var a=arguments.length,t=new Array(a>1?a-1:0),s=1;s<a;s++)t[s-1]=arguments[s];!function(e,a,t){var s=x.ReactDebugCurrentFrame,r=s.getStackAddendum();""!==r&&(a+="%s",t=t.concat([r]));var n=t.map(function(e){return String(e)});n.unshift("Warning: "+a),Function.prototype.apply.call(console[e],console,n)}("error",e,t)}var b;function y(e){return e.displayName||"Context"}function v(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 i:return"Profiler";case n:return"StrictMode";case d:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return y(e)+".Consumer";case o:return y(e._context)+".Provider";case c:return function(e,a,t){var s=e.displayName;if(s)return s;var r=a.displayName||a.name||"";return""!==r?t+"("+r+")":t}(e,e.render,"ForwardRef");case u:var a=e.displayName||null;return null!==a?a:v(e.type)||"Memo";case f:var t=e,p=t._payload,h=t._init;try{return v(h(p))}catch(x){return null}}return null}b=Symbol.for("react.module.reference");var N,j,w,k,S,C,T,R=Object.assign,_=0;function P(){}P.__reactDisabledLog=!0;var E,I=x.ReactCurrentDispatcher;function A(e,a,t){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,z=!1,O="function"==typeof WeakMap?WeakMap:Map;function $(e,a){if(!e||z)return"";var t,s=D.get(e);if(void 0!==s)return s;z=!0;var r,n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,r=I.current,I.current=null,function(){if(0===_){N=console.log,j=console.info,w=console.warn,k=console.error,S=console.group,C=console.groupCollapsed,T=console.groupEnd;var e={configurable:!0,enumerable:!0,value:P,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}_++}();try{if(a){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(i,[])}catch(p){t=p}Reflect.construct(e,[],i)}else{try{i.call()}catch(p){t=p}e.call(i.prototype)}}else{try{throw Error()}catch(p){t=p}e()}}catch(h){if(h&&t&&"string"==typeof h.stack){for(var o=h.stack.split("\n"),l=t.stack.split("\n"),c=o.length-1,d=l.length-1;c>=1&&d>=0&&o[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(o[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||o[c]!==l[d]){var m="\n"+o[c].replace(" at new "," at ");return e.displayName&&m.includes("<anonymous>")&&(m=m.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,m),m}}while(c>=1&&d>=0);break}}}finally{z=!1,I.current=r,function(){if(0===--_){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:R({},e,{value:N}),info:R({},e,{value:j}),warn:R({},e,{value:w}),error:R({},e,{value:k}),group:R({},e,{value:S}),groupCollapsed:R({},e,{value:C}),groupEnd:R({},e,{value:T})})}_<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=n}var u=e?e.displayName||e.name:"",f=u?A(u):"";return"function"==typeof e&&D.set(e,f),f}function F(e,a,t){if(null==e)return"";if("function"==typeof e)return $(e,function(e){var a=e.prototype;return!(!a||!a.isReactComponent)}(e));if("string"==typeof e)return A(e);switch(e){case d:return A("Suspense");case m:return A("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return $(e.render,!1);case u:return F(e.type,a,t);case f:var s=e,r=s._payload,n=s._init;try{return F(n(r),a,t)}catch(i){}}return""}D=new O;var L=Object.prototype.hasOwnProperty,M={},U=x.ReactDebugCurrentFrame;function V(e){if(e){var a=e._owner,t=F(e.type,e._source,a?a.type:null);U.setExtraStackFrame(t)}else U.setExtraStackFrame(null)}var B=Array.isArray;function W(e){return B(e)}function q(e){return""+e}function H(e){if(function(e){try{return q(e),!1}catch(a){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),q(e)}var Q,K,J=x.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};function Y(e,a,s,r,n){var i,o={},l=null,c=null;for(i in void 0!==s&&(H(s),l=""+s),function(e){if(L.call(e,"key")){var a=Object.getOwnPropertyDescriptor(e,"key").get;if(a&&a.isReactWarning)return!1}return void 0!==e.key}(a)&&(H(a.key),l=""+a.key),function(e){if(L.call(e,"ref")){var a=Object.getOwnPropertyDescriptor(e,"ref").get;if(a&&a.isReactWarning)return!1}return void 0!==e.ref}(a)&&(c=a.ref,function(e){"string"==typeof e.ref&&J.current}(a)),a)L.call(a,i)&&!X.hasOwnProperty(i)&&(o[i]=a[i]);if(e&&e.defaultProps){var d=e.defaultProps;for(i in d)void 0===o[i]&&(o[i]=d[i])}if(l||c){var m="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,a){var t=function(){Q||(Q=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"key",{get:t,configurable:!0})}(o,m),c&&function(e,a){var t=function(){K||(K=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",a))};t.isReactWarning=!0,Object.defineProperty(e,"ref",{get:t,configurable:!0})}(o,m)}return function(e,a,s,r,n,i,o){var l={$$typeof:t,type:e,key:a,ref:s,props:o,_owner:i,_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,J.current,o)}var G,Z=x.ReactCurrentOwner,ee=x.ReactDebugCurrentFrame;function ae(e){if(e){var a=e._owner,t=F(e.type,e._source,a?a.type:null);ee.setExtraStackFrame(t)}else ee.setExtraStackFrame(null)}function te(e){return"object"==typeof e&&null!==e&&e.$$typeof===t}function se(){if(Z.current){var e=v(Z.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}G=!1;var re={};function ne(e,a){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var t=function(e){var a=se();if(!a){var t="string"==typeof e?e:e.displayName||e.name;t&&(a="\n\nCheck the top-level render call using <"+t+">.")}return a}(a);if(!re[t]){re[t]=!0;var s="";e&&e._owner&&e._owner!==Z.current&&(s=" It was passed a child from "+v(e._owner.type)+"."),ae(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,s),ae(null)}}}function ie(e,a){if("object"==typeof e)if(W(e))for(var t=0;t<e.length;t++){var s=e[t];te(s)&&ne(s,a)}else if(te(e))e._store&&(e._store.validated=!0);else if(e){var r=function(e){if(null===e||"object"!=typeof e)return null;var a=h&&e[h]||e["@@iterator"];return"function"==typeof a?a:null}(e);if("function"==typeof r&&r!==e.entries)for(var n,i=r.call(e);!(n=i.next()).done;)te(n.value)&&ne(n.value,a)}}function oe(e){var a,t=e.type;if(null!=t&&"string"!=typeof t){if("function"==typeof t)a=t.propTypes;else{if("object"!=typeof t||t.$$typeof!==c&&t.$$typeof!==u)return;a=t.propTypes}if(a){var s=v(t);!function(e,a,t,s,r){var n=Function.call.bind(L);for(var i in e)if(n(e,i)){var o=void 0;try{if("function"!=typeof e[i]){var l=Error((s||"React class")+": "+t+" type `"+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[i]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}o=e[i](a,i,s,t,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(c){o=c}!o||o instanceof Error||(V(r),g("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",s||"React class",t,i,typeof o),V(null)),o instanceof Error&&!(o.message in M)&&(M[o.message]=!0,V(r),g("Failed %s type: %s",t,o.message),V(null))}}(a,e.props,"prop",s,e)}else if(void 0!==t.PropTypes&&!G){G=!0,g("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",v(t)||"Unknown")}"function"!=typeof t.getDefaultProps||t.getDefaultProps.isReactClassApproved||g("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var le={};function ce(e,a,s,h,x,y){var N=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===i||e===n||e===d||e===m||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===u||e.$$typeof===o||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":W(e)?w="array":void 0!==e&&e.$$typeof===t?(w="<"+(v(e.type)||"Unknown")+" />",j=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,j)}var k=Y(e,a,s,x,y);if(null==k)return k;if(N){var S=a.children;if(void 0!==S)if(h)if(W(S)){for(var C=0;C<S.length;C++)ie(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 ie(S,e)}if(L.call(a,"key")){var T=v(e),R=Object.keys(a).filter(function(e){return"key"!==e}),_=R.length>0?"{key: someKey, "+R.join(": ..., ")+": ...}":"{key: someKey}";if(!le[T+_])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} />',_,T,R.length>0?"{"+R.join(": ..., ")+": ...}":"{}",T),le[T+_]=!0}return e===r?function(e){for(var a=Object.keys(e.props),t=0;t<a.length;t++){var s=a[t];if("children"!==s&&"key"!==s){ae(e),g("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",s),ae(null);break}}null!==e.ref&&(ae(e),g("Invalid attribute `ref` supplied to `React.Fragment`."),ae(null))}(k):oe(k),k}var de=function(e,a,t){return ce(e,a,t,!1)},me=function(e,a,t){return ce(e,a,t,!0)};Pa.Fragment=r,Pa.jsx=de,Pa.jsxs=me}()),Pa}var Ia=(_a||(_a=1,"production"===process.env.NODE_ENV?Ca.exports=function(){if(Sa)return Ta;Sa=1;var e=a,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,n=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function o(e,a,s){var o,l={},c=null,d=null;for(o in void 0!==s&&(c=""+s),void 0!==a.key&&(c=""+a.key),void 0!==a.ref&&(d=a.ref),a)r.call(a,o)&&!i.hasOwnProperty(o)&&(l[o]=a[o]);if(e&&e.defaultProps)for(o in a=e.defaultProps)void 0===l[o]&&(l[o]=a[o]);return{$$typeof:t,type:e,key:c,ref:d,props:l,_owner:n.current}}return Ta.Fragment=s,Ta.jsx=o,Ta.jsxs=o,Ta}():Ca.exports=Ea()),Ca.exports);function Aa(...e){return h(p(e))}const Da=e=>{if(null==e)return e;if("string"==typeof e)return e.trim();if(Array.isArray(e))return e.map(Da);if("object"==typeof e&&e.constructor===Object){const a={};for(const[t,s]of Object.entries(e))a[t]=Da(s);return a}return e},za=e=>{if(!e)return"";const a=x(e);if(!g(a))return"Data inválida";return`${a.toLocaleDateString("pt-BR",{day:"2-digit",month:"2-digit",year:"numeric"})} ${a.toLocaleTimeString("pt-BR",{hour:"2-digit",minute:"2-digit"})}`},Oa=e=>null==e?"R$ 0,00":new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL",minimumFractionDigits:2,maximumFractionDigits:2}).format(e),$a=(e,a)=>{let t;return(...s)=>{clearTimeout(t),t=setTimeout(()=>e(...s),a)}},Fa=f("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"}}),La=e.forwardRef(({className:e,variant:a,size:t,asChild:s=!1,...r},n)=>{const i=s?m:"button";return Ia.jsx(i,{className:Aa(Fa({variant:a,size:t,className:e})),ref:n,...r})});La.displayName="Button";const Ma=e.forwardRef(({className:e,type:a,...t},s)=>Ia.jsx("input",{type:a,className:Aa("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:s,...t}));Ma.displayName="Input";const Ua=f("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),Va=e.forwardRef(({className:e,...a},t)=>Ia.jsx(y.Root,{ref:t,className:Aa(Ua(),e),...a}));Va.displayName=y.Root.displayName;const Ba=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));Ba.displayName="Card";const Wa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex flex-col space-y-1.5 p-6",e),...a}));Wa.displayName="CardHeader";const qa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("h3",{ref:t,className:Aa("text-2xl font-semibold leading-none tracking-tight",e),...a}));qa.displayName="CardTitle";const Ha=e.forwardRef(({className:e,...a},t)=>Ia.jsx("p",{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ha.displayName="CardDescription";const Qa=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("p-6 pt-0",e),...a}));Qa.displayName="CardContent";const Ka=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex items-center p-6 pt-0",e),...a}));Ka.displayName="CardFooter";const Ja=v.Root,Xa=v.Trigger,Ya=v.Portal,Ga=v.Close,Za=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Overlay,{ref:t,className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a}));Za.displayName=v.Overlay.displayName;const et=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(Ya,{children:[Ia.jsx(Za,{}),Ia.jsxs(v.Content,{ref:s,className:Aa("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 bg-background p-6 duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] rounded-lg overflow-hidden",e),...t,children:[a,Ia.jsxs(v.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:[Ia.jsx(N,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));et.displayName=v.Content.displayName;const at=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-1.5 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-3 rounded-t-lg",e),...a});at.displayName="DialogHeader";const tt=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});tt.displayName="DialogFooter";const st=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Title,{ref:t,className:Aa("text-lg font-semibold leading-none tracking-tight",e),...a}));st.displayName=v.Title.displayName;const rt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));rt.displayName=v.Description.displayName;const nt=Be,it=e.createContext({}),ot=({...e})=>Ia.jsx(it.Provider,{value:{name:e.name},children:Ia.jsx(We,{...e})}),lt=()=>{const a=e.useContext(it),t=e.useContext(ct),{getFieldState:s,formState:r}=Ve(),n=s(a.name,r);if(!a)throw new Error("useFormField should be used within <FormField>");const{id:i}=t;return{id:i,name:a.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...n}},ct=e.createContext({}),dt=e.forwardRef(({className:a,...t},s)=>{const r=e.useId();return Ia.jsx(ct.Provider,{value:{id:r},children:Ia.jsx("div",{ref:s,className:Aa("space-y-2",a),...t})})});dt.displayName="FormItem";const mt=e.forwardRef(({className:e,...a},t)=>{const{error:s,formItemId:r}=lt();return Ia.jsx(Va,{ref:t,className:Aa(s&&"text-destructive",e),htmlFor:r,...a})});mt.displayName="FormLabel";const ut=e.forwardRef(({...e},a)=>{const{error:t,formItemId:s,formDescriptionId:r,formMessageId:n}=lt();return Ia.jsx(m,{ref:a,id:s,"aria-describedby":t?`${r} ${n}`:`${r}`,"aria-invalid":!!t,...e})});ut.displayName="FormControl";e.forwardRef(({className:e,...a},t)=>{const{formDescriptionId:s}=lt();return Ia.jsx("p",{ref:t,id:s,className:Aa("text-sm text-muted-foreground",e),...a})}).displayName="FormDescription";const ft=e.forwardRef(({className:e,children:a,...t},s)=>{const{error:r,formMessageId:n}=lt(),i=r?String(r?.message):a;return i?Ia.jsx("p",{ref:s,id:n,className:Aa("text-sm font-medium text-destructive",e),...t,children:i}):null});ft.displayName="FormMessage";const pt=qe.Root,ht=qe.Value,xt=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(qe.Trigger,{ref:s,className:Aa("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...t,children:[a,Ia.jsx(qe.Icon,{asChild:!0,children:Ia.jsx(j,{className:"h-4 w-4 opacity-50"})})]}));xt.displayName=qe.Trigger.displayName;const gt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.ScrollUpButton,{ref:t,className:Aa("flex cursor-default items-center justify-center py-1",e),...a,children:Ia.jsx(w,{className:"h-4 w-4"})}));gt.displayName=qe.ScrollUpButton.displayName;const bt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.ScrollDownButton,{ref:t,className:Aa("flex cursor-default items-center justify-center py-1",e),...a,children:Ia.jsx(j,{className:"h-4 w-4"})}));bt.displayName=qe.ScrollDownButton.displayName;const yt=e.forwardRef(({className:e,children:a,position:t="popper",...s},r)=>Ia.jsx(qe.Portal,{children:Ia.jsxs(qe.Content,{ref:r,className:Aa("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===t&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:t,...s,children:[Ia.jsx(gt,{}),Ia.jsx(qe.Viewport,{className:Aa("p-1","popper"===t&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),Ia.jsx(bt,{})]})}));yt.displayName=qe.Content.displayName;e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.Label,{ref:t,className:Aa("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a})).displayName=qe.Label.displayName;const vt=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(qe.Item,{ref:s,className:Aa("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(qe.ItemIndicator,{children:Ia.jsx(k,{className:"h-4 w-4"})})}),Ia.jsx(qe.ItemText,{children:a})]}));vt.displayName=qe.Item.displayName;e.forwardRef(({className:e,...a},t)=>Ia.jsx(qe.Separator,{ref:t,className:Aa("-mx-1 my-1 h-px bg-muted",e),...a})).displayName=qe.Separator.displayName;const Nt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(He.Root,{ref:t,className:Aa("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),...a,children:Ia.jsx(He.Indicator,{className:Aa("flex items-center justify-center text-current"),children:Ia.jsx(k,{className:"h-4 w-4"})})}));Nt.displayName=He.Root.displayName;const jt=e.forwardRef(({className:e,...a},t)=>Ia.jsx("textarea",{className:Aa("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...a}));jt.displayName="Textarea";const wt=f("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",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"}}),kt=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx("div",{ref:s,className:Aa(wt({variant:a}),e),...t}));kt.displayName="Badge";const St={sm:"h-4 w-4",md:"h-6 w-6",lg:"h-8 w-8"};function Ct({size:e="md",className:a}){return Ia.jsx(S,{className:Aa("animate-spin text-muted-foreground",St[e],a)})}function Tt({isLoading:e,children:a,className:t,type:s="spinner",size:r="md"}){return e?"overlay"===s?Ia.jsxs("div",{className:Aa("relative",t),children:[a,Ia.jsx("div",{className:"absolute inset-0 bg-background/50 backdrop-blur-sm flex items-center justify-center z-10",children:Ia.jsx(Ct,{size:r})})]}):"skeleton"===s?Ia.jsx("div",{className:Aa("animate-pulse",t),children:Ia.jsx("div",{className:"bg-muted rounded-md h-full w-full"})}):Ia.jsx("div",{className:Aa("flex items-center justify-center py-8",t),children:Ia.jsx(Ct,{size:r})}):Ia.jsx(Ia.Fragment,{children:a})}let Rt=0;const _t=new Map,Pt=e=>{if(_t.has(e))return;const a=setTimeout(()=>{_t.delete(e),Dt({type:"REMOVE_TOAST",toastId:e})},1e6);_t.set(e,a)},Et=(e,a)=>{switch(a.type){case"ADD_TOAST":return{...e,toasts:[a.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===a.toast.id?{...e,...a.toast}:e)};case"DISMISS_TOAST":{const{toastId:t}=a;return t?Pt(t):e.toasts.forEach(e=>{Pt(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===t||void 0===t?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===a.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==a.toastId)}}},It=[];let At={toasts:[]};function Dt(e){At=Et(At,e),It.forEach(e=>{e(At)})}function zt({...e}){const a=(Rt=(Rt+1)%Number.MAX_SAFE_INTEGER,Rt.toString()),t=()=>Dt({type:"DISMISS_TOAST",toastId:a});return Dt({type:"ADD_TOAST",toast:{...e,id:a,open:!0,onOpenChange:e=>{e||t()}}}),{id:a,dismiss:t,update:e=>Dt({type:"UPDATE_TOAST",toast:{...e,id:a}})}}function Ot(){const[a,t]=e.useState(At);return e.useEffect(()=>(It.push(t),()=>{const e=It.indexOf(t);e>-1&&It.splice(e,1)}),[a]),{...a,toast:zt,dismiss:e=>Dt({type:"DISMISS_TOAST",toastId:e})}}const $t=Qe.Provider,Ft=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Viewport,{ref:t,className:Aa("fixed top-4 left-1/2 transform -translate-x-1/2 z-[100] flex max-h-screen w-full max-w-[420px] flex-col p-4",e),...a}));Ft.displayName=Qe.Viewport.displayName;const Lt=f("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"}}),Mt=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx(Qe.Root,{ref:s,className:Aa(Lt({variant:a}),e),...t}));Mt.displayName=Qe.Root.displayName;const Ut=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Action,{ref:t,className:Aa("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...a}));Ut.displayName=Qe.Action.displayName;const Vt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Close,{ref:t,className:Aa("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"",...a,children:Ia.jsx(N,{className:"h-4 w-4"})}));Vt.displayName=Qe.Close.displayName;const Bt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Title,{ref:t,className:Aa("text-sm font-semibold",e),...a}));Bt.displayName=Qe.Title.displayName;const Wt=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Qe.Description,{ref:t,className:Aa("text-sm opacity-90",e),...a}));function qt(){const{toasts:e}=Ot();return Ia.jsxs($t,{children:[e.map(function({id:e,title:a,description:t,action:s,...r}){return Ia.jsxs(Mt,{...r,children:[Ia.jsxs("div",{className:"grid gap-1",children:[a&&Ia.jsx(Bt,{children:a}),t&&Ia.jsx(Wt,{children:t})]}),s,Ia.jsx(Vt,{})]},e)}),Ia.jsx(Ft,{})]})}Wt.displayName=Qe.Description.displayName;var Ht=Object.defineProperty;class Qt{static normalizeBase64Url(e){let a=e.replace(/-/g,"+").replace(/_/g,"/");const t=(4-a.length%4)%4;return a+="=".repeat(t),a}static parseJwtPayload(e){try{const 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),a=atob(e),t=new Uint8Array(a.length);for(let r=0;r<a.length;r++)t[r]=a.charCodeAt(r);const s=new TextDecoder("utf-8").decode(t);return JSON.parse(s)}catch(a){try{const e=this.normalizeBase64Url(n),a=decodeURIComponent(atob(e).split("").map(e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)).join(""));return JSON.parse(a)}catch(t){try{const e=this.normalizeBase64Url(n),a=atob(e);return JSON.parse(a)}catch(s){throw s}}}}catch(r){return null}}static validateTokens(e,a){const t=[],s=[];try{a.split(".")[1],e.split(".")[1];const r=this.parseJwtPayload(a),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:t,errors:s}}let i=!0;if(!n){const e="Access token decode falhou - será tentado novamente nas chamadas de API";t.push(e),i=!1}const o=Math.floor(Date.now()/1e3);if(n?.exp&&n.exp<o){const e="Access token expirado - pode precisar de refresh";t.push(e),i=!1}if(r.exp&&r.exp<o){const e="ID token expirado - autenticação inválida";return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:i,warnings:t,errors:s}}return{isValid:!0,idTokenValid:!0,accessTokenValid:i,warnings:t,errors:s}}catch(r){const e=`Erro na validação de tokens: ${r}`;return s.push(e),{isValid:!1,idTokenValid:!1,accessTokenValid:!1,warnings:t,errors:s}}}static isTokenExpired(e){const a=this.parseJwtPayload(e);return!a||!a.exp||1e3*a.exp<Date.now()}static extractTokenData(e){return this.parseJwtPayload(e)}}((e,a,t)=>{a in e?Ht(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t})(Qt,"LARGE_PAYLOAD_THRESHOLD"+"",1e3);const Kt="qualiex_access_token",Jt="qualiex_id_token",Xt="supabase_token",Yt="oauth_state",Gt="oauth_nonce",Zt="selected_alias",es="manual_logout",as={setAccessToken:e=>localStorage.setItem(Kt,e),getAccessToken:()=>localStorage.getItem(Kt),setIdToken:e=>localStorage.setItem(Jt,e),getIdToken:()=>localStorage.getItem(Jt),getSupabaseToken:()=>localStorage.getItem(Xt),setOAuthState:e=>sessionStorage.setItem(Yt,e),getOAuthState:()=>sessionStorage.getItem(Yt),clearOAuthState:()=>sessionStorage.removeItem(Yt),setOAuthNonce:e=>sessionStorage.setItem(Gt,e),getOAuthNonce:()=>sessionStorage.getItem(Gt),clearOAuthNonce:()=>sessionStorage.removeItem(Gt),setSelectedAlias:e=>localStorage.setItem(Zt,e),getSelectedAlias:()=>localStorage.getItem(Zt),clearSelectedAlias:()=>localStorage.removeItem(Zt),generateOAuthState:()=>"Lw==",generateOAuthNonce:()=>{const e=new Uint8Array(32);return crypto.getRandomValues(e),btoa(String.fromCharCode(...e)).replace(/[+/=]/g,"")},hasAllTokens:()=>!(!as.getAccessToken()||!as.getIdToken()),setSupabaseToken:e=>{localStorage.setItem(Xt,e),as._clearValidationCache()},areAllTokensValid:()=>{const e=as.getAccessToken(),a=as.getIdToken();if(!e||!a)return!1;try{const t=Qt.validateTokens(e,a);return!!t.idTokenValid&&(t.accessTokenValid,t.idTokenValid)}catch(t){return!1}},clearExpiredTokens:()=>{let e=!1;const a=as.getAccessToken(),t=as.getIdToken(),s=as.getSupabaseToken();return a&&as.isTokenExpired(a)&&(localStorage.removeItem(Kt),e=!0),t&&as.isTokenExpired(t)&&(localStorage.removeItem(Jt),e=!0),s&&as.isTokenExpired(s)&&(localStorage.removeItem(Xt),e=!0),e},clearAll:()=>{localStorage.removeItem(Kt),localStorage.removeItem(Jt),localStorage.removeItem(Xt),localStorage.removeItem(Zt),localStorage.removeItem(es),sessionStorage.removeItem(Yt),sessionStorage.removeItem(Gt)},setManualLogout:()=>localStorage.setItem(es,"true"),isManualLogout:()=>"true"===localStorage.getItem(es),clearManualLogout:()=>localStorage.removeItem(es),isTokenExpired:e=>{try{return Qt.isTokenExpired(e)}catch{return!0}},_validationCache:{isValid:!1,timestamp:0,cacheValidityMs:3e5},_clearValidationCache:()=>{as._validationCache.isValid=!1,as._validationCache.timestamp=0},isSupabaseTokenValid:()=>{const e=as.getSupabaseToken();if(!e)return!1;if(as.isTokenExpired(e))return as._clearValidationCache(),as._handleExpiredToken(),!1;const a=Date.now();return a-as._validationCache.timestamp<as._validationCache.cacheValidityMs?as._validationCache.isValid:(as._validationCache.isValid=!0,as._validationCache.timestamp=a,!0)},getValidSupabaseToken:()=>as.isSupabaseTokenValid()?as.getSupabaseToken():null,_handleExpiredToken:()=>{as.clearAll(),"undefined"!=typeof window&&(window.location.href="/")},extractTokenData:()=>{if(!as.isSupabaseTokenValid())return null;const e=as.getSupabaseToken();if(!e)return null;try{const a=Qt.parseJwtPayload(e);if(!a)return null;const t=a.alias||a.default||a.user_alias;let s=a.company_id;if(!s&&t)for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const r=a[e];if(r&&"string"==typeof r){const e=r.split(";");if(e.length>7&&e[0]===t){s=e[7];break}}}return{alias:t,companyId:s,payload:a}}catch(a){return as._handleExpiredToken(),null}},getCompanyId:e=>{const a=as.extractTokenData();if(!a)return null;if(!e)return a.companyId;const t=as.getIdToken();if(!t)return null;try{const a=Qt.parseJwtPayload(t);if(!a)return null;for(const t in a)if(t.startsWith("co")&&/^co\d+$/.test(t)){const s=a[t];if(s&&"string"==typeof s){const a=s.split(";");if(a.length>7&&a[0]===e)return a[7]}}}catch{return null}return null},getCurrentCompanyId:()=>{const e=as.extractTokenData();return e?.companyId||null},getAllCompaniesData:()=>{const e=as.getIdToken();if(!e)return[];try{const a=Qt.parseJwtPayload(e);if(!a)return[];const t=[];for(const e in a)if(e.startsWith("co")&&/^co\d+$/.test(e)){const s=a[e];if(s&&"string"==typeof s){const e=s.split(";");e.length>=4&&t.push({id:e.length>7?e[7]:"",alias:e[0].trim(),name:e[3].trim(),payload:a})}}return t}catch{return[]}}};var ts=Object.defineProperty,ss=(e,a,t)=>((e,a,t)=>a in e?ts(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const rs=new class{constructor(){ss(this,"errors",[]),ss(this,"toastCount",0),ss(this,"lastToastTime",0)}handleError(e,a=!0){const t="string"==typeof e?e:e.message;this.errors.push({id:Date.now().toString(),message:t,timestamp:Date.now(),count:1}),a&&this.shouldShowToast()&&zt({title:"Erro",description:t,variant:"destructive"})}success(e,a){zt({title:e,description:a,variant:"default"})}shouldShowToast(){const e=Date.now();return e-this.lastToastTime>6e4&&(this.toastCount=0),this.toastCount<3&&(this.toastCount++,this.lastToastTime=e,!0)}getErrors(){return this.errors.slice(-50)}clearErrors(){this.errors=[]}};var ns=Object.defineProperty,is=(e,a,t)=>((e,a,t)=>a in e?ns(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);const os=import.meta.env.VITE_SUPABASE_URL,ls=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY,cs=class e{constructor(){is(this,"client"),is(this,"currentToken",null),is(this,"instanceCount",0),this.instanceCount++,this.client=this.createClientWithToken(null)}createClientWithToken(e){const a={apikey:ls};return e&&this.isTokenValid(e)&&(a.Authorization=`Bearer ${e}`),Ke(os,ls,{auth:{persistSession:!1,autoRefreshToken:!1,storage:void 0},global:{headers:a}})}static getInstance(){return e.instance||(e.instance=new e),e.instance}getClient(){const e=as.getValidSupabaseToken();return e!==this.currentToken&&(this.client=this.createClientWithToken(e),this.currentToken=e),this.client}isTokenValid(e){try{const a=JSON.parse(atob(e.split(".")[1])),t=Math.floor(Date.now()/1e3);return a.exp>t}catch(a){return rs.handleError(a instanceof Error?a:"❌ Supabase - Error validating token",!1),!1}}};is(cs,"instance");let ds=cs;const ms=()=>ds.getInstance().getClient();var us=Object.freeze({__proto__:null,getSupabaseClient:ms}),fs=Object.defineProperty,ps=(e,a,t)=>((e,a,t)=>a in e?fs(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,a+"",t);const hs=new class{constructor(){ps(this,"baseUrl",import.meta.env.VITE_QUALIEX_API_URL)}async makeApiCall(e,a,t){const s=as.getAccessToken();if(!s)throw new Error("Token Qualiex não encontrado");if(!t||""===t.trim())throw new Error("Alias da unidade é obrigatório para chamadas à API do Qualiex");const r=new URL(e,this.baseUrl);Object.entries(a).forEach(([e,a])=>{r.searchParams.append(e,a)});const n=await fetch(r.toString(),{method:"GET",headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json",Accept:"application/json","un-alias":t}});if(!n.ok)throw new Error(`API call failed: ${n.status} ${n.statusText}`);return await n.json()}mapToQualiexUser(e){return{userId:e.userId||String(e.ID),userName:e.userName||"Nome não disponível",userEmail:e.userEmail||"Email não disponível"}}async fetchUsers(e,a){try{const t=await this.makeApiCall("/api/common/v1/companiesusers",{companyId:a,search:"",filterStatus:"active"},e);let s=t;if(t.data)s=t.data;else{if(!Array.isArray(t))return rs.handleError("[QualiexApi] Unexpected response format",!1),[];s=t}if(!Array.isArray(s))return rs.handleError("[QualiexApi] Response is not an array",!1),[];return s.map(this.mapToQualiexUser)}catch(t){return rs.handleError(t instanceof Error?t:"[QualiexApi] Error fetching users"),[]}}async fetchUserById(e,a,t){try{return(await this.fetchUsers(a,t)).find(a=>a.userId===e)||null}catch(s){return rs.handleError(s instanceof Error?s:"[QualiexApi] Error fetching user by ID"),null}}async getUsers(e){const a=as.extractTokenData();return a&&a.companyId?this.fetchUsers(e,a.companyId):(rs.handleError("[QualiexApi] CompanyId não encontrado no token Supabase",!1),[])}};class xs{static async extractTokenData(){const e=as.extractTokenData();return e||(rs.handleError("[QualiexEnrichment] ❌ Token Supabase não encontrado",!1),null)}static async enrichWithResponsibleNames(e,a){if(!e||0===e.length)return rs.handleError(`[QualiexEnrichment.${a.entityName}] Nenhuma entidade encontrada`,!1),e;try{const t=await this.extractTokenData();if(!t)return e.map(e=>({...e,responsible_name:e.id_user?"Token não encontrado":null}));const{alias:s,companyId:r}=t;if(!s||!r)return rs.handleError(`[QualiexEnrichment.${a.entityName}] DADOS OBRIGATÓRIOS FALTANDO - alias: ${!!s}, companyId: ${!!r}`,!1),e.map(e=>({...e,responsible_name:e.id_user?`Configuração incompleta (alias: ${!!s}, companyId: ${!!r})`:null}));const n=await hs.getUsers(s),i=e.map(e=>{if(e.id_user){const a=n.find(a=>a.userId===e.id_user);return{...e,responsible_name:a?.userName||`ID não encontrado: ${e.id_user}`}}return{...e,responsible_name:null}});i.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 i}catch(t){return rs.handleError(t instanceof Error?t:`[QualiexEnrichment.${a.entityName}] 💥 ERRO CRÍTICO`),e.map(e=>({...e,responsible_name:e.id_user?`Erro: ${t.message}`:null}))}}}const gs={oauth:{authUrl:import.meta.env.VITE_OAUTH_AUTH_URL,clientId:import.meta.env.VITE_OAUTH_CLIENT_ID,responseType:"id_token token",scope:"openid profile email"}},bs={pagination:{defaultPageSize:25,pageSizeOptions:[10,25,50,100]},sorting:{defaultField:"updated_at",defaultDirection:"desc"}},ys={debounceDelay:500},vs=()=>{const e=window.location.origin;return e.includes("localhost")||e.includes("127.0.0.1")||e.includes("id-preview")||e.includes("lovable.dev")||import.meta.env.DEV},Ns={crud:e=>[e],list:(e,a)=>[e,"list",a],detail:(e,a)=>[e,"detail",a]};let js={enableUserEnrichment:!1,enableUsersApi:!1};const ws=()=>js,ks=e=>{js={...js,...e}},Ss={success:{created:e=>`${e} criado com sucesso`,updated:e=>`${e} atualizado com sucesso`,deleted:e=>`${e} removido com sucesso`},error:{create:e=>`Erro ao criar ${e}`,update:e=>`Erro ao atualizar ${e}`,delete:e=>`Erro ao remover ${e}`,load:e=>`Erro ao carregar ${e}`}},Cs=["responsible_name"];function Ts(e,a,t){const s="string"==typeof e?{tableName:e,searchFields:a||[],schemaName:t||"central"}:{searchFields:e.searchFields||[],schemaName:e.schemaName||"central",...e},{tableName:r,searchFields:n,selectFields:i,schemaName:o,entityName:l,enableQualiexEnrichment:c=!1}=s,d=()=>{if(!as.getValidSupabaseToken())throw new Error("Token de autenticação expirado. Faça login novamente.");return ms().schema(o).from(r)};return{async getAll(e={}){const{search:a="",sortField:t="updated_at",sortDirection:s="desc",page:o=1,limit:m=25,...u}=e;let f=d().select(i||"*",{count:"exact"});f=f.eq("is_removed",!1),Object.entries(u).forEach(([e,a])=>{null!=a&&""!==a&&(f=Array.isArray(a)?f.in(e,a):"object"==typeof a&&a&&"operator"in a&&"not_null"===a.operator?f.not(e,"is",null):f.eq(e,a))}),f=((e,a)=>{if(a&&n.length>0){const t=n.map(e=>`${e}.ilike.%${a}%`).join(",");return e.or(t)}return e})(f,a),f=f.order(t,{ascending:"asc"===s}),f=((e,a,t)=>{const s=(a-1)*t,r=s+t-1;return e.range(s,r)})(f,o,m);const{data:p,error:h,count:x}=await f;if(h)throw new Error(`Error fetching ${r}: ${h.message}`);let g=((e,a,t,s)=>{const r=Math.ceil((a||0)/s);return{data:e,currentPage:t,totalPages:r,totalItems:a||0,itemsPerPage:s,hasNextPage:t<r,hasPreviousPage:t>1}})(p||[],x,o,m);const b=ws();if(c&&b.enableUserEnrichment&&l&&g.data.length>0){if(g.data.some(e=>e.id_user)){if(t&&(y=t,Cs.includes(y))){const a={...e,page:1,limit:500,sortField:void 0,sortDirection:void 0},r=await this.getAll(a);if(!r?.data?.length)return r;const n=((e,a,t)=>[...e].sort((e,s)=>{const r=e[a]||"",n=s[a]||"",i=r.localeCompare(n,"pt-BR",{sensitivity:"base"});return"asc"===t?i:-i}))(await xs.enrichWithResponsibleNames(r.data,{entityName:l}),t,s),i=((e,a=1,t=25)=>{const s=(a-1)*t,r=s+t,n=e.slice(s,r);return{data:n,pagination:{currentPage:a,totalPages:Math.ceil(e.length/t),totalItems:n.length,totalCount:e.length,itemsPerPage:t,hasNextPage:r<e.length,hasPreviousPage:a>1}}})(n,o,m);return{data:i.data,currentPage:i.pagination.currentPage,totalPages:i.pagination.totalPages,totalItems:i.pagination.totalItems,itemsPerPage:i.pagination.itemsPerPage,hasNextPage:i.pagination.hasNextPage,hasPreviousPage:i.pagination.hasPreviousPage}}const a=await xs.enrichWithResponsibleNames(g.data,{entityName:l});g={...g,data:a}}}var y;return g},async getById(e){const{data:a,error:t}=await d().select(i||"*").eq("id",e).maybeSingle();if(t)throw new Error(`Error fetching ${r}: ${t.message}`);return a},async create(e){const a=Da(e),t=Object.entries(a).reduce((e,[a,t])=>(void 0!==t&&(e[a]=t),e),{}),{data:s,error:n}=await d().insert(t).select().single();if(n)throw new Error(`Error creating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from create ${r} operation`);return s},async update(e,a){const t={...Da(a),updated_at:(new Date).toISOString()},{data:s,error:n}=await d().update(t).eq("id",e).select().single();if(n)throw new Error(`Error updating ${r}: ${n.message}`);if(!s)throw new Error(`No data returned from update ${r} operation`);return s},async delete(e){const a={is_removed:!0,updated_at:(new Date).toISOString()},{error:t}=await d().update(a).eq("id",e);if(t)throw new Error(`Error soft deleting ${r}: ${t.message}`)}}}const Rs=()=>{as.clearManualLogout()},_s=import.meta.env.VITE_SUPABASE_URL,Ps=import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY;class Es{static async generateToken(e,a,t,s=!1){try{if(!s){const e=as.getSupabaseToken();if(e&&as.isSupabaseTokenValid())return e}const r=Ke(_s,Ps,{auth:{persistSession:!1,autoRefreshToken:!1}}),{data:n,error:i}=await r.functions.invoke("validate-token",{body:{access_token:e,alias:a}});return i&&(i.message?.includes("401")||i.message?.includes("Unauthorized"))?(t?.(),null):n?.access_token&&n.access_token?(as.setSupabaseToken(n.access_token),n.access_token):null}catch(r){return r instanceof Error&&(r.message.includes("401")||r.message.includes("Unauthorized"))&&t?.(),null}}}var Is=Object.defineProperty,As=(e,a,t)=>((e,a,t)=>a in e?Is(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t)(e,"symbol"!=typeof a?a+"":a,t);class Ds{static setLogoutCallback(e){this.onLogoutCallback=e}static async attemptRegeneration(){if(this.isRegenerating)return null;this.isRegenerating=!0;try{const e=as.getAccessToken(),a=as.getSelectedAlias();if(!e||!a)return null;const t=await Es.generateToken(e,a,this.onLogoutCallback||void 0,!1);return t?(as.setSupabaseToken(t),t):null}catch(e){return null}finally{this.isRegenerating=!1}}}As(Ds,"isRegenerating",!1),As(Ds,"onLogoutCallback",null);const zs=class{static async initialize(){try{if(!as.hasAllTokens()||!as.areAllTokensValid())return as.clearExpiredTokens(),{isAuthenticated:!1,isLoading:!1,user:null,alias:null,companies:[],selectedUnit:null,userId:null,userAlias:null};const e=as.getAccessToken(),a=as.getIdToken();Rs();const t=this.extractUserFromIdToken(a),s=this.extractCompaniesFromIdToken(a),r=this.extractAliasFromAccessToken(e),n=as.extractTokenData(),i=n?.alias;let o=null;if(i&&s.some(e=>e.alias===i))o=i;else{const e=as.getSelectedAlias(),a=e&&s.some(a=>a.alias===e);o=a?e:r||s[0]?.alias||null}!as.isSupabaseTokenValid()&&o&&await Ds.attemptRegeneration();let l=null;if(o){const e=as.getCompanyId(o),a=s.find(e=>e.alias===o);a&&(l={id:e||a.id,name:a.name,alias:a.alias})}return{isAuthenticated:!0,isLoading:!1,user:t,alias:o,companies:s,selectedUnit:l,userId:t?.id||null,userAlias:t?.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 us}),a=e(),{data:t,error:s}=await a.functions.invoke("dev-tokens",{body:{environment:"development"}});if(s)return!1;if(!t?.access_token||!t?.id_token)return!1;const r=new URL("/callback",window.location.origin);return r.hash=`access_token=${t.access_token}&id_token=${t.id_token}&token_type=bearer`,window.location.href=r.toString(),!0}catch(e){return!1}}static loginProd(){const e=as.generateOAuthState();as.setOAuthState(e);const a=as.generateOAuthNonce();as.setOAuthNonce(a);const t=`${window.location.origin}/callback`,s=new URL(gs.oauth.authUrl);s.searchParams.set("client_id",gs.oauth.clientId),s.searchParams.set("response_type",gs.oauth.responseType),s.searchParams.set("scope",gs.oauth.scope),s.searchParams.set("redirect_uri",t),s.searchParams.set("state",e),s.searchParams.set("nonce",a),s.searchParams.set("response_mode","fragment"),vs(),window.location.href=s.toString()}static async processCallback(){try{if(as.hasAllTokens()){if(!as.getValidSupabaseToken()){as.getAccessToken();await Ds.attemptRegeneration()}return!0}const e=new URLSearchParams(window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash),a=new URLSearchParams(window.location.search),t=t=>e.get(t)||a.get(t),s=t("access_token"),r=t("id_token"),n=t("error");if(n)throw new Error(`Erro OAuth: ${n}`);if(!s||!r)throw new Error("Tokens não encontrados na URL de callback");as.setAccessToken(s),as.setIdToken(r),Rs();const i=this.extractAliasFromAccessToken(s);if(i)as.setSelectedAlias(i);else{const e=this.extractCompaniesFromIdToken(r);if(0===e.length)throw new Error("Nenhuma empresa encontrada nos tokens");as.setSelectedAlias(e[0].alias)}if(!await Ds.attemptRegeneration())throw new Error("Falha ao gerar token Supabase");return as.clearOAuthState(),as.clearOAuthNonce(),!0}catch(e){throw e}}static logout(){as.setManualLogout(),as.clearAll(),window.location.href="/login"}static decodeToken(e){return Qt.parseJwtPayload(e)}static extractUserFromIdToken(e){const a=this.decodeToken(e);return a?{id:a.subNewId,email:a.email,name:a.name,identifier:a.identifier}:null}static extractCompaniesFromIdToken(e){const a=this.decodeToken(e);if(!a)return[];const t=[];return Object.keys(a).forEach(e=>{if(e.match(/^co(\d+)$/)&&"string"==typeof a[e]){const s=a[e].split(";");if(s.length>=4)t.push({id:s.length>7?s[7].trim():"",alias:s[0].trim(),name:s[3].trim()});else{const[s,r]=a[e].split("|");s&&r&&t.push({id:"",alias:s.trim(),name:r.trim()})}}}),t}static extractAliasFromAccessToken(e){const a=this.decodeToken(e);return a?.default||null}};Ds.setLogoutCallback(()=>{zs.logout()});let Os=zs;class $s{static handleError(e){if(!e)return!1;const a=e.message||e.toString();return!!this.isAuthenticationError(e,a)&&(as.clearAll(),window.location.href="/",!0)}static isAuthenticationError(e,a){if(401===e.status||401===e.statusCode)return!0;const t=a.toLowerCase();return["401","unauthorized","token","expired","invalid","authentication","login","session"].some(e=>t.includes(e))}static async wrapAsync(e){try{return await e}catch(a){if(!this.handleError(a))throw a;throw new Error("Sua sessão expirou. Você será redirecionado para fazer login novamente.")}}}const Fs=t(void 0),Ls=({children:e})=>{const[a,t]=r({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null});let s=null;try{s=Je()}catch{}const[l,c]=r(!1),[d,m]=r(0),u=n(e=>{t(a=>({...a,...e}))},[]),f=n(e=>{t(a=>({...a,isLoading:e}))},[]),p=n(()=>{t({user:null,companies:[],alias:null,isAuthenticated:!1,isLoading:!0,selectedUnit:null,userId:null,userAlias:null})},[]),h=n(async e=>{try{f(!0);const a=as.getAccessToken();if(!a)return;const t=await Es.generateToken(a,e.alias,void 0,!0);if(!t)return;as.setSupabaseToken(t),as.setSelectedAlias(e.alias);const r=as.extractTokenData(),n=r?.alias||e.alias,i={id:r?.companyId||as.getCompanyId(e.alias)||e.id,name:e.name,alias:n};u({alias:n,selectedUnit:i}),s&&(await s.clear(),await new Promise(e=>setTimeout(e,100)))}catch(a){}finally{f(!1)}},[u,s,f]),x=n(async()=>await Os.processCallback(),[]),g=n(async()=>{Os.logout(),p(),s&&await s.clear()},[p,s]),b=n(e=>{c(e)},[]),y=n(()=>{m(e=>e+1)},[]),v=n(()=>{m(e=>e+1)},[]);i(()=>{if(!a.isAuthenticated)return;let e=!0;const t=setInterval(()=>{e&&(as.areAllTokensValid()||e&&g())},6e5);return()=>{e=!1,clearInterval(t)}},[a.isAuthenticated,g]),i(()=>{let e=!0;return(async()=>{try{if(await new Promise(e=>setTimeout(e,100)),!e)return;const a=await Os.initialize();if(!e)return;a&&a.isAuthenticated?u({user:a.user,companies:a.companies,alias:a.alias,isAuthenticated:!0,isLoading:!1,selectedUnit:a.selectedUnit,userId:a.userId,userAlias:a.userAlias}):e&&f(!1)}catch(a){e&&($s.handleError(a),f(!1))}})(),()=>{e=!1}},[u,f,g]);const N=o(()=>({...a,logout:g,processCallback:x,switchUnit:h,availableUnits:a.companies,isSearchVisible:l,setSearchVisible:b,clearSearch:y,refreshData:v}),[a.user,a.companies,a.alias,a.isAuthenticated,a.isLoading,a.selectedUnit,a.userId,a.userAlias,g,x,h,l,b,y,v]);return Ia.jsx(Fs.Provider,{value:N,children:e})},Ms=()=>{const e=s(Fs);if(void 0===e)throw new Error("useAuth deve ser usado dentro de um AuthProvider");return e};function Us({queryKey:e,service:a,entityName:t,searchFields:s,additionalFilters:i={},onSuccess:l}){const[c,d]=Ze(),m=Je(),{alias:u,userId:f}=Ms(),p=c.get("search")||"",h=c.get("sortField")||bs.sorting.defaultField,x=c.get("sortDirection")||bs.sorting.defaultDirection,g=parseInt(c.get("page")||"1"),b=parseInt(c.get("limit")||String(bs.pagination.defaultPageSize)),y=p,v=o(()=>({search:y,sortField:h,sortDirection:x,page:g,limit:b,...i}),[y,h,x,g,b,i]),N=n(()=>a.getAll(v),[a,v]),j=Xe({queryKey:[e,u,f,v],queryFn:N});if(!j)throw new Error(`useCrud: Query initialization failed for "${t}". Ensure QueryClientProvider is configured in your app root.`);const w=Ye({mutationFn:a.create,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.created(t)),l?.()},onError:e=>{sa.error(`${Ss.error.create(t)}: ${e.message}`)}}),k=Ye({mutationFn:({id:e,data:t})=>a.update(e,t),onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.updated(t)),l?.()},onError:e=>{sa.error(`${Ss.error.update(t)}: ${e.message}`)}}),S=Ye({mutationFn:a.delete,onSuccess:()=>{m.invalidateQueries({queryKey:[e]}),sa.success(Ss.success.deleted(t))},onError:e=>{sa.error(`${Ss.error.delete(t)}: ${e.message}`)}}),C=n(e=>{const a={...Object.fromEntries(c)};Object.entries(e).forEach(([e,t])=>{""===t||0===t?delete a[e]:a[e]=String(t)}),d(a)},[c,d]),T=n(e=>{C({search:e,page:1})},[C]),R=n(e=>{C({sortField:e,sortDirection:h===e&&"asc"===x?"desc":"asc",page:1})},[h,x,C]),_=n(e=>{C({page:e})},[C]),P=n(e=>{C({limit:e,page:1})},[C]),E=n(()=>{d({})},[d]),[I,A]=r([]),D=n(e=>{A(a=>a.includes(e)?a.filter(a=>a!==e):[...a,e])},[]),z=n(()=>{const e=j?.data?.data.map(e=>e.id)||[];A(a=>a.length===e.length?[]:e)},[j?.data?.data]),O=n(()=>{A([])},[]),$=o(()=>{const e=j?.data?.data.map(e=>e.id)||[];return e.length>0&&I.length===e.length},[I,j?.data?.data]),F=Ye({mutationFn:async e=>{await Promise.all(e.map(e=>a.delete(e)))},onSuccess:(a,s)=>{m.invalidateQueries({queryKey:[e]}),sa.success(`${s.length} ${t}(s) deletado(s) com sucesso`),O()},onError:e=>{sa.error(`Erro ao deletar itens: ${e.message}`)}});return{entities:j?.data?.data||[],pagination:{currentPage:j?.data?.currentPage||1,totalPages:j?.data?.totalPages||1,totalItems:j?.data?.totalItems||0,itemsPerPage:j?.data?.itemsPerPage||bs.pagination.defaultPageSize,hasNextPage:j?.data?.hasNextPage||!1,hasPreviousPage:j?.data?.hasPreviousPage||!1},isLoading:j?.isLoading??!0,isCreating:w?.isPending??!1,isUpdating:k?.isPending??!1,isDeleting:S?.isPending??!1,error:j?.error||null,searchTerm:p,sortField:h,sortDirection:x,currentPage:g,itemsPerPage:b,createEntity:w.mutate,updateEntity:(e,a)=>k.mutate({id:e,data:a}),deleteEntity:S.mutate,handleSearch:T,handleSort:R,handlePageChange:_,handleItemsPerPageChange:P,clearFilters:E,refetch:j.refetch,selectedIds:I,selectItem:D,selectAll:z,clearSelection:O,isAllSelected:$,bulkDelete:F.mutate,isBulkDeleting:F.isPending}}function Vs(e){const a=Ts({tableName:e.tableName,searchFields:e.searchFields||["title"],schemaName:e.schemaName||"central",entityName:e.entityName,enableQualiexEnrichment:e.enableQualiexEnrichment||!0});return{service:a,useCrudHook:t=>Us({queryKey:e.tableName,service:{...a,getAll:async(e={})=>await a.getAll({...e})},entityName:e.entityName,onSuccess:t})}}const Bs=na.Root,Ws=na.Trigger,qs=na.Portal,Hs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Overlay,{className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));Hs.displayName=na.Overlay.displayName;const Qs=e.forwardRef(({className:e,...a},t)=>Ia.jsxs(qs,{children:[Ia.jsx(Hs,{}),Ia.jsx(na.Content,{ref:t,className:Aa("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a})]}));Qs.displayName=na.Content.displayName;const Ks=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-2 text-center sm:text-left bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-6 rounded-t-lg",e),...a});Ks.displayName="AlertDialogHeader";const Js=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});Js.displayName="AlertDialogFooter";const Xs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Title,{ref:t,className:Aa("text-lg font-semibold",e),...a}));Xs.displayName=na.Title.displayName;const Ys=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ys.displayName=na.Description.displayName;const Gs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Action,{ref:t,className:Aa(Fa(),e),...a}));Gs.displayName=na.Action.displayName;const Zs=e.forwardRef(({className:e,...a},t)=>Ia.jsx(na.Cancel,{ref:t,className:Aa(Fa({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));Zs.displayName=na.Cancel.displayName;const er=({open:e,onOpenChange:a,item:t,onConfirm:s,entityName:n="item",isDeleting:o=!1})=>{const[l,c]=r("");i(()=>{e||c("")},[e]);const d=()=>{c(""),a(!1)},m=l===t?.title;return t?Ia.jsx(Bs,{open:e,onOpenChange:d,children:Ia.jsxs(Qs,{className:"sm:max-w-[500px]",children:[Ia.jsx(Ks,{children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx("div",{className:"flex-shrink-0 w-8 h-8 rounded-full bg-destructive/10 flex items-center justify-center",children:Ia.jsx("span",{className:"text-destructive font-semibold text-sm",children:"!"})}),Ia.jsx("div",{className:"flex-1",children:Ia.jsx(Xs,{className:"text-lg font-semibold",children:"Confirmar Exclusão"})})]})}),Ia.jsx(Ys,{asChild:!0,children:Ia.jsxs("div",{className:"space-y-4",children:[Ia.jsxs("div",{className:"text-sm text-muted-foreground",children:[Ia.jsxs("p",{className:"mb-2",children:["Você está prestes a excluir permanentemente o ",n,":"]}),Ia.jsx("div",{className:"p-3 bg-muted rounded-md border-l-4 border-l-destructive",children:Ia.jsx("p",{className:"font-medium text-foreground",children:t.title})})]}),Ia.jsx("div",{className:"bg-orange-50 border border-orange-200 rounded-md p-3",children:Ia.jsxs("div",{className:"flex items-start space-x-2",children:[Ia.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-orange-500 flex items-center justify-center mt-0.5",children:Ia.jsx("span",{className:"text-white font-bold text-xs",children:"!"})}),Ia.jsxs("div",{className:"text-sm text-orange-800",children:[Ia.jsx("p",{className:"font-medium mb-1",children:"Atenção!"}),Ia.jsxs("p",{children:["Esta ação não pode ser desfeita. O ",n," será removido permanentemente do sistema."]})]})]})}),Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsxs(Va,{htmlFor:"confirmation",className:"text-sm font-medium",children:["Para confirmar, digite ",Ia.jsxs("strong",{children:['"',t.title,'"']})," abaixo:"]}),Ia.jsx(Ma,{id:"confirmation",type:"text",value:l,onChange:e=>c(e.target.value),placeholder:`Digite: ${t.title}`,className:"w-full"})]})]})}),Ia.jsxs(Js,{children:[Ia.jsx(Zs,{onClick:d,children:"Cancelar"}),Ia.jsx(Gs,{onClick:()=>{t&&l===t.title&&(s(t),c(""),a(!1))},disabled:!m||o,className:"bg-destructive hover:bg-destructive/90 text-destructive-foreground",children:o?"Removendo...":`Excluir ${n}`})]})]})}):null},ar=e.forwardRef(({className:e,...a},t)=>Ia.jsx("table",{ref:t,className:Aa("w-full caption-bottom text-sm",e),...a}));ar.displayName="Table";const tr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("thead",{ref:t,className:Aa("[&_tr]:border-b sticky top-0 z-[1] bg-background",e),...a}));tr.displayName="TableHeader";const sr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tbody",{ref:t,className:Aa("[&_tr:last-child]:border-0",e),...a}));sr.displayName="TableBody";const rr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tfoot",{ref:t,className:Aa("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...a}));rr.displayName="TableFooter";const nr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("tr",{ref:t,className:Aa("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted odd:bg-muted/50",e),...a}));nr.displayName="TableRow";const ir=e.forwardRef(({className:e,...a},t)=>Ia.jsx("th",{ref:t,className:Aa("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),...a}));ir.displayName="TableHead";const or=e.forwardRef(({className:e,...a},t)=>Ia.jsx("td",{ref:t,className:Aa("px-4 py-3 align-middle [&:has([role=checkbox])]:pr-0",e),...a}));or.displayName="TableCell";const lr=e.forwardRef(({className:e,...a},t)=>Ia.jsx("caption",{ref:t,className:Aa("mt-4 text-sm text-muted-foreground",e),...a}));function cr({className:e,...a}){return Ia.jsx("div",{className:Aa("animate-pulse rounded-md bg-muted",e),...a})}function dr({rows:e=5,columns:a=4}){return Ia.jsx("div",{className:"w-full",children:Ia.jsxs("div",{className:"rounded-md border",children:[Ia.jsx("div",{className:"border-b bg-muted/50 px-4 py-3",children:Ia.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>Ia.jsx(cr,{className:"h-4 w-24"},a))})}),Ia.jsx("div",{children:Array.from({length:e}).map((e,t)=>Ia.jsx("div",{className:"border-b px-4 py-3 last:border-0",children:Ia.jsx("div",{className:"flex space-x-4",children:Array.from({length:a}).map((e,a)=>Ia.jsx(cr,{className:"h-4 w-20"},a))})},t))})]})})}function mr({count:e=3}){return Ia.jsx("div",{className:"space-y-4",children:Array.from({length:e}).map((e,a)=>Ia.jsxs(Ba,{children:[Ia.jsxs(Wa,{children:[Ia.jsx(cr,{className:"h-4 w-3/4"}),Ia.jsx(cr,{className:"h-3 w-1/2"})]}),Ia.jsx(Qa,{children:Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-3 w-full"}),Ia.jsx(cr,{className:"h-3 w-2/3"})]})})]},a))})}function ur({fields:e=4}){return Ia.jsxs("div",{className:"space-y-4",children:[Array.from({length:e}).map((e,a)=>Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-4 w-24"}),Ia.jsx(cr,{className:"h-10 w-full"})]},a)),Ia.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[Ia.jsx(cr,{className:"h-10 w-20"}),Ia.jsx(cr,{className:"h-10 w-20"})]})]})}function fr(){return Ia.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx(cr,{className:"h-8 w-8 rounded-full"}),Ia.jsx(cr,{className:"h-6 w-32"})]}),Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx(cr,{className:"h-8 w-8"}),Ia.jsx(cr,{className:"h-8 w-24"})]})]})}function pr(){return Ia.jsx("div",{className:"w-64 border-r bg-muted/10",children:Ia.jsxs("div",{className:"p-4",children:[Ia.jsx(cr,{className:"h-8 w-32 mb-6"}),Ia.jsx("div",{className:"space-y-2",children:Array.from({length:6}).map((e,a)=>Ia.jsxs("div",{className:"flex items-center space-x-3 p-2",children:[Ia.jsx(cr,{className:"h-4 w-4"}),Ia.jsx(cr,{className:"h-4 w-20"})]},a))})]})})}lr.displayName="TableCaption";const hr={default:R,search:T,error:C};function xr({icon:e,title:a,description:t,action:s,className:r,variant:n="default"}){const i=e?()=>e:hr[n];return Ia.jsxs("div",{className:Aa("flex flex-col items-center justify-center py-12 px-4 text-center",r),children:[Ia.jsx("div",{className:"flex items-center justify-center w-16 h-16 rounded-full bg-muted mb-4",children:Ia.jsx(i,{className:"h-8 w-8 text-muted-foreground"})}),Ia.jsx("h3",{className:"text-lg font-semibold mb-2",children:a}),t&&Ia.jsx("p",{className:"text-muted-foreground mb-6 max-w-sm",children:t}),s&&Ia.jsx(La,{onClick:s.onClick,variant:"outline",children:s.label})]})}const gr=ia.Root,br=ia.Trigger,yr=ia.Group,vr=ia.Portal,Nr=ia.Sub,jr=ia.RadioGroup,wr=e.forwardRef(({className:e,inset:a,children:t,...s},r)=>Ia.jsxs(ia.SubTrigger,{ref:r,className:Aa("flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",a&&"pl-8",e),...s,children:[t,Ia.jsx(_,{className:"ml-auto h-4 w-4"})]}));wr.displayName=ia.SubTrigger.displayName;const kr=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ia.SubContent,{ref:t,className:Aa("z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a}));kr.displayName=ia.SubContent.displayName;const Sr=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>Ia.jsx(ia.Portal,{children:Ia.jsx(ia.Content,{ref:s,sideOffset:a,className:Aa("z-[100] min-w-[8rem] overflow-hidden rounded-md border bg-white shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 dark:bg-gray-800 dark:border-gray-700",e),...t})}));Sr.displayName=ia.Content.displayName;const Cr=e.forwardRef(({className:e,inset:a,...t},s)=>Ia.jsx(ia.Item,{ref:s,className:Aa("relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a&&"pl-8",e),...t}));Cr.displayName=ia.Item.displayName;const Tr=e.forwardRef(({className:e,children:a,checked:t,...s},r)=>Ia.jsxs(ia.CheckboxItem,{ref:r,className:Aa("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:t,...s,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(ia.ItemIndicator,{children:Ia.jsx(k,{className:"h-4 w-4"})})}),a]}));Tr.displayName=ia.CheckboxItem.displayName;const Rr=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(ia.RadioItem,{ref:s,className:Aa("relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t,children:[Ia.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:Ia.jsx(ia.ItemIndicator,{children:Ia.jsx(P,{className:"h-2 w-2 fill-current"})})}),a]}));Rr.displayName=ia.RadioItem.displayName;const _r=e.forwardRef(({className:e,inset:a,...t},s)=>Ia.jsx(ia.Label,{ref:s,className:Aa("px-2 py-1.5 text-sm font-semibold",a&&"pl-8",e),...t}));_r.displayName=ia.Label.displayName;const Pr=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ia.Separator,{ref:t,className:Aa("-mx-1 my-1 h-px bg-muted",e),...a}));Pr.displayName=ia.Separator.displayName;const Er=({className:e,...a})=>Ia.jsx("span",{className:Aa("ml-auto text-xs tracking-widest opacity-60",e),...a});Er.displayName="DropdownMenuShortcut";const Ir=({onEdit:e,onDelete:a,onToggleStatus:t,isActive:s=!0,canDelete:r=!0,renderAs:n})=>{const i=[];if(e){const a={icon:E,label:"Editar",onClick:e};i.push(a)}if(t){const e={icon:s?I:A,label:s?"Inativar":"Ativar",onClick:t};i.push(e)}if(r&&a){const e={icon:D,label:"Remover",onClick:a,destructive:!0};i.push(e)}return"dropdown"===n?Ia.jsx(Ia.Fragment,{children:i.map((e,a)=>Ia.jsxs(Cr,{onClick:e.onClick,className:e.destructive?"text-destructive":"",children:[Ia.jsx(e.icon,{className:"mr-2 h-4 w-4"}),e.label]},a))}):Ia.jsx(Ia.Fragment,{children:i.map((e,a)=>Ia.jsxs(La,{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:[Ia.jsx(e.icon,{className:"h-4 w-4 mr-2"}),e.label]},a))})},Ar=({onEdit:e,onDelete:a,canDelete:t=!0,onToggleStatus:s,isActive:r=!0})=>Ia.jsxs(gr,{children:[Ia.jsx(br,{asChild:!0,children:Ia.jsx(La,{variant:"action",size:"sm",className:"h-7 px-2 text-xs",children:Ia.jsx(z,{size:12})})}),Ia.jsx(Sr,{align:"end",children:Ia.jsx(Ir,{onEdit:a=>{a?.stopPropagation(),e?.()},onDelete:e=>{e?.stopPropagation(),a?.()},onToggleStatus:e=>{e?.stopPropagation(),s?.()},isActive:r,canDelete:t,renderAs:"dropdown"})})]}),Dr=({manager:e,columns:a,onEdit:t,onView:s,onToggleStatus:n,onDelete:o,renderActions:l,enableBulkActions:c=!1})=>{const[d,m]=r(!1),[u,f]=r(null);i(()=>{const e=()=>m(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),i(()=>{const e=()=>f(null);if(u)return document.addEventListener("click",e),()=>document.removeEventListener("click",e)},[u]);const p=(()=>{a.length;let e=0;const t=a.map(a=>{if(a.width)return e+=a.width,{...a,calculatedWidth:a.width,isFixed:!0};{const t=a.minWidth||120,s=a.weight||1;return e+=t,{...a,calculatedWidth:t,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?e.isLoading?Ia.jsx(mr,{count:3}):0===e.entities.length?Ia.jsx(xr,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"}):Ia.jsxs("div",{className:"space-y-4",children:[e.entities.map(r=>Ia.jsx(Ba,{className:Aa("overflow-hidden cursor-pointer hover:bg-muted/50",c&&e.selectedIds.includes(r.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),c||t?.(r)},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),f({x:e.clientX,y:e.clientY,item:r})},children:Ia.jsx(Qa,{className:"p-4",children:Ia.jsxs("div",{className:"flex items-start gap-3",children:[c&&Ia.jsx("div",{className:"pt-0.5",onClick:e=>e.stopPropagation(),children:Ia.jsx(Nt,{checked:e.selectedIds.includes(r.id),onCheckedChange:()=>e.selectItem(r.id)})}),Ia.jsxs("div",{className:"flex-1",children:[a.map(e=>Ia.jsxs("div",{className:"flex justify-between items-start mb-2 last:mb-0",children:[Ia.jsxs("span",{className:"text-sm font-medium text-muted-foreground min-w-0 mr-2",children:[e.header,":"]}),Ia.jsx("div",{className:"text-sm text-foreground text-right min-w-0 flex-1",children:e.render?e.render(r):r[e.key]})]},String(e.key))),(t||s||l)&&Ia.jsx("div",{className:"mt-3 pt-3 border-t flex justify-end",onClick:e=>e.stopPropagation(),children:l?l(r):Ia.jsx(Ar,{onEdit:t?()=>{t(r)}:void 0,onDelete:o?()=>o(r):void 0,onToggleStatus:n?()=>n(r):void 0,isActive:r.is_actived})})]})]})})},r.id)),u&&Ia.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:u.x,top:u.y},onClick:e=>e.stopPropagation(),children:Ia.jsx(Ir,{onEdit:t?()=>{t(u.item),f(null)}:void 0,onDelete:o?()=>{o(u.item),f(null)}:void 0,onToggleStatus:n?()=>{n(u.item),f(null)}:void 0,isActive:u.item.is_actived,canDelete:!!o,renderAs:"context"})})]}):Ia.jsxs("div",{className:"flex flex-col h-full",children:[e.isLoading?Ia.jsx(dr,{rows:5,columns:a.length}):Ia.jsx("div",{className:"flex flex-col h-full overflow-hidden",children:Ia.jsx("div",{className:"flex-1 overflow-auto",children:Ia.jsxs(ar,{className:"table-auto",children:[Ia.jsxs("colgroup",{children:[c&&Ia.jsx("col",{style:{width:"50px"}}),p.map((e,a)=>Ia.jsx("col",{style:e.style},a)),Ia.jsx("col",{style:{width:"100px"}})]}),Ia.jsx(tr,{children:Ia.jsxs(nr,{children:[c&&Ia.jsx(ir,{className:"w-[50px]",children:Ia.jsx(Nt,{checked:e.isAllSelected,onCheckedChange:e.selectAll})}),a.map(a=>{return Ia.jsx(ir,{className:`${a.className||""} ${a.sortable?"cursor-pointer hover:bg-muted/50":""}`,onClick:a.sortable?()=>e.handleSort(String(a.key)):void 0,children:Ia.jsxs("div",{className:"flex items-center "+(a.className?.includes("text-center")?"justify-center":""),children:[a.header,a.sortable&&(t=String(a.key),e.sortField!==t?Ia.jsx(O,{size:14,className:"ml-1 opacity-50"}):"asc"===e.sortDirection?Ia.jsx($,{size:14,className:"ml-1"}):Ia.jsx(F,{size:14,className:"ml-1"}))]})},String(a.key));var t}),Ia.jsx(ir,{className:"w-[100px] text-center",children:"Ações"})]})}),Ia.jsx(sr,{children:0===e.entities.length?Ia.jsx(nr,{children:Ia.jsx(or,{colSpan:a.length+1,className:"h-32",children:Ia.jsx(xr,{title:"Nenhum item encontrado",description:"Não há dados para exibir no momento.",variant:"search"})})}):e.entities.map(s=>Ia.jsxs(nr,{className:Aa("cursor-pointer hover:bg-muted/50",c&&e.selectedIds.includes(s.id)&&"bg-muted"),onClick:e=>{e.stopPropagation(),c||t?.(s)},onContextMenu:e=>{e.preventDefault(),e.stopPropagation(),f({x:e.clientX,y:e.clientY,item:s})},children:[c&&Ia.jsx(or,{onClick:e=>e.stopPropagation(),children:Ia.jsx(Nt,{checked:e.selectedIds.includes(s.id),onCheckedChange:()=>e.selectItem(s.id)})}),a.map(e=>Ia.jsx(or,{className:e.className,children:e.render?e.render(s):s[e.key]},String(e.key))),Ia.jsx(or,{className:"text-center",children:l?l(s):Ia.jsx(Ar,{onEdit:t?()=>t(s):void 0,onDelete:o?()=>o(s):void 0,onToggleStatus:n?()=>n(s):void 0,isActive:s.is_actived})})]},s.id))})]})})}),u&&Ia.jsx("div",{className:"fixed bg-background border border-border rounded-md shadow-lg py-1 z-50 min-w-[120px]",style:{left:u.x,top:u.y},onClick:e=>e.stopPropagation(),children:Ia.jsx(Ir,{onEdit:t?()=>{t(u.item),f(null)}:void 0,onDelete:o?()=>{o(u.item),f(null)}:void 0,onToggleStatus:n?()=>{n(u.item),f(null)}:void 0,isActive:u.item.is_actived,canDelete:!!o,renderAs:"context"})})]})};function zr(e,a,t,s){const[n,l]=r({}),[c,d]=r({}),m=o(()=>e,[e]),u=e=>e instanceof Date&&!isNaN(e.getTime()),f=e=>{if(void 0!==e.defaultValue)return e.defaultValue;switch(e.type){case"multiselect":return[];case"checkbox":return!1;case"number":return 0;case"date":default:return"";case"group":return{}}},p=(e,a)=>{if(e.computedValue&&"function"==typeof e.computedValue)try{return e.computedValue(a)}catch(t){return f(e)}},h=(e,a,t)=>{if(e.required&&(""===a||null==a||Array.isArray(a)&&0===a.length))return`${e.label} é obrigatório`;if(e.validation){let 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(a,t);if(e)return e}catch(s){}}};i(()=>{if(!s)return;const e=a=>{const t=[];return a.forEach(a=>{t.push(a),a.fields&&t.push(...e(a.fields))}),t},r=e(m),n={};r.forEach(e=>{let t;if(a&&void 0!==a[e.name]){if(t=a[e.name],null==t&&(t=""),"date"===e.type&&t)if("string"==typeof t){const e=new Date(t);u(e)&&(t=e.toISOString().split("T")[0])}else u(t)&&(t=t.toISOString().split("T")[0])}else t=f(e);n[e.name]=t}),r.forEach(e=>{const a=p(e,n);void 0!==a&&(n[e.name]=a)}),a&&Object.keys(a).forEach(e=>{r.find(a=>a.name===e)||void 0===a[e]||(n[e]=a[e])}),l(n),d({}),t&&t(n)},[m,a,t,s]);const x=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...x(e.fields))}),a},g=()=>{const e=x(m),a={};return e.forEach(e=>{const t=h(e,n[e.name],n);t&&(a[e.name]=t)}),d(a),0===Object.keys(a).length};return{formData:n,errors:c,updateField:(e,a)=>{l(s=>{const r={...s,[e]:a},n=((e,a)=>{let t={...a};const s=e=>{const a=[];return e.forEach(e=>{a.push(e),e.fields&&a.push(...s(e.fields))}),a};return s(m).filter(a=>a.dependsOn===e).forEach(e=>{const a=p(e,t);void 0!==a&&(t={...t,[e.name]:a})}),t})(e,r);return t&&t(n),n}),c[e]&&d(a=>{const t={...a};return delete t[e],t});const s=x(m).find(a=>a.name===e);if(s){const t=h(s,a,n);t&&d(a=>({...a,[e]:t}))}},validateForm:g,handleSubmit:e=>a=>{a&&(a.preventDefault(),a.stopPropagation()),g()&&e(n)}}}const Or=oa.Root,$r=oa.Trigger,Fr=e.forwardRef(({className:e,align:a="center",sideOffset:t=4,...s},r)=>Ia.jsx(oa.Portal,{children:Ia.jsx(oa.Content,{ref:r,align:a,sideOffset:t,className:Aa("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})}));Fr.displayName=oa.Content.displayName;const Lr=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#06b6d4","#84cc16","#f97316","#ec4899","#6b7280"],Mr=({value:e="#3b82f6",onChange:a,label:t})=>Ia.jsxs("div",{className:"space-y-2",children:[t&&Ia.jsx(Va,{children:t}),Ia.jsxs(Or,{children:[Ia.jsx($r,{asChild:!0,children:Ia.jsxs(La,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[Ia.jsx("div",{className:"h-4 w-4 rounded border mr-2",style:{backgroundColor:e}}),e]})}),Ia.jsx(Fr,{className:"w-64",children:Ia.jsxs("div",{className:"space-y-3",children:[Ia.jsxs("div",{children:[Ia.jsx(Va,{htmlFor:"color-input",children:"Cor personalizada"}),Ia.jsx(Ma,{id:"color-input",type:"color",value:e,onChange:e=>a?.(e.target.value),className:"h-10 w-full"})]}),Ia.jsxs("div",{children:[Ia.jsx(Va,{children:"Cores predefinidas"}),Ia.jsx("div",{className:"grid grid-cols-5 gap-2 mt-2",children:Lr.map(e=>Ia.jsx("button",{className:"h-8 w-8 rounded border-2 border-border hover:border-primary",style:{backgroundColor:e},onClick:()=>a?.(e),"aria-label":`Selecionar cor ${e}`},e))})]})]})})]})]}),Ur=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsxs(la.Root,{ref:s,className:Aa("relative overflow-hidden",e),...t,children:[Ia.jsx(la.Viewport,{className:"h-full w-full rounded-[inherit]",children:a}),Ia.jsx(Vr,{}),Ia.jsx(la.Corner,{})]}));Ur.displayName=la.Root.displayName;const Vr=e.forwardRef(({className:e,orientation:a="vertical",...t},s)=>Ia.jsx(la.ScrollAreaScrollbar,{ref:s,orientation:a,className:Aa("flex touch-none select-none transition-colors","vertical"===a&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===a&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...t,children:Ia.jsx(la.ScrollAreaThumb,{className:"relative flex-1 rounded-full bg-border"})}));Vr.displayName=la.ScrollAreaScrollbar.displayName;const Br={Star:Pe,Heart:_e,Home:Re,User:Te,Settings:Ce,Mail:Se,Phone:ke,Calendar:we,MapPin:je,Camera:Ne,Image:ve,Music:ye,Video:be,Book:ge,Bookmark:xe,Search:T,Filter:he,Edit:E,Trash2:D,Plus:pe,Minus:fe,Check:k,X:N,ChevronDown:j,ChevronUp:w,ChevronLeft:ue,ChevronRight:_,ArrowUp:$,ArrowDown:F,ArrowLeft:me,ArrowRight:de,Clock:ce,Bell:le,AlertCircle:C,Info:oe,HelpCircle:ie,Download:ne,Upload:re,Share:se,Copy:te,Save:ae,FileText:ee,Folder:Z,FolderOpen:G,Archive:Y,Lock:X,Unlock:J,Eye:K,EyeOff:Q,Shield:H,Key:q,Zap:W,Flame:B,Sparkles:V,Award:U,Trophy:M,Target:L},Wr=({value:e="Star",onChange:a,label:t})=>{const[s,n]=r(""),i=Object.entries(Br).filter(([e])=>e.toLowerCase().includes(s.toLowerCase())),o=Br[e]||Pe;return Ia.jsxs("div",{className:"space-y-2",children:[t&&Ia.jsx(Va,{children:t}),Ia.jsxs(Or,{children:[Ia.jsx($r,{asChild:!0,children:Ia.jsxs(La,{variant:"outline",className:"w-full justify-start text-left font-normal",children:[Ia.jsx(o,{className:"h-4 w-4 mr-2"}),e]})}),Ia.jsx(Fr,{className:"w-80",children:Ia.jsxs("div",{className:"space-y-3",children:[Ia.jsxs("div",{children:[Ia.jsx(Va,{htmlFor:"icon-search",children:"Buscar ícone"}),Ia.jsx(Ma,{id:"icon-search",placeholder:"Digite o nome do ícone...",value:s,onChange:e=>n(e.target.value)})]}),Ia.jsx(Ur,{className:"h-48",children:Ia.jsx("div",{className:"grid grid-cols-6 gap-2",children:i.map(([t,s])=>Ia.jsx("button",{className:"p-2 rounded border-2 hover:border-primary "+(e===t?"border-primary bg-primary/10":"border-border"),onClick:()=>a?.(t),title:t,children:Ia.jsx(s,{className:"h-4 w-4"})},t))})})]})})]})]})};function qr({value:e,onChange:a,items:t,isLoading:s=!1,error:n=null,getItemValue:i,getItemLabel:l,searchPlaceholder:c="Buscar...",emptyMessage:d="Nenhum item disponível",noResultsMessage:m="Nenhum resultado encontrado",sortItems:u,placeholder:f="Selecionar...",disabled:p=!1,className:h}){const[x,g]=r(""),b=o(()=>{const e=u?[...t].sort(u):[...t].sort((e,a)=>l(e).localeCompare(l(a),"pt-BR"));if(!x.trim())return e;const a=x.toLowerCase();return e.filter(e=>l(e).toLowerCase().includes(a))},[t,x,u,l]);return s?Ia.jsx(cr,{className:Aa("h-10 w-full",h)}):n?Ia.jsxs("div",{className:Aa("flex items-center gap-2 p-2 border border-destructive/20 rounded-md",h),children:[Ia.jsx(C,{className:"h-4 w-4 text-destructive"}),Ia.jsx("span",{className:"text-sm text-destructive",children:n.message||"Erro ao carregar dados"})]}):Ia.jsxs(pt,{value:e,onValueChange:a,disabled:p||0===t.length,children:[Ia.jsx(xt,{className:h,children:Ia.jsx(ht,{placeholder:f})}),Ia.jsxs(yt,{children:[Ia.jsx("div",{className:"px-2 pb-2",children:Ia.jsxs("div",{className:"relative",children:[Ia.jsx(T,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),Ia.jsx(Ma,{placeholder:c,value:x,onChange:e=>g(e.target.value),onKeyDown:e=>e.stopPropagation(),className:"pl-8 h-9"})]})}),0===b.length?Ia.jsx(vt,{value:"no-items",disabled:!0,children:x?m:d}):b.map(e=>Ia.jsx(vt,{value:i(e),children:l(e)},i(e)))]})]})}const Hr=(e={})=>{const{user:a,alias:t}=Ms(),s=ws(),{enabled:r=s.enableUsersApi}=e;return Xe({queryKey:["qualiex-users",t],queryFn:()=>hs.getUsers(t),enabled:r&&!!t&&!!a,retry:2,retryDelay:1e3})},Qr=({value:e="",onChange:a,placeholder:t="Selecionar usuário",disabled:s,className:r,enabled:n})=>{const{data:i=[],isLoading:o,error:l}=Hr({enabled:n});return Ia.jsx(qr,{value:e,onChange:a,items:i,isLoading:o,error:l,getItemValue:e=>e.userId,getItemLabel:e=>e.userName,placeholder:t,searchPlaceholder:"Buscar usuário...",emptyMessage:"Nenhum usuário disponível",noResultsMessage:"Nenhum usuário encontrado",disabled:s,className:r})};function Kr({title:e,sections:t,initialData:s,onSubmit:i,onCancel:l,open:c,submitButtonText:d="Salvar",isLoading:m=!1,usersData:u}){const[f,p]=r(t?.[0]?.id||""),h=o(()=>t&&Array.isArray(t)?t.flatMap(e=>e.fields.flatMap(e=>"group"===e.type?e.fields||[]:e)):[],[t]),{formData:x,errors:g,updateField:b,handleSubmit:y}=zr(h,s,void 0,c),v=o(()=>t&&Array.isArray(t)?t.map(e=>({...e,disabled:e.condition?!e.condition(x):e.disabled||!1})):[],[t,x]),N=o(()=>{const e=v.find(e=>e.id===f);if(e&&!e.disabled)return f;const a=v.find(e=>!e.disabled);return a?.id||f},[v,f]);a.useEffect(()=>{N!==f&&p(N)},[N,f]);const j=v.find(e=>e.id===N),w=e=>{const a=(e.computedValue,x[e.name]),t=void 0!==a?a:"",s=g[e.name];switch(e.type){case"group":return Ia.jsxs("div",{className:"space-y-2",children:[e.label,Ia.jsx("div",{className:e.className||("horizontal"===e.layout?"flex gap-3":"space-y-3"),children:e.fields?.map(e=>w(e))})]},e.name);case"user-select":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Qr,{value:t||"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":""}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"textarea":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(jt,{id:e.name,value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"select":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsxs(pt,{value:String(t),onValueChange:a=>{b(e.name,a),e.onValueChange&&e.onValueChange(a)},disabled:e.disabled,children:[Ia.jsx(xt,{className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,children:Ia.jsx(ht,{placeholder:e.placeholder})}),Ia.jsx(yt,{children:e.options?.map(e=>Ia.jsx(vt,{value:e.value,children:e.label},e.value))})]}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"date":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"date",value:String(t),onChange:a=>b(e.name,a.target.value),placeholder:e.placeholder,disabled:e.disabled,className:Aa("w-full",s?"border-red-500":"",e.disabled?"bg-gray-100 cursor-not-allowed":"")}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"single-responsible-select":const a=ws();return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Qr,{value:String(t),onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:a.enableUsersApi}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"simple-qualiex-user-field":const r=ws();return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Qr,{value:t??"",onChange:a=>b(e.name,a),placeholder:e.placeholder,disabled:e.disabled,className:s?"border-red-500":"",enabled:r.enableUsersApi}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);case"color":return Ia.jsxs("div",{children:[Ia.jsxs(Va,{htmlFor:e.name,children:[e.label," ",e.required&&Ia.jsx("span",{className:"text-destructive",children:"*"})]}),Ia.jsx(Ma,{id:e.name,type:"color",value:t||e.defaultValue||"#000000",onChange:a=>b(e.name,a.target.value),className:"h-10"}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"color-picker":return Ia.jsxs("div",{children:[Ia.jsx(Mr,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"#3b82f6",onChange:a=>b(e.name,a)}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"icon-picker":return Ia.jsxs("div",{children:[Ia.jsx(Wr,{label:`${e.label} ${e.required?"*":""}`,value:t||e.defaultValue||"Star",onChange:a=>b(e.name,a)}),s&&Ia.jsx("p",{className:"text-sm text-destructive mt-1",children:s})]},e.name);case"number":return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"number",value:null!=t?String(t):"",onChange:a=>{const t=a.target.value,s=""===t?null:Number(t);b(e.name,s)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,min:e.min,step:e.step||"1"}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name);default:return Ia.jsxs("div",{className:`space-y-2 ${e.className||""}`,children:[Ia.jsx(Va,{htmlFor:e.name,children:e.label}),Ia.jsx(Ma,{id:e.name,type:"text",value:t||"",onChange:a=>{b(e.name,a.target.value)},placeholder:e.placeholder,disabled:e.disabled,className:`${s?"border-red-500":""} ${e.disabled?"bg-gray-100 cursor-not-allowed":""}`,readOnly:e.disabled}),s&&Ia.jsx("p",{className:"text-sm text-red-500",children:s})]},e.name)}},k=n(()=>{if(!j)return null;if(j.disabled)return Ia.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[Ia.jsx("div",{className:"rounded-full bg-muted p-3 mb-4",children:Ia.jsx("svg",{className:"h-6 w-6 text-muted-foreground",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:Ia.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 15v2m0 0v2m0-2h2m-2 0H9m3-8V9m0-4V3"})})}),Ia.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Seção não disponível"}),Ia.jsx("p",{className:"text-muted-foreground max-w-sm",children:'Complete as informações obrigatórias na seção "Informações Gerais" para acessar esta seção.'})]});if(j.component){const e=j.component;return Ia.jsx(e,{formData:x,updateField:b,errors:g,users:u,disabled:j.disabled})}return Ia.jsx("div",{className:"space-y-3",children:j.fields.map(w)})},[j,x,b,g,u,w]),S=Ia.jsxs("div",{className:"flex flex-col max-h-[80vh]",children:[v.length>1&&Ia.jsx("div",{className:"flex-shrink-0 p-4 border-b",children:Ia.jsx("div",{className:"flex space-x-2",children:v.map(e=>Ia.jsx(La,{variant:N===e.id?"action-primary":"action-secondary",size:"sm",onClick:()=>(e=>{const a=v.find(a=>a.id===e);a&&!a.disabled&&p(e)})(e.id),disabled:e.disabled,className:e.disabled?"opacity-50 cursor-not-allowed":"",children:e.title},e.id))})}),Ia.jsx("div",{className:"flex-1 overflow-y-auto px-2 md:px-4 pt-0 pb-2 md:pb-4",children:m?Ia.jsx("div",{className:"flex items-center justify-center py-12",children:Ia.jsx("div",{className:"text-muted-foreground",children:"Carregando dados..."})}):Ia.jsxs("form",{onSubmit:y(i),className:"space-y-3 md:space-y-4",children:[k(),Ia.jsxs("div",{className:"flex justify-end space-x-2 pt-4",children:[Ia.jsx(La,{type:"button",variant:"outline",onClick:l,children:"Cancelar"}),Ia.jsx(La,{type:"submit",disabled:m,children:d})]})]})})]});return Ia.jsx(Ja,{open:c,onOpenChange:e=>{!1===e&&!0===c&&l()},children:Ia.jsxs(et,{className:"max-w-4xl max-h-[90vh] overflow-hidden",children:[Ia.jsxs(at,{className:"bg-primary text-primary-foreground px-6 py-4 -mx-6 -mt-6 mb-4",children:[Ia.jsx(st,{className:"text-white",children:e}),Ia.jsx(rt,{className:"sr-only",children:"Formulário para preenchimento de dados"})]}),S]})})}function Jr({open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:i=!1,submitButtonText:o="Salvar"}){return Ia.jsx(Kr,{open:e,title:a,sections:t,initialData:s,onSubmit:r,onCancel:n,isLoading:i,submitButtonText:o})}const Xr=({manager:e})=>{const{pagination:a={totalItems:0,totalPages:1},currentPage:t=1,itemsPerPage:s=10,handlePageChange:r=()=>{},handleItemsPerPageChange:n=()=>{}}=e,{totalItems:i=0,totalPages:o=1}=a,l=i>0?(t-1)*s+1:0,c=Math.min(t*s,i);return Ia.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:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx("span",{children:"Itens por página"}),Ia.jsxs(pt,{value:s.toString(),onValueChange:e=>n(Number(e)),children:[Ia.jsx(xt,{className:"w-20 h-8 border-border",children:Ia.jsx(ht,{})}),Ia.jsxs(yt,{children:[Ia.jsx(vt,{value:"10",children:"10"}),Ia.jsx(vt,{value:"25",children:"25"}),Ia.jsx(vt,{value:"50",children:"50"}),Ia.jsx(vt,{value:"100",children:"100"})]})]})]}),Ia.jsx("div",{className:"flex-1 flex justify-center",children:Ia.jsx("span",{children:i>0?`${l}-${c} de ${i} itens (página ${t} de ${o})`:"0 itens"})}),Ia.jsxs("div",{className:"flex items-center space-x-1",children:[Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(1),disabled:1===t,children:Ia.jsx(Ee,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(Math.max(1,t-1)),disabled:1===t,children:Ia.jsx(ue,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(Math.min(o,t+1)),disabled:t===o,children:Ia.jsx(_,{className:"h-4 w-4"})}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:()=>r(o),disabled:t===o,children:Ia.jsx(Ie,{className:"h-4 w-4"})})]})]})},Yr=({selectedCount:e,onClearSelection:a,onBulkDelete:t,customActions:s=[],isLoading:r=!1})=>Ia.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-4 py-2 bg-primary/10 border-b border-primary/20",children:[Ia.jsxs("div",{className:"flex items-center gap-3",children:[Ia.jsxs("span",{className:"text-sm font-medium",children:[e," ",1===e?"item selecionado":"itens selecionados"]}),Ia.jsxs(La,{variant:"ghost",size:"sm",onClick:a,className:"h-7 px-2",children:[Ia.jsx(N,{size:14,className:"mr-1"}),"Limpar"]})]}),Ia.jsxs("div",{className:"flex items-center gap-2",children:[s.map((e,a)=>{const t=e.icon;return Ia.jsxs(La,{variant:e.variant||"outline",size:"sm",onClick:()=>e.action([]),disabled:r,className:"h-7",children:[t&&Ia.jsx(t,{size:14,className:"mr-1"}),e.label]},a)}),t&&Ia.jsxs(La,{variant:"destructive",size:"sm",onClick:t,disabled:r,className:"h-7",children:[Ia.jsx(D,{size:14,className:"mr-1"}),"Deletar"]})]})]}),Gr={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"},Zr={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"},en={start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"};function an({children:e,direction:a="column",gap:t="md",align:s="stretch",justify:r="start",wrap:n=!1,className:i}){return Ia.jsx("div",{className:Aa("flex","column"===a?"flex-col":"flex-row",Gr[t],Zr[s],en[r],n&&"flex-wrap",i),children:e})}function tn({manager:e,filters:a,inline:t=!1}){const{isSearchVisible:s}=Ms(),r=e.searchTerm,n=Ia.jsxs(Ia.Fragment,{children:[a.some(e=>"search"===e.type)&&!s&&Ia.jsxs("div",{className:"relative flex-1",children:[Ia.jsx(T,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),Ia.jsx(Ma,{placeholder:"Buscar...",value:e.searchTerm,onChange:a=>e.handleSearch(a.target.value),className:"pl-10"})]}),a.filter(e=>"custom"===e.type&&e.component).map((e,a)=>{const s=e.component;return Ia.jsx("div",{className:t?"":"w-full sm:w-auto",children:Ia.jsx(s,{...e.props})},a)}),r&&Ia.jsxs(La,{variant:"outline",onClick:e.clearFilters,className:"whitespace-nowrap",children:[Ia.jsx(N,{className:"h-4 w-4 mr-2"}),"Limpar Filtros"]})]});return t?Ia.jsx("div",{className:"flex items-center gap-2",children:n}):Ia.jsx(an,{direction:"column",gap:"md",className:"mb-6",children:Ia.jsx(an,{direction:"row",gap:"md",wrap:!0,className:"flex-col sm:flex-row",children:n})})}function sn({manager:e,config:a,formSections:t,onSave:s,onToggleStatus:n}){const{setSearchVisible:o}=Ms(),[l,c]=r(!1),[d,m]=r(null),[u,f]=r({isOpen:!1,entityId:null,entityName:""}),[p,h]=r({isOpen:!1,count:0});i(()=>(o(!0),()=>{o(!1)}),[o]);return Ia.jsxs("div",{className:"flex-1 flex flex-col h-full",children:[a.enableBulkActions&&e.selectedIds.length>0&&Ia.jsx(Yr,{selectedCount:e.selectedIds.length,onClearSelection:e.clearSelection,onBulkDelete:s?()=>{h({isOpen:!0,count:e.selectedIds.length})}:void 0,customActions:a.bulkActions,isLoading:e.isBulkDeleting}),Ia.jsxs("div",{className:"flex-shrink-0 flex justify-between items-center px-4 py-1.5 bg-muted/50 border-b gap-4",children:[Ia.jsx("div",{className:"flex items-center gap-4",children:Ia.jsxs(La,{onClick:()=>{m(null),c(!0)},children:[Ia.jsx(pe,{size:16,className:"mr-2"}),"Novo"]})}),a.filters&&a.filters.length>0&&Ia.jsx("div",{className:"flex items-center gap-2 flex-1 justify-end",children:Ia.jsx(tn,{manager:e,filters:a.filters,inline:!0})})]}),Ia.jsx("div",{className:"flex-1 flex flex-col overflow-hidden",children:Ia.jsx(Dr,{manager:e,columns:a.columns,onEdit:e=>{m(e),c(!0)},onDelete:e=>{f({isOpen:!0,entityId:e.id,entityName:e.title||e.name||"Item"})},onToggleStatus:n,enableBulkActions:a.enableBulkActions})}),Ia.jsx("div",{className:"flex-shrink-0 border-t bg-background",children:Ia.jsx(Xr,{manager:e})}),Ia.jsx(Jr,{open:l,title:d?`Editar ${a.entityName}`:`Novo ${a.entityName}`,sections:t,initialData:d||void 0,onSubmit:e=>{s(e),c(!1),m(null)},onCancel:()=>{c(!1),m(null)},isLoading:e.isLoading,submitButtonText:d?"Atualizar":"Criar"}),Ia.jsx(er,{open:u.isOpen,onOpenChange:()=>{f({isOpen:!1,entityId:null,entityName:""})},onConfirm:a=>{u.entityId&&(e.deleteEntity(u.entityId),f({isOpen:!1,entityId:null,entityName:""}))},item:u.entityId?{id:u.entityId,title:u.entityName}:void 0,entityName:a.entityName,isDeleting:e.isDeleting}),Ia.jsx(er,{open:p.isOpen,onOpenChange:()=>h({isOpen:!1,count:0}),onConfirm:()=>(e.bulkDelete?.(e.selectedIds),void h({isOpen:!1,count:0})),item:{id:"bulk",title:`${p.count} ${1===p.count?"item":"itens"}`},entityName:a.entityName,isDeleting:e.isBulkDeleting})]})}function rn(e){return()=>{const{manager:a,config:t,onSave:s,onToggleStatus:r}=e,n={entityName:t.entityName,entityNamePlural:t.entityNamePlural,filters:t.filters||[],columns:t.columns,cardFields:t.cardFields||[]};return Ia.jsx(sn,{manager:a,config:n,formSections:t.formSections,onSave:s,onToggleStatus:r})}}function nn(e,a,t){return s=>{if(s.id){const a=t(s);e.updateEntity(s.id,a)}else{const t=a(s);e.createEntity(t)}}}function on(e,a,t={}){const s=[];return Object.keys(a).forEach(e=>{if("id"!==e&&!e.endsWith("_at")){const t=a[e],r={key:e,header:cn(e),label:cn(e),...ln(e,t),sortable:!0,searchable:"string"==typeof t};s.push(r)}}),{title:e,columns:s,searchPlaceholder:`Buscar ${e.toLowerCase()}...`,itemsPerPage:10,enableCreate:!0,enableEdit:!0,enableDelete:!0,enableSearch:!0,enableFilters:!1,...t}}function ln(e,a){const t=e.toLowerCase();return t.includes("email")?{type:"email",required:!0}:t.includes("phone")||t.includes("tel")?{type:"tel"}:t.includes("description")||t.includes("content")||t.includes("notes")?{type:"textarea"}:t.includes("status")||t.includes("type")||t.includes("category")?{type:"select",options:[]}:"boolean"==typeof a?{type:"boolean"}:"number"==typeof a?{type:"number"}:a instanceof Date?{type:"date"}:{type:"text"}}function cn(e){return e.replace(/([A-Z])/g," $1").replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}const dn={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}};function mn(e,a,t={}){const s=dn[e];return on(s.title,a,{...s,...t})}const un=({children:e})=>{const{isAuthenticated:t,isLoading:s}=Ms();if(a.useEffect(()=>{if(!t)return;const e=()=>{as.areAllTokensValid()||Os.logout()};e();const a=setInterval(e,3e5);return()=>clearInterval(a)},[t]),a.useEffect(()=>{if(s)return;if(t)return;if(as.isManualLogout())return void(window.location.href="/login");const e=new URLSearchParams(window.location.search),a=window.location.hash.startsWith("#")?window.location.hash.substring(1):window.location.hash,r=new URLSearchParams(a);if(e.has("access_token")||r.has("access_token"))return;const n=vs();(async()=>{n?await Os.loginDev():Os.loginProd()})()},[t,s]),s)return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Carregando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:"Verificando autenticação..."})]})]})});if(!t){if(new URLSearchParams(window.location.search).has("access_token")||new URLSearchParams(window.location.hash.substring(1)).has("access_token"))return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Processando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:"Processando tokens..."})]})]})});try{if(as.areAllTokensValid())return Ia.jsx(Ia.Fragment,{children:e})}catch{}return Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Iniciando..."})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-primary mx-auto mb-4"}),Ia.jsx("p",{className:"text-muted-foreground",children:vs()?"Fazendo login automático...":"Redirecionando para autenticação..."})]})]})})}return Ia.jsx(Ia.Fragment,{children:e})},fn=f("relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>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"}}),pn=e.forwardRef(({className:e,variant:a,...t},s)=>Ia.jsx("div",{ref:s,role:"alert",className:Aa(fn({variant:a}),e),...t}));pn.displayName="Alert";const hn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("h5",{ref:t,className:Aa("mb-1 font-medium leading-none tracking-tight",e),...a}));hn.displayName="AlertTitle";const xn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("text-sm [&_p]:leading-relaxed",e),...a}));xn.displayName="AlertDescription";const gn=()=>{const{processCallback:e}=Ms(),[a,t]=r(null),[s,n]=r(!1);i(()=>{(async()=>{try{if(await e()){window.history.replaceState({},document.title,"/");const e=localStorage.getItem("auth_return_url");e?(localStorage.removeItem("auth_return_url"),window.location.href=e):window.location.href="/"}else t("Falha na autenticação. Tente novamente.")}catch(a){t(a?.message||"Erro durante a autenticação. Tente novamente.")}})()},[e]);const o=async()=>{n(!0),t(null);try{await e()||t("Falha na autenticação. Tente novamente.")}catch(a){t(a?.message||"Erro ao tentar novamente.")}finally{n(!1)}},l=()=>{window.location.href="/"};return a?Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsxs(qa,{className:"text-xl font-semibold text-destructive flex items-center justify-center gap-2",children:[Ia.jsx(C,{className:"h-5 w-5"}),"Erro na Autenticação"]})}),Ia.jsxs(Qa,{className:"space-y-4",children:[Ia.jsx(pn,{variant:"destructive",children:Ia.jsx(xn,{children:a})}),Ia.jsx("div",{className:"text-sm text-muted-foreground",children:Ia.jsx("p",{children:"Se o problema persistir, verifique se a URL de callback está configurada corretamente no provedor OAuth."})}),Ia.jsxs("div",{className:"flex gap-2",children:[Ia.jsx(La,{onClick:o,disabled:s,className:"flex-1",children:s?Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(Ct,{size:"sm",className:"mr-2"}),"Tentando..."]}):Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(Ae,{className:"h-4 w-4 mr-2"}),"Tentar Novamente"]})}),Ia.jsx(La,{onClick:l,variant:"outline",className:"flex-1",children:"Voltar ao Início"})]})]})]})}):Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-xl font-semibold",children:"Processando Autenticação"})}),Ia.jsxs(Qa,{className:"text-center",children:[Ia.jsx("div",{className:"flex justify-center mb-4",children:Ia.jsx(Ct,{size:"lg"})}),Ia.jsx("p",{className:"text-muted-foreground",children:"Processando tokens e redirecionando..."})]})]})})},bn=()=>Ia.jsx("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 to-secondary/5",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsx(Wa,{className:"text-center",children:Ia.jsx(qa,{className:"text-2xl font-bold",children:"Acesso ao Sistema"})}),Ia.jsxs(Qa,{className:"text-center space-y-4",children:[Ia.jsx("p",{className:"text-muted-foreground",children:"Faça login para acessar o sistema"}),Ia.jsx(La,{onClick:async()=>{vs()?await Os.loginDev():Os.loginProd()},className:"w-full",size:"lg",children:vs()?"Login Desenvolvimento":"Entrar com Qualiex"})]})]})});function yn(e){return{queryClient:e.queryClient||new Ge({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1}}}),config:e}}const vn=ca.Root,Nn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ca.Item,{ref:t,className:Aa("border-b",e),...a}));Nn.displayName="AccordionItem";const jn=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsx(ca.Header,{className:"flex",children:Ia.jsxs(ca.Trigger,{ref:s,className:Aa("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...t,children:[a,Ia.jsx(j,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));jn.displayName=ca.Trigger.displayName;const wn=e.forwardRef(({className:e,children:a,...t},s)=>Ia.jsx(ca.Content,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...t,children:Ia.jsx("div",{className:Aa("pb-4 pt-0",e),children:a})}));wn.displayName=ca.Content.displayName;const kn=da.Root,Sn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Root,{ref:t,className:Aa("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...a}));Sn.displayName=ma.Root.displayName;const Cn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Image,{ref:t,className:Aa("aspect-square h-full w-full",e),...a}));Cn.displayName=ma.Image.displayName;const Tn=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ma.Fallback,{ref:t,className:Aa("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...a}));Tn.displayName=ma.Fallback.displayName;const Rn=e.forwardRef(({...e},a)=>Ia.jsx("nav",{ref:a,"aria-label":"breadcrumb",...e}));Rn.displayName="Breadcrumb";const _n=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ol",{ref:t,className:Aa("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...a}));_n.displayName="BreadcrumbList";const Pn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,className:Aa("inline-flex items-center gap-1.5",e),...a}));Pn.displayName="BreadcrumbItem";const En=e.forwardRef(({asChild:a,className:t,...s},r)=>{const n=a?e.Fragment:"a";return Ia.jsx(n,{ref:r,className:Aa("transition-colors hover:text-foreground",t),...s})});En.displayName="BreadcrumbLink";const In=e.forwardRef(({className:e,...a},t)=>Ia.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:Aa("font-normal text-foreground",e),...a}));In.displayName="BreadcrumbPage";const An=({children:e,className:a,...t})=>Ia.jsx("li",{role:"presentation","aria-hidden":"true",className:Aa("[&>svg]:size-3.5",a),...t,children:e??Ia.jsx(_,{})});An.displayName="BreadcrumbSeparator";const Dn=({className:e,...a})=>Ia.jsxs("span",{role:"presentation","aria-hidden":"true",className:Aa("flex h-9 w-9 items-center justify-center",e),...a,children:[Ia.jsx(De,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"More"})]});function zn(e){return(a={})=>{const t=a.width?String(a.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}function On(e){return(a,t)=>{let s;if("formatting"===(t?.context?String(t.context):"standalone")&&e.formattingValues){const a=e.defaultFormattingWidth||e.defaultWidth,r=t?.width?String(t.width):a;s=e.formattingValues[r]||e.formattingValues[a]}else{const a=e.defaultWidth,r=t?.width?String(t.width):e.defaultWidth;s=e.values[r]||e.values[a]}return s[e.argumentCallback?e.argumentCallback(a):a]}}function $n(e){return(a,t={})=>{const s=t.width,r=s&&e.matchPatterns[s]||e.matchPatterns[e.defaultMatchWidth],n=a.match(r);if(!n)return null;const i=n[0],o=s&&e.parsePatterns[s]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(o)?function(e,a){for(let t=0;t<e.length;t++)if(a(e[t]))return t;return}(o,e=>e.test(i)):function(e,a){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&a(e[t]))return t;return}(o,e=>e.test(i));let c;c=e.valueCallback?e.valueCallback(l):l,c=t.valueCallback?t.valueCallback(c):c;return{value:c,rest:a.slice(i.length)}}}Dn.displayName="BreadcrumbEllipsis";const Fn={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"}},Ln={date:zn({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:zn({formats:{full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},defaultWidth:"full"}),dateTime:zn({formats:{full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},Mn={lastWeek:e=>{const a=e.getDay();return"'"+(0===a||6===a?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},Un={ordinalNumber:(e,a)=>{const t=Number(e);return"week"===a?.unit?t+"ª":t+"º"},era:On({values:{narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},defaultWidth:"wide"}),quarter:On({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:On({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:On({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:On({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"})},Vn={ordinalNumber:(Bn={matchPattern:/^(\d+)[ºªo]?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{const t=e.match(Bn.matchPattern);if(!t)return null;const s=t[0],r=e.match(Bn.parsePattern);if(!r)return null;let n=Bn.valueCallback?Bn.valueCallback(r[0]):r[0];return n=a.valueCallback?a.valueCallback(n):n,{value:n,rest:e.slice(s.length)}}),era:$n({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:$n({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:$n({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:$n({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:$n({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 Bn;const Wn={code:"pt-BR",formatDistance:(e,a,t)=>{let s;const r=Fn[e];return s="string"==typeof r?r:1===a?r.one:r.other.replace("{{count}}",String(a)),t?.addSuffix?t.comparison&&t.comparison>0?"em "+s:"há "+s:s},formatLong:Ln,formatRelative:(e,a,t,s)=>{const r=Mn[e];return"function"==typeof r?r(a):r},localize:Un,match:Vn,options:{weekStartsOn:0,firstWeekContainsDate:1}};function qn({className:e,classNames:a,showOutsideDays:t=!0,...s}){return Ia.jsx(ua,{showOutsideDays:t,className:Aa("p-3",e),locale:Wn,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:Aa(Fa({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:Aa(Fa({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",...a},components:{IconLeft:({...e})=>Ia.jsx(ue,{className:"h-4 w-4"}),IconRight:({...e})=>Ia.jsx(_,{className:"h-4 w-4"})},...s})}qn.displayName="Calendar";const Hn=fa.Root,Qn=fa.CollapsibleTrigger,Kn=fa.CollapsibleContent,Jn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...a}));Jn.displayName="Command";const Xn=({children:e,...a})=>Ia.jsx("div",{...a,children:Ia.jsx(Jn,{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})}),Yn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:Ia.jsx("input",{ref:t,className:Aa("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...a})}));Yn.displayName="CommandInput";const Gn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...a}));Gn.displayName="CommandList";const Zn=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("py-6 text-center text-sm text-muted-foreground",e),...a}));Zn.displayName="CommandEmpty";const ei=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...a}));ei.displayName="CommandGroup";const ai=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,className:Aa("-mx-1 h-px bg-border",e),...a}));ai.displayName="CommandSeparator";const ti=e.forwardRef(({className:e,disabled:a,onSelect:t,value:s,...r},n)=>Ia.jsx("div",{ref:n,className:Aa("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50",e),"data-disabled":a,onClick:()=>!a&&t?.(s||""),...r}));ti.displayName="CommandItem";const si=({className:e,...a})=>Ia.jsx("span",{className:Aa("ml-auto text-xs tracking-widest text-muted-foreground",e),...a});si.displayName="CommandShortcut";const ri={Root:function({children:e,className:a}){return Ia.jsx("div",{className:Aa("space-y-4",a),children:e})},Item:function({children:e,onClick:a,className:t}){return Ia.jsx(Ba,{className:Aa("transition-colors",a&&"cursor-pointer hover:bg-muted/50",t),onClick:a,children:Ia.jsx(Qa,{className:"p-4",children:e})})},Field:function({label:e,value:a,className:t}){return Ia.jsxs("div",{className:Aa("flex justify-between items-center text-sm",t),children:[Ia.jsxs("span",{className:"text-muted-foreground font-medium",children:[e,":"]}),Ia.jsx("span",{className:"text-foreground",children:a})]})}},ni={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))]"},ii={xs:"gap-1",sm:"gap-2",md:"gap-4",lg:"gap-6",xl:"gap-8"};function oi({children:e,cols:a="auto-fit",gap:t="md",className:s}){return Ia.jsx("div",{className:Aa("grid",ni[a],ii[t],s),children:e})}function li({items:e,maxItems:a=3,className:t}){return e.length>a&&(e[0],e.slice(-(a-1))),e.length,Ia.jsx(Rn,{className:t})}function ci(){const e=ea();return(()=>{const a=e.pathname.split("/").filter(Boolean),t=[{label:"Exemplos",href:"/"}];let s="";return a.forEach((e,r)=>{s+=`/${e}`;const n=r===a.length-1,i=e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");t.push({label:i,href:n?void 0:s,isCurrentPage:n})}),t})()}const di=({className:e,...a})=>Ia.jsx("nav",{role:"navigation","aria-label":"pagination",className:Aa("mx-auto flex w-full justify-center",e),...a});di.displayName="Pagination";const mi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,className:Aa("flex flex-row items-center gap-1",e),...a}));mi.displayName="PaginationContent";const ui=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,className:Aa("",e),...a}));ui.displayName="PaginationItem";const fi=({className:e,isActive:a,size:t="icon",...s})=>Ia.jsx("a",{"aria-current":a?"page":void 0,className:Aa(Fa({variant:a?"outline":"ghost",size:t}),e),...s});fi.displayName="PaginationLink";const pi=({className:e,...a})=>Ia.jsxs(fi,{"aria-label":"Go to previous page",size:"default",className:Aa("gap-1 pl-2.5",e),...a,children:[Ia.jsx(ue,{className:"h-4 w-4"}),Ia.jsx("span",{children:"Previous"})]});pi.displayName="PaginationPrevious";const hi=({className:e,...a})=>Ia.jsxs(fi,{"aria-label":"Go to next page",size:"default",className:Aa("gap-1 pr-2.5",e),...a,children:[Ia.jsx("span",{children:"Next"}),Ia.jsx(_,{className:"h-4 w-4"})]});hi.displayName="PaginationNext";const xi=({className:e,...a})=>Ia.jsxs("span",{"aria-hidden":!0,className:Aa("flex h-9 w-9 items-center justify-center",e),...a,children:[Ia.jsx(De,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"More pages"})]});xi.displayName="PaginationEllipsis";const gi=e.forwardRef(({className:e,value:a,...t},s)=>Ia.jsx(pa.Root,{ref:s,className:Aa("relative h-2 w-full overflow-hidden rounded-full bg-primary/20",e),...t,children:Ia.jsx(pa.Indicator,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(a||0)}%)`}})}));gi.displayName=pa.Root.displayName;const bi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ha.Root,{className:Aa("grid gap-2",e),...a,ref:t}));bi.displayName=ha.Root.displayName;const yi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(ha.Item,{ref:t,className:Aa("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),...a,children:Ia.jsx(ha.Indicator,{className:"flex items-center justify-center",children:Ia.jsx(P,{className:"h-2.5 w-2.5 fill-current text-current"})})}));yi.displayName=ha.Item.displayName;const vi=e.forwardRef(({className:e,orientation:a="horizontal",decorative:t=!0,...s},r)=>Ia.jsx(xa.Root,{ref:r,decorative:t,orientation:a,className:Aa("shrink-0 bg-border","horizontal"===a?"h-[1px] w-full":"h-full w-[1px]",e),...s}));vi.displayName=xa.Root.displayName;const Ni=v.Root,ji=v.Trigger,wi=v.Close,ki=v.Portal,Si=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Overlay,{className:Aa("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:t}));Si.displayName=v.Overlay.displayName;const Ci=f("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"}}),Ti=e.forwardRef(({side:e="right",className:a,children:t,...s},r)=>Ia.jsxs(ki,{children:[Ia.jsx(Si,{}),Ia.jsxs(v.Content,{ref:r,className:Aa(Ci({side:e}),a),...s,children:[t,Ia.jsxs(v.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:[Ia.jsx(N,{className:"h-4 w-4"}),Ia.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Ti.displayName=v.Content.displayName;const Ri=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col space-y-2 text-center sm:text-left",e),...a});Ri.displayName="SheetHeader";const _i=({className:e,...a})=>Ia.jsx("div",{className:Aa("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});_i.displayName="SheetFooter";const Pi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Title,{ref:t,className:Aa("text-lg font-semibold text-foreground",e),...a}));Pi.displayName=v.Title.displayName;const Ei=e.forwardRef(({className:e,...a},t)=>Ia.jsx(v.Description,{ref:t,className:Aa("text-sm text-muted-foreground",e),...a}));Ei.displayName=v.Description.displayName;const Ii=ga.Provider,Ai=ga.Root,Di=ga.Trigger,zi=e.forwardRef(({className:e,sideOffset:a=4,...t},s)=>Ia.jsx(ga.Content,{ref:s,sideOffset:a,className:Aa("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));zi.displayName=ga.Content.displayName;const Oi="sidebar:state",$i=e.createContext(null);function Fi(){const a=e.useContext($i);if(!a)throw new Error("useSidebar must be used within a SidebarProvider.");return a}const Li=e.forwardRef(({defaultOpen:a=!0,open:t,onOpenChange:s,className:r,style:n,children:i,...o},l)=>{const[c,d]=e.useState(!1);e.useEffect(()=>{const e=()=>d(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);const[m,u]=e.useState(!1),[f,p]=e.useState(()=>{if("undefined"!=typeof window){const e=localStorage.getItem(Oi);return null!==e?"true"===e:a}return a}),h=t??f,x=e.useCallback(e=>{const a="function"==typeof e?e(h):e;s?s(a):p(a),"undefined"!=typeof window&&localStorage.setItem(Oi,String(a))},[s,h]),g=e.useCallback(()=>c?u(e=>!e):x(e=>!e),[c,x,u]);e.useEffect(()=>{const e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);const b=h?"expanded":"collapsed",y=e.useMemo(()=>({state:b,open:h,setOpen:x,isMobile:c,openMobile:m,setOpenMobile:u,toggleSidebar:g}),[b,h,x,c,m,u,g]);return Ia.jsx($i.Provider,{value:y,children:Ia.jsx(Ii,{delayDuration:0,children:Ia.jsx("div",{className:Aa("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar sidebar-container",r),style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...n},ref:l,...o,children:i})})})});Li.displayName="SidebarProvider";const Mi=e.forwardRef(({side:e="left",variant:a="sidebar",collapsible:t="offcanvas",className:s,children:r,...n},i)=>{const{isMobile:o,state:l,openMobile:c,setOpenMobile:d}=Fi();return"none"===t?Ia.jsx("div",{className:Aa("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",s),ref:i,...n,children:r}):o?Ia.jsx(Ni,{open:c,onOpenChange:d,...n,children:Ia.jsxs(Ti,{"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:[Ia.jsx(Pi,{className:"sr-only",children:"Menu de Navegação"}),Ia.jsx("div",{className:"flex h-full w-full flex-col",children:r})]})}):Ia.jsxs("div",{ref:i,className:"group peer hidden md:block text-sidebar-foreground","data-state":l,"data-collapsible":"collapsed"===l?t:"","data-variant":a,"data-side":e,children:[Ia.jsx("div",{className:Aa("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),Ia.jsx("div",{className:Aa("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex","left"===e?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",s),...n,children:Ia.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})})]})});Mi.displayName="Sidebar";const Ui=e.forwardRef(({className:e,onClick:a,...t},s)=>{const{toggleSidebar:r}=Fi();return Ia.jsxs(La,{ref:s,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Aa("h-7 w-7",e),onClick:e=>{a?.(e),r()},...t,children:[Ia.jsx(ze,{}),Ia.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});Ui.displayName="SidebarTrigger";const Vi=e.forwardRef(({className:e,...a},t)=>{const{toggleSidebar:s}=Fi();return Ia.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:s,title:"Toggle Sidebar",className:Aa("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})});Vi.displayName="SidebarRail";const Bi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("main",{ref:t,className:Aa("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...a}));Bi.displayName="SidebarInset";const Wi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(Ma,{ref:t,"data-sidebar":"input",className:Aa("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...a}));Wi.displayName="SidebarInput";const qi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"header",className:Aa("flex flex-col gap-2 p-2",e),...a}));qi.displayName="SidebarHeader";const Hi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"footer",className:Aa("flex flex-col gap-2 p-2",e),...a}));Hi.displayName="SidebarFooter";const Qi=e.forwardRef(({className:e,...a},t)=>Ia.jsx(vi,{ref:t,"data-sidebar":"separator",className:Aa("mx-2 w-auto bg-sidebar-border",e),...a}));Qi.displayName="SidebarSeparator";const Ki=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"content",className:Aa("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a}));Ki.displayName="SidebarContent";const Ji=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"group",className:Aa("relative flex w-full min-w-0 flex-col p-2",e),...a}));Ji.displayName="SidebarGroup";const Xi=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?m:"div";return Ia.jsx(r,{ref:s,"data-sidebar":"group-label",className:Aa("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...t})});Xi.displayName="SidebarGroupLabel";const Yi=e.forwardRef(({className:e,asChild:a=!1,...t},s)=>{const r=a?m:"button";return Ia.jsx(r,{ref:s,"data-sidebar":"group-action",className:Aa("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...t})});Yi.displayName="SidebarGroupAction";const Gi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"group-content",className:Aa("w-full text-sm",e),...a}));Gi.displayName="SidebarGroupContent";const Zi=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,"data-sidebar":"menu",className:Aa("flex w-full min-w-0 flex-col gap-1",e),...a}));Zi.displayName="SidebarMenu";const eo=e.forwardRef(({className:e,...a},t)=>Ia.jsx("li",{ref:t,"data-sidebar":"menu-item",className:Aa("group/menu-item relative",e),...a}));eo.displayName="SidebarMenuItem";const ao=f("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-primary data-[active=true]:font-medium data-[active=true]:text-sidebar-primary-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 group-data-[collapsible=icon]:justify-center group-data-[collapsible=icon]:gap-0 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>*]:!mr-0 group-data-[collapsible=icon]:[&>*]:!ml-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-10 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),to=e.forwardRef(({asChild:e=!1,isActive:a=!1,variant:t="default",size:s="default",tooltip:r,className:n,...i},o)=>{const l=e?m:"button",{isMobile:c,state:d}=Fi(),u=Ia.jsx(l,{ref:o,"data-sidebar":"menu-button","data-size":s,"data-active":a,className:Aa(ao({variant:t,size:s}),n),...i});return r?("string"==typeof r&&(r={children:r}),Ia.jsxs(Ai,{children:[Ia.jsx(Di,{asChild:!0,children:u}),Ia.jsx(zi,{side:"right",align:"center",hidden:"collapsed"!==d||c,...r})]})):u});to.displayName="SidebarMenuButton";const so=e.forwardRef(({className:e,asChild:a=!1,showOnHover:t=!1,...s},r)=>{const n=a?m:"button";return Ia.jsx(n,{ref:r,"data-sidebar":"menu-action",className:Aa("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",t&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...s})});so.displayName="SidebarMenuAction";const ro=e.forwardRef(({className:e,...a},t)=>Ia.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:Aa("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...a}));ro.displayName="SidebarMenuBadge";const no=e.forwardRef(({className:a,showIcon:t=!1,...s},r)=>{const n=e.useMemo(()=>`${Math.floor(40*Math.random())+50}%`,[]);return Ia.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Aa("rounded-md h-8 flex gap-2 px-2 items-center",a),...s,children:[t&&Ia.jsx("div",{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),Ia.jsx("div",{className:"h-4 flex-1 max-w-[--skeleton-width] skeleton-width","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":n}})]})});no.displayName="SidebarMenuSkeleton";const io=e.forwardRef(({className:e,...a},t)=>Ia.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:Aa("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...a}));io.displayName="SidebarMenuSub";const oo=e.forwardRef(({...e},a)=>Ia.jsx("li",{ref:a,...e}));oo.displayName="SidebarMenuSubItem";const lo=e.forwardRef(({asChild:e=!1,size:a="md",isActive:t,className:s,...r},n)=>{const i=e?m:"a";return Ia.jsx(i,{ref:n,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:Aa("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground","sm"===a&&"text-xs","md"===a&&"text-sm","group-data-[collapsible=icon]:hidden",s),...r})});lo.displayName="SidebarMenuSubButton";const co=e.forwardRef(({className:e,...a},t)=>Ia.jsxs(ba.Root,{ref:t,className:Aa("relative flex w-full touch-none select-none items-center",e),...a,children:[Ia.jsx(ba.Track,{className:"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary",children:Ia.jsx(ba.Range,{className:"absolute h-full bg-primary"})}),Ia.jsx(ba.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"})]}));co.displayName=ba.Root.displayName;const mo=({...e})=>{const{theme:a="system"}=ya();return Ia.jsx(ra,{theme:a,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})};function uo(e,a,{checkForDefaultPrevented:t=!0}={}){return function(s){if(e?.(s),!1===t||!s.defaultPrevented)return a?.(s)}}function fo(e,a){if("function"==typeof e)return e(a);null!=e&&(e.current=a)}function po(...a){return e.useCallback(function(...e){return a=>{let t=!1;const s=e.map(e=>{const s=fo(e,a);return t||"function"!=typeof s||(t=!0),s});if(t)return()=>{for(let a=0;a<s.length;a++){const t=s[a];"function"==typeof t?t():fo(e[a],null)}}}}(...a),a)}function ho(...a){const t=a[0];if(1===a.length)return t;const s=()=>{const s=a.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(a){const r=s.reduce((e,{useScope:t,scopeName:s})=>({...e,...t(a)[`__scope${s}`]}),{});return e.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return s.scopeName=t.scopeName,s}var xo=globalThis?.document?e.useLayoutEffect:()=>{},go=e[" useInsertionEffect ".trim().toString()]||xo;function bo({prop:a,defaultProp:t,onChange:s=()=>{},caller:r}){const[n,i,o]=function({defaultProp:a,onChange:t}){const[s,r]=e.useState(a),n=e.useRef(s),i=e.useRef(t);return go(()=>{i.current=t},[t]),e.useEffect(()=>{n.current!==s&&(i.current?.(s),n.current=s)},[s,n]),[s,r,i]}({defaultProp:t,onChange:s}),l=void 0!==a,c=l?a:n;{const t=e.useRef(void 0!==a);e.useEffect(()=>{const e=t.current;if(e!==l){}t.current=l},[l,r])}const d=e.useCallback(e=>{if(l){const t=function(e){return"function"==typeof e}(e)?e(a):e;t!==a&&o.current?.(t)}else i(e)},[l,a,i,o]);return[c,d]}var yo=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,t)=>{const s=u(`Primitive.${t}`),r=e.forwardRef((e,a)=>{const{asChild:r,...n}=e,i=r?s:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),Ia.jsx(i,{...n,ref:a})});return r.displayName=`Primitive.${t}`,{...a,[t]:r}},{}),vo="Switch",[No]=function(a,t=[]){let s=[];const r=()=>{const t=s.map(a=>e.createContext(a));return function(s){const r=s?.[a]||t;return e.useMemo(()=>({[`__scope${a}`]:{...s,[a]:r}}),[s,r])}};return r.scopeName=a,[function(t,r){const n=e.createContext(r),i=s.length;s=[...s,r];const o=t=>{const{scope:s,children:r,...o}=t,l=s?.[a]?.[i]||n,c=e.useMemo(()=>o,Object.values(o));return Ia.jsx(l.Provider,{value:c,children:r})};return o.displayName=t+"Provider",[o,function(s,o){const l=o?.[a]?.[i]||n,c=e.useContext(l);if(c)return c;if(void 0!==r)return r;throw new Error(`\`${s}\` must be used within \`${t}\``)}]},ho(r,...t)]}(vo),[jo,wo]=No(vo),ko=e.forwardRef((a,t)=>{const{__scopeSwitch:s,name:r,checked:n,defaultChecked:i,required:o,disabled:l,value:c="on",onCheckedChange:d,form:m,...u}=a,[f,p]=e.useState(null),h=po(t,e=>p(e)),x=e.useRef(!1),g=!f||(m||!!f.closest("form")),[b,y]=bo({prop:n,defaultProp:i??!1,onChange:d,caller:vo});return Ia.jsxs(jo,{scope:s,checked:b,disabled:l,children:[Ia.jsx(yo.button,{type:"button",role:"switch","aria-checked":b,"aria-required":o,"data-state":Ro(b),"data-disabled":l?"":void 0,disabled:l,value:c,...u,ref:h,onClick:uo(a.onClick,e=>{y(e=>!e),g&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})}),g&&Ia.jsx(To,{control:f,bubbles:!x.current,name:r,value:c,checked:b,required:o,disabled:l,form:m,style:{transform:"translateX(-100%)"}})]})});ko.displayName=vo;var So="SwitchThumb",Co=e.forwardRef((e,a)=>{const{__scopeSwitch:t,...s}=e,r=wo(So,t);return Ia.jsx(yo.span,{"data-state":Ro(r.checked),"data-disabled":r.disabled?"":void 0,...s,ref:a})});Co.displayName=So;var To=e.forwardRef(({__scopeSwitch:a,control:t,checked:s,bubbles:r=!0,...n},i)=>{const o=e.useRef(null),l=po(o,i),c=function(a){const t=e.useRef({value:a,previous:a});return e.useMemo(()=>(t.current.value!==a&&(t.current.previous=t.current.value,t.current.value=a),t.current.previous),[a])}(s),d=function(a){const[t,s]=e.useState(void 0);return xo(()=>{if(a){s({width:a.offsetWidth,height:a.offsetHeight});const e=new ResizeObserver(e=>{if(!Array.isArray(e))return;if(!e.length)return;const t=e[0];let r,n;if("borderBoxSize"in t){const e=t.borderBoxSize,a=Array.isArray(e)?e[0]:e;r=a.inlineSize,n=a.blockSize}else r=a.offsetWidth,n=a.offsetHeight;s({width:r,height:n})});return e.observe(a,{box:"border-box"}),()=>e.unobserve(a)}s(void 0)},[a]),t}(t);return e.useEffect(()=>{const e=o.current;if(!e)return;const a=window.HTMLInputElement.prototype,t=Object.getOwnPropertyDescriptor(a,"checked").set;if(c!==s&&t){const a=new Event("click",{bubbles:r});t.call(e,s),e.dispatchEvent(a)}},[c,s,r]),Ia.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...n,tabIndex:-1,ref:l,style:{...n.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function Ro(e){return e?"checked":"unchecked"}To.displayName="SwitchBubbleInput";var _o=ko,Po=Co;const Eo=e.forwardRef(({className:e,...a},t)=>Ia.jsx(_o,{className:Aa("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),...a,ref:t,children:Ia.jsx(Po,{className:Aa("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")})}));Eo.displayName=_o.displayName;const Io=va.Root,Ao=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.List,{ref:t,className:Aa("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...a}));Ao.displayName=va.List.displayName;const Do=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.Trigger,{ref:t,className:Aa("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),...a}));Do.displayName=va.Trigger.displayName;const zo=e.forwardRef(({className:e,...a},t)=>Ia.jsx(va.Content,{ref:t,className:Aa("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...a}));function Oo({children:e,className:a}){return Ia.jsx("div",{className:Aa("flex flex-col h-full",a),children:Ia.jsx(Ur,{className:"flex-1",children:Ia.jsx("div",{className:"space-y-6 p-6",children:e})})})}function $o({title:e,description:a,actions:t,className:s}){return Ia.jsxs("div",{className:Aa("space-y-4",s),children:[Ia.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[Ia.jsxs("div",{className:"space-y-1",children:[Ia.jsx("h2",{className:"text-2xl font-bold tracking-tight",children:e}),a&&Ia.jsx("p",{className:"text-muted-foreground text-sm",children:a})]}),t&&Ia.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:t})]}),Ia.jsx(vi,{})]})}function Fo({children:e,className:a}){return Ia.jsx("div",{className:Aa("space-y-6",a),children:e})}zo.displayName=va.Content.displayName;const Lo=f("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground"},size:{default:"h-10 px-3",sm:"h-9 px-2.5",lg:"h-11 px-5"}},defaultVariants:{variant:"default",size:"default"}}),Mo=e.forwardRef(({className:e,variant:a,size:t,...s},r)=>Ia.jsx(Na.Root,{ref:r,className:Aa(Lo({variant:a,size:t,className:e})),...s}));Mo.displayName=Na.Root.displayName;const Uo=e.createContext({size:"default",variant:"default"}),Vo=e.forwardRef(({className:e,variant:a,size:t,children:s,...r},n)=>Ia.jsx(ja.Root,{ref:n,className:Aa("flex items-center justify-center gap-1",e),...r,children:Ia.jsx(Uo.Provider,{value:{variant:a,size:t},children:s})}));Vo.displayName=ja.Root.displayName;const Bo=e.forwardRef(({className:a,children:t,variant:s,size:r,...n},i)=>{const o=e.useContext(Uo);return Ia.jsx(ja.Item,{ref:i,className:Aa(Lo({variant:o.variant||s,size:o.size||r}),a),...n,children:t})});Bo.displayName=ja.Item.displayName;const Wo=a.forwardRef(({variant:e="default",className:a,children:t,...s},r)=>Ia.jsx(La,{ref:r,variant:"outline",size:"sm",className:Aa("h-7 px-2 text-xs","border-primary/20 text-primary hover:bg-primary/5",a),...s,children:t||Ia.jsx(z,{size:12})}));function qo({manager:e,config:a,onEdit:t,onDelete:s}){return e.isLoading?Ia.jsx(oi,{children:Array.from({length:3}).map((e,a)=>Ia.jsxs(Ba,{children:[Ia.jsxs(Wa,{children:[Ia.jsx(cr,{className:"h-4 w-3/4"}),Ia.jsx(cr,{className:"h-3 w-1/2"})]}),Ia.jsx(Qa,{children:Ia.jsxs("div",{className:"space-y-2",children:[Ia.jsx(cr,{className:"h-3 w-full"}),Ia.jsx(cr,{className:"h-3 w-2/3"})]})})]},a))}):Ia.jsx(ri.Root,{children:e.entities.map(e=>Ia.jsxs(ri.Item,{onClick:()=>t(e),children:[Ia.jsx(Wa,{className:"pb-3",children:Ia.jsxs("div",{className:"flex items-start justify-between",children:[Ia.jsxs("div",{className:"flex-1 min-w-0",children:[Ia.jsx(qa,{className:"text-base leading-6 truncate",children:e.title||e.name||"Sem título"}),Ia.jsx(Ha,{className:"text-sm",children:b(new Date(e.created_at),"dd/MM/yyyy HH:mm",{locale:Wn})})]}),Ia.jsxs("div",{className:"flex items-center gap-2 ml-2",children:[e.link&&Ia.jsx(La,{variant:"external-link",size:"icon-xs",onClick:a=>{a.stopPropagation(),(e=>{try{const a=window.open(e,"_blank");a&&!a.closed&&void 0!==a.closed||(navigator.clipboard.writeText(e),sa.info("Link copiado para a área de transferência"))}catch(a){window.location.href=e}})(e.link)},title:"Abrir link externo",children:Ia.jsx(Oe,{className:"h-4 w-4"})}),Ia.jsx("div",{onClick:e=>e.stopPropagation(),children:Ia.jsx(Ar,{onEdit:()=>t(e),onDelete:s?()=>s(e):void 0,canDelete:!!s})})]})]})}),Ia.jsx(Qa,{className:"pt-0",children:Ia.jsx("div",{className:"space-y-2",children:a.cardFields?.map(a=>{const t=e[a.key];return t?Ia.jsx(ri.Field,{label:a.label,value:a.render?a.render(t,e):String(t)},String(a.key)):null})})})]},e.id))})}function Ho(e){const a=aa();return{onNew:()=>{const t=e.newPath||`${e.basePath}/new`;a(t)},onEdit:t=>{const s=e.editPath?e.editPath.replace(":id",t.id):`${e.basePath}/${t.id}/edit`;a(s)}}}function Qo(e){return Ho({basePath:e})}Wo.displayName="ActionButton";const Ko=a.memo(({variant:e="card",className:t="",selectedUnit:s,onUnitChange:r})=>{const{user:n,companies:i,alias:o,isAuthenticated:l,logout:c,switchUnit:d}=Ms(),m=i?.[0]||null,u=o?i?.find(e=>e.alias===o):m,f=i||[],p=s||u||m||m,h=a.useCallback(e=>{r?r(e):d(e)},[r,d]),x=a.useMemo(()=>{if(!f?.length)return[];const e=new Map;f.forEach(a=>{e.set(a.alias,a)});const a=Array.from(e.values()),t=a.find(e=>e.alias===p?.alias),s=a.filter(e=>e.alias!==p?.alias);return s.sort((e,a)=>(e.name||"").localeCompare(a.name||"","pt-BR",{sensitivity:"base"})),t?[t,...s]:s},[f,p?.alias]);if(!l||!n)return null;const g=()=>Ia.jsxs(Ia.Fragment,{children:[Ia.jsxs("div",{className:"flex items-center space-x-3",children:[Ia.jsx("div",{className:"flex-shrink-0",children:Ia.jsx("div",{className:"w-10 h-10 bg-primary rounded-full flex items-center justify-center",children:Ia.jsx(Te,{className:"h-5 w-5 text-primary-foreground"})})}),Ia.jsxs("div",{className:"flex-1 min-w-0",children:[Ia.jsx("p",{className:"text-sm font-medium truncate",children:n.name}),Ia.jsxs("p",{className:"text-xs text-muted-foreground",children:["Unidade: ",p?.name||"N/A"]})]})]}),p&&Ia.jsx("div",{className:"mt-3",children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsx($e,{className:"h-4 w-4 text-muted-foreground"}),Ia.jsx("span",{className:"text-sm font-medium",children:p.name})]})}),x.length>1&&Ia.jsxs("div",{className:"mt-2",children:[Ia.jsxs("p",{className:"text-xs text-muted-foreground mb-1",children:["Unidades disponíveis: ",x.length]}),Ia.jsxs("div",{className:"flex flex-wrap gap-1",children:[x.slice(0,3).map(e=>Ia.jsx(kt,{variant:e.alias===p?.alias?"default":"secondary",className:"text-xs cursor-pointer",onClick:()=>h(e),children:e.name},e.alias)),x.length>3&&Ia.jsxs(kt,{variant:"outline",className:"text-xs",children:["+",x.length-3]})]})]})]});return"dropdown"===e?Ia.jsxs(gr,{children:[Ia.jsx(br,{asChild:!0,children:Ia.jsx(La,{variant:"ghost",className:`h-auto p-2 ${t}`,children:Ia.jsxs("div",{className:"flex items-center space-x-2",children:[Ia.jsxs("div",{className:"hidden md:block text-left",children:[Ia.jsx("p",{className:"text-sm font-medium",children:n.name}),Ia.jsx("p",{className:"text-xs text-muted-foreground",children:p?.name||"N/A"})]}),Ia.jsx("div",{className:"w-8 h-8 bg-primary rounded-full flex items-center justify-center",children:Ia.jsx(Te,{className:"h-4 w-4 text-primary-foreground"})}),Ia.jsx(j,{className:"h-4 w-4"})]})})}),Ia.jsxs(Sr,{className:"w-56 bg-background border border-border shadow-lg z-50",align:"end",children:[Ia.jsxs(Nr,{children:[Ia.jsxs(wr,{children:[Ia.jsx(Ae,{className:"mr-2 h-4 w-4"}),"Alterar Unidade"]}),Ia.jsx(kr,{children:x.map(e=>Ia.jsxs(Cr,{onClick:()=>h(e),className:e.alias===p?.alias?"bg-muted":"",children:[Ia.jsx($e,{className:"mr-2 h-4 w-4"}),e.name,e.alias===p?.alias&&Ia.jsx(kt,{variant:"outline",className:"ml-2 text-xs",children:"Atual"})]},e.alias))})]}),Ia.jsx(Pr,{}),Ia.jsxs(Cr,{onClick:c,children:[Ia.jsx(Fe,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]}):Ia.jsxs(Ba,{className:t,children:[Ia.jsx(Wa,{children:Ia.jsx(qa,{className:"text-lg",children:"Informações do Usuário"})}),Ia.jsxs(Qa,{className:"space-y-4",children:[Ia.jsx(g,{}),Ia.jsx(vi,{}),Ia.jsxs(La,{variant:"outline",onClick:c,size:"sm",className:"w-full",children:[Ia.jsx(Fe,{className:"mr-2 h-4 w-4"}),"Sair"]})]})]})}),Jo=t({});function Xo({children:e,config:a}){const t=o(()=>({navigation:a?.navigation,appName:a?.appName}),[a?.navigation,a?.appName]);return Ia.jsx(Jo.Provider,{value:t,children:e})}function Yo(){return s(Jo)}function Go(){const e=ea(),{navigation:a}=Yo(),t=a?.find(a=>a.path===e.pathname);return t?.label||"Página"}function Zo(e,a){const[t,s]=r(e),o=l(),c=n(()=>{o.current&&(clearTimeout(o.current),o.current=void 0)},[]);return i(()=>(c(),o.current=setTimeout(()=>{s(e)},a),c),[e,a,c]),[t,c]}const el=c(function({actions:e}){const a=ea(),t=Go(),{navigation:s,appName:n}=Yo(),{companies:o,alias:l,isSearchVisible:c,clearSearch:d,refreshData:m,switchUnit:u}=Ms(),f=l?o?.find(e=>e.alias===l)||o?.[0]||null:o?.[0]||null,[p,h]=Ze(),[x,g]=r(()=>p.get("search")||""),[b,y]=Zo(x,ys.debounceDelay);i(()=>{if(!c)return;const e=new URLSearchParams(p);b?(e.set("search",b),e.set("page","1")):e.delete("search"),h(e)},[b,h,c]);const v=s?.find(e=>e.path===a.pathname);return Ia.jsx("header",{className:"bg-white border-b border-gray-200 px-2 md:px-4 py-2",children:Ia.jsxs("div",{className:"flex items-center gap-4",children:[Ia.jsxs("div",{className:"flex-shrink-0",children:[Ia.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[Ia.jsx("h1",{className:"text-lg font-semibold text-foreground truncate",children:t}),Ia.jsx(kt,{variant:"default",className:"bg-primary hover:bg-primary/90 text-primary-foreground text-xs px-2 py-1",children:n||"Módulo"})]}),Ia.jsx("p",{className:"text-sm text-muted-foreground truncate",children:v?.complementaryText||"Detalhes do item"})]}),c&&Ia.jsxs("div",{className:"flex items-center gap-2 flex-1 max-w-2xl",children:[Ia.jsxs("div",{className:"relative flex-1",children:[Ia.jsx(T,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground h-4 w-4"}),Ia.jsx(Ma,{placeholder:"/wiki"===a.pathname?"Buscar artigos...":"Buscar...",value:x,onChange:e=>(e=>{g(e)})(e.target.value),className:"w-full pl-10 pr-8"}),x&&Ia.jsx(La,{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(),g("");const e=new URLSearchParams(p);e.delete("search"),e.delete("page"),h(e)},title:"Limpar busca",children:Ia.jsx(N,{size:14})})]}),Ia.jsx(La,{variant:"outline",size:"sm",onClick:m,className:"flex-shrink-0 h-10 w-10 p-0",title:"Atualizar dados",children:Ia.jsx(Ae,{size:14})})]}),Ia.jsxs("div",{className:"flex-shrink-0 ml-auto flex items-center gap-3",children:[e&&Ia.jsx("div",{className:"flex items-center gap-2",children:e}),Ia.jsx("div",{className:"text-sm",children:Ia.jsx(Ko,{variant:"dropdown",selectedUnit:f,onUnitChange:u})})]})]})})}),al=(e={})=>{const{enabled:a=!0}=e,{alias:t}=Ms();return Xe({queryKey:["active-modules",t],queryFn:async()=>{if(!t)return[];const e=ms(),{data:a,error:s}=await e.schema("central").from("modules").select("\n id, name, url,\n modules_alias!inner(alias)\n ").eq("modules_alias.alias",t).eq("status","active").order("name");if(s){if(!$s.handleError(s))throw s;return[]}return a||[]},enabled:a&&!!t})},tl=({key:e,enabled:a,checkFn:t,staleTime:s=3e5,gcTime:r=6e5})=>Xe({queryKey:["permission",e],queryFn:t,enabled:a,staleTime:s,gcTime:r,retry:0,refetchOnWindowFocus:!1}),sl=import.meta.env.VITE_SUPABASE_PROJECT_ID,rl={logo:`https://${sl}.supabase.co/storage/v1/object/public/library-assets/logo.svg`,smallLogo:`https://${sl}.supabase.co/storage/v1/object/public/library-assets/small.svg`},nl=rl.logo,il=rl.smallLogo,ol="forlogic-sidebar-pinned",ll=()=>{try{const e=localStorage.getItem(ol);return!!e&&JSON.parse(e)}catch{return!1}};function cl({config:e}={}){const{state:a,open:t,setOpen:s}=Fi(),n=ea(),{alias:o,user:l}=Ms(),[c,d]=r(!1),[m,u]=r(ll),[f,p]=r(!1);i(()=>{s(!!m||!(!f&&!c))},[m,f,c,s]);const{data:h,isLoading:x,error:g}=al({enabled:c}),b=e=>{const a=["border-l-yellow-400","border-l-green-400","border-l-blue-400","border-l-red-400","border-l-purple-400","border-l-pink-400"];return a[e%a.length]};return Ia.jsxs(Mi,{collapsible:"icon",onMouseEnter:()=>{m||p(!0)},onMouseLeave:()=>{m||p(!1)},className:"app-sidebar transition-all duration-300 ease-in-out bg-white border-r border-gray-200 py-6 px-3",children:[Ia.jsxs(qi,{className:"p-0 gap-0",children:[Ia.jsx("div",{className:"flex items-center justify-between h-[34px]",children:t?Ia.jsxs(Ia.Fragment,{children:[Ia.jsx("div",{className:"flex items-center pl-[12px]",children:Ia.jsx("img",{src:rl.logo,alt:"Logo",className:"h-6 max-w-full object-contain"})}),Ia.jsx("button",{onClick:()=>{const e=!m;u(e),(e=>{try{localStorage.setItem(ol,JSON.stringify(e))}catch{}})(e)},className:"h-8 w-8 flex items-center justify-center rounded-md transition-colors duration-200 "+(m?"bg-primary text-primary-foreground":"hover:bg-muted text-muted-foreground"),children:Ia.jsx(ze,{className:"h-4 w-4"})})]}):Ia.jsx("div",{className:"flex items-center justify-center w-full h-[34px]",children:Ia.jsx("img",{src:rl.smallLogo,alt:"Logo",className:"h-[34px] w-[34px] object-contain"})})}),Ia.jsx("div",{className:"mt-2 pt-0",children:Ia.jsxs(gr,{onOpenChange:d,children:[Ia.jsx(br,{asChild:!0,children:t?Ia.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:[Ia.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[Ia.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"}),Ia.jsx("span",{className:"truncate group-data-[collapsible=icon]:hidden",children:e?.appName||"Título do módulo"})]}),Ia.jsx(j,{className:"h-6 w-6 flex-shrink-0 text-muted-foreground"})]}):Ia.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:Ia.jsx(j,{className:"h-6 w-6 text-muted-foreground"})})}),Ia.jsx(Sr,{className:t?"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:t?"start":"center",children:x?Ia.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-muted-foreground",children:[Ia.jsx(S,{className:"h-4 w-4 animate-spin"}),Ia.jsx("span",{className:"text-sm",children:"Carregando módulos..."})]}):g?Ia.jsxs("div",{className:"flex items-center space-x-2 py-3 px-3 text-destructive",children:[Ia.jsx(C,{className:"h-4 w-4"}),Ia.jsx("span",{className:"text-sm",children:"Erro ao carregar módulos"})]}):h&&0!==h.length?Ia.jsx("div",{className:"space-y-2",children:h.map((e,a)=>Ia.jsx("div",{onClick:()=>(e=>{const a=h?.find(a=>a.url===e);a?.url&&window.open(a.url,"_blank")})(e.url||""),className:`\n bg-muted/50 hover:bg-muted rounded-md p-3 cursor-pointer \n border-l-4 ${b(a)} transition-colors duration-200\n `,children:Ia.jsxs("div",{className:"flex items-center justify-between",children:[Ia.jsx("span",{className:"font-medium text-foreground text-sm",children:e.name}),e.url&&Ia.jsx(Oe,{className:"h-4 w-4 text-muted-foreground"})]})},e.id))}):Ia.jsx("div",{className:"py-3 px-3 text-muted-foreground text-sm",children:"Nenhum módulo disponível"})})]})})]}),Ia.jsx(Ki,{children:Ia.jsx(Ji,{className:"p-0 mt-6",children:Ia.jsx(Gi,{children:Ia.jsx(Zi,{className:"space-y-2",children:Ia.jsx(Ii,{children:e?.navigation?.map((e,a)=>{const t=({item:e,index:a})=>{const t=`${e.path}-${a}-${o??"noalias"}-${l?.id??"nouser"}`,{data:s=!0,isLoading:r}=tl({key:t,enabled:Boolean(e.permissionCheck&&o&&l?.id),checkFn:e.permissionCheck||(()=>Promise.resolve(!0))}),i=e.permissionCheck&&!s,c=r?S:i?X:e.icon;return i||e.complementaryText,Ia.jsx(eo,{children:i||r?Ia.jsxs(Ai,{children:[Ia.jsx(Di,{asChild:!0,children:Ia.jsx(to,{size:"lg",className:"h-10 opacity-50 cursor-not-allowed",onClick:e=>e.preventDefault(),children:Ia.jsxs("div",{className:"flex w-full items-center gap-3",children:[Ia.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:Ia.jsx(c,{className:"h-4 w-4 "+(r?"animate-spin":"")})}),Ia.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})}),Ia.jsx(zi,{children:Ia.jsx("p",{children:r?"Verificando acesso...":"Acesso restrito"})})]}):Ia.jsx(to,{asChild:!0,isActive:(d=e.path,n.pathname===d),size:"lg",className:"h-10",children:Ia.jsxs(ta,{to:e.path,className:"flex w-full items-center gap-3",children:[Ia.jsx("span",{className:"grid place-items-center h-[34px] w-[34px] p-[5px]",children:Ia.jsx(c,{className:"h-5 w-4"})}),Ia.jsx("span",{className:"font-medium sidebar-text group-data-[collapsible=icon]:hidden",children:e.label})]})})},e.path);var d};return Ia.jsx(t,{item:e,index:a},e.path)})})})})})})]})}const dl=c(function({children:e,sidebar:a,sidebarConfig:t,showHeader:s=!0}){const r=o(()=>a||Ia.jsx(cl,{config:t}),[a,t]),n=o(()=>({"--sidebar-width":"240px","--sidebar-width-icon":"58px"}),[]);return Ia.jsx(Xo,{config:t,children:Ia.jsx(Li,{defaultOpen:!1,style:n,children:Ia.jsxs("div",{className:"min-h-screen flex w-full",children:[r,Ia.jsxs("main",{className:"flex-1 flex flex-col h-screen overflow-hidden",children:[s&&Ia.jsx("div",{className:"flex-shrink-0 sticky top-0 z-10 bg-background",children:Ia.jsx(el,{})}),Ia.jsx("div",{className:"flex-1 overflow-y-auto bg-gray-50",children:e})]})]})})})});class ml extends d{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,a){rs.handleError(e,!1)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:Ia.jsx("div",{className:"flex items-center justify-center min-h-screen p-4",children:Ia.jsxs(Ba,{className:"w-full max-w-md",children:[Ia.jsxs(Wa,{className:"text-center",children:[Ia.jsx("div",{className:"flex justify-center mb-4",children:Ia.jsx(Le,{className:"h-12 w-12 text-destructive"})}),Ia.jsx(qa,{children:"Algo deu errado"})]}),Ia.jsxs(Qa,{className:"text-center space-y-4",children:[Ia.jsx("p",{className:"text-muted-foreground",children:"Ocorreu um erro inesperado. Tente recarregar a página."}),Ia.jsx(La,{onClick:()=>window.location.reload(),className:"w-full",children:"Recarregar Página"})]})]})}):this.props.children}}function ul(){const[e,a]=r([]),[t,s]=r(!1),[o,l]=r(null),[c,d]=r(null);i(()=>{m()},[]);const m=async()=>{try{const e=ms(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"createThread"}});if(s)throw s;l(t.threadId),a([{id:"initial",role:"assistant",content:"Olá! Como posso ajudá-lo hoje?",timestamp:new Date}])}catch(e){d("Erro ao inicializar conversa"),sa.error("Erro ao inicializar conversa")}};return{messages:e,isLoading:t,error:c,sendMessage:n(async e=>{if(!o||!e.trim())return;const t={id:`user-${Date.now()}`,role:"user",content:e,timestamp:new Date};a(e=>[...e,t]),s(!0),d(null);try{const t=ms(),{data:s,error:r}=await t.functions.invoke("openai-chat",{body:{action:"sendMessage",threadId:o,message:e}});if(r)throw r;const{runId:n}=s,i=await(async e=>{if(!o)return!1;for(let t=0;t<60;t++)try{const a=ms(),{data:t,error:s}=await a.functions.invoke("openai-chat",{body:{action:"checkRunStatus",threadId:o,runId:e}});if(s)throw s;const{status:r}=t;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(a){throw a}throw new Error("Tempo limite excedido")})(n);i&&await(async()=>{if(o)try{const e=ms(),{data:t,error:s}=await e.functions.invoke("openai-chat",{body:{action:"getMessages",threadId:o}});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(r){const e=r instanceof Error?r.message:"Erro ao enviar mensagem";d(e),sa.error(e),a(e=>e.filter(e=>e.id!==t.id))}finally{s(!1)}},[o]),threadId:o}}function fl({content:e,className:a}){return Ia.jsx("div",{className:Aa("prose prose-sm max-w-none",a),children:Ia.jsx(wa,{remarkPlugins:[ka],components:{h1:({children:e})=>Ia.jsx("h1",{className:"text-lg font-bold mt-4 mb-2 text-foreground",children:e}),h2:({children:e})=>Ia.jsx("h2",{className:"text-base font-bold mt-3 mb-2 text-foreground",children:e}),h3:({children:e})=>Ia.jsx("h3",{className:"text-sm font-semibold mt-2 mb-1 text-foreground",children:e}),p:({children:e})=>Ia.jsx("p",{className:"text-sm mb-2 last:mb-0 text-foreground",children:e}),ul:({children:e})=>Ia.jsx("ul",{className:"list-disc list-inside mb-2 space-y-1",children:e}),ol:({children:e})=>Ia.jsx("ol",{className:"list-decimal list-inside mb-2 space-y-1",children:e}),li:({children:e})=>Ia.jsx("li",{className:"text-sm text-foreground",children:e}),code:({inline:e,children:a,...t})=>e?Ia.jsx("code",{className:"bg-muted px-1.5 py-0.5 rounded text-xs font-mono text-foreground",...t,children:a}):Ia.jsx("code",{className:"block bg-muted p-2 rounded text-xs font-mono overflow-x-auto mb-2 text-foreground",...t,children:a}),pre:({children:e})=>Ia.jsx("pre",{className:"bg-muted p-2 rounded overflow-x-auto mb-2",children:e}),a:({children:e,href:a})=>Ia.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-primary underline hover:text-primary/80",children:e}),blockquote:({children:e})=>Ia.jsx("blockquote",{className:"border-l-4 border-primary pl-3 italic my-2 text-muted-foreground",children:e}),strong:({children:e})=>Ia.jsx("strong",{className:"font-bold text-foreground",children:e}),em:({children:e})=>Ia.jsx("em",{className:"italic text-foreground",children:e})},children:e})})}function pl(){const[e,a]=r(!1),[t,s]=r(""),{messages:n,isLoading:o,error:c,sendMessage:d}=ul(),m=l(null),u=l(null);i(()=>{if(m.current){const e=m.current.querySelector("[data-radix-scroll-area-viewport]");e&&(e.scrollTop=e.scrollHeight)}},[n]),i(()=>{e&&u.current&&u.current.focus()},[e]),i(()=>{const t=t=>{"Escape"===t.key&&e&&a(!1)};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e]);const f=()=>{t.trim()&&!o&&(d(t),s(""))};return Ia.jsxs(Ia.Fragment,{children:[Ia.jsx(La,{onClick:()=>a(!e),className:"fixed bottom-6 right-6 h-14 w-14 rounded-full shadow-lg z-50",size:"icon",children:e?Ia.jsx(N,{className:"h-6 w-6"}):Ia.jsx(Me,{className:"h-6 w-6"})}),e&&Ia.jsxs(Ba,{className:"fixed bottom-24 right-6 w-96 h-[600px] shadow-xl z-50 flex flex-col",children:[Ia.jsxs(Wa,{className:"flex flex-row items-center justify-between space-y-0 pb-4",children:[Ia.jsx(qa,{className:"text-lg font-semibold",children:"Chat Assistant"}),Ia.jsx(La,{variant:"ghost",size:"icon",onClick:()=>a(!1),className:"h-8 w-8",children:Ia.jsx(N,{className:"h-4 w-4"})})]}),Ia.jsxs(Qa,{className:"flex-1 flex flex-col p-0 overflow-hidden",children:[Ia.jsx(Ur,{ref:m,className:"flex-1 px-4",children:Ia.jsxs("div",{className:"space-y-4 py-4",children:[n.map(e=>Ia.jsx("div",{className:"flex "+("user"===e.role?"justify-end":"justify-start"),children:Ia.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?Ia.jsx(fl,{content:e.content}):Ia.jsx("p",{className:"text-sm whitespace-pre-wrap",children:e.content})})},e.id)),o&&Ia.jsx("div",{className:"flex justify-start",children:Ia.jsx("div",{className:"bg-muted rounded-lg px-4 py-2",children:Ia.jsxs("div",{className:"flex space-x-2",children:[Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce"}),Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.2s]"}),Ia.jsx("div",{className:"w-2 h-2 bg-foreground/40 rounded-full animate-bounce [animation-delay:0.4s]"})]})})}),c&&Ia.jsx("div",{className:"text-center text-sm text-destructive py-2",children:c})]})}),Ia.jsx("div",{className:"border-t p-4",children:Ia.jsxs("div",{className:"flex space-x-2",children:[Ia.jsx(Ma,{ref:u,value:t,onChange:e=>s(e.target.value),onKeyPress:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),f())},placeholder:"Digite sua mensagem...",disabled:o,className:"flex-1"}),Ia.jsx(La,{onClick:f,disabled:o||!t.trim(),size:"icon",children:Ia.jsx(Ue,{className:"h-4 w-4"})})]})})]})]})]})}export{gs as AUTH_CONFIG,vn as Accordion,wn as AccordionContent,Nn as AccordionItem,jn as AccordionTrigger,Wo as ActionButton,Ir as ActionMenuItems,pn as Alert,xn as AlertDescription,Bs as AlertDialog,Gs as AlertDialogAction,Zs as AlertDialogCancel,Qs as AlertDialogContent,Ys as AlertDialogDescription,Js as AlertDialogFooter,Ks as AlertDialogHeader,Hs as AlertDialogOverlay,qs as AlertDialogPortal,Xs as AlertDialogTitle,Ws as AlertDialogTrigger,hn as AlertTitle,el as AppHeader,dl as AppLayout,cl as AppSidebar,kn as AspectRatio,$s as AuthErrorInterceptor,Ls as AuthProvider,Os as AuthService,Sn as Avatar,Tn as AvatarFallback,Cn as AvatarImage,kt as Badge,Kr as BaseForm,Rn as Breadcrumb,Dn as BreadcrumbEllipsis,Pn as BreadcrumbItem,En as BreadcrumbLink,_n as BreadcrumbList,In as BreadcrumbPage,An as BreadcrumbSeparator,Yr as BulkActionBar,La as Button,bs as CRUD_CONFIG,qn as Calendar,gn as CallbackPage,Ba as Card,Qa as CardContent,Ha as CardDescription,Ka as CardFooter,Wa as CardHeader,mr as CardSkeleton,qa as CardTitle,pl as ChatbotPage,Nt as Checkbox,Hn as Collapsible,Kn as CollapsibleContent,Qn as CollapsibleTrigger,Mr as ColorPicker,Jn as Command,Xn as CommandDialog,Zn as CommandEmpty,ei as CommandGroup,Yn as CommandInput,ti as CommandItem,Gn as CommandList,ai as CommandSeparator,si as CommandShortcut,qo as CrudCards,Jr as CrudForm,Dr as CrudTable,ri as DataList,er as DeleteConfirmationDialog,Ja as Dialog,Ga as DialogClose,et as DialogContent,rt as DialogDescription,tt as DialogFooter,at as DialogHeader,Za as DialogOverlay,Ya as DialogPortal,st as DialogTitle,Xa as DialogTrigger,gr as DropdownMenu,Tr as DropdownMenuCheckboxItem,Sr as DropdownMenuContent,yr as DropdownMenuGroup,Cr as DropdownMenuItem,_r as DropdownMenuLabel,vr as DropdownMenuPortal,jr as DropdownMenuRadioGroup,Rr as DropdownMenuRadioItem,Pr as DropdownMenuSeparator,Er as DropdownMenuShortcut,Nr as DropdownMenuSub,kr as DropdownMenuSubContent,wr as DropdownMenuSubTrigger,br as DropdownMenuTrigger,xr as EmptyState,qr as EntitySelect,ml as ErrorBoundary,tn as FilterBar,nt as Form,ut as FormControl,ot as FormField,dt as FormItem,mt as FormLabel,ft as FormMessage,ur as FormSkeleton,oi as Grid,fr as HeaderSkeleton,Wr as IconPicker,Ma as Input,Va as Label,Tt as LoadingState,bn as LoginPage,Ss as MESSAGES,fl as MarkdownMessage,Xo as NavigationProvider,li as PageBreadcrumb,di as Pagination,mi as PaginationContent,xi as PaginationEllipsis,ui as PaginationItem,fi as PaginationLink,hi as PaginationNext,pi as PaginationPrevious,Or as Popover,Fr as PopoverContent,$r as PopoverTrigger,gi as Progress,un as ProtectedRoute,Ns as QUERY_KEYS,xs as QualiexEnrichmentService,Qr as QualiexUserField,bi as RadioGroup,yi as RadioGroupItem,ys as SEARCH_CONFIG,Ur as ScrollArea,Vr as ScrollBar,pt as Select,yt as SelectContent,vt as SelectItem,xt as SelectTrigger,ht as SelectValue,vi as Separator,Ni as Sheet,wi as SheetClose,Ti as SheetContent,Ei as SheetDescription,_i as SheetFooter,Ri as SheetHeader,Si as SheetOverlay,ki as SheetPortal,Pi as SheetTitle,ji as SheetTrigger,Mi as Sidebar,Ki as SidebarContent,Hi as SidebarFooter,Ji as SidebarGroup,Yi as SidebarGroupAction,Gi as SidebarGroupContent,Xi as SidebarGroupLabel,qi as SidebarHeader,Wi as SidebarInput,Bi as SidebarInset,Zi as SidebarMenu,so as SidebarMenuAction,ro as SidebarMenuBadge,to as SidebarMenuButton,eo as SidebarMenuItem,no as SidebarMenuSkeleton,io as SidebarMenuSub,lo as SidebarMenuSubButton,oo as SidebarMenuSubItem,Li as SidebarProvider,Vi as SidebarRail,Qi as SidebarSeparator,pr as SidebarSkeleton,Ui as SidebarTrigger,cr as Skeleton,co as Slider,mo as SonnerToaster,Ct as Spinner,an as Stack,Eo as Switch,Fo as TabPageContent,$o as TabPageHeader,Oo as TabPageLayout,ar as Table,sr as TableBody,lr as TableCaption,or as TableCell,rr as TableFooter,ir as TableHead,tr as TableHeader,nr as TableRow,Ar as TableRowActions,dr as TableSkeleton,Io as Tabs,zo as TabsContent,Ao as TabsList,Do as TabsTrigger,jt as Textarea,Mt as Toast,Ut as ToastAction,Vt as ToastClose,Wt as ToastDescription,$t as ToastProvider,Bt as ToastTitle,Ft as ToastViewport,qt as Toaster,Mo as Toggle,Vo as ToggleGroup,Bo as ToggleGroupItem,as as TokenManager,Qt as TokenService,Ai as Tooltip,zi as TooltipContent,Ii as TooltipProvider,Di as TooltipTrigger,rl as assets,wt as badgeVariants,Fa as buttonVariants,Aa as cn,rn as createCrudPage,Ho as createRoutingHandlers,Ts as createService,nn as createSimpleSaveHandler,Vs as createSimpleService,dn as crudPresets,$a as debounce,rs as errorService,Oa as formatCurrency,za as formatDatetime,on as generateCrudConfig,ws as getQualiexConfig,ms as getSupabaseClient,vs as isDevEnvironment,nl as logoSrc,hs as qualiexApi,ks as setQualiexConfig,yn as setupQualiexCore,il as smallLogoSrc,zt as toast,Lo as toggleVariants,Da as trimTextFields,al as useActiveModules,Ms as useAuth,zr as useBaseForm,Us as useCrud,Qo as useCrudRouting,Zo as useDebounce,Yo as useNavigation,ul as useOpenAIChat,Go as usePageTitle,tl as usePermissionQuery,Hr as useQualiexUsers,ci as useRouteBreadcrumbs,Fi as useSidebar,Ot as useToast,mn as withPreset};
|