@dashadmin/dash-admin 1.3.24 → 1.3.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/dist/AppAsyncWrapper.js +30 -1
  2. package/dist/AppWrapper.js +35 -1
  3. package/dist/DASHAdmin.js +312 -1
  4. package/dist/RoutingWrapper.js +76 -1
  5. package/dist/classes/DASHStorageClass.js +15 -1
  6. package/dist/components/Input/RichTextField.js +26 -1
  7. package/dist/components/Redirect.js +56 -1
  8. package/dist/components/avatar/Avatar.js +72 -1
  9. package/dist/components/avatar/SingleImageUploader.js +46 -1
  10. package/dist/components/currency/Format.js +71 -1
  11. package/dist/components/custom/Redirect.js +20 -1
  12. package/dist/components/error/Error.js +161 -1
  13. package/dist/components/geocoding/GeocodingField.js +133 -1
  14. package/dist/components/i18n/BridgedLocalesMenuButton.js +126 -1
  15. package/dist/components/i18n/LangSwitcher.js +196 -1
  16. package/dist/components/loader/GlobalLoader.js +71 -1
  17. package/dist/components/logs/LogFile.js +99 -1
  18. package/dist/components/logs/LogFileById.js +75 -1
  19. package/dist/components/logs/LogViewer.js +33 -1
  20. package/dist/components/menu/AppMenu.js +11 -1
  21. package/dist/components/menu/CustomMenuItemLink.js +77 -1
  22. package/dist/components/menu/DarkToggleMode.js +47 -1
  23. package/dist/components/menu/LanguageToggleMode.js +99 -1
  24. package/dist/components/misc/CustomImageInput.js +54 -1
  25. package/dist/components/misc/DASHGlobalErrorHandler.js +159 -1
  26. package/dist/components/misc/DarkModeSwitcher.js +40 -1
  27. package/dist/components/misc/LanguageSwitcher.js +193 -1
  28. package/dist/components/misc/MUIHtmlToolTip.js +50 -1
  29. package/dist/components/misc/MuiSimpleJsonTable.js +178 -1
  30. package/dist/components/misc/MultiLevelTable.js +124 -1
  31. package/dist/components/misc/NoResults.js +17 -1
  32. package/dist/components/misc/PDFViewer.js +86 -1
  33. package/dist/components/navigation/Breadcrumbs.js +178 -1
  34. package/dist/components/navigation/BreadcrumbsManager.js +194 -1
  35. package/dist/components/navigation/index.js +8 -1
  36. package/dist/components/panel/Error.js +161 -1
  37. package/dist/components/permission/AvailablePermissionsContext.js +157 -1
  38. package/dist/components/permission/PermissionsSelector.js +719 -1
  39. package/dist/components/permission/PermissionsSelectorList.js +400 -1
  40. package/dist/components/racustombuttons/CustomRAButton.js +94 -1
  41. package/dist/components/racustombuttons/QuickButton.js +109 -1
  42. package/dist/components/racustombuttons/QuickEditButton.js +114 -1
  43. package/dist/components/racustombuttons/QuickIconButton.js +119 -1
  44. package/dist/components/scrollbar/Scrollbar.js +52 -1
  45. package/dist/components/selects/MultiSelect.js +42 -1
  46. package/dist/components/selects/RASearchableSelect.js +207 -1
  47. package/dist/components/selects/RASearchableSelectChips.js +225 -1
  48. package/dist/components/selects/SearchableSelect.js +128 -1
  49. package/dist/components/subscription/BillingCycleSelectInput.js +50 -1
  50. package/dist/components/subscription/PlanAddonsSettings.js +396 -1
  51. package/dist/components/subscription/PlanAuditLog.js +345 -1
  52. package/dist/components/subscription/PlanFeaturesSettings.js +151 -1
  53. package/dist/components/subscription/PlanLimitsSettings.js +168 -1
  54. package/dist/components/subscription/PlanMetadataSettings.js +219 -1
  55. package/dist/components/subscription/PlanPricesSettings.js +222 -1
  56. package/dist/components/subscription/index.js +12 -1
  57. package/dist/components/svgelements/SvgLoading.js +330 -1
  58. package/dist/components/svgelements/SvgLogo.js +70 -1
  59. package/dist/components/svgelements/SvgLogoMin.js +76 -1
  60. package/dist/components/svgelements/SvgShipping.js +1001 -1
  61. package/dist/components/tenant/TenantAttributes.js +107 -1
  62. package/dist/components/tenant/TenantAttributesContext.js +150 -1
  63. package/dist/components/tenant/TenantSelector.js +160 -1
  64. package/dist/components/tenant/TenantSettings.js +107 -1
  65. package/dist/components/tenant/TenantSettingsContext.js +152 -1
  66. package/dist/components/tenant/TenantTheme.js +112 -1
  67. package/dist/components/user/AvatarComponent.js +270 -1
  68. package/dist/components/user/TenantAvatarComponent.js +83 -1
  69. package/dist/components/user/UserPreferences.js +422 -1
  70. package/dist/config/ACTIONS.js +25 -1
  71. package/dist/config/ConstantsService.js +25 -1
  72. package/dist/config/DASHAdminSystemConstants.js +137 -1
  73. package/dist/config/PARSERS.js +9 -1
  74. package/dist/contexts/DashQueryClientContext.js +78 -1
  75. package/dist/contexts/DashResourceContext.js +21 -1
  76. package/dist/contexts/I18nBridgeContext.js +123 -1
  77. package/dist/contexts/I18nBridgeSetter.js +29 -1
  78. package/dist/contexts/I18nReduxSync.js +16 -1
  79. package/dist/contexts/SubscriptionPlanFormatsProvider.js +175 -1
  80. package/dist/contexts/SystemRequestsCache.js +194 -1
  81. package/dist/contexts/auth/AuthContext.js +396 -1
  82. package/dist/contexts/auth/AuthContextLocalStorage.js +118 -1
  83. package/dist/contexts/auth/DASHAuthenticationService.js +679 -1
  84. package/dist/contexts/auth/WindowContext.js +10 -1
  85. package/dist/contexts/auth/index.js +2 -1
  86. package/dist/contexts/com/FCMContext.js +378 -1
  87. package/dist/contexts/com/LaravelEchoContext.js +45 -1
  88. package/dist/contexts/com/LaravelEchoMgr.js +121 -1
  89. package/dist/contexts/com/components/DefaultNotificationComponent.js +31 -1
  90. package/dist/contexts/com/components/NotificationAttributesTable.js +28 -1
  91. package/dist/contexts/com/components/NotificationRenderer.js +36 -1
  92. package/dist/contexts/com/components/NotificationsWidget.js +142 -1
  93. package/dist/contexts/com/components/notificationFormats.js +15 -1
  94. package/dist/contexts/com/useLaravelEcho.js +340 -1
  95. package/dist/contexts/dictionary/DictionaryContext.js +43 -1
  96. package/dist/default-theme/DASHAppProviders.js +86 -1
  97. package/dist/default-theme/DashThemeContext.js +146 -1
  98. package/dist/default-theme/DashThemeHelperProvider.js +54 -1
  99. package/dist/default-theme/DomainAppLayout.js +126 -1
  100. package/dist/default-theme/DomainHeader.js +114 -1
  101. package/dist/default-theme/DomainTheme.js +60 -1
  102. package/dist/default-theme/FullLayoutMarkup.js +55 -1
  103. package/dist/default-theme/StaticLayout.js +36 -1
  104. package/dist/default-theme/index.js +19 -1
  105. package/dist/default-theme/menu/AppMaterialMenu.js +364 -1
  106. package/dist/default-theme/menu/AppMenuComponents/SubmenuPortal.js +33 -1
  107. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.js +239 -1
  108. package/dist/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.js +22 -1
  109. package/dist/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.js +209 -1
  110. package/dist/default-theme/menu/AppMenuComponents/expanded/SidebarItem.js +71 -1
  111. package/dist/default-theme/menu/AppMenuComponents/getItem.js +7 -1
  112. package/dist/default-theme/menu/AppMenuComponents/submenuConstants.js +78 -1
  113. package/dist/default-theme/menu/AppSidebarMaterial.js +232 -1
  114. package/dist/default-theme/menu/SidebarActions.js +75 -1
  115. package/dist/default-theme/updateDomCssVariables.js +134 -1
  116. package/dist/helpers/checkRole.js +14 -1
  117. package/dist/helpers/parseAxiosError.js +28 -2
  118. package/dist/hooks/audio/useAudio.js +24 -1
  119. package/dist/hooks/axios.js +52 -1
  120. package/dist/hooks/data/useDashboardStats.js +88 -1
  121. package/dist/hooks/data/usePackageByClientsStats.js +51 -1
  122. package/dist/hooks/data/usePackageByCommunesStats.js +51 -1
  123. package/dist/hooks/data/usePackageStats.js +88 -1
  124. package/dist/hooks/data/usePackageWithdrawDetails.js +69 -1
  125. package/dist/hooks/data/useStats.js +94 -1
  126. package/dist/hooks/isCurrentPath.js +18 -1
  127. package/dist/hooks/notifications/WSMessagesManager.js +128 -1
  128. package/dist/hooks/notifications/WSPusherManager.js +70 -1
  129. package/dist/hooks/useBreadcrumbs.js +208 -1
  130. package/dist/hooks/useClickOutside.js +18 -1
  131. package/dist/hooks/useFormPersistance.js +129 -1
  132. package/dist/hooks/useGlobalErrorMediator.js +37 -1
  133. package/dist/hooks/useGlobalLoaderMgr.js +20 -1
  134. package/dist/hooks/useHash.js +24 -1
  135. package/dist/hooks/useLocalStorage.js +68 -1
  136. package/dist/hooks/usePolyglotTranslation.js +57 -1
  137. package/dist/hooks/usePrevious.js +12 -1
  138. package/dist/hooks/usePrintSelected.js +30 -1
  139. package/dist/hooks/useVirtualHash.js +28 -1
  140. package/dist/hooks/window/useWindowSize.js +23 -1
  141. package/dist/index.js +120 -97
  142. package/dist/interfaces.js +6 -1
  143. package/dist/layout/AppLayout.js +36 -1
  144. package/dist/layout/ApplicationLayout.js +110 -1
  145. package/dist/layout/MotionWrapper.js +182 -1
  146. package/dist/layout/MotionWrapper.original.js +182 -1
  147. package/dist/layout/ResourceMenu.js +87 -1
  148. package/dist/layout/ResoureLayout.js +47 -1
  149. package/dist/layout/TransitionWrapper.js +83 -2
  150. package/dist/pages/ChangePassword.js +198 -1
  151. package/dist/pages/DASHLanding.js +9 -1
  152. package/dist/pages/DASHLightWeightLogin.js +495 -1
  153. package/dist/pages/DASHSimpleLogin.js +231 -1
  154. package/dist/pages/Login.js +113 -1
  155. package/dist/pages/Profile.js +347 -1
  156. package/dist/pages/RecoverPassword.js +175 -1
  157. package/dist/pages/SingleImageUploader.js +40 -1
  158. package/dist/pages/VerifyAccount.js +129 -1
  159. package/dist/providers/authProvider.js +186 -1
  160. package/dist/providers/dataProvider.js +468 -1
  161. package/dist/providers/i18n/en.js +514 -1
  162. package/dist/providers/i18n/es.js +520 -1
  163. package/dist/providers/i18n/languages.js +8 -1
  164. package/dist/providers/i18nProvider.js +23 -1
  165. package/dist/react-admin-dash/RADashComponent.js +210 -1
  166. package/dist/react-admin-dash/Resource.js +62 -1
  167. package/dist/resources/Brand/BrandResource.js +106 -1
  168. package/dist/resources/DASHResourceLoader.js +104 -1
  169. package/dist/resources/Log/LogResource.js +59 -1
  170. package/dist/resources/Tenant/ImpersonateTenantResource.js +113 -1
  171. package/dist/resources/Trash/TrashTemplate.js +195 -1
  172. package/dist/resources.js +259 -1
  173. package/dist/schemas/log.js +45 -1
  174. package/dist/schemas/notification.js +39 -1
  175. package/dist/schemas/permissions.js +44 -1
  176. package/dist/schemas/roles.js +48 -1
  177. package/dist/schemas/rolesDataGrid.js +48 -1
  178. package/dist/schemas/subscription/components/SubscriptionActions.js +172 -1
  179. package/dist/schemas/subscription/components/SubscriptionPaymentHistory.js +101 -1
  180. package/dist/schemas/subscription/components/SubscriptionPlanFeatures.js +115 -1
  181. package/dist/schemas/subscription/components/SubscriptionPlanPreview.js +92 -1
  182. package/dist/schemas/subscription/components/SubscriptionPlanStats.js +181 -1
  183. package/dist/schemas/subscription/components/SubscriptionStatusIndicator.js +70 -1
  184. package/dist/schemas/subscription/subscriptionPlanSchema.js +184 -1
  185. package/dist/schemas/subscription/subscriptionSchema.js +147 -1
  186. package/dist/schemas/subscriptionPlan.js +397 -1
  187. package/dist/schemas/tenant.js +122 -1
  188. package/dist/schemas/tenantUser.js +94 -1
  189. package/dist/schemas/tenant_superadmin.js +118 -1
  190. package/dist/schemas/user.js +26 -1
  191. package/dist/systemResources.js +1039 -1
  192. package/dist/systemResources.old.js +668 -1
  193. package/dist/templates/ResourceTemplate.js +196 -1
  194. package/dist/templates/ResourceTemplateCreate.js +144 -1
  195. package/dist/templates/ResourceTemplateEdit.js +147 -1
  196. package/dist/templates/ResourceTemplateFull.js +518 -1
  197. package/dist/templates/ResourceTemplateList.js +295 -1
  198. package/dist/templates/ResourceTemplateShow.js +45 -1
  199. package/dist/templates/TrashTemplate.js +175 -1
  200. package/dist/tenantResources.js +206 -1
  201. package/dist/test_portal_bubbles.js +37 -1
  202. package/dist/theme/AppHeader.js +60 -1
  203. package/dist/theme/AppLayoutSetting.js +34 -1
  204. package/dist/theme/AppLogo.js +7 -1
  205. package/dist/theme/AppSidebar.js +30 -1
  206. package/dist/theme/AppSidebarContent.js +84 -1
  207. package/dist/theme/AppSidebarLogo.js +42 -1
  208. package/dist/theme/components/PageTitle.js +61 -1
  209. package/dist/utils/cache/CacheInvalidatorContext.js +100 -1
  210. package/dist/utils/cache/CacheInvalidatorListenerComponent.js +10 -1
  211. package/dist/utils/cache/useCacheInvalidatorListener.js +17 -1
  212. package/dist/utils/convertFileToBase64.js +10 -1
  213. package/dist/utils/convertToFile.js +12 -1
  214. package/dist/utils/cookies.js +45 -1
  215. package/dist/utils/dashDefaultQueryClient.js +15 -1
  216. package/dist/utils/dataUrlToBlob.js +23 -1
  217. package/dist/utils/deepReplace.js +17 -1
  218. package/dist/utils/getProfileMenu.js +31 -1
  219. package/dist/utils/getTenantSettings.js +9 -1
  220. package/dist/utils/getType.js +10 -1
  221. package/dist/utils/getUserSettings.js +9 -1
  222. package/dist/utils/hasCode.js +14 -1
  223. package/dist/utils/index.js +19 -1
  224. package/dist/utils/injectTenantStyles.js +19 -1
  225. package/dist/utils/isComponent.js +23 -1
  226. package/dist/utils/navEvents.js +75 -1
  227. package/dist/utils/prototypes.js +5 -1
  228. package/dist/utils/regexp.js +7 -1
  229. package/dist/utils/resolveObjectPath.js +5 -1
  230. package/dist/utils/setNativeValue.js +17 -1
  231. package/dist/utils/slugify.js +7 -1
  232. package/dist/utils/validators/emailValidator.js +8 -1
  233. package/dist/utils/validators/requiredValidator.js +7 -1
  234. package/dist/utils/validators/rutValidator.js +25 -1
  235. package/dist/utils/validators.js +57 -1
  236. package/package.json +153 -69
  237. package/src/AppAsyncWrapper.tsx +42 -0
  238. package/src/AppWrapper.tsx +45 -0
  239. package/src/DASHAdmin.tsx +501 -0
  240. package/src/RoutingWrapper.tsx +139 -0
  241. package/src/classes/DASHStorageClass.tsx +8 -0
  242. package/src/components/Input/RichTextField.tsx +27 -0
  243. package/src/components/Redirect.tsx +46 -0
  244. package/src/components/avatar/Avatar.tsx +67 -0
  245. package/src/components/avatar/SingleImageUploader.tsx +53 -0
  246. package/src/components/currency/Format.tsx +77 -0
  247. package/src/components/custom/Redirect.tsx +23 -0
  248. package/src/components/error/Error.tsx +168 -0
  249. package/src/components/geocoding/GeocodingField.tsx +167 -0
  250. package/src/components/i18n/BridgedLocalesMenuButton.tsx +159 -0
  251. package/src/components/i18n/LangSwitcher.tsx +204 -0
  252. package/src/components/loader/GlobalLoader.tsx +56 -0
  253. package/src/components/logs/LogFile.tsx +88 -0
  254. package/src/components/logs/LogFileById.tsx +68 -0
  255. package/src/components/logs/LogViewer.tsx +43 -0
  256. package/src/components/menu/AppMenu.tsx +22 -0
  257. package/src/components/menu/CustomMenuItemLink.tsx +61 -0
  258. package/src/components/menu/DarkToggleMode.tsx +65 -0
  259. package/src/components/menu/LanguageToggleMode.tsx +120 -0
  260. package/src/components/misc/CustomImageInput.tsx +62 -0
  261. package/src/components/misc/DASHGlobalErrorHandler.tsx +194 -0
  262. package/src/components/misc/DarkModeSwitcher.tsx +112 -0
  263. package/src/components/misc/LanguageSwitcher.tsx +199 -0
  264. package/src/components/misc/MUIHtmlToolTip.tsx +15 -0
  265. package/src/components/misc/MuiSimpleJsonTable.tsx +279 -0
  266. package/src/components/misc/MultiLevelTable.tsx +229 -0
  267. package/src/components/misc/NoResults.tsx +25 -0
  268. package/src/components/misc/PDFViewer.tsx +85 -0
  269. package/src/components/navigation/Breadcrumbs.tsx +220 -0
  270. package/src/components/navigation/BreadcrumbsManager.tsx +310 -0
  271. package/src/components/navigation/index.tsx +5 -0
  272. package/src/components/panel/Error.tsx +168 -0
  273. package/src/components/permission/AvailablePermissionsContext.tsx +173 -0
  274. package/src/components/permission/PermissionsSelector.tsx +819 -0
  275. package/src/components/permission/PermissionsSelectorList.tsx +468 -0
  276. package/src/components/permission/tsx +0 -0
  277. package/src/components/racustombuttons/CustomRAButton.tsx +87 -0
  278. package/src/components/racustombuttons/QuickButton.tsx +117 -0
  279. package/src/components/racustombuttons/QuickEditButton.tsx +115 -0
  280. package/src/components/racustombuttons/QuickIconButton.tsx +122 -0
  281. package/src/components/scrollbar/Scrollbar.tsx +31 -0
  282. package/src/components/selects/MultiSelect.tsx +53 -0
  283. package/src/components/selects/RASearchableSelect.tsx +279 -0
  284. package/src/components/selects/RASearchableSelectChips.tsx +304 -0
  285. package/src/components/selects/SearchableSelect.tsx +135 -0
  286. package/src/components/subscription/BillingCycleSelectInput.tsx +68 -0
  287. package/src/components/subscription/PlanAddonsSettings.tsx +522 -0
  288. package/src/components/subscription/PlanAuditLog.tsx +439 -0
  289. package/src/components/subscription/PlanFeaturesSettings.tsx +223 -0
  290. package/src/components/subscription/PlanLimitsSettings.tsx +230 -0
  291. package/src/components/subscription/PlanMetadataSettings.tsx +284 -0
  292. package/src/components/subscription/PlanPricesSettings.tsx +295 -0
  293. package/src/components/subscription/index.ts +7 -0
  294. package/src/components/svgelements/SvgLoading.tsx +229 -0
  295. package/src/components/svgelements/SvgLogo.tsx +53 -0
  296. package/src/components/svgelements/SvgLogoMin.tsx +64 -0
  297. package/src/components/svgelements/SvgShipping.tsx +673 -0
  298. package/src/components/tenant/AvailablePermissionsContext.tsx +0 -0
  299. package/src/components/tenant/TenantAttributes.tsx +153 -0
  300. package/src/components/tenant/TenantAttributesContext.tsx +163 -0
  301. package/src/components/tenant/TenantSelector.tsx +139 -0
  302. package/src/components/tenant/TenantSettings.tsx +172 -0
  303. package/src/components/tenant/TenantSettingsContext.tsx +165 -0
  304. package/src/components/tenant/TenantTheme.tsx +172 -0
  305. package/src/components/user/AvatarComponent.tsx +301 -0
  306. package/src/components/user/TenantAvatarComponent.tsx +99 -0
  307. package/src/components/user/UserPreferences.tsx +642 -0
  308. package/src/config/ACTIONS.tsx +26 -0
  309. package/src/config/ConstantsService.tsx +44 -0
  310. package/src/config/DASHAdminSystemConstants.tsx +182 -0
  311. package/src/config/PARSERS.tsx +9 -0
  312. package/src/contexts/DashQueryClientContext.tsx +113 -0
  313. package/src/contexts/DashResourceContext.tsx +34 -0
  314. package/src/contexts/I18nBridgeContext.tsx +156 -0
  315. package/src/contexts/I18nBridgeSetter.tsx +39 -0
  316. package/src/contexts/I18nReduxSync.tsx +27 -0
  317. package/src/contexts/SubscriptionPlanFormatsProvider.tsx +217 -0
  318. package/src/contexts/SystemRequestsCache.tsx +215 -0
  319. package/src/contexts/auth/AuthContext.tsx +553 -0
  320. package/src/contexts/auth/AuthContextLocalStorage.tsx +140 -0
  321. package/src/contexts/auth/DASHAuthenticationService.tsx +917 -0
  322. package/src/contexts/auth/WindowContext.tsx +15 -0
  323. package/src/contexts/auth/index.tsx +3 -0
  324. package/src/contexts/com/FCMContext.tsx +415 -0
  325. package/src/contexts/com/LaravelEchoContext.tsx +41 -0
  326. package/src/contexts/com/LaravelEchoMgr.tsx +155 -0
  327. package/src/contexts/com/components/DefaultNotificationComponent.tsx +20 -0
  328. package/src/contexts/com/components/NotificationAttributesTable.tsx +54 -0
  329. package/src/contexts/com/components/NotificationRenderer.tsx +42 -0
  330. package/src/contexts/com/components/NotificationsWidget.tsx +182 -0
  331. package/src/contexts/com/components/notificationFormats.tsx +50 -0
  332. package/src/contexts/com/useLaravelEcho.tsx +432 -0
  333. package/src/contexts/dictionary/DictionaryContext.tsx +94 -0
  334. package/src/default-theme/DASHAppProviders.tsx +117 -0
  335. package/src/default-theme/DashThemeContext.tsx +218 -0
  336. package/src/default-theme/DashThemeHelperProvider.tsx +98 -0
  337. package/src/default-theme/DomainAppLayout.tsx +166 -0
  338. package/src/default-theme/DomainHeader.tsx +162 -0
  339. package/src/default-theme/DomainTheme.tsx +59 -0
  340. package/src/default-theme/FullLayoutMarkup.tsx +250 -0
  341. package/src/default-theme/StaticLayout.tsx +47 -0
  342. package/src/default-theme/index.tsx +11 -0
  343. package/src/default-theme/menu/AppMaterialMenu.tsx +545 -0
  344. package/src/default-theme/menu/AppMenuComponents/SubmenuPortal.tsx +56 -0
  345. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.tsx +254 -0
  346. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.tsx +31 -0
  347. package/src/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.tsx +276 -0
  348. package/src/default-theme/menu/AppMenuComponents/expanded/SidebarItem.tsx +91 -0
  349. package/src/default-theme/menu/AppMenuComponents/getItem.tsx +17 -0
  350. package/src/default-theme/menu/AppMenuComponents/interfaces.tsx +41 -0
  351. package/src/default-theme/menu/AppMenuComponents/submenuConstants.ts +85 -0
  352. package/src/default-theme/menu/AppSidebarMaterial.tsx +339 -0
  353. package/src/default-theme/menu/SidebarActions.tsx +84 -0
  354. package/src/default-theme/updateDomCssVariables.tsx +176 -0
  355. package/src/helpers/checkRole.tsx +66 -0
  356. package/src/helpers/parseAxiosError.tsx +41 -0
  357. package/src/hooks/audio/useAudio.tsx +39 -0
  358. package/src/hooks/axios.tsx +62 -0
  359. package/src/hooks/data/useDashboardStats.tsx +65 -0
  360. package/src/hooks/data/usePackageByClientsStats.tsx +44 -0
  361. package/src/hooks/data/usePackageByCommunesStats.tsx +44 -0
  362. package/src/hooks/data/usePackageStats.tsx +69 -0
  363. package/src/hooks/data/usePackageWithdrawDetails.tsx +61 -0
  364. package/src/hooks/data/useStats.tsx +86 -0
  365. package/src/hooks/isCurrentPath.tsx +22 -0
  366. package/src/hooks/notifications/WSMessagesManager.tsx +152 -0
  367. package/src/hooks/notifications/WSPusherManager.tsx +92 -0
  368. package/src/hooks/useBreadcrumbs.tsx +329 -0
  369. package/src/hooks/useClickOutside.tsx +17 -0
  370. package/src/hooks/useFormPersistance.tsx +150 -0
  371. package/src/hooks/useGlobalErrorMediator.tsx +43 -0
  372. package/src/hooks/useGlobalLoaderMgr.tsx +21 -0
  373. package/src/hooks/useHash.tsx +27 -0
  374. package/src/hooks/useLocalStorage.tsx +196 -0
  375. package/src/hooks/usePolyglotTranslation.tsx +62 -0
  376. package/src/hooks/usePrevious.tsx +9 -0
  377. package/src/hooks/usePrintSelected.tsx +37 -0
  378. package/src/hooks/useVirtualHash.tsx +33 -0
  379. package/src/hooks/window/useWindowSize.tsx +36 -0
  380. package/src/index.tsx +110 -0
  381. package/src/interfaces/IAppResourceConfig.tsx +20 -0
  382. package/src/interfaces/Log.tsx +16 -0
  383. package/src/interfaces/Tenant.tsx +25 -0
  384. package/src/interfaces/communication/IActions.tsx +5 -0
  385. package/src/interfaces/communication/INotification.tsx +21 -0
  386. package/src/interfaces/communication/IPayload.tsx +3 -0
  387. package/src/interfaces/communication/IRequestAction.tsx +10 -0
  388. package/src/interfaces/communication/IRequestPayload.tsx +7 -0
  389. package/src/interfaces/communication/IResponseAction.tsx +7 -0
  390. package/src/interfaces/misc/IAny.tsx +3 -0
  391. package/src/interfaces/misc/IFlashMessage.tsx +10 -0
  392. package/src/interfaces/navigation/IAppMenu.ts +14 -0
  393. package/src/interfaces/navigation/ICollapsableSidebarMenu.ts +12 -0
  394. package/src/interfaces/navigation/IMenuItem.ts +16 -0
  395. package/src/interfaces/notifications/IModel.tsx +6 -0
  396. package/src/interfaces/notifications/IModelField.tsx +8 -0
  397. package/src/interfaces/notifications/IUserNotification.tsx +12 -0
  398. package/src/interfaces/notifications/IUserNotificationData.tsx +13 -0
  399. package/src/interfaces/notifications/IUserNotificationPayload.tsx +8 -0
  400. package/src/interfaces/user/IGetAuth.tsx +92 -0
  401. package/src/interfaces/user/ITenantSettings.tsx +3 -0
  402. package/src/interfaces/user/IUser.tsx +60 -0
  403. package/src/interfaces/user/IUserSettings.tsx +43 -0
  404. package/src/interfaces.tsx +6 -0
  405. package/src/layout/AppLayout.tsx +112 -0
  406. package/src/layout/ApplicationLayout.tsx +197 -0
  407. package/src/layout/MotionWrapper.original.tsx +236 -0
  408. package/src/layout/MotionWrapper.tsx +236 -0
  409. package/src/layout/ResourceMenu.tsx +164 -0
  410. package/src/layout/ResoureLayout.tsx +105 -0
  411. package/src/layout/TransitionWrapper.tsx +125 -0
  412. package/src/pages/ChangePassword.tsx +179 -0
  413. package/src/pages/DASHLanding.tsx +22 -0
  414. package/src/pages/DASHLightWeightLogin.tsx +610 -0
  415. package/src/pages/DASHSimpleLogin.tsx +260 -0
  416. package/src/pages/Login.tsx +111 -0
  417. package/src/pages/Profile.tsx +394 -0
  418. package/src/pages/RecoverPassword.tsx +166 -0
  419. package/src/pages/SingleImageUploader.tsx +55 -0
  420. package/src/pages/VerifyAccount.tsx +128 -0
  421. package/src/providers/authProvider.tsx +210 -0
  422. package/src/providers/dataProvider.tsx +672 -0
  423. package/src/providers/i18n/en.ts +533 -0
  424. package/src/providers/i18n/es.ts +539 -0
  425. package/src/providers/i18n/languages.tsx +5 -0
  426. package/src/providers/i18nProvider.tsx +23 -0
  427. package/src/react-admin-dash/RADashComponent.tsx +240 -0
  428. package/src/react-admin-dash/Resource.tsx +77 -0
  429. package/src/resources/Brand/BrandResource.tsx +130 -0
  430. package/src/resources/DASHResourceLoader.ts +180 -0
  431. package/src/resources/Log/LogResource.tsx +73 -0
  432. package/src/resources/Tenant/ImpersonateTenantResource.tsx +113 -0
  433. package/src/resources/Trash/TrashTemplate.tsx +180 -0
  434. package/src/resources.tsx +280 -0
  435. package/src/schemas/log.tsx +45 -0
  436. package/src/schemas/notification.tsx +42 -0
  437. package/src/schemas/permissions.tsx +44 -0
  438. package/src/schemas/roles.tsx +48 -0
  439. package/src/schemas/rolesDataGrid.tsx +48 -0
  440. package/src/schemas/subscription/components/SubscriptionActions.tsx +153 -0
  441. package/src/schemas/subscription/components/SubscriptionPaymentHistory.tsx +120 -0
  442. package/src/schemas/subscription/components/SubscriptionPlanFeatures.tsx +155 -0
  443. package/src/schemas/subscription/components/SubscriptionPlanPreview.tsx +128 -0
  444. package/src/schemas/subscription/components/SubscriptionPlanStats.tsx +268 -0
  445. package/src/schemas/subscription/components/SubscriptionStatusIndicator.tsx +72 -0
  446. package/src/schemas/subscription/subscriptionPlanSchema.tsx +185 -0
  447. package/src/schemas/subscription/subscriptionSchema.tsx +152 -0
  448. package/src/schemas/subscriptionPlan.ts +422 -0
  449. package/src/schemas/tenant.tsx +129 -0
  450. package/src/schemas/tenantUser.tsx +96 -0
  451. package/src/schemas/tenant_superadmin.tsx +119 -0
  452. package/src/schemas/user.tsx +26 -0
  453. package/src/systemResources.old.tsx +928 -0
  454. package/src/systemResources.tsx +1135 -0
  455. package/src/templates/ResourceTemplate.tsx +240 -0
  456. package/src/templates/ResourceTemplateCreate.tsx +167 -0
  457. package/src/templates/ResourceTemplateEdit.tsx +176 -0
  458. package/src/templates/ResourceTemplateFull.tsx +581 -0
  459. package/src/templates/ResourceTemplateList.tsx +340 -0
  460. package/src/templates/ResourceTemplateShow.tsx +88 -0
  461. package/src/templates/TrashTemplate.tsx +179 -0
  462. package/src/tenantResources.tsx +223 -0
  463. package/src/test_portal_bubbles.tsx +40 -0
  464. package/src/theme/AppHeader.tsx +52 -0
  465. package/src/theme/AppLayoutSetting.tsx +33 -0
  466. package/src/theme/AppLogo.tsx +13 -0
  467. package/src/theme/AppSidebar.tsx +12 -0
  468. package/src/theme/AppSidebarContent.tsx +105 -0
  469. package/src/theme/AppSidebarLogo.tsx +48 -0
  470. package/src/theme/components/PageTitle.tsx +37 -0
  471. package/src/utils/cache/CacheInvalidatorContext.tsx +125 -0
  472. package/src/utils/cache/CacheInvalidatorListenerComponent.tsx +10 -0
  473. package/src/utils/cache/useCacheInvalidatorListener.tsx +27 -0
  474. package/src/utils/convertFileToBase64.tsx +9 -0
  475. package/src/utils/convertToFile.tsx +14 -0
  476. package/src/utils/cookies.tsx +33 -0
  477. package/src/utils/dashDefaultQueryClient.tsx +34 -0
  478. package/src/utils/dataUrlToBlob.tsx +30 -0
  479. package/src/utils/deepReplace.tsx +19 -0
  480. package/src/utils/getProfileMenu.tsx +41 -0
  481. package/src/utils/getTenantSettings.tsx +9 -0
  482. package/src/utils/getType.tsx +8 -0
  483. package/src/utils/getUserSettings.tsx +8 -0
  484. package/src/utils/hasCode.tsx +14 -0
  485. package/src/utils/index.ts +19 -0
  486. package/src/utils/injectTenantStyles.ts +28 -0
  487. package/src/utils/isComponent.tsx +45 -0
  488. package/src/utils/navEvents.tsx +91 -0
  489. package/src/utils/prototypes.tsx +5 -0
  490. package/src/utils/regexp.tsx +4 -0
  491. package/src/utils/resolveObjectPath.tsx +4 -0
  492. package/src/utils/setNativeValue.tsx +24 -0
  493. package/src/utils/slugify.tsx +11 -0
  494. package/src/utils/validators/emailValidator.tsx +6 -0
  495. package/src/utils/validators/requiredValidator.tsx +5 -0
  496. package/src/utils/validators/rutValidator.tsx +31 -0
  497. package/src/utils/validators.tsx +96 -0
  498. package/dist/ChangePassword-DmWAQAX_.js +0 -152
  499. package/dist/Login-t41HMhVT.js +0 -101
  500. package/dist/Profile-By-gdPUd.js +0 -294
  501. package/dist/RecoverPassword-DzPdbkg2.js +0 -149
  502. package/dist/VerifyAccount-Bofaxe5w.js +0 -99
  503. package/dist/index-gfebuoyf.js +0 -21614
  504. /package/dist/{components/permission/tsx → declarations.d.js} +0 -0
  505. /package/{dist → src}/DASHAdmin.tsx.old +0 -0
  506. /package/{dist → src}/declarations.d.ts +0 -0
  507. /package/{dist → src}/default-theme/DashThemeContext.tsx.fast +0 -0
  508. /package/{dist → src}/default-theme/DashThemeContext.tsx.old +0 -0
  509. /package/{dist → src}/templates/ResourceTemplate.tsx.memoized_experiment +0 -0
  510. /package/{dist → src}/templates/ResourceTemplate.tsx.original +0 -0
  511. /package/{dist → src}/templates/ResourceTemplateOld.tsx.bkup +0 -0
@@ -1 +1,10 @@
1
- import t from"react";const o=t.createContext({isMobile:!1,width:0,height:0,mq:"all"});export{o as WindowContext};
1
+ import React from "react";
2
+ const WindowContext = React.createContext({
3
+ isMobile: false,
4
+ width: 0,
5
+ height: 0,
6
+ mq: "all"
7
+ });
8
+ export {
9
+ WindowContext
10
+ };
@@ -1 +1,2 @@
1
- export*from"./AuthContext";export*from"./WindowContext";
1
+ export * from "./AuthContext";
2
+ export * from "./WindowContext";
@@ -1 +1,378 @@
1
- var M=Object.defineProperty;var k=(s,i,t)=>i in s?M(s,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[i]=t;var a=(s,i,t)=>k(s,typeof i!="symbol"?i+"":i,t);import{jsx as D}from"react/jsx-runtime";import F,{useEffect as O,useMemo as v,useRef as w}from"react";import{createAxiosInstance as L}from"@dashadmin/dash-axios-hook";import{useSelector as b}from"react-redux";import{getEnv as o}from"@dashadmin/dash-constants/src/DASHAdminSystemConstants";const _=()=>!!window?.Capacitor?.Plugins?.PushNotifications,p=()=>window?.Capacitor?.Plugins?.PushNotifications,f=()=>window?.Capacitor;class E{constructor(){a(this,"notifications",[]);a(this,"lastNotification",null);a(this,"axiosInstance",L());a(this,"permissionStatus","unknown");this.isSupported()||(this.permissionStatus="not_supported")}isSupported(){const i=f(),t=_(),d=i?.isNativePlatform?.()||!1;return console.log("\u{1F50D} FCM Support check:",{hasCapacitor:!!i,hasPlugin:t,isNativePlatform:d,platform:i?.getPlatform?.()||"web"}),t&&d}getPlatform(){return f()?.getPlatform?.()||"web"}async checkPermissions(){if(!this.isSupported())return console.log("\u{1F4F1} Push notifications not supported on this platform"),this.permissionStatus="not_supported",!1;try{const i=p();console.log("\u{1F50D} Checking push notification permissions...");const t=await i.checkPermissions();return console.log("\u{1F510} Permission status:",t),t.receive==="granted"?(this.permissionStatus="granted",!0):t.receive==="denied"?(this.permissionStatus="denied",!1):(this.permissionStatus="unknown",!1)}catch(i){return console.error("\u274C Error checking permissions:",i),this.permissionStatus="denied",!1}}async requestPermissions(){if(!this.isSupported())return console.log("\u{1F4F1} Push notifications not supported, skipping permission request"),!1;try{const i=p();console.log("\u{1F510} Requesting push notification permissions...");const t=await i.requestPermissions();return console.log("\u{1F510} Permission request result:",t),t.receive==="granted"?(this.permissionStatus="granted",console.log("\u2705 Push notification permissions granted"),!0):(this.permissionStatus="denied",console.log("\u274C Push notification permissions denied"),!1)}catch(i){return console.error("\u274C Error requesting permissions:",i),this.permissionStatus="denied",!1}}async initializePushNotifications(){if(console.log("\u{1F680} Initializing push notifications..."),!this.isSupported()){console.log("\u{1F4F1} Push notifications not supported on this platform, skipping initialization");return}try{if(!await this.checkPermissions()&&!await this.requestPermissions()){console.log("\u274C Cannot initialize push notifications without permissions");return}await this.registerNotifications(),await this.addListeners(),console.log("\u2705 Push notifications initialized successfully")}catch(i){throw console.error("\u274C Failed to initialize push notifications:",i),i}}async registerNotifications(){if(!this.isSupported())throw new Error("Push notifications not supported on this platform");try{const i=p();console.log("\u{1F4DD} Registering for push notifications..."),await i.register(),console.log("\u2705 Successfully registered for push notifications")}catch(i){throw console.error("\u274C Error registering for push notifications:",i),new Error(`Registration failed: ${i.message}`)}}async addListeners(){if(this.isSupported())try{const i=p();console.log("\u{1F442} Adding push notification listeners..."),await i.addListener("registration",t=>{console.log("\u{1F4DD} Registration token received:",t.value),this.sendTokenToBackend(t.value)}),await i.addListener("registrationError",t=>{console.error("\u274C Registration error:",t.error)}),await i.addListener("pushNotificationReceived",t=>{console.log("\u{1F4E8} Push notification received:",t),this.notifications.push(t),this.lastNotification=t}),await i.addListener("pushNotificationActionPerformed",t=>{console.log("\u{1F446} Push notification action performed:",t.actionId,t.inputValue)}),console.log("\u2705 Push notification listeners added successfully")}catch(i){throw console.error("\u274C Error adding listeners:",i),new Error(`Failed to add listeners: ${i.message}`)}}async sendTokenToBackend(i){try{console.log("\u{1F4E4} Sending FCM token to backend..."),await this.axiosInstance.post("/system/fcm/token",{fcm_token:i}),console.log("\u2705 FCM token sent to backend successfully")}catch(t){console.error("\u274C Error sending token to backend:",t)}}clear(){console.log("\u{1F9F9} Clearing notifications..."),this.notifications=[],this.lastNotification=null}cleanup(){console.log("\u{1F9F9} Cleaning up FCM service..."),this.clear()}getState(){return{notifications:this.notifications,lastNotification:this.lastNotification,clear:this.clear.bind(this),initializePushNotifications:this.initializePushNotifications.bind(this),permissionStatus:this.permissionStatus,isSupported:this.isSupported(),platform:this.getPlatform()}}getDebugInfo(){const i=f(),t=_();return{windowCapacitor:!!i,hasPushNotificationsPlugin:t,availablePlugins:i?.Plugins?Object.keys(i.Plugins):[],platform:this.getPlatform(),isNativePlatform:i?.isNativePlatform?.()||!1,isSupported:this.isSupported(),permissionStatus:this.permissionStatus,notificationsCount:this.notifications.length,hasLastNotification:!!this.lastNotification}}}const y=F.createContext({notifications:[],lastNotification:null,clear:()=>{},initializePushNotifications:async()=>{},permissionStatus:"unknown",isSupported:!1,platform:"web"}),T=({manager:s,children:i,...t})=>{const h=w(new E).current,{notifications:m,lastNotification:P,clear:S,initializePushNotifications:c,permissionStatus:I,isSupported:n,platform:l}=s?s():h.getState(),g=b(e=>e.auth),N=w(!1),r=v(()=>({APP_VERSION:o("APP_VERSION")||"1.0.0",BUILD_TIME:o("BUILD_TIME")||new Date().toISOString(),IS_ELECTRON:JSON.parse(o("IS_ELECTRON")||"false"),PLATFORM:o("PLATFORM")||"unknown",IS_WINDOWS:JSON.parse(o("IS_WINDOWS")||"false"),IS_MAC:JSON.parse(o("IS_MAC")||"false"),IS_LINUX:JSON.parse(o("IS_LINUX")||"false"),PLATFORM_TYPE:o("PLATFORM_TYPE")||"desktop",IS_ANDROID:JSON.parse(o("IS_ANDROID")||"false"),IS_IOS:JSON.parse(o("IS_IOS")||"false"),IS_CAPACITOR:JSON.parse(o("IS_CAPACITOR")||"false"),IS_MOBILE:JSON.parse(o("IS_MOBILE")||"false"),CAPACITOR_PLATFORM:o("CAPACITOR_PLATFORM")||"web",ANDROID_AVAILABLE:JSON.parse(o("ANDROID_AVAILABLE")||"false"),IOS_AVAILABLE:JSON.parse(o("IOS_AVAILABLE")||"false")}),[]),C=f();O(()=>{if(g.authenticated&&!N.current){const e=C?.getPlatform?.()||"web",u=C?.isNativePlatform?.()||!1;console.log("\u{1F510} User authenticated, checking if should initialize FCM...",{debug:!1,isSupported:n,platform:l,capacitorPlatform:e,isNativePlatform:u,envVars:{IS_ANDROID:r.IS_ANDROID,IS_IOS:r.IS_IOS,IS_CAPACITOR:r.IS_CAPACITOR,CAPACITOR_PLATFORM:r.CAPACITOR_PLATFORM}}),n?u||e==="android"||e==="ios"?(console.log("\u{1F4F1} Native platform detected: initializing FCM",{capacitorPlatform:e,isNativePlatform:u}),c().catch(A=>{console.error("\u274C FCM initialization failed:",A)})):console.log("\u{1F310} Web platform or unsupported: skipping FCM initialization",{capacitorPlatform:e,isNativePlatform:u}):console.log("\u274C FCM not supported on this platform")}N.current=g.authenticated},[g,!1,n,l,r,c]),O(()=>()=>{h.cleanup()},[h]);const R=v(()=>({notifications:m,lastNotification:P,clear:S,initializePushNotifications:c,permissionStatus:I,isSupported:n,platform:l}),[m,P,S,c,I,n,l]);return D(y.Provider,{value:R,children:i})};export{y as FCMContext,T as FCMProvider,E as FCMService,y as default};
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __objRest = (source, exclude) => {
7
+ var target = {};
8
+ for (var prop in source)
9
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
10
+ target[prop] = source[prop];
11
+ if (source != null && __getOwnPropSymbols)
12
+ for (var prop of __getOwnPropSymbols(source)) {
13
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
14
+ target[prop] = source[prop];
15
+ }
16
+ return target;
17
+ };
18
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
19
+ var __async = (__this, __arguments, generator) => {
20
+ return new Promise((resolve, reject) => {
21
+ var fulfilled = (value) => {
22
+ try {
23
+ step(generator.next(value));
24
+ } catch (e) {
25
+ reject(e);
26
+ }
27
+ };
28
+ var rejected = (value) => {
29
+ try {
30
+ step(generator.throw(value));
31
+ } catch (e) {
32
+ reject(e);
33
+ }
34
+ };
35
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
36
+ step((generator = generator.apply(__this, __arguments)).next());
37
+ });
38
+ };
39
+ import { jsx } from "react/jsx-runtime";
40
+ import React, { useEffect, useMemo, useRef } from "react";
41
+ import { createAxiosInstance } from "dash-axios-hook";
42
+ import { useSelector } from "react-redux";
43
+ import { getEnv } from "dash-constants/src/DASHAdminSystemConstants";
44
+ const isPushNotificationsAvailable = () => {
45
+ var _a, _b;
46
+ return !!((_b = (_a = window == null ? void 0 : window.Capacitor) == null ? void 0 : _a.Plugins) == null ? void 0 : _b.PushNotifications);
47
+ };
48
+ const getPushNotifications = () => {
49
+ var _a, _b;
50
+ return (_b = (_a = window == null ? void 0 : window.Capacitor) == null ? void 0 : _a.Plugins) == null ? void 0 : _b.PushNotifications;
51
+ };
52
+ const getCapacitor = () => {
53
+ return window == null ? void 0 : window.Capacitor;
54
+ };
55
+ class FCMService {
56
+ constructor() {
57
+ __publicField(this, "notifications", []);
58
+ __publicField(this, "lastNotification", null);
59
+ __publicField(this, "axiosInstance", createAxiosInstance());
60
+ __publicField(this, "permissionStatus", "unknown");
61
+ if (!this.isSupported()) {
62
+ this.permissionStatus = "not_supported";
63
+ }
64
+ }
65
+ isSupported() {
66
+ var _a, _b;
67
+ const capacitor = getCapacitor();
68
+ const hasPlugin = isPushNotificationsAvailable();
69
+ const isNativePlatform = ((_a = capacitor == null ? void 0 : capacitor.isNativePlatform) == null ? void 0 : _a.call(capacitor)) || false;
70
+ console.log("\u{1F50D} FCM Support check:", {
71
+ hasCapacitor: !!capacitor,
72
+ hasPlugin,
73
+ isNativePlatform,
74
+ platform: ((_b = capacitor == null ? void 0 : capacitor.getPlatform) == null ? void 0 : _b.call(capacitor)) || "web"
75
+ });
76
+ return hasPlugin && isNativePlatform;
77
+ }
78
+ getPlatform() {
79
+ var _a;
80
+ const capacitor = getCapacitor();
81
+ return ((_a = capacitor == null ? void 0 : capacitor.getPlatform) == null ? void 0 : _a.call(capacitor)) || "web";
82
+ }
83
+ checkPermissions() {
84
+ return __async(this, null, function* () {
85
+ if (!this.isSupported()) {
86
+ console.log("\u{1F4F1} Push notifications not supported on this platform");
87
+ this.permissionStatus = "not_supported";
88
+ return false;
89
+ }
90
+ try {
91
+ const PushNotifications = getPushNotifications();
92
+ console.log("\u{1F50D} Checking push notification permissions...");
93
+ const permStatus = yield PushNotifications.checkPermissions();
94
+ console.log("\u{1F510} Permission status:", permStatus);
95
+ if (permStatus.receive === "granted") {
96
+ this.permissionStatus = "granted";
97
+ return true;
98
+ } else if (permStatus.receive === "denied") {
99
+ this.permissionStatus = "denied";
100
+ return false;
101
+ } else {
102
+ this.permissionStatus = "unknown";
103
+ return false;
104
+ }
105
+ } catch (error) {
106
+ console.error("\u274C Error checking permissions:", error);
107
+ this.permissionStatus = "denied";
108
+ return false;
109
+ }
110
+ });
111
+ }
112
+ requestPermissions() {
113
+ return __async(this, null, function* () {
114
+ if (!this.isSupported()) {
115
+ console.log("\u{1F4F1} Push notifications not supported, skipping permission request");
116
+ return false;
117
+ }
118
+ try {
119
+ const PushNotifications = getPushNotifications();
120
+ console.log("\u{1F510} Requesting push notification permissions...");
121
+ const permStatus = yield PushNotifications.requestPermissions();
122
+ console.log("\u{1F510} Permission request result:", permStatus);
123
+ if (permStatus.receive === "granted") {
124
+ this.permissionStatus = "granted";
125
+ console.log("\u2705 Push notification permissions granted");
126
+ return true;
127
+ } else {
128
+ this.permissionStatus = "denied";
129
+ console.log("\u274C Push notification permissions denied");
130
+ return false;
131
+ }
132
+ } catch (error) {
133
+ console.error("\u274C Error requesting permissions:", error);
134
+ this.permissionStatus = "denied";
135
+ return false;
136
+ }
137
+ });
138
+ }
139
+ initializePushNotifications() {
140
+ return __async(this, null, function* () {
141
+ console.log("\u{1F680} Initializing push notifications...");
142
+ if (!this.isSupported()) {
143
+ console.log("\u{1F4F1} Push notifications not supported on this platform, skipping initialization");
144
+ return;
145
+ }
146
+ try {
147
+ const hasPermission = yield this.checkPermissions();
148
+ if (!hasPermission) {
149
+ const granted = yield this.requestPermissions();
150
+ if (!granted) {
151
+ console.log("\u274C Cannot initialize push notifications without permissions");
152
+ return;
153
+ }
154
+ }
155
+ yield this.registerNotifications();
156
+ yield this.addListeners();
157
+ console.log("\u2705 Push notifications initialized successfully");
158
+ } catch (error) {
159
+ console.error("\u274C Failed to initialize push notifications:", error);
160
+ throw error;
161
+ }
162
+ });
163
+ }
164
+ registerNotifications() {
165
+ return __async(this, null, function* () {
166
+ if (!this.isSupported()) {
167
+ throw new Error("Push notifications not supported on this platform");
168
+ }
169
+ try {
170
+ const PushNotifications = getPushNotifications();
171
+ console.log("\u{1F4DD} Registering for push notifications...");
172
+ yield PushNotifications.register();
173
+ console.log("\u2705 Successfully registered for push notifications");
174
+ } catch (error) {
175
+ console.error("\u274C Error registering for push notifications:", error);
176
+ throw new Error(`Registration failed: ${error.message}`);
177
+ }
178
+ });
179
+ }
180
+ addListeners() {
181
+ return __async(this, null, function* () {
182
+ if (!this.isSupported()) {
183
+ return;
184
+ }
185
+ try {
186
+ const PushNotifications = getPushNotifications();
187
+ console.log("\u{1F442} Adding push notification listeners...");
188
+ yield PushNotifications.addListener("registration", (token) => {
189
+ console.log("\u{1F4DD} Registration token received:", token.value);
190
+ this.sendTokenToBackend(token.value);
191
+ });
192
+ yield PushNotifications.addListener("registrationError", (err) => {
193
+ console.error("\u274C Registration error:", err.error);
194
+ });
195
+ yield PushNotifications.addListener("pushNotificationReceived", (notification) => {
196
+ console.log("\u{1F4E8} Push notification received:", notification);
197
+ this.notifications.push(notification);
198
+ this.lastNotification = notification;
199
+ });
200
+ yield PushNotifications.addListener("pushNotificationActionPerformed", (notification) => {
201
+ console.log("\u{1F446} Push notification action performed:", notification.actionId, notification.inputValue);
202
+ window.dispatchEvent(new CustomEvent("fcm-notification-tapped", { detail: notification }));
203
+ });
204
+ console.log("\u2705 Push notification listeners added successfully");
205
+ } catch (error) {
206
+ console.error("\u274C Error adding listeners:", error);
207
+ throw new Error(`Failed to add listeners: ${error.message}`);
208
+ }
209
+ });
210
+ }
211
+ sendTokenToBackend(token) {
212
+ return __async(this, null, function* () {
213
+ try {
214
+ console.log("\u{1F4E4} Sending FCM token to backend...");
215
+ yield this.axiosInstance.post("/system/fcm/token", { fcm_token: token });
216
+ console.log("\u2705 FCM token sent to backend successfully");
217
+ } catch (error) {
218
+ console.error("\u274C Error sending token to backend:", error);
219
+ }
220
+ });
221
+ }
222
+ clear() {
223
+ console.log("\u{1F9F9} Clearing notifications...");
224
+ this.notifications = [];
225
+ this.lastNotification = null;
226
+ }
227
+ cleanup() {
228
+ console.log("\u{1F9F9} Cleaning up FCM service...");
229
+ this.clear();
230
+ }
231
+ getState() {
232
+ return {
233
+ notifications: this.notifications,
234
+ lastNotification: this.lastNotification,
235
+ clear: this.clear.bind(this),
236
+ initializePushNotifications: this.initializePushNotifications.bind(this),
237
+ permissionStatus: this.permissionStatus,
238
+ isSupported: this.isSupported(),
239
+ platform: this.getPlatform()
240
+ };
241
+ }
242
+ // Debug utility similar to voiceAgent
243
+ getDebugInfo() {
244
+ var _a;
245
+ const capacitor = getCapacitor();
246
+ const hasPlugin = isPushNotificationsAvailable();
247
+ return {
248
+ windowCapacitor: !!capacitor,
249
+ hasPushNotificationsPlugin: hasPlugin,
250
+ availablePlugins: (capacitor == null ? void 0 : capacitor.Plugins) ? Object.keys(capacitor.Plugins) : [],
251
+ platform: this.getPlatform(),
252
+ isNativePlatform: ((_a = capacitor == null ? void 0 : capacitor.isNativePlatform) == null ? void 0 : _a.call(capacitor)) || false,
253
+ isSupported: this.isSupported(),
254
+ permissionStatus: this.permissionStatus,
255
+ notificationsCount: this.notifications.length,
256
+ hasLastNotification: !!this.lastNotification
257
+ };
258
+ }
259
+ }
260
+ const FCMContext = React.createContext({
261
+ notifications: [],
262
+ lastNotification: null,
263
+ clear: () => {
264
+ },
265
+ initializePushNotifications: () => __async(null, null, function* () {
266
+ }),
267
+ permissionStatus: "unknown",
268
+ isSupported: false,
269
+ platform: "web"
270
+ });
271
+ const FCMProvider = (_a) => {
272
+ var _b = _a, {
273
+ manager,
274
+ children
275
+ } = _b, props = __objRest(_b, [
276
+ "manager",
277
+ "children"
278
+ ]);
279
+ const debug = false;
280
+ const fcmService = useRef(new FCMService()).current;
281
+ const {
282
+ notifications,
283
+ lastNotification,
284
+ clear,
285
+ initializePushNotifications,
286
+ permissionStatus,
287
+ isSupported,
288
+ platform
289
+ } = manager ? manager() : fcmService.getState();
290
+ const auth = useSelector((store) => store.auth);
291
+ const prevAuthRef = useRef(false);
292
+ const envVars = useMemo(() => ({
293
+ APP_VERSION: getEnv("APP_VERSION") || "1.0.0",
294
+ BUILD_TIME: getEnv("BUILD_TIME") || (/* @__PURE__ */ new Date()).toISOString(),
295
+ IS_ELECTRON: JSON.parse(getEnv("IS_ELECTRON") || "false"),
296
+ PLATFORM: getEnv("PLATFORM") || "unknown",
297
+ IS_WINDOWS: JSON.parse(getEnv("IS_WINDOWS") || "false"),
298
+ IS_MAC: JSON.parse(getEnv("IS_MAC") || "false"),
299
+ IS_LINUX: JSON.parse(getEnv("IS_LINUX") || "false"),
300
+ PLATFORM_TYPE: getEnv("PLATFORM_TYPE") || "desktop",
301
+ // Mobile/Capacitor platform detection
302
+ IS_ANDROID: JSON.parse(getEnv("IS_ANDROID") || "false"),
303
+ IS_IOS: JSON.parse(getEnv("IS_IOS") || "false"),
304
+ IS_CAPACITOR: JSON.parse(getEnv("IS_CAPACITOR") || "false"),
305
+ IS_MOBILE: JSON.parse(getEnv("IS_MOBILE") || "false"),
306
+ CAPACITOR_PLATFORM: getEnv("CAPACITOR_PLATFORM") || "web",
307
+ ANDROID_AVAILABLE: JSON.parse(getEnv("ANDROID_AVAILABLE") || "false"),
308
+ IOS_AVAILABLE: JSON.parse(getEnv("IOS_AVAILABLE") || "false")
309
+ }), []);
310
+ const Capacitor = getCapacitor();
311
+ useEffect(() => {
312
+ var _a2, _b2;
313
+ if (auth.authenticated && !prevAuthRef.current) {
314
+ const capacitorPlatform = ((_a2 = Capacitor == null ? void 0 : Capacitor.getPlatform) == null ? void 0 : _a2.call(Capacitor)) || "web";
315
+ const isNativePlatform = ((_b2 = Capacitor == null ? void 0 : Capacitor.isNativePlatform) == null ? void 0 : _b2.call(Capacitor)) || false;
316
+ console.log("\u{1F510} User authenticated, checking if should initialize FCM...", {
317
+ debug,
318
+ isSupported,
319
+ platform,
320
+ capacitorPlatform,
321
+ isNativePlatform,
322
+ envVars: {
323
+ IS_ANDROID: envVars.IS_ANDROID,
324
+ IS_IOS: envVars.IS_IOS,
325
+ IS_CAPACITOR: envVars.IS_CAPACITOR,
326
+ CAPACITOR_PLATFORM: envVars.CAPACITOR_PLATFORM
327
+ }
328
+ });
329
+ if (isSupported) {
330
+ if (debug) {
331
+ console.log("\u{1F41B} Debug mode: initializing FCM");
332
+ initializePushNotifications().catch((error) => {
333
+ console.error("\u274C FCM initialization failed in debug mode:", error);
334
+ });
335
+ } else if (isNativePlatform || capacitorPlatform === "android" || capacitorPlatform === "ios") {
336
+ console.log("\u{1F4F1} Native platform detected: initializing FCM", { capacitorPlatform, isNativePlatform });
337
+ initializePushNotifications().catch((error) => {
338
+ console.error("\u274C FCM initialization failed:", error);
339
+ });
340
+ } else {
341
+ console.log("\u{1F310} Web platform or unsupported: skipping FCM initialization", { capacitorPlatform, isNativePlatform });
342
+ }
343
+ } else {
344
+ console.log("\u274C FCM not supported on this platform");
345
+ }
346
+ }
347
+ prevAuthRef.current = auth.authenticated;
348
+ }, [auth, debug, isSupported, platform, envVars, initializePushNotifications]);
349
+ useEffect(() => {
350
+ return () => {
351
+ fcmService.cleanup();
352
+ };
353
+ }, [fcmService]);
354
+ const contextValue = useMemo(() => ({
355
+ notifications,
356
+ lastNotification,
357
+ clear,
358
+ initializePushNotifications,
359
+ permissionStatus,
360
+ isSupported,
361
+ platform
362
+ }), [
363
+ notifications,
364
+ lastNotification,
365
+ clear,
366
+ initializePushNotifications,
367
+ permissionStatus,
368
+ isSupported,
369
+ platform
370
+ ]);
371
+ return /* @__PURE__ */ jsx(FCMContext.Provider, { value: contextValue, children });
372
+ };
373
+ export {
374
+ FCMContext,
375
+ FCMProvider,
376
+ FCMService,
377
+ FCMContext as default
378
+ };
@@ -1 +1,45 @@
1
- import{jsx as v}from"react/jsx-runtime";import c from"./LaravelEchoMgr";import n from"react";const a=n.createContext({events:[],lastEvent:null,clear:null}),i=({manager:e,children:t,...s})=>{const{events:o,lastEvent:r,clear:l}=e?e():c();return v(a.Provider,{value:{events:o,lastEvent:r,clear:l},children:t})};export{a as LaravelEchoContext,i as LaravelEchoProvider,a as default};
1
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
2
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
4
+ var __objRest = (source, exclude) => {
5
+ var target = {};
6
+ for (var prop in source)
7
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
8
+ target[prop] = source[prop];
9
+ if (source != null && __getOwnPropSymbols)
10
+ for (var prop of __getOwnPropSymbols(source)) {
11
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
12
+ target[prop] = source[prop];
13
+ }
14
+ return target;
15
+ };
16
+ import { jsx } from "react/jsx-runtime";
17
+ import LaravelEchoMgr from "./LaravelEchoMgr";
18
+ import React from "react";
19
+ const LaravelEchoContext = React.createContext({
20
+ events: [],
21
+ lastEvent: null,
22
+ clear: null
23
+ });
24
+ const LaravelEchoProvider = (_a) => {
25
+ var _b = _a, {
26
+ manager,
27
+ children
28
+ } = _b, props = __objRest(_b, [
29
+ "manager",
30
+ "children"
31
+ ]);
32
+ const { events, lastEvent, clear } = manager ? manager() : LaravelEchoMgr();
33
+ return /* @__PURE__ */ jsx(
34
+ LaravelEchoContext.Provider,
35
+ {
36
+ value: { events, lastEvent, clear },
37
+ children
38
+ }
39
+ );
40
+ };
41
+ export {
42
+ LaravelEchoContext,
43
+ LaravelEchoProvider,
44
+ LaravelEchoContext as default
45
+ };
@@ -1 +1,121 @@
1
- import{jsx as v,jsxs as d}from"react/jsx-runtime";import{useContext as E,useEffect as l,useState as c}from"react";import{toast as p}from"react-toastify";import{NotificationComponent as u}from"./components/NotificationRenderer";import{AuthContext as m}from"../auth/AuthContext";import{NotificationWrapper as h}from"./components/NotificationsWidget";import f from"./useLaravelEcho";const I=e=>{p(d(h,{notification:e,children:[" ",v(u,{notification:e})," "]},0),{position:"top-right",autoClose:8e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0,progress:void 0})},N=e=>{p(d(h,{notification:e,children:[" ",v(u,{notification:e})," "]},0),{position:"top-right",autoClose:!1,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0,progress:void 0})},P=()=>{const[e,s]=c([]),[g,o]=c(null),t=E(m);console.log("\u{1F50D} LaravelEchoMgr: Initializing with authContext:",{hasUser:!!t?.user,userId:t?.user?.id,authenticated:t?.authenticated});const y=()=>{o(null)};l(()=>{console.log("Echo manager listener for private and public messages initialized")},[]),console.log("\u{1F50D} LaravelEchoMgr: Setting up public channel listener...");const i=f({type:"public",channel:"public",events:{public:a=>{console.log("\u{1F4E1} LaravelEchoMgr: Received public notification:",a),s([...e,a]),o(a),N(a)}},userId:null,enabled:!0});console.log("\u{1F50D} LaravelEchoMgr: Setting up private channel listener...");const n=f({type:"private",channel:`user.${t.user?.id}`,events:{notification:a=>{console.log("\u{1F4E1} LaravelEchoMgr: Received private notification:",a),I(a)}},userId:t.user?.id,enabled:!!t?.user?.id});return l(()=>{if(n?.lastEvent){console.log("\u{1F4E1} LaravelEchoMgr: Global event captured from private channel:",n.lastEvent);const a=n.lastEvent.data;a&&(o(a),s(r=>[...r,a]))}},[n?.lastEvent]),l(()=>{if(i?.lastEvent){console.log("\u{1F4E1} LaravelEchoMgr: Global event captured from public channel:",i.lastEvent);const a=i.lastEvent.data;a&&(o(a),s(r=>[...r,a]))}},[i?.lastEvent]),{events:e,lastEvent:g,clear:y}};var x=P;export{x as default};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useContext, useEffect, useState } from "react";
3
+ import { toast } from "react-toastify";
4
+ import { NotificationComponent } from "./components/NotificationRenderer";
5
+ import { AuthContext } from "../auth/AuthContext";
6
+ import { NotificationWrapper } from "./components/NotificationsWidget";
7
+ import useLaravelEcho from "./useLaravelEcho";
8
+ const popPrivateMessage = (notification) => {
9
+ toast(
10
+ /* @__PURE__ */ jsxs(NotificationWrapper, { notification, children: [
11
+ " ",
12
+ /* @__PURE__ */ jsx(NotificationComponent, { notification }),
13
+ " "
14
+ ] }, 0),
15
+ {
16
+ position: "top-right",
17
+ autoClose: 8e3,
18
+ hideProgressBar: false,
19
+ closeOnClick: true,
20
+ pauseOnHover: true,
21
+ draggable: true,
22
+ progress: void 0
23
+ }
24
+ );
25
+ };
26
+ const popStickyMessage = (notification) => {
27
+ toast(
28
+ /* @__PURE__ */ jsxs(NotificationWrapper, { notification, children: [
29
+ " ",
30
+ /* @__PURE__ */ jsx(NotificationComponent, { notification }),
31
+ " "
32
+ ] }, 0),
33
+ {
34
+ position: "top-right",
35
+ autoClose: false,
36
+ hideProgressBar: false,
37
+ closeOnClick: true,
38
+ pauseOnHover: true,
39
+ draggable: true,
40
+ progress: void 0
41
+ }
42
+ );
43
+ };
44
+ const LaravelEchoMgr = () => {
45
+ var _a, _b, _c, _d;
46
+ const [events, setEvents] = useState([]);
47
+ const [lastEvent, setLastEvent] = useState(null);
48
+ const authContext = useContext(AuthContext);
49
+ console.log("\u{1F50D} LaravelEchoMgr: Initializing with authContext:", {
50
+ hasUser: !!(authContext == null ? void 0 : authContext.user),
51
+ userId: (_a = authContext == null ? void 0 : authContext.user) == null ? void 0 : _a.id,
52
+ authenticated: authContext == null ? void 0 : authContext.authenticated
53
+ });
54
+ const clear = () => {
55
+ setLastEvent(null);
56
+ };
57
+ useEffect(() => {
58
+ console.log("Echo manager listener for private and public messages initialized");
59
+ }, []);
60
+ console.log("\u{1F50D} LaravelEchoMgr: Setting up public channel listener...");
61
+ const publicHook = useLaravelEcho({
62
+ type: "public",
63
+ channel: "public",
64
+ events: {
65
+ "public": (notification) => {
66
+ console.log("\u{1F4E1} LaravelEchoMgr: Received public notification:", notification);
67
+ setEvents([...events, notification]);
68
+ setLastEvent(notification);
69
+ popStickyMessage(notification);
70
+ }
71
+ },
72
+ userId: null,
73
+ enabled: true
74
+ // Enable public channel
75
+ });
76
+ console.log("\u{1F50D} LaravelEchoMgr: Setting up private channel listener...");
77
+ const privateHook = useLaravelEcho({
78
+ type: "private",
79
+ channel: `user.${(_b = authContext.user) == null ? void 0 : _b.id}`,
80
+ events: {
81
+ // Try all these variations to see which one works
82
+ "notification": (notification) => {
83
+ console.log("\u{1F4E1} LaravelEchoMgr: Received private notification:", notification);
84
+ popPrivateMessage(notification);
85
+ }
86
+ },
87
+ userId: (_c = authContext.user) == null ? void 0 : _c.id,
88
+ enabled: !!((_d = authContext == null ? void 0 : authContext.user) == null ? void 0 : _d.id)
89
+ // Enable only when user is authenticated
90
+ });
91
+ useEffect(() => {
92
+ if (privateHook == null ? void 0 : privateHook.lastEvent) {
93
+ console.log("\u{1F4E1} LaravelEchoMgr: Global event captured from private channel:", privateHook.lastEvent);
94
+ const eventData = privateHook.lastEvent.data;
95
+ if (eventData) {
96
+ setLastEvent(eventData);
97
+ setEvents((prev) => [...prev, eventData]);
98
+ }
99
+ }
100
+ }, [privateHook == null ? void 0 : privateHook.lastEvent]);
101
+ useEffect(() => {
102
+ if (publicHook == null ? void 0 : publicHook.lastEvent) {
103
+ console.log("\u{1F4E1} LaravelEchoMgr: Global event captured from public channel:", publicHook.lastEvent);
104
+ const eventData = publicHook.lastEvent.data;
105
+ if (eventData) {
106
+ setLastEvent(eventData);
107
+ setEvents((prev) => [...prev, eventData]);
108
+ }
109
+ }
110
+ }, [publicHook == null ? void 0 : publicHook.lastEvent]);
111
+ useEffect(() => {
112
+ if (lastEvent === null) return;
113
+ const timeoutId = window.setTimeout(() => setLastEvent(null), 0);
114
+ return () => window.clearTimeout(timeoutId);
115
+ }, [lastEvent]);
116
+ return { events, lastEvent, clear };
117
+ };
118
+ var LaravelEchoMgr_default = LaravelEchoMgr;
119
+ export {
120
+ LaravelEchoMgr_default as default
121
+ };
@@ -1 +1,31 @@
1
- import{Fragment as n,jsx as o}from"react/jsx-runtime";import i from"../../../components/misc/MuiSimpleJsonTable";const a=({notification:t,...e})=>o(n,{children:o(i,{tableData:t.notificationPayload,vertical:!0})});var p=a;export{p as default};
1
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
2
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
4
+ var __objRest = (source, exclude) => {
5
+ var target = {};
6
+ for (var prop in source)
7
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
8
+ target[prop] = source[prop];
9
+ if (source != null && __getOwnPropSymbols)
10
+ for (var prop of __getOwnPropSymbols(source)) {
11
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
12
+ target[prop] = source[prop];
13
+ }
14
+ return target;
15
+ };
16
+ import { Fragment, jsx } from "react/jsx-runtime";
17
+ import MUISimpleJsonTable from "../../../components/misc/MuiSimpleJsonTable";
18
+ const ValidateProductsToImportNotificationComponent = (_a) => {
19
+ var _b = _a, { notification } = _b, props = __objRest(_b, ["notification"]);
20
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
21
+ MUISimpleJsonTable,
22
+ {
23
+ tableData: notification.notificationPayload,
24
+ vertical: true
25
+ }
26
+ ) });
27
+ };
28
+ var DefaultNotificationComponent_default = ValidateProductsToImportNotificationComponent;
29
+ export {
30
+ DefaultNotificationComponent_default as default
31
+ };
@@ -1 +1,28 @@
1
- import{Fragment as d,jsx as n,jsxs as m}from"react/jsx-runtime";import c from"react";import f from"../../dictionary/DictionaryContext";const s=({tableData:o,ignore:i,include:l})=>{const r=c.useContext(f);i||(i=[]),l||(l=[]);let e=o?Object.keys(o):[];return l.length&&(e=e.filter(t=>l.includes(t))),i.length&&(e=e.filter(t=>!i.includes(t))),n("table",{className:"table",children:n("tbody",{children:n(()=>e&&e.length>0?e.map(t=>m("tr",{children:[n("td",{children:r.get(t)}),n("td",{children:typeof o[t]!="object"?r.get(o[t]):o[t]})]})):n(d,{}),{})})})};var g=s;export{g as default};
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import DictionaryContext from "../../dictionary/DictionaryContext";
4
+ const NotificationAttributesTable = ({
5
+ tableData,
6
+ ignore,
7
+ include
8
+ }) => {
9
+ const dict = React.useContext(DictionaryContext);
10
+ if (!ignore) ignore = [];
11
+ if (!include) include = [];
12
+ let column = tableData ? Object.keys(tableData) : [];
13
+ if (include.length) column = column.filter((key) => include.includes(key));
14
+ if (ignore.length) column = column.filter((key) => !ignore.includes(key));
15
+ const TDData = () => {
16
+ return column && column.length > 0 ? column.map((attr) => {
17
+ return /* @__PURE__ */ jsxs("tr", { children: [
18
+ /* @__PURE__ */ jsx("td", { children: dict.get(attr) }),
19
+ /* @__PURE__ */ jsx("td", { children: typeof tableData[attr] !== "object" ? dict.get(tableData[attr]) : tableData[attr] })
20
+ ] });
21
+ }) : /* @__PURE__ */ jsx(Fragment, {});
22
+ };
23
+ return /* @__PURE__ */ jsx("table", { className: "table", children: /* @__PURE__ */ jsx("tbody", { children: /* @__PURE__ */ jsx(TDData, {}) }) });
24
+ };
25
+ var NotificationAttributesTable_default = NotificationAttributesTable;
26
+ export {
27
+ NotificationAttributesTable_default as default
28
+ };