@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,396 @@
1
- var z=Object.defineProperty;var D=(r,i,e)=>i in r?z(r,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[i]=e;var b=(r,i,e)=>D(r,typeof i!="symbol"?i+"":i,e);import{jsx as Q}from"react/jsx-runtime";import{useDispatch as J,useSelector as M}from"react-redux";import g,{useCallback as l,useContext as K,useRef as m}from"react";import{DASH_REDUX_ACTIONS as h}from"@dashadmin/dash-admin-state";import{ACTION_UPDATE_AUTH as A}from"@dashadmin/dash-admin-state/src/redux/reducers/Auth";import q from"../../hooks/axios";import{getEnv as G}from"@dashadmin/dash-constants/src/DASHAdminSystemConstants";import{useDashThemeContext as $}from"../../../src/default-theme/DashThemeContext";import f from"../../theme/AppLayoutSetting";import B from"./DASHAuthenticationService";import{AuthPersistenceService as o,clearDeviceStoreAuth as W}from"@dashadmin/dash-auth";import{dashStorage as I}from"@dashadmin/dash-utils";class X{}b(X,"values");const S=g.createContext(null),vt=r=>{const{children:i}=r,e=M(t=>t.auth),u=J(),{axios:C}=q(),{recreateTheme:F}=$(),v=m(!1),T=m(""),V=m(""),E=m(""),k=m(""),Z=m(!1),[n,p]=g.useState(()=>{const t=o.getUser(),s=o.getToken(),a=o.getSystemValues(),c=JSON.parse(I.getItem("authenticated")||"false");return{authenticated:e.authenticated||c,user:e.user||t,auth:e.auth,token:e.user?.token||s,roles:e.user?.roles,systemValues:a}}),d=l(async()=>{console.log("Making GET request to:",G("APP_GETAUTH_ENDPOINT"));try{const{data:t}=await C.get(G("APP_GETAUTH_ENDPOINT"));return console.log("Received complete auth data:",t),o.saveAuth({auth:t.auth,systemValues:t.systemValues}),u(h.updateAuth(A,{user:t.user,authenticated:!0,auth:t.auth})),p(s=>({...s,systemValues:t.systemValues})),t}catch(t){throw console.error("Error fetching complete auth data:",t),o.markAsLoggedOut(),t}},[C,u]),tt=l(async()=>{const t=o.getToken(),s=o.getUser(),a=JSON.parse(I.getItem("authenticated")||"false");if(console.log("Initializing auth from token:",{hasToken:!!t,hasStoredUser:!!s,isAuthenticated:a,reduxAuthenticated:e.authenticated}),t&&!e.authenticated)try{console.log("Token found but not fully authenticated, fetching complete auth data..."),await d()}catch(c){console.error("Failed to initialize auth from token:",c),o.markAsLoggedOut()}else if(a&&s&&t&&!e.authenticated){console.log("Restoring auth session from localStorage");const c=o.getAuth();u(h.updateAuth(A,{user:s,authenticated:!0,auth:c?.auth||null}))}},[e.authenticated,u,d]),_=l(async t=>{if(!t||e.authenticated||v.current)return;const s=JSON.stringify(t);if(T.current!==s){v.current=!0,T.current=s,console.log("Handling react-admin identity:",t);try{u(h.updateAuth(A,{user:t.user||t,authenticated:t?.user?!0:!!t?.id,auth:t.auth})),await d()}catch{console.error("Failed to fetch complete auth data after identity load")}finally{v.current=!1}}},[e.authenticated,u,d]),U=async t=>{o.markAsLoggedOut(),await W(),B.setPendingRedirect(window.location.pathname),p({authenticated:!1,user:null,auth:null,token:null,roles:null,systemValues:null}),u(h.updateAuth(A,{user:null,authenticated:!1,auth:null})),j({authenticated:!1,user:null,auth:null,token:null,roles:null,systemValues:null}),document.body.classList.remove(f.LAYOUT_TYPE_FULL,f.LAYOUT_TYPE_BOXED,f.LAYOUT_TYPE_FRAMED,f.THEME_TYPE_DARK,f.THEME_TYPE_LIGHT),t&&t()},O=l(t=>{if(t&&(console.log("\u{1F504} AuthContext: Updating auth context with:",t),p(s=>{const a={...s,...t};return console.log("\u2705 AuthContext: Local context updated:",a),a}),(t.authenticated!==void 0||t.user||t.auth)&&t.authenticated!==!1)){console.log("\u{1F504} AuthContext: Dispatching to Redux state...");const s={user:t.user||e.user,authenticated:t.authenticated??e.authenticated,auth:t.auth||e.auth};console.log("\u{1F504} AuthContext: Redux payload:",s),u(h.updateAuth(A,s)),console.log("\u2705 AuthContext: Redux dispatch completed")}},[u,e.user,e.authenticated,e.auth]),R=l(t=>{console.log("Manual update values called with:",t),p(s=>({...s,...t}))},[]),w=l(()=>{try{if(n.roles==="guest")return Promise.resolve("guest");if(n.roles&&Array.isArray(n.roles)){const t={roles:n.roles.map(s=>typeof s=="string"?s:s.name)};return Promise.resolve(t)}if(e.user?.roles&&Array.isArray(e.user.roles)){const t={roles:e.user.roles.map(s=>typeof s=="string"?s:s.name)};return Promise.resolve(t)}return o.getPermissions()}catch(t){return console.error("Failed to get permissions from context:",t),Promise.resolve("null")}},[n.roles,e.user?.roles]),y=l(()=>n.systemValues||o.getSystemValues(),[n.systemValues]),P=l(t=>{const s=y();return s?s[t]:null},[y]),L=l(()=>P("point_of_sales"),[P]);g.useEffect(()=>{const t=s=>{console.log("Auth event received:",s.detail),O(s.detail)};return window.addEventListener("authEvent",t),()=>{window.removeEventListener("authEvent",t)}},[O]),g.useEffect(()=>{if(console.log("Redux auth state changed:",{authenticated:e.authenticated,user:!!e.user,auth:!!e.auth}),e.authenticated){let t=e?.auth?.tenantImages,s=e?.auth?.tenantSettings,a=n.systemValues;t||(t=o.getTenantImages()),s||(s=o.getTenantSettings()),a||(a=o.getSystemValues());const c=JSON.stringify(t);if(t&&V.current!==c){console.log("Updating panel settings with tenant images from auth context or persisted data"),V.current=c;const x={...t.horizontal_logo.original&&{horizontalLogo:t.horizontal_logo.original},...t.squared_logo.original&&{squaredLogo:t.squared_logo.original},...t.banner.original&&{loginBackground:t.banner.original}};u(h.setPanelSettings(x))}const H=JSON.stringify(s);s&&E.current!==H&&(console.log("Recreating MUI theme with tenant settings from auth context"),E.current=H,F(s),u(h.updateThemeSettings(s)));const N=JSON.stringify(a);if(a&&k.current!==N&&(console.log("Processing system values from auth context or persisted data"),k.current=N,console.log("Available system values:",Object.keys(a)),console.log("Point of Sales:",a.point_of_sales)),JSON.parse(I.getItem("authenticated")||"false")&&e.user?.tenant_id){const{DashIPCService:x}=window;x&&x.action("start-bg-service",{token:I.getItem("token"),channel:`private-tenant.${e.user.tenant_id}.system`})}}},[e.authenticated,n.systemValues]),g.useEffect(()=>{console.log("Auth context values changed:",{authenticated:n.authenticated,user:n.user?`${n.user.name} (${n.user.id})`:null,auth:n.auth,token:n.token?"present":"missing",systemValues:n.systemValues?Object.keys(n.systemValues):null})},[n]);const Y=g.useMemo(()=>{const t=n.user||e.user||o.getUser(),s=n.authenticated??e.authenticated??!1,a=n.token||e.user?.token||o.getToken();return{user:t,authenticated:s,auth:n.auth||e.auth,token:a,roles:n.roles||e.user?.roles,systemValues:n.systemValues||o.getSystemValues(),updateValues:R,logout:U,handleReactAdminIdentity:_,getPermissions:w,fetchAuth:d,getSystemValues:y,getSystemValue:P,getPointOfSales:L}},[n,e,R,U,_,w,d,y,P,L]);return Q(S.Provider,{value:Y,children:i})},Ct=S.Consumer,Tt=()=>K(S),j=r=>(console.log("Setting auth event:",r),window.dispatchEvent(new CustomEvent("authEvent",{detail:r})),r),Vt=()=>o.getPermissions();var Et=S;export{S as AuthContext,X as AuthContextClass,Ct as AuthContextConsumer,vt as AuthContextProvider,Et as default,Vt as getAuthPermissions,j as setAuthEvent,Tt as useAuthContext};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
+ var __async = (__this, __arguments, generator) => {
22
+ return new Promise((resolve, reject) => {
23
+ var fulfilled = (value) => {
24
+ try {
25
+ step(generator.next(value));
26
+ } catch (e) {
27
+ reject(e);
28
+ }
29
+ };
30
+ var rejected = (value) => {
31
+ try {
32
+ step(generator.throw(value));
33
+ } catch (e) {
34
+ reject(e);
35
+ }
36
+ };
37
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
+ step((generator = generator.apply(__this, __arguments)).next());
39
+ });
40
+ };
41
+ import { jsx } from "react/jsx-runtime";
42
+ import { useDispatch, useSelector } from "react-redux";
43
+ import React, {
44
+ useCallback,
45
+ useContext,
46
+ useRef
47
+ } from "react";
48
+ import { DASH_REDUX_ACTIONS } from "dash-admin-state";
49
+ import { ACTION_UPDATE_AUTH } from "dash-admin-state/src/redux/reducers/Auth";
50
+ import useAxios from "../../hooks/axios";
51
+ import { getEnv } from "dash-constants/src/DASHAdminSystemConstants";
52
+ import { useDashThemeContext } from "../../default-theme/DashThemeContext";
53
+ import AppLayoutSettings from "../../theme/AppLayoutSetting";
54
+ import DASHAuthenticationService from "./DASHAuthenticationService";
55
+ import { AuthPersistenceService, clearDeviceStoreAuth } from "dash-auth";
56
+ import { dashStorage } from "dash-utils";
57
+ class AuthContextClass {
58
+ }
59
+ __publicField(AuthContextClass, "values");
60
+ const AuthContext = React.createContext(null);
61
+ const AuthContextProvider = (props) => {
62
+ var _a;
63
+ const { children } = props;
64
+ const auth = useSelector((state) => state.auth);
65
+ const dispatch = useDispatch();
66
+ const { axios } = useAxios();
67
+ const { recreateTheme } = useDashThemeContext();
68
+ const isHandlingIdentityRef = useRef(false);
69
+ const lastIdentityRef = useRef("");
70
+ const lastTenantImagesRef = useRef("");
71
+ const lastTenantSettingsRef = useRef("");
72
+ const lastSystemValuesRef = useRef("");
73
+ const hasInitializedRef = useRef(false);
74
+ const [contextValues, setContextValues] = React.useState(() => {
75
+ var _a2, _b;
76
+ const storedUser = AuthPersistenceService.getUser();
77
+ const storedToken = AuthPersistenceService.getToken();
78
+ const storedSystemValues = AuthPersistenceService.getSystemValues();
79
+ const isAuthenticated = JSON.parse(dashStorage.getItem("authenticated") || "false");
80
+ return {
81
+ authenticated: auth.authenticated || isAuthenticated,
82
+ user: auth.user || storedUser,
83
+ auth: auth.auth,
84
+ token: ((_a2 = auth.user) == null ? void 0 : _a2.token) || storedToken,
85
+ roles: (_b = auth.user) == null ? void 0 : _b.roles,
86
+ systemValues: storedSystemValues
87
+ };
88
+ });
89
+ const fetchCompleteAuth = useCallback(() => __async(null, null, function* () {
90
+ console.log("Making GET request to:", getEnv("APP_GETAUTH_ENDPOINT"));
91
+ try {
92
+ const { data: authResponse } = yield axios.get(getEnv("APP_GETAUTH_ENDPOINT"));
93
+ console.log("Received complete auth data:", authResponse);
94
+ AuthPersistenceService.saveAuth({
95
+ auth: authResponse.auth,
96
+ systemValues: authResponse.systemValues
97
+ });
98
+ dispatch(
99
+ DASH_REDUX_ACTIONS.updateAuth(ACTION_UPDATE_AUTH, {
100
+ user: authResponse.user,
101
+ authenticated: true,
102
+ auth: authResponse.auth
103
+ })
104
+ );
105
+ setContextValues((prev) => __spreadProps(__spreadValues({}, prev), {
106
+ systemValues: authResponse.systemValues
107
+ }));
108
+ return authResponse;
109
+ } catch (error) {
110
+ console.error("Error fetching complete auth data:", error);
111
+ AuthPersistenceService.markAsLoggedOut();
112
+ throw error;
113
+ }
114
+ }), [axios, dispatch]);
115
+ const initializeAuthFromToken = useCallback(() => __async(null, null, function* () {
116
+ const token = AuthPersistenceService.getToken();
117
+ const storedUser = AuthPersistenceService.getUser();
118
+ const isAuthenticated = JSON.parse(dashStorage.getItem("authenticated") || "false");
119
+ console.log("Initializing auth from token:", {
120
+ hasToken: !!token,
121
+ hasStoredUser: !!storedUser,
122
+ isAuthenticated,
123
+ reduxAuthenticated: auth.authenticated
124
+ });
125
+ if (token && !auth.authenticated) {
126
+ try {
127
+ console.log("Token found but not fully authenticated, fetching complete auth data...");
128
+ yield fetchCompleteAuth();
129
+ } catch (error) {
130
+ console.error("Failed to initialize auth from token:", error);
131
+ AuthPersistenceService.markAsLoggedOut();
132
+ }
133
+ } else if (isAuthenticated && storedUser && token && !auth.authenticated) {
134
+ console.log("Restoring auth session from localStorage");
135
+ const persistedAuth = AuthPersistenceService.getAuth();
136
+ dispatch(
137
+ DASH_REDUX_ACTIONS.updateAuth(ACTION_UPDATE_AUTH, {
138
+ user: storedUser,
139
+ authenticated: true,
140
+ auth: (persistedAuth == null ? void 0 : persistedAuth.auth) || null
141
+ })
142
+ );
143
+ }
144
+ }), [auth.authenticated, dispatch, fetchCompleteAuth]);
145
+ const handleReactAdminIdentity = useCallback((identity) => __async(null, null, function* () {
146
+ if (!identity || auth.authenticated || isHandlingIdentityRef.current) {
147
+ return;
148
+ }
149
+ const identityKey = JSON.stringify(identity);
150
+ if (lastIdentityRef.current === identityKey) {
151
+ return;
152
+ }
153
+ isHandlingIdentityRef.current = true;
154
+ lastIdentityRef.current = identityKey;
155
+ console.log("Handling react-admin identity:", identity);
156
+ try {
157
+ dispatch(
158
+ DASH_REDUX_ACTIONS.updateAuth(ACTION_UPDATE_AUTH, {
159
+ user: identity.user || identity,
160
+ authenticated: (identity == null ? void 0 : identity.user) ? true : (identity == null ? void 0 : identity.id) ? true : false,
161
+ auth: identity.auth
162
+ })
163
+ );
164
+ yield fetchCompleteAuth();
165
+ } catch (error) {
166
+ console.error("Failed to fetch complete auth data after identity load");
167
+ } finally {
168
+ isHandlingIdentityRef.current = false;
169
+ }
170
+ }), [auth.authenticated, dispatch, fetchCompleteAuth]);
171
+ const logout = (callback) => __async(null, null, function* () {
172
+ AuthPersistenceService.markAsLoggedOut();
173
+ yield clearDeviceStoreAuth();
174
+ DASHAuthenticationService.setPendingRedirect(window.location.pathname);
175
+ setContextValues({
176
+ authenticated: false,
177
+ user: null,
178
+ auth: null,
179
+ token: null,
180
+ roles: null,
181
+ systemValues: null
182
+ });
183
+ dispatch(
184
+ DASH_REDUX_ACTIONS.updateAuth(ACTION_UPDATE_AUTH, {
185
+ user: null,
186
+ authenticated: false,
187
+ auth: null
188
+ })
189
+ );
190
+ setAuthEvent({
191
+ authenticated: false,
192
+ user: null,
193
+ auth: null,
194
+ token: null,
195
+ roles: null,
196
+ systemValues: null
197
+ });
198
+ document.body.classList.remove(
199
+ AppLayoutSettings.LAYOUT_TYPE_FULL,
200
+ AppLayoutSettings.LAYOUT_TYPE_BOXED,
201
+ AppLayoutSettings.LAYOUT_TYPE_FRAMED,
202
+ AppLayoutSettings.THEME_TYPE_DARK,
203
+ AppLayoutSettings.THEME_TYPE_LIGHT
204
+ );
205
+ if (callback) {
206
+ callback();
207
+ }
208
+ });
209
+ const updateAuth = useCallback((authData) => {
210
+ var _a2;
211
+ if (authData) {
212
+ console.log("\u{1F504} AuthContext: Updating auth context with:", authData);
213
+ setContextValues((prevValues) => {
214
+ const newValues = __spreadValues(__spreadValues({}, prevValues), authData);
215
+ console.log("\u2705 AuthContext: Local context updated:", newValues);
216
+ return newValues;
217
+ });
218
+ if ((authData.authenticated !== void 0 || authData.user || authData.auth) && authData.authenticated !== false) {
219
+ console.log("\u{1F504} AuthContext: Dispatching to Redux state...");
220
+ const reduxPayload = {
221
+ user: authData.user || auth.user,
222
+ authenticated: (_a2 = authData.authenticated) != null ? _a2 : auth.authenticated,
223
+ auth: authData.auth || auth.auth
224
+ };
225
+ console.log("\u{1F504} AuthContext: Redux payload:", reduxPayload);
226
+ dispatch(
227
+ DASH_REDUX_ACTIONS.updateAuth(ACTION_UPDATE_AUTH, reduxPayload)
228
+ );
229
+ console.log("\u2705 AuthContext: Redux dispatch completed");
230
+ }
231
+ }
232
+ }, [dispatch, auth.user, auth.authenticated, auth.auth]);
233
+ const updateValues = useCallback((authData) => {
234
+ console.log("Manual update values called with:", authData);
235
+ setContextValues((prevValues) => __spreadValues(__spreadValues({}, prevValues), authData));
236
+ }, []);
237
+ const getPermissions = useCallback(() => {
238
+ var _a2;
239
+ try {
240
+ if (contextValues.roles === "guest") {
241
+ return Promise.resolve("guest");
242
+ }
243
+ if (contextValues.roles && Array.isArray(contextValues.roles)) {
244
+ const processedPermissions = {
245
+ roles: contextValues.roles.map(
246
+ (item) => typeof item === "string" ? item : item.name
247
+ )
248
+ };
249
+ return Promise.resolve(processedPermissions);
250
+ }
251
+ if (((_a2 = auth.user) == null ? void 0 : _a2.roles) && Array.isArray(auth.user.roles)) {
252
+ const processedPermissions = {
253
+ roles: auth.user.roles.map(
254
+ (item) => typeof item === "string" ? item : item.name
255
+ )
256
+ };
257
+ return Promise.resolve(processedPermissions);
258
+ }
259
+ return AuthPersistenceService.getPermissions();
260
+ } catch (error) {
261
+ console.error("Failed to get permissions from context:", error);
262
+ return Promise.resolve("null");
263
+ }
264
+ }, [contextValues.roles, (_a = auth.user) == null ? void 0 : _a.roles]);
265
+ const getSystemValues = useCallback(() => {
266
+ return contextValues.systemValues || AuthPersistenceService.getSystemValues();
267
+ }, [contextValues.systemValues]);
268
+ const getSystemValue = useCallback((key) => {
269
+ const systemValues = getSystemValues();
270
+ return systemValues ? systemValues[key] : null;
271
+ }, [getSystemValues]);
272
+ const getPointOfSales = useCallback(() => {
273
+ return getSystemValue("point_of_sales");
274
+ }, [getSystemValue]);
275
+ React.useEffect(() => {
276
+ const handleAuthEvent = (event) => {
277
+ console.log("Auth event received:", event.detail);
278
+ updateAuth(event.detail);
279
+ };
280
+ window.addEventListener("authEvent", handleAuthEvent);
281
+ return () => {
282
+ window.removeEventListener("authEvent", handleAuthEvent);
283
+ };
284
+ }, [updateAuth]);
285
+ React.useEffect(() => {
286
+ var _a2, _b, _c;
287
+ console.log("Redux auth state changed:", {
288
+ authenticated: auth.authenticated,
289
+ user: !!auth.user,
290
+ auth: !!auth.auth
291
+ });
292
+ if (auth.authenticated) {
293
+ let tenantImages = (_a2 = auth == null ? void 0 : auth.auth) == null ? void 0 : _a2.tenantImages;
294
+ let tenantSettings = (_b = auth == null ? void 0 : auth.auth) == null ? void 0 : _b.tenantSettings;
295
+ let systemValues = contextValues.systemValues;
296
+ if (!tenantImages) {
297
+ tenantImages = AuthPersistenceService.getTenantImages();
298
+ }
299
+ if (!tenantSettings) {
300
+ tenantSettings = AuthPersistenceService.getTenantSettings();
301
+ }
302
+ if (!systemValues) {
303
+ systemValues = AuthPersistenceService.getSystemValues();
304
+ }
305
+ const tenantImagesKey = JSON.stringify(tenantImages);
306
+ if (tenantImages && lastTenantImagesRef.current !== tenantImagesKey) {
307
+ console.log("Updating panel settings with tenant images from auth context or persisted data");
308
+ lastTenantImagesRef.current = tenantImagesKey;
309
+ const logos = __spreadValues(__spreadValues(__spreadValues({}, tenantImages.horizontal_logo.original && { horizontalLogo: tenantImages.horizontal_logo.original }), tenantImages.squared_logo.original && { squaredLogo: tenantImages.squared_logo.original }), tenantImages.banner.original && { loginBackground: tenantImages.banner.original });
310
+ dispatch(
311
+ DASH_REDUX_ACTIONS.setPanelSettings(logos)
312
+ );
313
+ }
314
+ const tenantSettingsKey = JSON.stringify(tenantSettings);
315
+ if (tenantSettings && lastTenantSettingsRef.current !== tenantSettingsKey) {
316
+ console.log("Recreating MUI theme with tenant settings from auth context");
317
+ lastTenantSettingsRef.current = tenantSettingsKey;
318
+ recreateTheme(tenantSettings);
319
+ dispatch(
320
+ DASH_REDUX_ACTIONS.updateThemeSettings(tenantSettings)
321
+ );
322
+ }
323
+ const systemValuesKey = JSON.stringify(systemValues);
324
+ if (systemValues && lastSystemValuesRef.current !== systemValuesKey) {
325
+ console.log("Processing system values from auth context or persisted data");
326
+ lastSystemValuesRef.current = systemValuesKey;
327
+ console.log("Available system values:", Object.keys(systemValues));
328
+ console.log("Point of Sales:", systemValues.point_of_sales);
329
+ }
330
+ const storageAuthenticated = JSON.parse(dashStorage.getItem("authenticated") || "false");
331
+ if (storageAuthenticated && ((_c = auth.user) == null ? void 0 : _c.tenant_id)) {
332
+ const { DashIPCService } = window;
333
+ DashIPCService && DashIPCService.action("start-bg-service", {
334
+ token: dashStorage.getItem("token"),
335
+ channel: `private-tenant.${auth.user.tenant_id}.system`
336
+ });
337
+ }
338
+ }
339
+ }, [auth.authenticated, contextValues.systemValues]);
340
+ React.useEffect(() => {
341
+ console.log("Auth context values changed:", {
342
+ authenticated: contextValues.authenticated,
343
+ user: contextValues.user ? `${contextValues.user.name} (${contextValues.user.id})` : null,
344
+ auth: contextValues.auth,
345
+ token: contextValues.token ? "present" : "missing",
346
+ systemValues: contextValues.systemValues ? Object.keys(contextValues.systemValues) : null
347
+ });
348
+ }, [contextValues]);
349
+ const contextValue = React.useMemo(() => {
350
+ var _a2, _b, _c, _d;
351
+ const currentUser = contextValues.user || auth.user || AuthPersistenceService.getUser();
352
+ const currentAuthenticated = (_b = (_a2 = contextValues.authenticated) != null ? _a2 : auth.authenticated) != null ? _b : false;
353
+ const currentToken = contextValues.token || ((_c = auth.user) == null ? void 0 : _c.token) || AuthPersistenceService.getToken();
354
+ return {
355
+ user: currentUser,
356
+ authenticated: currentAuthenticated,
357
+ auth: contextValues.auth || auth.auth,
358
+ token: currentToken,
359
+ roles: contextValues.roles || ((_d = auth.user) == null ? void 0 : _d.roles),
360
+ systemValues: contextValues.systemValues || AuthPersistenceService.getSystemValues(),
361
+ updateValues,
362
+ logout,
363
+ handleReactAdminIdentity,
364
+ getPermissions,
365
+ fetchAuth: fetchCompleteAuth,
366
+ getSystemValues,
367
+ getSystemValue,
368
+ getPointOfSales
369
+ };
370
+ }, [contextValues, auth, updateValues, logout, handleReactAdminIdentity, getPermissions, fetchCompleteAuth, getSystemValues, getSystemValue, getPointOfSales]);
371
+ return /* @__PURE__ */ jsx(AuthContext.Provider, { value: contextValue, children });
372
+ };
373
+ const AuthContextConsumer = AuthContext.Consumer;
374
+ const useAuthContext = () => {
375
+ const authContext = useContext(AuthContext);
376
+ return authContext;
377
+ };
378
+ const setAuthEvent = (values) => {
379
+ console.log("Setting auth event:", values);
380
+ window.dispatchEvent(new CustomEvent("authEvent", { detail: values }));
381
+ return values;
382
+ };
383
+ const getAuthPermissions = () => {
384
+ return AuthPersistenceService.getPermissions();
385
+ };
386
+ var AuthContext_default = AuthContext;
387
+ export {
388
+ AuthContext,
389
+ AuthContextClass,
390
+ AuthContextConsumer,
391
+ AuthContextProvider,
392
+ AuthContext_default as default,
393
+ getAuthPermissions,
394
+ setAuthEvent,
395
+ useAuthContext
396
+ };
@@ -1 +1,118 @@
1
- var d=Object.defineProperty;var A=(t,e,r)=>e in t?d(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var h=(t,e,r)=>A(t,typeof e!="symbol"?e+"":e,r);import{jsx as V}from"react/jsx-runtime";import P from"../../hooks/useLocalStorage";import I,{useContext as S,useState as f,useEffect as g}from"react";import{dashStorage as o}from"@dashadmin/dash-utils";class m{}h(m,"values");const n={authenticated:!1,user:null,auth:null,token:null,roles:null},a=I.createContext(null),U=t=>{const{children:e,values:r}=t,[x,u]=f(r||n),[i,c]=P("SerializedAuthContext",JSON.stringify(r||n));g(()=>{try{const s=typeof i=="string"?JSON.parse(i):i;u(s||n)}catch(s){console.error("Error parsing auth context from localStorage:",s),u(n)}},[]);const p=s=>{u(C=>{const l={...C,...s};return c(JSON.stringify(l)),l})};return V(a.Provider,{value:{...x,updateValues:p},children:e})},W=a.Consumer,b=()=>S(a),y=()=>{try{const t=o.getItem("SerializedAuthContext");return t?JSON.parse(t):n}catch(t){return console.error("Error getting auth context:",t),n}},R=t=>{try{const r={...y(),...t};return o.setItem("SerializedAuthContext",JSON.stringify(r)),r}catch(e){return console.error("Error updating auth context:",e),t}},q=t=>{try{return o.setItem("SerializedAuthContext",JSON.stringify(t)),o.setItem("roles",JSON.stringify(t.user.roles)),o.setItem("authenticated","true"),o.setItem("user",JSON.stringify(t.user)),t}catch(e){return console.error("Error setting auth context:",e),t}};var w=a;export{m as AuthContextClass,W as AuthContextConsumer,a as AuthContextLocalStorage,U as AuthContextProvider,w as default,y as getAuthContext,q as setAuthContext,R as updateAuthContext,b as useAuthContext};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
+ import { jsx } from "react/jsx-runtime";
22
+ import useLocalStorage from "../../hooks/useLocalStorage";
23
+ import React, {
24
+ useContext,
25
+ useState,
26
+ useEffect
27
+ } from "react";
28
+ import { dashStorage } from "dash-utils";
29
+ class AuthContextClass {
30
+ }
31
+ __publicField(AuthContextClass, "values");
32
+ const defaultValues = {
33
+ authenticated: false,
34
+ user: null,
35
+ auth: null,
36
+ token: null,
37
+ roles: null
38
+ };
39
+ const AuthContextLocalStorage = React.createContext(null);
40
+ const AuthContextProvider = (props) => {
41
+ const { children, values } = props;
42
+ const [contextValues, setContextValues] = useState(
43
+ values || defaultValues
44
+ );
45
+ const [serializedValues, setSerializedValues] = useLocalStorage(
46
+ "SerializedAuthContext",
47
+ JSON.stringify(values || defaultValues)
48
+ );
49
+ useEffect(() => {
50
+ try {
51
+ const parsedValues = typeof serializedValues === "string" ? JSON.parse(serializedValues) : serializedValues;
52
+ setContextValues(parsedValues || defaultValues);
53
+ } catch (error) {
54
+ console.error("Error parsing auth context from localStorage:", error);
55
+ setContextValues(defaultValues);
56
+ }
57
+ }, []);
58
+ const updateValues = (newValues) => {
59
+ setContextValues((prevValues) => {
60
+ const updatedValues = __spreadValues(__spreadValues({}, prevValues), newValues);
61
+ setSerializedValues(JSON.stringify(updatedValues));
62
+ return updatedValues;
63
+ });
64
+ };
65
+ return /* @__PURE__ */ jsx(AuthContextLocalStorage.Provider, { value: __spreadProps(__spreadValues({}, contextValues), { updateValues }), children });
66
+ };
67
+ const AuthContextConsumer = AuthContextLocalStorage.Consumer;
68
+ const useAuthContext = () => {
69
+ const authContext = useContext(AuthContextLocalStorage);
70
+ return authContext;
71
+ };
72
+ const getAuthContext = () => {
73
+ try {
74
+ const serialized = dashStorage.getItem("SerializedAuthContext");
75
+ return serialized ? JSON.parse(serialized) : defaultValues;
76
+ } catch (error) {
77
+ console.error("Error getting auth context:", error);
78
+ return defaultValues;
79
+ }
80
+ };
81
+ const updateAuthContext = (values) => {
82
+ try {
83
+ const prevState = getAuthContext();
84
+ const updatedState = __spreadValues(__spreadValues({}, prevState), values);
85
+ dashStorage.setItem(
86
+ "SerializedAuthContext",
87
+ JSON.stringify(updatedState)
88
+ );
89
+ return updatedState;
90
+ } catch (error) {
91
+ console.error("Error updating auth context:", error);
92
+ return values;
93
+ }
94
+ };
95
+ const setAuthContext = (values) => {
96
+ try {
97
+ dashStorage.setItem("SerializedAuthContext", JSON.stringify(values));
98
+ dashStorage.setItem("roles", JSON.stringify(values.user.roles));
99
+ dashStorage.setItem("authenticated", "true");
100
+ dashStorage.setItem("user", JSON.stringify(values.user));
101
+ return values;
102
+ } catch (error) {
103
+ console.error("Error setting auth context:", error);
104
+ return values;
105
+ }
106
+ };
107
+ var AuthContextLocalStorage_default = AuthContextLocalStorage;
108
+ export {
109
+ AuthContextClass,
110
+ AuthContextConsumer,
111
+ AuthContextLocalStorage,
112
+ AuthContextProvider,
113
+ AuthContextLocalStorage_default as default,
114
+ getAuthContext,
115
+ setAuthContext,
116
+ updateAuthContext,
117
+ useAuthContext
118
+ };