sera-components 1.3.0 โ†’ 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(b,S){typeof exports=="object"&&typeof module<"u"?S(exports,require("react"),require("@mantine/core"),require("@tabler/icons-react"),require("mobx-react-lite"),require("sera-db"),require("sera-route"),require("react-imask"),require("@tanstack/react-table")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@tabler/icons-react","mobx-react-lite","sera-db","sera-route","react-imask","@tanstack/react-table"],S):(b=typeof globalThis<"u"?globalThis:b||self,S(b["sera-components"]={},b.React,b["@mantine/core"],b["@tabler/icons-react"],b["mobx-react-lite"],b["sera-db"],b["sera-route"],b.ReactIMask,b["@tanstack/react-table"]))})(this,(function(b,S,u,M,W,K,We,Gt,Z){"use strict";var fa=Object.defineProperty;var ha=(b,S,u)=>S in b?fa(b,S,{enumerable:!0,configurable:!0,writable:!0,value:u}):b[S]=u;var X=(b,S,u)=>ha(b,typeof S!="symbol"?S+"":S,u);function Wt(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const h=Wt(S);var ce={exports:{}},oe={};/**
1
+ (function(w,v){typeof exports=="object"&&typeof module<"u"?v(exports,require("react"),require("@mantine/core"),require("@tabler/icons-react"),require("mobx-react-lite"),require("sera-db"),require("react-imask")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@tabler/icons-react","mobx-react-lite","sera-db","react-imask"],v):(w=typeof globalThis<"u"?globalThis:w||self,v(w["sera-components"]={},w.React,w["@mantine/core"],w["@tabler/icons-react"],w["mobx-react-lite"],w["sera-db"],w.ReactIMask))})(this,(function(w,v,g,A,G,H,Nt){"use strict";var Mo=Object.defineProperty;var $o=(w,v,g)=>v in w?Mo(w,v,{enumerable:!0,configurable:!0,writable:!0,value:g}):w[v]=g;var K=(w,v,g)=>$o(w,typeof v!="symbol"?v+"":v,g);function Ot(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const he=Ot(v);var le={exports:{}},Z={};/**
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 Ke;function Kt(){if(Ke)return oe;Ke=1;var e=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function t(a,r,o){var l=null;if(o!==void 0&&(l=""+o),r.key!==void 0&&(l=""+r.key),"key"in r){o={};for(var s in r)s!=="key"&&(o[s]=r[s])}else o=r;return r=o.ref,{$$typeof:e,type:a,key:l,ref:r!==void 0?r:null,props:o}}return oe.Fragment=n,oe.jsx=t,oe.jsxs=t,oe}var ie={};/**
9
+ */var Ke;function zt(){if(Ke)return Z;Ke=1;var e=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function t(n,r,i){var l=null;if(i!==void 0&&(l=""+i),r.key!==void 0&&(l=""+r.key),"key"in r){i={};for(var s in r)s!=="key"&&(i[s]=r[s])}else i=r;return r=i.ref,{$$typeof:e,type:n,key:l,ref:r!==void 0?r:null,props:i}}return Z.Fragment=o,Z.jsx=t,Z.jsxs=t,Z}var Q={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,20 +14,30 @@
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 Ve;function Vt(){return Ve||(Ve=1,process.env.NODE_ENV!=="production"&&(function(){function e(m){if(m==null)return null;if(typeof m=="function")return m.$$typeof===Y?null:m.displayName||m.name||null;if(typeof m=="string")return m;switch(m){case x:return"Fragment";case k:return"Profiler";case C:return"StrictMode";case R:return"Suspense";case G:return"SuspenseList";case O:return"Activity"}if(typeof m=="object")switch(typeof m.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),m.$$typeof){case y:return"Portal";case w:return(m.displayName||"Context")+".Provider";case j:return(m._context.displayName||"Context")+".Consumer";case E:var T=m.render;return m=m.displayName,m||(m=T.displayName||T.name||"",m=m!==""?"ForwardRef("+m+")":"ForwardRef"),m;case D:return T=m.displayName||null,T!==null?T:e(m.type)||"Memo";case Q:T=m._payload,m=m._init;try{return e(m(T))}catch{}}return null}function n(m){return""+m}function t(m){try{n(m);var T=!1}catch{T=!0}if(T){T=console;var N=T.error,L=typeof Symbol=="function"&&Symbol.toStringTag&&m[Symbol.toStringTag]||m.constructor.name||"Object";return N.call(T,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",L),n(m)}}function a(m){if(m===x)return"<>";if(typeof m=="object"&&m!==null&&m.$$typeof===Q)return"<...>";try{var T=e(m);return T?"<"+T+">":"<...>"}catch{return"<...>"}}function r(){var m=re.A;return m===null?null:m.getOwner()}function o(){return Error("react-stack-top-frame")}function l(m){if(_t.call(m,"key")){var T=Object.getOwnPropertyDescriptor(m,"key").get;if(T&&T.isReactWarning)return!1}return m.key!==void 0}function s(m,T){function N(){$t||($t=!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)",T))}N.isReactWarning=!0,Object.defineProperty(m,"key",{get:N,configurable:!0})}function d(){var m=e(this.type);return zt[m]||(zt[m]=!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.")),m=this.props.ref,m!==void 0?m:null}function c(m,T,N,L,J,_,qe,Ue){return N=_.ref,m={$$typeof:g,type:m,key:T,props:_,_owner:J},(N!==void 0?N:null)!==null?Object.defineProperty(m,"ref",{enumerable:!1,get:d}):Object.defineProperty(m,"ref",{enumerable:!1,value:null}),m._store={},Object.defineProperty(m._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(m,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(m,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:qe}),Object.defineProperty(m,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Ue}),Object.freeze&&(Object.freeze(m.props),Object.freeze(m)),m}function f(m,T,N,L,J,_,qe,Ue){var F=T.children;if(F!==void 0)if(L)if(da(F)){for(L=0;L<F.length;L++)p(F[L]);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 p(F);if(_t.call(T,"key")){F=e(m);var ae=Object.keys(T).filter(function(ca){return ca!=="key"});L=0<ae.length?"{key: someKey, "+ae.join(": ..., ")+": ...}":"{key: someKey}",Ut[F+L]||(ae=0<ae.length?"{"+ae.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var Ye;function Gt(){return Ye||(Ye=1,process.env.NODE_ENV!=="production"&&(function(){function e(h){if(h==null)return null;if(typeof h=="function")return h.$$typeof===Ge?null:h.displayName||h.name||null;if(typeof h=="string")return h;switch(h){case S:return"Fragment";case R:return"Profiler";case F:return"StrictMode";case E:return"Suspense";case re:return"SuspenseList";case ze:return"Activity"}if(typeof h=="object")switch(typeof h.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),h.$$typeof){case p:return"Portal";case x:return(h.displayName||"Context")+".Provider";case I:return(h._context.displayName||"Context")+".Consumer";case P:var j=h.render;return h=h.displayName,h||(h=j.displayName||j.name||"",h=h!==""?"ForwardRef("+h+")":"ForwardRef"),h;case pe:return j=h.displayName||null,j!==null?j:e(h.type)||"Memo";case ie:j=h._payload,h=h._init;try{return e(h(j))}catch{}}return null}function o(h){return""+h}function t(h){try{o(h);var j=!1}catch{j=!0}if(j){j=console;var M=j.error,b=typeof Symbol=="function"&&Symbol.toStringTag&&h[Symbol.toStringTag]||h.constructor.name||"Object";return M.call(j,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",b),o(h)}}function n(h){if(h===S)return"<>";if(typeof h=="object"&&h!==null&&h.$$typeof===ie)return"<...>";try{var j=e(h);return j?"<"+j+">":"<...>"}catch{return"<...>"}}function r(){var h=X.A;return h===null?null:h.getOwner()}function i(){return Error("react-stack-top-frame")}function l(h){if(bt.call(h,"key")){var j=Object.getOwnPropertyDescriptor(h,"key").get;if(j&&j.isReactWarning)return!1}return h.key!==void 0}function s(h,j){function M(){Vt||(Vt=!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)",j))}M.isReactWarning=!0,Object.defineProperty(h,"key",{get:M,configurable:!0})}function d(){var h=e(this.type);return At[h]||(At[h]=!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.")),h=this.props.ref,h!==void 0?h:null}function c(h,j,M,b,U,N,qe,Be){return M=N.ref,h={$$typeof:u,type:h,key:j,props:N,_owner:U},(M!==void 0?M:null)!==null?Object.defineProperty(h,"ref",{enumerable:!1,get:d}):Object.defineProperty(h,"ref",{enumerable:!1,value:null}),h._store={},Object.defineProperty(h._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(h,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(h,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:qe}),Object.defineProperty(h,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Be}),Object.freeze&&(Object.freeze(h.props),Object.freeze(h)),h}function m(h,j,M,b,U,N,qe,Be){var V=j.children;if(V!==void 0)if(b)if(Io(V)){for(b=0;b<V.length;b++)C(V[b]);Object.freeze&&Object.freeze(V)}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 C(V);if(bt.call(j,"key")){V=e(h);var J=Object.keys(j).filter(function(Po){return Po!=="key"});b=0<J.length?"{key: someKey, "+J.join(": ..., ")+": ...}":"{key: someKey}",Lt[V+b]||(J=0<J.length?"{"+J.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} />`,L,F,ae,F),Ut[F+L]=!0)}if(F=null,N!==void 0&&(t(N),F=""+N),l(T)&&(t(T.key),F=""+T.key),"key"in T){N={};for(var Ge in T)Ge!=="key"&&(N[Ge]=T[Ge])}else N=T;return F&&s(N,typeof m=="function"?m.displayName||m.name||"Unknown":m),c(m,F,_,J,r(),N,qe,Ue)}function p(m){typeof m=="object"&&m!==null&&m.$$typeof===g&&m._store&&(m._store.validated=1)}var v=S,g=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),x=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),w=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),Y=Symbol.for("react.client.reference"),re=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_t=Object.prototype.hasOwnProperty,da=Array.isArray,Be=console.createTask?console.createTask:function(){return null};v={react_stack_bottom_frame:function(m){return m()}};var $t,zt={},Bt=v.react_stack_bottom_frame.bind(v,o)(),qt=Be(a(o)),Ut={};ie.Fragment=x,ie.jsx=function(m,T,N,L,J){var _=1e4>re.recentlyCreatedOwnerStacks++;return f(m,T,N,!1,L,J,_?Error("react-stack-top-frame"):Bt,_?Be(a(m)):qt)},ie.jsxs=function(m,T,N,L,J){var _=1e4>re.recentlyCreatedOwnerStacks++;return f(m,T,N,!0,L,J,_?Error("react-stack-top-frame"):Bt,_?Be(a(m)):qt)}})()),ie}var He;function Ht(){return He||(He=1,process.env.NODE_ENV==="production"?ce.exports=Kt():ce.exports=Vt()),ce.exports}var i=Ht();const P={UK:{svgFlag:"https://flagcdn.com/gb.svg",emojiFlag:"๐Ÿ‡ฌ๐Ÿ‡ง"},VN:{svgFlag:"https://flagcdn.com/vn.svg",emojiFlag:"๐Ÿ‡ป๐Ÿ‡ณ"},US:{svgFlag:"https://flagcdn.com/us.svg",emojiFlag:"๐Ÿ‡บ๐Ÿ‡ธ"},CA:{svgFlag:"https://flagcdn.com/ca.svg",emojiFlag:"๐Ÿ‡จ๐Ÿ‡ฆ"},BR:{svgFlag:"https://flagcdn.com/br.svg",emojiFlag:"๐Ÿ‡ง๐Ÿ‡ท"},ES:{svgFlag:"https://flagcdn.com/es.svg",emojiFlag:"๐Ÿ‡ช๐Ÿ‡ธ"},IT:{svgFlag:"https://flagcdn.com/it.svg",emojiFlag:"๐Ÿ‡ฎ๐Ÿ‡น"},NZ:{svgFlag:"https://flagcdn.com/nz.svg",emojiFlag:"๐Ÿ‡ณ๐Ÿ‡ฟ"},MX:{svgFlag:"https://flagcdn.com/mx.svg",emojiFlag:"๐Ÿ‡ฒ๐Ÿ‡ฝ"},CN:{svgFlag:"https://flagcdn.com/cn.svg",emojiFlag:"๐Ÿ‡จ๐Ÿ‡ณ"},AU:{svgFlag:"https://flagcdn.com/au.svg",emojiFlag:"๐Ÿ‡ฆ๐Ÿ‡บ"},JP:{svgFlag:"https://flagcdn.com/jp.svg",emojiFlag:"๐Ÿ‡ฏ๐Ÿ‡ต"},FR:{svgFlag:"https://flagcdn.com/fr.svg",emojiFlag:"๐Ÿ‡ซ๐Ÿ‡ท"},DE:{svgFlag:"https://flagcdn.com/de.svg",emojiFlag:"๐Ÿ‡ฉ๐Ÿ‡ช"},IN:{svgFlag:"https://flagcdn.com/in.svg",emojiFlag:"๐Ÿ‡ฎ๐Ÿ‡ณ"}},Ye=({flag:e})=>i.jsx(u.Paper,{shadow:"xs",w:20,h:14,children:i.jsx(u.Image,{src:e.svgFlag,w:20,h:14,fit:"cover"})}),Je=({flag:e})=>i.jsx(u.Text,{component:"span",style:n=>({textShadow:n.shadows.xs}),children:e.emojiFlag}),fe=navigator.userAgent.includes("Windows")?Ye:Je,ee=S.createContext(new Intl.Locale("en-US")),Yt=W.observer(({value:e,children:n})=>i.jsx(ee.Provider,{value:e.locale,children:n})),Jt={lang2value:{en:"Choose Language",vi:"Chแปn ngรดn ngแปฏ"}},he={en:{name:"English",flag:P.US,locale:new Intl.Locale("en-US")},vi:{name:"Tiแบฟng Viแป‡t",flag:P.VN,locale:new Intl.Locale("vi-VN")}},Xt=({locale:e,setLocale:n})=>{const t=S.useMemo(()=>Object.entries(he).map(([a,{flag:r,name:o,locale:l}])=>i.jsx(u.Menu.Item,{onClick:()=>n(l),leftSection:i.jsx(fe,{flag:r}),rightSection:e.language===a&&i.jsx(M.IconCheck,{size:"15",color:"#2986cc",stroke:2}),children:i.jsx(u.Text,{size:"sm",children:o})},a)),[he,e]);return i.jsxs(u.Menu,{width:170,children:[i.jsx(u.Menu.Target,{children:i.jsx(u.Button,{variant:"subtle",size:"sm",leftSection:i.jsx(fe,{flag:he[e.language].flag}),children:i.jsx(u.Text,{size:"sm",children:he[e.language].name})})}),i.jsxs(u.Menu.Dropdown,{children:[i.jsx(u.Menu.Label,{children:i.jsx(u.Text,{size:"sm",children:Jt.lang2value[e.language]})}),t]})]})},A=({value:e})=>{const n=S.useContext(ee);return e.lang2value[n.language]||e.lang2value[e.lang]};/**
23
- * react-router v7.8.2
24
- *
25
- * Copyright (c) Remix Software Inc.
26
- *
27
- * This source code is licensed under the MIT license found in the
28
- * LICENSE.md file in the root directory of this source tree.
29
- *
30
- * @license MIT
31
- */function I(e,n){if(e===!1||e===null||typeof e>"u")throw new Error(n)}function $(e,n){if(!e){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function Se({pathname:e="/",search:n="",hash:t=""}){return n&&n!=="?"&&(e+=n.charAt(0)==="?"?n:"?"+n),t&&t!=="#"&&(e+=t.charAt(0)==="#"?t:"#"+t),e}function je(e){let n={};if(e){let t=e.indexOf("#");t>=0&&(n.hash=e.substring(t),e=e.substring(0,t));let a=e.indexOf("?");a>=0&&(n.search=e.substring(a),e=e.substring(0,a)),e&&(n.pathname=e)}return n}function Xe(e,n,t="/"){return Zt(e,n,t,!1)}function Zt(e,n,t,a){let r=typeof n=="string"?je(n):n,o=V(r.pathname||"/",t);if(o==null)return null;let l=Ze(e);Qt(l);let s=null;for(let d=0;s==null&&d<l.length;++d){let c=cn(o);s=un(l[d],c,a)}return s}function Ze(e,n=[],t=[],a="",r=!1){let o=(l,s,d=r,c)=>{let f={relativePath:c===void 0?l.path||"":c,caseSensitive:l.caseSensitive===!0,childrenIndex:s,route:l};if(f.relativePath.startsWith("/")){if(!f.relativePath.startsWith(a)&&d)return;I(f.relativePath.startsWith(a),`Absolute route path "${f.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),f.relativePath=f.relativePath.slice(a.length)}let p=z([a,f.relativePath]),v=t.concat(f);l.children&&l.children.length>0&&(I(l.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${p}".`),Ze(l.children,n,v,p,d)),!(l.path==null&&!l.index)&&n.push({path:p,score:ln(p,l.index),routesMeta:v})};return e.forEach((l,s)=>{var d;if(l.path===""||!((d=l.path)!=null&&d.includes("?")))o(l,s);else for(let c of Qe(l.path))o(l,s,!0,c)}),n}function Qe(e){let n=e.split("/");if(n.length===0)return[];let[t,...a]=n,r=t.endsWith("?"),o=t.replace(/\?$/,"");if(a.length===0)return r?[o,""]:[o];let l=Qe(a.join("/")),s=[];return s.push(...l.map(d=>d===""?o:[o,d].join("/"))),r&&s.push(...l),s.map(d=>e.startsWith("/")&&d===""?"/":d)}function Qt(e){e.sort((n,t)=>n.score!==t.score?t.score-n.score:sn(n.routesMeta.map(a=>a.childrenIndex),t.routesMeta.map(a=>a.childrenIndex)))}var en=/^:[\w-]+$/,tn=3,nn=2,rn=1,an=10,on=-2,et=e=>e==="*";function ln(e,n){let t=e.split("/"),a=t.length;return t.some(et)&&(a+=on),n&&(a+=nn),t.filter(r=>!et(r)).reduce((r,o)=>r+(en.test(o)?tn:o===""?rn:an),a)}function sn(e,n){return e.length===n.length&&e.slice(0,-1).every((a,r)=>a===n[r])?e[e.length-1]-n[n.length-1]:0}function un(e,n,t=!1){let{routesMeta:a}=e,r={},o="/",l=[];for(let s=0;s<a.length;++s){let d=a[s],c=s===a.length-1,f=o==="/"?n:n.slice(o.length)||"/",p=me({path:d.relativePath,caseSensitive:d.caseSensitive,end:c},f),v=d.route;if(!p&&c&&t&&!a[a.length-1].route.index&&(p=me({path:d.relativePath,caseSensitive:d.caseSensitive,end:!1},f)),!p)return null;Object.assign(r,p.params),l.push({params:r,pathname:z([o,p.pathname]),pathnameBase:gn(z([o,p.pathnameBase])),route:v}),p.pathnameBase!=="/"&&(o=z([o,p.pathnameBase]))}return l}function me(e,n){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[t,a]=dn(e.path,e.caseSensitive,e.end),r=n.match(t);if(!r)return null;let o=r[0],l=o.replace(/(.)\/+$/,"$1"),s=r.slice(1);return{params:a.reduce((c,{paramName:f,isOptional:p},v)=>{if(f==="*"){let y=s[v]||"";l=o.slice(0,o.length-y.length).replace(/(.)\/+$/,"$1")}const g=s[v];return p&&!g?c[f]=void 0:c[f]=(g||"").replace(/%2F/g,"/"),c},{}),pathname:o,pathnameBase:l,pattern:e}}function dn(e,n=!1,t=!0){$(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let a=[],r="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,s,d)=>(a.push({paramName:s,isOptional:d!=null}),d?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(a.push({paramName:"*"}),r+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?r+="\\/*$":e!==""&&e!=="/"&&(r+="(?:(?=\\/|$))"),[new RegExp(r,n?void 0:"i"),a]}function cn(e){try{return e.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return $(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),e}}function V(e,n){if(n==="/")return e;if(!e.toLowerCase().startsWith(n.toLowerCase()))return null;let t=n.endsWith("/")?n.length-1:n.length,a=e.charAt(t);return a&&a!=="/"?null:e.slice(t)||"/"}function fn(e,n="/"){let{pathname:t,search:a="",hash:r=""}=typeof e=="string"?je(e):e;return{pathname:t?t.startsWith("/")?t:hn(t,n):n,search:pn(a),hash:xn(r)}}function hn(e,n){let t=n.replace(/\/+$/,"").split("/");return e.split("/").forEach(r=>{r===".."?t.length>1&&t.pop():r!=="."&&t.push(r)}),t.length>1?t.join("/"):"/"}function Ce(e,n,t,a){return`Cannot include a '${e}' character in a manually specified \`to.${n}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function mn(e){return e.filter((n,t)=>t===0||n.route.path&&n.route.path.length>0)}function tt(e){let n=mn(e);return n.map((t,a)=>a===n.length-1?t.pathname:t.pathnameBase)}function nt(e,n,t,a=!1){let r;typeof e=="string"?r=je(e):(r={...e},I(!r.pathname||!r.pathname.includes("?"),Ce("?","pathname","search",r)),I(!r.pathname||!r.pathname.includes("#"),Ce("#","pathname","hash",r)),I(!r.search||!r.search.includes("#"),Ce("#","search","hash",r)));let o=e===""||r.pathname==="",l=o?"/":r.pathname,s;if(l==null)s=t;else{let p=n.length-1;if(!a&&l.startsWith("..")){let v=l.split("/");for(;v[0]==="..";)v.shift(),p-=1;r.pathname=v.join("/")}s=p>=0?n[p]:"/"}let d=fn(r,s),c=l&&l!=="/"&&l.endsWith("/"),f=(o||l===".")&&t.endsWith("/");return!d.pathname.endsWith("/")&&(c||f)&&(d.pathname+="/"),d}var z=e=>e.join("/").replace(/\/\/+/g,"/"),gn=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),pn=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,xn=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function vn(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}var rt=["POST","PUT","PATCH","DELETE"];new Set(rt);var yn=["GET",...rt];new Set(yn);var te=h.createContext(null);te.displayName="DataRouter";var ge=h.createContext(null);ge.displayName="DataRouterState",h.createContext(!1);var at=h.createContext({isTransitioning:!1});at.displayName="ViewTransition";var bn=h.createContext(new Map);bn.displayName="Fetchers";var wn=h.createContext(null);wn.displayName="Await";var B=h.createContext(null);B.displayName="Navigation";var Ee=h.createContext(null);Ee.displayName="Location";var q=h.createContext({outlet:null,matches:[],isDataRoute:!1});q.displayName="Route";var ke=h.createContext(null);ke.displayName="RouteError";function Sn(e,{relative:n}={}){I(pe(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:a}=h.useContext(B),{hash:r,pathname:o,search:l}=le(e,{relative:n}),s=o;return t!=="/"&&(s=o==="/"?t:z([t,o])),a.createHref({pathname:s,search:l,hash:r})}function pe(){return h.useContext(Ee)!=null}function H(){return I(pe(),"useLocation() may be used only in the context of a <Router> component."),h.useContext(Ee).location}var ot="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function it(e){h.useContext(B).static||h.useLayoutEffect(e)}function Te(){let{isDataRoute:e}=h.useContext(q);return e?An():jn()}function jn(){I(pe(),"useNavigate() may be used only in the context of a <Router> component.");let e=h.useContext(te),{basename:n,navigator:t}=h.useContext(B),{matches:a}=h.useContext(q),{pathname:r}=H(),o=JSON.stringify(tt(a)),l=h.useRef(!1);return it(()=>{l.current=!0}),h.useCallback((d,c={})=>{if($(l.current,ot),!l.current)return;if(typeof d=="number"){t.go(d);return}let f=nt(d,JSON.parse(o),r,c.relative==="path");e==null&&n!=="/"&&(f.pathname=f.pathname==="/"?n:z([n,f.pathname])),(c.replace?t.replace:t.push)(f,c.state,c)},[n,t,o,r,e])}h.createContext(null);function le(e,{relative:n}={}){let{matches:t}=h.useContext(q),{pathname:a}=H(),r=JSON.stringify(tt(t));return h.useMemo(()=>nt(e,JSON.parse(r),a,n==="path"),[e,r,a,n])}function Cn(e,n,t,a,r){I(pe(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=h.useContext(B),{matches:l}=h.useContext(q),s=l[l.length-1],d=s?s.params:{},c=s?s.pathname:"/",f=s?s.pathnameBase:"/",p=s&&s.route;{let j=p&&p.path||"";st(c,!p||j.endsWith("*")||j.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${j}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
32
-
33
- Please change the parent <Route path="${j}"> to <Route path="${j==="/"?"*":`${j}/*`}">.`)}let v=H(),g;g=v;let y=g.pathname||"/",x=y;if(f!=="/"){let j=f.replace(/^\//,"").split("/");x="/"+y.replace(/^\//,"").split("/").slice(j.length).join("/")}let C=Xe(e,{pathname:x});return $(p||C!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),$(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Nn(C&&C.map(j=>Object.assign({},j,{params:Object.assign({},d,j.params),pathname:z([f,o.encodeLocation?o.encodeLocation(j.pathname).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?f:z([f,o.encodeLocation?o.encodeLocation(j.pathnameBase).pathname:j.pathnameBase])})),l,t,a,r)}function En(){let e=Mn(),n=vn(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),t=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",r={padding:"0.5rem",backgroundColor:a},o={padding:"2px 4px",backgroundColor:a},l=null;return console.error("Error handled by React Router default ErrorBoundary:",e),l=h.createElement(h.Fragment,null,h.createElement("p",null,"๐Ÿ’ฟ Hey developer ๐Ÿ‘‹"),h.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",h.createElement("code",{style:o},"ErrorBoundary")," or"," ",h.createElement("code",{style:o},"errorElement")," prop on your route.")),h.createElement(h.Fragment,null,h.createElement("h2",null,"Unexpected Application Error!"),h.createElement("h3",{style:{fontStyle:"italic"}},n),t?h.createElement("pre",{style:r},t):null,l)}var kn=h.createElement(En,null),Tn=class extends h.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,n){return n.location!==e.location||n.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:n.error,location:n.location,revalidation:e.revalidation||n.revalidation}}componentDidCatch(e,n){this.props.unstable_onError?this.props.unstable_onError(e,n):console.error("React Router caught the following error during render",e)}render(){return this.state.error!==void 0?h.createElement(q.Provider,{value:this.props.routeContext},h.createElement(ke.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Rn({routeContext:e,match:n,children:t}){let a=h.useContext(te);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),h.createElement(q.Provider,{value:e},t)}function Nn(e,n=[],t=null,a=null,r=null){if(e==null){if(!t)return null;if(t.errors)e=t.matches;else if(n.length===0&&!t.initialized&&t.matches.length>0)e=t.matches;else return null}let o=e,l=t==null?void 0:t.errors;if(l!=null){let c=o.findIndex(f=>f.route.id&&(l==null?void 0:l[f.route.id])!==void 0);I(c>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),o=o.slice(0,Math.min(o.length,c+1))}let s=!1,d=-1;if(t)for(let c=0;c<o.length;c++){let f=o[c];if((f.route.HydrateFallback||f.route.hydrateFallbackElement)&&(d=c),f.route.id){let{loaderData:p,errors:v}=t,g=f.route.loader&&!p.hasOwnProperty(f.route.id)&&(!v||v[f.route.id]===void 0);if(f.route.lazy||g){s=!0,d>=0?o=o.slice(0,d+1):o=[o[0]];break}}}return o.reduceRight((c,f,p)=>{let v,g=!1,y=null,x=null;t&&(v=l&&f.route.id?l[f.route.id]:void 0,y=f.route.errorElement||kn,s&&(d<0&&p===0?(st("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),g=!0,x=null):d===p&&(g=!0,x=f.route.hydrateFallbackElement||null)));let C=n.concat(o.slice(0,p+1)),k=()=>{let j;return v?j=y:g?j=x:f.route.Component?j=h.createElement(f.route.Component,null):f.route.element?j=f.route.element:j=c,h.createElement(Rn,{match:f,routeContext:{outlet:c,matches:C,isDataRoute:t!=null},children:j})};return t&&(f.route.ErrorBoundary||f.route.errorElement||p===0)?h.createElement(Tn,{location:t.location,revalidation:t.revalidation,component:y,error:v,children:k(),routeContext:{outlet:null,matches:C,isDataRoute:!0},unstable_onError:a}):k()},null)}function Re(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Pn(e){let n=h.useContext(te);return I(n,Re(e)),n}function In(e){let n=h.useContext(ge);return I(n,Re(e)),n}function Ln(e){let n=h.useContext(q);return I(n,Re(e)),n}function Ne(e){let n=Ln(e),t=n.matches[n.matches.length-1];return I(t.route.id,`${e} can only be used on routes that contain a unique "id"`),t.route.id}function Fn(){return Ne("useRouteId")}function Mn(){var a;let e=h.useContext(ke),n=In("useRouteError"),t=Ne("useRouteError");return e!==void 0?e:(a=n.errors)==null?void 0:a[t]}function An(){let{router:e}=Pn("useNavigate"),n=Ne("useNavigate"),t=h.useRef(!1);return it(()=>{t.current=!0}),h.useCallback(async(r,o={})=>{$(t.current,ot),t.current&&(typeof r=="number"?e.navigate(r):await e.navigate(r,{fromRouteId:n,...o}))},[e,n])}var lt={};function st(e,n,t){!n&&!lt[e]&&(lt[e]=!0,$(!1,t))}h.memo(On);function On({routes:e,future:n,state:t,unstable_onError:a}){return Cn(e,void 0,t,a,n)}var xe="get",ve="application/x-www-form-urlencoded";function ye(e){return e!=null&&typeof e.tagName=="string"}function Dn(e){return ye(e)&&e.tagName.toLowerCase()==="button"}function _n(e){return ye(e)&&e.tagName.toLowerCase()==="form"}function $n(e){return ye(e)&&e.tagName.toLowerCase()==="input"}function zn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Bn(e,n){return e.button===0&&(!n||n==="_self")&&!zn(e)}var be=null;function qn(){if(be===null)try{new FormData(document.createElement("form"),0),be=!1}catch{be=!0}return be}var Un=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Pe(e){return e!=null&&!Un.has(e)?($(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${ve}"`),null):e}function Gn(e,n){let t,a,r,o,l;if(_n(e)){let s=e.getAttribute("action");a=s?V(s,n):null,t=e.getAttribute("method")||xe,r=Pe(e.getAttribute("enctype"))||ve,o=new FormData(e)}else if(Dn(e)||$n(e)&&(e.type==="submit"||e.type==="image")){let s=e.form;if(s==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let d=e.getAttribute("formaction")||s.getAttribute("action");if(a=d?V(d,n):null,t=e.getAttribute("formmethod")||s.getAttribute("method")||xe,r=Pe(e.getAttribute("formenctype"))||Pe(s.getAttribute("enctype"))||ve,o=new FormData(s,e),!qn()){let{name:c,type:f,value:p}=e;if(f==="image"){let v=c?`${c}.`:"";o.append(`${v}x`,"0"),o.append(`${v}y`,"0")}else c&&o.append(c,p)}}else{if(ye(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=xe,a=null,r=ve,l=e}return o&&r==="text/plain"&&(l=o,o=void 0),{action:a,method:t.toLowerCase(),encType:r,formData:o,body:l}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Ie(e,n){if(e===!1||e===null||typeof e>"u")throw new Error(n)}function Wn(e,n,t){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return a.pathname==="/"?a.pathname=`_root.${t}`:n&&V(a.pathname,n)==="/"?a.pathname=`${n.replace(/\/$/,"")}/_root.${t}`:a.pathname=`${a.pathname.replace(/\/$/,"")}.${t}`,a}async function Kn(e,n){if(e.id in n)return n[e.id];try{let t=await import(e.module);return n[e.id]=t,t}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Vn(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Hn(e,n,t){let a=await Promise.all(e.map(async r=>{let o=n.routes[r.route.id];if(o){let l=await Kn(o,t);return l.links?l.links():[]}return[]}));return Zn(a.flat(1).filter(Vn).filter(r=>r.rel==="stylesheet"||r.rel==="preload").map(r=>r.rel==="stylesheet"?{...r,rel:"prefetch",as:"style"}:{...r,rel:"prefetch"}))}function ut(e,n,t,a,r,o){let l=(d,c)=>t[c]?d.route.id!==t[c].route.id:!0,s=(d,c)=>{var f;return t[c].pathname!==d.pathname||((f=t[c].route.path)==null?void 0:f.endsWith("*"))&&t[c].params["*"]!==d.params["*"]};return o==="assets"?n.filter((d,c)=>l(d,c)||s(d,c)):o==="data"?n.filter((d,c)=>{var p;let f=a.routes[d.route.id];if(!f||!f.hasLoader)return!1;if(l(d,c)||s(d,c))return!0;if(d.route.shouldRevalidate){let v=d.route.shouldRevalidate({currentUrl:new URL(r.pathname+r.search+r.hash,window.origin),currentParams:((p=t[0])==null?void 0:p.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof v=="boolean")return v}return!0}):[]}function Yn(e,n,{includeHydrateFallback:t}={}){return Jn(e.map(a=>{let r=n.routes[a.route.id];if(!r)return[];let o=[r.module];return r.clientActionModule&&(o=o.concat(r.clientActionModule)),r.clientLoaderModule&&(o=o.concat(r.clientLoaderModule)),t&&r.hydrateFallbackModule&&(o=o.concat(r.hydrateFallbackModule)),r.imports&&(o=o.concat(r.imports)),o}).flat(1))}function Jn(e){return[...new Set(e)]}function Xn(e){let n={},t=Object.keys(e).sort();for(let a of t)n[a]=e[a];return n}function Zn(e,n){let t=new Set;return new Set(n),e.reduce((a,r)=>{let o=JSON.stringify(Xn(r));return t.has(o)||(t.add(o),a.push({key:o,link:r})),a},[])}function dt(){let e=h.useContext(te);return Ie(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Qn(){let e=h.useContext(ge);return Ie(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var Le=h.createContext(void 0);Le.displayName="FrameworkContext";function ct(){let e=h.useContext(Le);return Ie(e,"You must render this element inside a <HydratedRouter> element"),e}function er(e,n){let t=h.useContext(Le),[a,r]=h.useState(!1),[o,l]=h.useState(!1),{onFocus:s,onBlur:d,onMouseEnter:c,onMouseLeave:f,onTouchStart:p}=n,v=h.useRef(null);h.useEffect(()=>{if(e==="render"&&l(!0),e==="viewport"){let x=k=>{k.forEach(j=>{l(j.isIntersecting)})},C=new IntersectionObserver(x,{threshold:.5});return v.current&&C.observe(v.current),()=>{C.disconnect()}}},[e]),h.useEffect(()=>{if(a){let x=setTimeout(()=>{l(!0)},100);return()=>{clearTimeout(x)}}},[a]);let g=()=>{r(!0)},y=()=>{r(!1),l(!1)};return t?e!=="intent"?[o,v,{}]:[o,v,{onFocus:se(s,g),onBlur:se(d,y),onMouseEnter:se(c,g),onMouseLeave:se(f,y),onTouchStart:se(p,g)}]:[!1,v,{}]}function se(e,n){return t=>{e&&e(t),t.defaultPrevented||n(t)}}function tr({page:e,...n}){let{router:t}=dt(),a=h.useMemo(()=>Xe(t.routes,e,t.basename),[t.routes,e,t.basename]);return a?h.createElement(rr,{page:e,matches:a,...n}):null}function nr(e){let{manifest:n,routeModules:t}=ct(),[a,r]=h.useState([]);return h.useEffect(()=>{let o=!1;return Hn(e,n,t).then(l=>{o||r(l)}),()=>{o=!0}},[e,n,t]),a}function rr({page:e,matches:n,...t}){let a=H(),{manifest:r,routeModules:o}=ct(),{basename:l}=dt(),{loaderData:s,matches:d}=Qn(),c=h.useMemo(()=>ut(e,n,d,r,a,"data"),[e,n,d,r,a]),f=h.useMemo(()=>ut(e,n,d,r,a,"assets"),[e,n,d,r,a]),p=h.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let y=new Set,x=!1;if(n.forEach(k=>{var w;let j=r.routes[k.route.id];!j||!j.hasLoader||(!c.some(E=>E.route.id===k.route.id)&&k.route.id in s&&((w=o[k.route.id])!=null&&w.shouldRevalidate)||j.hasClientLoader?x=!0:y.add(k.route.id))}),y.size===0)return[];let C=Wn(e,l,"data");return x&&y.size>0&&C.searchParams.set("_routes",n.filter(k=>y.has(k.route.id)).map(k=>k.route.id).join(",")),[C.pathname+C.search]},[l,s,a,r,c,n,e,o]),v=h.useMemo(()=>Yn(f,r),[f,r]),g=nr(f);return h.createElement(h.Fragment,null,p.map(y=>h.createElement("link",{key:y,rel:"prefetch",as:"fetch",href:y,...t})),v.map(y=>h.createElement("link",{key:y,rel:"modulepreload",href:y,...t})),g.map(({key:y,link:x})=>h.createElement("link",{key:y,nonce:t.nonce,...x})))}function ar(...e){return n=>{e.forEach(t=>{typeof t=="function"?t(n):t!=null&&(t.current=n)})}}var ft=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{ft&&(window.__reactRouterVersion="7.8.2")}catch{}var ht=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,mt=h.forwardRef(function({onClick:n,discover:t="render",prefetch:a="none",relative:r,reloadDocument:o,replace:l,state:s,target:d,to:c,preventScrollReset:f,viewTransition:p,...v},g){let{basename:y}=h.useContext(B),x=typeof c=="string"&&ht.test(c),C,k=!1;if(typeof c=="string"&&x&&(C=c,ft))try{let O=new URL(window.location.href),Y=c.startsWith("//")?new URL(O.protocol+c):new URL(c),re=V(Y.pathname,y);Y.origin===O.origin&&re!=null?c=re+Y.search+Y.hash:k=!0}catch{$(!1,`<Link to="${c}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let j=Sn(c,{relative:r}),[w,E,R]=er(a,v),G=sr(c,{replace:l,state:s,target:d,preventScrollReset:f,relative:r,viewTransition:p});function D(O){n&&n(O),O.defaultPrevented||G(O)}let Q=h.createElement("a",{...v,...R,href:C||j,onClick:k||o?n:D,ref:ar(g,E),target:d,"data-discover":!x&&t==="render"?"true":void 0});return w&&!x?h.createElement(h.Fragment,null,Q,h.createElement(tr,{page:j})):Q});mt.displayName="Link";var or=h.forwardRef(function({"aria-current":n="page",caseSensitive:t=!1,className:a="",end:r=!1,style:o,to:l,viewTransition:s,children:d,...c},f){let p=le(l,{relative:c.relative}),v=H(),g=h.useContext(ge),{navigator:y,basename:x}=h.useContext(B),C=g!=null&&hr(p)&&s===!0,k=y.encodeLocation?y.encodeLocation(p).pathname:p.pathname,j=v.pathname,w=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;t||(j=j.toLowerCase(),w=w?w.toLowerCase():null,k=k.toLowerCase()),w&&x&&(w=V(w,x)||w);const E=k!=="/"&&k.endsWith("/")?k.length-1:k.length;let R=j===k||!r&&j.startsWith(k)&&j.charAt(E)==="/",G=w!=null&&(w===k||!r&&w.startsWith(k)&&w.charAt(k.length)==="/"),D={isActive:R,isPending:G,isTransitioning:C},Q=R?n:void 0,O;typeof a=="function"?O=a(D):O=[a,R?"active":null,G?"pending":null,C?"transitioning":null].filter(Boolean).join(" ");let Y=typeof o=="function"?o(D):o;return h.createElement(mt,{...c,"aria-current":Q,className:O,ref:f,style:Y,to:l,viewTransition:s},typeof d=="function"?d(D):d)});or.displayName="NavLink";var ir=h.forwardRef(({discover:e="render",fetcherKey:n,navigate:t,reloadDocument:a,replace:r,state:o,method:l=xe,action:s,onSubmit:d,relative:c,preventScrollReset:f,viewTransition:p,...v},g)=>{let y=cr(),x=fr(s,{relative:c}),C=l.toLowerCase()==="get"?"get":"post",k=typeof s=="string"&&ht.test(s),j=w=>{if(d&&d(w),w.defaultPrevented)return;w.preventDefault();let E=w.nativeEvent.submitter,R=(E==null?void 0:E.getAttribute("formmethod"))||l;y(E||w.currentTarget,{fetcherKey:n,method:R,navigate:t,replace:r,state:o,relative:c,preventScrollReset:f,viewTransition:p})};return h.createElement("form",{ref:g,method:C,action:x,onSubmit:a?d:j,...v,"data-discover":!k&&e==="render"?"true":void 0})});ir.displayName="Form";function lr(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function gt(e){let n=h.useContext(te);return I(n,lr(e)),n}function sr(e,{target:n,replace:t,state:a,preventScrollReset:r,relative:o,viewTransition:l}={}){let s=Te(),d=H(),c=le(e,{relative:o});return h.useCallback(f=>{if(Bn(f,n)){f.preventDefault();let p=t!==void 0?t:Se(d)===Se(c);s(e,{replace:p,state:a,preventScrollReset:r,relative:o,viewTransition:l})}},[d,s,c,t,a,n,e,r,o,l])}var ur=0,dr=()=>`__${String(++ur)}__`;function cr(){let{router:e}=gt("useSubmit"),{basename:n}=h.useContext(B),t=Fn();return h.useCallback(async(a,r={})=>{let{action:o,method:l,encType:s,formData:d,body:c}=Gn(a,n);if(r.navigate===!1){let f=r.fetcherKey||dr();await e.fetch(f,t,r.action||o,{preventScrollReset:r.preventScrollReset,formData:d,body:c,formMethod:r.method||l,formEncType:r.encType||s,flushSync:r.flushSync})}else await e.navigate(r.action||o,{preventScrollReset:r.preventScrollReset,formData:d,body:c,formMethod:r.method||l,formEncType:r.encType||s,replace:r.replace,state:r.state,fromRouteId:t,flushSync:r.flushSync,viewTransition:r.viewTransition})},[e,n,t])}function fr(e,{relative:n}={}){let{basename:t}=h.useContext(B),a=h.useContext(q);I(a,"useFormAction must be used inside a RouteContext");let[r]=a.matches.slice(-1),o={...le(e||".",{relative:n})},l=H();if(e==null){o.search=l.search;let s=new URLSearchParams(o.search),d=s.getAll("index");if(d.some(f=>f==="")){s.delete("index"),d.filter(p=>p).forEach(p=>s.append("index",p));let f=s.toString();o.search=f?`?${f}`:""}}return(!e||e===".")&&r.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(o.pathname=o.pathname==="/"?t:z([t,o.pathname])),Se(o)}function hr(e,{relative:n}={}){let t=h.useContext(at);I(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=gt("useViewTransitionState"),r=le(e,{relative:n});if(!t.isTransitioning)return!1;let o=V(t.currentLocation.pathname,a)||t.currentLocation.pathname,l=V(t.nextLocation.pathname,a)||t.nextLocation.pathname;return me(r.pathname,l)!=null||me(r.pathname,o)!=null}const mr=({message:e})=>{const n=Te();return i.jsx(u.Container,{size:"xs",style:{height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:i.jsx(u.Alert,{color:"red",title:"Not Found",variant:"404 - Not Found",icon:i.jsx(M.IconInfoCircle,{size:12,stroke:1.5}),children:i.jsxs(u.Stack,{align:"flex-start",children:[e||"Sorry, the page you are looking for does not exist.",i.jsx(u.Button,{variant:"filled",onClick:()=>n("/"),size:"xs",children:"Back Home"})]})})})},gr=({message:e})=>i.jsx(u.Alert,{color:"red",title:"Not Found",variant:"404 - Not Found",icon:i.jsx(M.IconInfoCircle,{size:12,stroke:1.5}),children:e||"Sorry, the page you are looking for does not exist."}),Fe=({message:e})=>i.jsx(u.Text,{c:"red",size:"sm",children:e||"Not Found"}),pr=({tip:e})=>e===void 0?i.jsx(u.Flex,{justify:"center",align:"center",children:i.jsx(u.Loader,{color:"blue",size:"md"})}):i.jsxs(u.Flex,{gap:"md",direction:"column",justify:"center",align:"center",style:{height:"100%"},children:[i.jsx(u.Loader,{color:"blue",size:"md"}),e]}),xr=({tip:e})=>e===void 0?i.jsx(u.Loader,{color:"blue",size:"xs"}):i.jsxs(u.Flex,{gap:"md",direction:"column",justify:"center",align:"center",children:[i.jsx(u.Loader,{color:"blue",size:"xs"}),e]}),vr=({message:e})=>i.jsx(u.Alert,{color:"red",title:"Not Found",variant:"403 - Not Authorized",icon:i.jsx(M.IconInfoCircle,{size:12,stroke:1.5}),children:e||"Sorry, you are not authorized to access this page."});function yr(e,n){return e.reduce((t,a)=>{const r=n(a);return t[r]||(t[r]=[]),t[r].push(a),t},{})}function br(e,n){const t=[];let a;return e.reduce((r,o)=>{const l=n(o);return l===void 0?(a===void 0&&(a=t.length,t.push([])),t[a].push(o)):(r[l]===void 0&&(r[l]=t.length,t.push([])),t[r[l]].push(o)),r},{}),t}function wr(e,n){const t=new Set;return e.filter(a=>{const r=n(a);return t.has(r)?!1:(t.add(r),!0)})}class Sr{constructor(){X(this,"items",[]);X(this,"seen",new Set)}add(n,t){const a=t(n);this.seen.has(a)||(this.items.push(n),this.seen.add(a))}toArray(){return this.items}}class Me{constructor(){X(this,"children",new Map);X(this,"isEndOfWord",!1);X(this,"value","")}}class Ae{constructor(){X(this,"root",new Me)}insert(n){let t=this.root;for(const a of n){let r=t.children.get(a);r===void 0&&(r=new Me,t.children.set(a,r)),t=r}t.isEndOfWord=!0,t.value=n}findLongestPrefix(n){let t=this.root,a={match:"",remaining:n};for(let r=0;r<n.length;r++){const o=n[r];if(!t.children.has(o))break;t=t.children.get(o),t.isEndOfWord&&(a={match:t.value,remaining:n.slice(r+1)})}return a}}var pt=(e=>(e[e.Allow=0]="Allow",e[e.Denied=1]="Denied",e[e.Pending=2]="Pending",e))(pt||{});class xt extends Ae{constructor(){super(...arguments);X(this,"pathToKey",new Map)}normalizePath(t){return t==="/"?"/":t.replace(/\/$/,"")}insertRoute(t,a){const r=this.normalizePath(t);this.insert(r),this.pathToKey.set(r,a)}findMatchingKey(t){const a=this.normalizePath(t),r=this.findLongestPrefix(a);if(r.match&&this.pathToKey.has(r.match)&&(a===r.match||r.remaining.startsWith("/")||r.remaining===""))return this.pathToKey.get(r.match)}}function vt(e){const n={},t={},a={},r=(o,l=[])=>{o.forEach(s=>{const d=[...l,s.key];n[s.key]=s,t[s.key]=d,s.route!==void 0&&(a[s.key]=s.route),s.children!==void 0&&s.children.length>0&&r(s.children,d)})};return r(e),{key2item:n,key2fullpath:t,key2route:a}}function jr(e){const n=new xt,t=a=>{a.forEach(r=>{if(r.route!==void 0){const o=r.route.path.getURL();n.insertRoute(o,r.key)}r.children!==void 0&&r.children.length>0&&t(r.children)})};return t(e),n}function yt(e,n){return e.map(t=>{if(t.route!==void 0)return n(t.route.role)===0?t:null;if(t.children!==void 0){const a=t.children.filter(r=>r.route!==void 0?n(r.route.role)===0:!0);return a.length>0?{...t,children:a}:null}return t}).filter(t=>t!==null)}const Cr=e=>{const n=Te(),t=H(),[a,r]=S.useState(new Set),[o,l]=S.useState(new Set),[s,d]=S.useState(),c=S.useMemo(()=>yt(e.items,e.checkPermission),[e.items,e.checkPermission]),f=S.useMemo(()=>jr(e.items),[e.items]),{key2fullpath:p,key2route:v}=S.useMemo(()=>vt(c),[c]);S.useEffect(()=>{const y=t.pathname,x=f.findMatchingKey(y);x!==void 0&&(l(new Set(p[x])),d(x))},[t,v]);const g=S.useMemo(()=>{function y(x,C){var j,w;const k=x.children!==void 0&&x.children.length>0;return k?i.jsxs("div",{onMouseEnter:()=>{o.has(x.key)||r(E=>{const R=new Set(E);return R.add(x.key),R})},onMouseLeave:()=>{o.has(x.key)||r(E=>{const R=new Set(E);return R.delete(x.key),R})},children:[i.jsx(u.NavLink,{active:s===x.key,href:(j=x.route)==null?void 0:j.path.getURL(),label:x.label,leftSection:x.icon,styles:{label:{fontSize:"md"},root:{borderRadius:"var(--mantine-radius-sm)"}},ml:C===0?void 0:C===1?"md":`calc(var(--mantine-spacing-md) * ${C})`,w:"unset",rightSection:k?i.jsx(M.IconChevronRight,{size:12,stroke:1.5,className:"mantine-rotate-rtl"}):void 0,opened:a.has(x.key)||o.has(x.key),onClick:E=>{E.ctrlKey||E.metaKey||(E.preventDefault(),l(G=>{const D=new Set(G);return G.has(x.key)?D.delete(x.key):D.add(x.key),D}))}},x.key),(o.has(x.key)||a.has(x.key))&&x.children.map(E=>y(E,C+1))]},`container-${x.key}`):i.jsx(u.NavLink,{active:s===x.key,href:(w=x.route)==null?void 0:w.path.getURL(),label:x.label,leftSection:x.icon,styles:{label:{fontSize:"md"},root:{borderRadius:"var(--mantine-radius-sm)"}},ml:C===0?void 0:C===1?"md":`calc(var(--mantine-spacing-md) * ${C})`,w:"unset",onClick:E=>{E.ctrlKey||E.metaKey||(E.preventDefault(),x.route!=null&&x.route.path.path().open(n))}},x.key)}return c.map(x=>y(x,0))},[c,s,o,a,n]);return i.jsx(i.Fragment,{children:g})},we=({value:e})=>i.jsx(u.Text,{size:"sm",children:e});function Oe(e,n){const t=n.getDate().toString().padStart(2,"0"),a=(n.getMonth()+1).toString().padStart(2,"0"),r=n.getFullYear();return e.baseName==="en-US"?`${a}/${t}/${r}`:e.baseName==="vi-VN"?`${t}/${a}/${r}`:`${a}/${t}/${r}`}const bt=({value:e})=>{const n=S.useContext(ee),t=S.useMemo(()=>{const a=e.getHours().toString().padStart(2,"0"),r=e.getMinutes().toString().padStart(2,"0"),o=e.getSeconds().toString().padStart(2,"0");return Oe(n,e)+`${a}:${r}:${o}`},[n,e]);return i.jsx(u.Text,{size:"sm",children:t})},wt=({value:e})=>{const n=S.useContext(ee),t=S.useMemo(()=>Oe(n,e),[n,e]);return i.jsx(u.Text,{size:"sm",children:t})},Er=({value:e})=>{const n=S.useContext(ee),[t,a]=S.useMemo(()=>{const r=Oe(n,e),o=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0"),s=e.getSeconds().toString().padStart(2,"0");return[r,`${o}:${l}:${s}`]},[n,e]);return i.jsx(u.Text,{size:"sm",title:a,children:t})},kr={yes:{lang2value:{en:"Yes",vi:"Cรณ"},lang:"en"},no:{lang2value:{en:"No",vi:"Khรดng"},lang:"en"}},Tr=({value:e})=>i.jsx(u.Checkbox,{checked:e,label:i.jsx(A,{value:kr[e?"yes":"no"]}),readOnly:!0}),Rr=({nestedProperty:e,property:n,value:t})=>{const a=e||n;if(K.isObjectProperty(a)||a.enumType===void 0)throw new Error("Invalid usage of EnumDisplay. Expect a property of type enum");return i.jsx(u.Text,{size:"sm",children:i.jsx(A,{value:a.enumType.label[t]})})};function St(e,n,t,a){const r=e.getByName(n.targetClass),o=a[n.targetClass];S.useEffect(()=>{r.fetchByIds(t)},[t]);const l={};for(const s of t)l[s]=r.get(s);return[l,o]}const ue=W.observer(({db:e,property:n,value:t,entityRoutes:a})=>{const r=S.useMemo(()=>[t],[t]),[o,l]=St(e,n,r,a),s=o[t];return s===void 0?i.jsx(u.Text,{size:"sm",children:t}):s===null?i.jsx(Fe,{}):l===void 0?i.jsx(u.Text,{size:"sm",children:s.name}):i.jsx(We.InternalLink,{path:l,openInNewPage:!1,urlArgs:{id:s.id},queryArgs:{},children:s.name})}),de=W.observer(({db:e,property:n,value:t,entityRoutes:a})=>{const[r,o]=St(e,n,t,a);return i.jsx(u.Group,{gap:"xs",children:t.map((l,s)=>{const d=r[l];return d===void 0?i.jsx(u.Text,{size:"sm",children:t},l):d===null?i.jsx(Fe,{},l):o===void 0?i.jsx(u.Text,{size:"sm",children:d.name},s):i.jsx(We.InternalLink,{path:o,openInNewPage:!1,urlArgs:{id:d.id},queryArgs:{},children:d.name},s)})})}),U={string:we,integer:we,float:we,boolean:Tr,"string[]":we,enum:Rr,datetime:bt,date:wt},Nr=({property:e,value:n,onChange:t})=>i.jsx(u.Input,{id:e.name,type:"checkbox",checked:n,onChange:a=>{const r=a.target.checked;t(r)}}),jt=({property:e,value:n,onChange:t})=>i.jsx(u.Input,{id:e.name,type:"number",value:n,onChange:a=>{const r=a.target.value;t(r===""?void 0:Number(r))}}),Pr={lang2value:{en:"The leading zero is not necessary in international phone number format. For example, if your phone number is 0123456789, you should enter it as 123-456-789.",vi:"Sแป‘ 0 ฤ‘แบงu tiรชn khรดng cแบงn thiแบฟt trong ฤ‘แป‹nh dแบกng ฤ‘iแป‡n thoแบกi quแป‘c tแบฟ. Vรญ dแปฅ, nแบฟu sแป‘ ฤ‘iแป‡n thoแบกi cแปงa bแบกn lร  0123456789, bแบกn nรชn nhแบญp nรณ lร  123-456-789."},lang:"en"},Ir={lang2value:{en:"No valid country code found.",vi:"Khรดng tรฌm thแบฅy mรฃ quแป‘c gia hแปฃp lแป‡. "},lang:"en"},ne={84:{name:"Vietnam",flags:[P.VN]},1:{name:"US, Canada",flags:[P.US,P.CA]},61:{name:"Australia",flags:[P.AU]},81:{name:"Japan",flags:[P.JP]},44:{name:"UK",flags:[P.UK]},33:{name:"France",flags:[P.FR]},49:{name:"Germany",flags:[P.DE]},91:{name:"India",flags:[P.IN]},55:{name:"Brazil",flags:[P.BR]},34:{name:"Spain",flags:[P.ES]},39:{name:"Italy",flags:[P.IT]},64:{name:"New Zealand",flags:[P.NZ]},52:{name:"Mexico",flags:[P.MX]},86:{name:"China",flags:[P.CN]}},Lr=(e,n)=>{if(e==="")return{match:"84",remaining:""};const t=e.replace(/[^\d]/g,""),a=n.findLongestPrefix(t);if(a.match==="")throw new Error(`No valid country code found for phone number: ${e}`);return a},Ct=({value:e})=>{const n=ne[e];if(n!==void 0)return i.jsxs(u.Group,{gap:"sm",wrap:"nowrap",align:"center",children:[i.jsxs(u.Text,{size:"sm",children:["+",e]}),i.jsx(u.Group,{gap:4,wrap:"nowrap",children:n.flags.map((t,a)=>i.jsx(fe,{flag:t},a))})]})},Fr=({value:e,onChange:n,error:t,id:a})=>{const[r,o]=S.useState(""),[l,s]=S.useState(!1),[d,c]=S.useState(""),[f,p]=S.useState(!1),v=S.useMemo(()=>{const w=new Ae;return Object.keys(ne).forEach(E=>{w.insert(E)}),w},[ne]),{rawInput:g}=S.useMemo(()=>{try{const{match:w,remaining:E}=Lr(e,v);return c(w),p(!1),{rawInput:E}}catch{return p(!0),c(""),{rawInput:e}}},[e]),y=u.useCombobox({onDropdownClose:()=>{y.resetSelectedOption(),o("")},onDropdownOpen:()=>{y.updateSelectedOptionIndex("active")}}),x=S.useMemo(()=>Object.keys(ne),[ne]),C=(w,E)=>{const R=w.replace(/[^\d]/g,"");return R.length===0?`+${E}`:R.startsWith("0")?(s(!0),`+${E}${R}`):(s(!1),`+${E}${R}`)},k=S.useMemo(()=>x.filter(w=>ne[w].name.toLowerCase().includes(r.toLowerCase())||w.includes(r)),[r,x]),j=S.useMemo(()=>k.map((w,E)=>i.jsx(u.Combobox.Option,{value:w,children:i.jsx(Ct,{value:w})},E)),[k]);return i.jsxs("div",{children:[i.jsx(u.Grid,{gutter:"xs",children:i.jsx(u.Grid.Col,{children:i.jsxs(u.Group,{gap:5,children:[i.jsxs(u.Combobox,{store:y,position:"top-start",onOptionSubmit:w=>{o(""),y.closeDropdown(),n({target:{value:C(g,w)}})},children:[i.jsx(u.Combobox.Target,{children:i.jsx(u.InputBase,{component:"button",type:"button",pointer:!0,rightSection:i.jsx(u.Combobox.Chevron,{}),onClick:()=>y.toggleDropdown(),rightSectionPointerEvents:"none",w:110,children:i.jsx(Ct,{value:d})})}),i.jsxs(u.Combobox.Dropdown,{children:[i.jsx(u.Combobox.Search,{leftSection:i.jsx(M.IconSearch,{size:14,stroke:1.5}),placeholder:".....",value:r,onChange:w=>o(w.currentTarget.value)}),i.jsx(u.Combobox.Options,{children:j.length>0?j:i.jsx(u.Combobox.Empty,{children:i.jsx(u.Text,{size:"sm",children:"Nothing found"})})})]})]}),d===""?i.jsx(u.Input,{id:a,value:g,type:"phone_number",onChange:w=>{n({target:{value:w.target.value}})},error:t,flex:1}):i.jsx(u.Input,{id:a,value:g,type:"phone_number",onAccept:w=>{const E=w.replace(/[^\d]/g,"");n({target:{value:C(E,d)}})},component:Gt.IMaskInput,mask:"000-000-0000",error:t,flex:1})]})})}),(l||f||t&&typeof t=="string")&&i.jsx(u.Grid,{gutter:"xs",children:i.jsx(u.Grid.Col,{children:i.jsx(u.Input.Error,{children:l?i.jsx(A,{value:Pr}):f?i.jsx(A,{value:Ir}):t})})})]})},De=({property:e,error:n,value:t,onChange:a})=>{const[r,o]=S.useMemo(()=>e.constraints.includes("password")?["password",u.PasswordInput]:e.constraints.includes("phone_number")?["phone_number",Fr]:[e.constraints.includes("email")?"email":e.constraints.includes("url")?"url":"text",u.Input],[e.constraints]);return i.jsx(o,{id:e.name,value:t,type:r,onChange:l=>a(l.target.value),error:n})},_e={integer:jt,float:jt,string:De,boolean:Nr,"string[]":De,enum:De};function Mr(e,n){const[t,a]=S.useState(""),[r,o]=S.useState([]);return S.useEffect(()=>{e.getByName(n.targetClass).fetch({limit:100,offset:0}).then(s=>o(s.records))},[n.name]),{data:r,query:t,setQuery:s=>{a(s);const d=e.getByName(n.targetClass);o(d.filter(c=>c.name.toLowerCase().includes(s.toLowerCase())))},table:e.getByName(n.targetClass)}}const Ar=e=>e.name,Or=e=>i.jsx(u.Text,{size:"sm",children:e.name}),Dr=W.observer(e=>i.jsx("h1",{children:"SingleForeignKey"})),_r=W.observer(({db:e,property:n,value:t,onChange:a})=>{const{table:r,data:o,query:l,setQuery:s}=Mr(e,n);return i.jsxs(u.Stack,{gap:"sm",children:[i.jsx($r,{name:n.name,query:l,setQuery:s,data:o,onSelect:d=>{t.includes(d)||a([...t,d])},renderOption:Ar,isIdInteger:n.datatype==="integer"}),i.jsx(zr,{items:t.map(d=>r.get(d)),onDelete:d=>{a(t.filter(c=>c!==d.id))},render:Or})]})}),$r=({name:e,data:n,onSelect:t,renderOption:a,isIdInteger:r,query:o,setQuery:l})=>{const s=u.useCombobox({onDropdownClose:()=>s.resetSelectedOption()}),d=S.useMemo(()=>n.map(c=>i.jsx(u.Combobox.Option,{value:c.id.toString(),children:a(c)},c.id)),[n]);return i.jsxs(u.Combobox,{store:s,onOptionSubmit:c=>{t(r?parseInt(c):c),l(""),s.closeDropdown()},offset:0,shadow:"sm",children:[i.jsx(u.Combobox.Target,{children:i.jsx(u.Input,{id:e,pointer:!0,rightSection:i.jsx(M.IconSearch,{size:16,stroke:1.5}),rightSectionPointerEvents:"none",onClick:()=>s.toggleDropdown(),placeholder:"Type to search...",value:o,onChange:c=>{l(c.currentTarget.value)}})}),i.jsx(u.Combobox.Dropdown,{children:i.jsx(u.Combobox.Options,{children:d.length===0?i.jsx(u.Combobox.Empty,{children:"Nothing found"}):d})})]})},zr=({items:e,onDelete:n,render:t})=>{const a=S.useMemo(()=>{const r=[];for(let o=0;o<e.length;o++){const l=e[o];r.push(i.jsxs(u.Group,{justify:"space-between",p:"sm",children:[t(l),i.jsx(u.CloseButton,{size:"sm",onClick:()=>n(l)})]},o)),o<e.length-1&&r.push(i.jsx(u.Divider,{},`divider-${o}`))}return r},[e]);if(a.length!==0)return i.jsx(u.Paper,{bd:"1px solid #ddd",children:a})},Et={requiredLabelLeft:"_requiredLabelLeft_l5p83_1",requiredLabelRight:"_requiredLabelRight_l5p83_11"},kt=({label:e,name:n,required:t=!1,tooltip:a,style:r,align:o="left"})=>{const l=t?o==="left"?Et.requiredLabelRight:Et.requiredLabelLeft:"";return i.jsx(u.Flex,{align:"center",h:36,children:i.jsx("label",{htmlFor:n,style:r,children:i.jsxs(u.Group,{gap:4,children:[i.jsx(u.Text,{size:"sm",className:l,children:e}),a!==void 0&&i.jsx(u.Tooltip,{label:a,withArrow:!0,children:i.jsx(M.IconHelpOctagonFilled,{size:16,stroke:1.5,style:{color:"var(--mantine-color-dimmed)"}})})]})})})},Br={type:"vertical",helpAlwaysVisible:!1},Tt=W.observer(({store:e,record:n,property:t,layout:a=Br,InputComponent:r,validator:o})=>{const[l,s]=S.useState(void 0),d=n[t.tsName],c=p=>{var g;if(K.isDraftRecord(n))n[t.updateFuncName](p);else{const y=n.toDraft();y[t.updateFuncName](p),e.setDraft(y)}const v=o(p);v.isValid?s(void 0):s((g=v.errorMessage)==null?void 0:g.t({args:{name:t.label}}))};if(qr(a))return i.jsxs(u.Stack,{gap:5,children:[i.jsxs(u.Grid,{gutter:"sm",children:[i.jsx(u.Grid.Col,{span:a.labelCol,style:{display:"flex",justifyContent:a.align||"left"},children:i.jsx(kt,{label:i.jsx(A,{value:t.label}),name:t.name,required:t.isRequired,tooltip:t.description!==void 0?i.jsx(A,{value:t.description}):void 0,align:a.align})}),i.jsx(u.Grid.Col,{span:a.itemCol,children:i.jsx(r,{db:e.db,property:t,value:d,error:l!==void 0,onChange:c})})]}),l!==void 0&&i.jsxs(u.Grid,{gutter:"sm",children:[i.jsx(u.Grid.Col,{span:a.labelCol}),i.jsx(u.Grid.Col,{span:a.itemCol,children:i.jsx(u.Input.Error,{children:l})})]})]});let f=i.jsx(A,{value:t.label});return!a.helpAlwaysVisible&&t.description!==void 0&&(f=i.jsxs(u.Group,{gap:4,style:{display:"inline-flex"},children:[f,i.jsx(u.Tooltip,{label:i.jsx(A,{value:t.description}),withArrow:!0,children:i.jsx(M.IconHelpOctagonFilled,{size:16,stroke:1.5,style:{color:"var(--mantine-color-dimmed)"}})})]})),i.jsx(u.Input.Wrapper,{label:f,description:a.helpAlwaysVisible&&t.description!==void 0?i.jsx(A,{value:t.description}):void 0,required:t.isRequired,children:i.jsx(r,{db:e.db,property:t,value:d,error:l,onChange:c})})});function qr(e){return e.type==="horizontal"}const Rt=12,Ur=e=>{const n=e.schema,t=S.useMemo(()=>{const a=Math.max(...e.fieldGroups.map(r=>Math.max(...r.fields.map(o=>o.length))));return e.fieldGroups.map((r,o)=>Gr(n,e.store,e.record,o,r,a,e.layout))},[n,e.store,e.record,e.fieldGroups,e.layout]);return i.jsx("form",{onSubmit:e.onSubmit===void 0?void 0:a=>{a.preventDefault(),e.onSubmit!==void 0&&K.isDraftRecord(e.record)&&e.onSubmit(e.record)},children:i.jsxs(u.Stack,{gap:"sm",className:e.className,style:e.styles,children:[t,i.jsx(u.Group,{gap:"sm",children:e.actions.map((a,r)=>i.jsx(u.Button,{variant:a.variant,onClick:()=>{a.onClick!==void 0&&a.onClick()},disabled:a.disabled,children:a.label},r))})]})})};function Gr(e,n,t,a,r,o,l){const s=r.fields,d=[];for(let f=0;f<s.length;f++){const p=Rt/s[f].length;if(!Number.isInteger(p))throw new Error(`Span must be an integer, but got ${p} for row ${f}`);let v;l!==void 0&&typeof l=="object"&&l.type==="horizontal"?v={...l,labelCol:Math.floor(l.labelCol*s[f].length/o),itemCol:Rt-Math.floor(l.labelCol*s[f].length/o)}:v=l;for(let g=0;g<s[f].length;g++){const y=s[f][g],x=e.allProperties[y];let C;if(K.isObjectProperty(x))C=x.cardinality==="N:N"||x.cardinality==="1:N"?_r:Dr;else{if(_e[x.datatype]===void 0)throw new Error(`No input component found for datatype ${x.datatype}`);C=_e[x.datatype]}d.push(i.jsx(u.Grid.Col,{span:p,children:i.jsx(Tt,{store:n,record:t,property:x,layout:v,InputComponent:C,validator:e.validators[y]})},`${f}-${g}`))}}const c=i.jsx(u.Grid,{gutter:"sm",children:d},a);return r.name!==void 0?i.jsx(u.Fieldset,{legend:r.name,children:c},a):c}const Nt=({actions:e,reloadData:n,selectedRowKeys:t,size:a="xs"})=>i.jsxs(u.Group,{gap:a,children:[(e==null?void 0:e.add)&&i.jsx(u.Button,{variant:"light",leftSection:i.jsx(M.IconPlus,{size:16,stroke:1.5}),size:a,onClick:e.add,children:"Add"}),(e==null?void 0:e.edit)&&i.jsx(u.Button,{leftSection:i.jsx(M.IconPencil,{size:16,stroke:1.5}),size:a,variant:"light",onClick:()=>e.edit!==void 0&&e.edit(t[0]),disabled:t.length!==1,children:"Edit"}),(e==null?void 0:e.reload)&&i.jsx(u.Button,{leftSection:i.jsx(M.IconReload,{size:16,stroke:1.5}),size:a,onClick:n,variant:"light",children:"Reload"}),(e==null?void 0:e.import)&&i.jsx(u.Button,{leftSection:i.jsx(M.IconDatabaseImport,{size:16,stroke:1.5}),size:a,variant:"light",onClick:e.import,children:"Import"}),(e==null?void 0:e.export)&&i.jsx(u.Button,{leftSection:i.jsx(M.IconDownload,{size:16,stroke:1.5}),size:a,variant:"light",onClick:e.export,children:"Export"})]}),Pt=e=>e!==void 0&&(e.add!==void 0||e.edit!==void 0||e.delete!==void 0||e.export!==void 0||e.reload===!0||e.import!==void 0),Wr="__selectcol__",{Thead:Kr,Tr:It,Th:Vr,Tbody:Hr,Td:Yr}=u.Table,Lt=e=>{const n=i.jsxs(u.Table,{striped:!0,highlightOnHover:!0,verticalSpacing:"xs",tabularNums:!0,children:[i.jsx(Kr,{children:e.table.getHeaderGroups().map(a=>i.jsx(It,{children:a.headers.map(r=>i.jsx(Vr,{w:r.id===Wr?"1%":void 0,children:r.isPlaceholder?null:Z.flexRender(r.column.columnDef.header,r.getContext())},r.id))},a.id))}),i.jsx(Hr,{pos:"relative",children:e.table.getRowModel().rows.map(a=>i.jsx(It,{bg:e.selectedRowKeys[a.id]?"var(--mantine-color-blue-light)":void 0,children:a.getVisibleCells().map(r=>i.jsx(Yr,{children:Z.flexRender(r.column.columnDef.cell,r.getContext())},r.id))},a.id))})]});if(!e.bordered)return n;const t={};return e.hasTopSection&&(t.borderTopLeftRadius=0,t.borderTopRightRadius=0),e.hasBottomSection&&(t.borderBottomLeftRadius=0,t.borderBottomRightRadius=0),i.jsx(u.Paper,{withBorder:!0,p:0,style:t,children:n})},Jr={pageSizeSelectorActive:"_pageSizeSelectorActive_1wv6j_1"},Ft=({total:e,pageIndex:n,pageSize:t,allowPageSizeChange:a=!0,onUpdatePagination:r})=>{const o=i.jsx(u.Pagination,{size:"sm",total:e,value:n+1,onChange:l=>r(l-1,t)});return a?i.jsxs(u.Group,{gap:"sm",children:[i.jsxs("div",{children:[i.jsx(u.Text,{size:"sm",component:"span",pr:"xs",c:"dimmed",children:"Records per page"}),i.jsx(Xr,{size:"sm",values:["10","20","50","100"],value:t.toString(),onChange:l=>{r(0,parseInt(l,10))}})]}),o]}):o},Mt={xs:u.rem(22),sm:u.rem(26),md:u.rem(32),lg:u.rem(38),xl:u.rem(44)};function Xr({size:e,values:n,value:t,onChange:a}){return i.jsxs(u.Menu,{withinPortal:!0,withArrow:!0,offset:2,children:[i.jsx(u.MenuTarget,{children:i.jsx(u.Button,{size:e,variant:"default",rightSection:i.jsx(M.IconSelector,{size:16,stroke:1.5}),style:[{fontWeight:"normal"},r=>({height:Mt[e],paddingLeft:r.spacing[e],paddingRight:r.spacing[e]})],styles:{section:{marginInlineStart:2}},children:t})}),i.jsx(u.MenuDropdown,{children:n.map(r=>{const o=r===t;return i.jsx(u.MenuItem,{className:o?Jr.pageSizeSelectorActive:void 0,style:[{height:Mt[e]}],disabled:o,onClick:()=>a(r),children:i.jsx(u.Text,{component:"div",size:e,children:r})},r)})})]})}const At=new Set(["topRight","bottomRight"]),Zr=e=>{var k,j;const[n,t]=S.useState({records:[],total:0}),[a,r]=S.useState(!1),[o,l]=S.useState({}),s=w=>{r(!0),e.getData(w).then(E=>{t(E),r(!1)})},d=(w,E)=>{const R={...e.query.query,limit:E,offset:w*E};e.query.update(R)},[c,f,p]=S.useMemo(()=>{const w=e.query.query.limit,E=Math.floor((e.query.query.offset||0)/e.query.query.limit),R=Math.ceil(n.total/e.query.query.limit);return[w,E,R]},[e.query.query.limit,e.query.query.offset,n.total]);S.useEffect(()=>(n.total==0&&s(e.query.query),e.query.subscribe(s)),[e.query]);const v=S.useMemo(()=>Object.keys(o).filter(w=>o[w]).map(w=>e.normalizeRowId(w)),[o]);let g,y;Pt(e.actions)&&(g=i.jsx(Nt,{actions:e.actions,reloadData:()=>s(e.query.query),selectedRowKeys:v}));const x=((k=e.pagination)==null?void 0:k.positions)||At;if(x.size>0){const w=i.jsx(Ft,{total:p,pageIndex:f,pageSize:c,onUpdatePagination:d,allowPageSizeChange:(j=e.pagination)==null?void 0:j.showSizeChanger});x.has("topRight")&&(g!==void 0?g=i.jsxs(u.Group,{justify:"space-between",gap:"sm",children:[g,w]}):g=i.jsx(u.Flex,{justify:"flex-end",children:w})),(x.has("bottomRight")||x.has("bottomLeft")||x.has("bottomCenter"))&&(x.has("bottomLeft")?y=i.jsxs(u.Flex,{justify:"space-between",align:"center",children:[w,i.jsxs(u.Text,{size:"sm",c:"dimmed",children:["Showing ",f*c+1," to"," ",Math.min((f+1)*c,n.total)," of ",n.total," ","records"]})]}):y=i.jsxs(u.Flex,{justify:"space-between",align:"center",children:[i.jsxs(u.Text,{size:"sm",c:"dimmed",children:["Showing ",f*c+1," to"," ",Math.min((f+1)*c,n.total)," of ",n.total," ","records"]}),w]}))}const C=S.useMemo(()=>i.jsx(Qr,{data:n,loading:a,columns:e.columns,getRowId:e.getRowId,selectedRowKeys:o,setSelectedRowKeys:l,hasTopSection:g!==void 0,hasBottomSection:y!==void 0}),[n,a,e.columns,e.getRowId,o,l,g!==void 0,y!==void 0]);return g===void 0||y===void 0?C:i.jsxs("div",{children:[g!==void 0&&i.jsx(u.Paper,{withBorder:!0,p:"xs",style:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottom:"none"},children:g}),C,y!==void 0&&i.jsx(u.Paper,{withBorder:!0,p:"xs",style:{borderTopLeftRadius:0,borderTopRightRadius:0,borderTop:"none"},children:y})]})},Qr=e=>{const n=S.useMemo(()=>{const a=[{id:"selection",header:({table:r})=>i.jsx(u.Checkbox,{checked:r.getIsAllRowsSelected(),indeterminate:r.getIsSomeRowsSelected(),onChange:r.getToggleAllRowsSelectedHandler()}),cell:({row:r})=>i.jsx(u.Checkbox,{checked:r.getIsSelected(),disabled:!r.getCanSelect(),onChange:r.getToggleSelectedHandler()})}];return e.columns.forEach(r=>{a.push({id:r.key,header:r.title,accessorFn:r.render,cell:({row:o})=>r.render(o.original)})}),a},[e.columns]),t=Z.useReactTable({data:e.data.records,columns:n,getCoreRowModel:Z.getCoreRowModel(),getRowId:a=>e.getRowId(a).toString(),state:{rowSelection:e.selectedRowKeys},onRowSelectionChange:e.setSelectedRowKeys,manualPagination:!0});return i.jsx(Lt,{table:t,selectedRowKeys:e.selectedRowKeys,bordered:!0,hasTopSection:e.hasTopSection,hasBottomSection:e.hasBottomSection})};function $e(e,n,t,{title:a,nestedKey:r,component:o}={}){let l;if(o!==void 0)l=o;else if(K.isObjectProperty(t))t.cardinality==="1:N"||t.cardinality==="N:N"?l=de:l=ue;else{if(U[t.datatype]===void 0)throw new Error(`No display component found for datatype ${t.datatype}`);l=U[t.datatype]}const s={key:t.name,title:a||i.jsx(A,{value:t.label}),accessorFn:d=>d[t.tsName],render:d=>{const c=d[t.tsName];return i.jsx(l,{db:e,property:t,value:c,entityRoutes:n})}};return r!==void 0&&(s.accessorFn=d=>d[r][t.tsName],s.render=d=>{const c=d[r][t.tsName];return i.jsx(l,{db:e,property:t,value:c,entityRoutes:n})}),s}function ea(e,n,t,a,{title:r,nestedKey:o,component:l}={}){let s;if(l!==void 0)s=l;else if(K.isObjectProperty(a))a.cardinality==="1:N"||a.cardinality==="N:N"?s=de:s=ue;else{if(U[a.datatype]===void 0)throw new Error(`No display component found for datatype ${a.datatype}`);s=U[a.datatype]}const d={key:t+"."+a.name,title:r||i.jsx(A,{value:a.label}),accessorFn:c=>c[t.tsName][a.tsName],render:c=>{const f=c[t.tsName][a.tsName];return i.jsx(s,{db:e,property:a,value:f,entityRoutes:n})}};return o!==void 0&&(d.accessorFn=c=>c[o][t.tsName][a.tsName],d.render=c=>{const f=c[o][t.tsName][a.tsName];return i.jsx(s,{db:e,property:a,value:f,entityRoutes:n})}),d}function ta(e,n,t,a,r={}){return a.map(o=>ze(o)?o:$e(e,t,n.publicProperties[o],r))}function na(e,n,t,a=[],r={}){return a.map(o=>ze(o)?o:$e(e,t,n.publicProperties[o],r))}function ze(e){return typeof e=="object"&&"key"in e&&"title"in e}const ra=new Set(["topRight","bottomRight"]),aa=e=>{var f,p;const[n,t]=S.useState({}),a=S.useMemo(()=>{const v=[{id:"selection",header:({table:g})=>i.jsx(u.Checkbox,{checked:g.getIsAllRowsSelected(),indeterminate:g.getIsSomeRowsSelected(),onChange:g.getToggleAllRowsSelectedHandler()}),cell:({row:g})=>i.jsx(u.Checkbox,{checked:g.getIsSelected(),disabled:!g.getCanSelect(),onChange:g.getToggleSelectedHandler()})}];return e.columns.forEach(g=>{v.push({id:g.key,header:g.title,accessorFn:g.render,cell:({row:y})=>g.render(y.original)})}),v},[e.columns]),r=Z.useReactTable({data:e.data,columns:a,getCoreRowModel:Z.getCoreRowModel(),getPaginationRowModel:Z.getPaginationRowModel(),state:{rowSelection:n},onRowSelectionChange:t}),o=S.useMemo(()=>Object.keys(n).filter(v=>n[v]).map(Number),[n]);let l,s;Pt(e.actions)&&(l=i.jsx(Nt,{actions:e.actions,selectedRowKeys:o}));const d=((f=e.pagination)==null?void 0:f.positions)||ra;if(d.size>0){const v=r.getState().pagination,g=i.jsx(Ft,{total:r.getPageCount(),pageIndex:v.pageIndex,pageSize:v.pageSize,onUpdatePagination:(y,x)=>r.setPagination({pageIndex:y,pageSize:x}),allowPageSizeChange:(p=e.pagination)==null?void 0:p.showSizeChanger});d.has("topRight")&&(l!==void 0?l=i.jsxs(u.Group,{justify:"space-between",gap:"sm",children:[l,g]}):l=i.jsx(u.Flex,{justify:"flex-end",children:g})),(d.has("bottomRight")||d.has("bottomLeft")||d.has("bottomCenter"))&&(d.has("bottomLeft")?s=i.jsxs(u.Flex,{justify:"space-between",align:"center",children:[g,i.jsxs(u.Text,{size:"sm",c:"dimmed",children:["Showing ",v.pageIndex*v.pageSize+1," to"," ",Math.min((v.pageIndex+1)*v.pageSize,e.data.length)," ","of ",e.data.length," records"]})]}):s=i.jsxs(u.Flex,{justify:"space-between",align:"center",children:[i.jsxs(u.Text,{size:"sm",c:"dimmed",children:["Showing ",v.pageIndex*v.pageSize+1," to"," ",Math.min((v.pageIndex+1)*v.pageSize,e.data.length)," ","of ",e.data.length," records"]}),g]}))}const c=i.jsx(Lt,{selectedRowKeys:n,table:r,bordered:!0,hasTopSection:l!==void 0,hasBottomSection:s!==void 0});return l===void 0&&s===void 0?c:i.jsxs("div",{children:[l!==void 0&&i.jsx(u.Paper,{withBorder:!0,p:"xs",style:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottom:"none"},children:l}),c,s!==void 0&&i.jsx(u.Paper,{withBorder:!0,p:"xs",style:{borderTopLeftRadius:0,borderTopRightRadius:0,borderTop:"none"},children:s})]})},Ot=W.observer(({store:e,record:n,property:t,DisplayComponent:a,entityRoutes:r})=>{const o=n[t.tsName];return i.jsxs("div",{children:[i.jsx(u.Text,{size:"sm",fw:550,children:i.jsx(A,{value:t.label})}),i.jsx(a,{db:e.db,entityRoutes:r,property:t,value:o})]})}),oa=W.observer(({store:e,record:n,properties:t,DisplayComponent:a,entityRoutes:r})=>{const o=t[t.length-1],l=t.reduce((s,d)=>{if(s!=null)return s[d.tsName]},n);return i.jsxs("div",{children:[i.jsx(u.Text,{size:"sm",fw:550,children:i.jsx(A,{value:o.label})}),l!==void 0&&i.jsx(a,{db:e.db,property:o,value:l,entityRoutes:r})]})}),ia=12,Dt=e=>{const n=e.schema,t=S.useMemo(()=>e.fieldGroups.map((a,r)=>la(n,e.store,e.record,r,a,e.entityRoutes)),[n,e.store,e.record,e.fieldGroups]);return i.jsx(u.Stack,{gap:"sm",className:e.className,style:e.styles,children:t})};function la(e,n,t,a,r,o){const l=r.fields,s=[];for(let d=0;d<l.length;d++){const c=ia/l[d].length;if(!Number.isInteger(c))throw new Error(`Span must be an integer, but got ${c} for row ${d}`);for(let f=0;f<l[d].length;f++){const p=l[d][f];let v;if(typeof p=="function")v=p(n,t);else if(typeof p=="object"&&"prop"in p){const g=e.allProperties[p.prop],y=p.display;v=i.jsx(Ot,{store:n,record:t,property:g,DisplayComponent:y,entityRoutes:o})}else{const g=e.allProperties[p];let y;if(K.isObjectProperty(g))y=g.cardinality==="N:N"||g.cardinality==="1:N"?de:ue;else{if(U[g.datatype]===void 0)throw new Error(`No display component found for datatype ${g.datatype}`);y=U[g.datatype]}v=i.jsx(Ot,{store:n,record:t,property:g,DisplayComponent:y,entityRoutes:o})}s.push(i.jsx(u.Grid.Col,{span:c,children:v},`${d}-${f}`))}}return i.jsx(u.Grid,{gutter:"sm",children:s},a)}function sa(e,n,t){const a=e[e.length-1];let r;if(t!==void 0)r=t;else if(K.isObjectProperty(a))r=a.cardinality==="N:N"||a.cardinality==="1:N"?de:ue;else{if(U[a.datatype]===void 0)throw new Error(`No display component found for datatype ${a.datatype}`);r=U[a.datatype]}return(o,l)=>i.jsx(oa,{store:o,record:l,properties:e,DisplayComponent:r,entityRoutes:n})}const ua=e=>i.jsxs(u.Tabs,{defaultValue:e.fieldTabs[0].tabName,children:[i.jsx(u.Tabs.List,{children:e.fieldTabs.map((n,t)=>i.jsx(u.Tabs.Tab,{value:n.tabName,children:n.tabName},t))}),e.fieldTabs.map((n,t)=>i.jsx(u.Tabs.Panel,{value:n.tabName,pt:"sm",children:i.jsx(Dt,{schema:e.schema,store:e.store,record:e.record,fieldGroups:n.fieldGroups,styles:e.tabStyles,className:e.tabClassName,entityRoutes:e.entityRoutes})},t))]});b.CountryFlagComponent=fe,b.DEFAULT_PAGINATION_POSITIONS=At,b.DataType2Component=_e,b.DataType2DisplayComponent=U,b.DateDisplay=wt,b.DateTimeDisplay=bt,b.DateTimeHideTimeDisplay=Er,b.EmojiCountryFlag=Je,b.FormItem=Tt,b.FormItemLabel=kt,b.LanguageSelector=Xt,b.Loading=pr,b.LoadingInline=xr,b.LocaleContext=ee,b.LocaleProvider=Yt,b.MenuTrie=xt,b.MultiForeignKeyDisplay=de,b.MultiLingualString=A,b.NotAuthorized=vr,b.NotFound=mr,b.NotFoundInline=Fe,b.NotFoundSubPage=gr,b.OrderedUniqueList=Sr,b.Permission=pt,b.SVGCountryFlag=Ye,b.SeraEmbeddedTable=aa,b.SeraForm=Ur,b.SeraTable=Zr,b.SeraVerticalMenu=Cr,b.SeraView=Dt,b.SeraViewTab=ua,b.SingleForeignKeyDisplay=ue,b.Trie=Ae,b.TrieNode=Me,b.buildMenuItemIndex=vt,b.countryFlags=P,b.filterAllowedItems=yt,b.groupBy=yr,b.groupByAsList=br,b.isSeraColumn=ze,b.makeEmbeddedTableColumns=na,b.makeFieldDisplay=sa,b.makeTableColumn=$e,b.makeTableColumnFromNestedProperty=ea,b.makeTableColumns=ta,b.uniqueList=wr,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}));
22
+ <%s key={someKey} {...props} />`,b,V,J,V),Lt[V+b]=!0)}if(V=null,M!==void 0&&(t(M),V=""+M),l(j)&&(t(j.key),V=""+j.key),"key"in j){M={};for(var Ue in j)Ue!=="key"&&(M[Ue]=j[Ue])}else M=j;return V&&s(M,typeof h=="function"?h.displayName||h.name||"Unknown":h),c(h,V,N,U,r(),M,qe,Be)}function C(h){typeof h=="object"&&h!==null&&h.$$typeof===u&&h._store&&(h._store.validated=1)}var f=v,u=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),F=Symbol.for("react.strict_mode"),R=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),x=Symbol.for("react.context"),P=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),re=Symbol.for("react.suspense_list"),pe=Symbol.for("react.memo"),ie=Symbol.for("react.lazy"),ze=Symbol.for("react.activity"),Ge=Symbol.for("react.client.reference"),X=f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,bt=Object.prototype.hasOwnProperty,Io=Array.isArray,He=console.createTask?console.createTask:function(){return null};f={react_stack_bottom_frame:function(h){return h()}};var Vt,At={},Dt=f.react_stack_bottom_frame.bind(f,i)(),kt=He(n(i)),Lt={};Q.Fragment=S,Q.jsx=function(h,j,M,b,U){var N=1e4>X.recentlyCreatedOwnerStacks++;return m(h,j,M,!1,b,U,N?Error("react-stack-top-frame"):Dt,N?He(n(h)):kt)},Q.jsxs=function(h,j,M,b,U){var N=1e4>X.recentlyCreatedOwnerStacks++;return m(h,j,M,!0,b,U,N?Error("react-stack-top-frame"):Dt,N?He(n(h)):kt)}})()),Q}var We;function Ht(){return We||(We=1,process.env.NODE_ENV==="production"?le.exports=zt():le.exports=Gt()),le.exports}var a=Ht();const $={UK:{svgFlag:"https://flagcdn.com/gb.svg",emojiFlag:"๐Ÿ‡ฌ๐Ÿ‡ง"},VN:{svgFlag:"https://flagcdn.com/vn.svg",emojiFlag:"๐Ÿ‡ป๐Ÿ‡ณ"},US:{svgFlag:"https://flagcdn.com/us.svg",emojiFlag:"๐Ÿ‡บ๐Ÿ‡ธ"},CA:{svgFlag:"https://flagcdn.com/ca.svg",emojiFlag:"๐Ÿ‡จ๐Ÿ‡ฆ"},BR:{svgFlag:"https://flagcdn.com/br.svg",emojiFlag:"๐Ÿ‡ง๐Ÿ‡ท"},ES:{svgFlag:"https://flagcdn.com/es.svg",emojiFlag:"๐Ÿ‡ช๐Ÿ‡ธ"},IT:{svgFlag:"https://flagcdn.com/it.svg",emojiFlag:"๐Ÿ‡ฎ๐Ÿ‡น"},NZ:{svgFlag:"https://flagcdn.com/nz.svg",emojiFlag:"๐Ÿ‡ณ๐Ÿ‡ฟ"},MX:{svgFlag:"https://flagcdn.com/mx.svg",emojiFlag:"๐Ÿ‡ฒ๐Ÿ‡ฝ"},CN:{svgFlag:"https://flagcdn.com/cn.svg",emojiFlag:"๐Ÿ‡จ๐Ÿ‡ณ"},AU:{svgFlag:"https://flagcdn.com/au.svg",emojiFlag:"๐Ÿ‡ฆ๐Ÿ‡บ"},JP:{svgFlag:"https://flagcdn.com/jp.svg",emojiFlag:"๐Ÿ‡ฏ๐Ÿ‡ต"},FR:{svgFlag:"https://flagcdn.com/fr.svg",emojiFlag:"๐Ÿ‡ซ๐Ÿ‡ท"},DE:{svgFlag:"https://flagcdn.com/de.svg",emojiFlag:"๐Ÿ‡ฉ๐Ÿ‡ช"},IN:{svgFlag:"https://flagcdn.com/in.svg",emojiFlag:"๐Ÿ‡ฎ๐Ÿ‡ณ"}},Xe=({flag:e})=>a.jsx(g.Paper,{shadow:"xs",w:20,h:14,children:a.jsx(g.Image,{src:e.svgFlag,w:20,h:14,fit:"cover"})}),Je=({flag:e})=>a.jsx(g.Text,{component:"span",style:o=>({textShadow:o.shadows.xs}),children:e.emojiFlag}),se=navigator.userAgent.includes("Windows")?Xe:Je,Y=v.createContext(new Intl.Locale("en-US")),qt=G.observer(({value:e,children:o})=>a.jsx(Y.Provider,{value:e.locale,children:o})),Bt={lang2value:{en:"Choose Language",vi:"Chแปn ngรดn ngแปฏ"}},ae={en:{name:"English",flag:$.US,locale:new Intl.Locale("en-US")},vi:{name:"Tiแบฟng Viแป‡t",flag:$.VN,locale:new Intl.Locale("vi-VN")}},Ut=({locale:e,setLocale:o})=>{const t=v.useMemo(()=>Object.entries(ae).map(([n,{flag:r,name:i,locale:l}])=>a.jsx(g.Menu.Item,{onClick:()=>o(l),leftSection:a.jsx(se,{flag:r}),rightSection:e.language===n&&a.jsx(A.IconCheck,{size:"15",color:"#2986cc",stroke:2}),children:a.jsx(g.Text,{size:"sm",children:i})},n)),[ae,e]);return a.jsxs(g.Menu,{width:170,children:[a.jsx(g.Menu.Target,{children:a.jsx(g.Button,{variant:"subtle",size:"sm",leftSection:a.jsx(se,{flag:ae[e.language].flag}),children:a.jsx(g.Text,{size:"sm",children:ae[e.language].name})})}),a.jsxs(g.Menu.Dropdown,{children:[a.jsx(g.Menu.Label,{children:a.jsx(g.Text,{size:"sm",children:Bt.lang2value[e.language]})}),t]})]})},D=({value:e})=>{const o=v.useContext(Y);return e.lang2value[o.language]||e.lang2value[e.lang]},Kt=({message:e,navigate:o})=>a.jsx(g.Container,{size:"xs",style:{height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:a.jsx(g.Alert,{color:"red",title:"Not Found",variant:"404 - Not Found",icon:a.jsx(A.IconInfoCircle,{size:12,stroke:1.5}),children:a.jsxs(g.Stack,{align:"flex-start",children:[e||"Sorry, the page you are looking for does not exist.",a.jsx(g.Button,{variant:"filled",onClick:()=>o("/"),size:"xs",children:"Back Home"})]})})}),Yt=({message:e})=>a.jsx(g.Alert,{color:"red",title:"Not Found",variant:"404 - Not Found",icon:a.jsx(A.IconInfoCircle,{size:12,stroke:1.5}),children:e||"Sorry, the page you are looking for does not exist."}),Se=({message:e})=>a.jsx(g.Text,{c:"red",size:"sm",children:e||"Not Found"}),Wt=({tip:e})=>e===void 0?a.jsx(g.Flex,{justify:"center",align:"center",children:a.jsx(g.Loader,{color:"blue",size:"md"})}):a.jsxs(g.Flex,{gap:"md",direction:"column",justify:"center",align:"center",style:{height:"100%"},children:[a.jsx(g.Loader,{color:"blue",size:"md"}),e]}),Xt=({tip:e})=>e===void 0?a.jsx(g.Loader,{color:"blue",size:"xs"}):a.jsxs(g.Flex,{gap:"md",direction:"column",justify:"center",align:"center",children:[a.jsx(g.Loader,{color:"blue",size:"xs"}),e]}),Jt=({message:e})=>a.jsx(g.Alert,{color:"red",title:"Not Found",variant:"403 - Not Authorized",icon:a.jsx(A.IconInfoCircle,{size:12,stroke:1.5}),children:e||"Sorry, you are not authorized to access this page."});function Zt(e,o){return e.reduce((t,n)=>{const r=o(n);return t[r]||(t[r]=[]),t[r].push(n),t},{})}function Qt(e,o){const t=[];let n;return e.reduce((r,i)=>{const l=o(i);return l===void 0?(n===void 0&&(n=t.length,t.push([])),t[n].push(i)):(r[l]===void 0&&(r[l]=t.length,t.push([])),t[r[l]].push(i)),r},{}),t}function en(e,o){const t=new Set;return e.filter(n=>{const r=o(n);return t.has(r)?!1:(t.add(r),!0)})}class tn{constructor(){K(this,"items",[]);K(this,"seen",new Set)}add(o,t){const n=t(o);this.seen.has(n)||(this.items.push(o),this.seen.add(n))}toArray(){return this.items}}class Ce{constructor(){K(this,"children",new Map);K(this,"isEndOfWord",!1);K(this,"value","")}}class ve{constructor(){K(this,"root",new Ce)}insert(o){let t=this.root;for(const n of o){let r=t.children.get(n);r===void 0&&(r=new Ce,t.children.set(n,r)),t=r}t.isEndOfWord=!0,t.value=o}findLongestPrefix(o){let t=this.root,n={match:"",remaining:o};for(let r=0;r<o.length;r++){const i=o[r];if(!t.children.has(i))break;t=t.children.get(i),t.isEndOfWord&&(n={match:t.value,remaining:o.slice(r+1)})}return n}}var ue=(e=>(e[e.Allow=0]="Allow",e[e.Denied=1]="Denied",e[e.Pending=2]="Pending",e))(ue||{});function Ze(e){const o={},t={},n={},r=(i,l=[])=>{i.forEach(s=>{const d=[...l,s.key];o[s.key]=s,t[s.key]=d,s.route!==void 0&&(n[s.key]=s.route),s.children!==void 0&&s.children.length>0&&r(s.children,d)})};return r(e),{key2item:o,key2fullpath:t,key2route:n}}function nn(e){const o=new et,t=n=>{n.forEach(r=>{if(r.route!==void 0){const i=r.route.path.getURL();o.insertRoute(i,r.key)}r.children!==void 0&&r.children.length>0&&t(r.children)})};return t(e),o}function Qe(e,o){return e.map(t=>{if(t.route!==void 0)return o(t.route.role)===ue.Allow?t:null;if(t.children!==void 0){const n=t.children.filter(r=>r.route!==void 0?o(r.route.role)===ue.Allow:!0);return n.length>0?{...t,children:n}:null}return t}).filter(t=>t!==null)}const on=e=>{const[o,t]=v.useState(new Set),[n,r]=v.useState(new Set),[i,l]=v.useState(),s=v.useMemo(()=>Qe(e.items,e.checkPermission),[e.items,e.checkPermission]),d=v.useMemo(()=>nn(e.items),[e.items]),{key2fullpath:c,key2route:m}=v.useMemo(()=>Ze(s),[s]);v.useEffect(()=>{const f=window.location.pathname,u=d.findMatchingKey(f);u!==void 0&&(r(new Set(c[u])),l(u))},[window.location.pathname,m]);const C=v.useMemo(()=>{function f(u,p){var F;const S=u.children!==void 0&&u.children.length>0;return S?a.jsxs("div",{onMouseEnter:()=>{n.has(u.key)||t(R=>{const I=new Set(R);return I.add(u.key),I})},onMouseLeave:()=>{n.has(u.key)||t(R=>{const I=new Set(R);return I.delete(u.key),I})},children:[a.jsx(g.NavLink,{active:i===u.key,label:u.label,leftSection:u.icon,styles:{label:{fontSize:"md"},root:{borderRadius:"var(--mantine-radius-sm)"}},ml:p===0?void 0:p===1?"md":`calc(var(--mantine-spacing-md) * ${p})`,w:"unset",rightSection:S?a.jsx(A.IconChevronRight,{size:12,stroke:1.5,className:"mantine-rotate-rtl"}):void 0,opened:o.has(u.key)||n.has(u.key),onClick:R=>{R.preventDefault(),r(I=>{const x=new Set(I);return I.has(u.key)?x.delete(u.key):x.add(u.key),x})}},u.key),(n.has(u.key)||o.has(u.key))&&u.children.map(R=>f(R,p+1))]},`container-${u.key}`):a.jsx(g.NavLink,{active:i===u.key,href:(F=u.route)==null?void 0:F.path.getURL(),label:u.label,leftSection:u.icon,styles:{label:{fontSize:"md"},root:{borderRadius:"var(--mantine-radius-sm)"}},ml:p===0?void 0:p===1?"md":`calc(var(--mantine-spacing-md) * ${p})`,w:"unset",onClick:R=>{R.ctrlKey||R.metaKey||(R.preventDefault(),u.route!=null&&u.route.path.path().open(e.navigate))}},u.key)}return s.map(u=>f(u,0))},[s,i,n,o,e.navigate]);return a.jsx(a.Fragment,{children:C})};class et extends ve{constructor(){super(...arguments);K(this,"pathToKey",new Map)}normalizePath(t){return t==="/"?"/":t.replace(/\/$/,"")}insertRoute(t,n){const r=this.normalizePath(t);this.insert(r),this.pathToKey.set(r,n)}findMatchingKey(t){const n=this.normalizePath(t),r=this.findLongestPrefix(n);if(r.match&&this.pathToKey.has(r.match)&&(n===r.match||r.remaining.startsWith("/")||r.remaining===""))return this.pathToKey.get(r.match)}}const de=({value:e})=>a.jsx(g.Text,{size:"sm",children:e});function we(e,o){const t=o.getDate().toString().padStart(2,"0"),n=(o.getMonth()+1).toString().padStart(2,"0"),r=o.getFullYear();return e.baseName==="en-US"?`${n}/${t}/${r}`:e.baseName==="vi-VN"?`${t}/${n}/${r}`:`${n}/${t}/${r}`}const tt=({value:e})=>{const o=v.useContext(Y),t=v.useMemo(()=>{const n=e.getHours().toString().padStart(2,"0"),r=e.getMinutes().toString().padStart(2,"0"),i=e.getSeconds().toString().padStart(2,"0");return we(o,e)+`${n}:${r}:${i}`},[o,e]);return a.jsx(g.Text,{size:"sm",children:t})},nt=({value:e})=>{const o=v.useContext(Y),t=v.useMemo(()=>we(o,e),[o,e]);return a.jsx(g.Text,{size:"sm",children:t})},rn=({value:e})=>{const o=v.useContext(Y),[t,n]=v.useMemo(()=>{const r=we(o,e),i=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0"),s=e.getSeconds().toString().padStart(2,"0");return[r,`${i}:${l}:${s}`]},[o,e]);return a.jsx(g.Text,{size:"sm",title:n,children:t})},ln={yes:{lang2value:{en:"Yes",vi:"Cรณ"},lang:"en"},no:{lang2value:{en:"No",vi:"Khรดng"},lang:"en"}},sn=({value:e})=>a.jsx(g.Checkbox,{checked:e,label:a.jsx(D,{value:ln[e?"yes":"no"]}),readOnly:!0}),an=({nestedProperty:e,property:o,value:t})=>{const n=e||o;if(H.isObjectProperty(n)||n.enumType===void 0)throw new Error("Invalid usage of EnumDisplay. Expect a property of type enum");return a.jsx(g.Text,{size:"sm",children:a.jsx(D,{value:n.enumType.label[t]})})},xe=v.createContext({link:()=>null,entityRoutes:{}}),un=({link:e,entityRoutes:o,children:t})=>a.jsx(xe.Provider,{value:{link:e,entityRoutes:o},children:t});function ot(e,o,t,n){const r=e.getByName(o.targetClass),i=n[o.targetClass];v.useEffect(()=>{r.fetchByIds(t)},[t]);const l={};for(const s of t)l[s]=r.get(s);return[l,i.view]}const ee=G.observer(({db:e,property:o,value:t})=>{const{link:n,entityRoutes:r}=v.useContext(xe),i=v.useMemo(()=>[t],[t]),[l,s]=ot(e,o,i,r),d=l[t];return d===void 0?a.jsx(g.Text,{size:"sm",children:t}):d===null?a.jsx(Se,{}):s===void 0?a.jsx(g.Text,{size:"sm",children:d.name}):a.jsx(n,{path:s,openInNewPage:!1,urlArgs:{id:d.id},children:d.name})}),te=G.observer(({db:e,property:o,value:t})=>{const{link:n,entityRoutes:r}=v.useContext(xe),[i,l]=ot(e,o,t,r);return a.jsx(g.Group,{gap:"xs",children:t.map((s,d)=>{const c=i[s];return c===void 0?a.jsx(g.Text,{size:"sm",children:t},s):c===null?a.jsx(Se,{},s):l===void 0?a.jsx(g.Text,{size:"sm",children:c.name},d):a.jsx(n,{path:l,openInNewPage:!1,urlArgs:{id:c.id},children:c.name},d)})})}),O={string:de,integer:de,float:de,boolean:sn,"string[]":de,enum:an,datetime:tt,date:nt},dn=({property:e,value:o,onChange:t})=>a.jsx(g.Input,{id:e.name,type:"checkbox",checked:o,onChange:n=>{const r=n.target.checked;t(r)}}),rt=({property:e,value:o,onChange:t})=>a.jsx(g.Input,{id:e.name,type:"number",value:o,onChange:n=>{const r=n.target.value;t(r===""?void 0:Number(r))}}),gn={lang2value:{en:"The leading zero is not necessary in international phone number format. For example, if your phone number is 0123456789, you should enter it as 123-456-789.",vi:"Sแป‘ 0 ฤ‘แบงu tiรชn khรดng cแบงn thiแบฟt trong ฤ‘แป‹nh dแบกng ฤ‘iแป‡n thoแบกi quแป‘c tแบฟ. Vรญ dแปฅ, nแบฟu sแป‘ ฤ‘iแป‡n thoแบกi cแปงa bแบกn lร  0123456789, bแบกn nรชn nhแบญp nรณ lร  123-456-789."},lang:"en"},cn={lang2value:{en:"No valid country code found.",vi:"Khรดng tรฌm thแบฅy mรฃ quแป‘c gia hแปฃp lแป‡. "},lang:"en"},W={84:{name:"Vietnam",flags:[$.VN]},1:{name:"US, Canada",flags:[$.US,$.CA]},61:{name:"Australia",flags:[$.AU]},81:{name:"Japan",flags:[$.JP]},44:{name:"UK",flags:[$.UK]},33:{name:"France",flags:[$.FR]},49:{name:"Germany",flags:[$.DE]},91:{name:"India",flags:[$.IN]},55:{name:"Brazil",flags:[$.BR]},34:{name:"Spain",flags:[$.ES]},39:{name:"Italy",flags:[$.IT]},64:{name:"New Zealand",flags:[$.NZ]},52:{name:"Mexico",flags:[$.MX]},86:{name:"China",flags:[$.CN]}},fn=(e,o)=>{if(e==="")return{match:"84",remaining:""};const t=e.replace(/[^\d]/g,""),n=o.findLongestPrefix(t);if(n.match==="")throw new Error(`No valid country code found for phone number: ${e}`);return n},it=({value:e})=>{const o=W[e];if(o!==void 0)return a.jsxs(g.Group,{gap:"sm",wrap:"nowrap",align:"center",children:[a.jsxs(g.Text,{size:"sm",children:["+",e]}),a.jsx(g.Group,{gap:4,wrap:"nowrap",children:o.flags.map((t,n)=>a.jsx(se,{flag:t},n))})]})},mn=({value:e,onChange:o,error:t,id:n})=>{const[r,i]=v.useState(""),[l,s]=v.useState(!1),[d,c]=v.useState(""),[m,C]=v.useState(!1),f=v.useMemo(()=>{const x=new ve;return Object.keys(W).forEach(P=>{x.insert(P)}),x},[W]),{rawInput:u}=v.useMemo(()=>{try{const{match:x,remaining:P}=fn(e,f);return c(x),C(!1),{rawInput:P}}catch{return C(!0),c(""),{rawInput:e}}},[e]),p=g.useCombobox({onDropdownClose:()=>{p.resetSelectedOption(),i("")},onDropdownOpen:()=>{p.updateSelectedOptionIndex("active")}}),S=v.useMemo(()=>Object.keys(W),[W]),F=(x,P)=>{const E=x.replace(/[^\d]/g,"");return E.length===0?`+${P}`:E.startsWith("0")?(s(!0),`+${P}${E}`):(s(!1),`+${P}${E}`)},R=v.useMemo(()=>S.filter(x=>W[x].name.toLowerCase().includes(r.toLowerCase())||x.includes(r)),[r,S]),I=v.useMemo(()=>R.map((x,P)=>a.jsx(g.Combobox.Option,{value:x,children:a.jsx(it,{value:x})},P)),[R]);return a.jsxs("div",{children:[a.jsx(g.Grid,{gutter:"xs",children:a.jsx(g.Grid.Col,{children:a.jsxs(g.Group,{gap:5,children:[a.jsxs(g.Combobox,{store:p,position:"top-start",onOptionSubmit:x=>{i(""),p.closeDropdown(),o({target:{value:F(u,x)}})},children:[a.jsx(g.Combobox.Target,{children:a.jsx(g.InputBase,{component:"button",type:"button",pointer:!0,rightSection:a.jsx(g.Combobox.Chevron,{}),onClick:()=>p.toggleDropdown(),rightSectionPointerEvents:"none",w:110,children:a.jsx(it,{value:d})})}),a.jsxs(g.Combobox.Dropdown,{children:[a.jsx(g.Combobox.Search,{leftSection:a.jsx(A.IconSearch,{size:14,stroke:1.5}),placeholder:".....",value:r,onChange:x=>i(x.currentTarget.value)}),a.jsx(g.Combobox.Options,{children:I.length>0?I:a.jsx(g.Combobox.Empty,{children:a.jsx(g.Text,{size:"sm",children:"Nothing found"})})})]})]}),d===""?a.jsx(g.Input,{id:n,value:u,type:"phone_number",onChange:x=>{o({target:{value:x.target.value}})},error:t,flex:1}):a.jsx(g.Input,{id:n,value:u,type:"phone_number",onAccept:x=>{const P=x.replace(/[^\d]/g,"");o({target:{value:F(P,d)}})},component:Nt.IMaskInput,mask:"000-000-0000",error:t,flex:1})]})})}),(l||m||t&&typeof t=="string")&&a.jsx(g.Grid,{gutter:"xs",children:a.jsx(g.Grid.Col,{children:a.jsx(g.Input.Error,{children:l?a.jsx(D,{value:gn}):m?a.jsx(D,{value:cn}):t})})})]})},Re=({property:e,error:o,value:t,onChange:n})=>{const[r,i]=v.useMemo(()=>e.constraints.includes("password")?["password",g.PasswordInput]:e.constraints.includes("phone_number")?["phone_number",mn]:[e.constraints.includes("email")?"email":e.constraints.includes("url")?"url":"text",g.Input],[e.constraints]);return a.jsx(i,{id:e.name,value:t,type:r,onChange:l=>n(l.target.value),error:o})},ye={integer:rt,float:rt,string:Re,boolean:dn,"string[]":Re,enum:Re};function pn(e,o){const[t,n]=v.useState(""),[r,i]=v.useState([]);return v.useEffect(()=>{e.getByName(o.targetClass).fetch({limit:100,offset:0}).then(s=>i(s.records))},[o.name]),{data:r,query:t,setQuery:s=>{n(s);const d=e.getByName(o.targetClass);i(d.filter(c=>c.name.toLowerCase().includes(s.toLowerCase())))},table:e.getByName(o.targetClass)}}const hn=e=>e.name,Sn=e=>a.jsx(g.Text,{size:"sm",children:e.name}),Cn=G.observer(e=>a.jsx("h1",{children:"SingleForeignKey"})),vn=G.observer(({db:e,property:o,value:t,onChange:n})=>{const{table:r,data:i,query:l,setQuery:s}=pn(e,o);return a.jsxs(g.Stack,{gap:"sm",children:[a.jsx(wn,{name:o.name,query:l,setQuery:s,data:i,onSelect:d=>{t.includes(d)||n([...t,d])},renderOption:hn,isIdInteger:o.datatype==="integer"}),a.jsx(xn,{items:t.map(d=>r.get(d)),onDelete:d=>{n(t.filter(c=>c!==d.id))},render:Sn})]})}),wn=({name:e,data:o,onSelect:t,renderOption:n,isIdInteger:r,query:i,setQuery:l})=>{const s=g.useCombobox({onDropdownClose:()=>s.resetSelectedOption()}),d=v.useMemo(()=>o.map(c=>a.jsx(g.Combobox.Option,{value:c.id.toString(),children:n(c)},c.id)),[o]);return a.jsxs(g.Combobox,{store:s,onOptionSubmit:c=>{t(r?parseInt(c):c),l(""),s.closeDropdown()},offset:0,shadow:"sm",children:[a.jsx(g.Combobox.Target,{children:a.jsx(g.Input,{id:e,pointer:!0,rightSection:a.jsx(A.IconSearch,{size:16,stroke:1.5}),rightSectionPointerEvents:"none",onClick:()=>s.toggleDropdown(),placeholder:"Type to search...",value:i,onChange:c=>{l(c.currentTarget.value)}})}),a.jsx(g.Combobox.Dropdown,{children:a.jsx(g.Combobox.Options,{children:d.length===0?a.jsx(g.Combobox.Empty,{children:"Nothing found"}):d})})]})},xn=({items:e,onDelete:o,render:t})=>{const n=v.useMemo(()=>{const r=[];for(let i=0;i<e.length;i++){const l=e[i];r.push(a.jsxs(g.Group,{justify:"space-between",p:"sm",children:[t(l),a.jsx(g.CloseButton,{size:"sm",onClick:()=>o(l)})]},i)),i<e.length-1&&r.push(a.jsx(g.Divider,{},`divider-${i}`))}return r},[e]);if(n.length!==0)return a.jsx(g.Paper,{bd:"1px solid #ddd",children:n})},lt={requiredLabelLeft:"_requiredLabelLeft_l5p83_1",requiredLabelRight:"_requiredLabelRight_l5p83_11"},st=({label:e,name:o,required:t=!1,tooltip:n,style:r,align:i="left"})=>{const l=t?i==="left"?lt.requiredLabelRight:lt.requiredLabelLeft:"";return a.jsx(g.Flex,{align:"center",h:36,children:a.jsx("label",{htmlFor:o,style:r,children:a.jsxs(g.Group,{gap:4,children:[a.jsx(g.Text,{size:"sm",className:l,children:e}),n!==void 0&&a.jsx(g.Tooltip,{label:n,withArrow:!0,children:a.jsx(A.IconHelpOctagonFilled,{size:16,stroke:1.5,style:{color:"var(--mantine-color-dimmed)"}})})]})})})},Rn={type:"vertical",helpAlwaysVisible:!1},at=G.observer(({store:e,record:o,property:t,layout:n=Rn,InputComponent:r,validator:i})=>{const[l,s]=v.useState(void 0),d=o[t.tsName],c=C=>{var u;if(H.isDraftRecord(o))o[t.updateFuncName](C);else{const p=o.toDraft();p[t.updateFuncName](C),e.setDraft(p)}const f=i(C);f.isValid?s(void 0):s((u=f.errorMessage)==null?void 0:u.t({args:{name:t.label}}))};if(yn(n))return a.jsxs(g.Stack,{gap:5,children:[a.jsxs(g.Grid,{gutter:"sm",children:[a.jsx(g.Grid.Col,{span:n.labelCol,style:{display:"flex",justifyContent:n.align||"left"},children:a.jsx(st,{label:a.jsx(D,{value:t.label}),name:t.name,required:t.isRequired,tooltip:t.description!==void 0?a.jsx(D,{value:t.description}):void 0,align:n.align})}),a.jsx(g.Grid.Col,{span:n.itemCol,children:a.jsx(r,{db:e.db,property:t,value:d,error:l!==void 0,onChange:c})})]}),l!==void 0&&a.jsxs(g.Grid,{gutter:"sm",children:[a.jsx(g.Grid.Col,{span:n.labelCol}),a.jsx(g.Grid.Col,{span:n.itemCol,children:a.jsx(g.Input.Error,{children:l})})]})]});let m=a.jsx(D,{value:t.label});return!n.helpAlwaysVisible&&t.description!==void 0&&(m=a.jsxs(g.Group,{gap:4,style:{display:"inline-flex"},children:[m,a.jsx(g.Tooltip,{label:a.jsx(D,{value:t.description}),withArrow:!0,children:a.jsx(A.IconHelpOctagonFilled,{size:16,stroke:1.5,style:{color:"var(--mantine-color-dimmed)"}})})]})),a.jsx(g.Input.Wrapper,{label:m,description:n.helpAlwaysVisible&&t.description!==void 0?a.jsx(D,{value:t.description}):void 0,required:t.isRequired,children:a.jsx(r,{db:e.db,property:t,value:d,error:l,onChange:c})})});function yn(e){return e.type==="horizontal"}const ut=12,_n=e=>{const o=e.schema,t=v.useMemo(()=>{const n=Math.max(...e.fieldGroups.map(r=>Math.max(...r.fields.map(i=>i.length))));return e.fieldGroups.map((r,i)=>Fn(o,e.store,e.record,i,r,n,e.layout))},[o,e.store,e.record,e.fieldGroups,e.layout]);return a.jsx("form",{onSubmit:e.onSubmit===void 0?void 0:n=>{n.preventDefault(),e.onSubmit!==void 0&&H.isDraftRecord(e.record)&&e.onSubmit(e.record)},children:a.jsxs(g.Stack,{gap:"sm",className:e.className,style:e.styles,children:[t,a.jsx(g.Group,{gap:"sm",children:e.actions.map((n,r)=>a.jsx(g.Button,{variant:n.variant,onClick:()=>{n.onClick!==void 0&&n.onClick()},disabled:n.disabled,children:n.label},r))})]})})};function Fn(e,o,t,n,r,i,l){const s=r.fields,d=[];for(let m=0;m<s.length;m++){const C=ut/s[m].length;if(!Number.isInteger(C))throw new Error(`Span must be an integer, but got ${C} for row ${m}`);let f;l!==void 0&&typeof l=="object"&&l.type==="horizontal"?f={...l,labelCol:Math.floor(l.labelCol*s[m].length/i),itemCol:ut-Math.floor(l.labelCol*s[m].length/i)}:f=l;for(let u=0;u<s[m].length;u++){const p=s[m][u],S=e.allProperties[p];let F;if(H.isObjectProperty(S))F=S.cardinality==="N:N"||S.cardinality==="1:N"?vn:Cn;else{if(ye[S.datatype]===void 0)throw new Error(`No input component found for datatype ${S.datatype}`);F=ye[S.datatype]}d.push(a.jsx(g.Grid.Col,{span:C,children:a.jsx(at,{store:o,record:t,property:S,layout:f,InputComponent:F,validator:e.validators[p]})},`${m}-${u}`))}}const c=a.jsx(g.Grid,{gutter:"sm",children:d},n);return r.name!==void 0?a.jsx(g.Fieldset,{legend:r.name,children:c},n):c}/**
23
+ * table-core
24
+ *
25
+ * Copyright (c) TanStack
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE.md file in the root directory of this source tree.
29
+ *
30
+ * @license MIT
31
+ */function q(e,o){return typeof e=="function"?e(o):e}function k(e,o){return t=>{o.setState(n=>({...n,[e]:q(t,n[e])}))}}function ge(e){return e instanceof Function}function jn(e){return Array.isArray(e)&&e.every(o=>typeof o=="number")}function In(e,o){const t=[],n=r=>{r.forEach(i=>{t.push(i);const l=o(i);l!=null&&l.length&&n(l)})};return n(e),t}function y(e,o,t){let n=[],r;return i=>{let l;t.key&&t.debug&&(l=Date.now());const s=e(i);if(!(s.length!==n.length||s.some((m,C)=>n[C]!==m)))return r;n=s;let c;if(t.key&&t.debug&&(c=Date.now()),r=o(...s),t==null||t.onChange==null||t.onChange(r),t.key&&t.debug&&t!=null&&t.debug()){const m=Math.round((Date.now()-l)*100)/100,C=Math.round((Date.now()-c)*100)/100,f=C/16,u=(p,S)=>{for(p=String(p);p.length<S;)p=" "+p;return p};console.info(`%cโฑ ${u(C,5)} /${u(m,5)} ms`,`
32
+ font-size: .6rem;
33
+ font-weight: bold;
34
+ color: hsl(${Math.max(0,Math.min(120-120*f,120))}deg 100% 31%);`,t==null?void 0:t.key)}return r}}function _(e,o,t,n){return{debug:()=>{var r;return(r=e==null?void 0:e.debugAll)!=null?r:e[o]},key:process.env.NODE_ENV==="development"&&t,onChange:n}}function Pn(e,o,t,n){const r=()=>{var l;return(l=i.getValue())!=null?l:e.options.renderFallbackValue},i={id:`${o.id}_${t.id}`,row:o,column:t,getValue:()=>o.getValue(n),renderValue:r,getContext:y(()=>[e,t,o,i],(l,s,d,c)=>({table:l,column:s,row:d,cell:c,getValue:c.getValue,renderValue:c.renderValue}),_(e.options,"debugCells","cell.getContext"))};return e._features.forEach(l=>{l.createCell==null||l.createCell(i,t,o,e)},{}),i}function Mn(e,o,t,n){var r,i;const s={...e._getDefaultColumnDef(),...o},d=s.accessorKey;let c=(r=(i=s.id)!=null?i:d?typeof String.prototype.replaceAll=="function"?d.replaceAll(".","_"):d.replace(/\./g,"_"):void 0)!=null?r:typeof s.header=="string"?s.header:void 0,m;if(s.accessorFn?m=s.accessorFn:d&&(d.includes(".")?m=f=>{let u=f;for(const S of d.split(".")){var p;u=(p=u)==null?void 0:p[S],process.env.NODE_ENV!=="production"&&u===void 0&&console.warn(`"${S}" in deeply nested key "${d}" returned undefined.`)}return u}:m=f=>f[s.accessorKey]),!c)throw process.env.NODE_ENV!=="production"?new Error(s.accessorFn?"Columns require an id when using an accessorFn":"Columns require an id when using a non-string header"):new Error;let C={id:`${String(c)}`,accessorFn:m,parent:n,depth:t,columnDef:s,columns:[],getFlatColumns:y(()=>[!0],()=>{var f;return[C,...(f=C.columns)==null?void 0:f.flatMap(u=>u.getFlatColumns())]},_(e.options,"debugColumns","column.getFlatColumns")),getLeafColumns:y(()=>[e._getOrderColumnsFn()],f=>{var u;if((u=C.columns)!=null&&u.length){let p=C.columns.flatMap(S=>S.getLeafColumns());return f(p)}return[C]},_(e.options,"debugColumns","column.getLeafColumns"))};for(const f of e._features)f.createColumn==null||f.createColumn(C,e);return C}const T="debugHeaders";function dt(e,o,t){var n;let i={id:(n=t.id)!=null?n:o.id,column:o,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{const l=[],s=d=>{d.subHeaders&&d.subHeaders.length&&d.subHeaders.map(s),l.push(d)};return s(i),l},getContext:()=>({table:e,header:i,column:o})};return e._features.forEach(l=>{l.createHeader==null||l.createHeader(i,e)}),i}const $n={createTable:e=>{e.getHeaderGroups=y(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>{var i,l;const s=(i=n==null?void 0:n.map(C=>t.find(f=>f.id===C)).filter(Boolean))!=null?i:[],d=(l=r==null?void 0:r.map(C=>t.find(f=>f.id===C)).filter(Boolean))!=null?l:[],c=t.filter(C=>!(n!=null&&n.includes(C.id))&&!(r!=null&&r.includes(C.id)));return ce(o,[...s,...c,...d],e)},_(e.options,T,"getHeaderGroups")),e.getCenterHeaderGroups=y(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n,r)=>(t=t.filter(i=>!(n!=null&&n.includes(i.id))&&!(r!=null&&r.includes(i.id))),ce(o,t,e,"center")),_(e.options,T,"getCenterHeaderGroups")),e.getLeftHeaderGroups=y(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(o,t,n)=>{var r;const i=(r=n==null?void 0:n.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return ce(o,i,e,"left")},_(e.options,T,"getLeftHeaderGroups")),e.getRightHeaderGroups=y(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(o,t,n)=>{var r;const i=(r=n==null?void 0:n.map(l=>t.find(s=>s.id===l)).filter(Boolean))!=null?r:[];return ce(o,i,e,"right")},_(e.options,T,"getRightHeaderGroups")),e.getFooterGroups=y(()=>[e.getHeaderGroups()],o=>[...o].reverse(),_(e.options,T,"getFooterGroups")),e.getLeftFooterGroups=y(()=>[e.getLeftHeaderGroups()],o=>[...o].reverse(),_(e.options,T,"getLeftFooterGroups")),e.getCenterFooterGroups=y(()=>[e.getCenterHeaderGroups()],o=>[...o].reverse(),_(e.options,T,"getCenterFooterGroups")),e.getRightFooterGroups=y(()=>[e.getRightHeaderGroups()],o=>[...o].reverse(),_(e.options,T,"getRightFooterGroups")),e.getFlatHeaders=y(()=>[e.getHeaderGroups()],o=>o.map(t=>t.headers).flat(),_(e.options,T,"getFlatHeaders")),e.getLeftFlatHeaders=y(()=>[e.getLeftHeaderGroups()],o=>o.map(t=>t.headers).flat(),_(e.options,T,"getLeftFlatHeaders")),e.getCenterFlatHeaders=y(()=>[e.getCenterHeaderGroups()],o=>o.map(t=>t.headers).flat(),_(e.options,T,"getCenterFlatHeaders")),e.getRightFlatHeaders=y(()=>[e.getRightHeaderGroups()],o=>o.map(t=>t.headers).flat(),_(e.options,T,"getRightFlatHeaders")),e.getCenterLeafHeaders=y(()=>[e.getCenterFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),_(e.options,T,"getCenterLeafHeaders")),e.getLeftLeafHeaders=y(()=>[e.getLeftFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),_(e.options,T,"getLeftLeafHeaders")),e.getRightLeafHeaders=y(()=>[e.getRightFlatHeaders()],o=>o.filter(t=>{var n;return!((n=t.subHeaders)!=null&&n.length)}),_(e.options,T,"getRightLeafHeaders")),e.getLeafHeaders=y(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(o,t,n)=>{var r,i,l,s,d,c;return[...(r=(i=o[0])==null?void 0:i.headers)!=null?r:[],...(l=(s=t[0])==null?void 0:s.headers)!=null?l:[],...(d=(c=n[0])==null?void 0:c.headers)!=null?d:[]].map(m=>m.getLeafHeaders()).flat()},_(e.options,T,"getLeafHeaders"))}};function ce(e,o,t,n){var r,i;let l=0;const s=function(f,u){u===void 0&&(u=1),l=Math.max(l,u),f.filter(p=>p.getIsVisible()).forEach(p=>{var S;(S=p.columns)!=null&&S.length&&s(p.columns,u+1)},0)};s(e);let d=[];const c=(f,u)=>{const p={depth:u,id:[n,`${u}`].filter(Boolean).join("_"),headers:[]},S=[];f.forEach(F=>{const R=[...S].reverse()[0],I=F.column.depth===p.depth;let x,P=!1;if(I&&F.column.parent?x=F.column.parent:(x=F.column,P=!0),R&&(R==null?void 0:R.column)===x)R.subHeaders.push(F);else{const E=dt(t,x,{id:[n,u,x.id,F==null?void 0:F.id].filter(Boolean).join("_"),isPlaceholder:P,placeholderId:P?`${S.filter(re=>re.column===x).length}`:void 0,depth:u,index:S.length});E.subHeaders.push(F),S.push(E)}p.headers.push(F),F.headerGroup=p}),d.push(p),u>0&&c(S,u-1)},m=o.map((f,u)=>dt(t,f,{depth:l,index:u}));c(m,l-1),d.reverse();const C=f=>f.filter(p=>p.column.getIsVisible()).map(p=>{let S=0,F=0,R=[0];p.subHeaders&&p.subHeaders.length?(R=[],C(p.subHeaders).forEach(x=>{let{colSpan:P,rowSpan:E}=x;S+=P,R.push(E)})):S=1;const I=Math.min(...R);return F=F+I,p.colSpan=S,p.rowSpan=F,{colSpan:S,rowSpan:F}});return C((r=(i=d[0])==null?void 0:i.headers)!=null?r:[]),d}const En=(e,o,t,n,r,i,l)=>{let s={id:o,index:n,original:t,depth:r,parentId:l,_valuesCache:{},_uniqueValuesCache:{},getValue:d=>{if(s._valuesCache.hasOwnProperty(d))return s._valuesCache[d];const c=e.getColumn(d);if(c!=null&&c.accessorFn)return s._valuesCache[d]=c.accessorFn(s.original,n),s._valuesCache[d]},getUniqueValues:d=>{if(s._uniqueValuesCache.hasOwnProperty(d))return s._uniqueValuesCache[d];const c=e.getColumn(d);if(c!=null&&c.accessorFn)return c.columnDef.getUniqueValues?(s._uniqueValuesCache[d]=c.columnDef.getUniqueValues(s.original,n),s._uniqueValuesCache[d]):(s._uniqueValuesCache[d]=[s.getValue(d)],s._uniqueValuesCache[d])},renderValue:d=>{var c;return(c=s.getValue(d))!=null?c:e.options.renderFallbackValue},subRows:[],getLeafRows:()=>In(s.subRows,d=>d.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let d=[],c=s;for(;;){const m=c.getParentRow();if(!m)break;d.push(m),c=m}return d.reverse()},getAllCells:y(()=>[e.getAllLeafColumns()],d=>d.map(c=>Pn(e,s,c,c.id)),_(e.options,"debugRows","getAllCells")),_getAllCellsByColumnId:y(()=>[s.getAllCells()],d=>d.reduce((c,m)=>(c[m.column.id]=m,c),{}),_(e.options,"debugRows","getAllCellsByColumnId"))};for(let d=0;d<e._features.length;d++){const c=e._features[d];c==null||c.createRow==null||c.createRow(s,e)}return s},Tn={createColumn:(e,o)=>{e._getFacetedRowModel=o.options.getFacetedRowModel&&o.options.getFacetedRowModel(o,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():o.getPreFilteredRowModel(),e._getFacetedUniqueValues=o.options.getFacetedUniqueValues&&o.options.getFacetedUniqueValues(o,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=o.options.getFacetedMinMaxValues&&o.options.getFacetedMinMaxValues(o,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},gt=(e,o,t)=>{var n,r;const i=t==null||(n=t.toString())==null?void 0:n.toLowerCase();return!!(!((r=e.getValue(o))==null||(r=r.toString())==null||(r=r.toLowerCase())==null)&&r.includes(i))};gt.autoRemove=e=>L(e);const ct=(e,o,t)=>{var n;return!!(!((n=e.getValue(o))==null||(n=n.toString())==null)&&n.includes(t))};ct.autoRemove=e=>L(e);const ft=(e,o,t)=>{var n;return((n=e.getValue(o))==null||(n=n.toString())==null?void 0:n.toLowerCase())===(t==null?void 0:t.toLowerCase())};ft.autoRemove=e=>L(e);const mt=(e,o,t)=>{var n;return(n=e.getValue(o))==null?void 0:n.includes(t)};mt.autoRemove=e=>L(e);const pt=(e,o,t)=>!t.some(n=>{var r;return!((r=e.getValue(o))!=null&&r.includes(n))});pt.autoRemove=e=>L(e)||!(e!=null&&e.length);const ht=(e,o,t)=>t.some(n=>{var r;return(r=e.getValue(o))==null?void 0:r.includes(n)});ht.autoRemove=e=>L(e)||!(e!=null&&e.length);const St=(e,o,t)=>e.getValue(o)===t;St.autoRemove=e=>L(e);const Ct=(e,o,t)=>e.getValue(o)==t;Ct.autoRemove=e=>L(e);const _e=(e,o,t)=>{let[n,r]=t;const i=e.getValue(o);return i>=n&&i<=r};_e.resolveFilterValue=e=>{let[o,t]=e,n=typeof o!="number"?parseFloat(o):o,r=typeof t!="number"?parseFloat(t):t,i=o===null||Number.isNaN(n)?-1/0:n,l=t===null||Number.isNaN(r)?1/0:r;if(i>l){const s=i;i=l,l=s}return[i,l]},_e.autoRemove=e=>L(e)||L(e[0])&&L(e[1]);const z={includesString:gt,includesStringSensitive:ct,equalsString:ft,arrIncludes:mt,arrIncludesAll:pt,arrIncludesSome:ht,equals:St,weakEquals:Ct,inNumberRange:_e};function L(e){return e==null||e===""}const bn={getDefaultColumnDef:()=>({filterFn:"auto"}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:k("columnFilters",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,o)=>{e.getAutoFilterFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t==null?void 0:t.getValue(e.id);return typeof n=="string"?z.includesString:typeof n=="number"?z.inNumberRange:typeof n=="boolean"||n!==null&&typeof n=="object"?z.equals:Array.isArray(n)?z.arrIncludes:z.weakEquals},e.getFilterFn=()=>{var t,n;return ge(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn==="auto"?e.getAutoFilterFn():(t=(n=o.options.filterFns)==null?void 0:n[e.columnDef.filterFn])!=null?t:z[e.columnDef.filterFn]},e.getCanFilter=()=>{var t,n,r;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((n=o.options.enableColumnFilters)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var t;return(t=o.getState().columnFilters)==null||(t=t.find(n=>n.id===e.id))==null?void 0:t.value},e.getFilterIndex=()=>{var t,n;return(t=(n=o.getState().columnFilters)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.setFilterValue=t=>{o.setColumnFilters(n=>{const r=e.getFilterFn(),i=n==null?void 0:n.find(m=>m.id===e.id),l=q(t,i?i.value:void 0);if(vt(r,l,e)){var s;return(s=n==null?void 0:n.filter(m=>m.id!==e.id))!=null?s:[]}const d={id:e.id,value:l};if(i){var c;return(c=n==null?void 0:n.map(m=>m.id===e.id?d:m))!=null?c:[]}return n!=null&&n.length?[...n,d]:[d]})}},createRow:(e,o)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=o=>{const t=e.getAllLeafColumns(),n=r=>{var i;return(i=q(o,r))==null?void 0:i.filter(l=>{const s=t.find(d=>d.id===l.id);if(s){const d=s.getFilterFn();if(vt(d,l.value,s))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(n)},e.resetColumnFilters=o=>{var t,n;e.setColumnFilters(o?[]:(t=(n=e.initialState)==null?void 0:n.columnFilters)!=null?t:[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function vt(e,o,t){return(e&&e.autoRemove?e.autoRemove(o,t):!1)||typeof o>"u"||typeof o=="string"&&!o}const Fe={sum:(e,o,t)=>t.reduce((n,r)=>{const i=r.getValue(e);return n+(typeof i=="number"?i:0)},0),min:(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}),n},max:(e,o,t)=>{let n;return t.forEach(r=>{const i=r.getValue(e);i!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}),n},extent:(e,o,t)=>{let n,r;return t.forEach(i=>{const l=i.getValue(e);l!=null&&(n===void 0?l>=l&&(n=r=l):(n>l&&(n=l),r<l&&(r=l)))}),[n,r]},mean:(e,o)=>{let t=0,n=0;if(o.forEach(r=>{let i=r.getValue(e);i!=null&&(i=+i)>=i&&(++t,n+=i)}),t)return n/t},median:(e,o)=>{if(!o.length)return;const t=o.map(i=>i.getValue(e));if(!jn(t))return;if(t.length===1)return t[0];const n=Math.floor(t.length/2),r=t.sort((i,l)=>i-l);return t.length%2!==0?r[n]:(r[n-1]+r[n])/2},unique:(e,o)=>Array.from(new Set(o.map(t=>t.getValue(e))).values()),uniqueCount:(e,o)=>new Set(o.map(t=>t.getValue(e))).size,count:(e,o)=>o.length},Vn={getDefaultColumnDef:()=>({aggregatedCell:e=>{var o,t;return(o=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?o:null},aggregationFn:"auto"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:k("grouping",e),groupedColumnMode:"reorder"}),createColumn:(e,o)=>{e.toggleGrouping=()=>{o.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(n=>n!==e.id):[...t??[],e.id])},e.getCanGroup=()=>{var t,n;return((t=e.columnDef.enableGrouping)!=null?t:!0)&&((n=o.options.enableGrouping)!=null?n:!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue)},e.getIsGrouped=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.includes(e.id)},e.getGroupedIndex=()=>{var t;return(t=o.getState().grouping)==null?void 0:t.indexOf(e.id)},e.getToggleGroupingHandler=()=>{const t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{const t=o.getCoreRowModel().flatRows[0],n=t==null?void 0:t.getValue(e.id);if(typeof n=="number")return Fe.sum;if(Object.prototype.toString.call(n)==="[object Date]")return Fe.extent},e.getAggregationFn=()=>{var t,n;if(!e)throw new Error;return ge(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn==="auto"?e.getAutoAggregationFn():(t=(n=o.options.aggregationFns)==null?void 0:n[e.columnDef.aggregationFn])!=null?t:Fe[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=o=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(o),e.resetGrouping=o=>{var t,n;e.setGrouping(o?[]:(t=(n=e.initialState)==null?void 0:n.grouping)!=null?t:[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,o)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];const n=o.getColumn(t);return n!=null&&n.columnDef.getGroupingValue?(e._groupingValuesCache[t]=n.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},e._groupingValuesCache={}},createCell:(e,o,t,n)=>{e.getIsGrouped=()=>o.getIsGrouped()&&o.id===t.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&o.getIsGrouped(),e.getIsAggregated=()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=t.subRows)!=null&&r.length)}}};function An(e,o,t){if(!(o!=null&&o.length)||!t)return e;const n=e.filter(i=>!o.includes(i.id));return t==="remove"?n:[...o.map(i=>e.find(l=>l.id===i)).filter(Boolean),...n]}const Dn={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:k("columnOrder",e)}),createColumn:(e,o)=>{e.getIndex=y(t=>[ne(o,t)],t=>t.findIndex(n=>n.id===e.id),_(o.options,"debugColumns","getIndex")),e.getIsFirstColumn=t=>{var n;return((n=ne(o,t)[0])==null?void 0:n.id)===e.id},e.getIsLastColumn=t=>{var n;const r=ne(o,t);return((n=r[r.length-1])==null?void 0:n.id)===e.id}},createTable:e=>{e.setColumnOrder=o=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(o),e.resetColumnOrder=o=>{var t;e.setColumnOrder(o?[]:(t=e.initialState.columnOrder)!=null?t:[])},e._getOrderColumnsFn=y(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(o,t,n)=>r=>{let i=[];if(!(o!=null&&o.length))i=r;else{const l=[...o],s=[...r];for(;s.length&&l.length;){const d=l.shift(),c=s.findIndex(m=>m.id===d);c>-1&&i.push(s.splice(c,1)[0])}i=[...i,...s]}return An(i,t,n)},_(e.options,"debugTable","_getOrderColumnsFn"))}},je=()=>({left:[],right:[]}),kn={getInitialState:e=>({columnPinning:je(),...e}),getDefaultOptions:e=>({onColumnPinningChange:k("columnPinning",e)}),createColumn:(e,o)=>{e.pin=t=>{const n=e.getLeafColumns().map(r=>r.id).filter(Boolean);o.setColumnPinning(r=>{var i,l;if(t==="right"){var s,d;return{left:((s=r==null?void 0:r.left)!=null?s:[]).filter(C=>!(n!=null&&n.includes(C))),right:[...((d=r==null?void 0:r.right)!=null?d:[]).filter(C=>!(n!=null&&n.includes(C))),...n]}}if(t==="left"){var c,m;return{left:[...((c=r==null?void 0:r.left)!=null?c:[]).filter(C=>!(n!=null&&n.includes(C))),...n],right:((m=r==null?void 0:r.right)!=null?m:[]).filter(C=>!(n!=null&&n.includes(C)))}}return{left:((i=r==null?void 0:r.left)!=null?i:[]).filter(C=>!(n!=null&&n.includes(C))),right:((l=r==null?void 0:r.right)!=null?l:[]).filter(C=>!(n!=null&&n.includes(C)))}})},e.getCanPin=()=>e.getLeafColumns().some(n=>{var r,i,l;return((r=n.columnDef.enablePinning)!=null?r:!0)&&((i=(l=o.options.enableColumnPinning)!=null?l:o.options.enablePinning)!=null?i:!0)}),e.getIsPinned=()=>{const t=e.getLeafColumns().map(s=>s.id),{left:n,right:r}=o.getState().columnPinning,i=t.some(s=>n==null?void 0:n.includes(s)),l=t.some(s=>r==null?void 0:r.includes(s));return i?"left":l?"right":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();return r?(t=(n=o.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))!=null?t:-1:0}},createRow:(e,o)=>{e.getCenterVisibleCells=y(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left,o.getState().columnPinning.right],(t,n,r)=>{const i=[...n??[],...r??[]];return t.filter(l=>!i.includes(l.column.id))},_(o.options,"debugRows","getCenterVisibleCells")),e.getLeftVisibleCells=y(()=>[e._getAllVisibleCells(),o.getState().columnPinning.left],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"left"})),_(o.options,"debugRows","getLeftVisibleCells")),e.getRightVisibleCells=y(()=>[e._getAllVisibleCells(),o.getState().columnPinning.right],(t,n)=>(n??[]).map(i=>t.find(l=>l.column.id===i)).filter(Boolean).map(i=>({...i,position:"right"})),_(o.options,"debugRows","getRightVisibleCells"))},createTable:e=>{e.setColumnPinning=o=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(o),e.resetColumnPinning=o=>{var t,n;return e.setColumnPinning(o?je():(t=(n=e.initialState)==null?void 0:n.columnPinning)!=null?t:je())},e.getIsSomeColumnsPinned=o=>{var t;const n=e.getState().columnPinning;if(!o){var r,i;return!!((r=n.left)!=null&&r.length||(i=n.right)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e.getLeftLeafColumns=y(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),_(e.options,"debugColumns","getLeftLeafColumns")),e.getRightLeafColumns=y(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(o,t)=>(t??[]).map(n=>o.find(r=>r.id===n)).filter(Boolean),_(e.options,"debugColumns","getRightLeafColumns")),e.getCenterLeafColumns=y(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(o,t,n)=>{const r=[...t??[],...n??[]];return o.filter(i=>!r.includes(i.id))},_(e.options,"debugColumns","getCenterLeafColumns"))}};function Ln(e){return e||(typeof document<"u"?document:null)}const fe={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},Ie=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Nn={getDefaultColumnDef:()=>fe,getInitialState:e=>({columnSizing:{},columnSizingInfo:Ie(),...e}),getDefaultOptions:e=>({columnResizeMode:"onEnd",columnResizeDirection:"ltr",onColumnSizingChange:k("columnSizing",e),onColumnSizingInfoChange:k("columnSizingInfo",e)}),createColumn:(e,o)=>{e.getSize=()=>{var t,n,r;const i=o.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:fe.minSize,(n=i??e.columnDef.size)!=null?n:fe.size),(r=e.columnDef.maxSize)!=null?r:fe.maxSize)},e.getStart=y(t=>[t,ne(o,t),o.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((r,i)=>r+i.getSize(),0),_(o.options,"debugColumns","getStart")),e.getAfter=y(t=>[t,ne(o,t),o.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((r,i)=>r+i.getSize(),0),_(o.options,"debugColumns","getAfter")),e.resetSize=()=>{o.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>{var t,n;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((n=o.options.enableColumnResizing)!=null?n:!0)},e.getIsResizing=()=>o.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,o)=>{e.getSize=()=>{let t=0;const n=r=>{if(r.subHeaders.length)r.subHeaders.forEach(n);else{var i;t+=(i=r.column.getSize())!=null?i:0}};return n(e),t},e.getStart=()=>{if(e.index>0){const t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=t=>{const n=o.getColumn(e.column.id),r=n==null?void 0:n.getCanResize();return i=>{if(!n||!r||(i.persist==null||i.persist(),Pe(i)&&i.touches&&i.touches.length>1))return;const l=e.getSize(),s=e?e.getLeafHeaders().map(R=>[R.column.id,R.column.getSize()]):[[n.id,n.getSize()]],d=Pe(i)?Math.round(i.touches[0].clientX):i.clientX,c={},m=(R,I)=>{typeof I=="number"&&(o.setColumnSizingInfo(x=>{var P,E;const re=o.options.columnResizeDirection==="rtl"?-1:1,pe=(I-((P=x==null?void 0:x.startOffset)!=null?P:0))*re,ie=Math.max(pe/((E=x==null?void 0:x.startSize)!=null?E:0),-.999999);return x.columnSizingStart.forEach(ze=>{let[Ge,X]=ze;c[Ge]=Math.round(Math.max(X+X*ie,0)*100)/100}),{...x,deltaOffset:pe,deltaPercentage:ie}}),(o.options.columnResizeMode==="onChange"||R==="end")&&o.setColumnSizing(x=>({...x,...c})))},C=R=>m("move",R),f=R=>{m("end",R),o.setColumnSizingInfo(I=>({...I,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},u=Ln(t),p={moveHandler:R=>C(R.clientX),upHandler:R=>{u==null||u.removeEventListener("mousemove",p.moveHandler),u==null||u.removeEventListener("mouseup",p.upHandler),f(R.clientX)}},S={moveHandler:R=>(R.cancelable&&(R.preventDefault(),R.stopPropagation()),C(R.touches[0].clientX),!1),upHandler:R=>{var I;u==null||u.removeEventListener("touchmove",S.moveHandler),u==null||u.removeEventListener("touchend",S.upHandler),R.cancelable&&(R.preventDefault(),R.stopPropagation()),f((I=R.touches[0])==null?void 0:I.clientX)}},F=On()?{passive:!1}:!1;Pe(i)?(u==null||u.addEventListener("touchmove",S.moveHandler,F),u==null||u.addEventListener("touchend",S.upHandler,F)):(u==null||u.addEventListener("mousemove",p.moveHandler,F),u==null||u.addEventListener("mouseup",p.upHandler,F)),o.setColumnSizingInfo(R=>({...R,startOffset:d,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:n.id}))}}},createTable:e=>{e.setColumnSizing=o=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(o),e.setColumnSizingInfo=o=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(o),e.resetColumnSizing=o=>{var t;e.setColumnSizing(o?{}:(t=e.initialState.columnSizing)!=null?t:{})},e.resetHeaderSizeInfo=o=>{var t;e.setColumnSizingInfo(o?Ie():(t=e.initialState.columnSizingInfo)!=null?t:Ie())},e.getTotalSize=()=>{var o,t;return(o=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getLeftTotalSize=()=>{var o,t;return(o=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getCenterTotalSize=()=>{var o,t;return(o=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0},e.getRightTotalSize=()=>{var o,t;return(o=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((n,r)=>n+r.getSize(),0))!=null?o:0}}};let me=null;function On(){if(typeof me=="boolean")return me;let e=!1;try{const o={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener("test",t,o),window.removeEventListener("test",t)}catch{e=!1}return me=e,me}function Pe(e){return e.type==="touchstart"}const zn={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:k("columnVisibility",e)}),createColumn:(e,o)=>{e.toggleVisibility=t=>{e.getCanHide()&&o.setColumnVisibility(n=>({...n,[e.id]:t??!e.getIsVisible()}))},e.getIsVisible=()=>{var t,n;const r=e.columns;return(t=r.length?r.some(i=>i.getIsVisible()):(n=o.getState().columnVisibility)==null?void 0:n[e.id])!=null?t:!0},e.getCanHide=()=>{var t,n;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((n=o.options.enableHiding)!=null?n:!0)},e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,o)=>{e._getAllVisibleCells=y(()=>[e.getAllCells(),o.getState().columnVisibility],t=>t.filter(n=>n.column.getIsVisible()),_(o.options,"debugRows","_getAllVisibleCells")),e.getVisibleCells=y(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,n,r)=>[...t,...n,...r],_(o.options,"debugRows","getVisibleCells"))},createTable:e=>{const o=(t,n)=>y(()=>[n(),n().filter(r=>r.getIsVisible()).map(r=>r.id).join("_")],r=>r.filter(i=>i.getIsVisible==null?void 0:i.getIsVisible()),_(e.options,"debugColumns",t));e.getVisibleFlatColumns=o("getVisibleFlatColumns",()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=o("getVisibleLeafColumns",()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=o("getLeftVisibleLeafColumns",()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=o("getRightVisibleLeafColumns",()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=o("getCenterVisibleLeafColumns",()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{var n;e.setColumnVisibility(t?{}:(n=e.initialState.columnVisibility)!=null?n:{})},e.toggleAllColumnsVisible=t=>{var n;t=(n=t)!=null?n:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,i)=>({...r,[i.id]:t||!(i.getCanHide!=null&&i.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{var n;e.toggleAllColumnsVisible((n=t.target)==null?void 0:n.checked)}}};function ne(e,o){return o?o==="center"?e.getCenterVisibleLeafColumns():o==="left"?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}const Gn={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,"__global__"),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,"__global__"),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,"__global__"),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Hn={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:k("globalFilter",e),globalFilterFn:"auto",getColumnCanGlobalFilter:o=>{var t;const n=(t=e.getCoreRowModel().flatRows[0])==null||(t=t._getAllCellsByColumnId()[o.id])==null?void 0:t.getValue();return typeof n=="string"||typeof n=="number"}}),createColumn:(e,o)=>{e.getCanGlobalFilter=()=>{var t,n,r,i;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((n=o.options.enableGlobalFilter)!=null?n:!0)&&((r=o.options.enableFilters)!=null?r:!0)&&((i=o.options.getColumnCanGlobalFilter==null?void 0:o.options.getColumnCanGlobalFilter(e))!=null?i:!0)&&!!e.accessorFn}},createTable:e=>{e.getGlobalAutoFilterFn=()=>z.includesString,e.getGlobalFilterFn=()=>{var o,t;const{globalFilterFn:n}=e.options;return ge(n)?n:n==="auto"?e.getGlobalAutoFilterFn():(o=(t=e.options.filterFns)==null?void 0:t[n])!=null?o:z[n]},e.setGlobalFilter=o=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(o)},e.resetGlobalFilter=o=>{e.setGlobalFilter(o?void 0:e.initialState.globalFilter)}}},qn={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:k("expanded",e),paginateExpandedRows:!0}),createTable:e=>{let o=!1,t=!1;e._autoResetExpanded=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?n:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},e.setExpanded=n=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(n),e.toggleAllRowsExpanded=n=>{n??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=n=>{var r,i;e.setExpanded(n?{}:(r=(i=e.initialState)==null?void 0:i.expanded)!=null?r:{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(n=>n.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>n=>{n.persist==null||n.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{const n=e.getState().expanded;return n===!0||Object.values(n).some(Boolean)},e.getIsAllRowsExpanded=()=>{const n=e.getState().expanded;return typeof n=="boolean"?n===!0:!(!Object.keys(n).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},e.getExpandedDepth=()=>{let n=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(i=>{const l=i.split(".");n=Math.max(n,l.length)}),n},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,o)=>{e.toggleExpanded=t=>{o.setExpanded(n=>{var r;const i=n===!0?!0:!!(n!=null&&n[e.id]);let l={};if(n===!0?Object.keys(o.getRowModel().rowsById).forEach(s=>{l[s]=!0}):l=n,t=(r=t)!=null?r:!i,!i&&t)return{...l,[e.id]:!0};if(i&&!t){const{[e.id]:s,...d}=l;return d}return n})},e.getIsExpanded=()=>{var t;const n=o.getState().expanded;return!!((t=o.options.getIsRowExpanded==null?void 0:o.options.getIsRowExpanded(e))!=null?t:n===!0||n!=null&&n[e.id])},e.getCanExpand=()=>{var t,n,r;return(t=o.options.getRowCanExpand==null?void 0:o.options.getRowCanExpand(e))!=null?t:((n=o.options.enableExpanding)!=null?n:!0)&&!!((r=e.subRows)!=null&&r.length)},e.getIsAllParentsExpanded=()=>{let t=!0,n=e;for(;t&&n.parentId;)n=o.getRow(n.parentId,!0),t=n.getIsExpanded();return t},e.getToggleExpandedHandler=()=>{const t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Me=0,$e=10,Ee=()=>({pageIndex:Me,pageSize:$e}),Bn={getInitialState:e=>({...e,pagination:{...Ee(),...e==null?void 0:e.pagination}}),getDefaultOptions:e=>({onPaginationChange:k("pagination",e)}),createTable:e=>{let o=!1,t=!1;e._autoResetPageIndex=()=>{var n,r;if(!o){e._queue(()=>{o=!0});return}if((n=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?n:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},e.setPagination=n=>{const r=i=>q(n,i);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},e.resetPagination=n=>{var r;e.setPagination(n?Ee():(r=e.initialState.pagination)!=null?r:Ee())},e.setPageIndex=n=>{e.setPagination(r=>{let i=q(n,r.pageIndex);const l=typeof e.options.pageCount>"u"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return i=Math.max(0,Math.min(i,l)),{...r,pageIndex:i}})},e.resetPageIndex=n=>{var r,i;e.setPageIndex(n?Me:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageIndex)!=null?r:Me)},e.resetPageSize=n=>{var r,i;e.setPageSize(n?$e:(r=(i=e.initialState)==null||(i=i.pagination)==null?void 0:i.pageSize)!=null?r:$e)},e.setPageSize=n=>{e.setPagination(r=>{const i=Math.max(1,q(n,r.pageSize)),l=r.pageSize*r.pageIndex,s=Math.floor(l/i);return{...r,pageIndex:s,pageSize:i}})},e.setPageCount=n=>e.setPagination(r=>{var i;let l=q(n,(i=e.options.pageCount)!=null?i:-1);return typeof l=="number"&&(l=Math.max(-1,l)),{...r,pageCount:l}}),e.getPageOptions=y(()=>[e.getPageCount()],n=>{let r=[];return n&&n>0&&(r=[...new Array(n)].fill(null).map((i,l)=>l)),r},_(e.options,"debugTable","getPageOptions")),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{const{pageIndex:n}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:n<r-1},e.previousPage=()=>e.setPageIndex(n=>n-1),e.nextPage=()=>e.setPageIndex(n=>n+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>{var n;return(n=e.options.pageCount)!=null?n:Math.ceil(e.getRowCount()/e.getState().pagination.pageSize)},e.getRowCount=()=>{var n;return(n=e.options.rowCount)!=null?n:e.getPrePaginationRowModel().rows.length}}},Te=()=>({top:[],bottom:[]}),Un={getInitialState:e=>({rowPinning:Te(),...e}),getDefaultOptions:e=>({onRowPinningChange:k("rowPinning",e)}),createRow:(e,o)=>{e.pin=(t,n,r)=>{const i=n?e.getLeafRows().map(d=>{let{id:c}=d;return c}):[],l=r?e.getParentRows().map(d=>{let{id:c}=d;return c}):[],s=new Set([...l,e.id,...i]);o.setRowPinning(d=>{var c,m;if(t==="bottom"){var C,f;return{top:((C=d==null?void 0:d.top)!=null?C:[]).filter(S=>!(s!=null&&s.has(S))),bottom:[...((f=d==null?void 0:d.bottom)!=null?f:[]).filter(S=>!(s!=null&&s.has(S))),...Array.from(s)]}}if(t==="top"){var u,p;return{top:[...((u=d==null?void 0:d.top)!=null?u:[]).filter(S=>!(s!=null&&s.has(S))),...Array.from(s)],bottom:((p=d==null?void 0:d.bottom)!=null?p:[]).filter(S=>!(s!=null&&s.has(S)))}}return{top:((c=d==null?void 0:d.top)!=null?c:[]).filter(S=>!(s!=null&&s.has(S))),bottom:((m=d==null?void 0:d.bottom)!=null?m:[]).filter(S=>!(s!=null&&s.has(S)))}})},e.getCanPin=()=>{var t;const{enableRowPinning:n,enablePinning:r}=o.options;return typeof n=="function"?n(e):(t=n??r)!=null?t:!0},e.getIsPinned=()=>{const t=[e.id],{top:n,bottom:r}=o.getState().rowPinning,i=t.some(s=>n==null?void 0:n.includes(s)),l=t.some(s=>r==null?void 0:r.includes(s));return i?"top":l?"bottom":!1},e.getPinnedIndex=()=>{var t,n;const r=e.getIsPinned();if(!r)return-1;const i=(t=r==="top"?o.getTopRows():o.getBottomRows())==null?void 0:t.map(l=>{let{id:s}=l;return s});return(n=i==null?void 0:i.indexOf(e.id))!=null?n:-1}},createTable:e=>{e.setRowPinning=o=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(o),e.resetRowPinning=o=>{var t,n;return e.setRowPinning(o?Te():(t=(n=e.initialState)==null?void 0:n.rowPinning)!=null?t:Te())},e.getIsSomeRowsPinned=o=>{var t;const n=e.getState().rowPinning;if(!o){var r,i;return!!((r=n.top)!=null&&r.length||(i=n.bottom)!=null&&i.length)}return!!((t=n[o])!=null&&t.length)},e._getPinnedRows=(o,t,n)=>{var r;return((r=e.options.keepPinnedRows)==null||r?(t??[]).map(l=>{const s=e.getRow(l,!0);return s.getIsAllParentsExpanded()?s:null}):(t??[]).map(l=>o.find(s=>s.id===l))).filter(Boolean).map(l=>({...l,position:n}))},e.getTopRows=y(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(o,t)=>e._getPinnedRows(o,t,"top"),_(e.options,"debugRows","getTopRows")),e.getBottomRows=y(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(o,t)=>e._getPinnedRows(o,t,"bottom"),_(e.options,"debugRows","getBottomRows")),e.getCenterRows=y(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(o,t,n)=>{const r=new Set([...t??[],...n??[]]);return o.filter(i=>!r.has(i.id))},_(e.options,"debugRows","getCenterRows"))}},Kn={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:k("rowSelection",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=o=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(o),e.resetRowSelection=o=>{var t;return e.setRowSelection(o?{}:(t=e.initialState.rowSelection)!=null?t:{})},e.toggleAllRowsSelected=o=>{e.setRowSelection(t=>{o=typeof o<"u"?o:!e.getIsAllRowsSelected();const n={...t},r=e.getPreGroupedRowModel().flatRows;return o?r.forEach(i=>{i.getCanSelect()&&(n[i.id]=!0)}):r.forEach(i=>{delete n[i.id]}),n})},e.toggleAllPageRowsSelected=o=>e.setRowSelection(t=>{const n=typeof o<"u"?o:!e.getIsAllPageRowsSelected(),r={...t};return e.getRowModel().rows.forEach(i=>{be(r,i.id,n,!0,e)}),r}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=y(()=>[e.getState().rowSelection,e.getCoreRowModel()],(o,t)=>Object.keys(o).length?Ve(e,t):{rows:[],flatRows:[],rowsById:{}},_(e.options,"debugTable","getSelectedRowModel")),e.getFilteredSelectedRowModel=y(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(o,t)=>Object.keys(o).length?Ve(e,t):{rows:[],flatRows:[],rowsById:{}},_(e.options,"debugTable","getFilteredSelectedRowModel")),e.getGroupedSelectedRowModel=y(()=>[e.getState().rowSelection,e.getSortedRowModel()],(o,t)=>Object.keys(o).length?Ve(e,t):{rows:[],flatRows:[],rowsById:{}},_(e.options,"debugTable","getGroupedSelectedRowModel")),e.getIsAllRowsSelected=()=>{const o=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState();let n=!!(o.length&&Object.keys(t).length);return n&&o.some(r=>r.getCanSelect()&&!t[r.id])&&(n=!1),n},e.getIsAllPageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:t}=e.getState();let n=!!o.length;return n&&o.some(r=>!t[r.id])&&(n=!1),n},e.getIsSomeRowsSelected=()=>{var o;const t=Object.keys((o=e.getState().rowSelection)!=null?o:{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{const o=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:o.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>o=>{e.toggleAllRowsSelected(o.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>o=>{e.toggleAllPageRowsSelected(o.target.checked)}},createRow:(e,o)=>{e.toggleSelected=(t,n)=>{const r=e.getIsSelected();o.setRowSelection(i=>{var l;if(t=typeof t<"u"?t:!r,e.getCanSelect()&&r===t)return i;const s={...i};return be(s,e.id,t,(l=n==null?void 0:n.selectChildren)!=null?l:!0,o),s})},e.getIsSelected=()=>{const{rowSelection:t}=o.getState();return Ae(e,t)},e.getIsSomeSelected=()=>{const{rowSelection:t}=o.getState();return De(e,t)==="some"},e.getIsAllSubRowsSelected=()=>{const{rowSelection:t}=o.getState();return De(e,t)==="all"},e.getCanSelect=()=>{var t;return typeof o.options.enableRowSelection=="function"?o.options.enableRowSelection(e):(t=o.options.enableRowSelection)!=null?t:!0},e.getCanSelectSubRows=()=>{var t;return typeof o.options.enableSubRowSelection=="function"?o.options.enableSubRowSelection(e):(t=o.options.enableSubRowSelection)!=null?t:!0},e.getCanMultiSelect=()=>{var t;return typeof o.options.enableMultiRowSelection=="function"?o.options.enableMultiRowSelection(e):(t=o.options.enableMultiRowSelection)!=null?t:!0},e.getToggleSelectedHandler=()=>{const t=e.getCanSelect();return n=>{var r;t&&e.toggleSelected((r=n.target)==null?void 0:r.checked)}}}},be=(e,o,t,n,r)=>{var i;const l=r.getRow(o,!0);t?(l.getCanMultiSelect()||Object.keys(e).forEach(s=>delete e[s]),l.getCanSelect()&&(e[o]=!0)):delete e[o],n&&(i=l.subRows)!=null&&i.length&&l.getCanSelectSubRows()&&l.subRows.forEach(s=>be(e,s.id,t,n,r))};function Ve(e,o){const t=e.getState().rowSelection,n=[],r={},i=function(l,s){return l.map(d=>{var c;const m=Ae(d,t);if(m&&(n.push(d),r[d.id]=d),(c=d.subRows)!=null&&c.length&&(d={...d,subRows:i(d.subRows)}),m)return d}).filter(Boolean)};return{rows:i(o.rows),flatRows:n,rowsById:r}}function Ae(e,o){var t;return(t=o[e.id])!=null?t:!1}function De(e,o,t){var n;if(!((n=e.subRows)!=null&&n.length))return!1;let r=!0,i=!1;return e.subRows.forEach(l=>{if(!(i&&!r)&&(l.getCanSelect()&&(Ae(l,o)?i=!0:r=!1),l.subRows&&l.subRows.length)){const s=De(l,o);s==="all"?i=!0:(s==="some"&&(i=!0),r=!1)}}),r?"all":i?"some":!1}const ke=/([0-9]+)/gm,Yn=(e,o,t)=>wt(B(e.getValue(t)).toLowerCase(),B(o.getValue(t)).toLowerCase()),Wn=(e,o,t)=>wt(B(e.getValue(t)),B(o.getValue(t))),Xn=(e,o,t)=>Le(B(e.getValue(t)).toLowerCase(),B(o.getValue(t)).toLowerCase()),Jn=(e,o,t)=>Le(B(e.getValue(t)),B(o.getValue(t))),Zn=(e,o,t)=>{const n=e.getValue(t),r=o.getValue(t);return n>r?1:n<r?-1:0},Qn=(e,o,t)=>Le(e.getValue(t),o.getValue(t));function Le(e,o){return e===o?0:e>o?1:-1}function B(e){return typeof e=="number"?isNaN(e)||e===1/0||e===-1/0?"":String(e):typeof e=="string"?e:""}function wt(e,o){const t=e.split(ke).filter(Boolean),n=o.split(ke).filter(Boolean);for(;t.length&&n.length;){const r=t.shift(),i=n.shift(),l=parseInt(r,10),s=parseInt(i,10),d=[l,s].sort();if(isNaN(d[0])){if(r>i)return 1;if(i>r)return-1;continue}if(isNaN(d[1]))return isNaN(l)?-1:1;if(l>s)return 1;if(s>l)return-1}return t.length-n.length}const oe={alphanumeric:Yn,alphanumericCaseSensitive:Wn,text:Xn,textCaseSensitive:Jn,datetime:Zn,basic:Qn},eo=[$n,zn,Dn,kn,Tn,bn,Gn,Hn,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:"auto",sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:k("sorting",e),isMultiSortEvent:o=>o.shiftKey}),createColumn:(e,o)=>{e.getAutoSortingFn=()=>{const t=o.getFilteredRowModel().flatRows.slice(10);let n=!1;for(const r of t){const i=r==null?void 0:r.getValue(e.id);if(Object.prototype.toString.call(i)==="[object Date]")return oe.datetime;if(typeof i=="string"&&(n=!0,i.split(ke).length>1))return oe.alphanumeric}return n?oe.text:oe.basic},e.getAutoSortDir=()=>{const t=o.getFilteredRowModel().flatRows[0];return typeof(t==null?void 0:t.getValue(e.id))=="string"?"asc":"desc"},e.getSortingFn=()=>{var t,n;if(!e)throw new Error;return ge(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn==="auto"?e.getAutoSortingFn():(t=(n=o.options.sortingFns)==null?void 0:n[e.columnDef.sortingFn])!=null?t:oe[e.columnDef.sortingFn]},e.toggleSorting=(t,n)=>{const r=e.getNextSortingOrder(),i=typeof t<"u"&&t!==null;o.setSorting(l=>{const s=l==null?void 0:l.find(u=>u.id===e.id),d=l==null?void 0:l.findIndex(u=>u.id===e.id);let c=[],m,C=i?t:r==="desc";if(l!=null&&l.length&&e.getCanMultiSort()&&n?s?m="toggle":m="add":l!=null&&l.length&&d!==l.length-1?m="replace":s?m="toggle":m="replace",m==="toggle"&&(i||r||(m="remove")),m==="add"){var f;c=[...l,{id:e.id,desc:C}],c.splice(0,c.length-((f=o.options.maxMultiSortColCount)!=null?f:Number.MAX_SAFE_INTEGER))}else m==="toggle"?c=l.map(u=>u.id===e.id?{...u,desc:C}:u):m==="remove"?c=l.filter(u=>u.id!==e.id):c=[{id:e.id,desc:C}];return c})},e.getFirstSortDir=()=>{var t,n;return((t=(n=e.columnDef.sortDescFirst)!=null?n:o.options.sortDescFirst)!=null?t:e.getAutoSortDir()==="desc")?"desc":"asc"},e.getNextSortingOrder=t=>{var n,r;const i=e.getFirstSortDir(),l=e.getIsSorted();return l?l!==i&&((n=o.options.enableSortingRemoval)==null||n)&&(!(t&&(r=o.options.enableMultiRemove)!=null)||r)?!1:l==="desc"?"asc":"desc":i},e.getCanSort=()=>{var t,n;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((n=o.options.enableSorting)!=null?n:!0)&&!!e.accessorFn},e.getCanMultiSort=()=>{var t,n;return(t=(n=e.columnDef.enableMultiSort)!=null?n:o.options.enableMultiSort)!=null?t:!!e.accessorFn},e.getIsSorted=()=>{var t;const n=(t=o.getState().sorting)==null?void 0:t.find(r=>r.id===e.id);return n?n.desc?"desc":"asc":!1},e.getSortIndex=()=>{var t,n;return(t=(n=o.getState().sorting)==null?void 0:n.findIndex(r=>r.id===e.id))!=null?t:-1},e.clearSorting=()=>{o.setSorting(t=>t!=null&&t.length?t.filter(n=>n.id!==e.id):[])},e.getToggleSortingHandler=()=>{const t=e.getCanSort();return n=>{t&&(n.persist==null||n.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?o.options.isMultiSortEvent==null?void 0:o.options.isMultiSortEvent(n):!1))}}},createTable:e=>{e.setSorting=o=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(o),e.resetSorting=o=>{var t,n;e.setSorting(o?[]:(t=(n=e.initialState)==null?void 0:n.sorting)!=null?t:[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Vn,qn,Bn,Un,Kn,Nn];function to(e){var o,t;process.env.NODE_ENV!=="production"&&(e.debugAll||e.debugTable)&&console.info("Creating Table Instance...");const n=[...eo,...(o=e._features)!=null?o:[]];let r={_features:n};const i=r._features.reduce((f,u)=>Object.assign(f,u.getDefaultOptions==null?void 0:u.getDefaultOptions(r)),{}),l=f=>r.options.mergeOptions?r.options.mergeOptions(i,f):{...i,...f};let d={...{},...(t=e.initialState)!=null?t:{}};r._features.forEach(f=>{var u;d=(u=f.getInitialState==null?void 0:f.getInitialState(d))!=null?u:d});const c=[];let m=!1;const C={_features:n,options:{...i,...e},initialState:d,_queue:f=>{c.push(f),m||(m=!0,Promise.resolve().then(()=>{for(;c.length;)c.shift()();m=!1}).catch(u=>setTimeout(()=>{throw u})))},reset:()=>{r.setState(r.initialState)},setOptions:f=>{const u=q(f,r.options);r.options=l(u)},getState:()=>r.options.state,setState:f=>{r.options.onStateChange==null||r.options.onStateChange(f)},_getRowId:(f,u,p)=>{var S;return(S=r.options.getRowId==null?void 0:r.options.getRowId(f,u,p))!=null?S:`${p?[p.id,u].join("."):u}`},getCoreRowModel:()=>(r._getCoreRowModel||(r._getCoreRowModel=r.options.getCoreRowModel(r)),r._getCoreRowModel()),getRowModel:()=>r.getPaginationRowModel(),getRow:(f,u)=>{let p=(u?r.getPrePaginationRowModel():r.getRowModel()).rowsById[f];if(!p&&(p=r.getCoreRowModel().rowsById[f],!p))throw process.env.NODE_ENV!=="production"?new Error(`getRow could not find row with ID: ${f}`):new Error;return p},_getDefaultColumnDef:y(()=>[r.options.defaultColumn],f=>{var u;return f=(u=f)!=null?u:{},{header:p=>{const S=p.header.column.columnDef;return S.accessorKey?S.accessorKey:S.accessorFn?S.id:null},cell:p=>{var S,F;return(S=(F=p.renderValue())==null||F.toString==null?void 0:F.toString())!=null?S:null},...r._features.reduce((p,S)=>Object.assign(p,S.getDefaultColumnDef==null?void 0:S.getDefaultColumnDef()),{}),...f}},_(e,"debugColumns","_getDefaultColumnDef")),_getColumnDefs:()=>r.options.columns,getAllColumns:y(()=>[r._getColumnDefs()],f=>{const u=function(p,S,F){return F===void 0&&(F=0),p.map(R=>{const I=Mn(r,R,F,S),x=R;return I.columns=x.columns?u(x.columns,I,F+1):[],I})};return u(f)},_(e,"debugColumns","getAllColumns")),getAllFlatColumns:y(()=>[r.getAllColumns()],f=>f.flatMap(u=>u.getFlatColumns()),_(e,"debugColumns","getAllFlatColumns")),_getAllFlatColumnsById:y(()=>[r.getAllFlatColumns()],f=>f.reduce((u,p)=>(u[p.id]=p,u),{}),_(e,"debugColumns","getAllFlatColumnsById")),getAllLeafColumns:y(()=>[r.getAllColumns(),r._getOrderColumnsFn()],(f,u)=>{let p=f.flatMap(S=>S.getLeafColumns());return u(p)},_(e,"debugColumns","getAllLeafColumns")),getColumn:f=>{const u=r._getAllFlatColumnsById()[f];return process.env.NODE_ENV!=="production"&&!u&&console.error(`[Table] Column with id '${f}' does not exist.`),u}};Object.assign(r,C);for(let f=0;f<r._features.length;f++){const u=r._features[f];u==null||u.createTable==null||u.createTable(r)}return r}function xt(){return e=>y(()=>[e.options.data],o=>{const t={rows:[],flatRows:[],rowsById:{}},n=function(r,i,l){i===void 0&&(i=0);const s=[];for(let c=0;c<r.length;c++){const m=En(e,e._getRowId(r[c],c,l),r[c],c,i,void 0,l==null?void 0:l.id);if(t.flatRows.push(m),t.rowsById[m.id]=m,s.push(m),e.options.getSubRows){var d;m.originalSubRows=e.options.getSubRows(r[c],c),(d=m.originalSubRows)!=null&&d.length&&(m.subRows=n(m.originalSubRows,i+1,m))}}return s};return t.rows=n(o),t},_(e.options,"debugTable","getRowModel",()=>e._autoResetPageIndex()))}function no(e){const o=[],t=n=>{var r;o.push(n),(r=n.subRows)!=null&&r.length&&n.getIsExpanded()&&n.subRows.forEach(t)};return e.rows.forEach(t),{rows:o,flatRows:e.flatRows,rowsById:e.rowsById}}function oo(e){return o=>y(()=>[o.getState().pagination,o.getPrePaginationRowModel(),o.options.paginateExpandedRows?void 0:o.getState().expanded],(t,n)=>{if(!n.rows.length)return n;const{pageSize:r,pageIndex:i}=t;let{rows:l,flatRows:s,rowsById:d}=n;const c=r*i,m=c+r;l=l.slice(c,m);let C;o.options.paginateExpandedRows?C={rows:l,flatRows:s,rowsById:d}:C=no({rows:l,flatRows:s,rowsById:d}),C.flatRows=[];const f=u=>{C.flatRows.push(u),u.subRows.length&&u.subRows.forEach(f)};return C.rows.forEach(f),C},_(o.options,"debugTable","getPaginationRowModel"))}/**
35
+ * react-table
36
+ *
37
+ * Copyright (c) TanStack
38
+ *
39
+ * This source code is licensed under the MIT license found in the
40
+ * LICENSE.md file in the root directory of this source tree.
41
+ *
42
+ * @license MIT
43
+ */function Rt(e,o){return e?ro(e)?he.createElement(e,o):e:null}function ro(e){return io(e)||typeof e=="function"||lo(e)}function io(e){return typeof e=="function"&&(()=>{const o=Object.getPrototypeOf(e);return o.prototype&&o.prototype.isReactComponent})()}function lo(e){return typeof e=="object"&&typeof e.$$typeof=="symbol"&&["react.memo","react.forward_ref"].includes(e.$$typeof.description)}function yt(e){const o={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[t]=he.useState(()=>({current:to(o)})),[n,r]=he.useState(()=>t.current.initialState);return t.current.setOptions(i=>({...i,...e,state:{...n,...e.state},onStateChange:l=>{r(l),e.onStateChange==null||e.onStateChange(l)}})),t.current}const _t=({actions:e,reloadData:o,selectedRowKeys:t,size:n="xs"})=>a.jsxs(g.Group,{gap:n,children:[(e==null?void 0:e.add)&&a.jsx(g.Button,{variant:"light",leftSection:a.jsx(A.IconPlus,{size:16,stroke:1.5}),size:n,onClick:e.add,children:"Add"}),(e==null?void 0:e.edit)&&a.jsx(g.Button,{leftSection:a.jsx(A.IconPencil,{size:16,stroke:1.5}),size:n,variant:"light",onClick:()=>e.edit!==void 0&&e.edit(t[0]),disabled:t.length!==1,children:"Edit"}),(e==null?void 0:e.reload)&&a.jsx(g.Button,{leftSection:a.jsx(A.IconReload,{size:16,stroke:1.5}),size:n,onClick:o,variant:"light",children:"Reload"}),(e==null?void 0:e.import)&&a.jsx(g.Button,{leftSection:a.jsx(A.IconDatabaseImport,{size:16,stroke:1.5}),size:n,variant:"light",onClick:e.import,children:"Import"}),(e==null?void 0:e.export)&&a.jsx(g.Button,{leftSection:a.jsx(A.IconDownload,{size:16,stroke:1.5}),size:n,variant:"light",onClick:e.export,children:"Export"})]}),Ft=e=>e!==void 0&&(e.add!==void 0||e.edit!==void 0||e.delete!==void 0||e.export!==void 0||e.reload===!0||e.import!==void 0),so="__selectcol__",{Thead:ao,Tr:jt,Th:uo,Tbody:go,Td:co}=g.Table,It=e=>{const o=a.jsxs(g.Table,{striped:!0,highlightOnHover:!0,verticalSpacing:"xs",tabularNums:!0,children:[a.jsx(ao,{children:e.table.getHeaderGroups().map(n=>a.jsx(jt,{children:n.headers.map(r=>a.jsx(uo,{w:r.id===so?"1%":void 0,children:r.isPlaceholder?null:Rt(r.column.columnDef.header,r.getContext())},r.id))},n.id))}),a.jsx(go,{pos:"relative",children:e.table.getRowModel().rows.map(n=>a.jsx(jt,{bg:e.selectedRowKeys[n.id]?"var(--mantine-color-blue-light)":void 0,children:n.getVisibleCells().map(r=>a.jsx(co,{children:Rt(r.column.columnDef.cell,r.getContext())},r.id))},n.id))})]});if(!e.bordered)return o;const t={};return e.hasTopSection&&(t.borderTopLeftRadius=0,t.borderTopRightRadius=0),e.hasBottomSection&&(t.borderBottomLeftRadius=0,t.borderBottomRightRadius=0),a.jsx(g.Paper,{withBorder:!0,p:0,style:t,children:o})},fo={pageSizeSelectorActive:"_pageSizeSelectorActive_1wv6j_1"},Pt=({total:e,pageIndex:o,pageSize:t,allowPageSizeChange:n=!0,onUpdatePagination:r})=>{const i=a.jsx(g.Pagination,{size:"sm",total:e,value:o+1,onChange:l=>r(l-1,t)});return n?a.jsxs(g.Group,{gap:"sm",children:[a.jsxs("div",{children:[a.jsx(g.Text,{size:"sm",component:"span",pr:"xs",c:"dimmed",children:"Records per page"}),a.jsx(mo,{size:"sm",values:["10","20","50","100"],value:t.toString(),onChange:l=>{r(0,parseInt(l,10))}})]}),i]}):i},Mt={xs:g.rem(22),sm:g.rem(26),md:g.rem(32),lg:g.rem(38),xl:g.rem(44)};function mo({size:e,values:o,value:t,onChange:n}){return a.jsxs(g.Menu,{withinPortal:!0,withArrow:!0,offset:2,children:[a.jsx(g.MenuTarget,{children:a.jsx(g.Button,{size:e,variant:"default",rightSection:a.jsx(A.IconSelector,{size:16,stroke:1.5}),style:[{fontWeight:"normal"},r=>({height:Mt[e],paddingLeft:r.spacing[e],paddingRight:r.spacing[e]})],styles:{section:{marginInlineStart:2}},children:t})}),a.jsx(g.MenuDropdown,{children:o.map(r=>{const i=r===t;return a.jsx(g.MenuItem,{className:i?fo.pageSizeSelectorActive:void 0,style:[{height:Mt[e]}],disabled:i,onClick:()=>n(r),children:a.jsx(g.Text,{component:"div",size:e,children:r})},r)})})]})}const $t=new Set(["topRight","bottomRight"]),po=e=>{var R,I;const[o,t]=v.useState({records:[],total:0}),[n,r]=v.useState(!1),[i,l]=v.useState({}),s=x=>{r(!0),e.getData(x).then(P=>{t(P),r(!1)})},d=(x,P)=>{const E={...e.query.query,limit:P,offset:x*P};e.query.update(E)},[c,m,C]=v.useMemo(()=>{const x=e.query.query.limit,P=Math.floor((e.query.query.offset||0)/e.query.query.limit),E=Math.ceil(o.total/e.query.query.limit);return[x,P,E]},[e.query.query.limit,e.query.query.offset,o.total]);v.useEffect(()=>(o.total==0&&s(e.query.query),e.query.subscribe(s)),[e.query]);const f=v.useMemo(()=>Object.keys(i).filter(x=>i[x]).map(x=>e.normalizeRowId(x)),[i]);let u,p;Ft(e.actions)&&(u=a.jsx(_t,{actions:e.actions,reloadData:()=>s(e.query.query),selectedRowKeys:f}));const S=((R=e.pagination)==null?void 0:R.positions)||$t;if(S.size>0){const x=a.jsx(Pt,{total:C,pageIndex:m,pageSize:c,onUpdatePagination:d,allowPageSizeChange:(I=e.pagination)==null?void 0:I.showSizeChanger});S.has("topRight")&&(u!==void 0?u=a.jsxs(g.Group,{justify:"space-between",gap:"sm",children:[u,x]}):u=a.jsx(g.Flex,{justify:"flex-end",children:x})),(S.has("bottomRight")||S.has("bottomLeft")||S.has("bottomCenter"))&&(S.has("bottomLeft")?p=a.jsxs(g.Flex,{justify:"space-between",align:"center",children:[x,a.jsxs(g.Text,{size:"sm",c:"dimmed",children:["Showing ",m*c+1," to"," ",Math.min((m+1)*c,o.total)," of ",o.total," ","records"]})]}):p=a.jsxs(g.Flex,{justify:"space-between",align:"center",children:[a.jsxs(g.Text,{size:"sm",c:"dimmed",children:["Showing ",m*c+1," to"," ",Math.min((m+1)*c,o.total)," of ",o.total," ","records"]}),x]}))}const F=v.useMemo(()=>a.jsx(ho,{data:o,loading:n,columns:e.columns,getRowId:e.getRowId,selectedRowKeys:i,setSelectedRowKeys:l,hasTopSection:u!==void 0,hasBottomSection:p!==void 0}),[o,n,e.columns,e.getRowId,i,l,u!==void 0,p!==void 0]);return u===void 0||p===void 0?F:a.jsxs("div",{children:[u!==void 0&&a.jsx(g.Paper,{withBorder:!0,p:"xs",style:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottom:"none"},children:u}),F,p!==void 0&&a.jsx(g.Paper,{withBorder:!0,p:"xs",style:{borderTopLeftRadius:0,borderTopRightRadius:0,borderTop:"none"},children:p})]})},ho=e=>{const o=v.useMemo(()=>{const n=[{id:"selection",header:({table:r})=>a.jsx(g.Checkbox,{checked:r.getIsAllRowsSelected(),indeterminate:r.getIsSomeRowsSelected(),onChange:r.getToggleAllRowsSelectedHandler()}),cell:({row:r})=>a.jsx(g.Checkbox,{checked:r.getIsSelected(),disabled:!r.getCanSelect(),onChange:r.getToggleSelectedHandler()})}];return e.columns.forEach(r=>{n.push({id:r.key,header:r.title,accessorFn:r.render,cell:({row:i})=>r.render(i.original)})}),n},[e.columns]),t=yt({data:e.data.records,columns:o,getCoreRowModel:xt(),getRowId:n=>e.getRowId(n).toString(),state:{rowSelection:e.selectedRowKeys},onRowSelectionChange:e.setSelectedRowKeys,manualPagination:!0});return a.jsx(It,{table:t,selectedRowKeys:e.selectedRowKeys,bordered:!0,hasTopSection:e.hasTopSection,hasBottomSection:e.hasBottomSection})};function Ne(e,o,{title:t,nestedKey:n,component:r}={}){let i;if(r!==void 0)i=r;else if(H.isObjectProperty(o))o.cardinality==="1:N"||o.cardinality==="N:N"?i=te:i=ee;else{if(O[o.datatype]===void 0)throw new Error(`No display component found for datatype ${o.datatype}`);i=O[o.datatype]}const l={key:o.name,title:t||a.jsx(D,{value:o.label}),accessorFn:s=>s[o.tsName],render:s=>{const d=s[o.tsName];return a.jsx(i,{db:e,property:o,value:d})}};return n!==void 0&&(l.accessorFn=s=>s[n][o.tsName],l.render=s=>{const d=s[n][o.tsName];return a.jsx(i,{db:e,property:o,value:d})}),l}function So(e,o,t,{title:n,nestedKey:r,component:i}={}){let l;if(i!==void 0)l=i;else if(H.isObjectProperty(t))t.cardinality==="1:N"||t.cardinality==="N:N"?l=te:l=ee;else{if(O[t.datatype]===void 0)throw new Error(`No display component found for datatype ${t.datatype}`);l=O[t.datatype]}const s={key:o+"."+t.name,title:n||a.jsx(D,{value:t.label}),accessorFn:d=>d[o.tsName][t.tsName],render:d=>{const c=d[o.tsName][t.tsName];return a.jsx(l,{db:e,property:t,value:c})}};return r!==void 0&&(s.accessorFn=d=>d[r][o.tsName][t.tsName],s.render=d=>{const c=d[r][o.tsName][t.tsName];return a.jsx(l,{db:e,property:t,value:c})}),s}function Co(e,o,t,n={}){return t.map(r=>Oe(r)?r:Ne(e,o.publicProperties[r],n))}function vo(e,o,t=[],n={}){return t.map(r=>Oe(r)?r:Ne(e,o.publicProperties[r],n))}function Oe(e){return typeof e=="object"&&"key"in e&&"title"in e}const wo=new Set(["topRight","bottomRight"]),xo=e=>{var m,C;const[o,t]=v.useState({}),n=v.useMemo(()=>{const f=[{id:"selection",header:({table:u})=>a.jsx(g.Checkbox,{checked:u.getIsAllRowsSelected(),indeterminate:u.getIsSomeRowsSelected(),onChange:u.getToggleAllRowsSelectedHandler()}),cell:({row:u})=>a.jsx(g.Checkbox,{checked:u.getIsSelected(),disabled:!u.getCanSelect(),onChange:u.getToggleSelectedHandler()})}];return e.columns.forEach(u=>{f.push({id:u.key,header:u.title,accessorFn:u.render,cell:({row:p})=>u.render(p.original)})}),f},[e.columns]),r=yt({data:e.data,columns:n,getCoreRowModel:xt(),getPaginationRowModel:oo(),state:{rowSelection:o},onRowSelectionChange:t}),i=v.useMemo(()=>Object.keys(o).filter(f=>o[f]).map(Number),[o]);let l,s;Ft(e.actions)&&(l=a.jsx(_t,{actions:e.actions,selectedRowKeys:i}));const d=((m=e.pagination)==null?void 0:m.positions)||wo;if(d.size>0){const f=r.getState().pagination,u=a.jsx(Pt,{total:r.getPageCount(),pageIndex:f.pageIndex,pageSize:f.pageSize,onUpdatePagination:(p,S)=>r.setPagination({pageIndex:p,pageSize:S}),allowPageSizeChange:(C=e.pagination)==null?void 0:C.showSizeChanger});d.has("topRight")&&(l!==void 0?l=a.jsxs(g.Group,{justify:"space-between",gap:"sm",children:[l,u]}):l=a.jsx(g.Flex,{justify:"flex-end",children:u})),(d.has("bottomRight")||d.has("bottomLeft")||d.has("bottomCenter"))&&(d.has("bottomLeft")?s=a.jsxs(g.Flex,{justify:"space-between",align:"center",children:[u,a.jsxs(g.Text,{size:"sm",c:"dimmed",children:["Showing ",f.pageIndex*f.pageSize+1," to"," ",Math.min((f.pageIndex+1)*f.pageSize,e.data.length)," ","of ",e.data.length," records"]})]}):s=a.jsxs(g.Flex,{justify:"space-between",align:"center",children:[a.jsxs(g.Text,{size:"sm",c:"dimmed",children:["Showing ",f.pageIndex*f.pageSize+1," to"," ",Math.min((f.pageIndex+1)*f.pageSize,e.data.length)," ","of ",e.data.length," records"]}),u]}))}const c=a.jsx(It,{selectedRowKeys:o,table:r,bordered:!0,hasTopSection:l!==void 0,hasBottomSection:s!==void 0});return l===void 0&&s===void 0?c:a.jsxs("div",{children:[l!==void 0&&a.jsx(g.Paper,{withBorder:!0,p:"xs",style:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderBottom:"none"},children:l}),c,s!==void 0&&a.jsx(g.Paper,{withBorder:!0,p:"xs",style:{borderTopLeftRadius:0,borderTopRightRadius:0,borderTop:"none"},children:s})]})},Et=G.observer(({store:e,record:o,property:t,DisplayComponent:n})=>{const r=o[t.tsName];return a.jsxs("div",{children:[a.jsx(g.Text,{size:"sm",fw:550,children:a.jsx(D,{value:t.label})}),a.jsx(n,{db:e.db,property:t,value:r})]})}),Ro=G.observer(({store:e,record:o,properties:t,DisplayComponent:n})=>{const r=t[t.length-1],i=t.reduce((l,s)=>{if(l!=null)return l[s.tsName]},o);return a.jsxs("div",{children:[a.jsx(g.Text,{size:"sm",fw:550,children:a.jsx(D,{value:r.label})}),i!==void 0&&a.jsx(n,{db:e.db,property:r,value:i})]})}),yo=12,Tt=e=>{const o=e.schema,t=v.useMemo(()=>e.fieldGroups.map((n,r)=>_o(o,e.store,e.record,r,n)),[o,e.store,e.record,e.fieldGroups]);return a.jsx(g.Stack,{gap:"sm",className:e.className,style:e.styles,children:t})};function _o(e,o,t,n,r){const i=r.fields,l=[];for(let s=0;s<i.length;s++){const d=yo/i[s].length;if(!Number.isInteger(d))throw new Error(`Span must be an integer, but got ${d} for row ${s}`);for(let c=0;c<i[s].length;c++){const m=i[s][c];let C;if(typeof m=="function")C=m(o,t);else if(typeof m=="object"&&"prop"in m){const f=e.allProperties[m.prop],u=m.display;C=a.jsx(Et,{store:o,record:t,property:f,DisplayComponent:u})}else{const f=e.allProperties[m];let u;if(H.isObjectProperty(f))u=f.cardinality==="N:N"||f.cardinality==="1:N"?te:ee;else{if(O[f.datatype]===void 0)throw new Error(`No display component found for datatype ${f.datatype}`);u=O[f.datatype]}C=a.jsx(Et,{store:o,record:t,property:f,DisplayComponent:u})}l.push(a.jsx(g.Grid.Col,{span:d,children:C},`${s}-${c}`))}}return a.jsx(g.Grid,{gutter:"sm",children:l},n)}function Fo(e,o){const t=e[e.length-1];let n;if(o!==void 0)n=o;else if(H.isObjectProperty(t))n=t.cardinality==="N:N"||t.cardinality==="1:N"?te:ee;else{if(O[t.datatype]===void 0)throw new Error(`No display component found for datatype ${t.datatype}`);n=O[t.datatype]}return(r,i)=>a.jsx(Ro,{store:r,record:i,properties:e,DisplayComponent:n})}const jo=e=>a.jsxs(g.Tabs,{defaultValue:e.fieldTabs[0].tabName,children:[a.jsx(g.Tabs.List,{children:e.fieldTabs.map((o,t)=>a.jsx(g.Tabs.Tab,{value:o.tabName,children:o.tabName},t))}),e.fieldTabs.map((o,t)=>a.jsx(g.Tabs.Panel,{value:o.tabName,pt:"sm",children:a.jsx(Tt,{schema:e.schema,store:e.store,record:e.record,fieldGroups:o.fieldGroups,styles:e.tabStyles,className:e.tabClassName})},t))]});w.CountryFlagComponent=se,w.DEFAULT_PAGINATION_POSITIONS=$t,w.DataType2Component=ye,w.DataType2DisplayComponent=O,w.DateDisplay=nt,w.DateTimeDisplay=tt,w.DateTimeHideTimeDisplay=rn,w.EmojiCountryFlag=Je,w.FormItem=at,w.FormItemLabel=st,w.LanguageSelector=Ut,w.Loading=Wt,w.LoadingInline=Xt,w.LocaleContext=Y,w.LocaleProvider=qt,w.MenuTrie=et,w.MultiForeignKeyDisplay=te,w.MultiLingualString=D,w.NotAuthorized=Jt,w.NotFound=Kt,w.NotFoundInline=Se,w.NotFoundSubPage=Yt,w.OrderedUniqueList=tn,w.Permission=ue,w.SVGCountryFlag=Xe,w.SeraContextProvider=un,w.SeraEmbeddedTable=xo,w.SeraForm=_n,w.SeraTable=po,w.SeraVerticalMenu=on,w.SeraView=Tt,w.SeraViewTab=jo,w.SingleForeignKeyDisplay=ee,w.Trie=ve,w.TrieNode=Ce,w.buildMenuItemIndex=Ze,w.countryFlags=$,w.filterAllowedItems=Qe,w.groupBy=Zt,w.groupByAsList=Qt,w.isSeraColumn=Oe,w.makeEmbeddedTableColumns=vo,w.makeFieldDisplay=Fo,w.makeTableColumn=Ne,w.makeTableColumnFromNestedProperty=So,w.makeTableColumns=Co,w.uniqueList=en,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,10 @@
1
+ import { EntityRoutes, LinkComponent } from './types';
2
+ export declare const SeraContext: import('react').Context<{
3
+ link: LinkComponent;
4
+ entityRoutes: EntityRoutes;
5
+ }>;
6
+ export declare const SeraContextProvider: ({ link, entityRoutes, children, }: {
7
+ link: LinkComponent;
8
+ entityRoutes: EntityRoutes;
9
+ children: React.ReactNode;
10
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { DataProperty, DB, DraftEmbeddedRecord, DraftRecord, EmbeddedSchema, GenericEmbeddedRecord, GenericRecord, ObjectProperty, Schema, SchemaType } from 'sera-db';
2
- import { DisplayInterface, EntityRoutes } from '../data/display';
2
+ import { DisplayInterface } from '../data/display';
3
3
  type DOP = DataProperty | ObjectProperty;
4
4
  /**
5
5
  * Represents a column configuration for a table component.
@@ -15,7 +15,6 @@ export interface SeraColumn<R> {
15
15
  *
16
16
  * @template R - The type of the record/row data
17
17
  * @param db - The database instance used for data operations
18
- * @param entityRoutes - Configuration object containing routing information for entities
19
18
  * @param property - The data object property (DOP) that defines the column's data type and behavior
20
19
  * @param nestedKey - Optional string indicating if this is a nested property path
21
20
  * @returns A SeraColumn configuration object with key, title, accessor function, and render component
@@ -34,20 +33,20 @@ export interface SeraColumn<R> {
34
33
  * - Object properties with other cardinalities use SingleForeignKeyDisplay
35
34
  * - Non-object properties use components from DataType2DisplayComponent mapping
36
35
  */
37
- export declare function makeTableColumn<R>(db: DB, entityRoutes: EntityRoutes, property: DOP, { title, nestedKey, component, }?: {
36
+ export declare function makeTableColumn<R>(db: DB, property: DOP, { title, nestedKey, component, }?: {
38
37
  title?: React.ReactNode;
39
38
  nestedKey?: string;
40
39
  component?: React.ComponentType<DisplayInterface<any>>;
41
40
  }): SeraColumn<R>;
42
- export declare function makeTableColumnFromNestedProperty<R>(db: DB, entityRoutes: EntityRoutes, property: DOP, nestedProperty: DOP, { title, nestedKey, component, }?: {
41
+ export declare function makeTableColumnFromNestedProperty<R>(db: DB, property: DOP, nestedProperty: DOP, { title, nestedKey, component, }?: {
43
42
  title?: React.ReactNode;
44
43
  nestedKey?: string;
45
44
  component?: React.ComponentType<DisplayInterface<any>>;
46
45
  }): SeraColumn<R>;
47
- export declare function makeTableColumns<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>, PF extends keyof R, F extends keyof DR, ST extends SchemaType<ID, R, DR, PF, F>, OR>(db: DB, schema: Schema<ID, R, DR, PF, F, ST> | EmbeddedSchema<R, DR, PF, F>, entityRoutes: EntityRoutes, selectedColumns: (PF | SeraColumn<OR>)[], options?: {
46
+ export declare function makeTableColumns<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>, PF extends keyof R, F extends keyof DR, ST extends SchemaType<ID, R, DR, PF, F>, OR>(db: DB, schema: Schema<ID, R, DR, PF, F, ST> | EmbeddedSchema<R, DR, PF, F>, selectedColumns: (PF | SeraColumn<OR>)[], options?: {
48
47
  nestedKey?: string;
49
48
  }): SeraColumn<OR>[];
50
- export declare function makeEmbeddedTableColumns<R extends GenericEmbeddedRecord<DR>, DR extends DraftEmbeddedRecord, PF extends keyof R, F extends keyof DR, OR>(db: DB, schema: EmbeddedSchema<R, DR, PF, F>, entityRoutes: EntityRoutes, selectedColumns?: (PF | SeraColumn<OR>)[], options?: {
49
+ export declare function makeEmbeddedTableColumns<R extends GenericEmbeddedRecord<DR>, DR extends DraftEmbeddedRecord, PF extends keyof R, F extends keyof DR, OR>(db: DB, schema: EmbeddedSchema<R, DR, PF, F>, selectedColumns?: (PF | SeraColumn<OR>)[], options?: {
51
50
  nestedKey?: string;
52
51
  }): SeraColumn<OR>[];
53
52
  export declare function isSeraColumn<R>(column: SeraColumn<R> | any): column is SeraColumn<R>;
@@ -0,0 +1,40 @@
1
+ import { ClassName } from 'sera-db';
2
+ export declare enum Permission {
3
+ Allow = 0,
4
+ Denied = 1,
5
+ Pending = 2
6
+ }
7
+ export type NavigateFunction = (path: string) => void;
8
+ export interface NoArgsRoute {
9
+ path(): {
10
+ open: (navigate: NavigateFunction) => void;
11
+ };
12
+ getURL(): string;
13
+ }
14
+ export interface EntityRoute {
15
+ path({ urlArgs }: {
16
+ urlArgs: {
17
+ id: string | number;
18
+ };
19
+ }): {
20
+ open: (navigate: NavigateFunction) => void;
21
+ };
22
+ getURL({ urlArgs }: {
23
+ urlArgs: {
24
+ id: string | number;
25
+ };
26
+ }): string;
27
+ }
28
+ export interface EntityRoutes extends Record<ClassName, {
29
+ view: EntityRoute;
30
+ edit: EntityRoute;
31
+ }> {
32
+ }
33
+ export type LinkComponent = React.FunctionComponent<{
34
+ path: EntityRoute;
35
+ urlArgs: {
36
+ id: string | number;
37
+ };
38
+ openInNewPage?: boolean;
39
+ children?: React.ReactNode;
40
+ }>;
@@ -1,5 +1,5 @@
1
1
  import { DataProperty, DraftRecord, GenericRecord, ObjectProperty, Schema, SchemaType, Table } from 'sera-db';
2
- import { DisplayInterface, EntityRoutes } from '../data/display';
2
+ import { DisplayInterface } from '../data/display';
3
3
  export interface FieldGroup<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>, PF extends keyof R, F extends keyof DR, ST extends SchemaType<ID, R, DR, PF, F>> {
4
4
  name?: string;
5
5
  fields: (ST["allProperties"] | {
@@ -14,7 +14,6 @@ export interface SeraViewProps<ID extends string | number, R extends GenericReco
14
14
  record: R;
15
15
  styles?: React.CSSProperties;
16
16
  className?: string;
17
- entityRoutes: EntityRoutes;
18
17
  }
19
18
  export declare const SeraView: <ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>, PF extends keyof R, F extends keyof DR, ST extends SchemaType<ID, R, DR, PF, F>>(props: SeraViewProps<ID, R, DR, PF, F, ST>) => import("react/jsx-runtime").JSX.Element;
20
- export declare function makeFieldDisplay<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>>(props: (DataProperty | ObjectProperty)[], entityRoutes: EntityRoutes, display?: React.ComponentType<DisplayInterface<any>>): (store: Table<ID, R, DR>, record: R) => React.ReactNode;
19
+ export declare function makeFieldDisplay<ID extends string | number, R extends GenericRecord<ID, DR>, DR extends DraftRecord<ID>>(props: (DataProperty | ObjectProperty)[], display?: React.ComponentType<DisplayInterface<any>>): (store: Table<ID, R, DR>, record: R) => React.ReactNode;