@dashadmin/dash-admin 1.3.16 → 1.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AppAsyncWrapper.js +1 -0
- package/dist/AppWrapper.js +1 -0
- package/dist/DASHAdmin.js +1 -0
- package/dist/DASHAdmin.tsx.old +456 -0
- package/dist/RoutingWrapper.js +1 -0
- package/dist/classes/DASHStorageClass.js +1 -0
- package/dist/components/Input/RichTextField.js +1 -0
- package/dist/components/Redirect.js +1 -0
- package/dist/components/avatar/Avatar.js +1 -0
- package/dist/components/avatar/SingleImageUploader.js +1 -0
- package/dist/components/currency/Format.js +1 -0
- package/dist/components/custom/Redirect.js +1 -0
- package/dist/components/error/Error.js +1 -0
- package/dist/components/geocoding/GeocodingField.js +1 -0
- package/dist/components/i18n/BridgedLocalesMenuButton.js +1 -0
- package/dist/components/i18n/LangSwitcher.js +1 -0
- package/dist/components/loader/GlobalLoader.js +1 -0
- package/dist/components/logs/LogFile.js +1 -0
- package/dist/components/logs/LogFileById.js +1 -0
- package/dist/components/logs/LogViewer.js +1 -0
- package/dist/components/menu/AppMenu.js +1 -0
- package/dist/components/menu/CustomMenuItemLink.js +1 -0
- package/dist/components/menu/DarkToggleMode.js +1 -0
- package/dist/components/menu/LanguageToggleMode.js +1 -0
- package/dist/components/misc/CustomImageInput.js +1 -0
- package/dist/components/misc/DASHGlobalErrorHandler.js +1 -0
- package/dist/components/misc/DarkModeSwitcher.js +1 -0
- package/dist/components/misc/LanguageSwitcher.js +1 -0
- package/dist/components/misc/MUIHtmlToolTip.js +1 -0
- package/dist/components/misc/MuiSimpleJsonTable.js +1 -0
- package/dist/components/misc/MultiLevelTable.js +1 -0
- package/dist/components/misc/NoResults.js +1 -0
- package/dist/components/misc/PDFViewer.js +1 -0
- package/dist/components/navigation/Breadcrumbs.js +1 -0
- package/dist/components/navigation/BreadcrumbsManager.js +1 -0
- package/dist/components/navigation/index.js +1 -0
- package/dist/components/panel/Error.js +1 -0
- package/dist/components/permission/AvailablePermissionsContext.js +1 -0
- package/dist/components/permission/PermissionsSelector.js +1 -0
- package/dist/components/permission/PermissionsSelectorList.js +1 -0
- package/dist/components/permission/tsx +0 -0
- package/dist/components/racustombuttons/CustomRAButton.js +1 -0
- package/dist/components/racustombuttons/QuickButton.js +1 -0
- package/dist/components/racustombuttons/QuickEditButton.js +1 -0
- package/dist/components/racustombuttons/QuickIconButton.js +1 -0
- package/dist/components/scrollbar/Scrollbar.js +1 -0
- package/dist/components/selects/MultiSelect.js +1 -0
- package/dist/components/selects/RASearchableSelect.js +1 -0
- package/dist/components/selects/RASearchableSelectChips.js +1 -0
- package/dist/components/selects/SearchableSelect.js +1 -0
- package/dist/components/subscription/BillingCycleSelectInput.js +1 -0
- package/dist/components/subscription/PlanAddonsSettings.js +1 -0
- package/dist/components/subscription/PlanAuditLog.js +1 -0
- package/dist/components/subscription/PlanFeaturesSettings.js +1 -0
- package/dist/components/subscription/PlanLimitsSettings.js +1 -0
- package/dist/components/subscription/PlanMetadataSettings.js +1 -0
- package/dist/components/subscription/PlanPricesSettings.js +1 -0
- package/dist/components/subscription/index.js +1 -0
- package/dist/components/svgelements/SvgLoading.js +1 -0
- package/dist/components/svgelements/SvgLogo.js +1 -0
- package/dist/components/svgelements/SvgLogoMin.js +1 -0
- package/dist/components/svgelements/SvgShipping.js +1 -0
- package/dist/components/tenant/AvailablePermissionsContext.js +0 -0
- package/dist/components/tenant/TenantAttributes.js +1 -0
- package/dist/components/tenant/TenantAttributesContext.js +1 -0
- package/dist/components/tenant/TenantSelector.js +1 -0
- package/dist/components/tenant/TenantSettings.js +1 -0
- package/dist/components/tenant/TenantSettingsContext.js +1 -0
- package/dist/components/tenant/TenantTheme.js +1 -0
- package/dist/components/user/AvatarComponent.js +1 -0
- package/dist/components/user/TenantAvatarComponent.js +1 -0
- package/dist/components/user/UserPreferences.js +1 -0
- package/dist/config/ACTIONS.js +1 -0
- package/dist/config/ConstantsService.js +1 -0
- package/dist/config/DASHAdminSystemConstants.js +1 -0
- package/dist/config/PARSERS.js +1 -0
- package/dist/contexts/DashQueryClientContext.js +1 -0
- package/dist/contexts/DashResourceContext.js +1 -0
- package/dist/contexts/I18nBridgeContext.js +1 -0
- package/dist/contexts/I18nBridgeSetter.js +1 -0
- package/dist/contexts/I18nReduxSync.js +1 -0
- package/dist/contexts/SubscriptionPlanFormatsProvider.js +1 -0
- package/dist/contexts/SystemRequestsCache.js +1 -0
- package/dist/contexts/auth/AuthContext.js +1 -0
- package/dist/contexts/auth/AuthContextLocalStorage.js +1 -0
- package/dist/contexts/auth/DASHAuthenticationService.js +1 -0
- package/dist/contexts/auth/WindowContext.js +1 -0
- package/dist/contexts/auth/index.js +1 -0
- package/dist/contexts/com/FCMContext.js +1 -0
- package/dist/contexts/com/LaravelEchoContext.js +1 -0
- package/dist/contexts/com/LaravelEchoMgr.js +1 -0
- package/dist/contexts/com/components/DefaultNotificationComponent.js +1 -0
- package/dist/contexts/com/components/NotificationAttributesTable.js +1 -0
- package/dist/contexts/com/components/NotificationRenderer.js +1 -0
- package/dist/contexts/com/components/NotificationsWidget.js +1 -0
- package/dist/contexts/com/components/notificationFormats.js +1 -0
- package/dist/contexts/com/useLaravelEcho.js +1 -0
- package/dist/contexts/dictionary/DictionaryContext.js +1 -0
- package/dist/declarations.d.ts +17 -0
- package/dist/default-theme/DASHAppProviders.js +1 -0
- package/dist/default-theme/DashThemeContext.js +1 -0
- package/dist/default-theme/DashThemeContext.tsx.fast +143 -0
- package/dist/default-theme/DashThemeContext.tsx.old +306 -0
- package/dist/default-theme/DashThemeHelperProvider.js +1 -0
- package/dist/default-theme/DomainAppLayout.js +1 -0
- package/dist/default-theme/DomainHeader.js +1 -0
- package/dist/default-theme/DomainTheme.js +1 -0
- package/dist/default-theme/FullLayoutMarkup.js +1 -0
- package/dist/default-theme/StaticLayout.js +1 -0
- package/dist/default-theme/index.js +1 -0
- package/dist/default-theme/menu/AppMaterialMenu.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/SubmenuPortal.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/expanded/SidebarItem.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/getItem.js +1 -0
- package/dist/default-theme/menu/AppMenuComponents/interfaces.js +0 -0
- package/dist/default-theme/menu/AppMenuComponents/submenuConstants.js +1 -0
- package/dist/default-theme/menu/AppSidebarMaterial.js +1 -0
- package/dist/default-theme/menu/SidebarActions.js +1 -0
- package/dist/default-theme/updateDomCssVariables.js +1 -0
- package/dist/helpers/checkRole.js +1 -0
- package/dist/helpers/parseAxiosError.js +2 -0
- package/dist/hooks/audio/useAudio.js +1 -0
- package/dist/hooks/axios.js +1 -0
- package/dist/hooks/data/useDashboardStats.js +1 -0
- package/dist/hooks/data/usePackageByClientsStats.js +1 -0
- package/dist/hooks/data/usePackageByCommunesStats.js +1 -0
- package/dist/hooks/data/usePackageStats.js +1 -0
- package/dist/hooks/data/usePackageWithdrawDetails.js +1 -0
- package/dist/hooks/data/useStats.js +1 -0
- package/dist/hooks/isCurrentPath.js +1 -0
- package/dist/hooks/notifications/WSMessagesManager.js +1 -0
- package/dist/hooks/notifications/WSPusherManager.js +1 -0
- package/dist/hooks/useBreadcrumbs.js +1 -0
- package/dist/hooks/useClickOutside.js +1 -0
- package/dist/hooks/useFormPersistance.js +1 -0
- package/dist/hooks/useGlobalErrorMediator.js +1 -0
- package/dist/hooks/useGlobalLoaderMgr.js +1 -0
- package/dist/hooks/useHash.js +1 -0
- package/dist/hooks/useLocalStorage.js +1 -0
- package/dist/hooks/usePolyglotTranslation.js +1 -0
- package/dist/hooks/usePrevious.js +1 -0
- package/dist/hooks/usePrintSelected.js +1 -0
- package/dist/hooks/useVirtualHash.js +1 -0
- package/dist/hooks/window/useWindowSize.js +1 -0
- package/dist/interfaces/IAppResourceConfig.js +0 -0
- package/dist/interfaces/Log.js +0 -0
- package/dist/interfaces/Tenant.js +0 -0
- package/dist/interfaces/communication/IActions.js +0 -0
- package/dist/interfaces/communication/INotification.js +0 -0
- package/dist/interfaces/communication/IPayload.js +0 -0
- package/dist/interfaces/communication/IRequestAction.js +0 -0
- package/dist/interfaces/communication/IRequestPayload.js +0 -0
- package/dist/interfaces/communication/IResponseAction.js +0 -0
- package/dist/interfaces/misc/IAny.js +0 -0
- package/dist/interfaces/misc/IFlashMessage.js +0 -0
- package/dist/interfaces/navigation/IAppMenu.js +0 -0
- package/dist/interfaces/navigation/ICollapsableSidebarMenu.js +0 -0
- package/dist/interfaces/navigation/IMenuItem.js +0 -0
- package/dist/interfaces/notifications/IModel.js +0 -0
- package/dist/interfaces/notifications/IModelField.js +0 -0
- package/dist/interfaces/notifications/IUserNotification.js +0 -0
- package/dist/interfaces/notifications/IUserNotificationData.js +0 -0
- package/dist/interfaces/notifications/IUserNotificationPayload.js +0 -0
- package/dist/interfaces/user/IGetAuth.js +0 -0
- package/dist/interfaces/user/ITenantSettings.js +0 -0
- package/dist/interfaces/user/IUser.js +0 -0
- package/dist/interfaces/user/IUserSettings.js +0 -0
- package/dist/interfaces.js +1 -0
- package/dist/layout/AppLayout.js +1 -0
- package/dist/layout/ApplicationLayout.js +1 -0
- package/dist/layout/MotionWrapper.js +1 -0
- package/dist/layout/MotionWrapper.original.js +1 -0
- package/dist/layout/ResourceMenu.js +1 -0
- package/dist/layout/ResoureLayout.js +1 -0
- package/dist/layout/TransitionWrapper.js +24 -0
- package/dist/pages/ChangePassword.js +1 -0
- package/dist/pages/DASHLanding.js +1 -0
- package/dist/pages/DASHLightWeightLogin.js +1 -0
- package/dist/pages/DASHSimpleLogin.js +1 -0
- package/dist/pages/Login.js +1 -0
- package/dist/pages/Profile.js +1 -0
- package/dist/pages/RecoverPassword.js +1 -0
- package/dist/pages/SingleImageUploader.js +1 -0
- package/dist/pages/VerifyAccount.js +1 -0
- package/dist/providers/authProvider.js +1 -0
- package/dist/providers/dataProvider.js +1 -0
- package/dist/providers/i18n/en.js +1 -0
- package/dist/providers/i18n/es.js +1 -0
- package/dist/providers/i18n/languages.js +1 -0
- package/dist/providers/i18nProvider.js +1 -0
- package/dist/react-admin-dash/RADashComponent.js +1 -0
- package/dist/react-admin-dash/Resource.js +1 -0
- package/dist/resources/Brand/BrandResource.js +1 -0
- package/dist/resources/DASHResourceLoader.js +1 -0
- package/dist/resources/Log/LogResource.js +1 -0
- package/dist/resources/Tenant/ImpersonateTenantResource.js +1 -0
- package/dist/resources/Trash/TrashTemplate.js +1 -0
- package/dist/resources.js +1 -0
- package/dist/schemas/log.js +1 -0
- package/dist/schemas/notification.js +1 -0
- package/dist/schemas/permissions.js +1 -0
- package/dist/schemas/roles.js +1 -0
- package/dist/schemas/rolesDataGrid.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionActions.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionPaymentHistory.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionPlanFeatures.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionPlanPreview.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionPlanStats.js +1 -0
- package/dist/schemas/subscription/components/SubscriptionStatusIndicator.js +1 -0
- package/dist/schemas/subscription/subscriptionPlanSchema.js +1 -0
- package/dist/schemas/subscription/subscriptionSchema.js +1 -0
- package/dist/schemas/subscriptionPlan.js +1 -0
- package/dist/schemas/tenant.js +1 -0
- package/dist/schemas/tenantUser.js +1 -0
- package/dist/schemas/tenant_superadmin.js +1 -0
- package/dist/schemas/user.js +1 -0
- package/dist/systemResources.js +1 -0
- package/dist/systemResources.old.js +1 -0
- package/dist/templates/ResourceTemplate.js +1 -0
- package/dist/templates/ResourceTemplate.tsx.memoized_experiment +350 -0
- package/dist/templates/ResourceTemplate.tsx.original +396 -0
- package/dist/templates/ResourceTemplateCreate.js +1 -0
- package/dist/templates/ResourceTemplateEdit.js +1 -0
- package/dist/templates/ResourceTemplateFull.js +1 -0
- package/dist/templates/ResourceTemplateList.js +1 -0
- package/dist/templates/ResourceTemplateOld.tsx.bkup +567 -0
- package/dist/templates/ResourceTemplateShow.js +1 -0
- package/dist/templates/TrashTemplate.js +1 -0
- package/dist/tenantResources.js +1 -0
- package/dist/test_portal_bubbles.js +1 -0
- package/dist/theme/AppHeader.js +1 -0
- package/dist/theme/AppLayoutSetting.js +1 -0
- package/dist/theme/AppLogo.js +1 -0
- package/dist/theme/AppSidebar.js +1 -0
- package/dist/theme/AppSidebarContent.js +1 -0
- package/dist/theme/AppSidebarLogo.js +1 -0
- package/dist/theme/components/PageTitle.js +1 -0
- package/dist/utils/cache/CacheInvalidatorContext.js +1 -0
- package/dist/utils/cache/CacheInvalidatorListenerComponent.js +1 -0
- package/dist/utils/cache/useCacheInvalidatorListener.js +1 -0
- package/dist/utils/convertFileToBase64.js +1 -0
- package/dist/utils/convertToFile.js +1 -0
- package/dist/utils/cookies.js +1 -0
- package/dist/utils/dashDefaultQueryClient.js +1 -0
- package/dist/utils/dataUrlToBlob.js +1 -0
- package/dist/utils/deepReplace.js +1 -0
- package/dist/utils/getProfileMenu.js +1 -0
- package/dist/utils/getTenantSettings.js +1 -0
- package/dist/utils/getType.js +1 -0
- package/dist/utils/getUserSettings.js +1 -0
- package/dist/utils/hasCode.js +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/injectTenantStyles.js +1 -0
- package/dist/utils/isComponent.js +1 -0
- package/dist/utils/navEvents.js +1 -0
- package/dist/utils/prototypes.js +1 -0
- package/dist/utils/regexp.js +1 -0
- package/dist/utils/resolveObjectPath.js +1 -0
- package/dist/utils/setNativeValue.js +1 -0
- package/dist/utils/slugify.js +1 -0
- package/dist/utils/validators/emailValidator.js +1 -0
- package/dist/utils/validators/requiredValidator.js +1 -0
- package/dist/utils/validators/rutValidator.js +1 -0
- package/dist/utils/validators.js +1 -0
- package/package.json +13 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import*as B from"react";import{useEffect as T,useRef as y}from"react";import{useDispatch as H,useSelector as I}from"react-redux";import{useStore as L}from"react-admin";import{DASH_REDUX_ACTIONS as E}from"@dashadmin/dash-admin-state";import U from"./DomainTheme";import M from"./DomainHeader";import{BreadcrumbsManager as D}from"../components/navigation";import{DASHAdminSystemConstants as X}from"@dashadmin/dash-constants";const w=C=>{const{ThemeComponent:d,children:h,showBreadcrumbs:R=!0,breadcrumbLabelMap:s,breadcrumbIncludeHome:b=!1,CustomDomainHeader:S,CustomDomainFooter:f}=C,A=H(),F=y(null),[o]=L("resourceConfig"),P=I(n=>n.auth.authenticated),a=I(n=>n.settings.groupIcons),_=B.useCallback((n,t)=>{const u=X.system.URL_PREFIX||"",r=[];let i=n;u&&i.startsWith(u)&&(i=i.slice(u.length));const e=i.split("/").filter(Boolean);if(e.length===0)return r;if(t){t.group&&r.push({label:t.group,path:void 0,icon:a?.[t.group]}),r.push({label:t.label||e[e.length-1],path:`${u}/${t.model}`});const l=e[e.length-1],c={create:"Crear",edit:"Editar",show:"Ver",inline:"Detalle",...s};if(c[l])r.push({label:c[l],isActive:!0});else if(/^\d+$/.test(l)){const p=e[e.length-2];p&&c[p]&&r.push({label:c[p],isActive:!0})}}return r},[a,s]);T(()=>{o&&a&&A(E.updatePage({title:o.label,icon:o.group&&a[o.group],subTitle:o.group}))},[o,a,A]);const g=S||m(M,{showBreadcrumbs:R});return d?m(D,{labelMap:s,includeHome:b,children:m(d,{headerToolBar:g,footerComponent:f,children:h})}):m(D,{labelMap:s,includeHome:b,children:m(U,{headerToolBar:g,footerComponent:f,children:h})})};var oe=w;export{oe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as i,jsx as e,jsxs as m}from"react/jsx-runtime";import{useEffect as l,useState as r}from"react";import{useSelector as s}from"react-redux";import{useDispatch as b}from"react-redux";import L from"@mui/icons-material/MenuOpen";import{Box as a,IconButton as D}from"@mui/material";import{NavEventManager as d}from"../utils/navEvents";import{AuthPersistenceService as N}from"@dashadmin/dash-auth";const B=({showBreadcrumbs:C=!0,...v})=>{const c=b(),[H,g]=r(!0),[z,u]=r("large"),[p,h]=r({horizontalLogo:null,squaredLogo:null});l(()=>d.onStateChange((S,I)=>{g(S),u(I)}),[c]),l(()=>{const o=N.getTenantImages();o&&h({horizontalLogo:o.horizontal_logo?.original||null,squaredLogo:o.squared_logo?.original||null})},[]);const E=s(o=>o.common.headerToolBar),t=s(o=>o.page),n=s(o=>o.common.panelSettings),R=n?.logo||e(i,{children:"\u{1F5A5} DASHAdmin"}),f=n?.squaredLogo||e(i,{children:"\u{1F5A5}"}),q=n?.horizontalLogo||e(i,{children:"\u{1F5A5}"}),A=()=>{d.toggleExpanded()},x=()=>e(a,{className:t.title?"dash-header-content":"",sx:{},children:t.title?e(a,{className:"dash-header-inline",children:e("span",{className:"dash-header-inline-title",children:t.title||""})}):null});return e(a,{component:"div",className:"dash-header",children:m(a,{component:"div",className:"dash-header-container",children:[m(a,{className:"dash-header-subheader",sx:{display:{xs:"flex",sm:"flex",md:"none"},alignItems:"center"},children:[e(D,{className:"dash-header-burger-toggler",onClick:()=>A(),sx:{m:1,padding:"8px",borderRadius:"8px",backgroundColor:"rgba(0,0,0,0.04)","&:hover":{backgroundColor:"rgba(0,0,0,0.08)"}},children:e(L,{sx:{fontSize:28}})}),e(a,{className:"dash-header-subheader-logo",sx:{display:"flex",alignItems:"center",marginLeft:1},children:(()=>{const o=p.squaredLogo||f;return typeof o=="string"?e("img",{height:32,width:32,src:o,alt:"Logo",style:{borderRadius:"4px",objectFit:"contain"}}):o})()})]}),e(x,{})]})})};var oo=B;export{oo as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o,jsxs as m}from"react/jsx-runtime";import{Box as a}from"@mui/material";import l from"./menu/AppSidebarMaterial";import d from"react";const i=({children:e})=>o(a,{className:"dash-layout-content",children:e}),p=d.memo(({footerComponent:e})=>e?o(a,{className:"dash-app-layout-footer",children:e}):null),s=({children:e,menuComponent:t,headerToolBar:r,footerComponent:n,...h})=>m("div",{id:"dash-app-layout",className:"dash-app-layout",children:[t===void 0?o(l,{className:"dash-app-layout-sidebar"}):t,m(a,{className:"dash-app-layout-content",children:[r,o(i,{children:e}),n&&o(p,{footerComponent:n})]})]});var J=s;export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as t}from"react/jsx-runtime";import{useTheme as v,useMediaQuery as l}from"@mui/material";import h from"@app/assets/logo-horizontal.png";import y from"@app/assets/login-back.png";const N=({children:p,className:d,logo:s=a("img",{alt:"logo",className:"dash-app-login-logo",src:h}),loginBackground:i=a("img",{alt:"",src:y}),...u})=>{const o=v(),m=l(o.breakpoints.only("xs")),r=l(o.breakpoints.only("sm")),n=l(o.breakpoints.only("md")),c=l(o.breakpoints.only("lg")),g=l(o.breakpoints.only("xl")),e=m?"xs":r?"sm":n?"md":c?"lg":g?"xl":"";return e==="md"||e==="lg"||e==="xl"?a("div",{className:`dash-app-layout ${d||""}`,children:t("div",{className:"dash-app-login-wrapper",children:[p,t("div",{className:"dash-app-login-back",children:[a("div",{className:"dash-app-login-img",children:typeof i=="string"?a("img",{src:i,alt:""}):i}),a("div",{className:"dash-app-login-logo",children:typeof s=="string"?a("img",{alt:"logo",className:"dash-app-login-logo",src:s}):a("div",{className:"dash-app-login-logo",children:s})})]})]})}):a("div",{className:`dash-app-layout ${d||""}`,children:t("div",{className:"dash-app-login-wrapper",children:[a("div",{className:"dash-app-login-logo",children:typeof s=="string"?a("img",{alt:"logo",className:"dash-app-login-logo",src:s}):a("div",{className:"dash-app-login-logo",children:s})}),p,a("div",{className:"dash-app-login-img",children:typeof i=="string"?a("img",{src:i,alt:""}):i})]})})};var L=N;export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as p,jsx as t,jsxs as r}from"react/jsx-runtime";import{useSelector as s}from"react-redux";const i=({children:o,...c})=>{const a=s(e=>e.common.panelSettings)?.squaredLogo||t(p,{children:"\u{1F5A5}."});return t("div",{className:"dash-app-static",children:t("div",{className:"dash-app-static-wrapper",children:r("div",{className:"dash-app-static-content",children:[t("a",{href:"/",children:typeof a=="string"?t("img",{alt:"logo",className:"dash-app-static-logo",src:a}):t("div",{className:"dash-app-static-logo",children:a})}),o]})})})};var f=i;export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as o}from"./DomainAppLayout";import{default as r}from"./DASHAppProviders";import{default as p}from"./DomainTheme";import{default as u}from"./DomainHeader";import{default as l}from"./FullLayoutMarkup";import{default as x}from"./StaticLayout";import{default as D}from"./DashThemeContext";import{default as H,useDashThemeHelperContext as n}from"./DashThemeHelperProvider";export{o as DASHAppLayout,r as DASHAppProviders,D as DashThemeContext,H as DashThemeHelperProvider,u as DomainHeader,p as DomainTheme,l as FullLayoutMarkup,x as StaticLayout,n as useDashThemeHelperContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as Y,jsx as r,jsxs as M}from"react/jsx-runtime";import*as S from"react";import{useSelector as C}from"react-redux";import{List as ie,IconButton as se,Box as I,useMediaQuery as q,useTheme as de}from"@mui/material";import me from"@mui/icons-material/KeyboardDoubleArrowLeft";import ce from"@mui/icons-material/KeyboardDoubleArrowRight";import pe from"@mui/icons-material/MenuOpen";import{useEffect as j}from"react";import ue from"./AppMenuComponents/expanded/SidebarItem";import ge from"./AppMenuComponents/expanded/CollapsableSidebarMenu";import fe from"./AppMenuComponents/collapsed/CollapsedSidebarItems";import{usePanelSettings as be}from"@dashadmin/dash-admin-state";import F from"../../helpers/checkRole";import{slugify as L}from"../../utils/slugify";import V from"../../components/user/TenantAvatarComponent";import he from"../../components/scrollbar/Scrollbar";import{useAuthContext as xe}from"../../contexts/auth/AuthContext";import{useI18nBridge as ye}from"../../contexts/I18nBridgeContext";import X from"./SidebarActions";import{useNavigate as Ie}from"react-router";const Q=({items:x,navExpanded:y,navSize:p,level:f,sidebarPosition:i="left",translate:d})=>x&&r(Y,{children:y&&p==="large"?r(ie,{className:"sidebar-list",component:"nav",sx:i==="top"||i==="bottom"?{display:"flex",flexDirection:"row",flexWrap:"nowrap",alignItems:"center",padding:0,margin:0}:void 0,children:x.map((u,v)=>u.children&&u.children.length?r(ge,{navExpanded:y,navSize:p,item:u,level:f+1,sidebarPosition:i},v):r(ue,{level:f,navExpanded:y,navSize:p,item:u},v))}):r(fe,{level:f,items:x,navExpanded:y,navSize:p,sidebarPosition:i})}),ve=x=>{const{menu:p,debug:f,navExpanded:i,navSize:d,logos:J,onToggleDrawer:u,sidebarPosition:v}=x,w=Ie(),z=de(),Z=q(z.breakpoints.down("sm")),B=q(z.breakpoints.down("md")),{sidebarLargeWidth:Se,sidebarSmallWidth:H,sidebarHorizontalHeight:Me,logoVerticalMaxWidth:P,logoVerticalMaxHeight:T,logoHorizontalMaxWidth:W,logoHorizontalMaxHeight:$}=be(),a=v||"left",{i18nProvider:c,locale:A}=ye(),l=S.useCallback((n,h)=>{if(typeof n!="string")return n;if(c?.translate)try{return c.translate(n,h)}catch(m){return console.warn("Translation error:",m),n}return n},[c]);j(()=>{console.log("\u{1F310} AppMaterialMenu: Bridged i18nProvider:",c),console.log("\u{1F310} AppMaterialMenu: currentLocale:",A),console.log("\u{1F9EA} Translation test:",{"ra.action.delete":l("ra.action.delete"),"ra.action.save":l("ra.action.save"),"kiosk.total":l("kiosk.total"),"resource.groups.products":l("resource.groups.products"),"resource.system.tenants.label":l("resource.system.tenants.label")})},[c,A,l]);const R=xe(),[O,ee]=S.useState(null),s=C(n=>f||p?p:n.resources.items),_=S.useRef(null);S.useEffect(()=>{const n=_.current,h=Array.isArray(n)?n.map(e=>e.model):[],m=Array.isArray(s)?s.map(e=>e.model):[],g=m.filter(e=>!h.includes(e)),D=h.filter(e=>!m.includes(e));console.log("\u{1F4CA} AppMaterialMenu: Resources from Redux",{isSameRef:n===s,prevCount:n?.length||0,newCount:s?.length||0,added:g.length>0?g:"none",removed:D.length>0?D:"none",allModels:m}),_.current=s},[s]);const N=C(n=>n.common.panelSettings),G=N?.horizontalLogo,U=N?.squaredLogo,te=C(n=>n.settings.groupIcons);j(()=>{const n=R?.user?.roles?R.user.roles.flatMap(e=>e.name):["Public"],h=[...new Set(s.map(e=>e.group).filter(e=>e!=null&&e!==""))],m=new Object;h.forEach(e=>{m[e]=s.filter(t=>t.group===e&&F(n,t.roles))});const g=[];Object.keys(m).map(e=>{const t=m[e];if(!t.length||!!(t[0]&&t[0].hidden===!0))return;const E=t.filter(o=>o.hidden!==!0),oe=E.map(o=>{console.log("translating resource label:",o.label,l(o.label));const K=c?.getLocale?.()||"unknown",k=c?.getMessages?.(K)||{},ae=k[o.label]!==void 0;console.log("\u{1F310} Translation debug:",{key:o.label,currentLocale:K,hasKey:ae,translation:k[o.label],allMessagesKeys:Object.keys(k).filter(le=>le.includes("resource.system")),translateResult:l(o.label)});const re=()=>o.menuOnly?o.redirect||o.path||`/${o.model}`:o?.redirect?.startsWith("/")?o.redirect:o?.redirect?`/${o.model}/${o.redirect}`.replace(/\/+/g,"/"):`/${o.model}`.replace(/\/+/g,"/");return{label:l(o.label,{_:o.label}),key:o.label,to:re(),icon:o.icon,group:L(t[0].group),model:o.model,menuOnly:o.menuOnly,txtLabel:l(o.label,{_:o.label})}}),ne={label:l(t[0].group,{_:t[0].group}),key:L(t[0].group),icon:t[0].icon||te[t[0].group],group:L(t[0].group),model:t[0].model,to:t[0].redirect?.startsWith("/")?t[0].redirect:t[0].redirect?`/${t[0].model}/${t[0].redirect}`.replace(/\/+/g,"/"):`/${t[0].model}`.replace(/\/+/g,"/"),txtLabel:l(t[0].group,{_:t[0].group}),...E&&E.length>1&&{children:oe}};g.push(ne)}),s.filter(e=>!(e.group!==null&&e.group!==void 0&&e.group!=="")&&F(n,e.roles)&&e.hidden!==!0).forEach(e=>{const t=()=>e.menuOnly?e.redirect||e.path||`/${e.model}`:e?.redirect?.startsWith("/")?e.redirect:e?.redirect?`/${e.model}/${e.redirect}`.replace(/\/+/g,"/"):`/${e.model}`.replace(/\/+/g,"/");g.push({label:l(e.label,{_:e.label}),key:e.label||e.model,to:t(),icon:e.icon,group:null,model:e.model,menuOnly:e.menuOnly,txtLabel:l(e.label,{_:e.label})})}),console.log("MENU ITEMS",g),ee(g)},[s,f,R?.user,l,c,A]);const b=a==="top"||a==="bottom";return M(Y,{children:[M(I,{className:"sidebar-header",sx:{display:"flex",flexDirection:b||i&&d==="large"?"row":"column",alignItems:b?"center":void 0},children:[M(I,{sx:{paddingRight:"5px",display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[M(I,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:[u&&r(se,{className:"dash-icon-button-color dash-icon-button-bg",onClick:u,sx:{m:1},children:d==="small"?r(pe,{sx:{fontSize:28,transform:"scaleX(-1)"}}):i?r(me,{sx:{fontSize:28}}):r(ce,{sx:{fontSize:28}})}),!(i&&d==="large")&&!Z&&r(V,{navExpanded:i,navSize:d,imageUrl:B||a==="left"||a==="right"?U:G,maxWidth:b?W:P,maxHeight:b?$:T,sidebarSmallWidth:H,alt:"Tenant Logo",sidebarPosition:a,onClick:()=>w("/")})]}),(a==="left"||a==="right")&&r(X,{sidebarPosition:a,navExpanded:i})]}),i&&d==="large"&&r(I,{sx:{display:"flex",alignItems:"center",flexDirection:"column"},children:r(V,{navExpanded:i,navSize:d,imageUrl:B||a==="left"||a==="right"?U:G,maxWidth:b?W:P,maxHeight:b?$:T,sidebarSmallWidth:H,alt:"Tenant Logo",sidebarPosition:a,onClick:()=>w("/")})})]}),a==="top"||a==="bottom"?r(I,{className:"dash-layout-sider-scrollbar horizontal-mode",sx:{display:"flex",flexDirection:"row",overflowX:"auto",overflowY:"hidden",flex:1,height:"100%",alignItems:"center"},children:r(Q,{items:O,navExpanded:i,navSize:d,level:0,sidebarPosition:a,translate:l})}):r(he,{className:"dash-layout-sider-scrollbar",children:r(Q,{items:O,navExpanded:i,navSize:d,level:0,sidebarPosition:a,translate:l})}),(a==="top"||a==="bottom")&&r(X,{sidebarPosition:a,navExpanded:i})]})};var rt=ve;export{rt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as b}from"react/jsx-runtime";import l from"react-dom";import{getSubmenuStyle as m,SUBMENU_SCROLL_THRESHOLD as c}from"./submenuConstants";const d=({open:e,itemRef:o,sidebarPosition:t,children:r,onMouseEnter:n,onMouseLeave:a,childrenCount:i=0,className:u="sidebar-submenu-portal"})=>{if(!e)return null;const s=i>c;return l.createPortal(b("div",{className:u,style:m(o,t,s),onMouseEnter:n,onMouseLeave:a,children:r}),document.body)};var L=d;export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as F,jsx as s,jsxs as z}from"react/jsx-runtime";import{useEffect as v,useRef as E,useState as g}from"react";import{ListItemButton as O,ListItemIcon as T,ListItemText as D}from"@mui/material";import{useLocation as N,useNavigate as R}from"react-router";import{DASH_REDUX_ACTIONS as _}from"@dashadmin/dash-admin-state";import{useDispatch as A}from"react-redux";import P from"../../../../hooks/isCurrentPath";import{NavEventManager as i}from"../../../../utils/navEvents";import{FORCE_CLICK_OPEN as w}from"../submenuConstants";import B from"../SubmenuPortal";const L=n=>{const{item:e,showIcon:c=!0,showText:m=!0,children:f,navExpanded:x,navSize:y,level:k,hasChildren:d=!1,onClick:p,...a}=n,t=N(),[b,r]=g(P(t.pathname,e));v(()=>{r(P(t.pathname,e))},[t]);const I=R(),S=A(),C=()=>{const l={title:e?.label,icon:e?.icon,subTitle:e?.group};S(_.updatePage(l))};return z(O,{...a,selected:b,onClick:l=>{if(p&&p(l),l.stopPropagation(),!d&&!P(t.pathname,e)){C(),I(e.to);return}},children:[c&&s(T,{children:e.icon&&e.icon}),m&&k>0&&s(D,{children:e.label}),f]})},H=({item:n,navSize:e,navExpanded:c,level:m,sidebarPosition:f="left"})=>{const x=E(!1),y=20;let k;const[d,p]=g(!1),[a,t]=g(!1),b=E(null),r=`collapsed-${n.key||n.label}`,I=o=>{i.notifySubmenuOpened(r),t(!0)},S=o=>{a||i.notifySubmenuOpened(r),t(u=>!u)},C=o=>{d||t(!1)};v(()=>{document.body.classList.contains("webview")?p(!0):p(!1)},[]),v(()=>{const o=i.onSubmenuOpened(h=>{h!==r&&a&&t(!1)}),u=i.onCloseAllSubmenus(()=>{t(!1)});return()=>{o(),u()}},[r,a]);const l=n.children&&n.children.length>0,M=(o,u)=>{setTimeout(()=>{t(!1),i.closeDrawer()},100)};return l?s(F,{children:s("div",{ref:b,children:s(L,{"aria-owns":a?"menu-"+n.key:void 0,"aria-haspopup":"true",onMouseEnter:!d&&!w?I:null,onMouseLeave:w?null:C,onClick:d||w?S:null,item:n,showText:!1,navSize:e,navExpanded:c,level:m,hasChildren:l,children:s(B,{open:a,itemRef:b,sidebarPosition:f,childrenCount:n.children?.length||0,className:"sidebar-collapsed-menu",children:s("ul",{id:"menu-"+n.key,className:`dropdown ${a?"show":""}`,style:{margin:0,padding:0,listStyle:"none"},children:n.children?.map((o,u)=>s(L,{navSize:e,navExpanded:c,level:m+1,item:o,hasChildren:o.children&&o.children.length>0,onClick:h=>M(h,o),onTouchStart:h=>h.stopPropagation()},u))},"menu-"+n.key)})})})}):s(L,{item:n,navSize:e,navExpanded:c,level:m,hasChildren:!1,onClick:()=>{i.closeAllSubmenus(),setTimeout(()=>{i.closeDrawer()},100)}})};var le=H;export{le as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{List as m}from"@mui/material";import n from"./CollapsedSidebarItem";const d=({items:a,navSize:i,navExpanded:o,level:t,sidebarPosition:r="left"})=>e(m,{className:"sidebar-list sidebar-collapsed-menu",component:"nav",children:a.map((s,l)=>e(n,{level:t,item:s,navSize:i,navExpanded:o,sidebarPosition:r},l))});var u=d;export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as Y,jsx as o,jsxs as v}from"react/jsx-runtime";import{useDispatch as A}from"react-redux";import{memo as H,useEffect as g,useState as h,useRef as _}from"react";import b from"../../../../hooks/isCurrentPath";import{useLocation as B,useNavigate as U}from"react-router";import{Collapse as z,List as K,ListItemButton as V,ListItemIcon as W,ListItemText as X,Typography as $}from"@mui/material";import M from"@mui/icons-material/ExpandLessOutlined";import I from"@mui/icons-material/ExpandMoreOutlined";import F from"./SidebarItem";import{DASH_REDUX_ACTIONS as q}from"@dashadmin/dash-admin-state";import{DASHAppConstants as G}from"@dashadmin/dash-constants";import{NavEventManager as p}from"../../../../utils/navEvents";import{FORCE_CLICK_OPEN as m}from"../submenuConstants";import J from"../SubmenuPortal";const O=({item:t,navExpanded:s,navSize:S,level:C,sidebarPosition:i="left"})=>{const f=B(),E=A(),d=_(null),a=i==="top"||i==="bottom",[u,y]=h(!1);g(()=>{document.body.classList.contains("webview")||document.body.classList.contains("android")?y(!0):y(!1)},[]);const[Z,j]=h(b(f.pathname,t)),[l,n]=h(b(f.pathname,t)),c=`${t.group}-${t.key}`;g(()=>{n(b(f.pathname,t))},[]),g(()=>{const e=p.onSubmenuOpened(R=>{R!==c&&n(!1)}),r=p.onCloseAllSubmenus(()=>{n(!1)});return()=>{e(),r()}},[c,S]);const N=U(),L=()=>{G.system.UI_SOUNDS},x=()=>{const e={title:t?.label,icon:t?.icon,subTitle:t?.group};E(q.updatePage(e))},k=e=>{e.stopPropagation(),L();const r=!l;n(r),r&&p.notifySubmenuOpened(c)},P=()=>{const e=!l;n(e),e&&p.notifySubmenuOpened(c)},T=()=>{a&&!u&&!m&&(p.notifySubmenuOpened(c),n(!0))},D=()=>{a&&!u&&!m&&n(!1)},ee=()=>{if(!d.current)return{};const e=d.current.getBoundingClientRect();switch(i){case"top":return{top:e.bottom+10,left:e.left};case"bottom":return{bottom:window.innerHeight-e.top+4,left:e.left};case"right":return{top:e.top,right:window.innerWidth-e.left+4};default:return{top:e.top,left:e.right+4}}},w=o(K,{className:"sidebar-list-sub",disablePadding:!0,children:t.children?.map((e,r)=>e?e.children?o(O,{navExpanded:s,navSize:S,item:e,level:C+1,sidebarPosition:i},r):o(F,{level:C,navExpanded:s,navSize:S,showIcon:!1,item:e},r):null)});return v(Y,{children:[o("div",{ref:d,style:{display:a?"inline-flex":"block"},onMouseEnter:T,onMouseLeave:D,children:v(V,{selected:l,className:"sidebar-list-menu-item",sx:a?{flexShrink:0,whiteSpace:"nowrap",paddingX:2}:void 0,onClick:e=>{e.target.closest(".expand-icon")||(L(),(!a||u||m)&&P(),b(f.pathname,t)||(x(),N(t.to||t.model)))},children:[o(W,{children:t.icon&&t.icon}),s&&o(X,{disableTypography:!0,primary:o($,{children:t.label})}),s&&o("div",{onClick:k,children:i==="bottom"?l?o(I,{className:"expand-icon more"}):o(M,{className:"expand-icon less"}):l?o(M,{className:"expand-icon less"}):o(I,{className:"expand-icon more"})})]})}),!a&&o(z,{in:l,timeout:"auto",unmountOnExit:!0,children:w}),a&&o(J,{open:s&&l,itemRef:d,sidebarPosition:i,childrenCount:t.children?.length||0,className:"sidebar-submenu-portal",onMouseEnter:()=>!u&&!m&&n(!0),onMouseLeave:()=>!u&&!m&&n(!1),children:w})]})},Q=H(O,(t,s)=>t===s);var ge=Q;export{ge as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as s,jsxs as N}from"react/jsx-runtime";import{ListItemButton as I,ListItemIcon as d,ListItemText as S}from"@mui/material";import g from"@mui/icons-material/Circle";import{useLocation as C,useNavigate as b}from"react-router";import{useDispatch as D}from"react-redux";import{useEffect as l,useState as L}from"react";import{DASH_REDUX_ACTIONS as h}from"@dashadmin/dash-admin-state";import{DASHAppConstants as P}from"@dashadmin/dash-constants";import i from"../../../../hooks/isCurrentPath";import{NavEventManager as v}from"../../../../utils/navEvents";const A=({item:t,navExpanded:w,navSize:r,level:E,className:T,showIcon:k=!0})=>{const c=b(),p=s(g,{}),o=C(),[a,m]=L(i(o.pathname,t));l(()=>{m(i(o.pathname,t))},[o]);const u=()=>{if(P.system.UI_SOUNDS){const e=new Audio(clickSound);e.load(),e.play()}},f=D(),n=()=>{const e={title:t?.label,icon:t?.icon,subTitle:t?.group};f(h.updatePage(e))};return l(()=>{a===!0&&n()},[a]),N(I,{selected:a,onClick:e=>{u(),n(),t?.to&&(c(t.to.replace(/\/+/g,"/")),r==="small"&&v.closeDrawer())},children:[s(d,{children:t?.icon||p}),r!=="small"&&s(S,{children:t.label})]})};var G=A;export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=e=>e;var n=t;export{n as default};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const b=!1,h=10,l=(t,o=!1)=>({zIndex:1e4,position:"fixed",maxHeight:t==="top"||t==="bottom"?"60vh":o?"100vh":"80vh",overflowY:"auto",width:t==="top"||t==="bottom"?"auto":"260px",minWidth:"200px",background:"var(--module-bg, #252526)",boxShadow:"0 4px 12px rgba(0,0,0,0.25)",borderRadius:8}),a=(t,o,e=!1)=>{switch(o){case"right":return{top:t.top,right:window.innerWidth-t.left-4,left:"auto"};case"top":return{top:e?120:t.bottom-4,left:t.left,right:"auto"};case"bottom":return{bottom:e?120:window.innerHeight-t.top-4,left:t.left,right:"auto"};default:return{top:t.top,left:t.right-4,right:"auto"}}},m=(t,o,e=!1)=>{const n=t.current?.getBoundingClientRect(),r=l(o,e);if(!n)return{...r,top:0,left:0};const i=a(n,o,e);return{...r,...i}};export{b as FORCE_CLICK_OPEN,h as SUBMENU_SCROLL_THRESHOLD,a as calculateSubmenuPosition,l as getSubmenuBaseStyle,m as getSubmenuStyle};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as V,jsx as E}from"react/jsx-runtime";import*as o from"react";import W from"@mui/material/Box";import X from"@mui/material/Drawer";import{useMediaQuery as x,useTheme as G}from"@mui/material";import{DASH_REDUX_ACTIONS as B}from"@dashadmin/dash-admin-state";import{useDispatch as Q,useSelector as U}from"react-redux";import{useState as g}from"react";import{useWindowSize as j,dashStorage as f}from"@dashadmin/dash-utils";import J from"./AppMaterialMenu";import{useLocation as ee}from"react-router";import{isEqual as te}from"lodash";import{NavEventManager as z}from"../../utils/navEvents";const oe=i=>({navStyle:i.settings.navStyle,layoutType:i.settings.layoutType,themeType:i.settings.themeType,layoutSettings:i.settings.layoutSettings}),se=i=>i.common.panelSettings,ae=i=>{const{sidebarPosition:k}=i,b=ee(),L=Q(),v=G(),S=x(v.breakpoints.down("sm")),n=x(v.breakpoints.down("md")),q=U(oe,te),u=U(se),F=k||u?.sidebarPosition||"left",Z=u?.secondarySidebarPosition||"left",d=n?Z:F,y=d==="top"||d==="bottom",{navStyle:A,layoutType:h,themeType:N,layoutSettings:t}=q,[r,a]=g(()=>{const e=f.getItem("dashNavExpanded");return e!==null?e==="true":!1}),[s,T]=g(()=>{const e=f.getItem("dashNavSize");return e==="small"||e==="large"?e:"large"}),O=o.useRef(r),M=o.useRef(s);o.useEffect(()=>{O.current=r,M.current=s},[r,s]),o.useEffect(()=>{f.setItem("dashNavExpanded",String(r))},[r]),o.useEffect(()=>{f.setItem("dashNavSize",s)},[s]),o.useEffect(()=>{const e=z.onToggleExpanded(()=>{a(R=>!R)}),l=z.onSetExpanded(R=>{a(R)}),c=z.onCloseDrawer(()=>{s==="small"&&a(!1)});return()=>{e(),l(),c()}},[s]);const $=o.useMemo(()=>({horizontalLogo:u?.horizontalLogo||E(V,{children:"\u{1F5A5}"}),squaredLogo:u?.squaredLogo||E(V,{children:"\u{1F5A5}"})}),[u?.horizontalLogo,u?.squaredLogo]);o.useEffect(()=>{if(!t||!h||!N)return;const e=document.body;e.classList.remove(t.LAYOUT_TYPE_FULL,t.LAYOUT_TYPE_BOXED,t.LAYOUT_TYPE_FRAMED,t.THEME_TYPE_DARK,t.THEME_TYPE_LIGHT),e.classList.add(h,N)},[h,N,t]),o.useEffect(()=>{if(!t||!A)return;const e=document.body,c=[t.NAV_STYLE_DEFAULT_HORIZONTAL,t.NAV_STYLE_DARK_HORIZONTAL,t.NAV_STYLE_INSIDE_HEADER_HORIZONTAL,t.NAV_STYLE_ABOVE_HEADER,t.NAV_STYLE_BELOW_HEADER].includes(A);e.classList.toggle("full-scroll",c),e.classList.toggle("horizontal-layout",c)},[A,t]);const p=o.useRef("");o.useEffect(()=>{const e=document.body;let l="";b.pathname&&b.pathname!=="/"&&(l=b.pathname.replace(/^\/|\/$/g,"").replace(/\//g,"-"));const c=l?`location-${l}`:"";return p.current&&e.classList.remove(p.current),c?(e.classList.add(c),p.current=c):p.current="",()=>{p.current&&e.classList.remove(p.current),L(B.setNavExpanded(O.current)),L(B.setNavSize(M.current))}},[b.pathname,L]);const ne=j();o.useEffect(()=>{const e=document.getElementById("dash-app-layout");e&&(e.classList.remove("expanded","collapsed","small","large"),e.classList.remove("sidebar-position-left","sidebar-position-right","sidebar-position-top","sidebar-position-bottom"),e.classList.add(r?"expanded":"collapsed"),e.classList.add(s),e.classList.add(`sidebar-position-${d}`))},[r,s,d]);const K=e=>{e.preventDefault(),e.stopPropagation(),a(!r)},m=x(v.breakpoints.up("lg")),[P,w]=g(null),[_,H]=g(null),[I,C]=g(null);o.useEffect(()=>{if(P===null||_===null||I===null){if(n)T("small"),a(!1);else{const e=f.getItem("dashNavSize")!==null,l=f.getItem("dashNavExpanded")!==null;e||T("large"),l||a(m)}w(S),H(m),C(n);return}I!==n&&(T(n?"small":"large"),a(!n),C(n)),P!==S&&(S&&a(!1),w(S)),_!==m&&(m&&!n&&a(!0),H(m))},[S,m,n,P,_,I]);const Y=y?!0:r,D=y?"large":s;return E(W,{sx:{display:"flex"},children:E(X,{variant:s==="small"?"temporary":"permanent",anchor:d,open:D==="large"||D==="small"&&Y,className:"sidebar-drawer","data-sidebar-position":d,onClose:()=>{s==="small"&&a(!1)},ModalProps:{keepMounted:!0},children:E(J,{navSize:D,navExpanded:Y,logos:$,onToggleDrawer:y?void 0:K,sidebarPosition:d})})})};var Pe=ae;export{Pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as h,jsx as o,jsxs as m}from"react/jsx-runtime";import{Box as p}from"@mui/material";import{useSelector as n}from"react-redux";import d from"../../components/user/AvatarComponent";import f from"../../components/i18n/BridgedLocalesMenuButton";import l from"../../components/menu/DarkToggleMode";import{useAuthContext as u}from"../../contexts/auth/AuthContext";import A from"../../components/i18n/LangSwitcher";const S=({sidebarPosition:t="left",navExpanded:i=!0})=>{const r=u(),s=t==="top"||t==="bottom",e=n(a=>a.common.headerToolBar),c=n(a=>a.common.headerToolBarReplace);return m(p,{className:"sidebar-actions",sx:{display:"flex",alignItems:"center",gap:1,...s?{marginLeft:"auto",flexShrink:0,paddingRight:2,flexDirection:i?"row-reverse":"row"}:{flexShrink:0,flexDirection:"column"}},children:[r?.authenticated&&r.user?.id!=="guest"&&o(d,{sidebarPosition:t}),e&&c?o(e,{}):m(h,{children:[e&&o(e,{}),r?.authenticated?o(f,{}):o(A,{}),o(l,{})]})]})};var L=S;export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function h(a){return getComputedStyle(document.documentElement).getPropertyValue(`--${a}`).trim()||void 0}function y(a=document.styleSheets){const t=new Set;for(let c=0;c<a.length;c++){const g=a[c];let s;try{s=g.cssRules}catch{continue}if(s)for(let i=0;i<s.length;i++){const n=s[i];if("style"in n&&n.style){const o=n.style;for(let l=0;l<o.length;l++){const r=o[l];r.startsWith("--")&&t.add(r)}}}}return Array.from(t)}function S(){const a={};for(let t=0;t<document.styleSheets.length;t++){const c=document.styleSheets[t];if(c.ownerNode?.id!=="dash-theme-variables")try{const s=c.cssRules;if(!s)continue;for(let i=0;i<s.length;i++){const n=s[i];if("selectorText"in n&&n.selectorText===":root"){const o=n.style;for(let l=0;l<o.length;l++){const r=o[l];r.startsWith("--")&&(a[r]=o.getPropertyValue(r).trim())}}}}catch{continue}}return a}const m=(a,t,c)=>{const s=`--${a}`,i=["framed_layout-bg--light","framed_layout-bg--dark"];let n=document.getElementById("dash-theme-variables");n||(n=document.createElement("style"),n.id="dash-theme-variables"),document.head.appendChild(n);let o="";c&&Object.entries(c).forEach(([e,u])=>{o+=`--${e}: ${u}; `});const l=t?void 0:S(),r=new Set;t?Object.keys(t).forEach(e=>r.add(e)):Object.keys(l).forEach(e=>{r.add(e.slice(2))}),i.forEach(e=>r.add(e)),r.forEach(e=>{let u=t?.[e];if(!u&&l&&(u=l[`--${e}`]),u||(u=h(e)),u){const f=e.includes("--"),d=e.endsWith(s);(!f||d)&&(o+=`--${e}: ${u}; `,i.includes(e))}if(e.endsWith(s)){const f=e.slice(0,-s.length);let d=t?.[e];!d&&l&&(d=l[`--${e}`]),d||(d=h(e)),d&&(o+=`--${f}: ${d}; `,i.includes(`${f}${s}`))}}),n.textContent=`:root { ${o} }`};var b=m;export{b as default,m as updateDomCssVariables};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getCookie as n}from"../utils/cookies";const i=(t,o)=>{if(Array.isArray(o)&&o.map(e=>e.toLowerCase()).includes("*")||t.map(e=>e.toLowerCase()).includes("system"))return!0;const r=n("tenant_id");return o.map(e=>e.toLowerCase()).includes("has_admin_id")&&!r?!1:o.map(e=>e.toLowerCase()).find(e=>t.map(a=>a.toLowerCase()).includes(e))};var c=i;export{c as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const a=s=>{if(s?.originalError?.response?.data?.errors&&typeof s?.originalError?.response?.data?.errors=="object"){const e=s.originalError.response.data.errors,n=[];for(const t in e)Array.isArray(e[t])&&n.push(...e[t]);if(n.length>0)return n.join(`
|
|
2
|
+
`)}return s?.response?.data?.message?s.response.data.message:s?.code||s?.message?[s.code,s.name||"",s.message].filter(Boolean).join(" - "):s?.response?.status||s?.response?.statusText?[s.response.status,s.response.statusText].filter(Boolean).join(" - "):"An unexpected error occurred"};export{a as parseAxiosError};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useState as s,useEffect as a}from"react";const r=o=>{const[e]=s(new Audio(o)),[t,n]=s(!1),d=()=>n(!t);return a(()=>{t?e.play():e.pause()},[t]),a(()=>(e.addEventListener("ended",()=>n(!1)),()=>{e.removeEventListener("ended",()=>n(!1))}),[]),[t,d]};var l=r;export{l as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import r from"axios";import i from"@dashadmin/dash-constants/src/DASHAdminSystemConstants";import{dashStorage as a}from"@dashadmin/dash-utils";const c=()=>{let n=!1,o={baseURL:i.system.ADMIN_API_URL,headers:{"Content-Type":"application/json",Accept:"application/json"}};const t=r.create(o);return n&&(t.defaults.withCredentials=!0,t.get("/csrf-cookie").then(e=>{console.log("sanctum",e)})),t.interceptors.request.use(function(e){const s=a.getItem("token");return s!==void 0&&s!=="undefined"&&(e.headers.Authorization="Bearer "+s),e}),t.interceptors.response.use(e=>e,e=>(window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e}})),e.response&&e.response.status===422?Promise.reject(e.response.data?.errors||e):Promise.reject(e))),t},u=()=>({axios:c()});var l=u;export{l as default,c as initAxios};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useAxios as m}from"@dashadmin/dash-axios-hook";import{useEffect as b,useState as s}from"react";import y from"query-string";import{useStore as S}from"react-admin";const I=a=>{const{autoRefresh:o}=a,n=m(),[d,u]=S("dashboard.stats.data",null),[f,c]=s(null),[l,h]=s(!1),e=async t=>{const i=y.stringify({...t.start&&{start:t.start},...t.end&&{end:t.end}},{arrayFormat:"bracket"});if(t.autoRefresh)try{const r=await n({method:"GET",url:`/admin/dashboard?${i}`});r.status===200&&u(r.data)}catch(r){c(r)}finally{h(!0)}};return b(()=>{e({...a,autoRefresh:!0});const t=setInterval(()=>{e(a)},1e4);return()=>{clearInterval(t)}},[o]),{data:d,error:f,loaded:l,refresh:()=>{e({...a,autoRefresh:!0})}}};var x=I;export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useAxios as i}from"@dashadmin/dash-axios-hook";import{useEffect as m,useState as t}from"react";const P=(e=null,s=null)=>{const o=i(),[r,n]=t(null),[l,c]=t(null),[d,u]=t(!1);return m(()=>{(async()=>{try{const a=await o({method:"GET",url:`/admin/dashboard/total-contadores-paquetes-por-cliente?start=${e}&end=${s}`});a.status===200&&n(a.data)}catch(a){c(a)}finally{u(!0)}})()},[]),{data:r,error:l,loaded:d}};var k=P;export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useAxios as m}from"@dashadmin/dash-axios-hook";import{useEffect as i,useState as t}from"react";const P=(e=null,s=null)=>{const o=m(),[r,n]=t(null),[u,l]=t(null),[c,d]=t(!1);return i(()=>{(async()=>{try{const a=await o({method:"GET",url:`/admin/dashboard/total-contadores-paquetes-por-comuna?start=${e}&end=${s}`});a.status===200&&n(a.data)}catch(a){l(a)}finally{d(!0)}})()},[]),{data:r,error:u,loaded:c}};var k=P;export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useAxios as m}from"@dashadmin/dash-axios-hook";import{useEffect as g,useState as s}from"react";import y from"query-string";import{useStore as S}from"react-admin";const I=e=>{const{autoRefresh:o}=e,n=m(),[u,c]=S("dashboard.stats.data",null),[d,f]=s(null),[l,i]=s(!1),r=async t=>{const h=y.stringify({...t.start&&{start:t.start},...t.end&&{end:t.end}},{arrayFormat:"bracket"});if(e.autoRefresh)try{const a=await n({method:"GET",url:`/admin/dashboard?${h}`});a.status===200&&c(a.data)}catch(a){f(a)}finally{i(!0)}};return g(()=>{r({...e,autoRefresh:!0});const t=setInterval(()=>{r(e)},1e4);return()=>{clearInterval(t)}},[o]),{data:u,error:d,loaded:l,refresh:()=>{r({...e,autoRefresh:!0})}}};var x=I;export{x as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useAxios as l}from"@dashadmin/dash-axios-hook";import{useState as e}from"react";import g from"query-string";const f=()=>{const r=l(),[i,n]=e(null),[o,s]=e(null),[c,d]=e(!1);return{request:async t=>{const u=g.stringify({...t.action_id&&{action_id:t.action_id},...t.driver_id&&{driver_id:t.driver_id}},{arrayFormat:"bracket"});try{const a=await r({method:"GET",url:`/admin/package/withdrawn-today?${u}`});a.status===200&&n(a.data[0])}catch(a){s(a)}finally{d(!0)}},data:i,error:o,loaded:c}};var h=f;export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as i,useState as e}from"react";import f from"query-string";import{useStore as g}from"react-admin";import c from"../../utils/hasCode";import{useAxios as b}from"@dashadmin/dash-axios-hook";function $(s){const[t,d]=e(s),y=b(),h=t.payload?c(t.url+f.stringify(t.payload,{arrayFormat:"bracket"})).toString():c(t.url).toString(),[m,p]=g(t.storeKey?t.storeKey:h,null),[I,S]=e(null),[v,o]=e(!1),n=async()=>{const r=t.payload?f.stringify(t.payload||{},{arrayFormat:"bracket"}):null,T=r?`${t.url}?${r}`:`${t.url}`;o(!1);try{const a=await y({method:"GET",url:T});t.onRefresh&&t.onRefresh(a.data),a.status===200&&p(a.data)}catch(a){S(a)}finally{o(!0)}},[l,u]=e(null);return i(()=>{n()},[]),i(()=>{const r=setInterval(()=>{n()},t.autoRefreshInterval||6e4);return u(r),()=>{clearInterval(r)}},[t]),[m,I,v,r=>{l&&(clearInterval(l),u(null)),d(r?{...s,...r}:s)}]}export{$ as useStats};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a=(n,t)=>{let r=!1,e=n;if(e===t.to)return!0;for(;e.charAt(0)==="/";)e=e.substring(1);return t.children&&t.children.forEach(u=>{u.model===e&&(r=!0)}),r};var o=a;export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{Notification as y}from"react-admin";import{useEffect as s,useState as r}from"react";import{useAuthContext as L}from"../../contexts/auth/AuthContext";import{NotificationComponent as d}from"../../contexts/com/components/NotificationRenderer";import{NotificationWrapper as f}from"../../contexts/com/components/NotificationsWidget";import h from"../../contexts/com/useLaravelEcho";import{toast as g}from"react-toastify";const N=e=>{e&&g(n(f,{notification:e,children:n(d,{notification:e})},0),{position:"top-right",autoClose:8e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0,progress:void 0})},E=e=>{e&&g(n(f,{notification:e,children:n(d,{notification:e})},0),{position:"top-right",autoClose:!1,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0,progress:void 0})},q=()=>n(y,{className:"dash-notification",autoHideDuration:8e3,multiLine:!0,anchorOrigin:{vertical:"top",horizontal:"right"}}),M=()=>{const[e,m]=r([]),[c,l]=r(null),o=L(),[u,v]=r(null),[p,C]=r(null);s(()=>{o?.user&&(v(o.user.id),C(o.user.tenant_id))},[o]);const I=()=>{l(null)},{echoChannel:B,isConnected:D,lastEvent:a,ping:P,addListener:x,removeListener:k}=h({type:"private",channel:u?`user.${u}`:null,enabled:!!u}),{echoChannel:A,isConnected:O,lastEvent:i,ping:b,addListener:H,removeListener:S}=h({type:"private",channel:p?`tenant.${p}.system`:null,enabled:!!p});return s(()=>{if(!i?.data)return;console.log("Private Tenant Message",i);const t=i.data;console.log(t),l(t),E(t)},[i]),s(()=>{if(!a?.data)return;console.log("Private User Message",a);const t=a.data;console.log(t),l(t),N(t)},[a]),s(()=>{m(t=>[...t,c])},[c]),{events:e,lastEvent:c,clear:I}};var w=M;export{q as CustomReactAdminNotification,w as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext as y,useState as c,useEffect as s,useMemo as l,useCallback as r,useRef as x}from"react";import{AuthContextLocalStorage as N}from"../../contexts/auth/AuthContextLocalStorage";import v from"../../contexts/com/useLaravelEcho";const L=()=>{const[C,u]=c([]),[E,n]=c(null),f=y(N),h=x(!1),t=l(()=>f?.user?.id||null,[f?.user?.id]),p=r(e=>{console.log("public",e),u(i=>[...i,e]),n(e)},[]),d=r(e=>{console.log("Received notification event:",e),u(i=>[...i,e]),n(e)},[]),I=l(()=>({public:p}),[p]),b=l(()=>({notification:d}),[d]),[m,g]=c(!1);s(()=>{h.current||(g(!0),h.current=!0)},[t]);const o=m?v({type:"public",channel:"dashpanel_public",events:I}):{echoChannel:null,isConnected:!1,currentEvents:[]},a=m&&t?v({type:"private",channel:`user.${t}`,events:b,userId:t}):{echoChannel:null,isConnected:!1,currentEvents:[]};s(()=>{o.isConnected&&console.log("Public channel connected:",o.isConnected)},[o.isConnected]),s(()=>{a.isConnected&&console.log("Private channel connected:",a.isConnected)},[a.isConnected]);const P=r(()=>{n(null)},[]);return{events:C,lastEvent:E,clear:P}};var j=L;export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as R,useEffect as L,useMemo as S}from"react";import{useLocation as y,useParams as H}from"react-router-dom";import{useDispatch as $,useSelector as v}from"react-redux";import{useStore as E}from"react-admin";import{DASH_REDUX_ACTIONS as P}from"@dashadmin/dash-admin-state";import{DASHAdminSystemConstants as F}from"@dashadmin/dash-constants";const D={create:"Crear",edit:"Editar",show:"Ver",list:"Lista",inline:"Detalle",trash:"Papelera",admin:"Admin",system:"Sistema",settings:"Configuraci\xF3n",users:"Usuarios",roles:"Roles",permissions:"Permisos",tenants:"Tenants",profile:"Perfil",dashboard:"Dashboard"},N=(e,d,i)=>d[e]?d[e]:D[e]?D[e]:i&&i.model?.includes(e)?i.label||e:e.replace(/[-_]/g," ").replace(/\b\w/g,f=>f.toUpperCase()),_=e=>!!(/^\d+$/.test(e)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[a-z0-9]{20,}$/i.test(e)),x=(e,d,i,f,g,I,p)=>{const m=F.system.URL_PREFIX||"";let l=e;m&&l.startsWith(m)&&(l=l.slice(m.length));const r=l.split("/").filter(Boolean);if(r.length===0)return[];const t=[];f&&t.push({label:I||"Home",path:g||"/"});let n=m;n&&!n.startsWith("/")&&(n=`/${n}`);let c=-1;return r.forEach((a,o)=>{n+=`/${a}`;const s=o===r.length-1;if(_(a)){c=o,p&&s?t.push({label:p,path:s?void 0:n,isActive:s}):t.push({label:`#${a.substring(0,8)}${a.length>8?"...":""}`,path:s?void 0:n,isActive:s,data:{id:a}});return}const h=N(a,d,i);t.push({label:h,path:s?void 0:n,isActive:s})}),t},M=(e={})=>{const{autoUpdate:d=!0,labelMap:i={},includeHome:f=!1,homePath:g="/",homeLabel:I="Home",customGenerator:p,fetchRecordName:m=!0,recordNameField:l="name"}=e,r=$(),t=y(),n=H(),[c]=E("resourceConfig"),a=v(b=>b.page),o=null,s=S(()=>({...D,...i}),[i]),A=S(()=>{if(!m||!o)return;const b=[l,"name","title","label","displayName","username"];for(const u of b)if(o[u])return String(o[u]);if(c?.recordRepresentation){const u=c.recordRepresentation;if(typeof u=="string"&&o[u])return String(o[u])}},[o,m,l,c]),h=S(()=>p?p(t.pathname,c):x(t.pathname,s,c,f,g,I,A),[t.pathname,s,c,f,g,I,A,p]),B=R(b=>{r(P.updatePage({breadcrumbs:b}))},[r]),C=R(b=>{const u=a.breadcrumbs||[];r(P.updatePage({breadcrumbs:[...u,b]}))},[r,a.breadcrumbs]),U=R(()=>{r(P.updatePage({breadcrumbs:[]}))},[r]);return L(()=>{d&&h.length>0&&B(h)},[d,h,B]),{breadcrumbs:a.breadcrumbs||h,setBreadcrumbs:B,addBreadcrumb:C,clearBreadcrumbs:U,pathname:t.pathname}};var J=M;export{J as default,M as useBreadcrumbs};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as r}from"react";const i=(e,c)=>{const t=n=>{e.current&&!e.current.contains(n.target)&&c()};r(()=>(document.addEventListener("click",t),()=>{document.removeEventListener("click",t)}))};var u=i;export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as F,useCallback as a,useRef as x}from"react";import{useFormContext as P}from"react-hook-form";import{useParams as S}from"react-router-dom";import{dashStorage as n}from"@dashadmin/dash-utils";const v=(g={})=>{const{persistState:s=!1,storageKey:y,debounceMs:m=1e3,excludeFields:d=[]}=g,{watch:f,setValue:p,getValues:D}=P(),{id:c}=S(),o=x(null),t=y||`tab-form-${c}`,u=a(e=>{if(s)try{const r={...e};d.forEach(T=>{delete r[T]});const i={formData:r,timestamp:Date.now(),tabId:c};n.setItem(t,JSON.stringify(i)),console.log("\u{1F4E6} Form data persisted:",t)}catch(r){console.error("Failed to persist form data:",r)}},[s,t,d,c]),l=a(()=>{if(!s)return null;try{const e=n.getItem(t);if(!e)return null;const r=JSON.parse(e),i=1440*60*1e3;return Date.now()-r.timestamp>i?(n.removeItem(t),null):(console.log("\u{1F4E6} Form data loaded from storage:",t),r.formData)}catch(e){return console.error("Failed to load form data:",e),null}},[s,t]),b=a(()=>{const e=l();if(!e)return!1;try{return Object.keys(e).forEach(r=>{p(r,e[r],{shouldDirty:!0,shouldTouch:!0,shouldValidate:!1})}),console.log("\u2705 Form data restored successfully"),!0}catch(r){return console.error("Failed to restore form data:",r),!1}},[l,p]),h=a(()=>{try{n.removeItem(t),console.log("\u{1F5D1}\uFE0F Persisted form data cleared:",t)}catch(e){console.error("Failed to clear persisted data:",e)}},[t]);return F(()=>{if(!s)return;const e=f(r=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{u(r)},m)});return()=>{e.unsubscribe(),o.current&&clearTimeout(o.current)}},[f,s,u,m]),F(()=>()=>{o.current&&clearTimeout(o.current)},[]),{restoreFormData:b,clearPersistedData:h,loadFormData:l,saveFormData:()=>u(D())}};var K=v;export{K as default,v as useFormPersistence};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"react";import{dashStorage as t}from"@dashadmin/dash-utils";const n=()=>{const[o,s]=e.useState(null),a=e.useCallback(r=>{t.getItem("lastGlobalError")!==JSON.stringify(r.data)&&(s(r.data),t.setItem("lastGlobalError",JSON.stringify(r.data)),setTimeout(()=>{t.setItem("lastGlobalError",JSON.stringify({}))},1e3))},[]);e.useEffect(()=>(t.setItem("lastGlobalError",JSON.stringify({})),window.addEventListener("GlobalError",a),()=>{t.setItem("lastGlobalError",JSON.stringify({})),window.removeEventListener("GlobalError",a)}),[]);const l=e.useCallback(r=>{window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:r}}))},[o]);return{error:o,sendError:r=>{l(r)}}};var b=n;export{b as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t,{useState as o}from"react";const r=()=>{const e=o(!1);return t.useEffect(()=>(window.addEventListener("dash-global-loader",a=>e[1](a.data)),()=>{window.removeEventListener("dash-global-loader",a=>e[1](a.data))}),[]),e};var u=r;export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import a from"react";const o=()=>{const[e,s]=a.useState(()=>window.location.hash),n=a.useCallback(()=>{s(window.location.hash)},[]);a.useEffect(()=>(window.addEventListener("hashchange",n),()=>{window.removeEventListener("hashchange",n)}),[]);const t=a.useCallback(h=>{window.location.hash=h},[e]);return[e,t]};var i=o;export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useCallback as i,useEffect as l,useState as g}from"react";import{dashStorage as n}from"@dashadmin/dash-utils";const S=typeof window<"u",w=()=>{if(!S)return!1;const t=`test-${Date.now()}`;try{return n.setItem(t,t),n.removeItem(t),!0}catch{return!1}},p=(t,o="")=>{const r=w(),c=i(()=>{try{if(!r)return o;const e=n.getItem(t);return e?JSON.parse(e):o}catch{return o}},[r,o,t]),m=c(),[u,a]=g(m);l(()=>{if(r){const e=c();a(e)}},[r]);const f=i(e=>{const{key:s,newValue:d}=e;t===s&&a(JSON.parse(d))},[t]);return l(()=>{if(r)return window.addEventListener("storage",f),()=>{window.removeEventListener("storage",f)}},[r]),[u,e=>{if(!r)return!1;const s=e instanceof Function?e(u):e;n.setItem(t,JSON.stringify(s)),a(s)}]};var V=p;export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useSelector as s,useDispatch as c}from"react-redux";import{useMemo as o,useCallback as i}from"react";import g from"node-polyglot";import{DASH_REDUX_ACTIONS as p}from"@dashadmin/dash-admin-state";const h=({locales:t}={})=>{const a=s(e=>e.settings?.availableLocales);return o(()=>t&&t.length>0?t:a||[{locale:"es",name:"Espa\xF1ol",languageId:"spanish",icon:"es"},{locale:"en",name:"English",languageId:"english",icon:"en"}],[t,a])},I=()=>{const t=c(),a=s(n=>n.settings?.locale||"es"),e=i(n=>{t(p.switchLanguage(n)),localStorage.setItem("dash-user-locale",n)},[t]);return[a,e]},D=()=>{const t=s(e=>e.settings?.locale||"es"),a=s(e=>e.settings?.translations||{});return o(()=>{const e=a[t]||a.es,n=new g({phrases:e,locale:t,allowMissing:!0});return(l,r)=>n.t(l,r)},[t,a])};export{I as useLocaleState,h as useLocales,D as useTranslate};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useEffect as t,useRef as u}from"react";const f=r=>{const e=u(void 0);return t(()=>{e.current=r}),e.current};var o=f;export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import s,{useState as a}from"react";const l=()=>{const t=a(null),d=(e,r)=>{window.dispatchEvent(new MessageEvent("printSelected",{data:{value:{selectedIds:e,filterValues:r}}}))},n=e=>{t[1](e.data.value)};return s.useEffect(()=>(window.addEventListener("printSelected",n),()=>{window.removeEventListener("printSelected",n)}),[]),{printSelectedUseState:t,sendPrintSelectedEvent:d}};var i=l;export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import a from"react";const i=()=>{const[e,n]=a.useState(()=>window.location.hash),s=a.useCallback(t=>{n(t.data)},[]);a.useEffect(()=>(window.addEventListener("virtualhash",s),()=>{window.removeEventListener("virtualhash",s)}),[]);const r=a.useCallback(t=>{history.replaceState(null,null,`#${t}`),window.dispatchEvent(new MessageEvent("virtualhash",{data:`#${t}`}))},[e]);return{hash:e,setVirtualHash:t=>{r(t)}}};var d=i;export{d as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useState as d,useEffect as t}from"react";const w=()=>{const[i,n]=d({width:void 0,height:void 0});return t(()=>{function e(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),i};var r=w;export{r as default};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{NotificationComponent as e}from"./contexts/com/components/NotificationRenderer";import{NotificationWrapper as r}from"./contexts/com/components/NotificationsWidget";export{e as NotificationComponent,r as NotificationWrapper};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as S,jsx as e,jsxs as C}from"react/jsx-runtime";import{useEffect as c,useRef as n}from"react";import{useDispatch as u}from"react-redux";import{useNavigate as m}from"react-router";import{useStore as f}from"react-admin";import{ToastContainer as l}from"react-toastify";import d from"../hooks/useLocalStorage";import{DASH_REDUX_ACTIONS as g}from"@dashadmin/dash-admin-state";import{Box as a}from"@mui/material";import{LaravelEchoProvider as h}from"../contexts/com/LaravelEchoContext";import{DialogServiceProvider as A}from"@dashadmin/dash-dialog";const v=i=>{const{children:t}=i,p=u(),r=n(null),[s,y]=d("authenticated"),[o]=f("resourceConfig"),L=m();return c(()=>{p(g.updatePage({title:o&&o.label,subTitle:o&&o.group}))},[o]),e(S,{children:e(A,{children:s?C(h,{children:[e(l,{style:{width:"520px"}}),e(a,{ref:r,className:"dash-layout-content",children:t},1)]}):e(a,{ref:r,className:"dash-layout-content",children:t},1)})})};var q=v;export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as T,jsx as i,jsxs as e}from"react/jsx-runtime";import{useEffect as R,useState as x}from"react";import{Button as M,useRedirect as L,useStore as b,useTranslate as w}from"react-admin";import D from"../hooks/useVirtualHash";const g=t=>!t||typeof t!="string"?!1:t.includes(".")&&t===t.toLowerCase(),S=({resourceConfig:t,children:m})=>{const[h,p]=x(!1),s=L(),u=w(),{setVirtualHash:o}=D(),[,d]=b("resourceConfig",t),r=a=>{if(!a)return"";if(g(a)){const n=u(a,{_:a});return n===a?a:n}return a};R(()=>{d(t)},[t,d]);const A=()=>p(!h),v=a=>{if(a.redirect){const n=a.redirect?.startsWith("/")?a.redirect:`/${a.redirect}`.replace(/\/+/g,"/");s(n)}else a.onClick&&a.onClick()},y=a=>{if(a.preventDefault(),!t.mainAction)return;const n=t.mainAction.fn==="virtualhash"?o:s;if(t.mainAction.redirect){const c=t.mainAction.fn==="virtualhash"?o:s;let l=t.mainAction.redirect;t.mainAction.fn!=="virtualhash"&&(l=t.mainAction.redirect?.startsWith("/")?t.mainAction.redirect:`/${t.mainAction.redirect}`.replace(/\/+/g,"/")),c(l)}else t.mainAction.onClick&&t.mainAction.onClick()},N=()=>t.menu?Array.isArray(t.menu)?t.menu:t.menu():[],f=()=>{const a=N();return i("div",{className:"dash-module-top",children:e("div",{className:"dash-module-top-content",children:[a.length>0&&i("ul",{className:"dash-module-horizontal-nav",children:a.map((n,c)=>i("li",{onClick:()=>v(n),children:e("span",{className:"dash-link",children:[n.icon&&i("i",{className:`icon icon-${n.icon}`}),i("span",{children:r(n.title)})]})},c))}),t.mainAction&&i(T,{children:i("div",{className:"dash-module-action",children:i(M,{type:t.mainAction.type,className:"dash-btn-block",onClick:y,children:r(t.mainAction.title)})})})]})})},k=t.mainAction||t.menu;return i("div",{className:"dash-app-module",children:e("div",{className:"dash-module-horizontal-box",style:t.menu?{}:{maxWidth:"100%"},children:[k&&e("div",{className:"dash-module-box-header",children:[i("div",{className:"dash-module-sidenav dash-d-none dash-d-lg-flex",children:i(f,{})}),i("span",{className:"dash-drawer-btn dash-d-flex dash-d-lg-none",children:i("i",{className:"icon icon-menu dash-icon-btn","aria-label":"Menu",onClick:A})})]}),i("div",{className:"dash-module-box-content",children:m})]})})};var F=S;export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as k,jsx as e,jsxs as h}from"react/jsx-runtime";import{motion as y}from"framer-motion";import{Outlet as P}from"react-router";import{useEffect as v,useState as s}from"react";import{createPortal as S}from"react-dom";const C=({transitionDuration:n,show:o})=>h(y.div,{layout:!0,className:`${o?"slide-in":"slide-out"} lds-ring`,initial:{scaleY:1,scaleX:1},animate:{scaleY:0,scaleX:0},exit:{scaleY:1,scaleX:1},transition:{duration:n,ease:[.33,1,.33,1]},variants:{initial:{opacity:1,transition:{duration:n}},in:{opacity:0,transition:{duration:n}},out:{opacity:1,transition:{duration:n}}},style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:1e4,pointerEvents:"none"},children:[e("div",{}),e("div",{}),e("div",{}),e("div",{})]}),H=({transitionDuration:n,show:o})=>e(y.div,{layout:!0,className:"motion-wrapper-bg",initial:{scaleY:1,scaleX:1},animate:{scaleY:0,scaleX:0},exit:{scaleY:1,scaleX:1},transition:{duration:n,ease:[.33,1,.33,1]},variants:{initial:{opacity:1,transition:{duration:n}},in:{opacity:0,transition:{duration:n}},out:{opacity:1,transition:{duration:n}}},style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9999,pointerEvents:"none"}}),L=n=>{const{pageTransition:o=!0,loadingSpinner:w=!0,transitionDuration:i=.5,maxTimeOut:p=1e3,initialShow:l=!1,usePortalForBackground:u=!1,usePortalForSpinner:c=!1,portalTarget:r="body",spinnerPortalTarget:a="body"}=n,[d,m]=s(l),[f,g]=s(!1),[T,M]=s(null),[b,x]=s(null);v(()=>{if(u){let t;typeof r=="string"?(t=document.querySelector(r),t||(t=document.body)):t=r,M(t)}if(c){let t;typeof a=="string"?(t=document.querySelector(a),t||(t=document.body)):t=a,x(t)}},[u,c,r,a]),v(()=>{if(l&&!f){g(!0),m(!0);const t=setTimeout(()=>{m(!1),setTimeout(()=>{g(!1)},i*1e3)},p);return()=>{clearTimeout(t)}}},[l,p,i,f]);const E=()=>{if(!o)return null;const t=e(H,{transitionDuration:i,show:d});return u&&T?S(t,T):t};return h(k,{children:[(()=>{if(!w)return null;const t=e(C,{transitionDuration:i,show:d});return c&&b?S(t,b):t})(),E(),e(P,{})]})};var W=L;export{H as MotionWrapperBackground,C as SpinnerComponent,W as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Fragment as k,jsx as e,jsxs as h}from"react/jsx-runtime";import{motion as y}from"framer-motion";import{Outlet as P}from"react-router";import{useEffect as v,useState as s}from"react";import{createPortal as S}from"react-dom";const C=({transitionDuration:n,show:o})=>h(y.div,{layout:!0,className:`${o?"slide-in":"slide-out"} lds-ring`,initial:{scaleY:1,scaleX:1},animate:{scaleY:0,scaleX:0},exit:{scaleY:1,scaleX:1},transition:{duration:n,ease:[.33,1,.33,1]},variants:{initial:{opacity:1,transition:{duration:n}},in:{opacity:0,transition:{duration:n}},out:{opacity:1,transition:{duration:n}}},style:{position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:1e4,pointerEvents:"none"},children:[e("div",{}),e("div",{}),e("div",{}),e("div",{})]}),H=({transitionDuration:n,show:o})=>e(y.div,{layout:!0,className:"motion-wrapper-bg",initial:{scaleY:1,scaleX:1},animate:{scaleY:0,scaleX:0},exit:{scaleY:1,scaleX:1},transition:{duration:n,ease:[.33,1,.33,1]},variants:{initial:{opacity:1,transition:{duration:n}},in:{opacity:0,transition:{duration:n}},out:{opacity:1,transition:{duration:n}}},style:{position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9999,pointerEvents:"none"}}),L=n=>{const{pageTransition:o=!0,loadingSpinner:w=!0,transitionDuration:i=.5,maxTimeOut:p=1e3,initialShow:l=!1,usePortalForBackground:u=!1,usePortalForSpinner:c=!1,portalTarget:r="body",spinnerPortalTarget:a="body"}=n,[d,m]=s(l),[f,g]=s(!1),[T,M]=s(null),[b,x]=s(null);v(()=>{if(u){let t;typeof r=="string"?(t=document.querySelector(r),t||(t=document.body)):t=r,M(t)}if(c){let t;typeof a=="string"?(t=document.querySelector(a),t||(t=document.body)):t=a,x(t)}},[u,c,r,a]),v(()=>{if(l&&!f){g(!0),m(!0);const t=setTimeout(()=>{m(!1),setTimeout(()=>{g(!1)},i*1e3)},p);return()=>{clearTimeout(t)}}},[l,p,i,f]);const E=()=>{if(!o)return null;const t=e(H,{transitionDuration:i,show:d});return u&&T?S(t,T):t};return h(k,{children:[(()=>{if(!w)return null;const t=e(C,{transitionDuration:i,show:d});return c&&b?S(t,b):t})(),E(),e(P,{})]})};var W=L;export{H as MotionWrapperBackground,C as SpinnerComponent,W as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r,jsxs as i}from"react/jsx-runtime";import{useEffect as p,useState as M}from"react";import{useRedirect as N,useTranslate as S}from"react-admin";import{useDispatch as P}from"react-redux";import{useLocation as f}from"react-router";import{DASH_REDUX_ACTIONS as k}from"@dashadmin/dash-admin-state";import D from"../hooks/useVirtualHash";import _ from"@dashadmin/dash-auto-admin/src/toolbar/buttons/DashResourceButton";const $=o=>!o||typeof o!="string"?!1:o.includes(".")&&o===o.toLowerCase(),B=o=>{const{resourceConfig:t,locale:c}=o,{resourceMenuDisabled:H=!1,resourceMenuPosition:u="top"}=t,h=N(),g=S(),{hash:L,setVirtualHash:T}=D(),l=f(),s=e=>{if(!e)return"";if($(e)){const n=g(e,{_:e});return n===e?e:n}return e},A=P(),R=e=>{const n={title:s(e?.title)};A(k.updatePage(n))},C=(e,n)=>{R(e);let a=e.redirect?.startsWith("/")?e.redirect:`/${e.redirect}`.replace(/\/+/g,"/");e.redirect?h(a):e?.onClick()},[d,m]=M(null),v=f();return p(()=>{const e=Array.isArray(t.menu)?t.menu:typeof t.menu=="function"?t.menu():null;m(e)},[t.menu,c]),p(()=>{const e=Array.isArray(t.menu)?t.menu:typeof t.menu=="function"?t.menu():null;m(e)},[v,t.menu,c]),i("div",{className:`dash-module-${u}`,children:[t.mainAction&&i("div",{className:"dash-module-action",children:[t.create!==!1&&!l.pathname.endsWith("/create")&&r(_,{size:"small",resourceConfig:t,label:s(t.mainAction.title),mode:t.mainAction?.mode||"create"}),t.navActions&&t.navActions.map(e=>e)]}),r("div",{className:`dash-module-${u}-content`,children:r("ul",{className:"dash-module-horizontal-nav",children:d&&d.map((e,n)=>{let a=l.pathname===e?.redirect;return r("li",{onClick:y=>C(e,y),className:a?"active":null,children:i("span",{className:"dash-link",children:[r("i",{className:`icon icon-${e?.icon}`}),r("span",{children:s(e.title)})]})},n)})})})]})};var Y=B;export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r,jsxs as f}from"react/jsx-runtime";import i,{useMemo as s}from"react";import d from"./ResourceMenu";const t=i.memo(({resourceConfig:o,locale:e})=>r(d,{resourceConfig:o,locale:e}),(o,e)=>o.resourceConfig===e.resourceConfig&&o.locale===e.locale),m=o=>{const{resourceConfig:e,children:n,locale:l}=o,{resourceMenuDisabled:u,resourceMenuPosition:g}=s(()=>({resourceMenuDisabled:e.resourceMenuDisabled??!1,resourceMenuPosition:e.resourceMenuPosition??"top"}),[e.resourceMenuDisabled,e.resourceMenuPosition]),c=s(()=>(e.mainAction||e.menu&&e.menu.length>0)&&!u,[e.mainAction,e.menu,u]),a=s(()=>c?r("div",{className:"dash-module-box-header",children:r("div",{className:"dash-module-sidenav dash-d-none dash-d-lg-flex",children:r(t,{resourceConfig:e,locale:l})})}):null,[c,e]);return r("div",{className:"dash-app-module",children:f("div",{className:"dash-module-horizontal-box",style:{maxWidth:"100%"},children:[a,r("div",{className:"dash-module-box-content",children:n})]})})};var A=i.memo(m,(o,e)=>{const n=o.resourceConfig===e.resourceConfig&&o.locale===e.locale;return n||console.log("ResourceLayout re-rendering:",{resourceConfigChanged:o.resourceConfig!==e.resourceConfig,localeChanged:o.locale!==e.locale}),n});export{A as default};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import{jsx as t,jsxs as w}from"react/jsx-runtime";import{useState as a,useEffect as y}from"react";import{Outlet as b,useLocation as g}from"react-router-dom";const h=l=>{const{pageTransition:r=!0,loadingSpinner:d=!0,transitionDuration:i=500}=l,n=g(),[o,m]=a(n),[u,s]=a(!1),[f,p]=a(0),[v,c]=a(!0);return y(()=>{if(!r||n.pathname===o.pathname)return;(async()=>(c(!1),s(!0),await new Promise(e=>requestAnimationFrame(e)),p(1),await new Promise(e=>setTimeout(e,i)),m(n),await new Promise(e=>setTimeout(e,100)),p(0),await new Promise(e=>setTimeout(e,i)),s(!1),c(!0)))()},[n,o,r,i]),w("div",{className:"transition-container",style:{position:"relative",height:"100%"},children:[t("div",{children:t(b,{},o.pathname)}),d&&u&&t("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.8)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:1e3,opacity:f,transition:`opacity ${i}ms ease-in-out`},children:t("div",{className:"spinner",children:t("style",{children:`
|
|
2
|
+
.spinner {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
position: relative;
|
|
5
|
+
width: 80px;
|
|
6
|
+
height: 80px;
|
|
7
|
+
}
|
|
8
|
+
.spinner:after {
|
|
9
|
+
content: " ";
|
|
10
|
+
display: block;
|
|
11
|
+
border-radius: 50%;
|
|
12
|
+
width: 0;
|
|
13
|
+
height: 0;
|
|
14
|
+
margin: 8px;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
border: 32px solid #3f51b5;
|
|
17
|
+
border-color: #3f51b5 transparent #3f51b5 transparent;
|
|
18
|
+
animation: spinner 1.2s infinite;
|
|
19
|
+
}
|
|
20
|
+
@keyframes spinner {
|
|
21
|
+
0% { transform: rotate(0); }
|
|
22
|
+
100% { transform: rotate(360deg); }
|
|
23
|
+
}
|
|
24
|
+
`})})})]})};var I=h;export{I as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as C}from"react/jsx-runtime";import{Alert as g,Box as k,Button as b,TextField as y}from"@mui/material";import{useEffect as R,useState as l}from"react";import{useNavigate as L,useSearchParams as S}from"react-router-dom";import A from"../hooks/axios";import{FullLayoutMarkup as B}from"../../src/default-theme";const I=m=>{let s={};for(const a of m){const[p,r]=a;s={...s,[p]:r}}return Object.keys(s).length>0?s:null},E=({})=>{const m=L();let[s]=S();const a=I(s.entries()),p=a?.email?decodeURIComponent(a.email).replace(/[)\]\s]+$/,""):"",[r,v]=l(""),[u,w]=l(""),[c,f]=l(!1),[h,o]=l(""),[x,P]=l(!1),{axios:N}=A();return R(()=>{(!a?.token||!a?.email)&&m("/login")},[]),e(B,{children:x?C(k,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxShadow:3,borderRadius:2,p:4,minWidth:320,minHeight:200,bgcolor:"background.paper",mt:8,mx:"auto"},children:[e("h1",{className:"dash-app-login-form-title",style:{margin:0},children:"Contrase\xF1a cambiada"}),e(g,{severity:"success",sx:{mt:2,mb:2},children:"Tu contrase\xF1a ha sido cambiada correctamente."}),e(b,{variant:"contained",color:"primary",onClick:()=>m("/login"),sx:{mt:2},children:"Ir al Login"})]}):C("form",{onSubmit:async n=>{if(n.preventDefault(),r===u){o(""),f(!0);try{const{data:i}=await N.post("password/reset",{password:r,password_confirmation:u,token:a?.token,email:p});P(!0)}catch(i){let d="Error al cambiar contrase\xF1a";if(i?.response?.data){const t=i.response.data;t.errors&&t.errors.email&&t.errors.email.length>0?d=t.errors.email[0]:t.message&&(d=t.message)}else i?.message&&(d=i.message);o(d)}finally{f(!1)}}else o("Las contrase\xF1as no coinciden")},className:"dash-app-login-form",autoComplete:"on",method:"post",children:[e("h1",{className:"dash-app-login-form-title",children:"Cambiar Contrase\xF1a"}),h&&e(g,{severity:"error",sx:{mb:2},children:h}),e("div",{className:"dash-app-form-item",children:e(y,{fullWidth:!0,label:"Contrase\xF1a",placeholder:"Contrase\xF1a",required:!0,type:"password",value:r,onChange:n=>{o(""),v(n.target.value)},className:"dash-app-form-item-input",disabled:c})}),e("div",{className:"dash-app-form-item",children:e(y,{fullWidth:!0,label:"Repetir Contrase\xF1a",placeholder:"Repetir Contrase\xF1a",required:!0,type:"password",value:u,onChange:n=>{o(""),w(n.target.value)},className:"dash-app-form-item-input",disabled:c})}),e("div",{className:"dash-app-form-item mt-1",children:e(b,{type:"submit",variant:"contained",className:"submit",disabled:c,sx:{mb:2,width:"100%"},children:c?"Cargando...":"Cambiar Contrase\xF1a"})})]})})};var Q=E;export{Q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{Box as t,Typography as r}from"@mui/material";const p=()=>o(t,{sx:{p:4},children:o(r,{variant:"h4",gutterBottom:!0,children:"Welcome to DASH"})});var s=p;export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as i,jsxs as w}from"react/jsx-runtime";import ee,{useEffect as h,useState as s}from"react";import{useDispatch as oe}from"react-redux";import{useForm as te}from"react-hook-form";import{Button as ie,Link as ae,IconButton as re,InputAdornment as ne,TextField as M,Container as O,Box as n,Alert as se}from"@mui/material";import{useNavigate as le}from"react-router";import ce from"@mui/icons-material/VisibilityOff";import de from"@mui/icons-material/Visibility";const ge="",ue="";import{DASH_REDUX_ACTIONS as me}from"@dashadmin/dash-admin-state";import pe from"../contexts/dictionary/DictionaryContext";import{DASHAppConstants as P}from"@dashadmin/dash-constants";import R from"..//default-theme/FullLayoutMarkup";import{AuthPersistenceService as v}from"@dashadmin/dash-auth";import C from"../contexts/auth/DASHAuthenticationService";const he=fe=>{const W=/^[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])?)*$/,V=e=>W.test(e),[_,d]=s(!1),[F,S]=s(!1),[we,g]=s(!1),[x,L]=s(null),T=oe(),z=ee.useContext(pe),Z=te(),[a,H]=s(!1),[y,p]=s(!1),[ye,u]=s(0),b=()=>{const e=!!window?.Capacitor?.Plugins?.Keyboard,o=!!window?.CapacitorKeyboard;return console.log("Checking Capacitor keyboard availability:",{hasCapacitor:e,hasCapacitorKeyboard:o}),e||o},A=()=>window?.Capacitor?.Plugins?.Keyboard||window?.CapacitorKeyboard,E=()=>{const e=document.body.className,o=e.includes("webview")||e.includes("android")||e.includes("ios")||e.includes("mobile"),t=window.innerWidth<700;return o||t},D=(e,o="capacitor")=>{console.log(`\u{1F53C} KEYBOARD OPENED (${o}):`,{height:e||"unknown",timestamp:new Date().toISOString(),isMobile:a,screenHeight:window.screen.height,viewportHeight:window.visualViewport?.height||window.innerHeight,source:o})},B=(e="capacitor")=>{console.log(`\u{1F53D} KEYBOARD CLOSED (${e}):`,{timestamp:new Date().toISOString(),isMobile:a,screenHeight:window.screen.height,viewportHeight:window.visualViewport?.height||window.innerHeight,source:e})},U=()=>{const e=()=>{const o=E();if(H(o),o){const c=window.visualViewport?.height||window.innerHeight,t=window.screen.height,r=t*.75,l=c<r;if(l!==y){if(l){const N=t-c;D(N,"fallback"),u(N)}else B("fallback"),u(0);p(l)}}};return window.addEventListener("resize",e),window.visualViewport&&window.visualViewport.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),window.visualViewport&&window.visualViewport.removeEventListener("resize",e)}};h(()=>{if(H(E()),b()){const e=A();if(e)return console.log("\u{1F3B9} Using Capacitor Keyboard API for keyboard detection"),e.addListener("keyboardWillShow",o=>{console.log("\u{1F4F1} Capacitor: keyboard will show with height:",o.keyboardHeight),D(o.keyboardHeight,"capacitor"),p(!0),u(o.keyboardHeight)}),e.addListener("keyboardDidShow",o=>{console.log("\u{1F4F1} Capacitor: keyboard did show with height:",o.keyboardHeight),p(!0),u(o.keyboardHeight)}),e.addListener("keyboardWillHide",()=>{console.log("\u{1F4F1} Capacitor: keyboard will hide"),B("capacitor"),p(!1),u(0)}),e.addListener("keyboardDidHide",()=>{console.log("\u{1F4F1} Capacitor: keyboard did hide"),p(!1),u(0)}),()=>{e.removeAllListeners()}}return console.log("\u{1F310} Using fallback keyboard detection (viewport-based)"),U()},[]),h(()=>{(async()=>{if(b()){const o=A();if(o)try{console.log("\u2699\uFE0F Configuring Capacitor Keyboard settings..."),await o.setAccessoryBarVisible({isVisible:!1}),await o.setResizeMode({mode:"body"}),console.log("\u2705 Capacitor Keyboard configured successfully")}catch(c){console.log("\u274C Error configuring Capacitor Keyboard:",c)}}})()},[]);const{register:I,handleSubmit:$,formState:{errors:m}}=Z;h(()=>{T(me.updatePage({title:null}))},[]),h(()=>{(async()=>{S(!0);try{const o=await C.checkAuth();g(o),d(o)}catch(o){console.error("Error checking auth state:",o),g(!1),d(!1)}finally{S(!1)}})()},[]);const k=le(),[q,f]=s(!1),be=(e,o="error")=>{console.log(`${o.toUpperCase()}: ${e}`),o==="error"&&alert(e)};async function G(e,o){const c=e.password;f(!0),L(null);try{console.log("Attempting login with DASHAuthenticationService...");const t=await C.login({username:e.email,password:c,redirect:window.location.pathname});if(console.log("Login response:",t),t.success){if(console.log("Login successful!"),P.system.LOGIN_SOUNDS){const r=new Audio(ge);r.load(),r.play()}if(f(!1),d(!0),g(!0),b()){const r=A();if(r)try{console.log("\u{1F53D} Manually hiding keyboard after successful login..."),await r.hide()}catch(l){console.log("\u274C Error hiding keyboard:",l)}}t.redirectAfterLogin?(console.log("Redirecting to:",t.redirectAfterLogin),k(t.redirectAfterLogin)):k("/")}else throw new Error(t.error||"Login failed")}catch(t){if(console.error("Login error:",t),P.system.LOGIN_SOUNDS){const l=new Audio(ue);l.load(),l.play()}f(!1);let r="Credenciales inv\xE1lidas";t&&t.response&&t.response.data&&t.response.data.message?r=t.response.data.message:t&&t.error?r=t.error:t&&t.message&&(r=t.message),L(r)}finally{f(!1)}}const[K,X]=s(!1),Y=()=>X(e=>!e),j=e=>{e.preventDefault()};if(h(()=>{(async()=>{try{console.log("Initializing app authentication...");const o=await C.initializeApp();o.success?(console.log("App authentication initialized successfully"),g(!0),d(!0),o.redirectAfterLogin&&console.log("Role redirect available:",o.redirectAfterLogin,"(not navigating during init)")):(console.log("App authentication initialization failed or no valid auth found"),g(!1),d(!1))}catch(o){console.error("Error initializing app authentication:",o),g(!1),d(!1)}})()},[]),F)return i(R,{className:a?"mobile":"desktop",children:i(O,{maxWidth:"sm",sx:{p:1},children:i(n,{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"50vh",textAlign:"center",children:i("div",{children:"Cargando..."})})})});const J=v.getTenantImages()?.horizontal_logo?.original,Ae=v.getTenantImages()?.squared_logo?.original,Q=v.getTenantImages()?.banner?.original;return i(R,{className:a?"mobile":"desktop",logo:J,loginBackground:Q,children:i(O,{maxWidth:"sm",sx:{display:"flex",flexDirection:"column",justifyContent:y?"flex-start":"center"},children:i(n,{sx:{width:"100%",maxWidth:a?"100%":400,mx:"auto"},children:_?i(n,{sx:{textAlign:"center"}}):w(n,{children:[w("form",{onSubmit:$(G),className:"dash-app-login-form",children:[w(n,{sx:{mb:a?1:1.5},children:[i(M,{label:"Email",placeholder:"Email",required:!0,fullWidth:!0,...I("email",{validate:V}),className:"dash-app-form-item-input",size:"small",variant:"outlined",sx:{"& .MuiInputBase-root":{fontSize:a?"0.875rem":"1rem"}}}),m.email&&i(n,{sx:{color:"error.main",fontSize:"0.75rem",mt:.25},children:m.email.message?z.get(m.email.message,!0):"Email inv\xE1lido"})]}),w(n,{sx:{mb:a?1:1.5},children:[i(M,{label:"Contrase\xF1a",placeholder:"Contrase\xF1a",fullWidth:!0,...I("password"),className:"dash-app-form-item-input",size:"small",variant:"outlined",sx:{"& .MuiInputBase-root":{fontSize:a?"0.875rem":"1rem"}},slotProps:{input:{autoComplete:"password",type:K?"text":"password",endAdornment:i(ne,{position:"end",children:i(re,{"aria-label":"toggle password visibility",onClick:Y,onMouseDown:j,edge:"end",size:"small",children:K?i(ce,{fontSize:"small"}):i(de,{fontSize:"small"})})})}}}),m.password&&i(n,{sx:{color:"error.main",fontSize:"0.75rem",mt:.25},children:m.password.message?z.get(m.password.message,!0):"Contrase\xF1a Inv\xE1lida"})]}),x&&i(n,{sx:{mb:2},children:i(se,{severity:"error",variant:"filled",children:x})}),i(n,{sx:{mb:.5},children:i(ie,{fullWidth:!0,size:"medium",className:"submit",type:"submit",loading:q,variant:"contained",sx:{py:a?.75:1,fontSize:a?"0.875rem":"1rem"},children:"Ingresar"})})]}),!(a&&y)&&i(n,{sx:{mb:a?1:1.5,textAlign:"right"},children:i(ae,{className:"link link--secondary",component:"button",onClick:()=>k("/reset-password"),sx:{fontSize:a?"0.75rem":"0.875rem"},children:"Resetear contrase\xF1a A"})})]})})})})};var Pe=he;export{Pe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as o,jsxs as l}from"react/jsx-runtime";import{useState as g}from"react";import{useForm as B}from"react-hook-form";import{Button as N,Link as D,IconButton as E,InputAdornment as I,TextField as f,Box as r,Card as k,CardContent as H}from"@mui/material";import{useNavigate as P}from"react-router";import R from"@mui/icons-material/VisibilityOff";import W from"@mui/icons-material/Visibility";const Z="",M="";import{DASHAppConstants as u}from"@dashadmin/dash-constants";import O from"../contexts/auth/DASHAuthenticationService";const _=$=>{const w=/^[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])?)*$/,h=s=>w.test(s),A=B(),m=P(),[S,a]=g(!1),[d,x]=g(!1),{register:c,handleSubmit:L,formState:{errors:i}}=A,C=()=>x(s=>!s),b=s=>{s.preventDefault()},y=(s,n="error")=>{console.log(`${n.toUpperCase()}: ${s}`),n==="error"&&alert(s)};async function z(s,n){const v=s.password;a(!0);try{console.log("Attempting login with DASHAuthenticationService...");const e=await O.login({username:s.email,password:v,redirect:window.location.pathname});if(console.log("Login response:",e),e.success){if(console.log("Login successful!"),u.system.LOGIN_SOUNDS){const t=new Audio(Z);t.load(),t.play()}a(!1),e.redirectAfterLogin?(console.log("Redirecting to:",e.redirectAfterLogin),m(e.redirectAfterLogin)):m("/")}else throw new Error(e.error||"Login failed")}catch(e){if(console.error("Login error:",e),u.system.LOGIN_SOUNDS){const p=new Audio(M);p.load(),p.play()}a(!1);let t="Credenciales inv\xE1lidas";e&&e.response&&e.response.data&&e.response.data.message?t=e.response.data.message:e&&e.error?t=e.error:e&&e.message&&(t=e.message),y(t,"error")}}return o(r,{sx:{display:"flex",justifyContent:"center",alignItems:"center",pt:20},children:o(k,{sx:{maxWidth:400,width:"100%",boxShadow:3},children:o(H,{sx:{p:3},children:l("form",{onSubmit:L(z),className:"dash-app-login-form",children:[l(r,{sx:{mb:1.5},children:[o(f,{label:"Email",placeholder:"Email",required:!0,fullWidth:!0,...c("email",{validate:h}),className:"dash-app-form-item-input",size:"small",variant:"outlined"}),i.email&&o(r,{sx:{color:"error.main",fontSize:"0.75rem",mt:.25},children:i.email.message||"Email inv\xE1lido"})]}),l(r,{sx:{mb:1.5},children:[o(f,{label:"Contrase\xF1a",placeholder:"Contrase\xF1a",fullWidth:!0,...c("password"),className:"dash-app-form-item-input",size:"small",variant:"outlined",slotProps:{input:{autoComplete:"password",type:d?"text":"password",endAdornment:o(I,{position:"end",children:o(E,{"aria-label":"toggle password visibility",onClick:C,onMouseDown:b,edge:"end",size:"small",children:d?o(R,{fontSize:"small"}):o(W,{fontSize:"small"})})})}}}),i.password&&o(r,{sx:{color:"error.main",fontSize:"0.75rem",mt:.25},children:i.password.message||"Contrase\xF1a Inv\xE1lida"})]}),o(r,{sx:{mb:1.5,textAlign:"right"},children:o(D,{className:"link link--secondary",href:"/reset-password",sx:{fontSize:"0.875rem"},children:"Resetear contrase\xF1a B"})}),o(r,{sx:{mb:.5},children:o(N,{fullWidth:!0,size:"medium",className:"submit",type:"submit",loading:S,variant:"contained",sx:{py:1},children:"Ingresar"})})]})})})})};var K=_;export{K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as L}from"react/jsx-runtime";import f,{useEffect as g}from"react";import{useState as n}from"react";import{useNotify as y}from"react-admin";import{Link as b}from"react-router-dom";import{Button as h,Input as l,InputLabel as m}from"@mui/material";import{useSelector as S}from"react-redux";import v from"../providers/authProvider";import{ConstantsContext as x}from"../config/ConstantsService";import{dashStorage as I}from"@dashadmin/dash-utils";const C=()=>{const[r,p]=n(""),[a,d]=n(""),[o,s]=n(!1),{login:c}=v,i=y(),w=f.useContext(x),D=S(t=>t.common.panelSettings),u=t=>{t.preventDefault(),s(!0),c({username:r,password:a}).then(()=>{i("Login ok!",{type:"success"})}).catch(()=>{i("Error",{type:"error"}),s(!1)})};return g(()=>{I.setItem("roles",JSON.stringify([]))},[]),e("div",{className:"dash-app-login-content",style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",minHeight:"100vh"},children:L("form",{onSubmit:u,style:{width:"100%",maxWidth:400,background:"white",padding:32,borderRadius:12,boxShadow:"0 2px 16px rgba(0,0,0,0.08)",display:"flex",flexDirection:"column",alignItems:"stretch"},children:[e(m,{id:"demo-simple-select-label",children:"Correo"}),e(l,{name:"email",type:"email",value:r,required:!0,readOnly:o,onChange:t=>p(t.target.value)}),e("br",{}),e(m,{id:"demo-simple-select-label",children:"Contrase\xF1a"}),e(l,{name:"password",type:"password",value:a,required:!0,readOnly:o,onChange:t=>d(t.target.value)}),e("br",{}),e("br",{}),e(b,{style:{color:"royalblue",alignSelf:"flex-end"},to:"/reset-password",children:"Olvido contrase\xF1a"}),e("br",{}),e(h,{type:"submit",variant:"contained",color:"primary",disabled:o,style:{marginTop:16},children:o?"Cargando...":"Ingresar"})]})})};var j=C;export{j as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as i}from"react/jsx-runtime";import{useEffect as U,useState as f}from"react";import{Button as G,CardContent as u,CardHeader as h,Grid as e,Typography as _}from"@mui/material";import{Form as W,useRefresh as L,Loading as P,useNotify as D,TextInput as p}from"react-admin";import{useDispatch as R}from"react-redux";import{DASH_REDUX_ACTIONS as j}from"@dashadmin/dash-admin-state";import k from"../hooks/axios";import q from"./SingleImageUploader";import{useAuthContext as B}from"../contexts/auth";import H from"../components/user/UserPreferences";const M=O=>{const[s,x]=f("auth/update/info"),[l,w]=f(!1),{user:n,fetchAuth:z}=B(),[y,F]=f({rawFile:null,urlFile:""}),m=D(),{axios:g}=k(),A=L(),E=R();U(()=>{E(j.updatePage({title:"Perfil",subTitle:"Configuraci\xF3n de perfil"}))},[]);const I=r=>{const t={};return s==="auth/update/password"&&((r.password||r.password_confirmation)&&!r.current_password&&(t.current_password="El campo es requerido"),r.current_password&&(!r.password||!r.password_confirmation)&&(t.password="El campo es requerido",t.password_confirmation="El campo es requerido"),r.password_confirmation!==r.password&&(t.password="Las contrase\xF1as no coinciden",t.password_confirmation="Las contrase\xF1as no coinciden")),t},N=async r=>{w(!0);const t=new FormData,v={current_password:r.current_password,password:r.password,password_confirmation:r.password_confirmation};r.name&&t.append("name",r.name),r.lastname&&t.append("lastname",r.lastname),r.email&&t.append("email",r.email),y.rawFile&&t.append("avatar",y.rawFile),t.append("_method","put");try{s==="auth/update/info"?await g.post(s,t,{headers:{"Content-Type":"multipart/form-data"}}):await g.put(s,v);try{await z(),console.log("Auth context refreshed after profile update")}catch(o){console.error("Faileds to refresh auth context:",o)}m("Usuario actualizado correctamente",{type:"success"}),A()}catch(o){let C=o?.response?.data?.message||o?.body?.message||"",d=o?.response?.data?.errors||o?.body?.errors||o;if(C?m(`Error al actualizar el usuario, ${C}`,{type:"error"}):m("Error al actualizar el usuario",{type:"error"}),d&&typeof d=="object"){const b={};return Object.keys(d).forEach(c=>{b[c]=Array.isArray(d[c])?d[c].join(" , "):d[c]}),b}}finally{w(!1)}},S=()=>{x("auth/update/info")},T=()=>{x("auth/update/password")};return a("div",{className:"dash-profile",children:n?a(W,{onSubmit:N,validate:I,defaultValues:{name:n?.name,email:n?.email,lastname:n?.lastname},className:"dash-form",children:a("div",{className:"dash-card-content dash-module dash-card-profile",children:i(e,{container:!0,spacing:{xs:2,md:3},sx:{minHeight:"400px"},children:[a(e,{size:{xs:12,md:4},display:"flex",justifyContent:"center",alignItems:"center",children:i(u,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",width:"100%"},children:[a(q,{currentUrl:n?.image_path,onChange:r=>{F({rawFile:r,urlFile:URL.createObjectURL(r)})},classNamePrefix:"dash-profile"}),a(_,{className:"dash-profile-name",variant:"h2",sx:{mt:2,textAlign:"center"},children:`${n?.name||""}`}),a(_,{variant:"body2",sx:{display:"block",textAlign:"center",fontSize:"14px",opacity:.54,mt:1}})]})}),i(e,{size:{xs:12,md:4},children:[a(h,{sx:{padding:"16px 25px 0"},title:"Info"}),a(u,{sx:{padding:"25px"},children:i(e,{container:!0,spacing:2,children:[a(e,{size:12,children:a(p,{source:"name",label:"Nombre",variant:"outlined",fullWidth:!0})}),a(e,{size:12,children:a(p,{source:"lastname",label:"Apellido",variant:"outlined",fullWidth:!0})}),a(e,{size:12,children:a(p,{source:"email",label:"Email",variant:"outlined",fullWidth:!0})}),a(e,{size:12,sx:{mt:2},children:a(G,{onClick:S,disabled:l,variant:"contained",type:"submit",fullWidth:!0,sx:{position:"relative","&.Mui-disabled":{backgroundColor:"primary.main",opacity:.7,color:"white"}},children:l&&s==="auth/update/info"?"Guardando...":"Guardar"})})]})})]}),i(e,{size:{xs:12,md:4},children:[a(h,{sx:{padding:"16px 25px 0"},title:"Contrase\xF1as"}),a(u,{sx:{padding:"25px"},children:i(e,{container:!0,spacing:2,children:[a(e,{size:12,children:a(p,{type:"password",source:"current_password",label:"Contrase\xF1a actual",variant:"outlined",fullWidth:!0})}),a(e,{size:12,children:a(p,{type:"password",source:"password",label:"Nueva contrase\xF1a",variant:"outlined",fullWidth:!0})}),a(e,{size:12,children:a(p,{label:"Repita nueva contrase\xF1a",type:"password",source:"password_confirmation",variant:"outlined",fullWidth:!0})}),a(e,{size:12,sx:{mt:2},children:a(G,{onClick:T,disabled:l,variant:"contained",type:"submit",fullWidth:!0,sx:{position:"relative","&.Mui-disabled":{backgroundColor:"primary.main",opacity:.7,color:"white"}},children:l&&s==="auth/update/password"?"Guardando Contrase\xF1as...":"Guardar Contrase\xF1as"})})]})})]}),i(e,{size:{xs:12},children:[a(h,{sx:{padding:"16px 25px 0"},title:"Preferencias"}),a(u,{sx:{padding:"25px"},children:a(H,{})})]})]})})}):a(P,{})})};var sa=M;export{sa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as m}from"react/jsx-runtime";import{Button as x,TextField as k,Alert as y,IconButton as B,Grid as i,Box as n}from"@mui/material";import{useEffect as S,useState as a}from"react";import{useNotify as w,useRedirect as N}from"react-admin";import R from"../hooks/axios";import{FullLayoutMarkup as A}from"../../src/default-theme";import L from"@mui/icons-material/Home";import{clearAllCookies as D}from"../../src/utils/cookies";import{dashStorage as E}from"@dashadmin/dash-utils";const G=({})=>{const[l,h]=a(""),[c,p]=a(!1),[u,d]=a(""),[b,C]=a(!1),{axios:v}=R(),f=N(),g=w(),I=async s=>{s.preventDefault(),d(""),p(!0);try{const{data:t}=await v.post("password/email",{email:l});C(!0),g(t.message,{type:"success"})}catch(t){let o="Ha ocurrido un error";if(t?.response?.data){const r=t.response.data;r.errors&&r.errors.email&&r.errors.email.length>0?o=r.errors.email[0]:r.message&&(o=r.message)}else t?.message&&(o=t.message);d(o),g(o,{type:"warning"})}finally{p(!1)}};return S(()=>{E.clear(),D()},[]),e(A,{children:e(n,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",pt:8},children:e(n,{sx:{width:"100%",maxWidth:420,mx:"auto"},children:b?m(n,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxShadow:3,borderRadius:2,p:4,minWidth:320,minHeight:200,bgcolor:"background.paper",mt:8,mx:"auto"},children:[e("h1",{className:"dash-app-login-form-title",style:{margin:0},children:"Recuperar Contrase\xF1a"}),e(y,{severity:"success",sx:{mt:2,mb:2},children:"Si el correo existe en nuestro sistema, recibir\xE1s un enlace para restablecer tu contrase\xF1a."}),e(x,{variant:"contained",color:"primary",onClick:()=>f("/login"),sx:{mt:2},children:"Ir al Login"})]}):m("form",{onSubmit:I,className:"dash-app-login-form",children:[m(i,{container:!0,sx:{mb:4,mt:2},spacing:2,alignItems:"center",children:[e(i,{item:!0,xs:2,children:e(B,{color:"primary",size:"large",onClick:()=>f("/"),children:e(L,{})})}),e(i,{item:!0,xs:10,children:e("h1",{className:"dash-app-login-form-title",style:{margin:0},children:"Recuperar Contrase\xF1a"})})]}),u&&e(y,{severity:"error",sx:{mb:2},children:u}),e("div",{className:"dash-app-form-item",children:e(k,{fullWidth:!0,variant:"outlined",label:"Email",placeholder:"Email",required:!0,value:l,inputProps:{type:"email"},onChange:s=>h(s.target.value),className:"dash-app-form-item-input",autoComplete:"username",name:"email",type:"email",id:"email"})}),e("div",{className:"dash-app-form-item mt-1",children:e(x,{type:"submit",variant:"contained",disabled:c,sx:{mb:2,width:"100%"},children:c?"Cargando...":"Resetear Contrase\xF1a"})})]})})})})};var oe=G;export{oe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{IconButton as m}from"@mui/material";import{useState as s}from"react";import{Upload as g}from"@mui/icons-material";const p=n=>{const{classNamePrefix:a="default",currentUrl:l="single-image-uploader",onChange:i}=n,[t,c]=s(null);return r("div",{className:`single-image-uploader ${a}-img`,children:[t||l?e("img",{src:t||l,alt:""}):e("div",{className:`${a}-icon`}),r(m,{"aria-label":"upload image",component:"label",className:`${a}-edit`,children:[e(g,{style:{opacity:"0.6"}}),e("input",{hidden:!0,accept:"image/*",type:"file",onChange:o=>{c(URL.createObjectURL(o.target.files[0])),i&&i(o.target.files[0])}})]})]})};var C=p;export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as R}from"react/jsx-runtime";import{useEffect as p,useState as u}from"react";import{useNavigate as v,useSearchParams as h}from"react-router-dom";import y from"../hooks/axios";import{Box as k,Typography as b,CircularProgress as x}from"@mui/material";import{getEnv as P}from"@dashadmin/dash-constants/src/DASHAdminSystemConstants";import{FullLayoutMarkup as C}from"../../src/default-theme";const T=({})=>{const[o]=h(),e=v(),{axios:s}=y(),[l,r]=u("loading"),[f,t]=u("Verificando cuenta..."),m=P("APP_BACKEND_URL")||"http://localhost:8000",g=async()=>{try{const i=o.get("verification_url");if(i){switch((await s.get(i)).status){case 200:r("success"),t("Cuenta verificada correctamente. Redirigiendo al login..."),setTimeout(()=>e("/login"),3e3);break;case 204:r("success"),t("Cuenta ya verificada. Redirigiendo al login..."),setTimeout(()=>e("/login"),3e3);break;default:r("error"),t("Error al verificar la cuenta. Por favor, intente nuevamente."),setTimeout(()=>e("/login"),3e3);break}return}const n=o.get("id"),c=o.get("hash");if(!n||!c){r("error"),t("Link de verificaci\xF3n inv\xE1lido."),setTimeout(()=>e("/login"),8e3);return}const d=`${m}/api/email/verify/${n}/${c}`;switch((await s.get(d)).status){case 200:r("success"),t("Cuenta verificada correctamente. Redirigiendo al login..."),setTimeout(()=>e("/login"),3e3);break;case 204:r("success"),t("Cuenta ya verificada. Redirigiendo al login..."),setTimeout(()=>e("/login"),3e3);break;default:r("error"),t("Error al verificar la cuenta. Por favor, intente nuevamente."),setTimeout(()=>e("/login"),8e3);break}}catch(i){console.error("Verification error:",i),r("error"),t("Error al verificar la cuenta. Por favor, intente nuevamente."),setTimeout(()=>e("/login"),8e3)}};return p(()=>{g()},[]),a(C,{children:a("div",{className:"dash-app-login-form",children:R(k,{sx:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxShadow:3,borderRadius:2,p:4,minWidth:320,minHeight:200,backgroundColor:"background.paper",mx:"auto",my:8},children:[a("h1",{className:"dash-app-login-form-title",children:"Verificaci\xF3n de Cuenta"}),l==="loading"&&a(x,{size:60,thickness:4}),a(b,{sx:{mt:2,textAlign:"center"},children:f})]})})})};var F=T;export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import l from"../classes/DASHStorageClass";import{initAxios as u}from"../hooks/axios";import{removeCookie as d,setCookie as i}from"../utils/cookies";import{dashStorage as r}from"@dashadmin/dash-utils";import{clearDeviceStoreAuth as c}from"@dashadmin/dash-auth";const o=async()=>{d("tenant_id"),d("token"),r.removeItem("user"),r.removeItem("auth"),r.setItem("authenticated","false"),r.setItem("roles",null),await c()};var p={login:async({username:e,password:t})=>{if(!(e&&t))return Promise.reject();const a=u();try{const s=await a.post("/login",{email:e,password:t});if(s.status>=200&&s.status<=299){i("token",s.data.token),r.setItem("token",s.data.token);try{let{data:n}=await a.get("/auth/getauth");return r.setItem("roles",JSON.stringify(n.user.roles)),r.setItem("authenticated","true"),r.setItem("user",JSON.stringify(n.user)),r.setItem("auth",JSON.stringify(n)),Promise.resolve()}catch{return console.error("Error al aut\xE9nicar al usuario"),await o(),Promise.reject()}}}catch(s){return console.error(s),await o(),Promise.reject()}return await o(),Promise.reject()},logout:async()=>(await o(),Promise.resolve()),checkError:e=>{const t=e?.response?.status;if(window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),t)switch(t){case 400:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve();case 401:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.reject(e);case 403:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.reject(e);case 500:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve();case 422:case 409:let a={};return a.error="Ha ocurrido un error indefinido, vuelva a intentarlo m\xE1s tarde",e.response.data?.errors?Object.keys(e.response.data?.errors).forEach(s=>{a[s]=e.response.data?.errors[s].join(" , ")}):e.response.data?.message&&(a.error=e.response.data?.message),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:a}})),Promise.resolve();default:return window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:e.response.data||e}})),Promise.resolve()}else{let a={};return Object.keys(e).forEach(s=>{a[s]=Array.isArray(e[s])?e[s].join(" , "):e[s]}),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:a}})),Promise.resolve()}},checkAuth:()=>JSON.parse(r.getItem("authenticated"))===!0?Promise.resolve():Promise.reject(),getPermissions:()=>{if(r.getItem("roles")==="guest")return Promise.resolve("guest");let e={roles:r.getItem("roles")?JSON.parse(r.getItem("roles")).map(t=>t.name):{}};return e?Promise.resolve(e):Promise.resolve("null")},getIdentity:async()=>{const e=u();try{let{data:t}=await e.get("/auth/getauth");return r.setItem("roles",t.user?.roles?JSON.stringify(t.user.roles):JSON.stringify(l.constants.system.GUEST_ROLE)),r.setItem("authenticated","true"),r.setItem("user",JSON.stringify(t.user)),JSON.parse(l.constants.system.ENABLE_TENANT_IMPERSONATION)&&t.user?.tenant_id&&(r.setItem("tenant_id",t.user?.tenant_id),i("tenant_id",t.user?.tenant_id),r.setItem("user_id",t.user?.id),i("user_id",t.user?.id)),Promise.resolve(t.user)}catch{return console.error("Error al aut\xE9nicar al usuario"),await o(),Promise.reject()}}};export{p as default,o as logoutFromStorage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import h from"query-string";import{processAxiosError as m,useAxios as f}from"@dashadmin/dash-axios-hook";import _ from"../classes/DASHStorageClass";import{getCookie as u}from"../utils";import{cacheInvalidatorHash as A}from"../utils/cache/CacheInvalidatorContext";const w=e=>{const t=_.resources,r=t.find(i=>i.model===e);if(r)return r;const n=e.replace(/\/[\w-]+$/,"");return t.find(i=>i.model===n)},F=(e,t,r)=>{for(const n in e)n===t?e[n]=r(e[n]):Array.isArray(e[n])?e[n].forEach(i=>F(i,t,r)):typeof e[n]=="object"&&F(e[n],t,r)},v=(e,t)=>{const r=w(e),n=new FormData;return Object.entries(t).forEach(i=>{const[a,o]=i;if(o!==void 0){if(Array.isArray(o))if(o.length){o.forEach(s=>{n.append(a+"[]",s)});return}else{n.append(a+"[]","");return}else if(o&&typeof o=="object"&&!(o instanceof File)&&!o.rawFile){Object.keys(o).forEach(d=>{n.append(a+"["+d+"]",o[d])});return}if(o==null)return;if(r){const s=r.schema.find(d=>d.attribute.split(".")[0]===a);if(!s){n.append(a,o);return}if(s?.processor==="Blob"){n.append(a,o);return}if(s?.processor==="Stringify"){n.append(a,JSON.stringify(o));return}if(s?.processor==="File"){o.rawFile?n.append(a,o.rawFile):n.append(a,o);return}if(s?.processor==="RawFile"){n.append(a,o.rawFile);return}if(s?.processor==="Boolean"){n.append(a,Number(o).toString());return}if(s?.processor==="BooleanOnOff"){n.append(a,Number(o)===1?"on":"off");return}if(s?.processor==="BooleanActiveInactive"){n.append(a,Number(o)===1?"active":"inactive");return}if(o===null&&s?.processor==="Null"){n.append(a,"");return}}o instanceof File?n.append(a,o):typeof o=="object"?n.append(a,JSON.stringify(o)):n.append(a,o)}}),r.formPostFormatter?r.formPostFormatter(t,n):n},E=(e,t,r)=>{const n=w(e);return Object.entries(t).forEach(i=>{const[a,o]=i;if(n){const s=n.schema.find(d=>d.attribute===a);s?.processor==="Boolean"&&(t[a]=Number(o).toString()),s?.processor==="BooleanOnOff"&&(t[a]=o?"on":"off"),s?.processor==="BooleanActiveInactive"&&(t[a]=o?"active":"inactive")}}),n?.postFormatter&&r!=="getList"&&(t=n.postFormatter(t,r)),t},b={getList:async(e,t,r)=>{const n=u("tenant_id");let i=E(e,{...t.data,...t.filter,tenant_id:n},"getList");const a=f(),o=t.filter&&t.filter.pagination?t.filter.pagination:t.pagination?t.pagination:!1;o?i={...i,pagination:!0,...o}:i={...i,pagination:!1},t.sort&&t.sort.field&&t.sort.order&&!t.meta?.removeSortFilters&&(i={...i,...t.sort,order:t.sort.order.toLowerCase()});const d=A(e);d&&(i={...i,hash:d});const l=h.stringify(i,{arrayFormat:"bracket"}),c=`${e}?${l}`,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 y=await a.get(c),p=y.data,S={data:p.data,total:p&&p.total?p.total:parseInt(y.headers["content-range"])||0};return window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:g,lastEventId:c})),S}catch(y){window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:y}}))}finally{window.dispatchEvent(new MessageEvent("auto-admin-loading-state",{data:!1,origin:g,lastEventId:c}))}},getOne:async(e,t)=>{const r=f();try{return{data:(await r.get(`${e}/${t.id}`,t.meta?{params:t.meta}:{})).data}}catch(n){window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:n}}))}},getMany:async(e,t)=>{const r=f(),n=t.filter&&t.filter.pagination?t.filter.pagination:!1,i=Array.isArray(t.ids)&&t.ids.length>0&&Array.isArray(t.ids[0])?t.ids[0]:t.ids;let a={ids:Array.isArray(i)&&i.length>0&&i[0].id?i.map(l=>l.id):i,...t.sort,...t.filter};n?a={...a,pagination:!0,...n}:a={...a,pagination:!1};const o=A(e);o&&(a={...a,hash:o});const s=h.stringify(a,{arrayFormat:"bracket"}),d=`${e}/getMany?${s}`;try{const l=await r.get(d),c=l.data;return{data:c.data,total:c.data&&c.data.total?c.data.total:parseInt(l.headers["content-range"])||0}}catch(l){window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:l}}))}},getManyReference:async(e,t)=>{const r=u("tenant_id"),n=t.filter&&t.filter.pagination?t.filter.pagination:!1,i=f();let a={...t.filter,[t.target]:t.id,tenant_id:r};n?a={...a,pagination:!0,...n}:a={...a,pagination:!1};const o=`${e}/getManyReference?${h.stringify(a,{arrayFormat:"bracket"})}`;try{const s=await i.get(o),d=s.data;return{data:d,total:d.data&&d.data.total?d.data.total:parseInt(s.headers["content-range"])||0}}catch(s){window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:s}}))}},updateMany:async(e,t)=>{const r=u("tenant_id"),n=f(),i={filter:JSON.stringify({ids:t.ids}),tenant_id:r},o=(t.meta?.method?t.meta.method:"POST")==="POST"?n.post:n.put;try{return await o(`${e}/updateMany?${h.stringify(i,{arrayFormat:"bracket"})}`,t.data)}catch(s){window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:s}}))}},update:async(e,t)=>{const r=f(),i=w(e)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,a=t&&t.data&&t.data.tenant_id?t.data.tenant_id:u("tenant_id"),o=t.id&&e.includes(t.id.toString())?e:t.id?`${e}/${t.id}`:e,s=E(o,{...t.data,tenant_id:a},"update");let d=t.meta?.method?t.meta.method:"PUT";d=s?.axiosMethod?s.axiosMethod:d,delete s.axiosMethod;const l=r.post;d==="PUT"&&(s._method="PUT");try{if(i){const g=v(e,s);return await l(o,g,{headers:{"Content-Type":"multipart/form-data"}})}return await l(o,s)}catch(c){throw m(c,e,"update")}},import:async(e,t)=>{t.data=E(e,t.data,"import"),u("tenant_id")&&t.data&&!t.data.tenant_id&&(t.data.tenant_id=u("tenant_id"));const r=f(),n=v(e,t.data),a=(t.meta?.method?t.meta.method:"POST")==="POST"?r.post:r.put;try{return await a(`${e}`,n,{headers:{"Content-Type":"multipart/form-data"}})}catch(o){window.dispatchEvent(new MessageEvent("dash-global-loader",{data:!1})),window.dispatchEvent(new MessageEvent("GlobalError",{data:{error:o}}))}},create:async(e,t)=>{const r=f(),i=w(e)?.isFormData===!0||t.data?.isFormData===!0||t.meta?.isFormData===!0,a=t.id&&e.includes(t.id.toString())?e:t.id?`${e}/${t.id}`:e,o=t&&t.data&&t.data.tenant_id?t.data.tenant_id:u("tenant_id"),d=(t.meta?.method?t.meta.method:"POST")==="POST"?r.post:r.put,l=E(a,{...t.data,tenant_id:o},"create");try{if(i){const c=v(e,l);return d(a,c,{headers:{"Content-Type":"multipart/form-data"}})}return d(a,l)}catch(c){throw m(c,e,"create")}},delete:async(e,t)=>{const r=u("tenant_id"),n=f(),i=t.id&&e.includes(t.id.toString())?e:`${e}/${t.id}`,{data:a}=await n.delete(i,{...t.data,tenant_id:r});return{data:a}},deleteMany:async(e,t)=>{const r=u("tenant_id"),n=f(),i={ids:t.ids?t.ids:[],tenant_id:r};return await n.post(`${e}/deleteMany?${h.stringify(i,{arrayFormat:"bracket"})}`)},checkError:e=>{const t=e.status;if(t>=400&&t<499){console.error("checkError",JSON.stringify(e));let r=e.message;t===401&&(r="You are not authenticated"),t===403&&(r="You do not have permission to access this resource"),t===404&&(r="The requested resource was not found"),t===422&&(r="Validation error");const n=new Error(r);return n.status=t,n.body=e.body,Promise.reject(n)}return t>=500?(console.error("Server error",e),Promise.reject(new Error("A server error occurred. Please try again later."))):Promise.resolve()}};var B=b;export{F as deepReplace,B as default,w as getResourceConfig,v as processFormData,E as processPostData};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"ra-language-english";const t={ra:{action:{add:"Add",add_filter:"Add filter",back:"Go back",bulk_actions:"1 item selected |||| %{smart_count} items selected",cancel:"Cancel",clear_input_value:"Clear value",clone:"Clone",close:"Close",close_menu:"Close menu",confirm:"Confirm",create:"Create",create_item:"Create %{item}",delete:"Delete",edit:"Edit",expand:"Expand",export:"Export",list:"List",move_up:"Move up",move_down:"Move down",open_menu:"Open menu",refresh:"Refresh",remove:"Remove",remove_filter:"Remove filter",save:"Save",search:"Search",select_all:"Select all",select_row:"Select this row",show:"Show",sort:"Sort",undo:"Undo",unselect:"Unselect",update:"Update"},auth:{auth_check_error:"Please login to continue",logout:"Logout",password:"Password",sign_in:"Sign in",sign_in_error:"Authentication failed, please try again",user_menu:"Profile",username:"Username"},boolean:{true:"Yes",false:"No",null:" "},input:{file:{upload_several:"Drop some files to upload, or click to select them.",upload_single:"Drop a file to upload, or click to select it."},image:{upload_several:"Drop some images to upload, or click to select them.",upload_single:"Drop an image to upload, or click to select it."},references:{all_missing:"Unable to find reference data.",many_missing:"At least one of the associated references appears to be unavailable.",single_missing:"Associated reference appears to be unavailable."},password:{toggle_visible:"Hide password",toggle_hidden:"Show password"}},message:{about:"About",are_you_sure:"Are you sure?",bulk_delete_content:"Are you sure you want to delete this %{name}? |||| Are you sure you want to delete these %{smart_count} items?",bulk_delete_title:"Delete %{name} |||| Delete %{smart_count} %{name} items",bulk_update_content:"Are you sure you want to update this %{name}? |||| Are you sure you want to update these %{smart_count} items?",bulk_update_title:"Update %{name} |||| Update %{smart_count} %{name} items",delete_content:"Are you sure you want to delete this item?",delete_title:"Delete %{name} #%{id}",details:"Details",error:"A client error occurred and your request could not be completed",invalid_form:"The form is not valid. Please check for errors",loading:"The page is loading, please wait",no:"No",not_found:"Either you typed a wrong URL or you followed a bad link.",yes:"Yes",unsaved_changes:"Some of your changes were not saved. Are you sure you want to ignore them?"},navigation:{next:"Next",no_more_results:"Page number %{page} is out of boundaries. Try the previous page.",no_results:"No results found",page_out_from_begin:"Cannot go before page 1",page_out_from_end:"Cannot go after last page",page_out_of_boundaries:"Page number %{page} is out of boundaries",page_range_info:"%{offsetBegin} - %{offsetEnd} of %{total}",page_rows_per_page:"Rows per page:",prev:"Previous",skip_nav:"Skip to content"},sort:{sort_by:"Sort by %{field} %{order}",asc:"ascending",desc:"descending",DESC:"descending",ASC:"ascending"},notification:{bad_item:"Incorrect element",canceled:"Action canceled",created:"Element created",data_provider_error:"Data provider error. Check the console for details.",deleted:"Element deleted |||| %{smart_count} elements deleted",http_error:"Server communication error",item_doesnt_exist:"Element does not exist",logged_out:"Your session has ended, please reconnect.",updated:"Element updated |||| %{smart_count} elements updated",i18n_error:"Could not load translations for the specified language",not_authorized:"You are not authorized to access this resource."},page:{create:"Create %{name}",dashboard:"Dashboard",edit:"%{name} #%{id}",empty:"No %{name} yet.",error:"Something went wrong",invite:"Would you like to add one?",list:"%{name} List",loading:"Loading",not_found:"Not Found",show:"%{name} #%{id}"},validation:{email:"Must be a valid email",maxLength:"Must be %{max} characters or less",maxValue:"Must be %{max} or less",minLength:"Must be at least %{min} characters",minValue:"Must be at least %{min}",number:"Must be a number",oneOf:"Must be one of: %{options}",regex:"Must match a specific format (regexp): %{pattern}",required:"Required"}},simple:{action:{close:"Close",resetViews:"Reset"},"create-post":"New Post"},resources:{posts:{name:"Post |||| Posts",fields:{average_note:"Average note",body:"Content",comments:"Comments",commentable:"Commentable",commentable_short:"Com.",created_at:"Created at",notifications:"Notification recipients",nb_view:"Num views",password:"Password (if post is protected)",pictures:"Related Pictures",published_at:"Published at",teaser:"Teaser",tags:"Tags",title:"Title",views:"Views",authors:"Authors"}},comments:{name:"Comment |||| Comments",fields:{body:"Content",created_at:"Created at",post_id:"Posts",author:{name:"Author"}}},users:{name:"User |||| Users",fields:{name:"Name",role:"Role"}}},post:{list:{search:"Search"},form:{summary:"Summary",body:"Content",miscellaneous:"Miscellaneous",comments:"Comments"},edit:{title:'Post "%{title}"'},action:{save_and_edit:"Save and Edit",save_and_add:"Save and Add",save_and_show:"Save and Show",save_with_average_note:"Save with Note"}},comment:{list:{about:"About"}},user:{list:{search:"Search"},form:{summary:"Summary",security:"Security"},edit:{title:'User "%{title}"'},action:{save_and_add:"Save and Add",save_and_show:"Save and Show"}},tab:{status:{created:"Created",confirmed:"Confirmed",in_preparation:"In Preparation",prepared:"Prepared",delivered:"Delivered",closed:"Closed",cancelled:"Cancelled"}},kiosk:{total:"Total",clear_cart:"Clear Cart",view_order:"View Order",add_items_to_start:"Add items to start",prev:"Prev",next:"Next",page_of:"Page %{current} of %{total} \u2022 %{items} products",products:"Products",customizable:"Customizable",no_products_found:"No products found in this category",your_order:"Your Order",cart_empty:"Your cart is empty",browse_menu:"Browse Menu",note:"Note",order_options:"Order Options",delivery_method:"Delivery Method",table_number:"Table Number",your_name:"Your Name (Optional)",special_instructions:"Special Instructions (Optional)",cancel_order:"Cancel Order",confirm_order:"Confirm Order",submitting:"Submitting...",select_multiple:"Select multiple",required:"*Required",cancel:"Cancel",add_to_order:"Add to Order",order_confirmed:"Order Confirmed!",thank_you:"Thank you for your order. Please wait for your number to be called.",your_order_number:"Your Order Number",status:"Status",start_new_order:"Start New Order",auto_reset_notice:"This screen will automatically reset in 30 seconds",loading:"Loading..."},resource:{groups:{system_resources:"System Resources",products:"Products",integrations:"Integrations",configuration:"Configuration",campaigns:"Campaigns",import_export:"Import/Export",cashier:"Cashier"},system:{tenants:{label:"Tenants",menu_list:"Tenants",menu_trash:"Trash",main_action:"Create Tenant",filter_name:"Name"},roles:{label:"Roles",menu_list:"Roles",main_action:"Add Role",filter_name:"Name"},users:{label:"Users",menu_list:"Users",menu_trash:"Trash",main_action:"Create User",filter_search:"Search"}},ecommerce:{products:{label:"Products",menu_list:"Products",menu_trash:"Trash",main_action:"Create Product",filter_name:"Name",filter_description:"Description",filter_sku:"SKU",filter_categories:"Categories",filter_status:"Status",filter_is_pack:"Is Pack"},categories:{label:"Categories",menu_list:"Category List",main_action:"Create Category",filter_name:"Name"},brands:{label:"Brands",menu_list:"Brand List",main_action:"Create Brand"},galleries:{label:"Galleries",menu_list:"Gallery List",main_action:"Create Gallery",filter_name:"Name"},currencies:{label:"Currencies",menu_list:"Currency List",main_action:"Create Currency"},pricelists:{label:"Price List",menu_list:"Price Lists",main_action:"Create Price List"},modifiers:{label:"Modifier Groups",menu_list:"Modifier List",main_action:"Create Modifier Group",filter_name:"Name",filter_selection_mode:"Selection Mode",filter_is_active:"Active"},stock_types:{label:"Stock Type",menu_list:"Stock Types",main_action:"Create Stock Type"},marketplaces:{label:"Marketplaces",menu_list:"View Marketplaces",main_action:"Add Marketplace"},point_of_sale:{label:"Points of Sale",menu_list:"View Points of Sale",main_action:"Add Point of Sale"},tenant_data:{label:"Data",menu_list:"E-commerce Module Client"},users:{label:"Users"}},campaigns:{label:"Campaigns",menu_list:"Campaign List",main_action:"Create",filter_name:"Name"},import:{templates:{label:"Import Templates",menu_list:"Templates",main_action:"Create Template"},instances:{label:"Import Products",menu_list:"Imports",main_action:"Create Import"}},mall:{label:"Mall",menu_list:"List",main_action:"Create Mall"},cashcount:{label:"Cash Count",menu_list:"Cash Counts",main_action:"New Cash Count",filter_status:"Status",filter_period_start:"Period From",filter_period_end:"Period To"}},mall:{all_stores:"All Stores",select_store:"Select a store",all:"All",request_assistance:"Request Assistance",assistance_sent:"Assistance request sent",assistance_error:"Error sending assistance request",select_store_first:"Select a store first",assistance_requested:"Assistance requested",assistance_rate_limit:"You have recently requested assistance, please wait a moment",search_products:"Search products...",no_products_found:"No products found",try_different_store_or_search:"Try selecting another store or adjusting your search",featured:"Featured",add:"Add",display_mode:"View",horizontal_pagination:"Show products in pages",infinite_scroll:"Show all products in scroll",pages:"Pages",scroll:"Scroll",prev:"Prev",next:"Next",cart_empty:"Your cart is empty",view_cart:"View Cart",item:"item",items:"items",stores:"stores",your_order:"Your Order",add_products_to_continue:"Add products to continue",unknown_store:"Unknown Store",clear_cart:"Clear Cart",total:"Total",confirm_order:"Confirm Order",submit_order:"Submit Order",submitting_order:"Submitting...",continue_shopping:"Continue Shopping",product_added:"Product added to cart",product_added_with_name:"%{name} added to cart",product_updated:"Product updated",edit_item:"Edit item",remove_item:"Remove item",update_item:"Update",add_to_cart:"Add to Cart",required:"Required",select_up_to:"Select up to %{count}",special_instructions:"Special instructions",special_instructions_placeholder:"E.g.: no onions, extra sauce, etc.",all_products:"All Products",has_modifiers:"Customizable",no_more_products:"No more products"}};var o={...e,...t};export{o as default};
|