@dashadmin/dash-admin 1.3.73 → 1.3.74-srcfree.2

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 (553) hide show
  1. package/dist/AppAsyncWrapper.d.ts +3 -0
  2. package/dist/AppWrapper.d.ts +3 -0
  3. package/dist/DASHAdmin.d.ts +38 -0
  4. package/dist/RoutingWrapper.d.ts +10 -0
  5. package/dist/classes/DASHStorageClass.d.ts +5 -0
  6. package/dist/components/Input/RichTextField.d.ts +4 -0
  7. package/dist/components/Redirect.d.ts +9 -0
  8. package/dist/components/avatar/Avatar.d.ts +7 -0
  9. package/dist/components/avatar/SingleImageUploader.d.ts +9 -0
  10. package/dist/components/currency/Format.d.ts +4 -0
  11. package/dist/components/custom/Redirect.d.ts +7 -0
  12. package/dist/components/error/Error.d.ts +31 -0
  13. package/dist/components/geocoding/GeocodingField.d.ts +4 -0
  14. package/dist/components/i18n/BridgedLocalesMenuButton.d.ts +7 -0
  15. package/dist/components/i18n/LangSwitcher.d.ts +10 -0
  16. package/dist/components/loader/GlobalLoader.d.ts +6 -0
  17. package/dist/components/logs/LogFile.d.ts +6 -0
  18. package/dist/components/logs/LogFileById.d.ts +6 -0
  19. package/dist/components/logs/LogViewer.d.ts +8 -0
  20. package/dist/components/menu/AppMenu.d.ts +7 -0
  21. package/dist/components/menu/CustomMenuItemLink.d.ts +12 -0
  22. package/dist/components/menu/DarkToggleMode.d.ts +3 -0
  23. package/dist/components/menu/LanguageToggleMode.d.ts +3 -0
  24. package/dist/components/misc/CustomImageInput.d.ts +4 -0
  25. package/dist/components/misc/DASHGlobalErrorHandler.d.ts +10 -0
  26. package/dist/components/misc/DarkModeSwitcher.d.ts +3 -0
  27. package/dist/components/misc/HorizontalScroller.d.ts +14 -0
  28. package/dist/components/misc/LanguageSwitcher.d.ts +10 -0
  29. package/dist/components/misc/MuiSimpleJsonTable.d.ts +16 -0
  30. package/dist/components/misc/MultiLevelTable.d.ts +18 -0
  31. package/dist/components/misc/NoResults.d.ts +6 -0
  32. package/dist/components/misc/PDFViewer.d.ts +4 -0
  33. package/dist/components/navigation/Breadcrumbs.d.ts +14 -0
  34. package/dist/components/navigation/BreadcrumbsManager.d.ts +14 -0
  35. package/{src/components/navigation/index.tsx → dist/components/navigation/index.d.ts} +0 -1
  36. package/dist/components/panel/Error.d.ts +31 -0
  37. package/dist/components/permission/AvailablePermissionsContext.d.ts +11 -0
  38. package/dist/components/permission/PermissionsSelector.d.ts +4 -0
  39. package/dist/components/permission/PermissionsSelectorList.d.ts +4 -0
  40. package/dist/components/racustombuttons/CustomRAButton.d.ts +23 -0
  41. package/dist/components/racustombuttons/QuickButton.d.ts +15 -0
  42. package/dist/components/racustombuttons/QuickEditButton.d.ts +28 -0
  43. package/dist/components/racustombuttons/QuickIconButton.d.ts +27 -0
  44. package/dist/components/scrollbar/Scrollbar.d.ts +7 -0
  45. package/dist/components/selects/MultiSelect.d.ts +4 -0
  46. package/dist/components/selects/RASearchableSelect.d.ts +25 -0
  47. package/dist/components/selects/RASearchableSelectChips.d.ts +29 -0
  48. package/dist/components/selects/SearchableSelect.d.ts +3 -0
  49. package/dist/components/serviceAccount/ApiKeyRevealDialog.d.ts +7 -0
  50. package/dist/components/serviceAccount/ServiceAccountStatusSwitch.d.ts +4 -0
  51. package/dist/components/subscription/BillingCycleSelectInput.d.ts +3 -0
  52. package/dist/components/subscription/PlanAddonsSettings.d.ts +4 -0
  53. package/dist/components/subscription/PlanAuditLog.d.ts +4 -0
  54. package/dist/components/subscription/PlanFeaturesSettings.d.ts +4 -0
  55. package/dist/components/subscription/PlanLimitsSettings.d.ts +4 -0
  56. package/dist/components/subscription/PlanMetadataSettings.d.ts +4 -0
  57. package/dist/components/subscription/PlanPricesSettings.d.ts +4 -0
  58. package/{src/components/subscription/index.ts → dist/components/subscription/index.d.ts} +0 -2
  59. package/dist/components/svgelements/SvgLoading.d.ts +3 -0
  60. package/dist/components/svgelements/SvgLogo.d.ts +3 -0
  61. package/dist/components/svgelements/SvgLogoMin.d.ts +3 -0
  62. package/dist/components/svgelements/SvgShipping.d.ts +3 -0
  63. package/dist/components/tenancy/GlobalTenantWrapper.d.ts +6 -0
  64. package/dist/components/tenancy/TenantSwitcher.d.ts +16 -0
  65. package/dist/components/tenant/SettingsSections.d.ts +11 -0
  66. package/dist/components/tenant/TenancyPlan.d.ts +4 -0
  67. package/dist/components/tenant/TenancyPlan.js +307 -0
  68. package/dist/components/tenant/TenancySettings.d.ts +4 -0
  69. package/dist/components/tenant/TenantAttributes.d.ts +4 -0
  70. package/dist/components/tenant/TenantAttributesContext.d.ts +10 -0
  71. package/dist/components/tenant/TenantSelector.d.ts +11 -0
  72. package/dist/components/tenant/TenantSettings.d.ts +4 -0
  73. package/dist/components/tenant/TenantSettingsContext.d.ts +11 -0
  74. package/dist/components/tenant/TenantTheme.d.ts +4 -0
  75. package/dist/components/user/AvatarComponent.d.ts +6 -0
  76. package/dist/components/user/TenantAvatarComponent.d.ts +15 -0
  77. package/dist/components/user/UserPreferences.d.ts +3 -0
  78. package/dist/config/ACTIONS.d.ts +3 -0
  79. package/dist/config/ConstantsService.d.ts +14 -0
  80. package/dist/config/DASHAdminSystemConstants.d.ts +120 -0
  81. package/dist/config/PARSERS.d.ts +5 -0
  82. package/dist/contexts/DashQueryClientContext.d.ts +19 -0
  83. package/dist/contexts/DashResourceContext.d.ts +11 -0
  84. package/dist/contexts/I18nBridgeContext.d.ts +18 -0
  85. package/dist/contexts/I18nBridgeSetter.d.ts +3 -0
  86. package/dist/contexts/I18nReduxSync.d.ts +6 -0
  87. package/dist/contexts/SubscriptionPlanFormatsProvider.d.ts +13 -0
  88. package/dist/contexts/SystemRequestsCache.d.ts +16 -0
  89. package/dist/contexts/auth/AuthContext.d.ts +40 -0
  90. package/dist/contexts/auth/AuthContextLocalStorage.d.ts +27 -0
  91. package/dist/contexts/auth/DASHAuthenticationService.d.ts +46 -0
  92. package/dist/contexts/auth/WindowContext.d.ts +8 -0
  93. package/{src/contexts/auth/index.tsx → dist/contexts/auth/index.d.ts} +0 -1
  94. package/dist/contexts/com/FCMContext.d.ts +62 -0
  95. package/dist/contexts/com/LaravelEchoContext.d.ts +18 -0
  96. package/dist/contexts/com/LaravelEchoMgr.d.ts +8 -0
  97. package/dist/contexts/com/components/DefaultNotificationComponent.d.ts +6 -0
  98. package/dist/contexts/com/components/EchoNotificationsCenter.d.ts +3 -0
  99. package/dist/contexts/com/components/NotificationAttributesTable.d.ts +8 -0
  100. package/dist/contexts/com/components/NotificationRenderer.d.ts +8 -0
  101. package/dist/contexts/com/components/NotificationsWidget.d.ts +17 -0
  102. package/dist/contexts/com/components/notificationFormats.d.ts +38 -0
  103. package/dist/contexts/com/useLaravelEcho.d.ts +37 -0
  104. package/dist/contexts/dictionary/DictionaryContext.d.ts +21 -0
  105. package/dist/default-theme/DASHAppProviders.d.ts +21 -0
  106. package/dist/default-theme/DashThemeContext.d.ts +17 -0
  107. package/dist/default-theme/DashThemeHelperProvider.d.ts +10 -0
  108. package/dist/default-theme/DomainAppLayout.d.ts +13 -0
  109. package/dist/default-theme/DomainHeader.d.ts +6 -0
  110. package/dist/default-theme/DomainTheme.d.ts +8 -0
  111. package/dist/default-theme/FullLayoutMarkup.d.ts +9 -0
  112. package/dist/default-theme/StaticLayout.d.ts +5 -0
  113. package/{src/default-theme/index.tsx → dist/default-theme/index.d.ts} +0 -3
  114. package/dist/default-theme/menu/AppDashboardGrid.d.ts +24 -0
  115. package/dist/default-theme/menu/AppMaterialMenu.d.ts +11 -0
  116. package/dist/default-theme/menu/AppMenuComponents/SubmenuPortal.d.ts +15 -0
  117. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.d.ts +22 -0
  118. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.d.ts +11 -0
  119. package/dist/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.d.ts +4 -0
  120. package/dist/default-theme/menu/AppMenuComponents/expanded/SidebarItem.d.ts +3 -0
  121. package/dist/default-theme/menu/AppMenuComponents/getItem.d.ts +3 -0
  122. package/dist/default-theme/menu/AppMenuComponents/interfaces.d.ts +36 -0
  123. package/dist/default-theme/menu/AppMenuComponents/submenuConstants.d.ts +7 -0
  124. package/dist/default-theme/menu/AppSidebarMaterial.d.ts +8 -0
  125. package/dist/default-theme/menu/SidebarActions.d.ts +8 -0
  126. package/dist/default-theme/updateDomCssVariables.d.ts +6 -0
  127. package/dist/helpers/checkRole.d.ts +2 -0
  128. package/dist/helpers/parseAxiosError.d.ts +1 -0
  129. package/dist/hooks/audio/useAudio.d.ts +2 -0
  130. package/dist/hooks/axios.d.ts +5 -0
  131. package/dist/hooks/data/useDashboardStats.d.ts +13 -0
  132. package/dist/hooks/data/usePackageByClientsStats.d.ts +13 -0
  133. package/dist/hooks/data/usePackageByCommunesStats.d.ts +13 -0
  134. package/dist/hooks/data/usePackageStats.d.ts +13 -0
  135. package/dist/hooks/data/usePackageWithdrawDetails.d.ts +25 -0
  136. package/dist/hooks/data/useStats.d.ts +9 -0
  137. package/dist/hooks/isCurrentPath.d.ts +3 -0
  138. package/dist/hooks/notifications/WSMessagesManager.d.ts +4 -0
  139. package/dist/hooks/notifications/WSPusherManager.d.ts +3 -0
  140. package/dist/hooks/useBreadcrumbs.d.ts +21 -0
  141. package/dist/hooks/useClickOutside.d.ts +2 -0
  142. package/dist/hooks/useFormPersistance.d.ts +13 -0
  143. package/dist/hooks/useGlobalErrorMediator.d.ts +5 -0
  144. package/dist/hooks/useGlobalLoaderMgr.d.ts +3 -0
  145. package/dist/hooks/useHash.d.ts +2 -0
  146. package/dist/hooks/useLocalStorage.d.ts +2 -0
  147. package/dist/hooks/usePolyglotTranslation.d.ts +11 -0
  148. package/dist/hooks/usePrevious.d.ts +2 -0
  149. package/dist/hooks/usePrintSelected.d.ts +12 -0
  150. package/dist/hooks/useVirtualHash.d.ts +5 -0
  151. package/dist/hooks/window/useWindowSize.d.ts +6 -0
  152. package/{src/index.tsx → dist/index.d.ts} +22 -91
  153. package/dist/interfaces/IAppResourceConfig.d.ts +10 -0
  154. package/dist/interfaces/Log.d.ts +15 -0
  155. package/dist/interfaces/Tenant.d.ts +25 -0
  156. package/{src/interfaces/communication/IActions.tsx → dist/interfaces/communication/IActions.d.ts} +1 -2
  157. package/{src/interfaces/communication/INotification.tsx → dist/interfaces/communication/INotification.d.ts} +5 -7
  158. package/{src/interfaces/communication/IPayload.tsx → dist/interfaces/communication/IPayload.d.ts} +1 -1
  159. package/dist/interfaces/communication/IRequestAction.d.ts +10 -0
  160. package/dist/interfaces/communication/IRequestPayload.d.ts +7 -0
  161. package/dist/interfaces/communication/IResponseAction.d.ts +7 -0
  162. package/{src/interfaces/misc/IAny.tsx → dist/interfaces/misc/IAny.d.ts} +1 -1
  163. package/dist/interfaces/misc/IFlashMessage.d.ts +10 -0
  164. package/dist/interfaces/navigation/IAppMenu.d.ts +11 -0
  165. package/dist/interfaces/navigation/ICollapsableSidebarMenu.d.ts +10 -0
  166. package/dist/interfaces/navigation/IMenuItem.d.ts +14 -0
  167. package/{src/interfaces/notifications/IModel.tsx → dist/interfaces/notifications/IModel.d.ts} +1 -2
  168. package/dist/interfaces/notifications/IModelField.d.ts +10 -0
  169. package/dist/interfaces/notifications/IUserNotification.d.ts +11 -0
  170. package/{src/interfaces/notifications/IUserNotificationData.tsx → dist/interfaces/notifications/IUserNotificationData.d.ts} +6 -7
  171. package/dist/interfaces/notifications/IUserNotificationPayload.d.ts +10 -0
  172. package/dist/interfaces/user/IGetAuth.d.ts +75 -0
  173. package/dist/interfaces/user/ITenantSettings.d.ts +3 -0
  174. package/dist/interfaces/user/IUser.d.ts +60 -0
  175. package/dist/interfaces/user/IUserSettings.d.ts +36 -0
  176. package/{src/interfaces.tsx → dist/interfaces.d.ts} +5 -6
  177. package/dist/layout/AppLayout.d.ts +5 -0
  178. package/dist/layout/ApplicationLayout.d.ts +22 -0
  179. package/dist/layout/MotionWrapper.d.ts +22 -0
  180. package/dist/layout/MotionWrapper.original.d.ts +22 -0
  181. package/dist/layout/ResourceMenu.d.ts +7 -0
  182. package/dist/layout/ResoureLayout.d.ts +8 -0
  183. package/dist/layout/TransitionWrapper.d.ts +8 -0
  184. package/dist/pages/ChangePassword.d.ts +6 -0
  185. package/dist/pages/DASHLanding.d.ts +5 -0
  186. package/dist/pages/DASHLightWeightLogin.d.ts +6 -0
  187. package/dist/pages/DASHSimpleLogin.d.ts +6 -0
  188. package/dist/pages/Login.d.ts +3 -0
  189. package/dist/pages/Profile.d.ts +3 -0
  190. package/dist/pages/RecoverPassword.d.ts +3 -0
  191. package/dist/pages/SingleImageUploader.d.ts +8 -0
  192. package/dist/pages/VerifyAccount.d.ts +5 -0
  193. package/dist/providers/authProvider.d.ts +15 -0
  194. package/dist/providers/dataProvider.d.ts +31 -0
  195. package/dist/providers/i18n/en.d.ts +569 -0
  196. package/dist/providers/i18n/es.d.ts +2 -0
  197. package/dist/providers/i18n/languages.d.ts +571 -0
  198. package/dist/providers/i18n/mergeTranslations.d.ts +3 -0
  199. package/dist/providers/i18nProvider.d.ts +2 -0
  200. package/dist/react-admin-dash/RADashComponent.d.ts +7 -0
  201. package/dist/react-admin-dash/Resource.d.ts +16 -0
  202. package/dist/resources/Brand/BrandResource.d.ts +3 -0
  203. package/dist/resources/DASHResourceLoader.d.ts +17 -0
  204. package/dist/resources/Log/LogResource.d.ts +3 -0
  205. package/dist/resources/Tenant/ImpersonateTenantResource.d.ts +5 -0
  206. package/dist/resources/Trash/TrashTemplate.d.ts +3 -0
  207. package/dist/resources/User/components/AvatarUploadField.d.ts +6 -0
  208. package/dist/resources/User/components/PasswordFields.d.ts +8 -0
  209. package/dist/resources/User/getProfileMenu.d.ts +4 -0
  210. package/dist/resources/User/profileResource.d.ts +3 -0
  211. package/dist/resources/User/userLayout.d.ts +2 -0
  212. package/dist/resources/User/userResource.d.ts +3 -0
  213. package/dist/resources/User/userSchema.d.ts +3 -0
  214. package/dist/resources/User/usersFilters.d.ts +3 -0
  215. package/dist/resources.d.ts +11 -0
  216. package/dist/schemas/log.d.ts +3 -0
  217. package/dist/schemas/notification.d.ts +3 -0
  218. package/dist/schemas/permissions.d.ts +3 -0
  219. package/dist/schemas/roles.d.ts +3 -0
  220. package/dist/schemas/rolesDataGrid.d.ts +3 -0
  221. package/dist/schemas/subscription/components/SubscriptionActions.d.ts +4 -0
  222. package/dist/schemas/subscription/components/SubscriptionPaymentHistory.d.ts +4 -0
  223. package/dist/schemas/subscription/components/SubscriptionPlanFeatures.d.ts +4 -0
  224. package/dist/schemas/subscription/components/SubscriptionPlanPreview.d.ts +4 -0
  225. package/dist/schemas/subscription/components/SubscriptionPlanStats.d.ts +4 -0
  226. package/dist/schemas/subscription/components/SubscriptionStatusIndicator.d.ts +4 -0
  227. package/dist/schemas/subscription/subscriptionPlanSchema.d.ts +3 -0
  228. package/dist/schemas/subscription/subscriptionSchema.d.ts +3 -0
  229. package/dist/schemas/subscriptionPlan.d.ts +3 -0
  230. package/dist/schemas/tenant.d.ts +3 -0
  231. package/dist/schemas/tenantUser.d.ts +3 -0
  232. package/dist/schemas/tenant_superadmin.d.ts +3 -0
  233. package/dist/schemas/user.d.ts +3 -0
  234. package/dist/systemResources.d.ts +3 -0
  235. package/dist/systemResources.js +18 -2
  236. package/dist/systemResources.old.d.ts +3 -0
  237. package/dist/templates/ResourceTemplate.d.ts +10 -0
  238. package/dist/templates/ResourceTemplateCreate.d.ts +3 -0
  239. package/dist/templates/ResourceTemplateEdit.d.ts +3 -0
  240. package/dist/templates/ResourceTemplateFull.d.ts +7 -0
  241. package/dist/templates/ResourceTemplateList.d.ts +8 -0
  242. package/dist/templates/ResourceTemplateShow.d.ts +3 -0
  243. package/dist/templates/TrashTemplate.d.ts +3 -0
  244. package/dist/tenantResources.d.ts +3 -0
  245. package/dist/test_portal_bubbles.d.ts +2 -0
  246. package/dist/theme/AppHeader.d.ts +6 -0
  247. package/dist/theme/AppLayoutSetting.d.ts +28 -0
  248. package/dist/theme/AppLogo.d.ts +8 -0
  249. package/dist/theme/AppSidebar.d.ts +7 -0
  250. package/dist/theme/AppSidebarContent.d.ts +12 -0
  251. package/dist/theme/AppSidebarLogo.d.ts +9 -0
  252. package/dist/theme/components/PageTitle.d.ts +10 -0
  253. package/dist/utils/cache/CacheInvalidatorContext.d.ts +25 -0
  254. package/dist/utils/cache/CacheInvalidatorListenerComponent.d.ts +3 -0
  255. package/dist/utils/cache/useCacheInvalidatorListener.d.ts +4 -0
  256. package/dist/utils/convertFileToBase64.d.ts +2 -0
  257. package/dist/utils/convertToFile.d.ts +2 -0
  258. package/dist/utils/cookies.d.ts +5 -0
  259. package/dist/utils/dashDefaultQueryClient.d.ts +3 -0
  260. package/dist/utils/dataUrlToBlob.d.ts +2 -0
  261. package/dist/utils/deepReplace.d.ts +2 -0
  262. package/dist/utils/getProfileMenu.d.ts +3 -0
  263. package/dist/utils/getTenantSettings.d.ts +3 -0
  264. package/dist/utils/getType.d.ts +2 -0
  265. package/dist/utils/getUserSettings.d.ts +3 -0
  266. package/dist/utils/hasCode.d.ts +2 -0
  267. package/dist/utils/index.d.ts +19 -0
  268. package/dist/utils/injectTenantStyles.d.ts +2 -0
  269. package/dist/utils/isComponent.d.ts +2 -0
  270. package/dist/utils/navEvents.d.ts +28 -0
  271. package/dist/utils/regexp.d.ts +1 -0
  272. package/dist/utils/resolveObjectPath.d.ts +2 -0
  273. package/dist/utils/setNativeValue.d.ts +2 -0
  274. package/dist/utils/slugify.d.ts +1 -0
  275. package/dist/utils/validators/emailValidator.d.ts +2 -0
  276. package/dist/utils/validators/requiredValidator.d.ts +2 -0
  277. package/dist/utils/validators/rutValidator.d.ts +2 -0
  278. package/dist/utils/validators.d.ts +3 -0
  279. package/package.json +25 -22
  280. package/src/AppAsyncWrapper.tsx +0 -42
  281. package/src/AppWrapper.tsx +0 -45
  282. package/src/DASHAdmin.tsx +0 -502
  283. package/src/DASHAdmin.tsx.old +0 -456
  284. package/src/RoutingWrapper.tsx +0 -143
  285. package/src/classes/DASHStorageClass.tsx +0 -8
  286. package/src/components/Input/RichTextField.tsx +0 -27
  287. package/src/components/Redirect.tsx +0 -46
  288. package/src/components/avatar/Avatar.tsx +0 -71
  289. package/src/components/avatar/SingleImageUploader.tsx +0 -107
  290. package/src/components/currency/Format.tsx +0 -79
  291. package/src/components/custom/Redirect.tsx +0 -23
  292. package/src/components/error/Error.tsx +0 -168
  293. package/src/components/geocoding/GeocodingField.tsx +0 -167
  294. package/src/components/i18n/BridgedLocalesMenuButton.tsx +0 -160
  295. package/src/components/i18n/LangSwitcher.tsx +0 -204
  296. package/src/components/loader/GlobalLoader.tsx +0 -49
  297. package/src/components/logs/LogFile.tsx +0 -88
  298. package/src/components/logs/LogFileById.tsx +0 -68
  299. package/src/components/logs/LogViewer.tsx +0 -43
  300. package/src/components/menu/AppMenu.tsx +0 -22
  301. package/src/components/menu/CustomMenuItemLink.tsx +0 -61
  302. package/src/components/menu/DarkToggleMode.tsx +0 -65
  303. package/src/components/menu/LanguageToggleMode.tsx +0 -120
  304. package/src/components/misc/CustomImageInput.tsx +0 -62
  305. package/src/components/misc/DASHGlobalErrorHandler.tsx +0 -194
  306. package/src/components/misc/DarkModeSwitcher.tsx +0 -112
  307. package/src/components/misc/HorizontalScroller.tsx +0 -225
  308. package/src/components/misc/LanguageSwitcher.tsx +0 -199
  309. package/src/components/misc/MUIHtmlToolTip.tsx +0 -15
  310. package/src/components/misc/MuiSimpleJsonTable.tsx +0 -279
  311. package/src/components/misc/MultiLevelTable.tsx +0 -229
  312. package/src/components/misc/NoResults.tsx +0 -28
  313. package/src/components/misc/PDFViewer.tsx +0 -85
  314. package/src/components/navigation/Breadcrumbs.tsx +0 -220
  315. package/src/components/navigation/BreadcrumbsManager.tsx +0 -310
  316. package/src/components/panel/Error.tsx +0 -168
  317. package/src/components/permission/AvailablePermissionsContext.tsx +0 -173
  318. package/src/components/permission/PermissionsSelector.tsx +0 -834
  319. package/src/components/permission/PermissionsSelectorList.tsx +0 -473
  320. package/src/components/racustombuttons/CustomRAButton.tsx +0 -87
  321. package/src/components/racustombuttons/QuickButton.tsx +0 -117
  322. package/src/components/racustombuttons/QuickEditButton.tsx +0 -115
  323. package/src/components/racustombuttons/QuickIconButton.tsx +0 -122
  324. package/src/components/scrollbar/Scrollbar.tsx +0 -31
  325. package/src/components/selects/MultiSelect.tsx +0 -53
  326. package/src/components/selects/RASearchableSelect.tsx +0 -282
  327. package/src/components/selects/RASearchableSelectChips.tsx +0 -308
  328. package/src/components/selects/SearchableSelect.tsx +0 -139
  329. package/src/components/serviceAccount/ApiKeyRevealDialog.tsx +0 -129
  330. package/src/components/serviceAccount/ServiceAccountStatusSwitch.tsx +0 -99
  331. package/src/components/subscription/BillingCycleSelectInput.tsx +0 -68
  332. package/src/components/subscription/PlanAddonsSettings.tsx +0 -563
  333. package/src/components/subscription/PlanAuditLog.tsx +0 -453
  334. package/src/components/subscription/PlanFeaturesSettings.tsx +0 -243
  335. package/src/components/subscription/PlanLimitsSettings.tsx +0 -230
  336. package/src/components/subscription/PlanMetadataSettings.tsx +0 -306
  337. package/src/components/subscription/PlanPricesSettings.tsx +0 -307
  338. package/src/components/svgelements/SvgLoading.tsx +0 -229
  339. package/src/components/svgelements/SvgLogo.tsx +0 -53
  340. package/src/components/svgelements/SvgLogoMin.tsx +0 -64
  341. package/src/components/svgelements/SvgShipping.tsx +0 -673
  342. package/src/components/tenancy/GlobalTenantWrapper.tsx +0 -84
  343. package/src/components/tenancy/TenantSwitcher.tsx +0 -514
  344. package/src/components/tenant/SettingsSections.tsx +0 -151
  345. package/src/components/tenant/TenancySettings.tsx +0 -122
  346. package/src/components/tenant/TenantAttributes.tsx +0 -153
  347. package/src/components/tenant/TenantAttributesContext.tsx +0 -163
  348. package/src/components/tenant/TenantSelector.tsx +0 -142
  349. package/src/components/tenant/TenantSettings.tsx +0 -184
  350. package/src/components/tenant/TenantSettingsContext.tsx +0 -165
  351. package/src/components/tenant/TenantTheme.tsx +0 -172
  352. package/src/components/user/AvatarComponent.tsx +0 -317
  353. package/src/components/user/TenantAvatarComponent.tsx +0 -99
  354. package/src/components/user/UserPreferences.tsx +0 -677
  355. package/src/config/ACTIONS.tsx +0 -26
  356. package/src/config/ConstantsService.tsx +0 -44
  357. package/src/config/DASHAdminSystemConstants.tsx +0 -183
  358. package/src/config/PARSERS.tsx +0 -9
  359. package/src/contexts/DashQueryClientContext.tsx +0 -113
  360. package/src/contexts/DashResourceContext.tsx +0 -34
  361. package/src/contexts/I18nBridgeContext.tsx +0 -156
  362. package/src/contexts/I18nBridgeSetter.tsx +0 -39
  363. package/src/contexts/I18nReduxSync.tsx +0 -27
  364. package/src/contexts/SubscriptionPlanFormatsProvider.tsx +0 -217
  365. package/src/contexts/SystemRequestsCache.tsx +0 -215
  366. package/src/contexts/auth/AuthContext.tsx +0 -567
  367. package/src/contexts/auth/AuthContextLocalStorage.tsx +0 -140
  368. package/src/contexts/auth/DASHAuthenticationService.tsx +0 -915
  369. package/src/contexts/auth/WindowContext.tsx +0 -15
  370. package/src/contexts/com/FCMContext.tsx +0 -415
  371. package/src/contexts/com/LaravelEchoContext.tsx +0 -41
  372. package/src/contexts/com/LaravelEchoMgr.tsx +0 -155
  373. package/src/contexts/com/components/DefaultNotificationComponent.tsx +0 -20
  374. package/src/contexts/com/components/EchoNotificationsCenter.tsx +0 -65
  375. package/src/contexts/com/components/NotificationAttributesTable.tsx +0 -54
  376. package/src/contexts/com/components/NotificationRenderer.tsx +0 -42
  377. package/src/contexts/com/components/NotificationsWidget.tsx +0 -182
  378. package/src/contexts/com/components/notificationFormats.tsx +0 -50
  379. package/src/contexts/com/useLaravelEcho.tsx +0 -432
  380. package/src/contexts/dictionary/DictionaryContext.tsx +0 -94
  381. package/src/declarations.d.ts +0 -17
  382. package/src/default-theme/DASHAppProviders.tsx +0 -117
  383. package/src/default-theme/DashThemeContext.tsx +0 -209
  384. package/src/default-theme/DashThemeContext.tsx.fast +0 -143
  385. package/src/default-theme/DashThemeContext.tsx.old +0 -306
  386. package/src/default-theme/DashThemeHelperProvider.tsx +0 -98
  387. package/src/default-theme/DomainAppLayout.tsx +0 -166
  388. package/src/default-theme/DomainHeader.tsx +0 -162
  389. package/src/default-theme/DomainTheme.tsx +0 -59
  390. package/src/default-theme/FullLayoutMarkup.tsx +0 -231
  391. package/src/default-theme/StaticLayout.tsx +0 -47
  392. package/src/default-theme/menu/AppDashboardGrid.tsx +0 -279
  393. package/src/default-theme/menu/AppMaterialMenu.tsx +0 -546
  394. package/src/default-theme/menu/AppMenuComponents/SubmenuPortal.tsx +0 -61
  395. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.tsx +0 -264
  396. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.tsx +0 -31
  397. package/src/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.tsx +0 -293
  398. package/src/default-theme/menu/AppMenuComponents/expanded/SidebarItem.tsx +0 -92
  399. package/src/default-theme/menu/AppMenuComponents/getItem.tsx +0 -17
  400. package/src/default-theme/menu/AppMenuComponents/interfaces.tsx +0 -41
  401. package/src/default-theme/menu/AppMenuComponents/submenuConstants.ts +0 -90
  402. package/src/default-theme/menu/AppSidebarMaterial.tsx +0 -339
  403. package/src/default-theme/menu/SidebarActions.tsx +0 -84
  404. package/src/default-theme/updateDomCssVariables.tsx +0 -176
  405. package/src/helpers/checkRole.tsx +0 -66
  406. package/src/helpers/parseAxiosError.tsx +0 -41
  407. package/src/hooks/audio/useAudio.tsx +0 -39
  408. package/src/hooks/axios.tsx +0 -165
  409. package/src/hooks/data/useDashboardStats.tsx +0 -65
  410. package/src/hooks/data/usePackageByClientsStats.tsx +0 -44
  411. package/src/hooks/data/usePackageByCommunesStats.tsx +0 -44
  412. package/src/hooks/data/usePackageStats.tsx +0 -69
  413. package/src/hooks/data/usePackageWithdrawDetails.tsx +0 -61
  414. package/src/hooks/data/useStats.tsx +0 -86
  415. package/src/hooks/isCurrentPath.tsx +0 -22
  416. package/src/hooks/notifications/WSMessagesManager.tsx +0 -152
  417. package/src/hooks/notifications/WSPusherManager.tsx +0 -92
  418. package/src/hooks/useBreadcrumbs.tsx +0 -329
  419. package/src/hooks/useClickOutside.tsx +0 -57
  420. package/src/hooks/useFormPersistance.tsx +0 -150
  421. package/src/hooks/useGlobalErrorMediator.tsx +0 -43
  422. package/src/hooks/useGlobalLoaderMgr.tsx +0 -21
  423. package/src/hooks/useHash.tsx +0 -27
  424. package/src/hooks/useLocalStorage.tsx +0 -196
  425. package/src/hooks/usePolyglotTranslation.tsx +0 -62
  426. package/src/hooks/usePrevious.tsx +0 -9
  427. package/src/hooks/usePrintSelected.tsx +0 -37
  428. package/src/hooks/useVirtualHash.tsx +0 -33
  429. package/src/hooks/window/useWindowSize.tsx +0 -36
  430. package/src/interfaces/IAppResourceConfig.tsx +0 -20
  431. package/src/interfaces/Log.tsx +0 -16
  432. package/src/interfaces/Tenant.tsx +0 -25
  433. package/src/interfaces/communication/IRequestAction.tsx +0 -10
  434. package/src/interfaces/communication/IRequestPayload.tsx +0 -7
  435. package/src/interfaces/communication/IResponseAction.tsx +0 -7
  436. package/src/interfaces/misc/IFlashMessage.tsx +0 -10
  437. package/src/interfaces/navigation/IAppMenu.ts +0 -14
  438. package/src/interfaces/navigation/ICollapsableSidebarMenu.ts +0 -12
  439. package/src/interfaces/navigation/IMenuItem.ts +0 -16
  440. package/src/interfaces/notifications/IModelField.tsx +0 -8
  441. package/src/interfaces/notifications/IUserNotification.tsx +0 -12
  442. package/src/interfaces/notifications/IUserNotificationPayload.tsx +0 -8
  443. package/src/interfaces/user/IGetAuth.tsx +0 -92
  444. package/src/interfaces/user/ITenantSettings.tsx +0 -3
  445. package/src/interfaces/user/IUser.tsx +0 -60
  446. package/src/interfaces/user/IUserSettings.tsx +0 -43
  447. package/src/layout/AppLayout.tsx +0 -112
  448. package/src/layout/ApplicationLayout.tsx +0 -197
  449. package/src/layout/MotionWrapper.original.tsx +0 -236
  450. package/src/layout/MotionWrapper.tsx +0 -236
  451. package/src/layout/ResourceMenu.tsx +0 -164
  452. package/src/layout/ResoureLayout.tsx +0 -105
  453. package/src/layout/TransitionWrapper.tsx +0 -125
  454. package/src/pages/ChangePassword.tsx +0 -179
  455. package/src/pages/DASHLanding.tsx +0 -22
  456. package/src/pages/DASHLightWeightLogin.tsx +0 -611
  457. package/src/pages/DASHSimpleLogin.tsx +0 -260
  458. package/src/pages/Login.tsx +0 -111
  459. package/src/pages/Profile.tsx +0 -357
  460. package/src/pages/RecoverPassword.tsx +0 -175
  461. package/src/pages/SingleImageUploader.tsx +0 -55
  462. package/src/pages/VerifyAccount.tsx +0 -128
  463. package/src/providers/authProvider.tsx +0 -217
  464. package/src/providers/dataProvider.tsx +0 -672
  465. package/src/providers/i18n/en.ts +0 -646
  466. package/src/providers/i18n/es.ts +0 -652
  467. package/src/providers/i18n/languages.tsx +0 -8
  468. package/src/providers/i18n/mergeTranslations.ts +0 -53
  469. package/src/providers/i18nProvider.tsx +0 -23
  470. package/src/react-admin-dash/RADashComponent.tsx +0 -240
  471. package/src/react-admin-dash/Resource.tsx +0 -77
  472. package/src/resources/Brand/BrandResource.tsx +0 -130
  473. package/src/resources/DASHResourceLoader.ts +0 -180
  474. package/src/resources/Log/LogResource.tsx +0 -73
  475. package/src/resources/Tenant/ImpersonateTenantResource.tsx +0 -113
  476. package/src/resources/Trash/TrashTemplate.tsx +0 -180
  477. package/src/resources/User/components/AvatarUploadField.tsx +0 -57
  478. package/src/resources/User/components/PasswordFields.tsx +0 -73
  479. package/src/resources/User/getProfileMenu.ts +0 -57
  480. package/src/resources/User/profileResource.tsx +0 -51
  481. package/src/resources/User/userLayout.tsx +0 -62
  482. package/src/resources/User/userResource.tsx +0 -111
  483. package/src/resources/User/userSchema.tsx +0 -213
  484. package/src/resources/User/usersFilters.tsx +0 -21
  485. package/src/resources.tsx +0 -280
  486. package/src/schemas/log.tsx +0 -45
  487. package/src/schemas/notification.tsx +0 -42
  488. package/src/schemas/permissions.tsx +0 -44
  489. package/src/schemas/roles.tsx +0 -48
  490. package/src/schemas/rolesDataGrid.tsx +0 -48
  491. package/src/schemas/subscription/components/SubscriptionActions.tsx +0 -153
  492. package/src/schemas/subscription/components/SubscriptionPaymentHistory.tsx +0 -127
  493. package/src/schemas/subscription/components/SubscriptionPlanFeatures.tsx +0 -162
  494. package/src/schemas/subscription/components/SubscriptionPlanPreview.tsx +0 -141
  495. package/src/schemas/subscription/components/SubscriptionPlanStats.tsx +0 -318
  496. package/src/schemas/subscription/components/SubscriptionStatusIndicator.tsx +0 -72
  497. package/src/schemas/subscription/subscriptionPlanSchema.tsx +0 -185
  498. package/src/schemas/subscription/subscriptionSchema.tsx +0 -152
  499. package/src/schemas/subscriptionPlan.ts +0 -422
  500. package/src/schemas/tenant.tsx +0 -129
  501. package/src/schemas/tenantUser.tsx +0 -96
  502. package/src/schemas/tenant_superadmin.tsx +0 -119
  503. package/src/schemas/user.tsx +0 -26
  504. package/src/systemResources.old.tsx +0 -928
  505. package/src/systemResources.tsx +0 -1369
  506. package/src/templates/ResourceTemplate.tsx +0 -240
  507. package/src/templates/ResourceTemplate.tsx.memoized_experiment +0 -350
  508. package/src/templates/ResourceTemplate.tsx.original +0 -396
  509. package/src/templates/ResourceTemplateCreate.tsx +0 -182
  510. package/src/templates/ResourceTemplateEdit.tsx +0 -176
  511. package/src/templates/ResourceTemplateFull.tsx +0 -581
  512. package/src/templates/ResourceTemplateList.tsx +0 -340
  513. package/src/templates/ResourceTemplateOld.tsx.bkup +0 -567
  514. package/src/templates/ResourceTemplateShow.tsx +0 -88
  515. package/src/templates/TrashTemplate.tsx +0 -179
  516. package/src/tenantResources.tsx +0 -223
  517. package/src/test_portal_bubbles.tsx +0 -40
  518. package/src/theme/AppHeader.tsx +0 -52
  519. package/src/theme/AppLayoutSetting.tsx +0 -33
  520. package/src/theme/AppLogo.tsx +0 -13
  521. package/src/theme/AppSidebar.tsx +0 -12
  522. package/src/theme/AppSidebarContent.tsx +0 -105
  523. package/src/theme/AppSidebarLogo.tsx +0 -48
  524. package/src/theme/components/PageTitle.tsx +0 -37
  525. package/src/utils/cache/CacheInvalidatorContext.tsx +0 -125
  526. package/src/utils/cache/CacheInvalidatorListenerComponent.tsx +0 -10
  527. package/src/utils/cache/useCacheInvalidatorListener.tsx +0 -27
  528. package/src/utils/convertFileToBase64.tsx +0 -9
  529. package/src/utils/convertToFile.tsx +0 -14
  530. package/src/utils/cookies.tsx +0 -33
  531. package/src/utils/dashDefaultQueryClient.tsx +0 -34
  532. package/src/utils/dataUrlToBlob.tsx +0 -30
  533. package/src/utils/deepReplace.tsx +0 -19
  534. package/src/utils/getProfileMenu.tsx +0 -41
  535. package/src/utils/getTenantSettings.tsx +0 -9
  536. package/src/utils/getType.tsx +0 -8
  537. package/src/utils/getUserSettings.tsx +0 -8
  538. package/src/utils/hasCode.tsx +0 -14
  539. package/src/utils/index.ts +0 -19
  540. package/src/utils/injectTenantStyles.ts +0 -28
  541. package/src/utils/isComponent.tsx +0 -45
  542. package/src/utils/navEvents.tsx +0 -91
  543. package/src/utils/prototypes.tsx +0 -5
  544. package/src/utils/regexp.tsx +0 -4
  545. package/src/utils/resolveObjectPath.tsx +0 -4
  546. package/src/utils/setNativeValue.tsx +0 -24
  547. package/src/utils/slugify.tsx +0 -11
  548. package/src/utils/validators/emailValidator.tsx +0 -6
  549. package/src/utils/validators/requiredValidator.tsx +0 -5
  550. package/src/utils/validators/rutValidator.tsx +0 -31
  551. package/src/utils/validators.tsx +0 -96
  552. /package/{src/components/permission/tsx → dist/components/tenant/AvailablePermissionsContext.d.ts} +0 -0
  553. /package/{src/components/tenant/AvailablePermissionsContext.tsx → dist/utils/prototypes.d.ts} +0 -0
@@ -1,236 +0,0 @@
1
- import { motion } from "framer-motion";
2
- import { Outlet } from "react-router";
3
- import React, { useEffect, useState } from 'react';
4
- import { createPortal } from 'react-dom';
5
-
6
- export interface IMotionWrapper {
7
- pageTransition?: boolean,
8
- loadingSpinner?: boolean,
9
- transitionDuration?: number
10
- maxTimeOut?: number
11
- initialShow?: boolean
12
- usePortalForBackground?: boolean // Control portal usage for background
13
- usePortalForSpinner?: boolean // Control portal usage for spinner
14
- portalTarget?: string | HTMLElement // Target element for portal
15
- spinnerPortalTarget?: string | HTMLElement // Separate target for spinner portal
16
- }
17
-
18
- /*
19
-
20
- // Both background and spinner in portals (same target)
21
- <MotionWrapper
22
- usePortalForBackground={true}
23
- usePortalForSpinner={true}
24
- initialShow={true}
25
- />
26
-
27
- // Both in portals with different targets
28
- <MotionWrapper
29
- usePortalForBackground={true}
30
- usePortalForSpinner={true}
31
- portalTarget="#app-background"
32
- spinnerPortalTarget="#app-spinner"
33
- initialShow={true}
34
- />
35
-
36
- // Only spinner in portal
37
- <MotionWrapper
38
- usePortalForSpinner={true}
39
- spinnerPortalTarget="body"
40
- initialShow={true}
41
- />
42
-
43
- // Normal rendering (default behavior)
44
- <MotionWrapper initialShow={true} />
45
- */
46
-
47
- export const SpinnerComponent: React.FC<{ transitionDuration: number, show: boolean }> = ({ transitionDuration, show }) => {
48
- return <motion.div layout
49
- className={`${show ? 'slide-in' : 'slide-out'} lds-ring`}
50
- initial={{ scaleY: 1, scaleX: 1 }}
51
- animate={{ scaleY: 0, scaleX: 0 }}
52
- exit={{ scaleY: 1, scaleX: 1 }}
53
- transition={{ duration: transitionDuration, ease: [0.33, 1, 0.33, 1] }}
54
- variants={{
55
- initial: {
56
- opacity: 1,
57
- transition: { duration: transitionDuration },
58
- },
59
- in: {
60
- opacity: 0,
61
- transition: { duration: transitionDuration },
62
- },
63
- out: {
64
- opacity: 1,
65
- transition: { duration: transitionDuration },
66
- },
67
- }}
68
- style={{
69
- position: 'fixed',
70
- top: '50%',
71
- left: '50%',
72
- transform: 'translate(-50%, -50%)',
73
- zIndex: 10000, // Higher than background
74
- pointerEvents: 'none'
75
- }}
76
- >
77
- <div></div>
78
- <div></div>
79
- <div></div>
80
- <div></div>
81
- </motion.div>
82
- }
83
-
84
- export const MotionWrapperBackground: React.FC<{ transitionDuration: number, show: boolean }> = ({ transitionDuration, show }) => {
85
- return <motion.div layout
86
- className={'motion-wrapper-bg'}
87
- initial={{ scaleY: 1, scaleX: 1 }}
88
- animate={{ scaleY: 0, scaleX: 0 }}
89
- exit={{ scaleY: 1, scaleX: 1 }}
90
- transition={{ duration: transitionDuration, ease: [0.33, 1, 0.33, 1] }}
91
- variants={{
92
- initial: {
93
- opacity: 1,
94
- transition: { duration: transitionDuration },
95
- },
96
- in: {
97
- opacity: 0,
98
- transition: { duration: transitionDuration },
99
- },
100
- out: {
101
- opacity: 1,
102
- transition: { duration: transitionDuration },
103
- },
104
- }}
105
- style={{
106
- position: 'fixed',
107
- top: 0,
108
- left: 0,
109
- width: '100vw',
110
- height: '100vh',
111
- zIndex: 9999, // High z-index for portal usage
112
- pointerEvents: 'none' // Allow clicks to pass through
113
- }}
114
- />
115
- }
116
-
117
- const MotionWrapper: React.FC<IMotionWrapper> = (props) => {
118
- const {
119
- pageTransition = true,
120
- loadingSpinner = true,
121
- transitionDuration = 0.5,
122
- maxTimeOut = 1000,
123
- initialShow = false,
124
- usePortalForBackground = false,
125
- usePortalForSpinner = false,
126
- portalTarget = 'body',
127
- spinnerPortalTarget = 'body'
128
- } = props;
129
-
130
- const [show, setShow] = useState(initialShow);
131
- const [isAnimating, setIsAnimating] = useState(false);
132
- const [backgroundPortalContainer, setBackgroundPortalContainer] = useState<HTMLElement | null>(null);
133
- const [spinnerPortalContainer, setSpinnerPortalContainer] = useState<HTMLElement | null>(null);
134
-
135
- // Set up portal containers
136
- useEffect(() => {
137
- // Background portal container
138
- if (usePortalForBackground) {
139
- let container: HTMLElement;
140
-
141
- if (typeof portalTarget === 'string') {
142
- container = document.querySelector(portalTarget) as HTMLElement;
143
- if (!container) {
144
- container = document.body; // Fallback to body
145
- }
146
- } else {
147
- container = portalTarget;
148
- }
149
-
150
- setBackgroundPortalContainer(container);
151
- }
152
-
153
- // Spinner portal container
154
- if (usePortalForSpinner) {
155
- let container: HTMLElement;
156
-
157
- if (typeof spinnerPortalTarget === 'string') {
158
- container = document.querySelector(spinnerPortalTarget) as HTMLElement;
159
- if (!container) {
160
- container = document.body; // Fallback to body
161
- }
162
- } else {
163
- container = spinnerPortalTarget;
164
- }
165
-
166
- setSpinnerPortalContainer(container);
167
- }
168
- }, [usePortalForBackground, usePortalForSpinner, portalTarget, spinnerPortalTarget]);
169
-
170
- // Update local state when initialShow prop changes
171
- useEffect(() => {
172
- if (initialShow && !isAnimating) {
173
- setIsAnimating(true);
174
- setShow(true);
175
-
176
- // Set up timeout to hide elements after maxTimeOut
177
- const timer = setTimeout(() => {
178
- setShow(false);
179
- // Add a small delay before marking animation as complete
180
- setTimeout(() => {
181
- setIsAnimating(false);
182
- }, transitionDuration * 1000);
183
- }, maxTimeOut);
184
-
185
- return () => {
186
- clearTimeout(timer);
187
- };
188
- }
189
- }, [initialShow, maxTimeOut, transitionDuration, isAnimating]);
190
-
191
- const renderBackground = () => {
192
- if (!pageTransition) return null;
193
-
194
- const backgroundComponent = (
195
- <MotionWrapperBackground
196
- transitionDuration={transitionDuration}
197
- show={show}
198
- />
199
- );
200
-
201
- // Render in portal if enabled and container is available
202
- if (usePortalForBackground && backgroundPortalContainer) {
203
- return createPortal(backgroundComponent, backgroundPortalContainer);
204
- }
205
-
206
- // Render normally
207
- return backgroundComponent;
208
- };
209
-
210
- const renderSpinner = () => {
211
- if (!loadingSpinner) return null;
212
-
213
- const spinnerComponent = (
214
- <SpinnerComponent
215
- transitionDuration={transitionDuration}
216
- show={show}
217
- />
218
- );
219
-
220
- // Render in portal if enabled and container is available
221
- if (usePortalForSpinner && spinnerPortalContainer) {
222
- return createPortal(spinnerComponent, spinnerPortalContainer);
223
- }
224
-
225
- // Render normally
226
- return spinnerComponent;
227
- };
228
-
229
- return <>
230
- {renderSpinner()}
231
- {renderBackground()}
232
- <Outlet />
233
- </>;
234
- }
235
-
236
- export default MotionWrapper;
@@ -1,164 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import { useRedirect, useRefresh, useTranslate } from 'react-admin';
3
- import { useDispatch } from 'react-redux';
4
- import { useLocation } from 'react-router';
5
- import IAppResourceConfig from '../interfaces/IAppResourceConfig';
6
- import { IPageState, DASH_REDUX_ACTIONS } from 'dash-admin-state';
7
- import useVirtualHash from '../hooks/useVirtualHash';
8
- import { Button, ButtonGroup } from '@mui/material';
9
- import DashResourceButton from 'dash-auto-admin/src/toolbar/buttons/DashResourceButton';
10
- import RefreshIcon from '@mui/icons-material/Refresh';
11
-
12
- /**
13
- * Check if a string looks like a translation key
14
- */
15
- const isTranslationKey = (value: string): boolean => {
16
- if (!value || typeof value !== 'string') return false;
17
- // Translation keys typically contain dots and are lowercase
18
- return value.includes('.') && value === value.toLowerCase();
19
- };
20
-
21
- export interface IResourceMenu {
22
- resourceConfig: IAppResourceConfig;
23
- locale?: string;
24
- }
25
-
26
- /**
27
- * Resource Menu
28
- *
29
- * @description Renders the op tabs navigation menu
30
- *
31
- * @param {IResourceMenu} props - Functional Component Props
32
- * @param {IDashAutoAdminResourceConfig} props.resourceConfig - Resource Config
33
- *
34
- * @returns {JSX.Element} - JSX element
35
- */
36
- const ResourceMenu: React.FC<IResourceMenu> = (props) => {
37
- const { resourceConfig, locale } = props;
38
- const { resourceMenuDisabled = false, resourceMenuPosition = 'top' } =
39
- resourceConfig;
40
-
41
- const redirect = useRedirect();
42
- const translate = useTranslate();
43
- const { hash, setVirtualHash } = useVirtualHash();
44
- const location = useLocation();
45
-
46
- /**
47
- * Translate a label if it's a translation key, otherwise return as-is
48
- */
49
- const translateLabel = (label: string): string => {
50
- if (!label) return '';
51
- if (isTranslationKey(label)) {
52
- const translated = translate(label, { _: label });
53
- // If translation returns the key itself, use the label as-is
54
- return translated === label ? label : translated;
55
- }
56
- return label;
57
- };
58
-
59
- const dispatch = useDispatch();
60
- const updatePageState = (menuItem) => {
61
- const newPageState: IPageState = {
62
- title: translateLabel(menuItem?.title),
63
- //icon: item?.icon,
64
- //subTitle: item?.group,
65
- };
66
- dispatch(DASH_REDUX_ACTIONS.updatePage(newPageState));
67
- };
68
-
69
- const handleMenuClick = (menuItem, e) => {
70
- updatePageState(menuItem);
71
-
72
- // @deprecated - removed currentAppPath logic that caused path duplication
73
- let _redirect = menuItem.redirect?.startsWith('/')
74
- ? menuItem.redirect
75
- : `/${menuItem.redirect}`.replace(/\/+/g, '/');
76
-
77
-
78
-
79
- menuItem.redirect ? redirect(_redirect) : menuItem?.onClick();
80
- };
81
-
82
-
83
- const [resourceMenu, setResourceMenu] = useState(null);
84
- const loc = useLocation();
85
-
86
- useEffect(() => {
87
- const val = Array.isArray(resourceConfig.menu)
88
- ? resourceConfig.menu
89
- : typeof resourceConfig.menu === 'function'
90
- ? resourceConfig.menu()
91
- : null;
92
- setResourceMenu(val);
93
- }, [resourceConfig.menu, locale]);
94
-
95
- useEffect(() => {
96
- const val = Array.isArray(resourceConfig.menu)
97
- ? resourceConfig.menu
98
- : typeof resourceConfig.menu === 'function'
99
- ? resourceConfig.menu()
100
- : null;
101
- setResourceMenu(val);
102
- }, [loc, resourceConfig.menu, locale]);
103
-
104
- //const refresh = useRefresh();
105
-
106
- return (
107
- <div className={`dash-module-${resourceMenuPosition}`}>
108
-
109
-
110
-
111
-
112
- {resourceConfig.mainAction && (
113
- <div className='dash-module-action'>
114
-
115
-
116
-
117
- {/* <DashResourceButton
118
- resourceConfig={resourceConfig}
119
- label={"Refrescar"}
120
- mode={resourceConfig.mainAction?.mode || 'custom'} >
121
- <Button
122
- onClick={() => refresh()}
123
- >
124
- <RefreshIcon />
125
- </Button>
126
- </DashResourceButton>*/}
127
-
128
-
129
- {(resourceConfig.create !== false) && !location.pathname.endsWith('/create') && <DashResourceButton
130
- size='small'
131
- resourceConfig={resourceConfig}
132
- label={translateLabel(resourceConfig.mainAction.title)}
133
- mode={resourceConfig.mainAction?.mode || 'create'} />
134
- }
135
- {resourceConfig.navActions && resourceConfig.navActions.map((action) => action)}
136
-
137
- </div>
138
- )}
139
- <div className={`dash-module-${resourceMenuPosition}-content`}>
140
- <ul className='dash-module-horizontal-nav'>
141
- {resourceMenu &&
142
- resourceMenu.map((menuItem, index) => {
143
- let active: boolean = location.pathname === menuItem?.redirect;
144
- return (
145
- <li
146
- key={index}
147
- onClick={(e) => handleMenuClick(menuItem, e)}
148
- className={active ? 'active' : null}
149
- >
150
- <span className={'dash-link'}>
151
- <i className={`icon icon-${menuItem?.icon}`} />
152
- <span>{translateLabel(menuItem.title)}</span>
153
- </span>
154
- </li>
155
- );
156
- })}
157
- </ul>
158
-
159
- </div>
160
- </div>
161
- );
162
- };
163
-
164
- export default ResourceMenu;
@@ -1,105 +0,0 @@
1
- import React, { PropsWithChildren, useMemo } from 'react';
2
- import ResourceMenu from './ResourceMenu';
3
- import IAppResourceConfig from '../interfaces/IAppResourceConfig';
4
- import { IDashAutoAdminResourceConfig } from 'dash-auto-admin';
5
-
6
- /**
7
- * Resource Layout
8
- *
9
- * @description The resource is the wrapper for all the views methods available in the ResourceTemplate such as ['show','edit','list','view']
10
- * its parent HoC is the ResourceTemplate
11
- * The main goal is to provide a side navigation around the main content.
12
- *
13
- * Notice: side styles are not implemented in DASH V2 project
14
- *
15
- * @param {IResourceLayout} props - Functional Component Props
16
- * @param {IDashAutoAdminResourceConfig} props.resourceConfig - Resource Config
17
- * @param {string} props.position - "top"
18
- * @param {boolean} props.showToolbar - default true, shows or hide the navigation toolbar
19
- * @param {JSX.Element} props.children - Children content such as Show, Edit, DataGrid
20
- *
21
- * @returns {JSX.Element} - JSX element
22
- */
23
-
24
- export interface IResourceLayout extends PropsWithChildren {
25
- /** React Auto Admin Resource Config */
26
- resourceConfig: IAppResourceConfig;
27
- /** Current locale */
28
- locale?: string;
29
- }
30
-
31
- // Memoized ResourceMenu component
32
- const MemoizedResourceMenu = React.memo(({
33
- resourceConfig,
34
- locale
35
- }: {
36
- resourceConfig: IAppResourceConfig;
37
- locale?: string;
38
- }) => (
39
- <ResourceMenu resourceConfig={resourceConfig} locale={locale} />
40
- ), (prevProps, nextProps) => {
41
- return prevProps.resourceConfig === nextProps.resourceConfig && prevProps.locale === nextProps.locale;
42
- });
43
-
44
- const ResourceLayout: React.FC<IResourceLayout> = (props) => {
45
- const { resourceConfig, children, locale } = props;
46
-
47
- // Memoize the destructured values to prevent unnecessary recalculations
48
- const { resourceMenuDisabled, resourceMenuPosition } = useMemo(() => ({
49
- resourceMenuDisabled: resourceConfig.resourceMenuDisabled ?? false,
50
- resourceMenuPosition: resourceConfig.resourceMenuPosition ?? 'top'
51
- }), [resourceConfig.resourceMenuDisabled, resourceConfig.resourceMenuPosition]);
52
-
53
- // Memoize the condition for showing the menu
54
- const shouldShowMenu = useMemo(() => {
55
-
56
- return (resourceConfig.mainAction ||
57
- (resourceConfig.menu && resourceConfig.menu.length > 0)) &&
58
- !resourceMenuDisabled;
59
- }, [
60
- resourceConfig.mainAction,
61
- resourceConfig.menu,
62
- resourceMenuDisabled
63
- ]);
64
-
65
- // Memoize the header content
66
- const headerContent = useMemo(() => {
67
- if (!shouldShowMenu) return null;
68
-
69
- return (
70
- <div className='dash-module-box-header'>
71
- <div className='dash-module-sidenav dash-d-none dash-d-lg-flex'>
72
- <MemoizedResourceMenu resourceConfig={resourceConfig} locale={locale} />
73
- </div>
74
- </div>
75
- );
76
- }, [shouldShowMenu, resourceConfig]);
77
-
78
- return (
79
- <div className='dash-app-module'>
80
- <div className='dash-module-horizontal-box' style={{ maxWidth: '100%' }}>
81
- {headerContent}
82
- <div className='dash-module-box-content'>
83
- {children}
84
- </div>
85
- </div>
86
- </div>
87
- );
88
- };
89
-
90
- // Memoize the entire component
91
- export default React.memo(ResourceLayout, (prevProps, nextProps) => {
92
- // Compare resourceConfig reference and locale
93
- const propsEqual = prevProps.resourceConfig === nextProps.resourceConfig &&
94
- prevProps.locale === nextProps.locale;
95
-
96
- // Debug logging (remove in production)
97
- if (!propsEqual) {
98
- console.log('ResourceLayout re-rendering:', {
99
- resourceConfigChanged: prevProps.resourceConfig !== nextProps.resourceConfig,
100
- localeChanged: prevProps.locale !== nextProps.locale
101
- });
102
- }
103
-
104
- return propsEqual;
105
- });
@@ -1,125 +0,0 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { Outlet, useLocation } from 'react-router-dom';
3
-
4
- export interface ITransitionWrapper {
5
- pageTransition?: boolean;
6
- loadingSpinner?: boolean;
7
- transitionDuration?: number;
8
- }
9
-
10
- const TransitionWrapper: React.FC<ITransitionWrapper> = (props) => {
11
- const {
12
- pageTransition = true,
13
- loadingSpinner = true,
14
- transitionDuration = 500 // in ms
15
- } = props;
16
-
17
- const location = useLocation();
18
- const [displayLocation, setDisplayLocation] = useState(location);
19
- const [showSpinner, setShowSpinner] = useState(false);
20
- const [spinnerOpacity, setSpinnerOpacity] = useState(0);
21
- const [isReady, setIsReady] = useState(true);
22
-
23
- useEffect(() => {
24
- // Skip transition for same route
25
- if (!pageTransition || location.pathname === displayLocation.pathname) {
26
- return;
27
- }
28
-
29
- // Sequence the transition
30
- const sequence = async () => {
31
- // Step 1: Mark as not ready (prevents premature outlet updates)
32
- setIsReady(false);
33
-
34
- // Step 2: Show spinner container with opacity 0
35
- setShowSpinner(true);
36
-
37
- // Step 3: Wait a frame to ensure DOM is updated
38
- await new Promise(resolve => requestAnimationFrame(resolve));
39
-
40
- // Step 4: Fade in spinner
41
- setSpinnerOpacity(1);
42
-
43
- // Step 5: Wait for spinner to fully fade in
44
- await new Promise(resolve => setTimeout(resolve, transitionDuration));
45
-
46
- // Step 6: Update outlet content (while spinner is fully visible)
47
- setDisplayLocation(location);
48
-
49
- // Step 7: Wait a moment to ensure outlet content is updated
50
- await new Promise(resolve => setTimeout(resolve, 100));
51
-
52
- // Step 8: Start fading out spinner
53
- setSpinnerOpacity(0);
54
-
55
- // Step 9: Wait for spinner to fully fade out
56
- await new Promise(resolve => setTimeout(resolve, transitionDuration));
57
-
58
- // Step 10: Hide spinner container
59
- setShowSpinner(false);
60
-
61
- // Step 11: Mark as ready for next transition
62
- setIsReady(true);
63
- };
64
-
65
- sequence();
66
- }, [location, displayLocation, pageTransition, transitionDuration]);
67
-
68
- return (
69
- <div className="transition-container" style={{ position: 'relative', height: '100%' }}>
70
- {/* Main content */}
71
- <div>
72
- <Outlet key={displayLocation.pathname} />
73
- </div>
74
-
75
- {/* Spinner overlay */}
76
- {loadingSpinner && showSpinner && (
77
- <div
78
- style={{
79
- position: 'fixed',
80
- top: 0,
81
- left: 0,
82
- right: 0,
83
- bottom: 0,
84
- backgroundColor: 'rgba(255, 255, 255, 0.8)',
85
- display: 'flex',
86
- justifyContent: 'center',
87
- alignItems: 'center',
88
- zIndex: 1000,
89
- opacity: spinnerOpacity,
90
- transition: `opacity ${transitionDuration}ms ease-in-out`,
91
- }}
92
- >
93
- <div className="spinner">
94
- <style>{`
95
- .spinner {
96
- display: inline-block;
97
- position: relative;
98
- width: 80px;
99
- height: 80px;
100
- }
101
- .spinner:after {
102
- content: " ";
103
- display: block;
104
- border-radius: 50%;
105
- width: 0;
106
- height: 0;
107
- margin: 8px;
108
- box-sizing: border-box;
109
- border: 32px solid #3f51b5;
110
- border-color: #3f51b5 transparent #3f51b5 transparent;
111
- animation: spinner 1.2s infinite;
112
- }
113
- @keyframes spinner {
114
- 0% { transform: rotate(0); }
115
- 100% { transform: rotate(360deg); }
116
- }
117
- `}</style>
118
- </div>
119
- </div>
120
- )}
121
- </div>
122
- );
123
- };
124
-
125
- export default TransitionWrapper;