@dashadmin/dash-admin 1.3.24 → 1.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/dist/AppAsyncWrapper.js +30 -1
  2. package/dist/AppWrapper.js +35 -1
  3. package/dist/DASHAdmin.js +312 -1
  4. package/dist/RoutingWrapper.js +76 -1
  5. package/dist/classes/DASHStorageClass.js +15 -1
  6. package/dist/components/Input/RichTextField.js +26 -1
  7. package/dist/components/Redirect.js +56 -1
  8. package/dist/components/avatar/Avatar.js +72 -1
  9. package/dist/components/avatar/SingleImageUploader.js +46 -1
  10. package/dist/components/currency/Format.js +71 -1
  11. package/dist/components/custom/Redirect.js +20 -1
  12. package/dist/components/error/Error.js +161 -1
  13. package/dist/components/geocoding/GeocodingField.js +133 -1
  14. package/dist/components/i18n/BridgedLocalesMenuButton.js +126 -1
  15. package/dist/components/i18n/LangSwitcher.js +196 -1
  16. package/dist/components/loader/GlobalLoader.js +71 -1
  17. package/dist/components/logs/LogFile.js +99 -1
  18. package/dist/components/logs/LogFileById.js +75 -1
  19. package/dist/components/logs/LogViewer.js +33 -1
  20. package/dist/components/menu/AppMenu.js +11 -1
  21. package/dist/components/menu/CustomMenuItemLink.js +77 -1
  22. package/dist/components/menu/DarkToggleMode.js +47 -1
  23. package/dist/components/menu/LanguageToggleMode.js +99 -1
  24. package/dist/components/misc/CustomImageInput.js +54 -1
  25. package/dist/components/misc/DASHGlobalErrorHandler.js +159 -1
  26. package/dist/components/misc/DarkModeSwitcher.js +40 -1
  27. package/dist/components/misc/LanguageSwitcher.js +193 -1
  28. package/dist/components/misc/MUIHtmlToolTip.js +50 -1
  29. package/dist/components/misc/MuiSimpleJsonTable.js +178 -1
  30. package/dist/components/misc/MultiLevelTable.js +124 -1
  31. package/dist/components/misc/NoResults.js +17 -1
  32. package/dist/components/misc/PDFViewer.js +86 -1
  33. package/dist/components/navigation/Breadcrumbs.js +178 -1
  34. package/dist/components/navigation/BreadcrumbsManager.js +194 -1
  35. package/dist/components/navigation/index.js +8 -1
  36. package/dist/components/panel/Error.js +161 -1
  37. package/dist/components/permission/AvailablePermissionsContext.js +157 -1
  38. package/dist/components/permission/PermissionsSelector.js +719 -1
  39. package/dist/components/permission/PermissionsSelectorList.js +400 -1
  40. package/dist/components/racustombuttons/CustomRAButton.js +94 -1
  41. package/dist/components/racustombuttons/QuickButton.js +109 -1
  42. package/dist/components/racustombuttons/QuickEditButton.js +114 -1
  43. package/dist/components/racustombuttons/QuickIconButton.js +119 -1
  44. package/dist/components/scrollbar/Scrollbar.js +52 -1
  45. package/dist/components/selects/MultiSelect.js +42 -1
  46. package/dist/components/selects/RASearchableSelect.js +207 -1
  47. package/dist/components/selects/RASearchableSelectChips.js +225 -1
  48. package/dist/components/selects/SearchableSelect.js +128 -1
  49. package/dist/components/subscription/BillingCycleSelectInput.js +50 -1
  50. package/dist/components/subscription/PlanAddonsSettings.js +396 -1
  51. package/dist/components/subscription/PlanAuditLog.js +345 -1
  52. package/dist/components/subscription/PlanFeaturesSettings.js +151 -1
  53. package/dist/components/subscription/PlanLimitsSettings.js +168 -1
  54. package/dist/components/subscription/PlanMetadataSettings.js +219 -1
  55. package/dist/components/subscription/PlanPricesSettings.js +222 -1
  56. package/dist/components/subscription/index.js +12 -1
  57. package/dist/components/svgelements/SvgLoading.js +330 -1
  58. package/dist/components/svgelements/SvgLogo.js +70 -1
  59. package/dist/components/svgelements/SvgLogoMin.js +76 -1
  60. package/dist/components/svgelements/SvgShipping.js +1001 -1
  61. package/dist/components/tenant/TenantAttributes.js +107 -1
  62. package/dist/components/tenant/TenantAttributesContext.js +150 -1
  63. package/dist/components/tenant/TenantSelector.js +160 -1
  64. package/dist/components/tenant/TenantSettings.js +107 -1
  65. package/dist/components/tenant/TenantSettingsContext.js +152 -1
  66. package/dist/components/tenant/TenantTheme.js +112 -1
  67. package/dist/components/user/AvatarComponent.js +270 -1
  68. package/dist/components/user/TenantAvatarComponent.js +83 -1
  69. package/dist/components/user/UserPreferences.js +422 -1
  70. package/dist/config/ACTIONS.js +25 -1
  71. package/dist/config/ConstantsService.js +25 -1
  72. package/dist/config/DASHAdminSystemConstants.js +137 -1
  73. package/dist/config/PARSERS.js +9 -1
  74. package/dist/contexts/DashQueryClientContext.js +78 -1
  75. package/dist/contexts/DashResourceContext.js +21 -1
  76. package/dist/contexts/I18nBridgeContext.js +123 -1
  77. package/dist/contexts/I18nBridgeSetter.js +29 -1
  78. package/dist/contexts/I18nReduxSync.js +16 -1
  79. package/dist/contexts/SubscriptionPlanFormatsProvider.js +175 -1
  80. package/dist/contexts/SystemRequestsCache.js +194 -1
  81. package/dist/contexts/auth/AuthContext.js +396 -1
  82. package/dist/contexts/auth/AuthContextLocalStorage.js +118 -1
  83. package/dist/contexts/auth/DASHAuthenticationService.js +679 -1
  84. package/dist/contexts/auth/WindowContext.js +10 -1
  85. package/dist/contexts/auth/index.js +2 -1
  86. package/dist/contexts/com/FCMContext.js +378 -1
  87. package/dist/contexts/com/LaravelEchoContext.js +45 -1
  88. package/dist/contexts/com/LaravelEchoMgr.js +121 -1
  89. package/dist/contexts/com/components/DefaultNotificationComponent.js +31 -1
  90. package/dist/contexts/com/components/NotificationAttributesTable.js +28 -1
  91. package/dist/contexts/com/components/NotificationRenderer.js +36 -1
  92. package/dist/contexts/com/components/NotificationsWidget.js +142 -1
  93. package/dist/contexts/com/components/notificationFormats.js +15 -1
  94. package/dist/contexts/com/useLaravelEcho.js +340 -1
  95. package/dist/contexts/dictionary/DictionaryContext.js +43 -1
  96. package/dist/default-theme/DASHAppProviders.js +86 -1
  97. package/dist/default-theme/DashThemeContext.js +146 -1
  98. package/dist/default-theme/DashThemeHelperProvider.js +54 -1
  99. package/dist/default-theme/DomainAppLayout.js +126 -1
  100. package/dist/default-theme/DomainHeader.js +114 -1
  101. package/dist/default-theme/DomainTheme.js +60 -1
  102. package/dist/default-theme/FullLayoutMarkup.js +55 -1
  103. package/dist/default-theme/StaticLayout.js +36 -1
  104. package/dist/default-theme/index.js +19 -1
  105. package/dist/default-theme/menu/AppMaterialMenu.js +364 -1
  106. package/dist/default-theme/menu/AppMenuComponents/SubmenuPortal.js +33 -1
  107. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.js +239 -1
  108. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.js +22 -1
  109. package/dist/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.js +209 -1
  110. package/dist/default-theme/menu/AppMenuComponents/expanded/SidebarItem.js +71 -1
  111. package/dist/default-theme/menu/AppMenuComponents/getItem.js +7 -1
  112. package/dist/default-theme/menu/AppMenuComponents/submenuConstants.js +78 -1
  113. package/dist/default-theme/menu/AppSidebarMaterial.js +232 -1
  114. package/dist/default-theme/menu/SidebarActions.js +75 -1
  115. package/dist/default-theme/updateDomCssVariables.js +134 -1
  116. package/dist/helpers/checkRole.js +14 -1
  117. package/dist/helpers/parseAxiosError.js +28 -2
  118. package/dist/hooks/audio/useAudio.js +24 -1
  119. package/dist/hooks/axios.js +52 -1
  120. package/dist/hooks/data/useDashboardStats.js +88 -1
  121. package/dist/hooks/data/usePackageByClientsStats.js +51 -1
  122. package/dist/hooks/data/usePackageByCommunesStats.js +51 -1
  123. package/dist/hooks/data/usePackageStats.js +88 -1
  124. package/dist/hooks/data/usePackageWithdrawDetails.js +69 -1
  125. package/dist/hooks/data/useStats.js +94 -1
  126. package/dist/hooks/isCurrentPath.js +18 -1
  127. package/dist/hooks/notifications/WSMessagesManager.js +128 -1
  128. package/dist/hooks/notifications/WSPusherManager.js +70 -1
  129. package/dist/hooks/useBreadcrumbs.js +208 -1
  130. package/dist/hooks/useClickOutside.js +18 -1
  131. package/dist/hooks/useFormPersistance.js +129 -1
  132. package/dist/hooks/useGlobalErrorMediator.js +37 -1
  133. package/dist/hooks/useGlobalLoaderMgr.js +20 -1
  134. package/dist/hooks/useHash.js +24 -1
  135. package/dist/hooks/useLocalStorage.js +68 -1
  136. package/dist/hooks/usePolyglotTranslation.js +57 -1
  137. package/dist/hooks/usePrevious.js +12 -1
  138. package/dist/hooks/usePrintSelected.js +30 -1
  139. package/dist/hooks/useVirtualHash.js +28 -1
  140. package/dist/hooks/window/useWindowSize.js +23 -1
  141. package/dist/index.js +120 -97
  142. package/dist/interfaces.js +6 -1
  143. package/dist/layout/AppLayout.js +36 -1
  144. package/dist/layout/ApplicationLayout.js +110 -1
  145. package/dist/layout/MotionWrapper.js +182 -1
  146. package/dist/layout/MotionWrapper.original.js +182 -1
  147. package/dist/layout/ResourceMenu.js +87 -1
  148. package/dist/layout/ResoureLayout.js +47 -1
  149. package/dist/layout/TransitionWrapper.js +83 -2
  150. package/dist/pages/ChangePassword.js +198 -1
  151. package/dist/pages/DASHLanding.js +9 -1
  152. package/dist/pages/DASHLightWeightLogin.js +495 -1
  153. package/dist/pages/DASHSimpleLogin.js +231 -1
  154. package/dist/pages/Login.js +113 -1
  155. package/dist/pages/Profile.js +347 -1
  156. package/dist/pages/RecoverPassword.js +175 -1
  157. package/dist/pages/SingleImageUploader.js +40 -1
  158. package/dist/pages/VerifyAccount.js +129 -1
  159. package/dist/providers/authProvider.js +186 -1
  160. package/dist/providers/dataProvider.js +468 -1
  161. package/dist/providers/i18n/en.js +514 -1
  162. package/dist/providers/i18n/es.js +520 -1
  163. package/dist/providers/i18n/languages.js +8 -1
  164. package/dist/providers/i18nProvider.js +23 -1
  165. package/dist/react-admin-dash/RADashComponent.js +210 -1
  166. package/dist/react-admin-dash/Resource.js +62 -1
  167. package/dist/resources/Brand/BrandResource.js +106 -1
  168. package/dist/resources/DASHResourceLoader.js +104 -1
  169. package/dist/resources/Log/LogResource.js +59 -1
  170. package/dist/resources/Tenant/ImpersonateTenantResource.js +113 -1
  171. package/dist/resources/Trash/TrashTemplate.js +195 -1
  172. package/dist/resources.js +259 -1
  173. package/dist/schemas/log.js +45 -1
  174. package/dist/schemas/notification.js +39 -1
  175. package/dist/schemas/permissions.js +44 -1
  176. package/dist/schemas/roles.js +48 -1
  177. package/dist/schemas/rolesDataGrid.js +48 -1
  178. package/dist/schemas/subscription/components/SubscriptionActions.js +172 -1
  179. package/dist/schemas/subscription/components/SubscriptionPaymentHistory.js +101 -1
  180. package/dist/schemas/subscription/components/SubscriptionPlanFeatures.js +115 -1
  181. package/dist/schemas/subscription/components/SubscriptionPlanPreview.js +92 -1
  182. package/dist/schemas/subscription/components/SubscriptionPlanStats.js +181 -1
  183. package/dist/schemas/subscription/components/SubscriptionStatusIndicator.js +70 -1
  184. package/dist/schemas/subscription/subscriptionPlanSchema.js +184 -1
  185. package/dist/schemas/subscription/subscriptionSchema.js +147 -1
  186. package/dist/schemas/subscriptionPlan.js +397 -1
  187. package/dist/schemas/tenant.js +122 -1
  188. package/dist/schemas/tenantUser.js +94 -1
  189. package/dist/schemas/tenant_superadmin.js +118 -1
  190. package/dist/schemas/user.js +26 -1
  191. package/dist/systemResources.js +1039 -1
  192. package/dist/systemResources.old.js +668 -1
  193. package/dist/templates/ResourceTemplate.js +196 -1
  194. package/dist/templates/ResourceTemplateCreate.js +144 -1
  195. package/dist/templates/ResourceTemplateEdit.js +147 -1
  196. package/dist/templates/ResourceTemplateFull.js +518 -1
  197. package/dist/templates/ResourceTemplateList.js +295 -1
  198. package/dist/templates/ResourceTemplateShow.js +45 -1
  199. package/dist/templates/TrashTemplate.js +175 -1
  200. package/dist/tenantResources.js +206 -1
  201. package/dist/test_portal_bubbles.js +37 -1
  202. package/dist/theme/AppHeader.js +60 -1
  203. package/dist/theme/AppLayoutSetting.js +34 -1
  204. package/dist/theme/AppLogo.js +7 -1
  205. package/dist/theme/AppSidebar.js +30 -1
  206. package/dist/theme/AppSidebarContent.js +84 -1
  207. package/dist/theme/AppSidebarLogo.js +42 -1
  208. package/dist/theme/components/PageTitle.js +61 -1
  209. package/dist/utils/cache/CacheInvalidatorContext.js +100 -1
  210. package/dist/utils/cache/CacheInvalidatorListenerComponent.js +10 -1
  211. package/dist/utils/cache/useCacheInvalidatorListener.js +17 -1
  212. package/dist/utils/convertFileToBase64.js +10 -1
  213. package/dist/utils/convertToFile.js +12 -1
  214. package/dist/utils/cookies.js +45 -1
  215. package/dist/utils/dashDefaultQueryClient.js +15 -1
  216. package/dist/utils/dataUrlToBlob.js +23 -1
  217. package/dist/utils/deepReplace.js +17 -1
  218. package/dist/utils/getProfileMenu.js +31 -1
  219. package/dist/utils/getTenantSettings.js +9 -1
  220. package/dist/utils/getType.js +10 -1
  221. package/dist/utils/getUserSettings.js +9 -1
  222. package/dist/utils/hasCode.js +14 -1
  223. package/dist/utils/index.js +19 -1
  224. package/dist/utils/injectTenantStyles.js +19 -1
  225. package/dist/utils/isComponent.js +23 -1
  226. package/dist/utils/navEvents.js +75 -1
  227. package/dist/utils/prototypes.js +5 -1
  228. package/dist/utils/regexp.js +7 -1
  229. package/dist/utils/resolveObjectPath.js +5 -1
  230. package/dist/utils/setNativeValue.js +17 -1
  231. package/dist/utils/slugify.js +7 -1
  232. package/dist/utils/validators/emailValidator.js +8 -1
  233. package/dist/utils/validators/requiredValidator.js +7 -1
  234. package/dist/utils/validators/rutValidator.js +25 -1
  235. package/dist/utils/validators.js +57 -1
  236. package/package.json +153 -69
  237. package/src/AppAsyncWrapper.tsx +42 -0
  238. package/src/AppWrapper.tsx +45 -0
  239. package/src/DASHAdmin.tsx +501 -0
  240. package/src/RoutingWrapper.tsx +139 -0
  241. package/src/classes/DASHStorageClass.tsx +8 -0
  242. package/src/components/Input/RichTextField.tsx +27 -0
  243. package/src/components/Redirect.tsx +46 -0
  244. package/src/components/avatar/Avatar.tsx +67 -0
  245. package/src/components/avatar/SingleImageUploader.tsx +53 -0
  246. package/src/components/currency/Format.tsx +77 -0
  247. package/src/components/custom/Redirect.tsx +23 -0
  248. package/src/components/error/Error.tsx +168 -0
  249. package/src/components/geocoding/GeocodingField.tsx +167 -0
  250. package/src/components/i18n/BridgedLocalesMenuButton.tsx +159 -0
  251. package/src/components/i18n/LangSwitcher.tsx +204 -0
  252. package/src/components/loader/GlobalLoader.tsx +56 -0
  253. package/src/components/logs/LogFile.tsx +88 -0
  254. package/src/components/logs/LogFileById.tsx +68 -0
  255. package/src/components/logs/LogViewer.tsx +43 -0
  256. package/src/components/menu/AppMenu.tsx +22 -0
  257. package/src/components/menu/CustomMenuItemLink.tsx +61 -0
  258. package/src/components/menu/DarkToggleMode.tsx +65 -0
  259. package/src/components/menu/LanguageToggleMode.tsx +120 -0
  260. package/src/components/misc/CustomImageInput.tsx +62 -0
  261. package/src/components/misc/DASHGlobalErrorHandler.tsx +194 -0
  262. package/src/components/misc/DarkModeSwitcher.tsx +112 -0
  263. package/src/components/misc/LanguageSwitcher.tsx +199 -0
  264. package/src/components/misc/MUIHtmlToolTip.tsx +15 -0
  265. package/src/components/misc/MuiSimpleJsonTable.tsx +279 -0
  266. package/src/components/misc/MultiLevelTable.tsx +229 -0
  267. package/src/components/misc/NoResults.tsx +25 -0
  268. package/src/components/misc/PDFViewer.tsx +85 -0
  269. package/src/components/navigation/Breadcrumbs.tsx +220 -0
  270. package/src/components/navigation/BreadcrumbsManager.tsx +310 -0
  271. package/src/components/navigation/index.tsx +5 -0
  272. package/src/components/panel/Error.tsx +168 -0
  273. package/src/components/permission/AvailablePermissionsContext.tsx +173 -0
  274. package/src/components/permission/PermissionsSelector.tsx +819 -0
  275. package/src/components/permission/PermissionsSelectorList.tsx +468 -0
  276. package/src/components/permission/tsx +0 -0
  277. package/src/components/racustombuttons/CustomRAButton.tsx +87 -0
  278. package/src/components/racustombuttons/QuickButton.tsx +117 -0
  279. package/src/components/racustombuttons/QuickEditButton.tsx +115 -0
  280. package/src/components/racustombuttons/QuickIconButton.tsx +122 -0
  281. package/src/components/scrollbar/Scrollbar.tsx +31 -0
  282. package/src/components/selects/MultiSelect.tsx +53 -0
  283. package/src/components/selects/RASearchableSelect.tsx +279 -0
  284. package/src/components/selects/RASearchableSelectChips.tsx +304 -0
  285. package/src/components/selects/SearchableSelect.tsx +135 -0
  286. package/src/components/subscription/BillingCycleSelectInput.tsx +68 -0
  287. package/src/components/subscription/PlanAddonsSettings.tsx +522 -0
  288. package/src/components/subscription/PlanAuditLog.tsx +439 -0
  289. package/src/components/subscription/PlanFeaturesSettings.tsx +223 -0
  290. package/src/components/subscription/PlanLimitsSettings.tsx +230 -0
  291. package/src/components/subscription/PlanMetadataSettings.tsx +284 -0
  292. package/src/components/subscription/PlanPricesSettings.tsx +295 -0
  293. package/src/components/subscription/index.ts +7 -0
  294. package/src/components/svgelements/SvgLoading.tsx +229 -0
  295. package/src/components/svgelements/SvgLogo.tsx +53 -0
  296. package/src/components/svgelements/SvgLogoMin.tsx +64 -0
  297. package/src/components/svgelements/SvgShipping.tsx +673 -0
  298. package/src/components/tenant/AvailablePermissionsContext.tsx +0 -0
  299. package/src/components/tenant/TenantAttributes.tsx +153 -0
  300. package/src/components/tenant/TenantAttributesContext.tsx +163 -0
  301. package/src/components/tenant/TenantSelector.tsx +139 -0
  302. package/src/components/tenant/TenantSettings.tsx +172 -0
  303. package/src/components/tenant/TenantSettingsContext.tsx +165 -0
  304. package/src/components/tenant/TenantTheme.tsx +172 -0
  305. package/src/components/user/AvatarComponent.tsx +301 -0
  306. package/src/components/user/TenantAvatarComponent.tsx +99 -0
  307. package/src/components/user/UserPreferences.tsx +642 -0
  308. package/src/config/ACTIONS.tsx +26 -0
  309. package/src/config/ConstantsService.tsx +44 -0
  310. package/src/config/DASHAdminSystemConstants.tsx +182 -0
  311. package/src/config/PARSERS.tsx +9 -0
  312. package/src/contexts/DashQueryClientContext.tsx +113 -0
  313. package/src/contexts/DashResourceContext.tsx +34 -0
  314. package/src/contexts/I18nBridgeContext.tsx +156 -0
  315. package/src/contexts/I18nBridgeSetter.tsx +39 -0
  316. package/src/contexts/I18nReduxSync.tsx +27 -0
  317. package/src/contexts/SubscriptionPlanFormatsProvider.tsx +217 -0
  318. package/src/contexts/SystemRequestsCache.tsx +215 -0
  319. package/src/contexts/auth/AuthContext.tsx +553 -0
  320. package/src/contexts/auth/AuthContextLocalStorage.tsx +140 -0
  321. package/src/contexts/auth/DASHAuthenticationService.tsx +917 -0
  322. package/src/contexts/auth/WindowContext.tsx +15 -0
  323. package/src/contexts/auth/index.tsx +3 -0
  324. package/src/contexts/com/FCMContext.tsx +415 -0
  325. package/src/contexts/com/LaravelEchoContext.tsx +41 -0
  326. package/src/contexts/com/LaravelEchoMgr.tsx +155 -0
  327. package/src/contexts/com/components/DefaultNotificationComponent.tsx +20 -0
  328. package/src/contexts/com/components/NotificationAttributesTable.tsx +54 -0
  329. package/src/contexts/com/components/NotificationRenderer.tsx +42 -0
  330. package/src/contexts/com/components/NotificationsWidget.tsx +182 -0
  331. package/src/contexts/com/components/notificationFormats.tsx +50 -0
  332. package/src/contexts/com/useLaravelEcho.tsx +432 -0
  333. package/src/contexts/dictionary/DictionaryContext.tsx +94 -0
  334. package/src/default-theme/DASHAppProviders.tsx +117 -0
  335. package/src/default-theme/DashThemeContext.tsx +218 -0
  336. package/src/default-theme/DashThemeHelperProvider.tsx +98 -0
  337. package/src/default-theme/DomainAppLayout.tsx +166 -0
  338. package/src/default-theme/DomainHeader.tsx +162 -0
  339. package/src/default-theme/DomainTheme.tsx +59 -0
  340. package/src/default-theme/FullLayoutMarkup.tsx +250 -0
  341. package/src/default-theme/StaticLayout.tsx +47 -0
  342. package/src/default-theme/index.tsx +11 -0
  343. package/src/default-theme/menu/AppMaterialMenu.tsx +545 -0
  344. package/src/default-theme/menu/AppMenuComponents/SubmenuPortal.tsx +56 -0
  345. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.tsx +254 -0
  346. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.tsx +31 -0
  347. package/src/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.tsx +276 -0
  348. package/src/default-theme/menu/AppMenuComponents/expanded/SidebarItem.tsx +91 -0
  349. package/src/default-theme/menu/AppMenuComponents/getItem.tsx +17 -0
  350. package/src/default-theme/menu/AppMenuComponents/interfaces.tsx +41 -0
  351. package/src/default-theme/menu/AppMenuComponents/submenuConstants.ts +85 -0
  352. package/src/default-theme/menu/AppSidebarMaterial.tsx +339 -0
  353. package/src/default-theme/menu/SidebarActions.tsx +84 -0
  354. package/src/default-theme/updateDomCssVariables.tsx +176 -0
  355. package/src/helpers/checkRole.tsx +66 -0
  356. package/src/helpers/parseAxiosError.tsx +41 -0
  357. package/src/hooks/audio/useAudio.tsx +39 -0
  358. package/src/hooks/axios.tsx +62 -0
  359. package/src/hooks/data/useDashboardStats.tsx +65 -0
  360. package/src/hooks/data/usePackageByClientsStats.tsx +44 -0
  361. package/src/hooks/data/usePackageByCommunesStats.tsx +44 -0
  362. package/src/hooks/data/usePackageStats.tsx +69 -0
  363. package/src/hooks/data/usePackageWithdrawDetails.tsx +61 -0
  364. package/src/hooks/data/useStats.tsx +86 -0
  365. package/src/hooks/isCurrentPath.tsx +22 -0
  366. package/src/hooks/notifications/WSMessagesManager.tsx +152 -0
  367. package/src/hooks/notifications/WSPusherManager.tsx +92 -0
  368. package/src/hooks/useBreadcrumbs.tsx +329 -0
  369. package/src/hooks/useClickOutside.tsx +17 -0
  370. package/src/hooks/useFormPersistance.tsx +150 -0
  371. package/src/hooks/useGlobalErrorMediator.tsx +43 -0
  372. package/src/hooks/useGlobalLoaderMgr.tsx +21 -0
  373. package/src/hooks/useHash.tsx +27 -0
  374. package/src/hooks/useLocalStorage.tsx +196 -0
  375. package/src/hooks/usePolyglotTranslation.tsx +62 -0
  376. package/src/hooks/usePrevious.tsx +9 -0
  377. package/src/hooks/usePrintSelected.tsx +37 -0
  378. package/src/hooks/useVirtualHash.tsx +33 -0
  379. package/src/hooks/window/useWindowSize.tsx +36 -0
  380. package/src/index.tsx +110 -0
  381. package/src/interfaces/IAppResourceConfig.tsx +20 -0
  382. package/src/interfaces/Log.tsx +16 -0
  383. package/src/interfaces/Tenant.tsx +25 -0
  384. package/src/interfaces/communication/IActions.tsx +5 -0
  385. package/src/interfaces/communication/INotification.tsx +21 -0
  386. package/src/interfaces/communication/IPayload.tsx +3 -0
  387. package/src/interfaces/communication/IRequestAction.tsx +10 -0
  388. package/src/interfaces/communication/IRequestPayload.tsx +7 -0
  389. package/src/interfaces/communication/IResponseAction.tsx +7 -0
  390. package/src/interfaces/misc/IAny.tsx +3 -0
  391. package/src/interfaces/misc/IFlashMessage.tsx +10 -0
  392. package/src/interfaces/navigation/IAppMenu.ts +14 -0
  393. package/src/interfaces/navigation/ICollapsableSidebarMenu.ts +12 -0
  394. package/src/interfaces/navigation/IMenuItem.ts +16 -0
  395. package/src/interfaces/notifications/IModel.tsx +6 -0
  396. package/src/interfaces/notifications/IModelField.tsx +8 -0
  397. package/src/interfaces/notifications/IUserNotification.tsx +12 -0
  398. package/src/interfaces/notifications/IUserNotificationData.tsx +13 -0
  399. package/src/interfaces/notifications/IUserNotificationPayload.tsx +8 -0
  400. package/src/interfaces/user/IGetAuth.tsx +92 -0
  401. package/src/interfaces/user/ITenantSettings.tsx +3 -0
  402. package/src/interfaces/user/IUser.tsx +60 -0
  403. package/src/interfaces/user/IUserSettings.tsx +43 -0
  404. package/src/interfaces.tsx +6 -0
  405. package/src/layout/AppLayout.tsx +112 -0
  406. package/src/layout/ApplicationLayout.tsx +197 -0
  407. package/src/layout/MotionWrapper.original.tsx +236 -0
  408. package/src/layout/MotionWrapper.tsx +236 -0
  409. package/src/layout/ResourceMenu.tsx +164 -0
  410. package/src/layout/ResoureLayout.tsx +105 -0
  411. package/src/layout/TransitionWrapper.tsx +125 -0
  412. package/src/pages/ChangePassword.tsx +179 -0
  413. package/src/pages/DASHLanding.tsx +22 -0
  414. package/src/pages/DASHLightWeightLogin.tsx +610 -0
  415. package/src/pages/DASHSimpleLogin.tsx +260 -0
  416. package/src/pages/Login.tsx +111 -0
  417. package/src/pages/Profile.tsx +394 -0
  418. package/src/pages/RecoverPassword.tsx +166 -0
  419. package/src/pages/SingleImageUploader.tsx +55 -0
  420. package/src/pages/VerifyAccount.tsx +128 -0
  421. package/src/providers/authProvider.tsx +210 -0
  422. package/src/providers/dataProvider.tsx +672 -0
  423. package/src/providers/i18n/en.ts +533 -0
  424. package/src/providers/i18n/es.ts +539 -0
  425. package/src/providers/i18n/languages.tsx +5 -0
  426. package/src/providers/i18nProvider.tsx +23 -0
  427. package/src/react-admin-dash/RADashComponent.tsx +240 -0
  428. package/src/react-admin-dash/Resource.tsx +77 -0
  429. package/src/resources/Brand/BrandResource.tsx +130 -0
  430. package/src/resources/DASHResourceLoader.ts +180 -0
  431. package/src/resources/Log/LogResource.tsx +73 -0
  432. package/src/resources/Tenant/ImpersonateTenantResource.tsx +113 -0
  433. package/src/resources/Trash/TrashTemplate.tsx +180 -0
  434. package/src/resources.tsx +280 -0
  435. package/src/schemas/log.tsx +45 -0
  436. package/src/schemas/notification.tsx +42 -0
  437. package/src/schemas/permissions.tsx +44 -0
  438. package/src/schemas/roles.tsx +48 -0
  439. package/src/schemas/rolesDataGrid.tsx +48 -0
  440. package/src/schemas/subscription/components/SubscriptionActions.tsx +153 -0
  441. package/src/schemas/subscription/components/SubscriptionPaymentHistory.tsx +120 -0
  442. package/src/schemas/subscription/components/SubscriptionPlanFeatures.tsx +155 -0
  443. package/src/schemas/subscription/components/SubscriptionPlanPreview.tsx +128 -0
  444. package/src/schemas/subscription/components/SubscriptionPlanStats.tsx +268 -0
  445. package/src/schemas/subscription/components/SubscriptionStatusIndicator.tsx +72 -0
  446. package/src/schemas/subscription/subscriptionPlanSchema.tsx +185 -0
  447. package/src/schemas/subscription/subscriptionSchema.tsx +152 -0
  448. package/src/schemas/subscriptionPlan.ts +422 -0
  449. package/src/schemas/tenant.tsx +129 -0
  450. package/src/schemas/tenantUser.tsx +96 -0
  451. package/src/schemas/tenant_superadmin.tsx +119 -0
  452. package/src/schemas/user.tsx +26 -0
  453. package/src/systemResources.old.tsx +928 -0
  454. package/src/systemResources.tsx +1135 -0
  455. package/src/templates/ResourceTemplate.tsx +240 -0
  456. package/src/templates/ResourceTemplateCreate.tsx +167 -0
  457. package/src/templates/ResourceTemplateEdit.tsx +176 -0
  458. package/src/templates/ResourceTemplateFull.tsx +581 -0
  459. package/src/templates/ResourceTemplateList.tsx +340 -0
  460. package/src/templates/ResourceTemplateShow.tsx +88 -0
  461. package/src/templates/TrashTemplate.tsx +179 -0
  462. package/src/tenantResources.tsx +223 -0
  463. package/src/test_portal_bubbles.tsx +40 -0
  464. package/src/theme/AppHeader.tsx +52 -0
  465. package/src/theme/AppLayoutSetting.tsx +33 -0
  466. package/src/theme/AppLogo.tsx +13 -0
  467. package/src/theme/AppSidebar.tsx +12 -0
  468. package/src/theme/AppSidebarContent.tsx +105 -0
  469. package/src/theme/AppSidebarLogo.tsx +48 -0
  470. package/src/theme/components/PageTitle.tsx +37 -0
  471. package/src/utils/cache/CacheInvalidatorContext.tsx +125 -0
  472. package/src/utils/cache/CacheInvalidatorListenerComponent.tsx +10 -0
  473. package/src/utils/cache/useCacheInvalidatorListener.tsx +27 -0
  474. package/src/utils/convertFileToBase64.tsx +9 -0
  475. package/src/utils/convertToFile.tsx +14 -0
  476. package/src/utils/cookies.tsx +33 -0
  477. package/src/utils/dashDefaultQueryClient.tsx +34 -0
  478. package/src/utils/dataUrlToBlob.tsx +30 -0
  479. package/src/utils/deepReplace.tsx +19 -0
  480. package/src/utils/getProfileMenu.tsx +41 -0
  481. package/src/utils/getTenantSettings.tsx +9 -0
  482. package/src/utils/getType.tsx +8 -0
  483. package/src/utils/getUserSettings.tsx +8 -0
  484. package/src/utils/hasCode.tsx +14 -0
  485. package/src/utils/index.ts +19 -0
  486. package/src/utils/injectTenantStyles.ts +28 -0
  487. package/src/utils/isComponent.tsx +45 -0
  488. package/src/utils/navEvents.tsx +91 -0
  489. package/src/utils/prototypes.tsx +5 -0
  490. package/src/utils/regexp.tsx +4 -0
  491. package/src/utils/resolveObjectPath.tsx +4 -0
  492. package/src/utils/setNativeValue.tsx +24 -0
  493. package/src/utils/slugify.tsx +11 -0
  494. package/src/utils/validators/emailValidator.tsx +6 -0
  495. package/src/utils/validators/requiredValidator.tsx +5 -0
  496. package/src/utils/validators/rutValidator.tsx +31 -0
  497. package/src/utils/validators.tsx +96 -0
  498. package/dist/ChangePassword-DmWAQAX_.js +0 -152
  499. package/dist/Login-t41HMhVT.js +0 -101
  500. package/dist/Profile-By-gdPUd.js +0 -294
  501. package/dist/RecoverPassword-DzPdbkg2.js +0 -149
  502. package/dist/VerifyAccount-Bofaxe5w.js +0 -99
  503. package/dist/index-gfebuoyf.js +0 -21614
  504. /package/dist/{components/permission/tsx → declarations.d.js} +0 -0
  505. /package/{dist → src}/DASHAdmin.tsx.old +0 -0
  506. /package/{dist → src}/declarations.d.ts +0 -0
  507. /package/{dist → src}/default-theme/DashThemeContext.tsx.fast +0 -0
  508. /package/{dist → src}/default-theme/DashThemeContext.tsx.old +0 -0
  509. /package/{dist → src}/templates/ResourceTemplate.tsx.memoized_experiment +0 -0
  510. /package/{dist → src}/templates/ResourceTemplate.tsx.original +0 -0
  511. /package/{dist → src}/templates/ResourceTemplateOld.tsx.bkup +0 -0
@@ -1 +1,347 @@
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};
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { jsx, jsxs } from "react/jsx-runtime";
22
+ import { useEffect, useState } from "react";
23
+ import { Button, CardContent, CardHeader, Grid, Typography } from "@mui/material";
24
+ import {
25
+ Form,
26
+ useRefresh,
27
+ Loading,
28
+ useNotify,
29
+ TextInput
30
+ } from "react-admin";
31
+ import { useDispatch } from "react-redux";
32
+ import { DASH_REDUX_ACTIONS } from "dash-admin-state";
33
+ import useAxios from "../hooks/axios";
34
+ import SingleImageUploader from "./SingleImageUploader";
35
+ import { useAuthContext } from "../contexts/auth";
36
+ import UserPreferences from "../components/user/UserPreferences";
37
+ const Profile = (_props) => {
38
+ const [currTab, setCurrTab] = useState("auth/update/info");
39
+ const [isLoading, setIsLoading] = useState(false);
40
+ const { user, fetchAuth } = useAuthContext();
41
+ const [avatar, setAvatar] = useState({ rawFile: null, urlFile: "" });
42
+ const notify = useNotify();
43
+ const { axios } = useAxios();
44
+ const refresh = useRefresh();
45
+ const dispatch = useDispatch();
46
+ useEffect(() => {
47
+ dispatch(
48
+ DASH_REDUX_ACTIONS.updatePage({
49
+ title: "Perfil",
50
+ //icon:
51
+ subTitle: "Configuraci\xF3n de perfil"
52
+ })
53
+ );
54
+ }, []);
55
+ const validateUserCreation = (values) => {
56
+ const errors = {};
57
+ if (currTab === "auth/update/password") {
58
+ if ((values.password || values.password_confirmation) && !values.current_password) {
59
+ errors.current_password = "El campo es requerido";
60
+ }
61
+ if (values.current_password && (!values.password || !values.password_confirmation)) {
62
+ errors.password = "El campo es requerido";
63
+ errors.password_confirmation = "El campo es requerido";
64
+ }
65
+ if (values.password_confirmation !== values.password) {
66
+ errors.password = "Las contrase\xF1as no coinciden";
67
+ errors.password_confirmation = "Las contrase\xF1as no coinciden";
68
+ }
69
+ }
70
+ return errors;
71
+ };
72
+ const handleSubmit = (values) => __async(null, null, function* () {
73
+ var _a, _b, _c, _d, _e, _f;
74
+ setIsLoading(true);
75
+ const formData = new FormData();
76
+ const passwords = {
77
+ current_password: values.current_password,
78
+ password: values.password,
79
+ password_confirmation: values.password_confirmation
80
+ };
81
+ if (values.name) {
82
+ formData.append("name", values.name);
83
+ }
84
+ if (values.lastname) {
85
+ formData.append("lastname", values.lastname);
86
+ }
87
+ if (values.email) {
88
+ formData.append("email", values.email);
89
+ }
90
+ if (avatar.rawFile) {
91
+ formData.append("avatar", avatar.rawFile);
92
+ }
93
+ formData.append("_method", "put");
94
+ try {
95
+ if (currTab === "auth/update/info") {
96
+ yield axios.post(currTab, formData, {
97
+ headers: { "Content-Type": "multipart/form-data" }
98
+ });
99
+ } else {
100
+ yield axios.put(currTab, passwords);
101
+ }
102
+ try {
103
+ yield fetchAuth();
104
+ console.log("Auth context refreshed after profile update");
105
+ } catch (authError) {
106
+ console.error("Faileds to refresh auth context:", authError);
107
+ }
108
+ notify("Usuario actualizado correctamente", { type: "success" });
109
+ refresh();
110
+ } catch (error) {
111
+ let mainMessage = ((_b = (_a = error == null ? void 0 : error.response) == null ? void 0 : _a.data) == null ? void 0 : _b.message) || ((_c = error == null ? void 0 : error.body) == null ? void 0 : _c.message) || "";
112
+ let fieldErrors = ((_e = (_d = error == null ? void 0 : error.response) == null ? void 0 : _d.data) == null ? void 0 : _e.errors) || ((_f = error == null ? void 0 : error.body) == null ? void 0 : _f.errors) || error;
113
+ if (mainMessage) {
114
+ notify(`Error al actualizar el usuario, ${mainMessage}`, { type: "error" });
115
+ } else {
116
+ notify("Error al actualizar el usuario", { type: "error" });
117
+ }
118
+ if (fieldErrors && typeof fieldErrors === "object") {
119
+ const errors = {};
120
+ Object.keys(fieldErrors).forEach((key) => {
121
+ errors[key] = Array.isArray(fieldErrors[key]) ? fieldErrors[key].join(" , ") : fieldErrors[key];
122
+ });
123
+ return errors;
124
+ }
125
+ } finally {
126
+ setIsLoading(false);
127
+ }
128
+ });
129
+ const handleInfoSubmit = () => {
130
+ setCurrTab("auth/update/info");
131
+ };
132
+ const handlePasswordSubmit = () => {
133
+ setCurrTab("auth/update/password");
134
+ };
135
+ return /* @__PURE__ */ jsx("div", { className: "dash-profile", children: user ? /* @__PURE__ */ jsx(
136
+ Form,
137
+ {
138
+ onSubmit: handleSubmit,
139
+ validate: validateUserCreation,
140
+ defaultValues: { name: user == null ? void 0 : user.name, email: user == null ? void 0 : user.email, lastname: user == null ? void 0 : user.lastname },
141
+ className: "dash-form",
142
+ children: /* @__PURE__ */ jsx("div", { className: "dash-card-content dash-module dash-card-profile", children: /* @__PURE__ */ jsxs(
143
+ Grid,
144
+ {
145
+ container: true,
146
+ spacing: { xs: 2, md: 3 },
147
+ sx: { minHeight: "400px" },
148
+ children: [
149
+ /* @__PURE__ */ jsx(
150
+ Grid,
151
+ {
152
+ size: { xs: 12, md: 4 },
153
+ display: "flex",
154
+ justifyContent: "center",
155
+ alignItems: "center",
156
+ children: /* @__PURE__ */ jsxs(
157
+ CardContent,
158
+ {
159
+ sx: {
160
+ height: "100%",
161
+ display: "flex",
162
+ flexDirection: "column",
163
+ justifyContent: "center",
164
+ alignItems: "center",
165
+ width: "100%"
166
+ },
167
+ children: [
168
+ "<!-- F -->",
169
+ /* @__PURE__ */ jsx(
170
+ SingleImageUploader,
171
+ {
172
+ currentUrl: user == null ? void 0 : user.image_path,
173
+ onChange: (file) => {
174
+ setAvatar({
175
+ rawFile: file,
176
+ urlFile: URL.createObjectURL(file)
177
+ });
178
+ },
179
+ classNamePrefix: "dash-profile"
180
+ }
181
+ ),
182
+ /* @__PURE__ */ jsx(
183
+ Typography,
184
+ {
185
+ className: "dash-profile-name",
186
+ variant: "h2",
187
+ sx: { mt: 2, textAlign: "center" },
188
+ children: `${(user == null ? void 0 : user.name) || ""}`
189
+ }
190
+ ),
191
+ /* @__PURE__ */ jsx(
192
+ Typography,
193
+ {
194
+ variant: "body2",
195
+ sx: {
196
+ display: "block",
197
+ textAlign: "center",
198
+ fontSize: "14px",
199
+ opacity: 0.54,
200
+ mt: 1
201
+ }
202
+ }
203
+ )
204
+ ]
205
+ }
206
+ )
207
+ }
208
+ ),
209
+ /* @__PURE__ */ jsxs(Grid, { size: { xs: 12, md: 4 }, children: [
210
+ /* @__PURE__ */ jsx(
211
+ CardHeader,
212
+ {
213
+ sx: { padding: "16px 25px 0" },
214
+ title: "Info"
215
+ }
216
+ ),
217
+ /* @__PURE__ */ jsx(CardContent, { sx: { padding: "25px" }, children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
218
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
219
+ TextInput,
220
+ {
221
+ source: "name",
222
+ label: "Nombre",
223
+ variant: "outlined",
224
+ fullWidth: true
225
+ }
226
+ ) }),
227
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
228
+ TextInput,
229
+ {
230
+ source: "lastname",
231
+ label: "Apellido",
232
+ variant: "outlined",
233
+ fullWidth: true
234
+ }
235
+ ) }),
236
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
237
+ TextInput,
238
+ {
239
+ source: "email",
240
+ label: "Email",
241
+ variant: "outlined",
242
+ fullWidth: true
243
+ }
244
+ ) }),
245
+ /* @__PURE__ */ jsx(Grid, { size: 12, sx: { mt: 2 }, children: /* @__PURE__ */ jsx(
246
+ Button,
247
+ {
248
+ onClick: handleInfoSubmit,
249
+ disabled: isLoading,
250
+ variant: "contained",
251
+ type: "submit",
252
+ fullWidth: true,
253
+ sx: {
254
+ position: "relative",
255
+ "&.Mui-disabled": {
256
+ backgroundColor: "primary.main",
257
+ opacity: 0.7,
258
+ color: "white"
259
+ }
260
+ },
261
+ children: isLoading && currTab === "auth/update/info" ? "Guardando..." : "Guardar"
262
+ }
263
+ ) })
264
+ ] }) })
265
+ ] }),
266
+ /* @__PURE__ */ jsxs(Grid, { size: { xs: 12, md: 4 }, children: [
267
+ /* @__PURE__ */ jsx(
268
+ CardHeader,
269
+ {
270
+ sx: { padding: "16px 25px 0" },
271
+ title: "Contrase\xF1as"
272
+ }
273
+ ),
274
+ /* @__PURE__ */ jsx(CardContent, { sx: { padding: "25px" }, children: /* @__PURE__ */ jsxs(Grid, { container: true, spacing: 2, children: [
275
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
276
+ TextInput,
277
+ {
278
+ type: "password",
279
+ source: "current_password",
280
+ label: "Contrase\xF1a actual",
281
+ variant: "outlined",
282
+ fullWidth: true
283
+ }
284
+ ) }),
285
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
286
+ TextInput,
287
+ {
288
+ type: "password",
289
+ source: "password",
290
+ label: "Nueva contrase\xF1a",
291
+ variant: "outlined",
292
+ fullWidth: true
293
+ }
294
+ ) }),
295
+ /* @__PURE__ */ jsx(Grid, { size: 12, children: /* @__PURE__ */ jsx(
296
+ TextInput,
297
+ {
298
+ label: "Repita nueva contrase\xF1a",
299
+ type: "password",
300
+ source: "password_confirmation",
301
+ variant: "outlined",
302
+ fullWidth: true
303
+ }
304
+ ) }),
305
+ /* @__PURE__ */ jsx(Grid, { size: 12, sx: { mt: 2 }, children: /* @__PURE__ */ jsx(
306
+ Button,
307
+ {
308
+ onClick: handlePasswordSubmit,
309
+ disabled: isLoading,
310
+ variant: "contained",
311
+ type: "submit",
312
+ fullWidth: true,
313
+ sx: {
314
+ position: "relative",
315
+ "&.Mui-disabled": {
316
+ backgroundColor: "primary.main",
317
+ opacity: 0.7,
318
+ color: "white"
319
+ }
320
+ },
321
+ children: isLoading && currTab === "auth/update/password" ? "Guardando Contrase\xF1as..." : "Guardar Contrase\xF1as"
322
+ }
323
+ ) })
324
+ ] }) })
325
+ ] }),
326
+ /* @__PURE__ */ jsxs(Grid, { size: {
327
+ xs: 12
328
+ }, children: [
329
+ /* @__PURE__ */ jsx(
330
+ CardHeader,
331
+ {
332
+ sx: { padding: "16px 25px 0" },
333
+ title: "Preferencias"
334
+ }
335
+ ),
336
+ /* @__PURE__ */ jsx(CardContent, { sx: { padding: "25px" }, children: /* @__PURE__ */ jsx(UserPreferences, {}) })
337
+ ] })
338
+ ]
339
+ }
340
+ ) })
341
+ }
342
+ ) : /* @__PURE__ */ jsx(Loading, {}) });
343
+ };
344
+ var Profile_default = Profile;
345
+ export {
346
+ Profile_default as default
347
+ };
@@ -1 +1,175 @@
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};
1
+ var __async = (__this, __arguments, generator) => {
2
+ return new Promise((resolve, reject) => {
3
+ var fulfilled = (value) => {
4
+ try {
5
+ step(generator.next(value));
6
+ } catch (e) {
7
+ reject(e);
8
+ }
9
+ };
10
+ var rejected = (value) => {
11
+ try {
12
+ step(generator.throw(value));
13
+ } catch (e) {
14
+ reject(e);
15
+ }
16
+ };
17
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
+ step((generator = generator.apply(__this, __arguments)).next());
19
+ });
20
+ };
21
+ import { jsx, jsxs } from "react/jsx-runtime";
22
+ import { Button, TextField, Alert, IconButton, Grid, Box } from "@mui/material";
23
+ import { useEffect, useState } from "react";
24
+ import { useNotify, useRedirect } from "react-admin";
25
+ import useAxios from "../hooks/axios";
26
+ import { FullLayoutMarkup } from "../default-theme";
27
+ import HomeIcon from "@mui/icons-material/Home";
28
+ import { clearAllCookies } from "../../src/utils/cookies";
29
+ import { dashStorage } from "dash-utils";
30
+ const RecoverPassword = ({}) => {
31
+ const [email, setEmail] = useState("");
32
+ const [loading, setLoading] = useState(false);
33
+ const [error, setError] = useState("");
34
+ const [success, setSuccess] = useState(false);
35
+ const { axios } = useAxios();
36
+ const redirect = useRedirect();
37
+ const notify = useNotify();
38
+ const handleSubmit = (e) => __async(null, null, function* () {
39
+ var _a;
40
+ e.preventDefault();
41
+ setError("");
42
+ setLoading(true);
43
+ try {
44
+ const { data } = yield axios.post(`password/email`, {
45
+ email
46
+ });
47
+ setSuccess(true);
48
+ notify(data.message, { type: "success" });
49
+ } catch (error2) {
50
+ let errorMsg = "Ha ocurrido un error";
51
+ if ((_a = error2 == null ? void 0 : error2.response) == null ? void 0 : _a.data) {
52
+ const resp = error2.response.data;
53
+ if (resp.errors && resp.errors.email && resp.errors.email.length > 0) {
54
+ errorMsg = resp.errors.email[0];
55
+ } else if (resp.message) {
56
+ errorMsg = resp.message;
57
+ }
58
+ } else if (error2 == null ? void 0 : error2.message) {
59
+ errorMsg = error2.message;
60
+ }
61
+ setError(errorMsg);
62
+ notify(errorMsg, { type: "warning" });
63
+ } finally {
64
+ setLoading(false);
65
+ }
66
+ });
67
+ useEffect(() => {
68
+ dashStorage.clear();
69
+ clearAllCookies();
70
+ }, []);
71
+ return /* @__PURE__ */ jsx(FullLayoutMarkup, { children: /* @__PURE__ */ jsx(
72
+ Box,
73
+ {
74
+ sx: {
75
+ //height: '100vh',
76
+ display: "flex",
77
+ alignItems: "flex-start",
78
+ // align to top
79
+ justifyContent: "center",
80
+ pt: 8
81
+ // thick top margin
82
+ },
83
+ children: /* @__PURE__ */ jsx(
84
+ Box,
85
+ {
86
+ sx: {
87
+ width: "100%",
88
+ maxWidth: 420,
89
+ mx: "auto"
90
+ },
91
+ children: success ? /* @__PURE__ */ jsxs(
92
+ Box,
93
+ {
94
+ sx: {
95
+ display: "flex",
96
+ flexDirection: "column",
97
+ alignItems: "center",
98
+ justifyContent: "center",
99
+ boxShadow: 3,
100
+ borderRadius: 2,
101
+ p: 4,
102
+ minWidth: 320,
103
+ minHeight: 200,
104
+ bgcolor: "background.paper",
105
+ mt: 8,
106
+ // thick top margin
107
+ mx: "auto"
108
+ },
109
+ children: [
110
+ /* @__PURE__ */ jsx("h1", { className: "dash-app-login-form-title", style: { margin: 0 }, children: "Recuperar Contrase\xF1a" }),
111
+ /* @__PURE__ */ jsx(Alert, { severity: "success", sx: { mt: 2, mb: 2 }, children: "Si el correo existe en nuestro sistema, recibir\xE1s un enlace para restablecer tu contrase\xF1a." }),
112
+ /* @__PURE__ */ jsx(
113
+ Button,
114
+ {
115
+ variant: "contained",
116
+ color: "primary",
117
+ onClick: () => redirect("/login"),
118
+ sx: { mt: 2 },
119
+ children: "Ir al Login"
120
+ }
121
+ )
122
+ ]
123
+ }
124
+ ) : /* @__PURE__ */ jsxs("form", { onSubmit: handleSubmit, className: "dash-app-login-form", children: [
125
+ /* @__PURE__ */ jsxs(Grid, { container: true, sx: { mb: 4, mt: 2 }, spacing: 2, alignItems: "center", children: [
126
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 2, children: /* @__PURE__ */ jsx(
127
+ IconButton,
128
+ {
129
+ color: "primary",
130
+ size: "large",
131
+ onClick: () => redirect("/"),
132
+ children: /* @__PURE__ */ jsx(HomeIcon, {})
133
+ }
134
+ ) }),
135
+ /* @__PURE__ */ jsx(Grid, { item: true, xs: 10, children: /* @__PURE__ */ jsx("h1", { className: "dash-app-login-form-title", style: { margin: 0 }, children: "Recuperar Contrase\xF1a" }) })
136
+ ] }),
137
+ error && /* @__PURE__ */ jsx(Alert, { severity: "error", sx: { mb: 2 }, children: error }),
138
+ /* @__PURE__ */ jsx("div", { className: "dash-app-form-item", children: /* @__PURE__ */ jsx(
139
+ TextField,
140
+ {
141
+ fullWidth: true,
142
+ variant: "outlined",
143
+ label: "Email",
144
+ placeholder: "Email",
145
+ required: true,
146
+ value: email,
147
+ inputProps: { type: "email" },
148
+ onChange: (e) => setEmail(e.target.value),
149
+ className: "dash-app-form-item-input",
150
+ autoComplete: "username",
151
+ name: "email",
152
+ type: "email",
153
+ id: "email"
154
+ }
155
+ ) }),
156
+ /* @__PURE__ */ jsx("div", { className: "dash-app-form-item mt-1", children: /* @__PURE__ */ jsx(
157
+ Button,
158
+ {
159
+ type: "submit",
160
+ variant: "contained",
161
+ disabled: loading,
162
+ sx: { mb: 2, width: "100%" },
163
+ children: loading ? "Cargando..." : "Resetear Contrase\xF1a"
164
+ }
165
+ ) })
166
+ ] })
167
+ }
168
+ )
169
+ }
170
+ ) });
171
+ };
172
+ var RecoverPassword_default = RecoverPassword;
173
+ export {
174
+ RecoverPassword_default as default
175
+ };
@@ -1 +1,40 @@
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};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { IconButton } from "@mui/material";
3
+ import { useState } from "react";
4
+ import { Upload } from "@mui/icons-material";
5
+ const SingleImageUploader = (props) => {
6
+ const { classNamePrefix = "default", currentUrl = "single-image-uploader", onChange } = props;
7
+ const [localFile, setLocalFile] = useState(null);
8
+ return /* @__PURE__ */ jsxs("div", { className: `single-image-uploader ${classNamePrefix}-img`, children: [
9
+ localFile || currentUrl ? /* @__PURE__ */ jsx("img", { src: localFile || currentUrl, alt: "" }) : /* @__PURE__ */ jsx("div", { className: `${classNamePrefix}-icon` }),
10
+ /* @__PURE__ */ jsxs(
11
+ IconButton,
12
+ {
13
+ "aria-label": "upload image",
14
+ component: "label",
15
+ className: `${classNamePrefix}-edit`,
16
+ children: [
17
+ /* @__PURE__ */ jsx(Upload, { style: { opacity: "0.6" } }),
18
+ /* @__PURE__ */ jsx(
19
+ "input",
20
+ {
21
+ hidden: true,
22
+ accept: "image/*",
23
+ type: "file",
24
+ onChange: (e) => {
25
+ setLocalFile(URL.createObjectURL(e.target.files[0]));
26
+ if (onChange) {
27
+ onChange(e.target.files[0]);
28
+ }
29
+ }
30
+ }
31
+ )
32
+ ]
33
+ }
34
+ )
35
+ ] });
36
+ };
37
+ var SingleImageUploader_default = SingleImageUploader;
38
+ export {
39
+ SingleImageUploader_default as default
40
+ };