@standardbeagle/edit-db 0.4.478 → 0.4.494

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.
Files changed (40) hide show
  1. package/dist/common/fetcher.d.ts +7 -2
  2. package/dist/components/content-panel.d.ts +5 -2
  3. package/dist/components/filters/fk-filter.d.ts +2 -0
  4. package/dist/components/filters/fk-filter.test.d.ts +1 -0
  5. package/dist/components/filters/number-filter.d.ts +1 -0
  6. package/dist/components/filters/number-filter.test.d.ts +1 -0
  7. package/dist/components/filters/use-debounced-commit.d.ts +19 -0
  8. package/dist/components/filters/use-debounced-commit.test.d.ts +1 -0
  9. package/dist/components/fk-cell-popover.d.ts +8 -1
  10. package/dist/components/fk-cell-popover.test.d.ts +1 -0
  11. package/dist/data-data-table.test.d.ts +0 -0
  12. package/dist/data-edit.d.ts +8 -0
  13. package/dist/edit-db.css +1 -1
  14. package/dist/editor.es.js +5726 -15712
  15. package/dist/editor.umd.cjs +33 -69
  16. package/dist/hooks/useCompositeTableRef.d.ts +19 -1
  17. package/dist/hooks/useCompositeTableRef.test.d.ts +1 -0
  18. package/dist/hooks/useDataTable.d.ts +13 -1
  19. package/dist/hooks/usePath.d.ts +1 -5
  20. package/dist/hooks/useTableMutation.test.d.ts +0 -0
  21. package/dist/hooks/useTableRef.d.ts +22 -1
  22. package/dist/hooks/useTableRef.test.d.ts +1 -0
  23. package/dist/hooks/useTableStats.d.ts +7 -0
  24. package/dist/hooks/useToast.d.ts +15 -0
  25. package/dist/lib/content-detect.d.ts +5 -0
  26. package/dist/lib/date-input.d.ts +21 -0
  27. package/dist/lib/date-input.test.d.ts +1 -0
  28. package/dist/lib/fk.d.ts +10 -2
  29. package/dist/lib/invalidate.d.ts +7 -0
  30. package/dist/lib/invalidate.test.d.ts +1 -0
  31. package/dist/lib/label-match.d.ts +13 -0
  32. package/dist/lib/label-match.test.d.ts +1 -0
  33. package/dist/lib/m2m.d.ts +19 -5
  34. package/dist/lib/query-builder.d.ts +24 -2
  35. package/dist/lib/row-id.d.ts +9 -0
  36. package/dist/lib/table-ref.d.ts +45 -0
  37. package/dist/lib/table-ref.test.d.ts +1 -0
  38. package/dist/types/schema.d.ts +12 -6
  39. package/package.json +1 -3
  40. package/dist/error-panel.d.ts +0 -1
@@ -1,17 +1,17 @@
1
- (function(ze,M){typeof exports=="object"&&typeof module<"u"?M(exports,require("react"),require("@tanstack/react-query"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","@tanstack/react-query","react-dom"],M):(ze=typeof globalThis<"u"?globalThis:ze||self,M(ze.editor={},ze.React,ze.ReactQuery,ze.ReactDOM))})(this,(function(ze,M,je,cm){"use strict";function ya(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const x=ya(M),Rn=ya(cm);var _r={exports:{}},Tn={};var wa;function um(){if(wa)return Tn;wa=1;var e=M,n=Symbol.for("react.element"),t=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function i(l,c,d){var f,u={},m=null,p=null;d!==void 0&&(m=""+d),c.key!==void 0&&(m=""+c.key),c.ref!==void 0&&(p=c.ref);for(f in c)r.call(c,f)&&!s.hasOwnProperty(f)&&(u[f]=c[f]);if(l&&l.defaultProps)for(f in c=l.defaultProps,c)u[f]===void 0&&(u[f]=c[f]);return{$$typeof:n,type:l,key:m,ref:p,props:u,_owner:o.current}}return Tn.Fragment=t,Tn.jsx=i,Tn.jsxs=i,Tn}var Fn={};var Sa;function dm(){return Sa||(Sa=1,process.env.NODE_ENV!=="production"&&(function(){var e=M,n=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),u=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),h=Symbol.iterator,g="@@iterator";function v(j){if(j===null||typeof j!="object")return null;var I=h&&j[h]||j[g];return typeof I=="function"?I:null}var y=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(j){{for(var I=arguments.length,q=new Array(I>1?I-1:0),re=1;re<I;re++)q[re-1]=arguments[re];S("error",j,q)}}function S(j,I,q){{var re=y.ReactDebugCurrentFrame,xe=re.getStackAddendum();xe!==""&&(I+="%s",q=q.concat([xe]));var ye=q.map(function(fe){return String(fe)});ye.unshift("Warning: "+I),Function.prototype.apply.call(console[j],console,ye)}}var _=!1,E=!1,C=!1,N=!1,w=!1,k;k=Symbol.for("react.module.reference");function R(j){return!!(typeof j=="string"||typeof j=="function"||j===r||j===s||w||j===o||j===d||j===f||N||j===p||_||E||C||typeof j=="object"&&j!==null&&(j.$$typeof===m||j.$$typeof===u||j.$$typeof===i||j.$$typeof===l||j.$$typeof===c||j.$$typeof===k||j.getModuleId!==void 0))}function F(j,I,q){var re=j.displayName;if(re)return re;var xe=I.displayName||I.name||"";return xe!==""?q+"("+xe+")":q}function P(j){return j.displayName||"Context"}function $(j){if(j==null)return null;if(typeof j.tag=="number"&&b("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof j=="function")return j.displayName||j.name||null;if(typeof j=="string")return j;switch(j){case r:return"Fragment";case t:return"Portal";case s:return"Profiler";case o:return"StrictMode";case d:return"Suspense";case f:return"SuspenseList"}if(typeof j=="object")switch(j.$$typeof){case l:var I=j;return P(I)+".Consumer";case i:var q=j;return P(q._context)+".Provider";case c:return F(j,j.render,"ForwardRef");case u:var re=j.displayName||null;return re!==null?re:$(j.type)||"Memo";case m:{var xe=j,ye=xe._payload,fe=xe._init;try{return $(fe(ye))}catch{return null}}}return null}var A=Object.assign,L=0,T,B,z,O,D,ue,be;function we(){}we.__reactDisabledLog=!0;function ge(){{if(L===0){T=console.log,B=console.info,z=console.warn,O=console.error,D=console.group,ue=console.groupCollapsed,be=console.groupEnd;var j={configurable:!0,enumerable:!0,value:we,writable:!0};Object.defineProperties(console,{info:j,log:j,warn:j,error:j,group:j,groupCollapsed:j,groupEnd:j})}L++}}function H(){{if(L--,L===0){var j={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:A({},j,{value:T}),info:A({},j,{value:B}),warn:A({},j,{value:z}),error:A({},j,{value:O}),group:A({},j,{value:D}),groupCollapsed:A({},j,{value:ue}),groupEnd:A({},j,{value:be})})}L<0&&b("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var J=y.ReactCurrentDispatcher,V;function oe(j,I,q){{if(V===void 0)try{throw Error()}catch(xe){var re=xe.stack.trim().match(/\n( *(at )?)/);V=re&&re[1]||""}return`
2
- `+V+j}}var se=!1,ce;{var de=typeof WeakMap=="function"?WeakMap:Map;ce=new de}function me(j,I){if(!j||se)return"";{var q=ce.get(j);if(q!==void 0)return q}var re;se=!0;var xe=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var ye;ye=J.current,J.current=null,ge();try{if(I){var fe=function(){throw Error()};if(Object.defineProperty(fe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(fe,[])}catch($e){re=$e}Reflect.construct(j,[],fe)}else{try{fe.call()}catch($e){re=$e}j.call(fe.prototype)}}else{try{throw Error()}catch($e){re=$e}j()}}catch($e){if($e&&re&&typeof $e.stack=="string"){for(var le=$e.stack.split(`
3
- `),Ie=re.stack.split(`
4
- `),_e=le.length-1,Me=Ie.length-1;_e>=1&&Me>=0&&le[_e]!==Ie[Me];)Me--;for(;_e>=1&&Me>=0;_e--,Me--)if(le[_e]!==Ie[Me]){if(_e!==1||Me!==1)do if(_e--,Me--,Me<0||le[_e]!==Ie[Me]){var Ye=`
5
- `+le[_e].replace(" at new "," at ");return j.displayName&&Ye.includes("<anonymous>")&&(Ye=Ye.replace("<anonymous>",j.displayName)),typeof j=="function"&&ce.set(j,Ye),Ye}while(_e>=1&&Me>=0);break}}}finally{se=!1,J.current=ye,H(),Error.prepareStackTrace=xe}var kn=j?j.displayName||j.name:"",sn=kn?oe(kn):"";return typeof j=="function"&&ce.set(j,sn),sn}function Ce(j,I,q){return me(j,!1)}function pe(j){var I=j.prototype;return!!(I&&I.isReactComponent)}function rt(j,I,q){if(j==null)return"";if(typeof j=="function")return me(j,pe(j));if(typeof j=="string")return oe(j);switch(j){case d:return oe("Suspense");case f:return oe("SuspenseList")}if(typeof j=="object")switch(j.$$typeof){case c:return Ce(j.render);case u:return rt(j.type,I,q);case m:{var re=j,xe=re._payload,ye=re._init;try{return rt(ye(xe),I,q)}catch{}}}return""}var ot=Object.prototype.hasOwnProperty,st={},Zo=y.ReactDebugCurrentFrame;function jn(j){if(j){var I=j._owner,q=rt(j.type,j._source,I?I.type:null);Zo.setExtraStackFrame(q)}else Zo.setExtraStackFrame(null)}function G(j,I,q,re,xe){{var ye=Function.call.bind(ot);for(var fe in j)if(ye(j,fe)){var le=void 0;try{if(typeof j[fe]!="function"){var Ie=Error((re||"React class")+": "+q+" type `"+fe+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof j[fe]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw Ie.name="Invariant Violation",Ie}le=j[fe](I,fe,re,q,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(_e){le=_e}le&&!(le instanceof Error)&&(jn(xe),b("%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).",re||"React class",q,fe,typeof le),jn(null)),le instanceof Error&&!(le.message in st)&&(st[le.message]=!0,jn(xe),b("Failed %s type: %s",q,le.message),jn(null))}}}var Q=Array.isArray;function ve(j){return Q(j)}function Lt(j){{var I=typeof Symbol=="function"&&Symbol.toStringTag,q=I&&j[Symbol.toStringTag]||j.constructor.name||"Object";return q}}function on(j){try{return En(j),!1}catch{return!0}}function En(j){return""+j}function Cr(j){if(on(j))return b("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",Lt(j)),En(j)}var Zf=y.ReactCurrentOwner,L0={key:!0,ref:!0,__self:!0,__source:!0},em,tm;function z0(j){if(ot.call(j,"ref")){var I=Object.getOwnPropertyDescriptor(j,"ref").get;if(I&&I.isReactWarning)return!1}return j.ref!==void 0}function B0(j){if(ot.call(j,"key")){var I=Object.getOwnPropertyDescriptor(j,"key").get;if(I&&I.isReactWarning)return!1}return j.key!==void 0}function G0(j,I){typeof j.ref=="string"&&Zf.current}function H0(j,I){{var q=function(){em||(em=!0,b("%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)",I))};q.isReactWarning=!0,Object.defineProperty(j,"key",{get:q,configurable:!0})}}function q0(j,I){{var q=function(){tm||(tm=!0,b("%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)",I))};q.isReactWarning=!0,Object.defineProperty(j,"ref",{get:q,configurable:!0})}}var W0=function(j,I,q,re,xe,ye,fe){var le={$$typeof:n,type:j,key:I,ref:q,props:fe,_owner:ye};return le._store={},Object.defineProperty(le._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(le,"_self",{configurable:!1,enumerable:!1,writable:!1,value:re}),Object.defineProperty(le,"_source",{configurable:!1,enumerable:!1,writable:!1,value:xe}),Object.freeze&&(Object.freeze(le.props),Object.freeze(le)),le};function U0(j,I,q,re,xe){{var ye,fe={},le=null,Ie=null;q!==void 0&&(Cr(q),le=""+q),B0(I)&&(Cr(I.key),le=""+I.key),z0(I)&&(Ie=I.ref,G0(I,xe));for(ye in I)ot.call(I,ye)&&!L0.hasOwnProperty(ye)&&(fe[ye]=I[ye]);if(j&&j.defaultProps){var _e=j.defaultProps;for(ye in _e)fe[ye]===void 0&&(fe[ye]=_e[ye])}if(le||Ie){var Me=typeof j=="function"?j.displayName||j.name||"Unknown":j;le&&H0(fe,Me),Ie&&q0(fe,Me)}return W0(j,le,Ie,xe,re,Zf.current,fe)}}var ga=y.ReactCurrentOwner,nm=y.ReactDebugCurrentFrame;function Nn(j){if(j){var I=j._owner,q=rt(j.type,j._source,I?I.type:null);nm.setExtraStackFrame(q)}else nm.setExtraStackFrame(null)}var va;va=!1;function xa(j){return typeof j=="object"&&j!==null&&j.$$typeof===n}function rm(){{if(ga.current){var j=$(ga.current.type);if(j)return`
1
+ (function(be,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("react"),require("@tanstack/react-query"),require("lucide-react"),require("@radix-ui/react-slot"),require("radix-ui"),require("@tanstack/react-form"),require("@tanstack/react-table")):typeof define=="function"&&define.amd?define(["exports","react","@tanstack/react-query","lucide-react","@radix-ui/react-slot","radix-ui","@tanstack/react-form","@tanstack/react-table"],c):(be=typeof globalThis<"u"?globalThis:be||self,c(be.editor={},be.React,be.ReactQuery,be.LucideReact,be.RadixReactSlot,be.RadixUI,be.ReactForm,be.ReactTable))})(this,(function(be,c,me,N,Js,Q,Bt,Kt){"use strict";function Ws(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const ve=Ws(c);var Gt={exports:{}},Ct={};var Hn;function Hs(){if(Hn)return Ct;Hn=1;var e=c,n=Symbol.for("react.element"),r=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function a(l,u,d){var p,m={},h=null,x=null;d!==void 0&&(h=""+d),u.key!==void 0&&(h=""+u.key),u.ref!==void 0&&(x=u.ref);for(p in u)s.call(u,p)&&!i.hasOwnProperty(p)&&(m[p]=u[p]);if(l&&l.defaultProps)for(p in u=l.defaultProps,u)m[p]===void 0&&(m[p]=u[p]);return{$$typeof:n,type:l,key:h,ref:x,props:m,_owner:o.current}}return Ct.Fragment=r,Ct.jsx=a,Ct.jsxs=a,Ct}var kt={};var Qn;function Qs(){return Qn||(Qn=1,process.env.NODE_ENV!=="production"&&(function(){var e=c,n=Symbol.for("react.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),x=Symbol.for("react.offscreen"),g=Symbol.iterator,b="@@iterator";function k(f){if(f===null||typeof f!="object")return null;var F=g&&f[g]||f[b];return typeof F=="function"?F:null}var $=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w(f){{for(var F=arguments.length,A=new Array(F>1?F-1:0),Y=1;Y<F;Y++)A[Y-1]=arguments[Y];P("error",f,A)}}function P(f,F,A){{var Y=$.ReactDebugCurrentFrame,ne=Y.getStackAddendum();ne!==""&&(F+="%s",A=A.concat([ne]));var oe=A.map(function(te){return String(te)});oe.unshift("Warning: "+F),Function.prototype.apply.call(console[f],console,oe)}}var C=!1,T=!1,j=!1,E=!1,y=!1,S;S=Symbol.for("react.module.reference");function L(f){return!!(typeof f=="string"||typeof f=="function"||f===s||f===i||y||f===o||f===d||f===p||E||f===x||C||T||j||typeof f=="object"&&f!==null&&(f.$$typeof===h||f.$$typeof===m||f.$$typeof===a||f.$$typeof===l||f.$$typeof===u||f.$$typeof===S||f.getModuleId!==void 0))}function v(f,F,A){var Y=f.displayName;if(Y)return Y;var ne=F.displayName||F.name||"";return ne!==""?A+"("+ne+")":A}function M(f){return f.displayName||"Context"}function O(f){if(f==null)return null;if(typeof f.tag=="number"&&w("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f;switch(f){case s:return"Fragment";case r:return"Portal";case i:return"Profiler";case o:return"StrictMode";case d:return"Suspense";case p:return"SuspenseList"}if(typeof f=="object")switch(f.$$typeof){case l:var F=f;return M(F)+".Consumer";case a:var A=f;return M(A._context)+".Provider";case u:return v(f,f.render,"ForwardRef");case m:var Y=f.displayName||null;return Y!==null?Y:O(f.type)||"Memo";case h:{var ne=f,oe=ne._payload,te=ne._init;try{return O(te(oe))}catch{return null}}}return null}var z=Object.assign,I=0,_,G,U,ie,B,Te,ye;function xe(){}xe.__reactDisabledLog=!0;function le(){{if(I===0){_=console.log,G=console.info,U=console.warn,ie=console.error,B=console.group,Te=console.groupCollapsed,ye=console.groupEnd;var f={configurable:!0,enumerable:!0,value:xe,writable:!0};Object.defineProperties(console,{info:f,log:f,warn:f,error:f,group:f,groupCollapsed:f,groupEnd:f})}I++}}function re(){{if(I--,I===0){var f={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:z({},f,{value:_}),info:z({},f,{value:G}),warn:z({},f,{value:U}),error:z({},f,{value:ie}),group:z({},f,{value:B}),groupCollapsed:z({},f,{value:Te}),groupEnd:z({},f,{value:ye})})}I<0&&w("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ae=$.ReactCurrentDispatcher,J;function ce(f,F,A){{if(J===void 0)try{throw Error()}catch(ne){var Y=ne.stack.trim().match(/\n( *(at )?)/);J=Y&&Y[1]||""}return`
2
+ `+J+f}}var R=!1,Ne;{var Be=typeof WeakMap=="function"?WeakMap:Map;Ne=new Be}function ze(f,F){if(!f||R)return"";{var A=Ne.get(f);if(A!==void 0)return A}var Y;R=!0;var ne=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var oe;oe=ae.current,ae.current=null,le();try{if(F){var te=function(){throw Error()};if(Object.defineProperty(te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(te,[])}catch(_e){Y=_e}Reflect.construct(f,[],te)}else{try{te.call()}catch(_e){Y=_e}f.call(te.prototype)}}else{try{throw Error()}catch(_e){Y=_e}f()}}catch(_e){if(_e&&Y&&typeof _e.stack=="string"){for(var ee=_e.stack.split(`
3
+ `),we=Y.stack.split(`
4
+ `),fe=ee.length-1,pe=we.length-1;fe>=1&&pe>=0&&ee[fe]!==we[pe];)pe--;for(;fe>=1&&pe>=0;fe--,pe--)if(ee[fe]!==we[pe]){if(fe!==1||pe!==1)do if(fe--,pe--,pe<0||ee[fe]!==we[pe]){var Me=`
5
+ `+ee[fe].replace(" at new "," at ");return f.displayName&&Me.includes("<anonymous>")&&(Me=Me.replace("<anonymous>",f.displayName)),typeof f=="function"&&Ne.set(f,Me),Me}while(fe>=1&&pe>=0);break}}}finally{R=!1,ae.current=oe,re(),Error.prepareStackTrace=ne}var wt=f?f.displayName||f.name:"",ft=wt?ce(wt):"";return typeof f=="function"&&Ne.set(f,ft),ft}function Ke(f,F,A){return ze(f,!1)}function De(f){var F=f.prototype;return!!(F&&F.isReactComponent)}function Ge(f,F,A){if(f==null)return"";if(typeof f=="function")return ze(f,De(f));if(typeof f=="string")return ce(f);switch(f){case d:return ce("Suspense");case p:return ce("SuspenseList")}if(typeof f=="object")switch(f.$$typeof){case u:return Ke(f.render);case m:return Ge(f.type,F,A);case h:{var Y=f,ne=Y._payload,oe=Y._init;try{return Ge(oe(ne),F,A)}catch{}}}return""}var ue=Object.prototype.hasOwnProperty,X={},se=$.ReactDebugCurrentFrame;function Se(f){if(f){var F=f._owner,A=Ge(f.type,f._source,F?F.type:null);se.setExtraStackFrame(A)}else se.setExtraStackFrame(null)}function $e(f,F,A,Y,ne){{var oe=Function.call.bind(ue);for(var te in f)if(oe(f,te)){var ee=void 0;try{if(typeof f[te]!="function"){var we=Error((Y||"React class")+": "+A+" type `"+te+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof f[te]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw we.name="Invariant Violation",we}ee=f[te](F,te,Y,A,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(fe){ee=fe}ee&&!(ee instanceof Error)&&(Se(ne),w("%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).",Y||"React class",A,te,typeof ee),Se(null)),ee instanceof Error&&!(ee.message in X)&&(X[ee.message]=!0,Se(ne),w("Failed %s type: %s",A,ee.message),Se(null))}}}var rt=Array.isArray;function Je(f){return rt(f)}function ut(f){{var F=typeof Symbol=="function"&&Symbol.toStringTag,A=F&&f[Symbol.toStringTag]||f.constructor.name||"Object";return A}}function st(f){try{return D(f),!1}catch{return!0}}function D(f){return""+f}function K(f){if(st(f))return w("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ut(f)),D(f)}var de=$.ReactCurrentOwner,Ee={key:!0,ref:!0,__self:!0,__source:!0},mt,We;function dn(f){if(ue.call(f,"ref")){var F=Object.getOwnPropertyDescriptor(f,"ref").get;if(F&&F.isReactWarning)return!1}return f.ref!==void 0}function vc(f){if(ue.call(f,"key")){var F=Object.getOwnPropertyDescriptor(f,"key").get;if(F&&F.isReactWarning)return!1}return f.key!==void 0}function jc(f,F){typeof f.ref=="string"&&de.current}function Nc(f,F){{var A=function(){mt||(mt=!0,w("%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)",F))};A.isReactWarning=!0,Object.defineProperty(f,"key",{get:A,configurable:!0})}}function wc(f,F){{var A=function(){We||(We=!0,w("%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)",F))};A.isReactWarning=!0,Object.defineProperty(f,"ref",{get:A,configurable:!0})}}var Cc=function(f,F,A,Y,ne,oe,te){var ee={$$typeof:n,type:f,key:F,ref:A,props:te,_owner:oe};return ee._store={},Object.defineProperty(ee._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(ee,"_self",{configurable:!1,enumerable:!1,writable:!1,value:Y}),Object.defineProperty(ee,"_source",{configurable:!1,enumerable:!1,writable:!1,value:ne}),Object.freeze&&(Object.freeze(ee.props),Object.freeze(ee)),ee};function kc(f,F,A,Y,ne){{var oe,te={},ee=null,we=null;A!==void 0&&(K(A),ee=""+A),vc(F)&&(K(F.key),ee=""+F.key),dn(F)&&(we=F.ref,jc(F,ne));for(oe in F)ue.call(F,oe)&&!Ee.hasOwnProperty(oe)&&(te[oe]=F[oe]);if(f&&f.defaultProps){var fe=f.defaultProps;for(oe in fe)te[oe]===void 0&&(te[oe]=fe[oe])}if(ee||we){var pe=typeof f=="function"?f.displayName||f.name||"Unknown":f;ee&&Nc(te,pe),we&&wc(te,pe)}return Cc(f,ee,we,ne,Y,de.current,te)}}var Kn=$.ReactCurrentOwner,Os=$.ReactDebugCurrentFrame;function Nt(f){if(f){var F=f._owner,A=Ge(f.type,f._source,F?F.type:null);Os.setExtraStackFrame(A)}else Os.setExtraStackFrame(null)}var Gn;Gn=!1;function Jn(f){return typeof f=="object"&&f!==null&&f.$$typeof===n}function As(){{if(Kn.current){var f=O(Kn.current.type);if(f)return`
6
6
 
7
- Check the render method of \``+j+"`."}return""}}function K0(j){return""}var om={};function Y0(j){{var I=rm();if(!I){var q=typeof j=="string"?j:j.displayName||j.name;q&&(I=`
7
+ Check the render method of \``+f+"`."}return""}}function Tc(f){return""}var qs={};function Sc(f){{var F=As();if(!F){var A=typeof f=="string"?f:f.displayName||f.name;A&&(F=`
8
8
 
9
- Check the top-level render call using <`+q+">.")}return I}}function sm(j,I){{if(!j._store||j._store.validated||j.key!=null)return;j._store.validated=!0;var q=Y0(I);if(om[q])return;om[q]=!0;var re="";j&&j._owner&&j._owner!==ga.current&&(re=" It was passed a child from "+$(j._owner.type)+"."),Nn(j),b('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',q,re),Nn(null)}}function im(j,I){{if(typeof j!="object")return;if(ve(j))for(var q=0;q<j.length;q++){var re=j[q];xa(re)&&sm(re,I)}else if(xa(j))j._store&&(j._store.validated=!0);else if(j){var xe=v(j);if(typeof xe=="function"&&xe!==j.entries)for(var ye=xe.call(j),fe;!(fe=ye.next()).done;)xa(fe.value)&&sm(fe.value,I)}}}function J0(j){{var I=j.type;if(I==null||typeof I=="string")return;var q;if(typeof I=="function")q=I.propTypes;else if(typeof I=="object"&&(I.$$typeof===c||I.$$typeof===u))q=I.propTypes;else return;if(q){var re=$(I);G(q,j.props,"prop",re,j)}else if(I.PropTypes!==void 0&&!va){va=!0;var xe=$(I);b("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",xe||"Unknown")}typeof I.getDefaultProps=="function"&&!I.getDefaultProps.isReactClassApproved&&b("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function X0(j){{for(var I=Object.keys(j.props),q=0;q<I.length;q++){var re=I[q];if(re!=="children"&&re!=="key"){Nn(j),b("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",re),Nn(null);break}}j.ref!==null&&(Nn(j),b("Invalid attribute `ref` supplied to `React.Fragment`."),Nn(null))}}var am={};function lm(j,I,q,re,xe,ye){{var fe=R(j);if(!fe){var le="";(j===void 0||typeof j=="object"&&j!==null&&Object.keys(j).length===0)&&(le+=" 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 Ie=K0();Ie?le+=Ie:le+=rm();var _e;j===null?_e="null":ve(j)?_e="array":j!==void 0&&j.$$typeof===n?(_e="<"+($(j.type)||"Unknown")+" />",le=" Did you accidentally export a JSX literal instead of a component?"):_e=typeof j,b("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",_e,le)}var Me=U0(j,I,q,xe,ye);if(Me==null)return Me;if(fe){var Ye=I.children;if(Ye!==void 0)if(re)if(ve(Ye)){for(var kn=0;kn<Ye.length;kn++)im(Ye[kn],j);Object.freeze&&Object.freeze(Ye)}else b("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 im(Ye,j)}if(ot.call(I,"key")){var sn=$(j),$e=Object.keys(I).filter(function(r_){return r_!=="key"}),ba=$e.length>0?"{key: someKey, "+$e.join(": ..., ")+": ...}":"{key: someKey}";if(!am[sn+ba]){var n_=$e.length>0?"{"+$e.join(": ..., ")+": ...}":"{}";b(`A props object containing a "key" prop is being spread into JSX:
9
+ Check the top-level render call using <`+A+">.")}return F}}function Vs(f,F){{if(!f._store||f._store.validated||f.key!=null)return;f._store.validated=!0;var A=Sc(F);if(qs[A])return;qs[A]=!0;var Y="";f&&f._owner&&f._owner!==Kn.current&&(Y=" It was passed a child from "+O(f._owner.type)+"."),Nt(f),w('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',A,Y),Nt(null)}}function Bs(f,F){{if(typeof f!="object")return;if(Je(f))for(var A=0;A<f.length;A++){var Y=f[A];Jn(Y)&&Vs(Y,F)}else if(Jn(f))f._store&&(f._store.validated=!0);else if(f){var ne=k(f);if(typeof ne=="function"&&ne!==f.entries)for(var oe=ne.call(f),te;!(te=oe.next()).done;)Jn(te.value)&&Vs(te.value,F)}}}function $c(f){{var F=f.type;if(F==null||typeof F=="string")return;var A;if(typeof F=="function")A=F.propTypes;else if(typeof F=="object"&&(F.$$typeof===u||F.$$typeof===m))A=F.propTypes;else return;if(A){var Y=O(F);$e(A,f.props,"prop",Y,f)}else if(F.PropTypes!==void 0&&!Gn){Gn=!0;var ne=O(F);w("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ne||"Unknown")}typeof F.getDefaultProps=="function"&&!F.getDefaultProps.isReactClassApproved&&w("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function _c(f){{for(var F=Object.keys(f.props),A=0;A<F.length;A++){var Y=F[A];if(Y!=="children"&&Y!=="key"){Nt(f),w("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",Y),Nt(null);break}}f.ref!==null&&(Nt(f),w("Invalid attribute `ref` supplied to `React.Fragment`."),Nt(null))}}var Ks={};function Gs(f,F,A,Y,ne,oe){{var te=L(f);if(!te){var ee="";(f===void 0||typeof f=="object"&&f!==null&&Object.keys(f).length===0)&&(ee+=" 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 we=Tc();we?ee+=we:ee+=As();var fe;f===null?fe="null":Je(f)?fe="array":f!==void 0&&f.$$typeof===n?(fe="<"+(O(f.type)||"Unknown")+" />",ee=" Did you accidentally export a JSX literal instead of a component?"):fe=typeof f,w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",fe,ee)}var pe=kc(f,F,A,ne,oe);if(pe==null)return pe;if(te){var Me=F.children;if(Me!==void 0)if(Y)if(Je(Me)){for(var wt=0;wt<Me.length;wt++)Bs(Me[wt],f);Object.freeze&&Object.freeze(Me)}else w("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 Bs(Me,f)}if(ue.call(F,"key")){var ft=O(f),_e=Object.keys(F).filter(function(Mc){return Mc!=="key"}),Wn=_e.length>0?"{key: someKey, "+_e.join(": ..., ")+": ...}":"{key: someKey}";if(!Ks[ft+Wn]){var Dc=_e.length>0?"{"+_e.join(": ..., ")+": ...}":"{}";w(`A props object containing a "key" prop is being spread into JSX:
10
10
  let props = %s;
11
11
  <%s {...props} />
12
12
  React keys must be passed directly to JSX without using spread:
13
13
  let props = %s;
14
- <%s key={someKey} {...props} />`,ba,sn,n_,sn),am[sn+ba]=!0}}return j===r?X0(Me):J0(Me),Me}}function Q0(j,I,q){return lm(j,I,q,!0)}function Z0(j,I,q){return lm(j,I,q,!1)}var e_=Z0,t_=Q0;Fn.Fragment=r,Fn.jsx=e_,Fn.jsxs=t_})()),Fn}var Ca;function fm(){return Ca||(Ca=1,process.env.NODE_ENV==="production"?_r.exports=um():_r.exports=dm()),_r.exports}var a=fm();function an(e,n,...t){if(!e){let r;if(n===void 0)r=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let o=0;r=new Error(n.replace(/%s/g,function(){return t[o++]})),r.name="Invariant Violation"}throw r.framesToPop=1,r}}const zt=e=>typeof e=="function",mm=e=>e.length===0,_a=e=>e.toString(),es=e=>typeof e=="string",ts="/",Mr="||",Bt=e=>e,Ma=e=>e===null;function ja(e,n=Bt,t){an(zt(n)||Ma(n),"Expected payloadCreator to be a function, undefined or null");const r=Ma(n)||n===Bt?Bt:(l,...c)=>l instanceof Error?l:n(l,...c),o=zt(t),s=e.toString(),i=(...l)=>{const c=r(...l),d={type:e};return c instanceof Error&&(d.error=!0),c!==void 0&&(d.payload=c),o&&(d.meta=t(...l)),d};return i.toString=()=>s,i}const ln=e=>{if(typeof e!="object"||e===null)return!1;let n=e;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n},Ea=e=>Array.isArray(e),Na=e=>e==null,pm=e=>e[e.length-1],hm=/\s/,gm=/([-.:_])/,vm=/([a-z][A-Z]|[A-Z][a-z])/,ns="/",xm=/[\W_]+(.|$)/g,bm=e=>e.replace(xm,(n,t)=>t?" "+t:""),ym=/(.)([A-Z]+)/g,wm=e=>e.replace(ym,(n,t,r)=>t+" "+r.toLowerCase().split("").join(" ")),Sm=e=>hm.test(e)?e.toLowerCase():gm.test(e)?(bm(e)||e).toLowerCase():vm.test(e)?wm(e).toLowerCase():e.toLowerCase(),Cm=e=>Sm(e).replace(/[\W_]+(.|$)/g,(n,t)=>t?" "+t:"").trim(),ka=e=>Cm(e).replace(/\s(\w)/g,(n,t)=>t.toUpperCase()),Ra=e=>e.includes(ns)?e.split(ns).map(ka).join(ns):ka(e),rs=(e,n)=>e.reduce((t,r)=>n(t,r),{}),jr=e=>typeof Map<"u"&&e instanceof Map;function os(e){if(jr(e))return Array.from(e.keys());if(typeof Reflect<"u"&&typeof Reflect.ownKeys=="function")return Reflect.ownKeys(e);let n=Object.getOwnPropertyNames(e);return typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e))),n}function Ta(e,n){return jr(n)?n.get(e):n[e]}const Fa=e=>function n(t,{namespace:r=ts,prefix:o}={},s={},i=""){function l(d){if(!i)return d;const f=d.toString().split(Mr),u=i.split(Mr);return[].concat(...u.map(m=>f.map(p=>`${m}${r}${p}`))).join(Mr)}function c(d){return i||!o||o&&new RegExp(`^${o}${r}`).test(d)?d:`${o}${r}${d}`}return os(t).forEach(d=>{const f=c(l(d)),u=Ta(d,t);e(u)?n(u,{namespace:r,prefix:o},s,f):s[f]=u}),s},_m=Fa(ln);function Mm(e,{namespace:n=ts,prefix:t}={}){function r(s,i,l){const c=Ra(l.shift());mm(l)?i[c]=e[s]:(i[c]||(i[c]={}),r(s,i[c],l))}const o={};return Object.getOwnPropertyNames(e).forEach(s=>{const i=t?s.replace(`${t}${n}`,""):s;return r(s,o,i.split(n))}),o}function jm(e,...n){const t=ln(pm(n))?n.pop():{};return an(n.every(es)&&(es(e)||ln(e)),"Expected optional object followed by string action types"),es(e)?Ia([e,...n],t):{...Em(e,t),...Ia(n,t)}}function Em(e,n){const t=_m(e,n),r=Pa(t);return Mm(r,n)}function Pa(e,{prefix:n,namespace:t=ts}={}){function r(o){if(zt(o)||Na(o))return!0;if(Ea(o)){const[s=Bt,i]=o;return zt(s)&&zt(i)}return!1}return rs(Object.keys(e),(o,s)=>{const i=e[s];an(r(i),`Expected function, undefined, null, or array with payload and meta functions for ${s}`);const l=n?`${n}${t}${s}`:s,c=Ea(i)?ja(l,...i):ja(l,i);return{...o,[s]:c}})}function Ia(e,n){const t=rs(e,(o,s)=>({...o,[s]:Bt})),r=Pa(t,n);return rs(Object.keys(r),(o,s)=>({...o,[Ra(s)]:r[s]}))}const Nm=e=>e===void 0;function km(e,n=Bt,t){const r=_a(e).split(Mr);an(!Nm(t),`defaultState for reducer handling ${r.join(", ")} should be defined`),an(zt(n)||ln(n),"Expected reducer to be a function or object with next and throw reducers");const[o,s]=zt(n)?[n,n]:[n.next,n.throw].map(i=>Na(i)?Bt:i);return(i=t,l)=>{const{type:c}=l;return!c||!r.includes(_a(c))?i:(l.error===!0?s:o)(i,l)}}const Rm=function(){for(var e=arguments.length,n=Array(e),t=0;t<e;t++)n[t]=arguments[t];var r=typeof n[0]!="function"&&n.shift(),o=n;if(typeof r>"u")throw new TypeError("The initial state may not be undefined. If you do not want to set a value for this reducer, you can use null instead of undefined.");return function(s,i){for(var l=arguments.length,c=Array(l>2?l-2:0),d=2;d<l;d++)c[d-2]=arguments[d];var f=typeof s>"u",u=typeof i>"u";return f&&u&&r?r:o.reduce(function(m,p,h){if(typeof p>"u")throw new TypeError("An undefined reducer was passed in at index "+h);return p.apply(void 0,[m,i].concat(c))},f&&!u&&r?r:s)}};function Tm(e){const n=os(e),t=n.every(r=>r==="next"||r==="throw");return n.length>0&&n.length<=2&&t}const Fm=Fa(e=>(ln(e)||jr(e))&&!Tm(e));function Pm(e,n,t={}){an(ln(e)||jr(e),"Expected handlers to be a plain object.");const r=Fm(e,t),o=os(r).map(i=>km(i,Ta(i,r),n)),s=Rm(n,...o);return(i=n,l)=>s(i,l)}const ss={path:"/",history:[],location:0},Aa={path:"*",data:{},hash:"",query:""},Er=M.createContext(ss),is=M.createContext(null),Pn=M.createContext(Aa),{navigate:$a,back:Im,forward:Am}=jm({NAVIGATE:e=>e,BACK:(e=1)=>e,FORWARD:(e=1)=>e}),$m=Pm({NAVIGATE:(e,n)=>{let{history:t,location:r}=e;return r>0&&(t=t.slice(r)),{path:Lm(e.path,n.payload),history:[n.payload,...t],location:0}},BACK:(e,n)=>{const t=e.location+n.payload,r=e.history.at(t);return r?{path:r,history:e.history,location:t}:e},FORWARD:(e,n)=>{const t=e.location-n.payload,r=e.history.at(t);return r?{path:r,history:e.history,location:t}:e}},ss);function Da(){return M.useContext(Er).path}function Nr(){const e=M.useContext(is);return n=>e?.($a(n))}function Dm(){const e=M.useContext(is),n=M.useContext(Er);return{navigate:t=>e?.($a(t)),back:(t=1)=>e?.(Im(t)),forward:(t=1)=>e?.(Am(t)),hasBack:n.location<n.history.length-1,...n}}function as(){return M.useContext(Pn).data}function Oa(){const{query:e,hash:n}=M.useContext(Pn);return{search:new URLSearchParams(e),hash:n}}function Om({path:e,children:n}){const t=e?{path:e,history:[],location:0}:ss,[r,o]=M.useReducer($m,t);return a.jsx(Er.Provider,{value:r,children:a.jsx(is.Provider,{value:o,children:a.jsx(Pn.Provider,{value:Aa,children:n})})})}const In=M.forwardRef(({to:e,children:n,...t},r)=>{const o=Nr(),s=i=>{i.defaultPrevented||i.preventDefault(),o(e)};return a.jsx("a",{...t,href:e,ref:r,onClick:s,children:n})});function ls({children:e}){const n=M.useContext(Pn),t=M.useContext(Er),r=La(e,n.path),o=Vm(r.map(i=>i.route),t.path);if(!o)return a.jsx(a.Fragment,{});const s=r.find(i=>i.route===o.route).element;return a.jsx(Pn.Provider,{value:{...o.match},children:s})}function Va(e){let n=0;for(const t of e.split("/"))t===""||t==="*"||(n+=t.startsWith(":")?1:100);return n}function Vm(e,n){let t=null;for(const r of e){const o=Gm(r,n);o.isMatch&&(t===null||Va(r)>Va(t.route))&&(t={route:r,match:o})}return t}function Fe({path:e,element:n}){return a.jsx(a.Fragment,{})}function La(e,n){const t=[];return M.Children.map(e,r=>{if(!M.isValidElement(r))return;if(r.type===M.Fragment){t.push.apply(t,La(r.props.children,n));return}const o=r.props;return t.push({route:Bm(n,o.path),element:o.element}),r}),t}const Lm=(e,n)=>{if(n.startsWith("/"))return n;if(n.startsWith("?")){const[o]=e?.split("?")??[""];return o+n}let t=0;const r=n.split("/").filter(o=>o!=="");for(;r.length>0&&(r[0]==="."||r[0]==="..");)r.shift()==".."&&++t;return zm(e,r.join("/"),t)},zm=(e,n,t)=>{const r=e.split("/").filter(s=>s!==""),o=n.split("/").filter(s=>s!=="");return t===0?`/${r.join("/")}/${o.join("/")}`:`/${r.slice(0,-t).join("/")}/${o.join("/")}`},Bm=(e,n)=>{const t=e.split("/").filter(o=>o!==""),r=n.split("/").filter(o=>o!=="");return t.length>0&&t.at(-1)==="*"&&t.pop(),t.length===0?`/${r.join("/")}`:`/${t.join("/")}/${r.join("/")}`},Gm=(e,n)=>{let t=e.split("/"),r=n.split("/");if(t.at(-1)===""&&(t=t.slice(0,-1)),r.at(-1)===""&&(r=r.slice(0,-1)),t.length>r.length)return{isMatch:!1,remainer:"",data:{},query:"",hash:"",path:""};if(t.length<r.length&&t.at(-1)!=="*")return{isMatch:!1,remainer:"",data:{},query:"",hash:"",path:""};let o={},s="",i="";for(let l=0;l<t.length;++l){const c=t[l],f=[...r[l].matchAll(/([?#]?)((?:(?![?#]).)*)/g)],u=f?.find(m=>m[1]==="")?.[2]??"";if(s=f?.find(m=>m[1]==="?")?.[2]??"",i=f?.find(m=>m[1]==="#")?.[2]??"",c.startsWith(":")&&u&&u!==""){o[c.substring(1)]=u;continue}if(c==="*")return{isMatch:!0,data:o,remainer:r.splice(0,l).join("/"),query:s,hash:i,path:r.slice(0,l).join("/")};if(c!==u)return{isMatch:!1,data:{},remainer:"",query:"",hash:"",path:""}}return{isMatch:!0,remainer:"",data:o,query:s,hash:i,path:n?.split("?")?.[0]??""}},Hm=`
14
+ <%s key={someKey} {...props} />`,Wn,ft,Dc,ft),Ks[ft+Wn]=!0}}return f===s?_c(pe):$c(pe),pe}}function Fc(f,F,A){return Gs(f,F,A,!0)}function zc(f,F,A){return Gs(f,F,A,!1)}var Ec=zc,Pc=Fc;kt.Fragment=s,kt.jsx=Ec,kt.jsxs=Pc})()),kt}var Yn;function Ys(){return Yn||(Yn=1,process.env.NODE_ENV==="production"?Gt.exports=Hs():Gt.exports=Qs()),Gt.exports}var t=Ys();const Rn={path:"/",history:[],location:0},Xn={path:"*",data:{},hash:"",query:""},Jt=c.createContext(Rn),un=c.createContext(null),Tt=c.createContext(Xn),Un=e=>({type:"NAVIGATE",payload:e}),Rs=(e=1)=>({type:"BACK",payload:e}),Xs=(e=1)=>({type:"FORWARD",payload:e}),Us=100;function Zs(e,n){switch(n.type){case"NAVIGATE":{let{history:r,location:s}=e;return s>0&&(r=r.slice(s)),{path:ro(e.path,n.payload),history:[n.payload,...r].slice(0,Us),location:0}}case"BACK":{const r=e.location+n.payload,s=e.history.at(r);return s?{path:s,history:e.history,location:r}:e}case"FORWARD":{const r=e.location-n.payload,s=e.history.at(r);return s?{path:s,history:e.history,location:r}:e}default:return e}}function Zn(){return c.useContext(Jt).path}function Wt(){const e=c.useContext(un);return n=>e?.(Un(n))}function eo(){const e=c.useContext(un),n=c.useContext(Jt);return{navigate:r=>e?.(Un(r)),back:(r=1)=>e?.(Rs(r)),forward:(r=1)=>e?.(Xs(r)),hasBack:n.location<n.history.length-1,...n}}function mn(){return c.useContext(Tt).data}function er(){const{query:e,hash:n}=c.useContext(Tt);return{search:new URLSearchParams(e),hash:n}}function to({path:e,children:n}){const r=e?{path:e,history:[],location:0}:Rn,[s,o]=c.useReducer(Zs,r);return t.jsx(Jt.Provider,{value:s,children:t.jsx(un.Provider,{value:o,children:t.jsx(Tt.Provider,{value:Xn,children:n})})})}const St=c.forwardRef(({to:e,children:n,...r},s)=>{const o=Wt(),i=a=>{a.defaultPrevented||a.preventDefault(),o(e)};return t.jsx("a",{...r,href:e,ref:s,onClick:i,children:n})});function fn({children:e}){const n=c.useContext(Tt),r=c.useContext(Jt),s=nr(e,n.path),o=no(s.map(a=>a.route),r.path);if(!o)return t.jsx(t.Fragment,{});const i=s.find(a=>a.route===o.route).element;return t.jsx(Tt.Provider,{value:{...o.match},children:i})}function tr(e){let n=0;for(const r of e.split("/"))r===""||r==="*"||(n+=r.startsWith(":")?1:100);return n}function no(e,n){let r=null;for(const s of e){const o=ao(s,n);o.isMatch&&(r===null||tr(s)>tr(r.route))&&(r={route:s,match:o})}return r}function je({path:e,element:n}){return t.jsx(t.Fragment,{})}function nr(e,n){const r=[];return c.Children.map(e,s=>{if(!c.isValidElement(s))return;if(s.type===c.Fragment){r.push.apply(r,nr(s.props.children,n));return}const o=s.props;return r.push({route:oo(n,o.path),element:o.element}),s}),r}const ro=(e,n)=>{if(n.startsWith("/"))return n;if(n.startsWith("?")){const[o]=e?.split("?")??[""];return o+n}let r=0;const s=n.split("/").filter(o=>o!=="");for(;s.length>0&&(s[0]==="."||s[0]==="..");)s.shift()==".."&&++r;return so(e,s.join("/"),r)},so=(e,n,r)=>{const s=e.split("/").filter(i=>i!==""),o=n.split("/").filter(i=>i!=="");return r===0?`/${s.join("/")}/${o.join("/")}`:`/${s.slice(0,-r).join("/")}/${o.join("/")}`},oo=(e,n)=>{const r=e.split("/").filter(o=>o!==""),s=n.split("/").filter(o=>o!=="");return r.length>0&&r.at(-1)==="*"&&r.pop(),r.length===0?`/${s.join("/")}`:`/${r.join("/")}/${s.join("/")}`},ao=(e,n)=>{let r=e.split("/"),s=n.split("/");if(r.at(-1)===""&&(r=r.slice(0,-1)),s.at(-1)===""&&(s=s.slice(0,-1)),r.length>s.length)return{isMatch:!1,remainer:"",data:{},query:"",hash:"",path:""};if(r.length<s.length&&r.at(-1)!=="*")return{isMatch:!1,remainer:"",data:{},query:"",hash:"",path:""};let o={},i="",a="";for(let l=0;l<r.length;++l){const u=r[l],p=[...s[l].matchAll(/([?#]?)((?:(?![?#]).)*)/g)],m=p?.find(h=>h[1]==="")?.[2]??"";if(i=p?.find(h=>h[1]==="?")?.[2]??"",a=p?.find(h=>h[1]==="#")?.[2]??"",u.startsWith(":")&&m&&m!==""){o[u.substring(1)]=m;continue}if(u==="*"){const x=[...s.slice(l).join("/").matchAll(/([?#]?)((?:(?![?#]).)*)/g)];return{isMatch:!0,data:o,remainer:x.find(g=>g[1]==="")?.[2]??"",query:x.find(g=>g[1]==="?")?.[2]??"",hash:x.find(g=>g[1]==="#")?.[2]??"",path:s.slice(0,l).join("/")}}if(u!==m)return{isMatch:!1,data:{},remainer:"",query:"",hash:"",path:""}}return{isMatch:!0,remainer:"",data:o,query:i,hash:a,path:n?.split("?")?.[0]??""}},io=`
15
15
  query dbSchema {
16
16
  _dbSchema {
17
17
  dbName
@@ -74,71 +74,35 @@ query dbSchema {
74
74
  hasPayload
75
75
  }
76
76
  }
77
- }`;class qm extends Error{constructor(n,t){super(n.map(r=>r.message).join("; ")),this.errors=n,this.data=t,this.name="GraphQLRequestError"}errors;data}class za{constructor(n){this.uri=n}uri;async query(n,t){const r=await fetch(this.uri,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n,variables:t})});if(!r.ok)throw new Error(`GraphQL request failed: ${r.status} ${r.statusText}`);const o=await r.json();if(o.errors?.length)throw new qm(o.errors,o.data);return o.data}}const Ba=M.createContext(null),Wm=Ba.Provider;function Be(){const e=M.useContext(Ba);if(!e)throw new Error("useFetcher must be used within a FetcherProvider");return e}function Um(e){const n=e.lastIndexOf(".");return n>=0?e.slice(n+1):e}function Km(e){return Um(e).replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").split(/[_\-\s]+/).filter(Boolean)}function Ym(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function kr(e){return e&&Km(e).map(Ym).join(" ")}const Ga=M.createContext({loading:!0,error:null,data:[],findTable:()=>{}}),Jm=({children:e})=>{const n=Xm();return a.jsx(Ga.Provider,{value:n,children:e})};function Ge(){return M.useContext(Ga)}function Xm(){const e=Be(),{isLoading:n,error:t,data:r}=je.useQuery({queryKey:["dbSchema"],queryFn:()=>e.query(Hm),staleTime:1/0});return M.useMemo(()=>{if(n)return{loading:!0,error:null,data:[],findTable:()=>{}};if(t)return{loading:!1,error:{message:t.message},data:[],findTable:()=>{}};if(!r)return{loading:!1,error:null,data:[],findTable:()=>{}};const o=r._dbSchema.map(i=>({...i,name:i.graphQlName,label:kr(i.dbName),metadata:Ha(i.metadata),columns:i.columns.map(l=>({...l,name:l.graphQlName,label:kr(l.dbName),metadata:Ha(l.metadata),inputType:tp(l.inputType)}))}));return{loading:!1,error:null,data:o,findTable:i=>o.find(l=>l.graphQlName===i)}},[n,t,r])}function Ha(e){return e.reduce((n,t)=>({...n,[t.key]:Qm(t)}),{})}function Qm({key:e,value:n}){return e==="type"?Zm(n):n}function Zm(e){const n=e.match(/lookup\s*\(\s*(?<id>\w+)\s*,\s*(?<label>\w+)\s*\)/m);if(n?.groups?.id&&n?.groups?.label)return{type:"lookup",id:n.groups.id,label:n.groups.label}}const ep=["text","email","url","tel","date","datetime-local","number","password","search"];function tp(e){if(e&&ep.includes(e))return e}const qa=(...e)=>e.filter((n,t,r)=>!!n&&n.trim()!==""&&r.indexOf(n)===t).join(" ").trim();const np=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const rp=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,t,r)=>r?r.toUpperCase():t.toLowerCase());const Wa=e=>{const n=rp(e);return n.charAt(0).toUpperCase()+n.slice(1)};var op={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const sp=e=>{for(const n in e)if(n.startsWith("aria-")||n==="role"||n==="title")return!0;return!1};const ip=M.forwardRef(({color:e="currentColor",size:n=24,strokeWidth:t=2,absoluteStrokeWidth:r,className:o="",children:s,iconNode:i,...l},c)=>M.createElement("svg",{ref:c,...op,width:n,height:n,stroke:e,strokeWidth:r?Number(t)*24/Number(n):t,className:qa("lucide",o),...!s&&!sp(l)&&{"aria-hidden":"true"},...l},[...i.map(([d,f])=>M.createElement(d,f)),...Array.isArray(s)?s:[s]]));const Z=(e,n)=>{const t=M.forwardRef(({className:r,...o},s)=>M.createElement(ip,{ref:s,iconNode:n,className:qa(`lucide-${np(Wa(e))}`,`lucide-${e}`,r),...o}));return t.displayName=Wa(e),t};const Ua=Z("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const Ka=Z("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);const Ya=Z("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);const Rr=Z("binary",[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]]);const Ja=Z("braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]);const ap=Z("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);const Tr=Z("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Gt=Z("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const cs=Z("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const cn=Z("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const us=Z("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const lp=Z("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]);const cp=Z("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);const ds=Z("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);const Xa=Z("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const up=Z("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);const dp=Z("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);const An=Z("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);const fs=Z("expand",[["path",{d:"m15 15 6 6",key:"1s409w"}],["path",{d:"m15 9 6-6",key:"ko1vev"}],["path",{d:"M21 16v5h-5",key:"1ck2sf"}],["path",{d:"M21 8V3h-5",key:"1qoq8a"}],["path",{d:"M3 16v5h5",key:"1t08am"}],["path",{d:"m3 21 6-6",key:"wwnumi"}],["path",{d:"M3 8V3h5",key:"1ln10m"}],["path",{d:"M9 9 3 3",key:"v551iv"}]]);const fp=Z("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);const Fr=Z("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const mp=Z("funnel-x",[["path",{d:"M12.531 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l.427-.473",key:"ol2ft2"}],["path",{d:"m16.5 3.5 5 5",key:"15e6fa"}],["path",{d:"m21.5 3.5-5 5",key:"m0lwru"}]]);const Ht=Z("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);const pp=Z("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);const hp=Z("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);const Qa=Z("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);const Za=Z("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);const el=Z("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);const vt=Z("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const gp=Z("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);const vp=Z("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]);const xp=Z("mouse-pointer-click",[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]);const bp=Z("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);const Pr=Z("panel-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);const tl=Z("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);const nl=Z("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const yp=Z("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);const wp=Z("rows-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]]);const Sp=Z("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);const Ir=Z("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);const Cp=Z("table-2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);const rl=Z("text-wrap",[["path",{d:"m16 16-3 3 3 3",key:"117b85"}],["path",{d:"M3 12h14.5a1 1 0 0 1 0 7H13",key:"18xa6z"}],["path",{d:"M3 19h6",key:"1ygdsz"}],["path",{d:"M3 5h18",key:"1u36vt"}]]);const _p=Z("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]);const ol=Z("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);const Mp=Z("type",[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]);const jp=Z("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]);const Ae=Z("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function sl(e){var n,t,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(n=0;n<o;n++)e[n]&&(t=sl(e[n]))&&(r&&(r+=" "),r+=t)}else for(t in e)e[t]&&(r&&(r+=" "),r+=t);return r}function il(){for(var e,n,t=0,r="",o=arguments.length;t<o;t++)(e=arguments[t])&&(n=sl(e))&&(r&&(r+=" "),r+=n);return r}const al=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,ll=il,cl=(e,n)=>t=>{var r;if(n?.variants==null)return ll(e,t?.class,t?.className);const{variants:o,defaultVariants:s}=n,i=Object.keys(o).map(d=>{const f=t?.[d],u=s?.[d];if(f===null)return null;const m=al(f)||al(u);return o[d][m]}),l=t&&Object.entries(t).reduce((d,f)=>{let[u,m]=f;return m===void 0||(d[u]=m),d},{}),c=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((d,f)=>{let{class:u,className:m,...p}=f;return Object.entries(p).every(h=>{let[g,v]=h;return Array.isArray(v)?v.includes({...s,...l}[g]):{...s,...l}[g]===v})?[...d,u,m]:d},[]);return ll(e,i,c,t?.class,t?.className)},Ep=(e,n)=>{const t=new Array(e.length+n.length);for(let r=0;r<e.length;r++)t[r]=e[r];for(let r=0;r<n.length;r++)t[e.length+r]=n[r];return t},Np=(e,n)=>({classGroupId:e,validator:n}),ul=(e=new Map,n=null,t)=>({nextPart:e,validators:n,classGroupId:t}),Ar="-",dl=[],kp="arbitrary..",Rp=e=>{const n=Fp(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return Tp(i);const l=i.split(Ar),c=l[0]===""&&l.length>1?1:0;return fl(l,c,n)},getConflictingClassGroupIds:(i,l)=>{if(l){const c=r[i],d=t[i];return c?d?Ep(d,c):c:d||dl}return t[i]||dl}}},fl=(e,n,t)=>{if(e.length-n===0)return t.classGroupId;const o=e[n],s=t.nextPart.get(o);if(s){const d=fl(e,n+1,s);if(d)return d}const i=t.validators;if(i===null)return;const l=n===0?e.join(Ar):e.slice(n).join(Ar),c=i.length;for(let d=0;d<c;d++){const f=i[d];if(f.validator(l))return f.classGroupId}},Tp=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),t=n.indexOf(":"),r=n.slice(0,t);return r?kp+r:void 0})(),Fp=e=>{const{theme:n,classGroups:t}=e;return Pp(t,n)},Pp=(e,n)=>{const t=ul();for(const r in e){const o=e[r];ms(o,t,r,n)}return t},ms=(e,n,t,r)=>{const o=e.length;for(let s=0;s<o;s++){const i=e[s];Ip(i,n,t,r)}},Ip=(e,n,t,r)=>{if(typeof e=="string"){Ap(e,n,t);return}if(typeof e=="function"){$p(e,n,t,r);return}Dp(e,n,t,r)},Ap=(e,n,t)=>{const r=e===""?n:ml(n,e);r.classGroupId=t},$p=(e,n,t,r)=>{if(Op(e)){ms(e(r),n,t,r);return}n.validators===null&&(n.validators=[]),n.validators.push(Np(t,e))},Dp=(e,n,t,r)=>{const o=Object.entries(e),s=o.length;for(let i=0;i<s;i++){const[l,c]=o[i];ms(c,ml(n,l),t,r)}},ml=(e,n)=>{let t=e;const r=n.split(Ar),o=r.length;for(let s=0;s<o;s++){const i=r[s];let l=t.nextPart.get(i);l||(l=ul(),t.nextPart.set(i,l)),t=l}return t},Op=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Vp=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,t=Object.create(null),r=Object.create(null);const o=(s,i)=>{t[s]=i,n++,n>e&&(n=0,r=t,t=Object.create(null))};return{get(s){let i=t[s];if(i!==void 0)return i;if((i=r[s])!==void 0)return o(s,i),i},set(s,i){s in t?t[s]=i:o(s,i)}}},ps="!",pl=":",Lp=[],hl=(e,n,t,r,o)=>({modifiers:e,hasImportantModifier:n,baseClassName:t,maybePostfixModifierPosition:r,isExternal:o}),zp=e=>{const{prefix:n,experimentalParseClassName:t}=e;let r=o=>{const s=[];let i=0,l=0,c=0,d;const f=o.length;for(let g=0;g<f;g++){const v=o[g];if(i===0&&l===0){if(v===pl){s.push(o.slice(c,g)),c=g+1;continue}if(v==="/"){d=g;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}const u=s.length===0?o:o.slice(c);let m=u,p=!1;u.endsWith(ps)?(m=u.slice(0,-1),p=!0):u.startsWith(ps)&&(m=u.slice(1),p=!0);const h=d&&d>c?d-c:void 0;return hl(s,p,m,h)};if(n){const o=n+pl,s=r;r=i=>i.startsWith(o)?s(i.slice(o.length)):hl(Lp,!1,i,void 0,!0)}if(t){const o=r;r=s=>t({className:s,parseClassName:o})}return r},Bp=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((t,r)=>{n.set(t,1e6+r)}),t=>{const r=[];let o=[];for(let s=0;s<t.length;s++){const i=t[s],l=i[0]==="[",c=n.has(i);l||c?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},Gp=e=>({cache:Vp(e.cacheSize),parseClassName:zp(e),sortModifiers:Bp(e),postfixLookupClassGroupIds:Hp(e),...Rp(e)}),Hp=e=>{const n=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let r=0;r<t.length;r++)n[t[r]]=!0;return n},qp=/\s+/,Wp=(e,n)=>{const{parseClassName:t,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:s,postfixLookupClassGroupIds:i}=n,l=[],c=e.trim().split(qp);let d="";for(let f=c.length-1;f>=0;f-=1){const u=c[f],{isExternal:m,modifiers:p,hasImportantModifier:h,baseClassName:g,maybePostfixModifierPosition:v}=t(u);if(m){d=u+(d.length>0?" "+d:d);continue}let y=!!v,b;if(y){const N=g.substring(0,v);b=r(N);const w=b&&i[b]?r(g):void 0;w&&w!==b&&(b=w,y=!1)}else b=r(g);if(!b){if(!y){d=u+(d.length>0?" "+d:d);continue}if(b=r(g),!b){d=u+(d.length>0?" "+d:d);continue}y=!1}const S=p.length===0?"":p.length===1?p[0]:s(p).join(":"),_=h?S+ps:S,E=_+b;if(l.indexOf(E)>-1)continue;l.push(E);const C=o(b,y);for(let N=0;N<C.length;++N){const w=C[N];l.push(_+w)}d=u+(d.length>0?" "+d:d)}return d},Up=(...e)=>{let n=0,t,r,o="";for(;n<e.length;)(t=e[n++])&&(r=gl(t))&&(o&&(o+=" "),o+=r);return o},gl=e=>{if(typeof e=="string")return e;let n,t="";for(let r=0;r<e.length;r++)e[r]&&(n=gl(e[r]))&&(t&&(t+=" "),t+=n);return t},Kp=(e,...n)=>{let t,r,o,s;const i=c=>{const d=n.reduce((f,u)=>u(f),e());return t=Gp(d),r=t.cache.get,o=t.cache.set,s=l,l(c)},l=c=>{const d=r(c);if(d)return d;const f=Wp(c,t);return o(c,f),f};return s=i,(...c)=>s(Up(...c))},Yp=[],Ee=e=>{const n=t=>t[e]||Yp;return n.isThemeGetter=!0,n},vl=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,xl=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Jp=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Xp=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Qp=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Zp=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,eh=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,th=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mt=e=>Jp.test(e),ie=e=>!!e&&!Number.isNaN(Number(e)),it=e=>!!e&&Number.isInteger(Number(e)),hs=e=>e.endsWith("%")&&ie(e.slice(0,-1)),xt=e=>Xp.test(e),bl=()=>!0,nh=e=>Qp.test(e)&&!Zp.test(e),gs=()=>!1,rh=e=>eh.test(e),oh=e=>th.test(e),sh=e=>!W(e)&&!K(e),ih=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),ah=e=>jt(e,Ml,gs),W=e=>vl.test(e),qt=e=>jt(e,jl,nh),yl=e=>jt(e,hh,ie),lh=e=>jt(e,Nl,bl),ch=e=>jt(e,El,gs),wl=e=>jt(e,Cl,gs),uh=e=>jt(e,_l,oh),$r=e=>jt(e,kl,rh),K=e=>xl.test(e),$n=e=>Wt(e,jl),dh=e=>Wt(e,El),Sl=e=>Wt(e,Cl),fh=e=>Wt(e,Ml),mh=e=>Wt(e,_l),Dr=e=>Wt(e,kl,!0),ph=e=>Wt(e,Nl,!0),jt=(e,n,t)=>{const r=vl.exec(e);return r?r[1]?n(r[1]):t(r[2]):!1},Wt=(e,n,t=!1)=>{const r=xl.exec(e);return r?r[1]?n(r[1]):t:!1},Cl=e=>e==="position"||e==="percentage",_l=e=>e==="image"||e==="url",Ml=e=>e==="length"||e==="size"||e==="bg-size",jl=e=>e==="length",hh=e=>e==="number",El=e=>e==="family-name",Nl=e=>e==="number"||e==="weight",kl=e=>e==="shadow",gh=Kp(()=>{const e=Ee("color"),n=Ee("font"),t=Ee("text"),r=Ee("font-weight"),o=Ee("tracking"),s=Ee("leading"),i=Ee("breakpoint"),l=Ee("container"),c=Ee("spacing"),d=Ee("radius"),f=Ee("shadow"),u=Ee("inset-shadow"),m=Ee("text-shadow"),p=Ee("drop-shadow"),h=Ee("blur"),g=Ee("perspective"),v=Ee("aspect"),y=Ee("ease"),b=Ee("animate"),S=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[..._(),K,W],C=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],w=()=>[K,W,c],k=()=>[Mt,"full","auto",...w()],R=()=>[it,"none","subgrid",K,W],F=()=>["auto",{span:["full",it,K,W]},it,K,W],P=()=>[it,"auto",K,W],$=()=>["auto","min","max","fr",K,W],A=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],L=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...w()],B=()=>[Mt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],z=()=>[Mt,"screen","full","dvw","lvw","svw","min","max","fit",...w()],O=()=>[Mt,"screen","full","lh","dvh","lvh","svh","min","max","fit",...w()],D=()=>[e,K,W],ue=()=>[..._(),Sl,wl,{position:[K,W]}],be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],we=()=>["auto","cover","contain",fh,ah,{size:[K,W]}],ge=()=>[hs,$n,qt],H=()=>["","none","full",d,K,W],J=()=>["",ie,$n,qt],V=()=>["solid","dashed","dotted","double"],oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],se=()=>[ie,hs,Sl,wl],ce=()=>["","none",h,K,W],de=()=>["none",ie,K,W],me=()=>["none",ie,K,W],Ce=()=>[ie,K,W],pe=()=>[Mt,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[xt],breakpoint:[xt],color:[bl],container:[xt],"drop-shadow":[xt],ease:["in","out","in-out"],font:[sh],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[xt],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[xt],shadow:[xt],spacing:["px",ie],text:[xt],"text-shadow":[xt],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Mt,W,K,v]}],container:["container"],"container-type":[{"@container":["","normal","size",K,W]}],"container-named":[ih],columns:[{columns:[ie,W,K,l]}],"break-after":[{"break-after":S()}],"break-before":[{"break-before":S()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:k()}],"inset-x":[{"inset-x":k()}],"inset-y":[{"inset-y":k()}],start:[{"inset-s":k(),start:k()}],end:[{"inset-e":k(),end:k()}],"inset-bs":[{"inset-bs":k()}],"inset-be":[{"inset-be":k()}],top:[{top:k()}],right:[{right:k()}],bottom:[{bottom:k()}],left:[{left:k()}],visibility:["visible","invisible","collapse"],z:[{z:[it,"auto",K,W]}],basis:[{basis:[Mt,"full","auto",l,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ie,Mt,"auto","initial","none",W]}],grow:[{grow:["",ie,K,W]}],shrink:[{shrink:["",ie,K,W]}],order:[{order:[it,"first","last","none",K,W]}],"grid-cols":[{"grid-cols":R()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":R()}],"row-start-end":[{row:F()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":$()}],"auto-rows":[{"auto-rows":$()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),"normal"]}],"justify-items":[{"justify-items":[...L(),"normal"]}],"justify-self":[{"justify-self":["auto",...L()]}],"align-content":[{content:["normal",...A()]}],"align-items":[{items:[...L(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...L(),{baseline:["","last"]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...L(),"baseline"]}],"place-self":[{"place-self":["auto",...L()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mbs:[{mbs:T()}],mbe:[{mbe:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:B()}],"inline-size":[{inline:["auto",...z()]}],"min-inline-size":[{"min-inline":["auto",...z()]}],"max-inline-size":[{"max-inline":["none",...z()]}],"block-size":[{block:["auto",...O()]}],"min-block-size":[{"min-block":["auto",...O()]}],"max-block-size":[{"max-block":["none",...O()]}],w:[{w:[l,"screen",...B()]}],"min-w":[{"min-w":[l,"screen","none",...B()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...B()]}],h:[{h:["screen","lh",...B()]}],"min-h":[{"min-h":["screen","lh","none",...B()]}],"max-h":[{"max-h":["screen","lh",...B()]}],"font-size":[{text:["base",t,$n,qt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,ph,lh]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",hs,W]}],"font-family":[{font:[dh,ch,n]}],"font-features":[{"font-features":[W]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,K,W]}],"line-clamp":[{"line-clamp":[ie,"none",K,yl]}],leading:[{leading:[s,...w()]}],"list-image":[{"list-image":["none",K,W]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",K,W]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:[ie,"from-font","auto",K,qt]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[ie,"auto",K,W]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"tab-size":[{tab:[it,K,W]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",K,W]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",K,W]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:be()}],"bg-size":[{bg:we()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},it,K,W],radial:["",K,W],conic:[it,K,W]},mh,uh]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:ge()}],"gradient-via-pos":[{via:ge()}],"gradient-to-pos":[{to:ge()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:H()}],"rounded-s":[{"rounded-s":H()}],"rounded-e":[{"rounded-e":H()}],"rounded-t":[{"rounded-t":H()}],"rounded-r":[{"rounded-r":H()}],"rounded-b":[{"rounded-b":H()}],"rounded-l":[{"rounded-l":H()}],"rounded-ss":[{"rounded-ss":H()}],"rounded-se":[{"rounded-se":H()}],"rounded-ee":[{"rounded-ee":H()}],"rounded-es":[{"rounded-es":H()}],"rounded-tl":[{"rounded-tl":H()}],"rounded-tr":[{"rounded-tr":H()}],"rounded-br":[{"rounded-br":H()}],"rounded-bl":[{"rounded-bl":H()}],"border-w":[{border:J()}],"border-w-x":[{"border-x":J()}],"border-w-y":[{"border-y":J()}],"border-w-s":[{"border-s":J()}],"border-w-e":[{"border-e":J()}],"border-w-bs":[{"border-bs":J()}],"border-w-be":[{"border-be":J()}],"border-w-t":[{"border-t":J()}],"border-w-r":[{"border-r":J()}],"border-w-b":[{"border-b":J()}],"border-w-l":[{"border-l":J()}],"divide-x":[{"divide-x":J()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":J()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...V(),"hidden","none"]}],"divide-style":[{divide:[...V(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...V(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ie,K,W]}],"outline-w":[{outline:["",ie,$n,qt]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",f,Dr,$r]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",u,Dr,$r]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:J()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[ie,qt]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":J()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",m,Dr,$r]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[ie,K,W]}],"mix-blend":[{"mix-blend":[...oe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":se()}],"mask-image-linear-to-pos":[{"mask-linear-to":se()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":se()}],"mask-image-t-to-pos":[{"mask-t-to":se()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":se()}],"mask-image-r-to-pos":[{"mask-r-to":se()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":se()}],"mask-image-b-to-pos":[{"mask-b-to":se()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":se()}],"mask-image-l-to-pos":[{"mask-l-to":se()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":se()}],"mask-image-x-to-pos":[{"mask-x-to":se()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":se()}],"mask-image-y-to-pos":[{"mask-y-to":se()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[K,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":se()}],"mask-image-radial-to-pos":[{"mask-radial-to":se()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":_()}],"mask-image-conic-pos":[{"mask-conic":[ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":se()}],"mask-image-conic-to-pos":[{"mask-conic-to":se()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:be()}],"mask-size":[{mask:we()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",K,W]}],filter:[{filter:["","none",K,W]}],blur:[{blur:ce()}],brightness:[{brightness:[ie,K,W]}],contrast:[{contrast:[ie,K,W]}],"drop-shadow":[{"drop-shadow":["","none",p,Dr,$r]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",ie,K,W]}],"hue-rotate":[{"hue-rotate":[ie,K,W]}],invert:[{invert:["",ie,K,W]}],saturate:[{saturate:[ie,K,W]}],sepia:[{sepia:["",ie,K,W]}],"backdrop-filter":[{"backdrop-filter":["","none",K,W]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[ie,K,W]}],"backdrop-contrast":[{"backdrop-contrast":[ie,K,W]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ie,K,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ie,K,W]}],"backdrop-invert":[{"backdrop-invert":["",ie,K,W]}],"backdrop-opacity":[{"backdrop-opacity":[ie,K,W]}],"backdrop-saturate":[{"backdrop-saturate":[ie,K,W]}],"backdrop-sepia":[{"backdrop-sepia":["",ie,K,W]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",K,W]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ie,"initial",K,W]}],ease:[{ease:["linear","initial",y,K,W]}],delay:[{delay:[ie,K,W]}],animate:[{animate:["none",b,K,W]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,K,W]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:de()}],"rotate-x":[{"rotate-x":de()}],"rotate-y":[{"rotate-y":de()}],"rotate-z":[{"rotate-z":de()}],scale:[{scale:me()}],"scale-x":[{"scale-x":me()}],"scale-y":[{"scale-y":me()}],"scale-z":[{"scale-z":me()}],"scale-3d":["scale-3d"],skew:[{skew:Ce()}],"skew-x":[{"skew-x":Ce()}],"skew-y":[{"skew-y":Ce()}],transform:[{transform:[K,W,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:pe()}],"translate-x":[{"translate-x":pe()}],"translate-y":[{"translate-y":pe()}],"translate-z":[{"translate-z":pe()}],"translate-none":["translate-none"],zoom:[{zoom:[it,K,W]}],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",K,W]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":D()}],"scrollbar-track-color":[{"scrollbar-track":D()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",K,W]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[ie,$n,qt,yl]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ee(...e){return gh(il(e))}const vh=cl("relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function Dn({className:e,variant:n,...t}){return a.jsx("div",{"data-slot":"alert",role:"alert",className:ee(vh({variant:n}),e),...t})}function Rl({className:e,...n}){return a.jsx("div",{"data-slot":"alert-title",className:ee("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...n})}function On({className:e,...n}){return a.jsx("div",{"data-slot":"alert-description",className:ee("col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed",e),...n})}const He=x.forwardRef(({className:e,type:n,...t},r)=>a.jsx("input",{type:n,ref:r,"data-slot":"input",className:ee("h-9 w-full min-w-0 rounded-md border border-input bg-transparent text-foreground px-3 py-0 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...t}));He.displayName="Input";function xh(e){return e.length===0?null:`query GetTableRowCounts { ${e.map(t=>`${t}: ${t}(limit: 1) { total }`).join(" ")} }`}function bh(e=!0){const{data:n,loading:t,error:r}=Ge(),o=Be(),s=M.useMemo(()=>n.map(u=>u.name),[n]),i=M.useMemo(()=>xh(s),[s]),{data:l,isLoading:c,error:d}=je.useQuery({queryKey:["tableRowCounts",s],queryFn:()=>o.query(i),enabled:e&&!!i&&s.length>0,staleTime:300*1e3});return{stats:M.useMemo(()=>{const u={};for(const m of n){const h=l?.[m.name]?.total??null;u[m.name]={columnCount:m.columns.length,rowCount:h,fkCount:m.singleJoins.length,isLoading:c,error:d?d.message:null}}return u},[n,l,c,d]),isLoading:t||c,error:r}}function yh(e){if(e===null)return"—";if(e===0)return"0";if(e<1e3)return e.toString();if(e<1e6){const t=e/1e3;return t%1===0?`${t.toFixed(0)}k`:`${t.toFixed(1)}k`}const n=e/1e6;return n%1===0?`${n.toFixed(0)}M`:`${n.toFixed(1)}M`}const wh={showStats:!1},Tl=M.createContext(wh);function Sh({config:e,children:n}){return a.jsx(Tl.Provider,{value:e,children:n})}function Ch(){return M.useContext(Tl)}const Or=50;function _h(e,n){return e===null||n<=0?0:Math.max(2,Math.min(100,Math.round(e/n*100)))}function Mh({percent:e,label:n}){return a.jsx("span",{className:"flex-1 min-w-[1.5em] h-[0.5em] rounded-full bg-muted/70 overflow-hidden",role:"img","aria-label":n,title:n,children:a.jsx("span",{className:"block h-full rounded-full bg-emerald-500/70 dark:bg-emerald-400/70",style:{width:`${e}%`}})})}function vs({count:e}){return e<=0?null:a.jsxs("span",{className:"shrink-0 rounded px-1 py-px text-[0.85em] tabular-nums bg-blue-100 text-blue-700 dark:bg-blue-900/60 dark:text-blue-300",children:[e," FK"]})}function jh({stats:e,maxRowCount:n}){const t=_h(e.rowCount,n),r="flex items-center gap-1.5 text-xs leading-none min-w-0";return e.isLoading?a.jsxs("div",{className:`${r} text-muted-foreground`,children:[a.jsxs("span",{className:"tabular-nums shrink-0",children:[e.columnCount,"c"]}),a.jsx("span",{className:"flex-1 min-w-[1.5em] h-[0.5em] rounded-full bg-muted/70 overflow-hidden",children:a.jsx("span",{className:"block h-full w-1/3 rounded-full bg-muted-foreground/30 animate-pulse"})}),a.jsx(vt,{className:"size-[1em] shrink-0 animate-spin"}),a.jsx(vs,{count:e.fkCount})]}):e.error?a.jsxs("div",{className:r,children:[a.jsxs("span",{className:"tabular-nums shrink-0 text-muted-foreground",children:[e.columnCount,"c"]}),a.jsx("span",{className:"flex-1 text-destructive truncate",title:e.error,children:"err"}),a.jsx(vs,{count:e.fkCount})]}):a.jsxs("div",{className:r,children:[a.jsxs("span",{className:"tabular-nums shrink-0 text-muted-foreground/70",children:[e.columnCount,"c"]}),a.jsx(Mh,{percent:t,label:`${e.rowCount?.toLocaleString()??"unknown"} rows`}),a.jsx("span",{className:"tabular-nums shrink-0 text-right text-muted-foreground",children:yh(e.rowCount)}),a.jsx(vs,{count:e.fkCount})]})}function Eh({table:e,stats:n,maxRowCount:t,showStats:r,active:o}){return a.jsx(In,{to:`/${e.name}`,"aria-current":o?"page":void 0,className:`plain-link block no-underline py-1.5 px-2 text-sm font-medium border-l-2 ${o?"bg-accent text-accent-foreground border-primary":"text-foreground border-transparent hover:bg-muted/50 hover:text-primary"}`,children:a.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0",children:[a.jsx("span",{className:"truncate",title:e.label,children:e.label}),r&&a.jsx(jh,{stats:n,maxRowCount:t})]})})}function xs(e){const n=e.dbName.lastIndexOf(".");return n>0?e.dbName.slice(0,n):null}function Fl({schema:e,count:n,collapsed:t,context:r,onToggle:o}){const s=t?cn:Gt,i=a.jsxs(a.Fragment,{children:[a.jsx(s,{className:"size-3.5 shrink-0 text-muted-foreground"}),a.jsx("span",{className:"truncate font-semibold",title:e,children:e}),a.jsx("span",{className:"ml-auto shrink-0 tabular-nums text-[0.85em] text-muted-foreground",children:n})]}),l="flex items-center gap-1.5 w-full px-2 py-1 text-xs uppercase tracking-wide text-muted-foreground bg-muted/40 border-y border-border sticky top-0 z-10";return r?a.jsx("div",{className:l,"aria-hidden":"true",children:i}):a.jsx("button",{type:"button",onClick:o,"aria-expanded":!t,className:`${l} hover:bg-muted/70 text-left`,children:i})}function Nh(){const{showStats:e}=Ch(),{loading:n,error:t,data:r}=Ge(),{stats:o,isLoading:s}=bh(e),[i,l]=M.useState(""),[c,d]=M.useState(new Set),[f,u]=M.useState(0),m=Da(),p=decodeURIComponent(m.split("/")[1]??""),h=M.useMemo(()=>{const F=Object.values(o).map(P=>P.rowCount).filter(P=>P!==null);return F.length>0?Math.max(...F):0},[o]),g=i.trim().length>0,v=M.useMemo(()=>{const F=i.trim().toLowerCase();return F?r.filter(P=>{const $=xs(P);return P.label.toLowerCase().includes(F)||P.dbName.toLowerCase().includes(F)||($?.toLowerCase().includes(F)??!1)}):r},[r,i]),{schemas:y,grouped:b,multiSchema:S}=M.useMemo(()=>{const F=new Map;for(const $ of v){const A=xs($),L=F.get(A)??[];L.push($),F.set(A,L)}const P=[...F.keys()].filter($=>$!==null).sort(($,A)=>$.localeCompare(A));return{schemas:P,grouped:F,multiSchema:P.length>1}},[v]),_=M.useMemo(()=>{const F=[];if(S){const P=[...y,...b.has(null)?[null]:[]];for(const $ of P){const A=b.get($===void 0?null:$)??[],L=!g&&c.has($);if(F.push({kind:"group",schema:$??"(no schema)",count:A.length,collapsed:L}),!L)for(const T of A)F.push({kind:"table",schema:$,table:T})}}else for(const P of v)F.push({kind:"table",schema:xs(P),table:P});return F},[S,y,b,v,c,g]);M.useEffect(()=>{u(0)},[i]);const E=Math.max(1,Math.ceil(_.length/Or)),C=Math.min(f,E-1),N=C*Or,w=_.slice(N,N+Or),k=S&&w[0]?.kind==="table"&&w[0].schema?w[0].schema:null,R=F=>d(P=>{const $=new Set(P);return $.has(F)?$.delete(F):$.add(F),$});return n?a.jsxs("div",{className:"flex items-center justify-center gap-2 p-4",children:[a.jsx(vt,{className:"size-4 animate-spin text-muted-foreground"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]}):t?a.jsx(Dn,{variant:"destructive",className:"m-2",children:a.jsxs(On,{children:["Error: ",t.message]})}):r.length===0?a.jsxs("div",{className:"p-4 text-center text-sm text-muted-foreground",children:[a.jsx("p",{className:"font-medium",children:"No tables found"}),a.jsx("p",{className:"mt-1",children:"The database may be empty or the connection may have failed."})]}):a.jsxs("div",{className:"@container min-w-0 flex flex-col h-full",children:[a.jsxs("div",{className:"sticky top-0 z-20 bg-background p-2 border-b border-border",children:[a.jsxs("div",{className:"relative",children:[a.jsx(Ir,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground pointer-events-none"}),a.jsx(He,{type:"search",value:i,onChange:F=>l(F.target.value),placeholder:"Search tables...","aria-label":"Search tables",className:"pl-8 pr-8 h-8 text-sm"}),g&&a.jsx("button",{type:"button",onClick:()=>l(""),"aria-label":"Clear search",className:"absolute right-1.5 top-1/2 -translate-y-1/2 p-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted",children:a.jsx(Ae,{className:"size-4"})})]}),g&&a.jsxs("p",{className:"mt-1 px-0.5 text-xs text-muted-foreground",children:[v.length," match",v.length!==1?"es":""]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto min-h-0",children:_.length===0?a.jsxs("p",{className:"p-4 text-center text-sm text-muted-foreground",children:["No tables match “",i,"”."]}):a.jsxs(a.Fragment,{children:[k&&a.jsx(Fl,{schema:k,count:b.get(k)?.length??0,collapsed:!1,context:!0}),w.map(F=>F.kind==="group"?a.jsx(Fl,{schema:F.schema,count:F.count,collapsed:F.collapsed,onToggle:()=>R(F.schema)},`g:${F.schema}`):a.jsx(Eh,{table:F.table,stats:o[F.table.name]??{columnCount:F.table.columns.length,rowCount:null,fkCount:F.table.singleJoins.length,isLoading:s,error:null},maxRowCount:h,showStats:e,active:F.table.name===p},`t:${F.table.name}`))]})}),E>1&&a.jsxs("div",{className:"sticky bottom-0 z-20 bg-background border-t border-border flex items-center justify-between gap-2 px-2 py-1.5",children:[a.jsx("button",{type:"button",onClick:()=>u(F=>Math.max(0,F-1)),disabled:C===0,"aria-label":"Previous page",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:pointer-events-none",children:a.jsx(cs,{className:"size-4"})}),a.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[N+1,"–",Math.min(N+Or,_.length)," of ",_.length]}),a.jsx("button",{type:"button",onClick:()=>u(F=>Math.min(E-1,F+1)),disabled:C>=E-1,"aria-label":"Next page",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:pointer-events-none",children:a.jsx(cn,{className:"size-4"})})]})]})}function Pl(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function bs(...e){return n=>{let t=!1;const r=e.map(o=>{const s=Pl(o,n);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let o=0;o<r.length;o++){const s=r[o];typeof s=="function"?s():Pl(e[o],null)}}}}function he(...e){return x.useCallback(bs(...e),e)}function Ut(e){const n=x.forwardRef((t,r)=>{let{children:o,...s}=t,i=null,l=!1;const c=[];Il(o)&&typeof Vr=="function"&&(o=Vr(o._payload)),x.Children.forEach(o,m=>{if(Ih(m)){l=!0;const p=m;let h="child"in p.props?p.props.child:p.props.children;Il(h)&&typeof Vr=="function"&&(h=Vr(h._payload)),i=Th(p,h),c.push(i?.props?.children)}else c.push(m)}),i?i=x.cloneElement(i,void 0,c):!l&&x.Children.count(o)===1&&x.isValidElement(o)&&(i=o);const d=i?Ph(i):void 0,f=he(r,d);if(!i){if(o||o===0)throw new Error(l?Oh(e):Dh(e));return o}const u=Fh(s,i.props??{});return i.type!==x.Fragment&&(u.ref=r?f:d),x.cloneElement(i,u)});return n.displayName=`${e}.Slot`,n}var kh=Ut("Slot"),Rh=Symbol.for("radix.slottable"),Th=(e,n)=>{if("child"in e.props){const t=e.props.child;return x.isValidElement(t)?x.cloneElement(t,void 0,e.props.children(t.props.children)):null}return x.isValidElement(n)?n:null};function Fh(e,n){const t={...n};for(const r in n){const o=e[r],s=n[r];/^on[A-Z]/.test(r)?o&&s?t[r]=(...l)=>{const c=s(...l);return o(...l),c}:o&&(t[r]=o):r==="style"?t[r]={...o,...s}:r==="className"&&(t[r]=[o,s].filter(Boolean).join(" "))}return{...e,...t}}function Ph(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function Ih(e){return x.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Rh}var Ah=Symbol.for("react.lazy");function Il(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ah&&"_payload"in e&&$h(e._payload)}function $h(e){return typeof e=="object"&&e!==null&&"then"in e}var Dh=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Oh=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Vr=x[" use ".trim().toString()];const Vh=cl("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 text-foreground hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"text-foreground hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},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 rounded-md"}},defaultVariants:{variant:"default",size:"default"}}),X=x.forwardRef(({className:e,variant:n,size:t,asChild:r=!1,...o},s)=>{const i=r?kh:"button";return a.jsx(i,{className:ee(Vh({variant:n,size:t,className:e})),ref:s,...o})});X.displayName="Button";var Lh=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ae=Lh.reduce((e,n)=>{const t=Ut(`Primitive.${n}`),r=x.forwardRef((o,s)=>{const{asChild:i,...l}=o,c=i?t:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(c,{...l,ref:s})});return r.displayName=`Primitive.${n}`,{...e,[n]:r}},{});function Al(e,n){e&&Rn.flushSync(()=>e.dispatchEvent(n))}var $l=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),zh="VisuallyHidden",Bh=x.forwardRef((e,n)=>a.jsx(ae.span,{...e,ref:n,style:{...$l,...e.style}}));Bh.displayName=zh;function bt(e,n=[]){let t=[];function r(s,i){const l=x.createContext(i);l.displayName=s+"Context";const c=t.length;t=[...t,i];const d=u=>{const{scope:m,children:p,...h}=u,g=m?.[e]?.[c]||l,v=x.useMemo(()=>h,Object.values(h));return a.jsx(g.Provider,{value:v,children:p})};d.displayName=s+"Provider";function f(u,m){const p=m?.[e]?.[c]||l,h=x.useContext(p);if(h)return h;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${s}\``)}return[d,f]}const o=()=>{const s=t.map(i=>x.createContext(i));return function(l){const c=l?.[e]||s;return x.useMemo(()=>({[`__scope${e}`]:{...l,[e]:c}}),[l,c])}};return o.scopeName=e,[r,Gh(o,...n)]}function Gh(...e){const n=e[0];if(e.length===1)return n;const t=()=>{const r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(s){const i=r.reduce((l,{useScope:c,scopeName:d})=>{const u=c(s)[`__scope${d}`];return{...l,...u}},{});return x.useMemo(()=>({[`__scope${n.scopeName}`]:i}),[i])}};return t.scopeName=n.scopeName,t}function ys(e){const n=e+"CollectionProvider",[t,r]=bt(n),[o,s]=t(n,{collectionRef:{current:null},itemMap:new Map}),i=g=>{const{scope:v,children:y}=g,b=x.useRef(null),S=x.useRef(new Map).current;return a.jsx(o,{scope:v,itemMap:S,collectionRef:b,children:y})};i.displayName=n;const l=e+"CollectionSlot",c=Ut(l),d=x.forwardRef((g,v)=>{const{scope:y,children:b}=g,S=s(l,y),_=he(v,S.collectionRef);return a.jsx(c,{ref:_,children:b})});d.displayName=l;const f=e+"CollectionItemSlot",u="data-radix-collection-item",m=Ut(f),p=x.forwardRef((g,v)=>{const{scope:y,children:b,...S}=g,_=x.useRef(null),E=he(v,_),C=s(f,y);return x.useEffect(()=>(C.itemMap.set(_,{ref:_,...S}),()=>{C.itemMap.delete(_)})),a.jsx(m,{[u]:"",ref:E,children:b})});p.displayName=f;function h(g){const v=s(e+"CollectionConsumer",g);return x.useCallback(()=>{const b=v.collectionRef.current;if(!b)return[];const S=Array.from(b.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((C,N)=>S.indexOf(C.ref.current)-S.indexOf(N.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:d,ItemSlot:p},h,r]}function U(e,n,{checkForDefaultPrevented:t=!0}={}){return function(o){if(e?.(o),t===!1||!o.defaultPrevented)return n?.(o)}}var Ne=globalThis?.document?x.useLayoutEffect:()=>{},Hh=x[" useInsertionEffect ".trim().toString()]||Ne;function Et({prop:e,defaultProp:n,onChange:t=()=>{},caller:r}){const[o,s,i]=qh({defaultProp:n,onChange:t}),l=e!==void 0,c=l?e:o;{const f=x.useRef(e!==void 0);x.useEffect(()=>{const u=f.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=l},[l,r])}const d=x.useCallback(f=>{if(l){const u=Wh(f)?f(e):f;u!==e&&i.current?.(u)}else s(f)},[l,e,s,i]);return[c,d]}function qh({defaultProp:e,onChange:n}){const[t,r]=x.useState(e),o=x.useRef(t),s=x.useRef(n);return Hh(()=>{s.current=n},[n]),x.useEffect(()=>{o.current!==t&&(s.current?.(t),o.current=t)},[t,o]),[t,r,s]}function Wh(e){return typeof e=="function"}function Uh(e,n){return x.useReducer((t,r)=>n[t][r]??t,e)}var qe=e=>{const{present:n,children:t}=e,r=Kh(n),o=typeof t=="function"?t({present:r.isPresent}):x.Children.only(t),s=Yh(r.ref,Jh(o));return typeof t=="function"||r.isPresent?x.cloneElement(o,{ref:s}):null};qe.displayName="Presence";function Kh(e){const[n,t]=x.useState(),r=x.useRef(null),o=x.useRef(e),s=x.useRef("none"),i=e?"mounted":"unmounted",[l,c]=Uh(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return x.useEffect(()=>{const d=Lr(r.current);s.current=l==="mounted"?d:"none"},[l]),Ne(()=>{const d=r.current,f=o.current;if(f!==e){const m=s.current,p=Lr(d);e?c("MOUNT"):p==="none"||d?.display==="none"?c("UNMOUNT"):c(f&&m!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,c]),Ne(()=>{if(n){let d;const f=n.ownerDocument.defaultView??window,u=p=>{const g=Lr(r.current).includes(CSS.escape(p.animationName));if(p.target===n&&g&&(c("ANIMATION_END"),!o.current)){const v=n.style.animationFillMode;n.style.animationFillMode="forwards",d=f.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=v)})}},m=p=>{p.target===n&&(s.current=Lr(r.current))};return n.addEventListener("animationstart",m),n.addEventListener("animationcancel",u),n.addEventListener("animationend",u),()=>{f.clearTimeout(d),n.removeEventListener("animationstart",m),n.removeEventListener("animationcancel",u),n.removeEventListener("animationend",u)}}else c("ANIMATION_END")},[n,c]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:x.useCallback(d=>{r.current=d?getComputedStyle(d):null,t(d)},[])}}function Dl(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Yh(...e){const n=x.useRef(e);return n.current=e,x.useCallback(t=>{const r=n.current;let o=!1;const s=r.map(i=>{const l=Dl(i,t);return!o&&typeof l=="function"&&(o=!0),l});if(o)return()=>{for(let i=0;i<s.length;i++){const l=s[i];typeof l=="function"?l():Dl(r[i],null)}}},[])}function Lr(e){return e?.animationName||"none"}function Jh(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning;return t?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=n&&"isReactWarning"in n&&n.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}var Xh=x[" useId ".trim().toString()]||(()=>{}),Qh=0;function Je(e){const[n,t]=x.useState(Xh());return Ne(()=>{t(r=>r??String(Qh++))},[e]),e||(n?`radix-${n}`:"")}var Zh=x.createContext(void 0);function ws(e){const n=x.useContext(Zh);return e||n||"ltr"}function Xe(e){const n=x.useRef(e);return x.useEffect(()=>{n.current=e}),x.useMemo(()=>((...t)=>n.current?.(...t)),[])}function eg(e,n=globalThis?.document){const t=Xe(e);x.useEffect(()=>{const r=o=>{o.key==="Escape"&&t(o)};return n.addEventListener("keydown",r,{capture:!0}),()=>n.removeEventListener("keydown",r,{capture:!0})},[t,n])}var tg="DismissableLayer",Ss="dismissableLayer.update",ng="dismissableLayer.pointerDownOutside",rg="dismissableLayer.focusOutside",Ol,Cs=x.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Vn=x.forwardRef((e,n)=>{const{disableOutsidePointerEvents:t=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:i,onInteractOutside:l,onDismiss:c,...d}=e,f=x.useContext(Cs),[u,m]=x.useState(null),p=u?.ownerDocument??globalThis?.document,[,h]=x.useState({}),g=he(n,k=>m(k)),v=Array.from(f.layers),[y]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),b=v.indexOf(y),S=u?v.indexOf(u):-1,_=f.layersWithOutsidePointerEventsDisabled.size>0,E=S>=b,C=x.useRef(!1),N=ag(k=>{const R=k.target;if(!(R instanceof Node))return;const F=[...f.branches].some(P=>P.contains(R));!E||F||(s?.(k),l?.(k),k.defaultPrevented||c?.())},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:f.dismissableSurfaces}),w=lg(k=>{if(r&&C.current)return;const R=k.target;[...f.branches].some(P=>P.contains(R))||(i?.(k),l?.(k),k.defaultPrevented||c?.())},p);return eg(k=>{S===f.layers.size-1&&(o?.(k),!k.defaultPrevented&&c&&(k.preventDefault(),c()))},p),x.useEffect(()=>{if(u)return t&&(f.layersWithOutsidePointerEventsDisabled.size===0&&(Ol=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(u)),f.layers.add(u),Vl(),()=>{t&&(f.layersWithOutsidePointerEventsDisabled.delete(u),f.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Ol))}},[u,p,t,f]),x.useEffect(()=>()=>{u&&(f.layers.delete(u),f.layersWithOutsidePointerEventsDisabled.delete(u),Vl())},[u,f]),x.useEffect(()=>{const k=()=>h({});return document.addEventListener(Ss,k),()=>document.removeEventListener(Ss,k)},[]),a.jsx(ae.div,{...d,ref:g,style:{pointerEvents:_?E?"auto":"none":void 0,...e.style},onFocusCapture:U(e.onFocusCapture,w.onFocusCapture),onBlurCapture:U(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:U(e.onPointerDownCapture,N.onPointerDownCapture)})});Vn.displayName=tg;var og="DismissableLayerBranch",sg=x.forwardRef((e,n)=>{const t=x.useContext(Cs),r=x.useRef(null),o=he(n,r);return x.useEffect(()=>{const s=r.current;if(s)return t.branches.add(s),()=>{t.branches.delete(s)}},[t.branches]),a.jsx(ae.div,{...e,ref:o})});sg.displayName=og;function ig(){const e=x.useContext(Cs),[n,t]=x.useState(null);return x.useEffect(()=>{if(n)return e.dismissableSurfaces.add(n),()=>{e.dismissableSurfaces.delete(n)}},[n,e.dismissableSurfaces]),t}function ag(e,n){const{ownerDocument:t=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:s}=n,i=Xe(e),l=x.useRef(!1),c=x.useRef(!1),d=x.useRef(new Map),f=x.useRef(()=>{});return x.useEffect(()=>{function u(){c.current=!1,o.current=!1,d.current.clear()}function m(){return Array.from(d.current.values()).some(Boolean)}function p(b){if(!c.current)return;const S=b.target;S instanceof Node&&[...s].some(E=>E.contains(S))||d.current.set(b.type,!0),b.type==="click"&&window.setTimeout(()=>{c.current&&f.current()},0)}function h(b){c.current&&d.current.set(b.type,!1)}const g=b=>{if(b.target&&!l.current){let S=function(){t.removeEventListener("click",f.current);const E=m();u(),E||Ll(ng,i,_,{discrete:!0})};const _={originalEvent:b};c.current=!0,o.current=r&&b.button===0,d.current.clear(),!r||b.button!==0?S():(t.removeEventListener("click",f.current),f.current=S,t.addEventListener("click",f.current,{once:!0}))}else t.removeEventListener("click",f.current),u();l.current=!1},v=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const b of v)t.addEventListener(b,p,!0),t.addEventListener(b,h);const y=window.setTimeout(()=>{t.addEventListener("pointerdown",g)},0);return()=>{window.clearTimeout(y),t.removeEventListener("pointerdown",g),t.removeEventListener("click",f.current);for(const b of v)t.removeEventListener(b,p,!0),t.removeEventListener(b,h)}},[t,i,r,o,s]),{onPointerDownCapture:()=>l.current=!0}}function lg(e,n=globalThis?.document){const t=Xe(e),r=x.useRef(!1);return x.useEffect(()=>{const o=s=>{s.target&&!r.current&&Ll(rg,t,{originalEvent:s},{discrete:!1})};return n.addEventListener("focusin",o),()=>n.removeEventListener("focusin",o)},[n,t]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function Vl(){const e=new CustomEvent(Ss);document.dispatchEvent(e)}function Ll(e,n,t,{discrete:r}){const o=t.originalEvent.target,s=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});n&&o.addEventListener(e,n,{once:!0}),r?Al(o,s):o.dispatchEvent(s)}var _s="focusScope.autoFocusOnMount",Ms="focusScope.autoFocusOnUnmount",zl={bubbles:!1,cancelable:!0},cg="FocusScope",zr=x.forwardRef((e,n)=>{const{loop:t=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:s,...i}=e,[l,c]=x.useState(null),d=Xe(o),f=Xe(s),u=x.useRef(null),m=he(n,g=>c(g)),p=x.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;x.useEffect(()=>{if(r){let g=function(S){if(p.paused||!l)return;const _=S.target;l.contains(_)?u.current=_:Nt(u.current,{select:!0})},v=function(S){if(p.paused||!l)return;const _=S.relatedTarget;_!==null&&(l.contains(_)||Nt(u.current,{select:!0}))},y=function(S){if(document.activeElement===document.body)for(const E of S)E.removedNodes.length>0&&Nt(l)};document.addEventListener("focusin",g),document.addEventListener("focusout",v);const b=new MutationObserver(y);return l&&b.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",v),b.disconnect()}}},[r,l,p.paused]),x.useEffect(()=>{if(l){Hl.add(p);const g=document.activeElement;if(!l.contains(g)){const y=new CustomEvent(_s,zl);l.addEventListener(_s,d),l.dispatchEvent(y),y.defaultPrevented||(ug(hg(Bl(l)),{select:!0}),document.activeElement===g&&Nt(l))}return()=>{l.removeEventListener(_s,d),setTimeout(()=>{const y=new CustomEvent(Ms,zl);l.addEventListener(Ms,f),l.dispatchEvent(y),y.defaultPrevented||Nt(g??document.body,{select:!0}),l.removeEventListener(Ms,f),Hl.remove(p)},0)}}},[l,d,f,p]);const h=x.useCallback(g=>{if(!t&&!r||p.paused)return;const v=g.key==="Tab"&&!g.altKey&&!g.ctrlKey&&!g.metaKey,y=document.activeElement;if(v&&y){const b=g.currentTarget,[S,_]=dg(b);S&&_?!g.shiftKey&&y===_?(g.preventDefault(),t&&Nt(S,{select:!0})):g.shiftKey&&y===S&&(g.preventDefault(),t&&Nt(_,{select:!0})):y===b&&g.preventDefault()}},[t,r,p.paused]);return a.jsx(ae.div,{tabIndex:-1,...i,ref:m,onKeyDown:h})});zr.displayName=cg;function ug(e,{select:n=!1}={}){const t=document.activeElement;for(const r of e)if(Nt(r,{select:n}),document.activeElement!==t)return}function dg(e){const n=Bl(e),t=Gl(n,e),r=Gl(n.reverse(),e);return[t,r]}function Bl(e){const n=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)n.push(t.currentNode);return n}function Gl(e,n){for(const t of e)if(!fg(t,{upTo:n}))return t}function fg(e,{upTo:n}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(n!==void 0&&e===n)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function mg(e){return e instanceof HTMLInputElement&&"select"in e}function Nt(e,{select:n=!1}={}){if(e&&e.focus){const t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&mg(e)&&n&&e.select()}}var Hl=pg();function pg(){let e=[];return{add(n){const t=e[0];n!==t&&t?.pause(),e=ql(e,n),e.unshift(n)},remove(n){e=ql(e,n),e[0]?.resume()}}}function ql(e,n){const t=[...e],r=t.indexOf(n);return r!==-1&&t.splice(r,1),t}function hg(e){return e.filter(n=>n.tagName!=="A")}var gg="Portal",Ln=x.forwardRef((e,n)=>{const{container:t,...r}=e,[o,s]=x.useState(!1);Ne(()=>s(!0),[]);const i=t||o&&globalThis?.document?.body;return i?Rn.createPortal(a.jsx(ae.div,{...r,ref:n}),i):null});Ln.displayName=gg;var Br=0,un=null;function js(){x.useEffect(()=>{un||(un={start:Wl(),end:Wl()});const{start:e,end:n}=un;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==n&&document.body.insertAdjacentElement("beforeend",n),Br++,()=>{Br===1&&(un?.start.remove(),un?.end.remove(),un=null),Br=Math.max(0,Br-1)}},[])}function Wl(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var at=function(){return at=Object.assign||function(n){for(var t,r=1,o=arguments.length;r<o;r++){t=arguments[r];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[s]=t[s])}return n},at.apply(this,arguments)};function Ul(e,n){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)n.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(t[r[o]]=e[r[o]]);return t}function vg(e,n,t){if(t||arguments.length===2)for(var r=0,o=n.length,s;r<o;r++)(s||!(r in n))&&(s||(s=Array.prototype.slice.call(n,0,r)),s[r]=n[r]);return e.concat(s||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;var Gr="right-scroll-bar-position",Hr="width-before-scroll-bar",xg="with-scroll-bars-hidden",bg="--removed-body-scroll-bar-size";function Es(e,n){return typeof e=="function"?e(n):e&&(e.current=n),e}function yg(e,n){var t=M.useState(function(){return{value:e,callback:n,facade:{get current(){return t.value},set current(r){var o=t.value;o!==r&&(t.value=r,t.callback(r,o))}}}})[0];return t.callback=n,t.facade}var wg=typeof window<"u"?x.useLayoutEffect:x.useEffect,Kl=new WeakMap;function Sg(e,n){var t=yg(null,function(r){return e.forEach(function(o){return Es(o,r)})});return wg(function(){var r=Kl.get(t);if(r){var o=new Set(r),s=new Set(e),i=t.current;o.forEach(function(l){s.has(l)||Es(l,null)}),s.forEach(function(l){o.has(l)||Es(l,i)})}Kl.set(t,e)},[e]),t}function Cg(e){return e}function _g(e,n){n===void 0&&(n=Cg);var t=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(s){var i=n(s,r);return t.push(i),function(){t=t.filter(function(l){return l!==i})}},assignSyncMedium:function(s){for(r=!0;t.length;){var i=t;t=[],i.forEach(s)}t={push:function(l){return s(l)},filter:function(){return t}}},assignMedium:function(s){r=!0;var i=[];if(t.length){var l=t;t=[],l.forEach(s),i=t}var c=function(){var f=i;i=[],f.forEach(s)},d=function(){return Promise.resolve().then(c)};d(),t={push:function(f){i.push(f),d()},filter:function(f){return i=i.filter(f),t}}}};return o}function Mg(e){e===void 0&&(e={});var n=_g(null);return n.options=at({async:!0,ssr:!1},e),n}var Yl=function(e){var n=e.sideCar,t=Ul(e,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=n.read();if(!r)throw new Error("Sidecar medium not found");return x.createElement(r,at({},t))};Yl.isSideCarExport=!0;function jg(e,n){return e.useMedium(n),Yl}var Jl=Mg(),Ns=function(){},qr=x.forwardRef(function(e,n){var t=x.useRef(null),r=x.useState({onScrollCapture:Ns,onWheelCapture:Ns,onTouchMoveCapture:Ns}),o=r[0],s=r[1],i=e.forwardProps,l=e.children,c=e.className,d=e.removeScrollBar,f=e.enabled,u=e.shards,m=e.sideCar,p=e.noRelative,h=e.noIsolation,g=e.inert,v=e.allowPinchZoom,y=e.as,b=y===void 0?"div":y,S=e.gapMode,_=Ul(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),E=m,C=Sg([t,n]),N=at(at({},_),o);return x.createElement(x.Fragment,null,f&&x.createElement(E,{sideCar:Jl,removeScrollBar:d,shards:u,noRelative:p,noIsolation:h,inert:g,setCallbacks:s,allowPinchZoom:!!v,lockRef:t,gapMode:S}),i?x.cloneElement(x.Children.only(l),at(at({},N),{ref:C})):x.createElement(b,at({},N,{className:c,ref:C}),l))});qr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},qr.classNames={fullWidth:Hr,zeroRight:Gr};var Eg=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Ng(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var n=Eg();return n&&e.setAttribute("nonce",n),e}function kg(e,n){e.styleSheet?e.styleSheet.cssText=n:e.appendChild(document.createTextNode(n))}function Rg(e){var n=document.head||document.getElementsByTagName("head")[0];n.appendChild(e)}var Tg=function(){var e=0,n=null;return{add:function(t){e==0&&(n=Ng())&&(kg(n,t),Rg(n)),e++},remove:function(){e--,!e&&n&&(n.parentNode&&n.parentNode.removeChild(n),n=null)}}},Fg=function(){var e=Tg();return function(n,t){x.useEffect(function(){return e.add(n),function(){e.remove()}},[n&&t])}},Xl=function(){var e=Fg(),n=function(t){var r=t.styles,o=t.dynamic;return e(r,o),null};return n},Pg={left:0,top:0,right:0,gap:0},ks=function(e){return parseInt(e||"",10)||0},Ig=function(e){var n=window.getComputedStyle(document.body),t=n[e==="padding"?"paddingLeft":"marginLeft"],r=n[e==="padding"?"paddingTop":"marginTop"],o=n[e==="padding"?"paddingRight":"marginRight"];return[ks(t),ks(r),ks(o)]},Ag=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Pg;var n=Ig(e),t=document.documentElement.clientWidth,r=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,r-t+n[2]-n[0])}},$g=Xl(),dn="data-scroll-locked",Dg=function(e,n,t,r){var o=e.left,s=e.top,i=e.right,l=e.gap;return t===void 0&&(t="margin"),`
78
- .`.concat(xg,` {
79
- overflow: hidden `).concat(r,`;
80
- padding-right: `).concat(l,"px ").concat(r,`;
81
- }
82
- body[`).concat(dn,`] {
83
- overflow: hidden `).concat(r,`;
84
- overscroll-behavior: contain;
85
- `).concat([n&&"position: relative ".concat(r,";"),t==="margin"&&`
86
- padding-left: `.concat(o,`px;
87
- padding-top: `).concat(s,`px;
88
- padding-right: `).concat(i,`px;
89
- margin-left:0;
90
- margin-top:0;
91
- margin-right: `).concat(l,"px ").concat(r,`;
92
- `),t==="padding"&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),`
93
- }
94
-
95
- .`).concat(Gr,` {
96
- right: `).concat(l,"px ").concat(r,`;
97
- }
98
-
99
- .`).concat(Hr,` {
100
- margin-right: `).concat(l,"px ").concat(r,`;
101
- }
102
-
103
- .`).concat(Gr," .").concat(Gr,` {
104
- right: 0 `).concat(r,`;
105
- }
106
-
107
- .`).concat(Hr," .").concat(Hr,` {
108
- margin-right: 0 `).concat(r,`;
109
- }
110
-
111
- body[`).concat(dn,`] {
112
- `).concat(bg,": ").concat(l,`px;
113
- }
114
- `)},Ql=function(){var e=parseInt(document.body.getAttribute(dn)||"0",10);return isFinite(e)?e:0},Og=function(){x.useEffect(function(){return document.body.setAttribute(dn,(Ql()+1).toString()),function(){var e=Ql()-1;e<=0?document.body.removeAttribute(dn):document.body.setAttribute(dn,e.toString())}},[])},Vg=function(e){var n=e.noRelative,t=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;Og();var s=x.useMemo(function(){return Ag(o)},[o]);return x.createElement($g,{styles:Dg(s,!n,o,t?"":"!important")})},Rs=!1;if(typeof window<"u")try{var Wr=Object.defineProperty({},"passive",{get:function(){return Rs=!0,!0}});window.addEventListener("test",Wr,Wr),window.removeEventListener("test",Wr,Wr)}catch{Rs=!1}var fn=Rs?{passive:!1}:!1,Lg=function(e){return e.tagName==="TEXTAREA"},Zl=function(e,n){if(!(e instanceof Element))return!1;var t=window.getComputedStyle(e);return t[n]!=="hidden"&&!(t.overflowY===t.overflowX&&!Lg(e)&&t[n]==="visible")},zg=function(e){return Zl(e,"overflowY")},Bg=function(e){return Zl(e,"overflowX")},ec=function(e,n){var t=n.ownerDocument,r=n;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=tc(e,r);if(o){var s=nc(e,r),i=s[1],l=s[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==t.body);return!1},Gg=function(e){var n=e.scrollTop,t=e.scrollHeight,r=e.clientHeight;return[n,t,r]},Hg=function(e){var n=e.scrollLeft,t=e.scrollWidth,r=e.clientWidth;return[n,t,r]},tc=function(e,n){return e==="v"?zg(n):Bg(n)},nc=function(e,n){return e==="v"?Gg(n):Hg(n)},qg=function(e,n){return e==="h"&&n==="rtl"?-1:1},Wg=function(e,n,t,r,o){var s=qg(e,window.getComputedStyle(n).direction),i=s*r,l=t.target,c=n.contains(l),d=!1,f=i>0,u=0,m=0;do{if(!l)break;var p=nc(e,l),h=p[0],g=p[1],v=p[2],y=g-v-s*h;(h||y)&&tc(e,l)&&(u+=y,m+=h);var b=l.parentNode;l=b&&b.nodeType===Node.DOCUMENT_FRAGMENT_NODE?b.host:b}while(!c&&l!==document.body||c&&(n.contains(l)||n===l));return(f&&Math.abs(u)<1||!f&&Math.abs(m)<1)&&(d=!0),d},Ur=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rc=function(e){return[e.deltaX,e.deltaY]},oc=function(e){return e&&"current"in e?e.current:e},Ug=function(e,n){return e[0]===n[0]&&e[1]===n[1]},Kg=function(e){return`
115
- .block-interactivity-`.concat(e,` {pointer-events: none;}
116
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
117
- `)},Yg=0,mn=[];function Jg(e){var n=x.useRef([]),t=x.useRef([0,0]),r=x.useRef(),o=x.useState(Yg++)[0],s=x.useState(Xl)[0],i=x.useRef(e);x.useEffect(function(){i.current=e},[e]),x.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var g=vg([e.lockRef.current],(e.shards||[]).map(oc),!0).filter(Boolean);return g.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),g.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=x.useCallback(function(g,v){if("touches"in g&&g.touches.length===2||g.type==="wheel"&&g.ctrlKey)return!i.current.allowPinchZoom;var y=Ur(g),b=t.current,S="deltaX"in g?g.deltaX:b[0]-y[0],_="deltaY"in g?g.deltaY:b[1]-y[1],E,C=g.target,N=Math.abs(S)>Math.abs(_)?"h":"v";if("touches"in g&&N==="h"&&C.type==="range")return!1;var w=window.getSelection(),k=w&&w.anchorNode,R=k?k===C||k.contains(C):!1;if(R)return!1;var F=ec(N,C);if(!F)return!0;if(F?E=N:(E=N==="v"?"h":"v",F=ec(N,C)),!F)return!1;if(!r.current&&"changedTouches"in g&&(S||_)&&(r.current=E),!E)return!0;var P=r.current||E;return Wg(P,v,g,P==="h"?S:_)},[]),c=x.useCallback(function(g){var v=g;if(!(!mn.length||mn[mn.length-1]!==s)){var y="deltaY"in v?rc(v):Ur(v),b=n.current.filter(function(E){return E.name===v.type&&(E.target===v.target||v.target===E.shadowParent)&&Ug(E.delta,y)})[0];if(b&&b.should){v.cancelable&&v.preventDefault();return}if(!b){var S=(i.current.shards||[]).map(oc).filter(Boolean).filter(function(E){return E.contains(v.target)}),_=S.length>0?l(v,S[0]):!i.current.noIsolation;_&&v.cancelable&&v.preventDefault()}}},[]),d=x.useCallback(function(g,v,y,b){var S={name:g,delta:v,target:y,should:b,shadowParent:Xg(y)};n.current.push(S),setTimeout(function(){n.current=n.current.filter(function(_){return _!==S})},1)},[]),f=x.useCallback(function(g){t.current=Ur(g),r.current=void 0},[]),u=x.useCallback(function(g){d(g.type,rc(g),g.target,l(g,e.lockRef.current))},[]),m=x.useCallback(function(g){d(g.type,Ur(g),g.target,l(g,e.lockRef.current))},[]);x.useEffect(function(){return mn.push(s),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:m}),document.addEventListener("wheel",c,fn),document.addEventListener("touchmove",c,fn),document.addEventListener("touchstart",f,fn),function(){mn=mn.filter(function(g){return g!==s}),document.removeEventListener("wheel",c,fn),document.removeEventListener("touchmove",c,fn),document.removeEventListener("touchstart",f,fn)}},[]);var p=e.removeScrollBar,h=e.inert;return x.createElement(x.Fragment,null,h?x.createElement(s,{styles:Kg(o)}):null,p?x.createElement(Vg,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Xg(e){for(var n=null;e!==null;)e instanceof ShadowRoot&&(n=e.host,e=e.host),e=e.parentNode;return n}const Qg=jg(Jl,Jg);var Kr=x.forwardRef(function(e,n){return x.createElement(qr,at({},e,{ref:n,sideCar:Qg}))});Kr.classNames=qr.classNames;var Zg=function(e){if(typeof document>"u")return null;var n=Array.isArray(e)?e[0]:e;return n.ownerDocument.body},pn=new WeakMap,Yr=new WeakMap,Jr={},Ts=0,sc=function(e){return e&&(e.host||sc(e.parentNode))},ev=function(e,n){return n.map(function(t){if(e.contains(t))return t;var r=sc(t);return r&&e.contains(r)?r:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(t){return!!t})},tv=function(e,n,t,r){var o=ev(n,Array.isArray(e)?e:[e]);Jr[t]||(Jr[t]=new WeakMap);var s=Jr[t],i=[],l=new Set,c=new Set(o),d=function(u){!u||l.has(u)||(l.add(u),d(u.parentNode))};o.forEach(d);var f=function(u){!u||c.has(u)||Array.prototype.forEach.call(u.children,function(m){if(l.has(m))f(m);else try{var p=m.getAttribute(r),h=p!==null&&p!=="false",g=(pn.get(m)||0)+1,v=(s.get(m)||0)+1;pn.set(m,g),s.set(m,v),i.push(m),g===1&&h&&Yr.set(m,!0),v===1&&m.setAttribute(t,"true"),h||m.setAttribute(r,"true")}catch(y){console.error("aria-hidden: cannot operate on ",m,y)}})};return f(n),l.clear(),Ts++,function(){i.forEach(function(u){var m=pn.get(u)-1,p=s.get(u)-1;pn.set(u,m),s.set(u,p),m||(Yr.has(u)||u.removeAttribute(r),Yr.delete(u)),p||u.removeAttribute(t)}),Ts--,Ts||(pn=new WeakMap,pn=new WeakMap,Yr=new WeakMap,Jr={})}},Fs=function(e,n,t){t===void 0&&(t="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=Zg(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),tv(r,o,t,"aria-hidden")):function(){return null}},Xr="Dialog",[ic]=bt(Xr),[nv,Qe]=ic(Xr),Ps=e=>{const{__scopeDialog:n,children:t,open:r,defaultOpen:o,onOpenChange:s,modal:i=!0}=e,l=x.useRef(null),c=x.useRef(null),[d,f]=Et({prop:r,defaultProp:o??!1,onChange:s,caller:Xr});return a.jsx(nv,{scope:n,triggerRef:l,contentRef:c,contentId:Je(),titleId:Je(),descriptionId:Je(),open:d,onOpenChange:f,onOpenToggle:x.useCallback(()=>f(u=>!u),[f]),modal:i,children:t})};Ps.displayName=Xr;var ac="DialogTrigger",lc=x.forwardRef((e,n)=>{const{__scopeDialog:t,...r}=e,o=Qe(ac,t),s=he(n,o.triggerRef);return a.jsx(ae.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":Ls(o.open),...r,ref:s,onClick:U(e.onClick,o.onOpenToggle)})});lc.displayName=ac;var Is="DialogPortal",[rv,cc]=ic(Is,{forceMount:void 0}),As=e=>{const{__scopeDialog:n,forceMount:t,children:r,container:o}=e,s=Qe(Is,n);return a.jsx(rv,{scope:n,forceMount:t,children:x.Children.map(r,i=>a.jsx(qe,{present:t||s.open,children:a.jsx(Ln,{asChild:!0,container:o,children:i})}))})};As.displayName=Is;var Qr="DialogOverlay",$s=x.forwardRef((e,n)=>{const t=cc(Qr,e.__scopeDialog),{forceMount:r=t.forceMount,...o}=e,s=Qe(Qr,e.__scopeDialog);return s.modal?a.jsx(qe,{present:r||s.open,children:a.jsx(sv,{...o,ref:n})}):null});$s.displayName=Qr;var ov=Ut("DialogOverlay.RemoveScroll"),sv=x.forwardRef((e,n)=>{const{__scopeDialog:t,...r}=e,o=Qe(Qr,t),s=ig(),i=he(n,s);return a.jsx(Kr,{as:ov,allowPinchZoom:!0,shards:[o.contentRef],children:a.jsx(ae.div,{"data-state":Ls(o.open),...r,ref:i,style:{pointerEvents:"auto",...r.style}})})}),hn="DialogContent",Ds=x.forwardRef((e,n)=>{const t=cc(hn,e.__scopeDialog),{forceMount:r=t.forceMount,...o}=e,s=Qe(hn,e.__scopeDialog);return a.jsx(qe,{present:r||s.open,children:s.modal?a.jsx(iv,{...o,ref:n}):a.jsx(av,{...o,ref:n})})});Ds.displayName=hn;var iv=x.forwardRef((e,n)=>{const t=Qe(hn,e.__scopeDialog),r=x.useRef(null),o=he(n,t.contentRef,r);return x.useEffect(()=>{const s=r.current;if(s)return Fs(s)},[]),a.jsx(uc,{...e,ref:o,trapFocus:t.open,disableOutsidePointerEvents:t.open,onCloseAutoFocus:U(e.onCloseAutoFocus,s=>{s.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:U(e.onPointerDownOutside,s=>{const i=s.detail.originalEvent,l=i.button===0&&i.ctrlKey===!0;(i.button===2||l)&&s.preventDefault()}),onFocusOutside:U(e.onFocusOutside,s=>s.preventDefault())})}),av=x.forwardRef((e,n)=>{const t=Qe(hn,e.__scopeDialog),r=x.useRef(!1),o=x.useRef(!1);return a.jsx(uc,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{e.onCloseAutoFocus?.(s),s.defaultPrevented||(r.current||t.triggerRef.current?.focus(),s.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:s=>{e.onInteractOutside?.(s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(o.current=!0));const i=s.target;t.triggerRef.current?.contains(i)&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&o.current&&s.preventDefault()}})}),uc=x.forwardRef((e,n)=>{const{__scopeDialog:t,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:s,...i}=e,l=Qe(hn,t);return js(),a.jsx(a.Fragment,{children:a.jsx(zr,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:s,children:a.jsx(Vn,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":Ls(l.open),...i,ref:n,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),dc="DialogTitle",Os=x.forwardRef((e,n)=>{const{__scopeDialog:t,...r}=e,o=Qe(dc,t);return a.jsx(ae.h2,{id:o.titleId,...r,ref:n})});Os.displayName=dc;var fc="DialogDescription",Vs=x.forwardRef((e,n)=>{const{__scopeDialog:t,...r}=e,o=Qe(fc,t);return a.jsx(ae.p,{id:o.descriptionId,...r,ref:n})});Vs.displayName=fc;var mc="DialogClose",zn=x.forwardRef((e,n)=>{const{__scopeDialog:t,...r}=e,o=Qe(mc,t);return a.jsx(ae.button,{type:"button",...r,ref:n,onClick:U(e.onClick,()=>o.onOpenChange(!1))})});zn.displayName=mc;function Ls(e){return e?"open":"closed"}function pc(e){const n=x.useRef({value:e,previous:e});return x.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}function hc(e){const[n,t]=x.useState(void 0);return Ne(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});const r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const s=o[0];let i,l;if("borderBoxSize"in s){const c=s.borderBoxSize,d=Array.isArray(c)?c[0]:c;i=d.inlineSize,l=d.blockSize}else i=e.offsetWidth,l=e.offsetHeight;t({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else t(void 0)},[e]),n}var Zr="Checkbox",[lv]=bt(Zr),[cv,zs]=lv(Zr);function uv(e){const{__scopeCheckbox:n,checked:t,children:r,defaultChecked:o,disabled:s,form:i,name:l,onCheckedChange:c,required:d,value:f="on",internal_do_not_use_render:u}=e,[m,p]=Et({prop:t,defaultProp:o??!1,onChange:c,caller:Zr}),[h,g]=x.useState(null),[v,y]=x.useState(null),b=x.useRef(!1),S=h?!!i||!!h.closest("form"):!0,_={checked:m,disabled:s,setChecked:p,control:h,setControl:g,name:l,form:i,value:f,hasConsumerStoppedPropagationRef:b,required:d,defaultChecked:kt(o)?!1:o,isFormControl:S,bubbleInput:v,setBubbleInput:y};return a.jsx(cv,{scope:n,..._,children:dv(u)?u(_):r})}var gc="CheckboxTrigger",vc=x.forwardRef(({__scopeCheckbox:e,onKeyDown:n,onClick:t,...r},o)=>{const{control:s,value:i,disabled:l,checked:c,required:d,setControl:f,setChecked:u,hasConsumerStoppedPropagationRef:m,isFormControl:p,bubbleInput:h}=zs(gc,e),g=he(o,f),v=x.useRef(c);return x.useEffect(()=>{const y=s?.form;if(y){const b=()=>u(v.current);return y.addEventListener("reset",b),()=>y.removeEventListener("reset",b)}},[s,u]),a.jsx(ae.button,{type:"button",role:"checkbox","aria-checked":kt(c)?"mixed":c,"aria-required":d,"data-state":Cc(c),"data-disabled":l?"":void 0,disabled:l,value:i,...r,ref:g,onKeyDown:U(n,y=>{y.key==="Enter"&&y.preventDefault()}),onClick:U(t,y=>{u(b=>kt(b)?!0:!b),h&&p&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})})});vc.displayName=gc;var xc=x.forwardRef((e,n)=>{const{__scopeCheckbox:t,name:r,checked:o,defaultChecked:s,required:i,disabled:l,value:c,onCheckedChange:d,form:f,...u}=e;return a.jsx(uv,{__scopeCheckbox:t,checked:o,defaultChecked:s,disabled:l,required:i,onCheckedChange:d,name:r,form:f,value:c,internal_do_not_use_render:({isFormControl:m})=>a.jsxs(a.Fragment,{children:[a.jsx(vc,{...u,ref:n,__scopeCheckbox:t}),m&&a.jsx(Sc,{__scopeCheckbox:t})]})})});xc.displayName=Zr;var bc="CheckboxIndicator",yc=x.forwardRef((e,n)=>{const{__scopeCheckbox:t,forceMount:r,...o}=e,s=zs(bc,t);return a.jsx(qe,{present:r||kt(s.checked)||s.checked===!0,children:a.jsx(ae.span,{"data-state":Cc(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:n,style:{pointerEvents:"none",...e.style}})})});yc.displayName=bc;var wc="CheckboxBubbleInput",Sc=x.forwardRef(({__scopeCheckbox:e,...n},t)=>{const{control:r,hasConsumerStoppedPropagationRef:o,checked:s,defaultChecked:i,required:l,disabled:c,name:d,value:f,form:u,bubbleInput:m,setBubbleInput:p}=zs(wc,e),h=he(t,p),g=pc(s),v=hc(r);x.useEffect(()=>{const b=m;if(!b)return;const S=window.HTMLInputElement.prototype,E=Object.getOwnPropertyDescriptor(S,"checked").set,C=!o.current;if(g!==s&&E){const N=new Event("click",{bubbles:C});b.indeterminate=kt(s),E.call(b,kt(s)?!1:s),b.dispatchEvent(N)}},[m,g,s,o]);const y=x.useRef(kt(s)?!1:s);return a.jsx(ae.input,{type:"checkbox","aria-hidden":!0,defaultChecked:i??y.current,required:l,disabled:c,name:d,value:f,form:u,...n,tabIndex:-1,ref:h,style:{...n.style,...v,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});Sc.displayName=wc;function dv(e){return typeof e=="function"}function kt(e){return e==="indeterminate"}function Cc(e){return kt(e)?"indeterminate":e?"checked":"unchecked"}const fv=["top","right","bottom","left"],Rt=Math.min,De=Math.max,eo=Math.round,to=Math.floor,lt=e=>({x:e,y:e}),mv={left:"right",right:"left",bottom:"top",top:"bottom"};function Bs(e,n,t){return De(e,Rt(n,t))}function yt(e,n){return typeof e=="function"?e(n):e}function wt(e){return e.split("-")[0]}function gn(e){return e.split("-")[1]}function Gs(e){return e==="x"?"y":"x"}function Hs(e){return e==="y"?"height":"width"}function ct(e){const n=e[0];return n==="t"||n==="b"?"y":"x"}function qs(e){return Gs(ct(e))}function pv(e,n,t){t===void 0&&(t=!1);const r=gn(e),o=qs(e),s=Hs(o);let i=o==="x"?r===(t?"end":"start")?"right":"left":r==="start"?"bottom":"top";return n.reference[s]>n.floating[s]&&(i=no(i)),[i,no(i)]}function hv(e){const n=no(e);return[Ws(e),n,Ws(n)]}function Ws(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const _c=["left","right"],Mc=["right","left"],gv=["top","bottom"],vv=["bottom","top"];function xv(e,n,t){switch(e){case"top":case"bottom":return t?n?Mc:_c:n?_c:Mc;case"left":case"right":return n?gv:vv;default:return[]}}function bv(e,n,t,r){const o=gn(e);let s=xv(wt(e),t==="start",r);return o&&(s=s.map(i=>i+"-"+o),n&&(s=s.concat(s.map(Ws)))),s}function no(e){const n=wt(e);return mv[n]+e.slice(n.length)}function yv(e){return{top:0,right:0,bottom:0,left:0,...e}}function jc(e){return typeof e!="number"?yv(e):{top:e,right:e,bottom:e,left:e}}function ro(e){const{x:n,y:t,width:r,height:o}=e;return{width:r,height:o,top:t,left:n,right:n+r,bottom:t+o,x:n,y:t}}function Ec(e,n,t){let{reference:r,floating:o}=e;const s=ct(n),i=qs(n),l=Hs(i),c=wt(n),d=s==="y",f=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,m=r[l]/2-o[l]/2;let p;switch(c){case"top":p={x:f,y:r.y-o.height};break;case"bottom":p={x:f,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(gn(n)){case"start":p[i]-=m*(t&&d?-1:1);break;case"end":p[i]+=m*(t&&d?-1:1);break}return p}async function wv(e,n){var t;n===void 0&&(n={});const{x:r,y:o,platform:s,rects:i,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:m=!1,padding:p=0}=yt(n,e),h=jc(p),v=l[m?u==="floating"?"reference":"floating":u],y=ro(await s.getClippingRect({element:(t=await(s.isElement==null?void 0:s.isElement(v)))==null||t?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:d,rootBoundary:f,strategy:c})),b=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,S=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),_=await(s.isElement==null?void 0:s.isElement(S))?await(s.getScale==null?void 0:s.getScale(S))||{x:1,y:1}:{x:1,y:1},E=ro(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:b,offsetParent:S,strategy:c}):b);return{top:(y.top-E.top+h.top)/_.y,bottom:(E.bottom-y.bottom+h.bottom)/_.y,left:(y.left-E.left+h.left)/_.x,right:(E.right-y.right+h.right)/_.x}}const Sv=50,Cv=async(e,n,t)=>{const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:i}=t,l=i.detectOverflow?i:{...i,detectOverflow:wv},c=await(i.isRTL==null?void 0:i.isRTL(n));let d=await i.getElementRects({reference:e,floating:n,strategy:o}),{x:f,y:u}=Ec(d,r,c),m=r,p=0;const h={};for(let g=0;g<s.length;g++){const v=s[g];if(!v)continue;const{name:y,fn:b}=v,{x:S,y:_,data:E,reset:C}=await b({x:f,y:u,initialPlacement:r,placement:m,strategy:o,middlewareData:h,rects:d,platform:l,elements:{reference:e,floating:n}});f=S??f,u=_??u,h[y]={...h[y],...E},C&&p<Sv&&(p++,typeof C=="object"&&(C.placement&&(m=C.placement),C.rects&&(d=C.rects===!0?await i.getElementRects({reference:e,floating:n,strategy:o}):C.rects),{x:f,y:u}=Ec(d,m,c)),g=-1)}return{x:f,y:u,placement:m,strategy:o,middlewareData:h}},_v=e=>({name:"arrow",options:e,async fn(n){const{x:t,y:r,placement:o,rects:s,platform:i,elements:l,middlewareData:c}=n,{element:d,padding:f=0}=yt(e,n)||{};if(d==null)return{};const u=jc(f),m={x:t,y:r},p=qs(o),h=Hs(p),g=await i.getDimensions(d),v=p==="y",y=v?"top":"left",b=v?"bottom":"right",S=v?"clientHeight":"clientWidth",_=s.reference[h]+s.reference[p]-m[p]-s.floating[h],E=m[p]-s.reference[p],C=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let N=C?C[S]:0;(!N||!await(i.isElement==null?void 0:i.isElement(C)))&&(N=l.floating[S]||s.floating[h]);const w=_/2-E/2,k=N/2-g[h]/2-1,R=Rt(u[y],k),F=Rt(u[b],k),P=R,$=N-g[h]-F,A=N/2-g[h]/2+w,L=Bs(P,A,$),T=!c.arrow&&gn(o)!=null&&A!==L&&s.reference[h]/2-(A<P?R:F)-g[h]/2<0,B=T?A<P?A-P:A-$:0;return{[p]:m[p]+B,data:{[p]:L,centerOffset:A-L-B,...T&&{alignmentOffset:B}},reset:T}}}),Mv=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(n){var t,r;const{placement:o,middlewareData:s,rects:i,initialPlacement:l,platform:c,elements:d}=n,{mainAxis:f=!0,crossAxis:u=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:g=!0,...v}=yt(e,n);if((t=s.arrow)!=null&&t.alignmentOffset)return{};const y=wt(o),b=ct(l),S=wt(l)===l,_=await(c.isRTL==null?void 0:c.isRTL(d.floating)),E=m||(S||!g?[no(l)]:hv(l)),C=h!=="none";!m&&C&&E.push(...bv(l,g,h,_));const N=[l,...E],w=await c.detectOverflow(n,v),k=[];let R=((r=s.flip)==null?void 0:r.overflows)||[];if(f&&k.push(w[y]),u){const A=pv(o,i,_);k.push(w[A[0]],w[A[1]])}if(R=[...R,{placement:o,overflows:k}],!k.every(A=>A<=0)){var F,P;const A=(((F=s.flip)==null?void 0:F.index)||0)+1,L=N[A];if(L&&(!(u==="alignment"?b!==ct(L):!1)||R.every(z=>ct(z.placement)===b?z.overflows[0]>0:!0)))return{data:{index:A,overflows:R},reset:{placement:L}};let T=(P=R.filter(B=>B.overflows[0]<=0).sort((B,z)=>B.overflows[1]-z.overflows[1])[0])==null?void 0:P.placement;if(!T)switch(p){case"bestFit":{var $;const B=($=R.filter(z=>{if(C){const O=ct(z.placement);return O===b||O==="y"}return!0}).map(z=>[z.placement,z.overflows.filter(O=>O>0).reduce((O,D)=>O+D,0)]).sort((z,O)=>z[1]-O[1])[0])==null?void 0:$[0];B&&(T=B);break}case"initialPlacement":T=l;break}if(o!==T)return{reset:{placement:T}}}return{}}}};function Nc(e,n){return{top:e.top-n.height,right:e.right-n.width,bottom:e.bottom-n.height,left:e.left-n.width}}function kc(e){return fv.some(n=>e[n]>=0)}const jv=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(n){const{rects:t,platform:r}=n,{strategy:o="referenceHidden",...s}=yt(e,n);switch(o){case"referenceHidden":{const i=await r.detectOverflow(n,{...s,elementContext:"reference"}),l=Nc(i,t.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:kc(l)}}}case"escaped":{const i=await r.detectOverflow(n,{...s,altBoundary:!0}),l=Nc(i,t.floating);return{data:{escapedOffsets:l,escaped:kc(l)}}}default:return{}}}}},Rc=new Set(["left","top"]);async function Ev(e,n){const{placement:t,platform:r,elements:o}=e,s=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=wt(t),l=gn(t),c=ct(t)==="y",d=Rc.has(i)?-1:1,f=s&&c?-1:1,u=yt(n,e);let{mainAxis:m,crossAxis:p,alignmentAxis:h}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof h=="number"&&(p=l==="end"?h*-1:h),c?{x:p*f,y:m*d}:{x:m*d,y:p*f}}const Nv=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(n){var t,r;const{x:o,y:s,placement:i,middlewareData:l}=n,c=await Ev(n,e);return i===((t=l.offset)==null?void 0:t.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+c.x,y:s+c.y,data:{...c,placement:i}}}}},kv=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(n){const{x:t,y:r,placement:o,platform:s}=n,{mainAxis:i=!0,crossAxis:l=!1,limiter:c={fn:y=>{let{x:b,y:S}=y;return{x:b,y:S}}},...d}=yt(e,n),f={x:t,y:r},u=await s.detectOverflow(n,d),m=ct(wt(o)),p=Gs(m);let h=f[p],g=f[m];if(i){const y=p==="y"?"top":"left",b=p==="y"?"bottom":"right",S=h+u[y],_=h-u[b];h=Bs(S,h,_)}if(l){const y=m==="y"?"top":"left",b=m==="y"?"bottom":"right",S=g+u[y],_=g-u[b];g=Bs(S,g,_)}const v=c.fn({...n,[p]:h,[m]:g});return{...v,data:{x:v.x-t,y:v.y-r,enabled:{[p]:i,[m]:l}}}}}},Rv=function(e){return e===void 0&&(e={}),{options:e,fn(n){const{x:t,y:r,placement:o,rects:s,middlewareData:i}=n,{offset:l=0,mainAxis:c=!0,crossAxis:d=!0}=yt(e,n),f={x:t,y:r},u=ct(o),m=Gs(u);let p=f[m],h=f[u];const g=yt(l,n),v=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const S=m==="y"?"height":"width",_=s.reference[m]-s.floating[S]+v.mainAxis,E=s.reference[m]+s.reference[S]-v.mainAxis;p<_?p=_:p>E&&(p=E)}if(d){var y,b;const S=m==="y"?"width":"height",_=Rc.has(wt(o)),E=s.reference[u]-s.floating[S]+(_&&((y=i.offset)==null?void 0:y[u])||0)+(_?0:v.crossAxis),C=s.reference[u]+s.reference[S]+(_?0:((b=i.offset)==null?void 0:b[u])||0)-(_?v.crossAxis:0);h<E?h=E:h>C&&(h=C)}return{[m]:p,[u]:h}}}},Tv=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(n){var t,r;const{placement:o,rects:s,platform:i,elements:l}=n,{apply:c=()=>{},...d}=yt(e,n),f=await i.detectOverflow(n,d),u=wt(o),m=gn(o),p=ct(o)==="y",{width:h,height:g}=s.floating;let v,y;u==="top"||u==="bottom"?(v=u,y=m===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(y=u,v=m==="end"?"top":"bottom");const b=g-f.top-f.bottom,S=h-f.left-f.right,_=Rt(g-f[v],b),E=Rt(h-f[y],S),C=!n.middlewareData.shift;let N=_,w=E;if((t=n.middlewareData.shift)!=null&&t.enabled.x&&(w=S),(r=n.middlewareData.shift)!=null&&r.enabled.y&&(N=b),C&&!m){const R=De(f.left,0),F=De(f.right,0),P=De(f.top,0),$=De(f.bottom,0);p?w=h-2*(R!==0||F!==0?R+F:De(f.left,f.right)):N=g-2*(P!==0||$!==0?P+$:De(f.top,f.bottom))}await c({...n,availableWidth:w,availableHeight:N});const k=await i.getDimensions(l.floating);return h!==k.width||g!==k.height?{reset:{rects:!0}}:{}}}};function oo(){return typeof window<"u"}function vn(e){return Tc(e)?(e.nodeName||"").toLowerCase():"#document"}function Oe(e){var n;return(e==null||(n=e.ownerDocument)==null?void 0:n.defaultView)||window}function ut(e){var n;return(n=(Tc(e)?e.ownerDocument:e.document)||window.document)==null?void 0:n.documentElement}function Tc(e){return oo()?e instanceof Node||e instanceof Oe(e).Node:!1}function Ze(e){return oo()?e instanceof Element||e instanceof Oe(e).Element:!1}function St(e){return oo()?e instanceof HTMLElement||e instanceof Oe(e).HTMLElement:!1}function Fc(e){return!oo()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Oe(e).ShadowRoot}function Bn(e){const{overflow:n,overflowX:t,overflowY:r,display:o}=et(e);return/auto|scroll|overlay|hidden|clip/.test(n+r+t)&&o!=="inline"&&o!=="contents"}function Fv(e){return/^(table|td|th)$/.test(vn(e))}function so(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const Pv=/transform|translate|scale|rotate|perspective|filter/,Iv=/paint|layout|strict|content/,Kt=e=>!!e&&e!=="none";let Us;function Ks(e){const n=Ze(e)?et(e):e;return Kt(n.transform)||Kt(n.translate)||Kt(n.scale)||Kt(n.rotate)||Kt(n.perspective)||!Ys()&&(Kt(n.backdropFilter)||Kt(n.filter))||Pv.test(n.willChange||"")||Iv.test(n.contain||"")}function Av(e){let n=Tt(e);for(;St(n)&&!xn(n);){if(Ks(n))return n;if(so(n))return null;n=Tt(n)}return null}function Ys(){return Us==null&&(Us=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Us}function xn(e){return/^(html|body|#document)$/.test(vn(e))}function et(e){return Oe(e).getComputedStyle(e)}function io(e){return Ze(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Tt(e){if(vn(e)==="html")return e;const n=e.assignedSlot||e.parentNode||Fc(e)&&e.host||ut(e);return Fc(n)?n.host:n}function Pc(e){const n=Tt(e);return xn(n)?e.ownerDocument?e.ownerDocument.body:e.body:St(n)&&Bn(n)?n:Pc(n)}function Gn(e,n,t){var r;n===void 0&&(n=[]),t===void 0&&(t=!0);const o=Pc(e),s=o===((r=e.ownerDocument)==null?void 0:r.body),i=Oe(o);if(s){const l=Js(i);return n.concat(i,i.visualViewport||[],Bn(o)?o:[],l&&t?Gn(l):[])}else return n.concat(o,Gn(o,[],t))}function Js(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ic(e){const n=et(e);let t=parseFloat(n.width)||0,r=parseFloat(n.height)||0;const o=St(e),s=o?e.offsetWidth:t,i=o?e.offsetHeight:r,l=eo(t)!==s||eo(r)!==i;return l&&(t=s,r=i),{width:t,height:r,$:l}}function Xs(e){return Ze(e)?e:e.contextElement}function bn(e){const n=Xs(e);if(!St(n))return lt(1);const t=n.getBoundingClientRect(),{width:r,height:o,$:s}=Ic(n);let i=(s?eo(t.width):t.width)/r,l=(s?eo(t.height):t.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}const $v=lt(0);function Ac(e){const n=Oe(e);return!Ys()||!n.visualViewport?$v:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function Dv(e,n,t){return n===void 0&&(n=!1),!t||n&&t!==Oe(e)?!1:n}function Yt(e,n,t,r){n===void 0&&(n=!1),t===void 0&&(t=!1);const o=e.getBoundingClientRect(),s=Xs(e);let i=lt(1);n&&(r?Ze(r)&&(i=bn(r)):i=bn(e));const l=Dv(s,t,r)?Ac(s):lt(0);let c=(o.left+l.x)/i.x,d=(o.top+l.y)/i.y,f=o.width/i.x,u=o.height/i.y;if(s){const m=Oe(s),p=r&&Ze(r)?Oe(r):r;let h=m,g=Js(h);for(;g&&r&&p!==h;){const v=bn(g),y=g.getBoundingClientRect(),b=et(g),S=y.left+(g.clientLeft+parseFloat(b.paddingLeft))*v.x,_=y.top+(g.clientTop+parseFloat(b.paddingTop))*v.y;c*=v.x,d*=v.y,f*=v.x,u*=v.y,c+=S,d+=_,h=Oe(g),g=Js(h)}}return ro({width:f,height:u,x:c,y:d})}function ao(e,n){const t=io(e).scrollLeft;return n?n.left+t:Yt(ut(e)).left+t}function $c(e,n){const t=e.getBoundingClientRect(),r=t.left+n.scrollLeft-ao(e,t),o=t.top+n.scrollTop;return{x:r,y:o}}function Ov(e){let{elements:n,rect:t,offsetParent:r,strategy:o}=e;const s=o==="fixed",i=ut(r),l=n?so(n.floating):!1;if(r===i||l&&s)return t;let c={scrollLeft:0,scrollTop:0},d=lt(1);const f=lt(0),u=St(r);if((u||!u&&!s)&&((vn(r)!=="body"||Bn(i))&&(c=io(r)),u)){const p=Yt(r);d=bn(r),f.x=p.x+r.clientLeft,f.y=p.y+r.clientTop}const m=i&&!u&&!s?$c(i,c):lt(0);return{width:t.width*d.x,height:t.height*d.y,x:t.x*d.x-c.scrollLeft*d.x+f.x+m.x,y:t.y*d.y-c.scrollTop*d.y+f.y+m.y}}function Vv(e){return Array.from(e.getClientRects())}function Lv(e){const n=ut(e),t=io(e),r=e.ownerDocument.body,o=De(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),s=De(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight);let i=-t.scrollLeft+ao(e);const l=-t.scrollTop;return et(r).direction==="rtl"&&(i+=De(n.clientWidth,r.clientWidth)-o),{width:o,height:s,x:i,y:l}}const Dc=25;function zv(e,n){const t=Oe(e),r=ut(e),o=t.visualViewport;let s=r.clientWidth,i=r.clientHeight,l=0,c=0;if(o){s=o.width,i=o.height;const f=Ys();(!f||f&&n==="fixed")&&(l=o.offsetLeft,c=o.offsetTop)}const d=ao(r);if(d<=0){const f=r.ownerDocument,u=f.body,m=getComputedStyle(u),p=f.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,h=Math.abs(r.clientWidth-u.clientWidth-p);h<=Dc&&(s-=h)}else d<=Dc&&(s+=d);return{width:s,height:i,x:l,y:c}}function Bv(e,n){const t=Yt(e,!0,n==="fixed"),r=t.top+e.clientTop,o=t.left+e.clientLeft,s=St(e)?bn(e):lt(1),i=e.clientWidth*s.x,l=e.clientHeight*s.y,c=o*s.x,d=r*s.y;return{width:i,height:l,x:c,y:d}}function Oc(e,n,t){let r;if(n==="viewport")r=zv(e,t);else if(n==="document")r=Lv(ut(e));else if(Ze(n))r=Bv(n,t);else{const o=Ac(e);r={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return ro(r)}function Vc(e,n){const t=Tt(e);return t===n||!Ze(t)||xn(t)?!1:et(t).position==="fixed"||Vc(t,n)}function Gv(e,n){const t=n.get(e);if(t)return t;let r=Gn(e,[],!1).filter(l=>Ze(l)&&vn(l)!=="body"),o=null;const s=et(e).position==="fixed";let i=s?Tt(e):e;for(;Ze(i)&&!xn(i);){const l=et(i),c=Ks(i);!c&&l.position==="fixed"&&(o=null),(s?!c&&!o:!c&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Bn(i)&&!c&&Vc(e,i))?r=r.filter(f=>f!==i):o=l,i=Tt(i)}return n.set(e,r),r}function Hv(e){let{element:n,boundary:t,rootBoundary:r,strategy:o}=e;const i=[...t==="clippingAncestors"?so(n)?[]:Gv(n,this._c):[].concat(t),r],l=Oc(n,i[0],o);let c=l.top,d=l.right,f=l.bottom,u=l.left;for(let m=1;m<i.length;m++){const p=Oc(n,i[m],o);c=De(p.top,c),d=Rt(p.right,d),f=Rt(p.bottom,f),u=De(p.left,u)}return{width:d-u,height:f-c,x:u,y:c}}function qv(e){const{width:n,height:t}=Ic(e);return{width:n,height:t}}function Wv(e,n,t){const r=St(n),o=ut(n),s=t==="fixed",i=Yt(e,!0,s,n);let l={scrollLeft:0,scrollTop:0};const c=lt(0);function d(){c.x=ao(o)}if(r||!r&&!s)if((vn(n)!=="body"||Bn(o))&&(l=io(n)),r){const p=Yt(n,!0,s,n);c.x=p.x+n.clientLeft,c.y=p.y+n.clientTop}else o&&d();s&&!r&&o&&d();const f=o&&!r&&!s?$c(o,l):lt(0),u=i.left+l.scrollLeft-c.x-f.x,m=i.top+l.scrollTop-c.y-f.y;return{x:u,y:m,width:i.width,height:i.height}}function Qs(e){return et(e).position==="static"}function Lc(e,n){if(!St(e)||et(e).position==="fixed")return null;if(n)return n(e);let t=e.offsetParent;return ut(e)===t&&(t=t.ownerDocument.body),t}function zc(e,n){const t=Oe(e);if(so(e))return t;if(!St(e)){let o=Tt(e);for(;o&&!xn(o);){if(Ze(o)&&!Qs(o))return o;o=Tt(o)}return t}let r=Lc(e,n);for(;r&&Fv(r)&&Qs(r);)r=Lc(r,n);return r&&xn(r)&&Qs(r)&&!Ks(r)?t:r||Av(e)||t}const Uv=async function(e){const n=this.getOffsetParent||zc,t=this.getDimensions,r=await t(e.floating);return{reference:Wv(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Kv(e){return et(e).direction==="rtl"}const Yv={convertOffsetParentRelativeRectToViewportRelativeRect:Ov,getDocumentElement:ut,getClippingRect:Hv,getOffsetParent:zc,getElementRects:Uv,getClientRects:Vv,getDimensions:qv,getScale:bn,isElement:Ze,isRTL:Kv};function Bc(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function Jv(e,n){let t=null,r;const o=ut(e);function s(){var l;clearTimeout(r),(l=t)==null||l.disconnect(),t=null}function i(l,c){l===void 0&&(l=!1),c===void 0&&(c=1),s();const d=e.getBoundingClientRect(),{left:f,top:u,width:m,height:p}=d;if(l||n(),!m||!p)return;const h=to(u),g=to(o.clientWidth-(f+m)),v=to(o.clientHeight-(u+p)),y=to(f),S={rootMargin:-h+"px "+-g+"px "+-v+"px "+-y+"px",threshold:De(0,Rt(1,c))||1};let _=!0;function E(C){const N=C[0].intersectionRatio;if(N!==c){if(!_)return i();N?i(!1,N):r=setTimeout(()=>{i(!1,1e-7)},1e3)}N===1&&!Bc(d,e.getBoundingClientRect())&&i(),_=!1}try{t=new IntersectionObserver(E,{...S,root:o.ownerDocument})}catch{t=new IntersectionObserver(E,S)}t.observe(e)}return i(!0),s}function Xv(e,n,t,r){r===void 0&&(r={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,d=Xs(e),f=o||s?[...d?Gn(d):[],...n?Gn(n):[]]:[];f.forEach(y=>{o&&y.addEventListener("scroll",t,{passive:!0}),s&&y.addEventListener("resize",t)});const u=d&&l?Jv(d,t):null;let m=-1,p=null;i&&(p=new ResizeObserver(y=>{let[b]=y;b&&b.target===d&&p&&n&&(p.unobserve(n),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var S;(S=p)==null||S.observe(n)})),t()}),d&&!c&&p.observe(d),n&&p.observe(n));let h,g=c?Yt(e):null;c&&v();function v(){const y=Yt(e);g&&!Bc(g,y)&&t(),g=y,h=requestAnimationFrame(v)}return t(),()=>{var y;f.forEach(b=>{o&&b.removeEventListener("scroll",t),s&&b.removeEventListener("resize",t)}),u?.(),(y=p)==null||y.disconnect(),p=null,c&&cancelAnimationFrame(h)}}const Qv=Nv,Zv=kv,ex=Mv,tx=Tv,nx=jv,Gc=_v,rx=Rv,ox=(e,n,t)=>{const r=new Map,o={platform:Yv,...t},s={...o.platform,_c:r};return Cv(e,n,{...o,platform:s})};var sx=typeof document<"u",ix=function(){},lo=sx?M.useLayoutEffect:ix;function co(e,n){if(e===n)return!0;if(typeof e!=typeof n)return!1;if(typeof e=="function"&&e.toString()===n.toString())return!0;let t,r,o;if(e&&n&&typeof e=="object"){if(Array.isArray(e)){if(t=e.length,t!==n.length)return!1;for(r=t;r--!==0;)if(!co(e[r],n[r]))return!1;return!0}if(o=Object.keys(e),t=o.length,t!==Object.keys(n).length)return!1;for(r=t;r--!==0;)if(!{}.hasOwnProperty.call(n,o[r]))return!1;for(r=t;r--!==0;){const s=o[r];if(!(s==="_owner"&&e.$$typeof)&&!co(e[s],n[s]))return!1}return!0}return e!==e&&n!==n}function Hc(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function qc(e,n){const t=Hc(e);return Math.round(n*t)/t}function Zs(e){const n=x.useRef(e);return lo(()=>{n.current=e}),n}function ax(e){e===void 0&&(e={});const{placement:n="bottom",strategy:t="absolute",middleware:r=[],platform:o,elements:{reference:s,floating:i}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[f,u]=x.useState({x:0,y:0,strategy:t,placement:n,middlewareData:{},isPositioned:!1}),[m,p]=x.useState(r);co(m,r)||p(r);const[h,g]=x.useState(null),[v,y]=x.useState(null),b=x.useCallback(z=>{z!==C.current&&(C.current=z,g(z))},[]),S=x.useCallback(z=>{z!==N.current&&(N.current=z,y(z))},[]),_=s||h,E=i||v,C=x.useRef(null),N=x.useRef(null),w=x.useRef(f),k=c!=null,R=Zs(c),F=Zs(o),P=Zs(d),$=x.useCallback(()=>{if(!C.current||!N.current)return;const z={placement:n,strategy:t,middleware:m};F.current&&(z.platform=F.current),ox(C.current,N.current,z).then(O=>{const D={...O,isPositioned:P.current!==!1};A.current&&!co(w.current,D)&&(w.current=D,Rn.flushSync(()=>{u(D)}))})},[m,n,t,F,P]);lo(()=>{d===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,u(z=>({...z,isPositioned:!1})))},[d]);const A=x.useRef(!1);lo(()=>(A.current=!0,()=>{A.current=!1}),[]),lo(()=>{if(_&&(C.current=_),E&&(N.current=E),_&&E){if(R.current)return R.current(_,E,$);$()}},[_,E,$,R,k]);const L=x.useMemo(()=>({reference:C,floating:N,setReference:b,setFloating:S}),[b,S]),T=x.useMemo(()=>({reference:_,floating:E}),[_,E]),B=x.useMemo(()=>{const z={position:t,left:0,top:0};if(!T.floating)return z;const O=qc(T.floating,f.x),D=qc(T.floating,f.y);return l?{...z,transform:"translate("+O+"px, "+D+"px)",...Hc(T.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:O,top:D}},[t,l,T.floating,f.x,f.y]);return x.useMemo(()=>({...f,update:$,refs:L,elements:T,floatingStyles:B}),[f,$,L,T,B])}const lx=e=>{function n(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:e,fn(t){const{element:r,padding:o}=typeof e=="function"?e(t):e;return r&&n(r)?r.current!=null?Gc({element:r.current,padding:o}).fn(t):{}:r?Gc({element:r,padding:o}).fn(t):{}}}},cx=(e,n)=>{const t=Qv(e);return{name:t.name,fn:t.fn,options:[e,n]}},ux=(e,n)=>{const t=Zv(e);return{name:t.name,fn:t.fn,options:[e,n]}},dx=(e,n)=>({fn:rx(e).fn,options:[e,n]}),fx=(e,n)=>{const t=ex(e);return{name:t.name,fn:t.fn,options:[e,n]}},mx=(e,n)=>{const t=tx(e);return{name:t.name,fn:t.fn,options:[e,n]}},px=(e,n)=>{const t=nx(e);return{name:t.name,fn:t.fn,options:[e,n]}},hx=(e,n)=>{const t=lx(e);return{name:t.name,fn:t.fn,options:[e,n]}};var gx="Arrow",Wc=x.forwardRef((e,n)=>{const{children:t,width:r=10,height:o=5,...s}=e;return a.jsx(ae.svg,{...s,ref:n,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?t:a.jsx("polygon",{points:"0,0 30,0 15,10"})})});Wc.displayName=gx;var vx=Wc,ei="Popper",[Uc,yn]=bt(ei),[xx,Kc]=Uc(ei),Yc=e=>{const{__scopePopper:n,children:t}=e,[r,o]=x.useState(null),[s,i]=x.useState(void 0);return a.jsx(xx,{scope:n,anchor:r,onAnchorChange:o,placementState:s,setPlacementState:i,children:t})};Yc.displayName=ei;var Jc="PopperAnchor",Xc=x.forwardRef((e,n)=>{const{__scopePopper:t,virtualRef:r,...o}=e,s=Kc(Jc,t),i=x.useRef(null),l=s.onAnchorChange,c=x.useCallback(h=>{i.current=h,h&&l(h)},[l]),d=he(n,c),f=x.useRef(null);x.useEffect(()=>{if(!r)return;const h=f.current;f.current=r.current,h!==f.current&&l(f.current)});const u=s.placementState&&ni(s.placementState),m=u?.[0],p=u?.[1];return r?null:a.jsx(ae.div,{"data-radix-popper-side":m,"data-radix-popper-align":p,...o,ref:d})});Xc.displayName=Jc;var ti="PopperContent",[bx,yx]=Uc(ti),Qc=x.forwardRef((e,n)=>{const{__scopePopper:t,side:r="bottom",sideOffset:o=0,align:s="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:c=!0,collisionBoundary:d=[],collisionPadding:f=0,sticky:u="partial",hideWhenDetached:m=!1,updatePositionStrategy:p="optimized",onPlaced:h,...g}=e,v=Kc(ti,t),[y,b]=x.useState(null),S=he(n,oe=>b(oe)),[_,E]=x.useState(null),C=hc(_),N=C?.width??0,w=C?.height??0,k=r+(s!=="center"?"-"+s:""),R=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},F=Array.isArray(d)?d:[d],P=F.length>0,$={padding:R,boundary:F.filter(Sx),altBoundary:P},{refs:A,floatingStyles:L,placement:T,isPositioned:B,middlewareData:z}=ax({strategy:"fixed",placement:k,whileElementsMounted:(...oe)=>Xv(...oe,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[cx({mainAxis:o+w,alignmentAxis:i}),c&&ux({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?dx():void 0,...$}),c&&fx({...$}),mx({...$,apply:({elements:oe,rects:se,availableWidth:ce,availableHeight:de})=>{const{width:me,height:Ce}=se.reference,pe=oe.floating.style;pe.setProperty("--radix-popper-available-width",`${ce}px`),pe.setProperty("--radix-popper-available-height",`${de}px`),pe.setProperty("--radix-popper-anchor-width",`${me}px`),pe.setProperty("--radix-popper-anchor-height",`${Ce}px`)}}),_&&hx({element:_,padding:l}),Cx({arrowWidth:N,arrowHeight:w}),m&&px({strategy:"referenceHidden",...$,boundary:P?$.boundary:void 0})]}),O=v.setPlacementState;Ne(()=>(O(T),()=>{O(void 0)}),[T,O]);const[D,ue]=ni(T),be=Xe(h);Ne(()=>{B&&be?.()},[B,be]);const we=z.arrow?.x,ge=z.arrow?.y,H=z.arrow?.centerOffset!==0,[J,V]=x.useState();return Ne(()=>{y&&V(window.getComputedStyle(y).zIndex)},[y]),a.jsx("div",{ref:A.setFloating,"data-radix-popper-content-wrapper":"",style:{...L,transform:B?L.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:J,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(" "),...z.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:a.jsx(bx,{scope:t,placedSide:D,placedAlign:ue,onArrowChange:E,arrowX:we,arrowY:ge,shouldHideArrow:H,children:a.jsx(ae.div,{"data-side":D,"data-align":ue,...g,ref:S,style:{...g.style,animation:B?void 0:"none"}})})})});Qc.displayName=ti;var Zc="PopperArrow",wx={top:"bottom",right:"left",bottom:"top",left:"right"},eu=x.forwardRef(function(n,t){const{__scopePopper:r,...o}=n,s=yx(Zc,r),i=wx[s.placedSide];return a.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:a.jsx(vx,{...o,ref:t,style:{...o.style,display:"block"}})})});eu.displayName=Zc;function Sx(e){return e!==null}var Cx=e=>({name:"transformOrigin",options:e,fn(n){const{placement:t,rects:r,middlewareData:o}=n,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,c=i?0:e.arrowHeight,[d,f]=ni(t),u={start:"0%",center:"50%",end:"100%"}[f],m=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+c/2;let h="",g="";return d==="bottom"?(h=i?u:`${m}px`,g=`${-c}px`):d==="top"?(h=i?u:`${m}px`,g=`${r.floating.height+c}px`):d==="right"?(h=`${-c}px`,g=i?u:`${p}px`):d==="left"&&(h=`${r.floating.width+c}px`,g=i?u:`${p}px`),{data:{x:h,y:g}}}});function ni(e){const[n,t="center"]=e.split("-");return[n,t]}var uo=Yc,ri=Xc,oi=Qc,si=eu,ii="rovingFocusGroup.onEntryFocus",_x={bubbles:!1,cancelable:!0},Hn="RovingFocusGroup",[ai,tu,Mx]=ys(Hn),[jx,nu]=bt(Hn,[Mx]),[Ex,Nx]=jx(Hn),ru=x.forwardRef((e,n)=>a.jsx(ai.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(ai.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(kx,{...e,ref:n})})}));ru.displayName=Hn;var kx=x.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,orientation:r,loop:o=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:f=!1,...u}=e,m=x.useRef(null),p=he(n,m),h=ws(s),[g,v]=Et({prop:i,defaultProp:l??null,onChange:c,caller:Hn}),[y,b]=x.useState(!1),S=Xe(d),_=tu(t),E=x.useRef(!1),[C,N]=x.useState(0);return x.useEffect(()=>{const w=m.current;if(w)return w.addEventListener(ii,S),()=>w.removeEventListener(ii,S)},[S]),a.jsx(Ex,{scope:t,orientation:r,dir:h,loop:o,currentTabStopId:g,onItemFocus:x.useCallback(w=>v(w),[v]),onItemShiftTab:x.useCallback(()=>b(!0),[]),onFocusableItemAdd:x.useCallback(()=>N(w=>w+1),[]),onFocusableItemRemove:x.useCallback(()=>N(w=>w-1),[]),children:a.jsx(ae.div,{tabIndex:y||C===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:U(e.onMouseDown,()=>{E.current=!0}),onFocus:U(e.onFocus,w=>{const k=!E.current;if(w.target===w.currentTarget&&k&&!y){const R=new CustomEvent(ii,_x);if(w.currentTarget.dispatchEvent(R),!R.defaultPrevented){const F=_().filter(T=>T.focusable),P=F.find(T=>T.active),$=F.find(T=>T.id===g),L=[P,$,...F].filter(Boolean).map(T=>T.ref.current);iu(L,f)}}E.current=!1}),onBlur:U(e.onBlur,()=>b(!1))})})}),ou="RovingFocusGroupItem",su=x.forwardRef((e,n)=>{const{__scopeRovingFocusGroup:t,focusable:r=!0,active:o=!1,tabStopId:s,children:i,...l}=e,c=Je(),d=s||c,f=Nx(ou,t),u=f.currentTabStopId===d,m=tu(t),{onFocusableItemAdd:p,onFocusableItemRemove:h,currentTabStopId:g}=f;return x.useEffect(()=>{if(r)return p(),()=>h()},[r,p,h]),a.jsx(ai.ItemSlot,{scope:t,id:d,focusable:r,active:o,children:a.jsx(ae.span,{tabIndex:u?0:-1,"data-orientation":f.orientation,...l,ref:n,onMouseDown:U(e.onMouseDown,v=>{r?f.onItemFocus(d):v.preventDefault()}),onFocus:U(e.onFocus,()=>f.onItemFocus(d)),onKeyDown:U(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){f.onItemShiftTab();return}if(v.target!==v.currentTarget)return;const y=Fx(v,f.orientation,f.dir);if(y!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let S=m().filter(_=>_.focusable).map(_=>_.ref.current);if(y==="last")S.reverse();else if(y==="prev"||y==="next"){y==="prev"&&S.reverse();const _=S.indexOf(v.currentTarget);S=f.loop?Px(S,_+1):S.slice(_+1)}setTimeout(()=>iu(S))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:g!=null}):i})})});su.displayName=ou;var Rx={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Tx(e,n){return n!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Fx(e,n,t){const r=Tx(e.key,t);if(!(n==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(n==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Rx[r]}function iu(e,n=!1){const t=document.activeElement;for(const r of e)if(r===t||(r.focus({preventScroll:n}),document.activeElement!==t))return}function Px(e,n){return e.map((t,r)=>e[(n+r)%e.length])}var Ix=ru,Ax=su,li=["Enter"," "],$x=["ArrowDown","PageUp","Home"],au=["ArrowUp","PageDown","End"],Dx=[...$x,...au],Ox={ltr:[...li,"ArrowRight"],rtl:[...li,"ArrowLeft"]},Vx={ltr:["ArrowLeft"],rtl:["ArrowRight"]},qn="Menu",[Wn,Lx,zx]=ys(qn),[Jt,lu]=bt(qn,[zx,yn,nu]),Un=yn(),cu=nu(),[uu,Ft]=Jt(qn),[Bx,Kn]=Jt(qn),du=e=>{const{__scopeMenu:n,open:t=!1,children:r,dir:o,onOpenChange:s,modal:i=!0}=e,l=Un(n),[c,d]=x.useState(null),f=x.useRef(!1),u=Xe(s),m=ws(o);return x.useEffect(()=>{const p=()=>{f.current=!0,document.addEventListener("pointerdown",h,{capture:!0,once:!0}),document.addEventListener("pointermove",h,{capture:!0,once:!0})},h=()=>f.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",h,{capture:!0}),document.removeEventListener("pointermove",h,{capture:!0})}},[]),x.useEffect(()=>{if(!t)return;const p=()=>u(!1);return window.addEventListener("blur",p),()=>window.removeEventListener("blur",p)},[t,u]),a.jsx(uo,{...l,children:a.jsx(uu,{scope:n,open:t,onOpenChange:u,content:c,onContentChange:d,children:a.jsx(Bx,{scope:n,onClose:x.useCallback(()=>u(!1),[u]),isUsingKeyboardRef:f,dir:m,modal:i,children:r})})})};du.displayName=qn;var Gx="MenuAnchor",ci=x.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e,o=Un(t);return a.jsx(ri,{...o,...r,ref:n})});ci.displayName=Gx;var ui="MenuPortal",[Hx,fu]=Jt(ui,{forceMount:void 0}),mu=e=>{const{__scopeMenu:n,forceMount:t,children:r,container:o}=e,s=Ft(ui,n);return a.jsx(Hx,{scope:n,forceMount:t,children:a.jsx(qe,{present:t||s.open,children:a.jsx(Ln,{asChild:!0,container:o,children:r})})})};mu.displayName=ui;var We="MenuContent",[qx,di]=Jt(We),pu=x.forwardRef((e,n)=>{const t=fu(We,e.__scopeMenu),{forceMount:r=t.forceMount,...o}=e,s=Ft(We,e.__scopeMenu),i=Kn(We,e.__scopeMenu);return a.jsx(Wn.Provider,{scope:e.__scopeMenu,children:a.jsx(qe,{present:r||s.open,children:a.jsx(Wn.Slot,{scope:e.__scopeMenu,children:i.modal?a.jsx(Wx,{...o,ref:n}):a.jsx(Ux,{...o,ref:n})})})})}),Wx=x.forwardRef((e,n)=>{const t=Ft(We,e.__scopeMenu),r=x.useRef(null),o=he(n,r);return x.useEffect(()=>{const s=r.current;if(s)return Fs(s)},[]),a.jsx(fi,{...e,ref:o,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:U(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),Ux=x.forwardRef((e,n)=>{const t=Ft(We,e.__scopeMenu);return a.jsx(fi,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),Kx=Ut("MenuContent.ScrollLock"),fi=x.forwardRef((e,n)=>{const{__scopeMenu:t,loop:r=!1,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:u,onInteractOutside:m,onDismiss:p,disableOutsideScroll:h,...g}=e,v=Ft(We,t),y=Kn(We,t),b=Un(t),S=cu(t),_=Lx(t),[E,C]=x.useState(null),N=x.useRef(null),w=he(n,N,v.onContentChange),k=x.useRef(0),R=x.useRef(""),F=x.useRef(0),P=x.useRef(null),$=x.useRef("right"),A=x.useRef(0),L=h?Kr:x.Fragment,T=h?{as:Kx,allowPinchZoom:!0}:void 0,B=O=>{const D=R.current+O,ue=_().filter(V=>!V.disabled),be=document.activeElement,we=ue.find(V=>V.ref.current===be)?.textValue,ge=ue.map(V=>V.textValue),H=ib(ge,D,we),J=ue.find(V=>V.textValue===H)?.ref.current;(function V(oe){R.current=oe,window.clearTimeout(k.current),oe!==""&&(k.current=window.setTimeout(()=>V(""),1e3))})(D),J&&setTimeout(()=>J.focus())};x.useEffect(()=>()=>window.clearTimeout(k.current),[]),js();const z=x.useCallback(O=>$.current===P.current?.side&&lb(O,P.current?.area),[]);return a.jsx(qx,{scope:t,searchRef:R,onItemEnter:x.useCallback(O=>{z(O)&&O.preventDefault()},[z]),onItemLeave:x.useCallback(O=>{z(O)||(N.current?.focus(),C(null))},[z]),onTriggerLeave:x.useCallback(O=>{z(O)&&O.preventDefault()},[z]),pointerGraceTimerRef:F,onPointerGraceIntentChange:x.useCallback(O=>{P.current=O},[]),children:a.jsx(L,{...T,children:a.jsx(zr,{asChild:!0,trapped:o,onMountAutoFocus:U(s,O=>{O.preventDefault(),N.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:a.jsx(Vn,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:f,onFocusOutside:u,onInteractOutside:m,onDismiss:p,children:a.jsx(Ix,{asChild:!0,...S,dir:y.dir,orientation:"vertical",loop:r,currentTabStopId:E,onCurrentTabStopIdChange:C,onEntryFocus:U(c,O=>{y.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(oi,{role:"menu","aria-orientation":"vertical","data-state":Fu(v.open),"data-radix-menu-content":"",dir:y.dir,...b,...g,ref:w,style:{outline:"none",...g.style},onKeyDown:U(g.onKeyDown,O=>{const ue=O.target.closest("[data-radix-menu-content]")===O.currentTarget,be=O.ctrlKey||O.altKey||O.metaKey,we=O.key.length===1;ue&&(O.key==="Tab"&&O.preventDefault(),!be&&we&&B(O.key));const ge=N.current;if(O.target!==ge||!Dx.includes(O.key))return;O.preventDefault();const J=_().filter(V=>!V.disabled).map(V=>V.ref.current);au.includes(O.key)&&J.reverse(),ob(J)}),onBlur:U(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(k.current),R.current="")}),onPointerMove:U(e.onPointerMove,Jn(O=>{const D=O.target,ue=A.current!==O.clientX;if(O.currentTarget.contains(D)&&ue){const be=O.clientX>A.current?"right":"left";$.current=be,A.current=O.clientX}}))})})})})})})});pu.displayName=We;var Yx="MenuGroup",mi=x.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return a.jsx(ae.div,{role:"group",...r,ref:n})});mi.displayName=Yx;var Jx="MenuLabel",hu=x.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return a.jsx(ae.div,{...r,ref:n})});hu.displayName=Jx;var fo="MenuItem",gu="menu.itemSelect",mo=x.forwardRef((e,n)=>{const{disabled:t=!1,onSelect:r,...o}=e,s=x.useRef(null),i=Kn(fo,e.__scopeMenu),l=di(fo,e.__scopeMenu),c=he(n,s),d=x.useRef(!1),f=()=>{const u=s.current;if(!t&&u){const m=new CustomEvent(gu,{bubbles:!0,cancelable:!0});u.addEventListener(gu,p=>r?.(p),{once:!0}),Al(u,m),m.defaultPrevented?d.current=!1:i.onClose()}};return a.jsx(vu,{...o,ref:c,disabled:t,onClick:U(e.onClick,f),onPointerDown:u=>{e.onPointerDown?.(u),d.current=!0},onPointerUp:U(e.onPointerUp,u=>{d.current||u.currentTarget?.click()}),onKeyDown:U(e.onKeyDown,u=>{const m=l.searchRef.current!=="";t||m&&u.key===" "||li.includes(u.key)&&(u.currentTarget.click(),u.preventDefault())})})});mo.displayName=fo;var vu=x.forwardRef((e,n)=>{const{__scopeMenu:t,disabled:r=!1,textValue:o,...s}=e,i=di(fo,t),l=cu(t),c=x.useRef(null),d=he(n,c),[f,u]=x.useState(!1),[m,p]=x.useState("");return x.useEffect(()=>{const h=c.current;h&&p((h.textContent??"").trim())},[s.children]),a.jsx(Wn.ItemSlot,{scope:t,disabled:r,textValue:o??m,children:a.jsx(Ax,{asChild:!0,...l,focusable:!r,children:a.jsx(ae.div,{role:"menuitem","data-highlighted":f?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:d,onPointerMove:U(e.onPointerMove,Jn(h=>{r?i.onItemLeave(h):(i.onItemEnter(h),h.defaultPrevented||h.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:U(e.onPointerLeave,Jn(h=>i.onItemLeave(h))),onFocus:U(e.onFocus,()=>u(!0)),onBlur:U(e.onBlur,()=>u(!1))})})})}),Xx="MenuCheckboxItem",xu=x.forwardRef((e,n)=>{const{checked:t=!1,onCheckedChange:r,...o}=e;return a.jsx(Cu,{scope:e.__scopeMenu,checked:t,children:a.jsx(mo,{role:"menuitemcheckbox","aria-checked":po(t)?"mixed":t,...o,ref:n,"data-state":gi(t),onSelect:U(o.onSelect,()=>r?.(po(t)?!0:!t),{checkForDefaultPrevented:!1})})})});xu.displayName=Xx;var bu="MenuRadioGroup",[Qx,Zx]=Jt(bu,{value:void 0,onValueChange:()=>{}}),yu=x.forwardRef((e,n)=>{const{value:t,onValueChange:r,...o}=e,s=Xe(r);return a.jsx(Qx,{scope:e.__scopeMenu,value:t,onValueChange:s,children:a.jsx(mi,{...o,ref:n})})});yu.displayName=bu;var wu="MenuRadioItem",Su=x.forwardRef((e,n)=>{const{value:t,...r}=e,o=Zx(wu,e.__scopeMenu),s=t===o.value;return a.jsx(Cu,{scope:e.__scopeMenu,checked:s,children:a.jsx(mo,{role:"menuitemradio","aria-checked":s,...r,ref:n,"data-state":gi(s),onSelect:U(r.onSelect,()=>o.onValueChange?.(t),{checkForDefaultPrevented:!1})})})});Su.displayName=wu;var pi="MenuItemIndicator",[Cu,eb]=Jt(pi,{checked:!1}),_u=x.forwardRef((e,n)=>{const{__scopeMenu:t,forceMount:r,...o}=e,s=eb(pi,t);return a.jsx(qe,{present:r||po(s.checked)||s.checked===!0,children:a.jsx(ae.span,{...o,ref:n,"data-state":gi(s.checked)})})});_u.displayName=pi;var tb="MenuSeparator",Mu=x.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e;return a.jsx(ae.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})});Mu.displayName=tb;var nb="MenuArrow",ju=x.forwardRef((e,n)=>{const{__scopeMenu:t,...r}=e,o=Un(t);return a.jsx(si,{...o,...r,ref:n})});ju.displayName=nb;var hi="MenuSub",[rb,Eu]=Jt(hi),Nu=e=>{const{__scopeMenu:n,children:t,open:r=!1,onOpenChange:o}=e,s=Ft(hi,n),i=Un(n),[l,c]=x.useState(null),[d,f]=x.useState(null),u=Xe(o);return x.useEffect(()=>(s.open===!1&&u(!1),()=>u(!1)),[s.open,u]),a.jsx(uo,{...i,children:a.jsx(uu,{scope:n,open:r,onOpenChange:u,content:d,onContentChange:f,children:a.jsx(rb,{scope:n,contentId:Je(),triggerId:Je(),trigger:l,onTriggerChange:c,children:t})})})};Nu.displayName=hi;var Yn="MenuSubTrigger",ku=x.forwardRef((e,n)=>{const t=Ft(Yn,e.__scopeMenu),r=Kn(Yn,e.__scopeMenu),o=Eu(Yn,e.__scopeMenu),s=di(Yn,e.__scopeMenu),i=x.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=s,d={__scopeMenu:e.__scopeMenu},f=x.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return x.useEffect(()=>f,[f]),x.useEffect(()=>{const u=l.current;return()=>{window.clearTimeout(u),c(null)}},[l,c]),a.jsx(ci,{asChild:!0,...d,children:a.jsx(vu,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.open?o.contentId:void 0,"data-state":Fu(t.open),...e,ref:bs(n,o.onTriggerChange),onClick:u=>{e.onClick?.(u),!(e.disabled||u.defaultPrevented)&&(u.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:U(e.onPointerMove,Jn(u=>{s.onItemEnter(u),!u.defaultPrevented&&!e.disabled&&!t.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{t.onOpenChange(!0),f()},100))})),onPointerLeave:U(e.onPointerLeave,Jn(u=>{f();const m=t.content?.getBoundingClientRect();if(m){const p=t.content?.dataset.side,h=p==="right",g=h?-5:5,v=m[h?"left":"right"],y=m[h?"right":"left"];s.onPointerGraceIntentChange({area:[{x:u.clientX+g,y:u.clientY},{x:v,y:m.top},{x:y,y:m.top},{x:y,y:m.bottom},{x:v,y:m.bottom}],side:p}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(u),u.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:U(e.onKeyDown,u=>{const m=s.searchRef.current!=="";e.disabled||m&&u.key===" "||Ox[r.dir].includes(u.key)&&(t.onOpenChange(!0),t.content?.focus(),u.preventDefault())})})})});ku.displayName=Yn;var Ru="MenuSubContent",Tu=x.forwardRef((e,n)=>{const t=fu(We,e.__scopeMenu),{forceMount:r=t.forceMount,align:o="start",...s}=e,i=Ft(We,e.__scopeMenu),l=Kn(We,e.__scopeMenu),c=Eu(Ru,e.__scopeMenu),d=x.useRef(null),f=he(n,d);return a.jsx(Wn.Provider,{scope:e.__scopeMenu,children:a.jsx(qe,{present:r||i.open,children:a.jsx(Wn.Slot,{scope:e.__scopeMenu,children:a.jsx(fi,{id:c.contentId,"aria-labelledby":c.triggerId,...s,ref:f,align:o,side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{l.isUsingKeyboardRef.current&&d.current?.focus(),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:U(e.onFocusOutside,u=>{u.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:U(e.onEscapeKeyDown,u=>{l.onClose(),u.preventDefault()}),onKeyDown:U(e.onKeyDown,u=>{const m=u.currentTarget.contains(u.target),p=Vx[l.dir].includes(u.key);m&&p&&(i.onOpenChange(!1),c.trigger?.focus(),u.preventDefault())})})})})})});Tu.displayName=Ru;function Fu(e){return e?"open":"closed"}function po(e){return e==="indeterminate"}function gi(e){return po(e)?"indeterminate":e?"checked":"unchecked"}function ob(e){const n=document.activeElement;for(const t of e)if(t===n||(t.focus(),document.activeElement!==n))return}function sb(e,n){return e.map((t,r)=>e[(n+r)%e.length])}function ib(e,n,t){const o=n.length>1&&Array.from(n).every(d=>d===n[0])?n[0]:n,s=t?e.indexOf(t):-1;let i=sb(e,Math.max(s,0));o.length===1&&(i=i.filter(d=>d!==t));const c=i.find(d=>d.toLowerCase().startsWith(o.toLowerCase()));return c!==t?c:void 0}function ab(e,n){const{x:t,y:r}=e;let o=!1;for(let s=0,i=n.length-1;s<n.length;i=s++){const l=n[s],c=n[i],d=l.x,f=l.y,u=c.x,m=c.y;f>r!=m>r&&t<(u-d)*(r-f)/(m-f)+d&&(o=!o)}return o}function lb(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return ab(t,n)}function Jn(e){return n=>n.pointerType==="mouse"?e(n):void 0}var cb=du,ub=ci,db=mu,fb=pu,mb=mi,pb=hu,hb=mo,gb=xu,vb=yu,xb=Su,bb=_u,yb=Mu,wb=ju,Sb=Nu,Cb=ku,_b=Tu,ho="DropdownMenu",[Mb]=bt(ho,[lu]),ke=lu(),[jb,Pu]=Mb(ho),Iu=e=>{const{__scopeDropdownMenu:n,children:t,dir:r,open:o,defaultOpen:s,onOpenChange:i,modal:l=!0}=e,c=ke(n),d=x.useRef(null),[f,u]=Et({prop:o,defaultProp:s??!1,onChange:i,caller:ho});return a.jsx(jb,{scope:n,triggerId:Je(),triggerRef:d,contentId:Je(),open:f,onOpenChange:u,onOpenToggle:x.useCallback(()=>u(m=>!m),[u]),modal:l,children:a.jsx(cb,{...c,open:f,onOpenChange:u,dir:r,modal:l,children:t})})};Iu.displayName=ho;var Au="DropdownMenuTrigger",$u=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,disabled:r=!1,...o}=e,s=Pu(Au,t),i=ke(t);return a.jsx(ub,{asChild:!0,...i,children:a.jsx(ae.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:bs(n,s.triggerRef),onPointerDown:U(e.onPointerDown,l=>{!r&&l.button===0&&l.ctrlKey===!1&&(s.onOpenToggle(),s.open||l.preventDefault())}),onKeyDown:U(e.onKeyDown,l=>{r||(["Enter"," "].includes(l.key)&&s.onOpenToggle(),l.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(l.key)&&l.preventDefault())})})})});$u.displayName=Au;var Eb="DropdownMenuPortal",Du=e=>{const{__scopeDropdownMenu:n,...t}=e,r=ke(n);return a.jsx(db,{...r,...t})};Du.displayName=Eb;var Ou="DropdownMenuContent",Vu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=Pu(Ou,t),s=ke(t),i=x.useRef(!1);return a.jsx(fb,{id:o.contentId,"aria-labelledby":o.triggerId,...s,...r,ref:n,onCloseAutoFocus:U(e.onCloseAutoFocus,l=>{i.current||o.triggerRef.current?.focus(),i.current=!1,l.preventDefault()}),onInteractOutside:U(e.onInteractOutside,l=>{const c=l.detail.originalEvent,d=c.button===0&&c.ctrlKey===!0,f=c.button===2||d;(!o.modal||f)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Vu.displayName=Ou;var Nb="DropdownMenuGroup",kb=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(mb,{...o,...r,ref:n})});kb.displayName=Nb;var Rb="DropdownMenuLabel",Tb=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(pb,{...o,...r,ref:n})});Tb.displayName=Rb;var Fb="DropdownMenuItem",Lu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(hb,{...o,...r,ref:n})});Lu.displayName=Fb;var Pb="DropdownMenuCheckboxItem",zu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(gb,{...o,...r,ref:n})});zu.displayName=Pb;var Ib="DropdownMenuRadioGroup",Ab=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(vb,{...o,...r,ref:n})});Ab.displayName=Ib;var $b="DropdownMenuRadioItem",Db=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(xb,{...o,...r,ref:n})});Db.displayName=$b;var Ob="DropdownMenuItemIndicator",Bu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(bb,{...o,...r,ref:n})});Bu.displayName=Ob;var Vb="DropdownMenuSeparator",Gu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(yb,{...o,...r,ref:n})});Gu.displayName=Vb;var Lb="DropdownMenuArrow",zb=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(wb,{...o,...r,ref:n})});zb.displayName=Lb;var Bb=e=>{const{__scopeDropdownMenu:n,children:t,open:r,onOpenChange:o,defaultOpen:s}=e,i=ke(n),[l,c]=Et({prop:r,defaultProp:s??!1,onChange:o,caller:"DropdownMenuSub"});return a.jsx(Sb,{...i,open:l,onOpenChange:c,children:t})},Gb="DropdownMenuSubTrigger",Hu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(Cb,{...o,...r,ref:n})});Hu.displayName=Gb;var Hb="DropdownMenuSubContent",qu=x.forwardRef((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=ke(t);return a.jsx(_b,{...o,...r,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});qu.displayName=Hb;var qb=Iu,Wb=$u,Ub=Du,Kb=Vu,Yb=Lu,Jb=zu,Xb=Bu,Qb=Gu,Zb=Bb,ey=Hu,ty=qu,ny="Label",Wu=x.forwardRef((e,n)=>a.jsx(ae.label,{...e,ref:n,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Wu.displayName=ny;var ry=Wu,vi,go="HoverCard",[Uu]=bt(go,[yn]),vo=yn(),[oy,xo]=Uu(go),Ku=e=>{const{__scopeHoverCard:n,children:t,open:r,defaultOpen:o,onOpenChange:s,openDelay:i=700,closeDelay:l=300}=e,c=vo(n),d=x.useRef(0),f=x.useRef(0),u=x.useRef(!1),m=x.useRef(!1),[p,h]=Et({prop:r,defaultProp:o??!1,onChange:s,caller:go}),g=x.useCallback(()=>{clearTimeout(f.current),d.current=window.setTimeout(()=>h(!0),i)},[i,h]),v=x.useCallback(()=>{clearTimeout(d.current),!u.current&&!m.current&&(f.current=window.setTimeout(()=>h(!1),l))},[l,h]),y=x.useCallback(()=>h(!1),[h]);return x.useEffect(()=>()=>{clearTimeout(d.current),clearTimeout(f.current)},[]),a.jsx(oy,{scope:n,open:p,onOpenChange:h,onOpen:g,onClose:v,onDismiss:y,hasSelectionRef:u,isPointerDownOnContentRef:m,children:a.jsx(uo,{...c,children:t})})};Ku.displayName=go;var Yu="HoverCardTrigger",Ju=x.forwardRef((e,n)=>{const{__scopeHoverCard:t,...r}=e,o=xo(Yu,t),s=vo(t);return a.jsx(ri,{asChild:!0,...s,children:a.jsx(ae.a,{"data-state":o.open?"open":"closed",...r,ref:n,onPointerEnter:U(e.onPointerEnter,yo(o.onOpen)),onPointerLeave:U(e.onPointerLeave,yo(o.onClose)),onFocus:U(e.onFocus,o.onOpen),onBlur:U(e.onBlur,o.onClose),onTouchStart:U(e.onTouchStart,i=>i.preventDefault())})})});Ju.displayName=Yu;var xi="HoverCardPortal",[sy,iy]=Uu(xi,{forceMount:void 0}),Xu=e=>{const{__scopeHoverCard:n,forceMount:t,children:r,container:o}=e,s=xo(xi,n);return a.jsx(sy,{scope:n,forceMount:t,children:a.jsx(qe,{present:t||s.open,children:a.jsx(Ln,{asChild:!0,container:o,children:r})})})};Xu.displayName=xi;var bo="HoverCardContent",Qu=x.forwardRef((e,n)=>{const t=iy(bo,e.__scopeHoverCard),{forceMount:r=t.forceMount,...o}=e,s=xo(bo,e.__scopeHoverCard);return a.jsx(qe,{present:r||s.open,children:a.jsx(ay,{"data-state":s.open?"open":"closed",...o,onPointerEnter:U(e.onPointerEnter,yo(s.onOpen)),onPointerLeave:U(e.onPointerLeave,yo(s.onClose)),ref:n})})});Qu.displayName=bo;var ay=x.forwardRef((e,n)=>{const{__scopeHoverCard:t,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:s,onInteractOutside:i,...l}=e,c=xo(bo,t),d=vo(t),f=x.useRef(null),u=he(n,f),[m,p]=x.useState(!1);return x.useEffect(()=>{if(m){const h=document.body;return vi=h.style.userSelect||h.style.webkitUserSelect,h.style.userSelect="none",h.style.webkitUserSelect="none",()=>{h.style.userSelect=vi,h.style.webkitUserSelect=vi}}},[m]),x.useEffect(()=>{if(f.current){const h=()=>{p(!1),c.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(c.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",h),()=>{document.removeEventListener("pointerup",h),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!1}}},[c.isPointerDownOnContentRef,c.hasSelectionRef]),x.useEffect(()=>{f.current&&uy(f.current).forEach(g=>g.setAttribute("tabindex","-1"))}),a.jsx(Vn,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:i,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:U(s,h=>{h.preventDefault()}),onDismiss:c.onDismiss,children:a.jsx(oi,{...d,...l,onPointerDown:U(l.onPointerDown,h=>{h.currentTarget.contains(h.target)&&p(!0),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!0}),ref:u,style:{...l.style,userSelect:m?"text":void 0,WebkitUserSelect:m?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})}),ly="HoverCardArrow",cy=x.forwardRef((e,n)=>{const{__scopeHoverCard:t,...r}=e,o=vo(t);return a.jsx(si,{...o,...r,ref:n})});cy.displayName=ly;function yo(e){return n=>n.pointerType==="touch"?void 0:e()}function uy(e){const n=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;t.nextNode();)n.push(t.currentNode);return n}var dy=Ku,fy=Ju,my=Xu,py=Qu;function Zu(e,[n,t]){return Math.min(t,Math.max(n,e))}var hy=[" ","Enter","ArrowUp","ArrowDown"],gy=[" ","Enter"],Xt="Select",[wo,So,vy]=ys(Xt),[Qt]=bt(Xt,[vy,yn]),Co=yn(),[xy,Pt]=Qt(Xt),[by,yy]=Qt(Xt),wy="SelectProvider";function ed(e){const{__scopeSelect:n,children:t,open:r,defaultOpen:o,onOpenChange:s,value:i,defaultValue:l,onValueChange:c,dir:d,name:f,autoComplete:u,disabled:m,required:p,form:h,internal_do_not_use_render:g}=e,v=Co(n),[y,b]=x.useState(null),[S,_]=x.useState(null),[E,C]=x.useState(!1),N=ws(d),[w,k]=Et({prop:r,defaultProp:o??!1,onChange:s,caller:Xt}),[R,F]=Et({prop:i,defaultProp:l,onChange:c,caller:Xt}),P=x.useRef(null),$=y?!!h||!!y.closest("form"):!0,[A,L]=x.useState(new Set),T=Je(),B=Array.from(A).map(ue=>ue.props.value).join(";"),z=x.useCallback(ue=>{L(be=>new Set(be).add(ue))},[]),O=x.useCallback(ue=>{L(be=>{const we=new Set(be);return we.delete(ue),we})},[]),D={required:p,trigger:y,onTriggerChange:b,valueNode:S,onValueNodeChange:_,valueNodeHasChildren:E,onValueNodeHasChildrenChange:C,contentId:T,value:R,onValueChange:F,open:w,onOpenChange:k,dir:N,triggerPointerDownPosRef:P,disabled:m,name:f,autoComplete:u,form:h,nativeOptions:A,nativeSelectKey:B,isFormControl:$};return a.jsx(uo,{...v,children:a.jsx(xy,{scope:n,...D,children:a.jsx(wo.Provider,{scope:n,children:a.jsx(by,{scope:n,onNativeOptionAdd:z,onNativeOptionRemove:O,children:Oy(g)?g(D):t})})})})}ed.displayName=wy;var td=e=>{const{__scopeSelect:n,children:t,...r}=e;return a.jsx(ed,{__scopeSelect:n,...r,internal_do_not_use_render:({isFormControl:o})=>a.jsxs(a.Fragment,{children:[t,o?a.jsx(Ed,{__scopeSelect:n}):null]})})};td.displayName=Xt;var nd="SelectTrigger",rd=x.forwardRef((e,n)=>{const{__scopeSelect:t,disabled:r=!1,...o}=e,s=Co(t),i=Pt(nd,t),l=i.disabled||r,c=he(n,i.onTriggerChange),d=So(t),f=x.useRef("touch"),[u,m,p]=Nd(g=>{const v=d().filter(S=>!S.disabled),y=v.find(S=>S.value===i.value),b=kd(v,g,y);b!==void 0&&i.onValueChange(b.value)}),h=g=>{l||(i.onOpenChange(!0),p()),g&&(i.triggerPointerDownPosRef.current={x:Math.round(g.pageX),y:Math.round(g.pageY)})};return a.jsx(ri,{asChild:!0,...s,children:a.jsx(ae.button,{type:"button",role:"combobox","aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":Mo(i.value)?"":void 0,...o,ref:c,onClick:U(o.onClick,g=>{g.currentTarget.focus(),f.current!=="mouse"&&h(g)}),onPointerDown:U(o.onPointerDown,g=>{f.current=g.pointerType;const v=g.target;v.hasPointerCapture(g.pointerId)&&v.releasePointerCapture(g.pointerId),g.button===0&&g.ctrlKey===!1&&g.pointerType==="mouse"&&(h(g),g.preventDefault())}),onKeyDown:U(o.onKeyDown,g=>{const v=u.current!=="";!(g.ctrlKey||g.altKey||g.metaKey)&&g.key.length===1&&m(g.key),!(v&&g.key===" ")&&hy.includes(g.key)&&(h(),g.preventDefault())})})})});rd.displayName=nd;var od="SelectValue",sd=x.forwardRef((e,n)=>{const{__scopeSelect:t,className:r,style:o,children:s,placeholder:i="",...l}=e,c=Pt(od,t),{onValueNodeHasChildrenChange:d}=c,f=s!==void 0,u=he(n,c.onValueNodeChange);Ne(()=>{d(f)},[d,f]);const m=Mo(c.value);return a.jsx(ae.span,{...l,asChild:m?!1:l.asChild,ref:u,style:{pointerEvents:"none"},children:a.jsx(x.Fragment,{children:m?i:s},m?"placeholder":"value")})});sd.displayName=od;var Sy="SelectIcon",id=x.forwardRef((e,n)=>{const{__scopeSelect:t,children:r,...o}=e;return a.jsx(ae.span,{"aria-hidden":!0,...o,ref:n,children:r||"▼"})});id.displayName=Sy;var ad="SelectPortal",[Cy,_y]=Qt(ad,{forceMount:void 0}),ld=e=>{const{__scopeSelect:n,forceMount:t,...r}=e;return a.jsx(Cy,{scope:e.__scopeSelect,forceMount:t,children:a.jsx(Ln,{asChild:!0,...r})})};ld.displayName=ad;var It="SelectContent",cd=x.forwardRef((e,n)=>{const t=_y(It,e.__scopeSelect),{forceMount:r=t.forceMount,...o}=e,s=Pt(It,e.__scopeSelect),[i,l]=x.useState();return Ne(()=>{l(new DocumentFragment)},[]),a.jsx(qe,{present:r||s.open,children:({present:c})=>c?a.jsx(fd,{...o,ref:n}):a.jsx(ud,{...o,fragment:i})})});cd.displayName=It;var ud=x.forwardRef((e,n)=>{const{__scopeSelect:t,children:r,fragment:o}=e;return o?Rn.createPortal(a.jsx(dd,{scope:t,children:a.jsx(wo.Slot,{scope:t,children:a.jsx("div",{ref:n,children:r})})}),o):null});ud.displayName="SelectContentFragment";var tt=10,[dd,At]=Qt(It),My="SelectContentImpl",jy=Ut("SelectContent.RemoveScroll"),fd=x.forwardRef((e,n)=>{const{__scopeSelect:t}=e,{position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:s,onPointerDownOutside:i,side:l,sideOffset:c,align:d,alignOffset:f,arrowPadding:u,collisionBoundary:m,collisionPadding:p,sticky:h,hideWhenDetached:g,avoidCollisions:v,...y}=e,b=Pt(It,t),[S,_]=x.useState(null),[E,C]=x.useState(null),N=he(n,V=>_(V)),[w,k]=x.useState(null),[R,F]=x.useState(null),P=So(t),[$,A]=x.useState(!1),L=x.useRef(!1);x.useEffect(()=>{if(S)return Fs(S)},[S]),js();const T=x.useCallback(V=>{const[oe,...se]=P().map(me=>me.ref.current),[ce]=se.slice(-1),de=document.activeElement;for(const me of V)if(me===de||(me?.scrollIntoView({block:"nearest"}),me===oe&&E&&(E.scrollTop=0),me===ce&&E&&(E.scrollTop=E.scrollHeight),me?.focus(),document.activeElement!==de))return},[P,E]),B=x.useCallback(()=>T([w,S]),[T,w,S]);x.useEffect(()=>{$&&B()},[$,B]);const{onOpenChange:z,triggerPointerDownPosRef:O}=b;x.useEffect(()=>{if(S){let V={x:0,y:0};const oe=ce=>{V={x:Math.abs(Math.round(ce.pageX)-(O.current?.x??0)),y:Math.abs(Math.round(ce.pageY)-(O.current?.y??0))}},se=ce=>{V.x<=10&&V.y<=10?ce.preventDefault():ce.composedPath().includes(S)||z(!1),document.removeEventListener("pointermove",oe),O.current=null};return O.current!==null&&(document.addEventListener("pointermove",oe),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",oe),document.removeEventListener("pointerup",se,{capture:!0})}}},[S,z,O]),x.useEffect(()=>{const V=()=>z(!1);return window.addEventListener("blur",V),window.addEventListener("resize",V),()=>{window.removeEventListener("blur",V),window.removeEventListener("resize",V)}},[z]);const[D,ue]=Nd(V=>{const oe=P().filter(de=>!de.disabled),se=oe.find(de=>de.ref.current===document.activeElement),ce=kd(oe,V,se);ce&&setTimeout(()=>ce.ref.current?.focus())}),be=x.useCallback((V,oe,se)=>{const ce=!L.current&&!se;(b.value!==void 0&&b.value===oe||ce)&&(k(V),ce&&(L.current=!0))},[b.value]),we=x.useCallback(()=>S?.focus(),[S]),ge=x.useCallback((V,oe,se)=>{const ce=!L.current&&!se;(b.value!==void 0&&b.value===oe||ce)&&F(V)},[b.value]),H=r==="popper"?bi:md,J=H===bi?{side:l,sideOffset:c,align:d,alignOffset:f,arrowPadding:u,collisionBoundary:m,collisionPadding:p,sticky:h,hideWhenDetached:g,avoidCollisions:v}:{};return a.jsx(dd,{scope:t,content:S,viewport:E,onViewportChange:C,itemRefCallback:be,selectedItem:w,onItemLeave:we,itemTextRefCallback:ge,focusSelectedItem:B,selectedItemText:R,position:r,isPositioned:$,searchRef:D,children:a.jsx(Kr,{as:jy,allowPinchZoom:!0,children:a.jsx(zr,{asChild:!0,trapped:b.open,onMountAutoFocus:V=>{V.preventDefault()},onUnmountAutoFocus:U(o,V=>{b.trigger?.focus({preventScroll:!0}),V.preventDefault()}),children:a.jsx(Vn,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:V=>V.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:a.jsx(H,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:V=>V.preventDefault(),...y,...J,onPlaced:()=>A(!0),ref:N,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:U(y.onKeyDown,V=>{const oe=V.ctrlKey||V.altKey||V.metaKey;if(V.key==="Tab"&&V.preventDefault(),!oe&&V.key.length===1&&ue(V.key),["ArrowUp","ArrowDown","Home","End"].includes(V.key)){let ce=P().filter(de=>!de.disabled).map(de=>de.ref.current);if(["ArrowUp","End"].includes(V.key)&&(ce=ce.slice().reverse()),["ArrowUp","ArrowDown"].includes(V.key)){const de=V.target,me=ce.indexOf(de);ce=ce.slice(me+1)}setTimeout(()=>T(ce)),V.preventDefault()}})})})})})})});fd.displayName=My;var Ey="SelectItemAlignedPosition",md=x.forwardRef((e,n)=>{const{__scopeSelect:t,onPlaced:r,...o}=e,s=Pt(It,t),i=At(It,t),[l,c]=x.useState(null),[d,f]=x.useState(null),u=he(n,N=>f(N)),m=So(t),p=x.useRef(!1),h=x.useRef(!0),{viewport:g,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=i,S=x.useCallback(()=>{if(s.trigger&&s.valueNode&&l&&d&&g&&v&&y){const N=s.trigger.getBoundingClientRect(),w=d.getBoundingClientRect(),k=s.valueNode.getBoundingClientRect(),R=y.getBoundingClientRect();if(s.dir!=="rtl"){const de=R.left-w.left,me=k.left-de,Ce=N.left-me,pe=N.width+Ce,rt=Math.max(pe,w.width),ot=window.innerWidth-tt,st=Zu(me,[tt,Math.max(tt,ot-rt)]);l.style.minWidth=pe+"px",l.style.left=st+"px"}else{const de=w.right-R.right,me=window.innerWidth-k.right-de,Ce=window.innerWidth-N.right-me,pe=N.width+Ce,rt=Math.max(pe,w.width),ot=window.innerWidth-tt,st=Zu(me,[tt,Math.max(tt,ot-rt)]);l.style.minWidth=pe+"px",l.style.right=st+"px"}const F=m(),P=window.innerHeight-tt*2,$=g.scrollHeight,A=window.getComputedStyle(d),L=parseInt(A.borderTopWidth,10),T=parseInt(A.paddingTop,10),B=parseInt(A.borderBottomWidth,10),z=parseInt(A.paddingBottom,10),O=L+T+$+z+B,D=Math.min(v.offsetHeight*5,O),ue=window.getComputedStyle(g),be=parseInt(ue.paddingTop,10),we=parseInt(ue.paddingBottom,10),ge=N.top+N.height/2-tt,H=P-ge,J=v.offsetHeight/2,V=v.offsetTop+J,oe=L+T+V,se=O-oe;if(oe<=ge){const de=F.length>0&&v===F[F.length-1].ref.current;l.style.bottom="0px";const me=d.clientHeight-g.offsetTop-g.offsetHeight,Ce=Math.max(H,J+(de?we:0)+me+B),pe=oe+Ce;l.style.height=pe+"px"}else{const de=F.length>0&&v===F[0].ref.current;l.style.top="0px";const Ce=Math.max(ge,L+g.offsetTop+(de?be:0)+J)+se;l.style.height=Ce+"px",g.scrollTop=oe-ge+g.offsetTop}l.style.margin=`${tt}px 0`,l.style.minHeight=D+"px",l.style.maxHeight=P+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[m,s.trigger,s.valueNode,l,d,g,v,y,s.dir,r]);Ne(()=>S(),[S]);const[_,E]=x.useState();Ne(()=>{d&&E(window.getComputedStyle(d).zIndex)},[d]);const C=x.useCallback(N=>{N&&h.current===!0&&(S(),b?.(),h.current=!1)},[S,b]);return a.jsx(ky,{scope:t,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:C,children:a.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:a.jsx(ae.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});md.displayName=Ey;var Ny="SelectPopperPosition",bi=x.forwardRef((e,n)=>{const{__scopeSelect:t,align:r="start",collisionPadding:o=tt,...s}=e,i=Co(t);return a.jsx(oi,{...i,...s,ref:n,align:r,collisionPadding:o,style:{boxSizing:"border-box",...s.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});bi.displayName=Ny;var[ky,yi]=Qt(It,{}),wi="SelectViewport",pd=x.forwardRef((e,n)=>{const{__scopeSelect:t,nonce:r,...o}=e,s=At(wi,t),i=yi(wi,t),l=he(n,s.onViewportChange),c=x.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),a.jsx(wo.Slot,{scope:t,children:a.jsx(ae.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:U(o.onScroll,d=>{const f=d.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:m}=i;if(m?.current&&u){const p=Math.abs(c.current-f.scrollTop);if(p>0){const h=window.innerHeight-tt*2,g=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),y=Math.max(g,v);if(y<h){const b=y+p,S=Math.min(h,b),_=b-S;u.style.height=S+"px",u.style.bottom==="0px"&&(f.scrollTop=_>0?_:0,u.style.justifyContent="flex-end")}}}c.current=f.scrollTop})})})]})});pd.displayName=wi;var hd="SelectGroup",[Ry,Ty]=Qt(hd),Fy=x.forwardRef((e,n)=>{const{__scopeSelect:t,...r}=e,o=Je();return a.jsx(Ry,{scope:t,id:o,children:a.jsx(ae.div,{role:"group","aria-labelledby":o,...r,ref:n})})});Fy.displayName=hd;var gd="SelectLabel",Py=x.forwardRef((e,n)=>{const{__scopeSelect:t,...r}=e,o=Ty(gd,t);return a.jsx(ae.div,{id:o.id,...r,ref:n})});Py.displayName=gd;var _o="SelectItem",[Iy,vd]=Qt(_o),xd=x.forwardRef((e,n)=>{const{__scopeSelect:t,value:r,disabled:o=!1,textValue:s,...i}=e,l=Pt(_o,t),c=At(_o,t),d=l.value===r,[f,u]=x.useState(s??""),[m,p]=x.useState(!1),h=he(n,b=>c.itemRefCallback?.(b,r,o)),g=Je(),v=x.useRef("touch"),y=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};return a.jsx(Iy,{scope:t,value:r,disabled:o,textId:g,isSelected:d,onItemTextChange:x.useCallback(b=>{u(S=>S||(b?.textContent??"").trim())},[]),children:a.jsx(wo.ItemSlot,{scope:t,value:r,disabled:o,textValue:f,children:a.jsx(ae.div,{role:"option","aria-labelledby":g,"data-highlighted":m?"":void 0,"aria-selected":d&&m,"data-state":d?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:h,onFocus:U(i.onFocus,()=>p(!0)),onBlur:U(i.onBlur,()=>p(!1)),onClick:U(i.onClick,()=>{v.current!=="mouse"&&y()}),onPointerUp:U(i.onPointerUp,()=>{v.current==="mouse"&&y()}),onPointerDown:U(i.onPointerDown,b=>{v.current=b.pointerType}),onPointerMove:U(i.onPointerMove,b=>{v.current=b.pointerType,o?c.onItemLeave?.():v.current==="mouse"&&b.currentTarget.focus({preventScroll:!0})}),onPointerLeave:U(i.onPointerLeave,b=>{b.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:U(i.onKeyDown,b=>{c.searchRef?.current!==""&&b.key===" "||(gy.includes(b.key)&&y(),b.key===" "&&b.preventDefault())})})})})});xd.displayName=_o;var Xn="SelectItemText",bd=x.forwardRef((e,n)=>{const{__scopeSelect:t,className:r,style:o,...s}=e,i=Pt(Xn,t),l=At(Xn,t),c=vd(Xn,t),d=yy(Xn,t),[f,u]=x.useState(null),m=he(n,y=>u(y),c.onItemTextChange,y=>l.itemTextRefCallback?.(y,c.value,c.disabled)),p=f?.textContent,h=x.useMemo(()=>a.jsx("option",{value:c.value,disabled:c.disabled,children:p},c.value),[c.disabled,c.value,p]),{onNativeOptionAdd:g,onNativeOptionRemove:v}=d;return Ne(()=>(g(h),()=>v(h)),[g,v,h]),a.jsxs(a.Fragment,{children:[a.jsx(ae.span,{id:c.textId,...s,ref:m}),c.isSelected&&i.valueNode&&!i.valueNodeHasChildren&&!Mo(i.value)?Rn.createPortal(s.children,i.valueNode):null]})});bd.displayName=Xn;var yd="SelectItemIndicator",wd=x.forwardRef((e,n)=>{const{__scopeSelect:t,...r}=e;return vd(yd,t).isSelected?a.jsx(ae.span,{"aria-hidden":!0,...r,ref:n}):null});wd.displayName=yd;var Si="SelectScrollUpButton",Sd=x.forwardRef((e,n)=>{const t=At(Si,e.__scopeSelect),r=yi(Si,e.__scopeSelect),[o,s]=x.useState(!1),i=he(n,r.onScrollButtonChange);return Ne(()=>{if(t.viewport&&t.isPositioned){let l=function(){const d=c.scrollTop>0;s(d)};const c=t.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[t.viewport,t.isPositioned]),o?a.jsx(_d,{...e,ref:i,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=t;l&&c&&(l.scrollTop=l.scrollTop-c.offsetHeight)}}):null});Sd.displayName=Si;var Ci="SelectScrollDownButton",Cd=x.forwardRef((e,n)=>{const t=At(Ci,e.__scopeSelect),r=yi(Ci,e.__scopeSelect),[o,s]=x.useState(!1),i=he(n,r.onScrollButtonChange);return Ne(()=>{if(t.viewport&&t.isPositioned){let l=function(){const d=c.scrollHeight-c.clientHeight,f=Math.ceil(c.scrollTop)<d;s(f)};const c=t.viewport;return l(),c.addEventListener("scroll",l),()=>c.removeEventListener("scroll",l)}},[t.viewport,t.isPositioned]),o?a.jsx(_d,{...e,ref:i,onAutoScroll:()=>{const{viewport:l,selectedItem:c}=t;l&&c&&(l.scrollTop=l.scrollTop+c.offsetHeight)}}):null});Cd.displayName=Ci;var _d=x.forwardRef((e,n)=>{const{__scopeSelect:t,onAutoScroll:r,...o}=e,s=At("SelectScrollButton",t),i=x.useRef(null),l=So(t),c=x.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return x.useEffect(()=>()=>c(),[c]),Ne(()=>{l().find(f=>f.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),a.jsx(ae.div,{"aria-hidden":!0,...o,ref:n,style:{flexShrink:0,...o.style},onPointerDown:U(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:U(o.onPointerMove,()=>{s.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:U(o.onPointerLeave,()=>{c()})})}),Ay="SelectSeparator",$y=x.forwardRef((e,n)=>{const{__scopeSelect:t,...r}=e;return a.jsx(ae.div,{"aria-hidden":!0,...r,ref:n})});$y.displayName=Ay;var Md="SelectArrow",Dy=x.forwardRef((e,n)=>{const{__scopeSelect:t,...r}=e,o=Co(t);return At(Md,t).position==="popper"?a.jsx(si,{...o,...r,ref:n}):null});Dy.displayName=Md;var jd="SelectBubbleInput",Ed=x.forwardRef(({__scopeSelect:e,...n},t)=>{const r=Pt(jd,e),{value:o,onValueChange:s,required:i,disabled:l,name:c,autoComplete:d,form:f}=r,{nativeOptions:u,nativeSelectKey:m}=r,p=x.useRef(null),h=he(t,p),g=o??"",v=pc(g),y=Array.from(u).some(b=>(b.props.value??"")==="");return x.useEffect(()=>{const b=p.current;if(!b)return;const S=window.HTMLSelectElement.prototype,E=Object.getOwnPropertyDescriptor(S,"value").set;if(v!==g&&E){const C=new Event("change",{bubbles:!0});E.call(b,g),b.dispatchEvent(C)}},[v,g]),a.jsxs(ae.select,{"aria-hidden":!0,required:i,tabIndex:-1,name:c,autoComplete:d,disabled:l,form:f,onChange:b=>s(b.target.value),...n,style:{...$l,...n.style},ref:h,defaultValue:g,children:[Mo(o)&&!y?a.jsx("option",{value:""}):null,Array.from(u)]},m)});Ed.displayName=jd;function Oy(e){return typeof e=="function"}function Mo(e){return e===""||e===void 0}function Nd(e){const n=Xe(e),t=x.useRef(""),r=x.useRef(0),o=x.useCallback(i=>{const l=t.current+i;n(l),(function c(d){t.current=d,window.clearTimeout(r.current),d!==""&&(r.current=window.setTimeout(()=>c(""),1e3))})(l)},[n]),s=x.useCallback(()=>{t.current="",window.clearTimeout(r.current)},[]);return x.useEffect(()=>()=>window.clearTimeout(r.current),[]),[t,o,s]}function kd(e,n,t){const o=n.length>1&&Array.from(n).every(d=>d===n[0])?n[0]:n,s=t?e.indexOf(t):-1;let i=Vy(e,Math.max(s,0));o.length===1&&(i=i.filter(d=>d!==t));const c=i.find(d=>d.textValue.toLowerCase().startsWith(o.toLowerCase()));return c!==t?c:void 0}function Vy(e,n){return e.map((t,r)=>e[(n+r)%e.length])}function Rd({...e}){return a.jsx(qb,{"data-slot":"dropdown-menu",...e})}function Td({...e}){return a.jsx(Wb,{"data-slot":"dropdown-menu-trigger",...e})}function Fd({className:e,sideOffset:n=4,...t}){return a.jsx(Ub,{children:a.jsx(Kb,{"data-slot":"dropdown-menu-content",sideOffset:n,className:ee("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...t})})}function Qn({className:e,inset:n,variant:t="default",...r}){return a.jsx(Yb,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":t,className:ee("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...r})}function Ly({className:e,children:n,checked:t,...r}){return a.jsxs(Jb,{"data-slot":"dropdown-menu-checkbox-item",className:ee("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:t,...r,children:[a.jsx("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:a.jsx(Xb,{children:a.jsx(Tr,{className:"size-4"})})}),n]})}function Zt({className:e,...n}){return a.jsx(Qb,{"data-slot":"dropdown-menu-separator",className:ee("-mx-1 my-1 h-px bg-border",e),...n})}function Zn({...e}){return a.jsx(Zb,{"data-slot":"dropdown-menu-sub",...e})}function er({className:e,inset:n,children:t,...r}){return a.jsxs(ey,{"data-slot":"dropdown-menu-sub-trigger","data-inset":n,className:ee("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...r,children:[t,a.jsx(cn,{className:"ml-auto size-4"})]})}function tr({className:e,...n}){return a.jsx(ty,{"data-slot":"dropdown-menu-sub-content",className:ee("z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...n})}const nr=x.forwardRef(({...e},n)=>a.jsx(dy,{"data-slot":"hover-card",...e}));nr.displayName="HoverCard";const rr=x.forwardRef(({...e},n)=>a.jsx(fy,{"data-slot":"hover-card-trigger",...e}));rr.displayName="HoverCardTrigger";const or=x.forwardRef(({className:e,align:n="center",sideOffset:t=4,...r},o)=>a.jsx(my,{children:a.jsx(py,{ref:o,"data-slot":"hover-card-content",align:n,sideOffset:t,className:ee("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 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),...r})}));or.displayName="HoverCardContent";function dt({...e}){return a.jsx(td,{"data-slot":"select",...e})}function ft({...e}){return a.jsx(sd,{"data-slot":"select-value",...e})}function mt({className:e,size:n="default",children:t,...r}){return a.jsxs(rd,{"data-slot":"select-trigger","data-size":n,className:ee("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent text-foreground px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...r,children:[t,a.jsx(id,{asChild:!0,children:a.jsx(Gt,{className:"size-4 opacity-50"})})]})}function pt({className:e,children:n,position:t="item-aligned",align:r="center",...o}){return a.jsx(ld,{children:a.jsxs(cd,{"data-slot":"select-content",className:ee("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",t==="popper"&&"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,align:r,...o,children:[a.jsx(zy,{}),a.jsx(pd,{className:ee("p-1",t==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),a.jsx(By,{})]})})}function Ue({className:e,children:n,...t}){return a.jsxs(xd,{"data-slot":"select-item",className:ee("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...t,children:[a.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:a.jsx(wd,{children:a.jsx(Tr,{className:"size-4"})})}),a.jsx(bd,{children:n})]})}function zy({className:e,...n}){return a.jsx(Sd,{"data-slot":"select-scroll-up-button",className:ee("flex cursor-default items-center justify-center py-1",e),...n,children:a.jsx(us,{className:"size-4"})})}function By({className:e,...n}){return a.jsx(Cd,{"data-slot":"select-scroll-down-button",className:ee("flex cursor-default items-center justify-center py-1",e),...n,children:a.jsx(Gt,{className:"size-4"})})}const Pd={_contains:"Contains",_starts_with:"Starts with",_ends_with:"Ends with",_eq:"Equals",_neq:"Not equals",_null:"Is null"},Gy=300;function Hy({column:e}){const t=(e.columnDef.meta?.filterOperators??[]).filter(h=>h in Pd),r=e.getFilterValue(),[o,s]=M.useState(r?.operator??"_contains"),[i,l]=M.useState(r?.operator==="_null"?"":String(r?.value??"")),c=M.useRef(),d=o==="_null";M.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const f=(h,g)=>{if(c.current&&clearTimeout(c.current),h==="_null"){e.setFilterValue({operator:"_null",value:!0});return}if(!g){e.setFilterValue(void 0);return}c.current=setTimeout(()=>{e.setFilterValue({operator:h,value:g})},Gy)},u=h=>{s(h),h==="_null"?(l(""),e.setFilterValue({operator:"_null",value:!0})):i?f(h,i):e.setFilterValue(void 0)},m=h=>{l(h),f(o,h)},p=()=>{c.current&&clearTimeout(c.current),s("_contains"),l(""),e.setFilterValue(void 0)};return t.length===0?null:a.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[a.jsxs(dt,{value:o,onValueChange:u,children:[a.jsx(mt,{size:"sm",className:"w-full text-xs",children:a.jsx(ft,{})}),a.jsx(pt,{children:t.map(h=>a.jsx(Ue,{value:h,children:Pd[h]},h))})]}),!d&&a.jsx(He,{placeholder:"Filter value...",value:i,onChange:h=>m(h.target.value),className:"h-8 text-xs",autoFocus:!0}),r!==void 0&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:p,children:[a.jsx(Ae,{className:"size-3"}),"Clear filter"]})]})}const Id={_eq:"Equals",_neq:"Not equals",_gt:"Greater than",_gte:"Greater or equal",_lt:"Less than",_lte:"Less or equal",_between:"Between",_null:"Is null"},Ad=300;function qy(e){return(e.columnDef.meta?.paramType??"").replace("!","")==="Int"}function _i(e,n){if(e===""||e==="-")return null;const t=n?parseInt(e,10):parseFloat(e);return Number.isNaN(t)?null:t}function Wy({column:e}){const t=(e.columnDef.meta?.filterOperators??[]).filter(w=>w in Id),r=qy(e),o=e.getFilterValue(),s=o?.operator??"_eq",[i,l]=M.useState(s),[c,d]=M.useState(()=>!o||o.operator==="_null"||o.operator==="_between"?"":String(o.value??"")),[f,u]=M.useState(()=>o?.operator==="_between"&&Array.isArray(o.value)?String(o.value[0]??""):""),[m,p]=M.useState(()=>o?.operator==="_between"&&Array.isArray(o.value)?String(o.value[1]??""):""),h=M.useRef();M.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]);const g=(w,k)=>{if(h.current&&clearTimeout(h.current),w==="_null"){e.setFilterValue({operator:"_null",value:!0});return}const R=_i(k,r);if(R===null){e.setFilterValue(void 0);return}h.current=setTimeout(()=>{e.setFilterValue({operator:w,value:R})},Ad)},v=(w,k)=>{h.current&&clearTimeout(h.current);const R=_i(w,r),F=_i(k,r);if(R===null||F===null){e.setFilterValue(void 0);return}h.current=setTimeout(()=>{e.setFilterValue({operator:"_between",value:[R,F]})},Ad)},y=w=>{l(w),w==="_null"?(d(""),u(""),p(""),e.setFilterValue({operator:"_null",value:!0})):w==="_between"?(d(""),f&&m?v(f,m):e.setFilterValue(void 0)):(u(""),p(""),c?g(w,c):e.setFilterValue(void 0))},b=w=>{d(w),g(i,w)},S=w=>{u(w),v(w,m)},_=w=>{p(w),v(f,w)},E=()=>{h.current&&clearTimeout(h.current),l("_eq"),d(""),u(""),p(""),e.setFilterValue(void 0)};if(t.length===0)return null;const C=i==="_between",N=i==="_null";return a.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[a.jsxs(dt,{value:i,onValueChange:y,children:[a.jsx(mt,{size:"sm",className:"w-full text-xs",children:a.jsx(ft,{})}),a.jsx(pt,{children:t.map(w=>a.jsx(Ue,{value:w,children:Id[w]},w))})]}),!N&&!C&&a.jsx(He,{type:"number",placeholder:"Filter value...",value:c,onChange:w=>b(w.target.value),className:"h-8 text-xs",autoFocus:!0}),C&&a.jsxs("div",{className:"flex gap-2",children:[a.jsx(He,{type:"number",placeholder:"Min",value:f,onChange:w=>S(w.target.value),className:"h-8 text-xs",autoFocus:!0}),a.jsx(He,{type:"number",placeholder:"Max",value:m,onChange:w=>_(w.target.value),className:"h-8 text-xs"})]}),o!==void 0&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:E,children:[a.jsx(Ae,{className:"size-3"}),"Clear filter"]})]})}const $d={_eq:"On",_neq:"Not on",_gt:"After",_gte:"On or after",_lt:"Before",_lte:"On or before",_between:"Between",_null:"Is null"};function Uy({column:e}){const t=(e.columnDef.meta?.filterOperators??[]).filter(C=>C in $d),r=e.getFilterValue(),o=r?.operator??"_eq",[s,i]=M.useState(o),[l,c]=M.useState(()=>!r||r.operator==="_null"||r.operator==="_between"?"":String(r.value??"")),[d,f]=M.useState(()=>r?.operator==="_between"&&Array.isArray(r.value)?String(r.value[0]??""):""),[u,m]=M.useState(()=>r?.operator==="_between"&&Array.isArray(r.value)?String(r.value[1]??""):""),p=(C,N)=>{if(C==="_null"){e.setFilterValue({operator:"_null",value:!0});return}if(!N){e.setFilterValue(void 0);return}e.setFilterValue({operator:C,value:N})},h=(C,N)=>{if(!C||!N){e.setFilterValue(void 0);return}e.setFilterValue({operator:"_between",value:[C,N]})},g=C=>{i(C),C==="_null"?(c(""),f(""),m(""),e.setFilterValue({operator:"_null",value:!0})):C==="_between"?(c(""),d&&u?h(d,u):e.setFilterValue(void 0)):(f(""),m(""),l?p(C,l):e.setFilterValue(void 0))},v=C=>{c(C),p(s,C)},y=C=>{f(C),h(C,u)},b=C=>{m(C),h(d,C)},S=()=>{i("_eq"),c(""),f(""),m(""),e.setFilterValue(void 0)};if(t.length===0)return null;const _=s==="_between",E=s==="_null";return a.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[a.jsxs(dt,{value:s,onValueChange:g,children:[a.jsx(mt,{size:"sm",className:"w-full text-xs",children:a.jsx(ft,{})}),a.jsx(pt,{children:t.map(C=>a.jsx(Ue,{value:C,children:$d[C]},C))})]}),!E&&!_&&a.jsx(He,{type:"date",value:l,onChange:C=>v(C.target.value),className:"h-8 text-xs"}),_&&a.jsxs("div",{className:"flex gap-2",children:[a.jsx(He,{type:"date",value:d,onChange:C=>y(C.target.value),className:"h-8 text-xs"}),a.jsx(He,{type:"date",value:u,onChange:C=>b(C.target.value),className:"h-8 text-xs"})]}),r!==void 0&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:S,children:[a.jsx(Ae,{className:"size-3"}),"Clear filter"]})]})}const Ky={all:"All",true:"True",false:"False",_null:"Is null"};function Yy(e){return e?e.operator==="_null"?"_null":e.operator==="_eq"&&e.value===!0?"true":e.operator==="_eq"&&e.value===!1?"false":"all":"all"}function Jy({column:e}){const t=(e.columnDef.meta?.filterOperators??[]).includes("_null"),r=e.getFilterValue(),o=Yy(r),s=t?["all","true","false","_null"]:["all","true","false"],i=c=>{switch(c){case"true":e.setFilterValue({operator:"_eq",value:!0});break;case"false":e.setFilterValue({operator:"_eq",value:!1});break;case"_null":e.setFilterValue({operator:"_null",value:!0});break;default:e.setFilterValue(void 0)}},l=()=>{e.setFilterValue(void 0)};return a.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[a.jsxs(dt,{value:o,onValueChange:i,children:[a.jsx(mt,{size:"sm",className:"w-full text-xs",children:a.jsx(ft,{})}),a.jsx(pt,{children:s.map(c=>a.jsx(Ue,{value:c,children:Ky[c]},c))})]}),r!==void 0&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:l,children:[a.jsx(Ae,{className:"size-3"}),"Clear filter"]})]})}function Xy({column:e,joinTable:n,joinLabelColumn:t,joinFkColumn:r}){const o=Be(),i=Ge().findTable(n),l=`query Lookup${n} { ${n}(sort: [${t}_asc], limit: 100) { data { id: ${r} label: ${t} } } }`,{data:c}=je.useQuery({queryKey:["fkLookup",n,t],queryFn:()=>o.query(l),staleTime:300*1e3,enabled:!!i}),d=c?.[n]?.data??[],f=e.getFilterValue(),u=f?.operator==="_eq"&&f.value!=null?String(f.value):"all",m=h=>{if(h==="all"){e.setFilterValue(void 0);return}const g=Number(h),v=Number.isNaN(g)?h:g;e.setFilterValue({operator:"_eq",value:v})},p=()=>{e.setFilterValue(void 0)};return a.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[a.jsxs(dt,{value:u,onValueChange:m,children:[a.jsx(mt,{size:"sm",className:"w-full text-xs",children:a.jsx(ft,{})}),a.jsxs(pt,{children:[a.jsx(Ue,{value:"all",children:"All"}),d.map(h=>a.jsx(Ue,{value:String(h.id),children:String(h.label)},String(h.id)))]})]}),f!==void 0&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:p,children:[a.jsx(Ae,{className:"size-3"}),"Clear filter"]})]})}function jo(e){return(e.columnDef.meta?.paramType??"").replace("!","")}function Qy(e){return jo(e)==="String"}function Zy(e){const n=jo(e);return n==="Int"||n==="Float"}function ew(e){return jo(e)==="DateTime"}function tw(e){return jo(e)==="Boolean"}function nw(e){const n=e.columnDef.meta;return n?.joinTable?{joinTable:n.joinTable,joinLabelColumn:n.joinLabelColumn??"id",joinFkColumn:n.joinFkColumn??"id",isSelfReference:n.isSelfReference===!0}:null}function rw(e){return e.columnDef.meta?.column}function ow(e){const n=e.paramType.replace("!","");if(e.dbType){const t=e.dbType.toUpperCase();return e.maxLength&&(t.includes("VARCHAR")||t.includes("CHAR"))?`${t}(${e.maxLength})`:(t.includes("DECIMAL")||t.includes("NUMERIC"),t)}return n}function sw(e){const n=e.paramType.replace("!","");return e.isPrimaryKey?a.jsx(Qa,{className:"size-3.5"}):n==="Int"||n==="Float"?a.jsx(pp,{className:"size-3.5"}):n==="DateTime"?a.jsx(ap,{className:"size-3.5"}):n==="Boolean"?a.jsx(_p,{className:"size-3.5"}):a.jsx(Mp,{className:"size-3.5"})}function iw({column:e,fkMeta:n}){const t=ow(e),r=e.isNullable,o=e.isPrimaryKey,s=e.isIdentity,i=e.defaultValue;return a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 border-b pb-2",children:[sw(e),a.jsx("span",{className:"font-semibold text-foreground",children:e.label})]}),a.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:[a.jsx("dt",{className:"text-muted-foreground",children:"Type"}),a.jsx("dd",{className:"text-foreground font-medium",children:t}),a.jsx("dt",{className:"text-muted-foreground",children:"Nullable"}),a.jsx("dd",{className:"text-foreground",children:r?"Yes":"No"}),o&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Primary Key"}),a.jsxs("dd",{className:"text-foreground text-primary flex items-center gap-1",children:[a.jsx(Qa,{className:"size-3"}),"Yes"]})]}),s&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Auto Increment"}),a.jsx("dd",{className:"text-foreground",children:"Yes"})]}),n&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Foreign Key"}),a.jsxs("dd",{className:"text-foreground text-primary flex items-center gap-1",children:[a.jsx(Za,{className:"size-3"}),n.joinTable,n.isSelfReference&&a.jsx("span",{className:"ml-1 px-1 rounded bg-primary/10 text-[10px] font-medium",children:"self-ref"})]})]}),i!=null&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Default"}),a.jsx("dd",{className:"text-foreground font-mono text-xs truncate max-w-[150px]",children:String(i)})]}),e.maxLength!==void 0&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Max Length"}),a.jsx("dd",{className:"text-foreground",children:e.maxLength})]}),e.min!==void 0&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Min"}),a.jsx("dd",{className:"text-foreground",children:e.min})]}),e.max!==void 0&&a.jsxs(a.Fragment,{children:[a.jsx("dt",{className:"text-muted-foreground",children:"Max"}),a.jsx("dd",{className:"text-foreground",children:e.max})]})]})]})}function wn({column:e,table:n,title:t}){const r=n.options.meta?.onResetColumnWidths;if(!e.getCanSort())return a.jsx("span",{children:t});const o=e.getIsSorted(),s=e.getFilterValue()!==void 0,i=nw(e),l=!i&&Qy(e),c=!i&&Zy(e),d=!i&&ew(e),f=!i&&tw(e),u=rw(e),m=a.jsxs(X,{variant:"ghost",size:"sm",className:ee("-ml-2 h-7 text-xs data-[state=open]:bg-accent",o&&"text-foreground"),children:[a.jsx("span",{children:t}),s&&a.jsx(Ht,{className:"size-3 text-primary"}),o==="desc"?a.jsx(Ua,{className:"size-4"}):o==="asc"?a.jsx(Ya,{className:"size-4"}):a.jsx(Ka,{className:"size-4"})]});return a.jsxs(nr,{openDelay:400,closeDelay:200,children:[a.jsxs(Rd,{children:[a.jsx(Td,{asChild:!0,children:a.jsx(rr,{asChild:!0,children:m})}),a.jsxs(Fd,{align:"start",children:[a.jsxs(Qn,{onClick:()=>e.toggleSorting(!1),children:[a.jsx(Ya,{className:"size-3.5 text-muted-foreground"}),"Asc"]}),a.jsxs(Qn,{onClick:()=>e.toggleSorting(!0),children:[a.jsx(Ua,{className:"size-3.5 text-muted-foreground"}),"Desc"]}),o&&a.jsxs(Qn,{onClick:()=>e.clearSorting(),children:[a.jsx(Ka,{className:"size-3.5 text-muted-foreground"}),"Clear"]}),l&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Zn,{children:[a.jsxs(er,{children:[a.jsx(Ht,{className:ee("size-3.5",s?"text-primary":"text-muted-foreground")}),"Filter"]}),a.jsx(tr,{children:a.jsx(Hy,{column:e})})]})]}),c&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Zn,{children:[a.jsxs(er,{children:[a.jsx(Ht,{className:ee("size-3.5",s?"text-primary":"text-muted-foreground")}),"Filter"]}),a.jsx(tr,{children:a.jsx(Wy,{column:e})})]})]}),d&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Zn,{children:[a.jsxs(er,{children:[a.jsx(Ht,{className:ee("size-3.5",s?"text-primary":"text-muted-foreground")}),"Filter"]}),a.jsx(tr,{children:a.jsx(Uy,{column:e})})]})]}),f&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Zn,{children:[a.jsxs(er,{children:[a.jsx(Ht,{className:ee("size-3.5",s?"text-primary":"text-muted-foreground")}),"Filter"]}),a.jsx(tr,{children:a.jsx(Jy,{column:e})})]})]}),i&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Zn,{children:[a.jsxs(er,{children:[a.jsx(Ht,{className:ee("size-3.5",s?"text-primary":"text-muted-foreground")}),"Filter"]}),a.jsx(tr,{children:a.jsx(Xy,{column:e,joinTable:i.joinTable,joinLabelColumn:i.joinLabelColumn,joinFkColumn:i.joinFkColumn})})]})]}),e.getCanHide()&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Qn,{onClick:()=>e.toggleVisibility(!1),children:[a.jsx(fp,{className:"size-3.5 text-muted-foreground"}),"Hide"]})]}),r&&a.jsxs(a.Fragment,{children:[a.jsx(Zt,{}),a.jsxs(Qn,{onClick:r,children:[a.jsx(yp,{className:"size-3.5 text-muted-foreground"}),"Reset column widths"]})]})]})]}),u&&a.jsx(or,{align:"start",className:"w-64",children:a.jsx(iw,{column:u,fkMeta:i})})]})}function aw(e,n){if(e==null)return null;switch(n){case"Int":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?Math.trunc(t):e}case"Float":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:e}case"Boolean":return typeof e=="boolean"?e:e==="true"||e===1?!0:e==="false"||e===0?!1:!!e;default:return String(e)}}function lw(e){return e?.paramType?.replace("!","")??"String"}function Sn(e){return(e.sourceColumnNames?.length??0)>1}function cw(e,n,t,r="fk"){if(!e)return null;const o=n.sourceColumnNames??[],s=n.destinationColumnNames??[];if(o.length===0||o.length!==s.length)return null;const i=new Map((t?.columns??[]).map(u=>[u.name,u])),l=[],c={},d=[];for(let u=0;u<o.length;u++){const m=o[u],p=s[u];if(!(m in e))return null;const h=lw(i.get(p)),g=`${r}_${p}`;c[g]=aw(e[m],h),d.push(`$${g}: ${h}`),l.push(`{${p}: {_eq: $${g}}}`)}return{filterText:l.length===1?l[0]:`{and: [${l.join(", ")}]}`,variables:c,params:d}}function Cn({kind:e}){return a.jsx("span",{className:"text-muted-foreground/60 italic select-none",children:e==="null"?"NULL":"empty"})}const uw="display-format",dw="display-format-preview",fw=new Set(["date","datetime","time","relative","number","percent","raw"]);function mw(e){return{param:(e.paramType??"").replace("!","").toLowerCase(),db:(e.dbType??"").toLowerCase()}}function pw({param:e,db:n}){return e==="date"||n==="date"}function hw({param:e,db:n}){return e==="datetime"||e==="datetimeoffset"||n.includes("datetime")||n==="timestamp"||n==="smalldatetime"}function gw(e,n){const r=(n?e.metadata?.[n]:void 0)??e.metadata?.[uw];if(typeof r=="string"&&fw.has(r.toLowerCase()))return r.toLowerCase();const o=mw(e);return hw(o)?"datetime":pw(o)?"date":null}function vw(e){if(e instanceof Date)return isNaN(e.getTime())?null:e;if(typeof e=="number"){const n=new Date(e);return isNaN(n.getTime())?null:n}if(typeof e=="string"){const n=new Date(e);return isNaN(n.getTime())?null:n}return null}const xw=new Intl.DateTimeFormat(void 0,{dateStyle:"medium"}),bw=new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}),yw=new Intl.DateTimeFormat(void 0,{timeStyle:"short"}),ww=new Intl.DateTimeFormat(void 0,{dateStyle:"full",timeStyle:"medium"}),Dd=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"}),Sw=[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60],["second",1]];function Cw(e,n=new Date){const t=Math.round((e.getTime()-n.getTime())/1e3),r=Math.abs(t);for(const[o,s]of Sw)if(r>=s||o==="second")return Dd.format(Math.round(t/s),o);return Dd.format(0,"second")}function Eo(e,n,t){if(e==null)return a.jsx(Cn,{kind:"null"});if(e==="")return a.jsx(Cn,{kind:"empty"});const r=gw(n,t?.formatKey);if(r===null||r==="raw")return String(e);if(r==="date"||r==="datetime"||r==="time"||r==="relative"){const o=vw(e);if(!o)return String(e);const s=ww.format(o);if(r==="relative")return a.jsx("span",{title:s,className:"cursor-help underline decoration-dotted decoration-muted-foreground/40 underline-offset-2",children:Cw(o)});const i=(r==="date"?xw:r==="time"?yw:bw).format(o);return a.jsx("span",{title:s,children:i})}if(r==="number"||r==="percent"){const o=typeof e=="number"?e:Number(e);if(isNaN(o))return String(e);const s=r==="percent"?new Intl.NumberFormat(void 0,{style:"percent",maximumFractionDigits:2}).format(o):new Intl.NumberFormat(void 0).format(o);return a.jsx("span",{title:String(e),children:s})}return String(e)}const _w=5,Mw=400,jw=200;function Ew(e){return e.filter(n=>!n.isPrimaryKey).slice(0,_w)}function Nw(e,n,t,r){const o=n.map(i=>i.name).join(" ");return`query FkPreview($id: ${r==="Int"||r==="Int!"?"Int":"String"}) { ${e}(filter: { ${t}: { _eq: $id } } limit: 1) { data { ${o} } } }`}function kw(e,n,t,r){const o=n.map(s=>s.name).join(" ");return`query FkPreview(${t}) { ${e}(filter: ${r} limit: 1) { data { ${o} } } }`}function Rw(e,n,t,r,o,s,i){if(t.length===0)return null;if(r&&Sn(r)&&o){const f=cw(o,r,n);if(!f)return null;const u=f.params.join(", ");return{query:kw(e,t,u,f.filterText),variables:f.variables,cacheKey:f.variables}}const l=n.columns.find(f=>f.name===i)?.paramType??"Int",d={id:["Int","Int!","Float","Float!"].includes(l)?Number(s):s};return{query:Nw(e,t,i,l),variables:d,cacheKey:s}}function Tw({tableName:e,recordId:n,filterColumn:t,join:r,sourceRow:o,children:s}){const[i,l]=M.useState(!1),c=Ge(),d=Be(),f=c.findTable(e),u=f?Ew(f.columns):[],m=f?Rw(e,f,u,r,o,n,t):null,{data:p,isLoading:h}=je.useQuery({queryKey:["fkPreview",e,m?.cacheKey],queryFn:()=>d.query(m.query,m.variables),enabled:i&&!!m,staleTime:300*1e3}),g=p?.[e]?.data?.[0];return a.jsxs(nr,{openDelay:Mw,closeDelay:jw,open:i,onOpenChange:l,children:[a.jsx(rr,{asChild:!0,children:s}),a.jsx(or,{align:"start",className:"w-72",children:a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-sm font-semibold text-foreground",children:f?.label??e}),h&&a.jsx("p",{className:"text-xs text-muted-foreground",children:"Loading..."}),g&&a.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:u.map(v=>a.jsxs("div",{className:"contents",children:[a.jsx("dt",{className:"text-muted-foreground truncate",children:v.label}),a.jsx("dd",{className:"text-foreground truncate",children:Eo(g[v.name],v,{formatKey:dw})})]},v.name))}),!h&&!g&&i&&a.jsx("p",{className:"text-xs text-muted-foreground",children:"Record not found"})]})})]})}const Fw=new Set(["binary","varbinary","image","blob","tinyblob","mediumblob","longblob","bytea"]),Pw=new Set(["text","ntext","xml"]),Iw=new Set(["json","jsonb"]);function sr(e){return Fw.has(e.toLowerCase().replace(/\(.*\)/,""))}function Od(e){return Iw.has(e.toLowerCase().replace(/\(.*\)/,""))}function No(e){const n=e.toLowerCase(),t=n.replace(/\(.*\)/,"");return!!(Pw.has(t)||n.includes("(max)"))}function Mi(e,n){if(!e)return"text";if(n&&sr(n))return"binary";if(n&&Od(n))return"json";const t=e.trimStart();if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t),"json"}catch{}return t.startsWith("<?xml")||t.startsWith("<")&&t.includes("</")&&t.endsWith(">")?"xml":/^[aOsidb]:\d+[:{;]/.test(t)?"php-serialized":e.length>200||e.includes(`
118
- `)?"longtext":"text"}const Vd=80;function Aw(e){return e.length<=Vd?e:e.slice(0,Vd)+"..."}function $w(e){const n=Math.ceil(e.length*3/4);return n<1024?`${n} bytes`:n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/(1024*1024)).toFixed(1)} MB`}const Dw={json:Ja,xml:Xa,"php-serialized":An,binary:Rr,longtext:Fr,text:Fr},Ow={json:"JSON",xml:"XML","php-serialized":"PHP",binary:"Binary",longtext:"Text",text:"Text"};function Vw(e,n){if(n==="json")try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return e}function Lw({value:e,dbType:n,onExpand:t}){if(e==null)return a.jsx(Cn,{kind:"null"});const r=typeof e=="object"?JSON.stringify(e):String(e);if(r==="")return a.jsx(Cn,{kind:"empty"});const o=Mi(r,n);if(o==="text")return a.jsx("span",{children:r});if(o==="binary")return a.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[a.jsx(Rr,{className:"size-3.5"}),a.jsx("span",{className:"text-xs font-mono",children:$w(r)}),t&&a.jsx("button",{type:"button",className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:c=>{c.stopPropagation(),t()},"aria-label":"Expand content",children:a.jsx(fs,{className:"size-3"})})]});const s=Dw[o],i=Aw(r);return r.length>80||o==="json"||o==="xml"||o==="php-serialized"?a.jsxs(nr,{openDelay:300,closeDelay:200,children:[a.jsx(rr,{asChild:!0,children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 text-left hover:text-primary transition-colors max-w-full",children:[a.jsx(s,{className:"size-3 text-muted-foreground shrink-0"}),a.jsx("span",{className:"font-mono text-xs truncate",children:i}),t&&a.jsx("span",{role:"button",tabIndex:0,className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:c=>{c.stopPropagation(),c.preventDefault(),t()},onKeyDown:c=>{c.key==="Enter"&&(c.stopPropagation(),t())},"aria-label":"Expand content",children:a.jsx(fs,{className:"size-3"})})]})}),a.jsxs(or,{side:"bottom",align:"start",className:"w-[420px] max-h-[320px] p-0",children:[a.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 border-b border-border bg-muted/30",children:[a.jsx(s,{className:"size-3.5 text-muted-foreground"}),a.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:Ow[o]}),a.jsxs("span",{className:"text-xs text-muted-foreground ml-auto",children:[r.length," chars"]})]}),a.jsx("pre",{className:"p-3 text-xs font-mono overflow-auto max-h-[280px] whitespace-pre-wrap break-all",children:Vw(r,o)})]})]}):a.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[a.jsx(s,{className:"size-3 text-muted-foreground shrink-0"}),a.jsx("span",{className:"font-mono text-xs",children:r}),t&&a.jsx("button",{type:"button",className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:c=>{c.stopPropagation(),t()},"aria-label":"Expand content",children:a.jsx(fs,{className:"size-3"})})]})}const Ld="::";function zw(e){return e==null?"":encodeURIComponent(String(e))}function zd(e){if(e==="")return null;try{return decodeURIComponent(e)}catch{return e}}function ir(e){return e.map(zw).join(Ld)}function ar(e,n,t){const r=n.primaryKeys??[];return r.length===0?`row-${t}`:ir(r.map(o=>e?.[o]))}function ko(e,n){const t=n.primaryKeys??[];if(t.length===0||e==null)return null;const r={};for(const o of t){if(!(o in e))return null;r[o]=e[o]}return r}function Bw(e,n){if(e==null)return null;switch(n){case"Int":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?Math.trunc(t):e}case"Float":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:e}case"Boolean":return typeof e=="boolean"?e:e==="true"||e===1?!0:e==="false"||e===0?!1:!!e;default:return String(e)}}function Gw(e){return e?.paramType?.replace("!","")??"String"}function Bd(e,n){const t=ko(e,n);if(!t)return null;const r=new Map((n.columns??[]).map(c=>[c.name,c])),o=[],s={},i=[];for(const c of n.primaryKeys??[]){const d=Gw(r.get(c)),f=`pk_${c}`;s[f]=Bw(t[c],d),i.push(`$${f}: ${d}`),o.push(`{${c}: {_eq: $${f}}}`)}return{filterText:o.length===1?o[0]:`{and: [${o.join(", ")}]}`,variables:s,params:i}}function Hw(e,n){const t=n.primaryKeys??[];return t.length===0?"":ir(t.map(r=>e[r]))}function ji(e,n){const t=n.primaryKeys??[];if(t.length===0)return null;if(t.length===1)return{[t[0]]:zd(e)};const r=e.split(Ld);if(r.length!==t.length)return null;const o={};for(let s=0;s<t.length;s++)o[t[s]]=zd(r[s]);return o}function qw(e,n,t){if(!e)return;const r=e.filter(o=>o.destinationTable===n);if(r.length!==0){if(r.length===1)return r[0];if(t){const o=r.find(s=>s.destinationColumnNames?.[0]===t);if(o)return o}return r[0]}}function Ww(e){return e.fieldName??e.destinationTable}const Gd={String:["_eq","_neq","_contains","_starts_with","_ends_with","_null"],Int:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],Float:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],Boolean:["_eq","_null"],DateTime:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"]},Uw=/^[_A-Za-z][_0-9A-Za-z]*$/,Kw=/^[_A-Za-z][_0-9A-Za-z]*!?$/;function Hd(e){return typeof e=="string"&&Uw.test(e)}function Yw(e){return typeof e=="string"&&Kw.test(e)}function qd(e,n){return typeof e=="string"&&Wd(n).includes(e)}function Wd(e){const n=e.replace("!","");return Gd[n]??Gd.String}function Ud(e){try{if(!e)return{variables:{},param:"",filterText:""};const[n,t,r,o]=JSON.parse(e);return!Hd(n)||!Yw(o)||!qd(t,o)?{variables:{},param:"",filterText:""}:{variables:{filter:r},param:`, $filter: ${o}`,filterText:`{${n}: {${t}: $filter} }`}}catch{return{variables:{},param:"",filterText:""}}}function Kd(e){if(!e)return"";const n=new Date(e);return n.toString()==="Invalid Date"||n<new Date("1973-01-01")?"":n.toLocaleString()}function Jw(e,n){const t=n.primaryKeys??[];return t.length===0?ir([e?.id]):t.length===1?ir([e?.[t[0]]]):ar(e,n,0)}function Xw(e){switch(e.replace("!","")){case"Int":return"Int";case"Float":return"Float";case"Boolean":return"Boolean";case"DateTime":return"String";default:return"String"}}function Yd(e,n){const t={},r=[],o=[];for(let s=0;s<e.length;s++){const i=e[s],l=i.value;if(l.value===void 0||l.value===null||l.value==="")continue;const c=n.columns.find(u=>u.name===i.id);if(!c||!Hd(i.id)||!qd(l.operator,c.paramType))continue;const d=`cf_${i.id}_${s}`,f=Xw(c.paramType);if(l.operator==="_null"){o.push(`{${i.id}: {_null: ${l.value?"true":"false"}}}`);continue}if(l.operator==="_between"){const u=l.value;if(!Array.isArray(u)||u.length!==2)continue;const m=`${d}_lo`,p=`${d}_hi`;t[m]=u[0],t[p]=u[1],r.push(`$${m}: ${f}`,`$${p}: ${f}`),o.push(`{${i.id}: {_between: [$${m}, $${p}]}}`);continue}t[d]=l.value,r.push(`$${d}: ${f}`),o.push(`{${i.id}: {${l.operator}: $${d}}}`)}return{variables:t,params:r,filterTexts:o}}function Qw(e){return e.length===0?"":JSON.stringify(e.map(n=>[n.id,n.value.operator,n.value.value]))}function Zw(e){try{return e?JSON.parse(e).map(([t,r,o])=>({id:t,value:{operator:r,value:o}})):[]}catch{return[]}}function Jd(e){return lr(e)[0]?.gqlType??"Int"}function lr(e){const n=e.primaryKeys??[];if(n.length===0)return[];const t=new Map(e.columns.map(r=>[r.name,r]));return n.map(r=>({name:r,gqlType:t.get(r)?.paramType?.replace("!","")??"String"}))}function eS(e,n){if(e==null)return null;switch(n){case"Int":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?Math.trunc(t):e}case"Float":{const t=typeof e=="number"?e:Number(e);return Number.isFinite(t)?t:e}case"Boolean":return typeof e=="boolean"?e:e==="true"||e===1;default:return String(e)}}function Ei(e,n){if(lr(n).length<=1)return{id:eS(e,Jd(n))};const r=ji(e,n);return r?Bd(r,n)?.variables??{}:{}}function tS(e,n){return n.map(t=>{const r=e.findTable(t.destinationTable),o=r?.labelColumn??"id",i=[...r?.primaryKeys?.length?r.primaryKeys:["id"]];return o&&!i.includes(o)&&i.push(o),`${t.fieldName??t.destinationTable} { data { ${i.join(" ")} } }`}).join(" ")}function nS(e,n,t,r,o,s,i){if(!e||!n?.data)return null;const l=n.findTable(e.graphQlName);if(!l)return null;const c=Jd(l),d=lr(l),f=d[0]?.name??"id";let{param:u,filterText:m}=Ud(t);const{params:p,filterTexts:h}=Yd(r,e);p.length>0&&(u+=p.map(_=>`, ${_}`).join(""));const g=[];m&&g.push(m),g.push(...h),g.length>1?m=`{and: [${g.join(", ")}]}`:g.length===1?m=g[0]:m="";const v=new Set,y=e.columns.filter(_=>_?.joinTable===void 0).map(_=>{const E=l.singleJoins.find(w=>w.sourceColumnNames?.[0]===_.name);if(!E)return _;const N=n.findTable(E.destinationTable)?.labelColumn??"id";return{..._,joinTable:E,joinLabelColumn:N}}).map(_=>{if(_?.joinTable){v.add(_.name);const E=n.findTable(_.joinTable.destinationTable),C=E?.primaryKeys?.length?E.primaryKeys:_.joinTable.destinationColumnNames,N=_.joinLabelColumn??"id",w=N&&!C.includes(N)?` label: ${N}`:"";return C.length===1?`${_.name} ${_.joinTable.destinationTable} { id: ${C[0]}${w} }`:`${_.name} ${_.joinTable.destinationTable} { ${C.join(" ")}${w} }`}return _.name}).join(" "),b=tS(n,l.multiJoins),S=b?`${y} ${b}`:y;if(o&&(i||s)){const _=Ni(e,n,s,i);if(_){const E=`${_.childField}(limit: $limit offset: $offset sort: $sort) { total offset limit data {${S}} }`,C=lr(_.parentTable);if(C.length<=1){const R=C[0]?.name??"id";u=`, $id: ${C[0]?.gqlType??"Int"}`;const P=`{ ${R}: { _eq: $id}}`;return`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${u}) { ${_.parentTable.name}(filter: ${P}) { data { ${E} } } }`}u=`, ${C.map(R=>`$pk_${R.name}: ${R.gqlType}`).join(", ")}`;const k=`{and: [${C.map(R=>`{${R.name}: {_eq: $pk_${R.name}}}`).join(", ")}]}`;return`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${u}) { ${_.parentTable.name}(filter: ${k}) { data { ${E} } } }`}}return o&&!s&&!i&&(d.length<=1?(u=`, $id: ${c}`,m=`{ ${f}: { _eq: $id}}`):(u=`, ${d.map(E=>`$pk_${E.name}: ${E.gqlType}`).join(", ")}`,m=`{and: [${d.map(E=>`{${E.name}: {_eq: $pk_${E.name}}}`).join(", ")}]}`)),m&&(m=`filter: ${m}`),`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${u}) { ${e.name}(sort: $sort limit: $limit offset: $offset ${m}) { total offset limit data {${S}}}}`}const rS={data:[],total:0,offset:0,limit:0};function oS(e,n,t){const s=e?.[n]?.data?.[0]?.[t];return!s||!Array.isArray(s.data)?rS:s}function Ni(e,n,t,r){const o=t??n.findTable(e.graphQlName)?.singleJoins.find(l=>l.destinationTable===r)?.destinationTable;if(!o)return null;const s=n.findTable(o);if(!s)return null;const i=qw(s.multiJoins,e.graphQlName,r);return i?{parentTable:s,childField:Ww(i)}:null}function Xd(e,n){return e?!n||(n.primaryKeys?.length??0)<=1?String(e?.id??""):ar(e,n,0):""}function sS(e,n){const t=Math.max(0,n-1);return e<0?0:e>t?t:e}function iS(e,n){const t=n.fieldName??n.destinationTable;return e[t]?.data??[]}const aS=(e,n,t,r)=>{if(!e||!n)return[];const o=e.columns.map(i=>{const l=e.singleJoins.find(u=>u.sourceColumnNames?.[0]===i.name),c=l?void 0:e.singleJoins.find(u=>(u.sourceColumnNames??[]).includes(i.name)),d=Wd(i.paramType);if(l){const u=l.destinationTable,m=n.findTable(l.destinationTable),p=m?.labelColumn??"id",h=Sn(l),g=l.destinationTable===e.name,v=g?`Parent ${i.label}`:i.label;return{id:i.name,accessorKey:i.name,header:({column:y,table:b})=>a.jsx(wn,{column:y,table:b,title:v}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,filterOperators:d,joinTable:l.destinationTable,joinLabelColumn:p,joinFkColumn:l.destinationColumnNames[0],column:i,isSelfReference:g,isCompositeFk:h},cell:({row:y})=>{const b=y.original[u];if(!b)return a.jsx(Cn,{kind:"null"});const S=Xd(b,m);return a.jsxs("span",{className:"group/fk inline-flex items-center gap-0.5",children:[a.jsx(Tw,{tableName:l.destinationTable,recordId:S,filterColumn:l.destinationColumnNames[0],join:l,sourceRow:y.original,children:a.jsx(In,{to:"/"+m?.name+"/"+S,className:"text-primary hover:text-primary/80 hover:underline",children:b?.label})}),r&&a.jsx(X,{variant:"ghost",size:"icon-sm",className:"opacity-0 group-hover/fk:opacity-100 size-5 shrink-0",onClick:_=>{_.stopPropagation(),r({tableName:l.destinationTable,filterId:S})},"aria-label":"Open in side column",title:"Open in side column",children:a.jsx(Pr,{className:"size-3"})})]})}}}if(c){const m=n.findTable(c.destinationTable)?.labelColumn??"id",p=c.destinationTable===e.name;return{id:i.name,accessorFn:h=>i.name?String(h?.[i.name]??""):"",cell:({row:h})=>Eo(h.original[i.name],i),header:({column:h,table:g})=>a.jsx(wn,{column:h,table:g,title:i.label}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,dbType:i.dbType,filterOperators:d,joinTable:c.destinationTable,joinLabelColumn:m,joinFkColumn:c.destinationColumnNames[(c.sourceColumnNames??[]).indexOf(i.name)]??c.destinationColumnNames[0],column:i,isSelfReference:p,isCompositeFk:!0,isCompositeFkMember:!0}}}return i?.joinTable?{id:i.name,accessorKey:i.name,header:({column:u,table:m})=>a.jsx(wn,{column:u,table:m,title:i.label}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,filterOperators:d,column:i},cell:({row:u})=>{const m=u.original[i.name];return m?a.jsx(In,{to:"/"+i.name+"/"+Xd(m,void 0),className:"text-primary hover:text-primary/80 hover:underline",children:i.name}):null}}:i?.paramType==="DateTime"?{id:i.name,accessorFn:u=>Kd(u?.[i.name]),cell:({row:u})=>{const m=u.original[i.name];return m==null||m===""?a.jsx(Cn,{kind:m===""?"empty":"null"}):Kd(m)},header:({column:u,table:m})=>a.jsx(wn,{column:u,table:m,title:i.label}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,dbType:i.dbType,filterOperators:d,column:i}}:No(i.dbType)||sr(i.dbType)||Od(i.dbType)||i.paramType==="JSON"?{id:i.name,accessorFn:u=>i.name?String(u?.[i.name]??""):"",header:({column:u,table:m})=>a.jsx(wn,{column:u,table:m,title:i.label}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,dbType:i.dbType,filterOperators:d,column:i},cell:({row:u})=>a.jsx(Lw,{value:u.original[i.name],dbType:i.dbType,onExpand:t?()=>t(u.index,i.name):void 0})}:{id:i.name,accessorFn:u=>i.name?String(u?.[i.name]??""):"",cell:({row:u})=>Eo(u.original[i.name],i),header:({column:u,table:m})=>a.jsx(wn,{column:u,table:m,title:i.label}),enableSorting:!0,meta:{sortField:i.name,paramType:i.paramType,dbType:i.dbType,filterOperators:d,column:i}}}),s=e.multiJoins.map(i=>{const l=n.findTable(i.destinationTable),c=l?.labelColumn??"id",f=i.destinationTable===e.name?`Child ${l?.label??i.destinationTable}`:l?.label??i.destinationTable;return{id:`join_${i.fieldName??i.destinationTable}`,header:f,enableSorting:!1,enableHiding:!0,cell:({row:u})=>{const m=Jw(u.original,e),p=iS(u.original,i),h=p.length;if(h===0)return a.jsx("span",{className:"text-muted-foreground",children:"—"});const g=p.slice(0,10).map(y=>String(y[c]??"")).filter(Boolean),v=l?.label??i.destinationTable;return a.jsxs("span",{className:"group/fk inline-flex items-center gap-1",children:[a.jsxs(nr,{openDelay:300,closeDelay:100,children:[a.jsx(rr,{asChild:!0,children:a.jsxs(In,{to:"/"+l?.name+"/from/"+e.name+"/"+m,className:"inline-flex items-center gap-1 rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-primary hover:bg-muted hover:border-primary/40 transition-colors",children:[a.jsx(el,{className:"size-3"}),h]})}),a.jsxs(or,{align:"start",sideOffset:6,className:"w-auto max-w-xs p-3",children:[a.jsxs("div",{className:"flex items-center gap-2 border-b pb-2 mb-2",children:[a.jsx(el,{className:"size-3.5 text-primary"}),a.jsxs("span",{className:"text-xs font-semibold text-foreground",children:[h," ",v]})]}),a.jsxs("ul",{className:"space-y-0.5 text-xs text-foreground",children:[g.map((y,b)=>a.jsx("li",{className:"truncate",children:y},b)),h>10&&a.jsxs("li",{className:"text-muted-foreground italic",children:["… and ",h-10," more"]})]})]})]}),r&&a.jsx(X,{variant:"ghost",size:"icon-sm",className:"opacity-40 group-hover/fk:opacity-100 size-5 shrink-0 transition-opacity",onClick:y=>{y.stopPropagation(),r({tableName:i.destinationTable,filterTable:e.name,filterId:m,...Sn(i)?{}:{filterColumn:i.destinationColumnNames[0]}})},"aria-label":"Open in side column",title:"Open in side column",children:a.jsx(Pr,{className:"size-3"})})]})}}});return[...o,...s]};function lS(e,n,t,r,o){if(!r&&!o)return Ei(e,n);const s=Ni(n,t,r,o);return s?Ei(e,s.parentTable):Ei(e,n)}function cS(e,n,t,r,o,s){const{search:i}=Oa(),l=Nr(),c=i.get("filter")??"",d=i.get("cf")??"",{variables:f}=Ud(c),u=Ge(),m=Be(),[p,h]=M.useState([]),[g,v]=M.useState(()=>Zw(d)),[y,b]=M.useState(0),[S,_]=M.useState(50),E=M.useRef(e);e&&e!==E.current&&(E.current=e,p.length>0&&h([]),g.length>0&&v([]),y!==0&&b(0));const C=M.useMemo(()=>{if(p.length>0&&e){const H=p[0];if(e.columns.some(V=>V.name===H.id))return[`${H.id}_${H.desc?"desc":"asc"}`]}return e?[`${e.columns.at(0)?.name??"id"}_asc`]:[]},[p,e]),N=M.useMemo(()=>nS(e,u,c,g,n,t,r),[e,u,c,g,n,t,r]),w=M.useMemo(()=>e?Yd(g,e).variables:{},[g,e]),k=y*S,R=M.useMemo(()=>({sort:C,limit:S,offset:k,...n&&e?lS(n,e,u,t,r):{},...f,...w}),[C,S,k,n,e,u,t,r,f,w]),{isLoading:F,error:P,data:$}=je.useQuery({queryKey:["tableData",e?.name,N,R],queryFn:()=>m.query(N,R),enabled:!!N&&!!e&&C.length>0}),A=M.useMemo(()=>e?aS(e,u,o,s):[],[e,u,o,s]),L=M.useMemo(()=>n&&(t||r)&&e?Ni(e,u,t,r):null,[n,t,r,e,u]);let T,B;if(L){const H=oS($,L.parentTable.name,L.childField);T=H.data,B=H.total}else{const H=$?.[e?.name??""];T=H?.data??[],B=H?.total??0}const z=Math.max(1,Math.ceil(B/S));M.useEffect(()=>{const H=sS(y,z);H!==y&&b(H)},[y,z]);const O=M.useCallback(H=>{const J=new URLSearchParams(i),V=Qw(H);V?J.set("cf",V):J.delete("cf");const oe=J.toString();l(oe?`?${oe}`:"?")},[i,l]),D=M.useCallback(H=>{h(H),b(0)},[]),ue=M.useCallback(H=>{v(H),b(0),O(H)},[O]),be=M.useCallback(H=>{b(H)},[]),we=M.useCallback(H=>{_(H),b(0)},[]),ge=e?.primaryKeys??[];return{columns:A,sorting:p,columnFilters:g,primaryKeys:ge,pageIndex:y,pageSize:S,pageCount:z,rows:T,loading:F,error:P,onSortingChange:D,onColumnFiltersChange:ue,onPageIndexChange:be,onPageSizeChange:we}}function uS(e){return typeof e=="object"&&e!==null}function Qd(e,n){if(e==null)return null;if(!n)return e;const t=n.replace("!","");if(t==="Int"){const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?Math.trunc(r):e}if(t==="Float"){const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?r:e}return t==="Boolean"?typeof e=="boolean"?e:e==="true"||e===1:String(e)}function Zd(e){const n=Be(),t=je.useQueryClient(),r=M.useMemo(()=>{const p=new Map;for(const h of e.columns)p.set(h.name,h.paramType);return p},[e]),o=M.useMemo(()=>{const p=e.primaryKeys??[];return p.length>0?p:["id"]},[e]),s=p=>{const h={};if(uS(p)){for(const v of o)h[v]=Qd(p[v],r.get(v));return h}const g=o[0];return h[g]=Qd(p,r.get(g)),h},i=M.useMemo(()=>`mutation deleteSingle($detail: Delete_${e.name}){
77
+ }`;class lo extends Error{constructor(n,r){super(n.map(s=>s.message).join("; ")),this.errors=n,this.data=r,this.name="GraphQLRequestError"}errors;data}class rr{constructor(n){this.uri=n}uri;async query(n,r,s){const o=await fetch(this.uri,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:n,variables:r}),signal:s?.signal});if(!o.ok)throw new Error(`GraphQL request failed: ${o.status} ${o.statusText}`);const i=await o.json();if(i.errors?.length)throw new lo(i.errors,i.data);return i.data}}const sr=c.createContext(null),co=sr.Provider;function Ce(){const e=c.useContext(sr);if(!e)throw new Error("useFetcher must be used within a FetcherProvider");return e}function uo(e){const n=e.lastIndexOf(".");return n>=0?e.slice(n+1):e}function mo(e){return uo(e).replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").split(/[_\-\s]+/).filter(Boolean)}function fo(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}function Ht(e){return e&&mo(e).map(fo).join(" ")}const or=c.createContext({loading:!0,error:null,data:[],findTable:()=>{}}),po=({children:e})=>{const n=ho();return t.jsx(or.Provider,{value:n,children:e})};function Pe(){return c.useContext(or)}function ho(){const e=Ce(),{isLoading:n,error:r,data:s}=me.useQuery({queryKey:["dbSchema"],queryFn:()=>e.query(io),staleTime:1/0});return c.useMemo(()=>{if(n)return{loading:!0,error:null,data:[],findTable:()=>{}};if(r)return{loading:!1,error:{message:r.message},data:[],findTable:()=>{}};if(!s)return{loading:!1,error:null,data:[],findTable:()=>{}};const o=s._dbSchema.map(a=>({...a,name:a.graphQlName,label:Ht(a.dbName),metadata:ar(a.metadata),columns:a.columns.map(l=>({...l,name:l.graphQlName,label:Ht(l.dbName),metadata:ar(l.metadata),inputType:yo(l.inputType)}))}));return{loading:!1,error:null,data:o,findTable:a=>o.find(l=>l.graphQlName===a)}},[n,r,s])}function ar(e){return e.reduce((n,r)=>({...n,[r.key]:xo(r)}),{})}function xo({key:e,value:n}){return e==="type"?go(n):n}function go(e){const n=e.match(/lookup\s*\(\s*(?<id>\w+)\s*,\s*(?<label>\w+)\s*\)/m);if(n?.groups?.id&&n?.groups?.label)return{type:"lookup",id:n.groups.id,label:n.groups.label}}const bo=["text","email","url","tel","date","datetime-local","number","password","search"];function yo(e){if(e&&bo.includes(e))return e}function ir(e){var n,r,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(n=0;n<o;n++)e[n]&&(r=ir(e[n]))&&(s&&(s+=" "),s+=r)}else for(r in e)e[r]&&(s&&(s+=" "),s+=r);return s}function lr(){for(var e,n,r=0,s="",o=arguments.length;r<o;r++)(e=arguments[r])&&(n=ir(e))&&(s&&(s+=" "),s+=n);return s}const cr=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,dr=lr,ur=(e,n)=>r=>{var s;if(n?.variants==null)return dr(e,r?.class,r?.className);const{variants:o,defaultVariants:i}=n,a=Object.keys(o).map(d=>{const p=r?.[d],m=i?.[d];if(p===null)return null;const h=cr(p)||cr(m);return o[d][h]}),l=r&&Object.entries(r).reduce((d,p)=>{let[m,h]=p;return h===void 0||(d[m]=h),d},{}),u=n==null||(s=n.compoundVariants)===null||s===void 0?void 0:s.reduce((d,p)=>{let{class:m,className:h,...x}=p;return Object.entries(x).every(g=>{let[b,k]=g;return Array.isArray(k)?k.includes({...i,...l}[b]):{...i,...l}[b]===k})?[...d,m,h]:d},[]);return dr(e,a,u,r?.class,r?.className)},vo=(e,n)=>{const r=new Array(e.length+n.length);for(let s=0;s<e.length;s++)r[s]=e[s];for(let s=0;s<n.length;s++)r[e.length+s]=n[s];return r},jo=(e,n)=>({classGroupId:e,validator:n}),mr=(e=new Map,n=null,r)=>({nextPart:e,validators:n,classGroupId:r}),Qt="-",fr=[],No="arbitrary..",wo=e=>{const n=ko(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Co(a);const l=a.split(Qt),u=l[0]===""&&l.length>1?1:0;return pr(l,u,n)},getConflictingClassGroupIds:(a,l)=>{if(l){const u=s[a],d=r[a];return u?d?vo(d,u):u:d||fr}return r[a]||fr}}},pr=(e,n,r)=>{if(e.length-n===0)return r.classGroupId;const o=e[n],i=r.nextPart.get(o);if(i){const d=pr(e,n+1,i);if(d)return d}const a=r.validators;if(a===null)return;const l=n===0?e.join(Qt):e.slice(n).join(Qt),u=a.length;for(let d=0;d<u;d++){const p=a[d];if(p.validator(l))return p.classGroupId}},Co=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=e.slice(1,-1),r=n.indexOf(":"),s=n.slice(0,r);return s?No+s:void 0})(),ko=e=>{const{theme:n,classGroups:r}=e;return To(r,n)},To=(e,n)=>{const r=mr();for(const s in e){const o=e[s];pn(o,r,s,n)}return r},pn=(e,n,r,s)=>{const o=e.length;for(let i=0;i<o;i++){const a=e[i];So(a,n,r,s)}},So=(e,n,r,s)=>{if(typeof e=="string"){$o(e,n,r);return}if(typeof e=="function"){_o(e,n,r,s);return}Fo(e,n,r,s)},$o=(e,n,r)=>{const s=e===""?n:hr(n,e);s.classGroupId=r},_o=(e,n,r,s)=>{if(zo(e)){pn(e(s),n,r,s);return}n.validators===null&&(n.validators=[]),n.validators.push(jo(r,e))},Fo=(e,n,r,s)=>{const o=Object.entries(e),i=o.length;for(let a=0;a<i;a++){const[l,u]=o[a];pn(u,hr(n,l),r,s)}},hr=(e,n)=>{let r=e;const s=n.split(Qt),o=s.length;for(let i=0;i<o;i++){const a=s[i];let l=r.nextPart.get(a);l||(l=mr(),r.nextPart.set(a,l)),r=l}return r},zo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Eo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let n=0,r=Object.create(null),s=Object.create(null);const o=(i,a)=>{r[i]=a,n++,n>e&&(n=0,s=r,r=Object.create(null))};return{get(i){let a=r[i];if(a!==void 0)return a;if((a=s[i])!==void 0)return o(i,a),a},set(i,a){i in r?r[i]=a:o(i,a)}}},hn="!",xr=":",Po=[],gr=(e,n,r,s,o)=>({modifiers:e,hasImportantModifier:n,baseClassName:r,maybePostfixModifierPosition:s,isExternal:o}),Do=e=>{const{prefix:n,experimentalParseClassName:r}=e;let s=o=>{const i=[];let a=0,l=0,u=0,d;const p=o.length;for(let b=0;b<p;b++){const k=o[b];if(a===0&&l===0){if(k===xr){i.push(o.slice(u,b)),u=b+1;continue}if(k==="/"){d=b;continue}}k==="["?a++:k==="]"?a--:k==="("?l++:k===")"&&l--}const m=i.length===0?o:o.slice(u);let h=m,x=!1;m.endsWith(hn)?(h=m.slice(0,-1),x=!0):m.startsWith(hn)&&(h=m.slice(1),x=!0);const g=d&&d>u?d-u:void 0;return gr(i,x,h,g)};if(n){const o=n+xr,i=s;s=a=>a.startsWith(o)?i(a.slice(o.length)):gr(Po,!1,a,void 0,!0)}if(r){const o=s;s=i=>r({className:i,parseClassName:o})}return s},Mo=e=>{const n=new Map;return e.orderSensitiveModifiers.forEach((r,s)=>{n.set(r,1e6+s)}),r=>{const s=[];let o=[];for(let i=0;i<r.length;i++){const a=r[i],l=a[0]==="[",u=n.has(a);l||u?(o.length>0&&(o.sort(),s.push(...o),o=[]),s.push(a)):o.push(a)}return o.length>0&&(o.sort(),s.push(...o)),s}},Io=e=>({cache:Eo(e.cacheSize),parseClassName:Do(e),sortModifiers:Mo(e),postfixLookupClassGroupIds:Lo(e),...wo(e)}),Lo=e=>{const n=Object.create(null),r=e.postfixLookupClassGroups;if(r)for(let s=0;s<r.length;s++)n[r[s]]=!0;return n},Oo=/\s+/,Ao=(e,n)=>{const{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:o,sortModifiers:i,postfixLookupClassGroupIds:a}=n,l=[],u=e.trim().split(Oo);let d="";for(let p=u.length-1;p>=0;p-=1){const m=u[p],{isExternal:h,modifiers:x,hasImportantModifier:g,baseClassName:b,maybePostfixModifierPosition:k}=r(m);if(h){d=m+(d.length>0?" "+d:d);continue}let $=!!k,w;if($){const E=b.substring(0,k);w=s(E);const y=w&&a[w]?s(b):void 0;y&&y!==w&&(w=y,$=!1)}else w=s(b);if(!w){if(!$){d=m+(d.length>0?" "+d:d);continue}if(w=s(b),!w){d=m+(d.length>0?" "+d:d);continue}$=!1}const P=x.length===0?"":x.length===1?x[0]:i(x).join(":"),C=g?P+hn:P,T=C+w;if(l.indexOf(T)>-1)continue;l.push(T);const j=o(w,$);for(let E=0;E<j.length;++E){const y=j[E];l.push(C+y)}d=m+(d.length>0?" "+d:d)}return d},qo=(...e)=>{let n=0,r,s,o="";for(;n<e.length;)(r=e[n++])&&(s=br(r))&&(o&&(o+=" "),o+=s);return o},br=e=>{if(typeof e=="string")return e;let n,r="";for(let s=0;s<e.length;s++)e[s]&&(n=br(e[s]))&&(r&&(r+=" "),r+=n);return r},Vo=(e,...n)=>{let r,s,o,i;const a=u=>{const d=n.reduce((p,m)=>m(p),e());return r=Io(d),s=r.cache.get,o=r.cache.set,i=l,l(u)},l=u=>{const d=s(u);if(d)return d;const p=Ao(u,r);return o(u,p),p};return i=a,(...u)=>i(qo(...u))},Bo=[],he=e=>{const n=r=>r[e]||Bo;return n.isThemeGetter=!0,n},yr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,vr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ko=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Go=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Jo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ho=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ye=e=>Ko.test(e),Z=e=>!!e&&!Number.isNaN(Number(e)),Ve=e=>!!e&&Number.isInteger(Number(e)),xn=e=>e.endsWith("%")&&Z(e.slice(0,-1)),He=e=>Go.test(e),jr=()=>!0,Yo=e=>Jo.test(e)&&!Wo.test(e),gn=()=>!1,Ro=e=>Ho.test(e),Xo=e=>Qo.test(e),Uo=e=>!q(e)&&!V(e),Zo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),ea=e=>Re(e,Sr,gn),q=e=>yr.test(e),ot=e=>Re(e,$r,Yo),Nr=e=>Re(e,la,Z),ta=e=>Re(e,Fr,jr),na=e=>Re(e,_r,gn),wr=e=>Re(e,kr,gn),ra=e=>Re(e,Tr,Xo),Yt=e=>Re(e,zr,Ro),V=e=>vr.test(e),$t=e=>at(e,$r),sa=e=>at(e,_r),Cr=e=>at(e,kr),oa=e=>at(e,Sr),aa=e=>at(e,Tr),Rt=e=>at(e,zr,!0),ia=e=>at(e,Fr,!0),Re=(e,n,r)=>{const s=yr.exec(e);return s?s[1]?n(s[1]):r(s[2]):!1},at=(e,n,r=!1)=>{const s=vr.exec(e);return s?s[1]?n(s[1]):r:!1},kr=e=>e==="position"||e==="percentage",Tr=e=>e==="image"||e==="url",Sr=e=>e==="length"||e==="size"||e==="bg-size",$r=e=>e==="length",la=e=>e==="number",_r=e=>e==="family-name",Fr=e=>e==="number"||e==="weight",zr=e=>e==="shadow",ca=Vo(()=>{const e=he("color"),n=he("font"),r=he("text"),s=he("font-weight"),o=he("tracking"),i=he("leading"),a=he("breakpoint"),l=he("container"),u=he("spacing"),d=he("radius"),p=he("shadow"),m=he("inset-shadow"),h=he("text-shadow"),x=he("drop-shadow"),g=he("blur"),b=he("perspective"),k=he("aspect"),$=he("ease"),w=he("animate"),P=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],T=()=>[...C(),V,q],j=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],y=()=>[V,q,u],S=()=>[Ye,"full","auto",...y()],L=()=>[Ve,"none","subgrid",V,q],v=()=>["auto",{span:["full",Ve,V,q]},Ve,V,q],M=()=>[Ve,"auto",V,q],O=()=>["auto","min","max","fr",V,q],z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],I=()=>["start","end","center","stretch","center-safe","end-safe"],_=()=>["auto",...y()],G=()=>[Ye,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...y()],U=()=>[Ye,"screen","full","dvw","lvw","svw","min","max","fit",...y()],ie=()=>[Ye,"screen","full","lh","dvh","lvh","svh","min","max","fit",...y()],B=()=>[e,V,q],Te=()=>[...C(),Cr,wr,{position:[V,q]}],ye=()=>["no-repeat",{repeat:["","x","y","space","round"]}],xe=()=>["auto","cover","contain",oa,ea,{size:[V,q]}],le=()=>[xn,$t,ot],re=()=>["","none","full",d,V,q],ae=()=>["",Z,$t,ot],J=()=>["solid","dashed","dotted","double"],ce=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],R=()=>[Z,xn,Cr,wr],Ne=()=>["","none",g,V,q],Be=()=>["none",Z,V,q],ze=()=>["none",Z,V,q],Ke=()=>[Z,V,q],De=()=>[Ye,"full",...y()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[He],breakpoint:[He],color:[jr],container:[He],"drop-shadow":[He],ease:["in","out","in-out"],font:[Uo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[He],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[He],shadow:[He],spacing:["px",Z],text:[He],"text-shadow":[He],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ye,q,V,k]}],container:["container"],"container-type":[{"@container":["","normal","size",V,q]}],"container-named":[Zo],columns:[{columns:[Z,q,V,l]}],"break-after":[{"break-after":P()}],"break-before":[{"break-before":P()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:T()}],overflow:[{overflow:j()}],"overflow-x":[{"overflow-x":j()}],"overflow-y":[{"overflow-y":j()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{"inset-s":S(),start:S()}],end:[{"inset-e":S(),end:S()}],"inset-bs":[{"inset-bs":S()}],"inset-be":[{"inset-be":S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:["visible","invisible","collapse"],z:[{z:[Ve,"auto",V,q]}],basis:[{basis:[Ye,"full","auto",l,...y()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Z,Ye,"auto","initial","none",q]}],grow:[{grow:["",Z,V,q]}],shrink:[{shrink:["",Z,V,q]}],order:[{order:[Ve,"first","last","none",V,q]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:v()}],"col-start":[{"col-start":M()}],"col-end":[{"col-end":M()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:v()}],"row-start":[{"row-start":M()}],"row-end":[{"row-end":M()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":O()}],"auto-rows":[{"auto-rows":O()}],gap:[{gap:y()}],"gap-x":[{"gap-x":y()}],"gap-y":[{"gap-y":y()}],"justify-content":[{justify:[...z(),"normal"]}],"justify-items":[{"justify-items":[...I(),"normal"]}],"justify-self":[{"justify-self":["auto",...I()]}],"align-content":[{content:["normal",...z()]}],"align-items":[{items:[...I(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...I(),{baseline:["","last"]}]}],"place-content":[{"place-content":z()}],"place-items":[{"place-items":[...I(),"baseline"]}],"place-self":[{"place-self":["auto",...I()]}],p:[{p:y()}],px:[{px:y()}],py:[{py:y()}],ps:[{ps:y()}],pe:[{pe:y()}],pbs:[{pbs:y()}],pbe:[{pbe:y()}],pt:[{pt:y()}],pr:[{pr:y()}],pb:[{pb:y()}],pl:[{pl:y()}],m:[{m:_()}],mx:[{mx:_()}],my:[{my:_()}],ms:[{ms:_()}],me:[{me:_()}],mbs:[{mbs:_()}],mbe:[{mbe:_()}],mt:[{mt:_()}],mr:[{mr:_()}],mb:[{mb:_()}],ml:[{ml:_()}],"space-x":[{"space-x":y()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":y()}],"space-y-reverse":["space-y-reverse"],size:[{size:G()}],"inline-size":[{inline:["auto",...U()]}],"min-inline-size":[{"min-inline":["auto",...U()]}],"max-inline-size":[{"max-inline":["none",...U()]}],"block-size":[{block:["auto",...ie()]}],"min-block-size":[{"min-block":["auto",...ie()]}],"max-block-size":[{"max-block":["none",...ie()]}],w:[{w:[l,"screen",...G()]}],"min-w":[{"min-w":[l,"screen","none",...G()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...G()]}],h:[{h:["screen","lh",...G()]}],"min-h":[{"min-h":["screen","lh","none",...G()]}],"max-h":[{"max-h":["screen","lh",...G()]}],"font-size":[{text:["base",r,$t,ot]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,ia,ta]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",xn,q]}],"font-family":[{font:[sa,na,n]}],"font-features":[{"font-features":[q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,V,q]}],"line-clamp":[{"line-clamp":[Z,"none",V,Nr]}],leading:[{leading:[i,...y()]}],"list-image":[{"list-image":["none",V,q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",V,q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:B()}],"text-color":[{text:B()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[Z,"from-font","auto",V,ot]}],"text-decoration-color":[{decoration:B()}],"underline-offset":[{"underline-offset":[Z,"auto",V,q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:y()}],"tab-size":[{tab:[Ve,V,q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",V,q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",V,q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Te()}],"bg-repeat":[{bg:ye()}],"bg-size":[{bg:xe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ve,V,q],radial:["",V,q],conic:[Ve,V,q]},aa,ra]}],"bg-color":[{bg:B()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:B()}],"gradient-via":[{via:B()}],"gradient-to":[{to:B()}],rounded:[{rounded:re()}],"rounded-s":[{"rounded-s":re()}],"rounded-e":[{"rounded-e":re()}],"rounded-t":[{"rounded-t":re()}],"rounded-r":[{"rounded-r":re()}],"rounded-b":[{"rounded-b":re()}],"rounded-l":[{"rounded-l":re()}],"rounded-ss":[{"rounded-ss":re()}],"rounded-se":[{"rounded-se":re()}],"rounded-ee":[{"rounded-ee":re()}],"rounded-es":[{"rounded-es":re()}],"rounded-tl":[{"rounded-tl":re()}],"rounded-tr":[{"rounded-tr":re()}],"rounded-br":[{"rounded-br":re()}],"rounded-bl":[{"rounded-bl":re()}],"border-w":[{border:ae()}],"border-w-x":[{"border-x":ae()}],"border-w-y":[{"border-y":ae()}],"border-w-s":[{"border-s":ae()}],"border-w-e":[{"border-e":ae()}],"border-w-bs":[{"border-bs":ae()}],"border-w-be":[{"border-be":ae()}],"border-w-t":[{"border-t":ae()}],"border-w-r":[{"border-r":ae()}],"border-w-b":[{"border-b":ae()}],"border-w-l":[{"border-l":ae()}],"divide-x":[{"divide-x":ae()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ae()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:B()}],"border-color-x":[{"border-x":B()}],"border-color-y":[{"border-y":B()}],"border-color-s":[{"border-s":B()}],"border-color-e":[{"border-e":B()}],"border-color-bs":[{"border-bs":B()}],"border-color-be":[{"border-be":B()}],"border-color-t":[{"border-t":B()}],"border-color-r":[{"border-r":B()}],"border-color-b":[{"border-b":B()}],"border-color-l":[{"border-l":B()}],"divide-color":[{divide:B()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Z,V,q]}],"outline-w":[{outline:["",Z,$t,ot]}],"outline-color":[{outline:B()}],shadow:[{shadow:["","none",p,Rt,Yt]}],"shadow-color":[{shadow:B()}],"inset-shadow":[{"inset-shadow":["none",m,Rt,Yt]}],"inset-shadow-color":[{"inset-shadow":B()}],"ring-w":[{ring:ae()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:B()}],"ring-offset-w":[{"ring-offset":[Z,ot]}],"ring-offset-color":[{"ring-offset":B()}],"inset-ring-w":[{"inset-ring":ae()}],"inset-ring-color":[{"inset-ring":B()}],"text-shadow":[{"text-shadow":["none",h,Rt,Yt]}],"text-shadow-color":[{"text-shadow":B()}],opacity:[{opacity:[Z,V,q]}],"mix-blend":[{"mix-blend":[...ce(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ce()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Z]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":B()}],"mask-image-linear-to-color":[{"mask-linear-to":B()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":B()}],"mask-image-t-to-color":[{"mask-t-to":B()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":B()}],"mask-image-r-to-color":[{"mask-r-to":B()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":B()}],"mask-image-b-to-color":[{"mask-b-to":B()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":B()}],"mask-image-l-to-color":[{"mask-l-to":B()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":B()}],"mask-image-x-to-color":[{"mask-x-to":B()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":B()}],"mask-image-y-to-color":[{"mask-y-to":B()}],"mask-image-radial":[{"mask-radial":[V,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":B()}],"mask-image-radial-to-color":[{"mask-radial-to":B()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[Z]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":B()}],"mask-image-conic-to-color":[{"mask-conic-to":B()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Te()}],"mask-repeat":[{mask:ye()}],"mask-size":[{mask:xe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",V,q]}],filter:[{filter:["","none",V,q]}],blur:[{blur:Ne()}],brightness:[{brightness:[Z,V,q]}],contrast:[{contrast:[Z,V,q]}],"drop-shadow":[{"drop-shadow":["","none",x,Rt,Yt]}],"drop-shadow-color":[{"drop-shadow":B()}],grayscale:[{grayscale:["",Z,V,q]}],"hue-rotate":[{"hue-rotate":[Z,V,q]}],invert:[{invert:["",Z,V,q]}],saturate:[{saturate:[Z,V,q]}],sepia:[{sepia:["",Z,V,q]}],"backdrop-filter":[{"backdrop-filter":["","none",V,q]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[Z,V,q]}],"backdrop-contrast":[{"backdrop-contrast":[Z,V,q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Z,V,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Z,V,q]}],"backdrop-invert":[{"backdrop-invert":["",Z,V,q]}],"backdrop-opacity":[{"backdrop-opacity":[Z,V,q]}],"backdrop-saturate":[{"backdrop-saturate":[Z,V,q]}],"backdrop-sepia":[{"backdrop-sepia":["",Z,V,q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":y()}],"border-spacing-x":[{"border-spacing-x":y()}],"border-spacing-y":[{"border-spacing-y":y()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",V,q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Z,"initial",V,q]}],ease:[{ease:["linear","initial",$,V,q]}],delay:[{delay:[Z,V,q]}],animate:[{animate:["none",w,V,q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,V,q]}],"perspective-origin":[{"perspective-origin":T()}],rotate:[{rotate:Be()}],"rotate-x":[{"rotate-x":Be()}],"rotate-y":[{"rotate-y":Be()}],"rotate-z":[{"rotate-z":Be()}],scale:[{scale:ze()}],"scale-x":[{"scale-x":ze()}],"scale-y":[{"scale-y":ze()}],"scale-z":[{"scale-z":ze()}],"scale-3d":["scale-3d"],skew:[{skew:Ke()}],"skew-x":[{"skew-x":Ke()}],"skew-y":[{"skew-y":Ke()}],transform:[{transform:[V,q,"","none","gpu","cpu"]}],"transform-origin":[{origin:T()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:De()}],"translate-x":[{"translate-x":De()}],"translate-y":[{"translate-y":De()}],"translate-z":[{"translate-z":De()}],"translate-none":["translate-none"],zoom:[{zoom:[Ve,V,q]}],accent:[{accent:B()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:B()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",V,q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":B()}],"scrollbar-track-color":[{"scrollbar-track":B()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":y()}],"scroll-mx":[{"scroll-mx":y()}],"scroll-my":[{"scroll-my":y()}],"scroll-ms":[{"scroll-ms":y()}],"scroll-me":[{"scroll-me":y()}],"scroll-mbs":[{"scroll-mbs":y()}],"scroll-mbe":[{"scroll-mbe":y()}],"scroll-mt":[{"scroll-mt":y()}],"scroll-mr":[{"scroll-mr":y()}],"scroll-mb":[{"scroll-mb":y()}],"scroll-ml":[{"scroll-ml":y()}],"scroll-p":[{"scroll-p":y()}],"scroll-px":[{"scroll-px":y()}],"scroll-py":[{"scroll-py":y()}],"scroll-ps":[{"scroll-ps":y()}],"scroll-pe":[{"scroll-pe":y()}],"scroll-pbs":[{"scroll-pbs":y()}],"scroll-pbe":[{"scroll-pbe":y()}],"scroll-pt":[{"scroll-pt":y()}],"scroll-pr":[{"scroll-pr":y()}],"scroll-pb":[{"scroll-pb":y()}],"scroll-pl":[{"scroll-pl":y()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",V,q]}],fill:[{fill:["none",...B()]}],"stroke-w":[{stroke:[Z,$t,ot,Nr]}],stroke:[{stroke:["none",...B()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function H(...e){return ca(lr(e))}const da=ur("relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function pt({className:e,variant:n,...r}){return t.jsx("div",{"data-slot":"alert",role:"alert",className:H(da({variant:n}),e),...r})}function Er({className:e,...n}){return t.jsx("div",{"data-slot":"alert-title",className:H("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",e),...n})}function ht({className:e,...n}){return t.jsx("div",{"data-slot":"alert-description",className:H("col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed",e),...n})}const ke=ve.forwardRef(({className:e,type:n,...r},s)=>t.jsx("input",{type:n,ref:s,"data-slot":"input",className:H("h-9 w-full min-w-0 rounded-md border border-input bg-transparent text-foreground px-3 py-0 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r}));ke.displayName="Input";function Xe(e,n){if(e==null)return null;switch(n){case"Int":{const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?Math.trunc(r):e}case"Float":{const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?r:e}case"Boolean":return typeof e=="boolean"?e:e==="true"||e===1?!0:e==="false"||e===0?!1:!!e;default:return String(e)}}function Xt(e){return e?.paramType?.replace("!","")??"String"}function it(e){return(e.sourceColumnNames?.length??0)>1}function ua(e,n,r,s="fk"){if(!e)return null;const o=n.sourceColumnNames??[],i=n.destinationColumnNames??[];if(o.length===0||o.length!==i.length)return null;const a=new Map((r?.columns??[]).map(m=>[m.name,m])),l=[],u={},d=[];for(let m=0;m<o.length;m++){const h=o[m],x=i[m];if(!(h in e))return null;const g=Xt(a.get(x)),b=`${s}_${x}`;u[b]=Xe(e[h],g),d.push(`$${b}: ${g}`),l.push(`{${x}: {_eq: $${b}}}`)}return{filterText:l.length===1?l[0]:`{and: [${l.join(", ")}]}`,variables:u,params:d}}const bn="::";function ma(e){return e==null?"":encodeURIComponent(String(e))}function Ut(e){if(e==="")return null;try{return decodeURIComponent(e)}catch{return e}}function xt(e){return e.map(ma).join(bn)}function Pr(e,n){const r=n<=1?[e]:e.split(bn);if(r.length!==n)throw new Error(`Route id '${e}' has ${r.length} part(s) but ${n} were expected.`);return r.map(s=>s===""?"":Ut(s)??"")}function _t(e,n,r){const s=n.primaryKeys??[];return s.length===0?`row-${r}`:xt(s.map(o=>e?.[o]))}function gt(e,n){const r=n.primaryKeys??[];if(r.length===0||e==null)return null;const s={};for(const o of r){if(!(o in e))return null;s[o]=e[o]}return s}function yn(e,n){const r=gt(e,n);if(!r)return null;const s=new Map((n.columns??[]).map(u=>[u.name,u])),o=[],i={},a=[];for(const u of n.primaryKeys??[]){const d=Xt(s.get(u)),p=`pk_${u}`;i[p]=Xe(r[u],d),a.push(`$${p}: ${d}`),o.push(`{${u}: {_eq: $${p}}}`)}return{filterText:o.length===1?o[0]:`{and: [${o.join(", ")}]}`,variables:i,params:a}}function vn(e,n){const r=n.primaryKeys??[];return r.length===0?"":xt(r.map(s=>e[s]))}function jn(e,n){const r=n.primaryKeys??[];if(r.length===0)return null;if(r.length===1)return{[r[0]]:Ut(e)};const s=e.split(bn);if(s.length!==r.length)return null;const o={};for(let i=0;i<r.length;i++)o[r[i]]=Ut(s[i]);return o}function fa(e,n,r){if(!e)return;const s=e.filter(o=>o.destinationTable===n);if(s.length!==0){if(s.length===1)return s[0];if(r)return s.find(o=>o.destinationColumnNames?.[0]===r)}}function pa(e){return e.fieldName??e.destinationTable}const ha=new Set(["binary","varbinary","image","blob","tinyblob","mediumblob","longblob","bytea"]),xa=new Set(["text","ntext","xml"]),ga=new Set(["json","jsonb"]);function bt(e){return ha.has(e.toLowerCase().replace(/\(.*\)/,""))}function Dr(e){return ga.has(e.toLowerCase().replace(/\(.*\)/,""))}function lt(e){return Dr(e.dbType)||e.paramType==="JSON"}function Ft(e){const n=e.toLowerCase(),r=n.replace(/\(.*\)/,"");return!!(xa.has(r)||n.includes("(max)"))}function Nn(e,n){if(!e)return"text";if(n&&bt(n))return"binary";if(n&&Dr(n))return"json";const r=e.trimStart();if(r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))try{return JSON.parse(r),"json"}catch{}return r.startsWith("<?xml")||r.startsWith("<")&&r.includes("</")&&r.endsWith(">")?"xml":/^[aOsidb]:\d+[:{;]/.test(r)?"php-serialized":e.length>200||e.includes(`
78
+ `)?"longtext":"text"}const Mr=80;function ba(e){return e.length<=Mr?e:e.slice(0,Mr)+"..."}function ya(e){const n=Math.ceil(e.length*3/4);return n<1024?`${n} bytes`:n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/(1024*1024)).toFixed(1)} MB`}const wn={String:["_eq","_neq","_contains","_starts_with","_ends_with","_null"],Int:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],Float:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],BigInt:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],Decimal:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"],Boolean:["_eq","_null"],DateTime:["_eq","_neq","_gt","_gte","_lt","_lte","_between","_null"]},va=/^[_A-Za-z][_0-9A-Za-z]*$/,ja=/^[_A-Za-z][_0-9A-Za-z]*!?$/,Na=new Set(Object.values(wn).flat());function Ie(e){return typeof e=="string"&&va.test(e)}function Fe(e,n){if(!Ie(e))throw new Error(`Invalid GraphQL ${n}: ${String(e)}`)}function wa(e){return typeof e=="string"&&ja.test(e)}function Ir(e,n){return typeof e=="string"&&Lr(n).includes(e)}function Lr(e){const n=e.replace("!","");return wn[n]??wn.String}function Or(e){try{if(!e)return{variables:{},param:"",filterText:""};const[n,r,s,o]=JSON.parse(e);return!Ie(n)||!wa(o)||!Ir(r,o)?{variables:{},param:"",filterText:""}:{variables:{filter:s},param:`, $filter: ${o}`,filterText:`{${n}: {${r}: $filter} }`}}catch{return{variables:{},param:"",filterText:""}}}function Ar(e){if(!e)return"";const n=new Date(e);return n.toString()==="Invalid Date"||n.getTime()===0||n.getUTCFullYear()<=1?"":n.toLocaleString()}function Ca(e,n,r=0){return _t(e,n,r)}function qr(e){switch(e.replace("!","")){case"Int":return"Int";case"Float":return"Float";case"Boolean":return"Boolean";case"BigInt":return"BigInt";case"Decimal":return"Decimal";case"DateTime":return"String";default:return"String"}}function Vr(e,n){const r={},s=[],o=[];for(let i=0;i<e.length;i++){const a=e[i],l=a.value;if(l.value===void 0||l.value===null||l.value==="")continue;const u=n.columns.find(m=>m.name===a.id);if(!u||!Ie(a.id)||!Ir(l.operator,u.paramType))continue;const d=`cf_${a.id}_${i}`,p=qr(u.paramType);if(l.operator==="_null"){o.push(`{${a.id}: {_null: ${l.value?"true":"false"}}}`);continue}if(l.operator==="_between"){const m=l.value;if(!Array.isArray(m)||m.length!==2)continue;const h=`${d}_lo`,x=`${d}_hi`;r[h]=m[0],r[x]=m[1],s.push(`$${h}: ${p}`,`$${x}: ${p}`),o.push(`{${a.id}: {_between: [$${h}, $${x}]}}`);continue}r[d]=l.value,s.push(`$${d}: ${p}`),o.push(`{${a.id}: {${l.operator}: $${d}}}`)}return{variables:r,params:s,filterTexts:o}}function Br(e){return e.length===0?"":JSON.stringify(e.map(n=>[n.id,n.value.operator,n.value.value]))}function Kr(e){try{if(!e)return[];const n=JSON.parse(e);return Array.isArray(n)?n.filter(ka).map(([r,s,o])=>({id:r,value:{operator:s,value:o}})):[]}catch{return[]}}function ka(e){if(!Array.isArray(e)||e.length!==3)return!1;const[n,r]=e;return Ie(n)&&typeof r=="string"&&Na.has(r)}function Gr(e){return Qe(e)[0]?.gqlType??"Int"}function Qe(e){const n=e.primaryKeys??[];if(n.length===0)return[];const r=new Map(e.columns.map(s=>[s.name,s]));return n.map(s=>({name:s,gqlType:r.get(s)?.paramType?.replace("!","")??"String"}))}function Cn(e,n){if(Qe(n).length<=1)return{id:Xe(Ut(e),Gr(n))};const s=jn(e,n);return s?yn(s,n)?.variables??{}:{}}function Ta(e,n,r){Fe(e.name,"single-row table name");for(const o of r)Fe(o,"single-row selection field");const s=n.params.length>0?`(${n.params.join(", ")})`:"";return`query GetSingleRow_${e.name}${s} { value: ${e.name}(filter: ${n.filterText}) { data { ${r.join(" ")} } } }`}const Sa=11;function Jr(e,n){return n.map(r=>{const s=e.findTable(r.destinationTable),o=s?.labelColumn??"id",a=[...s?.primaryKeys?.length?s.primaryKeys:["id"]];return o&&!a.includes(o)&&a.push(o),`${r.fieldName??r.destinationTable}(limit: ${Sa}) { total data { ${a.join(" ")} } }`}).join(" ")}function $a(e,n,r,s,o,i,a){if(!e||!n?.data)return null;const l=n.findTable(e.graphQlName);if(!l)return null;const u=Gr(l),d=Qe(l),p=d[0]?.name??"id";let{param:m,filterText:h}=Or(r);const{params:x,filterTexts:g}=Vr(s,e);x.length>0&&(m+=x.map(C=>`, ${C}`).join(""));const b=[];h&&b.push(h),b.push(...g),b.length>1?h=`{and: [${b.join(", ")}]}`:b.length===1?h=b[0]:h="";const k=new Set,$=e.columns.filter(C=>C?.joinTable===void 0).filter(C=>C.isPrimaryKey||!(bt(C.dbType)||Ft(C.dbType))).map(C=>{const T=l.singleJoins.find(y=>y.sourceColumnNames?.[0]===C.name);if(!T)return C;const E=n.findTable(T.destinationTable)?.labelColumn??"id";return{...C,joinTable:T,joinLabelColumn:E}}).map(C=>{if(C?.joinTable){k.add(C.name);const T=n.findTable(C.joinTable.destinationTable),j=T?.primaryKeys?.length?T.primaryKeys:C.joinTable.destinationColumnNames,E=C.joinLabelColumn??"id",y=E&&!j.includes(E)?` label: ${E}`:"";return j.length===1?`${C.name} ${C.joinTable.destinationTable} { id: ${j[0]}${y} }`:`${C.name} ${C.joinTable.destinationTable} { ${j.join(" ")}${y} }`}return C.name}).join(" "),w=Jr(n,l.multiJoins),P=w?`${$} ${w}`:$;if(o&&(a||i)){const C=kn(e,n,i,a);if(C&&Wr(C.childJoin)){const T=C.childJoin.destinationColumnNames[0];m=`, $id: ${Qe(C.parentTable)[0]?.gqlType??"Int"}`;const E=`filter: { ${T}: { _eq: $id } }`,y=Jr(n,l.multiJoins.filter(L=>!_a(L,C.childJoin))),S=y?`${$} ${y}`:$;return`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${m}) { ${e.name}(sort: $sort limit: $limit offset: $offset ${E}) { total offset limit data {${S}}}}`}if(C){const T=`${C.childField}(limit: $limit offset: $offset sort: $sort) { total offset limit data {${P}} }`,j=Qe(C.parentTable);if(j.length<=1){const L=j[0]?.name??"id";m=`, $id: ${j[0]?.gqlType??"Int"}`;const M=`{ ${L}: { _eq: $id}}`;return`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${m}) { ${C.parentTable.name}(filter: ${M}) { data { ${T} } } }`}m=`, ${j.map(L=>`$pk_${L.name}: ${L.gqlType}`).join(", ")}`;const S=`{and: [${j.map(L=>`{${L.name}: {_eq: $pk_${L.name}}}`).join(", ")}]}`;return`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${m}) { ${C.parentTable.name}(filter: ${S}) { data { ${T} } } }`}return null}return o&&!i&&!a&&(d.length<=1?(m=`, $id: ${u}`,h=`{ ${p}: { _eq: $id}}`):(m=`, ${d.map(T=>`$pk_${T.name}: ${T.gqlType}`).join(", ")}`,h=`{and: [${d.map(T=>`{${T.name}: {_eq: $pk_${T.name}}}`).join(", ")}]}`)),h&&(h=`filter: ${h}`),`query Get${e.name}($sort: [${e.graphQlName}SortEnum!], $limit: Int, $offset: Int ${m}) { ${e.name}(sort: $sort limit: $limit offset: $offset ${h}) { total offset limit data {${P}}}}`}function Wr(e){return!it(e)&&e.isPolymorphic!==!0&&(e.destinationColumnNames?.length??0)===1}function _a(e,n){return(e.fieldName??e.destinationTable)===(n.fieldName??n.destinationTable)&&e.destinationTable===n.destinationTable&&(e.destinationColumnNames??[]).join("\0")===(n.destinationColumnNames??[]).join("\0")&&(e.sourceColumnNames??[]).join("\0")===(n.sourceColumnNames??[]).join("\0")}const Fa={data:[],total:0,offset:0,limit:0};function za(e,n,r){const i=e?.[n]?.data?.[0]?.[r];return!i||!Array.isArray(i.data)?Fa:i}function kn(e,n,r,s){const o=r??n.findTable(e.graphQlName)?.singleJoins.find(l=>l.destinationTable===s)?.destinationTable;if(!o)return null;const i=n.findTable(o);if(!i)return null;const a=fa(i.multiJoins,e.graphQlName,s);return a?{parentTable:i,childField:pa(a),childJoin:a}:null}function Ea(e){const n=e.filter(Ie);return n.length===0?null:`query GetTableRowCounts { ${n.map(s=>`${s}: ${s}(limit: 1) { total }`).join(" ")} }`}function Pa(e=!0){const{data:n,loading:r,error:s}=Pe(),o=Ce(),i=c.useMemo(()=>n.map(m=>m.name),[n]),a=c.useMemo(()=>Ea(i),[i]),{data:l,isLoading:u,error:d}=me.useQuery({queryKey:["tableRowCounts",i],queryFn:()=>o.query(a),enabled:e&&!!a&&i.length>0,staleTime:300*1e3});return{stats:c.useMemo(()=>{const m={};for(const h of n){const g=l?.[h.name]?.total??null;m[h.name]={columnCount:h.columns.length,rowCount:g,fkCount:h.singleJoins.length,isLoading:u,error:d?d.message:null}}return m},[n,l,u,d]),isLoading:r||u,error:s}}function Da(e){if(e===null)return"—";if(e===0)return"0";if(e<1e3)return e.toString();if(e<1e6){const r=e/1e3;return r%1===0?`${r.toFixed(0)}k`:`${r.toFixed(1)}k`}const n=e/1e6;return n%1===0?`${n.toFixed(0)}M`:`${n.toFixed(1)}M`}const Ma={showStats:!1},Hr=c.createContext(Ma);function Ia({config:e,children:n}){return t.jsx(Hr.Provider,{value:e,children:n})}function La(){return c.useContext(Hr)}const Zt=50;function Oa(e,n){return e===null||n<=0?0:Math.max(2,Math.min(100,Math.round(e/n*100)))}function Aa({percent:e,label:n}){return t.jsx("span",{className:"flex-1 min-w-[1.5em] h-[0.5em] rounded-full bg-muted/70 overflow-hidden",role:"img","aria-label":n,title:n,children:t.jsx("span",{className:"block h-full rounded-full bg-emerald-500/70 dark:bg-emerald-400/70",style:{width:`${e}%`}})})}function Tn({count:e}){return e<=0?null:t.jsxs("span",{className:"shrink-0 rounded px-1 py-px text-[0.85em] tabular-nums bg-blue-100 text-blue-700 dark:bg-blue-900/60 dark:text-blue-300",children:[e," FK"]})}function qa(e){try{return decodeURIComponent(e)}catch{return e}}function Va({stats:e,maxRowCount:n}){const r=Oa(e.rowCount,n),s="flex items-center gap-1.5 text-xs leading-none min-w-0";return e.isLoading?t.jsxs("div",{className:`${s} text-muted-foreground`,children:[t.jsxs("span",{className:"tabular-nums shrink-0",children:[e.columnCount,"c"]}),t.jsx("span",{className:"flex-1 min-w-[1.5em] h-[0.5em] rounded-full bg-muted/70 overflow-hidden",children:t.jsx("span",{className:"block h-full w-1/3 rounded-full bg-muted-foreground/30 animate-pulse"})}),t.jsx(N.Loader2,{className:"size-[1em] shrink-0 animate-spin"}),t.jsx(Tn,{count:e.fkCount})]}):e.error?t.jsxs("div",{className:s,children:[t.jsxs("span",{className:"tabular-nums shrink-0 text-muted-foreground",children:[e.columnCount,"c"]}),t.jsx("span",{className:"flex-1 text-destructive truncate",title:e.error,children:"err"}),t.jsx(Tn,{count:e.fkCount})]}):t.jsxs("div",{className:s,children:[t.jsxs("span",{className:"tabular-nums shrink-0 text-muted-foreground/70",children:[e.columnCount,"c"]}),t.jsx(Aa,{percent:r,label:`${e.rowCount?.toLocaleString()??"unknown"} rows`}),t.jsx("span",{className:"tabular-nums shrink-0 text-right text-muted-foreground",children:Da(e.rowCount)}),t.jsx(Tn,{count:e.fkCount})]})}function Ba({table:e,stats:n,maxRowCount:r,showStats:s,active:o}){return t.jsx(St,{to:`/${e.name}`,"aria-current":o?"page":void 0,className:`plain-link block no-underline py-1.5 px-2 text-sm font-medium border-l-2 ${o?"bg-accent text-accent-foreground border-primary":"text-foreground border-transparent hover:bg-muted/50 hover:text-primary"}`,children:t.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0",children:[t.jsx("span",{className:"truncate",title:e.label,children:e.label}),s&&t.jsx(Va,{stats:n,maxRowCount:r})]})})}function Sn(e){const n=e.dbName.lastIndexOf(".");return n>0?e.dbName.slice(0,n):null}function Qr({schema:e,count:n,collapsed:r,context:s,onToggle:o}){const i=r?N.ChevronRight:N.ChevronDown,a=t.jsxs(t.Fragment,{children:[t.jsx(i,{className:"size-3.5 shrink-0 text-muted-foreground"}),t.jsx("span",{className:"truncate font-semibold",title:e,children:e}),t.jsx("span",{className:"ml-auto shrink-0 tabular-nums text-[0.85em] text-muted-foreground",children:n})]}),l="flex items-center gap-1.5 w-full px-2 py-1 text-xs uppercase tracking-wide text-muted-foreground bg-muted/40 border-y border-border sticky top-0 z-10";return s?t.jsx("div",{className:l,"aria-hidden":"true",children:a}):t.jsx("button",{type:"button",onClick:o,"aria-expanded":!r,className:`${l} hover:bg-muted/70 text-left`,children:a})}function Ka(){const{showStats:e}=La(),{loading:n,error:r,data:s}=Pe(),{stats:o,isLoading:i}=Pa(e),[a,l]=c.useState(""),[u,d]=c.useState(new Set),[p,m]=c.useState(0),h=Zn(),x=qa(h.split("/")[1]??""),g=c.useMemo(()=>{const v=Object.values(o).map(M=>M.rowCount).filter(M=>M!==null);return v.length>0?Math.max(...v):0},[o]),b=a.trim().length>0,k=c.useMemo(()=>{const v=a.trim().toLowerCase();return v?s.filter(M=>{const O=Sn(M);return M.label.toLowerCase().includes(v)||M.dbName.toLowerCase().includes(v)||(O?.toLowerCase().includes(v)??!1)}):s},[s,a]),{schemas:$,grouped:w,multiSchema:P}=c.useMemo(()=>{const v=new Map;for(const O of k){const z=Sn(O),I=v.get(z)??[];I.push(O),v.set(z,I)}const M=[...v.keys()].filter(O=>O!==null).sort((O,z)=>O.localeCompare(z));return{schemas:M,grouped:v,multiSchema:M.length>1}},[k]),C=c.useMemo(()=>{const v=[];if(P){const M=[...$,...w.has(null)?[null]:[]];for(const O of M){const z=w.get(O===void 0?null:O)??[],I=!b&&u.has(O);if(v.push({kind:"group",schema:O??"(no schema)",count:z.length,collapsed:I}),!I)for(const _ of z)v.push({kind:"table",schema:O,table:_})}}else for(const M of k)v.push({kind:"table",schema:Sn(M),table:M});return v},[P,$,w,k,u,b]);c.useEffect(()=>{m(0)},[a]);const T=Math.max(1,Math.ceil(C.length/Zt)),j=Math.min(p,T-1),E=j*Zt,y=C.slice(E,E+Zt),S=P&&y[0]?.kind==="table"&&y[0].schema?y[0].schema:null,L=v=>d(M=>{const O=new Set(M);return O.has(v)?O.delete(v):O.add(v),O});return n?t.jsxs("div",{className:"flex items-center justify-center gap-2 p-4",children:[t.jsx(N.Loader2,{className:"size-4 animate-spin text-muted-foreground"}),t.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]}):r?t.jsx(pt,{variant:"destructive",className:"m-2",children:t.jsxs(ht,{children:["Error: ",r.message]})}):s.length===0?t.jsxs("div",{className:"p-4 text-center text-sm text-muted-foreground",children:[t.jsx("p",{className:"font-medium",children:"No tables found"}),t.jsx("p",{className:"mt-1",children:"The database may be empty or the connection may have failed."})]}):t.jsxs("div",{className:"@container min-w-0 flex flex-col h-full",children:[t.jsxs("div",{className:"sticky top-0 z-20 bg-background p-2 border-b border-border",children:[t.jsxs("div",{className:"relative",children:[t.jsx(N.Search,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground pointer-events-none"}),t.jsx(ke,{type:"search",value:a,onChange:v=>l(v.target.value),placeholder:"Search tables...","aria-label":"Search tables",className:"pl-8 pr-8 h-8 text-sm"}),b&&t.jsx("button",{type:"button",onClick:()=>l(""),"aria-label":"Clear search",className:"absolute right-1.5 top-1/2 -translate-y-1/2 p-0.5 rounded text-muted-foreground hover:text-foreground hover:bg-muted",children:t.jsx(N.X,{className:"size-4"})})]}),b&&t.jsxs("p",{className:"mt-1 px-0.5 text-xs text-muted-foreground",children:[k.length," match",k.length!==1?"es":""]})]}),t.jsx("div",{className:"flex-1 overflow-y-auto min-h-0",children:C.length===0?t.jsxs("p",{className:"p-4 text-center text-sm text-muted-foreground",children:["No tables match “",a,"”."]}):t.jsxs(t.Fragment,{children:[S&&t.jsx(Qr,{schema:S,count:w.get(S)?.length??0,collapsed:!1,context:!0}),y.map(v=>v.kind==="group"?t.jsx(Qr,{schema:v.schema,count:v.count,collapsed:v.collapsed,onToggle:()=>L(v.schema)},`g:${v.schema}`):t.jsx(Ba,{table:v.table,stats:o[v.table.name]??{columnCount:v.table.columns.length,rowCount:null,fkCount:v.table.singleJoins.length,isLoading:i,error:null},maxRowCount:g,showStats:e,active:v.table.name===x},`t:${v.table.name}`))]})}),T>1&&t.jsxs("div",{className:"sticky bottom-0 z-20 bg-background border-t border-border flex items-center justify-between gap-2 px-2 py-1.5",children:[t.jsx("button",{type:"button",onClick:()=>m(v=>Math.max(0,v-1)),disabled:j===0,"aria-label":"Previous page",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:pointer-events-none",children:t.jsx(N.ChevronLeft,{className:"size-4"})}),t.jsxs("span",{className:"text-xs text-muted-foreground tabular-nums",children:[E+1,"–",Math.min(E+Zt,C.length)," of ",C.length]}),t.jsx("button",{type:"button",onClick:()=>m(v=>Math.min(T-1,v+1)),disabled:j>=T-1,"aria-label":"Next page",className:"p-1 rounded text-muted-foreground hover:text-foreground hover:bg-muted disabled:opacity-40 disabled:pointer-events-none",children:t.jsx(N.ChevronRight,{className:"size-4"})})]})]})}const Ga=ur("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 text-foreground hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"text-foreground hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},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 rounded-md"}},defaultVariants:{variant:"default",size:"default"}}),W=ve.forwardRef(({className:e,variant:n,size:r,asChild:s=!1,...o},i)=>{const a=s?Js.Slot:"button";return t.jsx(a,{className:H(Ga({variant:n,size:r,className:e})),ref:i,...o})});W.displayName="Button";function Yr({...e}){return t.jsx(Q.DropdownMenu.Root,{"data-slot":"dropdown-menu",...e})}function Rr({...e}){return t.jsx(Q.DropdownMenu.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function Xr({className:e,sideOffset:n=4,...r}){return t.jsx(Q.DropdownMenu.Portal,{children:t.jsx(Q.DropdownMenu.Content,{"data-slot":"dropdown-menu-content",sideOffset:n,className:H("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...r})})}function zt({className:e,inset:n,variant:r="default",...s}){return t.jsx(Q.DropdownMenu.Item,{"data-slot":"dropdown-menu-item","data-inset":n,"data-variant":r,className:H("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...s})}function Ja({className:e,children:n,checked:r,...s}){return t.jsxs(Q.DropdownMenu.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:H("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),checked:r,...s,children:[t.jsx("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:t.jsx(Q.DropdownMenu.ItemIndicator,{children:t.jsx(N.CheckIcon,{className:"size-4"})})}),n]})}function Wa({className:e,inset:n,...r}){return t.jsx(Q.DropdownMenu.Label,{"data-slot":"dropdown-menu-label","data-inset":n,className:H("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...r})}function Ue({className:e,...n}){return t.jsx(Q.DropdownMenu.Separator,{"data-slot":"dropdown-menu-separator",className:H("-mx-1 my-1 h-px bg-border",e),...n})}function Et({...e}){return t.jsx(Q.DropdownMenu.Sub,{"data-slot":"dropdown-menu-sub",...e})}function Pt({className:e,inset:n,children:r,...s}){return t.jsxs(Q.DropdownMenu.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":n,className:H("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...s,children:[r,t.jsx(N.ChevronRightIcon,{className:"ml-auto size-4"})]})}function Dt({className:e,...n}){return t.jsx(Q.DropdownMenu.SubContent,{"data-slot":"dropdown-menu-sub-content",className:H("z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...n})}const Mt=ve.forwardRef(({...e},n)=>t.jsx(Q.HoverCard.Root,{"data-slot":"hover-card",...e}));Mt.displayName="HoverCard";const It=ve.forwardRef(({...e},n)=>t.jsx(Q.HoverCard.Trigger,{"data-slot":"hover-card-trigger",...e}));It.displayName="HoverCardTrigger";const Lt=ve.forwardRef(({className:e,align:n="center",sideOffset:r=4,...s},o)=>t.jsx(Q.HoverCard.Portal,{children:t.jsx(Q.HoverCard.Content,{ref:o,"data-slot":"hover-card-content",align:n,sideOffset:r,className:H("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 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})}));Lt.displayName="HoverCardContent";function Le({...e}){return t.jsx(Q.Select.Root,{"data-slot":"select",...e})}function Oe({...e}){return t.jsx(Q.Select.Value,{"data-slot":"select-value",...e})}function Ae({className:e,size:n="default",children:r,...s}){return t.jsxs(Q.Select.Trigger,{"data-slot":"select-trigger","data-size":n,className:H("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent text-foreground px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...s,children:[r,t.jsx(Q.Select.Icon,{asChild:!0,children:t.jsx(N.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function qe({className:e,children:n,position:r="item-aligned",align:s="center",...o}){return t.jsx(Q.Select.Portal,{children:t.jsxs(Q.Select.Content,{"data-slot":"select-content",className:H("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",r==="popper"&&"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:r,align:s,...o,children:[t.jsx(Ha,{}),t.jsx(Q.Select.Viewport,{className:H("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:n}),t.jsx(Qa,{})]})})}function ge({className:e,children:n,...r}){return t.jsxs(Q.Select.Item,{"data-slot":"select-item",className:H("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[t.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:t.jsx(Q.Select.ItemIndicator,{children:t.jsx(N.CheckIcon,{className:"size-4"})})}),t.jsx(Q.Select.ItemText,{children:n})]})}function Ha({className:e,...n}){return t.jsx(Q.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:H("flex cursor-default items-center justify-center py-1",e),...n,children:t.jsx(N.ChevronUpIcon,{className:"size-4"})})}function Qa({className:e,...n}){return t.jsx(Q.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:H("flex cursor-default items-center justify-center py-1",e),...n,children:t.jsx(N.ChevronDownIcon,{className:"size-4"})})}function Ur(e){const n=c.useRef(null),r=c.useRef(null),s=c.useRef(e);s.current=e;const o=c.useMemo(()=>{const i=()=>{n.current&&(clearTimeout(n.current),n.current=null)},a=()=>{i();const l=r.current;r.current=null,l?.()};return{schedule:l=>{i(),r.current=l,n.current=setTimeout(a,s.current)},cancel:()=>{i(),r.current=null},flush:a}},[]);return c.useEffect(()=>()=>o.flush(),[o]),o}const Zr={_contains:"Contains",_starts_with:"Starts with",_ends_with:"Ends with",_eq:"Equals",_neq:"Not equals",_null:"Is null"},Ya=300;function Ra({column:e}){const r=(e.columnDef.meta?.filterOperators??[]).filter(b=>b in Zr),s=e.getFilterValue(),[o,i]=c.useState(s?.operator??"_contains"),[a,l]=c.useState(s?.operator==="_null"?"":String(s?.value??"")),{schedule:u,cancel:d}=Ur(Ya),p=o==="_null",m=(b,k)=>{if(b==="_null"){d(),e.setFilterValue({operator:"_null",value:!0});return}if(!k){d(),e.setFilterValue(void 0);return}u(()=>e.setFilterValue({operator:b,value:k}))},h=b=>{i(b),b==="_null"?(l(""),m("_null","")):a?m(b,a):(d(),e.setFilterValue(void 0))},x=b=>{l(b),m(o,b)},g=()=>{d(),i("_contains"),l(""),e.setFilterValue(void 0)};return r.length===0?null:t.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[t.jsxs(Le,{value:o,onValueChange:h,children:[t.jsx(Ae,{size:"sm",className:"w-full text-xs",children:t.jsx(Oe,{})}),t.jsx(qe,{children:r.map(b=>t.jsx(ge,{value:b,children:Zr[b]},b))})]}),!p&&t.jsx(ke,{placeholder:"Filter value...",value:a,onChange:b=>x(b.target.value),className:"h-8 text-xs",autoFocus:!0}),s!==void 0&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:g,children:[t.jsx(N.X,{className:"size-3"}),"Clear filter"]})]})}const es={_eq:"Equals",_neq:"Not equals",_gt:"Greater than",_gte:"Greater or equal",_lt:"Less than",_lte:"Less or equal",_between:"Between",_null:"Is null"},Xa=300;function Ua(e){return(e.columnDef.meta?.paramType??"").replace("!","")==="Int"}function $n(e,n){const r=e.trim();if(r===""||r==="-"||r==="+"||!(n?/^[+-]?\d+$/.test(r):/^[+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?$/.test(r)))return null;const o=Number(r);return Number.isFinite(o)?o:null}function Za({column:e}){const r=(e.columnDef.meta?.filterOperators??[]).filter(S=>S in es),s=Ua(e),o=e.getFilterValue(),i=o?.operator??"_eq",[a,l]=c.useState(i),[u,d]=c.useState(()=>!o||o.operator==="_null"||o.operator==="_between"?"":String(o.value??"")),[p,m]=c.useState(()=>o?.operator==="_between"&&Array.isArray(o.value)?String(o.value[0]??""):""),[h,x]=c.useState(()=>o?.operator==="_between"&&Array.isArray(o.value)?String(o.value[1]??""):""),{schedule:g,cancel:b}=Ur(Xa),k=(S,L)=>{if(S==="_null"){b(),e.setFilterValue({operator:"_null",value:!0});return}const v=$n(L,s);if(v===null){b(),e.setFilterValue(void 0);return}g(()=>e.setFilterValue({operator:S,value:v}))},$=(S,L)=>{const v=$n(S,s),M=$n(L,s);if(v===null||M===null){b(),e.setFilterValue(void 0);return}g(()=>e.setFilterValue({operator:"_between",value:[v,M]}))},w=S=>{l(S),S==="_null"?(d(""),m(""),x(""),k("_null","")):S==="_between"?(d(""),p&&h?$(p,h):(b(),e.setFilterValue(void 0))):(m(""),x(""),u?k(S,u):(b(),e.setFilterValue(void 0)))},P=S=>{d(S),k(a,S)},C=S=>{m(S),$(S,h)},T=S=>{x(S),$(p,S)},j=()=>{b(),l("_eq"),d(""),m(""),x(""),e.setFilterValue(void 0)};if(r.length===0)return null;const E=a==="_between",y=a==="_null";return t.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[t.jsxs(Le,{value:a,onValueChange:w,children:[t.jsx(Ae,{size:"sm",className:"w-full text-xs",children:t.jsx(Oe,{})}),t.jsx(qe,{children:r.map(S=>t.jsx(ge,{value:S,children:es[S]},S))})]}),!y&&!E&&t.jsx(ke,{type:"number",placeholder:"Filter value...",value:u,onChange:S=>P(S.target.value),className:"h-8 text-xs",autoFocus:!0}),E&&t.jsxs("div",{className:"flex gap-2",children:[t.jsx(ke,{type:"number",placeholder:"Min",value:p,onChange:S=>C(S.target.value),className:"h-8 text-xs",autoFocus:!0}),t.jsx(ke,{type:"number",placeholder:"Max",value:h,onChange:S=>T(S.target.value),className:"h-8 text-xs"})]}),o!==void 0&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:j,children:[t.jsx(N.X,{className:"size-3"}),"Clear filter"]})]})}const ts={_eq:"On",_neq:"Not on",_gt:"After",_gte:"On or after",_lt:"Before",_lte:"On or before",_between:"Between",_null:"Is null"};function ei({column:e}){const r=(e.columnDef.meta?.filterOperators??[]).filter(j=>j in ts),s=e.getFilterValue(),o=s?.operator??"_eq",[i,a]=c.useState(o),[l,u]=c.useState(()=>!s||s.operator==="_null"||s.operator==="_between"?"":String(s.value??"")),[d,p]=c.useState(()=>s?.operator==="_between"&&Array.isArray(s.value)?String(s.value[0]??""):""),[m,h]=c.useState(()=>s?.operator==="_between"&&Array.isArray(s.value)?String(s.value[1]??""):""),x=(j,E)=>{if(j==="_null"){e.setFilterValue({operator:"_null",value:!0});return}if(!E){e.setFilterValue(void 0);return}e.setFilterValue({operator:j,value:E})},g=(j,E)=>{if(!j||!E){e.setFilterValue(void 0);return}e.setFilterValue({operator:"_between",value:[j,E]})},b=j=>{a(j),j==="_null"?(u(""),p(""),h(""),e.setFilterValue({operator:"_null",value:!0})):j==="_between"?(u(""),d&&m?g(d,m):e.setFilterValue(void 0)):(p(""),h(""),l?x(j,l):e.setFilterValue(void 0))},k=j=>{u(j),x(i,j)},$=j=>{p(j),g(j,m)},w=j=>{h(j),g(d,j)},P=()=>{a("_eq"),u(""),p(""),h(""),e.setFilterValue(void 0)};if(r.length===0)return null;const C=i==="_between",T=i==="_null";return t.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[t.jsxs(Le,{value:i,onValueChange:b,children:[t.jsx(Ae,{size:"sm",className:"w-full text-xs",children:t.jsx(Oe,{})}),t.jsx(qe,{children:r.map(j=>t.jsx(ge,{value:j,children:ts[j]},j))})]}),!T&&!C&&t.jsx(ke,{type:"date",value:l,onChange:j=>k(j.target.value),className:"h-8 text-xs"}),C&&t.jsxs("div",{className:"flex gap-2",children:[t.jsx(ke,{type:"date",value:d,onChange:j=>$(j.target.value),className:"h-8 text-xs"}),t.jsx(ke,{type:"date",value:m,onChange:j=>w(j.target.value),className:"h-8 text-xs"})]}),s!==void 0&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:P,children:[t.jsx(N.X,{className:"size-3"}),"Clear filter"]})]})}const ti={all:"All",true:"True",false:"False",_null:"Is null"};function ni(e){return e?e.operator==="_null"?"_null":e.operator==="_eq"&&e.value===!0?"true":e.operator==="_eq"&&e.value===!1?"false":"all":"all"}function ri({column:e}){const r=(e.columnDef.meta?.filterOperators??[]).includes("_null"),s=e.getFilterValue(),o=ni(s),i=r?["all","true","false","_null"]:["all","true","false"],a=u=>{switch(u){case"true":e.setFilterValue({operator:"_eq",value:!0});break;case"false":e.setFilterValue({operator:"_eq",value:!1});break;case"_null":e.setFilterValue({operator:"_null",value:!0});break;default:e.setFilterValue(void 0)}},l=()=>{e.setFilterValue(void 0)};return t.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[t.jsxs(Le,{value:o,onValueChange:a,children:[t.jsx(Ae,{size:"sm",className:"w-full text-xs",children:t.jsx(Oe,{})}),t.jsx(qe,{children:i.map(u=>t.jsx(ge,{value:u,children:ti[u]},u))})]}),s!==void 0&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:l,children:[t.jsx(N.X,{className:"size-3"}),"Clear filter"]})]})}function si(e,n,r,s){return!Ie(e)||!Ie(n)||!Ie(r)||s&&(!s.some(o=>o.name===n)||!s.some(o=>o.name===r))?null:`query Lookup${e} { ${e}(sort: [${n}_asc], limit: 100) { data { id: ${r} label: ${n} } } }`}function oi({column:e,joinTable:n,joinLabelColumn:r,joinFkColumn:s}){const o=Ce(),a=Pe().findTable(n),l=si(n,r,s,a?.columns),u=Xt(a?.columns.find(b=>b.name===s)),{data:d}=me.useQuery({queryKey:["fkLookup",n,r,s],queryFn:()=>o.query(l),staleTime:300*1e3,enabled:!!a&&!!l}),p=d?.[n]?.data??[],m=e.getFilterValue(),h=m?.operator==="_eq"&&m.value!=null?String(m.value):"all",x=b=>{if(b==="all"){e.setFilterValue(void 0);return}e.setFilterValue({operator:"_eq",value:Xe(b,u)})},g=()=>{e.setFilterValue(void 0)};return t.jsxs("div",{className:"flex flex-col gap-2 p-2 min-w-[220px]",children:[t.jsxs(Le,{value:h,onValueChange:x,children:[t.jsx(Ae,{size:"sm",className:"w-full text-xs",children:t.jsx(Oe,{})}),t.jsxs(qe,{children:[t.jsx(ge,{value:"all",children:"All"}),p.map(b=>t.jsx(ge,{value:String(b.id),children:String(b.label)},String(b.id)))]})]}),m!==void 0&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 text-xs justify-start",onClick:g,children:[t.jsx(N.X,{className:"size-3"}),"Clear filter"]})]})}function en(e){return(e.columnDef.meta?.paramType??"").replace("!","")}function ai(e){return en(e)==="String"}function ii(e){const n=en(e);return n==="Int"||n==="Float"}function li(e){return en(e)==="DateTime"}function ci(e){return en(e)==="Boolean"}function di(e){const n=e.columnDef.meta;return n?.joinTable?{joinTable:n.joinTable,joinLabelColumn:n.joinLabelColumn??"id",joinFkColumn:n.joinFkColumn??"id",isSelfReference:n.isSelfReference===!0}:null}function ui(e){return e.columnDef.meta?.column}function ns(e){const n=e.paramType.replace("!","");if(e.dbType){const r=e.dbType.toUpperCase();return e.maxLength&&(r.includes("VARCHAR")||r.includes("CHAR"))?`${r}(${e.maxLength})`:(r.includes("DECIMAL")||r.includes("NUMERIC"),r)}return n}function mi(e){const n=e.paramType.replace("!","");return e.isPrimaryKey?t.jsx(N.Key,{className:"size-3.5"}):n==="Int"||n==="Float"?t.jsx(N.Hash,{className:"size-3.5"}):n==="DateTime"?t.jsx(N.Calendar,{className:"size-3.5"}):n==="Boolean"?t.jsx(N.ToggleLeft,{className:"size-3.5"}):t.jsx(N.Type,{className:"size-3.5"})}function fi({column:e,fkMeta:n}){const r=ns(e),s=e.isNullable,o=e.isPrimaryKey,i=e.isIdentity,a=e.defaultValue;return t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"flex items-center gap-2 border-b pb-2",children:[mi(e),t.jsx("span",{className:"font-semibold text-foreground",children:e.label})]}),t.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:[t.jsx("dt",{className:"text-muted-foreground",children:"Type"}),t.jsx("dd",{className:"text-foreground font-medium",children:r}),t.jsx("dt",{className:"text-muted-foreground",children:"Nullable"}),t.jsx("dd",{className:"text-foreground",children:s?"Yes":"No"}),o&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Primary Key"}),t.jsxs("dd",{className:"text-foreground text-primary flex items-center gap-1",children:[t.jsx(N.Key,{className:"size-3"}),"Yes"]})]}),i&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Auto Increment"}),t.jsx("dd",{className:"text-foreground",children:"Yes"})]}),n&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Foreign Key"}),t.jsxs("dd",{className:"text-foreground text-primary flex items-center gap-1",children:[t.jsx(N.Link2,{className:"size-3"}),n.joinTable,n.isSelfReference&&t.jsx("span",{className:"ml-1 px-1 rounded bg-primary/10 text-[10px] font-medium",children:"self-ref"})]})]}),a!=null&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Default"}),t.jsx("dd",{className:"text-foreground font-mono text-xs truncate max-w-[150px]",children:String(a)})]}),e.maxLength!==void 0&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Max Length"}),t.jsx("dd",{className:"text-foreground",children:e.maxLength})]}),e.min!==void 0&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Min"}),t.jsx("dd",{className:"text-foreground",children:e.min})]}),e.max!==void 0&&t.jsxs(t.Fragment,{children:[t.jsx("dt",{className:"text-muted-foreground",children:"Max"}),t.jsx("dd",{className:"text-foreground",children:e.max})]})]})]})}function yt({column:e,table:n,title:r}){const s=n.options.meta?.onResetColumnWidths;if(!e.getCanSort())return t.jsx("span",{children:r});const o=e.getIsSorted(),i=e.getFilterValue()!==void 0,a=di(e),l=!a&&ai(e),u=!a&&ii(e),d=!a&&li(e),p=!a&&ci(e),m=ui(e),h=t.jsxs(W,{variant:"ghost",size:"sm",className:H("-ml-2 h-7 text-xs data-[state=open]:bg-accent",o&&"text-foreground"),children:[t.jsx("span",{children:r}),i&&t.jsx(N.Filter,{className:"size-3 text-primary"}),o==="desc"?t.jsx(N.ArrowDown,{className:"size-4"}):o==="asc"?t.jsx(N.ArrowUp,{className:"size-4"}):t.jsx(N.ArrowUpDown,{className:"size-4"})]});return t.jsxs(Mt,{openDelay:400,closeDelay:200,children:[t.jsxs(Yr,{children:[t.jsx(Rr,{asChild:!0,children:t.jsx(It,{asChild:!0,children:h})}),t.jsxs(Xr,{align:"start",children:[m&&t.jsxs(t.Fragment,{children:[t.jsxs(Wa,{className:"text-xs font-normal text-muted-foreground",children:[ns(m),m.isNullable?" · nullable":" · required",m.isPrimaryKey?" · PK":"",a?` · FK → ${a.joinTable}`:""]}),t.jsx(Ue,{})]}),t.jsxs(zt,{onClick:()=>e.toggleSorting(!1),children:[t.jsx(N.ArrowUp,{className:"size-3.5 text-muted-foreground"}),"Asc"]}),t.jsxs(zt,{onClick:()=>e.toggleSorting(!0),children:[t.jsx(N.ArrowDown,{className:"size-3.5 text-muted-foreground"}),"Desc"]}),o&&t.jsxs(zt,{onClick:()=>e.clearSorting(),children:[t.jsx(N.ArrowUpDown,{className:"size-3.5 text-muted-foreground"}),"Clear"]}),l&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(Et,{children:[t.jsxs(Pt,{children:[t.jsx(N.Filter,{className:H("size-3.5",i?"text-primary":"text-muted-foreground")}),"Filter"]}),t.jsx(Dt,{children:t.jsx(Ra,{column:e})})]})]}),u&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(Et,{children:[t.jsxs(Pt,{children:[t.jsx(N.Filter,{className:H("size-3.5",i?"text-primary":"text-muted-foreground")}),"Filter"]}),t.jsx(Dt,{children:t.jsx(Za,{column:e})})]})]}),d&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(Et,{children:[t.jsxs(Pt,{children:[t.jsx(N.Filter,{className:H("size-3.5",i?"text-primary":"text-muted-foreground")}),"Filter"]}),t.jsx(Dt,{children:t.jsx(ei,{column:e})})]})]}),p&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(Et,{children:[t.jsxs(Pt,{children:[t.jsx(N.Filter,{className:H("size-3.5",i?"text-primary":"text-muted-foreground")}),"Filter"]}),t.jsx(Dt,{children:t.jsx(ri,{column:e})})]})]}),a&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(Et,{children:[t.jsxs(Pt,{children:[t.jsx(N.Filter,{className:H("size-3.5",i?"text-primary":"text-muted-foreground")}),"Filter"]}),t.jsx(Dt,{children:t.jsx(oi,{column:e,joinTable:a.joinTable,joinLabelColumn:a.joinLabelColumn,joinFkColumn:a.joinFkColumn})})]})]}),e.getCanHide()&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(zt,{onClick:()=>e.toggleVisibility(!1),children:[t.jsx(N.EyeOff,{className:"size-3.5 text-muted-foreground"}),"Hide"]})]}),s&&t.jsxs(t.Fragment,{children:[t.jsx(Ue,{}),t.jsxs(zt,{onClick:s,children:[t.jsx(N.RotateCcw,{className:"size-3.5 text-muted-foreground"}),"Reset column widths"]})]})]})]}),m&&t.jsx(Lt,{align:"start",className:"w-64",children:t.jsx(fi,{column:m,fkMeta:a})})]})}function vt({kind:e}){return t.jsx("span",{className:"text-muted-foreground/60 italic select-none",children:e==="null"?"NULL":"empty"})}const pi="display-format",hi="display-format-preview",xi=new Set(["date","datetime","time","relative","number","percent","raw"]);function gi(e){return{param:(e.paramType??"").replace("!","").toLowerCase(),db:(e.dbType??"").toLowerCase()}}function bi({param:e,db:n}){return e==="date"||n==="date"}function yi({param:e,db:n}){return e==="datetime"||e==="datetimeoffset"||n.includes("datetime")||n==="timestamp"||n==="smalldatetime"}function rs(e,n){const s=(n?e.metadata?.[n]:void 0)??e.metadata?.[pi];if(typeof s=="string"&&xi.has(s.toLowerCase()))return s.toLowerCase();const o=gi(e);return yi(o)?"datetime":bi(o)?"date":null}function vi(e){if(e instanceof Date)return isNaN(e.getTime())?null:e;if(typeof e=="number"){const n=new Date(e);return isNaN(n.getTime())?null:n}if(typeof e=="string"){const n=new Date(e);return isNaN(n.getTime())?null:n}return null}const ji=new Intl.DateTimeFormat(void 0,{dateStyle:"medium"}),Ni=new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}),wi=new Intl.DateTimeFormat(void 0,{timeStyle:"short"}),Ci=new Intl.DateTimeFormat(void 0,{dateStyle:"full",timeStyle:"medium"}),ss=new Intl.RelativeTimeFormat(void 0,{numeric:"auto"}),ki=[["year",31536e3],["month",2592e3],["week",604800],["day",86400],["hour",3600],["minute",60],["second",1]];function Ti(e,n=new Date){const r=Math.round((e.getTime()-n.getTime())/1e3),s=Math.abs(r);for(const[o,i]of ki)if(s>=i||o==="second")return ss.format(Math.round(r/i),o);return ss.format(0,"second")}function tn(e,n,r){if(e==null)return t.jsx(vt,{kind:"null"});if(e==="")return t.jsx(vt,{kind:"empty"});const s=rs(n,r?.formatKey);if(s===null||s==="raw")return String(e);if(s==="date"||s==="datetime"||s==="time"||s==="relative"){const o=vi(e);if(!o)return String(e);const i=Ci.format(o);if(s==="relative")return t.jsx("span",{title:i,className:"cursor-help underline decoration-dotted decoration-muted-foreground/40 underline-offset-2",children:Ti(o)});const a=(s==="date"?ji:s==="time"?wi:Ni).format(o);return t.jsx("span",{title:i,children:a})}if(s==="number"||s==="percent"){const o=typeof e=="number"?e:Number(e);if(isNaN(o))return String(e);const i=s==="percent"?new Intl.NumberFormat(void 0,{style:"percent",maximumFractionDigits:2}).format(o):new Intl.NumberFormat(void 0).format(o);return t.jsx("span",{title:String(e),children:i})}return String(e)}const Si=5,$i=400,_i=200;function Fi(e){return e.filter(n=>!n.isPrimaryKey).slice(0,Si)}function zi(e,n,r,s){const o=n.map(i=>i.name).join(" ");return`query FkPreview($id: ${s}) { ${e}(filter: { ${r}: { _eq: $id } } limit: 1) { data { ${o} } } }`}function Ei(e,n,r,s){const o=n.map(i=>i.name).join(" ");return`query FkPreview(${r}) { ${e}(filter: ${s} limit: 1) { data { ${o} } } }`}function Pi(e,n,r,s,o,i,a){if(r.length===0)return null;if(s&&it(s)&&o){const p=ua(o,s,n);if(!p)return null;const m=p.params.join(", ");return{query:Ei(e,r,m,p.filterText),variables:p.variables,cacheKey:p.variables}}const l=n.columns.find(p=>p.name===a)?.paramType??"Int",u=qr(l),d={id:Xe(i,u)};return{query:zi(e,r,a,u),variables:d,cacheKey:`${a}:${i}`}}function Di({tableName:e,recordId:n,filterColumn:r,join:s,sourceRow:o,children:i}){const[a,l]=c.useState(!1),u=Pe(),d=Ce(),p=u.findTable(e),m=p?Fi(p.columns):[],h=p?Pi(e,p,m,s,o,n,r):null,{data:x,isLoading:g}=me.useQuery({queryKey:["fkPreview",e,h?.cacheKey],queryFn:()=>d.query(h.query,h.variables),enabled:a&&!!h,staleTime:300*1e3}),b=x?.[e]?.data?.[0];return t.jsxs(Mt,{openDelay:$i,closeDelay:_i,open:a,onOpenChange:l,children:[t.jsx(It,{asChild:!0,children:i}),t.jsx(Lt,{align:"start",className:"w-72",children:t.jsxs("div",{className:"space-y-2",children:[t.jsx("p",{className:"text-sm font-semibold text-foreground",children:p?.label??e}),g&&t.jsx("p",{className:"text-xs text-muted-foreground",children:"Loading..."}),b&&t.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:m.map(k=>t.jsxs("div",{className:"contents",children:[t.jsx("dt",{className:"text-muted-foreground truncate",children:k.label}),t.jsx("dd",{className:"text-foreground truncate",children:tn(b[k.name],k,{formatKey:hi})})]},k.name))}),!g&&!b&&a&&t.jsx("p",{className:"text-xs text-muted-foreground",children:"Record not found"})]})})]})}const Mi={json:N.Braces,xml:N.Code,"php-serialized":N.Database,binary:N.Binary,longtext:N.FileText,text:N.FileText},Ii={json:"JSON",xml:"XML","php-serialized":"PHP",binary:"Binary",longtext:"Text",text:"Text"};function Li(e,n){if(n==="json")try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return e}function Oi({value:e,dbType:n,onExpand:r}){if(e==null)return t.jsx(vt,{kind:"null"});const s=typeof e=="object"?JSON.stringify(e):String(e);if(s==="")return t.jsx(vt,{kind:"empty"});const o=Nn(s,n);if(o==="text")return t.jsx("span",{children:s});if(o==="binary")return t.jsxs("span",{className:"inline-flex items-center gap-1.5 text-muted-foreground",children:[t.jsx(N.Binary,{className:"size-3.5"}),t.jsx("span",{className:"text-xs font-mono",children:ya(s)}),r&&t.jsx("button",{type:"button",className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:u=>{u.stopPropagation(),r()},"aria-label":"Expand content",children:t.jsx(N.Expand,{className:"size-3"})})]});const i=Mi[o],a=ba(s);return s.length>80||o==="json"||o==="xml"||o==="php-serialized"?t.jsxs(Mt,{openDelay:300,closeDelay:200,children:[t.jsx(It,{asChild:!0,children:t.jsxs("button",{type:"button",className:"inline-flex items-center gap-1.5 text-left hover:text-primary transition-colors max-w-full",children:[t.jsx(i,{className:"size-3 text-muted-foreground shrink-0"}),t.jsx("span",{className:"font-mono text-xs truncate",children:a}),r&&t.jsx("span",{role:"button",tabIndex:0,className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:u=>{u.stopPropagation(),u.preventDefault(),r()},onKeyDown:u=>{u.key==="Enter"&&(u.stopPropagation(),r())},"aria-label":"Expand content",children:t.jsx(N.Expand,{className:"size-3"})})]})}),t.jsxs(Lt,{side:"bottom",align:"start",className:"w-[420px] max-h-[320px] p-0",children:[t.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-1.5 border-b border-border bg-muted/30",children:[t.jsx(i,{className:"size-3.5 text-muted-foreground"}),t.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:Ii[o]}),t.jsxs("span",{className:"text-xs text-muted-foreground ml-auto",children:[s.length," chars"]})]}),t.jsx("pre",{className:"p-3 text-xs font-mono overflow-auto max-h-[280px] whitespace-pre-wrap break-all",children:Li(s,o)})]})]}):t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx(i,{className:"size-3 text-muted-foreground shrink-0"}),t.jsx("span",{className:"font-mono text-xs",children:s}),r&&t.jsx("button",{type:"button",className:"shrink-0 opacity-40 hover:opacity-100 transition-opacity",onClick:u=>{u.stopPropagation(),r()},"aria-label":"Expand content",children:t.jsx(N.Expand,{className:"size-3"})})]})}function os(e,n){return e?!n||(n.primaryKeys?.length??0)<=1?xt([e?.id]):_t(e,n,0):""}function Ai(e,n){const r=Math.max(0,n-1);return e<0?0:e>r?r:e}function as(e,n){return Br(e)===n?e:Kr(n)}function qi(e,n){const r=n.fieldName??n.destinationTable;return e[r]?.data??[]}function Vi(e,n){const r=n.fieldName??n.destinationTable,s=e[r];return s?.total??s?.data?.length??0}const Bi=(e,n,r,s)=>{if(!e||!n)return[];const o=e.columns.map(a=>{const l=e.singleJoins.find(m=>m.sourceColumnNames?.[0]===a.name),u=l?void 0:e.singleJoins.find(m=>(m.sourceColumnNames??[]).includes(a.name)),d=Lr(a.paramType);if(l){const m=l.destinationTable,h=n.findTable(l.destinationTable),x=h?.labelColumn??"id",g=it(l),b=l.destinationTable===e.name,k=b?`Parent ${a.label}`:a.label;return{id:a.name,accessorKey:a.name,header:({column:$,table:w})=>t.jsx(yt,{column:$,table:w,title:k}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,filterOperators:d,joinTable:l.destinationTable,joinLabelColumn:x,joinFkColumn:l.destinationColumnNames[0],column:a,isSelfReference:b,isCompositeFk:g},cell:({row:$})=>{const w=$.original[m];if(!w)return t.jsx(vt,{kind:"null"});const P=os(w,h);return t.jsxs("span",{className:"group/fk inline-flex items-center gap-0.5",children:[t.jsx(Di,{tableName:l.destinationTable,recordId:P,filterColumn:l.destinationColumnNames[0],join:l,sourceRow:$.original,children:t.jsx(St,{to:"/"+h?.name+"/"+P,className:"text-primary hover:text-primary/80 hover:underline",children:w?.label})}),s&&t.jsx(W,{variant:"ghost",size:"icon-sm",className:"opacity-0 group-hover/fk:opacity-100 size-5 shrink-0",onClick:C=>{C.stopPropagation(),s({tableName:l.destinationTable,filterId:P})},"aria-label":"Open in side column",title:"Open in side column",children:t.jsx(N.PanelRight,{className:"size-3"})})]})}}}if(u){const h=n.findTable(u.destinationTable)?.labelColumn??"id",x=u.destinationTable===e.name;return{id:a.name,accessorFn:g=>a.name?String(g?.[a.name]??""):"",cell:({row:g})=>tn(g.original[a.name],a),header:({column:g,table:b})=>t.jsx(yt,{column:g,table:b,title:a.label}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,dbType:a.dbType,filterOperators:d,joinTable:u.destinationTable,joinLabelColumn:h,joinFkColumn:u.destinationColumnNames[(u.sourceColumnNames??[]).indexOf(a.name)]??u.destinationColumnNames[0],column:a,isSelfReference:x,isCompositeFk:!0,isCompositeFkMember:!0}}}return a?.joinTable?{id:a.name,accessorKey:a.name,header:({column:m,table:h})=>t.jsx(yt,{column:m,table:h,title:a.label}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,filterOperators:d,column:a},cell:({row:m})=>{const h=m.original[a.name];return h?t.jsx(St,{to:"/"+a.name+"/"+os(h,void 0),className:"text-primary hover:text-primary/80 hover:underline",children:a.name}):null}}:a?.paramType==="DateTime"?{id:a.name,accessorFn:m=>Ar(m?.[a.name]),cell:({row:m})=>{const h=m.original[a.name];return h==null||h===""?t.jsx(vt,{kind:h===""?"empty":"null"}):Ar(h)},header:({column:m,table:h})=>t.jsx(yt,{column:m,table:h,title:a.label}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,dbType:a.dbType,filterOperators:d,column:a}}:Ft(a.dbType)||bt(a.dbType)||lt(a)?{id:a.name,accessorFn:m=>a.name?String(m?.[a.name]??""):"",header:({column:m,table:h})=>t.jsx(yt,{column:m,table:h,title:a.label}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,dbType:a.dbType,filterOperators:d,column:a},cell:({row:m})=>t.jsx(Oi,{value:m.original[a.name],dbType:a.dbType,onExpand:r?()=>r(m.index,a.name):void 0})}:{id:a.name,accessorFn:m=>a.name?String(m?.[a.name]??""):"",cell:({row:m})=>tn(m.original[a.name],a),header:({column:m,table:h})=>t.jsx(yt,{column:m,table:h,title:a.label}),enableSorting:!0,meta:{sortField:a.name,paramType:a.paramType,dbType:a.dbType,filterOperators:d,column:a}}}),i=e.multiJoins.map(a=>{const l=n.findTable(a.destinationTable),u=l?.labelColumn??"id",p=a.destinationTable===e.name?`Child ${l?.label??a.destinationTable}`:l?.label??a.destinationTable;return{id:`join_${a.fieldName??a.destinationTable}`,header:p,enableSorting:!1,enableHiding:!0,cell:({row:m})=>{const h=Ca(m.original,e,m.index),x=qi(m.original,a),g=Vi(m.original,a);if(g===0)return t.jsx("span",{className:"text-muted-foreground",children:"—"});const b=x.slice(0,10).map($=>String($[u]??"")).filter(Boolean),k=l?.label??a.destinationTable;return t.jsxs("span",{className:"group/fk inline-flex items-center gap-1",children:[t.jsxs(Mt,{openDelay:300,closeDelay:100,children:[t.jsx(It,{asChild:!0,children:t.jsxs(St,{to:"/"+l?.name+"/from/"+e.name+"/"+h,className:"inline-flex items-center gap-1 rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs font-medium text-primary hover:bg-muted hover:border-primary/40 transition-colors",children:[t.jsx(N.List,{className:"size-3"}),g]})}),t.jsxs(Lt,{align:"start",sideOffset:6,className:"w-auto max-w-xs p-3",children:[t.jsxs("div",{className:"flex items-center gap-2 border-b pb-2 mb-2",children:[t.jsx(N.List,{className:"size-3.5 text-primary"}),t.jsxs("span",{className:"text-xs font-semibold text-foreground",children:[g," ",k]})]}),t.jsxs("ul",{className:"space-y-0.5 text-xs text-foreground",children:[b.map(($,w)=>t.jsx("li",{className:"truncate",children:$},w)),g>10&&t.jsxs("li",{className:"text-muted-foreground italic",children:["… and ",g-10," more"]})]})]})]}),s&&t.jsx(W,{variant:"ghost",size:"icon-sm",className:"opacity-40 group-hover/fk:opacity-100 size-5 shrink-0 transition-opacity",onClick:$=>{$.stopPropagation(),s({tableName:a.destinationTable,filterTable:e.name,filterId:h,...it(a)?{}:{filterColumn:a.destinationColumnNames[0]}})},"aria-label":"Open in side column",title:"Open in side column",children:t.jsx(N.PanelRight,{className:"size-3"})})]})}}});return[...o,...i]};function Ki(e,n,r,s,o){if(!s&&!o)return Cn(e,n);const i=kn(n,r,s,o);return i?Cn(e,i.parentTable):Cn(e,n)}function Gi(e,n,r,s,o,i){const{search:a}=er(),l=Wt(),u=a.get("filter")??"",d=a.get("cf")??"",{variables:p}=Or(u),m=Pe(),h=Ce(),[x,g]=c.useState([]),[b,k]=c.useState(()=>Kr(d)),[$,w]=c.useState(0),[P,C]=c.useState(50),T=c.useRef(e);e&&e!==T.current&&(T.current=e,x.length>0&&g([]),$!==0&&w(0)),c.useEffect(()=>{k(J=>as(J,d))},[d]);const j=c.useMemo(()=>as(b,d),[b,d]),E=c.useMemo(()=>{if(!e)return"id";const J=Qe(e)[0]?.name;return J&&e.columns.some(R=>R.name===J)?J:e.columns.find(R=>!bt(R.dbType)&&!Ft(R.dbType)&&!lt(R))?.name??e.columns.at(0)?.name??"id"},[e]),y=c.useMemo(()=>{if(x.length>0&&e){const J=x[0];if(e.columns.some(R=>R.name===J.id))return[`${J.id}_${J.desc?"desc":"asc"}`]}return e?[`${E}_asc`]:[]},[x,e,E]),S=c.useMemo(()=>$a(e,m,u,j,n,r,s),[e,m,u,j,n,r,s]),L=c.useMemo(()=>e?Vr(j,e).variables:{},[j,e]),v=$*P,M=c.useMemo(()=>({sort:y,limit:P,offset:v,...n&&e?Ki(n,e,m,r,s):{},...p,...L}),[y,P,v,n,e,m,r,s,p,L]),{isLoading:O,error:z,data:I}=me.useQuery({queryKey:["tableData",e?.name,S,M],queryFn:({signal:J})=>h.query(S,M,{signal:J}),enabled:!!S&&!!e&&y.length>0,placeholderData:(J,ce)=>ce?.queryKey?.[1]===e?.name?J:void 0}),_=c.useMemo(()=>e?Bi(e,m,o,i):[],[e,m,o,i]),G=c.useMemo(()=>n&&(r||s)&&e?kn(e,m,r,s):null,[n,r,s,e,m]);let U,ie;if(G&&!Wr(G.childJoin)){const J=za(I,G.parentTable.name,G.childField);U=J.data,ie=J.total}else{const J=I?.[e?.name??""];U=J?.data??[],ie=J?.total??0}const B=Math.max(1,Math.ceil(ie/P));c.useEffect(()=>{const J=Ai($,B);J!==$&&w(J)},[$,B]);const Te=c.useCallback(J=>{const ce=new URLSearchParams(a),R=Br(J);R?ce.set("cf",R):ce.delete("cf");const Ne=ce.toString();l(Ne?`?${Ne}`:"?")},[a,l]),ye=c.useCallback(J=>{g(J),w(0)},[]),xe=c.useCallback(J=>{k(J),w(0),Te(J)},[Te]),le=c.useCallback(J=>{w(J)},[]),re=c.useCallback(J=>{C(J),w(0)},[]),ae=e?.primaryKeys??[];return{columns:_,sorting:x,columnFilters:b,primaryKeys:ae,pageIndex:$,pageSize:P,pageCount:B,rows:U,loading:O,error:z,onSortingChange:ye,onColumnFiltersChange:xe,onPageIndexChange:le,onPageSizeChange:re}}const Ji=new Set(["tableData","editRecord","tableRowCounts","m2mRows","fkPreview"]),Wi=new Set(["tableRef","tableRefValue","compositeTableRef","m2mTargets"]);function nn(e,n){return e.invalidateQueries({predicate:r=>{const[s,o]=r.queryKey;return typeof s!="string"?!1:Ji.has(s)?!0:Wi.has(s)?o===n:!1}})}const is=c.createContext({toast:()=>{}}),Hi=4e3;function Qi({children:e}){const[n,r]=c.useState([]),s=c.useRef(0),o=c.useRef(new Set),i=c.useCallback(u=>{r(d=>d.filter(p=>p.id!==u))},[]),a=c.useCallback((u,d="success")=>{const p=s.current++;r(h=>[...h,{id:p,message:u,variant:d}]);const m=setTimeout(()=>{i(p),o.current.delete(m)},Hi);o.current.add(m)},[i]);c.useEffect(()=>{const u=o.current;return()=>{u.forEach(clearTimeout)}},[]);const l=c.useMemo(()=>({toast:a}),[a]);return t.jsxs(is.Provider,{value:l,children:[e,t.jsx("div",{className:"fixed bottom-4 right-4 z-[100] flex flex-col gap-2 max-w-sm",role:"region","aria-label":"Notifications",children:n.map(u=>t.jsxs("div",{role:"status",className:H("flex items-start gap-2 rounded-md border px-3 py-2 text-sm shadow-md bg-popover",u.variant==="error"?"border-destructive/40 text-destructive":"border-border text-foreground"),children:[u.variant==="error"?t.jsx(N.AlertCircle,{className:"size-4 shrink-0 mt-0.5"}):t.jsx(N.CheckCircle2,{className:"size-4 shrink-0 mt-0.5 text-green-600"}),t.jsx("span",{className:"flex-1 break-words",children:u.message}),t.jsx("button",{type:"button",onClick:()=>i(u.id),"aria-label":"Dismiss notification",className:"shrink-0 opacity-60 hover:opacity-100",children:t.jsx(N.X,{className:"size-3.5"})})]},u.id))})]})}function rn(){return c.useContext(is)}function Yi(e){return typeof e=="object"&&e!==null}function ls(e,n){if(e==null)return null;if(!n)return e;const r=n.replace("!","");if(r==="Int"){const s=typeof e=="number"?e:Number(e);return Number.isFinite(s)?Math.trunc(s):e}if(r==="Float"){const s=typeof e=="number"?e:Number(e);return Number.isFinite(s)?s:e}return r==="Boolean"?typeof e=="boolean"?e:e==="true"||e===1:String(e)}function cs(e){Fe(e.name,"delete mutation table name");const n=Ce(),r=me.useQueryClient(),{toast:s}=rn(),o=c.useMemo(()=>{const g=new Map;for(const b of e.columns)g.set(b.name,b.paramType);return g},[e]),i=c.useMemo(()=>e.primaryKeys??[],[e]),a=g=>{if(i.length===0)throw new Error(`Cannot delete from '${e.name}': the table has no primary key.`);const b={};if(Yi(g)){for(const $ of i){const w=g[$];if(w==null)throw new Error(`Cannot delete row: missing value for primary-key column '${$}'.`);b[$]=ls(w,o.get($))}return b}if(i.length!==1)throw new Error(`Cannot delete from '${e.name}': composite primary key requires an object key, not a scalar.`);if(g==null)throw new Error(`Cannot delete row: missing value for primary-key column '${i[0]}'.`);const k=i[0];return b[k]=ls(g,o.get(k)),b},l=c.useMemo(()=>`mutation deleteSingle($detail: Delete_${e.name}){
119
79
  ${e.name}(delete: $detail)
120
- }`,[e]),l=M.useMemo(()=>`mutation batchDelete($actions: [batch_${e.name}!]!){
80
+ }`,[e]),u=c.useMemo(()=>`mutation batchDelete($actions: [batch_${e.name}!]!){
121
81
  ${e.name}_batch(actions: $actions)
122
- }`,[e]),c=je.useMutation({mutationFn:p=>n.query(i,{detail:p}),onSuccess:()=>t.invalidateQueries({queryKey:["tableData",e.name]})}),d=je.useMutation({mutationFn:p=>n.query(l,{actions:p}),onSuccess:()=>t.invalidateQueries({queryKey:["tableData",e.name]})}),f=p=>c.mutateAsync(s(p)),u=p=>{const h=p.map(g=>({delete:s(g)}));return d.mutateAsync(h)},m=c.error??d.error;return{deleteRow:f,deleteRows:u,isPending:c.isPending||d.isPending,error:m}}let Y=(function(e){return e[e.None=0]="None",e[e.Mutable=1]="Mutable",e[e.Watching=2]="Watching",e[e.RecursedCheck=4]="RecursedCheck",e[e.Recursed=8]="Recursed",e[e.Dirty=16]="Dirty",e[e.Pending=32]="Pending",e})({});function dS({update:e,notify:n,unwatched:t}){return{link:r,unlink:o,propagate:s,checkDirty:i,shallowPropagate:l};function r(d,f,u){const m=f.depsTail;if(m!==void 0&&m.dep===d)return;const p=m!==void 0?m.nextDep:f.deps;if(p!==void 0&&p.dep===d){p.version=u,f.depsTail=p;return}const h=d.subsTail;if(h!==void 0&&h.version===u&&h.sub===f)return;const g=f.depsTail=d.subsTail={version:u,dep:d,sub:f,prevDep:m,nextDep:p,prevSub:h,nextSub:void 0};p!==void 0&&(p.prevDep=g),m!==void 0?m.nextDep=g:f.deps=g,h!==void 0?h.nextSub=g:d.subs=g}function o(d,f=d.sub){const u=d.dep,m=d.prevDep,p=d.nextDep,h=d.nextSub,g=d.prevSub;return p!==void 0?p.prevDep=m:f.depsTail=m,m!==void 0?m.nextDep=p:f.deps=p,h!==void 0?h.prevSub=g:u.subsTail=g,g!==void 0?g.nextSub=h:(u.subs=h)===void 0&&t(u),p}function s(d){let f=d.nextSub,u;e:do{const m=d.sub;let p=m.flags;if(p&(Y.RecursedCheck|Y.Recursed|Y.Dirty|Y.Pending)?p&(Y.RecursedCheck|Y.Recursed)?p&Y.RecursedCheck?!(p&(Y.Dirty|Y.Pending))&&c(d,m)?(m.flags=p|(Y.Recursed|Y.Pending),p&=Y.Mutable):p=Y.None:m.flags=p&~Y.Recursed|Y.Pending:p=Y.None:m.flags=p|Y.Pending,p&Y.Watching&&n(m),p&Y.Mutable){const h=m.subs;if(h!==void 0){const g=(d=h).nextSub;g!==void 0&&(u={value:f,prev:u},f=g);continue}}if((d=f)!==void 0){f=d.nextSub;continue}for(;u!==void 0;)if(d=u.value,u=u.prev,d!==void 0){f=d.nextSub;continue e}break}while(!0)}function i(d,f){let u,m=0,p=!1;e:do{const h=d.dep,g=h.flags;if(f.flags&Y.Dirty)p=!0;else if((g&(Y.Mutable|Y.Dirty))===(Y.Mutable|Y.Dirty)){if(e(h)){const v=h.subs;v.nextSub!==void 0&&l(v),p=!0}}else if((g&(Y.Mutable|Y.Pending))===(Y.Mutable|Y.Pending)){(d.nextSub!==void 0||d.prevSub!==void 0)&&(u={value:d,prev:u}),d=h.deps,f=h,++m;continue}if(!p){const v=d.nextDep;if(v!==void 0){d=v;continue}}for(;m--;){const v=f.subs,y=v.nextSub!==void 0;if(y?(d=u.value,u=u.prev):d=v,p){if(e(f)){y&&l(v),f=d.sub;continue}p=!1}else f.flags&=~Y.Pending;f=d.sub;const b=d.nextDep;if(b!==void 0){d=b;continue e}}return p}while(!0)}function l(d){do{const f=d.sub,u=f.flags;(u&(Y.Pending|Y.Dirty))===Y.Pending&&(f.flags=u|Y.Dirty,(u&(Y.Watching|Y.RecursedCheck))===Y.Watching&&n(f))}while((d=d.nextSub)!==void 0)}function c(d,f){let u=f.depsTail;for(;u!==void 0;){if(u===d)return!0;u=u.prevDep}return!1}}function ki(e,n,t){const r=typeof e=="object",o=r?e:void 0;return{next:(r?e.next:e)?.bind(o),error:(r?e.error:n)?.bind(o),complete:(r?e.complete:t)?.bind(o)}}const Ri=[];let Ro=0;const{link:ef,unlink:fS,propagate:mS,checkDirty:tf,shallowPropagate:nf}=dS({update(e){return e._update()},notify(e){Ri[Ti++]=e,e.flags&=~Y.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=Y.Mutable|Y.Dirty,Fo(e))}});let To=0,Ti=0,ht,Fi=0;function Re(e){try{++Fi,e()}finally{--Fi||rf()}}function Fo(e){const n=e.depsTail;let t=n!==void 0?n.nextDep:e.deps;for(;t!==void 0;)t=fS(t,e)}function rf(){if(!(Fi>0)){for(;To<Ti;){const e=Ri[To];Ri[To++]=void 0,e.notify()}To=0,Ti=0}}function of(e,n){const t=typeof e=="function",r=e,o={_snapshot:t?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:t?Y.None:Y.Mutable,get(){return ht!==void 0&&ef(o,ht,Ro),o._snapshot},subscribe(s){const i=ki(s),l={current:!1},c=pS(()=>{o.get(),l.current?i.next?.(o._snapshot):l.current=!0});return{unsubscribe:()=>{c.stop()}}},_update(s){const i=ht,l=Object.is;if(t)ht=o,++Ro,o.depsTail=void 0;else if(s===void 0)return!1;t&&(o.flags=Y.Mutable|Y.RecursedCheck);try{const c=o._snapshot,d=typeof s=="function"?s(c):s===void 0&&t?r(c):s;return c===void 0||!l(c,d)?(o._snapshot=d,!0):!1}finally{ht=i,t&&(o.flags&=~Y.RecursedCheck),Fo(o)}}};return t?(o.flags=Y.Mutable|Y.Dirty,o.get=function(){const s=o.flags;if(s&Y.Dirty||s&Y.Pending&&tf(o.deps,o)){if(o._update()){const i=o.subs;i!==void 0&&nf(i)}}else s&Y.Pending&&(o.flags=s&~Y.Pending);return ht!==void 0&&ef(o,ht,Ro),o._snapshot}):o.set=function(s){if(o._update(s)){const i=o.subs;i!==void 0&&(mS(i),nf(i),rf())}},o}function pS(e){const n=()=>{const r=ht;ht=t,++Ro,t.depsTail=void 0,t.flags=Y.Watching|Y.RecursedCheck;try{return e()}finally{ht=r,t.flags&=~Y.RecursedCheck,Fo(t)}},t={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Y.Watching|Y.RecursedCheck,notify(){const r=this.flags;r&Y.Dirty||r&Y.Pending&&tf(this.deps,this)?n():this.flags=Y.Watching},stop(){this.flags=Y.None,this.depsTail=void 0,Fo(this)}};return n(),t}var hS=class{constructor(e,n){this.atom=of(e),this.get=this.get.bind(this),this.setState=this.setState.bind(this),this.subscribe=this.subscribe.bind(this),n&&(this.actions=n(this))}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(ki(e))}},gS=class{constructor(e){this.atom=of(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(ki(e))}};function _n(e,n){return typeof e=="function"?new gS(e):new hS(e)}var vS=class{constructor(e,n){this.fn=e,this.options=n,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...t)=>{const r=Date.now()-this.lastExecutionTime;if(this.options.leading&&r>=this.options.wait)this.execute(...t);else if(this.lastArgs=t,!this.timeoutId&&this.options.trailing){const o=this.options.wait-r;this.isPending=!0,this.timeoutId=setTimeout(()=>{this.lastArgs!==void 0&&this.execute(...this.lastArgs)},o)}},this.execute=(...t)=>{this.fn(...t),this.options.onExecute?.(t,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{this.isPending&&this.lastArgs&&this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0)},this.options.leading===void 0&&this.options.trailing===void 0&&(this.options.leading=!0,this.options.trailing=!0)}};function xS(e,n){return new vS(e,n).maybeExecute}class bS{#s=!0;#t;#e;#d;#n;#a;#r;#l;#f=0;#p=5;#i=!1;#c=!1;#o=null;#m=()=>{this.debugLog("Connected to event bus"),this.#a=!0,this.#i=!1,this.debugLog("Emitting queued events",this.#n),this.#n.forEach(n=>this.emitEventToBus(n)),this.#n=[],this.stopConnectLoop(),this.#e().removeEventListener("tanstack-connect-success",this.#m)};#u=()=>{if(this.#f<this.#p){this.#f++,this.dispatchCustomEvent("tanstack-connect",{});return}this.#e().removeEventListener("tanstack-connect",this.#u),this.#c=!0,this.debugLog("Max retries reached, giving up on connection"),this.stopConnectLoop()};#h=()=>{this.#i||(this.#i=!0,this.#e().addEventListener("tanstack-connect-success",this.#m),this.#u())};constructor({pluginId:n,debug:t=!1,enabled:r=!0,reconnectEveryMs:o=300}){this.#t=n,this.#s=r,this.#e=this.getGlobalTarget,this.#d=t,this.debugLog(" Initializing event subscription for plugin",this.#t),this.#n=[],this.#a=!1,this.#c=!1,this.#r=null,this.#l=o}startConnectLoop(){this.#r!==null||this.#a||(this.debugLog(`Starting connect loop (every ${this.#l}ms)`),this.#r=setInterval(this.#u,this.#l))}stopConnectLoop(){this.#i=!1,this.#r!==null&&(clearInterval(this.#r),this.#r=null,this.#n=[],this.debugLog("Stopped connect loop"))}debugLog(...n){this.#d&&console.log(`🌴 [tanstack-devtools:${this.#t}-plugin]`,...n)}getGlobalTarget(){if(typeof globalThis<"u"&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog("Using global event target"),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<"u"&&typeof window.addEventListener<"u")return this.debugLog("Using window as event target"),window;const n=typeof EventTarget<"u"?new EventTarget:void 0;return typeof n>"u"||typeof n.addEventListener>"u"?(this.debugLog("No event mechanism available, running in non-web environment"),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1}):(this.debugLog("Using new EventTarget as fallback"),n)}getPluginId(){return this.#t}dispatchCustomEventShim(n,t){try{const r=new Event(n,{detail:t});this.#e().dispatchEvent(r)}catch{this.debugLog("Failed to dispatch shim event")}}dispatchCustomEvent(n,t){try{this.#e().dispatchEvent(new CustomEvent(n,{detail:t}))}catch{this.dispatchCustomEventShim(n,t)}}emitEventToBus(n){this.debugLog("Emitting event to client bus",n),this.dispatchCustomEvent("tanstack-dispatch-event",n)}createEventPayload(n,t){return{type:`${this.#t}:${n}`,payload:t,pluginId:this.#t}}emit(n,t){if(!this.#s){this.debugLog("Event bus client is disabled, not emitting event",n,t);return}if(this.#o&&(this.debugLog("Emitting event to internal event target",n,t),this.#o.dispatchEvent(new CustomEvent(`${this.#t}:${n}`,{detail:this.createEventPayload(n,t)}))),this.#c){this.debugLog("Previously failed to connect, not emitting to bus");return}if(!this.#a){this.debugLog("Bus not available, will be pushed as soon as connected"),this.#n.push(this.createEventPayload(n,t)),typeof CustomEvent<"u"&&!this.#i&&(this.#h(),this.startConnectLoop());return}return this.emitEventToBus(this.createEventPayload(n,t))}on(n,t,r){const o=r?.withEventTarget??!1,s=`${this.#t}:${n}`;if(o&&(this.#o||(this.#o=new EventTarget),this.#o.addEventListener(s,l=>{t(l.detail)})),!this.#s)return this.debugLog("Event bus client is disabled, not registering event",s),()=>{};const i=l=>{this.debugLog("Received event from bus",l.detail),t(l.detail)};return this.#e().addEventListener(s,i),this.debugLog("Registered event to bus",s),()=>{o&&this.#o?.removeEventListener(s,i),this.#e().removeEventListener(s,i)}}onAll(n){if(!this.#s)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};const t=r=>{const o=r.detail;n(o)};return this.#e().addEventListener("tanstack-devtools-global",t),()=>this.#e().removeEventListener("tanstack-devtools-global",t)}onAllPluginEvents(n){if(!this.#s)return this.debugLog("Event bus client is disabled, not registering event"),()=>{};const t=r=>{const o=r.detail;this.#t&&o.pluginId!==this.#t||n(o)};return this.#e().addEventListener("tanstack-devtools-global",t),()=>this.#e().removeEventListener("tanstack-devtools-global",t)}}class yS extends bS{constructor(){super({pluginId:"form-devtools",reconnectEveryMs:1e3})}}const Ke=new yS;function cr(e,n){return typeof e=="function"?e(n):e}function Po(e,n){return Ai(n).reduce((r,o)=>{if(r===null)return null;if(typeof r<"u")return r[o]},e)}function ur(e,n,t){const r=Ai(n);function o(s){if(!r.length)return cr(t,s);const i=r.shift();if(typeof i=="string"||typeof i=="number"&&!Array.isArray(s))return typeof s=="object"?(s===null&&(s={}),{...s,[i]:o(s[i])}):{[i]:o()};if(Array.isArray(s)&&typeof i=="number"){const l=s.slice(0,i);return[...l.length?l:new Array(i),o(s[i]),...s.slice(i+1)]}return[...new Array(i),o()]}return o(e)}function wS(e,n){const t=Ai(n);function r(o){if(!o)return;if(t.length===1){const i=t[0];if(Array.isArray(o)&&typeof i=="number")return o.filter((d,f)=>f!==i);const{[i]:l,...c}=o;return c}const s=t.shift();if((typeof s=="string"||typeof s=="number"&&!Array.isArray(o))&&typeof o=="object")return{...o,[s]:r(o[s])};if(typeof s=="number"&&Array.isArray(o)){if(s>=o.length)return o;const i=o.slice(0,s);return[...i.length?i:new Array(s),r(o[s]),...o.slice(s+1)]}throw new Error("It seems we have created an infinite loop in deleteBy. ")}return r(e)}const sf=46,Pi=91,Ii=93,af=48,SS=57;function Ai(e){if(Array.isArray(e))return[...e];if(typeof e!="string")throw new Error("Path must be a string.");const n=e.length,t=[];let r=n>0&&e.charCodeAt(0)===Pi?1:0,o=!0,s=-1;for(let i=r;i<=n;i++){const l=i<n?e.charCodeAt(i):-1;if(i===n||l===sf||l===Pi||l===Ii){const c=i-r;if(c>0){const d=o&&(c===1||e.charCodeAt(r)!==af),f=e.slice(r,i);if(d){const u=parseInt(f,10);c<=15||String(u)===f?t.push(u):t.push(f)}else t.push(f)}else s!==Ii&&!(s===-1&&l===Ii)&&!(s===l&&(l===sf||l===Pi))&&t.push("");r=i+1,o=!0}else(l<af||l>SS)&&(o=!1);s=l}return t.length||t.push(""),t}function CS(e){return!(Array.isArray(e)&&e.length===0)}function dr(e,n){const t=r=>r.validators.filter(Boolean).map(o=>({cause:o.cause,validate:o.fn}));return n.validationLogic({form:n.form,group:n.group,validators:n.validators,event:{type:e,fieldName:n.fieldName,async:!1},runValidation:t})}function fr(e,n){const{asyncDebounceMs:t}=n,{onBlurAsyncDebounceMs:r,onChangeAsyncDebounceMs:o,onDynamicAsyncDebounceMs:s}=n.validators||{},i=t??0,l=c=>c.validators.filter(Boolean).map(d=>{const f=d?.cause||e;let u=i;switch(f){case"change":u=o??i;break;case"blur":u=r??i;break;case"dynamic":u=s??i;break;case"submit":u=0;break}return e==="submit"&&(u=0),{cause:f,validate:d.fn,debounceMs:u}});return n.validationLogic({form:n.form,group:n.group,validators:n.validators,event:{type:e,fieldName:n.fieldName,async:!0},runValidation:l})}const Io=e=>!!e&&typeof e=="object"&&"fields"in e;function Ct(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Date&&n instanceof Date)return e.getTime()===n.getTime();if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!n.has(o)||!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const t=Object.keys(e),r=Object.keys(n);if(t.length!==r.length||t.length===0&&!Array.isArray(e)&&!Array.isArray(n)&&(Object.getPrototypeOf(e)!==Object.prototype||Object.getPrototypeOf(n)!==Object.prototype))return!1;for(const o of t)if(!r.includes(o)||!Ct(e[o],n[o]))return!1;return!0}const $i=({newFormValidatorError:e,isPreviousErrorFromFormValidator:n,previousErrorValue:t})=>e?{newErrorValue:e,newSource:"form"}:n?{newErrorValue:void 0,newSource:void 0}:t?{newErrorValue:t,newSource:"field"}:{newErrorValue:void 0,newSource:void 0},Ao=({formLevelError:e,fieldLevelError:n})=>n?{newErrorValue:n,newSource:"field"}:e?{newErrorValue:e,newSource:"form"}:{newErrorValue:void 0,newSource:void 0};function Pe(e,n){return e==null?n:{...e,...n}}let en=256;const $o=[];let Do;for(;en--;)$o[en]=(en+256).toString(16).substring(1);function lf(){let e=0,n,t="";if(!Do||en+16>256){for(Do=new Array(256),e=256;e--;)Do[e]=256*Math.random()|0;e=0,en=0}for(;e<16;e++)n=Do[en+e],e===6?t+=$o[n&15|64]:e===8?t+=$o[n&63|128]:t+=$o[n],e&1&&e>1&&e<11&&(t+="-");return en++,t}const _S=xS(e=>Ke.emit("form-state",{id:e.formId,state:e.store.state}),{wait:300});function mr(e){if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){const t=[];for(let r=0;r<e.length;r++)t[r]=mr(e[r]);return t}if(e instanceof Map){const t=new Map;return e.forEach((r,o)=>{t.set(o,mr(r))}),t}if(e instanceof Set){const t=new Set;return e.forEach(r=>{t.add(mr(r))}),t}const n={};for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=mr(e[t]));return n}function tn(e,n){return n===e||n.startsWith(`${e}.`)||n.startsWith(`${e}[`)}const gt=e=>{if(!e.validators)return e.runValidation({validators:[],form:e.form});const n=e.event.async,t=n?void 0:{fn:e.validators.onMount,cause:"mount"},r={fn:n?e.validators.onChangeAsync:e.validators.onChange,cause:"change"},o={fn:n?e.validators.onBlurAsync:e.validators.onBlur,cause:"blur"},s={fn:n?e.validators.onSubmitAsync:e.validators.onSubmit,cause:"submit"},i=n?void 0:{fn:()=>{},cause:"server"};switch(e.event.type){case"mount":return e.runValidation({validators:[t],form:e.form});case"submit":return e.runValidation({validators:[r,o,s,i],form:e.form});case"server":return e.runValidation({validators:[],form:e.form});case"blur":return e.runValidation({validators:[o,i],form:e.form});case"change":return e.runValidation({validators:[r,i],form:e.form});default:throw new Error(`Unknown validation event type: ${e.event.type}`)}};function MS(e,n){const t=new Map;for(const r of e){const o=r.path??[];let s=n,i="";for(let l=0;l<o.length;l++){const c=o[l];if(c===void 0)continue;const d=typeof c=="object"?c.key:c,f=Number(d);Array.isArray(s)&&!Number.isNaN(f)?i+=`[${f}]`:i+=(l>0?".":"")+String(d),typeof s=="object"&&s!==null?s=s[d]:s=void 0}t.set(i,(t.get(i)??[]).concat(r))}return Object.fromEntries(t)}const cf=(e,n)=>{const t=MS(e,n);return{form:t,fields:t}},nn={validate({value:e,validationSource:n},t){const r=t["~standard"].validate(e);if(r instanceof Promise)throw new Error("async function passed to sync validator");if(r.issues)return n==="field"?r.issues:cf(r.issues,e)},async validateAsync({value:e,validationSource:n},t){const r=await t["~standard"].validate(e);if(r.issues)return n==="field"?r.issues:cf(r.issues,e)}},Di=e=>!!e&&"~standard"in e,Ve={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{},_arrayVersion:0};function $t(e){function n(u){const m=e.getFieldMeta(u)??Ve;e.setFieldMeta(u,{...m,_arrayVersion:(m._arrayVersion||0)+1})}function t(u,m,p){n(u);const h=l(u,m,"move",p),g=Math.min(m,p),v=Math.max(m,p);for(let b=g;b<=v;b++)h.push(i(u,b));const y=Object.keys(e.fieldInfo).reduce((b,S)=>(S.startsWith(i(u,m))&&b.set(S,e.getFieldMeta(S)),b),new Map);d(h,m<p?"up":"down"),Object.keys(e.fieldInfo).filter(b=>b.startsWith(i(u,p))).forEach(b=>{const S=b.replace(i(u,p),i(u,m)),_=y.get(S);_&&e.setFieldMeta(b,_)})}function r(u,m){n(u);const p=l(u,m,"remove");d(p,"up")}function o(u,m,p){n(u),l(u,m,"swap",p).forEach(g=>{if(!g.toString().startsWith(i(u,m)))return;const v=g.toString().replace(i(u,m),i(u,p)),[y,b]=[e.getFieldMeta(g),e.getFieldMeta(v)];y&&e.setFieldMeta(v,y),b&&e.setFieldMeta(g,b)})}function s(u,m){n(u);const p=l(u,m,"insert");d(p,"down"),p.forEach(h=>{h.toString().startsWith(i(u,m))&&e.setFieldMeta(h,f())})}function i(u,m){return`${u}[${m}]`}function l(u,m,p,h){const g=[i(u,m)];switch(p){case"swap":g.push(i(u,h));break;case"move":{const[v,y]=[Math.min(m,h),Math.max(m,h)];for(let b=v;b<=y;b++)g.push(i(u,b));break}default:{const v=e.getFieldValue(u),y=Array.isArray(v)?v.length:0;for(let b=m+1;b<y;b++)g.push(i(u,b));break}}return Object.keys(e.fieldInfo).filter(v=>g.some(y=>v.startsWith(y)))}function c(u,m){return u.replace(/\[(\d+)\]/,(p,h)=>{const g=parseInt(h,10);return`[${m==="up"?g+1:Math.max(0,g-1)}]`})}function d(u,m){(m==="up"?u:[...u].reverse()).forEach(h=>{const g=c(h.toString(),m),v=e.getFieldMeta(g);v?e.setFieldMeta(h,v):e.setFieldMeta(h,f())})}const f=()=>Ve;return{bumpArrayVersion:n,handleArrayMove:t,handleArrayRemove:r,handleArraySwap:o,handleArrayInsert:s}}function Oi(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},formGroupStateBase:e.formGroupStateBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}class uf{constructor(n){this.options={},this.fieldInfo={},this.formGroupApis=new Set,this.mount=()=>{const s=this.store.subscribe(()=>{_S(this)}),i=Ke.on("request-form-state",u=>{u.payload.id===this._formId&&Ke.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}),l=Ke.on("request-form-reset",u=>{u.payload.id===this._formId&&this.reset()}),c=Ke.on("request-form-force-submit",u=>{u.payload.id===this._formId&&(this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1)}),d=()=>{c(),l(),i(),s.unsubscribe(),Ke.emit("form-unmounted",{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});const{onMount:f}=this.options.validators||{};return Ke.emit("form-api",{id:this._formId,state:this.store.state,options:this.options}),f&&this.validateSync("mount"),d},this.update=s=>{if(!s)return;const i=this.options;this.options=s;const l=s.defaultValues&&!Ct(s.defaultValues,i.defaultValues)&&!this.state.isTouched,c=!Ct(s.defaultState,i.defaultState)&&!this.state.isTouched;if(!(!l&&!c)){if(Re(()=>{this.baseStore.setState(()=>Oi(Object.assign({},this.state,c?s.defaultState:{},l?{values:s.defaultValues}:{})))}),l){const d=$t(this);for(const f of Object.keys(this.fieldInfo))Array.isArray(this.getFieldValue(f))&&d.bumpArrayVersion(f)}Ke.emit("form-api",{id:this._formId,state:this.store.state,options:this.options})}},this.reset=(s,i)=>{const{fieldMeta:l}=this.state,c=this.resetFieldMeta(l);s&&!i?.keepDefaultValues&&(this.options={...this.options,defaultValues:s}),this.baseStore.setState(()=>{let d=s??this.options.defaultValues??this.options.defaultState?.values;return s||Object.values(this.fieldInfo).forEach(f=>{f.instance&&f.instance.options.defaultValue!==void 0&&(d=ur(d,f.instance.name,f.instance.options.defaultValue))}),Oi({...this.options.defaultState,values:d,fieldMetaBase:c})})},this.validateAllFields=async s=>{const i=[];return Re(()=>{Object.values(this.fieldInfo).forEach(c=>{if(!c.instance)return;const d=c.instance;i.push(Promise.resolve().then(()=>d.validate(s,{skipFormValidation:!0,skipGroupValidation:!0}))),c.instance.store.state.meta.isTouched||c.instance.setMeta(f=>({...f,isTouched:!0}))})}),(await Promise.all(i)).flat()},this.validateArrayFieldsStartingFrom=async(s,i,l)=>{const c=this.getFieldValue(s),d=Array.isArray(c)?Math.max(c.length-1,0):null,f=[`${s}[${i}]`];for(let h=i+1;h<=(d??0);h++)f.push(`${s}[${h}]`);const u=Object.keys(this.fieldInfo).filter(h=>f.some(g=>h.startsWith(g))),m=[];return Re(()=>{u.forEach(h=>{m.push(Promise.resolve().then(()=>this.validateField(h,l)))})}),(await Promise.all(m)).flat()},this.validateField=(s,i)=>{const l=this.fieldInfo[s]?.instance;if(!l){const{hasErrored:c}=this.validateSync(i);return c&&!this.options.asyncAlways?this.getFieldMeta(s)?.errors??[]:this.validateAsync(i).then(()=>this.getFieldMeta(s)?.errors??[])}return l.store.state.meta.isTouched||l.setMeta(c=>({...c,isTouched:!0})),l.validate(i)},this.validateSync=(s,i)=>{const l=dr(s,{...this.options,form:this,group:i?.group,validationLogic:this.options.validationLogic||gt});let c=!1;const d={};return Re(()=>{for(const m of l){if(!m.validate)continue;const p=this.runValidator({validate:m.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"}),{formError:h,fieldErrors:g}=Oo(p),v=pr(m.cause);let y=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(g||{})]);i?.filterFieldNames&&(y=new Set([...y].filter(i.filterFieldNames)));for(const b of y){if(this.baseStore.state.fieldMetaBase[b]===void 0&&!g?.[b])continue;const S=this.getFieldMeta(b)??Ve,{errorMap:_,errorSourceMap:E}=S,C=g?.[b],{newErrorValue:N,newSource:w}=$i({newFormValidatorError:C,isPreviousErrorFromFormValidator:E?.[v]==="form",previousErrorValue:_?.[v]});w==="form"&&(d[b]={...d[b],[v]:C}),_?.[v]!==N&&this.setFieldMeta(b,(k=Ve)=>({...k,errorMap:{...k.errorMap,[v]:N},errorSourceMap:{...k.errorSourceMap,[v]:w}}))}i?.dontUpdateFormErrorMap||this.state.errorMap?.[v]!==h&&this.baseStore.setState(b=>({...b,errorMap:{...b.errorMap,[v]:h}})),(h||g)&&(c=!0)}if(i?.dontUpdateFormErrorMap)return;const f=pr("submit");this.state.errorMap?.[f]&&s!=="submit"&&!c&&this.baseStore.setState(m=>({...m,errorMap:{...m.errorMap,[f]:void 0}}));const u=pr("server");this.state.errorMap?.[u]&&s!=="server"&&!c&&this.baseStore.setState(m=>({...m,errorMap:{...m.errorMap,[u]:void 0}}))}),{hasErrored:c,fieldsErrorMap:d}},this.validateAsync=async(s,i)=>{const l=fr(s,{...this.options,form:this,group:i?.group,validationLogic:this.options.validationLogic||gt});this.state.isFormValidating||this.baseStore.setState(m=>({...m,isFormValidating:!0}));const c=[];let d;for(const m of l){if(!m.validate)continue;const p=pr(m.cause);this.state.validationMetaMap[p]?.lastAbortController.abort();const g=new AbortController;this.state.validationMetaMap[p]={lastAbortController:g},c.push(new Promise(async v=>{let y;try{y=await new Promise((C,N)=>{setTimeout(async()=>{if(g.signal.aborted)return C(void 0);try{C(await this.runValidator({validate:m.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:g.signal},type:"validateAsync"}))}catch(w){N(w)}},m.debounceMs)})}catch(C){y=C}const{formError:b,fieldErrors:S}=Oo(y);S&&(d=d?{...d,...S}:S);const _=pr(m.cause);let E=Object.keys(this.state.fieldMeta);i?.filterFieldNames&&(E=E.filter(i.filterFieldNames));for(const C of E){if(this.baseStore.state.fieldMetaBase[C]===void 0)continue;const N=this.getFieldMeta(C);if(!N)continue;const{errorMap:w,errorSourceMap:k}=N,R=d?.[C],{newErrorValue:F,newSource:P}=$i({newFormValidatorError:R,isPreviousErrorFromFormValidator:k?.[_]==="form",previousErrorValue:w?.[_]});w?.[_]!==F&&this.setFieldMeta(C,$=>({...$,errorMap:{...$.errorMap,[_]:F},errorSourceMap:{...$.errorSourceMap,[_]:P}}))}i?.dontUpdateFormErrorMap||this.baseStore.setState(C=>({...C,errorMap:{...C.errorMap,[_]:b}})),v(d?{fieldErrors:d,errorMapKey:_}:void 0)}))}let f=[];const u={};if(c.length){f=await Promise.all(c);for(const m of f)if(m?.fieldErrors){const{errorMapKey:p}=m;for(const[h,g]of Object.entries(m.fieldErrors)){const y={...u[h]||{},[p]:g};u[h]=y}}}return this.baseStore.setState(m=>({...m,isFormValidating:!1})),u},this.validate=(s,i)=>{const{hasErrored:l,fieldsErrorMap:c}=this.validateSync(s,i);return l&&!this.options.asyncAlways?c:this.validateAsync(s,i)},this._handleSubmit=async s=>{this.baseStore.setState(c=>({...c,isSubmitted:!1,submissionAttempts:c.submissionAttempts+1,isSubmitSuccessful:!1})),Re(()=>{Object.values(this.fieldInfo).forEach(c=>{c.instance&&(c.instance.store.state.meta.isTouched||c.instance.setMeta(d=>({...d,isTouched:!0})))})});const i=s??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:i});return}this.baseStore.setState(c=>({...c,isSubmitting:!0}));const l=()=>{this.baseStore.setState(c=>({...c,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){l(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:i}),Ke.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validateAllFields",errors:Object.values(this.state.fieldMeta).map(c=>c.errors).flat()});return}if(await this.validate("submit"),!this.state.isValid){l(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:i}),Ke.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"validate",errors:this.state.errors});return}Re(()=>{Object.values(this.fieldInfo).forEach(c=>{c.instance?.triggerOnSubmitListener()})}),this.options.listeners?.onSubmit?.({formApi:this,meta:i});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:i}),Re(()=>{this.baseStore.setState(c=>({...c,isSubmitted:!0,isSubmitSuccessful:!0})),Ke.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),l()})}catch(c){throw this.baseStore.setState(d=>({...d,isSubmitSuccessful:!1})),Ke.emit("form-submission",{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:"inflight",onError:c}),l(),c}},this.getFieldValue=s=>Po(this.state.values,s),this.getFieldMeta=s=>this.state.fieldMeta[s],this.getFormGroupMeta=s=>this.formGroupMetaDerived.state[s],this.getFieldInfo=s=>this.fieldInfo[s]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.setFieldMeta=(s,i)=>{this.baseStore.setState(l=>({...l,fieldMetaBase:{...l.fieldMetaBase,[s]:cr(i,l.fieldMetaBase[s])}}))},this.resetFieldMeta=s=>Object.keys(s).reduce((i,l)=>{const c=l;return i[c]=Ve,i},{}),this.setFieldValue=(s,i,l)=>{const c=l?.dontUpdateMeta??!1,d=l?.dontRunListeners??!1,f=l?.dontValidate??!1;Re(()=>{c||this.setFieldMeta(s,u=>({...u,isTouched:!0,isDirty:!0,errorMap:{...u?.errorMap,onMount:void 0}})),this.baseStore.setState(u=>({...u,values:ur(u.values,s,i)}))}),d||this.getFieldInfo(s).instance?.triggerOnChangeListener(),f||this.validateField(s,"change")},this.deleteField=s=>{const l=[...Object.keys(this.fieldInfo).filter(c=>{const d=s.toString();return c!==d&&c.startsWith(d)}),s];this.baseStore.setState(c=>{const d={...c};return l.forEach(f=>{d.values=wS(d.values,f),delete this.fieldInfo[f],delete d.fieldMetaBase[f]}),d})},this.pushFieldValue=(s,i,l)=>{this.setFieldValue(s,c=>[...Array.isArray(c)?c:[],i],l),$t(this).bumpArrayVersion(s)},this.insertFieldValue=async(s,i,l,c)=>{this.setFieldValue(s,f=>[...f.slice(0,i),l,...f.slice(i)],Pe(c,{dontValidate:!0}));const d=c?.dontValidate??!1;d||await this.validateField(s,"change"),$t(this).handleArrayInsert(s,i),d||await this.validateArrayFieldsStartingFrom(s,i,"change")},this.replaceFieldValue=async(s,i,l,c)=>{this.setFieldValue(s,f=>f.map((u,m)=>m===i?l:u),Pe(c,{dontValidate:!0})),$t(this).bumpArrayVersion(s),(c?.dontValidate??!1)||(await this.validateField(s,"change"),await this.validateArrayFieldsStartingFrom(s,i,"change"))},this.removeFieldValue=async(s,i,l)=>{const c=this.getFieldValue(s),d=Array.isArray(c)?Math.max(c.length-1,0):null;if(this.setFieldValue(s,u=>u.filter((m,p)=>p!==i),Pe(l,{dontValidate:!0})),$t(this).handleArrayRemove(s,i),d!==null){const u=`${s}[${d}]`;this.deleteField(u)}(l?.dontValidate??!1)||(await this.validateField(s,"change"),await this.validateArrayFieldsStartingFrom(s,i,"change"))},this.swapFieldValues=(s,i,l,c)=>{this.setFieldValue(s,f=>{const u=f[i],m=f[l];return ur(ur(f,`${i}`,m),`${l}`,u)},Pe(c,{dontValidate:!0})),$t(this).handleArraySwap(s,i,l),(c?.dontValidate??!1)||(this.validateField(s,"change"),this.validateField(`${s}[${i}]`,"change"),this.validateField(`${s}[${l}]`,"change"))},this.moveFieldValues=(s,i,l,c)=>{this.setFieldValue(s,f=>{const u=[...f];return u.splice(l,0,u.splice(i,1)[0]),u},Pe(c,{dontValidate:!0})),$t(this).handleArrayMove(s,i,l),(c?.dontValidate??!1)||(this.validateField(s,"change"),this.validateField(`${s}[${i}]`,"change"),this.validateField(`${s}[${l}]`,"change"))},this.clearFieldValues=(s,i)=>{const l=this.getFieldValue(s),c=Array.isArray(l)?Math.max(l.length-1,0):null;if(this.setFieldValue(s,[],Pe(i,{dontValidate:!0})),$t(this).bumpArrayVersion(s),c!==null)for(let f=0;f<=c;f++){const u=`${s}[${f}]`;this.deleteField(u)}(i?.dontValidate??!1)||this.validateField(s,"change")},this.resetField=s=>{this.baseStore.setState(i=>{const l=this.getFieldInfo(s).instance?.options.defaultValue,c=Po(this.options.defaultValues,s),d=l??c;return{...i,fieldMetaBase:{...i.fieldMetaBase,[s]:Ve},values:d!==void 0?ur(i.values,s,d):i.values}})},this.setErrorMap=s=>{Re(()=>{Object.entries(s).forEach(([i,l])=>{const c=i;if(Io(l)){const{formError:d,fieldErrors:f}=Oo(l);for(const u of Object.keys(this.fieldInfo))this.getFieldMeta(u)&&this.setFieldMeta(u,p=>({...p,errorMap:{...p.errorMap,[c]:f?.[u]},errorSourceMap:{...p.errorSourceMap,[c]:"form"}}));this.baseStore.setState(u=>({...u,errorMap:{...u.errorMap,[c]:d}}))}else this.baseStore.setState(d=>({...d,errorMap:{...d.errorMap,[c]:l}}))})})},this.getAllErrors=()=>({form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((s,[i,l])=>(Object.keys(l).length&&l.errors.length&&(s[i]={errors:l.errors,errorMap:l.errorMap}),s),{})}),this.parseValuesWithSchema=s=>nn.validate({value:this.state.values,validationSource:"form"},s),this.parseValuesWithSchemaAsync=s=>nn.validateAsync({value:this.state.values,validationSource:"form"},s),this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=n?.formId??lf(),this._devtoolsSubmissionOverride=!1;let t=Oi({...n?.defaultState,values:n?.defaultValues??n?.defaultState?.values});if(n?.transform){t=n.transform({state:t}).state;for(const s of Object.keys(t.errorMap)){const i=t.errorMap[s];if(!(i===void 0||!Io(i)))for(const l of Object.keys(i.fields)){const c=i.fields[l];if(c===void 0)continue;const d=t.fieldMetaBase[l];t.fieldMetaBase[l]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,_arrayVersion:0,...d??{},errorSourceMap:{...d?.errorSourceMap??{},onChange:"form"},errorMap:{...d?.errorMap??{},[s]:c}}}}}this.baseStore=_n(t);let r;this.fieldMetaDerived=_n(s=>{const i=this.baseStore.get();let l=0;const c={};for(const d of Object.keys(i.fieldMetaBase)){const f=i.fieldMetaBase[d],u=r?.fieldMetaBase[d],m=s?.[d],p=Po(i.values,d);let h=m?.errors;if(!u||f.errorMap!==u.errorMap){h=Object.values(f.errorMap??{}).filter(S=>S!==void 0);const b=this.getFieldInfo(d)?.instance;(!b||!b.options.disableErrorFlat)&&(h=h.flat(1))}const g=!CS(h),v=!f.isDirty,y=Ct(p,this.getFieldInfo(d)?.instance?.options.defaultValue??Po(this.options.defaultValues,d));if(m&&m.isPristine===v&&m.isValid===g&&m.isDefaultValue===y&&m.errors===h&&f===u){c[d]=m,l++;continue}c[d]={...f,errors:h??[],isPristine:v,isValid:g,isDefaultValue:y}}return Object.keys(i.fieldMetaBase).length?s&&l===Object.keys(i.fieldMetaBase).length?s:(r=this.baseStore.get(),c):c}),this.formGroupMetaDerived=_n(s=>{const i=this.baseStore.get(),l=this.fieldMetaDerived.get(),c={};for(const d of this.formGroupApis){const f=d.name,u=i.formGroupStateBase[f]??{isSubmitted:!1,isSubmitting:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1},m=l[f];let p=!1,h=!0,g=!1,v=!1,y=!0,b=!1;for(const L in l){if(L===f||!tn(f,L))continue;const T=l[L];T&&(T.isValidating&&(p=!0),T.isValid||(h=!1),T.isTouched&&(g=!0),T.isBlurred&&(v=!0),T.isDefaultValue||(y=!1),T.isDirty&&(b=!0))}const S=!b,_=!!p||u.isValidating,E=m?.errorMap??{},C=m?.errorSourceMap??{},N=!!(E.onMount||Object.entries(l).some(([L,T])=>T&&L!==f&&tn(f,L)&&T.errorMap.onMount)),w=s?.[f];let k=w?.errors??[];(!w||w.__srcErrorMap!==E)&&(k=Object.values(E).reduce((L,T)=>{if(T===void 0)return L;if(T&&typeof T=="object"&&"fields"in T){const B=T.group;return B!==void 0&&L.push(B),L}return L.push(T),L},[]));const R=k.length===0,F=h&&R,P=d.options.canSubmitWhenInvalid??!1,$=u.submissionAttempts===0&&!g&&!N||!_&&!u.isSubmitting&&F||P;if(w&&w.errorMap===E&&w.errorSourceMap===C&&w.errors===k&&w.isFieldsValidating===p&&w.isFieldsValid===h&&w.isGroupValid===R&&w.isValid===F&&w.canSubmit===$&&w.isTouched===g&&w.isBlurred===v&&w.isPristine===S&&w.isDefaultValue===y&&w.isDirty===b&&w.isValidating===_&&w.isSubmitting===u.isSubmitting&&w.isSubmitted===u.isSubmitted&&w.submissionAttempts===u.submissionAttempts&&w.isSubmitSuccessful===u.isSubmitSuccessful){c[f]=w;continue}const A={...u,errorMap:E,errorSourceMap:C,_arrayVersion:m?._arrayVersion??0,isTouched:g,isBlurred:v,isDirty:b,isPristine:S,isDefaultValue:y,isValid:F,errors:k,isValidating:_,isFieldsValidating:p,isFieldsValid:h,isGroupValid:R,canSubmit:$};Object.defineProperty(A,"__srcErrorMap",{value:E,enumerable:!1,configurable:!0}),c[f]=A}return c});let o;this.store=_n(s=>{const i=this.baseStore.get(),l=this.fieldMetaDerived.get(),c=Object.values(l).filter(Boolean),d=c.some(R=>R.isValidating),f=c.every(R=>R.isValid),u=c.some(R=>R.isTouched),m=c.some(R=>R.isBlurred),p=c.every(R=>R.isDefaultValue),h=u&&i.errorMap?.onMount,g=c.some(R=>R.isDirty),v=!g,y=!!(i.errorMap?.onMount||c.some(R=>R?.errorMap?.onMount)),b=!!d;let S=s?.errors??[];(!o||i.errorMap!==o.errorMap)&&(S=Object.values(i.errorMap).reduce((R,F)=>F===void 0?R:F&&Io(F)?(R.push(F.form),R):(R.push(F),R),[]));const _=S.length===0,E=f&&_,C=this.options.canSubmitWhenInvalid??!1,N=i.submissionAttempts===0&&!u&&!y||!b&&!i.isSubmitting&&E||C;let w=i.errorMap;if(h&&(S=S.filter(R=>R!==i.errorMap.onMount),w=Object.assign(w,{onMount:void 0})),s&&o&&s.errorMap===w&&s.fieldMeta===this.fieldMetaDerived.state&&s.errors===S&&s.isFieldsValidating===d&&s.isFieldsValid===f&&s.isFormValid===_&&s.isValid===E&&s.canSubmit===N&&s.isTouched===u&&s.isBlurred===m&&s.isPristine===v&&s.isDefaultValue===p&&s.isDirty===g&&Ct(o,i))return s;const k={...i,errorMap:w,fieldMeta:this.fieldMetaDerived.state,errors:S,isFieldsValidating:d,isFieldsValid:f,isFormValid:_,isValid:E,canSubmit:N,isTouched:u,isBlurred:m,isPristine:v,isDefaultValue:p,isDirty:g};return o=this.baseStore.get(),k}),this.handleSubmit=this.handleSubmit.bind(this),this.update(n||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(n){return Di(n.validate)?nn[n.type](n.value,n.validate):n.validate(n.value)}handleSubmit(n){return this._handleSubmit(n)}}function Oo(e){if(e){if(Io(e)){const n=Oo(e.form).formError,t=e.fields;return{formError:n,fieldErrors:t}}return{formError:e}}return{formError:void 0}}function pr(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";default:return"onChange"}}class hr{constructor(n){this.options={},this.mount=()=>{this.options.defaultValue!==void 0&&!this.getMeta().isTouched&&this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});const t=this.getInfo();t.instance=this,this.update(this.options);const{onMount:r}=this.options.validators||{};if(r){const o=this.runValidator({validate:r,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});o&&this.setMeta(s=>({...s,errorMap:{...s?.errorMap,onMount:o},errorSourceMap:{...s?.errorSourceMap,onMount:"field"}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(const[s,i]of Object.entries(this.timeoutIds.validations))i&&(clearTimeout(i),this.timeoutIds.validations[s]=null);for(const[s,i]of Object.entries(this.timeoutIds.listeners))i&&(clearTimeout(i),this.timeoutIds.listeners[s]=null);for(const[s,i]of Object.entries(this.timeoutIds.formListeners))i&&(clearTimeout(i),this.timeoutIds.formListeners[s]=null);const o=this.form.fieldInfo[this.name];if(o&&o.instance===this){for(const[s,i]of Object.entries(o.validationMetaMap))i?.lastAbortController.abort(),o.validationMetaMap[s]=void 0;this.form.baseStore.setState(s=>({...s,fieldMetaBase:{...s.fieldMetaBase,[this.name]:{...Ve,isTouched:s.fieldMetaBase[this.name]?.isTouched??Ve.isTouched,isBlurred:s.fieldMetaBase[this.name]?.isBlurred??Ve.isBlurred,isDirty:s.fieldMetaBase[this.name]?.isDirty??Ve.isDirty}}})),o.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}}},this.update=t=>{if(this.options=t,this.name=t.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){const r=this.form.getFieldValue(this.name);Ct(r,t.defaultValue)||this.form.setFieldValue(this.name,t.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(t,r)=>{this.form.setFieldValue(this.name,t,Pe(r,{dontRunListeners:!0,dontValidate:!0})),r?.dontRunListeners||this.triggerOnChangeListener(),r?.dontValidate||this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=t=>this.form.setFieldMeta(this.name,t),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(t,r)=>{this.form.pushFieldValue(this.name,t,Pe(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.insertValue=(t,r,o)=>{this.form.insertFieldValue(this.name,t,r,Pe(o,{dontRunListeners:!0})),o?.dontRunListeners||this.triggerOnChangeListener()},this.replaceValue=(t,r,o)=>{this.form.replaceFieldValue(this.name,t,r,Pe(o,{dontRunListeners:!0})),o?.dontRunListeners||this.triggerOnChangeListener()},this.removeValue=(t,r)=>{this.form.removeFieldValue(this.name,t,Pe(r,{dontRunListeners:!0})),r?.dontRunListeners||this.triggerOnChangeListener()},this.swapValues=(t,r,o)=>{this.form.swapFieldValues(this.name,t,r,Pe(o,{dontRunListeners:!0})),o?.dontRunListeners||this.triggerOnChangeListener()},this.moveValue=(t,r,o)=>{this.form.moveFieldValues(this.name,t,r,Pe(o,{dontRunListeners:!0})),o?.dontRunListeners||this.triggerOnChangeListener()},this.clearValues=t=>{this.form.clearFieldValues(this.name,Pe(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.getLinkedFields=t=>{const r=Object.values(this.form.fieldInfo),o=[];for(const s of r){if(!s.instance||!(s.instance instanceof hr))continue;const{onChangeListenTo:i,onBlurListenTo:l}=s.instance.options.validators||{};t==="change"&&i?.includes(this.name)&&o.push(s.instance),t==="blur"&&l?.includes(this.name)&&o.push(s.instance)}return o},this.validateSync=(t,r)=>{const o=dr(t,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||gt}),i=this.getLinkedFields(t).reduce((d,f)=>{const u=dr(t,{...f.options,form:f.form,fieldName:f.name,validationLogic:f.form.options.validationLogic||gt});return u.forEach(m=>{m.field=f}),d.concat(u)},[]);let l=!1;Re(()=>{const d=(f,u)=>{const m=gr(u.cause),p=u.validate?df(f.runValidator({validate:u.validate,value:{value:f.store.state.value,validationSource:"field",fieldApi:f},type:"validate"})):void 0,h=r[m],{newErrorValue:g,newSource:v}=Ao({formLevelError:h,fieldLevelError:p});f.state.meta.errorMap?.[m]!==g&&f.setMeta(y=>({...y,errorMap:{...y.errorMap,[m]:g},errorSourceMap:{...y.errorSourceMap,[m]:v}})),g&&(l=!0)};for(const f of o)d(this,f);for(const f of i)f.validate&&d(f.field,f)});const c=gr("submit");return this.state.meta.errorMap?.[c]&&t!=="submit"&&!l&&this.setMeta(d=>({...d,errorMap:{...d.errorMap,[c]:void 0},errorSourceMap:{...d.errorSourceMap,[c]:void 0}})),{hasErrored:l}},this.validateAsync=async(t,r)=>{const o=fr(t,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||gt}),s=await r,i=this.getLinkedFields(t),l=i.reduce((p,h)=>{const g=fr(t,{...h.options,form:h.form,fieldName:h.name,validationLogic:h.form.options.validationLogic||gt});return g.forEach(v=>{v.field=h}),p.concat(g)},[]),c=[],d=[],f=o.some(p=>p.validate)||l.some(p=>p.validate);if(f){this.state.meta.isValidating||this.setMeta(p=>({...p,isValidating:!0}));for(const p of i)p.setMeta(h=>({...h,isValidating:!0}))}const u=(p,h,g)=>{const v=gr(h.cause),y=p.getInfo();y.validationMetaMap[v]?.lastAbortController.abort();const S=new AbortController;y.validationMetaMap[v]={lastAbortController:S},g.push(new Promise(async _=>{let E;try{E=await new Promise((R,F)=>{p.timeoutIds.validations[h.cause]&&clearTimeout(p.timeoutIds.validations[h.cause]),p.timeoutIds.validations[h.cause]=setTimeout(async()=>{if(S.signal.aborted)return R(void 0);try{R(await this.runValidator({validate:h.validate,value:{value:p.store.state.value,fieldApi:p,signal:S.signal,validationSource:"field"},type:"validateAsync"}))}catch(P){F(P)}},h.debounceMs)})}catch(R){E=R}if(S.signal.aborted)return _(void 0);const C=df(E),N=s[p.name]?.[v],{newErrorValue:w,newSource:k}=Ao({formLevelError:N,fieldLevelError:C});if(p.getInfo().instance!==p)return _(void 0);p.setMeta(R=>({...R,errorMap:{...R?.errorMap,[v]:w},errorSourceMap:{...R.errorSourceMap,[v]:k}})),_(w)}))};for(const p of o)p.validate&&u(this,p,c);for(const p of l)p.validate&&u(p.field,p,d);let m=[];if((c.length||d.length)&&(m=await Promise.all(c),await Promise.all(d)),f){this.setMeta(p=>({...p,isValidating:!1}));for(const p of i)p.setMeta(h=>({...h,isValidating:!1}))}return m.filter(Boolean)},this.validate=(t,r)=>{if(!this.state.meta.isTouched)return[];const o=r?.skipGroupValidation?[]:Array.from(this.form.formGroupApis).filter(m=>this.name.startsWith(m.name));let i=(r?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(t)).fieldsErrorMap[this.name]??{};if(!r?.skipFormValidation)for(const m of o){if(m.state.meta.submissionAttempts===0)continue;const{fieldsErrorMap:p}=this.form.validateSync(t,{group:m,dontUpdateFormErrorMap:!0,filterFieldNames:h=>tn(m.name,h)});i={...i,...p[this.name]??{}}}const{hasErrored:l}=this.validateSync(t,i),c=new WeakMap;for(const m of o){const{hasErrored:p}=m.validateSync(t,{},{skipRelatedFieldValidation:!0});c.set(m,p)}if(l&&!this.options.asyncAlways){this.getInfo().validationMetaMap[gr(t)]?.lastAbortController.abort();const m=[];for(const p of o)p.getInfo().validationMetaMap[gr(t)]?.lastAbortController.abort(),m.push(p.state.meta.errors);return[...this.state.meta.errors,...m.flat()]}const d=r?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(t),f=this.validateAsync(t,d),u=[];for(const m of o)c.get(m)&&!m.options.asyncAlways||u.push(m.validateAsync(t,d,{skipRelatedFieldValidation:!0}));return u.length===0?f:Promise.all([f,...u]).then(m=>m.flat())},this.handleChange=t=>{this.setValue(t)},this.handleBlur=()=>{this.state.meta.isTouched||this.setMeta(r=>({...r,isTouched:!0})),this.state.meta.isBlurred||this.setMeta(r=>({...r,isBlurred:!0})),this.validate("blur"),this.triggerOnBlurListener()},this.setErrorMap=t=>{this.setMeta(r=>({...r,errorMap:{...r.errorMap,...t}}))},this.parseValueWithSchema=t=>nn.validate({value:this.state.value,validationSource:"field"},t),this.parseValueWithSchemaAsync=t=>nn.validateAsync({value:this.state.value,validationSource:"field"},t),this.triggerOnBlurListener=()=>{const t=this.form.options.listeners?.onBlurDebounceMs;t&&t>0?(this.timeoutIds.formListeners.blur&&clearTimeout(this.timeoutIds.formListeners.blur),this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},t)):this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});const r=this.options.listeners?.onBlurDebounceMs;r&&r>0?(this.timeoutIds.listeners.blur&&clearTimeout(this.timeoutIds.listeners.blur),this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},r)):this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},this.triggerOnChangeListener=()=>{const t=this.form.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},t)):this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});const r=this.options.listeners?.onChangeDebounceMs;r&&r>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},r)):this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this});for(const o of this.form.formGroupApis)tn(o.name,this.name)&&o.triggerOnChangeListener()},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,fieldApi:this})},this.form=n.form,this.name=n.name,this.options=n,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=_n(t=>{this.form.store.get();const r=this.form.getFieldMeta(this.name)??{...Ve,...n.defaultMeta};let o=this.form.getFieldValue(this.name);return!r.isTouched&&o===void 0&&this.options.defaultValue!==void 0&&!Ct(o,this.options.defaultValue)&&(o=this.options.defaultValue),t&&t.value===o&&t.meta===r?t:{value:o,meta:r}})}get state(){return this.store.state}runValidator(n){return Di(n.validate)?nn[n.type](n.value,n.validate):n.validate(n.value)}}function df(e){if(e)return e}function gr(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";default:return"onChange"}}function Vi(e){return{isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1}}function jS(e){return{...Ve,...e,errors:[],isPristine:!0,isValid:!0,isDefaultValue:!0,isFieldsValidating:!1,isFieldsValid:!0,isGroupValid:!0,canSubmit:!0,isSubmitting:!1,isSubmitted:!1,isValidating:!1,submissionAttempts:0,isSubmitSuccessful:!1}}class vr{constructor(n){this.options={},this.setFormGroupState=t=>{this.form.baseStore.setState(r=>{const o=r.formGroupStateBase[this.name]??Vi({});return{...r,formGroupStateBase:{...r.formGroupStateBase,[this.name]:t(o)}}})},this._lastDistributedFieldNames={},this.update=t=>{if(this.options=t,this.name=t.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0){const r=this.form.getFieldValue(this.name);Ct(r,t.defaultValue)||this.form.setFieldValue(this.name,t.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})}this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,{...Ve,...this.options.defaultMeta})},this.mount=()=>{this.update(this.options),this.form.formGroupApis.add(this),this.fieldInfo.instance=this,this.form.baseStore.setState(r=>({...r,formGroupStateBase:{...r.formGroupStateBase,[this.name]:r.formGroupStateBase[this.name]??Vi({...this.options.defaultState})}}));const{onMount:t}=this.options.validators||{};if(t){const r=this.runValidator({validate:t,value:{value:this.state.value,groupApi:this,validationSource:"form"},type:"validate"});let o=r,s;zi(r)&&(o=r.group,s=r.fields);const i=Li(o);i&&this.setMeta(l=>({...l,errorMap:{...l.errorMap,onMount:i},errorSourceMap:{...l.errorSourceMap,onMount:"field"}})),this.distributeFieldErrors("onMount",s)}return this.options.listeners?.onMount?.({value:this.state.value,groupApi:this}),()=>{for(const[r,o]of Object.entries(this.timeoutIds.validations))o&&(clearTimeout(o),this.timeoutIds.validations[r]=null);for(const[r,o]of Object.entries(this.timeoutIds.listeners))o&&(clearTimeout(o),this.timeoutIds.listeners[r]=null);for(const[r,o]of Object.entries(this.timeoutIds.formListeners))o&&(clearTimeout(o),this.timeoutIds.formListeners[r]=null);if(this.fieldInfo.instance===this){for(const[r,o]of Object.entries(this.fieldInfo.validationMetaMap))o?.lastAbortController.abort(),this.fieldInfo.validationMetaMap[r]=void 0;this.form.formGroupApis.delete(this),this.form.baseStore.setState(r=>({...r,formGroupStateBase:{...r.formGroupStateBase,[this.name]:Vi({})}})),this.fieldInfo.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,groupApi:this})}}},this.setValue=(t,r)=>{this.form.setFieldValue(this.name,t,Pe(r,{dontRunListeners:!0,dontValidate:!0})),r?.dontRunListeners||this.triggerOnChangeListener(),r?.dontValidate||this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=t=>this.form.setFieldMeta(this.name,t),this.getInfo=()=>this.fieldInfo,this.getRelatedFields=()=>{const t=Object.values(this.form.fieldInfo),r=[];for(const o of t)o.instance&&o.instance instanceof hr&&o.instance.name.startsWith(this.name)&&r.push(o.instance);return r},this.getRelatedFieldMetasDerived=()=>{const t=Object.entries(this.form.fieldMetaDerived.state),r=[];for(const[o,s]of t)o!==this.name&&tn(this.name,o)&&r.push({...s,name:o});return r},this.buildChildFieldName=t=>t===""?this.name:t.startsWith("[")?`${this.name}${t}`:`${this.name}.${t}`,this.distributeFieldErrors=(t,r)=>{const o=this._lastDistributedFieldNames[t]??new Set,s=new Set;if(r)for(const[c,d]of Object.entries(r))d==null||d===!1||s.add(this.buildChildFieldName(c));const i=new Set([...o,...s]);let l=!1;for(const c of i){const d=c.startsWith(this.name+"[")?c.slice(this.name.length):c.slice(this.name.length+1),f=r?.[d],u=this.form.getFieldMeta(c);if(!u&&!f)continue;const m=u?.errorMap[t],p=u?.errorSourceMap[t]==="form",{newErrorValue:h,newSource:g}=$i({newFormValidatorError:f,isPreviousErrorFromFormValidator:p,previousErrorValue:m});h&&(l=!0),!(m===h&&u?.errorSourceMap[t]===g)&&this.form.setFieldMeta(c,v=>({...v,errorMap:{...v.errorMap,[t]:h},errorSourceMap:{...v.errorSourceMap,[t]:g}}))}return this._lastDistributedFieldNames[t]=s,l},this.validateSync=(t,r,o={})=>{const s=dr(t,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||gt}),l=(o.skipRelatedFieldValidation?[]:this.getRelatedFields()).reduce((f,u)=>{const m=dr(t,{...u.options,form:u.form,validationLogic:u.form.options.validationLogic||gt});return m.forEach(p=>{p.field=u}),f.concat(m)},[]);let c=!1;Re(()=>{const f=(u,m)=>{const p=Vo(m.cause),h=u===this;let g;m.validate&&(g=u.runValidator({validate:m.validate,value:{value:u.store.state.value,validationSource:h?"form":"field",...u instanceof vr?{groupApi:u}:{fieldApi:u}},type:"validate"}));let v=g,y;h&&zi(g)&&(v=g.group,y=g.fields);const b=Li(v),S=r[p],{newErrorValue:_,newSource:E}=Ao({formLevelError:S,fieldLevelError:b});u.state.meta.errorMap?.[p]!==_&&u.setMeta(C=>({...C,errorMap:{...C.errorMap,[p]:_},errorSourceMap:{...C.errorSourceMap,[p]:E}})),_&&(c=!0),h&&this.distributeFieldErrors(p,y)&&(c=!0)};for(const u of s)f(this,u);for(const u of l)u.validate&&f(u.field,u)});const d=Vo("submit");return this.state.meta.errorMap?.[d]&&t!=="submit"&&!c&&this.setMeta(f=>({...f,errorMap:{...f.errorMap,[d]:void 0},errorSourceMap:{...f.errorSourceMap,[d]:void 0}})),{hasErrored:c}},this.validateAsync=async(t,r,o={})=>{const s=fr(t,{...this.options,form:this.form,group:this,validationLogic:this.options.validationLogic||this.form.options.validationLogic||gt}),i=await r,l=o.skipRelatedFieldValidation?[]:this.getRelatedFields(),c=l.reduce((h,g)=>{const v=fr(t,{...g.options,form:g.form,validationLogic:g.form.options.validationLogic||gt});return v.forEach(y=>{y.field=g}),h.concat(v)},[]),d=[],f=[],u=s.some(h=>h.validate)||c.some(h=>h.validate);if(u){this.state.meta.isValidating||this.setMeta(h=>({...h,isValidating:!0}));for(const h of l)h.setMeta(g=>({...g,isValidating:!0}))}const m=(h,g,v)=>{const y=Vo(g.cause),b=h.getInfo();b.validationMetaMap[y]?.lastAbortController.abort();const _=new AbortController;b.validationMetaMap[y]={lastAbortController:_};const E=h===this;v.push(new Promise(async C=>{let N;try{N=await new Promise((A,L)=>{h.timeoutIds.validations[g.cause]&&clearTimeout(h.timeoutIds.validations[g.cause]),h.timeoutIds.validations[g.cause]=setTimeout(async()=>{if(_.signal.aborted)return A(void 0);try{A(await this.runValidator({validate:g.validate,value:{value:h.store.state.value,signal:_.signal,validationSource:E?"form":"field",...h instanceof vr?{groupApi:h}:{fieldApi:h}},type:"validateAsync"}))}catch(T){L(T)}},g.debounceMs)})}catch(A){N=A}if(_.signal.aborted)return C(void 0);let w=N,k;E&&zi(N)&&(w=N.group,k=N.fields);const R=Li(w),F=i[h.name]?.[y],{newErrorValue:P,newSource:$}=Ao({formLevelError:F,fieldLevelError:R});if(h.getInfo().instance!==h)return C(void 0);h.setMeta(A=>({...A,errorMap:{...A?.errorMap,[y]:P},errorSourceMap:{...A.errorSourceMap,[y]:$}})),E&&this.distributeFieldErrors(y,k),C(P)}))};for(const h of s)h.validate&&m(this,h,d);for(const h of c)h.validate&&m(h.field,h,f);let p=[];if((d.length||f.length)&&(p=await Promise.all(d),await Promise.all(f)),u){this.setMeta(h=>({...h,isValidating:!1}));for(const h of l)h.setMeta(g=>({...g,isValidating:!1}))}return p.filter(Boolean)},this.validateAllFields=async t=>{const r=[];return Re(()=>{Object.values(this.getRelatedFields()).forEach(s=>{r.push(Promise.resolve().then(()=>s.validate(t,{skipFormValidation:!0,skipGroupValidation:!0}))),s.store.state.meta.isTouched||s.setMeta(i=>({...i,isTouched:!0}))})}),(await Promise.all(r)).flat()},this.validateArrayFieldsStartingFrom=(t,r,o)=>this.form.validateArrayFieldsStartingFrom(t,r,o),this.validateField=(t,r)=>this.form.validateField(t,r),this.getFieldValue=t=>this.form.getFieldValue(t),this.getFieldMeta=t=>this.form.getFieldMeta(t),this.setFieldMeta=(t,r)=>this.form.setFieldMeta(t,r),this.setFieldValue=(t,r)=>this.form.setFieldValue(t,r),this.deleteField=t=>this.form.deleteField(t),this.pushFieldValue=(t,r)=>this.form.pushFieldValue(t,r),this.insertFieldValue=(t,r,o)=>this.form.insertFieldValue(t,r,o),this.replaceFieldValue=(t,r,o)=>this.form.replaceFieldValue(t,r,o),this.swapFieldValues=(t,r,o)=>this.form.swapFieldValues(t,r,o),this.moveFieldValues=(t,r,o)=>this.form.moveFieldValues(t,r,o),this.clearFieldValues=t=>this.form.clearFieldValues(t),this.resetField=t=>this.form.resetField(t),this.removeFieldValue=(t,r)=>this.form.removeFieldValue(t,r),this.areRelatedFieldsValid=()=>Object.values(this.getRelatedFields()).every(t=>t.state.meta.isValid),this.validate=(t,r)=>{const{fieldsErrorMap:o}=r?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(t,{dontUpdateFormErrorMap:!0,filterFieldNames:l=>tn(this.name,l)}),{hasErrored:s}=this.validateSync(t,o[this.name]??{},{skipRelatedFieldValidation:r?.skipRelatedFieldValidation});if(s&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[Vo(t)]?.lastAbortController.abort(),this.state.meta.errors;const i=r?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(t,{dontUpdateFormErrorMap:!0,filterFieldNames:l=>tn(this.name,l)});return this.validateAsync(t,i,{skipRelatedFieldValidation:r?.skipRelatedFieldValidation})},this.triggerOnChangeListener=()=>{const t=this.form.options.listeners?.onChangeGroupDebounceMs;t&&t>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this})},t)):this.form.options.listeners?.onChangeGroup?.({formApi:this.form,groupApi:this});const r=this.options.listeners?.onChangeDebounceMs;r&&r>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},r)):this.options.listeners?.onChange?.({value:this.state.value,groupApi:this})},this.triggerOnSubmitListener=()=>{this.options.listeners?.onSubmit?.({value:this.state.value,groupApi:this})},this._handleSubmit=async t=>{this.setFormGroupState(s=>({...s,isSubmitted:!1,submissionAttempts:s.submissionAttempts+1,isSubmitSuccessful:!1})),Re(()=>{Object.values(this.getRelatedFields()).forEach(s=>{s.state.meta.isTouched||s.setMeta(i=>({...i,isTouched:!0}))})});const r=t??this.options.onSubmitMeta;this.setFormGroupState(s=>({...s,isSubmitting:!0}));const o=()=>{this.setFormGroupState(s=>({...s,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.areRelatedFieldsValid()){o(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:r});return}if(await this.validate("submit",{skipRelatedFieldValidation:!0}),!this.areRelatedFieldsValid()||!this.state.meta.isValid){o(),this.options.onGroupSubmitInvalid?.({value:this.state.value,groupApi:this,meta:r});return}Re(()=>{Object.values(this.getRelatedFields()).forEach(s=>{s.options.listeners?.onGroupSubmit?.({value:s.state.value,fieldApi:s})})}),this.options.listeners?.onSubmit?.({groupApi:this,value:this.state.value});try{await this.options.onGroupSubmit?.({value:this.state.value,groupApi:this,meta:r}),Re(()=>{this.setFormGroupState(s=>({...s,isSubmitted:!0,isSubmitSuccessful:!0})),o()})}catch(s){throw this.setFormGroupState(i=>({...i,isSubmitSuccessful:!1})),o(),s}},this.form=n.form,this.name=n.name,this.options=n,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.fieldInfo={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.store=_n(t=>{this.form.formGroupMetaDerived.get(),this.form.baseStore.get();const r=this.form.getFormGroupMeta(this.name)??jS(n.defaultMeta);let o=this.form.getFieldValue(this.name);return!r.isTouched&&o===void 0&&this.options.defaultValue!==void 0&&!Ct(o,this.options.defaultValue)&&(o=this.options.defaultValue),t&&t.value===o&&t.meta===r?t:{value:o,meta:r}}),this.handleSubmit=this.handleSubmit.bind(this)}get state(){return this.store.state}runValidator(n){if(Di(n.validate)){const t=nn[n.type](n.value,n.validate);return n.type==="validate"?ff(t):t.then(ff)}return n.validate(n.value)}handleSubmit(n){return this._handleSubmit(n)}}function Li(e){if(e)return e}function zi(e){return!!e&&typeof e=="object"&&"fields"in e}function ff(e){if(!e||typeof e!="object"||!("form"in e)&&!("fields"in e))return e;const{form:n,fields:t,...r}=e;return{...r,group:n,fields:t}}function Vo(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";case"dynamic":return"onDynamic";default:return"onChange"}}function ES(e,n){if(!n)return;const t=Object.assign({},e,{state:mr(e.state)});n(t),t.fieldInfo!==e.fieldInfo&&(e.fieldInfo=t.fieldInfo),t.options!==e.options&&(e.options=t.options);const o=Object.keys({values:null,validationMetaMap:null,fieldMetaBase:null,formGroupStateBase:null,isSubmitting:null,isSubmitted:null,isValidating:null,submissionAttempts:null,isSubmitSuccessful:null,_force_re_eval:null}).reduce((s,i)=>(e.state[i]!==t.state[i]&&(s[i]=t.state[i]),s),{});return Re(()=>{Object.keys(o).length&&e.baseStore.setState(s=>({...s,...o})),t.state.errorMap!==e.state.errorMap&&e.setErrorMap(t.state.errorMap)}),t}var Lo={exports:{}},Bi={},zo={exports:{}},Gi={};var mf;function NS(){if(mf)return Gi;mf=1;var e=M;function n(u,m){return u===m&&(u!==0||1/u===1/m)||u!==u&&m!==m}var t=typeof Object.is=="function"?Object.is:n,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,i=e.useDebugValue;function l(u,m){var p=m(),h=r({inst:{value:p,getSnapshot:m}}),g=h[0].inst,v=h[1];return s(function(){g.value=p,g.getSnapshot=m,c(g)&&v({inst:g})},[u,p,m]),o(function(){return c(g)&&v({inst:g}),u(function(){c(g)&&v({inst:g})})},[u]),i(p),p}function c(u){var m=u.getSnapshot;u=u.value;try{var p=m();return!t(u,p)}catch{return!0}}function d(u,m){return m()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:l;return Gi.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,Gi}var Hi={};var pf;function kS(){return pf||(pf=1,process.env.NODE_ENV!=="production"&&(function(){function e(p,h){return p===h&&(p!==0||1/p===1/h)||p!==p&&h!==h}function n(p,h){f||o.startTransition===void 0||(f=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var g=h();if(!u){var v=h();s(g,v)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}v=i({inst:{value:g,getSnapshot:h}});var y=v[0].inst,b=v[1];return c(function(){y.value=g,y.getSnapshot=h,t(y)&&b({inst:y})},[p,g,h]),l(function(){return t(y)&&b({inst:y}),p(function(){t(y)&&b({inst:y})})},[p]),d(g),g}function t(p){var h=p.getSnapshot;p=p.value;try{var g=h();return!s(p,g)}catch{return!0}}function r(p,h){return h()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var o=M,s=typeof Object.is=="function"?Object.is:e,i=o.useState,l=o.useEffect,c=o.useLayoutEffect,d=o.useDebugValue,f=!1,u=!1,m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?r:n;Hi.useSyncExternalStore=o.useSyncExternalStore!==void 0?o.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Hi}var hf;function gf(){return hf||(hf=1,process.env.NODE_ENV==="production"?zo.exports=NS():zo.exports=kS()),zo.exports}var vf;function RS(){if(vf)return Bi;vf=1;var e=M,n=gf();function t(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var r=typeof Object.is=="function"?Object.is:t,o=n.useSyncExternalStore,s=e.useRef,i=e.useEffect,l=e.useMemo,c=e.useDebugValue;return Bi.useSyncExternalStoreWithSelector=function(d,f,u,m,p){var h=s(null);if(h.current===null){var g={hasValue:!1,value:null};h.current=g}else g=h.current;h=l(function(){function y(C){if(!b){if(b=!0,S=C,C=m(C),p!==void 0&&g.hasValue){var N=g.value;if(p(N,C))return _=N}return _=C}if(N=_,r(S,C))return N;var w=m(C);return p!==void 0&&p(N,w)?(S=C,N):(S=C,_=w)}var b=!1,S,_,E=u===void 0?null:u;return[function(){return y(f())},E===null?void 0:function(){return y(E())}]},[f,u,m,p]);var v=o(d,h[0],h[1]);return i(function(){g.hasValue=!0,g.value=v},[v]),c(v),v},Bi}var qi={};var xf;function TS(){return xf||(xf=1,process.env.NODE_ENV!=="production"&&(function(){function e(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=M,t=gf(),r=typeof Object.is=="function"?Object.is:e,o=t.useSyncExternalStore,s=n.useRef,i=n.useEffect,l=n.useMemo,c=n.useDebugValue;qi.useSyncExternalStoreWithSelector=function(d,f,u,m,p){var h=s(null);if(h.current===null){var g={hasValue:!1,value:null};h.current=g}else g=h.current;h=l(function(){function y(C){if(!b){if(b=!0,S=C,C=m(C),p!==void 0&&g.hasValue){var N=g.value;if(p(N,C))return _=N}return _=C}if(N=_,r(S,C))return N;var w=m(C);return p!==void 0&&p(N,w)?(S=C,N):(S=C,_=w)}var b=!1,S,_,E=u===void 0?null:u;return[function(){return y(f())},E===null?void 0:function(){return y(E())}]},[f,u,m,p]);var v=o(d,h[0],h[1]);return i(function(){g.hasValue=!0,g.value=v},[v]),c(v),v},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),qi}var bf;function FS(){return bf||(bf=1,process.env.NODE_ENV==="production"?Lo.exports=RS():Lo.exports=TS()),Lo.exports}var PS=FS();function IS(e,n){return e===n}function AS(e,n=r=>r,t){const r=IS,o=M.useCallback(i=>{const{unsubscribe:l}=e.subscribe(i);return l},[e]),s=M.useCallback(()=>e.get(),[e]);return PS.useSyncExternalStoreWithSelector(o,s,s,n,r)}const Se=(e,n=r=>r,t)=>AS(e,n),Dt=typeof window<"u"?M.useLayoutEffect:M.useEffect;function $S(e){const[n,t]=M.useState(()=>({form:e.form,name:e.name})),[r,o]=M.useState(()=>new hr({...e}));(n.form!==e.form||n.name!==e.name)&&(o(new hr({...e})),t({form:e.form,name:e.name}));const s=Se(r.store,e.mode==="array"?p=>p.meta._arrayVersion||0:p=>p.value),i=Se(r.store,p=>p.meta.isTouched),l=Se(r.store,p=>p.meta.isBlurred),c=Se(r.store,p=>p.meta.isDirty),d=Se(r.store,p=>p.meta.errorMap),f=Se(r.store,p=>p.meta.errorSourceMap),u=Se(r.store,p=>p.meta.isValidating),m=M.useMemo(()=>({...r,get state(){return{value:e.mode==="array"?r.state.value:s,get meta(){return{...r.state.meta,isTouched:i,isBlurred:l,isDirty:c,errorMap:d,errorSourceMap:f,isValidating:u}}}}}),[r,e.mode,s,i,l,c,d,f,u]);return Dt(r.mount,[r]),Dt(()=>{r.update(e)}),m}const DS=(({children:e,...n})=>{const t=$S(n),r=M.useMemo(()=>cr(e,t),[e,t]);return a.jsx(a.Fragment,{children:r})});function OS(){return M.useState(()=>lf())[0]}const VS=x,LS=x.version.split(".")[0]==="17"?OS:VS.useId;function zS(e){const[n,t]=M.useState(()=>({form:e.form,name:e.name})),[r,o]=M.useState(()=>new vr({...e}));(n.form!==e.form||n.name!==e.name)&&(o(new vr({...e})),t({form:e.form,name:e.name}));const s=Se(r.store,C=>C.value),i=Se(r.store,C=>C.meta.isTouched),l=Se(r.store,C=>C.meta.isBlurred),c=Se(r.store,C=>C.meta.isDirty),d=Se(r.store,C=>C.meta.errorMap),f=Se(r.store,C=>C.meta.errorSourceMap),u=Se(r.store,C=>C.meta.isValidating),m=Se(r.store,C=>C.meta.isSubmitting),p=Se(r.store,C=>C.meta.isSubmitted),h=Se(r.store,C=>C.meta.submissionAttempts),g=Se(r.store,C=>C.meta.isSubmitSuccessful),v=Se(r.store,C=>C.meta.canSubmit),y=Se(r.store,C=>C.meta.isValid),b=Se(r.store,C=>C.meta.isFieldsValid),S=Se(r.store,C=>C.meta.isFieldsValidating),_=Se(r.store,C=>C.meta.isGroupValid),E=M.useMemo(()=>({...r,handleSubmit:((...w)=>r._handleSubmit(...w)),get state(){return{...r.state,value:s,get meta(){return{...r.state.meta,isTouched:i,isBlurred:l,isDirty:c,errorMap:d,errorSourceMap:f,isValidating:u,isSubmitting:m,isSubmitted:p,submissionAttempts:h,isSubmitSuccessful:g,canSubmit:v,isValid:y,isFieldsValid:b,isFieldsValidating:S,isGroupValid:_}}}}}),[r,s,i,l,c,d,f,u,m,p,h,g,v,y,b,S,_]);return Dt(r.mount,[r]),Dt(()=>{r.update(e)}),E}const BS=(({children:e,...n})=>{const t=zS(n),r=M.useMemo(()=>cr(e,t),[e,t]);return a.jsx(a.Fragment,{children:r})});function GS({form:e,selector:n=r=>r,children:t}){const r=Se(e.store,n);return a.jsx(a.Fragment,{children:cr(t,r)})}function HS(e){const n=LS(),[t,r]=M.useState(e?.formId),[o,s]=M.useState(()=>new uf({...e,formId:e?.formId??n}));if(t!==e?.formId){const c=e?.formId??n;s(new uf({...e,formId:c})),r(c)}const i=M.useMemo(()=>{const c={...o,handleSubmit:((...d)=>o._handleSubmit(...d)),get formId(){return o._formId},get state(){return o.store.state}};return c.Field=function(f){return a.jsx(DS,{...f,form:o})},c.FormGroup=function(f){return a.jsx(BS,{...f,form:o})},c.Subscribe=function(f){return a.jsx(GS,{form:o,selector:f.selector,children:f.children})},c},[o]);Dt(o.mount,[]),Dt(()=>{o.update(e)});const l=M.useRef(!1);return Dt(()=>{l.current&&e?.transform&&ES(o,e.transform)},[o,e?.transform]),Dt(()=>{l.current=!0}),i}function qS(e,n,t){const r=Be(),o=M.useMemo(()=>e?.data?.find(d=>d.graphQlName===n),[e,n]),s=M.useMemo(()=>e.loading||e.error||!o?null:`query Get_${n}_Ref {
123
- values: ${n}(limit: -1) {
82
+ }`,[e]),d=me.useMutation({mutationFn:g=>n.query(l,{detail:g}),onSuccess:()=>{nn(r,e.name),s("Row deleted")}}),p=me.useMutation({mutationFn:g=>n.query(u,{actions:g}),onSuccess:(g,b)=>{nn(r,e.name);const k=b.length;s(`${k} ${k===1?"row":"rows"} deleted`)}}),m=g=>{let b;try{b=a(g)}catch(k){return Promise.reject(k)}return d.mutateAsync(b)},h=g=>{let b;try{b=g.map(k=>({delete:a(k)}))}catch(k){return Promise.reject(k)}return p.mutateAsync(b)},x=d.error??p.error;return{deleteRow:m,deleteRows:h,isPending:d.isPending||p.isPending,error:x}}const ds=["Int","Int!","Float","Float!"],Ri=["BigInt","BigInt!"],Xi=["Boolean","Boolean!"];function us(e,n,r){const s=n.replace("!","");if(typeof e=="number"){if(Number.isFinite(e)&&(s!=="Int"||Number.isInteger(e)))return e;throw new Error(`Invalid ${s} value for column '${r}'.`)}const o=String(e).trim();if(!(s==="Int"?/^[+-]?\d+$/.test(o):/^[+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?$/.test(o)))throw new Error(`Invalid ${s} value for column '${r}'.`);const a=Number(o);if(!Number.isFinite(a))throw new Error(`Invalid ${s} value for column '${r}'.`);return a}function ms(e,n,r,s,o){const i={...e};for(const{column:a}of n){if(i[a.name]===null){i[a.name]=o?void 0:null;continue}if(ds.some(l=>l===a.paramType)){const l=i[a.name];i[a.name]=l==null?void 0:l===""?o?void 0:null:us(l,a.paramType,a.name)}if(Ri.some(l=>l===a.paramType)){const l=i[a.name];i[a.name]=l==null?void 0:l===""?o?void 0:null:String(l)}if(Xi.some(l=>l===a.paramType)){const l=i[a.name];a.isNullable&&l==null?i[a.name]=o?void 0:null:i[a.name]=!!l}if(lt(a)){const l=i[a.name];if(typeof l=="string"&&l.trim()!=="")try{i[a.name]=JSON.parse(l)}catch{}}}if(!o&&s)for(const a of r){const l=s[a.name];ds.some(u=>u===a.paramType)?i[a.name]=l==null?null:us(l,a.paramType,a.name):i[a.name]=l}return i}function sn(e,n,r,s){Fe(e.name,"table mutation table name");const o=Ce(),i=me.useQueryClient(),{toast:a}=rn(),l=s===void 0||s==="",u=c.useMemo(()=>`mutation updateSingle($detail: Update_${e.name}){
83
+ ${e.name}(update: $detail)
84
+ }`,[e]),d=c.useMemo(()=>`mutation insertSingle($detail: Insert_${e.name}){
85
+ ${e.name}(insert: $detail)
86
+ }`,[e]),p=me.useMutation({mutationFn:k=>o.query(u,{detail:k}),onSuccess:()=>{nn(i,e.name),a(`${e.label??e.name} saved`)}}),m=me.useMutation({mutationFn:k=>o.query(d,{detail:k}),onSuccess:()=>{nn(i,e.name),a(`${e.label??e.name} created`)}}),h=c.useMemo(()=>l||!s?null:jn(s,e),[l,s,e]),x=k=>{if(!h||r.length===0)return Promise.reject(new Error(`Cannot update ${e.label??e.name}: the record has no resolvable primary key.`));let $;try{$=ms(k,n,r,h,!1)}catch(w){return Promise.reject(w)}return p.mutateAsync($)},g=k=>{let $;try{$=ms(k,n,r,null,!0)}catch(w){return Promise.reject(w)}return m.mutateAsync($)},b=p.error??m.error;return{update:x,insert:g,isPending:p.isPending||m.isPending,error:b}}const Ui=1e3,Zi=50;function fs(e){const n=e.labelColumn||Qe(e)[0]?.name||e.columns[0]?.name;if(!n)throw new Error(`Table '${e.name}' has no usable label column for a reference dropdown.`);return n}function el(e,n,r){Fe(e.name,"reference table name"),Fe(n,"reference key column");const s=fs(e);if(Fe(s,"reference label column"),!e.columns.some(p=>p.name===n))throw new Error(`Reference table '${e.name}' has no key column '${n}'.`);const i=e.columns.find(p=>p.name===s)?.paramType?.replace("!","")==="String",a=!!r&&r.trim()!==""&&i,l=a?"$limit: Int, $search: String":"$limit: Int",u=a?`filter: {${s}: {_contains: $search}} `:"";return{query:`query Get_${e.name}_Ref(${l}) {
87
+ values: ${e.name}(${u}limit: $limit sort: [${s}_asc]) {
124
88
  data {
125
- key: ${t}
126
- label: ${o.labelColumn??"id"}
89
+ key: ${n}
90
+ label: ${s}
127
91
  }
128
92
  }
129
- }`,[t,o,e.loading,e.error,n]),{isLoading:i,error:l,data:c}=je.useQuery({queryKey:["tableRef",n,t],queryFn:()=>r.query(s),enabled:!!s});return{loading:i||e.loading,error:l||e.error,data:c?.values?.data??[]}}const WS=500;function US(e,n,t){const r=Be(),o=M.useMemo(()=>e?.data?.find(u=>u.graphQlName===n),[e,n]),s=M.useMemo(()=>{if(!o)return"";const u=o.labelColumn??t[0],m=new Set(t);return m.add(u),Array.from(m).join(" ")},[o,t]),i=M.useMemo(()=>e.loading||e.error||!o||t.length===0?null:`query Get_${n}_CompositeRef { values: ${n}(limit: ${WS}) { data { ${s} } } }`,[o,n,s,e.loading,e.error,t.length]),{isLoading:l,error:c,data:d}=je.useQuery({queryKey:["compositeTableRef",n,t.join("|")],queryFn:()=>r.query(i),enabled:!!i}),f=M.useMemo(()=>{if(!o||!d)return[];const u=o.labelColumn??t[0],m={primaryKeys:t};return(d.values?.data??[]).map((p,h)=>{const g={};for(const y of t)g[y]=p[y];const v=ar(p,m,h);return{route:v,values:g,label:String(p[u]??v)}})},[o,t,d]);return{loading:l||e.loading,error:c||e.error,data:f}}const yf=["Int","Int!","Float","Float!","BigInt","BigInt!"],KS=["Boolean","Boolean!"];function wf(e,n,t,r,o){const s={...e};for(const{column:i}of n){if(yf.some(l=>l===i.paramType)){const l=s[i.name];s[i.name]=l==null?void 0:l===""?null:+l}KS.some(l=>l===i.paramType)&&(s[i.name]=!!s[i.name])}if(!o&&r)for(const i of t){const l=r[i.name];yf.some(c=>c===i.paramType)?s[i.name]=l==null?null:Number(l):s[i.name]=l}return s}function Wi(e,n,t,r){const o=Be(),s=je.useQueryClient(),i=r===void 0||r==="",l=M.useMemo(()=>`mutation updateSingle($detail: Update_${e.name}){
130
- ${e.name}(update: $detail)
131
- }`,[e]),c=M.useMemo(()=>`mutation insertSingle($detail: Insert_${e.name}){
132
- ${e.name}(insert: $detail)
133
- }`,[e]),d=je.useMutation({mutationFn:g=>o.query(l,{detail:g}),onSuccess:()=>s.invalidateQueries({queryKey:["tableData",e.name]})}),f=je.useMutation({mutationFn:g=>o.query(c,{detail:g}),onSuccess:()=>s.invalidateQueries({queryKey:["tableData",e.name]})}),u=M.useMemo(()=>i||!r?null:ji(r,e),[i,r,e]),m=g=>{const v=wf(g,n,t,u,!1);return d.mutateAsync(v)},p=g=>{const v=wf(g,n,t,null,!0);return f.mutateAsync(v)},h=d.error??f.error;return{update:m,insert:p,isPending:d.isPending||f.isPending,error:h}}const YS=new Set(["Int","Int!","Float","Float!","Decimal","Decimal!"]);function JS(e){return YS.has(e.paramType)}function XS(e){return e.startsWith("^")?e:`^(?:${e})$`}function QS(e){if(e!==e.trim()||/\s/.test(e))return!1;const n=e.lastIndexOf("@");if(n<=0||n===e.length-1)return!1;const t=e.slice(n+1);return t.includes(".")&&!t.startsWith(".")&&!t.endsWith(".")}function ZS(e){try{const n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function eC(e,n,t){const r=e.label;if(t&&(n==null||n===""))return`${r} is required`;if(!(n==null||n==="")){if(typeof n=="string"){if(e.pattern){let o;try{o=new RegExp(XS(e.pattern))}catch{return`${r} has an invalid validation pattern`}if(!o.test(n))return e.patternMessage||`${r} format is invalid`}if(e.minLength&&n.length<e.minLength)return`${r} must be at least ${e.minLength} characters`;if(e.maxLength&&n.length>e.maxLength)return`${r} must be at most ${e.maxLength} characters`;if(e.inputType==="email"&&!QS(n))return"Invalid email address";if(e.inputType==="url"&&!ZS(n))return"Invalid URL"}if(JS(e)){const o=Number(n);if(!Number.isNaN(o)){if(e.min!==void 0&&e.min!==null&&o<e.min)return`${r} must be at least ${e.min}`;if(e.max!==void 0&&e.max!==null&&o>e.max)return`${r} must be at most ${e.max}`}}}}const xr=x.forwardRef(({...e},n)=>a.jsx(Ps,{"data-slot":"dialog",...e}));xr.displayName="Dialog";const tC=x.forwardRef(({...e},n)=>a.jsx(lc,{"data-slot":"dialog-trigger",...e}));tC.displayName="DialogTrigger";const Sf=x.forwardRef(({...e},n)=>a.jsx(As,{"data-slot":"dialog-portal",...e}));Sf.displayName="DialogPortal";const nC=x.forwardRef(({...e},n)=>a.jsx(zn,{"data-slot":"dialog-close",...e}));nC.displayName="DialogClose";const Cf=x.forwardRef(({className:e,...n},t)=>a.jsx($s,{ref:t,"data-slot":"dialog-overlay",className:ee("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n}));Cf.displayName="DialogOverlay";const br=x.forwardRef(({className:e,children:n,showCloseButton:t=!0,...r},o)=>a.jsxs(Sf,{"data-slot":"dialog-portal",children:[a.jsx(Cf,{}),a.jsxs(Ds,{ref:o,"data-slot":"dialog-content",className:ee("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...r,children:[n,t&&a.jsxs(zn,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[a.jsx(Ae,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));br.displayName="DialogContent";const Bo=x.forwardRef(({className:e,...n},t)=>a.jsx("div",{ref:t,"data-slot":"dialog-header",className:ee("flex flex-col gap-2 text-center sm:text-left",e),...n}));Bo.displayName="DialogHeader";const _f=x.forwardRef(({className:e,showCloseButton:n=!1,children:t,...r},o)=>a.jsxs("div",{ref:o,"data-slot":"dialog-footer",className:ee("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r,children:[t,n&&a.jsx(zn,{asChild:!0,children:a.jsx(X,{variant:"outline",children:"Close"})})]}));_f.displayName="DialogFooter";const yr=x.forwardRef(({className:e,...n},t)=>a.jsx(Os,{ref:t,"data-slot":"dialog-title",className:ee("text-lg leading-none font-semibold",e),...n}));yr.displayName="DialogTitle";const Go=x.forwardRef(({className:e,...n},t)=>a.jsx(Vs,{ref:t,"data-slot":"dialog-description",className:ee("text-sm text-muted-foreground",e),...n}));Go.displayName="DialogDescription";function Ui({className:e,...n}){return a.jsx(xc,{"data-slot":"checkbox",className:ee("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",e),...n,children:a.jsx(yc,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:a.jsx(Tr,{className:"size-3.5"})})})}function Mn({className:e,...n}){return a.jsx(ry,{"data-slot":"label",className:ee("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function rC({name:e,label:n,value:t,dbType:r,onChange:o,onBlur:s,required:i,invalid:l}){const c=sr(r),d=No(r),f=Mi(t,r),[u,m]=M.useState(null),p=M.useRef(null),h=M.useCallback(()=>{const b=p.current;b&&(b.style.height="auto",b.style.height=Math.min(b.scrollHeight,400)+"px")},[]);if(M.useEffect(h,[t,h]),c)return a.jsx(oC,{name:e,label:n,value:t});if(!d&&f==="text")return null;const g=()=>{if(m(null),f==="json")try{o(JSON.stringify(JSON.parse(t),null,2))}catch{m("Invalid JSON")}else if(f==="xml")try{const b=t.replace(/>\s*</g,`>
93
+ }`,labelColumn:s,serverSearch:i}}function tl(e,n){Fe(e.name,"reference table name"),Fe(n,"reference key column");const r=fs(e);Fe(r,"reference label column");const s=e.columns.find(a=>a.name===n);if(!s)throw new Error(`Reference table '${e.name}' has no key column '${n}'.`);const o=s.paramType.replace("!","");return{query:`query Get_${e.name}_RefValue($key: ${o}) {
94
+ values: ${e.name}(filter: {${n}: {_eq: $key}} limit: 1) {
95
+ data {
96
+ key: ${n}
97
+ label: ${r}
98
+ }
99
+ }
100
+ }`,keyType:o}}function nl(e,n){return Xe(n,e)}function ps(e,n){return e?.data?.find(r=>r.graphQlName===n)}function rl(e,n,r,s="",o=!0){const i=Ce(),a=c.useMemo(()=>ps(e,n),[e,n]),l=s.trim(),u=c.useMemo(()=>e.loading||e.error||!a?null:el(a,r,l),[r,a,e.loading,e.error,l]),d=u?.serverSearch?l:"",{isLoading:p,error:m,data:h}=me.useQuery({queryKey:["tableRef",n,r,d],queryFn:({signal:x})=>i.query(u.query,d?{limit:Zi,search:d}:{limit:Ui},{signal:x}),enabled:!!u&&o});return{loading:p||e.loading,error:m||e.error,data:h?.values?.data??[],serverSearch:u?.serverSearch??!1}}function sl(e,n,r,s){const o=Ce(),i=c.useMemo(()=>ps(e,n),[e,n]),a=!e.loading&&!e.error&&!!i&&s!=null&&s!=="",l=c.useMemo(()=>a?tl(i,r):null,[a,i,r]),{isLoading:u,error:d,data:p}=me.useQuery({queryKey:["tableRefValue",n,r,String(s??"")],queryFn:({signal:m})=>o.query(l.query,{key:nl(l.keyType,s)},{signal:m}),enabled:!!l});return{loading:u,error:d||e.error,value:p?.values?.data?.at(0)??null}}const ol=500,al=50;function il(e,n,r,s={}){const o=Ce(),{search:i="",enabled:a=!0,currentValues:l=null}=s,u=i.trim(),d=c.useMemo(()=>e?.data?.find(L=>L.graphQlName===n),[e,n]),p=c.useMemo(()=>d?.labelColumn||r[0],[d,r]),m=c.useMemo(()=>d?.columns.find(v=>v.name===p)?.paramType?.replace("!","")==="String",[d,p]),h=c.useMemo(()=>{if(!d||r.length===0||!Ie(n)||!Ie(p))return!1;const L=new Set(d.columns.map(v=>v.name));return L.has(p)?r.every(v=>Ie(v)&&L.has(v)):!1},[d,n,r,p]),x=c.useMemo(()=>{if(!d||!h)return"";const L=new Set(r);return L.add(p),Array.from(L).join(" ")},[d,h,r,p]),g=!!u&&m,b=c.useMemo(()=>{if(e.loading||e.error||!d||r.length===0||!h)return null;const L=g?"($limit: Int, $search: String)":"($limit: Int)",v=g?`filter: {${p}: {_contains: $search}} `:"";return`query Get_${n}_CompositeRef${L} { values: ${n}(${v}limit: $limit sort: [${p}_asc]) { data { ${x} } } }`},[d,n,x,p,g,e.loading,e.error,r.length,h]),k=m?u:"",{isLoading:$,error:w,data:P}=me.useQuery({queryKey:["compositeTableRef",n,r.join("|"),k],queryFn:()=>o.query(b,k?{limit:al,search:k}:{limit:ol}),enabled:!!b&&a}),C=c.useMemo(()=>{if(!d||!P)return[];const L={primaryKeys:r};return(P.values?.data??[]).map((v,M)=>{const O={};for(const I of r)O[I]=v[I];const z=_t(v,L,M);return{route:z,values:O,label:String(v[p]??z)}})},[d,r,p,P]),T=c.useMemo(()=>{if(!l)return"";const L=[];for(const v of r){const M=l[v];if(M==null||M==="")return"";L.push(M)}return xt(L)},[l,r]),j=T===""||C.some(L=>L.route===T),E=c.useMemo(()=>{if(!d||!h||j||T===""||!l)return null;const L=new Map(d.columns.map(_=>[_.name,_])),v=[],M=[],O={};for(let _=0;_<r.length;_++){const G=r[_],U=Xt(L.get(G)),ie=`k${_}`;M.push(`$${ie}: ${U}`),v.push(`{${G}: {_eq: $${ie}}}`),O[ie]=Xe(l[G],U)}const z=v.length===1?v[0]:`{and: [${v.join(", ")}]}`;return{query:`query Get_${n}_CompositeRefValue(${M.join(", ")}) { values: ${n}(filter: ${z} limit: 1) { data { ${x} } } }`,variables:O}},[d,n,x,r,j,T,l,h]),{data:y}=me.useQuery({queryKey:["compositeTableRefValue",n,T],queryFn:()=>o.query(E.query,E.variables),enabled:!!E}),S=c.useMemo(()=>{const L=y?.values?.data?.[0];if(!L)return C;const v={};for(const O of r)v[O]=L[O];const M=xt(r.map(O=>L[O]));return C.some(O=>O.route===M)?C:[{route:M,values:v,label:String(L[p]??M)},...C]},[C,y,r,p]);return{loading:$||e.loading,error:w||e.error,data:S,serverSearch:m}}const ll=new Set(["Int","Int!","Float","Float!","Decimal","Decimal!"]);function cl(e){return ll.has(e.paramType)}function dl(e){return e.startsWith("^")?e:`^(?:${e})$`}function ul(e){if(e!==e.trim()||/\s/.test(e))return!1;const n=e.lastIndexOf("@");if(n<=0||n===e.length-1)return!1;const r=e.slice(n+1);return r.includes(".")&&!r.startsWith(".")&&!r.endsWith(".")}function ml(e){try{const n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function fl(e,n,r){const s=e.label;if(r&&(n==null||n===""))return`${s} is required`;if(!(n==null||n==="")){if(typeof n=="string"){if(e.pattern){let o;try{o=new RegExp(dl(e.pattern))}catch{return`${s} has an invalid validation pattern`}if(!o.test(n))return e.patternMessage||`${s} format is invalid`}if(e.minLength&&n.length<e.minLength)return`${s} must be at least ${e.minLength} characters`;if(e.maxLength&&n.length>e.maxLength)return`${s} must be at most ${e.maxLength} characters`;if(e.inputType==="email"&&!ul(n))return"Invalid email address";if(e.inputType==="url"&&!ml(n))return"Invalid URL"}if(cl(e)){const o=Number(n);if(!Number.isNaN(o)){if(e.min!==void 0&&e.min!==null&&o<e.min)return`${s} must be at least ${e.min}`;if(e.max!==void 0&&e.max!==null&&o>e.max)return`${s} must be at most ${e.max}`}}}}const pl=new Set(["DateTime","DateTime!"]);function _n(e){return pl.has(e.paramType)}function Fn(e){return rs(e)==="datetime"}function hs(e,n){if(!e)return"";const r=e.match(/^(\d{4}-\d{2}-\d{2})(?:[T ](\d{2}:\d{2}(?::\d{2})?))?/);if(!r||r[1]==="0001-01-01")return"";if(!n||!r[2])return r[1];const s=r[2].length===5?`${r[2]}:00`:r[2];return`${r[1]}T${s}`}function hl(e,n,r){const s={...e};for(const o of r){if(!_n(o))continue;const i=n[o.name];typeof i!="string"||i===""||hs(i,Fn(o))===s[o.name]&&(s[o.name]=i)}return s}function xs(e,n,r){const s=e;return String(s.label??s[n]??"").toLowerCase().includes(r.toLowerCase())}const Ze=ve.forwardRef(({...e},n)=>t.jsx(Q.Dialog.Root,{"data-slot":"dialog",...e}));Ze.displayName="Dialog";const xl=ve.forwardRef(({...e},n)=>t.jsx(Q.Dialog.Trigger,{"data-slot":"dialog-trigger",...e}));xl.displayName="DialogTrigger";const gs=ve.forwardRef(({...e},n)=>t.jsx(Q.Dialog.Portal,{"data-slot":"dialog-portal",...e}));gs.displayName="DialogPortal";const gl=ve.forwardRef(({...e},n)=>t.jsx(Q.Dialog.Close,{"data-slot":"dialog-close",...e}));gl.displayName="DialogClose";const bs=ve.forwardRef(({className:e,...n},r)=>t.jsx(Q.Dialog.Overlay,{ref:r,"data-slot":"dialog-overlay",className:H("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n}));bs.displayName="DialogOverlay";const et=ve.forwardRef(({className:e,children:n,showCloseButton:r=!0,...s},o)=>t.jsxs(gs,{"data-slot":"dialog-portal",children:[t.jsx(bs,{}),t.jsxs(Q.Dialog.Content,{ref:o,"data-slot":"dialog-content",className:H("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...s,children:[n,r&&t.jsxs(Q.Dialog.Close,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[t.jsx(N.XIcon,{}),t.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));et.displayName="DialogContent";const Ot=ve.forwardRef(({className:e,...n},r)=>t.jsx("div",{ref:r,"data-slot":"dialog-header",className:H("flex flex-col gap-2 text-center sm:text-left",e),...n}));Ot.displayName="DialogHeader";const ys=ve.forwardRef(({className:e,showCloseButton:n=!1,children:r,...s},o)=>t.jsxs("div",{ref:o,"data-slot":"dialog-footer",className:H("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...s,children:[r,n&&t.jsx(Q.Dialog.Close,{asChild:!0,children:t.jsx(W,{variant:"outline",children:"Close"})})]}));ys.displayName="DialogFooter";const tt=ve.forwardRef(({className:e,...n},r)=>t.jsx(Q.Dialog.Title,{ref:r,"data-slot":"dialog-title",className:H("text-lg leading-none font-semibold",e),...n}));tt.displayName="DialogTitle";const jt=ve.forwardRef(({className:e,...n},r)=>t.jsx(Q.Dialog.Description,{ref:r,"data-slot":"dialog-description",className:H("text-sm text-muted-foreground",e),...n}));jt.displayName="DialogDescription";function zn({className:e,...n}){return t.jsx(Q.Checkbox.Root,{"data-slot":"checkbox",className:H("peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",e),...n,children:t.jsx(Q.Checkbox.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:t.jsx(N.CheckIcon,{className:"size-3.5"})})})}function ct({className:e,...n}){return t.jsx(Q.Label.Root,{"data-slot":"label",className:H("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}function En({open:e,onOpenChange:n,title:r,description:s,confirmLabel:o="Confirm",cancelLabel:i="Cancel",variant:a="default",isPending:l=!1,onConfirm:u}){return t.jsx(Ze,{open:e,onOpenChange:n,children:t.jsxs(et,{showCloseButton:!1,children:[t.jsxs(Ot,{children:[t.jsx(tt,{children:r}),t.jsx(jt,{asChild:!0,children:t.jsx("div",{children:s})})]}),t.jsxs(ys,{children:[t.jsx(W,{variant:"outline",onClick:()=>n(!1),disabled:l,children:i}),t.jsx(W,{variant:a==="destructive"?"destructive":"default",onClick:u,disabled:l,children:l?`${o}…`:o})]})]})})}function bl({name:e,label:n,value:r,dbType:s,onChange:o,onBlur:i,required:a,invalid:l}){const u=bt(s),d=Ft(s),p=Nn(r,s),[m,h]=c.useState(null),x=c.useRef(null),g=c.useCallback(()=>{const w=x.current;w&&(w.style.height="auto",w.style.height=Math.min(w.scrollHeight,400)+"px")},[]);if(c.useEffect(g,[r,g]),u)return t.jsx(yl,{name:e,label:n,value:r});if(!d&&p==="text")return null;const b=()=>{if(h(null),p==="json")try{o(JSON.stringify(JSON.parse(r),null,2))}catch{h("Invalid JSON")}else if(p==="xml")try{const w=r.replace(/>\s*</g,`>
134
101
  <`).replace(/(<[^/][^>]*[^/]>)\n/g,`$1
135
- `).trim();o(b)}catch{m("Could not format XML")}},v=()=>{if(m(null),f==="json")try{o(JSON.stringify(JSON.parse(t)))}catch{m("Invalid JSON")}else f==="xml"&&o(t.replace(/\n\s*/g,"").trim())},y=f==="json"||f==="xml";return a.jsxs("div",{className:"grid gap-1",children:[y&&a.jsxs("div",{className:"flex items-center gap-1 justify-end",children:[a.jsxs(X,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:g,children:[a.jsx(rl,{className:"size-3"}),"Format"]}),a.jsx(X,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:v,children:"Minify"})]}),a.jsx("textarea",{ref:p,id:e,value:t,onChange:b=>{o(b.target.value),m(null)},onBlur:s,required:i,"aria-invalid":l,className:ee("flex w-full rounded-md border border-input bg-background px-3 py-2","text-xs font-mono leading-relaxed","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","resize-none min-h-[80px] max-h-[400px]",l&&"border-destructive")}),u&&a.jsx("p",{className:"text-xs text-destructive",children:u})]})}function oC({name:e,label:n,value:t}){const r=t?Math.ceil(t.length*3/4):0,o=r<1024?`${r} bytes`:r<1024*1024?`${(r/1024).toFixed(1)} KB`:`${(r/(1024*1024)).toFixed(1)} MB`,s=t?t.slice(0,256)+(t.length>256?"...":""):"(empty)";return a.jsxs("div",{className:"grid gap-2",children:[a.jsxs(Mn,{htmlFor:e,className:"flex items-center gap-1.5",children:[a.jsx(Rr,{className:"size-3.5 text-muted-foreground"}),n,a.jsxs("span",{className:"text-xs text-muted-foreground font-normal ml-1",children:["(binary, ",o,")"]})]}),a.jsx("div",{className:"rounded-md border border-input bg-muted/30 p-3 max-h-[160px] overflow-auto",children:a.jsx("pre",{className:"text-xs font-mono text-muted-foreground break-all whitespace-pre-wrap",children:s})}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Binary fields are read-only in this editor."})]})}const Ki=["Boolean","Boolean!"],Mf=["DateTime","DateTime!"],sC=["Int","Int!","Float","Float!"],Yi={filterText:"",variables:{},params:[]};function iC(e,n){return M.useMemo(()=>{const t=e?.data?.find(l=>l.graphQlName==n),o=t.columns.filter(l=>!l.isReadOnly&&!l.isIdentity).map(l=>{const c=t.singleJoins.find(f=>f.sourceColumnNames[0]===l.graphQlName);if(c)return{column:l,join:c,fkRole:Sn(c)?"anchor-composite":"anchor-single"};const d=t.singleJoins.find(f=>(f.sourceColumnNames??[]).includes(l.graphQlName));return d?{column:l,join:d,fkRole:"member-composite"}:{column:l,fkRole:"none"}}),s=new Map(t.columns.map(l=>[l.name,l])),i=(t.primaryKeys??[]).map(l=>s.get(l)).filter(l=>!!l);return[t,o,i]},[e,n])}function aC({table:e,schema:n,editid:t,onClose:r}){const o=Be(),s=t===void 0||t==="",[i,l,c]=iC(n,e),d=i.labelColumn,f=i.label,u=Wi(i,l,c,t),m=M.useMemo(()=>{if(s)return Yi;const w=ji(t,i);return w?Bd(w,i)??Yi:Yi},[s,t,i]),p=M.useMemo(()=>{const w=m.params.length>0?m.params.join(", "):"";return`query GetSingleEdit_${i.name}(${w}){
136
- value: ${i.name}(filter: ${m.filterText||"{}"}) {
137
- data { ${l.map(({column:k})=>k.name).join(" ")} }
102
+ `).trim();o(w)}catch{h("Could not format XML")}},k=()=>{if(h(null),p==="json")try{o(JSON.stringify(JSON.parse(r)))}catch{h("Invalid JSON")}else p==="xml"&&o(r.replace(/\n\s*/g,"").trim())},$=p==="json"||p==="xml";return t.jsxs("div",{className:"grid gap-1",children:[$&&t.jsxs("div",{className:"flex items-center gap-1 justify-end",children:[t.jsxs(W,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:b,children:[t.jsx(N.WrapText,{className:"size-3"}),"Format"]}),t.jsx(W,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:k,children:"Minify"})]}),t.jsx("textarea",{ref:x,id:e,value:r,onChange:w=>{o(w.target.value),h(null)},onBlur:i,required:a,"aria-invalid":l,className:H("flex w-full rounded-md border border-input bg-background px-3 py-2","text-xs font-mono leading-relaxed","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","resize-none min-h-[80px] max-h-[400px]",l&&"border-destructive")}),m&&t.jsx("p",{className:"text-xs text-destructive",children:m})]})}function yl({name:e,label:n,value:r}){const s=r?Math.ceil(r.length*3/4):0,o=s<1024?`${s} bytes`:s<1024*1024?`${(s/1024).toFixed(1)} KB`:`${(s/(1024*1024)).toFixed(1)} MB`,i=r?r.slice(0,256)+(r.length>256?"...":""):"(empty)";return t.jsxs("div",{className:"grid gap-2",children:[t.jsxs(ct,{htmlFor:e,className:"flex items-center gap-1.5",children:[t.jsx(N.Binary,{className:"size-3.5 text-muted-foreground"}),n,t.jsxs("span",{className:"text-xs text-muted-foreground font-normal ml-1",children:["(binary, ",o,")"]})]}),t.jsx("div",{className:"rounded-md border border-input bg-muted/30 p-3 max-h-[160px] overflow-auto",children:t.jsx("pre",{className:"text-xs font-mono text-muted-foreground break-all whitespace-pre-wrap",children:i})}),t.jsx("p",{className:"text-xs text-muted-foreground",children:"Binary fields are read-only in this editor."})]})}const Pn=["Boolean","Boolean!"],vl=["Int","Int!","Float","Float!"],nt="__none__";function vs(e,n){return e==null||e===""?n?nt:"":String(e)}function At(e,n){const r=({value:s})=>fl(e,s,n);return{onSubmit:r,onBlur:r}}function qt(e,n){const r=e.state.meta.errors.length>0;return{hasError:r,ariaProps:{"aria-invalid":r,"aria-describedby":r?n:void 0}}}function js(e){return bt(e.dbType)||Ft(e.dbType)||lt(e)}const Ns={filterText:"",variables:{},params:[]};function jl(e,n){return c.useMemo(()=>{const r=e?.data?.find(l=>l.graphQlName===n),o=r.columns.filter(l=>!l.isReadOnly&&!l.isIdentity).map(l=>{const u=r.singleJoins.find(p=>p.sourceColumnNames[0]===l.graphQlName);if(u)return{column:l,join:u,fkRole:it(u)?"anchor-composite":"anchor-single"};const d=r.singleJoins.find(p=>(p.sourceColumnNames??[]).includes(l.graphQlName));return d?{column:l,join:d,fkRole:"member-composite"}:{column:l,fkRole:"none"}}),i=new Map(r.columns.map(l=>[l.name,l])),a=(r.primaryKeys??[]).map(l=>i.get(l)).filter(l=>!!l);return[r,o,a]},[e,n])}function Nl({table:e,schema:n,editid:r,onClose:s}){const o=Ce(),i=r===void 0||r==="",[a,l,u]=jl(n,e),d=a.labelColumn,p=a.label,m=sn(a,l,u,r),h=c.useMemo(()=>i?null:jn(r,a),[i,r,a]),x=c.useMemo(()=>i||!h?Ns:yn(h,a)??Ns,[i,h,a]),g=!i&&x.filterText==="",b=c.useMemo(()=>{const z=x.params.length>0?x.params.join(", "):"";return`query GetSingleEdit_${a.name}(${z}){
103
+ value: ${a.name}(filter: ${x.filterText||"{}"}) {
104
+ data { ${l.map(({column:I})=>I.name).join(" ")} }
138
105
  }
139
- }`},[i,l,m]),{isLoading:h,error:g,data:v}=je.useQuery({queryKey:["editRecord",i.name,t],queryFn:()=>o.query(p,m.variables),enabled:!!i&&!s&&m.filterText!==""}),y=M.useMemo(()=>v?.value?.data?.at(0)??{},[v]),b=M.useMemo(()=>{const w={};for(const{column:k}of l)if(Mf.some(R=>R===k.paramType)){const R=y[k.name]?.split("T")?.[0];w[k.name]=R==="0001-01-01"?"":R??""}else Ki.some(R=>R===k.paramType)?w[k.name]=!!y[k.name]:w[k.name]=y[k.name]??"";return w},[y,l]),S=HS({defaultValues:b,onSubmit:async({value:w})=>{await(s?u.insert:u.update)({...w}),r()}});if(h&&!s)return null;if(g)return a.jsxs("div",{children:["Error: ",g.message]});const _=y?.[d]??t,E=l.filter(({column:w})=>Ki.some(k=>k===w.paramType)),C=l.filter(({column:w})=>sr(w.dbType)||No(w.dbType)),N=l.filter(({column:w})=>!Ki.some(k=>k===w.paramType)&&!sr(w.dbType)&&!No(w.dbType));return a.jsx(xr,{open:!0,onOpenChange:w=>{w||r()},children:a.jsxs(br,{showCloseButton:!1,className:"sm:max-w-2xl max-h-[90vh] flex flex-col gap-0 p-0 overflow-hidden",children:[a.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border bg-muted/30 shrink-0",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx(yr,{className:"text-sm font-semibold truncate",children:s?`New ${f}`:`${f} : ${_}`}),a.jsxs(Go,{className:"sr-only",children:[s?"Create":"Edit"," ",f," record"]})]}),a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:r,"aria-label":"Close",className:"shrink-0 -mr-1",children:a.jsx(Ae,{className:"size-4"})})]}),u.error&&a.jsxs("div",{className:"flex items-center gap-2 px-5 py-2 bg-destructive/10 border-b border-destructive/20 text-destructive text-sm shrink-0",children:[a.jsx(ds,{className:"size-3.5 shrink-0"}),a.jsx("span",{className:"truncate",children:u.error.message})]}),a.jsxs("form",{onSubmit:w=>{w.preventDefault(),w.stopPropagation(),S.handleSubmit()},className:"flex flex-col flex-1 min-h-0",children:[a.jsxs("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:[N.length>0&&a.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-3",children:N.map(({column:w,join:k,fkRole:R})=>a.jsx(uC,{column:w,join:k,fkRole:R,form:S,schema:n},w.name))}),E.length>0&&a.jsx("div",{className:N.length>0?"mt-4 pt-4 border-t border-border":"",children:a.jsx("div",{className:"flex flex-wrap gap-x-6 gap-y-2",children:E.map(({column:w})=>a.jsx(fC,{column:w,form:S},w.name))})}),C.length>0&&a.jsx("div",{className:N.length>0||E.length>0?"mt-4 pt-4 border-t border-border":"",children:a.jsx("div",{className:"grid gap-3",children:C.map(({column:w})=>a.jsx(mC,{column:w,form:S},w.name))})})]}),a.jsxs("div",{className:"flex items-center justify-end gap-2 px-5 py-3 border-t border-border bg-muted/30 shrink-0",children:[a.jsx(X,{variant:"outline",size:"sm",onClick:r,children:"Cancel"}),a.jsxs(X,{type:"submit",size:"sm",disabled:u.isPending,children:[u.isPending?a.jsx(vt,{className:"size-3.5 animate-spin"}):a.jsx(Sp,{className:"size-3.5"}),s?"Create":"Save"]})]})]})]})})}function Ho(){const{table:e,editid:n}=as(),t=Nr();return e?a.jsx(jf,{table:e,editid:n??"",onClose:()=>t("../..")}):a.jsx("div",{children:"Table missing"})}function jf({table:e,editid:n,onClose:t}){const r=Ge();return e?r.loading?a.jsx("div",{children:"Loading..."}):r.error?a.jsxs("div",{children:["Error: ",r.error.message]}):a.jsx(aC,{table:e,schema:r,editid:n,onClose:t}):a.jsx("div",{children:"Table missing"})}function lC({current:e,max:n}){const t=n-e,r=t<=10&&t>0,o=t<=0;return a.jsx("div",{className:"text-xs text-right mt-0.5","aria-live":"polite",children:a.jsxs("span",{className:o?"text-destructive font-medium":r?"text-amber-500":"text-muted-foreground",children:[e,"/",n]})})}function cC({min:e,max:n,step:t}){if(e===void 0&&n===void 0)return null;let r="";return e!=null&&n!==void 0&&n!==null?r=`Range: ${e} to ${n}`:e!=null?r=`Min: ${e}`:n!=null&&(r=`Max: ${n}`),t!=null&&t!==1&&(r+=` (step: ${t})`),a.jsx("div",{className:"text-xs text-muted-foreground mt-0.5","aria-live":"polite",children:r})}function uC({column:e,join:n,fkRole:t,form:r,schema:o}){const s=e.name,i=!e.isNullable;if(t==="member-composite")return null;const l=Mf.some(m=>m===e.paramType),c=sC.some(m=>m===e.paramType),d=e.maxLength&&e.maxLength>0&&!l&&!c;if(e.enumValues&&e.enumValues.length>0)return a.jsx(dC,{column:e,form:r,isRequired:i});if(n&&o)return t==="anchor-composite"?a.jsx(hC,{column:e,join:n,form:r,schema:o,isRequired:i}):a.jsx(pC,{column:e,join:n,form:r,schema:o,isRequired:i});const f=e.inputType||(l?"date":c?"number":"text"),u={onSubmit:({value:m})=>eC(e,m,i)};return a.jsx(r.Field,{name:s,validators:u,children:m=>a.jsxs("div",{className:"grid gap-1",children:[a.jsxs(Mn,{htmlFor:s,className:"text-xs text-muted-foreground",children:[e.label,i&&a.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),a.jsx(He,{id:s,type:f,value:m.state.value??"",onChange:p=>m.handleChange(p.target.value),onBlur:m.handleBlur,required:i,maxLength:e.maxLength,minLength:e.minLength,min:e.min,max:e.max,step:e.step,pattern:e.pattern,title:e.patternMessage,"aria-invalid":m.state.meta.errors.length>0,className:"h-8 text-sm"}),d&&a.jsx(lC,{current:String(m.state.value??"").length,max:e.maxLength}),c&&(e.min!==void 0||e.max!==void 0)&&a.jsx(cC,{min:e.min,max:e.max,step:e.step}),a.jsx(qo,{errors:m.state.meta.errors})]})})}function dC({column:e,form:n,isRequired:t}){const r=e.name,o=e.enumValues||[],s=e.enumLabels&&e.enumLabels.length===o.length?e.enumLabels:o;return a.jsx(n.Field,{name:r,validators:t?{onSubmit:({value:i})=>{if(i==null||i==="")return`${e.label} is required`}}:void 0,children:i=>a.jsxs("div",{className:"grid gap-1",children:[a.jsxs(Mn,{htmlFor:r,className:"text-xs text-muted-foreground",children:[e.label,t&&a.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),a.jsxs(dt,{value:String(i.state.value??""),onValueChange:l=>i.handleChange(l),children:[a.jsx(mt,{id:r,className:"w-full h-8 text-sm","aria-invalid":i.state.meta.errors.length>0,children:a.jsx(ft,{placeholder:`Select ${e.label}`})}),a.jsx(pt,{children:o.map((l,c)=>a.jsx(Ue,{value:l,children:s[c]||l},l))})]}),a.jsx(qo,{errors:i.state.meta.errors})]})})}function fC({column:e,form:n}){const t=e.name;return a.jsx(n.Field,{name:t,children:r=>a.jsxs("label",{htmlFor:t,className:"flex items-center gap-2 cursor-pointer select-none",children:[a.jsx(Ui,{id:t,checked:!!r.state.value,onCheckedChange:o=>r.handleChange(!!o),onBlur:r.handleBlur}),a.jsx("span",{className:"text-sm",children:e.label})]})})}function mC({column:e,form:n}){const t=e.name,r=!e.isNullable;return a.jsx(n.Field,{name:t,validators:r?{onSubmit:({value:o})=>{if(o==null||o==="")return`${e.label} is required`}}:void 0,children:o=>a.jsxs("div",{className:"grid gap-1",children:[a.jsxs(Mn,{htmlFor:t,className:"text-xs text-muted-foreground",children:[e.label,r&&a.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),a.jsx(rC,{name:t,label:e.label,value:String(o.state.value??""),dbType:e.dbType,onChange:s=>o.handleChange(s),onBlur:o.handleBlur,required:r,invalid:o.state.meta.errors.length>0}),a.jsx(qo,{errors:o.state.meta.errors})]})})}function pC({column:e,join:n,form:t,schema:r,isRequired:o}){const s=e.name,i=qS(r,n.destinationTable,n.destinationColumnNames[0]);return a.jsx(t.Field,{name:s,validators:o?{onSubmit:({value:l})=>{if(l==null||l==="")return`${e.label} is required`}}:void 0,children:l=>a.jsxs("div",{className:"grid gap-1",children:[a.jsxs(Mn,{htmlFor:s,className:"text-xs text-muted-foreground",children:[e.label,o&&a.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),a.jsxs(dt,{value:String(l.state.value??""),onValueChange:c=>l.handleChange(c),children:[a.jsx(mt,{id:s,className:"w-full h-8 text-sm","aria-invalid":l.state.meta.errors.length>0,children:a.jsx(ft,{placeholder:`Select ${e.label}`})}),a.jsx(pt,{children:i.data.map(c=>a.jsx(Ue,{value:String(c.key),children:c.label},c.key))})]}),a.jsx(qo,{errors:l.state.meta.errors})]})})}function hC({column:e,join:n,form:t,schema:r,isRequired:o}){const s=n.sourceColumnNames??[],i=n.destinationColumnNames??[],l=US(r,n.destinationTable,i),c=t.useStore(f=>{const u=[];for(const m of s){const p=f.values?.[m];if(p==null||p==="")return"";u.push(p)}return ir(u)}),d=f=>{const u=l.data.find(m=>m.route===f);if(u)for(let m=0;m<s.length;m++){const p=i[m],h=s[m];t.setFieldValue(h,u.values[p])}};return a.jsxs("div",{className:"grid gap-1 sm:col-span-2",children:[a.jsxs(Mn,{htmlFor:e.name,className:"text-xs text-muted-foreground",children:[e.label,o&&a.jsx("span",{className:"text-destructive ml-0.5",children:"*"}),a.jsxs("span",{className:"ml-2 px-1 rounded bg-primary/10 text-[10px] font-medium text-primary",children:["composite FK (",s.length," cols)"]})]}),a.jsxs(dt,{value:c,onValueChange:d,children:[a.jsx(mt,{id:e.name,className:"w-full h-8 text-sm",children:a.jsx(ft,{placeholder:`Select ${e.label}`})}),a.jsx(pt,{children:l.data.map(f=>a.jsx(Ue,{value:f.route,children:f.label},f.route))})]})]})}function qo({errors:e}){return e.length===0?null:a.jsx(a.Fragment,{children:e.map((n,t)=>a.jsx("p",{className:"text-xs text-destructive",children:String(n)},t))})}function Ot(e,n){return typeof e=="function"?e(n):e}function Le(e,n){return t=>{n.setState(r=>({...r,[e]:Ot(t,r[e])}))}}function Wo(e){return e instanceof Function}function gC(e){return Array.isArray(e)&&e.every(n=>typeof n=="number")}function vC(e,n){const t=[],r=o=>{o.forEach(s=>{t.push(s);const i=n(s);i!=null&&i.length&&r(i)})};return r(e),t}function te(e,n,t){let r=[],o;return s=>{let i;t.key&&t.debug&&(i=Date.now());const l=e(s);if(!(l.length!==r.length||l.some((f,u)=>r[u]!==f)))return o;r=l;let d;if(t.key&&t.debug&&(d=Date.now()),o=n(...l),t==null||t.onChange==null||t.onChange(o),t.key&&t.debug&&t!=null&&t.debug()){const f=Math.round((Date.now()-i)*100)/100,u=Math.round((Date.now()-d)*100)/100,m=u/16,p=(h,g)=>{for(h=String(h);h.length<g;)h=" "+h;return h};console.info(`%c⏱ ${p(u,5)} /${p(f,5)} ms`,`
140
- font-size: .6rem;
141
- font-weight: bold;
142
- color: hsl(${Math.max(0,Math.min(120-120*m,120))}deg 100% 31%);`,t?.key)}return o}}function ne(e,n,t,r){return{debug:()=>{var o;return(o=e?.debugAll)!=null?o:e[n]},key:process.env.NODE_ENV==="development"&&t,onChange:r}}function xC(e,n,t,r){const o=()=>{var i;return(i=s.getValue())!=null?i:e.options.renderFallbackValue},s={id:`${n.id}_${t.id}`,row:n,column:t,getValue:()=>n.getValue(r),renderValue:o,getContext:te(()=>[e,t,n,s],(i,l,c,d)=>({table:i,column:l,row:c,cell:d,getValue:d.getValue,renderValue:d.renderValue}),ne(e.options,"debugCells","cell.getContext"))};return e._features.forEach(i=>{i.createCell==null||i.createCell(s,t,n,e)},{}),s}function bC(e,n,t,r){var o,s;const l={...e._getDefaultColumnDef(),...n},c=l.accessorKey;let d=(o=(s=l.id)!=null?s:c?typeof String.prototype.replaceAll=="function"?c.replaceAll(".","_"):c.replace(/\./g,"_"):void 0)!=null?o:typeof l.header=="string"?l.header:void 0,f;if(l.accessorFn?f=l.accessorFn:c&&(c.includes(".")?f=m=>{let p=m;for(const g of c.split(".")){var h;p=(h=p)==null?void 0:h[g],process.env.NODE_ENV!=="production"&&p===void 0&&console.warn(`"${g}" in deeply nested key "${c}" returned undefined.`)}return p}:f=m=>m[l.accessorKey]),!d)throw process.env.NODE_ENV!=="production"?new Error(l.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let u={id:`${String(d)}`,accessorFn:f,parent:r,depth:t,columnDef:l,columns:[],getFlatColumns:te(()=>[!0],()=>{var m;return[u,...(m=u.columns)==null?void 0:m.flatMap(p=>p.getFlatColumns())]},ne(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:te(()=>[e._getOrderColumnsFn()],m=>{var p;if((p=u.columns)!=null&&p.length){let h=u.columns.flatMap(g=>g.getLeafColumns());return m(h)}return[u]},ne(e.options,"debugColumns","column.getLeafColumns"))};for(const m of e._features)m.createColumn==null||m.createColumn(u,e);return u}const Te="debugHeaders";function Ef(e,n,t){var r;let s={id:(r=t.id)!=null?r:n.id,column:n,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const i=[],l=c=>{c.subHeaders&&c.subHeaders.length&&c.subHeaders.map(l),i.push(c)};return l(s),i},getContext:()=>({table:e,header:s,column:n})};return e._features.forEach(i=>{i.createHeader==null||i.createHeader(s,e)}),s}const yC={createTable:e=>{e.getHeaderGroups=te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,r,o)=>{var s,i;const l=(s=r?.map(u=>t.find(m=>m.id===u)).filter(Boolean))!=null?s:[],c=(i=o?.map(u=>t.find(m=>m.id===u)).filter(Boolean))!=null?i:[],d=t.filter(u=>!(r!=null&&r.includes(u.id))&&!(o!=null&&o.includes(u.id)));return Uo(n,[...l,...d,...c],e)},ne(e.options,Te,"getHeaderGroups")),e.getCenterHeaderGroups=te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,r,o)=>(t=t.filter(s=>!(r!=null&&r.includes(s.id))&&!(o!=null&&o.includes(s.id))),Uo(n,t,e,"center")),ne(e.options,Te,"getCenterHeaderGroups")),e.getLeftHeaderGroups=te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,t,r)=>{var o;const s=(o=r?.map(i=>t.find(l=>l.id===i)).filter(Boolean))!=null?o:[];return Uo(n,s,e,"left")},ne(e.options,Te,"getLeftHeaderGroups")),e.getRightHeaderGroups=te(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,t,r)=>{var o;const s=(o=r?.map(i=>t.find(l=>l.id===i)).filter(Boolean))!=null?o:[];return Uo(n,s,e,"right")},ne(e.options,Te,"getRightHeaderGroups")),e.getFooterGroups=te(()=>[e.getHeaderGroups()],n=>[...n].reverse(),ne(e.options,Te,"getFooterGroups")),e.getLeftFooterGroups=te(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),ne(e.options,Te,"getLeftFooterGroups")),e.getCenterFooterGroups=te(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),ne(e.options,Te,"getCenterFooterGroups")),e.getRightFooterGroups=te(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),ne(e.options,Te,"getRightFooterGroups")),e.getFlatHeaders=te(()=>[e.getHeaderGroups()],n=>n.map(t=>t.headers).flat(),ne(e.options,Te,"getFlatHeaders")),e.getLeftFlatHeaders=te(()=>[e.getLeftHeaderGroups()],n=>n.map(t=>t.headers).flat(),ne(e.options,Te,"getLeftFlatHeaders")),e.getCenterFlatHeaders=te(()=>[e.getCenterHeaderGroups()],n=>n.map(t=>t.headers).flat(),ne(e.options,Te,"getCenterFlatHeaders")),e.getRightFlatHeaders=te(()=>[e.getRightHeaderGroups()],n=>n.map(t=>t.headers).flat(),ne(e.options,Te,"getRightFlatHeaders")),e.getCenterLeafHeaders=te(()=>[e.getCenterFlatHeaders()],n=>n.filter(t=>{var r;return!((r=t.subHeaders)!=null&&r.length)}),ne(e.options,Te,"getCenterLeafHeaders")),e.getLeftLeafHeaders=te(()=>[e.getLeftFlatHeaders()],n=>n.filter(t=>{var r;return!((r=t.subHeaders)!=null&&r.length)}),ne(e.options,Te,"getLeftLeafHeaders")),e.getRightLeafHeaders=te(()=>[e.getRightFlatHeaders()],n=>n.filter(t=>{var r;return!((r=t.subHeaders)!=null&&r.length)}),ne(e.options,Te,"getRightLeafHeaders")),e.getLeafHeaders=te(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,t,r)=>{var o,s,i,l,c,d;return[...(o=(s=n[0])==null?void 0:s.headers)!=null?o:[],...(i=(l=t[0])==null?void 0:l.headers)!=null?i:[],...(c=(d=r[0])==null?void 0:d.headers)!=null?c:[]].map(f=>f.getLeafHeaders()).flat()},ne(e.options,Te,"getLeafHeaders"))}};function Uo(e,n,t,r){var o,s;let i=0;const l=function(m,p){p===void 0&&(p=1),i=Math.max(i,p),m.filter(h=>h.getIsVisible()).forEach(h=>{var g;(g=h.columns)!=null&&g.length&&l(h.columns,p+1)},0)};l(e);let c=[];const d=(m,p)=>{const h={depth:p,id:[r,`${p}`].filter(Boolean).join("_"),headers:[]},g=[];m.forEach(v=>{const y=[...g].reverse()[0],b=v.column.depth===h.depth;let S,_=!1;if(b&&v.column.parent?S=v.column.parent:(S=v.column,_=!0),y&&y?.column===S)y.subHeaders.push(v);else{const E=Ef(t,S,{id:[r,p,S.id,v?.id].filter(Boolean).join("_"),isPlaceholder:_,placeholderId:_?`${g.filter(C=>C.column===S).length}`:void 0,depth:p,index:g.length});E.subHeaders.push(v),g.push(E)}h.headers.push(v),v.headerGroup=h}),c.push(h),p>0&&d(g,p-1)},f=n.map((m,p)=>Ef(t,m,{depth:i,index:p}));d(f,i-1),c.reverse();const u=m=>m.filter(h=>h.column.getIsVisible()).map(h=>{let g=0,v=0,y=[0];h.subHeaders&&h.subHeaders.length?(y=[],u(h.subHeaders).forEach(S=>{let{colSpan:_,rowSpan:E}=S;g+=_,y.push(E)})):g=1;const b=Math.min(...y);return v=v+b,h.colSpan=g,h.rowSpan=v,{colSpan:g,rowSpan:v}});return u((o=(s=c[0])==null?void 0:s.headers)!=null?o:[]),c}const wC=(e,n,t,r,o,s,i)=>{let l={id:n,index:r,original:t,depth:o,parentId:i,_valuesCache:{},_uniqueValuesCache:{},getValue:c=>{if(l._valuesCache.hasOwnProperty(c))return l._valuesCache[c];const d=e.getColumn(c);if(d!=null&&d.accessorFn)return l._valuesCache[c]=d.accessorFn(l.original,r),l._valuesCache[c]},getUniqueValues:c=>{if(l._uniqueValuesCache.hasOwnProperty(c))return l._uniqueValuesCache[c];const d=e.getColumn(c);if(d!=null&&d.accessorFn)return d.columnDef.getUniqueValues?(l._uniqueValuesCache[c]=d.columnDef.getUniqueValues(l.original,r),l._uniqueValuesCache[c]):(l._uniqueValuesCache[c]=[l.getValue(c)],l._uniqueValuesCache[c])},renderValue:c=>{var d;return(d=l.getValue(c))!=null?d:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>vC(l.subRows,c=>c.subRows),getParentRow:()=>l.parentId?e.getRow(l.parentId,!0):void 0,getParentRows:()=>{let c=[],d=l;for(;;){const f=d.getParentRow();if(!f)break;c.push(f),d=f}return c.reverse()},getAllCells:te(()=>[e.getAllLeafColumns()],c=>c.map(d=>xC(e,l,d,d.id)),ne(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:te(()=>[l.getAllCells()],c=>c.reduce((d,f)=>(d[f.column.id]=f,d),{}),ne(e.options,"debugRows","getAllCellsByColumnId"))};for(let c=0;c<e._features.length;c++){const d=e._features[c];d==null||d.createRow==null||d.createRow(l,e)}return l},SC={createColumn:(e,n)=>{e._getFacetedRowModel=n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),e._getFacetedUniqueValues=n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},Nf=(e,n,t)=>{var r,o;const s=t==null||(r=t.toString())==null?void 0:r.toLowerCase();return!!(!((o=e.getValue(n))==null||(o=o.toString())==null||(o=o.toLowerCase())==null)&&o.includes(s))};Nf.autoRemove=e=>nt(e);const kf=(e,n,t)=>{var r;return!!(!((r=e.getValue(n))==null||(r=r.toString())==null)&&r.includes(t))};kf.autoRemove=e=>nt(e);const Rf=(e,n,t)=>{var r;return((r=e.getValue(n))==null||(r=r.toString())==null?void 0:r.toLowerCase())===t?.toLowerCase()};Rf.autoRemove=e=>nt(e);const Tf=(e,n,t)=>{var r;return(r=e.getValue(n))==null?void 0:r.includes(t)};Tf.autoRemove=e=>nt(e);const Ff=(e,n,t)=>!t.some(r=>{var o;return!((o=e.getValue(n))!=null&&o.includes(r))});Ff.autoRemove=e=>nt(e)||!(e!=null&&e.length);const Pf=(e,n,t)=>t.some(r=>{var o;return(o=e.getValue(n))==null?void 0:o.includes(r)});Pf.autoRemove=e=>nt(e)||!(e!=null&&e.length);const If=(e,n,t)=>e.getValue(n)===t;If.autoRemove=e=>nt(e);const Af=(e,n,t)=>e.getValue(n)==t;Af.autoRemove=e=>nt(e);const Ji=(e,n,t)=>{let[r,o]=t;const s=e.getValue(n);return s>=r&&s<=o};Ji.resolveFilterValue=e=>{let[n,t]=e,r=typeof n!="number"?parseFloat(n):n,o=typeof t!="number"?parseFloat(t):t,s=n===null||Number.isNaN(r)?-1/0:r,i=t===null||Number.isNaN(o)?1/0:o;if(s>i){const l=s;s=i,i=l}return[s,i]},Ji.autoRemove=e=>nt(e)||nt(e[0])&&nt(e[1]);const _t={includesString:Nf,includesStringSensitive:kf,equalsString:Rf,arrIncludes:Tf,arrIncludesAll:Ff,arrIncludesSome:Pf,equals:If,weakEquals:Af,inNumberRange:Ji};function nt(e){return e==null||e===""}const CC={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:Le("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,n)=>{e.getAutoFilterFn=()=>{const t=n.getCoreRowModel().flatRows[0],r=t?.getValue(e.id);return typeof r=="string"?_t.includesString:typeof r=="number"?_t.inNumberRange:typeof r=="boolean"||r!==null&&typeof r=="object"?_t.equals:Array.isArray(r)?_t.arrIncludes:_t.weakEquals},e.getFilterFn=()=>{var t,r;return Wo(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(r=n.options.filterFns)==null?void 0:r[e.columnDef.filterFn])!=null?t:_t[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,r,o;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((r=n.options.enableColumnFilters)!=null?r:!0)&&((o=n.options.enableFilters)!=null?o:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=n.getState().columnFilters)==null||(t=t.find(r=>r.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,r;return(t=(r=n.getState().columnFilters)==null?void 0:r.findIndex(o=>o.id===e.id))!=null?t:-1},e.setFilterValue=t=>{n.setColumnFilters(r=>{const o=e.getFilterFn(),s=r?.find(f=>f.id===e.id),i=Ot(t,s?s.value:void 0);if($f(o,i,e)){var l;return(l=r?.filter(f=>f.id!==e.id))!=null?l:[]}const c={id:e.id,value:i};if(s){var d;return(d=r?.map(f=>f.id===e.id?c:f))!=null?d:[]}return r!=null&&r.length?[...r,c]:[c]})}},createRow:(e,n)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=n=>{const t=e.getAllLeafColumns(),r=o=>{var s;return(s=Ot(n,o))==null?void 0:s.filter(i=>{const l=t.find(c=>c.id===i.id);if(l){const c=l.getFilterFn();if($f(c,i.value,l))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(r)},e.resetColumnFilters=n=>{var t,r;e.setColumnFilters(n?[]:(t=(r=e.initialState)==null?void 0:r.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function $f(e,n,t){return(e&&e.autoRemove?e.autoRemove(n,t):!1)||typeof n>"u"||typeof n=="string"&&!n}const Xi={sum:(e,n,t)=>t.reduce((r,o)=>{const s=o.getValue(e);return r+(typeof s=="number"?s:0)},0),min:(e,n,t)=>{let r;return t.forEach(o=>{const s=o.getValue(e);s!=null&&(r>s||r===void 0&&s>=s)&&(r=s)}),r},max:(e,n,t)=>{let r;return t.forEach(o=>{const s=o.getValue(e);s!=null&&(r<s||r===void 0&&s>=s)&&(r=s)}),r},extent:(e,n,t)=>{let r,o;return t.forEach(s=>{const i=s.getValue(e);i!=null&&(r===void 0?i>=i&&(r=o=i):(r>i&&(r=i),o<i&&(o=i)))}),[r,o]},mean:(e,n)=>{let t=0,r=0;if(n.forEach(o=>{let s=o.getValue(e);s!=null&&(s=+s)>=s&&(++t,r+=s)}),t)return r/t},median:(e,n)=>{if(!n.length)return;const t=n.map(s=>s.getValue(e));if(!gC(t))return;if(t.length===1)return t[0];const r=Math.floor(t.length/2),o=t.sort((s,i)=>s-i);return t.length%2!==0?o[r]:(o[r-1]+o[r])/2},unique:(e,n)=>Array.from(new Set(n.map(t=>t.getValue(e))).values()),uniqueCount:(e,n)=>new Set(n.map(t=>t.getValue(e))).size,count:(e,n)=>n.length},_C={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,t;return(n=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?n:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:Le("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,n)=>{e.toggleGrouping=()=>{n.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(r=>r!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,r;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((r=n.options.enableGrouping)!=null?r:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=n.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=n.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=n.getCoreRowModel().flatRows[0],r=t?.getValue(e.id);if(typeof r=="number")return Xi.sum;if(Object.prototype.toString.call(r)==="[object Date]")return Xi.extent},e.getAggregationFn=()=>{var t,r;if(!e)throw new Error;return Wo(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(r=n.options.aggregationFns)==null?void 0:r[e.columnDef.aggregationFn])!=null?t:Xi[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),e.resetGrouping=n=>{var t,r;e.setGrouping(n?[]:(t=(r=e.initialState)==null?void 0:r.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,n)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const r=n.getColumn(t);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[t]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,n,t,r)=>{e.getIsGrouped=()=>n.getIsGrouped()&&n.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&n.getIsGrouped(),e.getIsAggregated=()=>{var o;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((o=t.subRows)!=null&&o.length)}}};function MC(e,n,t){if(!(n!=null&&n.length)||!t)return e;const r=e.filter(s=>!n.includes(s.id));return t==="remove"?r:[...n.map(s=>e.find(i=>i.id===s)).filter(Boolean),...r]}const jC={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:Le("columnOrder",e)}),createColumn:(e,n)=>{e.getIndex=te(t=>[wr(n,t)],t=>t.findIndex(r=>r.id===e.id),ne(n.options,"debugColumns","getIndex")),e.getIsFirstColumn=t=>{var r;return((r=wr(n,t)[0])==null?void 0:r.id)===e.id},e.getIsLastColumn=t=>{var r;const o=wr(n,t);return((r=o[o.length-1])==null?void 0:r.id)===e.id}},createTable:e=>{e.setColumnOrder=n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),e.resetColumnOrder=n=>{var t;e.setColumnOrder(n?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=te(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,t,r)=>o=>{let s=[];if(!(n!=null&&n.length))s=o;else{const i=[...n],l=[...o];for(;l.length&&i.length;){const c=i.shift(),d=l.findIndex(f=>f.id===c);d>-1&&s.push(l.splice(d,1)[0])}s=[...s,...l]}return MC(s,t,r)},ne(e.options,"debugTable","_getOrderColumnsFn"))}},Qi=()=>({left:[],right:[]}),EC={getInitialState:e=>({columnPinning:Qi(),...e}),getDefaultOptions:e=>({onColumnPinningChange:Le("columnPinning",e)}),createColumn:(e,n)=>{e.pin=t=>{const r=e.getLeafColumns().map(o=>o.id).filter(Boolean);n.setColumnPinning(o=>{var s,i;if(t==="right"){var l,c;return{left:((l=o?.left)!=null?l:[]).filter(u=>!(r!=null&&r.includes(u))),right:[...((c=o?.right)!=null?c:[]).filter(u=>!(r!=null&&r.includes(u))),...r]}}if(t==="left"){var d,f;return{left:[...((d=o?.left)!=null?d:[]).filter(u=>!(r!=null&&r.includes(u))),...r],right:((f=o?.right)!=null?f:[]).filter(u=>!(r!=null&&r.includes(u)))}}return{left:((s=o?.left)!=null?s:[]).filter(u=>!(r!=null&&r.includes(u))),right:((i=o?.right)!=null?i:[]).filter(u=>!(r!=null&&r.includes(u)))}})},e.getCanPin=()=>e.getLeafColumns().some(r=>{var o,s,i;return((o=r.columnDef.enablePinning)!=null?o:!0)&&((s=(i=n.options.enableColumnPinning)!=null?i:n.options.enablePinning)!=null?s:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(l=>l.id),{left:r,right:o}=n.getState().columnPinning,s=t.some(l=>r?.includes(l)),i=t.some(l=>o?.includes(l));return s?"left":i?"right":!1},e.getPinnedIndex=()=>{var t,r;const o=e.getIsPinned();return o?(t=(r=n.getState().columnPinning)==null||(r=r[o])==null?void 0:r.indexOf(e.id))!=null?t:-1:0}},createRow:(e,n)=>{e.getCenterVisibleCells=te(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(t,r,o)=>{const s=[...r??[],...o??[]];return t.filter(i=>!s.includes(i.column.id))},ne(n.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=te(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left],(t,r)=>(r??[]).map(s=>t.find(i=>i.column.id===s)).filter(Boolean).map(s=>({...s,position:"left"})),ne(n.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=te(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(t,r)=>(r??[]).map(s=>t.find(i=>i.column.id===s)).filter(Boolean).map(s=>({...s,position:"right"})),ne(n.options,"debugRows","getRightVisibleCells"))},createTable:e=>{e.setColumnPinning=n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),e.resetColumnPinning=n=>{var t,r;return e.setColumnPinning(n?Qi():(t=(r=e.initialState)==null?void 0:r.columnPinning)!=null?t:Qi())},e.getIsSomeColumnsPinned=n=>{var t;const r=e.getState().columnPinning;if(!n){var o,s;return!!((o=r.left)!=null&&o.length||(s=r.right)!=null&&s.length)}return!!((t=r[n])!=null&&t.length)},e.getLeftLeafColumns=te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,t)=>(t??[]).map(r=>n.find(o=>o.id===r)).filter(Boolean),ne(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,t)=>(t??[]).map(r=>n.find(o=>o.id===r)).filter(Boolean),ne(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=te(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,r)=>{const o=[...t??[],...r??[]];return n.filter(s=>!o.includes(s.id))},ne(e.options,"debugColumns","getCenterLeafColumns"))}};function NC(e){return e||(typeof document<"u"?document:null)}const Ko={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Zi=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),kC={getDefaultColumnDef:()=>Ko,getInitialState:e=>({columnSizing:{},columnSizingInfo:Zi(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:Le("columnSizing",e),onColumnSizingInfoChange:Le("columnSizingInfo",e)}),createColumn:(e,n)=>{e.getSize=()=>{var t,r,o;const s=n.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:Ko.minSize,(r=s??e.columnDef.size)!=null?r:Ko.size),(o=e.columnDef.maxSize)!=null?o:Ko.maxSize)},e.getStart=te(t=>[t,wr(n,t),n.getState().columnSizing],(t,r)=>r.slice(0,e.getIndex(t)).reduce((o,s)=>o+s.getSize(),0),ne(n.options,"debugColumns","getStart")),e.getAfter=te(t=>[t,wr(n,t),n.getState().columnSizing],(t,r)=>r.slice(e.getIndex(t)+1).reduce((o,s)=>o+s.getSize(),0),ne(n.options,"debugColumns","getAfter")),e.resetSize=()=>{n.setColumnSizing(t=>{let{[e.id]:r,...o}=t;return o})},e.getCanResize=()=>{var t,r;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((r=n.options.enableColumnResizing)!=null?r:!0)},e.getIsResizing=()=>n.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,n)=>{e.getSize=()=>{let t=0;const r=o=>{if(o.subHeaders.length)o.subHeaders.forEach(r);else{var s;t+=(s=o.column.getSize())!=null?s:0}};return r(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const r=n.getColumn(e.column.id),o=r?.getCanResize();return s=>{if(!r||!o||(s.persist==null||s.persist(),ea(s)&&s.touches&&s.touches.length>1))return;const i=e.getSize(),l=e?e.getLeafHeaders().map(y=>[y.column.id,y.column.getSize()]):[[r.id,r.getSize()]],c=ea(s)?Math.round(s.touches[0].clientX):s.clientX,d={},f=(y,b)=>{typeof b=="number"&&(n.setColumnSizingInfo(S=>{var _,E;const C=n.options.columnResizeDirection==="rtl"?-1:1,N=(b-((_=S?.startOffset)!=null?_:0))*C,w=Math.max(N/((E=S?.startSize)!=null?E:0),-.999999);return S.columnSizingStart.forEach(k=>{let[R,F]=k;d[R]=Math.round(Math.max(F+F*w,0)*100)/100}),{...S,deltaOffset:N,deltaPercentage:w}}),(n.options.columnResizeMode==="onChange"||y==="end")&&n.setColumnSizing(S=>({...S,...d})))},u=y=>f("move",y),m=y=>{f("end",y),n.setColumnSizingInfo(b=>({...b,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=NC(t),h={moveHandler:y=>u(y.clientX),upHandler:y=>{p?.removeEventListener("mousemove",h.moveHandler),p?.removeEventListener("mouseup",h.upHandler),m(y.clientX)}},g={moveHandler:y=>(y.cancelable&&(y.preventDefault(),y.stopPropagation()),u(y.touches[0].clientX),!1),upHandler:y=>{var b;p?.removeEventListener("touchmove",g.moveHandler),p?.removeEventListener("touchend",g.upHandler),y.cancelable&&(y.preventDefault(),y.stopPropagation()),m((b=y.touches[0])==null?void 0:b.clientX)}},v=RC()?{passive:!1}:!1;ea(s)?(p?.addEventListener("touchmove",g.moveHandler,v),p?.addEventListener("touchend",g.upHandler,v)):(p?.addEventListener("mousemove",h.moveHandler,v),p?.addEventListener("mouseup",h.upHandler,v)),n.setColumnSizingInfo(y=>({...y,startOffset:c,startSize:i,deltaOffset:0,deltaPercentage:0,columnSizingStart:l,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),e.setColumnSizingInfo=n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),e.resetColumnSizing=n=>{var t;e.setColumnSizing(n?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=n=>{var t;e.setColumnSizingInfo(n?Zi():(t=e.initialState.columnSizingInfo)!=null?t:Zi())},e.getTotalSize=()=>{var n,t;return(n=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((r,o)=>r+o.getSize(),0))!=null?n:0},e.getLeftTotalSize=()=>{var n,t;return(n=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((r,o)=>r+o.getSize(),0))!=null?n:0},e.getCenterTotalSize=()=>{var n,t;return(n=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((r,o)=>r+o.getSize(),0))!=null?n:0},e.getRightTotalSize=()=>{var n,t;return(n=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((r,o)=>r+o.getSize(),0))!=null?n:0}}};let Yo=null;function RC(){if(typeof Yo=="boolean")return Yo;let e=!1;try{const n={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,n),window.removeEventListener("test",t)}catch{e=!1}return Yo=e,Yo}function ea(e){return e.type==="touchstart"}const TC={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:Le("columnVisibility",e)}),createColumn:(e,n)=>{e.toggleVisibility=t=>{e.getCanHide()&&n.setColumnVisibility(r=>({...r,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,r;const o=e.columns;return(t=o.length?o.some(s=>s.getIsVisible()):(r=n.getState().columnVisibility)==null?void 0:r[e.id])!=null?t:!0},e.getCanHide=()=>{var t,r;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((r=n.options.enableHiding)!=null?r:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,n)=>{e._getAllVisibleCells=te(()=>[e.getAllCells(),n.getState().columnVisibility],t=>t.filter(r=>r.column.getIsVisible()),ne(n.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=te(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,r,o)=>[...t,...r,...o],ne(n.options,"debugRows","getVisibleCells"))},createTable:e=>{const n=(t,r)=>te(()=>[r(),r().filter(o=>o.getIsVisible()).map(o=>o.id).join("_")],o=>o.filter(s=>s.getIsVisible==null?void 0:s.getIsVisible()),ne(e.options,"debugColumns",t));e.getVisibleFlatColumns=n("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=n("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=n("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=n("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=n("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var r;e.setColumnVisibility(t?{}:(r=e.initialState.columnVisibility)!=null?r:{})},e.toggleAllColumnsVisible=t=>{var r;t=(r=t)!=null?r:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((o,s)=>({...o,[s.id]:t||!(s.getCanHide!=null&&s.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var r;e.toggleAllColumnsVisible((r=t.target)==null?void 0:r.checked)}}};function wr(e,n){return n?n==="center"?e.getCenterVisibleLeafColumns():n==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const FC={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},PC={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:Le("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:n=>{var t;const r=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[n.id])==null?void 0:t.getValue();return typeof r=="string"||typeof r=="number"}}),createColumn:(e,n)=>{e.getCanGlobalFilter=()=>{var t,r,o,s;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((r=n.options.enableGlobalFilter)!=null?r:!0)&&((o=n.options.enableFilters)!=null?o:!0)&&((s=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?s:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>_t.includesString,e.getGlobalFilterFn=()=>{var n,t;const{globalFilterFn:r}=e.options;return Wo(r)?r:r==="auto"?e.getGlobalAutoFilterFn():(n=(t=e.options.filterFns)==null?void 0:t[r])!=null?n:_t[r]},e.setGlobalFilter=n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},e.resetGlobalFilter=n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)}}},IC={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:Le("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,t=!1;e._autoResetExpanded=()=>{var r,o;if(!n){e._queue(()=>{n=!0});return}if((r=(o=e.options.autoResetAll)!=null?o:e.options.autoResetExpanded)!=null?r:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=r=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(r),e.toggleAllRowsExpanded=r=>{r??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=r=>{var o,s;e.setExpanded(r?{}:(o=(s=e.initialState)==null?void 0:s.expanded)!=null?o:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(r=>r.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>r=>{r.persist==null||r.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const r=e.getState().expanded;return r===!0||Object.values(r).some(Boolean)},e.getIsAllRowsExpanded=()=>{const r=e.getState().expanded;return typeof r=="boolean"?r===!0:!(!Object.keys(r).length||e.getRowModel().flatRows.some(o=>!o.getIsExpanded()))},e.getExpandedDepth=()=>{let r=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(s=>{const i=s.split(".");r=Math.max(r,i.length)}),r},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,n)=>{e.toggleExpanded=t=>{n.setExpanded(r=>{var o;const s=r===!0?!0:!!(r!=null&&r[e.id]);let i={};if(r===!0?Object.keys(n.getRowModel().rowsById).forEach(l=>{i[l]=!0}):i=r,t=(o=t)!=null?o:!s,!s&&t)return{...i,[e.id]:!0};if(s&&!t){const{[e.id]:l,...c}=i;return c}return r})},e.getIsExpanded=()=>{var t;const r=n.getState().expanded;return!!((t=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?t:r===!0||r?.[e.id])},e.getCanExpand=()=>{var t,r,o;return(t=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?t:((r=n.options.enableExpanding)!=null?r:!0)&&!!((o=e.subRows)!=null&&o.length)},e.getIsAllParentsExpanded=()=>{let t=!0,r=e;for(;t&&r.parentId;)r=n.getRow(r.parentId,!0),t=r.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},ta=0,na=10,ra=()=>({pageIndex:ta,pageSize:na}),AC={getInitialState:e=>({...e,pagination:{...ra(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:Le("pagination",e)}),createTable:e=>{let n=!1,t=!1;e._autoResetPageIndex=()=>{var r,o;if(!n){e._queue(()=>{n=!0});return}if((r=(o=e.options.autoResetAll)!=null?o:e.options.autoResetPageIndex)!=null?r:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=r=>{const o=s=>Ot(r,s);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(o)},e.resetPagination=r=>{var o;e.setPagination(r?ra():(o=e.initialState.pagination)!=null?o:ra())},e.setPageIndex=r=>{e.setPagination(o=>{let s=Ot(r,o.pageIndex);const i=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return s=Math.max(0,Math.min(s,i)),{...o,pageIndex:s}})},e.resetPageIndex=r=>{var o,s;e.setPageIndex(r?ta:(o=(s=e.initialState)==null||(s=s.pagination)==null?void 0:s.pageIndex)!=null?o:ta)},e.resetPageSize=r=>{var o,s;e.setPageSize(r?na:(o=(s=e.initialState)==null||(s=s.pagination)==null?void 0:s.pageSize)!=null?o:na)},e.setPageSize=r=>{e.setPagination(o=>{const s=Math.max(1,Ot(r,o.pageSize)),i=o.pageSize*o.pageIndex,l=Math.floor(i/s);return{...o,pageIndex:l,pageSize:s}})},e.setPageCount=r=>e.setPagination(o=>{var s;let i=Ot(r,(s=e.options.pageCount)!=null?s:-1);return typeof i=="number"&&(i=Math.max(-1,i)),{...o,pageCount:i}}),e.getPageOptions=te(()=>[e.getPageCount()],r=>{let o=[];return r&&r>0&&(o=[...new Array(r)].fill(null).map((s,i)=>i)),o},ne(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:r}=e.getState().pagination,o=e.getPageCount();return o===-1?!0:o===0?!1:r<o-1},e.previousPage=()=>e.setPageIndex(r=>r-1),e.nextPage=()=>e.setPageIndex(r=>r+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var r;return(r=e.options.pageCount)!=null?r:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var r;return(r=e.options.rowCount)!=null?r:e.getPrePaginationRowModel().rows.length}}},oa=()=>({top:[],bottom:[]}),$C={getInitialState:e=>({rowPinning:oa(),...e}),getDefaultOptions:e=>({onRowPinningChange:Le("rowPinning",e)}),createRow:(e,n)=>{e.pin=(t,r,o)=>{const s=r?e.getLeafRows().map(c=>{let{id:d}=c;return d}):[],i=o?e.getParentRows().map(c=>{let{id:d}=c;return d}):[],l=new Set([...i,e.id,...s]);n.setRowPinning(c=>{var d,f;if(t==="bottom"){var u,m;return{top:((u=c?.top)!=null?u:[]).filter(g=>!(l!=null&&l.has(g))),bottom:[...((m=c?.bottom)!=null?m:[]).filter(g=>!(l!=null&&l.has(g))),...Array.from(l)]}}if(t==="top"){var p,h;return{top:[...((p=c?.top)!=null?p:[]).filter(g=>!(l!=null&&l.has(g))),...Array.from(l)],bottom:((h=c?.bottom)!=null?h:[]).filter(g=>!(l!=null&&l.has(g)))}}return{top:((d=c?.top)!=null?d:[]).filter(g=>!(l!=null&&l.has(g))),bottom:((f=c?.bottom)!=null?f:[]).filter(g=>!(l!=null&&l.has(g)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:r,enablePinning:o}=n.options;return typeof r=="function"?r(e):(t=r??o)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:r,bottom:o}=n.getState().rowPinning,s=t.some(l=>r?.includes(l)),i=t.some(l=>o?.includes(l));return s?"top":i?"bottom":!1},e.getPinnedIndex=()=>{var t,r;const o=e.getIsPinned();if(!o)return-1;const s=(t=o==="top"?n.getTopRows():n.getBottomRows())==null?void 0:t.map(i=>{let{id:l}=i;return l});return(r=s?.indexOf(e.id))!=null?r:-1}},createTable:e=>{e.setRowPinning=n=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(n),e.resetRowPinning=n=>{var t,r;return e.setRowPinning(n?oa():(t=(r=e.initialState)==null?void 0:r.rowPinning)!=null?t:oa())},e.getIsSomeRowsPinned=n=>{var t;const r=e.getState().rowPinning;if(!n){var o,s;return!!((o=r.top)!=null&&o.length||(s=r.bottom)!=null&&s.length)}return!!((t=r[n])!=null&&t.length)},e._getPinnedRows=(n,t,r)=>{var o;return((o=e.options.keepPinnedRows)==null||o?(t??[]).map(i=>{const l=e.getRow(i,!0);return l.getIsAllParentsExpanded()?l:null}):(t??[]).map(i=>n.find(l=>l.id===i))).filter(Boolean).map(i=>({...i,position:r}))},e.getTopRows=te(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(n,t)=>e._getPinnedRows(n,t,"top"),ne(e.options,"debugRows","getTopRows")),e.getBottomRows=te(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(n,t)=>e._getPinnedRows(n,t,"bottom"),ne(e.options,"debugRows","getBottomRows")),e.getCenterRows=te(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(n,t,r)=>{const o=new Set([...t??[],...r??[]]);return n.filter(s=>!o.has(s.id))},ne(e.options,"debugRows","getCenterRows"))}},DC={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:Le("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),e.resetRowSelection=n=>{var t;return e.setRowSelection(n?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=n=>{e.setRowSelection(t=>{n=typeof n<"u"?n:!e.getIsAllRowsSelected();const r={...t},o=e.getPreGroupedRowModel().flatRows;return n?o.forEach(s=>{s.getCanSelect()&&(r[s.id]=!0)}):o.forEach(s=>{delete r[s.id]}),r})},e.toggleAllPageRowsSelected=n=>e.setRowSelection(t=>{const r=typeof n<"u"?n:!e.getIsAllPageRowsSelected(),o={...t};return e.getRowModel().rows.forEach(s=>{sa(o,s.id,r,!0,e)}),o}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=te(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,t)=>Object.keys(n).length?ia(e,t):{rows:[],flatRows:[],rowsById:{}},ne(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=te(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,t)=>Object.keys(n).length?ia(e,t):{rows:[],flatRows:[],rowsById:{}},ne(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=te(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,t)=>Object.keys(n).length?ia(e,t):{rows:[],flatRows:[],rowsById:{}},ne(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{const n=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let r=!!(n.length&&Object.keys(t).length);return r&&n.some(o=>o.getCanSelect()&&!t[o.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows.filter(o=>o.getCanSelect()),{rowSelection:t}=e.getState();let r=!!n.length;return r&&n.some(o=>!t[o.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{var n;const t=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{const n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>n=>{e.toggleAllRowsSelected(n.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}},createRow:(e,n)=>{e.toggleSelected=(t,r)=>{const o=e.getIsSelected();n.setRowSelection(s=>{var i;if(t=typeof t<"u"?t:!o,e.getCanSelect()&&o===t)return s;const l={...s};return sa(l,e.id,t,(i=r?.selectChildren)!=null?i:!0,n),l})},e.getIsSelected=()=>{const{rowSelection:t}=n.getState();return aa(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=n.getState();return la(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=n.getState();return la(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof n.options.enableRowSelection=="function"?n.options.enableRowSelection(e):(t=n.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof n.options.enableSubRowSelection=="function"?n.options.enableSubRowSelection(e):(t=n.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof n.options.enableMultiRowSelection=="function"?n.options.enableMultiRowSelection(e):(t=n.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return r=>{var o;t&&e.toggleSelected((o=r.target)==null?void 0:o.checked)}}}},sa=(e,n,t,r,o)=>{var s;const i=o.getRow(n,!0);t?(i.getCanMultiSelect()||Object.keys(e).forEach(l=>delete e[l]),i.getCanSelect()&&(e[n]=!0)):delete e[n],r&&(s=i.subRows)!=null&&s.length&&i.getCanSelectSubRows()&&i.subRows.forEach(l=>sa(e,l.id,t,r,o))};function ia(e,n){const t=e.getState().rowSelection,r=[],o={},s=function(i,l){return i.map(c=>{var d;const f=aa(c,t);if(f&&(r.push(c),o[c.id]=c),(d=c.subRows)!=null&&d.length&&(c={...c,subRows:s(c.subRows)}),f)return c}).filter(Boolean)};return{rows:s(n.rows),flatRows:r,rowsById:o}}function aa(e,n){var t;return(t=n[e.id])!=null?t:!1}function la(e,n,t){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let o=!0,s=!1;return e.subRows.forEach(i=>{if(!(s&&!o)&&(i.getCanSelect()&&(aa(i,n)?s=!0:o=!1),i.subRows&&i.subRows.length)){const l=la(i,n);l==="all"?s=!0:(l==="some"&&(s=!0),o=!1)}}),o?"all":s?"some":!1}const ca=/([0-9]+)/gm,OC=(e,n,t)=>Df(Vt(e.getValue(t)).toLowerCase(),Vt(n.getValue(t)).toLowerCase()),VC=(e,n,t)=>Df(Vt(e.getValue(t)),Vt(n.getValue(t))),LC=(e,n,t)=>ua(Vt(e.getValue(t)).toLowerCase(),Vt(n.getValue(t)).toLowerCase()),zC=(e,n,t)=>ua(Vt(e.getValue(t)),Vt(n.getValue(t))),BC=(e,n,t)=>{const r=e.getValue(t),o=n.getValue(t);return r>o?1:r<o?-1:0},GC=(e,n,t)=>ua(e.getValue(t),n.getValue(t));function ua(e,n){return e===n?0:e>n?1:-1}function Vt(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function Df(e,n){const t=e.split(ca).filter(Boolean),r=n.split(ca).filter(Boolean);for(;t.length&&r.length;){const o=t.shift(),s=r.shift(),i=parseInt(o,10),l=parseInt(s,10),c=[i,l].sort();if(isNaN(c[0])){if(o>s)return 1;if(s>o)return-1;continue}if(isNaN(c[1]))return isNaN(i)?-1:1;if(i>l)return 1;if(l>i)return-1}return t.length-r.length}const Sr={alphanumeric:OC,alphanumericCaseSensitive:VC,text:LC,textCaseSensitive:zC,datetime:BC,basic:GC},HC=[yC,TC,jC,EC,SC,CC,FC,PC,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:Le("sorting",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>{e.getAutoSortingFn=()=>{const t=n.getFilteredRowModel().flatRows.slice(10);let r=!1;for(const o of t){const s=o?.getValue(e.id);if(Object.prototype.toString.call(s)==="[object Date]")return Sr.datetime;if(typeof s=="string"&&(r=!0,s.split(ca).length>1))return Sr.alphanumeric}return r?Sr.text:Sr.basic},e.getAutoSortDir=()=>{const t=n.getFilteredRowModel().flatRows[0];return typeof t?.getValue(e.id)=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,r;if(!e)throw new Error;return Wo(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(r=n.options.sortingFns)==null?void 0:r[e.columnDef.sortingFn])!=null?t:Sr[e.columnDef.sortingFn]},e.toggleSorting=(t,r)=>{const o=e.getNextSortingOrder(),s=typeof t<"u"&&t!==null;n.setSorting(i=>{const l=i?.find(p=>p.id===e.id),c=i?.findIndex(p=>p.id===e.id);let d=[],f,u=s?t:o==="desc";if(i!=null&&i.length&&e.getCanMultiSort()&&r?l?f="toggle":f="add":i!=null&&i.length&&c!==i.length-1?f="replace":l?f="toggle":f="replace",f==="toggle"&&(s||o||(f="remove")),f==="add"){var m;d=[...i,{id:e.id,desc:u}],d.splice(0,d.length-((m=n.options.maxMultiSortColCount)!=null?m:Number.MAX_SAFE_INTEGER))}else f==="toggle"?d=i.map(p=>p.id===e.id?{...p,desc:u}:p):f==="remove"?d=i.filter(p=>p.id!==e.id):d=[{id:e.id,desc:u}];return d})},e.getFirstSortDir=()=>{var t,r;return((t=(r=e.columnDef.sortDescFirst)!=null?r:n.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var r,o;const s=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==s&&((r=n.options.enableSortingRemoval)==null||r)&&(!(t&&(o=n.options.enableMultiRemove)!=null)||o)?!1:i==="desc"?"asc":"desc":s},e.getCanSort=()=>{var t,r;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((r=n.options.enableSorting)!=null?r:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,r;return(t=(r=e.columnDef.enableMultiSort)!=null?r:n.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const r=(t=n.getState().sorting)==null?void 0:t.find(o=>o.id===e.id);return r?r.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,r;return(t=(r=n.getState().sorting)==null?void 0:r.findIndex(o=>o.id===e.id))!=null?t:-1},e.clearSorting=()=>{n.setSorting(t=>t!=null&&t.length?t.filter(r=>r.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return r=>{t&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),e.resetSorting=n=>{var t,r;e.setSorting(n?[]:(t=(r=e.initialState)==null?void 0:r.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},_C,IC,AC,$C,DC,kC];function qC(e){var n,t;process.env.NODE_ENV!=="production"&&(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");const r=[...HC,...(n=e._features)!=null?n:[]];let o={_features:r};const s=o._features.reduce((m,p)=>Object.assign(m,p.getDefaultOptions==null?void 0:p.getDefaultOptions(o)),{}),i=m=>o.options.mergeOptions?o.options.mergeOptions(s,m):{...s,...m};let c={...{},...(t=e.initialState)!=null?t:{}};o._features.forEach(m=>{var p;c=(p=m.getInitialState==null?void 0:m.getInitialState(c))!=null?p:c});const d=[];let f=!1;const u={_features:r,options:{...s,...e},initialState:c,_queue:m=>{d.push(m),f||(f=!0,Promise.resolve().then(()=>{for(;d.length;)d.shift()();f=!1}).catch(p=>setTimeout(()=>{throw p})))},reset:()=>{o.setState(o.initialState)},setOptions:m=>{const p=Ot(m,o.options);o.options=i(p)},getState:()=>o.options.state,setState:m=>{o.options.onStateChange==null||o.options.onStateChange(m)},_getRowId:(m,p,h)=>{var g;return(g=o.options.getRowId==null?void 0:o.options.getRowId(m,p,h))!=null?g:`${h?[h.id,p].join("."):p}`},getCoreRowModel:()=>(o._getCoreRowModel||(o._getCoreRowModel=o.options.getCoreRowModel(o)),o._getCoreRowModel()),getRowModel:()=>o.getPaginationRowModel(),getRow:(m,p)=>{let h=(p?o.getPrePaginationRowModel():o.getRowModel()).rowsById[m];if(!h&&(h=o.getCoreRowModel().rowsById[m],!h))throw process.env.NODE_ENV!=="production"?new Error(`getRow could not find row with ID: ${m}`):new Error;return h},_getDefaultColumnDef:te(()=>[o.options.defaultColumn],m=>{var p;return m=(p=m)!=null?p:{},{header:h=>{const g=h.header.column.columnDef;return g.accessorKey?g.accessorKey:g.accessorFn?g.id:null},cell:h=>{var g,v;return(g=(v=h.renderValue())==null||v.toString==null?void 0:v.toString())!=null?g:null},...o._features.reduce((h,g)=>Object.assign(h,g.getDefaultColumnDef==null?void 0:g.getDefaultColumnDef()),{}),...m}},ne(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>o.options.columns,getAllColumns:te(()=>[o._getColumnDefs()],m=>{const p=function(h,g,v){return v===void 0&&(v=0),h.map(y=>{const b=bC(o,y,v,g),S=y;return b.columns=S.columns?p(S.columns,b,v+1):[],b})};return p(m)},ne(e,"debugColumns","getAllColumns")),getAllFlatColumns:te(()=>[o.getAllColumns()],m=>m.flatMap(p=>p.getFlatColumns()),ne(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:te(()=>[o.getAllFlatColumns()],m=>m.reduce((p,h)=>(p[h.id]=h,p),{}),ne(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:te(()=>[o.getAllColumns(),o._getOrderColumnsFn()],(m,p)=>{let h=m.flatMap(g=>g.getLeafColumns());return p(h)},ne(e,"debugColumns","getAllLeafColumns")),getColumn:m=>{const p=o._getAllFlatColumnsById()[m];return process.env.NODE_ENV!=="production"&&!p&&console.error(`[Table] Column with id '${m}' does not exist.`),p}};Object.assign(o,u);for(let m=0;m<o._features.length;m++){const p=o._features[m];p==null||p.createTable==null||p.createTable(o)}return o}function WC(){return e=>te(()=>[e.options.data],n=>{const t={rows:[],flatRows:[],rowsById:{}},r=function(o,s,i){s===void 0&&(s=0);const l=[];for(let d=0;d<o.length;d++){const f=wC(e,e._getRowId(o[d],d,i),o[d],d,s,void 0,i?.id);if(t.flatRows.push(f),t.rowsById[f.id]=f,l.push(f),e.options.getSubRows){var c;f.originalSubRows=e.options.getSubRows(o[d],d),(c=f.originalSubRows)!=null&&c.length&&(f.subRows=r(f.originalSubRows,s+1,f))}}return l};return t.rows=r(n),t},ne(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function Of(e,n){return e?UC(e)?x.createElement(e,n):e:null}function UC(e){return KC(e)||typeof e=="function"||YC(e)}function KC(e){return typeof e=="function"&&(()=>{const n=Object.getPrototypeOf(e);return n.prototype&&n.prototype.isReactComponent})()}function YC(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function JC(e){const n={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[t]=x.useState(()=>({current:qC(n)})),[r,o]=x.useState(()=>t.current.initialState);return t.current.setOptions(s=>({...s,...e,state:{...r,...e.state},onStateChange:i=>{o(i),e.onStateChange==null||e.onStateChange(i)}})),t.current}const Vf=40,Lf=32;function XC({className:e,...n}){return a.jsx("div",{"data-slot":"table-container",className:"relative w-full h-full overflow-x-auto",children:a.jsx("table",{"data-slot":"table",className:ee("min-w-full caption-bottom text-sm border-separate border-spacing-0",e),...n})})}function QC({className:e,...n}){return a.jsx("thead",{"data-slot":"table-header",className:ee("[&_tr]:border-b",e),...n})}function ZC({className:e,...n}){return a.jsx("tbody",{"data-slot":"table-body",className:ee("[&_tr:last-child]:border-0 [&_tr:nth-child(even)]:bg-muted/25",e),...n})}function Jo({className:e,style:n,...t}){return a.jsx("tr",{"data-slot":"table-row",className:ee("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),style:{height:Vf,...n},...t})}function e0({className:e,style:n,...t}){return a.jsx("th",{"data-slot":"table-head",className:ee("px-2 text-left align-middle font-medium whitespace-nowrap text-muted-foreground text-xs border-r border-border last:border-r-0 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),style:{height:Lf,...n},...t})}function da({className:e,...n}){return a.jsx("td",{"data-slot":"table-cell",className:ee("px-2 py-1 align-middle whitespace-nowrap text-[13px] overflow-hidden text-ellipsis border-r border-border last:border-r-0 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function t0({anchorEl:e,onEdit:n,onDelete:t,onMouseEnter:r,onDismiss:o}){const s=M.useRef(null);return M.useEffect(()=>{const i=s.current;return i?((()=>{const c=e.getBoundingClientRect(),d=i.offsetHeight,f=i.offsetWidth;i.style.top=`${c.top+(c.height-d)/2}px`;const u=Math.min(c.right-f-8,window.innerWidth-f-8);i.style.left=`${Math.max(8,u)}px`})(),i.showPopover(),()=>{try{i.hidePopover()}catch{}}):void 0},[e]),M.useEffect(()=>{const i=l=>{const c=s.current;c&&!c.contains(l.target)&&o()};return document.addEventListener("pointerdown",i),()=>document.removeEventListener("pointerdown",i)},[o]),a.jsxs("div",{ref:s,popover:"manual",className:"flex items-center gap-0.5 rounded-md border border-border bg-popover px-1 py-0.5 shadow-md m-0",style:{position:"fixed"},onClick:i=>i.stopPropagation(),onMouseEnter:r,onMouseLeave:o,children:[n&&a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:n,"aria-label":"Edit row",title:"Edit",className:"size-6",children:a.jsx(tl,{className:"size-3.5"})}),t&&a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:t,"aria-label":"Delete row",title:"Delete",className:"size-6 text-destructive hover:text-destructive",children:a.jsx(ol,{className:"size-3.5"})})]})}const zf=60,n0=450,r0=150,fa="bifrost-col-sizes:";function Bf(e){try{const n=localStorage.getItem(fa+e);return n?JSON.parse(n):{}}catch{return{}}}function o0(e,n){try{Object.keys(n).length===0?localStorage.removeItem(fa+e):localStorage.setItem(fa+e,JSON.stringify(n))}catch{}}const s0=[10,20,30,50,100],ma=-1;function i0({columns:e,data:n,tableName:t,pageCount:r,pageIndex:o,pageSize:s,sorting:i,columnFilters:l,loading:c,selectable:d=!1,primaryKeys:f=[],selectedRowId:u,onRowSelect:m,onSortingChange:p,onColumnFiltersChange:h,onPageIndexChange:g,onPageSizeChange:v,onEditRow:y,onDeleteRow:b,onDeleteSelected:S,stackingEnabled:_,onToggleStacking:E}){const[C,N]=M.useState(null),w=M.useRef(null),k=M.useCallback((G,Q)=>{w.current&&(clearTimeout(w.current),w.current=null),N({rowId:G,el:Q})},[]),R=M.useCallback(()=>{w.current&&clearTimeout(w.current),w.current=setTimeout(()=>N(null),150)},[]),F=M.useCallback(()=>{w.current&&(clearTimeout(w.current),w.current=null)},[]),P=M.useRef(null),$=M.useRef(!1),A=M.useRef(!1),L=500,T=M.useCallback(()=>{P.current&&(clearTimeout(P.current),P.current=null)},[]),B=M.useCallback((G,Q,ve)=>{ve.pointerType==="touch"&&($.current=!1,T(),P.current=setTimeout(()=>{$.current||(A.current=!0,k(G,Q))},L))},[T,k]),z=M.useCallback(()=>{$.current=!0,T()},[T]),[O,D]=M.useState({}),[ue,be]=M.useState({}),[we,ge]=M.useState(()=>t?Bf(t):{}),[H,J]=M.useState(!0),V=M.useRef(null);M.useEffect(()=>{t&&o0(t,we)},[t,we]);const oe=M.useRef(t);if(t&&t!==oe.current){oe.current=t;const G=Bf(t);ge(G)}const se=M.useCallback(G=>{const Q=V.current;if(!Q)return;const ve=Q.querySelectorAll(`[data-col-id="${G}"]`);let Lt=zf;ve.forEach(En=>{const Cr=En.scrollWidth+4;Cr>Lt&&(Lt=Cr)});const on=Math.min(Lt,n0);ge(En=>({...En,[G]:on}))},[]),ce=M.useCallback(()=>{ge({})},[]),de=M.useRef(0),me=M.useCallback(()=>{const G=V.current;return G?Math.max(5,Math.floor((G.clientHeight-Lf)/Vf)):10},[]);M.useEffect(()=>{if(!H)return;const G=V.current;if(!G)return;const Q=()=>{const on=me();on!==de.current&&(de.current=on,v(on))},ve=requestAnimationFrame(Q),Lt=new ResizeObserver(()=>requestAnimationFrame(Q));return Lt.observe(G),()=>{cancelAnimationFrame(ve),Lt.disconnect()}},[H,me,v]),M.useEffect(()=>{be({})},[n,o]);const Ce=[];d&&Ce.push({id:"_select",header:({table:G})=>a.jsx(Ui,{checked:G.getIsAllPageRowsSelected()||G.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:Q=>G.toggleAllPageRowsSelected(!!Q),"aria-label":"Select all"}),cell:({row:G})=>a.jsx(Ui,{checked:G.getIsSelected(),onCheckedChange:Q=>G.toggleSelected(!!Q),onClick:Q=>Q.stopPropagation(),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1,enableResizing:!1,size:32}),Ce.push(...e);const pe=JC({data:n,columns:Ce,pageCount:r,getRowId:(G,Q)=>ar(G,{primaryKeys:f},Q),state:{sorting:i,columnFilters:l,pagination:{pageIndex:o,pageSize:s},columnVisibility:O,rowSelection:ue,columnSizing:we},defaultColumn:{minSize:zf,size:r0},columnResizeMode:"onChange",enableColumnResizing:!0,onColumnSizingChange:ge,meta:{onResetColumnWidths:ce},onSortingChange:G=>{const Q=typeof G=="function"?G(i):G;p(Q)},onPaginationChange:G=>{const ve=typeof G=="function"?G({pageIndex:o,pageSize:s}):G;ve.pageSize!==s?(v(ve.pageSize),g(0)):g(ve.pageIndex)},onColumnFiltersChange:G=>{const Q=typeof G=="function"?G(l):G;h(Q)},onColumnVisibilityChange:D,onRowSelectionChange:be,enableRowSelection:d,getCoreRowModel:WC(),manualSorting:!0,manualFiltering:!0,manualPagination:!0}),rt=Object.keys(ue).length,ot=M.useCallback(()=>{if(!S)return;const G=[];for(const Q of pe.getSelectedRowModel().rows){const ve=ko(Q.original,{primaryKeys:f});ve&&G.push(ve)}G.length>0&&S(G)},[pe,S,f]),st=M.useCallback(G=>{const Q=pe.getRow(G);return Q?ko(Q.original,{primaryKeys:f}):null},[pe,f]),Zo=M.useCallback(()=>{if(!C||!y)return;const G=st(C.rowId);G&&y(G)},[C,y,st]),jn=M.useCallback(()=>{if(!C||!b)return;const G=st(C.rowId);G&&b(G)},[C,b,st]);return a.jsxs("div",{className:"flex flex-col w-full min-h-0 flex-1",children:[a.jsxs("div",{className:"flex items-center justify-between py-1 px-2",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[l.length>0&&a.jsxs(X,{variant:"outline",size:"sm",onClick:()=>pe.resetColumnFilters(),title:"Clear all column filters",children:[a.jsx(mp,{className:"size-3.5"}),"Clear filters"]}),rt>0&&S&&a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"text-xs text-muted-foreground",children:[rt," selected"]}),a.jsxs(X,{variant:"outline",size:"sm",onClick:ot,className:"text-destructive hover:text-destructive",children:[a.jsx(ol,{className:"size-3.5"}),"Delete"]})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[E&&a.jsxs(X,{variant:_?"secondary":"outline",size:"sm",role:"switch","aria-checked":!!_,onClick:()=>E(!_),title:_?"Stacked drill-down active — click for flat grid":"Flat grid active — click for stacked drill-down",children:[_?a.jsx(Pr,{className:"size-3.5"}):a.jsx(wp,{className:"size-3.5"}),_?"Stacked":"Grid"]}),a.jsxs(Rd,{children:[a.jsx(Td,{asChild:!0,children:a.jsxs(X,{variant:"outline",size:"sm",children:[a.jsx(up,{className:"size-3.5"}),"Columns",a.jsx(Gt,{className:"size-3.5"})]})}),a.jsx(Fd,{align:"end",children:pe.getAllColumns().filter(G=>G.getCanHide()).map(G=>a.jsx(Ly,{checked:G.getIsVisible(),onCheckedChange:Q=>G.toggleVisibility(!!Q),children:G.id},G.id))})]})]})]}),a.jsxs("div",{ref:V,className:"flex-1 overflow-auto min-h-0",children:[a.jsxs(XC,{style:{width:pe.getTotalSize()},children:[a.jsx(QC,{children:pe.getHeaderGroups().map(G=>a.jsx(Jo,{children:G.headers.map(Q=>a.jsxs(e0,{"data-col-id":Q.column.id,className:"relative",style:{width:Q.getSize()},children:[Q.isPlaceholder?null:Of(Q.column.columnDef.header,Q.getContext()),Q.column.getCanResize()&&a.jsx("div",{onMouseDown:Q.getResizeHandler(),onTouchStart:Q.getResizeHandler(),onDoubleClick:()=>se(Q.column.id),className:`absolute top-0 right-0 w-1 h-full cursor-col-resize select-none touch-none opacity-0 hover:opacity-100 transition-opacity ${Q.column.getIsResizing()?"bg-primary opacity-100":"bg-border hover:bg-muted-foreground"}`})]},Q.id))},G.id))}),a.jsx(ZC,{children:c?a.jsx(Jo,{children:a.jsx(da,{colSpan:Ce.length,className:"h-24 text-center",children:"Loading..."})}):pe.getRowModel().rows.length===0?a.jsx(Jo,{children:a.jsx(da,{colSpan:Ce.length,className:"h-24 text-center",children:"No results."})}):pe.getRowModel().rows.map(G=>{const Q=u!=null&&G.id===u;return a.jsx(Jo,{"data-state":Q||G.getIsSelected()?"selected":void 0,className:m?"cursor-pointer group/row":"group/row",onClick:m?()=>{if(A.current){A.current=!1;return}window.getSelection()?.toString()||m(Q?null:G.id)}:void 0,onPointerEnter:ve=>{ve.pointerType==="mouse"&&k(G.id,ve.currentTarget)},onPointerLeave:ve=>{ve.pointerType==="mouse"&&R()},onPointerDown:ve=>B(G.id,ve.currentTarget,ve),onPointerMove:z,onPointerUp:T,onPointerCancel:T,children:G.getVisibleCells().map(ve=>a.jsx(da,{"data-col-id":ve.column.id,style:{width:ve.column.getSize()},children:Of(ve.column.columnDef.cell,ve.getContext())},ve.id))},G.id)})})]}),C&&(y||b)&&a.jsx(t0,{anchorEl:C.el,onEdit:y?Zo:void 0,onDelete:b?jn:void 0,onMouseEnter:F,onDismiss:R})]}),a.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-t border-border mt-auto shrink-0",children:[a.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[a.jsx("span",{children:"Rows per page"}),a.jsxs(dt,{value:String(H?ma:s),onValueChange:G=>{const Q=Number(G);Q===ma?(J(!0),v(me())):(J(!1),v(Q))},children:[a.jsx(mt,{size:"sm",className:"w-auto h-7 text-xs","aria-label":"Rows per page",children:a.jsx(ft,{children:H?"Fit":s})}),a.jsxs(pt,{children:[a.jsx(Ue,{value:String(ma),children:"Fit"}),s0.map(G=>a.jsx(Ue,{value:String(G),children:G},G))]})]})]}),a.jsxs("div",{className:"flex items-center gap-1.5",children:[a.jsxs("span",{className:"text-xs text-muted-foreground mr-2",children:["Page ",o+1," of ",r||1]}),a.jsx(X,{variant:"outline",size:"icon-sm",onClick:()=>g(0),disabled:o===0,"aria-label":"First page",title:"First page",children:a.jsx(lp,{className:"size-4"})}),a.jsx(X,{variant:"outline",size:"icon-sm",onClick:()=>g(o-1),disabled:!pe.getCanPreviousPage(),"aria-label":"Previous page",title:"Previous page",children:a.jsx(cs,{className:"size-4"})}),a.jsx(X,{variant:"outline",size:"icon-sm",onClick:()=>g(o+1),disabled:!pe.getCanNextPage(),"aria-label":"Next page",title:"Next page",children:a.jsx(cn,{className:"size-4"})}),a.jsx(X,{variant:"outline",size:"icon-sm",onClick:()=>g(r-1),disabled:o>=r-1,"aria-label":"Last page",title:"Last page",children:a.jsx(cp,{className:"size-4"})})]})]})]})}function a0({open:e,onOpenChange:n,title:t,description:r,confirmLabel:o="Confirm",cancelLabel:s="Cancel",variant:i="default",isPending:l=!1,onConfirm:c}){return a.jsx(xr,{open:e,onOpenChange:n,children:a.jsxs(br,{showCloseButton:!1,children:[a.jsxs(Bo,{children:[a.jsx(yr,{children:t}),a.jsx(Go,{asChild:!0,children:a.jsx("div",{children:r})})]}),a.jsxs(_f,{children:[a.jsx(X,{variant:"outline",onClick:()=>n(!1),disabled:l,children:s}),a.jsx(X,{variant:i==="destructive"?"destructive":"default",onClick:c,disabled:l,children:l?"Deleting...":o})]})]})})}function l0({...e}){return a.jsx(Ps,{"data-slot":"sheet",...e})}function c0({...e}){return a.jsx(As,{"data-slot":"sheet-portal",...e})}function u0({className:e,...n}){return a.jsx($s,{"data-slot":"sheet-overlay",className:ee("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function d0({className:e,children:n,side:t="right",...r}){return a.jsxs(c0,{children:[a.jsx(u0,{}),a.jsxs(Ds,{"data-slot":"sheet-content",className:ee("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out duration-200 outline-none","data-[state=closed]:animate-out data-[state=open]:animate-in data-[state=closed]:duration-200 data-[state=open]:duration-200",t==="right"&&"inset-y-0 right-0 h-full w-3/4 max-w-md border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",t==="left"&&"inset-y-0 left-0 h-full w-3/4 max-w-md border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",t==="top"&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",t==="bottom"&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",e),...r,children:[n,a.jsxs(zn,{"data-slot":"sheet-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[a.jsx(Ae,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function f0({className:e,...n}){return a.jsx("div",{"data-slot":"sheet-header",className:ee("flex flex-col gap-2 p-4 pb-0",e),...n})}function m0({className:e,...n}){return a.jsx(Os,{"data-slot":"sheet-title",className:ee("text-lg leading-none font-semibold",e),...n})}function p0({className:e,...n}){return a.jsx(Vs,{"data-slot":"sheet-description",className:ee("text-sm text-muted-foreground",e),...n})}const h0={json:Ja,xml:Xa,"php-serialized":An,binary:Rr,longtext:Fr,text:Fr},g0={json:"JSON",xml:"XML","php-serialized":"PHP Serialized",binary:"Binary",longtext:"Text",text:"Text"};function v0(e,n){if(n==="json")try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return n==="xml"?e.replace(/>\s*</g,`>
143
- <`).trim():e}function x0({target:e,onClose:n,onNavigate:t,onSave:r,canNavigatePrev:o,canNavigateNext:s}){const[i,l]=M.useState(!1),[c,d]=M.useState(!1),[f,u]=M.useState(""),[m,p]=M.useState(!1),h=M.useRef(null),g=e?.value??"",v=Mi(g,e?.dbType),y=h0[v],b=v0(g,v);M.useEffect(()=>{d(!1),u(""),p(!1)},[e?.rowIndex,e?.columnName]),M.useEffect(()=>{if(!e)return;const A=L=>{c||(L.key==="ArrowUp"&&o?(L.preventDefault(),t("prev")):L.key==="ArrowDown"&&s&&(L.preventDefault(),t("next")))};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[e,c,o,s,t]);const S=M.useCallback(()=>{navigator.clipboard.writeText(g),p(!0),setTimeout(()=>p(!1),1500)},[g]),_=M.useCallback(()=>{u(b),d(!0),requestAnimationFrame(()=>h.current?.focus())},[b]),E=M.useCallback(()=>{d(!1),u("")},[]),C=M.useCallback(()=>{r&&f!==g&&r(f),d(!1)},[r,f,g]),N=M.useCallback(()=>{if(v==="json")try{u(JSON.stringify(JSON.parse(f),null,2))}catch{}else v==="xml"&&u(f.replace(/>\s*</g,`>
144
- <`).trim())},[f,v]),w=v==="json"||v==="xml",k=!e?.isReadOnly&&v!=="binary",R=a.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[a.jsx(y,{className:"size-4 text-muted-foreground shrink-0"}),a.jsx("span",{className:"truncate font-semibold text-sm",children:e?.columnLabel}),a.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:g0[v]}),a.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[g.length," chars"]})]}),F=a.jsxs("div",{className:"flex items-center gap-1 px-4 pb-2",children:[a.jsxs(X,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:S,children:[m?a.jsx(Tr,{className:"size-3"}):a.jsx(dp,{className:"size-3"}),m?"Copied":"Copy"]}),k&&!c&&a.jsxs(X,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:_,children:[a.jsx(tl,{className:"size-3"}),"Edit"]}),c&&w&&a.jsxs(X,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:N,children:[a.jsx(rl,{className:"size-3"}),"Format"]}),a.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[a.jsx(X,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>t("prev"),disabled:!o,"aria-label":"Previous row",title:"Previous row",children:a.jsx(us,{className:"size-4"})}),a.jsx(X,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>t("next"),disabled:!s,"aria-label":"Next row",title:"Next row",children:a.jsx(Gt,{className:"size-4"})}),a.jsx(X,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>l(A=>!A),"aria-label":i?"Exit full screen":"Full screen",title:i?"Exit full screen":"Full screen",children:i?a.jsx(vp,{className:"size-4"}):a.jsx(gp,{className:"size-4"})})]})]}),P=a.jsx("div",{className:"flex-1 min-h-0 overflow-auto px-4 pb-4",children:c?a.jsxs("div",{className:"flex flex-col gap-2 h-full",children:[a.jsx("textarea",{ref:h,value:f,onChange:A=>u(A.target.value),className:ee("flex-1 w-full rounded-md border border-input bg-background px-3 py-2","text-xs font-mono leading-relaxed","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","resize-none min-h-[200px]")}),a.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[a.jsx(X,{type:"button",variant:"ghost",size:"sm",onClick:E,children:"Cancel"}),a.jsx(X,{type:"button",size:"sm",onClick:C,children:"Save"})]})]}):a.jsx("pre",{className:"text-xs font-mono leading-relaxed whitespace-pre-wrap break-all",children:b})}),$=!!e;return a.jsxs(a.Fragment,{children:[a.jsx(l0,{open:$&&!i,onOpenChange:A=>{A||n()},children:a.jsxs(d0,{side:"right",className:"w-[480px] max-w-[90vw]",children:[a.jsxs(f0,{children:[a.jsx(m0,{children:R}),a.jsx(p0,{className:"sr-only",children:"Content viewer panel"})]}),F,P]})}),a.jsx(xr,{open:$&&i,onOpenChange:A=>{A||l(!1)},children:a.jsxs(br,{className:"max-w-[90vw] max-h-[90vh] w-full h-full flex flex-col",children:[a.jsxs(Bo,{children:[a.jsx(yr,{children:R}),a.jsx(Go,{className:"sr-only",children:"Content viewer full screen"})]}),F,P]})})]})}function pa({table:e,id:n,tableFilter:t,filterColumn:r,selectedRowId:o,onRowSelect:s,onOpenColumn:i,stackingEnabled:l,onToggleStacking:c}){const d=Zd(e),[f,u]=M.useState(null),[m,p]=M.useState(null),[h,g]=M.useState(null),[v,y]=M.useState(0),b=M.useCallback(H=>{p(Hw(H,e))},[e]),S=M.useCallback(H=>{u({type:"single",pk:H})},[]),_=M.useCallback(H=>{H.length!==0&&u({type:"batch",pks:H})},[]),E=M.useCallback((H,J)=>{y(H),g(J)},[]),{columns:C,sorting:N,columnFilters:w,pageIndex:k,pageSize:R,pageCount:F,rows:P,loading:$,error:A,onSortingChange:L,onColumnFiltersChange:T,onPageIndexChange:B,onPageSizeChange:z}=cS(e,n,t,r,E,i),O=M.useCallback(async()=>{if(f)try{f.type==="single"?await d.deleteRow(f.pk):await d.deleteRows(f.pks),u(null)}catch{}},[f,d]),D=f?.type==="batch"?f.pks.length:1,ue=(()=>{if(h===null||!P[v])return null;const H=P[v],J=e.columns.find(se=>se.name===h);if(!J)return null;const V=H[h];return{value:typeof V=="object"&&V!==null?JSON.stringify(V,null,2):String(V??""),columnName:J.name,columnLabel:J.label,dbType:J.dbType,rowIndex:v,isReadOnly:J.isReadOnly||J.isPrimaryKey||J.isIdentity}})(),be=M.useCallback(()=>{g(null)},[]),we=M.useCallback(H=>{y(J=>H==="prev"?Math.max(0,J-1):Math.min(P.length-1,J+1))},[P.length]);if(A)return a.jsxs("div",{children:["Error: ",A.message]});const ge=e.isEditable!==!1;return a.jsxs(a.Fragment,{children:[a.jsx(i0,{columns:C,data:P,tableName:e.name,pageCount:F,pageIndex:k,pageSize:R,sorting:N,columnFilters:w,loading:$,primaryKeys:e.primaryKeys??[],selectable:ge,selectedRowId:o,onRowSelect:s,onSortingChange:L,onColumnFiltersChange:T,onPageIndexChange:B,onPageSizeChange:z,onEditRow:ge?b:void 0,onDeleteRow:ge?S:void 0,onDeleteSelected:ge?_:void 0,stackingEnabled:l,onToggleStacking:c}),a.jsx(a0,{open:f!==null,onOpenChange:H=>{H||u(null)},title:`Delete ${D} ${D===1?"row":"rows"}?`,description:a.jsxs(a.Fragment,{children:[a.jsx("p",{children:"This action cannot be undone."}),d.error&&a.jsx("p",{className:"mt-2 text-sm text-destructive",children:d.error.message})]}),confirmLabel:`Delete ${D===1?"row":`${D} rows`}`,variant:"destructive",isPending:d.isPending,onConfirm:O}),a.jsx(x0,{target:ue,onClose:be,onNavigate:we,canNavigatePrev:v>0,canNavigateNext:v<P.length-1}),m!==null&&a.jsx(jf,{table:e.graphQlName,editid:m,onClose:()=>p(null)})]})}const b0=new Set(["Int","Int!","Float","Float!"]);function y0(e){return new Set((e.manyToManyJoins??[]).map(n=>n.junctionTable))}function Gf(e){const n=y0(e),t=e.multiJoins.filter(o=>!n.has(o.destinationTable)).map(o=>({kind:"child",key:`child:${o.fieldName??o.destinationTable}`,join:o})),r=(e.manyToManyJoins??[]).map(o=>({kind:"m2m",key:`m2m:${o.junctionTable}:${o.targetTable}`,m2m:o}));return[...t,...r]}function Hf(e,n){const t=new Set([...n.junctionSourceColumnNames,...n.junctionTargetColumnNames]);return e.columns.filter(r=>!r.isPrimaryKey&&!t.has(r.name))}function w0(e,n){return n&&b0.has(n)?Number(e):e}function S0(e,n,t,r){const o=t.junctionSourceColumnNames[0],s=e.columns.find(g=>g.name===o),i=s?s.paramType.replace("!",""):"Int",l=e.primaryKeys??[],c=Hf(e,t).map(g=>g.name),d=n.primaryKeys?.length?n.primaryKeys:t.targetColumnNames,f=n.labelColumn,u=[...d];f&&!d.includes(f)&&u.push(`label: ${f}`);const m=`${t.junctionTargetField} { ${u.join(" ")} }`,p=[...l,...c,m].join(" ");return{query:`query GetLinks_${e.name}($id: ${i}, $limit: Int, $offset: Int) { ${e.name}(filter: { ${o}: { _eq: $id } } limit: $limit offset: $offset) { total offset limit data { ${p} } } }`,variables:{id:w0(r,i)}}}function C0(e,n){const t=lr(e)[0]?.name??n.targetColumnNames[0],r=e.labelColumn||t,o=r!==t?`${t} label: ${r}`:t;return{query:`query PickTarget($limit: Int) { ${e.name}(limit: $limit sort: [${r}_asc]) { data { ${o} } } }`,idColumn:t}}function _0(e,n,t){const r=e[n.junctionTargetField];if(!r)return null;const o=ar(r,t,0),s=r.label!=null?String(r.label):o;return{id:o,label:s}}function M0(e,n,t){if(e.junctionSourceColumnNames.length!==1||e.junctionTargetColumnNames.length!==1)throw new Error("attachJunctionDetail supports single-column junction FKs only; this relationship uses a composite key which is not yet supported.");return{[e.junctionSourceColumnNames[0]]:n,[e.junctionTargetColumnNames[0]]:t}}function j0({parentTable:e,m2m:n,parentRowId:t,onOpenColumn:r}){const o=Ge(),s=Be(),i=je.useQueryClient(),[l,c]=M.useState(!1),d=o.findTable(n.junctionTable),f=o.findTable(n.targetTable),u=Zd(d??e),{query:m,variables:p}=d&&f?S0(d,f,n,t):{query:null,variables:{}},h=["m2mRows",n.junctionTable,n.targetTable,t],{data:g,isLoading:v,error:y}=je.useQuery({queryKey:h,queryFn:()=>s.query(m,{...p,limit:200,offset:0}),enabled:!!m}),b=M.useCallback(()=>i.invalidateQueries({queryKey:h}),[i,h]),S=M.useCallback(async N=>{if(!d)return;const w=ko(N,d);w&&(await u.deleteRow(w),await b())},[d,u,b]);if(!d||!f)return a.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Relationship schema unavailable."});const _=g?.[d.name]?.data??[],E=Hf(d,n),C=d.isEditable!==!1;return a.jsxs("div",{className:"flex flex-col min-h-0 flex-1 overflow-hidden",children:[a.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 bg-muted/20 border-b border-border shrink-0",children:[a.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs text-muted-foreground",title:`Linked through ${d.label}`,children:[a.jsx(Za,{className:"size-3"}),"via ",d.label]}),C&&a.jsxs(X,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs ml-auto",onClick:()=>c(!0),children:[a.jsx(nl,{className:"size-3 mr-1"})," Add link"]})]}),a.jsxs("div",{className:"flex-1 min-h-0 overflow-auto",children:[y&&a.jsxs("div",{className:"p-3 text-sm text-destructive",children:["Error: ",y.message]}),v&&a.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted-foreground",children:[a.jsx(vt,{className:"size-4 animate-spin"})," Loading…"]}),!v&&_.length===0&&a.jsxs("div",{className:"p-3 text-sm text-muted-foreground",children:["No linked ",f.label,"."]}),_.length>0&&a.jsxs("table",{className:"w-full text-sm",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"border-b border-border text-left text-xs text-muted-foreground",children:[a.jsx("th",{className:"px-2 py-1 font-medium",children:f.label}),E.map(N=>a.jsx("th",{className:"px-2 py-1 font-medium",children:N.label},N.name)),C&&a.jsx("th",{className:"px-2 py-1 w-8","aria-label":"actions"})]})}),a.jsx("tbody",{children:_.map((N,w)=>{const k=_0(N,n,f);return a.jsxs("tr",{className:"border-b border-border/50 hover:bg-muted/30",children:[a.jsx("td",{className:"px-2 py-1",children:k?a.jsxs("span",{className:"inline-flex items-center gap-1",children:[a.jsx(In,{to:`/${f.name}/${k.id}`,className:"text-primary hover:underline",children:k.label}),r&&a.jsx(X,{variant:"ghost",size:"icon-sm",className:"size-5",onClick:()=>r({tableName:f.name,filterId:k.id}),"aria-label":`Open ${k.label} in side column`,title:"Open in side column",children:a.jsx(Ir,{className:"size-3"})})]}):a.jsx("span",{className:"text-muted-foreground",children:"—"})}),E.map(R=>a.jsx("td",{className:"px-2 py-1",children:Eo(N[R.name],R)},R.name)),C&&a.jsx("td",{className:"px-2 py-1",children:a.jsx(X,{variant:"ghost",size:"icon-sm",className:"size-6 text-muted-foreground hover:text-destructive",onClick:()=>S(N),disabled:u.isPending,"aria-label":`Detach ${k?.label??"link"}`,title:"Detach",children:a.jsx(jp,{className:"size-3.5"})})})]},w)})})]})]}),l&&a.jsx(E0,{target:f,junction:d,m2m:n,parentRowId:t,onClose:()=>c(!1),onLinked:b})]})}function E0({target:e,junction:n,m2m:t,parentRowId:r,onClose:o,onLinked:s}){const i=Be(),l=n.columns.filter(S=>t.junctionSourceColumnNames.includes(S.name)||t.junctionTargetColumnNames.includes(S.name)).map(S=>({column:S})),c=Wi(n,l,[]),[d,f]=M.useState(""),{query:u,idColumn:m}=C0(e,t),{data:p,isLoading:h}=je.useQuery({queryKey:["m2mTargets",e.name],queryFn:()=>i.query(u,{limit:500})}),g=p?.[e.name]?.data??[],v=d.trim().toLowerCase(),y=v?g.filter(S=>String(S.label??S[m]??"").toLowerCase().includes(v)):g,b=M.useCallback(async S=>{await c.insert(M0(t,r,S)),await s(),o()},[c,t,r,s,o]);return a.jsx(xr,{open:!0,onOpenChange:S=>{S||o()},children:a.jsxs(br,{className:"max-w-md",children:[a.jsx(Bo,{children:a.jsxs(yr,{children:["Add ",e.label," link"]})}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Ir,{className:"size-4 text-muted-foreground"}),a.jsx(He,{autoFocus:!0,placeholder:`Search ${e.label}…`,value:d,onChange:S=>f(S.target.value)})]}),c.error&&a.jsx("p",{className:"text-sm text-destructive",children:c.error.message}),a.jsxs("div",{className:"max-h-72 overflow-auto border border-border rounded-md",children:[h&&a.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted-foreground",children:[a.jsx(vt,{className:"size-4 animate-spin"})," Loading…"]}),!h&&y.length===0&&a.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No matches."}),y.map((S,_)=>{const E=String(S[m]??""),C=S.label!=null?String(S.label):E;return a.jsx("button",{type:"button",className:"block w-full text-left px-3 py-1.5 text-sm hover:bg-muted/50 disabled:opacity-50",disabled:c.isPending,onClick:()=>b(E),children:C},_)})]})]})})}function qf(e){return e.kind==="child"?e.join.destinationTable:e.m2m.targetTable}function Wf({parentTable:e,selectedRowId:n,onClose:t,onOpenColumn:r}){const o=Ge(),s=Gf(e),[i,l]=M.useState(s[0]?.key??""),[c,d]=M.useState(!1),[f,u]=M.useState(null),m=s.find(g=>g.key===i)??s[0];if(M.useEffect(()=>{u(null)},[i,n]),s.length===0||!o.data)return null;const p=m.kind==="child"?o.findTable(m.join.destinationTable):void 0,h=(p?.multiJoins?.length??0)>0;return a.jsxs("div",{className:"border-t-2 border-primary/20 flex flex-col min-h-0 flex-1 overflow-hidden",children:[a.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted/30 border-b border-border shrink-0",children:[a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:()=>d(!c),"aria-label":c?"Expand detail panel":"Collapse detail panel",title:c?"Expand detail panel":"Collapse detail panel",children:c?a.jsx(us,{className:"size-3.5"}):a.jsx(Gt,{className:"size-3.5"})}),a.jsx("span",{className:"text-xs text-muted-foreground mr-1",children:"Detail:"}),a.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto",children:s.map(g=>{const y=o.findTable(qf(g))?.label??qf(g),b=g.key===m.key;return a.jsxs("span",{className:"group/tab inline-flex items-center",children:[a.jsx(X,{variant:b?"secondary":"ghost",size:"sm",className:ee("text-xs h-7 px-2.5",b&&"font-semibold"),onClick:()=>l(g.key),children:y}),r&&g.kind==="child"&&a.jsx(X,{variant:"ghost",size:"icon-sm",className:"opacity-0 group-hover/tab:opacity-100 size-5 shrink-0",onClick:()=>r({tableName:g.join.destinationTable,filterTable:e.name,filterId:n,...Sn(g.join)?{}:{filterColumn:g.join.destinationColumnNames[0]}}),"aria-label":"Open in side column",title:"Open in side column",children:a.jsx(Pr,{className:"size-3"})})]},g.key)})}),t&&a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:t,className:"ml-auto shrink-0","aria-label":"Close detail panel",title:"Close detail panel",children:a.jsx(Ae,{className:"size-3.5"})})]}),!c&&a.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:m.kind==="child"?a.jsxs(a.Fragment,{children:[a.jsx("div",{className:h&&f?"flex-1 min-h-0 max-h-[50%] overflow-hidden flex flex-col":"flex-1 min-h-0 overflow-hidden flex flex-col",children:a.jsx(pa,{table:p,id:n,tableFilter:e.name,...Sn(m.join)?{}:{filterColumn:m.join.destinationColumnNames[0]},selectedRowId:h?f:void 0,onRowSelect:h?u:void 0,onOpenColumn:r},`${m.key}-${n}`)}),h&&f&&a.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:a.jsx(Wf,{parentTable:p,selectedRowId:f,onClose:()=>u(null),onOpenColumn:r})})]}):a.jsx(j0,{parentTable:e,m2m:m.m2m,parentRowId:n,onOpenColumn:r},`${m.key}-${n}`)})]})}const N0={mainTable:null,columns:[],focusedIndex:0,focusColumn:()=>{},closeColumn:()=>{}},Uf=M.createContext(N0),Kf=M.createContext({register:()=>{},unregister:()=>{}});function k0({children:e}){const[n,t]=M.useState(null),[r,o]=M.useState(0),s=M.useCallback(u=>{t(u)},[]),i=M.useCallback(()=>{t(null),o(0)},[]),l=M.useCallback(u=>{if(o(u),!n)return;const m=n.columnRefs.get(u);m&&m.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},[n]),c=M.useCallback(u=>{n&&u>0&&n.onClose(u-1)},[n]),d=n?n.columns.map((u,m)=>({panel:u,element:n.columnRefs.get(m+1)??null})):[],f={mainTable:n?.mainTable??null,columns:d,focusedIndex:r,focusColumn:l,closeColumn:c};return a.jsx(Kf.Provider,{value:{register:s,unregister:i},children:a.jsx(Uf.Provider,{value:f,children:e})})}function R0(){return M.useContext(Uf)}function T0(){return M.useContext(Kf)}function Yf(e,n){return e.tableName===n.tableName&&e.filterTable===n.filterTable&&e.filterId===n.filterId&&e.filterColumn===n.filterColumn}function F0(e,n){const t=e[e.length-1];if(t&&Yf(t,n))return e;const r=e.findIndex(o=>Yf(o,n));return r>=0?e.slice(0,r+1):[...e,n]}function P0(e,n){return n<0?[]:n>=e.length?e:e.slice(0,n)}function I0(e,n,t){const r=s=>t(s)??s,o=[{index:-1,label:r(e)}];for(let s=0;s<n.length;s++){const i=n[s],l=i.filterTable?r(i.filterTable):r(s===0?e:n[s-1].tableName),c=i.filterId?`from ${l} #${i.filterId}`:void 0;o.push({index:s,label:r(i.tableName),detail:c,frame:i})}return o}function Xo(e,n){return e.find(t=>t.name===n)}function rn(){const e=as(),{table:n,id:t,filterTable:r}=e,{loading:o,error:s,data:i}=Ge(),[l,c]=M.useState(null),[d,f]=M.useState([]),[u,m]=M.useState(!0),[p,h]=M.useState(new Set),g=M.useRef(n);n!==g.current&&(g.current=n,d.length>0&&f([]),p.size>0&&h(new Set));const v=M.useCallback(T=>{h(B=>{const z=new Set(B);return z.has(T)?z.delete(T):z.add(T),z})},[]),{register:y,unregister:b}=T0(),S=M.useRef(null),_=M.useRef(new Map),E=M.useMemo(()=>i?Xo(i,n):void 0,[i,n]),C=E?Gf(E).length>0:!1,N=M.useCallback(T=>{f(B=>F0(B,T))},[]),w=M.useCallback(T=>{m(T),T||f([])},[]),k=u?N:void 0,R=M.useCallback(T=>{f(B=>B.filter((z,O)=>O!==T))},[]),F=M.useCallback(T=>{f(B=>P0(B,T+1))},[]),P=M.useMemo(()=>I0(n??"",d,T=>{if(i)return Xo(i,T)?.label}),[n,d,i]);if(M.useEffect(()=>{const T=_.current;T.set(0,S.current);for(const B of T.keys())B>d.length&&T.delete(B);return y({mainTable:n,columns:d,columnRefs:T,onClose:R}),()=>b()},[n,d,y,b,R]),!n)return a.jsx("div",{className:"p-5 text-center text-muted-foreground",children:"Table missing"});if(o)return a.jsxs("div",{className:"flex items-center justify-center gap-2 p-5",children:[a.jsx(vt,{className:"size-4 animate-spin text-muted-foreground"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]});if(s)return a.jsx(Dn,{variant:"destructive",className:"m-2",children:a.jsxs(On,{children:["Error: ",s.message]})});if(!E)return a.jsx("div",{className:"p-5 text-center text-muted-foreground",children:"Table not found"});const $=a.jsx(pa,{table:E,id:t,tableFilter:r,selectedRowId:C?l:void 0,onRowSelect:C?c:void 0,onOpenColumn:k,stackingEnabled:u,onToggleStacking:w});if(d.length===0)return a.jsx("div",{className:"flex flex-col flex-1 min-h-0",children:a.jsxs("div",{ref:S,className:"flex flex-col flex-1 min-h-0 min-w-0",children:[a.jsx("div",{className:C&&l?"flex-1 min-h-0 max-h-[50%] overflow-hidden flex flex-col":"flex-1 min-h-0 overflow-hidden flex flex-col",children:$}),C&&l&&a.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:a.jsx(Wf,{parentTable:E,selectedRowId:l,onClose:()=>c(null),onOpenColumn:k})})]})});const A=d.length-1,L=(T,B)=>B||p.has(T);return a.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[a.jsx(A0,{crumbs:P,onCrumbClick:F,activeIndex:d.length-1}),a.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto flex flex-col gap-0.5 p-0.5",children:[a.jsx(Jf,{title:E.label,selectedRowId:d[0]?.filterId,expanded:L(-1,!1),active:!1,onToggle:()=>v(-1),onRef:T=>{S.current=T,_.current.set(0,T)},children:$}),d.map((T,B)=>{const z=B===A;return a.jsx(Jf,{title:Xo(i,T.tableName)?.label??T.tableName,selectedRowId:d[B+1]?.filterId,expanded:L(B,z),active:z,onToggle:()=>v(B),onClose:()=>R(B),onRef:O=>{_.current.set(B+1,O)},children:a.jsx(pa,{table:Xo(i,T.tableName),id:T.filterId,tableFilter:T.filterTable,filterColumn:T.filterColumn,onOpenColumn:N})},`${T.tableName}-${T.filterId??""}-${T.filterColumn??""}-${B}`)})]})]})}function A0({crumbs:e,onCrumbClick:n,activeIndex:t}){return a.jsx("nav",{"aria-label":"Drill-down breadcrumb",className:"flex items-center gap-1 px-2 py-1 bg-muted/20 border-b border-border shrink-0 overflow-x-auto",children:e.map((r,o)=>{const s=r.index===t,i=o===0;return a.jsxs("span",{className:"inline-flex items-center gap-1 shrink-0",children:[!i&&a.jsx(cn,{className:"size-3 text-muted-foreground shrink-0"}),a.jsxs(X,{variant:s?"secondary":"ghost",size:"sm",className:ee("h-6 px-2 text-xs gap-1",s&&"font-semibold"),onClick:()=>n(r.index),"aria-current":s?"page":void 0,title:r.detail?`${r.label} (${r.detail})`:r.label,children:[i&&a.jsx(hp,{className:"size-3"}),a.jsx("span",{className:"truncate max-w-[12rem]",children:r.label}),r.detail&&a.jsx("span",{className:"text-muted-foreground font-normal truncate max-w-[10rem]",children:r.detail})]})]},`${r.index}-${r.label}`)})})}function Jf({title:e,selectedRowId:n,expanded:t,active:r,onToggle:o,onClose:s,onRef:i,children:l}){return a.jsxs("div",{ref:i,className:"shrink-0 flex flex-col border border-border rounded-sm overflow-hidden",children:[a.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted/30 border-b border-border shrink-0",children:[a.jsx("button",{type:"button",onClick:o,className:"inline-flex items-center justify-center size-5 shrink-0 text-muted-foreground hover:text-foreground","aria-expanded":t,"aria-label":t?"Collapse table":"Expand table",title:t?"Collapse":"Expand",children:t?a.jsx(Gt,{className:"size-3.5"}):a.jsx(cn,{className:"size-3.5"})}),a.jsx("span",{className:"text-xs font-medium truncate",children:e}),r&&a.jsx("span",{className:"text-[10px] uppercase tracking-wide text-primary/70 shrink-0",children:"active"}),!t&&n&&a.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["#",n]}),a.jsx("div",{className:"flex-1"}),s&&a.jsx(X,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:s,"aria-label":"Close column",title:"Close column",children:a.jsx(Ae,{className:"size-3.5"})})]}),t&&a.jsx("div",{className:"flex flex-col min-h-[18rem] max-h-[34rem]",children:l})]})}function ha(){const e=as(),{loading:n,error:t,data:r}=Ge(),{mainTable:o,columns:s,focusedIndex:i,focusColumn:l,closeColumn:c}=R0(),[d,f]=M.useState(""),u=Nr(),{search:m}=Oa(),p=!!m.get("filter"),{back:h,hasBack:g}=Dm(),v=e?.table,y=s.length>0,b=M.useMemo(()=>r?.find(w=>w.graphQlName===v),[r,v]),S=M.useMemo(()=>b?.columns?.map(w=>({key:w.name,value:`${w.name},${w.paramType}`,label:w.label})),[b]),[_,E]=M.useState(S?.at(0)?.value??"");M.useEffect(()=>{f(""),E(S?.at(0)?.value??"")},[S]);const C=()=>{if(!d)return;const[w,k]=_.split(",");(k==="Int"||k==="Int!"||k==="Float"||k==="Float!")&&u(`?filter=["${w}", "_eq", ${d}, "${k}"]`),(k==="String"||k==="String!")&&u(`?filter=["${w}", "_contains", "${d}", "${k}"]`)},N=()=>{f("");const w=new URLSearchParams(m.toString());w.delete("filter");const k=w.toString();u(k?`?${k}`:"?")};return n?a.jsxs("div",{className:"flex items-center gap-2 p-2.5",children:[a.jsx(vt,{className:"size-4 animate-spin text-muted-foreground"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]}):t?a.jsx(Dn,{variant:"destructive",className:"m-2",children:a.jsxs(On,{children:["Error: ",t.message]})}):a.jsxs("header",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 px-3 py-1.5 min-h-[2.5rem]",children:[a.jsxs("div",{className:"flex items-center gap-1.5 overflow-x-auto min-w-0 flex-1",children:[a.jsx(X,{variant:"ghost",size:"icon-sm",onClick:()=>g&&h(),disabled:!g,"aria-label":"Go back",title:"Go back",className:"shrink-0",children:a.jsx(cs,{className:"size-4"})}),y?a.jsxs("div",{className:"flex items-center gap-1 overflow-x-auto",children:[a.jsx("button",{type:"button",onClick:()=>l(0),className:`flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium whitespace-nowrap transition-colors ${i===0?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted"}`,children:b?.label??kr(e?.table??"")}),s.map((w,k)=>{const F=r?.find(P=>P.graphQlName===w.panel.tableName)?.label??kr(w.panel.tableName);return a.jsxs("button",{type:"button",onClick:()=>l(k+1),className:`flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium whitespace-nowrap transition-colors ${i===k+1?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted"}`,children:[F,a.jsx("span",{role:"button",tabIndex:0,onClick:P=>{P.stopPropagation(),c(k+1)},onKeyDown:P=>{(P.key==="Enter"||P.key===" ")&&(P.stopPropagation(),c(k+1))},className:"ml-0.5 rounded-sm hover:bg-background/50 p-px","aria-label":`Close ${F}`,children:a.jsx(Ae,{className:"size-3"})})]},`${w.panel.tableName}-${w.panel.filterId??k}`)})]}):a.jsx("h2",{className:"text-sm font-semibold whitespace-nowrap",children:b?.dbName??e?.table??"(Select)"})]}),S?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center border border-border rounded-md overflow-hidden flex-[2_2_16rem] min-w-[12rem]",children:[a.jsxs(dt,{value:_,onValueChange:E,children:[a.jsx(mt,{size:"sm",className:"w-auto min-w-[120px] shrink-0 border-0 rounded-none border-r border-border h-8 text-xs",children:a.jsx(ft,{})}),a.jsx(pt,{children:S.map(w=>a.jsx(Ue,{value:w.value,children:w.label},w.key))})]}),a.jsxs("div",{className:"relative flex-1 min-w-[180px]",children:[a.jsx(Ir,{className:"absolute left-3 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground pointer-events-none"}),a.jsx(He,{type:"search",value:d,onChange:w=>f(w.target.value),onKeyDown:w=>w.key==="Enter"&&C(),className:"h-8 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",style:{paddingLeft:"2.25rem"},placeholder:"Search..."})]}),a.jsxs(X,{variant:"ghost",size:"sm",onClick:C,className:"shrink-0 rounded-none border-l border-border h-8 px-3 text-xs",children:[a.jsx(Ht,{className:"size-3.5"}),"Filter"]}),p&&a.jsx(X,{variant:"ghost",size:"sm",onClick:N,title:"Clear filter","aria-label":"Clear filter",className:"shrink-0 rounded-none border-l border-border h-8 px-2 text-xs text-muted-foreground",children:a.jsx(Ae,{className:"size-3.5"})})]}),a.jsxs("div",{className:"flex items-center gap-px border border-border rounded-md overflow-hidden shrink-0",children:[a.jsxs(X,{variant:"ghost",size:"sm",onClick:()=>u("/"),className:"text-muted-foreground text-xs h-8 px-3 rounded-none",children:[a.jsx(Ae,{className:"size-3.5"}),"Clear"]}),b?.isEditable&&a.jsxs(X,{variant:"default",size:"sm",onClick:()=>u("edit/"),className:"h-8 text-xs px-4 rounded-none",children:[a.jsx(nl,{className:"size-3.5"}),"Add"]})]})]}):null]})}class Qo extends M.Component{constructor(n){super(n),this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,t){const{onError:r,section:o}=this.props;console.error(`Error in ${o??"component"}:`,n,t),r?.(n,t)}handleRetry=()=>{this.setState({hasError:!1,error:null})};render(){const{hasError:n,error:t}=this.state,{children:r,fallback:o,section:s}=this.props;return n?o||a.jsx("div",{className:"flex items-center justify-center p-5 min-h-[100px]",children:a.jsxs(Dn,{variant:"destructive",className:"max-w-[400px]",children:[a.jsx(ds,{className:"size-4"}),a.jsxs(Rl,{children:["Something went wrong",s?` in ${s}`:""]}),a.jsxs(On,{className:"mt-2",children:[a.jsx("p",{children:t?.message??"An unexpected error occurred"}),a.jsx(X,{variant:"destructive",size:"sm",className:"mt-3",onClick:this.handleRetry,children:"Try Again"})]})]})}):r}}function $0(){const{loading:e,error:n,data:t}=Ge();return e?a.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[a.jsx(An,{className:"size-10 animate-pulse"}),a.jsx("p",{className:"text-sm",children:"Loading schema..."})]}):n?a.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-4 max-w-md mx-auto text-center",children:[a.jsx(An,{className:"size-12 text-destructive"}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Connection Error"}),a.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:n.message})]})]}):t.length===0?a.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-4 max-w-md mx-auto text-center",children:[a.jsx(An,{className:"size-12 text-muted-foreground/50"}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"No Tables Found"}),a.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"This database doesn't contain any tables. It may be a new or empty database."}),a.jsx("p",{className:"mt-3 text-xs text-muted-foreground/70",children:"Create tables in your database and reconnect, or try a different connection."})]})]}):a.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-6 max-w-lg mx-auto text-center",children:[a.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground/50",children:[a.jsx(Cp,{className:"size-10"}),a.jsx(xp,{className:"size-6"})]}),a.jsxs("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Select a Table"}),a.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Choose a table from the sidebar to browse and edit its data."})]}),a.jsxs("div",{className:"text-xs text-muted-foreground/60 border border-border rounded-md px-4 py-3 bg-muted/30",children:[a.jsxs("p",{className:"font-medium text-muted-foreground mb-1",children:[t.length," table",t.length!==1?"s":""," available"]}),a.jsxs("p",{className:"leading-relaxed",children:[t.slice(0,8).map(r=>r.label).join(", "),t.length>8?`, and ${t.length-8} more`:""]})]})]})}function D0({children:e}){const{loading:n,error:t}=Ge();return n?a.jsxs("div",{className:"flex items-center justify-center flex-1 gap-3 text-muted-foreground",children:[a.jsx(vt,{className:"size-6 animate-spin"}),a.jsx("span",{className:"text-sm",children:"Connecting to database..."})]}):t?a.jsx("div",{className:"flex items-center justify-center flex-1",children:a.jsxs(Dn,{variant:"destructive",className:"max-w-lg",children:[a.jsx(ds,{className:"size-4"}),a.jsx(Rl,{children:"Database Connection Error"}),a.jsxs(On,{className:"mt-2",children:[a.jsx("p",{className:"text-sm",children:t.message}),a.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Check your connection string and ensure the database server is running."})]})]})}):a.jsx(a.Fragment,{children:e})}const Xf=()=>a.jsxs("div",{className:"flex items-center justify-center gap-2 p-4",children:[a.jsx(vt,{className:"size-4 animate-spin text-muted-foreground"}),a.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]});function O0(){const[e,n]=M.useState(!0);return a.jsx(D0,{children:a.jsx(k0,{children:a.jsxs("div",{className:`grid h-full flex-1 min-h-0 grid-rows-[auto_1fr] ${e?"grid-cols-[minmax(150px,min-content)_1fr]":"grid-cols-[0px_1fr]"} md:grid-cols-[minmax(150px,min-content)_1fr] transition-[grid-template-columns] duration-200`,children:[a.jsxs("div",{className:"col-span-full sticky top-0 z-50 bg-background border-b border-border flex items-center",children:[a.jsx(X,{variant:"ghost",size:"icon",className:"md:hidden ml-1 shrink-0",onClick:()=>n(!e),"aria-label":"Toggle sidebar",title:"Toggle sidebar",children:a.jsx(bp,{className:"size-5"})}),a.jsx("div",{className:"flex-1 min-w-0",children:a.jsx(Qo,{section:"Header",children:a.jsxs(ls,{children:[a.jsx(Fe,{path:"/:table/*",element:a.jsx(ha,{})}),a.jsx(Fe,{path:"/:table",element:a.jsx(ha,{})}),a.jsx(Fe,{path:"/",element:a.jsx(ha,{})})]})})})]}),a.jsx("nav",{"aria-label":"Tables",className:`border-r border-border overflow-hidden min-h-0 ${e?"":"hidden"} md:block`,children:a.jsx(Qo,{section:"Table List",children:a.jsx(Nh,{})})}),a.jsxs("main",{className:"flex flex-col overflow-hidden min-h-0 px-1 py-0.5",children:[a.jsx(Qo,{section:"Data Panel",children:a.jsx(M.Suspense,{fallback:a.jsx(Xf,{}),children:a.jsxs(ls,{children:[a.jsx(Fe,{path:"/:table/from/:filterTable/:id/edit/:editid",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table/from/:filterTable/:id",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table/:id/edit/:editid",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table/:id",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table/edit/:editid",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table/edit",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/:table",element:a.jsx(rn,{})}),a.jsx(Fe,{path:"/",element:a.jsx($0,{})})]})})}),a.jsx(Qo,{section:"Data Edit",children:a.jsx(M.Suspense,{fallback:a.jsx(Xf,{}),children:a.jsxs(ls,{children:[a.jsx(Fe,{path:"/:table/from/:filterTable/:id/edit/:editid",element:a.jsx(Ho,{})}),a.jsx(Fe,{path:"/:table/:id/edit/:editid",element:a.jsx(Ho,{})}),a.jsx(Fe,{path:"/:table/edit/:editid",element:a.jsx(Ho,{})}),a.jsx(Fe,{path:"/:table/edit",element:a.jsx(Ho,{})})]})})})]})]})})})}function V0({onLocate:e}){const n=Da();return M.useEffect(()=>{e?.(n)},[n,e]),a.jsx(O0,{})}function Qf({uri:e,fetcher:n,uiPath:t,onLocate:r,showStats:o=!1}){const s=M.useMemo(()=>n||(e?new za(e):null),[e,n]),i=M.useMemo(()=>new je.QueryClient({defaultOptions:{queries:{staleTime:300*1e3,retry:1}}}),[]);return s?a.jsx(je.QueryClientProvider,{client:i,children:a.jsx(Wm,{value:s,children:a.jsx(Sh,{config:{showStats:o},children:a.jsx(Om,{path:t||"/",children:a.jsx(Jm,{children:a.jsx(V0,{onLocate:r})})})})})}):a.jsx("section",{children:"CONFIG MISSING..."})}ze.Editor=Qf,ze.HttpGraphQLFetcher=za,ze.default=Qf,ze.useTableMutation=Wi,Object.defineProperties(ze,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
106
+ }`},[a,l,x]),{isLoading:k,error:$,data:w}=me.useQuery({queryKey:["editRecord",a.name,r],queryFn:()=>o.query(b,x.variables),enabled:!!a&&!i&&x.filterText!==""}),P=c.useMemo(()=>w?.value?.data?.at(0)??{},[w]),C=c.useMemo(()=>{const z={};for(const{column:I,fkRole:_}of l){const G=_!=="none"||I.enumValues!==void 0&&I.enumValues.length>0;if(_n(I))z[I.name]=hs(P[I.name],Fn(I));else if(Pn.some(U=>U===I.paramType)){const U=P[I.name];z[I.name]=I.isNullable&&U==null?null:!!U}else if(lt(I)){const U=P[I.name];z[I.name]=U==null?"":JSON.stringify(U,null,2)}else if(G){const U=P[I.name];z[I.name]=U??null}else z[I.name]=P[I.name]??""}return z},[P,l]),T=Bt.useForm({defaultValues:C,onSubmit:async({value:z})=>{const I=hl(z,P,l.map(({column:G})=>G));await(i?m.insert:m.update)(I),s()}}),j=Bt.useStore(T.store,z=>z.isDirty),[E,y]=c.useState(!1),S=()=>{j?y(!0):s()};if(k&&!i)return t.jsx(Ze,{open:!0,onOpenChange:z=>{z||s()},children:t.jsxs(et,{showCloseButton:!1,className:"sm:max-w-2xl",children:[t.jsx(tt,{className:"sr-only",children:"Loading record"}),t.jsx(jt,{className:"sr-only",children:"Loading record for editing"}),t.jsxs("div",{className:"flex items-center justify-center gap-2 py-10 text-sm text-muted-foreground",children:[t.jsx(N.LoaderCircle,{className:"size-4 animate-spin"}),"Loading…"]})]})});if($)return t.jsxs("div",{children:["Error: ",$.message]});if(g)return t.jsx(Ze,{open:!0,onOpenChange:z=>{z||s()},children:t.jsxs(et,{showCloseButton:!1,className:"sm:max-w-md",children:[t.jsx(tt,{className:"text-sm font-semibold",children:"Cannot edit record"}),t.jsxs(jt,{className:"text-sm text-muted-foreground",children:["This record can't be opened for editing: its key (",r||"empty",") is missing or malformed for the ",p," table. Return to the grid and try again."]}),t.jsx("div",{className:"flex justify-end",children:t.jsx(W,{type:"button",size:"sm",onClick:s,children:"Close"})})]})});const L=P?.[d]??r,v=l.filter(({column:z})=>Pn.some(I=>I===z.paramType)),M=l.filter(({column:z})=>js(z)),O=l.filter(({column:z})=>!Pn.some(I=>I===z.paramType)&&!js(z));return t.jsxs(Ze,{open:!0,onOpenChange:z=>{z||S()},children:[t.jsxs(et,{showCloseButton:!1,className:"sm:max-w-2xl max-h-[90vh] flex flex-col gap-0 p-0 overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border bg-muted/30 shrink-0",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx(tt,{className:"text-sm font-semibold truncate",children:i?`New ${p}`:`${p} : ${L}`}),t.jsxs(jt,{className:"sr-only",children:[i?"Create":"Edit"," ",p," record"]})]}),t.jsx(W,{type:"button",variant:"ghost",size:"icon-sm",onClick:S,"aria-label":"Close",className:"shrink-0 -mr-1",children:t.jsx(N.X,{className:"size-4"})})]}),m.error&&t.jsxs("div",{className:"flex items-center gap-2 px-5 py-2 bg-destructive/10 border-b border-destructive/20 text-destructive text-sm shrink-0",children:[t.jsx(N.AlertCircle,{className:"size-3.5 shrink-0"}),t.jsx("span",{className:"truncate",children:m.error.message})]}),t.jsxs("form",{onSubmit:z=>{z.preventDefault(),z.stopPropagation(),T.handleSubmit()},className:"flex flex-col flex-1 min-h-0",children:[t.jsxs("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:[O.length>0&&t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-3",children:O.map(({column:z,join:I,fkRole:_})=>t.jsx(kl,{column:z,join:I,fkRole:_,form:T,schema:n},z.name))}),v.length>0&&t.jsx("div",{className:O.length>0?"mt-4 pt-4 border-t border-border":"",children:t.jsx("div",{className:"flex flex-wrap gap-x-6 gap-y-2",children:v.map(({column:z})=>t.jsx(Sl,{column:z,form:T},z.name))})}),M.length>0&&t.jsx("div",{className:O.length>0||v.length>0?"mt-4 pt-4 border-t border-border":"",children:t.jsx("div",{className:"grid gap-3",children:M.map(({column:z})=>t.jsx($l,{column:z,form:T},z.name))})})]}),t.jsxs("div",{className:"flex items-center justify-end gap-2 px-5 py-3 border-t border-border bg-muted/30 shrink-0",children:[t.jsx(W,{type:"button",variant:"outline",size:"sm",onClick:S,children:"Cancel"}),t.jsxs(W,{type:"submit",size:"sm",disabled:m.isPending,children:[m.isPending?t.jsx(N.LoaderCircle,{className:"size-3.5 animate-spin"}):t.jsx(N.Save,{className:"size-3.5"}),i?"Create":"Save"]})]})]})]}),t.jsx(En,{open:E,onOpenChange:y,title:"Discard unsaved changes?",description:t.jsx("p",{children:"You have unsaved changes. Closing now will discard them."}),confirmLabel:"Discard",cancelLabel:"Keep editing",variant:"destructive",onConfirm:()=>{y(!1),s()}})]})}function on(){const{table:e,editid:n}=mn(),r=Wt();return e?t.jsx(ws,{table:e,editid:n??"",onClose:()=>r("../..")}):t.jsx("div",{children:"Table missing"})}function ws({table:e,editid:n,onClose:r}){const s=Pe();return e?s.loading?t.jsx("div",{children:"Loading..."}):s.error?t.jsxs("div",{children:["Error: ",s.error.message]}):s.findTable(e)?t.jsx(Nl,{table:e,schema:s,editid:n,onClose:r}):t.jsxs("div",{className:"p-4 text-sm text-destructive",children:["Table not found: ",e]}):t.jsx("div",{children:"Table missing"})}function wl({current:e,max:n}){const r=n-e,s=r<=10&&r>0,o=r<=0;return t.jsx("div",{className:"text-xs text-right mt-0.5","aria-live":"polite",children:t.jsxs("span",{className:o?"text-destructive font-medium":s?"text-amber-500":"text-muted-foreground",children:[e,"/",n]})})}function Cl({min:e,max:n,step:r}){if(e===void 0&&n===void 0)return null;let s="";return e!=null&&n!==void 0&&n!==null?s=`Range: ${e} to ${n}`:e!=null?s=`Min: ${e}`:n!=null&&(s=`Max: ${n}`),r!=null&&r!==1&&(s+=` (step: ${r})`),t.jsx("div",{className:"text-xs text-muted-foreground mt-0.5","aria-live":"polite",children:s})}function kl({column:e,join:n,fkRole:r,form:s,schema:o}){const i=e.name,a=!e.isNullable;if(r==="member-composite")return null;const l=_n(e),u=vl.some(h=>h===e.paramType),d=e.maxLength&&e.maxLength>0&&!l&&!u;if(e.enumValues&&e.enumValues.length>0)return t.jsx(Tl,{column:e,form:s,isRequired:a});if(n&&o)return r==="anchor-composite"?t.jsx(Fl,{column:e,join:n,form:s,schema:o,isRequired:a}):t.jsx(_l,{column:e,join:n,form:s,schema:o,isRequired:a});const p=e.inputType||(l?Fn(e)?"datetime-local":"date":u?"number":"text"),m=`${i}-error`;return t.jsx(s.Field,{name:i,validators:At(e,a),children:h=>{const{ariaProps:x}=qt(h,m);return t.jsxs("div",{className:"grid gap-1",children:[t.jsxs(ct,{htmlFor:i,className:"text-xs text-muted-foreground",children:[e.label,a&&t.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),t.jsx(ke,{id:i,type:p,value:h.state.value??"",onChange:g=>h.handleChange(g.target.value),onBlur:h.handleBlur,required:a,maxLength:e.maxLength,minLength:e.minLength,min:e.min,max:e.max,step:e.step,pattern:e.pattern,title:e.patternMessage,...x,className:"h-8 text-sm"}),d&&t.jsx(wl,{current:String(h.state.value??"").length,max:e.maxLength}),u&&(e.min!==void 0||e.max!==void 0)&&t.jsx(Cl,{min:e.min,max:e.max,step:e.step}),t.jsx(Vt,{errors:h.state.meta.errors,id:m})]})}})}function Tl({column:e,form:n,isRequired:r}){const s=e.name,o=e.enumValues||[],i=e.enumLabels&&e.enumLabels.length===o.length?e.enumLabels:o,a=`${s}-error`;return t.jsx(n.Field,{name:s,validators:At(e,r),children:l=>{const{ariaProps:u}=qt(l,a);return t.jsxs("div",{className:"grid gap-1",children:[t.jsxs(ct,{htmlFor:s,className:"text-xs text-muted-foreground",children:[e.label,r&&t.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),t.jsxs(Le,{value:vs(l.state.value,!r),onValueChange:d=>l.handleChange(d===nt?null:d),children:[t.jsx(Ae,{id:s,className:"w-full h-8 text-sm",...u,children:t.jsx(Oe,{placeholder:`Select ${e.label}`})}),t.jsxs(qe,{children:[!r&&t.jsx(ge,{value:nt,className:"text-muted-foreground",children:"(none)"}),o.map((d,p)=>t.jsx(ge,{value:d,children:i[p]||d},d))]})]}),t.jsx(Vt,{errors:l.state.meta.errors,id:a})]})}})}const Dn="true",Cs="false";function Sl({column:e,form:n}){const r=e.name;return e.isNullable?t.jsx(n.Field,{name:r,children:s=>{const o=s.state.value,i=o==null?nt:o?Dn:Cs;return t.jsxs("div",{className:"grid gap-1 min-w-[10rem]",children:[t.jsx(ct,{htmlFor:r,className:"text-xs text-muted-foreground",children:e.label}),t.jsxs(Le,{value:i,onValueChange:a=>s.handleChange(a===nt?null:a===Dn),children:[t.jsx(Ae,{id:r,className:"w-full h-8 text-sm",children:t.jsx(Oe,{})}),t.jsxs(qe,{children:[t.jsx(ge,{value:nt,className:"text-muted-foreground",children:"(unset)"}),t.jsx(ge,{value:Dn,children:"Yes"}),t.jsx(ge,{value:Cs,children:"No"})]})]})]})}}):t.jsx(n.Field,{name:r,children:s=>t.jsxs("label",{htmlFor:r,className:"flex items-center gap-2 cursor-pointer select-none",children:[t.jsx(zn,{id:r,checked:!!s.state.value,onCheckedChange:o=>s.handleChange(!!o),onBlur:s.handleBlur}),t.jsx("span",{className:"text-sm",children:e.label})]})})}function $l({column:e,form:n}){const r=e.name,s=!e.isNullable,o=`${r}-error`;return t.jsx(n.Field,{name:r,validators:At(e,s),children:i=>{const{hasError:a}=qt(i,o);return t.jsxs("div",{className:"grid gap-1",children:[t.jsxs(ct,{htmlFor:r,className:"text-xs text-muted-foreground",children:[e.label,s&&t.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),t.jsx(bl,{name:r,label:e.label,value:String(i.state.value??""),dbType:e.dbType,onChange:l=>i.handleChange(l),onBlur:i.handleBlur,required:s,invalid:a}),t.jsx(Vt,{errors:i.state.meta.errors,id:o})]})}})}function _l({column:e,join:n,form:r,schema:s,isRequired:o}){const i=e.name,a=n.destinationColumnNames[0],[l,u]=c.useState(""),[d,p]=c.useState(""),[m,h]=c.useState(!1);c.useEffect(()=>{const T=setTimeout(()=>p(l),300);return()=>clearTimeout(T)},[l]);const x=rl(s,n.destinationTable,a,d,m),g=Bt.useStore(r.store,T=>T.values?.[i]),b=g==null||g===""||x.data.some(T=>String(T.key)===String(g)),k=sl(s,n.destinationTable,a,!x.loading&&!b?g:null),$=`${i}-error`,w=d.trim(),P=x.serverSearch||!w?x.data:x.data.filter(T=>xs(T,"key",w)),C=g==null||g===""?null:x.data.find(T=>String(T.key)===String(g))??k.value??{key:String(g),label:String(g)};return t.jsx(r.Field,{name:i,validators:At(e,o),children:T=>{const{ariaProps:j}=qt(T,$);return t.jsxs("div",{className:"grid gap-1",children:[t.jsxs(ct,{htmlFor:i,className:"text-xs text-muted-foreground",children:[e.label,o&&t.jsx("span",{className:"text-destructive ml-0.5",children:"*"})]}),t.jsxs(Le,{value:vs(T.state.value,!o),onValueChange:E=>T.handleChange(E===nt?null:E),onOpenChange:E=>{h(E),E||(u(""),p(""))},children:[t.jsx(Ae,{id:i,className:"w-full h-8 text-sm",...j,children:t.jsx(Oe,{placeholder:`Select ${e.label}`})}),t.jsxs(qe,{children:[t.jsx("div",{className:"px-1 pb-1 sticky top-0 bg-popover z-10",children:t.jsx(ke,{value:l,onChange:E=>u(E.target.value),onKeyDown:E=>{(E.key.length===1||E.key==="Backspace"||E.key==="Delete")&&E.stopPropagation()},placeholder:"Search…",className:"h-7 text-xs"})}),!o&&t.jsx(ge,{value:nt,className:"text-muted-foreground",children:"(none)"}),C&&!P.some(E=>String(E.key)===String(C.key))&&t.jsx(ge,{value:String(C.key),children:C.label}),P.map(E=>t.jsx(ge,{value:String(E.key),children:E.label},E.key)),P.length===0&&t.jsx("div",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:"No matches."})]})]}),x.error!=null&&t.jsxs("p",{className:"text-xs text-destructive",role:"alert",children:["Failed to load ",e.label," options: ",String(x.error?.message??x.error)]}),t.jsx(Vt,{errors:T.state.meta.errors,id:$})]})}})}function Fl({column:e,join:n,form:r,schema:s,isRequired:o}){const i=n.sourceColumnNames??[],a=n.destinationColumnNames??[],[l,u]=c.useState(""),[d,p]=c.useState(""),[m,h]=c.useState(!1);c.useEffect(()=>{const C=setTimeout(()=>p(l),300);return()=>clearTimeout(C)},[l]);const x=Bt.useStore(r.store,C=>{const T={};for(let j=0;j<i.length;j++)T[a[j]]=C.values?.[i[j]];return T}),g=il(s,n.destinationTable,a,{search:d,enabled:m,currentValues:x}),b=c.useMemo(()=>{const C=[];for(let T=0;T<i.length;T++){const j=x[a[T]];if(j==null||j==="")return"";C.push(j)}return xt(C)},[x,i,a]),k=d.trim(),$=g.serverSearch||!k?g.data:g.data.filter(C=>C.label.toLowerCase().includes(k.toLowerCase())),w=C=>{const T=g.data.find(j=>j.route===C);if(T)for(let j=0;j<i.length;j++){const E=a[j],y=i[j];r.setFieldValue(y,T.values[E])}},P=`${e.name}-error`;return t.jsx(r.Field,{name:e.name,validators:At(e,o),children:C=>{const{ariaProps:T}=qt(C,P);return t.jsxs("div",{className:"grid gap-1 sm:col-span-2",children:[t.jsxs(ct,{htmlFor:e.name,className:"text-xs text-muted-foreground",children:[e.label,o&&t.jsx("span",{className:"text-destructive ml-0.5",children:"*"}),t.jsxs("span",{className:"ml-2 px-1 rounded bg-primary/10 text-[10px] font-medium text-primary",children:["composite FK (",i.length," cols)"]})]}),t.jsxs(Le,{value:b,onValueChange:w,onOpenChange:j=>{h(j),j||(u(""),p(""))},children:[t.jsx(Ae,{id:e.name,className:"w-full h-8 text-sm",...T,children:t.jsx(Oe,{placeholder:`Select ${e.label}`})}),t.jsxs(qe,{children:[t.jsx("div",{className:"px-1 pb-1 sticky top-0 bg-popover z-10",children:t.jsx(ke,{value:l,onChange:j=>u(j.target.value),onKeyDown:j=>{(j.key.length===1||j.key==="Backspace"||j.key==="Delete")&&j.stopPropagation()},placeholder:"Search…",className:"h-7 text-xs"})}),$.map(j=>t.jsx(ge,{value:j.route,children:j.label},j.route)),$.length===0&&t.jsx("div",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:"No matches."})]})]}),g.error!=null&&t.jsxs("p",{className:"text-xs text-destructive",role:"alert",children:["Failed to load ",e.label," options: ",String(g.error?.message??g.error)]}),t.jsx(Vt,{errors:C.state.meta.errors,id:P})]})}})}function Vt({errors:e,id:n}){return e.length===0?null:t.jsx("div",{id:n,role:"alert",children:e.map((r,s)=>t.jsx("p",{className:"text-xs text-destructive",children:String(r)},s))})}const ks=40,Ts=32;function zl({className:e,...n}){return t.jsx("div",{"data-slot":"table-container",className:"relative w-full h-full overflow-x-auto",children:t.jsx("table",{"data-slot":"table",className:H("min-w-full caption-bottom text-sm border-separate border-spacing-0",e),...n})})}function El({className:e,...n}){return t.jsx("thead",{"data-slot":"table-header",className:H("[&_tr]:border-b",e),...n})}function Pl({className:e,...n}){return t.jsx("tbody",{"data-slot":"table-body",className:H("[&_tr:last-child]:border-0 [&_tr:nth-child(even)]:bg-muted/25",e),...n})}function an({className:e,style:n,...r}){return t.jsx("tr",{"data-slot":"table-row",className:H("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),style:{height:ks,...n},...r})}function Dl({className:e,style:n,...r}){return t.jsx("th",{"data-slot":"table-head",className:H("px-2 text-left align-middle font-medium whitespace-nowrap text-muted-foreground text-xs border-r border-border last:border-r-0 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),style:{height:Ts,...n},...r})}function Mn({className:e,...n}){return t.jsx("td",{"data-slot":"table-cell",className:H("px-2 py-1 align-middle whitespace-nowrap text-[13px] overflow-hidden text-ellipsis border-r border-border last:border-r-0 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...n})}function Ml({anchorEl:e,onEdit:n,onDelete:r,onMouseEnter:s,onDismiss:o}){const i=c.useRef(null);return c.useEffect(()=>{const a=i.current;return a?((()=>{const u=e.getBoundingClientRect(),d=a.offsetHeight,p=a.offsetWidth;a.style.top=`${u.top+(u.height-d)/2}px`;const m=Math.min(u.right-p-8,window.innerWidth-p-8);a.style.left=`${Math.max(8,m)}px`})(),a.showPopover(),()=>{try{a.hidePopover()}catch{}}):void 0},[e]),c.useEffect(()=>{const a=l=>{const u=i.current;u&&!u.contains(l.target)&&o()};return document.addEventListener("pointerdown",a),()=>document.removeEventListener("pointerdown",a)},[o]),t.jsxs("div",{ref:i,popover:"manual",className:"flex items-center gap-0.5 rounded-md border border-border bg-popover px-1 py-0.5 shadow-md m-0",style:{position:"fixed"},onClick:a=>a.stopPropagation(),onMouseEnter:s,onMouseLeave:o,onFocusCapture:s,onBlur:a=>{a.currentTarget.contains(a.relatedTarget)||o()},children:[n&&t.jsx(W,{variant:"ghost",size:"icon-sm",onClick:n,"aria-label":"Edit row",title:"Edit",className:"size-6",children:t.jsx(N.Pencil,{className:"size-3.5"})}),r&&t.jsx(W,{variant:"ghost",size:"icon-sm",onClick:r,"aria-label":"Delete row",title:"Delete",className:"size-6 text-destructive hover:text-destructive",children:t.jsx(N.Trash2,{className:"size-3.5"})})]})}const In=60,Ss=450,Il=150,Ln="bifrost-col-sizes:";function $s(e){try{const n=localStorage.getItem(Ln+e);return n?Ll(JSON.parse(n)):{}}catch{return{}}}function Ll(e){if(typeof e!="object"||e===null||Array.isArray(e))return{};const n={};for(const[r,s]of Object.entries(e))typeof s!="number"||!Number.isFinite(s)||(n[r]=Math.min(Math.max(s,In),Ss));return n}function On(e,n){try{Object.keys(n).length===0?localStorage.removeItem(Ln+e):localStorage.setItem(Ln+e,JSON.stringify(n))}catch{}}const Ol=[10,20,30,50,100],An=-1;function Al({columns:e,data:n,tableName:r,pageCount:s,pageIndex:o,pageSize:i,sorting:a,columnFilters:l,loading:u,selectable:d=!1,primaryKeys:p=[],selectedRowId:m,onRowSelect:h,onSortingChange:x,onColumnFiltersChange:g,onPageIndexChange:b,onPageSizeChange:k,onEditRow:$,onDeleteRow:w,onDeleteSelected:P,stackingEnabled:C,onToggleStacking:T}){const[j,E]=c.useState(null),y=c.useRef(null),S=c.useCallback((D,K)=>{y.current&&(clearTimeout(y.current),y.current=null),E({rowId:D,el:K})},[]),L=c.useCallback(()=>{y.current&&clearTimeout(y.current),y.current=setTimeout(()=>E(null),150)},[]),v=c.useCallback(()=>{y.current&&(clearTimeout(y.current),y.current=null)},[]),M=c.useRef(null),O=c.useRef(!1),z=c.useRef(!1),I=500,_=c.useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null)},[]),G=c.useCallback((D,K,de)=>{de.pointerType==="touch"&&(O.current=!1,_(),M.current=setTimeout(()=>{O.current||(z.current=!0,S(D,K))},I))},[_,S]),U=c.useCallback(()=>{O.current=!0,_()},[_]),[ie,B]=c.useState({}),[Te,ye]=c.useState({}),[xe,le]=c.useState(()=>r?$s(r):{}),[re,ae]=c.useState(!0),J=c.useRef(null),ce=c.useRef(null),R=c.useRef(!0);c.useEffect(()=>{const D=ce.current;if(D&&D.tableName!==r&&(ce.current=null,On(D.tableName,D.sizing)),!r)return;if(R.current){R.current=!1;return}ce.current={tableName:r,sizing:xe};const K=setTimeout(()=>{ce.current=null,On(r,xe)},300);return()=>clearTimeout(K)},[r,xe]),c.useEffect(()=>()=>{const D=ce.current;D&&On(D.tableName,D.sizing)},[]);const Ne=c.useRef(r);if(r&&r!==Ne.current){Ne.current=r,R.current=!0;const D=$s(r);le(D)}const Be=c.useCallback(D=>{const K=J.current;if(!K)return;const de=K.querySelectorAll(`[data-col-id="${D}"]`);let Ee=In;de.forEach(We=>{const dn=We.scrollWidth+4;dn>Ee&&(Ee=dn)});const mt=Math.min(Ee,Ss);le(We=>({...We,[D]:mt}))},[]),ze=c.useCallback(()=>{le({})},[]),Ke=c.useRef(0),De=c.useCallback(()=>{const D=J.current;return D?Math.max(5,Math.floor((D.clientHeight-Ts)/ks)):10},[]);c.useEffect(()=>{if(!re)return;const D=J.current;if(!D)return;const K=()=>{const We=De();We!==Ke.current&&(Ke.current=We,k(We))},de=requestAnimationFrame(K);let Ee=null;const mt=new ResizeObserver(()=>{Ee&&clearTimeout(Ee),Ee=setTimeout(()=>requestAnimationFrame(K),200)});return mt.observe(D),()=>{cancelAnimationFrame(de),Ee&&clearTimeout(Ee),mt.disconnect()}},[re,De,k]),c.useEffect(()=>{ye({})},[n,o]);const Ge=c.useMemo(()=>{const D=[];return d&&D.push({id:"_select",header:({table:K})=>t.jsx(zn,{checked:K.getIsAllPageRowsSelected()||K.getIsSomePageRowsSelected()&&"indeterminate",onCheckedChange:de=>K.toggleAllPageRowsSelected(!!de),"aria-label":"Select all"}),cell:({row:K})=>t.jsx(zn,{checked:K.getIsSelected(),onCheckedChange:de=>K.toggleSelected(!!de),onClick:de=>de.stopPropagation(),"aria-label":"Select row"}),enableSorting:!1,enableHiding:!1,enableResizing:!1,size:32}),D.push(...e),D},[e,d]),ue=Kt.useReactTable({data:n,columns:Ge,pageCount:s,getRowId:(D,K)=>_t(D,{primaryKeys:p},K),state:{sorting:a,columnFilters:l,pagination:{pageIndex:o,pageSize:i},columnVisibility:ie,rowSelection:Te,columnSizing:xe},defaultColumn:{minSize:In,size:Il},columnResizeMode:"onChange",enableColumnResizing:!0,onColumnSizingChange:le,meta:{onResetColumnWidths:ze},onSortingChange:D=>{const K=typeof D=="function"?D(a):D;x(K)},onPaginationChange:D=>{const de=typeof D=="function"?D({pageIndex:o,pageSize:i}):D;de.pageSize!==i?(k(de.pageSize),b(0)):b(de.pageIndex)},onColumnFiltersChange:D=>{const K=typeof D=="function"?D(l):D;g(K)},onColumnVisibilityChange:B,onRowSelectionChange:ye,enableRowSelection:d,getCoreRowModel:Kt.getCoreRowModel(),manualSorting:!0,manualFiltering:!0,manualPagination:!0}),X=Object.keys(Te).length,se=ue.getVisibleLeafColumns().map(D=>D.id).join("|"),Se=c.useCallback(()=>{if(!P)return;const D=[];for(const K of ue.getSelectedRowModel().rows){const de=gt(K.original,{primaryKeys:p});de&&D.push(de)}D.length>0&&P(D)},[ue,P,p]),$e=c.useCallback(D=>{const K=ue.getRow(D);return K?gt(K.original,{primaryKeys:p}):null},[ue,p]),rt=c.useCallback(D=>{if(!$)return;const K=$e(D);K&&$(K)},[$,$e]),Je=c.useCallback(D=>{if(!w)return;const K=$e(D);K&&w(K)},[w,$e]),ut=c.useCallback(()=>{j&&rt(j.rowId)},[j,rt]),st=c.useCallback(()=>{j&&Je(j.rowId)},[j,Je]);return t.jsxs("div",{className:"flex flex-col w-full min-h-0 flex-1",children:[t.jsxs("div",{className:"flex items-center justify-between py-1 px-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[l.length>0&&t.jsxs(W,{variant:"outline",size:"sm",onClick:()=>ue.resetColumnFilters(),title:"Clear all column filters",children:[t.jsx(N.FilterX,{className:"size-3.5"}),"Clear filters"]}),X>0&&P&&t.jsxs(t.Fragment,{children:[t.jsxs("span",{className:"text-xs text-muted-foreground",children:[X," selected"]}),t.jsxs(W,{variant:"outline",size:"sm",onClick:Se,className:"text-destructive hover:text-destructive",children:[t.jsx(N.Trash2,{className:"size-3.5"}),"Delete"]})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[T&&t.jsxs(W,{variant:C?"secondary":"outline",size:"sm",role:"switch","aria-checked":!!C,onClick:()=>T(!C),title:C?"Stacked drill-down active — click for flat grid":"Flat grid active — click for stacked drill-down",children:[C?t.jsx(N.PanelRight,{className:"size-3.5"}):t.jsx(N.Rows3,{className:"size-3.5"}),C?"Stacked":"Grid"]}),t.jsxs(Yr,{children:[t.jsx(Rr,{asChild:!0,children:t.jsxs(W,{variant:"outline",size:"sm",children:[t.jsx(N.Columns3,{className:"size-3.5"}),"Columns",t.jsx(N.ChevronDown,{className:"size-3.5"})]})}),t.jsx(Xr,{align:"end",children:ue.getAllColumns().filter(D=>D.getCanHide()).map(D=>{const de=D.columnDef.meta?.column?.label??(typeof D.columnDef.header=="string"?D.columnDef.header:D.id);return t.jsx(Ja,{checked:D.getIsVisible(),onCheckedChange:Ee=>D.toggleVisibility(!!Ee),children:de},D.id)})})]})]})]}),t.jsxs("div",{ref:J,className:"flex-1 overflow-auto min-h-0",children:[t.jsxs(zl,{style:{tableLayout:"fixed",width:ue.getTotalSize()},children:[t.jsx("colgroup",{children:ue.getVisibleLeafColumns().map(D=>t.jsx("col",{style:{width:D.getSize()}},D.id))}),t.jsx(El,{children:ue.getHeaderGroups().map(D=>t.jsx(an,{children:D.headers.map(K=>t.jsxs(Dl,{"data-col-id":K.column.id,className:"relative","aria-sort":K.column.getIsSorted()==="asc"?"ascending":K.column.getIsSorted()==="desc"?"descending":K.column.getCanSort()?"none":void 0,children:[K.isPlaceholder?null:Kt.flexRender(K.column.columnDef.header,K.getContext()),K.column.getCanResize()&&t.jsx("div",{onMouseDown:K.getResizeHandler(),onTouchStart:K.getResizeHandler(),onDoubleClick:()=>Be(K.column.id),className:`absolute top-0 right-0 w-1 h-full cursor-col-resize select-none touch-none opacity-0 hover:opacity-100 transition-opacity ${K.column.getIsResizing()?"bg-primary opacity-100":"bg-border hover:bg-muted-foreground"}`})]},K.id))},D.id))}),t.jsx(Pl,{children:u?t.jsx(an,{children:t.jsx(Mn,{colSpan:Ge.length,className:"h-24 text-center",children:"Loading..."})}):ue.getRowModel().rows.length===0?t.jsx(an,{children:t.jsx(Mn,{colSpan:Ge.length,className:"h-24 text-center",children:"No results."})}):ue.getRowModel().rows.map(D=>t.jsx(Vl,{row:D,isSelected:m!=null&&D.id===m,checked:D.getIsSelected(),visibleKey:se,onRowSelect:h,onEditRow:$?rt:void 0,onDeleteRow:w?Je:void 0,suppressClick:z,hoverRow:S,scheduleDismiss:L,startPress:G,onPressMove:U,cancelPress:_},D.id))})]}),j&&($||w)&&t.jsx(Ml,{anchorEl:j.el,onEdit:$?ut:void 0,onDelete:w?st:void 0,onMouseEnter:v,onDismiss:L})]}),t.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-t border-border mt-auto shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[t.jsx("span",{children:"Rows per page"}),t.jsxs(Le,{value:String(re?An:i),onValueChange:D=>{const K=Number(D);K===An?(ae(!0),k(De())):(ae(!1),k(K))},children:[t.jsx(Ae,{size:"sm",className:"w-auto h-7 text-xs","aria-label":"Rows per page",children:t.jsx(Oe,{children:re?"Fit":i})}),t.jsxs(qe,{children:[t.jsx(ge,{value:String(An),children:"Fit"}),Ol.map(D=>t.jsx(ge,{value:String(D),children:D},D))]})]})]}),t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsxs("span",{className:"text-xs text-muted-foreground mr-2",children:["Page ",o+1," of ",s||1]}),t.jsx(W,{variant:"outline",size:"icon-sm",onClick:()=>b(0),disabled:o===0,"aria-label":"First page",title:"First page",children:t.jsx(N.ChevronsLeft,{className:"size-4"})}),t.jsx(W,{variant:"outline",size:"icon-sm",onClick:()=>b(o-1),disabled:!ue.getCanPreviousPage(),"aria-label":"Previous page",title:"Previous page",children:t.jsx(N.ChevronLeft,{className:"size-4"})}),t.jsx(W,{variant:"outline",size:"icon-sm",onClick:()=>b(o+1),disabled:!ue.getCanNextPage(),"aria-label":"Next page",title:"Next page",children:t.jsx(N.ChevronRight,{className:"size-4"})}),t.jsx(W,{variant:"outline",size:"icon-sm",onClick:()=>b(s-1),disabled:o>=s-1,"aria-label":"Last page",title:"Last page",children:t.jsx(N.ChevronsRight,{className:"size-4"})})]})]})]})}function ql({row:e,isSelected:n,checked:r,onRowSelect:s,onEditRow:o,onDeleteRow:i,suppressClick:a,hoverRow:l,scheduleDismiss:u,startPress:d,onPressMove:p,cancelPress:m}){const h=!!(s||o||i);return t.jsx(an,{"data-state":n||r?"selected":void 0,className:s?"cursor-pointer group/row focus-visible:outline-2 focus-visible:outline-primary":"group/row focus-visible:outline-2 focus-visible:outline-primary",tabIndex:h?0:void 0,onClick:s?()=>{if(a.current){a.current=!1;return}window.getSelection()?.toString()||s(n?null:e.id)}:void 0,onKeyDown:h?x=>{x.target===x.currentTarget&&((x.key==="Enter"||x.key===" ")&&s?(x.preventDefault(),s(n?null:e.id)):(x.key==="e"||x.key==="E")&&o?(x.preventDefault(),o(e.id)):(x.key==="Delete"||x.key==="Backspace")&&i&&(x.preventDefault(),i(e.id)))}:void 0,onFocus:x=>{x.target===x.currentTarget&&l(e.id,x.currentTarget)},onBlur:x=>{x.currentTarget.contains(x.relatedTarget)||u()},onPointerEnter:x=>{x.pointerType==="mouse"&&l(e.id,x.currentTarget)},onPointerLeave:x=>{x.pointerType==="mouse"&&u()},onPointerDown:x=>d(e.id,x.currentTarget,x),onPointerMove:p,onPointerUp:m,onPointerCancel:m,children:e.getVisibleCells().map(x=>t.jsx(Mn,{"data-col-id":x.column.id,children:Kt.flexRender(x.column.columnDef.cell,x.getContext())},x.id))})}const Vl=c.memo(ql);function Bl({...e}){return t.jsx(Q.Dialog.Root,{"data-slot":"sheet",...e})}function Kl({...e}){return t.jsx(Q.Dialog.Portal,{"data-slot":"sheet-portal",...e})}function Gl({className:e,...n}){return t.jsx(Q.Dialog.Overlay,{"data-slot":"sheet-overlay",className:H("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...n})}function Jl({className:e,children:n,side:r="right",...s}){return t.jsxs(Kl,{children:[t.jsx(Gl,{}),t.jsxs(Q.Dialog.Content,{"data-slot":"sheet-content",className:H("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out duration-200 outline-none","data-[state=closed]:animate-out data-[state=open]:animate-in data-[state=closed]:duration-200 data-[state=open]:duration-200",r==="right"&&"inset-y-0 right-0 h-full w-3/4 max-w-md border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right",r==="left"&&"inset-y-0 left-0 h-full w-3/4 max-w-md border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",r==="top"&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",r==="bottom"&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",e),...s,children:[n,t.jsxs(Q.Dialog.Close,{"data-slot":"sheet-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[t.jsx(N.XIcon,{}),t.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function Wl({className:e,...n}){return t.jsx("div",{"data-slot":"sheet-header",className:H("flex flex-col gap-2 p-4 pb-0",e),...n})}function Hl({className:e,...n}){return t.jsx(Q.Dialog.Title,{"data-slot":"sheet-title",className:H("text-lg leading-none font-semibold",e),...n})}function Ql({className:e,...n}){return t.jsx(Q.Dialog.Description,{"data-slot":"sheet-description",className:H("text-sm text-muted-foreground",e),...n})}const Yl={json:N.Braces,xml:N.Code,"php-serialized":N.Database,binary:N.Binary,longtext:N.FileText,text:N.FileText},Rl={json:"JSON",xml:"XML","php-serialized":"PHP Serialized",binary:"Binary",longtext:"Text",text:"Text"};function Xl(e,n){if(n==="json")try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return n==="xml"?e.replace(/>\s*</g,`>
107
+ <`).trim():e}function Ul({target:e,onClose:n,onNavigate:r,onSave:s,canNavigatePrev:o,canNavigateNext:i}){const[a,l]=c.useState(!1),[u,d]=c.useState(!1),[p,m]=c.useState(""),[h,x]=c.useState(!1),[g,b]=c.useState(!1),k=c.useRef(null),$=e?.value??"",w=Nn($,e?.dbType),P=Yl[w],C=Xl($,w);c.useEffect(()=>{d(!1),m(""),x(!1),b(!1)},[e?.rowKey,e?.columnName]),c.useEffect(()=>{if(!e)return;const _=G=>{u||(G.key==="ArrowUp"&&o?(G.preventDefault(),r("prev")):G.key==="ArrowDown"&&i&&(G.preventDefault(),r("next")))};return window.addEventListener("keydown",_),()=>window.removeEventListener("keydown",_)},[e,u,o,i,r]);const T=c.useCallback(()=>{navigator.clipboard.writeText($),x(!0),setTimeout(()=>x(!1),1500)},[$]),j=c.useCallback(()=>{m(C),d(!0),requestAnimationFrame(()=>k.current?.focus())},[C]),E=c.useCallback(()=>{d(!1),m("")},[]),y=c.useCallback(async()=>{if(p===C){d(!1);return}if(!(!s||g)){b(!0);try{await s(p),d(!1)}catch{}finally{b(!1)}}},[s,p,C,g]),S=c.useCallback(()=>{if(w==="json")try{m(JSON.stringify(JSON.parse(p),null,2))}catch{}else w==="xml"&&m(p.replace(/>\s*</g,`>
108
+ <`).trim())},[p,w]),L=w==="json"||w==="xml",v=!!s&&!e?.isReadOnly&&w!=="binary",M=t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsx(P,{className:"size-4 text-muted-foreground shrink-0"}),t.jsx("span",{className:"truncate font-semibold text-sm",children:e?.columnLabel}),t.jsx("span",{className:"text-xs text-muted-foreground shrink-0",children:Rl[w]}),t.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[$.length," chars"]})]}),O=t.jsxs("div",{className:"flex items-center gap-1 px-4 pb-2",children:[t.jsxs(W,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:T,children:[h?t.jsx(N.Check,{className:"size-3"}):t.jsx(N.Copy,{className:"size-3"}),h?"Copied":"Copy"]}),v&&!u&&t.jsxs(W,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:j,children:[t.jsx(N.Pencil,{className:"size-3"}),"Edit"]}),u&&L&&t.jsxs(W,{type:"button",variant:"ghost",size:"sm",className:"h-7 text-xs px-2",onClick:S,children:[t.jsx(N.WrapText,{className:"size-3"}),"Format"]}),t.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[t.jsx(W,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>r("prev"),disabled:!o,"aria-label":"Previous row",title:"Previous row",children:t.jsx(N.ChevronUp,{className:"size-4"})}),t.jsx(W,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>r("next"),disabled:!i,"aria-label":"Next row",title:"Next row",children:t.jsx(N.ChevronDown,{className:"size-4"})}),t.jsx(W,{type:"button",variant:"ghost",size:"icon-sm",onClick:()=>l(_=>!_),"aria-label":a?"Exit full screen":"Full screen",title:a?"Exit full screen":"Full screen",children:a?t.jsx(N.Minimize2,{className:"size-4"}):t.jsx(N.Maximize2,{className:"size-4"})})]})]}),z=t.jsx("div",{className:"flex-1 min-h-0 overflow-auto px-4 pb-4",children:u?t.jsxs("div",{className:"flex flex-col gap-2 h-full",children:[t.jsx("textarea",{ref:k,value:p,onChange:_=>m(_.target.value),className:H("flex-1 w-full rounded-md border border-input bg-background px-3 py-2","text-xs font-mono leading-relaxed","ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2","resize-none min-h-[200px]")}),t.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[t.jsx(W,{type:"button",variant:"ghost",size:"sm",onClick:E,disabled:g,children:"Cancel"}),t.jsx(W,{type:"button",size:"sm",onClick:y,disabled:g,children:g?"Saving…":"Save"})]})]}):t.jsx("pre",{className:"text-xs font-mono leading-relaxed whitespace-pre-wrap break-all",children:C})}),I=!!e;return t.jsxs(t.Fragment,{children:[t.jsx(Bl,{open:I&&!a,onOpenChange:_=>{_||n()},children:t.jsxs(Jl,{side:"right",className:"w-[480px] max-w-[90vw]",children:[t.jsxs(Wl,{children:[t.jsx(Hl,{children:M}),t.jsx(Ql,{className:"sr-only",children:"Content viewer panel"})]}),O,z]})}),t.jsx(Ze,{open:I&&a,onOpenChange:_=>{_||l(!1)},children:t.jsxs(et,{className:"max-w-[90vw] max-h-[90vh] w-full h-full flex flex-col",children:[t.jsxs(Ot,{children:[t.jsx(tt,{children:M}),t.jsx(jt,{className:"sr-only",children:"Content viewer full screen"})]}),O,z]})})]})}function qn({table:e,id:n,tableFilter:r,filterColumn:s,selectedRowId:o,onRowSelect:i,onOpenColumn:a,stackingEnabled:l,onToggleStacking:u}){const d=cs(e),[p,m]=c.useState(null),[h,x]=c.useState(null),[g,b]=c.useState(null),k=c.useRef([]),$=c.useCallback(X=>{x(vn(X,e))},[e]),w=c.useCallback(X=>{m({type:"single",pk:X})},[]),P=c.useCallback(X=>{X.length!==0&&m({type:"batch",pks:X})},[]),C=c.useCallback((X,se)=>{const Se=k.current[X];b({columnName:se,pk:Se?gt(Se,e):null,rowIndex:X,tableName:e.name})},[e]),{columns:T,sorting:j,columnFilters:E,pageIndex:y,pageSize:S,pageCount:L,rows:v,loading:M,error:O,onSortingChange:z,onColumnFiltersChange:I,onPageIndexChange:_,onPageSizeChange:G}=Gi(e,n,r,s,C,a),U=c.useCallback(async()=>{if(p)try{p.type==="single"?await d.deleteRow(p.pk):await d.deleteRows(p.pks),m(null)}catch{}},[p,d]),ie=p?.type==="batch"?p.pks.length:1;k.current=v;const{toast:B}=rn(),Te=Ce(),ye=e.isEditable!==!1,xe=c.useMemo(()=>g?.pk?vn(g.pk,e):null,[g,e]),le=c.useMemo(()=>!g||g.tableName!==e.name?-1:xe===null?g.rowIndex<v.length?g.rowIndex:-1:v.findIndex(X=>{const se=gt(X,e);return se!==null&&vn(se,e)===xe}),[g,xe,v,e]),re=le>=0?v[le]:void 0;c.useEffect(()=>{g!==null&&g.tableName!==e.name&&b(null)},[g,e.name]),c.useEffect(()=>{g!==null&&g.tableName===e.name&&!M&&le===-1&&(b(null),B("Row is no longer in the current view; panel closed.","error"))},[g,e.name,M,le,B]);const ae=c.useMemo(()=>{if(!g||!re)return null;const X=e.columns.find(rt=>rt.name===g.columnName);if(!X)return null;const se=re[g.columnName],Se=lt(X);return{value:se==null?"":Se||typeof se=="object"?JSON.stringify(se,null,2):String(se),columnName:X.name,columnLabel:X.label,dbType:X.dbType,rowKey:xe??`row-${g.rowIndex}`,isReadOnly:X.isReadOnly||X.isPrimaryKey||X.isIdentity}},[g,re,xe,e]),J=c.useMemo(()=>g?.pk?yn(g.pk,e):null,[g,e]),ce=c.useMemo(()=>e.columns.filter(X=>!X.isReadOnly&&!X.isIdentity),[e]),R=c.useMemo(()=>ce.filter(X=>!X.isNullable||X.name===g?.columnName),[ce,g?.columnName]),Ne=c.useMemo(()=>R.map(X=>({column:X})),[R]),Be=c.useMemo(()=>{const X=new Map(e.columns.map(se=>[se.name,se]));return(e.primaryKeys??[]).map(se=>X.get(se)).filter(se=>!!se)},[e]),ze=sn(e,Ne,Be,xe??""),Ke=ye&&J!==null&&!ze.isPending,De=c.useCallback(async X=>{if(!g||!J)return;const se=e.columns.find($e=>$e.name===g.columnName);let Se=X;if(se&&lt(se))try{Se=JSON.parse(X)}catch{}try{const $e=Ta(e,J,R.map(st=>st.name)),Je=(await Te.query($e,J.variables))?.value?.data?.[0];if(!Je)throw new Error("Row no longer exists.");const ut={};for(const st of R)ut[st.name]=Je[st.name]??null;ut[g.columnName]=Se,await ze.update(ut)}catch($e){throw B(`Save failed: ${$e.message}`,"error"),$e}},[g,J,e,R,ze,Te,B]),Ge=c.useCallback(()=>{b(null)},[]),ue=c.useCallback(X=>{if(!g||le<0)return;const se=X==="prev"?Math.max(0,le-1):Math.min(v.length-1,le+1);C(se,g.columnName)},[g,le,v.length,C]);return O?t.jsx(pt,{variant:"destructive",className:"m-2",children:t.jsxs(ht,{children:["Error: ",O.message]})}):t.jsxs(t.Fragment,{children:[t.jsx(Al,{columns:T,data:v,tableName:e.name,pageCount:L,pageIndex:y,pageSize:S,sorting:j,columnFilters:E,loading:M,primaryKeys:e.primaryKeys??[],selectable:ye,selectedRowId:o,onRowSelect:i,onSortingChange:z,onColumnFiltersChange:I,onPageIndexChange:_,onPageSizeChange:G,onEditRow:ye?$:void 0,onDeleteRow:ye?w:void 0,onDeleteSelected:ye?P:void 0,stackingEnabled:l,onToggleStacking:u}),t.jsx(En,{open:p!==null,onOpenChange:X=>{X||m(null)},title:`Delete ${ie} ${ie===1?"row":"rows"}?`,description:t.jsxs(t.Fragment,{children:[t.jsx("p",{children:"This action cannot be undone."}),d.error&&t.jsx("p",{className:"mt-2 text-sm text-destructive",children:d.error.message})]}),confirmLabel:`Delete ${ie===1?"row":`${ie} rows`}`,variant:"destructive",isPending:d.isPending,onConfirm:U}),t.jsx(Ul,{target:ae,onClose:Ge,onNavigate:ue,onSave:Ke?De:void 0,canNavigatePrev:le>0,canNavigateNext:le>=0&&le<v.length-1}),h!==null&&t.jsx(ws,{table:e.graphQlName,editid:h,onClose:()=>x(null)})]})}function Zl(e){return new Set((e.manyToManyJoins??[]).map(n=>n.junctionTable))}function _s(e){const n=Zl(e),r=e.multiJoins.filter(o=>!n.has(o.destinationTable)).map(o=>({kind:"child",key:`child:${o.fieldName??o.destinationTable}`,join:o})),s=(e.manyToManyJoins??[]).map(o=>({kind:"m2m",key:`m2m:${o.junctionTable}:${o.targetTable}`,m2m:o}));return[...r,...s]}function Fs(e,n){const r=new Set([...n.junctionSourceColumnNames,...n.junctionTargetColumnNames]);return e.columns.filter(s=>!s.isPrimaryKey&&!r.has(s.name))}function ec(e,n,r,s){const o=r.junctionSourceColumnNames;if(o.length===0)throw new Error(`Many-to-many relationship '${r.name}' has no junction source columns.`);const i=Pr(s,o.length),a=new Map(e.columns.map(P=>[P.name,P])),l=[],u=[],d={};o.forEach((P,C)=>{const T=a.get(P);if(!T)throw new Error(`Junction table '${e.name}' has no column '${P}' (junction source column of many-to-many relationship '${r.name}').`);const j=T.paramType.replace("!",""),E=`src${C}`;l.push(`$${E}: ${j}`),u.push(`{ ${P}: { _eq: $${E} } }`),d[E]=Xe(i[C],j)});const p=u.length===1?u[0]:`{ and: [${u.join(", ")}] }`,m=e.primaryKeys??[],h=Fs(e,r).map(P=>P.name),x=n.primaryKeys?.length?n.primaryKeys:r.targetColumnNames,g=n.labelColumn,b=[...x];g&&!x.includes(g)&&b.push(`label: ${g}`);const k=`${r.junctionTargetField} { ${b.join(" ")} }`,$=[...m,...h,k].join(" ");return{query:`query GetLinks_${e.name}(${l.join(", ")}, $limit: Int, $offset: Int) { ${e.name}(filter: ${p} limit: $limit offset: $offset) { total offset limit data { ${$} } } }`,variables:d}}function tc(e,n,r){Fe(e.name,"many-to-many target table name");const s=Qe(e)[0]?.name??n.targetColumnNames[0],o=e.labelColumn||s;Fe(s,"many-to-many target id column"),Fe(o,"many-to-many target label column");const i=o!==s?`${s} label: ${o}`:s,a=e.columns.find(h=>h.name===o);if(!a)throw new Error(`Target table '${e.name}' has no column '${o}' (label column for the '${n.name}' many-to-many picker).`);const l=a.paramType.replace("!","")==="String",u=!!r&&r.trim()!==""&&l,d=u?"$limit: Int, $search: String":"$limit: Int",p=u?`filter: {${o}: {_contains: $search}} `:"";return{query:`query PickTarget(${d}) { ${e.name}(${p}limit: $limit sort: [${o}_asc]) { data { ${i} } } }`,idColumn:s,serverSearch:l}}function nc(e,n,r){const s=e[n.junctionTargetField];if(!s)return null;const o=_t(s,r,0),i=s.label!=null?String(s.label):o;return{id:o,label:i}}function rc(e,n,r){if(e.junctionSourceColumnNames.length!==1||e.junctionTargetColumnNames.length!==1)throw new Error("attachJunctionDetail supports single-column junction FKs only; this relationship uses a composite key which is not yet supported.");const[s]=Pr(n,1);return{[e.junctionSourceColumnNames[0]]:s,[e.junctionTargetColumnNames[0]]:r}}const Vn=200,sc=50,oc=500;function ac({parentTable:e,m2m:n,parentRowId:r,onOpenColumn:s}){const o=Pe(),i=Ce(),a=me.useQueryClient(),{toast:l}=rn(),[u,d]=c.useState(!1),[p,m]=c.useState(null),h=o.findTable(n.junctionTable),x=o.findTable(n.targetTable),g=cs(h??e);let b={query:null,variables:{}},k=null;if(h&&x)try{b=ec(h,x,n,r)}catch(z){k=z}const{query:$,variables:w}=b,P=c.useMemo(()=>["m2mRows",n.junctionTable,n.targetTable,r],[n.junctionTable,n.targetTable,r]),{data:C,isLoading:T,error:j}=me.useQuery({queryKey:P,queryFn:()=>i.query($,{...w,limit:Vn,offset:0}),enabled:!!$}),E=c.useCallback(()=>a.invalidateQueries({queryKey:P}),[a,P]),y=c.useCallback(async z=>{if(!h)return;const I=gt(z,h);I&&(await g.deleteRow(I),await E())},[h,g,E]);if(!h||!x)return t.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"Relationship schema unavailable."});if(k)return t.jsxs("div",{className:"p-4 text-sm text-destructive",children:["Relationship misconfigured: ",k.message]});const S=C?.[h.name]?.data??[],L=Fs(h,n),v=h.isEditable!==!1,M=Qe(x)[0]?.name??n.targetColumnNames[0],O=new Set;for(const z of S){const _=z[n.junctionTargetField]?.[M];_!=null&&O.add(String(_))}return t.jsxs("div",{className:"flex flex-col min-h-0 flex-1 overflow-hidden",children:[t.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 bg-muted/20 border-b border-border shrink-0",children:[t.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-border bg-muted/40 px-2 py-0.5 text-xs text-muted-foreground",title:`Linked through ${h.label}`,children:[t.jsx(N.Link2,{className:"size-3"}),"via ",h.label]}),v&&t.jsxs(W,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs ml-auto",onClick:()=>d(!0),children:[t.jsx(N.Plus,{className:"size-3 mr-1"})," Add link"]})]}),t.jsxs("div",{className:"flex-1 min-h-0 overflow-auto",children:[j&&t.jsxs("div",{className:"p-3 text-sm text-destructive",children:["Error: ",j.message]}),T&&t.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted-foreground",children:[t.jsx(N.Loader2,{className:"size-4 animate-spin"})," Loading…"]}),!T&&S.length===0&&t.jsxs("div",{className:"p-3 text-sm text-muted-foreground",children:["No linked ",x.label,"."]}),S.length>0&&t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-border text-left text-xs text-muted-foreground",children:[t.jsx("th",{className:"px-2 py-1 font-medium",children:x.label}),L.map(z=>t.jsx("th",{className:"px-2 py-1 font-medium",children:z.label},z.name)),v&&t.jsx("th",{className:"px-2 py-1 w-8","aria-label":"actions"})]})}),t.jsx("tbody",{children:S.map((z,I)=>{const _=nc(z,n,x);return t.jsxs("tr",{className:"border-b border-border/50 hover:bg-muted/30",children:[t.jsx("td",{className:"px-2 py-1",children:_?t.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.jsx(St,{to:`/${x.name}/${_.id}`,className:"text-primary hover:underline",children:_.label}),s&&t.jsx(W,{variant:"ghost",size:"icon-sm",className:"size-5",onClick:()=>s({tableName:x.name,filterId:_.id}),"aria-label":`Open ${_.label} in side column`,title:"Open in side column",children:t.jsx(N.Search,{className:"size-3"})})]}):t.jsx("span",{className:"text-muted-foreground",children:"—"})}),L.map(G=>t.jsx("td",{className:"px-2 py-1",children:tn(z[G.name],G)},G.name)),v&&t.jsx("td",{className:"px-2 py-1",children:t.jsx(W,{variant:"ghost",size:"icon-sm",className:"size-6 text-muted-foreground hover:text-destructive",onClick:()=>m(z),disabled:g.isPending,"aria-label":`Detach ${_?.label??"link"}`,title:"Detach",children:t.jsx(N.Unlink,{className:"size-3.5"})})})]},I)})})]}),S.length>=Vn&&t.jsxs("div",{className:"px-3 py-2 text-xs text-muted-foreground italic border-t border-border",children:["Showing the first ",Vn," links. Detach some or narrow the parent selection to see more."]})]}),u&&t.jsx(ic,{target:x,junction:h,m2m:n,parentRowId:r,linkedIds:O,onClose:()=>d(!1),onLinked:E}),t.jsx(En,{open:p!==null,onOpenChange:z=>{z||m(null)},title:"Detach this link?",description:t.jsxs("p",{children:["This removes the link row. The ",x.label," record itself is not deleted."]}),confirmLabel:"Detach",variant:"destructive",isPending:g.isPending,onConfirm:async()=>{try{p&&await y(p)}catch(z){l(`Detach failed: ${z.message}`,"error")}finally{m(null)}}})]})}function ic({target:e,junction:n,m2m:r,parentRowId:s,linkedIds:o,onClose:i,onLinked:a}){const l=Ce(),u=n.columns.filter(v=>r.junctionSourceColumnNames.includes(v.name)||r.junctionTargetColumnNames.includes(v.name)).map(v=>({column:v})),d=sn(n,u,[]),[p,m]=c.useState(""),[h,x]=c.useState("");c.useEffect(()=>{const v=setTimeout(()=>x(p),300);return()=>clearTimeout(v)},[p]);const g=h.trim();let b=null,k=null;try{b=tc(e,r,g)}catch(v){k=v}const{query:$,idColumn:w,serverSearch:P}=b??{query:"",idColumn:"",serverSearch:!1},C=P?sc:oc,{data:T,isLoading:j}=me.useQuery({queryKey:["m2mTargets",e.name,P?g:""],queryFn:({signal:v})=>l.query($,P&&g?{limit:C,search:g}:{limit:C},{signal:v}),enabled:b!==null}),E=T?.[e.name]?.data??[],y=P||!g?E:E.filter(v=>xs(v,w,g)),S=E.length>=C,L=c.useCallback(async v=>{if(!o.has(v)){try{await d.insert(rc(r,s,v))}catch{return}await a(),i()}},[d,r,s,o,a,i]);return k?t.jsx(Ze,{open:!0,onOpenChange:v=>{v||i()},children:t.jsxs(et,{className:"max-w-md",children:[t.jsx(Ot,{children:t.jsxs(tt,{children:["Add ",e.label," link"]})}),t.jsxs("p",{className:"text-sm text-destructive",children:["Relationship misconfigured: ",k.message]})]})}):t.jsx(Ze,{open:!0,onOpenChange:v=>{v||i()},children:t.jsxs(et,{className:"max-w-md",children:[t.jsx(Ot,{children:t.jsxs(tt,{children:["Add ",e.label," link"]})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(N.Search,{className:"size-4 text-muted-foreground"}),t.jsx(ke,{autoFocus:!0,placeholder:`Search ${e.label}…`,value:p,onChange:v=>m(v.target.value)})]}),d.error&&t.jsx("p",{className:"text-sm text-destructive",children:d.error.message}),t.jsxs("div",{className:"max-h-72 overflow-auto border border-border rounded-md",children:[j&&t.jsxs("div",{className:"flex items-center gap-2 p-3 text-sm text-muted-foreground",children:[t.jsx(N.Loader2,{className:"size-4 animate-spin"})," Loading…"]}),!j&&y.length===0&&t.jsx("div",{className:"p-3 text-sm text-muted-foreground",children:"No matches."}),y.map((v,M)=>{const O=String(v[w]??""),z=v.label!=null?String(v.label):O,I=o.has(O);return t.jsxs("button",{type:"button",className:"flex w-full items-center justify-between gap-2 text-left px-3 py-1.5 text-sm hover:bg-muted/50 disabled:opacity-50 disabled:hover:bg-transparent",disabled:d.isPending||I,onClick:()=>L(O),children:[t.jsx("span",{className:"truncate",children:z}),I&&t.jsx("span",{className:"shrink-0 text-xs text-muted-foreground italic",children:"Already linked"})]},M)}),!j&&S&&t.jsx("div",{className:"px-3 py-1.5 text-xs text-muted-foreground italic border-t border-border",children:P?`Showing the first ${C} matches — type to narrow.`:`Showing the first ${C} rows; some may not be listed.`})]})]})})}function zs(e){return e.kind==="child"?e.join.destinationTable:e.m2m.targetTable}function Es({parentTable:e,selectedRowId:n,onClose:r,onOpenColumn:s}){const o=Pe(),i=_s(e),[a,l]=c.useState(i[0]?.key??""),[u,d]=c.useState(!1),[p,m]=c.useState(null),h=i.find(b=>b.key===a)??i[0];if(c.useEffect(()=>{m(null)},[a,n]),i.length===0||!o.data)return null;const x=h.kind==="child"?o.findTable(h.join.destinationTable):void 0,g=(x?.multiJoins?.length??0)>0;return t.jsxs("div",{className:"border-t-2 border-primary/20 flex flex-col min-h-0 flex-1 overflow-hidden",children:[t.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted/30 border-b border-border shrink-0",children:[t.jsx(W,{variant:"ghost",size:"icon-sm",onClick:()=>d(!u),"aria-label":u?"Expand detail panel":"Collapse detail panel",title:u?"Expand detail panel":"Collapse detail panel",children:u?t.jsx(N.ChevronUp,{className:"size-3.5"}):t.jsx(N.ChevronDown,{className:"size-3.5"})}),t.jsx("span",{className:"text-xs text-muted-foreground mr-1",children:"Detail:"}),t.jsx("div",{className:"flex items-center gap-0.5 overflow-x-auto",children:i.map(b=>{const $=o.findTable(zs(b))?.label??zs(b),w=b.key===h.key;return t.jsxs("span",{className:"group/tab inline-flex items-center",children:[t.jsx(W,{variant:w?"secondary":"ghost",size:"sm",className:H("text-xs h-7 px-2.5",w&&"font-semibold"),onClick:()=>l(b.key),children:$}),s&&b.kind==="child"&&t.jsx(W,{variant:"ghost",size:"icon-sm",className:"opacity-0 group-hover/tab:opacity-100 size-5 shrink-0",onClick:()=>s({tableName:b.join.destinationTable,filterTable:e.name,filterId:n,...it(b.join)?{}:{filterColumn:b.join.destinationColumnNames[0]}}),"aria-label":"Open in side column",title:"Open in side column",children:t.jsx(N.PanelRight,{className:"size-3"})})]},b.key)})}),r&&t.jsx(W,{variant:"ghost",size:"icon-sm",onClick:r,className:"ml-auto shrink-0","aria-label":"Close detail panel",title:"Close detail panel",children:t.jsx(N.X,{className:"size-3.5"})})]}),!u&&t.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:h.kind==="child"&&!x?t.jsx("div",{className:"p-4 text-sm text-muted-foreground",children:"This related table is not available."}):h.kind==="child"?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:g&&p?"flex-1 min-h-0 max-h-[50%] overflow-hidden flex flex-col":"flex-1 min-h-0 overflow-hidden flex flex-col",children:t.jsx(qn,{table:x,id:n,tableFilter:e.name,...it(h.join)?{}:{filterColumn:h.join.destinationColumnNames[0]},selectedRowId:g?p:void 0,onRowSelect:g?m:void 0,onOpenColumn:s},`${h.key}-${n}`)}),g&&p&&t.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:t.jsx(Es,{parentTable:x,selectedRowId:p,onClose:()=>m(null),onOpenColumn:s})})]}):t.jsx(ac,{parentTable:e,m2m:h.m2m,parentRowId:n,onOpenColumn:s},`${h.key}-${n}`)})]})}const lc={mainTable:null,columns:[],focusedIndex:0,focusColumn:()=>{},closeColumn:()=>{}},Ps=c.createContext(lc),Ds=c.createContext({register:()=>{},unregister:()=>{}});function cc({children:e}){const[n,r]=c.useState(null),[s,o]=c.useState(0),i=c.useCallback(h=>{r(h)},[]),a=c.useCallback(()=>{r(null),o(0)},[]),l=c.useCallback(h=>{if(o(h),!n)return;const x=n.columnRefs.get(h);x&&x.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},[n]),u=c.useCallback(h=>{n&&h>0&&n.onClose(h-1)},[n]),d=c.useMemo(()=>n?n.columns.map((h,x)=>({panel:h,element:n.columnRefs.get(x+1)??null})):[],[n]),p=c.useMemo(()=>({mainTable:n?.mainTable??null,columns:d,focusedIndex:s,focusColumn:l,closeColumn:u}),[n,d,s,l,u]),m=c.useMemo(()=>({register:i,unregister:a}),[i,a]);return t.jsx(Ds.Provider,{value:m,children:t.jsx(Ps.Provider,{value:p,children:e})})}function dc(){return c.useContext(Ps)}function uc(){return c.useContext(Ds)}function Ms(e,n){return e.tableName===n.tableName&&e.filterTable===n.filterTable&&e.filterId===n.filterId&&e.filterColumn===n.filterColumn}function mc(e,n){const r=e[e.length-1];if(r&&Ms(r,n))return e;const s=e.findIndex(o=>Ms(o,n));return s>=0?e.slice(0,s+1):[...e,n]}function fc(e,n){return n<0?[]:n>=e.length?e:e.slice(0,n)}function pc(e,n,r){const s=i=>r(i)??i,o=[{index:-1,label:s(e)}];for(let i=0;i<n.length;i++){const a=n[i],l=a.filterTable?s(a.filterTable):s(i===0?e:n[i-1].tableName),u=a.filterId?`from ${l} #${a.filterId}`:void 0;o.push({index:i,label:s(a.tableName),detail:u,frame:a})}return o}function ln(e,n){return e.find(r=>r.name===n)}function dt(){const e=mn(),{table:n,id:r,filterTable:s}=e,{loading:o,error:i,data:a}=Pe(),[l,u]=c.useState(null),[d,p]=c.useState([]),[m,h]=c.useState(!0),[x,g]=c.useState(new Set),b=c.useRef(n);n!==b.current&&(b.current=n,d.length>0&&p([]),x.size>0&&g(new Set));const k=c.useCallback(_=>{g(G=>{const U=new Set(G);return U.has(_)?U.delete(_):U.add(_),U})},[]),{register:$,unregister:w}=uc(),P=c.useRef(null),C=c.useRef(new Map),T=c.useMemo(()=>a?ln(a,n):void 0,[a,n]),j=T?_s(T).length>0:!1,E=c.useCallback(_=>{p(G=>mc(G,_))},[]),y=c.useCallback(_=>{h(_),_||p([])},[]),S=m?E:void 0,L=c.useCallback(_=>{p(G=>G.filter((U,ie)=>ie!==_))},[]),v=c.useCallback(_=>{p(G=>fc(G,_+1))},[]),M=c.useMemo(()=>pc(n??"",d,_=>{if(a)return ln(a,_)?.label}),[n,d,a]);if(c.useEffect(()=>{const _=C.current;_.set(0,P.current);for(const G of _.keys())G>d.length&&_.delete(G);return $({mainTable:n,columns:d,columnRefs:_,onClose:L}),()=>w()},[n,d,$,w,L]),!n)return t.jsx("div",{className:"p-5 text-center text-muted-foreground",children:"Table missing"});if(o)return t.jsxs("div",{className:"flex items-center justify-center gap-2 p-5",children:[t.jsx(N.Loader2,{className:"size-4 animate-spin text-muted-foreground"}),t.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]});if(i)return t.jsx(pt,{variant:"destructive",className:"m-2",children:t.jsxs(ht,{children:["Error: ",i.message]})});if(!T)return t.jsx("div",{className:"p-5 text-center text-muted-foreground",children:"Table not found"});const O=t.jsx(qn,{table:T,id:r,tableFilter:s,selectedRowId:j?l:void 0,onRowSelect:j?u:void 0,onOpenColumn:S,stackingEnabled:m,onToggleStacking:y});if(d.length===0)return t.jsx("div",{className:"flex flex-col flex-1 min-h-0",children:t.jsxs("div",{ref:P,className:"flex flex-col flex-1 min-h-0 min-w-0",children:[t.jsx("div",{className:j&&l?"flex-1 min-h-0 max-h-[50%] overflow-hidden flex flex-col":"flex-1 min-h-0 overflow-hidden flex flex-col",children:O}),j&&l&&t.jsx("div",{className:"flex-1 min-h-0 overflow-hidden flex flex-col",children:t.jsx(Es,{parentTable:T,selectedRowId:l,onClose:()=>u(null),onOpenColumn:S})})]})});const z=d.length-1,I=(_,G)=>G||x.has(_);return t.jsxs("div",{className:"flex flex-col flex-1 min-h-0",children:[t.jsx(hc,{crumbs:M,onCrumbClick:v,activeIndex:d.length-1}),t.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto flex flex-col gap-0.5 p-0.5",children:[t.jsx(Is,{title:T.label,selectedRowId:d[0]?.filterId,expanded:I(-1,!1),active:!1,onToggle:()=>k(-1),onRef:_=>{P.current=_,C.current.set(0,_)},children:O}),d.map((_,G)=>{const U=G===z;return t.jsx(Is,{title:ln(a,_.tableName)?.label??_.tableName,selectedRowId:d[G+1]?.filterId,expanded:I(G,U),active:U,onToggle:()=>k(G),onClose:()=>L(G),onRef:ie=>{C.current.set(G+1,ie)},children:t.jsx(qn,{table:ln(a,_.tableName),id:_.filterId,tableFilter:_.filterTable,filterColumn:_.filterColumn,onOpenColumn:E})},`${_.tableName}|${_.filterTable??""}|${_.filterId??""}|${_.filterColumn??""}`)})]})]})}function hc({crumbs:e,onCrumbClick:n,activeIndex:r}){return t.jsx("nav",{"aria-label":"Drill-down breadcrumb",className:"flex items-center gap-1 px-2 py-1 bg-muted/20 border-b border-border shrink-0 overflow-x-auto",children:e.map((s,o)=>{const i=s.index===r,a=o===0;return t.jsxs("span",{className:"inline-flex items-center gap-1 shrink-0",children:[!a&&t.jsx(N.ChevronRight,{className:"size-3 text-muted-foreground shrink-0"}),t.jsxs(W,{variant:i?"secondary":"ghost",size:"sm",className:H("h-6 px-2 text-xs gap-1",i&&"font-semibold"),onClick:()=>n(s.index),"aria-current":i?"page":void 0,title:s.detail?`${s.label} (${s.detail})`:s.label,children:[a&&t.jsx(N.Home,{className:"size-3"}),t.jsx("span",{className:"truncate max-w-[12rem]",children:s.label}),s.detail&&t.jsx("span",{className:"text-muted-foreground font-normal truncate max-w-[10rem]",children:s.detail})]})]},`${s.index}-${s.label}`)})})}function Is({title:e,selectedRowId:n,expanded:r,active:s,onToggle:o,onClose:i,onRef:a,children:l}){return t.jsxs("div",{ref:a,className:"shrink-0 flex flex-col border border-border rounded-sm overflow-hidden",children:[t.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-muted/30 border-b border-border shrink-0",children:[t.jsx("button",{type:"button",onClick:o,className:"inline-flex items-center justify-center size-5 shrink-0 text-muted-foreground hover:text-foreground","aria-expanded":r,"aria-label":r?"Collapse table":"Expand table",title:r?"Collapse":"Expand",children:r?t.jsx(N.ChevronDown,{className:"size-3.5"}):t.jsx(N.ChevronRight,{className:"size-3.5"})}),t.jsx("span",{className:"text-xs font-medium truncate",children:e}),s&&t.jsx("span",{className:"text-[10px] uppercase tracking-wide text-primary/70 shrink-0",children:"active"}),!r&&n&&t.jsxs("span",{className:"text-xs text-muted-foreground truncate",children:["#",n]}),t.jsx("div",{className:"flex-1"}),i&&t.jsx(W,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:i,"aria-label":"Close column",title:"Close column",children:t.jsx(N.X,{className:"size-3.5"})})]}),r&&t.jsx("div",{className:"flex flex-col min-h-[18rem] max-h-[34rem]",children:l})]})}function Bn(){const e=mn(),{loading:n,error:r,data:s}=Pe(),{mainTable:o,columns:i,focusedIndex:a,focusColumn:l,closeColumn:u}=dc(),[d,p]=c.useState(""),m=Wt(),{search:h}=er(),x=!!h.get("filter"),{back:g,hasBack:b}=eo(),k=e?.table,$=i.length>0,w=c.useMemo(()=>s?.find(y=>y.graphQlName===k),[s,k]),P=c.useMemo(()=>w?.columns?.filter(y=>{const S=y.paramType.replace("!","");return S==="String"||S==="Int"||S==="Float"}).map(y=>({key:y.name,value:`${y.name},${y.paramType}`,label:y.label})),[w]),[C,T]=c.useState(P?.at(0)?.value??"");c.useEffect(()=>{p(""),T(P?.at(0)?.value??"")},[P]);const j=()=>{if(!d)return;const[y,S]=C.split(",");if(!S)return;const L=S.replace("!","");if(L==="Int"||L==="Float"){const v=Number(d);if(!Number.isFinite(v))return;m(`?filter=["${y}", "_eq", ${v}, "${S}"]`)}else L==="String"&&m(`?filter=["${y}", "_contains", ${JSON.stringify(d)}, "${S}"]`)},E=()=>{p("");const y=new URLSearchParams(h.toString());y.delete("filter");const S=y.toString();m(S?`?${S}`:"?")};return n?t.jsxs("div",{className:"flex items-center gap-2 p-2.5",children:[t.jsx(N.Loader2,{className:"size-4 animate-spin text-muted-foreground"}),t.jsx("span",{className:"text-sm text-muted-foreground",children:"Loading..."})]}):r?t.jsx(pt,{variant:"destructive",className:"m-2",children:t.jsxs(ht,{children:["Error: ",r.message]})}):t.jsxs("header",{className:"flex flex-wrap items-center gap-x-3 gap-y-1.5 px-3 py-1.5 min-h-[2.5rem]",children:[t.jsxs("div",{className:"flex items-center gap-1.5 overflow-x-auto min-w-0 flex-1",children:[t.jsx(W,{variant:"ghost",size:"icon-sm",onClick:()=>b&&g(),disabled:!b,"aria-label":"Go back",title:"Go back",className:"shrink-0",children:t.jsx(N.ChevronLeft,{className:"size-4"})}),$?t.jsxs("div",{className:"flex items-center gap-1 overflow-x-auto",children:[t.jsx("button",{type:"button",onClick:()=>l(0),className:`flex items-center gap-1 px-2 py-0.5 rounded text-xs font-medium whitespace-nowrap transition-colors ${a===0?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted"}`,children:w?.label??Ht(e?.table??"")}),i.map((y,S)=>{const v=s?.find(M=>M.graphQlName===y.panel.tableName)?.label??Ht(y.panel.tableName);return t.jsxs("span",{className:`inline-flex items-center gap-1 pl-2 pr-1 py-0.5 rounded text-xs font-medium whitespace-nowrap transition-colors ${a===S+1?"bg-primary text-primary-foreground":"bg-muted/50 text-muted-foreground hover:bg-muted"}`,children:[t.jsx("button",{type:"button",onClick:()=>l(S+1),className:"whitespace-nowrap",children:v}),t.jsx("button",{type:"button",onClick:M=>{M.stopPropagation(),u(S+1)},className:"rounded-sm hover:bg-background/50 p-px","aria-label":`Close ${v}`,children:t.jsx(N.X,{className:"size-3"})})]},`${y.panel.tableName}-${y.panel.filterId??S}`)})]}):t.jsx("h2",{className:"text-sm font-semibold whitespace-nowrap",children:w?.label??e?.table??"(Select)"})]}),P&&P.length>0&&t.jsxs("div",{className:"flex items-center border border-border rounded-md overflow-hidden flex-[2_2_16rem] min-w-[12rem]",children:[t.jsxs(Le,{value:C,onValueChange:T,children:[t.jsx(Ae,{size:"sm",className:"w-auto min-w-[120px] shrink-0 border-0 rounded-none border-r border-border h-8 text-xs",children:t.jsx(Oe,{})}),t.jsx(qe,{children:P.map(y=>t.jsx(ge,{value:y.value,children:y.label},y.key))})]}),t.jsxs("div",{className:"relative flex-1 min-w-[180px]",children:[t.jsx(N.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 size-3.5 text-muted-foreground pointer-events-none"}),t.jsx(ke,{type:"search",value:d,onChange:y=>p(y.target.value),onKeyDown:y=>y.key==="Enter"&&j(),className:"h-8 border-0 rounded-none focus-visible:ring-0 focus-visible:ring-offset-0",style:{paddingLeft:"2.25rem"},placeholder:"Search..."})]}),t.jsxs(W,{variant:"ghost",size:"sm",onClick:j,className:"shrink-0 rounded-none border-l border-border h-8 px-3 text-xs",children:[t.jsx(N.Filter,{className:"size-3.5"}),"Filter"]}),x&&t.jsx(W,{variant:"ghost",size:"sm",onClick:E,title:"Clear filter","aria-label":"Clear filter",className:"shrink-0 rounded-none border-l border-border h-8 px-2 text-xs text-muted-foreground",children:t.jsx(N.X,{className:"size-3.5"})})]}),w&&t.jsxs("div",{className:"flex items-center gap-px border border-border rounded-md overflow-hidden shrink-0",children:[t.jsxs(W,{variant:"ghost",size:"sm",onClick:()=>m("/"),title:"Back to table list",className:"text-muted-foreground text-xs h-8 px-3 rounded-none",children:[t.jsx(N.Home,{className:"size-3.5"}),"Home"]}),w?.isEditable&&t.jsxs(W,{variant:"default",size:"sm",onClick:()=>m("edit/"),className:"h-8 text-xs px-4 rounded-none",children:[t.jsx(N.Plus,{className:"size-3.5"}),"Add"]})]})]})}class cn extends c.Component{constructor(n){super(n),this.state={hasError:!1,error:null}}static getDerivedStateFromError(n){return{hasError:!0,error:n}}componentDidCatch(n,r){const{onError:s,section:o}=this.props;console.error(`Error in ${o??"component"}:`,n,r),s?.(n,r)}handleRetry=()=>{this.setState({hasError:!1,error:null})};render(){const{hasError:n,error:r}=this.state,{children:s,fallback:o,section:i}=this.props;return n?o||t.jsx("div",{className:"flex items-center justify-center p-5 min-h-[100px]",children:t.jsxs(pt,{variant:"destructive",className:"max-w-[400px]",children:[t.jsx(N.AlertCircle,{className:"size-4"}),t.jsxs(Er,{children:["Something went wrong",i?` in ${i}`:""]}),t.jsxs(ht,{className:"mt-2",children:[t.jsx("p",{children:r?.message??"An unexpected error occurred"}),t.jsx(W,{variant:"destructive",size:"sm",className:"mt-3",onClick:this.handleRetry,children:"Try Again"})]})]})}):s}}function xc(){const{loading:e,error:n,data:r}=Pe();return e?t.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[t.jsx(N.Database,{className:"size-10 animate-pulse"}),t.jsx("p",{className:"text-sm",children:"Loading schema..."})]}):n?t.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-4 max-w-md mx-auto text-center",children:[t.jsx(N.Database,{className:"size-12 text-destructive"}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Connection Error"}),t.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:n.message})]})]}):r.length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-4 max-w-md mx-auto text-center",children:[t.jsx(N.Database,{className:"size-12 text-muted-foreground/50"}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"No Tables Found"}),t.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"This database doesn't contain any tables. It may be a new or empty database."}),t.jsx("p",{className:"mt-3 text-xs text-muted-foreground/70",children:"Create tables in your database and reconnect, or try a different connection."})]})]}):t.jsxs("div",{className:"flex flex-col items-center justify-center h-full gap-6 max-w-lg mx-auto text-center",children:[t.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground/50",children:[t.jsx(N.Table2,{className:"size-10"}),t.jsx(N.MousePointerClick,{className:"size-6"})]}),t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-foreground",children:"Select a Table"}),t.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Choose a table from the sidebar to browse and edit its data."})]}),t.jsxs("div",{className:"text-xs text-muted-foreground/60 border border-border rounded-md px-4 py-3 bg-muted/30",children:[t.jsxs("p",{className:"font-medium text-muted-foreground mb-1",children:[r.length," table",r.length!==1?"s":""," available"]}),t.jsxs("p",{className:"leading-relaxed",children:[r.slice(0,8).map(s=>s.label).join(", "),r.length>8?`, and ${r.length-8} more`:""]})]})]})}function gc({children:e}){const{loading:n,error:r}=Pe();return n?t.jsxs("div",{className:"flex items-center justify-center flex-1 gap-3 text-muted-foreground",children:[t.jsx(N.Loader2,{className:"size-6 animate-spin"}),t.jsx("span",{className:"text-sm",children:"Connecting to database..."})]}):r?t.jsx("div",{className:"flex items-center justify-center flex-1",children:t.jsxs(pt,{variant:"destructive",className:"max-w-lg",children:[t.jsx(N.AlertCircle,{className:"size-4"}),t.jsx(Er,{children:"Database Connection Error"}),t.jsxs(ht,{className:"mt-2",children:[t.jsx("p",{className:"text-sm",children:r.message}),t.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"Check your connection string and ensure the database server is running."})]})]})}):t.jsx(t.Fragment,{children:e})}function bc(){const[e,n]=c.useState(!0);return t.jsx(gc,{children:t.jsx(cc,{children:t.jsxs("div",{className:`grid h-full flex-1 min-h-0 grid-rows-[auto_1fr] ${e?"grid-cols-[minmax(150px,min-content)_1fr]":"grid-cols-[0px_1fr]"} md:grid-cols-[minmax(150px,min-content)_1fr] transition-[grid-template-columns] duration-200`,children:[t.jsxs("div",{className:"col-span-full sticky top-0 z-50 bg-background border-b border-border flex items-center",children:[t.jsx(W,{variant:"ghost",size:"icon",className:"md:hidden ml-1 shrink-0",onClick:()=>n(!e),"aria-label":"Toggle sidebar",title:"Toggle sidebar",children:t.jsx(N.PanelLeft,{className:"size-5"})}),t.jsx("div",{className:"flex-1 min-w-0",children:t.jsx(cn,{section:"Header",children:t.jsxs(fn,{children:[t.jsx(je,{path:"/:table/*",element:t.jsx(Bn,{})}),t.jsx(je,{path:"/:table",element:t.jsx(Bn,{})}),t.jsx(je,{path:"/",element:t.jsx(Bn,{})})]})})})]}),t.jsx("nav",{"aria-label":"Tables",className:`border-r border-border overflow-hidden min-h-0 ${e?"":"hidden"} md:block`,children:t.jsx(cn,{section:"Table List",children:t.jsx(Ka,{})})}),t.jsxs("main",{className:"flex flex-col overflow-hidden min-h-0 px-1 py-0.5",children:[t.jsx(cn,{section:"Data Panel",children:t.jsxs(fn,{children:[t.jsx(je,{path:"/:table/from/:filterTable/:id/edit/:editid",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table/from/:filterTable/:id",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table/:id/edit/:editid",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table/:id",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table/edit/:editid",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table/edit",element:t.jsx(dt,{})}),t.jsx(je,{path:"/:table",element:t.jsx(dt,{})}),t.jsx(je,{path:"/",element:t.jsx(xc,{})})]})}),t.jsx(cn,{section:"Data Edit",children:t.jsxs(fn,{children:[t.jsx(je,{path:"/:table/from/:filterTable/:id/edit/:editid",element:t.jsx(on,{})}),t.jsx(je,{path:"/:table/:id/edit/:editid",element:t.jsx(on,{})}),t.jsx(je,{path:"/:table/edit/:editid",element:t.jsx(on,{})}),t.jsx(je,{path:"/:table/edit",element:t.jsx(on,{})})]})})]})]})})})}function yc({onLocate:e}){const n=Zn();return c.useEffect(()=>{e?.(n)},[n,e]),t.jsx(bc,{})}function Ls({uri:e,fetcher:n,uiPath:r,onLocate:s,showStats:o=!1}){const i=c.useMemo(()=>n||(e?new rr(e):null),[e,n]),a=c.useMemo(()=>new me.QueryClient({defaultOptions:{queries:{staleTime:300*1e3,retry:1}}}),[]);return i?t.jsx(me.QueryClientProvider,{client:a,children:t.jsx(co,{value:i,children:t.jsx(Ia,{config:{showStats:o},children:t.jsx(Qi,{children:t.jsx(to,{path:r||"/",children:t.jsx(po,{children:t.jsx(yc,{onLocate:s})})})})})})}):t.jsx("section",{children:"CONFIG MISSING..."})}be.Editor=Ls,be.HttpGraphQLFetcher=rr,be.default=Ls,be.useTableMutation=sn,Object.defineProperties(be,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));