@dashadmin/dash-app-common 1.3.17 → 1.3.20

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 (82) hide show
  1. package/dist/DashApp.js +1 -0
  2. package/dist/DashAppLoader.js +11 -0
  3. package/dist/DashDefaultResources.js +1 -0
  4. package/dist/components/DashDefaultPrivateApp.js +1 -0
  5. package/dist/components/DashDefaultPrivateResources.js +1 -0
  6. package/dist/components/DashDefaultPublicApp.js +1 -0
  7. package/dist/components/DashResourceLoader.js +1 -0
  8. package/dist/defaults/extensions/bootstrap/DashDefaultErrorBoundary.js +1 -0
  9. package/dist/defaults/extensions/bootstrap/dashDefaultInitializeApp.js +1 -0
  10. package/dist/defaults/extensions/bootstrap/index.js +1 -0
  11. package/dist/defaults/extensions/components/DashDefaultLoader.js +6 -0
  12. package/dist/defaults/extensions/components/dashDefaultAutoAdminComponents.js +1 -0
  13. package/dist/defaults/extensions/components/dashDefaultNotification.js +1 -0
  14. package/dist/defaults/extensions/components/dashDefaultStaticComponents.js +1 -0
  15. package/dist/defaults/extensions/components/index.js +1 -0
  16. package/dist/defaults/extensions/electron/dashDefaultIpcListeners.js +1 -0
  17. package/dist/defaults/extensions/electron/index.js +1 -0
  18. package/dist/defaults/extensions/hooks/index.js +1 -0
  19. package/dist/defaults/extensions/hooks/useDashDefaultLazyAutoAdminComponents.js +1 -0
  20. package/dist/defaults/extensions/hooks/useDashDefaultLazyI18nProvider.js +1 -0
  21. package/dist/defaults/extensions/hooks/useDashDefaultLazyResources.js +1 -0
  22. package/dist/defaults/extensions/hooks/useDashDefaultMountTracker.js +1 -0
  23. package/dist/defaults/extensions/hooks/useDashDefaultRoutePath.js +1 -0
  24. package/dist/defaults/extensions/i18n/dashDefaultI18nProvider.js +1 -0
  25. package/dist/defaults/extensions/i18n/dashDefaultTranslations.js +1 -0
  26. package/dist/defaults/extensions/i18n/index.js +1 -0
  27. package/dist/defaults/extensions/index.js +1 -0
  28. package/dist/defaults/extensions/layout/dashDefaultDomainAppLayout.js +1 -0
  29. package/dist/defaults/extensions/layout/index.js +1 -0
  30. package/dist/defaults/extensions/managers/DashDefaultWSMessagesManager.js +1 -0
  31. package/dist/defaults/extensions/managers/index.js +1 -0
  32. package/dist/defaults/extensions/providers/dashDefaultAuthProvider.js +1 -0
  33. package/dist/defaults/extensions/providers/dashDefaultDataProvider.js +1 -0
  34. package/dist/defaults/extensions/providers/index.js +1 -0
  35. package/dist/defaults/extensions/router/DashDefaultLanding.js +1 -0
  36. package/dist/defaults/extensions/router/dashDefaultPrivateRoutes.js +1 -0
  37. package/dist/defaults/extensions/router/dashDefaultPublicRoutes.js +1 -0
  38. package/dist/defaults/extensions/router/dashDefaultRouter.js +1 -0
  39. package/dist/defaults/extensions/router/dashDefaultSharedRoutes.js +1 -0
  40. package/dist/defaults/extensions/router/index.js +1 -0
  41. package/dist/defaults/extensions/state/dashDefaultAppCommon.js +1 -0
  42. package/dist/defaults/extensions/state/dashDefaultAppSettings.js +1 -0
  43. package/dist/defaults/extensions/state/dashDefaultInitialAppState.js +1 -0
  44. package/dist/defaults/extensions/state/dashDefaultLayoutSettings.js +1 -0
  45. package/dist/defaults/extensions/state/dashDefaultQueryClient.js +1 -0
  46. package/dist/defaults/extensions/state/dashDefaultResourcesIcons.js +1 -0
  47. package/dist/defaults/extensions/state/index.js +1 -0
  48. package/dist/defaults/extensions/styles/index.js +1 -0
  49. package/dist/defaults/extensions/theme/dashDefaultThemeOptions.js +1 -0
  50. package/dist/defaults/extensions/theme/index.js +1 -0
  51. package/dist/defaults/extensions/utils/IPCMessageBrokerContext.js +1 -0
  52. package/dist/defaults/extensions/utils/dashDefaultAuthProviderUtils.js +1 -0
  53. package/dist/defaults/extensions/utils/dashDefaultDataProviderUtils.js +1 -0
  54. package/dist/defaults/extensions/utils/dashDefaultNotificationsProcessor.js +1 -0
  55. package/dist/defaults/extensions/utils/index.js +1 -0
  56. package/dist/defaults/filters/demo/dashDefaultDemoFilters.js +1 -0
  57. package/dist/defaults/filters/demo/index.js +1 -0
  58. package/dist/defaults/filters/index.js +1 -0
  59. package/dist/defaults/index.js +1 -0
  60. package/dist/defaults/pages/Account/DashDefaultRegister.js +1 -0
  61. package/dist/defaults/pages/Account/DashDefaultSignUp.js +1 -0
  62. package/dist/defaults/pages/Account/DashDefaultSignUpSuccess.js +1 -0
  63. package/dist/defaults/pages/Account/index.js +1 -0
  64. package/dist/defaults/pages/DashDefaultLogin.js +1 -0
  65. package/dist/defaults/pages/Misc/DashDefaultNotFound.js +1 -0
  66. package/dist/defaults/pages/Misc/DashDefaultServerError.js +1 -0
  67. package/dist/defaults/pages/Misc/DashDefaultUnauthorized.js +1 -0
  68. package/dist/defaults/pages/Misc/index.js +1 -0
  69. package/dist/defaults/pages/Static/DashDefaultPrivacyPage.js +1 -0
  70. package/dist/defaults/pages/Static/DashDefaultStaticPage.js +1 -0
  71. package/dist/defaults/pages/Static/DashDefaultTermsPage.js +1 -0
  72. package/dist/defaults/pages/Static/index.js +1 -0
  73. package/dist/defaults/pages/index.js +1 -0
  74. package/dist/defaults/schemas/dashDefaultSchema.js +1 -0
  75. package/dist/defaults/schemas/demo/dashDefaultTodoSchema.js +1 -0
  76. package/dist/defaults/schemas/demo/index.js +1 -0
  77. package/dist/defaults/schemas/index.js +1 -0
  78. package/dist/filters/demo/todoFilters.js +1 -0
  79. package/dist/resources/demo/todoResource.js +1 -0
  80. package/dist/schemas/defaultSchema.js +1 -0
  81. package/dist/schemas/demo/todoSchema.js +1 -0
  82. package/package.json +14 -3
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import P,{useEffect as C,useState as T}from"react";import{useSelector as b,useDispatch as S}from"react-redux";import{BrowserRouter as D,HashRouter as N,Routes as v}from"react-router-dom";import{getEnv as h}from"@dashadmin/dash-utils";import{AuthPersistenceService as l,syncLocalStorageToDeviceStore as z}from"@dashadmin/dash-auth";import{dashStorage as H}from"@dashadmin/dash-utils";import L from"@dashadmin/dash-admin/src/contexts/auth/DASHAuthenticationService";import{DASH_REDUX_ACTIONS as I}from"@dashadmin/dash-admin-state";import{ACTION_UPDATE_AUTH as k}from"@dashadmin/dash-admin-state/src/redux/reducers/Auth";import F from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";import{dashDefaultPublicRoutes as U}from"./defaults/extensions/router/dashDefaultPublicRoutes";const E=P.lazy(()=>import("./components/DashDefaultPrivateApp")),O=()=>{const o=h("PLATFORM_TYPE"),t=h("PLATFORM");return o==="desktop"||t==="electron"},_=({publicRoutes:o,privateRoutes:t,isAuthenticated:r,LoadingComponent:i,privateAppProps:a={},PrivateApp:s})=>r?s?e(s,{...a}):t?e(v,{children:t()}):e(P.Suspense,{fallback:e(i,{message:"Loading admin..."}),children:e(E,{useOwnRouter:!1,...a})}):e(v,{children:o()}),w=({publicRoutes:o,privateRoutes:t,PrivateApp:r,privateAppProps:i={},LoadingComponent:a,debug:s=!1})=>{const[R,m]=T(!0),p=S(),d=b(u=>u.auth)?.authenticated??!1,n=(...u)=>{s&&console.log("\u{1F537} DashApp:",...u)};return C(()=>{(async()=>{n("Initializing authentication...");try{const c=l.getToken(),y=l.getUser(),g=JSON.parse(H.getItem("authenticated")||"false");if(n("Persisted data:",{hasToken:!!c,hasUser:!!y,isAuthenticated:g}),c&&g){const f=await L.initializeFromToken();f.success?(n("Session restored successfully"),p(I.updateAuth(k,{user:f.user,authenticated:!0,auth:f.auth||null})),await z()):(n("Session restore failed, clearing auth"),l.clearAuth())}else n("No valid session found")}catch(c){console.error("DashApp: Auth initialization error:",c),l.clearAuth()}finally{m(!1)}})()},[p,s]),R?e(a,{message:"Initializing..."}):(n("Rendering:",d?"Private App":"Public Routes"),e(_,{publicRoutes:o,privateRoutes:t,isAuthenticated:d,LoadingComponent:a,privateAppProps:i,PrivateApp:r}))},B=({publicRoutes:o=U,privateRoutes:t,PrivateApp:r,privateAppProps:i,LoadingComponent:a=F,useHashRouter:s,basename:R,debug:m=!1})=>{const p=s??O(),A=R??h("BASE_PATH")??"/";return e(p?N:D,{...p?{basename:""}:{basename:A},children:e(w,{publicRoutes:o,privateRoutes:t,PrivateApp:r,privateAppProps:i,LoadingComponent:a,debug:m})})};var ee=B;export{B as DashApp,ee as default};
@@ -0,0 +1,11 @@
1
+ import{jsx as e,jsxs as b}from"react/jsx-runtime";import{Suspense as j,useEffect as R,useState as C,useCallback as q,lazy as T,useMemo as z}from"react";import{useSelector as G,useDispatch as M}from"react-redux";import{useDeviceStorageSync as X}from"@dashadmin/dash-utils";import F from"@dashadmin/dash-admin/src/contexts/auth/DASHAuthenticationService";import{DASH_REDUX_ACTIONS as w}from"@dashadmin/dash-admin-state";import{ACTION_UPDATE_AUTH as E}from"@dashadmin/dash-admin-state/src/redux/reducers/Auth";import H from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";import U from"./components/DashDefaultPublicApp";import B from"./components/DashDefaultPrivateApp";const a=(o,...n)=>{o&&console.log(...n)},K=({message:o})=>b("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100vh",width:"100%",backgroundColor:"var(--dash-background, #121212)",color:"var(--dash-text, #ffffff)"},children:[e("div",{style:{width:"40px",height:"40px",border:"3px solid rgba(255,255,255,0.3)",borderTop:"3px solid var(--dash-primary, #90caf9)",borderRadius:"50%",animation:"spin 1s linear infinite",marginBottom:"16px"}}),e("p",{style:{margin:0,fontSize:"14px",opacity:.8},children:o||"Loading application..."}),e("style",{children:`
2
+ @keyframes spin {
3
+ 0% { transform: rotate(0deg); }
4
+ 100% { transform: rotate(360deg); }
5
+ }
6
+ `})]}),N=({error:o,onRetry:n})=>b("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100vh",width:"100%",backgroundColor:"var(--dash-background, #121212)",color:"var(--dash-text, #ffffff)",padding:"20px"},children:[e("h2",{style:{color:"#f44336",marginBottom:"16px"},children:"Application Error"}),e("p",{style:{maxWidth:"500px",textAlign:"center",marginBottom:"24px",opacity:.8},children:o}),e("button",{onClick:n,style:{backgroundColor:"var(--dash-primary, #90caf9)",color:"#000",border:"none",padding:"12px 24px",borderRadius:"4px",cursor:"pointer",fontSize:"14px",fontWeight:500},children:"Retry"})]}),Q=({missingProps:o})=>b("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100vh",width:"100%",backgroundColor:"#1a1a1a",color:"#ffffff",padding:"40px",boxSizing:"border-box"},children:[e("h2",{style:{color:"#f44336",marginBottom:"16px"},children:"DashAppLoader Configuration Error"}),e("p",{style:{marginBottom:"16px"},children:"The following required props are missing:"}),e("ul",{style:{textAlign:"left",marginBottom:"24px"},children:o.map(n=>e("li",{style:{color:"#ff9800"},children:n},n))}),b("div",{style:{backgroundColor:"#2d2d2d",padding:"16px",borderRadius:"8px",maxWidth:"600px",width:"100%"},children:[e("p",{style:{marginBottom:"8px",color:"#90caf9"},children:"Example usage:"}),e("pre",{style:{backgroundColor:"#1e1e1e",padding:"12px",borderRadius:"4px",overflow:"auto",fontSize:"12px"},children:`import { DashAppLoader } from '@dashadmin/dash-app-common';
7
+
8
+ <DashAppLoader
9
+ publicAppImport={() => import('./DASHPublicApp')}
10
+ privateAppImport={() => import('./DASHLazyAdminApp')}
11
+ />`})]})]}),V=()=>Promise.resolve({default:U}),Y=()=>Promise.resolve({default:B}),Z=({publicAppImport:o,privateAppImport:n,authService:p,reduxActions:I,updateAuthActionType:g,AdminHookComponent:v,LoadingFallback:m,ErrorFallback:k,privateAppProps:f,publicAppProps:h,debug:t})=>{const y=M(),i=G(s=>s.auth),[l,A]=C(!0),[P,S]=C(null),[d,L]=C(!1);X(),a(t,"\u{1F50D} DashAppLoader: Redux auth state:",{isLogged:i?.isLogged,hasUser:!!i?.user,hasToken:!!i?.token}),R(()=>{if(!d&&!i?.isLogged){a(t,"\u{1F50D} DashAppLoader: Checking for persisted auth data...");const s=localStorage.getItem("token"),D=localStorage.getItem("user"),r=localStorage.getItem("tenant");if(a(t,"\u{1F50D} DashAppLoader: Persisted data check:",{hasToken:!!s,hasUser:!!D,hasTenant:!!r}),s&&D&&!i?.isLogged){a(t,"\u{1F504} DashAppLoader: Restoring auth session to Redux from localStorage");let c=null;try{c=JSON.parse(D),typeof c=="string"&&(a(t,"\u{1F504} DashAppLoader: User was double-stringified, parsing again..."),c=JSON.parse(c))}catch{console.error("\u274C DashAppLoader: Cannot parse user from localStorage, clearing auth data"),localStorage.removeItem("token"),localStorage.removeItem("user"),localStorage.removeItem("tenant"),localStorage.removeItem("authenticated"),L(!0);return}let u=null;if(r)try{u=JSON.parse(r),typeof u=="string"&&(u=JSON.parse(u))}catch{a(t,"\u26A0\uFE0F DashAppLoader: Could not parse tenant, continuing without it")}y({type:g,payload:{isLogged:!0,token:s,user:c,tenant:u}}),a(t,"\u2705 DashAppLoader: Redux state restored from persisted data")}L(!0)}},[i?.isLogged,d,y,g,t]),R(()=>{let s=!0;return(async()=>{if(d)try{a(t,"\u{1F680} DashAppLoader: Starting app initialization...");let r;if(p.initializeApp)r=await p.initializeApp();else if(p.init)r=await p.init();else{a(t,"\u26A0\uFE0F DashAppLoader: No init method on authService, skipping initialization"),A(!1);return}if(!s)return;a(t,"\u{1F50D} DashAppLoader: Initialization result:",r),r.success&&r.user&&a(t,"\u2705 DashAppLoader: Auto-login successful"),A(!1)}catch(r){if(!s)return;console.error("\u274C DashAppLoader initialization error:",r),S(r instanceof Error?r.message:"Unknown error during initialization"),A(!1)}})(),()=>{s=!1}},[p,d,t]);const J=z(()=>T(o),[o]),_=z(()=>T(n),[n]),W=q(()=>{S(null),A(!0),L(!1)},[]);if(P)return e(k,{error:P,onRetry:W});if(l||!d)return e(m,{message:"Initializing application..."});const x=i?.isLogged===!0;return a(t,"\u{1F3AF} DashAppLoader: Rendering app:",{isAuthenticated:x,appType:x?"Private":"Public"}),e(j,{fallback:e(m,{message:x?"Loading admin...":"Loading..."}),children:x?e(_,{AdminHookComponent:v,...f}):e(J,{...h})})},O=({publicAppImport:o,privateAppImport:n,AdminHookComponent:p,LoadingFallback:I=H,ErrorFallback:g=N,privateAppProps:v={},publicAppProps:m={},debug:k=!1,authService:f=F,reduxActions:h=w,updateAuthActionType:t=E})=>{const y=o||V,i=n||Y,l=[];return f||l.push("authService"),h||l.push("reduxActions"),t||l.push("updateAuthActionType"),l.length>0?e(Q,{missingProps:l}):e(Z,{publicAppImport:y,privateAppImport:i,authService:f,reduxActions:h,updateAuthActionType:t,AdminHookComponent:p,LoadingFallback:I,ErrorFallback:g,privateAppProps:v,publicAppProps:m,debug:k})},ce=(o={})=>()=>e(O,{...o});import{dashDefaultPublicRoutes as fe}from"./defaults/extensions/router/dashDefaultPublicRoutes";import{dashDefaultPrivateRoutes as ye}from"./defaults/extensions/router/dashDefaultPrivateRoutes";var ue=O;export{E as ACTION_UPDATE_AUTH,H as AppLoadingFallback,F as DASHAuthenticationService,w as DASH_REDUX_ACTIONS,O as DashAppLoader,B as DashDefaultPrivateApp,U as DashDefaultPublicApp,N as DefaultErrorFallback,K as DefaultLoadingFallback,ce as createDashAppLoader,ye as dashDefaultPrivateRoutes,fe as dashDefaultPublicRoutes,ue as default};
@@ -0,0 +1 @@
1
+ import o from"./resources/demo/todoResource";import e from"@dashadmin/dash-admin/src/systemResources";const r=[...e,o];var f=r;export{f as default};
@@ -0,0 +1 @@
1
+ import{Fragment as re,jsx as e,jsxs as i}from"react/jsx-runtime";import n,{Suspense as a,useMemo as m}from"react";import{Route as q}from"react-router-dom";import{useSelector as K}from"react-redux";import{DashRouterComponent as U,MinimalLayout as N}from"@dashadmin/dash-utils";import{NotFound as Y}from"@dashadmin/dash-components";import Z from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";import _ from"@dashadmin/dash-admin/src/providers/authProvider";import $ from"@dashadmin/dash-admin/src/providers/dataProvider";import j from"./DashDefaultPrivateResources";import ee from"@dashadmin/dash-admin/src/default-theme/DomainAppLayout";const T=n.lazy(()=>import("@dashadmin/dash-admin").then(t=>({default:t.DASHAdmin}))),te=n.lazy(()=>import("@dashadmin/dash-admin").then(t=>({default:t.DASHAppProviders}))),oe=n.lazy(()=>import("@dashadmin/dash-admin").then(t=>({default:t.RoutingWrapper}))),ae=n.lazy(()=>import("@dashadmin/dash-admin").then(t=>({default:t.AnimatedRoutesWrapper}))),s=({message:t})=>e(Z,{message:t||"Loading..."}),se=({appPath:t=null,resources:p=j,useOwnRouter:x=!0,GlobalHook:I=()=>e(re,{}),AdminHook:l=r=>r.children,customLayout:d=ee,customLoginPage:R,customNotification:g,customErrorPage:f=Y,customDataProvider:Q=null,customAuthProvider:V=null,customI18nProvider:P,useCoreResources:y=!1,customProfilePage:h,customRecoverPassword:A,customChangePassword:v,customVerifyAccount:C,customThemeConfig:D,customAuthRoutes:S,customRoutes:L,customPublicRoutes:u=null,customPrivateRoutes:c=null,customQueryClient:b,customDict:E,customReplacements:W,history:k,initialAppConstants:w,wsMessagesManager:B,children:F})=>{const r=K(z=>z?.common||{}),o=m(()=>t||r?.appPath||"/",[t,r?.appPath]),G=m(()=>({children:O})=>e(U,{basename:o,children:O}),[o]),H=m(()=>L||(u?u():[]),[L,u]),M=m(()=>S||(c?c():[]),[S,c]),J=Q||$,X=V||_;return e(a,{fallback:e(s,{message:"Loading admin providers..."}),children:i(te,{wsMessagesManager:B,children:[e(I,{}),x?e(a,{fallback:e(s,{message:"Loading routing..."}),children:e(oe,{BrowserRouterComponent:G,Wrapper:ae,LayoutComponent:N,children:e(q,{path:o+"/*",element:i(a,{fallback:e(s,{message:"Loading admin..."}),children:[F,e(T,{basePath:o,customDataProvider:J,customAuthProvider:X,customResources:p,useCoreResources:y,customLayout:d,customLoginPage:R,customNotification:g,customErrorPage:f,customI18nProvider:P,customProfilePage:h,customRecoverPassword:A,customChangePassword:v,customVerifyAccount:C,customThemeConfig:D,customAuthRoutes:M,customRoutes:H,customQueryClient:b,customDict:E,customReplacements:W,history:k,initialAppConstants:w,AdminHook:l})]})})})}):e(a,{fallback:e(s,{message:"Loading layout..."}),children:e(N,{children:i(a,{fallback:e(s,{message:"Loading admin..."}),children:[F,e(T,{basePath:o,customDataProvider:J,customAuthProvider:X,customResources:p,useCoreResources:y,customLayout:d,customLoginPage:R,customNotification:g,customErrorPage:f,customI18nProvider:P,customProfilePage:h,customRecoverPassword:A,customChangePassword:v,customVerifyAccount:C,customThemeConfig:D,customAuthRoutes:M,customRoutes:H,customQueryClient:b,customDict:E,customReplacements:W,history:k,initialAppConstants:w,AdminHook:l})]})})})]})})};var he=se;export{he as default};
@@ -0,0 +1 @@
1
+ import{systemResources as o}from"@dashadmin/dash-admin";import e from"../resources/demo/todoResource";const r=[...o,e];var i=r;export{i as default};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{DashRouterComponent as t}from"@dashadmin/dash-utils";import r from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";import u from"../defaults/extensions/router/dashDefaultPublicRoutes";const p=({customPublicRoutes:e})=>o(t,{loader:o(r,{message:"Loading..."}),publicRoutes:e||u});var m=p;export{m as default};
@@ -0,0 +1 @@
1
+ import{jsx as s,jsxs as E}from"react/jsx-runtime";import{useState as f,useEffect as A}from"react";import C from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";import R from"./DashDefaultPrivateApp";const P=e=>!e||Array.isArray(e)?!1:typeof e=="object"&&Object.values(e).every(r=>typeof r=="function"),D=e=>Array.isArray(e),p=new WeakMap,v=async e=>{if(p.has(e))return p.get(e);const r=Object.entries(e),n=(await Promise.all(r.map(async([o,i])=>{try{return(await i()).default}catch(u){return console.error(`\u274C Failed to load resource "${o}":`,u),null}}))).filter(o=>o!==null).flatMap(o=>Array.isArray(o)?o:[o]),t=new Map;for(const o of n)o.model&&t.set(o.model,o);const c=Array.from(t.values());return p.set(e,c),c},M=e=>{p.delete(e)},x=e=>{const[r,a]=f(null),[n,t]=f(!0),[c,o]=f(null),[i,u]=f(0);return A(()=>{let l=!0;return(async()=>{t(!0),o(null);try{const m=await v(e);l&&(console.log("\u{1F4E6} useDashResourceManifest: Loaded",m.length,"resources from manifest"),a(m),t(!1))}catch(m){if(l){const d=m instanceof Error?m.message:"Failed to load resources";console.error("\u274C useDashResourceManifest:",d),o(d),t(!1)}}})(),()=>{l=!1}},[e,i]),{resources:r,loading:n,error:c,reload:()=>{M(e),u(l=>l+1)}}},g=({message:e})=>s(C,{message:e||"Loading resources..."}),y=({error:e,onRetry:r})=>E("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100vh",backgroundColor:"var(--dash-background, #121212)",color:"var(--dash-text, #ffffff)",padding:"20px"},children:[s("h2",{style:{color:"#f44336",marginBottom:"16px"},children:"Failed to load resources"}),s("p",{style:{marginBottom:"24px",opacity:.8,textAlign:"center",maxWidth:"500px"},children:e}),s("button",{onClick:r,style:{backgroundColor:"var(--dash-primary, #90caf9)",color:"#000",border:"none",padding:"12px 24px",borderRadius:"4px",cursor:"pointer",fontSize:"14px",fontWeight:500},children:"Retry"})]}),h=({manifest:e,LoadingComponent:r=g,ErrorComponent:a=y,children:n,...t})=>{const{resources:c,loading:o,error:i,reload:u}=x(e);return o?s(r,{message:"Loading resources..."}):i?s(a,{error:i,onRetry:u}):s(R,{resources:c||[],...t,children:n})},X=({resources:e,LoadingComponent:r=g,ErrorComponent:a=y,children:n,...t})=>D(e)?s(R,{resources:e,...t,children:n}):P(e)?s(h,{manifest:e,LoadingComponent:r,ErrorComponent:a,...t,children:n}):(console.warn("DashPrivateApp: No resources provided. Using empty resources array."),s(R,{resources:[],...t,children:n}));var H=h;export{X as DashPrivateApp,h as DashPrivateAppWithManifest,M as clearResourceCache,H as default,D as isResourceArray,P as isResourceManifest,v as loadResourcesFromManifest,x as useDashResourceManifest};
@@ -0,0 +1 @@
1
+ var s=Object.defineProperty;var l=(e,o,r)=>o in e?s(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r;var n=(e,o,r)=>l(e,typeof o!="symbol"?o+"":o,r);import{jsx as t,jsxs as f}from"react/jsx-runtime";import d from"react";const i=({error:e,onReload:o})=>f("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",backgroundColor:"#121212",color:"#ffffff",flexDirection:"column",gap:"20px"},children:[t("h2",{children:"Something went wrong"}),e&&t("p",{style:{color:"#ff6b6b",maxWidth:"600px",textAlign:"center",padding:"0 20px"},children:e.message}),t("button",{onClick:o,style:{padding:"10px 20px",backgroundColor:"#007bff",color:"white",border:"none",borderRadius:"4px",cursor:"pointer"},children:"Reload Page"})]});class c extends d.Component{constructor(r){super(r);n(this,"handleReload",()=>{window.location.reload()});this.state={hasError:!1}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,a){console.error("DashDefaultErrorBoundary caught an error:",r,a),this.props.onError?.(r,a)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:t(i,{error:this.state.error,onReload:this.handleReload}):this.props.children}}var u=c;export{c as DashDefaultErrorBoundary,u as default};
@@ -0,0 +1 @@
1
+ import{dashInitializeApp as e,dashBootstrapApp as o}from"@dashadmin/dash-utils";import{injectTenantStyles as a}from"@dashadmin/dash-admin/src/utils/injectTenantStyles";const n=async(i={})=>{const{defaultTheme:t,...p}=i;await e(p),t&&a(t)},r=i=>{o(),i&&a(i)};var l=n;export{r as dashDefaultBootstrapApp,n as dashDefaultInitializeApp,l as default};
@@ -0,0 +1 @@
1
+ import{dashDefaultInitializeApp as o,dashDefaultBootstrapApp as r}from"./dashDefaultInitializeApp";import{DashDefaultLoader as p}from"../components/DashDefaultLoader";import{DashDefaultErrorBoundary as D}from"./DashDefaultErrorBoundary";import{createLazyAppComponent as u,createSimpleLazyApp as n,DefaultLoadFailedComponent as s}from"@dashadmin/dash-utils";export{D as DashDefaultErrorBoundary,p as DashDefaultLoader,s as DefaultLoadFailedComponent,u as createLazyAppComponent,n as createSimpleLazyApp,r as dashDefaultBootstrapApp,o as dashDefaultInitializeApp};
@@ -0,0 +1,6 @@
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";const a=({message:t="Loading...",background:r="linear-gradient(to bottom, var(--bodybg-primary), var(--bodybg-secondary))",textColor:o="var(--text-color, @text-color--dark)"})=>i("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",minHeight:"100vh",gap:"16px",background:r,color:o},children:[e("div",{style:{width:"60px",height:"60px",border:"4px solid rgba(255, 255, 255, 0.3)",borderTop:"4px solid #ffffff",borderRadius:"50%",animation:"spin 1s linear infinite"}}),e("div",{style:{fontSize:"16px"},children:t}),e("style",{children:`
2
+ @keyframes spin {
3
+ 0% { transform: rotate(0deg); }
4
+ 100% { transform: rotate(360deg); }
5
+ }
6
+ `})]});var d=a;export{a as DashDefaultLoader,d as default};
@@ -0,0 +1 @@
1
+ const e={},a=async()=>{try{const[t,n,s]=await Promise.all([import("@dashadmin/dash-components").then(o=>({default:o.Json})),import("@dashadmin/dash-components").then(o=>({default:o.JsonColorSelectorEnhanced})),import("@dashadmin/dash-components").then(o=>({default:o.JsonCssVarValues}))]);return{Json:t.default,JsonColorSelector:n.default,JsonCssVarValues:s.default,...e}}catch(t){return console.error("Failed to load dash default auto admin components:",t),e}};var u=a;export{e as dashDefaultAutoAdminComponents,u as default,a as loadDashDefaultAutoAdminComponents};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{Notification as t}from"react-admin";const i=()=>o(t,{className:"dash-notification",autoHideDuration:8e3,multiLine:!0,anchorOrigin:{vertical:"top",horizontal:"right"}}),e={autoHideDuration:8e3,multiLine:!0,anchorOrigin:{vertical:"top",horizontal:"right"},className:"dash-notification"};var c=i;export{i as DashDefaultReactAdminNotification,e as dashDefaultNotificationConfig,c as default};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import a from"react";const s=a.lazy(()=>import("@dashadmin/dash-admin/src/pages/RecoverPassword")),t=a.lazy(()=>import("@dashadmin/dash-admin/src/pages/ChangePassword")),o={defaultRecoverPassword:e(a.Suspense,{fallback:e("div",{children:"Loading..."}),children:e(s,{})}),defaultChangePassword:e(a.Suspense,{fallback:e("div",{children:"Loading..."}),children:e(t,{})})},d=()=>o;var c=o;export{o as dashDefaultStaticComponents,c as default,d as getDashDefaultStaticComponents};
@@ -0,0 +1 @@
1
+ import{loadDashDefaultAutoAdminComponents as a,dashDefaultAutoAdminComponents as e}from"./dashDefaultAutoAdminComponents";import{dashDefaultStaticComponents as n,getDashDefaultStaticComponents as s}from"./dashDefaultStaticComponents";import{DashDefaultReactAdminNotification as i,dashDefaultNotificationConfig as m}from"./dashDefaultNotification";import{DashDefaultLoader as p}from"./DashDefaultLoader";export{p as DashDefaultLoader,i as DashDefaultReactAdminNotification,e as dashDefaultAutoAdminComponents,m as dashDefaultNotificationConfig,n as dashDefaultStaticComponents,s as getDashDefaultStaticComponents,a as loadDashDefaultAutoAdminComponents};
@@ -0,0 +1 @@
1
+ import{useEffect as u}from"react";import{getDashIPCService as i,onIPCStdout as r}from"@dashadmin/dash-utils";const a=n=>{const{onStdout:o,enableLogging:t=!0}=n||{};u(()=>(i()&&r(e=>{t&&console.log("[DashDefault IPC Stdout]:",e),o?.(e)}),()=>{}),[o,t])},l=n=>{const{onStdout:o,enableLogging:t=!0}=n||{};return i()&&r(e=>{t&&console.log("[DashDefault IPC Stdout]:",e),o?.(e)}),()=>{}};var f=a;export{f as default,l as setupDashDefaultIPCListeners,a as useDashDefaultIPCListeners};
@@ -0,0 +1 @@
1
+ import{useDashDefaultIPCListeners as t,setupDashDefaultIPCListeners as a}from"./dashDefaultIpcListeners";export{a as setupDashDefaultIPCListeners,t as useDashDefaultIPCListeners};
@@ -0,0 +1 @@
1
+ import{useDashDefaultMountTracker as a}from"./useDashDefaultMountTracker";import{useDashDefaultRoutePath as t}from"./useDashDefaultRoutePath";import{useDashDefaultLazyI18nProvider as s}from"./useDashDefaultLazyI18nProvider";import{useDashDefaultLazyAutoAdminComponents as D}from"./useDashDefaultLazyAutoAdminComponents";import{useDashDefaultLazyResources as h}from"./useDashDefaultLazyResources";export{D as useDashDefaultLazyAutoAdminComponents,s as useDashDefaultLazyI18nProvider,h as useDashDefaultLazyResources,a as useDashDefaultMountTracker,t as useDashDefaultRoutePath};
@@ -0,0 +1 @@
1
+ import{useState as n,useEffect as a}from"react";import s from"../components/dashDefaultAutoAdminComponents";const m=()=>{const[t,o]=n(null);return a(()=>{s().then(o).catch(e=>{console.error("Failed to load dash default auto admin components:",e),o({})})},[]),t};var l=m;export{l as default,m as useDashDefaultLazyAutoAdminComponents};
@@ -0,0 +1 @@
1
+ import{useState as r,useEffect as f}from"react";import{useSelector as m}from"react-redux";import{loadDashDefaultTranslationsAsync as u,createDashDefaultI18nProviderAsync as p}from"../i18n/dashDefaultI18nProvider";const y=()=>{const[e,s]=r(null),[n,l]=r(null),a=m(o=>o.settings);return f(()=>{(async()=>{try{const t=await u();s(t);const i=await p(a?.locale||"en",a?.availableLocales?.map(({locale:c,name:d})=>({locale:c,name:d})));l(i)}catch(t){console.error("Failed to load translations:",t)}})()},[a?.locale,a?.availableLocales]),{translations:e,i18nProvider:n}};var I=y;export{I as default,y as useDashDefaultLazyI18nProvider};
@@ -0,0 +1 @@
1
+ import{useState as s,useEffect as u}from"react";import{getDASHResources as n}from"@dashadmin/dash-admin";const a=e=>{const[r,o]=s(null);return u(()=>{e||n().then(o).catch(t=>{console.error("Failed to load DASHResources:",t),o([])})},[e]),e||r};var d=a;export{d as default,a as useDashDefaultLazyResources};
@@ -0,0 +1 @@
1
+ import{useState as l,useEffect as a}from"react";import{dashStorage as e}from"@dashadmin/dash-utils";const s=t=>{const[o,r]=l(!1);return a(()=>{const u=parseInt(e.getItem("tmp"),10)||0;e.setItem("tmp",String(u+1))},[]),a(()=>{t?parseInt(e.getItem("tmp"),10)>=t&&r(!0):r(!0)},[t]),o};var n=s;export{n as default,s as useDashDefaultMountTracker};
@@ -0,0 +1 @@
1
+ import{useState as u,useEffect as a}from"react";import{DASHAdminSystemConstants as l}from"@dashadmin/dash-constants";const c=(t,e)=>{const[o,n]=u("");return a(()=>{const s=t||e||l.system.URL_PREFIX,r=s.replace(/\/\*$/,"");console.log("ROUTE-BASE-PATH:",r),n(s)},[t,e]),o};var m=c;export{m as default,c as useDashDefaultRoutePath};
@@ -0,0 +1 @@
1
+ import{useMemo as i}from"react";import t from"ra-i18n-polyglot";import{dashDefaultTranslations as l,dashDefaultAvailableLocales as r,dashDefaultLocale as n}from"./dashDefaultTranslations";import{dashDefaultTranslations as L,dashDefaultAvailableLocales as g,dashDefaultLocale as b}from"./dashDefaultTranslations";import{loadDashDefaultTranslationsAsync as x,createDashDefaultI18nProviderAsync as T}from"./dashDefaultTranslations";const h=a=>{const e=a.locale||n,o=a.availableLocales||r;return t(s=>l[s]||l.en,e,o)},f=a=>i(()=>{const e=a?.locale||n,o=a?.availableLocales||r;return t(s=>l[s]||l.en,e,o.map(({locale:s,name:c})=>({locale:s,name:c})))},[a?.locale,a?.availableLocales]),m=a=>t(e=>l[e]||l.en,a.settings.locale,a.settings.availableLocales.map(({locale:e,name:o})=>({locale:e,name:o})));var p=f;export{T as createDashDefaultI18nProviderAsync,m as createDashDefaultI18nProviderFromAppState,h as createDashDefaultI18nProviderWithSettings,g as dashDefaultAvailableLocales,b as dashDefaultLocale,L as dashDefaultTranslations,p as default,x as loadDashDefaultTranslationsAsync,f as useDashDefaultI18nProvider};
@@ -0,0 +1 @@
1
+ import o from"ra-i18n-polyglot";import{en as i,es as c}from"@dashadmin/dash-admin/src/providers/i18n/languages";const n={en:{...i},es:{...c}},r=[{locale:"en",name:"English"},{locale:"es",name:"Espa\xF1ol"}],s="en",u=(e=s)=>o(t=>n[t]||n.en,e,r),d=async()=>{try{const[e,t]=await Promise.all([import("@dashadmin/dash-admin").then(a=>a.en),import("@dashadmin/dash-admin").then(a=>a.es)]);return{en:{...e},es:{...t}}}catch(e){return console.error("Failed to load dash default translations:",e),n}},h=async(e=s,t)=>{const a=await d();return o(l=>a[l]||a.en,e,t||r)};var y=n;export{u as createDashDefaultI18nProvider,h as createDashDefaultI18nProviderAsync,r as dashDefaultAvailableLocales,s as dashDefaultLocale,n as dashDefaultTranslations,y as default,d as loadDashDefaultTranslationsAsync};
@@ -0,0 +1 @@
1
+ import{dashDefaultTranslations as t,dashDefaultAvailableLocales as r,dashDefaultLocale as s,createDashDefaultI18nProvider as l,loadDashDefaultTranslationsAsync as o,createDashDefaultI18nProviderAsync as D}from"./dashDefaultTranslations";import{useDashDefaultI18nProvider as f,createDashDefaultI18nProviderWithSettings as h,createDashDefaultI18nProviderFromAppState as i}from"./dashDefaultI18nProvider";export{l as createDashDefaultI18nProvider,D as createDashDefaultI18nProviderAsync,i as createDashDefaultI18nProviderFromAppState,h as createDashDefaultI18nProviderWithSettings,r as dashDefaultAvailableLocales,s as dashDefaultLocale,t as dashDefaultTranslations,o as loadDashDefaultTranslationsAsync,f as useDashDefaultI18nProvider};
@@ -0,0 +1 @@
1
+ import{dashDefaultInitializeApp as t,dashDefaultBootstrapApp as s,DashDefaultErrorBoundary as D}from"./bootstrap";import{DashDefaultLoader as r,DashDefaultReactAdminNotification as u,loadDashDefaultAutoAdminComponents as h,dashDefaultAutoAdminComponents as f,dashDefaultStaticComponents as l,getDashDefaultStaticComponents as i,dashDefaultNotificationConfig as n}from"./components";import{useDashDefaultMountTracker as p,useDashDefaultRoutePath as g,useDashDefaultLazyI18nProvider as m,useDashDefaultLazyAutoAdminComponents as P,useDashDefaultLazyResources as y}from"./hooks";import{dashDefaultPublicRoutes as A,dashDefaultPrivateRoutes as C,dashDefaultSharedRoutes as I,DashDefaultRouterWrapper as v,createDashDefaultRouterWrapper as L,getDashDefaultRouterEnvVars as S}from"./router";import{dashDefaultAppSettings as T,getDashDefaultThemeType as R,getDashDefaultAppCommon as B,getDashDefaultAppPath as M,getDashDefaultPanelImages as k,DASH_DEFAULT_INITIAL_APP_STATE as E,getDashDefaultInitialAppState as W,dashDefaultQueryClient as N,createDashDefaultQueryClient as z,dashDefaultQueryClientConfig as F,dashDefaultDevQueryClientConfig as Q,dashDefaultLayoutSettings as O,getDashDefaultTheme as _,getDashDefaultLightTheme as b,getDashDefaultDarkTheme as G,dashDefaultResourceIcons as U}from"./state";import{dashDefaultTranslations as H,dashDefaultAvailableLocales as V,dashDefaultLocale as j,createDashDefaultI18nProvider as w,loadDashDefaultTranslationsAsync as J,createDashDefaultI18nProviderAsync as K,useDashDefaultI18nProvider as X,createDashDefaultI18nProviderWithSettings as Y,createDashDefaultI18nProviderFromAppState as Z}from"./i18n";import{dashDefaultAuthProvider as ee,dashDefaultAuthProviderConfig as ae,dashDefaultAuthProviderOverrides as te,dashDefaultDataProvider as se,dashDefaultDataProviderConfig as De,dashDefaultDataProviderOverrides as oe,dashDefaultDataProviderExtensions as re,dashAuthProvider as ue,dashDataProvider as he}from"./providers";import{dashDefaultExtendedThemeOptions as le,dashDefaultPalette as ie,dashDefaultTypography as ne}from"./theme";import{createDashDefaultDomainAppLayout as pe,createDashDefaultDomainAppLayoutWithIPC as ge,useDashDefaultDomainAppLayout as me,useDashDefaultDomainAppLayoutWithIPC as Pe}from"./layout";import{useDashDefaultIPCListeners as ce,setupDashDefaultIPCListeners as Ae}from"./electron";import{DashDefaultWSMessagesManager as Ie}from"./managers";import{dashDefaultLogoutFromStorage as Le,dashDefaultIsAuthenticated as Se,dashDefaultGetCurrentUser as xe,dashDefaultGetToken as Te,dashDefaultGetResourceConfig as Re,dashDefaultSetResourceConfigs as Be,dashDefaultProcessPostData as Me,dashDefaultProcessFormData as ke,dashDefaultBuildQueryString as Ee,dashDefaultIsFormDataResource as We,DashIPCMessageBrokerContext as Ne,DashIPCMessageBrokerProvider as ze,useDashIPCMessageBroker as Fe,processDashDefaultNotification as Qe,playDashDefaultNotificationSound as Oe,playDashDefaultDigitalWatchAlarm as _e,requestDashDefaultNotificationPermission as be}from"./utils";export{E as DASH_DEFAULT_INITIAL_APP_STATE,D as DashDefaultErrorBoundary,r as DashDefaultLoader,u as DashDefaultReactAdminNotification,v as DashDefaultRouterWrapper,Ie as DashDefaultWSMessagesManager,Ne as DashIPCMessageBrokerContext,ze as DashIPCMessageBrokerProvider,pe as createDashDefaultDomainAppLayout,ge as createDashDefaultDomainAppLayoutWithIPC,w as createDashDefaultI18nProvider,K as createDashDefaultI18nProviderAsync,Z as createDashDefaultI18nProviderFromAppState,Y as createDashDefaultI18nProviderWithSettings,z as createDashDefaultQueryClient,L as createDashDefaultRouterWrapper,ue as dashAuthProvider,he as dashDataProvider,T as dashDefaultAppSettings,ee as dashDefaultAuthProvider,ae as dashDefaultAuthProviderConfig,te as dashDefaultAuthProviderOverrides,f as dashDefaultAutoAdminComponents,V as dashDefaultAvailableLocales,s as dashDefaultBootstrapApp,Ee as dashDefaultBuildQueryString,se as dashDefaultDataProvider,De as dashDefaultDataProviderConfig,re as dashDefaultDataProviderExtensions,oe as dashDefaultDataProviderOverrides,Q as dashDefaultDevQueryClientConfig,le as dashDefaultExtendedThemeOptions,xe as dashDefaultGetCurrentUser,Re as dashDefaultGetResourceConfig,Te as dashDefaultGetToken,t as dashDefaultInitializeApp,Se as dashDefaultIsAuthenticated,We as dashDefaultIsFormDataResource,O as dashDefaultLayoutSettings,j as dashDefaultLocale,Le as dashDefaultLogoutFromStorage,n as dashDefaultNotificationConfig,ie as dashDefaultPalette,C as dashDefaultPrivateRoutes,ke as dashDefaultProcessFormData,Me as dashDefaultProcessPostData,A as dashDefaultPublicRoutes,N as dashDefaultQueryClient,F as dashDefaultQueryClientConfig,U as dashDefaultResourceIcons,Be as dashDefaultSetResourceConfigs,I as dashDefaultSharedRoutes,l as dashDefaultStaticComponents,H as dashDefaultTranslations,ne as dashDefaultTypography,B as getDashDefaultAppCommon,M as getDashDefaultAppPath,G as getDashDefaultDarkTheme,W as getDashDefaultInitialAppState,b as getDashDefaultLightTheme,k as getDashDefaultPanelImages,S as getDashDefaultRouterEnvVars,i as getDashDefaultStaticComponents,_ as getDashDefaultTheme,R as getDashDefaultThemeType,h as loadDashDefaultAutoAdminComponents,J as loadDashDefaultTranslationsAsync,_e as playDashDefaultDigitalWatchAlarm,Oe as playDashDefaultNotificationSound,Qe as processDashDefaultNotification,be as requestDashDefaultNotificationPermission,Ae as setupDashDefaultIPCListeners,me as useDashDefaultDomainAppLayout,Pe as useDashDefaultDomainAppLayoutWithIPC,X as useDashDefaultI18nProvider,ce as useDashDefaultIPCListeners,P as useDashDefaultLazyAutoAdminComponents,m as useDashDefaultLazyI18nProvider,y as useDashDefaultLazyResources,p as useDashDefaultMountTracker,g as useDashDefaultRoutePath,Fe as useDashIPCMessageBroker};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import D,{useCallback as p,Suspense as s}from"react";import r from"@dashadmin/dash-admin/src/default-theme/DomainAppLayout";import{getEnv as A}from"@dashadmin/dash-constants";const u=D.lazy(()=>import("@dashadmin/dash-utils").then(t=>({default:t.IPCMessageBrokerProvider}))),m=()=>e("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px"},children:"Loading..."}),i=()=>{try{return JSON.parse(A("IS_ELECTRON")||"false")}catch{return!1}},y=()=>o=>{const{ThemeComponent:n,children:a}=o;return e(r,{ThemeComponent:n,children:a})},S=()=>o=>{const{ThemeComponent:n,children:a}=o,l=i()?e(s,{fallback:e(m,{}),children:e(u,{children:a})}):a;return e(r,{ThemeComponent:n,children:l})},I=()=>p(t=>{const{ThemeComponent:o,children:n}=t;return e(r,{ThemeComponent:o,children:n})},[]),E=()=>{const t=i();return p(o=>{const{ThemeComponent:n,children:a}=o;return e(r,{ThemeComponent:n,children:t?e(s,{fallback:e(m,{}),children:e(u,{children:a})}):a})},[t])};var P=y;export{y as createDashDefaultDomainAppLayout,S as createDashDefaultDomainAppLayoutWithIPC,P as default,I as useDashDefaultDomainAppLayout,E as useDashDefaultDomainAppLayoutWithIPC};
@@ -0,0 +1 @@
1
+ import{createDashDefaultDomainAppLayout as D,createDashDefaultDomainAppLayoutWithIPC as e,useDashDefaultDomainAppLayout as o,useDashDefaultDomainAppLayoutWithIPC as u}from"./dashDefaultDomainAppLayout";export{D as createDashDefaultDomainAppLayout,e as createDashDefaultDomainAppLayoutWithIPC,o as useDashDefaultDomainAppLayout,u as useDashDefaultDomainAppLayoutWithIPC};
@@ -0,0 +1 @@
1
+ import{jsx as C}from"react/jsx-runtime";import{useEffect as a,useState as o}from"react";import{Notification as f}from"react-admin";import d from"@dashadmin/dash-admin/src/contexts/com/useLaravelEcho";import{useAuthContext as g}from"@dashadmin/dash-admin/src/contexts/auth/AuthContext";const H=()=>C(f,{className:"dash-notification",autoHideDuration:8e3,multiLine:!0,anchorOrigin:{vertical:"top",horizontal:"right"}}),L=()=>{const[h,u]=o([]),[s,i]=o(null),t=g(),[r,m]=o(null),[c,v]=o(null);a(()=>{t?.user&&(m(t.user.id),v(t.user.tenant_id))},[t]);const p=()=>{i(null)},{echoChannel:E,isConnected:I,lastEvent:n,ping:x,addListener:y,removeListener:D}=d({type:"private",channel:r?`user.${r}`:null,enabled:!!r}),{echoChannel:M,isConnected:N,lastEvent:l,ping:P,addListener:A,removeListener:B}=d({type:"private",channel:c?`tenant.${c}.system`:null,enabled:!!c});return a(()=>{console.log("Private Tenant Message",n);const e=l?.data;console.log(e),i(e)},[l]),a(()=>{console.log("Private User Message",n);const e=n?.data;console.log(e),i(e)},[n]),a(()=>{u(e=>[...e,s])},[s]),{events:h,lastEvent:s,clear:p}};var O=L;export{H as DashDefaultReactAdminNotification,O as default};
@@ -0,0 +1 @@
1
+ import{default as t,DashDefaultReactAdminNotification as s}from"./DashDefaultWSMessagesManager";export{s as DashDefaultReactAdminNotification,t as DashDefaultWSMessagesManager};
@@ -0,0 +1 @@
1
+ import{createDashAuthProvider as p}from"@dashadmin/dash-auto-admin";import{getEnv as i}from"@dashadmin/dash-constants";import{DASHAppConstants as u,DASHAdminSystemConstants as g}from"@dashadmin/dash-constants";import{setAuthEvent as h}from"@dashadmin/dash-admin/src/contexts/auth";import{AuthPersistenceService as c,syncDeviceStoreToLocalStorage as f,syncLocalStorageToDeviceStore as d}from"@dashadmin/dash-auth";import{useAxios as l}from"@dashadmin/dash-axios-hook";import{dashStorage as s}from"@dashadmin/dash-utils";import{dashDefaultLogoutFromStorage as n}from"../utils/dashDefaultAuthProviderUtils";const A={useAxios:l,storage:s,authPersistence:c,syncToDeviceStore:d,syncFromDeviceStore:f,setAuthEvent:h,logoutFromStorage:n,getAuthEndpoint:()=>i("APP_GETAUTH_ENDPOINT")||"/auth",guestRole:u.system.GUEST_ROLE,enableTenantImpersonation:JSON.parse(g.system.ENABLE_TENANT_IMPERSONATION?.toString()||"false")},E={login:async({username:e,password:o})=>{await f();const t=l();if(!(e&&o))return Promise.reject();try{const r=await t.post("/login",{email:e,password:o});if(r.status>=200&&r.status<=299){const m=r.data.redirectTo;r.data!==""&&s.setItem("token",r.data.token);try{const{data:a}=await t.get(i("APP_GETAUTH_ENDPOINT"));return c.saveAuth(a),s.setItem("authenticated","true"),s.setItem("user",JSON.stringify(a.user)),s.setItem("roles",a.user?.roles?JSON.stringify(a.user.roles):JSON.stringify(u.system.GUEST_ROLE)),h({authenticated:!0,user:a.user,auth:a.auth,token:r.data.token,roles:a.user?.roles}),await d(),m?Promise.resolve({redirectTo:m}):Promise.resolve(a)}catch(a){return console.error("Error getting user auth"),n("login get auth error"),Promise.reject(a)}}}catch(r){return console.error(r),n("login error logout"),Promise.reject(r)}return n("login default error logout"),Promise.reject()},logout:async(e,o)=>(await n("logout"),Promise.resolve(o||"/login")),getIdentity:async()=>{const e=l();if(!s.getItem("token"))return Promise.reject("No token present");try{const{data:t}=await e.get(i("APP_GETAUTH_ENDPOINT"));return s.setItem("roles",t.user?.roles?JSON.stringify(t.user.roles):JSON.stringify(u.system.GUEST_ROLE)),s.setItem("authenticated","true"),s.setItem("user",JSON.stringify(t.user)),JSON.parse(g.system.ENABLE_TENANT_IMPERSONATION.toString())&&t.user?.tenant_id&&(s.setItem("tenant_id",t.user?.tenant_id),s.setItem("user_id",t.user?.id)),await Promise.resolve(t)}catch(t){return n("get identity error logout"),Promise.reject(t)}finally{await d()}},checkAuth:async()=>{const e=JSON.parse(s.getItem("authenticated")||"false"),o=JSON.parse(s.getItem("user")||"null");return e&&o?.id&&c.getAuth()?Promise.resolve():Promise.reject()},checkError:e=>{const o=e?.response?.status;if(window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),o){const t={};switch(o){case 400:case 401:case 403:case 500:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve();case 422:case 409:return t.error="An undefined error has occurred, please try again later",e.response.data?.errors?Object.keys(e.response.data?.errors).forEach(r=>{t[r]=e.response.data?.errors[r].join(" , ")}):e.response.data?.message&&(t.error=e.response.data?.message),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:t}})),Promise.resolve();default:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve()}}else{const t={};return Object.keys(e).forEach(r=>{t[r]=Array.isArray(e[r])?e[r].join(" , "):e[r]}),Promise.resolve()}}},v=p(A,E);var D=v;export{v as dashDefaultAuthProvider,A as dashDefaultAuthProviderConfig,E as dashDefaultAuthProviderOverrides,D as default};
@@ -0,0 +1 @@
1
+ import{createDashDataProvider as v}from"@dashadmin/dash-auto-admin";import h from"query-string";import{processAxiosError as p,useAxios as y}from"@dashadmin/dash-axios-hook";import{cacheInvalidatorHash as w}from"@dashadmin/dash-admin/src/utils/cache/CacheInvalidatorContext";import{getResourceConfig as P,processFormData as D,processPostData as m}from"@dashadmin/dash-utils";import{dashStorage as f}from"@dashadmin/dash-utils";const _={useAxios:y,storage:f,getCacheHash:w,getResourceConfig:P,processPostData:m,processFormData:D,processAxiosError:p},x={getList:async(a,t)=>{const n=f.getItem("tenant_id");let e=m(a,{...t.filter,tenant_id:n},"getList");const o=y(),r=t.filter&&t.filter.pagination?t.filter.pagination:t.pagination?t.pagination:!1;r?e={...e,pagination:!0,...r}:e={...e,pagination:!1},e={...e,...t.meta},t.sort&&t.sort.field&&t.sort.order&&!t.meta?.removeSortFilters&&(e={...e,...t.sort,order:t.sort.order.toLowerCase()});const s=w(a);s&&(e={...e,hash:s});const i=h.stringify(e,{arrayFormat:"bracket"});let c=`${a}?${i}`;const g=c.includes("forSelect")?"forSelect":c.includes("getMany")?"getMany":"getList";window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!0,origin:g,lastEventId:c}));try{const l=await o.get(c);let u;return typeof l.data?.data?.total<"u"?u=l.data.data:l?.data?.data&&Array.isArray(l.data.data)?u={data:l.data.data,total:l.data.total||l.data.data.length}:l?.data&&Array.isArray(l.data)?u={data:l.data,total:l.data.length}:u={data:[],total:0},window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:g,lastEventId:c})),u}catch(l){return window.dispatchEvent(new MessageEvent("DASHGlobalError",{data:{error:l,config:{dialog:!0}}})),{data:[],total:0}}finally{window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:g,lastEventId:c}))}},getOne:async(a,t)=>{const n=y();try{return{data:(await n.get(`${a}/${t.id}`,t.meta?{params:t.meta}:{})).data}}catch{}},getMany:async(a,t)=>{const n=y(),e=Array.isArray(t.ids)&&t.ids.length>0&&Array.isArray(t.ids[0])?t.ids[0]:t.ids;let o={ids:Array.isArray(e)&&e.length>0&&e[0]?.id?e.map(i=>i.id):e};o={...o,pagination:!1};const r=w(a);r&&(o={...o,hash:r});const d=h.stringify(o,{arrayFormat:"bracket"}),s=`${a}/getMany?${d}`;try{const i=await n.get(s),c=i.data;return{data:c.data,total:c.data&&c.data.total?c.data.total:parseInt(i.headers["content-range"])||0}}catch{}},getManyReference:async(a,t)=>{const n=f.getItem("tenant_id"),e=t.filter&&t.filter.pagination?t.filter.pagination:!1,o=y();let r={...t.filter,[t.target]:t.id,tenant_id:n};e?r={...r,pagination:!0,...e}:r={...r,pagination:!1};const d=`${a}/getManyReference?${h.stringify(r,{arrayFormat:"bracket"})}`;try{const s=await o.get(d),i=s.data;return{data:i,total:i.data&&i.data.total?i.data.total:parseInt(s.headers["content-range"])||0}}catch{}},update:async(a,t)=>{const n=y(),o=P(a)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,r=t&&t.data&&t.data.tenant_id?t.data.tenant_id:f.getItem("tenant_id"),d=/\/\d+(?:\/[^\/]*)?$/.test(a)?a:t.id?`${a}/${t.id}`:a,s=m(d,{...t.data,tenant_id:r},"update");let i=t.meta?.method?t.meta.method:"PUT";i=s?.axiosMethod?s.axiosMethod:i,delete s.axiosMethod;const c=n.post;i==="PUT"&&(s._method="PUT");try{if(o){const l=D(a,s);return await c(d,l,{headers:{"Content-Type":"multipart/form-data"}})}return await c(d,s)}catch(g){throw p(g,a,"update")}},create:async(a,t)=>{const n=y(),o=P(a)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,r=/\/[\w-]+$/.test(a)?a:t.meta?.id?`${a}/${t.meta.id}`:a;let d=t.data?.tenant_id;a!=="system/user"&&!d&&(d=f.getItem("tenant_id"));const i=(t.meta?.method?t.meta.method:"POST")==="POST"?n.post:n.put,c=m(r,{...t.data,...d?{tenant_id:d}:{}},"create");try{if(o){const g=D(a,c);return await i(r,g,{headers:{"Content-Type":"multipart/form-data"}})}return await i(r,c)}catch(g){throw p(g,a,"create")}},updateMany:async(a,t)=>{const n=f.getItem("tenant_id"),e=y(),o={filter:JSON.stringify({ids:t.ids}),tenant_id:n},d=(t.meta?.method?t.meta.method:"POST")==="POST"?e.post:e.put;try{return await d(`${a}/updateMany?${h.stringify(o,{arrayFormat:"bracket"})}`,t.data)}catch{window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1}))}},delete:async(a,t)=>{const n=f.getItem("tenant_id"),e=y(),{data:o}=await e.delete(`${a}/${t.id}`,{data:{tenant_id:n}});return{data:o}},deleteMany:async(a,t)=>{const n=f.getItem("tenant_id"),e=y(),o={ids:t.ids?t.ids:[],tenant_id:n};return await e.post(`${a}/deleteMany?${h.stringify(o,{arrayFormat:"bracket"})}`)}},E={import:async(a,t)=>{const n=y(),e=m(a,t.data,"import");f.getItem("tenant_id")&&e&&!e.tenant_id&&(e.tenant_id=f.getItem("tenant_id"));const o=D(a,e),d=(t.meta?.method?t.meta.method:"POST")==="POST"?n.post:n.put;try{return await d(`${a}`,o,{headers:{"Content-Type":"multipart/form-data"}})}catch{window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1}))}},checkError:a=>{const t=a.status;if(t>=400&&t<499){let n=a.message;t===401&&(n="You are not authenticated"),t===403&&(n="You do not have permission to access this resource"),t===404&&(n="The requested resource was not found"),t===422&&(n="Validation error");const e=new Error(n);return e.status=t,e.body=a.body,Promise.reject(e)}return t>=500?(console.error("Server error",a),Promise.reject(new Error("A server error occurred. Please try again later."))):Promise.resolve()}},A=v(_,x),S={...A,...E};var U=S;export{S as dashDefaultDataProvider,_ as dashDefaultDataProviderConfig,E as dashDefaultDataProviderExtensions,x as dashDefaultDataProviderOverrides,U as default};
@@ -0,0 +1 @@
1
+ import{dashDefaultAuthProvider as e,dashDefaultAuthProviderConfig as t,dashDefaultAuthProviderOverrides as d}from"./dashDefaultAuthProvider";import{dashDefaultDataProvider as f,dashDefaultDataProviderConfig as s,dashDefaultDataProviderOverrides as i,dashDefaultDataProviderExtensions as h}from"./dashDefaultDataProvider";import{default as D}from"./dashDefaultAuthProvider";import{default as l}from"./dashDefaultDataProvider";export{D as dashAuthProvider,l as dashDataProvider,e as dashDefaultAuthProvider,t as dashDefaultAuthProviderConfig,d as dashDefaultAuthProviderOverrides,f as dashDefaultDataProvider,s as dashDefaultDataProviderConfig,h as dashDefaultDataProviderExtensions,i as dashDefaultDataProviderOverrides};
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as i}from"react/jsx-runtime";import{useNavigate as e}from"react-router-dom";const n=()=>{const o=e();return i("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",height:"100vh",color:"var(--text-color, @text-color--dark)",fontFamily:"system-ui, -apple-system, sans-serif",textAlign:"center"},children:[t("h1",{style:{marginBottom:"16px",fontSize:"2rem"},children:"Welcome to Dash"}),t("p",{style:{marginBottom:"24px",opacity:.7},children:"Please login to continue"}),t("button",{type:"button",onClick:()=>o("/login"),style:{padding:"12px 24px",backgroundColor:"#1976d2",color:"white",borderRadius:"8px",textDecoration:"none",fontWeight:500,border:"none",cursor:"pointer"},children:"Go to Login"})]})};var s=n;export{s as default};
@@ -0,0 +1 @@
1
+ import{Fragment as n,jsx as e}from"react/jsx-runtime";import{Suspense as o}from"react";import{Route as t}from"react-router-dom";import{DashDefaultLoader as a}from"../components/DashDefaultLoader";const r=()=>e("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",background:"linear-gradient(to bottom, var(--bodybg-primary), var(--bodybg-secondary))",color:"var(--text-color, @text-color--dark)"},children:e("h1",{children:"Welcome back!"})}),l=()=>[e(t,{"data-layout":"no-layout",path:"/",element:e(o,{fallback:e(a,{}),children:e(r,{})})},"landing"),e(t,{path:"/login",element:e(n,{})},"login-redirect")];var u=l;export{l as dashDefaultPrivateRoutes,u as default};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import o,{Suspense as t}from"react";import{Route as a,Navigate as n}from"react-router-dom";import s from"@dashadmin/dash-components/src/components/theme/AppLoadingFallback";const p=o.lazy(()=>import("../../pages/DashDefaultLogin")),r=o.lazy(()=>import("@dashadmin/dash-admin/src/pages/RecoverPassword")),c=o.lazy(()=>import("@dashadmin/dash-admin/src/pages/ChangePassword")),i=o.lazy(()=>import("@dashadmin/dash-admin/src/pages/VerifyAccount")),l=()=>e(s,{message:"Loading..."}),m=()=>e(n,{to:"/login",replace:!0}),u=()=>[e(a,{"data-layout":"no-layout",path:"/",element:e(m,{})},"landing"),e(a,{"data-layout":"no-layout",path:"/login",element:e(t,{fallback:e(l,{}),children:e(p,{})})},"login"),e(a,{path:"/reset-password",element:e(t,{fallback:e(l,{}),children:e(r,{})})},"reset-password"),e(a,{path:"/change-password",element:e(t,{fallback:e(l,{}),children:e(c,{})})},"change-password"),e(a,{path:"/verify-email",element:e(t,{fallback:e(l,{}),children:e(i,{})})},"verify-account")];var f=u;export{u as dashDefaultPublicRoutes,f as default};
@@ -0,0 +1 @@
1
+ import{jsx as R}from"react/jsx-runtime";import{DashRouterComponent as a}from"@dashadmin/dash-utils";import{DASHAdminSystemConstants as p,getEnv as r}from"@dashadmin/dash-constants";const o=()=>({PLATFORM_TYPE:r("PLATFORM_TYPE")||"desktop",PLATFORM:r("PLATFORM")||"unknown",BASE_PATH:p.system.URL_PREFIX||"/",IS_ELECTRON:JSON.parse(r("IS_ELECTRON")||"false")}),s=({children:t})=>{const e=o();return R(a,{platformType:e.PLATFORM_TYPE,platform:e.PLATFORM,basename:e.BASE_PATH,children:t})},A=(t,e)=>({children:n})=>R(a,{platformType:t||o().PLATFORM_TYPE,platform:e||o().PLATFORM,children:n});var E=s;export{s as DashDefaultRouterWrapper,A as createDashDefaultRouterWrapper,E as default,o as getDashDefaultRouterEnvVars};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{Suspense as e}from"react";import{Route as o}from"react-router-dom";import{Box as a}from"@mui/material";const r=()=>t(a,{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"200px",sx:{color:"var(--text-color, inherit)"},children:"Loading..."}),n=()=>t("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh",background:"linear-gradient(to bottom, var(--bodybg-primary), var(--bodybg-secondary))",color:"var(--text-color, @text-color--dark)"},children:t("h1",{children:"Welcome to Dash"})}),l=()=>[t(o,{"data-layout":"no-layout",path:"/",element:t(e,{fallback:t(r,{}),children:t(n,{})})},"landing")];var h=l;export{l as dashDefaultSharedRoutes,h as default};
@@ -0,0 +1 @@
1
+ import{dashDefaultPublicRoutes as t}from"./dashDefaultPublicRoutes";import{dashDefaultPrivateRoutes as o}from"./dashDefaultPrivateRoutes";import{dashDefaultSharedRoutes as f}from"./dashDefaultSharedRoutes";import{DashDefaultRouterWrapper as D,createDashDefaultRouterWrapper as p,getDashDefaultRouterEnvVars as h}from"./dashDefaultRouter";export{D as DashDefaultRouterWrapper,p as createDashDefaultRouterWrapper,o as dashDefaultPrivateRoutes,t as dashDefaultPublicRoutes,f as dashDefaultSharedRoutes,h as getDashDefaultRouterEnvVars};
@@ -0,0 +1 @@
1
+ import t from"react";import{defaultCommon as n}from"@dashadmin/dash-admin-state";import{AuthPersistenceService as a}from"@dashadmin/dash-auth";import{dashStorage as o}from"@dashadmin/dash-utils";const r=()=>{const e=a.getTenantImages();return{...n,appPath:"/",navExpanded:o.getItem("dashNavExpanded")?o.getItem("dashNavExpanded")==="true":!0,navSize:o.getItem("dashNavSize")||"small",width:typeof window<"u"?window.innerWidth:1024,height:typeof window<"u"?window.innerHeight:768,headerToolBar:()=>t.createElement(t.Fragment),panelSettings:{horizontalLogo:e?.horizontal_logo?.original||"",squaredLogo:e?.squared_logo?.original||"",loginBackground:e?.banner?.original||""}}},m=()=>"/",p=()=>{const e=a.getTenantImages();return{horizontalLogo:e?.horizontal_logo?.original||"",squaredLogo:e?.squared_logo?.original||"",loginBackground:e?.banner?.original||""}};var h=r;export{h as default,r as getDashDefaultAppCommon,m as getDashDefaultAppPath,p as getDashDefaultPanelImages};
@@ -0,0 +1 @@
1
+ import{defaultSettings as e}from"@dashadmin/dash-admin-state";import{dashDefaultLayoutSettings as t}from"./dashDefaultLayoutSettings";const a=()=>({...e,loading:!1,navStyle:t.NAV_STYLE_FIXED,layoutType:t.LAYOUT_TYPE_FRAMED,themeType:t.THEME_TYPE_DARK,layoutSettings:t,groupIcons:{}}),p=()=>t.THEME_TYPE_DARK;var r=a;export{a as dashDefaultAppSettings,r as default,p as getDashDefaultThemeType};
@@ -0,0 +1 @@
1
+ import{defaultAuth as t,defaultPageSettings as e,defaultFormState as a}from"@dashadmin/dash-admin-state";import o from"./dashDefaultAppSettings";import s from"./dashDefaultAppCommon";const r={settings:o(),common:s(),page:e,auth:t,resources:{items:[]},formData:a,componentData:{}},p=()=>({settings:o(),common:s(),page:e,auth:t,resources:{items:[]},formData:a,componentData:{}});var A=r;export{r as DASH_DEFAULT_INITIAL_APP_STATE,A as default,p as getDashDefaultInitialAppState};
@@ -0,0 +1 @@
1
+ const E={TAB_SIZE:992,MOBILE_SIZE:575,THEME_TYPE:"THEME_TYPE",THEME_TYPE_LIGHT:"light",THEME_TYPE_LITE:"lite",THEME_TYPE_DARK:"dark",THEME_TYPE_DASH_DEFAULT:"light",THEME_TYPE_SEMI_DARK:"THEME_TYPE_SEMI_DARK",THEME_COLOR:"THEME_COLOR",UPDATE_RTL_STATUS:"UPDATE_RTL_STATUS",LAYOUT_TYPE:"LAYOUT_TYPE",LAYOUT_TYPE_FRAMED:"framed-layout",LAYOUT_TYPE_BOXED:"boxed-layout",LAYOUT_TYPE_FULL:"full-layout",NAV_STYLE:"NAV_STYLE",NAV_STYLE_FIXED:"NAV_STYLE_FIXED",NAV_STYLE_MINI_SIDEBAR:"NAV_STYLE_MINI_SIDEBAR",NAV_STYLE_DRAWER:"NAV_STYLE_DRAWER",NAV_STYLE_NO_HEADER_MINI_SIDEBAR:"NAV_STYLE_NO_HEADER_MINI_SIDEBAR",NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR:"NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR",NAV_STYLE_DEFAULT_HORIZONTAL:"NAV_STYLE_DEFAULT_HORIZONTAL",NAV_STYLE_DARK_HORIZONTAL:"NAV_STYLE_DARK_HORIZONTAL",NAV_STYLE_INSIDE_HEADER_HORIZONTAL:"NAV_STYLE_INSIDE_HEADER_HORIZONTAL",NAV_STYLE_BELOW_HEADER:"NAV_STYLE_BELOW_HEADER",NAV_STYLE_ABOVE_HEADER:"NAV_STYLE_ABOVE_HEADER",NAV_STYLE_COLLAPSABLE:"NAV_STYLE_COLLAPSABLE",LIGHT_PURPLE:"light_purple",LIGHT_PURPLE_SEC:"#00B378",LIGHT_PURPLE_DARK_TEXT_COLOR:"#9799AC"},_=()=>E.THEME_TYPE_DARK,T=()=>E.THEME_TYPE_LIGHT,A=()=>E.THEME_TYPE_DARK;var L=E;export{E as dashDefaultLayoutSettings,L as default,A as getDashDefaultDarkTheme,T as getDashDefaultLightTheme,_ as getDashDefaultTheme};
@@ -0,0 +1 @@
1
+ import{QueryClient as t}from"@tanstack/react-query";const n={defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:300*1e3,retry:1}}},r={...n,logger:{log:(...e)=>{console.log("[DashDefaultQueryClient]",...e)},warn:(...e)=>{console.warn("[DashDefaultQueryClient]",...e)},error:(...e)=>{console.error("[DashDefaultQueryClient]",...e)}}},l=()=>{const o=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1")?r:n;return new t(o)},i=l();var u=i;export{l as createDashDefaultQueryClient,r as dashDefaultDevQueryClientConfig,i as dashDefaultQueryClient,n as dashDefaultQueryClientConfig,u as default};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import s from"@mui/icons-material/Dashboard";import r from"@mui/icons-material/Notifications";import t from"@mui/icons-material/LocationCity";import i from"@mui/icons-material/Person";import e from"@mui/icons-material/MenuOpenOutlined";const n={Administration:o(s,{}),Administraci\u00F3n:o(s,{}),"Logs and Notifications":o(r,{}),"Logs y Notificaciones":o(r,{}),"System Resources":o(t,{}),"Recursos de sistema":o(t,{}),Users:o(i,{}),Usuarios:o(i,{}),Client:o(i,{}),Cliente:o(i,{}),Actions:o(e,{}),Acciones:o(e,{})};var A=n;export{A as default};
@@ -0,0 +1 @@
1
+ import{dashDefaultAppSettings as a,getDashDefaultThemeType as D}from"./dashDefaultAppSettings";import{getDashDefaultAppCommon as u,getDashDefaultAppPath as s,getDashDefaultPanelImages as h}from"./dashDefaultAppCommon";import{DASH_DEFAULT_INITIAL_APP_STATE as o,getDashDefaultInitialAppState as r}from"./dashDefaultInitialAppState";import{dashDefaultQueryClient as g,createDashDefaultQueryClient as m,dashDefaultQueryClientConfig as n,dashDefaultDevQueryClientConfig as i}from"./dashDefaultQueryClient";import{dashDefaultLayoutSettings as A,getDashDefaultTheme as T,getDashDefaultLightTheme as I,getDashDefaultDarkTheme as d}from"./dashDefaultLayoutSettings";import{default as x}from"./dashDefaultResourcesIcons";export{o as DASH_DEFAULT_INITIAL_APP_STATE,m as createDashDefaultQueryClient,a as dashDefaultAppSettings,i as dashDefaultDevQueryClientConfig,A as dashDefaultLayoutSettings,g as dashDefaultQueryClient,n as dashDefaultQueryClientConfig,x as dashDefaultResourceIcons,u as getDashDefaultAppCommon,s as getDashDefaultAppPath,d as getDashDefaultDarkTheme,r as getDashDefaultInitialAppState,I as getDashDefaultLightTheme,h as getDashDefaultPanelImages,T as getDashDefaultTheme,D as getDashDefaultThemeType};
@@ -0,0 +1 @@
1
+ import"react-toastify/dist/ReactToastify.css";import"@dashadmin/dash-styles/dash.less";
@@ -0,0 +1 @@
1
+ const e={components:{MuiButton:{styleOverrides:{root:{transition:"all 0.2s ease-in-out"}}},MuiBox:{styleOverrides:{root:{contain:"layout style"}}}},breakpoints:{values:{xs:0,sm:900,md:900,lg:1200,xl:1536}},transitions:{duration:{shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195},easing:{easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"}}},t={},s={};var o=e;export{e as dashDefaultExtendedThemeOptions,t as dashDefaultPalette,s as dashDefaultTypography,o as default};
@@ -0,0 +1 @@
1
+ import{dashDefaultExtendedThemeOptions as t,dashDefaultPalette as d,dashDefaultTypography as h}from"./dashDefaultThemeOptions";export{t as dashDefaultExtendedThemeOptions,d as dashDefaultPalette,h as dashDefaultTypography};
@@ -0,0 +1 @@
1
+ import{IPCMessageBrokerContext as r,IPCMessageBrokerProvider as a,useIPCMessageBroker as o}from"@dashadmin/dash-utils";import{IPCMessageBrokerProvider as g}from"@dashadmin/dash-utils";export{r as DashIPCMessageBrokerContext,a as DashIPCMessageBrokerProvider,g as default,o as useDashIPCMessageBroker};
@@ -0,0 +1 @@
1
+ import{AuthPersistenceService as o,syncLocalStorageToDeviceStore as r}from"@dashadmin/dash-auth";import{createLogoutFromStorage as s,isUserAuthenticated as a,getCurrentUser as c,getAuthToken as u}from"@dashadmin/dash-utils";import{removeCookie as n}from"@dashadmin/dash-admin/src/utils/cookies";const i=s({clearAuthPersistence:()=>o.clearAuth(),syncToDeviceStore:r,removeCookies:e=>e.forEach(t=>n(t))}),h=a,m=c,f=u;var g={dashDefaultLogoutFromStorage:i,dashDefaultIsAuthenticated:h,dashDefaultGetCurrentUser:m,dashDefaultGetToken:f};export{m as dashDefaultGetCurrentUser,f as dashDefaultGetToken,h as dashDefaultIsAuthenticated,i as dashDefaultLogoutFromStorage,g as default};
@@ -0,0 +1 @@
1
+ import{setResourceConfigs as t,getResourceConfig as r,processPostData as a,processFormData as n,buildQueryString as i,isFormDataResource as u}from"@dashadmin/dash-utils";const c=e=>{t(e)},d=e=>r(e),f=(e,o,s)=>a(e,o,s),g=n,D=i,p=u;var C={dashDefaultGetResourceConfig:d,dashDefaultSetResourceConfigs:c,dashDefaultProcessPostData:f,dashDefaultProcessFormData:g,dashDefaultBuildQueryString:D,dashDefaultIsFormDataResource:p};export{D as dashDefaultBuildQueryString,d as dashDefaultGetResourceConfig,p as dashDefaultIsFormDataResource,g as dashDefaultProcessFormData,f as dashDefaultProcessPostData,c as dashDefaultSetResourceConfigs,C as default};
@@ -0,0 +1 @@
1
+ let n=null;import{requestNotificationPermission as x}from"@dashadmin/dash-utils";const A=10,u=4e3,b=2500,d=100,P=50,g=300,h=async()=>{try{return n||(n=new(window.AudioContext||window.webkitAudioContext)),n.state==="suspended"&&await n.resume(),!0}catch(a){return console.error("Failed to initialize audio context:",a),!1}},p=(a,t)=>new Promise(o=>{if(!n){o();return}try{const e=n.createOscillator(),i=n.createGain();e.connect(i),i.connect(n.destination),e.type="square",e.frequency.setValueAtTime(a,n.currentTime);const r=n.currentTime;i.gain.setValueAtTime(0,r),i.gain.linearRampToValueAtTime(.4,r+.005),i.gain.setValueAtTime(.4,r+t/1e3-.01),i.gain.linearRampToValueAtTime(0,r+t/1e3),e.start(r),e.stop(r+t/1e3),e.onended=()=>o()}catch(e){console.error("Failed to play oscillator beep:",e),o()}}),E=async a=>{const t=a?u:b;for(let o=0;o<3;o++)await p(t,d),o<2&&await new Promise(e=>setTimeout(e,P))},N=async(a,t)=>{const o=a??t?.alarmDurationSeconds??A,e=t?.alarmFrequencyHigh??u,i=t?.alarmFrequencyLow??b,r=t?.beepDurationMs??d,w=t?.beepGapMs??P,f=t?.beepPatternGapMs??g;if(console.log(`\u{1F514} Starting digital watch alarm for ${o} seconds...`),!await h()){console.error("Failed to initialize audio for alarm");return}const y=Date.now()+o*1e3;let s=0;const D=async l=>{const c=l?e:i;for(let m=0;m<3;m++)await p(c,r),m<2&&w>0&&await new Promise(T=>setTimeout(T,w))};for(;Date.now()<y;){const l=s%2===0;await D(l),s++,Date.now()<y&&f>0&&await new Promise(c=>setTimeout(c,f))}console.log(`\u{1F514} Digital watch alarm completed (${s} patterns played)`)},_=async()=>{await p(u,d)},C=async a=>{let t=a?.data?.marketplace?.system_marketplace?.name||"STORE";const o=a?.data?.new==="CONFIRMED";let e=!1;return a?.notificationPayload?.class==="MallStoreAssistanceNotification"&&(e=!0),o&&(e=!0),e?(console.log("\u{1F6A8} Playing digital watch alarm for new order..."),await N(A),console.log("\u2705 Alarm sequence completed - TTS can now play"),"Notification"in window&&Notification.permission==="granted"&&new Notification(`Nueva Orden de ${t}`,{body:a?.data?.message||"Nueva orden recibida",icon:"https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/72x72/1f6a8.png"}),{alarmCompleted:!0}):{alarmCompleted:!1}};export{N as playDashDefaultDigitalWatchAlarm,_ as playDashDefaultNotificationSound,C as processDashDefaultNotification,x as requestDashDefaultNotificationPermission};
@@ -0,0 +1 @@
1
+ import{dashDefaultLogoutFromStorage as s,dashDefaultIsAuthenticated as t,dashDefaultGetCurrentUser as o,dashDefaultGetToken as r}from"./dashDefaultAuthProviderUtils";import{dashDefaultGetResourceConfig as u,dashDefaultSetResourceConfigs as f,dashDefaultProcessPostData as h,dashDefaultProcessFormData as i,dashDefaultBuildQueryString as l,dashDefaultIsFormDataResource as d}from"./dashDefaultDataProviderUtils";import{DashIPCMessageBrokerContext as n,DashIPCMessageBrokerProvider as p,useDashIPCMessageBroker as c}from"./IPCMessageBrokerContext";import{processDashDefaultNotification as P,playDashDefaultNotificationSound as m,playDashDefaultDigitalWatchAlarm as y,requestDashDefaultNotificationPermission as I}from"./dashDefaultNotificationsProcessor";export{n as DashIPCMessageBrokerContext,p as DashIPCMessageBrokerProvider,l as dashDefaultBuildQueryString,o as dashDefaultGetCurrentUser,u as dashDefaultGetResourceConfig,r as dashDefaultGetToken,t as dashDefaultIsAuthenticated,d as dashDefaultIsFormDataResource,s as dashDefaultLogoutFromStorage,i as dashDefaultProcessFormData,h as dashDefaultProcessPostData,f as dashDefaultSetResourceConfigs,y as playDashDefaultDigitalWatchAlarm,m as playDashDefaultNotificationSound,P as processDashDefaultNotification,I as requestDashDefaultNotificationPermission,c as useDashIPCMessageBroker};
@@ -0,0 +1 @@
1
+ import{SelectInput as e}from"react-admin";const t=[{id:"name",label:"Name",source:"name",alwaysOn:!0,reference:null,optionText:null},{id:"description",label:"Description",source:"description",alwaysOn:!0,reference:null,optionText:null},{id:"status",label:"Status",source:"status",reference:[{id:"active",name:"Active"},{id:"inactive",name:"Inactive"},{id:"pending",name:"Pending"}],optionText:"status",alwaysOn:!0,referenceComponent:e}];var o=t;export{o as default};
@@ -0,0 +1 @@
1
+ import{default as t}from"./dashDefaultDemoFilters";export{t as dashDefaultDemoFilters};
@@ -0,0 +1 @@
1
+ export*from"./demo";import{default as t}from"./demo/dashDefaultDemoFilters";export{t as dashDefaultDemoFilters};
@@ -0,0 +1 @@
1
+ import{dashDefaultPublicRoutes as o}from"./extensions/router/dashDefaultPublicRoutes";import{dashDefaultPrivateRoutes as r}from"./extensions/router/dashDefaultPrivateRoutes";import{default as u}from"../components/DashDefaultPublicApp";import{default as s}from"../components/DashDefaultPrivateApp";export*from"./extensions";export*from"./pages";export*from"./filters";export*from"./schemas";export{s as DashDefaultPrivateApp,u as DashDefaultPublicApp,r as defaultPrivateRoutes,o as defaultPublicRoutes};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as u}from"react/jsx-runtime";import D,{createRef as q,useEffect as S,useState as d}from"react";import{useDispatch as k}from"react-redux";import{useForm as H}from"react-hook-form";import{Button as E,TextField as i,IconButton as I,Alert as L,Box as U}from"@mui/material";import V from"@mui/icons-material/Home";import{useNavigate as M}from"react-router-dom";import{useNotify as O}from"react-admin";import W from"react-google-recaptcha";import{DASH_REDUX_ACTIONS as G}from"@dashadmin/dash-admin-state";import K from"@dashadmin/dash-admin/src/contexts/dictionary/DictionaryContext";import{useAxios as X}from"@dashadmin/dash-axios-hook";import{useDialog as z}from"@dashadmin/dash-dialog";import{DASHAppConstants as F}from"@dashadmin/dash-constants";import{RutValidator as J}from"@dashadmin/dash-admin/src/utils/validators";import Q from"@dashadmin/dash-admin/src/default-theme/FullLayoutMarkup";const t=n=>n?.message,Y=({showRutField:n=!0,customFields:R})=>{const p=F.system.RECAPTCHA_ENABLED,l=q(),[f,x]=d(null),[h,g]=d(null),[N,v]=d(!1),A=k(),Z=z(),y=D.useContext(K),c=M(),{register:s,handleSubmit:T,setError:C,clearErrors:b,formState:{errors:r}}=H(),P=X(),w=O(),_=a=>{b("g-recaptcha-response"),x(a)};S(()=>{A(G.updatePage({title:null}))},[]);async function B(a){if(v(!0),g(null),a.clientname){const o="client[name]";a[o]=a.clientname,delete a.clientname}if(p){const o=l.current&&l.current.getValue?l.current.getValue():f;a={...a,"g-recaptcha-response":o}}try{(await P.post("/auth/user/register",a,{headers:{"Content-Type":"multipart/form-data"}})).status>=200?(w("User has been registered",{type:"success"}),c("/")):g("An error occurred, please try again")}catch(o){for(const m in o)m==="client.name"&&C("clientname",{type:"custom",message:y.get(o[m],!0)}),C(m,{type:"custom",message:y.get(o[m],!0)})}finally{v(!1)}}return e(Q,{children:u("form",{onSubmit:T(B),className:"dash-app-login-form",autoComplete:"on",children:[u(U,{sx:{display:"flex",alignItems:"center",gap:2,mb:2},children:[e(I,{color:"primary",onClick:()=>c("/"),children:e(V,{})}),e("h1",{className:"dash-app-login-form-title",children:"Create Account"})]}),h&&e(L,{severity:"error",sx:{mb:2},children:h}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Email",placeholder:"Email",required:!0,...s("email"),type:"email",className:"dash-app-form-item-input",error:!!r.email,helperText:t(r.email)})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Business Name",placeholder:"Business Name",required:!0,...s("clientname"),className:"dash-app-form-item-input",error:!!r.clientname,helperText:t(r.clientname)})}),n&&e("div",{className:"dash-app-form-item",children:e(i,{label:"RUT",placeholder:"11.111.111-1",required:!0,...s("public_id",{validate:J}),className:"dash-app-form-item-input",error:!!r.public_id,helperText:t(r.public_id)||r.public_id&&"Invalid RUT"})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"First Name",placeholder:"First Name",required:!0,...s("name"),className:"dash-app-form-item-input",error:!!r.name,helperText:t(r.name)})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Last Name",placeholder:"Last Name",required:!0,...s("lastname"),className:"dash-app-form-item-input",error:!!r.lastname,helperText:t(r.lastname)})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Password",placeholder:"Password",type:"password",required:!0,...s("password"),className:"dash-app-form-item-input",error:!!r.password,helperText:t(r.password)})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Confirm Password",placeholder:"Confirm Password",type:"password",required:!0,...s("confirm_password"),className:"dash-app-form-item-input",error:!!r.confirm_password,helperText:t(r.confirm_password)})}),e("div",{className:"dash-app-form-item",children:e(i,{label:"Contact Phone",placeholder:"+1 234 567 8900",required:!0,...s("phone"),className:"dash-app-form-item-input",error:!!r.phone,helperText:t(r.phone)})}),R,p&&u("div",{className:"dash-app-form-item",children:[e(W,{ref:l,sitekey:F.system.RECAPTCHA_TOKEN,onChange:_}),r["g-recaptcha-response"]&&e("span",{style:{color:"red"},children:t(r["g-recaptcha-response"])})]}),e("div",{className:"dash-app-form-item mt-1",children:e(E,{type:"submit",variant:"contained",fullWidth:!0,disabled:N||!f&&p,sx:{mb:2},children:N?"Creating Account...":"Create Account"})}),e("div",{className:"dash-app-form-item",children:e(E,{variant:"text",fullWidth:!0,onClick:()=>{b(),c("/")},children:"Cancel"})})]})})};var he=Y;export{he as default};
@@ -0,0 +1 @@
1
+ import{Fragment as Ne,jsx as e,jsxs as s}from"react/jsx-runtime";import Z,{createRef as ee,useEffect as D,useState as m}from"react";import{useDispatch as re}from"react-redux";import{useForm as te}from"react-hook-form";import _ from"@mui/material/Button";import{useNavigate as ae}from"react-router-dom";import{useNotify as oe}from"react-admin";import ie from"react-google-recaptcha";import{Grid as l,IconButton as se,TextField as c,Card as ne,CardContent as le,Typography as d,Box as x,Chip as ce,FormControl as de,FormLabel as me,Divider as pe,Alert as ue,useTheme as ge,useMediaQuery as he}from"@mui/material";import fe from"@mui/icons-material/Home";import ye from"@mui/icons-material/CheckCircle";import be from"@mui/icons-material/Google";import{DASH_REDUX_ACTIONS as ve}from"@dashadmin/dash-admin-state";import Ce from"@dashadmin/dash-admin/src/contexts/dictionary/DictionaryContext";import{useAxios as _e}from"@dashadmin/dash-axios-hook";import{useDialog as xe}from"@dashadmin/dash-dialog";import{DASHAdminSystemConstants as h}from"@dashadmin/dash-constants";import{RutValidator as Pe}from"@dashadmin/dash-admin/src/utils/validators";import Se from"@dashadmin/dash-admin/src/default-theme/FullLayoutMarkup";import{priceFormatter as Te}from"@dashadmin/dash-utils";const we=E=>{const{panelSettings:P,showRutField:U=!0}=E,f=h.system.RECAPTCHA_ENABLED,S=h.system.GOOGLE_SIGNUP!==!1,u=ee(),[T,W]=m(null),[w,z]=m([]),[o,N]=m(null),[y,A]=m(!1),[I,q]=m(!0),[G,B]=m(!1),H=ge(),F=he(H.breakpoints.down("sm")),V=re(),$=xe(),L=Z.useContext(Ce),b=ae(),M=te(),{register:n,handleSubmit:O,setError:v,clearErrors:C,formState:{errors:t},setValue:R,watch:Ae}=M,k=_e(),p=oe(),Y=r=>{C("g-recaptcha-response"),W(r)};D(()=>{(async()=>{try{q(!0);const a=await k.get("/subscription-plans");a.data?.data&&(z(a.data.data),a.data.data.length>0&&(N(a.data.data[0].id),R("selected_plan_id",a.data.data[0].id)))}catch(a){console.error("Error loading subscription plans:",a),p("Error loading subscription plans",{type:"warning"})}finally{q(!1)}})()},[]),D(()=>{V(ve.updatePage({title:null}))},[]);const K=r=>{N(r),R("selected_plan_id",r),C("selected_plan_id")},Q=async()=>{if(!S){p("Google signup is currently disabled",{type:"warning"});return}try{B(!0);const r=h.system.API_URL+`/api/auth/google/redirect?signup=true&plan_id=${o||""}`;window.location.href=r}catch(r){console.error("Google authentication error:",r),p("Google authentication error",{type:"error"})}finally{B(!1)}};async function X(r){try{if(A(!0),C(),!o){v("selected_plan_id",{type:"required",message:"Please select a subscription plan"});return}if(r.clientname){const i="client[name]";r[i]=r.clientname,delete r.clientname}if(r.selected_plan_id=o,f){const i=u.current&&u.current.getValue?u.current.getValue():T;r["g-recaptcha-response"]=i}(await k.post("/auth/user/signup",r,{headers:{"Content-Type":"multipart/form-data"}})).status>=200?(p("Account created successfully!",{type:"success"}),b("/signup-success",{state:{email:r.email,planName:w.find(i=>i.id===o)?.name}})):$({variant:"danger",title:"Error",content:"An error occurred, please try again"})}catch(a){if(console.error("SignUp error:",a),a.response?.data?.errors){const i=a.response.data.errors;for(const g in i)g==="client.name"?v("clientname",{type:"custom",message:L.get(i[g],!0)}):v(g,{type:"custom",message:L.get(i[g],!0)})}else p("Registration error occurred",{type:"error"})}finally{A(!1)}}const j=(r,a)=>`${Te(r,"USD")}/${a==="monthly"?"mo":"yr"}`,J=r=>r>0?`${r} days free trial`:"No trial period";return e(Se,{className:"dash-signup",logo:P?.horizontalLogo,loginBackground:P?.loginBackground,children:s("form",{onSubmit:O(X),className:"dash-app-login-form",children:[s(x,{sx:{display:"flex",alignItems:"center",mb:4,mt:2,gap:1},children:[e(se,{color:"primary",size:"large",onClick:()=>b("/"),children:e(fe,{})}),e(d,{variant:F?"h5":"h4",component:"h1",className:"dash-app-login-form-title",sx:{fontWeight:"bold"},children:"Create Your Account"})]}),S&&s(Ne,{children:[e("div",{className:"dash-app-form-item",children:e(_,{fullWidth:!0,variant:"outlined",startIcon:e(be,{}),onClick:Q,disabled:G||!o,size:"large",children:G?"Connecting...":"Continue with Google"})}),e(pe,{sx:{my:3},children:e(d,{variant:"body2",color:"textSecondary",children:"or sign up with email"})})]}),e("div",{className:"dash-app-form-item",children:s(de,{component:"fieldset",fullWidth:!0,children:[e(me,{component:"legend",children:e(d,{variant:F?"h6":"h5",gutterBottom:!0,children:"Choose Your Plan"})}),I?e(x,{display:"flex",justifyContent:"center",p:2,children:e(d,{children:"Loading plans..."})}):e(l,{container:!0,spacing:2,children:w.map(r=>e(l,{size:{xs:12,sm:6,md:4},children:e(ne,{variant:o===r.id?"outlined":"elevation",sx:{cursor:"pointer",border:o===r.id?2:1,borderColor:o===r.id?"primary.main":"divider","&:hover":{borderColor:"primary.main"},height:"100%"},onClick:()=>K(r.id),children:s(le,{children:[s(x,{display:"flex",alignItems:"center",mb:2,children:[e(d,{variant:"h6",children:r.name}),o===r.id&&e(ye,{color:"primary",sx:{ml:"auto"}})]}),s(d,{variant:"h4",color:"primary",gutterBottom:!0,children:["$",j(r.price,r.billing_cycle)]}),e(ce,{label:J(r.trial_days),color:"secondary",size:"small",sx:{mb:2}}),e(d,{variant:"body2",color:"textSecondary",children:r.description})]})})},r.id))}),t.selected_plan_id&&e(ue,{severity:"error",sx:{mt:2},children:t.selected_plan_id.message})]})}),e(d,{variant:"h6",gutterBottom:!0,sx:{mt:4},children:"Account Information"}),e("div",{className:"dash-app-form-item",children:e(c,{label:"Email",required:!0,fullWidth:!0,...n("email",{required:"Email is required"}),inputProps:{type:"email"},error:!!t.email,helperText:t.email?.message})}),e("div",{className:"dash-app-form-item",children:e(c,{label:"Business Name",required:!0,fullWidth:!0,...n("clientname",{required:"Business name is required"}),error:!!t.clientname,helperText:t.clientname?.message})}),U&&e("div",{className:"dash-app-form-item",children:e(c,{label:"RUT",placeholder:"11.111.111-1",fullWidth:!0,...n("public_id",{validate:Pe}),error:!!t.public_id,helperText:t.public_id?.message})}),s(l,{container:!0,spacing:2,children:[e(l,{size:{xs:12,sm:6},children:e("div",{className:"dash-app-form-item",children:e(c,{label:"First Name",required:!0,fullWidth:!0,...n("name",{required:"First name is required"}),error:!!t.name,helperText:t.name?.message})})}),e(l,{size:{xs:12,sm:6},children:e("div",{className:"dash-app-form-item",children:e(c,{label:"Last Name",required:!0,fullWidth:!0,...n("lastname",{required:"Last name is required"}),error:!!t.lastname,helperText:t.lastname?.message})})})]}),s(l,{container:!0,spacing:2,children:[e(l,{size:{xs:12,sm:6},children:e("div",{className:"dash-app-form-item",children:e(c,{label:"Password",type:"password",required:!0,fullWidth:!0,...n("password",{required:"Password is required",minLength:{value:8,message:"Password must be at least 8 characters"}}),error:!!t.password,helperText:t.password?.message})})}),e(l,{size:{xs:12,sm:6},children:e("div",{className:"dash-app-form-item",children:e(c,{label:"Confirm Password",type:"password",required:!0,fullWidth:!0,...n("confirm_password",{required:"Please confirm your password"}),error:!!t.confirm_password,helperText:t.confirm_password?.message})})})]}),e("div",{className:"dash-app-form-item",children:e(c,{label:"Contact Phone",placeholder:"+1 234 567 8900",required:!0,fullWidth:!0,...n("phone",{required:"Phone number is required"}),error:!!t.phone,helperText:t.phone?.message})}),f&&e("div",{className:"dash-app-form-item",children:e(ie,{ref:u,sitekey:h.system.RECAPTCHA_TOKEN,onChange:Y})}),e("div",{className:"dash-app-form-item",children:e(_,{disabled:!T&&f||y||!o,type:"submit",fullWidth:!0,variant:"contained",size:"large",children:y?"Creating Account...":"Create Account & Start Trial"})}),e("div",{className:"dash-app-form-item",children:e(_,{fullWidth:!0,onClick:()=>b("/"),disabled:y,children:"Cancel"})})]})})};var Ke=we;export{Ke as default};
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useLocation as p,useNavigate as g}from"react-router-dom";import{Box as i,Typography as a,Button as l,Paper as u,Container as m}from"@mui/material";import f from"@mui/icons-material/CheckCircleOutline";import y from"@mui/icons-material/Email";import d from"@dashadmin/dash-admin/src/default-theme/FullLayoutMarkup";const h=s=>{const{panelSettings:n}=s,c=p(),r=g(),t=c.state;return o(d,{className:"dash-signup-success",logo:n?.horizontalLogo,loginBackground:n?.loginBackground,children:o(m,{maxWidth:"sm",children:e(u,{elevation:3,sx:{p:4,textAlign:"center",borderRadius:2},children:[o(f,{color:"success",sx:{fontSize:80,mb:2}}),o(a,{variant:"h4",component:"h1",gutterBottom:!0,children:"Account Created Successfully!"}),e(a,{variant:"body1",color:"textSecondary",paragraph:!0,children:["Thank you for signing up",t?.planName?` for the ${t.planName} plan`:"","."]}),e(i,{sx:{display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"info.light",borderRadius:1,p:2,my:3},children:[o(y,{sx:{mr:1,color:"info.dark"}}),e(a,{variant:"body2",color:"info.dark",children:["We've sent a verification email to ",o("strong",{children:t?.email||"your email address"}),". Please check your inbox and verify your email to complete the registration."]})]}),o(a,{variant:"body2",color:"textSecondary",paragraph:!0,children:"If you don't see the email, please check your spam folder or request a new verification email."}),e(i,{sx:{mt:4,display:"flex",flexDirection:"column",gap:2},children:[o(l,{variant:"contained",color:"primary",size:"large",onClick:()=>r("/login"),fullWidth:!0,children:"Go to Login"}),o(l,{variant:"outlined",onClick:()=>r("/"),fullWidth:!0,children:"Back to Home"})]})]})})})};var P=h;export{P as default};
@@ -0,0 +1 @@
1
+ import{default as t}from"./DashDefaultRegister";import{default as s}from"./DashDefaultSignUp";import{default as u}from"./DashDefaultSignUpSuccess";export{t as DashDefaultRegister,s as DashDefaultSignUp,u as DashDefaultSignUpSuccess};
@@ -0,0 +1 @@
1
+ import{Fragment as v,jsx as e,jsxs as l}from"react/jsx-runtime";import{useEffect as M,useState as n}from"react";import{useForm as z}from"react-hook-form";import{Button as F}from"@mui/material";import D from"@mui/material/Button";import P from"@mui/material/Link";import Z from"@mui/material/Alert";import x from"@mui/material/Box";import{IconButton as R,InputAdornment as V,TextField as w}from"@mui/material";import{useNavigate as T}from"react-router";import _ from"@mui/icons-material/VisibilityOff";import H from"@mui/icons-material/Visibility";import O from"@dashadmin/dash-admin/src/default-theme/FullLayoutMarkup";import{AuthPersistenceService as i}from"@dashadmin/dash-auth";import J from"@dashadmin/dash-admin/src/contexts/auth/DASHAuthenticationService";import{dashStorage as A}from"@dashadmin/dash-utils";const U=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,$=()=>{const m=T(),L=t=>U.test(t),[y,d]=n(()=>{const t=i.isAuthValid(),s=JSON.parse(A.getItem("authenticated")||"false");return t&&s}),[g,c]=n(!1),[p,u]=n(null),[f,S]=n(!1),b=z(),{register:h,handleSubmit:I,formState:{errors:a}}=b;M(()=>{const t=i.isAuthValid(),s=JSON.parse(A.getItem("authenticated")||"false");t&&s?(console.log("User is already authenticated"),d(!0)):(console.log("User is not authenticated"),d(!1))},[]);const B=()=>S(t=>!t),E=t=>{t.preventDefault()};async function N(t){const s=t.password;c(!0),u(null);try{console.log("Attempting login with DASHAuthenticationService...");const o=await J.login({username:t.email,password:s,redirect:window.location.pathname});if(console.log("Login response:",o),!o.success)throw new Error(o.error||"Login failed");console.log("Login successful!"),c(!1),d(!0),o.redirectAfterLogin?(console.log("Redirecting to:",o.redirectAfterLogin),m(o.redirectAfterLogin)):m("/")}catch(o){console.error("Login error:",o),c(!1);let r="Credenciales inv\xE1lidas";o?.response?.data?.message?r=o.response.data.message:o?.error?r=o.error:o?.message&&(r=o.message),u(r)}}const k=i.getTenantImages()?.horizontal_logo?.original,C=i.getTenantImages()?.banner?.original;return e(O,{logo:k,loginBackground:C,children:e(v,{children:y?l(v,{children:[e("div",{className:"dash-app-form-item",children:"Ya se encuentra logueado"}),e(D,{onClick:()=>m("/"),children:"Ir al Home"})]}):l("form",{onSubmit:I(N),className:"dash-app-login-form",children:[l("div",{className:"dash-app-form-item",children:[e(w,{label:"Email",placeholder:"Email",required:!0,...h("email",{validate:L}),className:"dash-app-form-item-input"}),a.email&&e("span",{style:{color:"red"},children:a.email.message?String(a.email.message):"Email inv\xE1lido"})]}),l("div",{className:"dash-app-form-item",children:[e(w,{label:"Contrase\xF1a",placeholder:"Contrase\xF1a",...h("password"),className:"dash-app-form-item-input",InputProps:{autoComplete:"password",type:f?"text":"password",endAdornment:e(V,{position:"end",children:e(R,{"aria-label":"toggle password visibility",onClick:B,onMouseDown:E,edge:"end",children:f?e(_,{}):e(H,{})})})}}),a.password&&e("span",{style:{color:"red"},children:a.password.message?String(a.password.message):"Contrase\xF1a Inv\xE1lida"}),e(P,{className:"link link--secondary",style:{marginLeft:"auto"},href:"/reset-password",children:"Resetear contrase\xF1a"})]}),p&&e(x,{sx:{mb:2},children:e(Z,{severity:"error",variant:"filled",children:p})}),e("div",{className:"dash-app-form-item mt-1",children:e(F,{style:{marginBottom:"21px"},className:"submit",type:"submit",disabled:g,variant:"contained",children:g?"Cargando...":"Ingresar"})})]})})})};var le=$;export{le as default};
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as a}from"react/jsx-runtime";import{useNavigate as c}from"react-router-dom";import{Box as l,Typography as t,Button as e,Container as s,Paper as u}from"@mui/material";import h from"@mui/icons-material/ErrorOutline";import d from"@mui/icons-material/Home";import g from"@mui/icons-material/ArrowBack";const f=({title:r="Page Not Found",message:i="The page you are looking for does not exist or has been moved.",showHomeButton:p=!0,showBackButton:m=!0})=>{const n=c();return o(s,{maxWidth:"sm",children:a(u,{elevation:0,sx:{p:4,textAlign:"center",mt:8},children:[o(h,{color:"warning",sx:{fontSize:100,mb:3}}),o(t,{variant:"h1",component:"h1",sx:{fontWeight:"bold",mb:2},children:"404"}),o(t,{variant:"h5",component:"h2",gutterBottom:!0,children:r}),o(t,{variant:"body1",color:"textSecondary",paragraph:!0,children:i}),a(l,{sx:{mt:4,display:"flex",justifyContent:"center",gap:2,flexWrap:"wrap"},children:[m&&o(e,{variant:"outlined",startIcon:o(g,{}),onClick:()=>{n(-1)},children:"Go Back"}),p&&o(e,{variant:"contained",color:"primary",startIcon:o(d,{}),onClick:()=>{n("/")},children:"Go to Home"})]})]})})};var F=f;export{F as default};
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as n}from"react/jsx-runtime";import{useNavigate as s}from"react-router-dom";import{Box as c,Typography as r,Button as e,Container as h,Paper as f}from"@mui/material";import g from"@mui/icons-material/ReportProblem";import y from"@mui/icons-material/Home";import d from"@mui/icons-material/Refresh";const u=({title:a="Server Error",message:i="Something went wrong on our end. Please try again later.",showHomeButton:p=!0,showRetryButton:l=!0,onRetry:t})=>{const m=s();return o(h,{maxWidth:"sm",children:n(f,{elevation:0,sx:{p:4,textAlign:"center",mt:8},children:[o(g,{color:"error",sx:{fontSize:100,mb:3}}),o(r,{variant:"h1",component:"h1",sx:{fontWeight:"bold",mb:2},children:"500"}),o(r,{variant:"h5",component:"h2",gutterBottom:!0,children:a}),o(r,{variant:"body1",color:"textSecondary",paragraph:!0,children:i}),n(c,{sx:{mt:4,display:"flex",justifyContent:"center",gap:2,flexWrap:"wrap"},children:[l&&o(e,{variant:"contained",color:"primary",startIcon:o(d,{}),onClick:()=>{t?t():window.location.reload()},children:"Try Again"}),p&&o(e,{variant:"outlined",startIcon:o(y,{}),onClick:()=>{m("/")},children:"Go to Home"})]})]})})};var H=u;export{H as default};
@@ -0,0 +1 @@
1
+ import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useNavigate as m}from"react-router-dom";import{Box as h,Typography as n,Button as a,Container as g,Paper as u}from"@mui/material";import d from"@mui/icons-material/Lock";import f from"@mui/icons-material/Home";import B from"@mui/icons-material/ArrowBack";import y from"@mui/icons-material/Login";const x=({title:r="Access Denied",message:i="You do not have permission to access this page.",showHomeButton:c=!0,showBackButton:p=!0,showLoginButton:s=!0,isLoggedIn:l=!1})=>{const t=m();return o(g,{maxWidth:"sm",children:e(u,{elevation:0,sx:{p:4,textAlign:"center",mt:8},children:[o(d,{color:"error",sx:{fontSize:100,mb:3}}),o(n,{variant:"h1",component:"h1",sx:{fontWeight:"bold",mb:2},children:"403"}),o(n,{variant:"h5",component:"h2",gutterBottom:!0,children:r}),o(n,{variant:"body1",color:"textSecondary",paragraph:!0,children:i}),e(h,{sx:{mt:4,display:"flex",justifyContent:"center",gap:2,flexWrap:"wrap"},children:[p&&o(a,{variant:"outlined",startIcon:o(B,{}),onClick:()=>{t(-1)},children:"Go Back"}),c&&o(a,{variant:"contained",color:"primary",startIcon:o(f,{}),onClick:()=>{t("/")},children:"Go to Home"}),s&&!l&&o(a,{variant:"outlined",color:"primary",startIcon:o(y,{}),onClick:()=>{t("/login")},children:"Login"})]})]})})};var P=x;export{P as default};
@@ -0,0 +1 @@
1
+ import{default as r}from"./DashDefaultNotFound";import{default as o}from"./DashDefaultUnauthorized";import{default as u}from"./DashDefaultServerError";export{r as DashDefaultNotFound,u as DashDefaultServerError,o as DashDefaultUnauthorized};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import n from"./DashDefaultStaticPage";const c=({companyName:s="Our Company",effectiveDate:a=new Date().toLocaleDateString(),contactEmail:o="privacy@example.com",content:i})=>{const r=t("div",{children:[t("p",{children:[e("strong",{children:"Effective Date:"})," ",a]}),e("h2",{children:"1. Information We Collect"}),e("p",{children:"We collect information you provide directly to us, such as when you create an account, make a purchase, or contact us for support."}),e("h2",{children:"2. How We Use Your Information"}),e("p",{children:"We use the information we collect to provide, maintain, and improve our services, process transactions, and send you technical notices and support messages."}),e("h2",{children:"3. Information Sharing"}),e("p",{children:"We do not share your personal information with third parties except as described in this privacy policy or with your consent."}),e("h2",{children:"4. Data Security"}),e("p",{children:"We take reasonable measures to help protect information about you from loss, theft, misuse, unauthorized access, disclosure, alteration, and destruction."}),e("h2",{children:"5. Your Rights"}),e("p",{children:"You have the right to access, correct, or delete your personal information. You may also have the right to restrict or object to certain processing of your data."}),e("h2",{children:"6. Cookies"}),e("p",{children:"We use cookies and similar tracking technologies to track activity on our service and hold certain information to improve and analyze our service."}),e("h2",{children:"7. Changes to This Policy"}),e("p",{children:"We may update this privacy policy from time to time. We will notify you of any changes by posting the new privacy policy on this page."}),e("h2",{children:"8. Contact Us"}),t("p",{children:["If you have any questions about this Privacy Policy, please contact us at"," ",e("a",{href:`mailto:${o}`,children:o}),"."]})]});return e(n,{title:"Privacy Policy",content:i||r})};var l=c;export{l as default};
@@ -0,0 +1 @@
1
+ import{jsx as t,jsxs as u}from"react/jsx-runtime";import{useNavigate as c}from"react-router-dom";import{Box as m,Typography as o,Button as p,Container as s,Paper as g}from"@mui/material";import l from"@mui/icons-material/ArrowBack";const d=({title:e="Static Page",content:a,showBackButton:r=!0,maxWidth:n="md"})=>{const i=c();return t(s,{maxWidth:n,children:u(g,{elevation:0,sx:{p:4,my:4},children:[r&&t(m,{sx:{mb:3},children:t(p,{variant:"text",startIcon:t(l,{}),onClick:()=>{i(-1)},children:"Back"})}),t(o,{variant:"h4",component:"h1",gutterBottom:!0,children:e}),typeof a=="string"?t(o,{variant:"body1",component:"div",dangerouslySetInnerHTML:{__html:a}}):a]})})};var v=d;export{v as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import n from"./DashDefaultStaticPage";const s=({companyName:t="Our Company",effectiveDate:o=new Date().toLocaleDateString(),content:a})=>e(n,{title:"Terms of Service",content:a||i("div",{children:[i("p",{children:[e("strong",{children:"Effective Date:"})," ",o]}),e("h2",{children:"1. Acceptance of Terms"}),e("p",{children:"By accessing and using this service, you accept and agree to be bound by the terms and provision of this agreement."}),e("h2",{children:"2. Use License"}),i("p",{children:["Permission is granted to temporarily access the materials (information or software) on ",t,"'s website for personal, non-commercial transitory viewing only."]}),e("h2",{children:"3. Disclaimer"}),i("p",{children:["The materials on ",t,"'s website are provided on an 'as is' basis.",t," makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights."]}),e("h2",{children:"4. Limitations"}),i("p",{children:["In no event shall ",t," or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on ",t,"'s website."]}),e("h2",{children:"5. Contact Information"}),e("p",{children:"If you have any questions about these Terms, please contact us."})]})});var f=s;export{f as default};
@@ -0,0 +1 @@
1
+ import{default as t}from"./DashDefaultStaticPage";import{default as r}from"./DashDefaultTermsPage";import{default as l}from"./DashDefaultPrivacyPage";export{l as DashDefaultPrivacyPage,t as DashDefaultStaticPage,r as DashDefaultTermsPage};
@@ -0,0 +1 @@
1
+ import{default as t}from"./DashDefaultLogin";import{default as f}from"./Account/DashDefaultRegister";import{default as s}from"./Account/DashDefaultSignUp";import{default as l}from"./Account/DashDefaultSignUpSuccess";import{default as p}from"./Misc/DashDefaultNotFound";import{default as g}from"./Misc/DashDefaultUnauthorized";import{default as d}from"./Misc/DashDefaultServerError";import{default as P}from"./Static/DashDefaultStaticPage";import{default as n}from"./Static/DashDefaultTermsPage";import{default as c}from"./Static/DashDefaultPrivacyPage";export*from"./Account";export*from"./Misc";export*from"./Static";export{t as DashDefaultLogin,p as DashDefaultNotFoundPage,c as DashDefaultPrivacyPage,f as DashDefaultRegisterPage,d as DashDefaultServerErrorPage,s as DashDefaultSignUpPage,l as DashDefaultSignUpSuccessPage,P as DashDefaultStaticPage,n as DashDefaultTermsPage,g as DashDefaultUnauthorizedPage};
@@ -0,0 +1 @@
1
+ const t=[{attribute:"id",label:"ID",type:String,sortable:!0,inEdit:!1,inCreate:!1}];var i=t;export{i as default};
@@ -0,0 +1 @@
1
+ const t=[{tab:"Details",attribute:"name",label:"Name",type:String},{tab:"Details",attribute:"description",label:"Description",type:"textarea"},{tab:"Status",attribute:"completed",label:"Completed",type:Boolean}];var i=t;export{i as default};
@@ -0,0 +1 @@
1
+ import{default as o}from"./dashDefaultTodoSchema";export{o as dashDefaultTodoSchema};
@@ -0,0 +1 @@
1
+ import{default as o}from"./dashDefaultSchema";export*from"./demo";import{default as r}from"./demo/dashDefaultTodoSchema";export{o as dashDefaultSchema,r as dashDefaultTodoSchema};
@@ -0,0 +1 @@
1
+ import{SelectInput as e}from"react-admin";const o=[{id:"name",label:"Nombre",source:"name",alwaysOn:!0,reference:null,optionText:null},{id:"description",label:"Descripci\xF3n",source:"description",alwaysOn:!0,reference:null,optionText:null},{id:"completed",label:"Status",source:"completed",reference:[{id:"1",name:"Completado"},{id:"0",name:"Incompleto"}],optionText:"completed",alwaysOn:!0,referenceComponent:e}];var p=o;export{p as default};
@@ -0,0 +1 @@
1
+ import{jsx as d}from"react/jsx-runtime";import o from"@dashadmin/dash-admin/src/templates/ResourceTemplate";import r from"@mui/icons-material/FiberManualRecord";import{DASHAppConstants as a}from"@dashadmin/dash-constants";import s from"../../schemas/demo/todoSchema";import i from"../../filters/demo/todoFilters";const m=r,e=!0,n={roles:[a.system.SYSTEM_ROLE],component:o,model:"example/todo",label:"Todo",schema:s,icon:d(m,{}),group:"Example",trash:e,menu:[{title:"List",redirect:"/example/todo"},...e?[{title:"Trash",redirect:"/example/todo/trash"}]:[]],referenceFilters:i,mainAction:{title:"Crear Todo",mode:"create",fn:"virtualhash",redirect:"inline/create"},view:!0,create:!0,edit:!0,drawer:!0,drawerOptions:{create:!0,edit:!0,view:!0},isFormData:!0,formGroupMode:"tabs",postFormatter:t=>t,mutationMode:"pessimistic",saveButtonAlwaysEnabled:!0,listProps:{storeKey:!1},resetSelectedIdsOnLoad:!0};var w=n;export{w as default};
@@ -0,0 +1 @@
1
+ const t=[{attribute:"id",label:"Id",type:String,sortable:!0,inEdit:!1,inCreate:!1}];var i=t;export{i as default};
@@ -0,0 +1 @@
1
+ const t=[{tab:"Todo",attribute:"name",label:"Nombre",type:String},{tab:"Todo",attribute:"description",label:"Description",type:"textarea"},{tab:"Todo",attribute:"completed",label:"Completed",type:Boolean}];var a=t;export{a as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dashadmin/dash-app-common",
3
- "version": "1.3.17",
3
+ "version": "1.3.20",
4
4
  "description": "Common defaults and utilities for Dash applications - provides pre-configured components, extensions, pages, filters, and schemas",
5
5
  "private": false,
6
6
  "main": "src/index.ts",
@@ -12,7 +12,7 @@
12
12
  "lint:fix": "pnpm prettier --write .",
13
13
  "check-updates": "pnpm npm-check-updates",
14
14
  "updates-packages": "pnpm npm-check-updates -u",
15
- "build": "vite build"
15
+ "build": "rm -rf dist && node ../dash-build/compile.mjs && vite build"
16
16
  },
17
17
  "browserslist": {
18
18
  "production": [
@@ -67,10 +67,21 @@
67
67
  "exports": {
68
68
  ".": {
69
69
  "import": "./dist/index.js"
70
+ },
71
+ "./src/*": {
72
+ "import": "./dist/*.js"
70
73
  }
71
74
  }
72
75
  },
73
76
  "files": [
74
77
  "dist"
75
- ]
78
+ ],
79
+ "exports": {
80
+ ".": {
81
+ "import": "./src/index.ts"
82
+ },
83
+ "./src/*": {
84
+ "import": "./src/*"
85
+ }
86
+ }
76
87
  }