master-data-management-react 0.0.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.
Files changed (48) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -0
  3. package/dist/App.d.ts +6 -0
  4. package/dist/App.d.ts.map +1 -0
  5. package/dist/components/Pagination/Pagination.d.ts +9 -0
  6. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  7. package/dist/components/Pagination/index.d.ts +2 -0
  8. package/dist/components/Pagination/index.d.ts.map +1 -0
  9. package/dist/components/ServerSideGrid/ServerSideGrid.d.ts +33 -0
  10. package/dist/components/ServerSideGrid/ServerSideGrid.d.ts.map +1 -0
  11. package/dist/components/ServerSideGrid/index.d.ts +3 -0
  12. package/dist/components/ServerSideGrid/index.d.ts.map +1 -0
  13. package/dist/components/ServerSideGrid/styles.d.ts +13 -0
  14. package/dist/components/ServerSideGrid/styles.d.ts.map +1 -0
  15. package/dist/config/index.d.ts +6 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/constants/api.constants.d.ts +59 -0
  18. package/dist/constants/api.constants.d.ts.map +1 -0
  19. package/dist/constants/form.constants.d.ts +73 -0
  20. package/dist/constants/form.constants.d.ts.map +1 -0
  21. package/dist/constants/grid.constants.d.ts +56 -0
  22. package/dist/constants/grid.constants.d.ts.map +1 -0
  23. package/dist/constants/index.d.ts +10 -0
  24. package/dist/constants/index.d.ts.map +1 -0
  25. package/dist/constants/routes.constants.d.ts +32 -0
  26. package/dist/constants/routes.constants.d.ts.map +1 -0
  27. package/dist/constants/ui.constants.d.ts +111 -0
  28. package/dist/constants/ui.constants.d.ts.map +1 -0
  29. package/dist/contexts/MasterDataContext.d.ts +51 -0
  30. package/dist/contexts/MasterDataContext.d.ts.map +1 -0
  31. package/dist/hooks/useApiService.d.ts +8 -0
  32. package/dist/hooks/useApiService.d.ts.map +1 -0
  33. package/dist/index.cjs +11 -0
  34. package/dist/index.d.ts +18 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +3195 -0
  37. package/dist/main.d.ts +2 -0
  38. package/dist/main.d.ts.map +1 -0
  39. package/dist/master-data-management-react.css +1 -0
  40. package/dist/pages/MasterForm/MasterForm.d.ts +4 -0
  41. package/dist/pages/MasterForm/MasterForm.d.ts.map +1 -0
  42. package/dist/pages/MasterView/MasterView.d.ts +4 -0
  43. package/dist/pages/MasterView/MasterView.d.ts.map +1 -0
  44. package/dist/pages/index.d.ts +3 -0
  45. package/dist/pages/index.d.ts.map +1 -0
  46. package/dist/routes/AppRoutes.d.ts +3 -0
  47. package/dist/routes/AppRoutes.d.ts.map +1 -0
  48. package/package.json +65 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Master Data Management – Minimal Config Context
3
+ * Only exposes what a package consumer SHOULD control
4
+ */
5
+ import type { ReactNode } from 'react';
6
+ import type { AxiosInstance } from 'axios';
7
+ export interface ApiServiceFunctions {
8
+ getEntities?: () => Promise<any>;
9
+ getMetadata?: (entity: string) => Promise<any>;
10
+ getRecords?: (entity: string, params?: any) => Promise<any>;
11
+ getRecord?: (entity: string, id: string | number) => Promise<any>;
12
+ createRecord?: (entity: string, data: any) => Promise<any>;
13
+ updateRecord?: (entity: string, id: string | number, data: any) => Promise<any>;
14
+ deleteRecord?: (entity: string, id: string | number) => Promise<any>;
15
+ exportCSV?: (entity: string, params?: any) => Promise<any>;
16
+ exportExcel?: (entity: string, params?: any) => Promise<any>;
17
+ }
18
+ export interface ApiEndpointsConfig {
19
+ entities: string;
20
+ metadata: (entity: string) => string;
21
+ records: (entity: string) => string;
22
+ recordById: (entity: string, id: string | number) => string;
23
+ exportCSV: (entity: string) => string;
24
+ exportExcel: (entity: string) => string;
25
+ }
26
+ export interface RouteConfig {
27
+ basePath: string;
28
+ entityNew: (entity: string) => string;
29
+ entityView: (entity: string, id: string | number) => string;
30
+ entityEdit: (entity: string, id: string | number) => string;
31
+ }
32
+ export interface MasterDataConfig {
33
+ apiClient?: AxiosInstance;
34
+ apiEndpoints?: Partial<ApiEndpointsConfig>;
35
+ apiService?: ApiServiceFunctions;
36
+ routes?: Partial<RouteConfig>;
37
+ }
38
+ export interface MasterDataContextValue {
39
+ apiClient?: AxiosInstance;
40
+ apiEndpoints: ApiEndpointsConfig;
41
+ routes: RouteConfig;
42
+ apiService?: ApiServiceFunctions;
43
+ }
44
+ interface MasterDataProviderProps {
45
+ config?: MasterDataConfig;
46
+ children: ReactNode;
47
+ }
48
+ export declare const MasterDataProvider: ({ config, children, }: MasterDataProviderProps) => import("react/jsx-runtime").JSX.Element;
49
+ export declare const useMasterDataConfig: () => MasterDataContextValue;
50
+ export {};
51
+ //# sourceMappingURL=MasterDataContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasterDataContext.d.ts","sourceRoot":"","sources":["../../src/contexts/MasterDataContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAClE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC9D;AAMD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAeD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;CAC7D;AAaD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC/B;AAMD,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,YAAY,EAAE,kBAAkB,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAYD,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,uBAGhC,uBAAuB,4CAmBzB,CAAC;AAMF,eAAO,MAAM,mBAAmB,8BAU/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * API Service Hook
3
+ * Provides default API implementations using context config
4
+ * Can be fully overridden via apiService in config
5
+ */
6
+ import type { ApiServiceFunctions } from '../contexts/MasterDataContext';
7
+ export declare const useApiService: () => Required<ApiServiceFunctions>;
8
+ //# sourceMappingURL=useApiService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useApiService.d.ts","sourceRoot":"","sources":["../../src/hooks/useApiService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,eAAO,MAAM,aAAa,QAAO,QAAQ,CAAC,mBAAmB,CAgB5D,CAAC"}
package/dist/index.cjs ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("react"),te=require("react-router-dom"),h=require("@mui/material"),mn=require("ag-grid-react"),Ie=require("ag-grid-community");var Ce={exports:{}},me={};var ct;function hn(){if(ct)return me;ct=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,s,o){var a=null;if(o!==void 0&&(a=""+o),s.key!==void 0&&(a=""+s.key),"key"in s){o={};for(var l in s)l!=="key"&&(o[l]=s[l])}else o=s;return s=o.ref,{$$typeof:e,type:r,key:a,ref:s!==void 0?s:null,props:o}}return me.Fragment=t,me.jsx=n,me.jsxs=n,me}var he={};var ut;function Tn(){return ut||(ut=1,process.env.NODE_ENV!=="production"&&(function(){function e(c){if(c==null)return null;if(typeof c=="function")return c.$$typeof===D?null:c.displayName||c.name||null;if(typeof c=="string")return c;switch(c){case T:return"Fragment";case v:return"Profiler";case w:return"StrictMode";case H:return"Suspense";case B:return"SuspenseList";case O:return"Activity"}if(typeof c=="object")switch(typeof c.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),c.$$typeof){case A:return"Portal";case P:return c.displayName||"Context";case L:return(c._context.displayName||"Context")+".Consumer";case j:var _=c.render;return c=c.displayName,c||(c=_.displayName||_.name||"",c=c!==""?"ForwardRef("+c+")":"ForwardRef"),c;case g:return _=c.displayName||null,_!==null?_:e(c.type)||"Memo";case y:_=c._payload,c=c._init;try{return e(c(_))}catch{}}return null}function t(c){return""+c}function n(c){try{t(c);var _=!1}catch{_=!0}if(_){_=console;var E=_.error,R=typeof Symbol=="function"&&Symbol.toStringTag&&c[Symbol.toStringTag]||c.constructor.name||"Object";return E.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",R),t(c)}}function r(c){if(c===T)return"<>";if(typeof c=="object"&&c!==null&&c.$$typeof===y)return"<...>";try{var _=e(c);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function s(){var c=$.A;return c===null?null:c.getOwner()}function o(){return Error("react-stack-top-frame")}function a(c){if(F.call(c,"key")){var _=Object.getOwnPropertyDescriptor(c,"key").get;if(_&&_.isReactWarning)return!1}return c.key!==void 0}function l(c,_){function E(){V||(V=!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)",_))}E.isReactWarning=!0,Object.defineProperty(c,"key",{get:E,configurable:!0})}function m(){var c=e(this.type);return ne[c]||(ne[c]=!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.")),c=this.props.ref,c!==void 0?c:null}function d(c,_,E,R,N,G){var b=E.ref;return c={$$typeof:f,type:c,key:_,props:E,_owner:R},(b!==void 0?b:null)!==null?Object.defineProperty(c,"ref",{enumerable:!1,get:m}):Object.defineProperty(c,"ref",{enumerable:!1,value:null}),c._store={},Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(c,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(c,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:N}),Object.defineProperty(c,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:G}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}function u(c,_,E,R,N,G){var b=_.children;if(b!==void 0)if(R)if(Y(b)){for(R=0;R<b.length;R++)S(b[R]);Object.freeze&&Object.freeze(b)}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 S(b);if(F.call(_,"key")){b=e(c);var U=Object.keys(_).filter(function(xe){return xe!=="key"});R=0<U.length?"{key: someKey, "+U.join(": ..., ")+": ...}":"{key: someKey}",ie[b+R]||(U=0<U.length?"{"+U.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
+ let props = %s;
3
+ <%s {...props} />
4
+ React keys must be passed directly to JSX without using spread:
5
+ let props = %s;
6
+ <%s key={someKey} {...props} />`,R,b,U,b),ie[b+R]=!0)}if(b=null,E!==void 0&&(n(E),b=""+E),a(_)&&(n(_.key),b=""+_.key),"key"in _){E={};for(var K in _)K!=="key"&&(E[K]=_[K])}else E=_;return b&&l(E,typeof c=="function"?c.displayName||c.name||"Unknown":c),d(c,b,E,s(),N,G)}function S(c){I(c)?c._store&&(c._store.validated=1):typeof c=="object"&&c!==null&&c.$$typeof===y&&(c._payload.status==="fulfilled"?I(c._payload.value)&&c._payload.value._store&&(c._payload.value._store.validated=1):c._store&&(c._store.validated=1))}function I(c){return typeof c=="object"&&c!==null&&c.$$typeof===f}var M=C,f=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),T=Symbol.for("react.fragment"),w=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),L=Symbol.for("react.consumer"),P=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),B=Symbol.for("react.suspense_list"),g=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),D=Symbol.for("react.client.reference"),$=M.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=Object.prototype.hasOwnProperty,Y=Array.isArray,Q=console.createTask?console.createTask:function(){return null};M={react_stack_bottom_frame:function(c){return c()}};var V,ne={},J=M.react_stack_bottom_frame.bind(M,o)(),ae=Q(r(o)),ie={};he.Fragment=T,he.jsx=function(c,_,E){var R=1e4>$.recentlyCreatedOwnerStacks++;return u(c,_,E,!1,R?Error("react-stack-top-frame"):J,R?Q(r(c)):ae)},he.jsxs=function(c,_,E){var R=1e4>$.recentlyCreatedOwnerStacks++;return u(c,_,E,!0,R?Error("react-stack-top-frame"):J,R?Q(r(c)):ae)}})()),he}var dt;function Sn(){return dt||(dt=1,process.env.NODE_ENV==="production"?Ce.exports=hn():Ce.exports=Tn()),Ce.exports}var p=Sn();const Rn={entities:"/master/entities",metadata:e=>`/master/${e}/metadata`,records:e=>`/master/${e}/records`,recordById:(e,t)=>`/master/${e}/records/${t}`,exportCSV:e=>`/master/${e}/export/csv`,exportExcel:e=>`/master/${e}/export/excel`},An={basePath:"/master",entityNew:e=>`/master/${e}/new`,entityView:(e,t)=>`/master/${e}/${t}`,entityEdit:(e,t)=>`/master/${e}/${t}/edit`},Dt=C.createContext(null),_n=({config:e={},children:t})=>{const n={apiClient:e.apiClient,apiEndpoints:{...Rn,...e.apiEndpoints},routes:{...An,...e.routes},apiService:e.apiService};return p.jsx(Dt.Provider,{value:n,children:t})},_e=()=>{const e=C.useContext(Dt);if(!e)throw new Error("useMasterDataConfig must be used within MasterDataProvider");return e};function Lt(e,t){return function(){return e.apply(t,arguments)}}const{toString:yn}=Object.prototype,{getPrototypeOf:nt}=Object,{iterator:ve,toStringTag:Pt}=Symbol,Ue=(e=>t=>{const n=yn.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Z=e=>(e=e.toLowerCase(),t=>Ue(t)===e),Be=e=>t=>typeof t===e,{isArray:Ee}=Array,fe=Be("undefined");function ye(e){return e!==null&&!fe(e)&&e.constructor!==null&&!fe(e.constructor)&&z(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ft=Z("ArrayBuffer");function On(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ft(e.buffer),t}const gn=Be("string"),z=Be("function"),Mt=Be("number"),Oe=e=>e!==null&&typeof e=="object",bn=e=>e===!0||e===!1,Ne=e=>{if(Ue(e)!=="object")return!1;const t=nt(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Pt in e)&&!(ve in e)},xn=e=>{if(!Oe(e)||ye(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Cn=Z("Date"),wn=Z("File"),In=Z("Blob"),Nn=Z("FileList"),Dn=e=>Oe(e)&&z(e.pipe),Ln=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||z(e.append)&&((t=Ue(e))==="formdata"||t==="object"&&z(e.toString)&&e.toString()==="[object FormData]"))},Pn=Z("URLSearchParams"),[Fn,Mn,jn,vn]=["ReadableStream","Request","Response","Headers"].map(Z),Un=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ge(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),Ee(e))for(r=0,s=e.length;r<s;r++)t.call(null,e[r],r,e);else{if(ye(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),a=o.length;let l;for(r=0;r<a;r++)l=o[r],t.call(null,e[l],l,e)}}function jt(e,t){if(ye(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,s;for(;r-- >0;)if(s=n[r],t===s.toLowerCase())return s;return null}const le=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,vt=e=>!fe(e)&&e!==le;function Ye(){const{caseless:e,skipUndefined:t}=vt(this)&&this||{},n={},r=(s,o)=>{const a=e&&jt(n,o)||o;Ne(n[a])&&Ne(s)?n[a]=Ye(n[a],s):Ne(s)?n[a]=Ye({},s):Ee(s)?n[a]=s.slice():(!t||!fe(s))&&(n[a]=s)};for(let s=0,o=arguments.length;s<o;s++)arguments[s]&&ge(arguments[s],r);return n}const Bn=(e,t,n,{allOwnKeys:r}={})=>(ge(t,(s,o)=>{n&&z(s)?e[o]=Lt(s,n):e[o]=s},{allOwnKeys:r}),e),kn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),$n=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Gn=(e,t,n,r)=>{let s,o,a;const l={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)a=s[o],(!r||r(a,e,t))&&!l[a]&&(t[a]=e[a],l[a]=!0);e=n!==!1&&nt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Hn=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Vn=e=>{if(!e)return null;if(Ee(e))return e;let t=e.length;if(!Mt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Yn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&nt(Uint8Array)),qn=(e,t)=>{const r=(e&&e[ve]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Wn=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},zn=Z("HTMLFormElement"),Xn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),ft=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Jn=Z("RegExp"),Ut=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};ge(n,(s,o)=>{let a;(a=t(s,o,e))!==!1&&(r[o]=a||s)}),Object.defineProperties(e,r)},Kn=e=>{Ut(e,(t,n)=>{if(z(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(z(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Qn=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return Ee(e)?r(e):r(String(e).split(t)),n},Zn=()=>{},er=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function tr(e){return!!(e&&z(e.append)&&e[Pt]==="FormData"&&e[ve])}const nr=e=>{const t=new Array(10),n=(r,s)=>{if(Oe(r)){if(t.indexOf(r)>=0)return;if(ye(r))return r;if(!("toJSON"in r)){t[s]=r;const o=Ee(r)?[]:{};return ge(r,(a,l)=>{const m=n(a,s+1);!fe(m)&&(o[l]=m)}),t[s]=void 0,o}}return r};return n(e,0)},rr=Z("AsyncFunction"),sr=e=>e&&(Oe(e)||z(e))&&z(e.then)&&z(e.catch),Bt=((e,t)=>e?setImmediate:t?((n,r)=>(le.addEventListener("message",({source:s,data:o})=>{s===le&&o===n&&r.length&&r.shift()()},!1),s=>{r.push(s),le.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",z(le.postMessage)),or=typeof queueMicrotask<"u"?queueMicrotask.bind(le):typeof process<"u"&&process.nextTick||Bt,ar=e=>e!=null&&z(e[ve]),i={isArray:Ee,isArrayBuffer:Ft,isBuffer:ye,isFormData:Ln,isArrayBufferView:On,isString:gn,isNumber:Mt,isBoolean:bn,isObject:Oe,isPlainObject:Ne,isEmptyObject:xn,isReadableStream:Fn,isRequest:Mn,isResponse:jn,isHeaders:vn,isUndefined:fe,isDate:Cn,isFile:wn,isBlob:In,isRegExp:Jn,isFunction:z,isStream:Dn,isURLSearchParams:Pn,isTypedArray:Yn,isFileList:Nn,forEach:ge,merge:Ye,extend:Bn,trim:Un,stripBOM:kn,inherits:$n,toFlatObject:Gn,kindOf:Ue,kindOfTest:Z,endsWith:Hn,toArray:Vn,forEachEntry:qn,matchAll:Wn,isHTMLForm:zn,hasOwnProperty:ft,hasOwnProp:ft,reduceDescriptors:Ut,freezeMethods:Kn,toObjectSet:Qn,toCamelCase:Xn,noop:Zn,toFiniteNumber:er,findKey:jt,global:le,isContextDefined:vt,isSpecCompliantForm:tr,toJSONObject:nr,isAsyncFn:rr,isThenable:sr,setImmediate:Bt,asap:or,isIterable:ar};function x(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}i.inherits(x,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:i.toJSONObject(this.config),code:this.code,status:this.status}}});const kt=x.prototype,$t={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{$t[e]={value:e}});Object.defineProperties(x,$t);Object.defineProperty(kt,"isAxiosError",{value:!0});x.from=(e,t,n,r,s,o)=>{const a=Object.create(kt);i.toFlatObject(e,a,function(u){return u!==Error.prototype},d=>d!=="isAxiosError");const l=e&&e.message?e.message:"Error",m=t==null&&e?e.code:t;return x.call(a,l,m,n,r,s),e&&a.cause==null&&Object.defineProperty(a,"cause",{value:e,configurable:!0}),a.name=e&&e.name||"Error",o&&Object.assign(a,o),a};const ir=null;function qe(e){return i.isPlainObject(e)||i.isArray(e)}function Gt(e){return i.endsWith(e,"[]")?e.slice(0,-2):e}function Et(e,t,n){return e?e.concat(t).map(function(s,o){return s=Gt(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function lr(e){return i.isArray(e)&&!e.some(qe)}const cr=i.toFlatObject(i,{},null,function(t){return/^is[A-Z]/.test(t)});function ke(e,t,n){if(!i.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=i.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(A,T){return!i.isUndefined(T[A])});const r=n.metaTokens,s=n.visitor||u,o=n.dots,a=n.indexes,m=(n.Blob||typeof Blob<"u"&&Blob)&&i.isSpecCompliantForm(t);if(!i.isFunction(s))throw new TypeError("visitor must be a function");function d(f){if(f===null)return"";if(i.isDate(f))return f.toISOString();if(i.isBoolean(f))return f.toString();if(!m&&i.isBlob(f))throw new x("Blob is not supported. Use a Buffer instead.");return i.isArrayBuffer(f)||i.isTypedArray(f)?m&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function u(f,A,T){let w=f;if(f&&!T&&typeof f=="object"){if(i.endsWith(A,"{}"))A=r?A:A.slice(0,-2),f=JSON.stringify(f);else if(i.isArray(f)&&lr(f)||(i.isFileList(f)||i.endsWith(A,"[]"))&&(w=i.toArray(f)))return A=Gt(A),w.forEach(function(L,P){!(i.isUndefined(L)||L===null)&&t.append(a===!0?Et([A],P,o):a===null?A:A+"[]",d(L))}),!1}return qe(f)?!0:(t.append(Et(T,A,o),d(f)),!1)}const S=[],I=Object.assign(cr,{defaultVisitor:u,convertValue:d,isVisitable:qe});function M(f,A){if(!i.isUndefined(f)){if(S.indexOf(f)!==-1)throw Error("Circular reference detected in "+A.join("."));S.push(f),i.forEach(f,function(w,v){(!(i.isUndefined(w)||w===null)&&s.call(t,w,i.isString(v)?v.trim():v,A,I))===!0&&M(w,A?A.concat(v):[v])}),S.pop()}}if(!i.isObject(e))throw new TypeError("data must be an object");return M(e),t}function pt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function rt(e,t){this._pairs=[],e&&ke(e,this,t)}const Ht=rt.prototype;Ht.append=function(t,n){this._pairs.push([t,n])};Ht.toString=function(t){const n=t?function(r){return t.call(this,r,pt)}:pt;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function ur(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Vt(e,t,n){if(!t)return e;const r=n&&n.encode||ur;i.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let o;if(s?o=s(t,n):o=i.isURLSearchParams(t)?t.toString():new rt(t,n).toString(r),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class mt{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){i.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Yt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},dr=typeof URLSearchParams<"u"?URLSearchParams:rt,fr=typeof FormData<"u"?FormData:null,Er=typeof Blob<"u"?Blob:null,pr={isBrowser:!0,classes:{URLSearchParams:dr,FormData:fr,Blob:Er},protocols:["http","https","file","blob","url","data"]},st=typeof window<"u"&&typeof document<"u",We=typeof navigator=="object"&&navigator||void 0,mr=st&&(!We||["ReactNative","NativeScript","NS"].indexOf(We.product)<0),hr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Tr=st&&window.location.href||"http://localhost",Sr=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:st,hasStandardBrowserEnv:mr,hasStandardBrowserWebWorkerEnv:hr,navigator:We,origin:Tr},Symbol.toStringTag,{value:"Module"})),q={...Sr,...pr};function Rr(e,t){return ke(e,new q.classes.URLSearchParams,{visitor:function(n,r,s,o){return q.isNode&&i.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Ar(e){return i.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function _r(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r<s;r++)o=n[r],t[o]=e[o];return t}function qt(e){function t(n,r,s,o){let a=n[o++];if(a==="__proto__")return!0;const l=Number.isFinite(+a),m=o>=n.length;return a=!a&&i.isArray(s)?s.length:a,m?(i.hasOwnProp(s,a)?s[a]=[s[a],r]:s[a]=r,!l):((!s[a]||!i.isObject(s[a]))&&(s[a]=[]),t(n,r,s[a],o)&&i.isArray(s[a])&&(s[a]=_r(s[a])),!l)}if(i.isFormData(e)&&i.isFunction(e.entries)){const n={};return i.forEachEntry(e,(r,s)=>{t(Ar(r),s,n,0)}),n}return null}function yr(e,t,n){if(i.isString(e))try{return(t||JSON.parse)(e),i.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const be={transitional:Yt,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=i.isObject(t);if(o&&i.isHTMLForm(t)&&(t=new FormData(t)),i.isFormData(t))return s?JSON.stringify(qt(t)):t;if(i.isArrayBuffer(t)||i.isBuffer(t)||i.isStream(t)||i.isFile(t)||i.isBlob(t)||i.isReadableStream(t))return t;if(i.isArrayBufferView(t))return t.buffer;if(i.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return Rr(t,this.formSerializer).toString();if((l=i.isFileList(t))||r.indexOf("multipart/form-data")>-1){const m=this.env&&this.env.FormData;return ke(l?{"files[]":t}:t,m&&new m,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),yr(t)):t}],transformResponse:[function(t){const n=this.transitional||be.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(i.isResponse(t)||i.isReadableStream(t))return t;if(t&&i.isString(t)&&(r&&!this.responseType||s)){const a=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(l){if(a)throw l.name==="SyntaxError"?x.from(l,x.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:q.classes.FormData,Blob:q.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};i.forEach(["delete","get","head","post","put","patch"],e=>{be.headers[e]={}});const Or=i.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),gr=e=>{const t={};let n,r,s;return e&&e.split(`
7
+ `).forEach(function(a){s=a.indexOf(":"),n=a.substring(0,s).trim().toLowerCase(),r=a.substring(s+1).trim(),!(!n||t[n]&&Or[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},ht=Symbol("internals");function Te(e){return e&&String(e).trim().toLowerCase()}function De(e){return e===!1||e==null?e:i.isArray(e)?e.map(De):String(e)}function br(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const xr=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ge(e,t,n,r,s){if(i.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!i.isString(t)){if(i.isString(r))return t.indexOf(r)!==-1;if(i.isRegExp(r))return r.test(t)}}function Cr(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function wr(e,t){const n=i.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,a){return this[r].call(this,t,s,o,a)},configurable:!0})})}let X=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(l,m,d){const u=Te(m);if(!u)throw new Error("header name must be a non-empty string");const S=i.findKey(s,u);(!S||s[S]===void 0||d===!0||d===void 0&&s[S]!==!1)&&(s[S||m]=De(l))}const a=(l,m)=>i.forEach(l,(d,u)=>o(d,u,m));if(i.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(i.isString(t)&&(t=t.trim())&&!xr(t))a(gr(t),n);else if(i.isObject(t)&&i.isIterable(t)){let l={},m,d;for(const u of t){if(!i.isArray(u))throw TypeError("Object iterator must return a key-value pair");l[d=u[0]]=(m=l[d])?i.isArray(m)?[...m,u[1]]:[m,u[1]]:u[1]}a(l,n)}else t!=null&&o(n,t,r);return this}get(t,n){if(t=Te(t),t){const r=i.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return br(s);if(i.isFunction(n))return n.call(this,s,r);if(i.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Te(t),t){const r=i.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Ge(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(a){if(a=Te(a),a){const l=i.findKey(r,a);l&&(!n||Ge(r,r[l],l,n))&&(delete r[l],s=!0)}}return i.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||Ge(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return i.forEach(this,(s,o)=>{const a=i.findKey(r,o);if(a){n[a]=De(s),delete n[o];return}const l=t?Cr(o):String(o).trim();l!==o&&delete n[o],n[l]=De(s),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return i.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&i.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
8
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[ht]=this[ht]={accessors:{}}).accessors,s=this.prototype;function o(a){const l=Te(a);r[l]||(wr(s,a),r[l]=!0)}return i.isArray(t)?t.forEach(o):o(t),this}};X.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);i.reduceDescriptors(X.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});i.freezeMethods(X);function He(e,t){const n=this||be,r=t||n,s=X.from(r.headers);let o=r.data;return i.forEach(e,function(l){o=l.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Wt(e){return!!(e&&e.__CANCEL__)}function pe(e,t,n){x.call(this,e??"canceled",x.ERR_CANCELED,t,n),this.name="CanceledError"}i.inherits(pe,x,{__CANCEL__:!0});function zt(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new x("Request failed with status code "+n.status,[x.ERR_BAD_REQUEST,x.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Ir(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Nr(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,a;return t=t!==void 0?t:1e3,function(m){const d=Date.now(),u=r[o];a||(a=d),n[s]=m,r[s]=d;let S=o,I=0;for(;S!==s;)I+=n[S++],S=S%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),d-a<t)return;const M=u&&d-u;return M?Math.round(I*1e3/M):void 0}}function Dr(e,t){let n=0,r=1e3/t,s,o;const a=(d,u=Date.now())=>{n=u,s=null,o&&(clearTimeout(o),o=null),e(...d)};return[(...d)=>{const u=Date.now(),S=u-n;S>=r?a(d,u):(s=d,o||(o=setTimeout(()=>{o=null,a(s)},r-S)))},()=>s&&a(s)]}const je=(e,t,n=3)=>{let r=0;const s=Nr(50,250);return Dr(o=>{const a=o.loaded,l=o.lengthComputable?o.total:void 0,m=a-r,d=s(m),u=a<=l;r=a;const S={loaded:a,total:l,progress:l?a/l:void 0,bytes:m,rate:d||void 0,estimated:d&&l&&u?(l-a)/d:void 0,event:o,lengthComputable:l!=null,[t?"download":"upload"]:!0};e(S)},n)},Tt=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},St=e=>(...t)=>i.asap(()=>e(...t)),Lr=q.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,q.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(q.origin),q.navigator&&/(msie|trident)/i.test(q.navigator.userAgent)):()=>!0,Pr=q.hasStandardBrowserEnv?{write(e,t,n,r,s,o,a){if(typeof document>"u")return;const l=[`${e}=${encodeURIComponent(t)}`];i.isNumber(n)&&l.push(`expires=${new Date(n).toUTCString()}`),i.isString(r)&&l.push(`path=${r}`),i.isString(s)&&l.push(`domain=${s}`),o===!0&&l.push("secure"),i.isString(a)&&l.push(`SameSite=${a}`),document.cookie=l.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Fr(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Mr(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Xt(e,t,n){let r=!Fr(t);return e&&(r||n==!1)?Mr(e,t):t}const Rt=e=>e instanceof X?{...e}:e;function ue(e,t){t=t||{};const n={};function r(d,u,S,I){return i.isPlainObject(d)&&i.isPlainObject(u)?i.merge.call({caseless:I},d,u):i.isPlainObject(u)?i.merge({},u):i.isArray(u)?u.slice():u}function s(d,u,S,I){if(i.isUndefined(u)){if(!i.isUndefined(d))return r(void 0,d,S,I)}else return r(d,u,S,I)}function o(d,u){if(!i.isUndefined(u))return r(void 0,u)}function a(d,u){if(i.isUndefined(u)){if(!i.isUndefined(d))return r(void 0,d)}else return r(void 0,u)}function l(d,u,S){if(S in t)return r(d,u);if(S in e)return r(void 0,d)}const m={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:l,headers:(d,u,S)=>s(Rt(d),Rt(u),S,!0)};return i.forEach(Object.keys({...e,...t}),function(u){const S=m[u]||s,I=S(e[u],t[u],u);i.isUndefined(I)&&S!==l||(n[u]=I)}),n}const Jt=e=>{const t=ue({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:o,headers:a,auth:l}=t;if(t.headers=a=X.from(a),t.url=Vt(Xt(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),l&&a.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),i.isFormData(n)){if(q.hasStandardBrowserEnv||q.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(i.isFunction(n.getHeaders)){const m=n.getHeaders(),d=["content-type","content-length"];Object.entries(m).forEach(([u,S])=>{d.includes(u.toLowerCase())&&a.set(u,S)})}}if(q.hasStandardBrowserEnv&&(r&&i.isFunction(r)&&(r=r(t)),r||r!==!1&&Lr(t.url))){const m=s&&o&&Pr.read(o);m&&a.set(s,m)}return t},jr=typeof XMLHttpRequest<"u",vr=jr&&function(e){return new Promise(function(n,r){const s=Jt(e);let o=s.data;const a=X.from(s.headers).normalize();let{responseType:l,onUploadProgress:m,onDownloadProgress:d}=s,u,S,I,M,f;function A(){M&&M(),f&&f(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let T=new XMLHttpRequest;T.open(s.method.toUpperCase(),s.url,!0),T.timeout=s.timeout;function w(){if(!T)return;const L=X.from("getAllResponseHeaders"in T&&T.getAllResponseHeaders()),j={data:!l||l==="text"||l==="json"?T.responseText:T.response,status:T.status,statusText:T.statusText,headers:L,config:e,request:T};zt(function(B){n(B),A()},function(B){r(B),A()},j),T=null}"onloadend"in T?T.onloadend=w:T.onreadystatechange=function(){!T||T.readyState!==4||T.status===0&&!(T.responseURL&&T.responseURL.indexOf("file:")===0)||setTimeout(w)},T.onabort=function(){T&&(r(new x("Request aborted",x.ECONNABORTED,e,T)),T=null)},T.onerror=function(P){const j=P&&P.message?P.message:"Network Error",H=new x(j,x.ERR_NETWORK,e,T);H.event=P||null,r(H),T=null},T.ontimeout=function(){let P=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const j=s.transitional||Yt;s.timeoutErrorMessage&&(P=s.timeoutErrorMessage),r(new x(P,j.clarifyTimeoutError?x.ETIMEDOUT:x.ECONNABORTED,e,T)),T=null},o===void 0&&a.setContentType(null),"setRequestHeader"in T&&i.forEach(a.toJSON(),function(P,j){T.setRequestHeader(j,P)}),i.isUndefined(s.withCredentials)||(T.withCredentials=!!s.withCredentials),l&&l!=="json"&&(T.responseType=s.responseType),d&&([I,f]=je(d,!0),T.addEventListener("progress",I)),m&&T.upload&&([S,M]=je(m),T.upload.addEventListener("progress",S),T.upload.addEventListener("loadend",M)),(s.cancelToken||s.signal)&&(u=L=>{T&&(r(!L||L.type?new pe(null,e,T):L),T.abort(),T=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const v=Ir(s.url);if(v&&q.protocols.indexOf(v)===-1){r(new x("Unsupported protocol "+v+":",x.ERR_BAD_REQUEST,e));return}T.send(o||null)})},Ur=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const o=function(d){if(!s){s=!0,l();const u=d instanceof Error?d:this.reason;r.abort(u instanceof x?u:new pe(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,o(new x(`timeout ${t} of ms exceeded`,x.ETIMEDOUT))},t);const l=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(d=>{d.unsubscribe?d.unsubscribe(o):d.removeEventListener("abort",o)}),e=null)};e.forEach(d=>d.addEventListener("abort",o));const{signal:m}=r;return m.unsubscribe=()=>i.asap(l),m}},Br=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,s;for(;r<n;)s=r+t,yield e.slice(r,s),r=s},kr=async function*(e,t){for await(const n of $r(e))yield*Br(n,t)},$r=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},At=(e,t,n,r)=>{const s=kr(e,t);let o=0,a,l=m=>{a||(a=!0,r&&r(m))};return new ReadableStream({async pull(m){try{const{done:d,value:u}=await s.next();if(d){l(),m.close();return}let S=u.byteLength;if(n){let I=o+=S;n(I)}m.enqueue(new Uint8Array(u))}catch(d){throw l(d),d}},cancel(m){return l(m),s.return()}},{highWaterMark:2})},_t=64*1024,{isFunction:we}=i,Gr=(({Request:e,Response:t})=>({Request:e,Response:t}))(i.global),{ReadableStream:yt,TextEncoder:Ot}=i.global,gt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Hr=e=>{e=i.merge.call({skipUndefined:!0},Gr,e);const{fetch:t,Request:n,Response:r}=e,s=t?we(t):typeof fetch=="function",o=we(n),a=we(r);if(!s)return!1;const l=s&&we(yt),m=s&&(typeof Ot=="function"?(f=>A=>f.encode(A))(new Ot):async f=>new Uint8Array(await new n(f).arrayBuffer())),d=o&&l&&gt(()=>{let f=!1;const A=new n(q.origin,{body:new yt,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!A}),u=a&&l&&gt(()=>i.isReadableStream(new r("").body)),S={stream:u&&(f=>f.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!S[f]&&(S[f]=(A,T)=>{let w=A&&A[f];if(w)return w.call(A);throw new x(`Response type '${f}' is not supported`,x.ERR_NOT_SUPPORT,T)})});const I=async f=>{if(f==null)return 0;if(i.isBlob(f))return f.size;if(i.isSpecCompliantForm(f))return(await new n(q.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(i.isArrayBufferView(f)||i.isArrayBuffer(f))return f.byteLength;if(i.isURLSearchParams(f)&&(f=f+""),i.isString(f))return(await m(f)).byteLength},M=async(f,A)=>{const T=i.toFiniteNumber(f.getContentLength());return T??I(A)};return async f=>{let{url:A,method:T,data:w,signal:v,cancelToken:L,timeout:P,onDownloadProgress:j,onUploadProgress:H,responseType:B,headers:g,withCredentials:y="same-origin",fetchOptions:O}=Jt(f),D=t||fetch;B=B?(B+"").toLowerCase():"text";let $=Ur([v,L&&L.toAbortSignal()],P),F=null;const Y=$&&$.unsubscribe&&(()=>{$.unsubscribe()});let Q;try{if(H&&d&&T!=="get"&&T!=="head"&&(Q=await M(g,w))!==0){let c=new n(A,{method:"POST",body:w,duplex:"half"}),_;if(i.isFormData(w)&&(_=c.headers.get("content-type"))&&g.setContentType(_),c.body){const[E,R]=Tt(Q,je(St(H)));w=At(c.body,_t,E,R)}}i.isString(y)||(y=y?"include":"omit");const V=o&&"credentials"in n.prototype,ne={...O,signal:$,method:T.toUpperCase(),headers:g.normalize().toJSON(),body:w,duplex:"half",credentials:V?y:void 0};F=o&&new n(A,ne);let J=await(o?D(F,O):D(A,ne));const ae=u&&(B==="stream"||B==="response");if(u&&(j||ae&&Y)){const c={};["status","statusText","headers"].forEach(N=>{c[N]=J[N]});const _=i.toFiniteNumber(J.headers.get("content-length")),[E,R]=j&&Tt(_,je(St(j),!0))||[];J=new r(At(J.body,_t,E,()=>{R&&R(),Y&&Y()}),c)}B=B||"text";let ie=await S[i.findKey(S,B)||"text"](J,f);return!ae&&Y&&Y(),await new Promise((c,_)=>{zt(c,_,{data:ie,headers:X.from(J.headers),status:J.status,statusText:J.statusText,config:f,request:F})})}catch(V){throw Y&&Y(),V&&V.name==="TypeError"&&/Load failed|fetch/i.test(V.message)?Object.assign(new x("Network Error",x.ERR_NETWORK,f,F),{cause:V.cause||V}):x.from(V,V&&V.code,f,F)}}},Vr=new Map,Kt=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,o=[r,s,n];let a=o.length,l=a,m,d,u=Vr;for(;l--;)m=o[l],d=u.get(m),d===void 0&&u.set(m,d=l?new Map:Hr(t)),u=d;return d};Kt();const ot={http:ir,xhr:vr,fetch:{get:Kt}};i.forEach(ot,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const bt=e=>`- ${e}`,Yr=e=>i.isFunction(e)||e===null||e===!1;function qr(e,t){e=i.isArray(e)?e:[e];const{length:n}=e;let r,s;const o={};for(let a=0;a<n;a++){r=e[a];let l;if(s=r,!Yr(r)&&(s=ot[(l=String(r)).toLowerCase()],s===void 0))throw new x(`Unknown adapter '${l}'`);if(s&&(i.isFunction(s)||(s=s.get(t))))break;o[l||"#"+a]=s}if(!s){const a=Object.entries(o).map(([m,d])=>`adapter ${m} `+(d===!1?"is not supported by the environment":"is not available in the build"));let l=n?a.length>1?`since :
9
+ `+a.map(bt).join(`
10
+ `):" "+bt(a[0]):"as no adapter specified";throw new x("There is no suitable adapter to dispatch the request "+l,"ERR_NOT_SUPPORT")}return s}const Qt={getAdapter:qr,adapters:ot};function Ve(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new pe(null,e)}function xt(e){return Ve(e),e.headers=X.from(e.headers),e.data=He.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Qt.getAdapter(e.adapter||be.adapter,e)(e).then(function(r){return Ve(e),r.data=He.call(e,e.transformResponse,r),r.headers=X.from(r.headers),r},function(r){return Wt(r)||(Ve(e),r&&r.response&&(r.response.data=He.call(e,e.transformResponse,r.response),r.response.headers=X.from(r.response.headers))),Promise.reject(r)})}const Zt="1.13.2",$e={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{$e[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Ct={};$e.transitional=function(t,n,r){function s(o,a){return"[Axios v"+Zt+"] Transitional option '"+o+"'"+a+(r?". "+r:"")}return(o,a,l)=>{if(t===!1)throw new x(s(a," has been removed"+(n?" in "+n:"")),x.ERR_DEPRECATED);return n&&!Ct[a]&&(Ct[a]=!0,console.warn(s(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,a,l):!0}};$e.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function Wr(e,t,n){if(typeof e!="object")throw new x("options must be an object",x.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],a=t[o];if(a){const l=e[o],m=l===void 0||a(l,o,e);if(m!==!0)throw new x("option "+o+" must be "+m,x.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new x("Unknown option "+o,x.ERR_BAD_OPTION)}}const Le={assertOptions:Wr,validators:$e},ee=Le.validators;let ce=class{constructor(t){this.defaults=t||{},this.interceptors={request:new mt,response:new mt}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const o=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?o&&!String(r.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(r.stack+=`
11
+ `+o):r.stack=o}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ue(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Le.assertOptions(r,{silentJSONParsing:ee.transitional(ee.boolean),forcedJSONParsing:ee.transitional(ee.boolean),clarifyTimeoutError:ee.transitional(ee.boolean)},!1),s!=null&&(i.isFunction(s)?n.paramsSerializer={serialize:s}:Le.assertOptions(s,{encode:ee.function,serialize:ee.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Le.assertOptions(n,{baseUrl:ee.spelling("baseURL"),withXsrfToken:ee.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=o&&i.merge(o.common,o[n.method]);o&&i.forEach(["delete","get","head","post","put","patch","common"],f=>{delete o[f]}),n.headers=X.concat(a,o);const l=[];let m=!0;this.interceptors.request.forEach(function(A){typeof A.runWhen=="function"&&A.runWhen(n)===!1||(m=m&&A.synchronous,l.unshift(A.fulfilled,A.rejected))});const d=[];this.interceptors.response.forEach(function(A){d.push(A.fulfilled,A.rejected)});let u,S=0,I;if(!m){const f=[xt.bind(this),void 0];for(f.unshift(...l),f.push(...d),I=f.length,u=Promise.resolve(n);S<I;)u=u.then(f[S++],f[S++]);return u}I=l.length;let M=n;for(;S<I;){const f=l[S++],A=l[S++];try{M=f(M)}catch(T){A.call(this,T);break}}try{u=xt.call(this,M)}catch(f){return Promise.reject(f)}for(S=0,I=d.length;S<I;)u=u.then(d[S++],d[S++]);return u}getUri(t){t=ue(this.defaults,t);const n=Xt(t.baseURL,t.url,t.allowAbsoluteUrls);return Vt(n,t.params,t.paramsSerializer)}};i.forEach(["delete","get","head","options"],function(t){ce.prototype[t]=function(n,r){return this.request(ue(r||{},{method:t,url:n,data:(r||{}).data}))}});i.forEach(["post","put","patch"],function(t){function n(r){return function(o,a,l){return this.request(ue(l||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:o,data:a}))}}ce.prototype[t]=n(),ce.prototype[t+"Form"]=n(!0)});let zr=class en{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(o){n=o});const r=this;this.promise.then(s=>{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const a=new Promise(l=>{r.subscribe(l),o=l}).then(s);return a.cancel=function(){r.unsubscribe(o)},a},t(function(o,a,l){r.reason||(r.reason=new pe(o,a,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new en(function(s){t=s}),cancel:t}}};function Xr(e){return function(n){return e.apply(null,n)}}function Jr(e){return i.isObject(e)&&e.isAxiosError===!0}const ze={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ze).forEach(([e,t])=>{ze[t]=e});function tn(e){const t=new ce(e),n=Lt(ce.prototype.request,t);return i.extend(n,ce.prototype,t,{allOwnKeys:!0}),i.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return tn(ue(e,s))},n}const k=tn(be);k.Axios=ce;k.CanceledError=pe;k.CancelToken=zr;k.isCancel=Wt;k.VERSION=Zt;k.toFormData=ke;k.AxiosError=x;k.Cancel=k.CanceledError;k.all=function(t){return Promise.all(t)};k.spread=Xr;k.isAxiosError=Jr;k.mergeConfig=ue;k.AxiosHeaders=X;k.formToJSON=e=>qt(i.isHTMLForm(e)?new FormData(e):e);k.getAdapter=Qt.getAdapter;k.HttpStatusCode=ze;k.default=k;const{Axios:Ds,AxiosError:Ls,CanceledError:Ps,isCancel:Fs,CancelToken:Ms,VERSION:js,all:vs,Cancel:Us,isAxiosError:Bs,spread:ks,toFormData:$s,AxiosHeaders:Gs,HttpStatusCode:Hs,formToJSON:Vs,getAdapter:Ys,mergeConfig:qs}=k,at=()=>{const{apiClient:e,apiEndpoints:t,apiService:n}=_e(),r=e||k.create();return n?{...wt(r,t),...n}:wt(r,t)};function wt(e,t){return{getEntities:async()=>{const n=await e.get(t.entities);return{data:n.data.data??n.data}},getMetadata:async n=>{const r=await e.get(t.metadata(n));return{data:r.data.data??r.data}},getRecords:async(n,r)=>{const s=await e.get(t.records(n),{params:r});return{data:s.data.data??s.data,total:s.data.total??s.data.count??0}},getRecord:async(n,r)=>{const s=await e.get(t.recordById(n,r));return{data:s.data.data??s.data}},createRecord:async(n,r)=>{const s=await e.post(t.records(n),r);return{data:s.data.data??s.data}},updateRecord:async(n,r,s)=>{const o=await e.put(t.recordById(n,r),s);return{data:o.data.data??o.data}},deleteRecord:async(n,r)=>{const s=await e.delete(t.recordById(n,r));return{data:s.data.data??s.data}},exportCSV:async(n,r)=>(await e.get(t.exportCSV(n),{params:r,responseType:"blob"})).data,exportExcel:async(n,r)=>(await e.get(t.exportExcel(n),{params:r,responseType:"blob"})).data}}const Kr=h.styled(h.Box)(({theme:e})=>({width:"100%",fontFamily:e.typography.fontFamily})),It=h.styled("div")(({theme:e})=>({width:"100%","& .ag-header":{borderRadius:"8px 8px 0 0"},"& .ag-theme-alpine":{fontFamily:e.typography.fontFamily},"& .ag-header-cell-text":{fontSize:"14px",fontWeight:400,color:"#333"},"& .ag-cell":{fontSize:"14px",fontWeight:400,color:"#000",padding:"12px 16px"},"& .right-aligned-cell":{textAlign:"right"},"& .right-aligned-clickable-cell":{textAlign:"right",cursor:"pointer",color:"#1976d2",textDecoration:"underline"},"& .ag-header-cell.right-aligned-header":{justifyContent:"flex-end"},"& .ag-header-cell.right-aligned-header .ag-header-cell-label":{justifyContent:"flex-end",display:"flex",width:"100%"},"& .ag-cell:focus, .ag-cell:focus-within":{border:"1px solid transparent !important"}}));h.styled(h.Box)(()=>({position:"fixed",inset:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1301,background:"rgba(255, 255, 255, 0.5)"}));const Qr=h.styled(h.Box)(({theme:e})=>({display:"flex",justifyContent:"flex-end",marginTop:"16px",gap:"16px",[e.breakpoints.down("md")]:{flexWrap:"wrap",justifyContent:"center",gap:"12px"},[e.breakpoints.down("sm")]:{flexDirection:"column",alignItems:"center",gap:"16px"}})),Zr=h.styled(h.Select)(()=>({fontSize:"14px",border:"none",boxShadow:"none",".MuiOutlinedInput-notchedOutline":{border:"none"},padding:"0px","& .MuiSelect-icon":{right:0},"& .MuiInputBase-input":{padding:0,paddingLeft:"8px",paddingRight:"32px !important"}})),es=h.styled(h.Box)(({height:e})=>({...e!==void 0&&{height:`${e}px`},"&.ag-theme-alpine":{border:"none !important"},".ag-root-wrapper":{border:"none !important"},".ag-header":{borderBottom:"none !important",backgroundColor:"#f5f5f5"},".ag-body-viewport":{border:"none !important"},".ag-header-cell img[alt='sort']":{display:"none",opacity:0,transition:"opacity 0.2s ease, visibility 0.2s ease"},".ag-header-cell:hover img[alt='sort']":{display:"block",opacity:1},".ag-row.ag-row-pinned":{borderBottom:"2px solid #e0e0e0"},".ag-header-cell":{display:"flex",alignItems:"center",justifyContent:"space-between"}})),ts=h.styled(h.FormControl)(({theme:e})=>({display:"flex",flexDirection:"row",alignItems:"center",[e.breakpoints.down("sm")]:{flexWrap:"wrap",justifyContent:"center",gap:"8px"}})),Nt=h.styled(h.Box)(({theme:e})=>({fontWeight:300,fontSize:"14px",[e.breakpoints.down("sm")]:{fontSize:"12px"}})),nn={DEFAULT_HEIGHT:500,MIN_HEIGHT:300,MAX_HEIGHT:800,DEFAULT_ROW_HEIGHT:50},ns={DEFAULT_PAGE:1,DEFAULT_PAGE_SIZE:10,PAGE_SIZE_OPTIONS:[10,20,50,100],MIN_PAGE:1},rs={ASC:"asc",DESC:"desc"},rn={UI_COLUMN_SORTED:"uiColumnSorted",API:"api",COLUMN_MOVED:"columnMoved"},Xe={NORMAL:"normal",AUTO_HEIGHT:"autoHeight"},it={CLIENT_SIDE:"clientSide",SERVER_SIDE:"serverSide",INFINITE:"infinite",VIEWPORT:"viewport"},ss={DEFAULT_FLEX:1,ACTION_COLUMN_WIDTH:150,SORTABLE:!0,FILTER:!1},sn={NO_DATA:"N/A",LOADING:"Loading...",NO_RECORDS:"No records found"},on={AG_THEME_ALPINE:"ag-theme-alpine",AG_THEME_BALHAM:"ag-theme-balham",AG_THEME_MATERIAL:"ag-theme-material"},an={URL_REVOKE:100};Ie.ModuleRegistry.registerModules([Ie.ClientSideRowModelModule,Ie.AllCommunityModule]);const ln=({rows:e,totalRecords:t,currentPage:n,loading:r,onPageChange:s,columns:o,pageSize:a,pageSizeOptions:l,onPageSizeChange:m,setSort:d,sortModel:u,height:S=nn.DEFAULT_HEIGHT,domLayout:I=Xe.NORMAL,getRowHeight:M,pinnedBottomRowData:f,showLoader:A=!0,emptyDataMessage:T,...w})=>{const v=C.useRef(null),L=C.useRef([]),P=j=>{if(j.source!==rn.UI_COLUMN_SORTED||(console.log("Sort Changed Event (User Initiated):",j),!d))return;const H=j.api.getColumnState().filter(g=>g.sort).map(g=>({colId:g.colId,sort:g.sort}));console.log("New Sort Model:",H),JSON.stringify(H)!==JSON.stringify(L.current)&&(L.current=H,d(H))};return A&&r?p.jsx(It,{style:{display:"flex",alignItems:"center",justifyContent:"center",height:S,minHeight:120},children:p.jsx(h.CircularProgress,{})}):p.jsx(It,{"data-testid":"ServerSideGrid",className:on.AG_THEME_ALPINE,children:p.jsxs(Kr,{children:[p.jsx(es,{height:I===Xe.AUTO_HEIGHT?void 0:S,children:p.jsx(mn.AgGridReact,{ref:v,theme:"legacy",columnDefs:o,rowData:e,pinnedBottomRowData:f,domLayout:I,rowModelType:it.CLIENT_SIDE,modules:[Ie.ClientSideRowModelModule],localeText:{noRowsToShow:T||"No data to show"},...w,enableBrowserTooltips:!0,suppressMovableColumns:!0,suppressMenuHide:!0,onSortChanged:P,multiSortKey:"ctrl",alwaysMultiSort:!0,defaultColDef:{width:170,sortable:!0,unSortIcon:!0,tooltipValueGetter:j=>j.value??sn.NO_DATA},suppressRowTransform:!0,getRowHeight:M??(()=>54),maintainColumnOrder:!0,initialState:u&&u.length>0?{sort:{sortModel:u.map(j=>({colId:j.colId,sort:j.sort}))}}:void 0})}),t===0&&p.jsx(h.Divider,{})]})})},cn=({totalRecords:e,currentPage:t,pageSize:n,onPageChange:r})=>{const s=Math.ceil(e/n);return p.jsxs(h.Box,{sx:{display:"flex",gap:2,alignItems:"center"},children:[p.jsx(h.Button,{size:"small",disabled:t===1,onClick:()=>r(t-1),children:"Previous"}),p.jsxs(h.Typography,{variant:"body2",children:["Page ",t," of ",s||1]}),p.jsx(h.Button,{size:"small",disabled:t>=s,onClick:()=>r(t+1),children:"Next"})]})},Re={MASTER_DATA_MANAGEMENT:"Master Data Management",ADD_NEW_RECORD:"Add New Record",EDIT_RECORD:"Edit Record",VIEW_RECORD:"View Record"},oe={VIEW:"View",ADD_NEW_RECORD:"Add New Record",EDIT:"Edit",CREATE:"Create",UPDATE:"Update",CANCEL:"Cancel",BACK:"Back",EXPORT:"Export"},Pe={SELECT_ENTITY:"Select Entity",ACTIONS:"Actions",FROM:"From",TO:"To"},de={SELECT_ENTITY:"Select Entity",SELECT:e=>`Select ${e}`,FILTER_BY:e=>`Filter by ${e}`},Je={CSV:"CSV Format",EXCEL:"Excel Format"},Ke={CSV:"csv",EXCEL:"xlsx"},se={FAILED_LOAD_ENTITIES:"Failed to load entities",FAILED_LOAD_METADATA:"Failed to load metadata",FAILED_LOAD_RECORD:"Failed to load record",FAILED_FETCH_LIST:"Failed to fetch list",FAILED_SAVE_RECORD:"Failed to save record. Please try again.",FAILED_EXPORT_CSV:"Failed to export CSV",FAILED_EXPORT_EXCEL:"Failed to export Excel",FAILED_LOAD_OPTIONS:e=>`Failed to load options for ${e}`,FAILED_LOAD_FORM_CONFIG:"Failed to load form configuration",FIELD_REQUIRED:e=>`${e} is required`,FIELD_MIN_VALUE:(e,t)=>`${e} must be at least ${t}`,FIELD_MAX_VALUE:(e,t)=>`${e} must be at most ${t}`},os={RECORD_CREATED:"Record created successfully",RECORD_UPDATED:"Record updated successfully",RECORD_DELETED:"Record deleted successfully"},as={REQUIRED:"This field is required",INVALID_FORMAT:"Invalid format"},is={NO_DATA_AVAILABLE:"N/A",NO_RECORDS_FOUND:"No records found"},ls={LOADING:"Loading...",PLEASE_WAIT:"Please wait..."},Fe={SHOWING:"Showing",OF:"of",ENTRIES:"entries"},cs={MASTER_VIEW:"master-view",MASTER_FORM:"master-form",FILTER_SECTION:"filter-section",FORM_SECTION:"form-section",FILTERS:"filters",FILTER_FIELD:"filter-field",FORM_FIELD:"form-field",FIELD_LABEL:"field-label",FIELD_INPUT:"field-input",ACTION_BUTTONS:"action-buttons",FORM_FIELDS:"form-fields",LOADING_CONTAINER:"loading-container"},us={DEFAULT_TABLE_HEIGHT:500,DEFAULT_PAGE_SIZE:10,DEFAULT_COLUMN_WIDTH:150,MIN_HEIGHT_LOADING:"400px",ACTION_BUTTON_GAP:1,FORM_MARGIN_TOP:3,FORM_MARGIN_BOTTOM:2},Qe=[10,20,50,100],un=" *",dn="red",fn="_display",ds={ISO_DATE:"YYYY-MM-DD",DISPLAY_DATE:"DD/MM/YYYY",FILE_DATE:"YYYY-MM-DD"},fs={PAGE_SIZE:"Page size"},Es={BASE_URL:"http://localhost:3000",TIMEOUT:3e4,HEADERS:{CONTENT_TYPE:"application/json"}},ps={MASTER:"/master"},ms={ENTITIES:"/master/entities",ENTITY_METADATA:e=>`/master/${e}/metadata`,ENTITY_RECORDS:e=>`/master/${e}/records`,ENTITY_RECORD_BY_ID:(e,t)=>`/master/${e}/records/${t}`,ENTITY_OPTIONS:e=>`/master/${e}/options`,EXPORT_CSV:e=>`/master/${e}/export/csv`,EXPORT_EXCEL:e=>`/master/${e}/export/excel`},hs={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE",PATCH:"PATCH"},Ts={PAGE:"page",LIMIT:"limit",SEARCH:"search",SEARCH_BY:"searchBy",SORT_BY:"sortBy",SORT_ORDER:"sortOrder"},Ze={ASC:"ASC",DESC:"DESC"},Ss={JSON:"json",BLOB:"blob",TEXT:"text"},et={CSV:"text/csv;charset=utf-8;",EXCEL:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",JSON:"application/json"},Rs={DATA:"data",COUNT:"count",MESSAGE:"message",ERROR:"error"},W={CREATE:"create",EDIT:"edit",VIEW:"view"},tt={TEXT:"text",DROPDOWN:"dropdown",DATEPICKER:"datepicker",NUMBER:"number",TEXTAREA:"textarea",CHECKBOX:"checkbox",RADIO:"radio"},Se={STRING:"string",NUMBER:"number",FLOAT:"float",DATE:"date",DATERANGE:"daterange",BOOLEAN:"boolean",ARRAY:"array",OBJECT:"object"},As={API:"API",RAW:"Raw",STATIC:"Static"},_s={ID:"id",NAME:"name",LABEL:"label",VALUE:"value",DISPLAY_NAME:"displayName",TABLE_NAME:"tableName"},ys={REQUIRED:"required",MIN:"min",MAX:"max",MIN_LENGTH:"minLength",MAX_LENGTH:"maxLength",PATTERN:"pattern",EMAIL:"email",URL:"url"},re={FROM:"From",TO:"To"},Os={TEXT:"text",NUMBER:"number",DATE:"date",EMAIL:"email",PASSWORD:"password",TEL:"tel",URL:"url"},gs={FLOAT_STEP:.01,INTEGER_STEP:1},bs={ENTITY_MATCH:/\/master\/([^\/]+)\/options/},lt=()=>{const e=te.useNavigate(),{routes:t}=_e(),n=at(),[r,s]=C.useState([]),[o,a]=C.useState(null),[l,m]=C.useState([]),[d,u]=C.useState({}),[S,I]=C.useState([]),[M,f]=C.useState([]),[A,T]=C.useState(0),[w,v]=C.useState(10),[L,P]=C.useState(1),[j,H]=C.useState(!1),[B,g]=C.useState(!1),[y,O]=C.useState({}),[D,$]=C.useState([]),[F,Y]=C.useState(null),Q=C.useRef(!0);C.useEffect(()=>{(async()=>{try{const G=((await n.getEntities()).data||[]).map(b=>({name:b.tableName||b.name,label:b.displayName||b.label}));s(G),G.length>0&&a(G[0])}catch(R){console.error(se.FAILED_LOAD_ENTITIES,R)}})()},[]),C.useEffect(()=>{if(!o)return;(async()=>{try{const N=(await n.getMetadata(o.name)).data||{};m(N.parameterList||[]),I(N.resultsList||[]);const G={};(N.parameterList||[]).forEach(U=>{G[U.name]=null}),u(G);const b={};for(const U of N.parameterList||[])U.options&&Array.isArray(U.options)&&(b[U.name]=U.options);O(b),f([]),g(!1)}catch(R){console.error(se.FAILED_LOAD_METADATA,R)}})()},[o]);const V=C.useMemo(()=>{const E={},R=[],N=[];l.forEach(b=>{if(b.dataType===Se.DATERANGE){const K=d[`${b.name}${re.FROM}`],xe=d[`${b.name}${re.TO}`];K&&(E[`${b.name}${re.FROM}`]=K),xe&&(E[`${b.name}${re.TO}`]=xe);return}const U=d[b.name];U==null||U===""||(b.options?E[b.name]=U:(R.push(b.name),N.push(String(U).trim())))});const G={page:L,limit:w,filters:E};return R.length>0&&(G.search=N.join(","),G.searchBy=R.join(",")),D.length>0&&(G.sortBy=D.map(b=>b.colId).join(","),G.sortOrder=D.map(b=>b.sort==="desc"?Ze.DESC:Ze.ASC).join(",")),G},[l,d,L,w,D]),ne=C.useCallback(async()=>{if(!(!o||!Q.current)){Q.current=!1,H(!0);try{console.log("Fetching with params:",V);const E=await n.getRecords(o.name,V),R=E.data||[],N=E.total||0;f(R),T(N)}catch(E){console.error(se.FAILED_FETCH_LIST,E),f([]),T(0)}finally{H(!1),Q.current=!0}}},[o,V]);C.useEffect(()=>{B&&(L>1||D.length>0)&&ne()},[L,w,D,B,ne]);const J=()=>{P(1),g(!0),setTimeout(()=>{Q.current=!0,ne()},0)},ae=E=>{Y(E.currentTarget)},ie=()=>{Y(null)},c=async E=>{if(o)try{const R=E==="csv"?await n.exportCSV(o.name,V):await n.exportExcel(o.name,V),N=E==="csv"?et.CSV:et.EXCEL,G=E==="csv"?Ke.CSV:Ke.EXCEL,b=new Blob([R.data],{type:N}),U=URL.createObjectURL(b),K=document.createElement("a");K.href=U,K.download=`${o.name}_${new Date().toISOString().split("T")[0]}.${G}`,K.style.visibility="hidden",document.body.appendChild(K),K.click(),document.body.removeChild(K),setTimeout(()=>URL.revokeObjectURL(U),an.URL_REVOKE)}catch(R){console.error(`Failed to export ${E.toUpperCase()}:`,R)}finally{ie()}},_=C.useMemo(()=>{const E=S.map(R=>({field:R.name,headerName:R.label,sortable:!0,filter:!1,flex:1}));return E.push({field:"actions",headerName:Pe.ACTIONS,sortable:!1,filter:!1,width:150,cellRenderer:R=>{const N=R.data;return!N||!o?null:p.jsx(h.Box,{sx:{display:"flex",gap:1,py:1},children:p.jsx(h.Button,{size:"small",variant:"outlined",onClick:()=>e(t.entityEdit(o.name,N.id)),children:oe.EDIT})})}}),E},[S,o,e]);return p.jsxs(h.Box,{className:"master-view",children:[p.jsxs(h.Paper,{className:"filter-section",children:[p.jsx(h.Typography,{variant:"h5",gutterBottom:!0,children:Re.MASTER_DATA_MANAGEMENT}),p.jsxs(h.Box,{className:"filters",children:[p.jsxs(h.Box,{className:"filter-field",children:[p.jsx(h.Typography,{variant:"body2",className:"field-label",children:Pe.SELECT_ENTITY}),p.jsx(h.Autocomplete,{options:r,getOptionLabel:E=>E.label,value:o,onChange:(E,R)=>a(R),renderInput:E=>p.jsx(h.TextField,{...E,size:"small",placeholder:de.SELECT_ENTITY}),className:"field-input"})]}),l.filter(E=>E.name.toLowerCase()!=="id").map(E=>p.jsxs(h.Box,{className:"filter-field",children:[p.jsx(h.Typography,{variant:"body2",className:"field-label",children:E.label}),E.dataType===Se.DATERANGE?p.jsxs(h.Box,{sx:{display:"flex",gap:1,width:"100%"},children:[p.jsx(h.TextField,{type:"date",size:"small",value:d[`${E.name}${re.FROM}`]||"",onChange:R=>u(N=>({...N,[`${E.name}${re.FROM}`]:R.target.value})),sx:{flex:1}}),p.jsx(h.TextField,{type:"date",size:"small",label:Pe.TO,value:d[`${E.name}${re.TO}`]||"",onChange:R=>u(N=>({...N,[`${E.name}${re.TO}`]:R.target.value})),sx:{flex:1}})]}):E.dataType===Se.DATE?p.jsx(h.TextField,{type:"date",size:"small",value:d[E.name]||"",onChange:R=>u(N=>({...N,[E.name]:R.target.value})),className:"field-input"}):E.options?p.jsx(h.Autocomplete,{options:y[E.name]||E.options,getOptionLabel:R=>R.label||String(R.value),value:y[E.name]?.find(R=>R.value===d[E.name])||null,onChange:(R,N)=>u(G=>({...G,[E.name]:N?.value||null})),renderInput:R=>p.jsx(h.TextField,{...R,size:"small",placeholder:de.SELECT(E.label)}),className:"field-input"}):E.dataType===Se.NUMBER?p.jsx(h.TextField,{type:"number",size:"small",value:d[E.name]||"",onChange:R=>u(N=>({...N,[E.name]:R.target.value})),placeholder:de.FILTER_BY(E.label),className:"field-input"}):p.jsx(h.TextField,{size:"small",value:d[E.name]||"",onChange:R=>u(N=>({...N,[E.name]:R.target.value})),placeholder:de.FILTER_BY(E.label),className:"field-input"})]},E.name))]}),p.jsxs(h.Box,{className:"action-buttons",children:[p.jsx(h.Button,{variant:"contained",onClick:J,children:oe.VIEW}),p.jsxs(h.Button,{variant:"contained",disabled:!o,onClick:()=>e(t.entityNew(o?.name||"")),children:[oe.ADD_NEW_RECORD," seeeeee"]})]})]}),B&&p.jsxs(h.Box,{mt:4,width:"100%",children:[p.jsxs(h.Box,{display:"flex",justifyContent:"flex-end",mb:2,children:[p.jsx(h.Button,{variant:"outlined",onClick:ae,disabled:!o,children:oe.EXPORT}),p.jsxs(h.Menu,{anchorEl:F,open:!!F,onClose:ie,children:[p.jsx(h.MenuItem,{onClick:()=>c("csv"),children:Je.CSV}),p.jsx(h.MenuItem,{onClick:()=>c("excel"),children:Je.EXCEL})]})]}),p.jsx(ln,{rows:M,columns:_,totalRecords:A,currentPage:L,loading:j,rowModelType:it.CLIENT_SIDE,onPageChange:P,pageSize:w,pageSizeOptions:[...Qe],onPageSizeChange:E=>{v(E),P(1)},setSort:$,sortModel:D,height:500},o?.name),p.jsxs(Qr,{children:[p.jsx(h.Box,{display:"flex",alignItems:"center",gap:1,children:p.jsxs(ts,{variant:"outlined",size:"small",children:[p.jsxs(Nt,{children:[Fe.SHOWING," "]}),p.jsx(Zr,{value:w,inputProps:{"aria-label":"Page size"},onChange:E=>{v(Number(E.target.value)),P(1)},children:Qe.map(E=>p.jsx(h.MenuItem,{value:E,children:E},E))}),p.jsxs(Nt,{children:[Fe.OF," ",A," ",Fe.ENTRIES]})]})}),p.jsx(cn,{totalRecords:A,currentPage:L,onPageChange:P,pageSize:w})]})]})]})},xs={ROOT:"/",MASTER:"/master",MASTER_ENTITY_NEW:e=>`/master/${e}/new`,MASTER_ENTITY_VIEW:(e,t)=>`/master/${e}/${t}`,MASTER_ENTITY_EDIT:(e,t)=>`/master/${e}/${t}/edit`},Cs={ROOT:"/",MASTER:"/master",MASTER_ENTITY_NEW:"/master/:entity/new",MASTER_ENTITY_VIEW:"/master/:entity/:id",MASTER_ENTITY_EDIT:"/master/:entity/:id/edit"},Me={NEW:"new",EDIT:"edit",VIEW:"view"},ws={ENTITY:"entity",ID:"id"},En={NEW:"/new",EDIT:"/edit"},Ae=()=>{const e=te.useNavigate(),{entity:t,id:n}=te.useParams(),{routes:r}=_e(),s=at(),o=C.useMemo(()=>n?window.location.pathname.endsWith(En.EDIT)?W.EDIT:W.VIEW:W.CREATE,[n]),[a,l]=C.useState({}),[m,d]=C.useState({}),[u,S]=C.useState(!1),[I,M]=C.useState({}),[f,A]=C.useState(!0),[T,w]=C.useState(null),v=C.useMemo(()=>Object.keys(a),[a]),L=C.useMemo(()=>v.sort((g,y)=>{const O=a[g],D=a[y];return O?.validation?.required&&!D?.validation?.required?-1:!O?.validation?.required&&D?.validation?.required?1:g.localeCompare(y)}),[v,a]);C.useEffect(()=>{if(!t)return;let g=!0;return(async()=>{A(!0),w(null);try{const O=await s.getMetadata(t);if(!g)return;const $=(O.data?.data||O.data||{}).formConfig||{};l($),M({})}catch(O){console.error(se.FAILED_LOAD_METADATA,O),g&&w(se.FAILED_LOAD_FORM_CONFIG)}finally{g&&A(!1)}})(),()=>{g=!1}},[t,s]),C.useEffect(()=>{if(!t||!n||o===W.CREATE){d({});return}let g=!0;return(async()=>{S(!0),w(null);try{const O=await s.getRecord(t,n);if(!g)return;const D=O.data||{},$={};for(const[F,Y]of Object.entries(D))F.endsWith(fn)||($[F]=Y);d($)}catch(O){console.error(se.FAILED_LOAD_RECORD,O),g&&w(se.FAILED_LOAD_RECORD)}finally{g&&S(!1)}})(),()=>{g=!1}},[t,n,o]);const P=C.useCallback((g,y)=>{d(O=>({...O,[g]:y}))},[]),j=C.useCallback(()=>{const g=[];for(const[y,O]of Object.entries(a))O.validation?.required&&!m[O.fieldName]&&g.push(se.FIELD_REQUIRED(y)),O.validation?.min!==void 0&&m[O.fieldName]<O.validation.min&&g.push(`${y} must be at least ${O.validation.min}`),O.validation?.max!==void 0&&m[O.fieldName]>O.validation.max&&g.push(`${y} must be at most ${O.validation.max}`);return g},[a,m]),H=C.useCallback(async()=>{if(!t)return;const g=j();if(g.length>0){w(g.join(", "));return}S(!0),w(null);try{const y={};for(const O of Object.values(a)){const D=O.fieldName;D&&m[D]!==void 0&&m[D]!==""&&(y[D]=m[D])}o===W.CREATE?await s.createRecord(t,y):n&&await s.updateRecord(t,n,y),e(r.basePath,{replace:!0})}catch(y){console.error("Failed to save record:",y);const O=y?.response?.data?.message||"Failed to save record. Please try again.";w(O)}finally{S(!1)}},[t,a,m,j,o,n,e]),B=C.useCallback(g=>{const y=a[g],O=y?.fieldName;if(!y||O==="id")return null;const D=m[O]??"",$=o===W.VIEW||u;return p.jsxs(h.Box,{className:"form-field",children:[p.jsxs(h.Typography,{variant:"body2",className:"field-label",children:[g,y.validation?.required&&o!==W.VIEW&&p.jsx("span",{style:{color:dn},children:un})]}),y.fieldType===tt.DROPDOWN?p.jsx(h.Autocomplete,{options:I[O]||[],getOptionLabel:F=>F.label||String(F.value),value:I[O]?.find(F=>F.value===D)||null,onChange:(F,Y)=>P(O,Y?.value??null),disabled:$,renderInput:F=>p.jsx(h.TextField,{...F,size:"small",placeholder:de.SELECT(g),error:y.validation?.required&&!D&&o!==W.VIEW}),className:"field-input"}):y.fieldType===tt.DATEPICKER?p.jsx(h.TextField,{type:"date",size:"small",value:D?String(D).slice(0,10):"",onChange:F=>P(O,F.target.value),disabled:$,error:y.validation?.required&&!D&&o!=="view",className:"field-input",InputLabelProps:{shrink:!0}}):y.dataType==="number"||y.dataType==="float"?p.jsx(h.TextField,{type:"number",size:"small",value:D,onChange:F=>P(O,F.target.value),disabled:$,placeholder:g,error:y.validation?.required&&!D&&o!=="view",inputProps:{max:y.validation?.max,min:y.validation?.min,step:y.dataType==="float"?.01:1},className:"field-input"}):p.jsx(h.TextField,{size:"small",value:D,onChange:F=>P(O,F.target.value),disabled:$,placeholder:g,error:y.validation?.required&&!D&&o!==W.VIEW,inputProps:{maxLength:y.validation?.max},className:"field-input"})]},g)},[a,m,I,P,o,u]);return f?p.jsx(h.Box,{className:"loading-container",display:"flex",justifyContent:"center",alignItems:"center",minHeight:"400px",children:p.jsx(h.CircularProgress,{})}):p.jsx(h.Box,{className:"master-form",children:p.jsxs(h.Paper,{className:"form-section",children:[p.jsxs(h.Typography,{variant:"h5",gutterBottom:!0,children:[o===W.CREATE?Re.ADD_NEW_RECORD:o===W.EDIT?Re.EDIT_RECORD:Re.VIEW_RECORD,t&&` - ${t.charAt(0).toUpperCase()+t.slice(1)}`]}),T&&p.jsx(h.Alert,{severity:"error",onClose:()=>w(null),sx:{mb:2},children:T}),u&&o!=="view"&&p.jsx(h.Box,{display:"flex",justifyContent:"center",my:2,children:p.jsx(h.CircularProgress,{size:24})}),p.jsx(h.Box,{className:"form-fields",children:L.map(B)}),p.jsx(h.Box,{className:"action-buttons",mt:3,children:o!==W.VIEW?p.jsxs(p.Fragment,{children:[p.jsx(h.Button,{variant:"contained",onClick:H,disabled:u,children:u?p.jsx(h.CircularProgress,{size:24}):o===W.CREATE?oe.CREATE:oe.UPDATE}),p.jsx(h.Button,{variant:"outlined",onClick:()=>e(-1),disabled:u,children:oe.CANCEL})]}):p.jsx(h.Button,{variant:"outlined",onClick:()=>e(-1),children:oe.BACK})})]})})},pn=()=>{const{routes:e}=_e(),t=e.basePath;return p.jsxs(te.Routes,{children:[p.jsx(te.Route,{path:"/",element:p.jsx(te.Navigate,{to:t,replace:!0})}),p.jsx(te.Route,{path:t,element:p.jsx(lt,{})}),p.jsx(te.Route,{path:`${t}/:entity/new`,element:p.jsx(Ae,{},Me.NEW)}),p.jsx(te.Route,{path:`${t}/:entity/:id/edit`,element:p.jsx(Ae,{},Me.EDIT)}),p.jsx(te.Route,{path:`${t}/:entity/:id`,element:p.jsx(Ae,{},Me.VIEW)})]})};exports.API_BASE_PATHS=ps;exports.API_CONFIG=Es;exports.API_ENDPOINTS=ms;exports.ARIA_LABELS=fs;exports.AppRoutes=pn;exports.AppRoutesComponent=pn;exports.BUTTON_LABELS=oe;exports.COLUMN_PROPERTIES=ss;exports.CSS_CLASSES=cs;exports.DATA_TYPES=Se;exports.DATE_FORMATS=ds;exports.DATE_RANGE_SUFFIXES=re;exports.DISPLAY_FIELD_SUFFIX=fn;exports.EMPTY_STATE_MESSAGES=is;exports.ERROR_MESSAGES=se;exports.EXPORT_OPTIONS=Je;exports.FIELD_LABELS=Pe;exports.FIELD_NAMES=_s;exports.FIELD_TYPES=tt;exports.FILE_EXTENSIONS=Ke;exports.FORM_MODES=W;exports.GRID_CSS_CLASSES=on;exports.GRID_EVENT_SOURCES=rn;exports.GRID_LAYOUT=Xe;exports.GRID_MESSAGES=sn;exports.GRID_SETTINGS=nn;exports.GRID_TEXT=Fe;exports.GRID_TIMEOUTS=an;exports.HTTP_METHODS=hs;exports.INPUT_TYPES=Os;exports.LOADING_MESSAGES=ls;exports.MIME_TYPES=et;exports.MasterDataProvider=_n;exports.MasterForm=Ae;exports.MasterFormComponent=Ae;exports.MasterView=lt;exports.MasterViewComponent=lt;exports.NUMBER_INPUT=gs;exports.OPTION_TYPES=As;exports.PAGE_SIZE_OPTIONS=Qe;exports.PAGE_TITLES=Re;exports.PAGINATION_SETTINGS=ns;exports.PLACEHOLDERS=de;exports.Pagination=cn;exports.QUERY_PARAMS=Ts;exports.REGEX_PATTERNS=bs;exports.REQUIRED_INDICATOR=un;exports.REQUIRED_INDICATOR_COLOR=dn;exports.RESPONSE_KEYS=Rs;exports.RESPONSE_TYPES=Ss;exports.ROUTES=xs;exports.ROUTE_KEYS=Me;exports.ROUTE_PATTERNS=Cs;exports.ROUTE_SUFFIXES=En;exports.ROW_MODEL_TYPES=it;exports.SORT_ORDER=Ze;exports.SORT_SETTINGS=rs;exports.STYLE_CONSTANTS=us;exports.SUCCESS_MESSAGES=os;exports.ServerSideGrid=ln;exports.URL_PARAMS=ws;exports.VALIDATION_MESSAGES=as;exports.VALIDATION_RULES=ys;exports.useApiService=at;exports.useMasterDataConfig=_e;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Master Data Management Package
3
+ * Main export file for the package
4
+ */
5
+ export { MasterDataProvider, useMasterDataConfig, } from './contexts/MasterDataContext';
6
+ export { useApiService } from './hooks/useApiService';
7
+ export { default as MasterView } from './pages/MasterView/MasterView';
8
+ export { default as MasterForm } from './pages/MasterForm/MasterForm';
9
+ export { default as AppRoutes } from './routes/AppRoutes';
10
+ export { ServerSideGrid } from './components/ServerSideGrid';
11
+ export { Pagination } from './components/Pagination';
12
+ import MasterViewComponent from './pages/MasterView/MasterView';
13
+ import MasterFormComponent from './pages/MasterForm/MasterForm';
14
+ import AppRoutesComponent from './routes/AppRoutes';
15
+ export { MasterViewComponent, MasterFormComponent, AppRoutesComponent };
16
+ export type { MasterDataConfig, ApiServiceFunctions, ApiEndpointsConfig, RouteConfig, MasterDataContextValue, } from './contexts/MasterDataContext';
17
+ export * from './constants';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,kBAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AAGxE,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AAGtC,cAAc,aAAa,CAAC"}