@warkypublic/oranguru 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/lib.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),$=require("@glideapps/glide-data-grid"),z=require("@tabler/icons-react"),Se=require("@warkypublic/artemis-kit"),ve=require("@warkypublic/zustandsyncstore"),H=require("immer"),k=require("@mantine/core"),ne=require("@mantine/hooks");var ee={exports:{}},V={};/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),G=require("@glideapps/glide-data-grid"),L=require("@tabler/icons-react"),Se=require("@warkypublic/artemis-kit"),ve=require("@warkypublic/zustandsyncstore"),V=require("immer"),I=require("@mantine/core"),Z=require("@mantine/hooks");var oe={exports:{}},U={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var fe;function Te(){if(fe)return V;fe=1;var o=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function e(t,n,r){var l=null;if(r!==void 0&&(l=""+r),n.key!==void 0&&(l=""+n.key),"key"in n){r={};for(var i in n)i!=="key"&&(r[i]=n[i])}else r=n;return n=r.ref,{$$typeof:o,type:t,key:l,ref:n!==void 0?n:null,props:r}}return V.Fragment=a,V.jsx=e,V.jsxs=e,V}var Y={};/**
9
+ */var fe;function Te(){if(fe)return U;fe=1;var o=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function e(t,n,r){var l=null;if(r!==void 0&&(l=""+r),n.key!==void 0&&(l=""+n.key),"key"in n){r={};for(var a in n)a!=="key"&&(r[a]=n[a])}else r=n;return n=r.ref,{$$typeof:o,type:t,key:l,ref:n!==void 0?n:null,props:r}}return U.Fragment=i,U.jsx=e,U.jsxs=e,U}var X={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,12 +14,12 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var ge;function Fe(){return ge||(ge=1,process.env.NODE_ENV!=="production"&&(function(){function o(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===D?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case p:return"Fragment";case _:return"Profiler";case O:return"StrictMode";case j:return"Suspense";case N:return"SuspenseList";case P:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case E:return"Portal";case m:return s.displayName||"Context";case y:return(s._context.displayName||"Context")+".Consumer";case b:var v=s.render;return s=s.displayName,s||(s=v.displayName||v.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case I:return v=s.displayName||null,v!==null?v:o(s.type)||"Memo";case M:v=s._payload,s=s._init;try{return o(s(v))}catch{}}return null}function a(s){return""+s}function e(s){try{a(s);var v=!1}catch{v=!0}if(v){v=console;var R=v.error,T=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.constructor.name||"Object";return R.call(v,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",T),a(s)}}function t(s){if(s===p)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===M)return"<...>";try{var v=o(s);return v?"<"+v+">":"<...>"}catch{return"<...>"}}function n(){var s=A.A;return s===null?null:s.getOwner()}function r(){return Error("react-stack-top-frame")}function l(s){if(J.call(s,"key")){var v=Object.getOwnPropertyDescriptor(s,"key").get;if(v&&v.isReactWarning)return!1}return s.key!==void 0}function i(s,v){function R(){U||(U=!0,console.error("%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://react.dev/link/special-props)",v))}R.isReactWarning=!0,Object.defineProperty(s,"key",{get:R,configurable:!0})}function c(){var s=o(this.type);return X[s]||(X[s]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),s=this.props.ref,s!==void 0?s:null}function d(s,v,R,T,Z,oe){var F=R.ref;return s={$$typeof:x,type:s,key:v,props:R,_owner:T},(F!==void 0?F:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:c}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Z}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:oe}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function u(s,v,R,T,Z,oe){var F=v.children;if(F!==void 0)if(T)if(B(F)){for(T=0;T<F.length;T++)f(F[T]);Object.freeze&&Object.freeze(F)}else console.error("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 f(F);if(J.call(v,"key")){F=o(s);var q=Object.keys(v).filter(function(Ie){return Ie!=="key"});T=0<q.length?"{key: someKey, "+q.join(": ..., ")+": ...}":"{key: someKey}",h[F+T]||(q=0<q.length?"{"+q.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var ge;function Fe(){return ge||(ge=1,process.env.NODE_ENV!=="production"&&(function(){function o(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===M?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case R:return"Fragment";case O:return"Profiler";case F:return"StrictMode";case f:return"Suspense";case w:return"SuspenseList";case N:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case T:return"Portal";case B:return s.displayName||"Context";case $:return(s._context.displayName||"Context")+".Consumer";case h:var C=s.render;return s=s.displayName,s||(s=C.displayName||C.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case x:return C=s.displayName||null,C!==null?C:o(s.type)||"Memo";case j:C=s._payload,s=s._init;try{return o(s(C))}catch{}}return null}function i(s){return""+s}function e(s){try{i(s);var C=!1}catch{C=!0}if(C){C=console;var E=C.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.constructor.name||"Object";return E.call(C,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),i(s)}}function t(s){if(s===R)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===j)return"<...>";try{var C=o(s);return C?"<"+C+">":"<...>"}catch{return"<...>"}}function n(){var s=p.A;return s===null?null:s.getOwner()}function r(){return Error("react-stack-top-frame")}function l(s){if(P.call(s,"key")){var C=Object.getOwnPropertyDescriptor(s,"key").get;if(C&&C.isReactWarning)return!1}return s.key!==void 0}function a(s,C){function E(){ee||(ee=!0,console.error("%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://react.dev/link/special-props)",C))}E.isReactWarning=!0,Object.defineProperty(s,"key",{get:E,configurable:!0})}function c(){var s=o(this.type);return te[s]||(te[s]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),s=this.props.ref,s!==void 0?s:null}function g(s,C,E,k,z,J){var A=E.ref;return s={$$typeof:y,type:s,key:C,props:E,_owner:k},(A!==void 0?A:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:c}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:z}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:J}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function d(s,C,E,k,z,J){var A=C.children;if(A!==void 0)if(k)if(D(A)){for(k=0;k<A.length;k++)u(A[k]);Object.freeze&&Object.freeze(A)}else console.error("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 u(A);if(P.call(C,"key")){A=o(s);var W=Object.keys(C).filter(function(Ie){return Ie!=="key"});k=0<W.length?"{key: someKey, "+W.join(": ..., ")+": ...}":"{key: someKey}",S[A+k]||(W=0<W.length?"{"+W.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
18
  let props = %s;
19
19
  <%s {...props} />
20
20
  React keys must be passed directly to JSX without using spread:
21
21
  let props = %s;
22
- <%s key={someKey} {...props} />`,T,F,q,F),h[F+T]=!0)}if(F=null,R!==void 0&&(e(R),F=""+R),l(v)&&(e(v.key),F=""+v.key),"key"in v){R={};for(var re in v)re!=="key"&&(R[re]=v[re])}else R=v;return F&&i(R,typeof s=="function"?s.displayName||s.name||"Unknown":s),d(s,F,R,n(),Z,oe)}function f(s){C(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===M&&(s._payload.status==="fulfilled"?C(s._payload.value)&&s._payload.value._store&&(s._payload.value._store.validated=1):s._store&&(s._store.validated=1))}function C(s){return typeof s=="object"&&s!==null&&s.$$typeof===x}var w=S,x=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),O=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),y=Symbol.for("react.consumer"),m=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),M=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),D=Symbol.for("react.client.reference"),A=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=Object.prototype.hasOwnProperty,B=Array.isArray,K=console.createTask?console.createTask:function(){return null};w={react_stack_bottom_frame:function(s){return s()}};var U,X={},Q=w.react_stack_bottom_frame.bind(w,r)(),W=K(t(r)),h={};Y.Fragment=p,Y.jsx=function(s,v,R){var T=1e4>A.recentlyCreatedOwnerStacks++;return u(s,v,R,!1,T?Error("react-stack-top-frame"):Q,T?K(t(s)):W)},Y.jsxs=function(s,v,R){var T=1e4>A.recentlyCreatedOwnerStacks++;return u(s,v,R,!0,T?Error("react-stack-top-frame"):Q,T?K(t(s)):W)}})()),Y}var me;function Me(){return me||(me=1,process.env.NODE_ENV==="production"?ee.exports=Te():ee.exports=Fe()),ee.exports}var g=Me();function L(o){return btoa(encodeURIComponent(o).replace(/%([0-9A-F]{2})/g,(a,e)=>String.fromCharCode(Number.parseInt(e,16))))}const Pe="gridler_golang_restapi_v2_token",Ae=(o,a)=>{const e=[...o.filter(t=>t!==void 0&&t.type!==void 0)];for(let t=0;t<e.length;t++)(!e[t].name||e[t].name==="")&&(e[t].name=""),e[t].type==="files"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="advsql"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="custom-sql-or"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="custom-sql-join"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="not-select-fields"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="custom-sql-w"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="select-fields"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),e[t].type==="cql-sel"&&!e[t].value.startsWith("__")&&(e[t].value=`__${L(e[t].value)}__`),a&&((!e||e.length===0)&&a.set("x-limit","10"),e[t].type==="association_autoupdate"&&a.set("association_autoupdate",e[t].value??"1"),e[t].type==="association_autocreate"&&a.set("association_autocreate",e[t].value??"1"),e[t].type==="searchop"||e[t].type==="searchor"||e[t].type==="searchand"?a.set(encodeURIComponent(`x-${e[t].type}-${e[t].op}-${e[t].name}`),String(e[t].value)):a.set(encodeURIComponent(`x-${e[t].type}${e[t].name&&e[t].name!==""?"-"+e[t].name:""}`),String(e[t].value)));return e},le=(o,a)=>{const e=new Headers,t={},n=he?.();if(n&&n!=="")e.set("Authorization",`Token ${n}`);else{const l=he();l&&e.set("Authorization",`Token ${l}`)}a&&a.forEach((l,i)=>{e.set(i,l)});const r=[];for(const l of o?.filter(i=>!!i)??[]){const i=r.findIndex(c=>c.name===l.name&&c.type===l.type);i===-1?r.push(l):r[i]=l}if(Ae(r,e),e?.forEach((l,i)=>{t[i]=l}),a)for(const l of Object.keys(t))a.set(l,t[l]);return t},je={getAuthToken:()=>{if(localStorage){const o=localStorage.getItem(Pe);if(o)return o}}},he=()=>je?.getAuthToken?.();function Ne(o,a){if(!o||!a||o.includes("..")||o.includes("[]")||/\[\s*\]/.test(o))return;const e=o.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean);if(e.length!==0)return e.reduce((t,n)=>{if(t!=null&&typeof t=="object")return t[n]},a)}const{Provider:Oe,useStore:ce}=ve.createSyncStore((o,a)=>({hide:e=>{a().setInstanceState(e,"visible",!1)},menus:[],setInstanceState:(e,t,n)=>{o(H.produce(r=>{const l=r?.menus?.findIndex(i=>i.id===e);l>=0&&(r.menus[l][t]=n)}))},setState:(e,t)=>{o(H.produce(n=>{n[e]=t}))},show:(e,t)=>{const n=a(),r=n.menus.findIndex(i=>i.id===e),l=n.menus[r]?{...n.menus[r]}:{};Object.assign(l,t),l.id=l.id??e,l.visible=!(l.visible??!1),r<0?n.setState("menus",[...n.menus,l]):o(H.produce(i=>{i.menus||(i.menus=[]),i.menus[r]={...i.menus[r],...l}}))}}),o=>({providerID:o.providerID??`MenuStore-${Se.getUUID()}`}));function $e(){const{menus:o,providerID:a,setInstanceState:e,width:t}=ce(n=>({menus:n.menus,providerID:n.providerID,setInstanceState:n.setInstanceState,setState:n.setState,width:n.width}));return g.jsx(k.Portal,{id:`bmm_portal_${a}`,children:S.Children.toArray(o?.map((n,r)=>S.createElement(k.Menu,{shadow:"md",width:t??"300",...n.menuProps,key:`bmm_menu_${a}_${r}`,onClose:()=>{e(n.id,"visible",!1),n.menuProps?.onClose?.()},opened:n.visible},g.jsx(k.Menu.Target,{children:g.jsx("div",{id:`bmm_${a}_${r}_target`,style:{left:n.x,position:"fixed",top:n.y,visibility:"hidden"}})}),g.jsx(k.Menu.Dropdown,{children:n.renderer?n.renderer:S.Children.toArray(n.items?.map((l,i)=>g.jsx(_e,{...l},`bmm_${a}_${r}_item${i}`)))}))))},`bmm_portal_${a}`)}const _e=({children:o,label:a,...e})=>{const[t,n]=S.useState(!1);return typeof e.renderer=="function"?e.renderer({...e,loading:t,renderer:void 0,setLoading:n}):typeof e.renderer=="object"?e.renderer:e.isDivider?g.jsx(k.Menu.Divider,{}):e.items&&e.items.length>0?g.jsxs(k.Menu.Sub,{children:[g.jsx(k.Menu.Sub.Target,{children:g.jsx(k.Menu.Sub.Item,{...e,disabled:t,onClick:r=>{e.onClick?.(r),e.onClickAsync&&(n(!0),e.onClickAsync().finally(()=>n(!1)))},styles:{itemLabel:{overflow:"auto",wordWrap:"break-word"},...e.styles},children:o??a})}),g.jsx(k.Menu.Sub.Dropdown,{children:S.Children.toArray(e.items.map((r,l)=>g.jsx(_e,{...r},`bmm_subitem_${r?.id??""}${l}`)))})]}):!e.onClick&&!e.onClickAsync?g.jsxs(k.Menu.Label,{...e,children:[" ",o??a]}):g.jsx(k.Menu.Item,{...e,disabled:t,onClick:r=>{e.onClick?.(r),e.onClickAsync&&(n(!0),e.onClickAsync().finally(()=>n(!1)))},styles:{itemLabel:{overflow:"auto",wordWrap:"break-word"},...e.styles},children:o??a})};function Ce(o){return g.jsxs(Oe,{...o,children:[g.jsx($e,{}),o.children]})}const ye=[{label:"Contains",value:"contains"},{label:"Equal",value:"eq"},{label:"Not Equal",value:"neq"},{label:"Greater Than",value:"gt"},{label:"Greater Than or Equal",value:"gte"},{label:"Less Than",value:"lt"},{label:"Less Than or Equal",value:"lte"}],we=o=>{const a=o.storeState?.colFilters?.findIndex(l=>l.id===o.column.id)??-1,e=o.storeState?.colFilters?.[a]??{id:o.column.id,value:""},[t,n]=S.useState(e?.value??""),[r]=ne.useDebouncedValue(t,900);return S.useEffect(()=>{o.storeState.setStateFN("colFilters",l=>{const i=l?.findIndex(d=>d.id===o.column.id)??-1,c=l??[];return i>=0?c[i]={...c[i],...o.options,id:o.column.id,value:r}:c.push({operator:"contains",...o.options,id:o.column.id,value:r}),c})},[r,o.column.id,o.options,o.storeState]),g.jsx(k.TextInput,{onChange:l=>n(l.target.value),rightSection:g.jsx(k.ActionIcon,{color:"gray",onClick:()=>n(""),variant:"filled",children:g.jsx(z.IconX,{color:"red"})}),value:t??e?.value})},be=o=>{const a=o.storeState?.colFilters?.findIndex(l=>l.id===o.column.id)??-1,e=o.storeState?.colFilters?.[a]??{id:o.column.id,operator:"contains"},[t,n]=S.useState(e?.operator??"contains"),[r]=ne.useDebouncedValue(t,900);return S.useEffect(()=>{o.storeState.setStateFN("colFilters",l=>{const i=l?.findIndex(d=>d.id===o.column.id)??-1,c=l??[];return i>=0?c[i]={...c[i],...o.options,id:o.column.id,operator:r}:c.push({...o.options,id:o.column.id,operator:r,value:""}),c})},[r,o.column.id,o.options,o.storeState]),g.jsx(k.Select,{comboboxProps:{withinPortal:!1},data:ye,maxDropdownHeight:150,onChange:l=>n(l),placeholder:"Operator",searchable:!0,value:t??e?.operator,withScrollArea:!0})},ie=o=>g.jsxs(k.Stack,{onClick:a=>a.stopPropagation(),children:[g.jsx(be,{...o}),g.jsx(we,{...o})]}),ae=o=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none">
22
+ <%s key={someKey} {...props} />`,k,A,W,A),S[A+k]=!0)}if(A=null,E!==void 0&&(e(E),A=""+E),l(C)&&(e(C.key),A=""+C.key),"key"in C){E={};for(var le in C)le!=="key"&&(E[le]=C[le])}else E=C;return A&&a(E,typeof s=="function"?s.displayName||s.name||"Unknown":s),g(s,A,E,n(),z,J)}function u(s){_(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===j&&(s._payload.status==="fulfilled"?_(s._payload.value)&&s._payload.value._store&&(s._payload.value._store.validated=1):s._store&&(s._store.validated=1))}function _(s){return typeof s=="object"&&s!==null&&s.$$typeof===y}var b=v,y=Symbol.for("react.transitional.element"),T=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),O=Symbol.for("react.profiler"),$=Symbol.for("react.consumer"),B=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),x=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),N=Symbol.for("react.activity"),M=Symbol.for("react.client.reference"),p=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=Object.prototype.hasOwnProperty,D=Array.isArray,H=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(s){return s()}};var ee,te={},ne=b.react_stack_bottom_frame.bind(b,r)(),Y=H(t(r)),S={};X.Fragment=R,X.jsx=function(s,C,E){var k=1e4>p.recentlyCreatedOwnerStacks++;return d(s,C,E,!1,k?Error("react-stack-top-frame"):ne,k?H(t(s)):Y)},X.jsxs=function(s,C,E){var k=1e4>p.recentlyCreatedOwnerStacks++;return d(s,C,E,!0,k?Error("react-stack-top-frame"):ne,k?H(t(s)):Y)}})()),X}var me;function Me(){return me||(me=1,process.env.NODE_ENV==="production"?oe.exports=Te():oe.exports=Fe()),oe.exports}var m=Me();function K(o){return btoa(encodeURIComponent(o).replace(/%([0-9A-F]{2})/g,(i,e)=>String.fromCharCode(Number.parseInt(e,16))))}const Pe="gridler_golang_restapi_v2_token",Ae=(o,i)=>{const e=[...o.filter(t=>t!==void 0&&t.type!==void 0)];for(let t=0;t<e.length;t++)(!e[t].name||e[t].name==="")&&(e[t].name=""),e[t].type==="files"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="advsql"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="custom-sql-or"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="custom-sql-join"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="not-select-fields"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="custom-sql-w"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="select-fields"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),e[t].type==="cql-sel"&&!e[t].value.startsWith("__")&&(e[t].value=`__${K(e[t].value)}__`),i&&((!e||e.length===0)&&i.set("x-limit","10"),e[t].type==="association_autoupdate"&&i.set("association_autoupdate",e[t].value??"1"),e[t].type==="association_autocreate"&&i.set("association_autocreate",e[t].value??"1"),e[t].type==="searchop"||e[t].type==="searchor"||e[t].type==="searchand"?i.set(encodeURIComponent(`x-${e[t].type}-${e[t].op}-${e[t].name}`),String(e[t].value)):i.set(encodeURIComponent(`x-${e[t].type}${e[t].name&&e[t].name!==""?"-"+e[t].name:""}`),String(e[t].value)));return e},Q=(o,i)=>{const e=new Headers,t={},n=he?.();if(n&&n!=="")e.set("Authorization",`Token ${n}`);else{const l=he();l&&e.set("Authorization",`Token ${l}`)}i&&i.forEach((l,a)=>{e.set(a,l)});const r=[];for(const l of o?.filter(a=>!!a)??[]){const a=r.findIndex(c=>c.name===l.name&&c.type===l.type);a===-1?r.push(l):r[a]=l}if(Ae(r,e),e?.forEach((l,a)=>{t[a]=l}),i)for(const l of Object.keys(t))i.set(l,t[l]);return t},je={getAuthToken:()=>{if(localStorage){const o=localStorage.getItem(Pe);if(o)return o}}},he=()=>je?.getAuthToken?.();function Ne(o,i){if(!o||!i||o.includes("..")||o.includes("[]")||/\[\s*\]/.test(o))return;const e=o.replace(/\[(\w+)\]/g,".$1").split(".").filter(Boolean);if(e.length!==0)return e.reduce((t,n)=>{if(t!=null&&typeof t=="object")return t[n]},i)}const{Provider:Oe,useStore:ce}=ve.createSyncStore((o,i)=>({hide:e=>{i().setInstanceState(e,"visible",!1)},menus:[],setInstanceState:(e,t,n)=>{o(V.produce(r=>{const l=r?.menus?.findIndex(a=>a.id===e);l>=0&&(r.menus[l][t]=n)}))},setState:(e,t)=>{o(V.produce(n=>{n[e]=t}))},show:(e,t)=>{const n=i(),r=n.menus.findIndex(a=>a.id===e),l=n.menus[r]?{...n.menus[r]}:{};Object.assign(l,t),l.id=l.id??e,l.visible=!(l.visible??!1),r<0?n.setState("menus",[...n.menus,l]):o(V.produce(a=>{a.menus||(a.menus=[]),a.menus[r]={...a.menus[r],...l}}))}}),o=>({providerID:o.providerID??`MenuStore-${Se.getUUID()}`}));function $e(){const{menus:o,providerID:i,setInstanceState:e,width:t}=ce(n=>({menus:n.menus,providerID:n.providerID,setInstanceState:n.setInstanceState,setState:n.setState,width:n.width}));return m.jsx(I.Portal,{id:`bmm_portal_${i}`,children:v.Children.toArray(o?.map((n,r)=>v.createElement(I.Menu,{shadow:"md",width:t??"300",...n.menuProps,key:`bmm_menu_${i}_${r}`,onClose:()=>{e(n.id,"visible",!1),n.menuProps?.onClose?.()},opened:n.visible},m.jsx(I.Menu.Target,{children:m.jsx("div",{id:`bmm_${i}_${r}_target`,style:{left:n.x,position:"fixed",top:n.y,visibility:"hidden"}})}),m.jsx(I.Menu.Dropdown,{children:n.renderer?n.renderer:v.Children.toArray(n.items?.map((l,a)=>m.jsx(_e,{...l},`bmm_${i}_${r}_item${a}`)))}))))},`bmm_portal_${i}`)}const _e=({children:o,label:i,...e})=>{const[t,n]=v.useState(!1);return typeof e.renderer=="function"?e.renderer({...e,loading:t,renderer:void 0,setLoading:n}):typeof e.renderer=="object"?e.renderer:e.isDivider?m.jsx(I.Menu.Divider,{}):e.items&&e.items.length>0?m.jsxs(I.Menu.Sub,{children:[m.jsx(I.Menu.Sub.Target,{children:m.jsx(I.Menu.Sub.Item,{...e,disabled:t,onClick:r=>{e.onClick?.(r),e.onClickAsync&&(n(!0),e.onClickAsync().finally(()=>n(!1)))},styles:{itemLabel:{overflow:"auto",wordWrap:"break-word"},...e.styles},children:o??i})}),m.jsx(I.Menu.Sub.Dropdown,{children:v.Children.toArray(e.items.map((r,l)=>m.jsx(_e,{...r},`bmm_subitem_${r?.id??""}${l}`)))})]}):!e.onClick&&!e.onClickAsync?m.jsxs(I.Menu.Label,{...e,children:[" ",o??i]}):m.jsx(I.Menu.Item,{...e,disabled:t,onClick:r=>{e.onClick?.(r),e.onClickAsync&&(n(!0),e.onClickAsync().finally(()=>n(!1)))},styles:{itemLabel:{overflow:"auto",wordWrap:"break-word"},...e.styles},children:o??i})};function Ce(o){return m.jsxs(Oe,{...o,children:[m.jsx($e,{}),o.children]})}const ye=[{label:"Contains",value:"contains"},{label:"Equal",value:"eq"},{label:"Not Equal",value:"neq"},{label:"Greater Than",value:"gt"},{label:"Greater Than or Equal",value:"gte"},{label:"Less Than",value:"lt"},{label:"Less Than or Equal",value:"lte"}],we=o=>{const i=o.storeState?.colFilters?.findIndex(l=>l.id===o.column.id)??-1,e=o.storeState?.colFilters?.[i]??{id:o.column.id,value:""},[t,n]=v.useState(e?.value??""),[r]=Z.useDebouncedValue(t,900);return v.useEffect(()=>{o.storeState.setStateFN("colFilters",l=>{const a=l?.findIndex(g=>g.id===o.column.id)??-1,c=l??[];return a>=0?c[a]={...c[a],...o.options,id:o.column.id,value:r}:c.push({operator:"contains",...o.options,id:o.column.id,value:r}),c})},[r,o.column.id,o.options,o.storeState]),m.jsx(I.TextInput,{onChange:l=>n(l.target.value),rightSection:m.jsx(I.ActionIcon,{color:"gray",onClick:()=>n(""),variant:"filled",children:m.jsx(L.IconX,{color:"red"})}),value:t??e?.value})},be=o=>{const i=o.storeState?.colFilters?.findIndex(l=>l.id===o.column.id)??-1,e=o.storeState?.colFilters?.[i]??{id:o.column.id,operator:"contains"},[t,n]=v.useState(e?.operator??"contains"),[r]=Z.useDebouncedValue(t,900);return v.useEffect(()=>{o.storeState.setStateFN("colFilters",l=>{const a=l?.findIndex(g=>g.id===o.column.id)??-1,c=l??[];return a>=0?c[a]={...c[a],...o.options,id:o.column.id,operator:r}:c.push({...o.options,id:o.column.id,operator:r,value:""}),c})},[r,o.column.id,o.options,o.storeState]),m.jsx(I.Select,{comboboxProps:{withinPortal:!1},data:ye,maxDropdownHeight:150,onChange:l=>n(l),placeholder:"Operator",searchable:!0,value:t??e?.operator,withScrollArea:!0})},ie=o=>m.jsxs(I.Stack,{onClick:i=>i.stopPropagation(),children:[m.jsx(be,{...o}),m.jsx(we,{...o})]}),ae=o=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none">
23
23
  <path
24
24
  fill="${o.fgColor??"currentColor"}"
25
25
  d="M15 2.5a.5.5 0 0 0-1 0v13.793l-2.146-2.147a.5.5 0 0 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L15 16.293zM2.5 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1zM5 7.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5M8.5 10a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1z"
@@ -31,10 +31,10 @@ React keys must be passed directly to JSX without using spread:
31
31
  d="M15 17.5a.5.5 0 0 1-1 0V3.707l-2.146 2.147a.5.5 0 0 1-.708-.708l3-3a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708L15 3.707zM2.5 16a.5.5 0 0 1 0-1h9a.5.5 0 0 1 0 1zM5 12.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5M8.5 10a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1z"
32
32
  ></path>
33
33
  </svg>
34
- `,te=o=>g.jsx("img",{alt:o.alt??"Sprite Image",src:`data:image/svg+xml;utf8,${o.sprite({...o,sprite:void 0})}`}),{Provider:De,useStore:G}=ve.createSyncStore((o,a)=>({_events:new EventTarget,_loadingList:$.CompactSelection.empty(),_page_data:{},_refresh:()=>{const e=a();e.loadPage(0,"all").then(()=>{e.refreshCells(),e.reload?.()})},_visibleArea:{height:1e4,width:1e3,x:0,y:0},_visiblePages:{height:0,width:0,x:0,y:0},addError:(e,...t)=>{const n=a();console.log("Gridler Error",n.uniqueid,e,t),o(H.produce(r=>{r.errors=[...r.errors,e]}))},errors:[],get:()=>a(),getCellContent:e=>{const t=a(),[n,r]=e,l=t.getRowBuffer(r);return l!==void 0?t.toCell(l,n):{allowOverlay:!1,kind:$.GridCellKind.Loading}},getCellsForSelection:(e,t)=>async()=>{const n=a();await n.setStateFN("_visibleArea",l=>e);const r=[];for(let l=e.y;l<e.y+e.height;l++){const i=[];for(let c=e.x;c<e.x+e.width;c++)i.push(n.getCellContent([c,l]));r.push(i)}return r},getRowBuffer:e=>{const t=a();if(t.data&&t.data.length>0)return t.data[e]===void 0?{allowOverlay:!1,kind:$.GridCellKind.Loading}:t.data[e];const n=Math.max(0,Math.floor(e/t.pageSize)),r=t.pageSize*n,l=e-r;return t._page_data?.[n]?.[l]},getRowIndexByKey:async e=>{const t=a();let n=-1;if(t.ready){const r=t._page_data,l=t.pageSize,i=t.keyField??"id";for(const c in r){for(const d in r[c]){const u=Number(c)*l+Number(d);if(String(r[c][d]?.[i])===String(e)){n=r[c][d]?._rownumber>0?r[c][d]?._rownumber:u>0?u:-1;break}}if(n>0)return console.log("Local row index",n,e),n}if(n>0)return n;if(typeof t.askAPIRowNumber=="function"){const c=await t.askAPIRowNumber(String(e));if(c&&c>=0)return console.log("Remote row index",n,e),c}}},getState:e=>a()[e],hasLocalData:!1,isEmpty:!0,keyField:"id",loadPage:async(e,t)=>{const n=a(),r=e<0?0:e;if(!n._events.dispatchEvent(new CustomEvent("before_loadPage",{detail:{clearMode:t,page:e,state:n}})))return;const i=[],c=Object.keys(n.renderColumns??[1,2,3]).length,d=n.pageSize*r,u=n._page_data?.[r]?.length>0;if(t==="all"){n._active_requests?.forEach(f=>{f.controller?.abort?.()}),n.setState("_page_data",{}),n.setState("_active_requests",[]),n.loadPage(r);return}if(!n.useAPIQuery){console.warn("No useAPIQuery function defined, cannot load page",r);return}!u&&t!=="page"&&n.useAPIQuery?.(r).then(f=>{n.setStateFN("_page_data",C=>({...C,[r]:f}));for(let C=r;C<=d+n.pageSize;C++)for(let w=0;w<=c;w++)i.push({cell:[w,C]});n._glideref?.updateCells(i),n._events.dispatchEvent(new CustomEvent("loadPage",{detail:{clearMode:t,data:f,page:e,state:n}}))}).catch(f=>{console.warn("loadPage Error: ",r,f),n._events.dispatchEvent(new CustomEvent("loadPage_error",{detail:{clearMode:t,error:f,page:e,state:n}}))})},maxConcurrency:1,mounted:!1,onCellClicked:(e,t)=>{const n=a(),[r,l]=e;n.glideProps?.onCellClicked?.(e,t),n._events.dispatchEvent(new CustomEvent("onCellClicked",{detail:{cell:e,col:r,row:l,state:n}}))},onCellEdited:(e,t)=>{const n=a(),[,r]=e;n._events.dispatchEvent(new CustomEvent("onCellEdited",{detail:{cell:e,newVal:t,row:r,state:n}})),n.glideProps?.onCellEdited?.(e,t)},onColumnMoved:(e,t)=>{const n=a(),r=n.renderColumns?.[e],l=n.renderColumns?.[t];r?.disableMove||l?.disableMove||n.setStateFN("colOrder",i=>{const c=i??n.renderColumns?.map((d,u)=>[d.id,u]).reduce((d,[u,f])=>({...d,[u]:f}),{});return!r?.id||!l?.id?c:{...c,[r?.id]:t,[l?.id]:e}})},onColumnProposeMove:(e,t)=>{const n=a(),r=n.renderColumns?.[e],l=n.renderColumns?.[t];return!(r?.disableMove||l?.disableMove)},onColumnResize:(e,t,n,r)=>{const l=a(),i=l.renderColumns?.find(c=>c.id===e.id);i?.disableResize||i?.maxWidth&&t<i?.maxWidth||i&&l.setStateFN("colSize",c=>c&&i&&c[i.id]===t?c:{...c,[i.id]:t})},onContextClick:(e,t,n,r)=>{const l=a(),i=l.renderColumns?.[n??-1],c=e==="menu"?[{leftSection:g.jsx(z.IconGrid4x4,{size:16}),title:l.title??"Grid"}]:i?[{leftSection:g.jsx(z.IconGrid4x4,{size:16}),title:l.title??"Grid"},{items:[{label:"Sort Ascending",leftSection:g.jsx(te,{sprite:se}),onClick:()=>{l.setStateFN("colSort",d=>{const u=[...d??[]],f=u.findIndex(w=>w.id===i.id),C="asc";if(f<0){const w={direction:C,id:i.id,order:u?.length};u.push(w)}else f>=0&&(u[f].direction=C);return u})}},{label:"Sort Descending",leftSection:g.jsx(te,{sprite:ae}),onClick:()=>{l.setStateFN("colSort",d=>{const u=[...d??[]],f=u.findIndex(w=>w.id===i.id),C="desc";if(f<0){const w={direction:C,id:i.id,order:u?.length};u.push(w)}else f>=0&&(u[f].direction=C);return u})}},{label:`Filter ${i?.title??i?.id}`},{renderer:g.jsx(ie,{column:i,storeState:a()})}],label:`Column Settings for ${i?.title??i?.id}`,leftSection:g.jsx(z.IconGrid4x4,{size:16})}]:[];l.hideMenu?.(e),l.showMenu?.(e,{items:i?.getMenuItems?.(e,l,n&&r?l.getRowBuffer(r):void 0,i,c)??l.getMenuItems?.(e,l,n&&r?l.getRowBuffer(r):void 0,i,c)??c,x:t.clientX??t.bounds?.x,y:t.clientY??t.bounds?.y})},onHeaderClicked:(e,t)=>{const n=a();t.preventDefault();const r=n.renderColumns?.[e];r&&(r.disableSort||n.setStateFN("colSort",l=>{const i=[...l??[]],c=i.findIndex(d=>d.id===r.id);if(c<0){const d={direction:"asc",id:r.id,order:i?.length};i.push(d)}else c>=0&&i[c].direction==="asc"?i[c].direction="desc":c>=0&&i[c].direction==="desc"&&i.splice(c,1);return i}))},onHeaderMenuClick:(e,t)=>{const n=a(),r=n.renderColumns?.[e];if(!r)return;const l=[{label:`Sort ${r?.title??r?.id}`},{label:"Sort Ascending",leftSection:g.jsx(te,{sprite:se}),onClick:()=>{n.setStateFN("colSort",c=>{const d=[...c??[]],u=d.findIndex(C=>C.id===r.id),f="asc";if(u<0){const C={direction:f,id:r.id,order:d?.length};d.push(C)}else u>=0&&(d[u].direction=f);return d})}},{label:"Sort Descending",leftSection:g.jsx(te,{sprite:ae}),onClick:()=>{n.setStateFN("colSort",c=>{const d=[...c??[]],u=d.findIndex(C=>C.id===r.id),f="desc";if(u<0){const C={direction:f,id:r.id,order:d?.length};d.push(C)}else u>=0&&(d[u].direction=f);return d})}},{isDivider:!0}],i=[...r.disableSort?[]:l,{label:`Filter ${r?.title??r?.id}`},{renderer:g.jsx(ie,{column:r,storeState:a()})},{isDivider:!0},{label:"Refresh",onClickAsync:async()=>{await n._refresh?.()}}];n.hideMenu?.("header-menu"),n.showMenu?.("header-menu",{items:r?.getMenuItems?.("header-menu",n,void 0,r,i)??n.getMenuItems?.("header-menu",n,void 0,r,i),x:t.x,y:t.y})},onItemHovered:e=>{const t=a();if(t.setState("_activeTooltip",void 0),e.kind==="cell"){const n=t.renderColumns?.[e.location[0]];if(n?.tooltip&&typeof n?.tooltip=="string")t.setState("_activeTooltip",n?.tooltip);else if(n?.tooltip&&typeof n?.tooltip=="function"){const r=t.getRowBuffer(e.location[1]);t.setState("_activeTooltip",n?.tooltip(r,e.location[1],e.location[0]))}}},onVisibleRegionChanged:(e,t,n,r)=>{const l=a();l._scrollTimeout&&clearTimeout(l._scrollTimeout);const i=()=>{const c=a(),d=Math.max(0,Math.floor(e.y/c.pageSize)),u=Math.max(0,Math.floor(c._visiblePages.y/c.pageSize)),f=d-u;if(c.progressiveScroll&&f>1){const C=a(),w=(u+2)*C.pageSize*(C.rowHeight??22);C._glideref?.scrollTo(0,{amount:w,unit:"px"},"vertical");return}c.setState("_visiblePages",e)};l.setState("_scrollTimeout",setTimeout(()=>{i()},100))},pageSize:50,ready:!1,refreshCells:(e,t,n)=>{const r=a(),l=[],i=Object.keys(r.renderColumns??[1,2,3]).length,c=e&&e>0?e:0,d=t&&t>=c?t:c+r.pageSize;for(let u=c;u<=d;u++)if(n&&n>0)l.push({cell:[n,u]});else for(let f=0;f<=i;f++)l.push({cell:[f,u]});r._glideref?.updateCells(l)},setState:(e,t)=>{o(H.produce(n=>{n[e]=t}))},setStateFN:(e,t)=>new Promise((r,l)=>{o(H.produce(i=>{if(typeof t=="function")i[e]=t(i[e]);else throw l(new Error(`Not a function ${t}`)),Error(`Not a function ${t}`)})),r()}),toCell:(e,t)=>{const n=a(),l=n.renderColumns?.[t],i=l?.id??l?.title??String(t);if(i==null||e===void 0||e===null)return l?.Cell?l?.Cell(e,t,i,void 0,n):n.RenderCell?n.RenderCell(e,t,i,void 0,n):{allowOverlay:!1,kind:$.GridCellKind.Loading};try{const c=String(i).includes(".")?Ne(i,e)??"":e?.[i];return l?.Cell?{kind:$.GridCellKind.Text,...l?.Cell(e,t,i,c,n)}:n.RenderCell?n.RenderCell(e,t,i,c,n):{allowOverlay:!0,data:c??"",displayData:String(c??""),kind:$.GridCellKind.Text}}catch{return n.RenderCell?n.RenderCell(e,t,i,e?.[i??""],n):{allowOverlay:!1,kind:$.GridCellKind.Loading,skeletonWidthVariability:50}}},total_rows:1e3,uniqueid:Se.getUUID()}),o=>{const[a,e]=o.useStore(n=>[n.setState,n.getState]),t=ce();return S.useEffect(()=>{const n=e("onMounted");if(typeof n=="function"&&n(e,a),a("mounted",!0),window&&window.document&&!window.document.getElementById("portal")){const l=window.document.createElement("div");l.id="portal",l.setAttribute("data-gridler-portal",o.uniqueid),window.document.body.appendChild(l)}return e("_events").dispatchEvent(new CustomEvent("mounted",{detail:{}})),()=>{const r=e("onUnMounted");a("mounted",!1),e("_events").dispatchEvent(new CustomEvent("unmounted",{detail:{}})),typeof r=="function"&&r()}},[a,e]),e("_events").addEventListener("reload",n=>{e("_refresh")?.()}),{...o,colSort:o.defaultSort??e("colSort")??[],hideMenu:o.hideMenu??t.hide,scrollToRowKey:o.scrollToRowKey??o.selectedRowKey??e("scrollToRowKey"),showMenu:o.showMenu??t.show,total_rows:o.total_rows??e("total_rows")??0}});function ze(o){const[a,e,t,n,r,l]=G(d=>[d.setStateFN,d.setState,d.getState,d.addError,d.mounted,d.loadPage]),i=S.useCallback(async d=>{const u=t("columns"),f=t("colSort"),C=t("pageSize"),w=t("colFilters"),x=t("_active_requests");e("loadingData",!0);try{if(o&&o.url){const E=new Headers;if(E.set("x-limit",String(C??50)),E.set("x-offset",String((C??50)*d)),E.set("Authorization",`Token ${o.authtoken}`),f?.length&&f.length>0&&E.set("x-sort",f?.map(m=>`${m.id} ${m.direction}`).reduce((m,b)=>`${m},${b}`)),w?.length&&w.length>0&&w?.filter(m=>m.value?.length>0)?.forEach(m=>{m.value&&m.value!==""&&E.set(`x-searchop-${m.operator}-${m.id}`,`${m.value}`)}),o.filter&&o.filter!==""&&E.set("x-custom-sql-w-buildin-filter",o.filter),o.options&&o.options.length>0){const m=le(o.options);for(const b in m)E.set(b,m[b])}const p=u?.filter(m=>!m.virtual)?.map(m=>m.id)??[];o.hotfields&&o.hotfields.length>0&&p?.push(o.hotfields.join(",")),p&&p.length>0&&E.set("x-select-fields",p.join(","));const O=x?.findIndex(m=>m.page===d)??-1;if(x?.forEach(m=>{(m.page>=0&&m.page<d-2||d>=0&&m.page>d+2)&&m.controller?.abort?.()}),x&&O>=0&&x[O]){e("loadingData",!1);return}const _=new AbortController;await a("_active_requests",m=>[...m??[],{controller:_,page:d}]);const y=await fetch(`${o.url}?x-limit=${String(C??50)}&x-offset=${String((C??50)*d)}`,{headers:E,method:"GET",signal:_?.signal});if(y.ok){const m=y.headers.get("Content-Range")?.split("/");m?.[1]&&parseInt(m[1],10)>0&&e("total_rows",parseInt(m[1],10));const b=await y.json();return e("loadingData",!1),b??[]}n(`${y.status} ${y.statusText}`,"api",o.url),await a("_active_requests",m=>[...(m??[]).filter(b=>b.page!==d)])}}catch(E){n(`Error: ${E}`,"api",o.url)}return e("loadingData",!1),[]},[t,o.authtoken,o.url,o.filter,o.options,e,a,n]),c=S.useCallback(async d=>{const u=t("colFilters");if(o&&o.url){const f=new Headers;if(f.set("x-limit","10"),f.set("x-fetch-rownumber",String(d)),f.set("Authorization",`Token ${o.authtoken}`),u?.length&&u.length>0&&u?.filter(x=>x.value?.length>0)?.forEach(x=>{x.value&&x.value!==""&&f.set(`x-searchop-${x.operator}-${x.id}`,`${x.value}`)}),o.filter&&o.filter!==""&&f.set("x-custom-sql-w-buildin-filter",o.filter),o.options&&o.options.length>0){const x=le(o.options);for(const E in x)f.set(E,x[E])}const C=new AbortController,w=await fetch(`${o.url}?x-fetch-rownumber=${d}}`,{headers:f,method:"GET",signal:C?.signal});if(w.ok){const x=await w.json();return x?.[0]?._rownumber??x?._rownumber??0}n(`${w.status} ${w.statusText}`,"api",o.url)}return[]},[o.url,o.authtoken,o.filter,o.options,t,n]);return S.useEffect(()=>{l(0,"all")},[JSON.stringify(o.options),o.filter,o.url,o.authtoken]),S.useEffect(()=>{e("useAPIQuery",i),e("askAPIRowNumber",c)},[o.url,o.authtoken,o.filter,o.options,r,e]),g.jsx(g.Fragment,{})}const xe=S.memo(ze);xe.displayName="Gridler-GlidlerAPIAdaptorForGoLangv2";function Re(o){const[a,e,t,n]=G(l=>[l.getState,l.mounted,l.setState,l.reload]),r=S.useCallback((l,i,c,d,u)=>{if(l==="header-menu")return u||[];const f=[];f.push(...u);const C=a("_gridSelection")?.rows.toArray()??[],w=C.length>1;if(!c){const p=C[0];p!==void 0&&(c=i.getRowBuffer(p))}const x=typeof o.descriptionField=="string"?c?.[o.descriptionField]:typeof o.descriptionField=="function"&&c?o.descriptionField(c):void 0;l==="other"&&f.push({c:"blue",label:"Add",onClick:()=>{o.onRequestForm("insert",c)}}),l==="cell"&&c||l==="menu"&&c?(f.push({c:"teal",label:"Add",leftSection:g.jsx(z.IconSquarePlus,{color:"teal",size:16}),onClick:()=>{o.onRequestForm("insert",c)}}),w?(f.push({c:"green",label:`Modify All Selected (${C.length})`,leftSection:g.jsx(z.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",C.map(p=>i.getRowBuffer(p)))}}),f.push({c:"red",label:`Remove All Selected (${C.length})`,leftSection:g.jsx(z.IconTrashX,{color:"maroon",size:16}),onClick:()=>{o.onRequestForm("delete",C.map(p=>i.getRowBuffer(p)))}})):(f.push({c:"green",label:`Modify${x&&o.showDescriptionInMenu?` (${x})`:""}`,leftSection:g.jsx(z.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",c)}}),f.push({c:"red",label:`Remove${x&&o.showDescriptionInMenu?` (${x})`:""}`,leftSection:g.jsx(z.IconTrashX,{color:"maroon",size:16}),onClick:()=>{o.onRequestForm("delete",c)}})),f.push({isDivider:!0})):(l==="cell"&&!c||l==="menu"&&!c)&&f.push({c:"red",label:"Nothing Selected",leftSection:g.jsx(z.IconExclamationMark,{color:"yellow",size:16})}),f.push({c:"orange",label:"Refresh",leftSection:g.jsx(z.IconRefresh,{color:"orange",size:16}),onClick:()=>{n?.()}});const E=o.getMenuItems?o.getMenuItems(l,i,c,d,f):f;return!f||f.length===0?u||[]:E},[o.onRequestForm,a]);return S.useEffect(()=>(e&&typeof t=="function"&&a("getMenuItems")!==r&&t("getMenuItems",r),()=>{}),[o.getMenuItems,e]),g.jsx(g.Fragment,{})}function Ge(o){const[a,e,t]=G(d=>[d.setState,d.getState,d.mounted]),{colFilters:n,colSort:r,columns:l}=G(d=>({colFilters:d.colFilters,colOrder:d.colOrder,colSize:d.colSize,colSort:d.colSort,columns:d.columns})),i=S.useRef({colFilters:n,colSort:r}),c=async d=>{const u=e("pageSize");return o.data&&Array.isArray(o.data)?(a("total_rows",o.data.length),o.data.slice(d*(u??50),(d+1)*(u??50))):[]};return S.useEffect(()=>{a("useAPIQuery",c)},[t,a]),S.useEffect(()=>{if(o.onColumnSort&&r!==i?.current?.colSort){const d=o.onColumnSort(r,l,o.data);a("total_rows",d.length),a("data",d),i.current.colSort=r,e("refreshCells")?.()}},[r,o.onColumnSort]),S.useEffect(()=>{if(o.onColumnFilter&&n!==i?.current?.colFilters){const d=o.onColumnFilter(n,l,o.data);a("total_rows",d.length),a("data",d),i.current.colFilters=n,e("refreshCells")?.()}},[n,o.onColumnFilter]),g.jsx(g.Fragment,{})}const ue=S.memo(Ge);ue.displayName="Gridler-GlidlerLocalDataAdaptor";function Ee(){const{loadingData:o,onContextClick:a}=G(e=>({loadingData:e.loadingData,onContextClick:e.onContextClick}));return g.jsx(k.ActionIcon,{loading:o,mr:"xs",mt:"2px",onClick:e=>a("menu",e),variant:"subtle",children:g.jsx(z.IconMenu2,{})})}function Le(o,a){const[e,t]=G(n=>[n.setStateFN,n.getState]);return S.useImperativeHandle(a,()=>({getGlideRef:()=>t("_glideref"),getState:t,isEmpty:()=>t("isEmpty"),refresh:async n=>{const r=t("refreshCells");t("loadPage")?.(n?.pageIndex??0,"all"),r?.()},reload:async n=>{const r=t("refreshCells");t("loadPage")?.(n?.pageIndex??0,"all"),r?.()},reloadRow:async n=>{const r=t("refreshCells"),i=await t("getRowIndexByKey")?.(String(n));i&&i>=0&&r?.(i,i+1)},scrollToRow:async n=>{n&&Number(n)>=0&&e("scrollToRowKey",r=>Number(n??r))},selectRow:async n=>{n&&Number(n)>=0&&e("selectedRowKey",r=>Number(n??r))},setStateFN:e}),[]),g.jsx(g.Fragment,{children:o.children})}const qe=S.forwardRef(Le);function He(){const{_activeTooltip:o,tooltipBarProps:a}=G(e=>({_activeTooltip:e._activeTooltip,tooltipBarProps:e.tooltipBarProps}));return g.jsx("div",{"data-tooltip-bar":!0,style:{minHeight:"24px"},...a,children:o})}const pe=S.memo(()=>{const o=S.useRef(0),a=S.useRef(null),{_glideref:e,_gridSelectionRows:t,colFilters:n,colOrder:r,colSize:l,colSort:i,columns:c,getRowIndexByKey:d,getState:u,loadPage:f,ready:C,scrollToRowKey:w,selectedRowKey:x,setState:E,setStateFN:p,values:O}=G(_=>({_glideref:_._glideref,_gridSelectionRows:_._gridSelectionRows,colFilters:_.colFilters,colOrder:_.colOrder,colSize:_.colSize,colSort:_.colSort,columns:_.columns,getRowIndexByKey:_.getRowIndexByKey,getState:_.getState,loadPage:_.loadPage,ready:_.ready,scrollToRowKey:_.scrollToRowKey,selectedRowKey:_.selectedRowKey,setState:_.setState,setStateFN:_.setStateFN,uniqueid:_.uniqueid,values:_.values}));return S.useEffect(()=>{O&&(async()=>{const y=u("_page_data"),m=u("pageSize"),b=u("keyField")??"id",j=[];for(const N in O){let I=-1;const M=String(typeof O?.[N]=="object"?O?.[N]?.[b]:typeof O?.[N]=="string"?O?.[N]:void 0);for(const P in y){for(const D in y[P]){const A=Number(P)*m+Number(D);if(String(y[P][D]?.[b])===M){I=A;break}}if(I>=0){j.push(I);break}}if(!(I>=0)){const P=await d(M);P&&j.push(P)}}return j})().then(y=>{let m=$.CompactSelection.empty();y.forEach(b=>{m=m.add(b)}),p("_gridSelectionRows",()=>m),p("_gridSelection",b=>({columns:b?.columns??$.CompactSelection.empty(),...b,rows:m}))})},[O]),S.useEffect(()=>{const _=u("onChange");if(_&&typeof _=="function"){const y=u("_page_data"),m=u("pageSize"),b=[];if(t)for(const N of t){let I;for(const M in y)for(const P in y[M]){const D=Number(M)*m+Number(P);if(!isNaN(D)){if(Number(y[M][P]?._rownumber)===N+1){I=y[M][P];break}else if(D===N+1){I=y[M][P];break}}}I!==void 0&&b.push(I)}const j=u("values");JSON.stringify(j)!==JSON.stringify(b)&&_(b)}},[JSON.stringify(t),u]),S.useEffect(()=>{E("renderColumns",c?.map(_=>({..._,hasMenu:_?.hasMenu??!0,icon:"sort"})))},[c]),S.useEffect(()=>{i&&(E("_gridSelection",{columns:$.CompactSelection.empty(),current:void 0,rows:$.CompactSelection.empty()}),E("_gridSelectionRows",$.CompactSelection.empty()),p("renderColumns",_=>_?.map(y=>({...y,icon:y.id&&i?.find(m=>m.id===y.id)?.direction?i?.find(m=>m.id===y.id)?.direction==="asc"?"sortup":"sortdown":y.defaultIcon??"sort"}))).then(()=>{f(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onColumnSorted",{detail:{cols:i}}))})}))},[i]),S.useEffect(()=>{n&&JSON.stringify(a.current)!==JSON.stringify(n)&&(f(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onColumnFiltered",{detail:{filters:n}}))}),a.current=n)},[n]),S.useEffect(()=>{l&&p("renderColumns",_=>_?.map(y=>({...y,width:y.id&&l?.[y.id]?l?.[y.id]:y.width}))).then(()=>{u("refreshCells")?.()})},[l]),S.useEffect(()=>{r&&p("renderColumns",_=>_?.sort((m,b)=>r[m.id]>r[b.id]?1:-1)).then(()=>{u("refreshCells")?.()})},[r]),S.useEffect(()=>{e&&(o.current>0||(o.current=1,f(0).then(()=>{u("refreshCells")?.()})))},[C,f]),S.useEffect(()=>{const _=u("_events"),y=()=>{if(u("selectFirstRowOnMount")){const b=u("scrollToRowKey");if(b&&b>=0)return;const j=u("keyField")??"id",I=u("_page_data")?.[0]?.[0],M=I?.[j],P=u("values")??[];if(M&&M>0&&(P.length??0)===0){const D=[I,...P],A=u("onChange");A?A(D):E("values",D),E("scrollToRowKey",M)}}};return _?.addEventListener("loadPage",y),()=>{_?.removeEventListener("loadPage",y)}},[]),S.useEffect(()=>{const _=u("ready"),y=u("_glideref"),m=u("getRowIndexByKey");w&&y&&_&&m?.(w).then(b=>{b!==void 0&&(y.scrollTo(0,b),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:b,scrollToRowKey:w}})))})},[w]),S.useEffect(()=>{const _=u("ready"),y=u("_glideref"),m=u("getRowIndexByKey"),b=x??w;b&&y&&_&&m?.(b).then(j=>{if(j!==void 0){if(x){const N=u("onChange"),I=[{[u("keyField")??"id"]:x}];N?N(I):E("values",I)}y.scrollTo(0,j),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:j,scrollToRowKey:w,selectedRowKey:x}}))}})},[w,x]),g.jsx(g.Fragment,{})});pe.displayName="Gridler-Computer";function Be(o,a,e=1){let t;if(a===void 0?(t=0,a=o):t=o,e===0)throw new Error("Step cannot be zero");const n=[];if(e>0)for(let r=t;r<a;r+=e)n.push(r);else for(let r=t;r>a;r+=e)n.push(r);return n}const ke=S.memo(()=>{const[o,a,e,t,n,r,l,i]=G(c=>[c.setState,c.getState,c._glideref,c._visiblePages,c.pageSize,c.loadPage,c._loadingList,c.hasLocalData]);return S.useEffect(()=>{e&&o("mounted",!0)},[o]),S.useEffect(()=>{if(!e)return;const c=Math.max(0,Math.floor(t.y/n)),d=Math.floor((t.y+t.height)/n);for(const u of Be(c,d+1,1))r(u).then(()=>{const f=a("_page_data")?.[0]??{};o("isEmpty",f&&f.length>0)})},[r,n,t,e,l,i]),g.jsx(g.Fragment,{})});ke.displayName="Gridler-Pager";const Ke=o=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none">
34
+ `,re=o=>m.jsx("img",{alt:o.alt??"Sprite Image",src:`data:image/svg+xml;utf8,${o.sprite({...o,sprite:void 0})}`}),{Provider:De,useStore:q}=ve.createSyncStore((o,i)=>({_events:new EventTarget,_loadingList:G.CompactSelection.empty(),_page_data:{},_refresh:()=>{const e=i();e.loadPage(0,"all").then(()=>{e.refreshCells(),e.reload?.()})},_visibleArea:{height:1e4,width:1e3,x:0,y:0},_visiblePages:{height:0,width:0,x:0,y:0},addError:(e,...t)=>{const n=i();console.log("Gridler Error",n.uniqueid,e,t),o(V.produce(r=>{r.errors=[...r.errors,e]}))},errors:[],get:()=>i(),getCellContent:e=>{const t=i(),[n,r]=e,l=t.getRowBuffer(r);return l!==void 0?t.toCell(l,n):{allowOverlay:!1,kind:G.GridCellKind.Loading}},getCellsForSelection:(e,t)=>async()=>{const n=i();await n.setStateFN("_visibleArea",l=>e);const r=[];for(let l=e.y;l<e.y+e.height;l++){const a=[];for(let c=e.x;c<e.x+e.width;c++)a.push(n.getCellContent([c,l]));r.push(a)}return r},getRowBuffer:e=>{const t=i();if(t.data&&t.data.length>0)return t.data[e]===void 0?{allowOverlay:!1,kind:G.GridCellKind.Loading}:t.data[e];const n=Math.max(0,Math.floor(e/t.pageSize)),r=t.pageSize*n,l=e-r;return t._page_data?.[n]?.[l]},getRowIndexByKey:async e=>{const t=i();let n=-1;if(t.ready){const r=t._page_data,l=t.pageSize,a=t.keyField??"id";for(const c in r){for(const g in r[c]){const d=Number(c)*l+Number(g);if(String(r[c][g]?.[a])===String(e)){n=r[c][g]?._rownumber>0?r[c][g]?._rownumber:d>0?d:-1;break}}if(n>0)return console.log("Local row index",n,e),n}if(n>0)return n;if(typeof t.askAPIRowNumber=="function"){const c=await t.askAPIRowNumber(String(e));if(c&&c>=0)return console.log("Remote row index",n,e),c}}},getState:e=>i()[e],hasLocalData:!1,isEmpty:!0,keyField:"id",loadPage:async(e,t)=>{const n=i(),r=e<0?0:e;if(!n._events.dispatchEvent(new CustomEvent("before_loadPage",{detail:{clearMode:t,page:e,state:n}})))return;const a=[],c=Object.keys(n.renderColumns??[1,2,3]).length,g=n.pageSize*r,d=n._page_data?.[r]?.length>0;if(t==="all"){n._active_requests?.forEach(u=>{u.controller?.abort?.()}),n.setState("_page_data",{}),n.setState("_active_requests",[]),n.loadPage(r);return}if(!n.useAPIQuery){console.warn("No useAPIQuery function defined, cannot load page",r);return}!d&&t!=="page"&&n.useAPIQuery?.(r).then(u=>{n.setStateFN("_page_data",_=>({..._,[r]:u}));for(let _=r;_<=g+n.pageSize;_++)for(let b=0;b<=c;b++)a.push({cell:[b,_]});n._glideref?.updateCells(a),n._events.dispatchEvent(new CustomEvent("loadPage",{detail:{clearMode:t,data:u,page:e,state:n}}))}).catch(u=>{console.warn("loadPage Error: ",r,u),n._events.dispatchEvent(new CustomEvent("loadPage_error",{detail:{clearMode:t,error:u,page:e,state:n}}))})},maxConcurrency:1,mounted:!1,onCellClicked:(e,t)=>{const n=i(),[r,l]=e;n.glideProps?.onCellClicked?.(e,t),n._events.dispatchEvent(new CustomEvent("onCellClicked",{detail:{cell:e,col:r,row:l,state:n}}))},onCellEdited:(e,t)=>{const n=i(),[,r]=e;n._events.dispatchEvent(new CustomEvent("onCellEdited",{detail:{cell:e,newVal:t,row:r,state:n}})),n.glideProps?.onCellEdited?.(e,t)},onColumnMoved:(e,t)=>{const n=i(),r=n.renderColumns?.[e],l=n.renderColumns?.[t];r?.disableMove||l?.disableMove||n.setStateFN("colOrder",a=>{const c=a??n.renderColumns?.map((g,d)=>[g.id,d]).reduce((g,[d,u])=>({...g,[d]:u}),{});return!r?.id||!l?.id?c:{...c,[r?.id]:t,[l?.id]:e}})},onColumnProposeMove:(e,t)=>{const n=i(),r=n.renderColumns?.[e],l=n.renderColumns?.[t];return!(r?.disableMove||l?.disableMove)},onColumnResize:(e,t,n,r)=>{const l=i(),a=l.renderColumns?.find(c=>c.id===e.id);a?.disableResize||a?.maxWidth&&t<a?.maxWidth||a&&l.setStateFN("colSize",c=>c&&a&&c[a.id]===t?c:{...c,[a.id]:t})},onContextClick:(e,t,n,r)=>{const l=i(),a=l.renderColumns?.[n??-1],c=e==="menu"?[{leftSection:m.jsx(L.IconGrid4x4,{size:16}),title:l.title??"Grid"}]:a?[{leftSection:m.jsx(L.IconGrid4x4,{size:16}),title:l.title??"Grid"},{items:[{label:"Sort Ascending",leftSection:m.jsx(re,{sprite:se}),onClick:()=>{l.setStateFN("colSort",g=>{const d=[...g??[]],u=d.findIndex(b=>b.id===a.id),_="asc";if(u<0){const b={direction:_,id:a.id,order:d?.length};d.push(b)}else u>=0&&(d[u].direction=_);return d})}},{label:"Sort Descending",leftSection:m.jsx(re,{sprite:ae}),onClick:()=>{l.setStateFN("colSort",g=>{const d=[...g??[]],u=d.findIndex(b=>b.id===a.id),_="desc";if(u<0){const b={direction:_,id:a.id,order:d?.length};d.push(b)}else u>=0&&(d[u].direction=_);return d})}},{label:`Filter ${a?.title??a?.id}`},{renderer:m.jsx(ie,{column:a,storeState:i()})}],label:`Column Settings for ${a?.title??a?.id}`,leftSection:m.jsx(L.IconGrid4x4,{size:16})}]:[];l.hideMenu?.(e),l.showMenu?.(e,{items:a?.getMenuItems?.(e,l,n&&r?l.getRowBuffer(r):void 0,a,c)??l.getMenuItems?.(e,l,n&&r?l.getRowBuffer(r):void 0,a,c)??c,x:t.clientX??t.bounds?.x,y:t.clientY??t.bounds?.y})},onHeaderClicked:(e,t)=>{const n=i();t.preventDefault();const r=n.renderColumns?.[e];r&&(r.disableSort||n.setStateFN("colSort",l=>{const a=[...l??[]],c=a.findIndex(g=>g.id===r.id);if(c<0){const g={direction:"asc",id:r.id,order:a?.length};a.push(g)}else c>=0&&a[c].direction==="asc"?a[c].direction="desc":c>=0&&a[c].direction==="desc"&&a.splice(c,1);return a}))},onHeaderMenuClick:(e,t)=>{const n=i(),r=n.renderColumns?.[e];if(!r)return;const l=[{label:`Sort ${r?.title??r?.id}`},{label:"Sort Ascending",leftSection:m.jsx(re,{sprite:se}),onClick:()=>{n.setStateFN("colSort",c=>{const g=[...c??[]],d=g.findIndex(_=>_.id===r.id),u="asc";if(d<0){const _={direction:u,id:r.id,order:g?.length};g.push(_)}else d>=0&&(g[d].direction=u);return g})}},{label:"Sort Descending",leftSection:m.jsx(re,{sprite:ae}),onClick:()=>{n.setStateFN("colSort",c=>{const g=[...c??[]],d=g.findIndex(_=>_.id===r.id),u="desc";if(d<0){const _={direction:u,id:r.id,order:g?.length};g.push(_)}else d>=0&&(g[d].direction=u);return g})}},{isDivider:!0}],a=[...r.disableSort?[]:l,{label:`Filter ${r?.title??r?.id}`},{renderer:m.jsx(ie,{column:r,storeState:i()})},{isDivider:!0},{label:"Refresh",onClickAsync:async()=>{await n._refresh?.()}}];n.hideMenu?.("header-menu"),n.showMenu?.("header-menu",{items:r?.getMenuItems?.("header-menu",n,void 0,r,a)??n.getMenuItems?.("header-menu",n,void 0,r,a),x:t.x,y:t.y})},onItemHovered:e=>{const t=i();if(t.setState("_activeTooltip",void 0),e.kind==="cell"){const n=t.renderColumns?.[e.location[0]];if(n?.tooltip&&typeof n?.tooltip=="string")t.setState("_activeTooltip",n?.tooltip);else if(n?.tooltip&&typeof n?.tooltip=="function"){const r=t.getRowBuffer(e.location[1]);t.setState("_activeTooltip",n?.tooltip(r,e.location[1],e.location[0]))}}},onVisibleRegionChanged:(e,t,n,r)=>{const l=i();l._scrollTimeout&&clearTimeout(l._scrollTimeout);const a=()=>{const c=i(),g=Math.max(0,Math.floor(e.y/c.pageSize)),d=Math.max(0,Math.floor(c._visiblePages.y/c.pageSize)),u=g-d;if(c.progressiveScroll&&u>1){const _=i(),b=(d+2)*_.pageSize*(_.rowHeight??22);_._glideref?.scrollTo(0,{amount:b,unit:"px"},"vertical");return}c.setState("_visiblePages",e)};l.setState("_scrollTimeout",setTimeout(()=>{a()},100))},pageSize:50,ready:!1,refreshCells:(e,t,n)=>{const r=i(),l=[],a=Object.keys(r.renderColumns??[1,2,3]).length,c=e&&e>0?e:0,g=t&&t>=c?t:c+r.pageSize;for(let d=c;d<=g;d++)if(n&&n>0)l.push({cell:[n,d]});else for(let u=0;u<=a;u++)l.push({cell:[u,d]});r._glideref?.updateCells(l)},setState:(e,t)=>{o(V.produce(n=>{n[e]=t}))},setStateFN:(e,t)=>new Promise((r,l)=>{o(V.produce(a=>{if(typeof t=="function")a[e]=t(a[e]);else throw l(new Error(`Not a function ${t}`)),Error(`Not a function ${t}`)})),r()}),toCell:(e,t)=>{const n=i(),l=n.renderColumns?.[t],a=l?.id??l?.title??String(t);if(a==null||e===void 0||e===null)return l?.Cell?l?.Cell(e,t,a,void 0,n):n.RenderCell?n.RenderCell(e,t,a,void 0,n):{allowOverlay:!1,kind:G.GridCellKind.Loading};try{const c=String(a).includes(".")?Ne(a,e)??"":e?.[a];return l?.Cell?{kind:G.GridCellKind.Text,...l?.Cell(e,t,a,c,n)}:n.RenderCell?n.RenderCell(e,t,a,c,n):{allowOverlay:!0,data:c??"",displayData:String(c??""),kind:G.GridCellKind.Text}}catch{return n.RenderCell?n.RenderCell(e,t,a,e?.[a??""],n):{allowOverlay:!1,kind:G.GridCellKind.Loading,skeletonWidthVariability:50}}},total_rows:1e3,uniqueid:Se.getUUID()}),o=>{const[i,e]=o.useStore(n=>[n.setState,n.getState]),t=ce();return v.useEffect(()=>{const n=e("onMounted");if(typeof n=="function"&&n(e,i),i("mounted",!0),window&&window.document&&!window.document.getElementById("portal")){const l=window.document.createElement("div");l.id="portal",l.setAttribute("data-gridler-portal",o.uniqueid),window.document.body.appendChild(l)}return e("_events").dispatchEvent(new CustomEvent("mounted",{detail:{}})),()=>{const r=e("onUnMounted");i("mounted",!1),e("_events").dispatchEvent(new CustomEvent("unmounted",{detail:{}})),typeof r=="function"&&r()}},[i,e]),e("_events").addEventListener("reload",n=>{e("_refresh")?.()}),{...o,colSort:o.defaultSort??e("colSort")??[],hideMenu:o.hideMenu??t.hide,scrollToRowKey:o.scrollToRowKey??o.selectedRowKey??e("scrollToRowKey"),showMenu:o.showMenu??t.show,total_rows:e("total_rows")??o.total_rows}});function ze(o){const[i,e,t,n,r,l]=q(g=>[g.setStateFN,g.setState,g.getState,g.addError,g.mounted,g.loadPage]),a=v.useCallback(async g=>{const d=t("columns"),u=t("colSort"),_=t("pageSize"),b=t("colFilters"),y=t("searchStr"),T=t("_active_requests");e("loadingData",!0);try{if(o&&o.url){const R=new Headers;R.set("Authorization",`Token ${o.authtoken}`);const F=[{type:"limit",value:String(_??50)},{type:"offset",value:String((_??50)*g)}];if(u?.length&&u.length>0&&F.push({type:"sort",value:u?.map(f=>`${f.id} ${f.direction}`).reduce((f,w)=>`${f},${w}`)}),b?.filter(f=>f.value?.length>0)?.forEach(f=>{f.value&&f.value!==""&&F.push({name:`${f.id}`,op:f.operator,type:"searchop",value:f.value})}),y&&y!==""&&d?.filter(f=>!f.disableFilter&&!f.disableSearch)?.forEach(f=>{F.push({name:`${f.id}`,op:"contains",type:"searchor",value:y})}),o.filter&&o.filter!==""&&F.push({name:"sql_filter",type:"custom-sql-w",value:o.filter}),o.options&&o.options.length>0){const f=Q(o.options);for(const w in f)R.set(w,f[w])}const O=d?.filter(f=>!f.virtual)?.map(f=>f.id)??[];if(o.hotfields&&o.hotfields.length>0&&O?.push(o.hotfields.join(",")),F&&F.length>0){const f=Q(F);for(const w in Q(F))R.set(w,f[w])}O&&O.length>0&&F.push({type:"select-fields",value:O.join(",")});const $=T?.findIndex(f=>f.page===g)??-1;if(T?.forEach(f=>{(f.page>=0&&f.page<g-2||g>=0&&f.page>g+2)&&f.controller?.abort?.()}),T&&$>=0&&T[$]){e("loadingData",!1);return}const B=new AbortController;await i("_active_requests",f=>[...f??[],{controller:B,page:g}]);const h=await fetch(`${o.url}?x-limit=${String(_??50)}&x-offset=${String((_??50)*g)}`,{headers:R,method:"GET",signal:B?.signal});if(h.ok){const f=h.headers.get("Content-Range")?.split("/");f?.[1]&&parseInt(f[1],10)>0&&e("total_rows",parseInt(f[1],10));const w=await h.json();return e("loadingData",!1),w??[]}n(`${h.status} ${h.statusText}`,"api",o.url),await i("_active_requests",f=>[...(f??[]).filter(w=>w.page!==g)])}}catch(R){n(`Error: ${R}`,"api",o.url)}return e("loadingData",!1),[]},[t,o.authtoken,o.url,o.filter,o.options,e,i,n]),c=v.useCallback(async g=>{const d=t("colFilters");if(o&&o.url){const u=new Headers;if(u.set("x-limit","10"),u.set("x-fetch-rownumber",String(g)),u.set("Authorization",`Token ${o.authtoken}`),d?.length&&d.length>0&&d?.filter(y=>y.value?.length>0)?.forEach(y=>{y.value&&y.value!==""&&u.set(`x-searchop-${y.operator}-${y.id}`,`${y.value}`)}),o.filter&&o.filter!==""&&u.set("x-custom-sql-w-buildin-filter",o.filter),o.options&&o.options.length>0){const y=Q(o.options);for(const T in y)u.set(T,y[T])}const _=new AbortController,b=await fetch(`${o.url}?x-fetch-rownumber=${g}}`,{headers:u,method:"GET",signal:_?.signal});if(b.ok){const y=await b.json();return y?.[0]?._rownumber??y?._rownumber??0}n(`${b.status} ${b.statusText}`,"api",o.url)}return[]},[o.url,o.authtoken,o.filter,o.options,t,n]);return v.useEffect(()=>{l(0,"all")},[JSON.stringify(o.options),o.filter,o.url,o.authtoken]),v.useEffect(()=>{e("useAPIQuery",a),e("askAPIRowNumber",c)},[o.url,o.authtoken,o.filter,o.options,r,e]),m.jsx(m.Fragment,{})}const xe=v.memo(ze);xe.displayName="Gridler-GlidlerAPIAdaptorForGoLangv2";function Re(o){const[i,e,t,n]=q(l=>[l.getState,l.mounted,l.setState,l.reload]),r=v.useCallback((l,a,c,g,d)=>{if(l==="header-menu")return d||[];const u=[];u.push(...d);const _=i("_gridSelection")?.rows.toArray()??[],b=_.length>1;if(!c){const R=_[0];R!==void 0&&(c=a.getRowBuffer(R))}const y=typeof o.descriptionField=="string"?c?.[o.descriptionField]:typeof o.descriptionField=="function"&&c?o.descriptionField(c):void 0;l==="other"&&u.push({c:"blue",label:"Add",onClick:()=>{o.onRequestForm("insert",c)}}),l==="cell"&&c||l==="menu"&&c?(u.push({c:"teal",label:"Add",leftSection:m.jsx(L.IconSquarePlus,{color:"teal",size:16}),onClick:()=>{o.onRequestForm("insert",c)}}),b?(u.push({c:"green",label:`Modify All Selected (${_.length})`,leftSection:m.jsx(L.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",_.map(R=>a.getRowBuffer(R)))}}),u.push({c:"red",label:`Remove All Selected (${_.length})`,leftSection:m.jsx(L.IconTrashX,{color:"maroon",size:16}),onClick:()=>{o.onRequestForm("delete",_.map(R=>a.getRowBuffer(R)))}})):(u.push({c:"green",label:`Modify${y&&o.showDescriptionInMenu?` (${y})`:""}`,leftSection:m.jsx(L.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",c)}}),u.push({c:"red",label:`Remove${y&&o.showDescriptionInMenu?` (${y})`:""}`,leftSection:m.jsx(L.IconTrashX,{color:"maroon",size:16}),onClick:()=>{o.onRequestForm("delete",c)}})),u.push({isDivider:!0})):(l==="cell"&&!c||l==="menu"&&!c)&&u.push({c:"red",label:"Nothing Selected",leftSection:m.jsx(L.IconExclamationMark,{color:"yellow",size:16})}),u.push({c:"orange",label:"Refresh",leftSection:m.jsx(L.IconRefresh,{color:"orange",size:16}),onClick:()=>{n?.()}});const T=o.getMenuItems?o.getMenuItems(l,a,c,g,u):u;return!u||u.length===0?d||[]:T},[o.onRequestForm,i]);return v.useEffect(()=>(e&&typeof t=="function"&&i("getMenuItems")!==r&&t("getMenuItems",r),()=>{}),[o.getMenuItems,e]),m.jsx(m.Fragment,{})}function Ge(o){const[i,e,t]=q(d=>[d.setState,d.getState,d.mounted]),{colFilters:n,colSort:r,columns:l,searchStr:a}=q(d=>({colFilters:d.colFilters,colOrder:d.colOrder,colSize:d.colSize,colSort:d.colSort,columns:d.columns,searchStr:d.searchStr})),c=v.useRef({colFilters:n,colSort:r,searchStr:a}),g=async d=>{const u=e("pageSize");return o.data&&Array.isArray(o.data)?(i("total_rows",o.data.length),o.data.slice(d*(u??50),(d+1)*(u??50))):[]};return v.useEffect(()=>{i("useAPIQuery",g)},[t,i]),v.useEffect(()=>{if(o.onColumnSort&&r!==c?.current?.colSort){const d=o.onColumnSort(r,l,o.data);i("total_rows",d.length),i("data",d),c.current.colSort=r,e("refreshCells")?.()}},[r,o.onColumnSort]),v.useEffect(()=>{if(o.onColumnFilter&&n!==c?.current?.colFilters){const d=o.onColumnFilter(n,l,o.data);i("total_rows",d.length),i("data",d),c.current.colFilters=n,e("refreshCells")?.()}},[n,o.onColumnFilter]),v.useEffect(()=>{if(o.onSearch&&a!==c?.current?.searchStr){const d=o.onSearch(a,l,o.data);i("total_rows",d.length),i("data",d),c.current.colFilters=n,e("refreshCells")?.()}},[a,o.onSearch]),m.jsx(m.Fragment,{})}const ue=v.memo(Ge);ue.displayName="Gridler-GlidlerLocalDataAdaptor";function Ee(){const{loadingData:o,onContextClick:i}=q(e=>({loadingData:e.loadingData,onContextClick:e.onContextClick}));return m.jsx(I.ActionIcon,{loading:o,mr:"xs",mt:"2px",onClick:e=>i("menu",e),variant:"subtle",children:m.jsx(L.IconMenu2,{})})}function Le(o,i){const[e,t]=q(n=>[n.setStateFN,n.getState]);return v.useImperativeHandle(i,()=>({getGlideRef:()=>t("_glideref"),getState:t,isEmpty:()=>t("isEmpty"),refresh:async n=>{const r=t("refreshCells");t("loadPage")?.(n?.pageIndex??0,"all"),r?.()},reload:async n=>{const r=t("refreshCells");t("loadPage")?.(n?.pageIndex??0,"all"),r?.()},reloadRow:async n=>{const r=t("refreshCells"),a=await t("getRowIndexByKey")?.(String(n));a&&a>=0&&r?.(a,a+1)},scrollToRow:async n=>{n&&Number(n)>=0&&e("scrollToRowKey",r=>Number(n??r))},selectRow:async n=>{n&&Number(n)>=0&&e("selectedRowKey",r=>Number(n??r))},setStateFN:e}),[]),m.jsx(m.Fragment,{children:o.children})}const qe=v.forwardRef(Le);function He(){const{_activeTooltip:o,tooltipBarProps:i}=q(e=>({_activeTooltip:e._activeTooltip,tooltipBarProps:e.tooltipBarProps}));return m.jsx("div",{"data-tooltip-bar":!0,style:{minHeight:"24px"},...i,children:o})}const pe=v.memo(()=>{const o=v.useRef(0),i=v.useRef(""),e=v.useRef(null),{_glideref:t,_gridSelectionRows:n,colFilters:r,colOrder:l,colSize:a,colSort:c,columns:g,getRowIndexByKey:d,getState:u,loadPage:_,ready:b,scrollToRowKey:y,searchStr:T,selectedRowKey:R,setState:F,setStateFN:O,values:$}=q(h=>({_glideref:h._glideref,_gridSelectionRows:h._gridSelectionRows,colFilters:h.colFilters,colOrder:h.colOrder,colSize:h.colSize,colSort:h.colSort,columns:h.columns,getRowIndexByKey:h.getRowIndexByKey,getState:h.getState,loadPage:h.loadPage,ready:h.ready,scrollToRowKey:h.scrollToRowKey,searchStr:h.searchStr,selectedRowKey:h.selectedRowKey,setState:h.setState,setStateFN:h.setStateFN,uniqueid:h.uniqueid,values:h.values})),B=Z.useDebouncedCallback(h=>{_(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onSearched",{detail:{search:h}}))})},{delay:300,leading:!1});return v.useEffect(()=>{$&&(async()=>{const f=u("_page_data"),w=u("pageSize"),x=u("keyField")??"id",j=[];for(const N in $){let M=-1;const p=String(typeof $?.[N]=="object"?$?.[N]?.[x]:typeof $?.[N]=="string"?$?.[N]:void 0);for(const P in f){for(const D in f[P]){const H=Number(P)*w+Number(D);if(String(f[P][D]?.[x])===p){M=H;break}}if(M>=0){j.push(M);break}}if(!(M>=0)){const P=await d(p);P&&j.push(P)}}return j})().then(f=>{let w=G.CompactSelection.empty();f.forEach(x=>{w=w.add(x)}),O("_gridSelectionRows",()=>w),O("_gridSelection",x=>({columns:x?.columns??G.CompactSelection.empty(),...x,rows:w}))})},[$]),v.useEffect(()=>{const h=u("onChange");if(h&&typeof h=="function"){const f=u("_page_data"),w=u("pageSize"),x=[];if(n)for(const N of n){let M;for(const p in f)for(const P in f[p]){const D=Number(p)*w+Number(P);if(!isNaN(D)){if(Number(f[p][P]?._rownumber)===N+1){M=f[p][P];break}else if(D===N+1){M=f[p][P];break}}}M!==void 0&&x.push(M)}const j=u("values");JSON.stringify(j)!==JSON.stringify(x)&&h(x)}},[JSON.stringify(n),u]),v.useEffect(()=>{F("renderColumns",g?.map(h=>({...h,hasMenu:h?.hasMenu??!0,icon:"sort"})))},[g]),v.useEffect(()=>{if(T==null){i.current="";return}i.current!==T&&(B(T),i.current=T)},[T]),v.useEffect(()=>{c&&(F("_gridSelection",{columns:G.CompactSelection.empty(),current:void 0,rows:G.CompactSelection.empty()}),F("_gridSelectionRows",G.CompactSelection.empty()),O("renderColumns",h=>h?.map(f=>({...f,icon:f.id&&c?.find(w=>w.id===f.id)?.direction?c?.find(w=>w.id===f.id)?.direction==="asc"?"sortup":"sortdown":f.defaultIcon??"sort"}))).then(()=>{_(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onColumnSorted",{detail:{cols:c}}))})}))},[c]),v.useEffect(()=>{r&&JSON.stringify(e.current)!==JSON.stringify(r)&&(_(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onColumnFiltered",{detail:{filters:r}}))}),e.current=r)},[r]),v.useEffect(()=>{a&&O("renderColumns",h=>h?.map(f=>({...f,width:f.id&&a?.[f.id]?a?.[f.id]:f.width}))).then(()=>{u("refreshCells")?.()})},[a]),v.useEffect(()=>{l&&O("renderColumns",h=>h?.sort((w,x)=>l[w.id]>l[x.id]?1:-1)).then(()=>{u("refreshCells")?.()})},[l]),v.useEffect(()=>{t&&(o.current>0||(o.current=1,_(0).then(()=>{u("refreshCells")?.()})))},[b,_]),v.useEffect(()=>{const h=u("_events"),f=()=>{if(u("selectFirstRowOnMount")){const x=u("scrollToRowKey");if(x&&x>=0)return;const j=u("keyField")??"id",M=u("_page_data")?.[0]?.[0],p=M?.[j],P=u("values")??[];if(p&&p>0&&(P.length??0)===0){const D=[M,...P],H=u("onChange");H?H(D):F("values",D),F("scrollToRowKey",p)}}};return h?.addEventListener("loadPage",f),()=>{h?.removeEventListener("loadPage",f)}},[]),v.useEffect(()=>{const h=u("ready"),f=u("_glideref"),w=u("getRowIndexByKey");y&&f&&h&&w?.(y).then(x=>{x!==void 0&&(f.scrollTo(0,x),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:x,scrollToRowKey:y}})))})},[y]),v.useEffect(()=>{const h=u("ready"),f=u("_glideref"),w=u("getRowIndexByKey"),x=R??y;x&&f&&h&&w?.(x).then(j=>{if(j!==void 0){if(R){const N=u("onChange"),M=[{[u("keyField")??"id"]:R}];N?N(M):F("values",M)}f.scrollTo(0,j),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:j,scrollToRowKey:y,selectedRowKey:R}}))}})},[y,R]),m.jsx(m.Fragment,{})});pe.displayName="Gridler-Computer";function Be(o,i,e=1){let t;if(i===void 0?(t=0,i=o):t=o,e===0)throw new Error("Step cannot be zero");const n=[];if(e>0)for(let r=t;r<i;r+=e)n.push(r);else for(let r=t;r>i;r+=e)n.push(r);return n}const ke=v.memo(()=>{const[o,i,e,t,n,r,l,a]=q(c=>[c.setState,c.getState,c._glideref,c._visiblePages,c.pageSize,c.loadPage,c._loadingList,c.hasLocalData]);return v.useEffect(()=>{e&&o("mounted",!0)},[o]),v.useEffect(()=>{if(!e)return;const c=Math.max(0,Math.floor(t.y/n)),g=Math.floor((t.y+t.height)/n);for(const d of Be(c,g+1,1))r(d).then(()=>{const u=i("_page_data")?.[0]??{};o("isEmpty",u&&u.length>0)})},[r,n,t,e,l,a]),m.jsx(m.Fragment,{})});ke.displayName="Gridler-Pager";const Ke=o=>`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20" fill="none">
35
35
  <path
36
36
  fill="${o.fgColor??"currentColor"}"
37
37
  d="M2.22 9.967L7.97 4.22l.085-.074l.058-.038l.072-.039l.105-.04l.105-.022l.052-.005L8.5 4l.057.002l.092.013l.107.03l.085.037l.054.03l.063.044l.072.064l5.75 5.747a.75.75 0 0 1-.976 1.133l-.084-.072L9.25 6.56v16.69a.75.75 0 0 1-1.493.102l-.007-.102V6.56l-4.47 4.468a.75.75 0 0 1-.976.072l-.084-.072a.75.75 0 0 1-.073-.977zM19.5 4a.75.75 0 0 1 .743.648l.007.102v16.687l4.47-4.467l.084-.073a.75.75 0 0 1 1.049 1.05l-.073.083l-5.728 5.727a.75.75 0 0 1-1.031.07l-.073-.07l-5.728-5.727l-.073-.084a.75.75 0 0 1-.007-.882l.08-.094l.084-.073a.75.75 0 0 1 .882-.007l.094.08l4.47 4.469V4.75l.007-.102A.75.75 0 0 1 19.5 4"
38
38
  ></path>
39
- </svg>`,We="_container_1nbyf_1",Ve={container:We},Ye=o=>a=>a%2===0?void 0:{bgCell:o==="dark"?"#303030":"#e1effc"},Je=()=>{const o=k.useMantineTheme(),{colorScheme:a}=k.useMantineColorScheme(),{enableOddEvenRowColor:e,focused:t}=G(f=>({enableOddEvenRowColor:f.enableOddEvenRowColor,focused:f.focused})),n={auto:t?k.lighten(o.colors.blue[4],.9):"#ffffff",dark:t?k.darken("#bacfe0",.2):o.colors.dark[7],light:t?k.lighten(o.colors.blue[4],.8):"#ffffff"}[a],r={accentColor:"none",accentLight:o.colors.blue[9],baseFontStyle:"13px",bgBubble:"#212121",bgBubbleSelected:"#000000",bgCell:n,bgCellMedium:"#202027",bgHeader:"#2A2A2A",bgHeaderHasFocus:"#181818",bgHeaderHovered:"#404040",bgIconHeader:"#b8b8b8",bgSearchResult:"#423c24",borderColor:"#eee1",drilldownBorder:"rgba(225,225,225,0.4)",fgIconHeader:"#000000",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",headerFontStyle:"500 13px",linkColor:o.colors.blue[4],textBubble:"#ffffff",textDark:"#dedede",textGroupHeader:"#dedede",textHeader:"#a1a1a1",textHeaderSelected:"#000000",textLight:"#a0a0a0",textMedium:"#b8b8b8"},i=a==="dark"?r:{bgCell:n,textGroupHeader:"#2c5491"},[c,d]=S.useState(i);return S.useEffect(()=>{d(i)},[a,t]),{getRowThemeOverride:f=>e?Ye(a)(f):void 0,gridTheme:c}},Ue=()=>{const o=S.useRef(null),a=S.useRef(!1),{height:e,ref:t,width:n}=ne.useElementSize({box:"content-box"}),{_gridSelection:r,allowMultiSelect:l,focused:i,getCellContent:c,getCellsForSelection:d,getState:u,glideProps:f,hasLocalData:C,headerHeight:w,heightProp:x,mounted:E,onCellClicked:p,onCellEdited:O,onColumnMoved:_,onColumnProposeMove:y,onColumnResize:m,onContextClick:b,onHeaderClicked:j,onHeaderMenuClick:N,onItemHovered:I,onVisibleRegionChanged:M,renderColumns:P,rowHeight:D,sections:A,selectMode:J,setState:B,setStateFN:K,total_rows:U,widthProp:X}=G(h=>({_gridSelection:h._gridSelection,allowMultiSelect:h.allowMultiSelect,focused:h.focused,getCellContent:h.getCellContent,getCellsForSelection:h.getCellsForSelection,getState:h.getState,glideProps:h.glideProps,hasLocalData:h.hasLocalData,headerHeight:h.headerHeight,heightProp:h.height,mounted:h.mounted,onCellClicked:h.onCellClicked,onCellEdited:h.onCellEdited,onColumnMoved:h.onColumnMoved,onColumnProposeMove:h.onColumnProposeMove,onColumnResize:h.onColumnResize,onContextClick:h.onContextClick,onHeaderClicked:h.onHeaderClicked,onHeaderMenuClick:h.onHeaderMenuClick,onItemHovered:h.onItemHovered,onVisibleRegionChanged:h.onVisibleRegionChanged,renderColumns:h.renderColumns,rowHeight:h.rowHeight,sections:h.sections,selectMode:h.selectMode,setState:h.setState,setStateFN:h.setStateFN,total_rows:h.total_rows,widthProp:h.width})),Q=ne.useMergedRef(o,h=>{K("_glideref",()=>h??void 0);const s=u("ready"),v=!!(h&&E);s!==v&&B("ready",v)}),W=Je();return g.jsxs(k.Stack,{align:"stretch",gap:0,h:x??"100%",justify:"stretch",w:X??"100%",children:[A?.top,g.jsxs("div",{className:Ve.container,"data-focused":i,onContextMenu:h=>{h.preventDefault(),a.current||(a.current=!0,b("other",h),setTimeout(()=>{a.current=!1},100))},ref:t,style:{display:"flex",height:"100%",minHeight:"64px",minWidth:"32px",width:"100%"},children:[A?.left,n&&n>0&&e&&e>0&&g.jsx($.DataEditor,{cellActivationBehavior:"double-click",columns:P??[],columnSelect:"none",drawFocusRing:!0,height:e??400,overscrollX:16,overscrollY:32,rangeSelect:l?"multi-rect":"cell",rightElementProps:{fill:!1,sticky:!0},rowMarkers:{checkboxStyle:"square",kind:l?"both":"clickable-number"},rowSelect:l?"multi":"single",rowSelectionMode:"auto",spanRangeBehavior:"default",...f,getCellContent:c,getCellsForSelection:d,getRowThemeOverride:W.getRowThemeOverride,gridSelection:r,headerHeight:w??32,headerIcons:{sort:Ke,sortdown:ae,sortup:se},onCellClicked:p,onCellContextMenu:(h,s)=>{s.preventDefault(),f?.onCellContextMenu?.(h,s),a.current||(a.current=!0,b("cell",s,h[0],h[1]),setTimeout(()=>{a.current=!1},100))},onCellEdited:O,onColumnMoved:_,onColumnProposeMove:y,onColumnResize:m,onGridSelectionChange:h=>{let s=$.CompactSelection.empty();const v=u("_gridSelection");for(const R of h.rows)s=s.hasIndex(R)?s:s.add(R);if(J==="row"&&h.current?.range)for(let R=h.current.range.y;R<h.current.range.y+h.current.range.height;R++)s=s.hasIndex(R)?s:s.add(R);(JSON.stringify(v?.columns)!==JSON.stringify(h.columns)||JSON.stringify(v?.rows)!==JSON.stringify(s)||JSON.stringify(v?.current)!==JSON.stringify(h.current))&&(B("_gridSelection",{...h,rows:s}),JSON.stringify(v?.rows)!==JSON.stringify(s)&&B("_gridSelectionRows",s))},onHeaderClicked:j,onHeaderContextMenu:(h,s)=>{s.preventDefault(),a.current||(a.current=!0,b("header",s,h),setTimeout(()=>{a.current=!1},100))},onHeaderMenuClick:N,onItemHovered:I,onVisibleRegionChanged:M,ref:Q,rightElement:A?.rightElementDisabled?void 0:g.jsxs(k.Group,{children:[A?.rightElementStart,g.jsx(Ee,{}),A?.rightElementEnd]}),rowHeight:D??22,rows:U??0,theme:W.gridTheme,width:n??200}),g.jsx(pe,{}),!C&&g.jsx(ke,{}),A?.right]}),g.jsxs("div",{style:{flexGrow:0},children:[g.jsx(He,{}),A?.bottom]})]})},Xe=(o,a)=>g.jsx(Ce,{children:g.jsxs(De,{...o,persist:{name:`Gridler_${o.uniqueid}`,partialize:e=>({colOrder:e.colOrder,colSize:e.colSize}),version:1},children:[g.jsx(Ue,{}),g.jsx(qe,{ref:a}),o.children]})}),de=S.forwardRef(Xe);de.FormAdaptor=Re;de.LocalDataAdaptor=ue;exports.ColumnFilterInput=we;exports.ColumnFilterInputOperator=be;exports.ColumnFilterSet=ie;exports.FilterOperators=ye;exports.GlidlerAPIAdaptorForGoLangv2=xe;exports.GlidlerFormAdaptor=Re;exports.GlidlerLocalDataAdaptor=ue;exports.GoAPIHeaders=le;exports.Gridler=de;exports.GridlerRightMenuIcon=Ee;exports.MantineBetterMenusProvider=Ce;exports.useGridlerStore=G;exports.useMantineBetterMenus=ce;
39
+ </svg>`,We="_container_1nbyf_1",Ve={container:We},Ye=o=>i=>i%2===0?void 0:{bgCell:o==="dark"?"#303030":"#e1effc"},Je=()=>{const o=I.useMantineTheme(),{colorScheme:i}=I.useMantineColorScheme(),{enableOddEvenRowColor:e,focused:t}=q(u=>({enableOddEvenRowColor:u.enableOddEvenRowColor,focused:u.focused})),n={auto:t?I.lighten(o.colors.blue[4],.9):"#ffffff",dark:t?I.darken("#bacfe0",.2):o.colors.dark[7],light:t?I.lighten(o.colors.blue[4],.8):"#ffffff"}[i],r={accentColor:"none",accentLight:o.colors.blue[9],baseFontStyle:"13px",bgBubble:"#212121",bgBubbleSelected:"#000000",bgCell:n,bgCellMedium:"#202027",bgHeader:"#2A2A2A",bgHeaderHasFocus:"#181818",bgHeaderHovered:"#404040",bgIconHeader:"#b8b8b8",bgSearchResult:"#423c24",borderColor:"#eee1",drilldownBorder:"rgba(225,225,225,0.4)",fgIconHeader:"#000000",fontFamily:"Inter, Roboto, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Ubuntu, noto, arial, sans-serif",headerFontStyle:"500 13px",linkColor:o.colors.blue[4],textBubble:"#ffffff",textDark:"#dedede",textGroupHeader:"#dedede",textHeader:"#a1a1a1",textHeaderSelected:"#000000",textLight:"#a0a0a0",textMedium:"#b8b8b8"},a=i==="dark"?r:{bgCell:n,textGroupHeader:"#2c5491"},[c,g]=v.useState(a);return v.useEffect(()=>{g(a)},[i,t]),{getRowThemeOverride:u=>e?Ye(i)(u):void 0,gridTheme:c}},Ue=()=>{const o=v.useRef(null),i=v.useRef(!1),{height:e,ref:t,width:n}=Z.useElementSize({box:"content-box"}),{_gridSelection:r,allowMultiSelect:l,focused:a,getCellContent:c,getCellsForSelection:g,getState:d,glideProps:u,hasLocalData:_,headerHeight:b,heightProp:y,mounted:T,onCellClicked:R,onCellEdited:F,onColumnMoved:O,onColumnProposeMove:$,onColumnResize:B,onContextClick:h,onHeaderClicked:f,onHeaderMenuClick:w,onItemHovered:x,onVisibleRegionChanged:j,renderColumns:N,rowHeight:M,sections:p,selectMode:P,setState:D,setStateFN:H,total_rows:ee,widthProp:te}=q(S=>({_gridSelection:S._gridSelection,allowMultiSelect:S.allowMultiSelect,focused:S.focused,getCellContent:S.getCellContent,getCellsForSelection:S.getCellsForSelection,getState:S.getState,glideProps:S.glideProps,hasLocalData:S.hasLocalData,headerHeight:S.headerHeight,heightProp:S.height,mounted:S.mounted,onCellClicked:S.onCellClicked,onCellEdited:S.onCellEdited,onColumnMoved:S.onColumnMoved,onColumnProposeMove:S.onColumnProposeMove,onColumnResize:S.onColumnResize,onContextClick:S.onContextClick,onHeaderClicked:S.onHeaderClicked,onHeaderMenuClick:S.onHeaderMenuClick,onItemHovered:S.onItemHovered,onVisibleRegionChanged:S.onVisibleRegionChanged,renderColumns:S.renderColumns,rowHeight:S.rowHeight,sections:S.sections,selectMode:S.selectMode,setState:S.setState,setStateFN:S.setStateFN,total_rows:S.total_rows,widthProp:S.width})),ne=Z.useMergedRef(o,S=>{H("_glideref",()=>S??void 0);const s=d("ready"),C=!!(S&&T);s!==C&&D("ready",C)}),Y=Je();return m.jsxs(I.Stack,{align:"stretch",gap:0,h:y??"100%",justify:"stretch",w:te??"100%",children:[p?.top,m.jsxs("div",{className:Ve.container,"data-focused":a,onContextMenu:S=>{S.preventDefault(),i.current||(i.current=!0,h("other",S),setTimeout(()=>{i.current=!1},100))},ref:t,style:{display:"flex",height:"100%",minHeight:"64px",minWidth:"32px",width:"100%"},children:[p?.left,n&&n>0&&e&&e>0&&m.jsx(G.DataEditor,{cellActivationBehavior:"double-click",columns:N??[],columnSelect:"none",drawFocusRing:!0,height:e??400,overscrollX:16,overscrollY:32,rangeSelect:l?"multi-rect":"cell",rightElementProps:{fill:!1,sticky:!0},rowMarkers:{checkboxStyle:"square",kind:l?"both":"clickable-number"},rowSelect:l?"multi":"single",rowSelectionMode:"auto",spanRangeBehavior:"default",...u,getCellContent:c,getCellsForSelection:g,getRowThemeOverride:Y.getRowThemeOverride,gridSelection:r,headerHeight:b??32,headerIcons:{sort:Ke,sortdown:ae,sortup:se},onCellClicked:R,onCellContextMenu:(S,s)=>{s.preventDefault(),u?.onCellContextMenu?.(S,s),i.current||(i.current=!0,h("cell",s,S[0],S[1]),setTimeout(()=>{i.current=!1},100))},onCellEdited:F,onColumnMoved:O,onColumnProposeMove:$,onColumnResize:B,onGridSelectionChange:S=>{let s=G.CompactSelection.empty();const C=d("_gridSelection"),E=d("keyField")??"id",k=d("getRowBuffer");for(const z of S.rows)k&&k(z)?.[E]&&(s=s.hasIndex(z)?s:s.add(z));if(P==="row"&&S.current?.range)for(let z=S.current.range.y;z<S.current.range.y+S.current.range.height;z++)k&&k(z)?.[E]&&(s=s.hasIndex(z)?s:s.add(z));(JSON.stringify(C?.columns)!==JSON.stringify(S.columns)||JSON.stringify(C?.rows)!==JSON.stringify(s)||JSON.stringify(C?.current)!==JSON.stringify(S.current))&&(D("_gridSelection",{...S,rows:s}),JSON.stringify(C?.rows)!==JSON.stringify(s)&&D("_gridSelectionRows",s))},onHeaderClicked:f,onHeaderContextMenu:(S,s)=>{s.preventDefault(),i.current||(i.current=!0,h("header",s,S),setTimeout(()=>{i.current=!1},100))},onHeaderMenuClick:w,onItemHovered:x,onVisibleRegionChanged:j,ref:ne,rightElement:p?.rightElementDisabled?void 0:m.jsxs(I.Group,{children:[p?.rightElementStart,m.jsx(Ee,{}),p?.rightElementEnd]}),rowHeight:M??22,rows:ee??0,theme:Y.gridTheme,width:n??200}),m.jsx(pe,{}),!_&&m.jsx(ke,{}),p?.right]}),m.jsxs("div",{style:{flexGrow:0},children:[m.jsx(He,{}),p?.bottom]})]})},Xe=(o,i)=>m.jsx(Ce,{children:m.jsxs(De,{...o,persist:{name:`Gridler_${o.uniqueid}`,partialize:e=>({colOrder:e.colOrder,colSize:e.colSize}),version:1},children:[m.jsx(Ue,{}),m.jsx(qe,{ref:i}),o.children]})}),de=v.forwardRef(Xe);de.FormAdaptor=Re;de.LocalDataAdaptor=ue;exports.ColumnFilterInput=we;exports.ColumnFilterInputOperator=be;exports.ColumnFilterSet=ie;exports.FilterOperators=ye;exports.GlidlerAPIAdaptorForGoLangv2=xe;exports.GlidlerFormAdaptor=Re;exports.GlidlerLocalDataAdaptor=ue;exports.GoAPIHeaders=Q;exports.Gridler=de;exports.GridlerRightMenuIcon=Ee;exports.MantineBetterMenusProvider=Ce;exports.useGridlerStore=q;exports.useMantineBetterMenus=ce;
40
40
  //# sourceMappingURL=lib.cjs.js.map