@warkypublic/oranguru 0.0.13 → 0.0.14

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
@@ -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 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={};/**
9
+ */var fe;function Fe(){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===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:
17
+ */var ge;function Te(){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===T?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case k:return"Fragment";case F:return"Profiler";case j:return"StrictMode";case y:return"Suspense";case m:return"SuspenseList";case $: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 A:return"Portal";case B:return s.displayName||"Context";case O:return(s._context.displayName||"Context")+".Consumer";case S:var C=s.render;return s=s.displayName,s||(s=C.displayName||C.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case w:return C=s.displayName||null,C!==null?C:o(s.type)||"Memo";case N: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 R=C.error,p=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.constructor.name||"Object";return R.call(C,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",p),i(s)}}function t(s){if(s===k)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===N)return"<...>";try{var C=o(s);return C?"<"+C+">":"<...>"}catch{return"<...>"}}function n(){var s=E.A;return s===null?null:s.getOwner()}function r(){return Error("react-stack-top-frame")}function l(s){if(M.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 R(){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))}R.isReactWarning=!0,Object.defineProperty(s,"key",{get:R,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 f(s,C,R,p,z,J){var P=R.ref;return s={$$typeof:b,type:s,key:C,props:R,_owner:p},(P!==void 0?P: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,R,p,z,J){var P=C.children;if(P!==void 0)if(p)if(D(P)){for(p=0;p<P.length;p++)u(P[p]);Object.freeze&&Object.freeze(P)}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(P);if(M.call(C,"key")){P=o(s);var W=Object.keys(C).filter(function(Ie){return Ie!=="key"});p=0<W.length?"{key: someKey, "+W.join(": ..., ")+": ...}":"{key: someKey}",h[P+p]||(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} />`,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">
22
+ <%s key={someKey} {...props} />`,p,P,W,P),h[P+p]=!0)}if(P=null,R!==void 0&&(e(R),P=""+R),l(C)&&(e(C.key),P=""+C.key),"key"in C){R={};for(var le in C)le!=="key"&&(R[le]=C[le])}else R=C;return P&&a(R,typeof s=="function"?s.displayName||s.name||"Unknown":s),f(s,P,R,n(),z,J)}function u(s){_(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===N&&(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===b}var x=v,b=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),O=Symbol.for("react.consumer"),B=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),$=Symbol.for("react.activity"),T=Symbol.for("react.client.reference"),E=x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M=Object.prototype.hasOwnProperty,D=Array.isArray,H=console.createTask?console.createTask:function(){return null};x={react_stack_bottom_frame:function(s){return s()}};var ee,te={},ne=x.react_stack_bottom_frame.bind(x,r)(),Y=H(t(r)),h={};X.Fragment=k,X.jsx=function(s,C,R){var p=1e4>E.recentlyCreatedOwnerStacks++;return d(s,C,R,!1,p?Error("react-stack-top-frame"):ne,p?H(t(s)):Y)},X.jsxs=function(s,C,R){var p=1e4>E.recentlyCreatedOwnerStacks++;return d(s,C,R,!0,p?Error("react-stack-top-frame"):ne,p?H(t(s)):Y)}})()),X}var me;function Me(){return me||(me=1,process.env.NODE_ENV==="production"?oe.exports=Fe():oe.exports=Te()),oe.exports}var g=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 g.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},g.jsx(I.Menu.Target,{children:g.jsx("div",{id:`bmm_${i}_${r}_target`,style:{left:n.x,position:"fixed",top:n.y,visibility:"hidden"}})}),g.jsx(I.Menu.Dropdown,{children:n.renderer?n.renderer:v.Children.toArray(n.items?.map((l,a)=>g.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?g.jsx(I.Menu.Divider,{}):e.items&&e.items.length>0?g.jsxs(I.Menu.Sub,{children:[g.jsx(I.Menu.Sub.Target,{children:g.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})}),g.jsx(I.Menu.Sub.Dropdown,{children:v.Children.toArray(e.items.map((r,l)=>g.jsx(_e,{...r},`bmm_subitem_${r?.id??""}${l}`)))})]}):!e.onClick&&!e.onClickAsync?g.jsxs(I.Menu.Label,{...e,children:[" ",o??i]}):g.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 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 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(f=>f.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]),g.jsx(I.TextInput,{onChange:l=>n(l.target.value),rightSection:g.jsx(I.ActionIcon,{color:"gray",onClick:()=>n(""),variant:"filled",children:g.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(f=>f.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]),g.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=>g.jsxs(I.Stack,{onClick:i=>i.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">
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
- `,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">
34
+ `,re=o=>g.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 f in r[c]){const d=Number(c)*l+Number(f);if(String(r[c][f]?.[a])===String(e)){n=r[c][f]?._rownumber>0?r[c][f]?._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,f=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;_<=f+n.pageSize;_++)for(let x=0;x<=c;x++)a.push({cell:[x,_]});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((f,d)=>[f.id,d]).reduce((f,[d,u])=>({...f,[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:g.jsx(L.IconGrid4x4,{size:16}),title:l.title??"Grid"}]:a?[{leftSection:g.jsx(L.IconGrid4x4,{size:16}),title:l.title??"Grid"},{items:[{label:"Sort Ascending",leftSection:g.jsx(re,{sprite:se}),onClick:()=>{l.setStateFN("colSort",f=>{const d=[...f??[]],u=d.findIndex(x=>x.id===a.id),_="asc";if(u<0){const x={direction:_,id:a.id,order:d?.length};d.push(x)}else u>=0&&(d[u].direction=_);return d})}},{label:"Sort Descending",leftSection:g.jsx(re,{sprite:ae}),onClick:()=>{l.setStateFN("colSort",f=>{const d=[...f??[]],u=d.findIndex(x=>x.id===a.id),_="desc";if(u<0){const x={direction:_,id:a.id,order:d?.length};d.push(x)}else u>=0&&(d[u].direction=_);return d})}},{label:`Filter ${a?.title??a?.id}`},{renderer:g.jsx(ie,{column:a,storeState:i()})}],label:`Column Settings for ${a?.title??a?.id}`,leftSection:g.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(f=>f.id===r.id);if(c<0){const f={direction:"asc",id:r.id,order:a?.length};a.push(f)}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:g.jsx(re,{sprite:se}),onClick:()=>{n.setStateFN("colSort",c=>{const f=[...c??[]],d=f.findIndex(_=>_.id===r.id),u="asc";if(d<0){const _={direction:u,id:r.id,order:f?.length};f.push(_)}else d>=0&&(f[d].direction=u);return f})}},{label:"Sort Descending",leftSection:g.jsx(re,{sprite:ae}),onClick:()=>{n.setStateFN("colSort",c=>{const f=[...c??[]],d=f.findIndex(_=>_.id===r.id),u="desc";if(d<0){const _={direction:u,id:r.id,order:f?.length};f.push(_)}else d>=0&&(f[d].direction=u);return f})}},{isDivider:!0}],a=[...r.disableSort?[]:l,{label:`Filter ${r?.title??r?.id}`},{renderer:g.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(),f=Math.max(0,Math.floor(e.y/c.pageSize)),d=Math.max(0,Math.floor(c._visiblePages.y/c.pageSize)),u=f-d;if(c.progressiveScroll&&u>1){const _=i(),x=(d+2)*_.pageSize*(_.rowHeight??22);_._glideref?.scrollTo(0,{amount:x,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,f=t&&t>=c?t:c+r.pageSize;for(let d=c;d<=f;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(f=>[f.setStateFN,f.setState,f.getState,f.addError,f.mounted,f.loadPage]),a=v.useCallback(async f=>{const d=t("columns"),u=t("colSort"),_=t("pageSize"),x=t("colFilters"),b=t("searchStr"),A=t("searchFields"),k=t("_active_requests");e("loadingData",!0);try{if(o&&o.url){const j=new Headers;j.set("Authorization",`Token ${o.authtoken}`);const F=[{type:"limit",value:String(_??50)},{type:"offset",value:String((_??50)*f)}];if(u?.length&&u.length>0&&F.push({type:"sort",value:u?.map(m=>`${m.id} ${m.direction}`).reduce((m,w)=>`${m},${w}`)}),x?.filter(m=>m.value?.length>0)?.forEach(m=>{m.value&&m.value!==""&&F.push({name:`${m.id}`,op:m.operator,type:"searchop",value:m.value})}),b&&b!==""&&d?.filter(m=>!m.disableFilter&&!m.disableSearch&&((A??[]).length==0||A?.includes(m.id)))?.forEach(m=>{F.push({name:`${m.id}`,op:"contains",type:"searchor",value:b})}),o.filter&&o.filter!==""&&F.push({name:"sql_filter",type:"custom-sql-w",value:o.filter}),o.options&&o.options.length>0){const m=Q(o.options);for(const w in m)j.set(w,m[w])}const O=d?.filter(m=>!m.virtual)?.map(m=>m.id)??[];if(o.hotfields&&o.hotfields.length>0&&O?.push(o.hotfields.join(",")),F&&F.length>0){const m=Q(F);for(const w in Q(F))j.set(w,m[w])}O&&O.length>0&&F.push({type:"select-fields",value:O.join(",")});const B=k?.findIndex(m=>m.page===f)??-1;if(k?.forEach(m=>{(m.page>=0&&m.page<f-2||f>=0&&m.page>f+2)&&m.controller?.abort?.()}),k&&B>=0&&k[B]){e("loadingData",!1);return}const S=new AbortController;await i("_active_requests",m=>[...m??[],{controller:S,page:f}]);const y=await fetch(`${o.url}?x-limit=${String(_??50)}&x-offset=${String((_??50)*f)}`,{headers:j,method:"GET",signal:S?.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 w=await y.json();return e("loadingData",!1),w??[]}n(`${y.status} ${y.statusText}`,"api",o.url),await i("_active_requests",m=>[...(m??[]).filter(w=>w.page!==f)])}}catch(j){n(`Error: ${j}`,"api",o.url)}return e("loadingData",!1),[]},[t,o.authtoken,o.url,o.filter,o.options,e,i,n]),c=v.useCallback(async f=>{const d=t("colFilters");if(o&&o.url){const u=new Headers;if(u.set("x-limit","10"),u.set("x-fetch-rownumber",String(f)),u.set("Authorization",`Token ${o.authtoken}`),d?.length&&d.length>0&&d?.filter(b=>b.value?.length>0)?.forEach(b=>{b.value&&b.value!==""&&u.set(`x-searchop-${b.operator}-${b.id}`,`${b.value}`)}),o.filter&&o.filter!==""&&u.set("x-custom-sql-w-buildin-filter",o.filter),o.options&&o.options.length>0){const b=Q(o.options);for(const A in b)u.set(A,b[A])}const _=new AbortController,x=await fetch(`${o.url}?x-fetch-rownumber=${f}}`,{headers:u,method:"GET",signal:_?.signal});if(x.ok){const b=await x.json();return b?.[0]?._rownumber??b?._rownumber??0}n(`${x.status} ${x.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]),g.jsx(g.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,f,d)=>{if(l==="header-menu")return d||[];const u=[];u.push(...d);const _=i("_gridSelection")?.rows.toArray()??[],x=_.length>1;if(!c){const k=_[0];k!==void 0&&(c=a.getRowBuffer(k))}const b=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:g.jsx(L.IconSquarePlus,{color:"teal",size:16}),onClick:()=>{o.onRequestForm("insert",c)}}),x?(u.push({c:"green",label:`Modify All Selected (${_.length})`,leftSection:g.jsx(L.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",_.map(k=>a.getRowBuffer(k)))}}),u.push({c:"red",label:`Remove All Selected (${_.length})`,leftSection:g.jsx(L.IconTrashX,{color:"maroon",size:16}),onClick:()=>{o.onRequestForm("delete",_.map(k=>a.getRowBuffer(k)))}})):(u.push({c:"green",label:`Modify${b&&o.showDescriptionInMenu?` (${b})`:""}`,leftSection:g.jsx(L.IconEdit,{color:"green",size:16}),onClick:()=>{o.onRequestForm("change",c)}}),u.push({c:"red",label:`Remove${b&&o.showDescriptionInMenu?` (${b})`:""}`,leftSection:g.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:g.jsx(L.IconExclamationMark,{color:"yellow",size:16})}),u.push({c:"orange",label:"Refresh",leftSection:g.jsx(L.IconRefresh,{color:"orange",size:16}),onClick:()=>{n?.()}});const A=o.getMenuItems?o.getMenuItems(l,a,c,f,u):u;return!u||u.length===0?d||[]:A},[o.onRequestForm,i]);return v.useEffect(()=>(e&&typeof t=="function"&&i("getMenuItems")!==r&&t("getMenuItems",r),()=>{}),[o.getMenuItems,e]),g.jsx(g.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}),f=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",f)},[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]),g.jsx(g.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 g.jsx(I.ActionIcon,{loading:o,mr:"xs",mt:"2px",onClick:e=>i("menu",e),variant:"subtle",children:g.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}),[]),g.jsx(g.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 g.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:f,getRowIndexByKey:d,getState:u,loadPage:_,ready:x,scrollToRowKey:b,searchStr:A,selectedRowKey:k,setState:j,setStateFN:F,values:O}=q(S=>({_glideref:S._glideref,_gridSelectionRows:S._gridSelectionRows,colFilters:S.colFilters,colOrder:S.colOrder,colSize:S.colSize,colSort:S.colSort,columns:S.columns,getRowIndexByKey:S.getRowIndexByKey,getState:S.getState,loadPage:S.loadPage,ready:S.ready,scrollToRowKey:S.scrollToRowKey,searchStr:S.searchStr,selectedRowKey:S.selectedRowKey,setState:S.setState,setStateFN:S.setStateFN,uniqueid:S.uniqueid,values:S.values})),B=Z.useDebouncedCallback(S=>{_(0,"all").then(()=>{u("refreshCells")?.(),u("_events")?.dispatchEvent?.(new CustomEvent("onSearched",{detail:{search:S}}))})},{delay:300,leading:!1});return v.useEffect(()=>{O&&(async()=>{const y=u("_page_data"),m=u("pageSize"),w=u("keyField")??"id",N=[];for(const $ in O){let T=-1;const E=String(typeof O?.[$]=="object"?O?.[$]?.[w]:typeof O?.[$]=="string"?O?.[$]:void 0);for(const M in y){for(const D in y[M]){const H=Number(M)*m+Number(D);if(String(y[M][D]?.[w])===E){T=H;break}}if(T>=0){N.push(T);break}}if(!(T>=0)){const M=await d(E);M&&N.push(M)}}return N})().then(y=>{let m=G.CompactSelection.empty();y.forEach(w=>{m=m.add(w)}),F("_gridSelectionRows",()=>m),F("_gridSelection",w=>({columns:w?.columns??G.CompactSelection.empty(),...w,rows:m}))})},[O]),v.useEffect(()=>{const S=u("onChange");if(S&&typeof S=="function"){const y=u("_page_data"),m=u("pageSize"),w=[];if(n)for(const $ of n){let T;for(const E in y)for(const M in y[E]){const D=Number(E)*m+Number(M);if(!isNaN(D)){if(Number(y[E][M]?._rownumber)===$+1){T=y[E][M];break}else if(D===$+1){T=y[E][M];break}}}T!==void 0&&w.push(T)}const N=u("values");JSON.stringify(N)!==JSON.stringify(w)&&S(w)}},[JSON.stringify(n),u]),v.useEffect(()=>{j("renderColumns",f?.map(S=>({...S,hasMenu:S?.hasMenu??!0,icon:"sort"})))},[f]),v.useEffect(()=>{if(A==null){i.current="";return}i.current!==A&&(B(A),i.current=A)},[A]),v.useEffect(()=>{c&&(j("_gridSelection",{columns:G.CompactSelection.empty(),current:void 0,rows:G.CompactSelection.empty()}),j("_gridSelectionRows",G.CompactSelection.empty()),F("renderColumns",S=>S?.map(y=>({...y,icon:y.id&&c?.find(m=>m.id===y.id)?.direction?c?.find(m=>m.id===y.id)?.direction==="asc"?"sortup":"sortdown":y.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&&F("renderColumns",S=>S?.map(y=>({...y,width:y.id&&a?.[y.id]?a?.[y.id]:y.width}))).then(()=>{u("refreshCells")?.()})},[a]),v.useEffect(()=>{l&&F("renderColumns",S=>S?.sort((m,w)=>l[m.id]>l[w.id]?1:-1)).then(()=>{u("refreshCells")?.()})},[l]),v.useEffect(()=>{t&&(o.current>0||(o.current=1,_(0).then(()=>{u("refreshCells")?.()})))},[x,_]),v.useEffect(()=>{const S=u("_events"),y=()=>{if(u("selectFirstRowOnMount")){const w=u("scrollToRowKey");if(w&&w>=0)return;const N=u("keyField")??"id",T=u("_page_data")?.[0]?.[0],E=T?.[N],M=u("values")??[];if(E&&E>0&&(M.length??0)===0){const D=[T,...M],H=u("onChange");H?H(D):j("values",D),j("scrollToRowKey",E)}}};return S?.addEventListener("loadPage",y),()=>{S?.removeEventListener("loadPage",y)}},[]),v.useEffect(()=>{const S=u("ready"),y=u("_glideref"),m=u("getRowIndexByKey");b&&y&&S&&m?.(b).then(w=>{w!==void 0&&(y.scrollTo(0,w),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:w,scrollToRowKey:b}})))})},[b]),v.useEffect(()=>{const S=u("ready"),y=u("_glideref"),m=u("getRowIndexByKey"),w=k??b;w&&y&&S&&m?.(w).then(N=>{if(N!==void 0){if(k){const $=u("onChange"),T=[{[u("keyField")??"id"]:k}];$?$(T):j("values",T)}y.scrollTo(0,N),u("_events").dispatchEvent(new CustomEvent("scrollToRowKeyFound",{detail:{rowNumber:N,scrollToRowKey:b,selectedRowKey:k}}))}})},[b,k]),g.jsx(g.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)),f=Math.floor((t.y+t.height)/n);for(const d of Be(c,f+1,1))r(d).then(()=>{const u=i("_page_data")?.[0]??{};o("isEmpty",u&&u.length>0)})},[r,n,t,e,l,a]),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">
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=>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;
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,f]=v.useState(a);return v.useEffect(()=>{f(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:f,getState:d,glideProps:u,hasLocalData:_,headerHeight:x,heightProp:b,mounted:A,onCellClicked:k,onCellEdited:j,onColumnMoved:F,onColumnProposeMove:O,onColumnResize:B,onContextClick:S,onHeaderClicked:y,onHeaderMenuClick:m,onItemHovered:w,onVisibleRegionChanged:N,renderColumns:$,rowHeight:T,sections:E,selectMode:M,setState:D,setStateFN:H,total_rows:ee,widthProp:te}=q(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})),ne=Z.useMergedRef(o,h=>{H("_glideref",()=>h??void 0);const s=d("ready"),C=!!(h&&A);s!==C&&D("ready",C)}),Y=Je();return g.jsxs(I.Stack,{align:"stretch",gap:0,h:b??"100%",justify:"stretch",w:te??"100%",children:[E?.top,g.jsxs("div",{className:Ve.container,"data-focused":a,onContextMenu:h=>{h.preventDefault(),i.current||(i.current=!0,S("other",h),setTimeout(()=>{i.current=!1},100))},ref:t,style:{display:"flex",height:"100%",minHeight:"64px",minWidth:"32px",width:"100%"},children:[E?.left,n&&n>0&&e&&e>0&&g.jsx(G.DataEditor,{cellActivationBehavior:"double-click",columns:$??[],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:f,getRowThemeOverride:Y.getRowThemeOverride,gridSelection:r,headerHeight:x??32,headerIcons:{sort:Ke,sortdown:ae,sortup:se},onCellClicked:k,onCellContextMenu:(h,s)=>{s.preventDefault(),u?.onCellContextMenu?.(h,s),i.current||(i.current=!0,S("cell",s,h[0],h[1]),setTimeout(()=>{i.current=!1},100))},onCellEdited:j,onColumnMoved:F,onColumnProposeMove:O,onColumnResize:B,onGridSelectionChange:h=>{let s=G.CompactSelection.empty();const C=d("_gridSelection"),R=d("keyField")??"id",p=d("getRowBuffer");for(const z of h.rows)p&&p(z)?.[R]&&(s=s.hasIndex(z)?s:s.add(z));if(M==="row"&&h.current?.range)for(let z=h.current.range.y;z<h.current.range.y+h.current.range.height;z++)p&&p(z)?.[R]&&(s=s.hasIndex(z)?s:s.add(z));(JSON.stringify(C?.columns)!==JSON.stringify(h.columns)||JSON.stringify(C?.rows)!==JSON.stringify(s)||JSON.stringify(C?.current)!==JSON.stringify(h.current))&&(D("_gridSelection",{...h,rows:s}),JSON.stringify(C?.rows)!==JSON.stringify(s)&&D("_gridSelectionRows",s))},onHeaderClicked:y,onHeaderContextMenu:(h,s)=>{s.preventDefault(),i.current||(i.current=!0,S("header",s,h),setTimeout(()=>{i.current=!1},100))},onHeaderMenuClick:m,onItemHovered:w,onVisibleRegionChanged:N,ref:ne,rightElement:E?.rightElementDisabled?void 0:g.jsxs(I.Group,{children:[E?.rightElementStart,g.jsx(Ee,{}),E?.rightElementEnd]}),rowHeight:T??22,rows:ee??0,theme:Y.gridTheme,width:n??200}),g.jsx(pe,{}),!_&&g.jsx(ke,{}),E?.right]}),g.jsxs("div",{style:{flexGrow:0},children:[g.jsx(He,{}),E?.bottom]})]})},Xe=(o,i)=>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: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