@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,329 +0,0 @@
1
- import { useCallback, useEffect, useMemo } from 'react';
2
- import { useLocation, useParams } from 'react-router-dom';
3
- import { useDispatch, useSelector } from 'react-redux';
4
- import { useStore } from 'react-admin';
5
- import { IBreadcrumbItem, IDASHAppState, DASH_REDUX_ACTIONS, IPageState } from 'dash-admin-state';
6
- import { IDashAutoAdminResourceConfig } from 'dash-auto-admin';
7
- import { DASHAdminSystemConstants } from 'dash-constants';
8
-
9
- // ============================================================================
10
- // TYPES & INTERFACES
11
- // ============================================================================
12
-
13
- export interface UseBreadcrumbsOptions {
14
- /** Whether to auto-update breadcrumbs on route change */
15
- autoUpdate?: boolean;
16
- /** Custom label map for route segments */
17
- labelMap?: Record<string, string>;
18
- /** Whether to include the home item */
19
- includeHome?: boolean;
20
- /** Home path */
21
- homePath?: string;
22
- /** Home label */
23
- homeLabel?: string;
24
- /** Custom breadcrumb generator function */
25
- customGenerator?: (pathname: string, resourceConfig?: IDashAutoAdminResourceConfig) => IBreadcrumbItem[];
26
- /** Whether to fetch record name for detail pages */
27
- fetchRecordName?: boolean;
28
- /** Field to use as record name (default: 'name') */
29
- recordNameField?: string;
30
- }
31
-
32
- export interface UseBreadcrumbsResult {
33
- /** Current breadcrumbs */
34
- breadcrumbs: IBreadcrumbItem[];
35
- /** Manually set breadcrumbs */
36
- setBreadcrumbs: (items: IBreadcrumbItem[]) => void;
37
- /** Add a breadcrumb item */
38
- addBreadcrumb: (item: IBreadcrumbItem) => void;
39
- /** Clear all breadcrumbs */
40
- clearBreadcrumbs: () => void;
41
- /** Current pathname */
42
- pathname: string;
43
- }
44
-
45
- // ============================================================================
46
- // DEFAULT LABEL MAPPINGS
47
- // ============================================================================
48
-
49
- const defaultLabelMap: Record<string, string> = {
50
- // Common actions
51
- 'create': 'Crear',
52
- 'edit': 'Editar',
53
- 'show': 'Ver',
54
- 'list': 'Lista',
55
- 'inline': 'Detalle',
56
- 'trash': 'Papelera',
57
-
58
- // Common routes
59
- 'admin': 'Admin',
60
- 'system': 'Sistema',
61
- 'settings': 'Configuración',
62
- 'users': 'Usuarios',
63
- 'roles': 'Roles',
64
- 'permissions': 'Permisos',
65
- 'tenants': 'Tenants',
66
- 'profile': 'Perfil',
67
- 'dashboard': 'Dashboard',
68
- };
69
-
70
- // ============================================================================
71
- // HELPER FUNCTIONS
72
- // ============================================================================
73
-
74
- /**
75
- * Parse a route segment into a readable label
76
- */
77
- const parseSegmentLabel = (
78
- segment: string,
79
- labelMap: Record<string, string>,
80
- resourceConfig?: IDashAutoAdminResourceConfig
81
- ): string => {
82
- // Check custom label map first
83
- if (labelMap[segment]) {
84
- return labelMap[segment];
85
- }
86
-
87
- // Check default label map
88
- if (defaultLabelMap[segment]) {
89
- return defaultLabelMap[segment];
90
- }
91
-
92
- // Check if segment matches resource model
93
- if (resourceConfig && resourceConfig.model?.includes(segment)) {
94
- return resourceConfig.label || segment;
95
- }
96
-
97
- // Convert kebab-case or snake_case to Title Case
98
- return segment
99
- .replace(/[-_]/g, ' ')
100
- .replace(/\b\w/g, char => char.toUpperCase());
101
- };
102
-
103
- /**
104
- * Check if a segment is an ID (numeric or UUID-like)
105
- */
106
- const isIdSegment = (segment: string): boolean => {
107
- // Check for numeric ID
108
- if (/^\d+$/.test(segment)) {
109
- return true;
110
- }
111
- // Check for UUID
112
- if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(segment)) {
113
- return true;
114
- }
115
- // Check for short hash-like IDs
116
- if (/^[a-z0-9]{20,}$/i.test(segment)) {
117
- return true;
118
- }
119
- return false;
120
- };
121
-
122
- /**
123
- * Generate breadcrumbs from pathname
124
- */
125
- const generateBreadcrumbsFromPath = (
126
- pathname: string,
127
- labelMap: Record<string, string>,
128
- resourceConfig?: IDashAutoAdminResourceConfig,
129
- includeHome?: boolean,
130
- homePath?: string,
131
- homeLabel?: string,
132
- recordName?: string
133
- ): IBreadcrumbItem[] => {
134
- const URL_PREFIX = DASHAdminSystemConstants.system.URL_PREFIX || '';
135
-
136
- // Remove URL prefix and clean path
137
- let cleanPath = pathname;
138
- if (URL_PREFIX && cleanPath.startsWith(URL_PREFIX)) {
139
- cleanPath = cleanPath.slice(URL_PREFIX.length);
140
- }
141
-
142
- // Split into segments and filter empty ones
143
- const segments = cleanPath.split('/').filter(Boolean);
144
-
145
- if (segments.length === 0) {
146
- return [];
147
- }
148
-
149
- const breadcrumbs: IBreadcrumbItem[] = [];
150
-
151
- // Add home item if requested
152
- if (includeHome) {
153
- breadcrumbs.push({
154
- label: homeLabel || 'Home',
155
- path: homePath || '/',
156
- });
157
- }
158
-
159
- let currentPath = URL_PREFIX;
160
-
161
- // Ensure path starts with slash if prefix doesn't have one
162
- if (currentPath && !currentPath.startsWith('/')) {
163
- currentPath = `/${currentPath}`;
164
- }
165
-
166
- let lastIdIndex = -1;
167
-
168
- segments.forEach((segment, index) => {
169
- currentPath += `/${segment}`;
170
- const isLast = index === segments.length - 1;
171
- const isId = isIdSegment(segment);
172
-
173
- // Skip adding ID segments directly, we'll handle them specially
174
- if (isId) {
175
- lastIdIndex = index;
176
- // If we have a record name and this is related to the last ID, use it
177
- if (recordName && isLast) {
178
- breadcrumbs.push({
179
- label: recordName,
180
- path: isLast ? undefined : currentPath,
181
- isActive: isLast,
182
- });
183
- } else {
184
- // Use a generic "Record #ID" label
185
- breadcrumbs.push({
186
- label: `#${segment.substring(0, 8)}${segment.length > 8 ? '...' : ''}`,
187
- path: isLast ? undefined : currentPath,
188
- isActive: isLast,
189
- data: { id: segment },
190
- });
191
- }
192
- return;
193
- }
194
-
195
- // Get the label for this segment
196
- const label = parseSegmentLabel(segment, labelMap, resourceConfig);
197
-
198
- breadcrumbs.push({
199
- label,
200
- path: isLast ? undefined : currentPath,
201
- isActive: isLast,
202
- });
203
- });
204
-
205
- return breadcrumbs;
206
- };
207
-
208
- // ============================================================================
209
- // HOOK
210
- // ============================================================================
211
-
212
- export const useBreadcrumbs = (options: UseBreadcrumbsOptions = {}): UseBreadcrumbsResult => {
213
- const {
214
- autoUpdate = true,
215
- labelMap = {},
216
- includeHome = false,
217
- homePath = '/',
218
- homeLabel = 'Home',
219
- customGenerator,
220
- fetchRecordName = true,
221
- recordNameField = 'name',
222
- } = options;
223
-
224
- const dispatch = useDispatch();
225
- const location = useLocation();
226
- const params = useParams();
227
-
228
- // Get resource config from store
229
- const [resourceConfig] = useStore<IDashAutoAdminResourceConfig>('resourceConfig');
230
-
231
- // Get current page state including existing breadcrumbs
232
- const pageState: IPageState = useSelector(
233
- (state: IDASHAppState<any, any, IDashAutoAdminResourceConfig>) => state.page
234
- );
235
-
236
- // Note: Record context is not available at the layout level
237
- // Use the record prop in options if you need to pass record data
238
- const record: any = null;
239
-
240
- // Merge label maps
241
- const mergedLabelMap = useMemo(() => ({
242
- ...defaultLabelMap,
243
- ...labelMap,
244
- }), [labelMap]);
245
-
246
- // Get record name from record context
247
- const recordName = useMemo(() => {
248
- if (!fetchRecordName || !record) return undefined;
249
-
250
- // Try common name fields
251
- const nameFields = [recordNameField, 'name', 'title', 'label', 'displayName', 'username'];
252
- for (const field of nameFields) {
253
- if (record[field]) {
254
- return String(record[field]);
255
- }
256
- }
257
-
258
- // Use recordRepresentation if available
259
- if (resourceConfig?.recordRepresentation) {
260
- const repr = resourceConfig.recordRepresentation;
261
- if (typeof repr === 'string' && record[repr]) {
262
- return String(record[repr]);
263
- }
264
- }
265
-
266
- return undefined;
267
- }, [record, fetchRecordName, recordNameField, resourceConfig]);
268
-
269
- // Generate breadcrumbs
270
- const breadcrumbs = useMemo(() => {
271
- if (customGenerator) {
272
- return customGenerator(location.pathname, resourceConfig);
273
- }
274
-
275
- return generateBreadcrumbsFromPath(
276
- location.pathname,
277
- mergedLabelMap,
278
- resourceConfig,
279
- includeHome,
280
- homePath,
281
- homeLabel,
282
- recordName
283
- );
284
- }, [
285
- location.pathname,
286
- mergedLabelMap,
287
- resourceConfig,
288
- includeHome,
289
- homePath,
290
- homeLabel,
291
- recordName,
292
- customGenerator,
293
- ]);
294
-
295
- // Set breadcrumbs action
296
- const setBreadcrumbs = useCallback((items: IBreadcrumbItem[]) => {
297
- dispatch(DASH_REDUX_ACTIONS.updatePage({ breadcrumbs: items }));
298
- }, [dispatch]);
299
-
300
- // Add breadcrumb action
301
- const addBreadcrumb = useCallback((item: IBreadcrumbItem) => {
302
- const currentBreadcrumbs = pageState.breadcrumbs || [];
303
- dispatch(DASH_REDUX_ACTIONS.updatePage({
304
- breadcrumbs: [...currentBreadcrumbs, item]
305
- }));
306
- }, [dispatch, pageState.breadcrumbs]);
307
-
308
- // Clear breadcrumbs action
309
- const clearBreadcrumbs = useCallback(() => {
310
- dispatch(DASH_REDUX_ACTIONS.updatePage({ breadcrumbs: [] }));
311
- }, [dispatch]);
312
-
313
- // Auto-update breadcrumbs on route change
314
- useEffect(() => {
315
- if (autoUpdate && breadcrumbs.length > 0) {
316
- setBreadcrumbs(breadcrumbs);
317
- }
318
- }, [autoUpdate, breadcrumbs, setBreadcrumbs]);
319
-
320
- return {
321
- breadcrumbs: pageState.breadcrumbs || breadcrumbs,
322
- setBreadcrumbs,
323
- addBreadcrumb,
324
- clearBreadcrumbs,
325
- pathname: location.pathname,
326
- };
327
- };
328
-
329
- export default useBreadcrumbs;
@@ -1,57 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
-
3
- /**
4
- * Closes a dropdown/menu when the user interacts outside of it.
5
- *
6
- * Takes an ARRAY of refs on purpose: these menus render their content via
7
- * `ReactDOM.createPortal(..., document.body)`, so the trigger (e.g. the
8
- * avatar) and the menu content are two separate DOM subtrees — a click
9
- * inside the portal is not a descendant of the trigger ref, so checking
10
- * only the trigger would treat every click inside the menu itself as
11
- * "outside" and close it immediately. Pass every root that should count as
12
- * "inside" (trigger + portal content).
13
- *
14
- * Listens on 'mousedown'/'touchstart' rather than 'click': the containment
15
- * check already excludes clicks on the trigger itself (so it never
16
- * self-closes the menu it just opened), and the earlier event avoids fights
17
- * with libraries that stopPropagation() on 'click'.
18
- *
19
- * `enabled` lets the caller skip attaching the listener entirely while the
20
- * menu is closed (pass the same `open` state driving the menu) instead of
21
- * registering a global document listener for the lifetime of the component.
22
- */
23
- const useClickOutside = (
24
- refs: React.RefObject<HTMLElement>[],
25
- onClickOutside: () => void,
26
- enabled: boolean = true,
27
- ) => {
28
- // Ref so the effect doesn't need to re-subscribe every time the caller
29
- // passes a new callback identity (common here since these callbacks
30
- // close over component state).
31
- const callbackRef = useRef(onClickOutside);
32
- callbackRef.current = onClickOutside;
33
-
34
- useEffect(() => {
35
- if (!enabled) return;
36
-
37
- const handlePointerDown = (e: MouseEvent | TouchEvent) => {
38
- const target = e.target as Node;
39
- const isInside = refs.some((ref) => ref.current && ref.current.contains(target));
40
- if (!isInside) {
41
- callbackRef.current();
42
- }
43
- };
44
-
45
- document.addEventListener('mousedown', handlePointerDown);
46
- document.addEventListener('touchstart', handlePointerDown);
47
- return () => {
48
- document.removeEventListener('mousedown', handlePointerDown);
49
- document.removeEventListener('touchstart', handlePointerDown);
50
- };
51
- // eslint-disable-next-line react-hooks/exhaustive-deps -- `refs` are
52
- // stable useRef objects from the caller; only `enabled` should
53
- // re-trigger (re)subscription.
54
- }, [enabled]);
55
- };
56
-
57
- export default useClickOutside;
@@ -1,150 +0,0 @@
1
- import { useEffect, useCallback, useRef } from 'react';
2
- import { useFormContext } from 'react-hook-form';
3
- import { useParams } from 'react-router-dom';
4
- import { dashStorage } from 'dash-utils';
5
- interface FormPersistenceOptions {
6
- persistState?: boolean;
7
- storageKey?: string;
8
- debounceMs?: number;
9
- excludeFields?: string[];
10
- }
11
-
12
- export const useFormPersistence = (options: FormPersistenceOptions = {}) => {
13
- const {
14
- persistState = false,
15
- storageKey,
16
- debounceMs = 1000,
17
- excludeFields = []
18
- } = options;
19
-
20
- const { watch, setValue, getValues } = useFormContext();
21
- const { id: tabId } = useParams();
22
- const debounceRef = useRef<ReturnType<typeof setTimeout>>(null);
23
-
24
- // Generate storage key
25
- const finalStorageKey = storageKey || `tab-form-${tabId}`;
26
-
27
- // Save form data to localStorage
28
- const saveFormData = useCallback((data: any) => {
29
- if (!persistState) return;
30
-
31
- try {
32
- // Filter out excluded fields
33
- const filteredData = { ...data };
34
- excludeFields.forEach(field => {
35
- delete filteredData[field];
36
- });
37
-
38
- const persistData = {
39
- formData: filteredData,
40
- timestamp: Date.now(),
41
- tabId
42
- };
43
-
44
- dashStorage.setItem(finalStorageKey, JSON.stringify(persistData));
45
- console.log('📦 Form data persisted:', finalStorageKey);
46
- } catch (error) {
47
- console.error('Failed to persist form data:', error);
48
- }
49
- }, [persistState, finalStorageKey, excludeFields, tabId]);
50
-
51
- // Load form data from localStorage
52
- const loadFormData = useCallback(() => {
53
- if (!persistState) return null;
54
-
55
- try {
56
- const stored = dashStorage.getItem(finalStorageKey);
57
- if (!stored) return null;
58
-
59
- const persistData = JSON.parse(stored);
60
-
61
- // Check if data is not too old (optional: 24 hours)
62
- const maxAge = 24 * 60 * 60 * 1000; // 24 hours
63
- if (Date.now() - persistData.timestamp > maxAge) {
64
- dashStorage.removeItem(finalStorageKey);
65
- return null;
66
- }
67
-
68
- console.log('📦 Form data loaded from storage:', finalStorageKey);
69
- return persistData.formData;
70
- } catch (error) {
71
- console.error('Failed to load form data:', error);
72
- return null;
73
- }
74
- }, [persistState, finalStorageKey]);
75
-
76
- // Restore form data
77
- const restoreFormData = useCallback(() => {
78
- const savedData = loadFormData();
79
- if (!savedData) return false;
80
-
81
- try {
82
- // Restore each field
83
- Object.keys(savedData).forEach(fieldName => {
84
- setValue(fieldName, savedData[fieldName], {
85
- shouldDirty: true,
86
- shouldTouch: true,
87
- shouldValidate: false
88
- });
89
- });
90
-
91
- console.log('✅ Form data restored successfully');
92
- return true;
93
- } catch (error) {
94
- console.error('Failed to restore form data:', error);
95
- return false;
96
- }
97
- }, [loadFormData, setValue]);
98
-
99
- // Clear persisted data
100
- const clearPersistedData = useCallback(() => {
101
- try {
102
- dashStorage.removeItem(finalStorageKey);
103
- console.log('🗑️ Persisted form data cleared:', finalStorageKey);
104
- } catch (error) {
105
- console.error('Failed to clear persisted data:', error);
106
- }
107
- }, [finalStorageKey]);
108
-
109
- // Watch for form changes and save with debouncing
110
- useEffect(() => {
111
- if (!persistState) return;
112
-
113
- const subscription = watch((data) => {
114
- // Clear existing timeout
115
- if (debounceRef.current) {
116
- clearTimeout(debounceRef.current);
117
- }
118
-
119
- // Set new timeout
120
- debounceRef.current = setTimeout(() => {
121
- saveFormData(data);
122
- }, debounceMs);
123
- });
124
-
125
- return () => {
126
- subscription.unsubscribe();
127
- if (debounceRef.current) {
128
- clearTimeout(debounceRef.current);
129
- }
130
- };
131
- }, [watch, persistState, saveFormData, debounceMs]);
132
-
133
- // Cleanup on unmount
134
- useEffect(() => {
135
- return () => {
136
- if (debounceRef.current) {
137
- clearTimeout(debounceRef.current);
138
- }
139
- };
140
- }, []);
141
-
142
- return {
143
- restoreFormData,
144
- clearPersistedData,
145
- loadFormData,
146
- saveFormData: () => saveFormData(getValues())
147
- };
148
- };
149
-
150
- export default useFormPersistence;
@@ -1,43 +0,0 @@
1
- import { random } from 'lodash';
2
- import React, { useState } from 'react';
3
- import { dashStorage } from 'dash-utils';
4
- const useGlobalErrorMediator = () => {
5
- const [error, setError] = React.useState<any>(null);
6
- const errorChangeHandler = React.useCallback((e) => {
7
- if (dashStorage.getItem('lastGlobalError') === JSON.stringify(e.data)) {
8
- return;
9
- }
10
-
11
- setError(e.data);
12
- dashStorage.setItem('lastGlobalError', JSON.stringify(e.data));
13
-
14
- setTimeout(() => {
15
- dashStorage.setItem('lastGlobalError', JSON.stringify({}));
16
- }, 1000);
17
- }, []);
18
-
19
- React.useEffect(() => {
20
- dashStorage.setItem('lastGlobalError', JSON.stringify({}));
21
-
22
- window.addEventListener('GlobalError', errorChangeHandler);
23
- return () => {
24
- dashStorage.setItem('lastGlobalError', JSON.stringify({}));
25
- window.removeEventListener('GlobalError', errorChangeHandler);
26
- };
27
- }, []);
28
-
29
- const _update = React.useCallback(
30
- (newError) => {
31
- window.dispatchEvent(new MessageEvent('GlobalError', { data: {error:newError} }));
32
- },
33
- [error],
34
- );
35
-
36
- const sendError = (error: any) => {
37
- _update(error);
38
- };
39
-
40
- return { error, sendError };
41
- };
42
-
43
- export default useGlobalErrorMediator;
@@ -1,21 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { useDispatch, useSelector } from 'react-redux';
3
-
4
- const useGlobalLoaderMgr = () => {
5
- const useLoader = useState<boolean>(false);
6
- React.useEffect(() => {
7
-
8
- window.addEventListener('dash-global-loader', (e: any) => {
9
-
10
- return useLoader[1](e.data)
11
- });
12
- return () => {
13
- window.removeEventListener('dash-global-loader', (e: any) =>
14
- useLoader[1](e.data),
15
- );
16
- };
17
- }, []);
18
- return useLoader;
19
- };
20
-
21
- export default useGlobalLoaderMgr;
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
-
3
- const useHash = () => {
4
- const [hash, setHash] = React.useState(() => window.location.hash);
5
-
6
- const hashChangeHandler = React.useCallback(() => {
7
- setHash(window.location.hash);
8
- }, []);
9
-
10
- React.useEffect(() => {
11
- window.addEventListener('hashchange', hashChangeHandler);
12
- return () => {
13
- window.removeEventListener('hashchange', hashChangeHandler);
14
- };
15
- }, []);
16
-
17
- const updateHash = React.useCallback(
18
- (newHash) => {
19
- /*if (newHash !== hash)*/ window.location.hash = newHash;
20
- },
21
- [hash],
22
- );
23
-
24
- return [hash, updateHash];
25
- };
26
-
27
- export default useHash;