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

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 (289) hide show
  1. package/dist/components/tenant/TenancyPlan.js +307 -0
  2. package/dist/systemResources.js +18 -2
  3. package/package.json +25 -22
  4. package/src/AppAsyncWrapper.tsx +0 -42
  5. package/src/AppWrapper.tsx +0 -45
  6. package/src/DASHAdmin.tsx +0 -502
  7. package/src/DASHAdmin.tsx.old +0 -456
  8. package/src/RoutingWrapper.tsx +0 -143
  9. package/src/classes/DASHStorageClass.tsx +0 -8
  10. package/src/components/Input/RichTextField.tsx +0 -27
  11. package/src/components/Redirect.tsx +0 -46
  12. package/src/components/avatar/Avatar.tsx +0 -71
  13. package/src/components/avatar/SingleImageUploader.tsx +0 -107
  14. package/src/components/currency/Format.tsx +0 -79
  15. package/src/components/custom/Redirect.tsx +0 -23
  16. package/src/components/error/Error.tsx +0 -168
  17. package/src/components/geocoding/GeocodingField.tsx +0 -167
  18. package/src/components/i18n/BridgedLocalesMenuButton.tsx +0 -160
  19. package/src/components/i18n/LangSwitcher.tsx +0 -204
  20. package/src/components/loader/GlobalLoader.tsx +0 -49
  21. package/src/components/logs/LogFile.tsx +0 -88
  22. package/src/components/logs/LogFileById.tsx +0 -68
  23. package/src/components/logs/LogViewer.tsx +0 -43
  24. package/src/components/menu/AppMenu.tsx +0 -22
  25. package/src/components/menu/CustomMenuItemLink.tsx +0 -61
  26. package/src/components/menu/DarkToggleMode.tsx +0 -65
  27. package/src/components/menu/LanguageToggleMode.tsx +0 -120
  28. package/src/components/misc/CustomImageInput.tsx +0 -62
  29. package/src/components/misc/DASHGlobalErrorHandler.tsx +0 -194
  30. package/src/components/misc/DarkModeSwitcher.tsx +0 -112
  31. package/src/components/misc/HorizontalScroller.tsx +0 -225
  32. package/src/components/misc/LanguageSwitcher.tsx +0 -199
  33. package/src/components/misc/MUIHtmlToolTip.tsx +0 -15
  34. package/src/components/misc/MuiSimpleJsonTable.tsx +0 -279
  35. package/src/components/misc/MultiLevelTable.tsx +0 -229
  36. package/src/components/misc/NoResults.tsx +0 -28
  37. package/src/components/misc/PDFViewer.tsx +0 -85
  38. package/src/components/navigation/Breadcrumbs.tsx +0 -220
  39. package/src/components/navigation/BreadcrumbsManager.tsx +0 -310
  40. package/src/components/navigation/index.tsx +0 -5
  41. package/src/components/panel/Error.tsx +0 -168
  42. package/src/components/permission/AvailablePermissionsContext.tsx +0 -173
  43. package/src/components/permission/PermissionsSelector.tsx +0 -834
  44. package/src/components/permission/PermissionsSelectorList.tsx +0 -473
  45. package/src/components/permission/tsx +0 -0
  46. package/src/components/racustombuttons/CustomRAButton.tsx +0 -87
  47. package/src/components/racustombuttons/QuickButton.tsx +0 -117
  48. package/src/components/racustombuttons/QuickEditButton.tsx +0 -115
  49. package/src/components/racustombuttons/QuickIconButton.tsx +0 -122
  50. package/src/components/scrollbar/Scrollbar.tsx +0 -31
  51. package/src/components/selects/MultiSelect.tsx +0 -53
  52. package/src/components/selects/RASearchableSelect.tsx +0 -282
  53. package/src/components/selects/RASearchableSelectChips.tsx +0 -308
  54. package/src/components/selects/SearchableSelect.tsx +0 -139
  55. package/src/components/serviceAccount/ApiKeyRevealDialog.tsx +0 -129
  56. package/src/components/serviceAccount/ServiceAccountStatusSwitch.tsx +0 -99
  57. package/src/components/subscription/BillingCycleSelectInput.tsx +0 -68
  58. package/src/components/subscription/PlanAddonsSettings.tsx +0 -563
  59. package/src/components/subscription/PlanAuditLog.tsx +0 -453
  60. package/src/components/subscription/PlanFeaturesSettings.tsx +0 -243
  61. package/src/components/subscription/PlanLimitsSettings.tsx +0 -230
  62. package/src/components/subscription/PlanMetadataSettings.tsx +0 -306
  63. package/src/components/subscription/PlanPricesSettings.tsx +0 -307
  64. package/src/components/subscription/index.ts +0 -7
  65. package/src/components/svgelements/SvgLoading.tsx +0 -229
  66. package/src/components/svgelements/SvgLogo.tsx +0 -53
  67. package/src/components/svgelements/SvgLogoMin.tsx +0 -64
  68. package/src/components/svgelements/SvgShipping.tsx +0 -673
  69. package/src/components/tenancy/GlobalTenantWrapper.tsx +0 -84
  70. package/src/components/tenancy/TenantSwitcher.tsx +0 -514
  71. package/src/components/tenant/AvailablePermissionsContext.tsx +0 -0
  72. package/src/components/tenant/SettingsSections.tsx +0 -151
  73. package/src/components/tenant/TenancySettings.tsx +0 -122
  74. package/src/components/tenant/TenantAttributes.tsx +0 -153
  75. package/src/components/tenant/TenantAttributesContext.tsx +0 -163
  76. package/src/components/tenant/TenantSelector.tsx +0 -142
  77. package/src/components/tenant/TenantSettings.tsx +0 -184
  78. package/src/components/tenant/TenantSettingsContext.tsx +0 -165
  79. package/src/components/tenant/TenantTheme.tsx +0 -172
  80. package/src/components/user/AvatarComponent.tsx +0 -317
  81. package/src/components/user/TenantAvatarComponent.tsx +0 -99
  82. package/src/components/user/UserPreferences.tsx +0 -677
  83. package/src/config/ACTIONS.tsx +0 -26
  84. package/src/config/ConstantsService.tsx +0 -44
  85. package/src/config/DASHAdminSystemConstants.tsx +0 -183
  86. package/src/config/PARSERS.tsx +0 -9
  87. package/src/contexts/DashQueryClientContext.tsx +0 -113
  88. package/src/contexts/DashResourceContext.tsx +0 -34
  89. package/src/contexts/I18nBridgeContext.tsx +0 -156
  90. package/src/contexts/I18nBridgeSetter.tsx +0 -39
  91. package/src/contexts/I18nReduxSync.tsx +0 -27
  92. package/src/contexts/SubscriptionPlanFormatsProvider.tsx +0 -217
  93. package/src/contexts/SystemRequestsCache.tsx +0 -215
  94. package/src/contexts/auth/AuthContext.tsx +0 -567
  95. package/src/contexts/auth/AuthContextLocalStorage.tsx +0 -140
  96. package/src/contexts/auth/DASHAuthenticationService.tsx +0 -915
  97. package/src/contexts/auth/WindowContext.tsx +0 -15
  98. package/src/contexts/auth/index.tsx +0 -3
  99. package/src/contexts/com/FCMContext.tsx +0 -415
  100. package/src/contexts/com/LaravelEchoContext.tsx +0 -41
  101. package/src/contexts/com/LaravelEchoMgr.tsx +0 -155
  102. package/src/contexts/com/components/DefaultNotificationComponent.tsx +0 -20
  103. package/src/contexts/com/components/EchoNotificationsCenter.tsx +0 -65
  104. package/src/contexts/com/components/NotificationAttributesTable.tsx +0 -54
  105. package/src/contexts/com/components/NotificationRenderer.tsx +0 -42
  106. package/src/contexts/com/components/NotificationsWidget.tsx +0 -182
  107. package/src/contexts/com/components/notificationFormats.tsx +0 -50
  108. package/src/contexts/com/useLaravelEcho.tsx +0 -432
  109. package/src/contexts/dictionary/DictionaryContext.tsx +0 -94
  110. package/src/declarations.d.ts +0 -17
  111. package/src/default-theme/DASHAppProviders.tsx +0 -117
  112. package/src/default-theme/DashThemeContext.tsx +0 -209
  113. package/src/default-theme/DashThemeContext.tsx.fast +0 -143
  114. package/src/default-theme/DashThemeContext.tsx.old +0 -306
  115. package/src/default-theme/DashThemeHelperProvider.tsx +0 -98
  116. package/src/default-theme/DomainAppLayout.tsx +0 -166
  117. package/src/default-theme/DomainHeader.tsx +0 -162
  118. package/src/default-theme/DomainTheme.tsx +0 -59
  119. package/src/default-theme/FullLayoutMarkup.tsx +0 -231
  120. package/src/default-theme/StaticLayout.tsx +0 -47
  121. package/src/default-theme/index.tsx +0 -11
  122. package/src/default-theme/menu/AppDashboardGrid.tsx +0 -279
  123. package/src/default-theme/menu/AppMaterialMenu.tsx +0 -546
  124. package/src/default-theme/menu/AppMenuComponents/SubmenuPortal.tsx +0 -61
  125. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItem.tsx +0 -264
  126. package/src/default-theme/menu/AppMenuComponents/collapsed/CollapsedSidebarItems.tsx +0 -31
  127. package/src/default-theme/menu/AppMenuComponents/expanded/CollapsableSidebarMenu.tsx +0 -293
  128. package/src/default-theme/menu/AppMenuComponents/expanded/SidebarItem.tsx +0 -92
  129. package/src/default-theme/menu/AppMenuComponents/getItem.tsx +0 -17
  130. package/src/default-theme/menu/AppMenuComponents/interfaces.tsx +0 -41
  131. package/src/default-theme/menu/AppMenuComponents/submenuConstants.ts +0 -90
  132. package/src/default-theme/menu/AppSidebarMaterial.tsx +0 -339
  133. package/src/default-theme/menu/SidebarActions.tsx +0 -84
  134. package/src/default-theme/updateDomCssVariables.tsx +0 -176
  135. package/src/helpers/checkRole.tsx +0 -66
  136. package/src/helpers/parseAxiosError.tsx +0 -41
  137. package/src/hooks/audio/useAudio.tsx +0 -39
  138. package/src/hooks/axios.tsx +0 -165
  139. package/src/hooks/data/useDashboardStats.tsx +0 -65
  140. package/src/hooks/data/usePackageByClientsStats.tsx +0 -44
  141. package/src/hooks/data/usePackageByCommunesStats.tsx +0 -44
  142. package/src/hooks/data/usePackageStats.tsx +0 -69
  143. package/src/hooks/data/usePackageWithdrawDetails.tsx +0 -61
  144. package/src/hooks/data/useStats.tsx +0 -86
  145. package/src/hooks/isCurrentPath.tsx +0 -22
  146. package/src/hooks/notifications/WSMessagesManager.tsx +0 -152
  147. package/src/hooks/notifications/WSPusherManager.tsx +0 -92
  148. package/src/hooks/useBreadcrumbs.tsx +0 -329
  149. package/src/hooks/useClickOutside.tsx +0 -57
  150. package/src/hooks/useFormPersistance.tsx +0 -150
  151. package/src/hooks/useGlobalErrorMediator.tsx +0 -43
  152. package/src/hooks/useGlobalLoaderMgr.tsx +0 -21
  153. package/src/hooks/useHash.tsx +0 -27
  154. package/src/hooks/useLocalStorage.tsx +0 -196
  155. package/src/hooks/usePolyglotTranslation.tsx +0 -62
  156. package/src/hooks/usePrevious.tsx +0 -9
  157. package/src/hooks/usePrintSelected.tsx +0 -37
  158. package/src/hooks/useVirtualHash.tsx +0 -33
  159. package/src/hooks/window/useWindowSize.tsx +0 -36
  160. package/src/index.tsx +0 -134
  161. package/src/interfaces/IAppResourceConfig.tsx +0 -20
  162. package/src/interfaces/Log.tsx +0 -16
  163. package/src/interfaces/Tenant.tsx +0 -25
  164. package/src/interfaces/communication/IActions.tsx +0 -5
  165. package/src/interfaces/communication/INotification.tsx +0 -21
  166. package/src/interfaces/communication/IPayload.tsx +0 -3
  167. package/src/interfaces/communication/IRequestAction.tsx +0 -10
  168. package/src/interfaces/communication/IRequestPayload.tsx +0 -7
  169. package/src/interfaces/communication/IResponseAction.tsx +0 -7
  170. package/src/interfaces/misc/IAny.tsx +0 -3
  171. package/src/interfaces/misc/IFlashMessage.tsx +0 -10
  172. package/src/interfaces/navigation/IAppMenu.ts +0 -14
  173. package/src/interfaces/navigation/ICollapsableSidebarMenu.ts +0 -12
  174. package/src/interfaces/navigation/IMenuItem.ts +0 -16
  175. package/src/interfaces/notifications/IModel.tsx +0 -6
  176. package/src/interfaces/notifications/IModelField.tsx +0 -8
  177. package/src/interfaces/notifications/IUserNotification.tsx +0 -12
  178. package/src/interfaces/notifications/IUserNotificationData.tsx +0 -13
  179. package/src/interfaces/notifications/IUserNotificationPayload.tsx +0 -8
  180. package/src/interfaces/user/IGetAuth.tsx +0 -92
  181. package/src/interfaces/user/ITenantSettings.tsx +0 -3
  182. package/src/interfaces/user/IUser.tsx +0 -60
  183. package/src/interfaces/user/IUserSettings.tsx +0 -43
  184. package/src/interfaces.tsx +0 -6
  185. package/src/layout/AppLayout.tsx +0 -112
  186. package/src/layout/ApplicationLayout.tsx +0 -197
  187. package/src/layout/MotionWrapper.original.tsx +0 -236
  188. package/src/layout/MotionWrapper.tsx +0 -236
  189. package/src/layout/ResourceMenu.tsx +0 -164
  190. package/src/layout/ResoureLayout.tsx +0 -105
  191. package/src/layout/TransitionWrapper.tsx +0 -125
  192. package/src/pages/ChangePassword.tsx +0 -179
  193. package/src/pages/DASHLanding.tsx +0 -22
  194. package/src/pages/DASHLightWeightLogin.tsx +0 -611
  195. package/src/pages/DASHSimpleLogin.tsx +0 -260
  196. package/src/pages/Login.tsx +0 -111
  197. package/src/pages/Profile.tsx +0 -357
  198. package/src/pages/RecoverPassword.tsx +0 -175
  199. package/src/pages/SingleImageUploader.tsx +0 -55
  200. package/src/pages/VerifyAccount.tsx +0 -128
  201. package/src/providers/authProvider.tsx +0 -217
  202. package/src/providers/dataProvider.tsx +0 -672
  203. package/src/providers/i18n/en.ts +0 -646
  204. package/src/providers/i18n/es.ts +0 -652
  205. package/src/providers/i18n/languages.tsx +0 -8
  206. package/src/providers/i18n/mergeTranslations.ts +0 -53
  207. package/src/providers/i18nProvider.tsx +0 -23
  208. package/src/react-admin-dash/RADashComponent.tsx +0 -240
  209. package/src/react-admin-dash/Resource.tsx +0 -77
  210. package/src/resources/Brand/BrandResource.tsx +0 -130
  211. package/src/resources/DASHResourceLoader.ts +0 -180
  212. package/src/resources/Log/LogResource.tsx +0 -73
  213. package/src/resources/Tenant/ImpersonateTenantResource.tsx +0 -113
  214. package/src/resources/Trash/TrashTemplate.tsx +0 -180
  215. package/src/resources/User/components/AvatarUploadField.tsx +0 -57
  216. package/src/resources/User/components/PasswordFields.tsx +0 -73
  217. package/src/resources/User/getProfileMenu.ts +0 -57
  218. package/src/resources/User/profileResource.tsx +0 -51
  219. package/src/resources/User/userLayout.tsx +0 -62
  220. package/src/resources/User/userResource.tsx +0 -111
  221. package/src/resources/User/userSchema.tsx +0 -213
  222. package/src/resources/User/usersFilters.tsx +0 -21
  223. package/src/resources.tsx +0 -280
  224. package/src/schemas/log.tsx +0 -45
  225. package/src/schemas/notification.tsx +0 -42
  226. package/src/schemas/permissions.tsx +0 -44
  227. package/src/schemas/roles.tsx +0 -48
  228. package/src/schemas/rolesDataGrid.tsx +0 -48
  229. package/src/schemas/subscription/components/SubscriptionActions.tsx +0 -153
  230. package/src/schemas/subscription/components/SubscriptionPaymentHistory.tsx +0 -127
  231. package/src/schemas/subscription/components/SubscriptionPlanFeatures.tsx +0 -162
  232. package/src/schemas/subscription/components/SubscriptionPlanPreview.tsx +0 -141
  233. package/src/schemas/subscription/components/SubscriptionPlanStats.tsx +0 -318
  234. package/src/schemas/subscription/components/SubscriptionStatusIndicator.tsx +0 -72
  235. package/src/schemas/subscription/subscriptionPlanSchema.tsx +0 -185
  236. package/src/schemas/subscription/subscriptionSchema.tsx +0 -152
  237. package/src/schemas/subscriptionPlan.ts +0 -422
  238. package/src/schemas/tenant.tsx +0 -129
  239. package/src/schemas/tenantUser.tsx +0 -96
  240. package/src/schemas/tenant_superadmin.tsx +0 -119
  241. package/src/schemas/user.tsx +0 -26
  242. package/src/systemResources.old.tsx +0 -928
  243. package/src/systemResources.tsx +0 -1369
  244. package/src/templates/ResourceTemplate.tsx +0 -240
  245. package/src/templates/ResourceTemplate.tsx.memoized_experiment +0 -350
  246. package/src/templates/ResourceTemplate.tsx.original +0 -396
  247. package/src/templates/ResourceTemplateCreate.tsx +0 -182
  248. package/src/templates/ResourceTemplateEdit.tsx +0 -176
  249. package/src/templates/ResourceTemplateFull.tsx +0 -581
  250. package/src/templates/ResourceTemplateList.tsx +0 -340
  251. package/src/templates/ResourceTemplateOld.tsx.bkup +0 -567
  252. package/src/templates/ResourceTemplateShow.tsx +0 -88
  253. package/src/templates/TrashTemplate.tsx +0 -179
  254. package/src/tenantResources.tsx +0 -223
  255. package/src/test_portal_bubbles.tsx +0 -40
  256. package/src/theme/AppHeader.tsx +0 -52
  257. package/src/theme/AppLayoutSetting.tsx +0 -33
  258. package/src/theme/AppLogo.tsx +0 -13
  259. package/src/theme/AppSidebar.tsx +0 -12
  260. package/src/theme/AppSidebarContent.tsx +0 -105
  261. package/src/theme/AppSidebarLogo.tsx +0 -48
  262. package/src/theme/components/PageTitle.tsx +0 -37
  263. package/src/utils/cache/CacheInvalidatorContext.tsx +0 -125
  264. package/src/utils/cache/CacheInvalidatorListenerComponent.tsx +0 -10
  265. package/src/utils/cache/useCacheInvalidatorListener.tsx +0 -27
  266. package/src/utils/convertFileToBase64.tsx +0 -9
  267. package/src/utils/convertToFile.tsx +0 -14
  268. package/src/utils/cookies.tsx +0 -33
  269. package/src/utils/dashDefaultQueryClient.tsx +0 -34
  270. package/src/utils/dataUrlToBlob.tsx +0 -30
  271. package/src/utils/deepReplace.tsx +0 -19
  272. package/src/utils/getProfileMenu.tsx +0 -41
  273. package/src/utils/getTenantSettings.tsx +0 -9
  274. package/src/utils/getType.tsx +0 -8
  275. package/src/utils/getUserSettings.tsx +0 -8
  276. package/src/utils/hasCode.tsx +0 -14
  277. package/src/utils/index.ts +0 -19
  278. package/src/utils/injectTenantStyles.ts +0 -28
  279. package/src/utils/isComponent.tsx +0 -45
  280. package/src/utils/navEvents.tsx +0 -91
  281. package/src/utils/prototypes.tsx +0 -5
  282. package/src/utils/regexp.tsx +0 -4
  283. package/src/utils/resolveObjectPath.tsx +0 -4
  284. package/src/utils/setNativeValue.tsx +0 -24
  285. package/src/utils/slugify.tsx +0 -11
  286. package/src/utils/validators/emailValidator.tsx +0 -6
  287. package/src/utils/validators/requiredValidator.tsx +0 -5
  288. package/src/utils/validators/rutValidator.tsx +0 -31
  289. package/src/utils/validators.tsx +0 -96
@@ -1,196 +0,0 @@
1
- import { useCallback, useEffect, useState, useMemo } from 'react';
2
- import { dashStorage } from 'dash-utils';
3
- const isBrowser = typeof window !== 'undefined';
4
-
5
- const isLocalStorageAvailable = () => {
6
- if (!isBrowser) {
7
- return false;
8
- }
9
- const test = `test-${Date.now()}`;
10
- try {
11
- dashStorage.setItem(test, test);
12
- dashStorage.removeItem(test);
13
- return true;
14
- } catch (e) {
15
- return false;
16
- }
17
- };
18
-
19
- const useLocalStorage = (key, initialValue = '') => {
20
- const available = isLocalStorageAvailable();
21
- const getValueFromLocalStorage = useCallback(() => {
22
- try {
23
- if (!available) {
24
- return initialValue;
25
- }
26
- const item = dashStorage.getItem(key);
27
- return item ? JSON.parse(item) : initialValue;
28
- } catch (error) {
29
- return initialValue;
30
- }
31
- }, [available, initialValue, key]);
32
-
33
- const _initialValue = getValueFromLocalStorage();
34
-
35
- const [storedValue, setStoredValue] = useState(_initialValue);
36
-
37
- useEffect(() => {
38
- if (available) {
39
- const value = getValueFromLocalStorage();
40
- // This should not be necessary, though wwhen local storage available, get the value from localstorage and set to state.
41
- setStoredValue(value);
42
- }
43
- }, [available]);
44
-
45
- // Listen to localStorage change to apply it
46
- const changeHandler = useCallback(
47
- (e) => {
48
-
49
- const { key: changeKey, newValue } = e;
50
- if (key === changeKey) {
51
-
52
- setStoredValue(JSON.parse(newValue));
53
- }
54
- },
55
- [key],
56
- );
57
-
58
- // Listen changes
59
- useEffect(() => {
60
- if (available) {
61
- window.addEventListener('storage', changeHandler);
62
- return () => {
63
- window.removeEventListener('storage', changeHandler);
64
- };
65
- }
66
- }, [available]); // eslint-disable-line react-hooks/exhaustive-deps
67
-
68
- const setValue = (value) => {
69
- if (!available) {
70
- return false;
71
- }
72
-
73
- const valueToStore =
74
- value instanceof Function ? value(storedValue) : value;
75
- //if (valueToStore !== storedValue) {
76
-
77
- dashStorage.setItem(key, JSON.stringify(valueToStore));
78
-
79
- setStoredValue(valueToStore);
80
- //}
81
- };
82
- // Build the output
83
- /*return useMemo(() => {
84
- const _storedValue = getValueFromLocalStorage();
85
- return [storedValue, setValue];
86
- }, [storedValue, key]);*/
87
- return [storedValue, setValue];
88
- };
89
-
90
- export default useLocalStorage;
91
-
92
-
93
-
94
- /*
95
- import { useCallback, useEffect, useState } from 'react';
96
-
97
- function useLocalStorage<T = any>(
98
- key: string,
99
- initialValue?: T
100
- ): [T, (value: T | ((val: T) => T)) => void, () => void] {
101
- // Check if we're running in a browser environment
102
- const isBrowser = typeof window !== 'undefined';
103
-
104
- // Function to safely parse JSON from localStorage
105
- const getStoredValue = useCallback((): T => {
106
- if (!isBrowser) {
107
- return initialValue as T;
108
- }
109
-
110
- try {
111
- const item = dashStorage.getItem(key);
112
-
113
- // Return parsed JSON or initialValue if no item exists
114
- if (!item) {
115
- return initialValue as T;
116
- }
117
-
118
- try {
119
- return JSON.parse(item);
120
- } catch (parseError) {
121
- console.error(`Error parsing localStorage key "${key}":`, parseError);
122
- return initialValue as T;
123
- }
124
- } catch (error) {
125
- console.error(`Error reading localStorage key "${key}":`, error);
126
- return initialValue as T;
127
- }
128
- }, [key, initialValue, isBrowser]);
129
-
130
- // State to store our value
131
- const [storedValue, setStoredValue] = useState<T>(getStoredValue());
132
-
133
- // Function to update localStorage and state
134
- const setValue = useCallback((value: T | ((val: T) => T)) => {
135
- if (!isBrowser) {
136
- console.warn(`Cannot set localStorage key "${key}" - not in browser environment`);
137
- return;
138
- }
139
-
140
- try {
141
- // Allow value to be a function for setState-like updates
142
- const valueToStore = value instanceof Function ? value(storedValue) : value;
143
-
144
- // Save to state
145
- setStoredValue(valueToStore);
146
-
147
- // Save to localStorage
148
- dashStorage.setItem(key, JSON.stringify(valueToStore));
149
- } catch (error) {
150
- console.error(`Error setting localStorage key "${key}":`, error);
151
- }
152
- }, [key, storedValue, isBrowser]);
153
-
154
- // Function to remove the item from localStorage
155
- const removeValue = useCallback(() => {
156
- if (!isBrowser) {
157
- return;
158
- }
159
-
160
- try {
161
- dashStorage.removeItem(key);
162
- setStoredValue(initialValue as T);
163
- } catch (error) {
164
- console.error(`Error removing localStorage key "${key}":`, error);
165
- }
166
- }, [key, initialValue, isBrowser]);
167
-
168
- // Listen for changes to this localStorage key in other tabs/windows
169
- useEffect(() => {
170
- if (!isBrowser) {
171
- return;
172
- }
173
-
174
- const handleStorageChange = (event: StorageEvent) => {
175
- if (event.key === key && event.newValue !== JSON.stringify(storedValue)) {
176
- try {
177
- const newValue = event.newValue ? JSON.parse(event.newValue) : initialValue;
178
- setStoredValue(newValue as T);
179
- } catch (error) {
180
- console.error(`Error parsing storage event value for key "${key}":`, error);
181
- }
182
- }
183
- };
184
-
185
- window.addEventListener('storage', handleStorageChange);
186
-
187
- return () => {
188
- window.removeEventListener('storage', handleStorageChange);
189
- };
190
- }, [key, initialValue, storedValue, isBrowser]);
191
-
192
- return [storedValue, setValue, removeValue];
193
- }
194
-
195
- export default useLocalStorage;
196
- */
@@ -1,62 +0,0 @@
1
- import { useSelector, useDispatch } from 'react-redux';
2
- import { useMemo, useCallback } from 'react';
3
- import Polyglot from 'node-polyglot';
4
- import { DASH_REDUX_ACTIONS, IDASHAppState } from 'dash-admin-state';
5
-
6
-
7
- /**
8
- * Hook to get available locales from Redux settings
9
- */
10
- export const useLocales = ({ locales }: { locales?: { locale: string; name: string }[] } = {}) => {
11
- const availableLocales = useSelector((state: IDASHAppState<any,any,any>) => state.settings?.availableLocales);
12
-
13
- return useMemo(() => {
14
- if (locales && locales.length > 0) {
15
- return locales;
16
- }
17
- return availableLocales || [
18
- { locale: 'es', name: 'Español', languageId: 'spanish', icon: 'es' },
19
- { locale: 'en', name: 'English', languageId: 'english', icon: 'en' },
20
- ];
21
- }, [locales, availableLocales]);
22
- };
23
-
24
- /**
25
- * Hook to get and set current locale using Redux
26
- * Returns [currentLocale, setLocaleFunction]
27
- */
28
- export const useLocaleState = (): [string, (locale: string) => void] => {
29
- const dispatch = useDispatch();
30
- const currentLocale = useSelector((state: IDASHAppState<any,any,any>) => state.settings?.locale || 'es');
31
-
32
- const setLocale = useCallback((newLocale: string) => {
33
- // Update Redux state (switchLanguage returns a thunk, so we need to cast dispatch)
34
- (dispatch as any)(DASH_REDUX_ACTIONS.switchLanguage(newLocale));
35
-
36
- // Persist to localStorage
37
- localStorage.setItem('dash-user-locale', newLocale);
38
- }, [dispatch]);
39
-
40
- return [currentLocale, setLocale];
41
- };
42
-
43
- /**
44
- * Hook to get a translation function (similar to useTranslate from react-admin)
45
- */
46
- export const useTranslate = () => {
47
- const locale = useSelector((state: IDASHAppState<any,any,any>) => state.settings?.locale || 'es');
48
- const translations = useSelector((state: IDASHAppState<any,any,any>) => state.settings?.translations || {});
49
-
50
- return useMemo(() => {
51
- const messages = translations[locale] || translations['es'];
52
- const polyglot = new Polyglot({
53
- phrases: messages,
54
- locale,
55
- allowMissing: true,
56
- });
57
-
58
- return (key: string, options?: any) => {
59
- return polyglot.t(key, options);
60
- };
61
- }, [locale, translations]);
62
- };
@@ -1,9 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- const usePrevious = (value) => {
3
- const ref = useRef(undefined);
4
- useEffect(() => {
5
- ref.current = value;
6
- });
7
- return ref.current;
8
- };
9
- export default usePrevious;
@@ -1,37 +0,0 @@
1
-
2
- import React, { useState } from 'react';
3
-
4
- const usePrintSelected = () => {
5
- const printSelectedUseState = useState<{
6
- selectedIds: number[];
7
- filterValues: any;
8
- }>(null);
9
-
10
- const sendPrintSelectedEvent = (selectedIds: number[], filterValues: any) => {
11
- window.dispatchEvent(
12
- new MessageEvent('printSelected', {
13
- data: {
14
- value: { selectedIds: selectedIds, filterValues: filterValues },
15
- },
16
- }),
17
- );
18
- };
19
-
20
- const eventHook = (e: any) => {
21
- printSelectedUseState[1](e.data.value);
22
- };
23
-
24
- React.useEffect(() => {
25
- window.addEventListener('printSelected', eventHook);
26
- return () => {
27
- window.removeEventListener('printSelected', eventHook);
28
- };
29
- }, []);
30
-
31
- return {
32
- printSelectedUseState: printSelectedUseState,
33
- sendPrintSelectedEvent: sendPrintSelectedEvent,
34
- };
35
- };
36
-
37
- export default usePrintSelected;
@@ -1,33 +0,0 @@
1
- import { random } from 'lodash';
2
- import React from 'react';
3
-
4
- const useVirtualHash = () => {
5
- const [hash, setHash] = React.useState<string>(() => window.location.hash);
6
-
7
- const hashChangeHandler = React.useCallback((e) => {
8
- setHash(e.data);
9
- }, []);
10
-
11
- React.useEffect(() => {
12
- window.addEventListener('virtualhash', hashChangeHandler);
13
- return () => {
14
- window.removeEventListener('virtualhash', hashChangeHandler);
15
- };
16
- }, []);
17
-
18
- const _update = React.useCallback(
19
- (newHash) => {
20
- history.replaceState(null, null, `#${newHash}`);
21
- window.dispatchEvent(new MessageEvent('virtualhash', { data: `#${newHash}` }));
22
- },
23
- [hash],
24
- );
25
-
26
- const setVirtualHash = (hash: string) => {
27
- _update(hash);
28
- };
29
-
30
- return { hash, setVirtualHash };
31
- };
32
-
33
- export default useVirtualHash;
@@ -1,36 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
-
3
- interface IWindowSize {
4
- width: number | undefined;
5
- height: number | undefined;
6
- }
7
-
8
- const useWindowSize = (): IWindowSize => {
9
- // Initialize state with undefined width/height so server and client renders match
10
- // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
11
- const [windowSize, setWindowSize] = useState<IWindowSize>({
12
- width: undefined,
13
- height: undefined,
14
- });
15
-
16
- useEffect(() => {
17
- // Handler to call on window resize
18
- function handleResize() {
19
- // Set window width/height to state
20
- setWindowSize({
21
- width: window.innerWidth,
22
- height: window.innerHeight,
23
- });
24
- }
25
- // Add event listener
26
- window.addEventListener('resize', handleResize);
27
- // Call handler right away so state gets updated with initial window size
28
- handleResize();
29
- // Remove event listener on cleanup
30
- return () => window.removeEventListener('resize', handleResize);
31
- }, []); // Empty array ensures that effect is only run on mount
32
-
33
- return windowSize;
34
- };
35
-
36
- export default useWindowSize;
package/src/index.tsx DELETED
@@ -1,134 +0,0 @@
1
- import SystemRequestsCache from './contexts/SystemRequestsCache';
2
-
3
- /** INTERFACES */
4
- export type { IAuthContext } from './contexts/auth'
5
- export type { ILaravelEchoManager } from './contexts/com/LaravelEchoMgr'
6
-
7
- /** Global Loader */
8
- export { default as useGlobalLoaderMgr } from './hooks/useGlobalLoaderMgr';
9
- export { default as GlobalLoader } from './components/loader/GlobalLoader';
10
- /** App Wrapper Uses suspense to load the Domain App, contains Global Loader and Global Error Boundary. */
11
- export { default as AppAsyncWrapper } from './AppAsyncWrapper';
12
- export { default as AppWrapper } from './AppWrapper';
13
- export { default as DASHAdmin } from './DASHAdmin';
14
- export { default as systemResources } from './systemResources';
15
- export { default as tenantResources } from './tenantResources';
16
- export { default as CustomImageInput } from './components/misc/CustomImageInput';
17
-
18
- export { default as ResourceTemplate } from './templates/ResourceTemplate';
19
- export { default as ResourceTemplateFull } from './templates/ResourceTemplateFull';
20
- //export { default as ResourceTemplateOld } from './templates/ResourceTemplateOld';
21
- export { useDashResource } from './contexts/DashResourceContext';
22
- export { default as TrashTemplate } from './templates/TrashTemplate';
23
- export { default as MotionWrapper } from './layout/MotionWrapper';
24
- //export { default as TransitionWrapper } from './layout/TransitionWrapper';
25
- export { default as useWindowSize } from './hooks/window/useWindowSize';
26
- export { CacheInvalidatorContext } from './utils/cache/CacheInvalidatorContext';
27
- export { default as CacheInvalidatorListenerComponent } from './utils/cache/CacheInvalidatorListenerComponent';
28
- //export { default as useCacheInvalidatorListener } from './utils/cache/useCacheInvalidatorListener';
29
- //export { default as useAxiosGetWithStore } from './hooks/data/useAxiosGetWithStore';
30
- //export { default as resolveObjectPath } from './utils/resolveObjectPath';
31
- //export * as Utils from "./utils"
32
- export { AuthContext } from './contexts/auth';
33
- export { NotificationComponent } from './contexts/com/components/NotificationRenderer'
34
- export { NotificationWrapper } from './contexts/com/components/NotificationsWidget'
35
- export { default as EchoNotificationsCenter } from './contexts/com/components/EchoNotificationsCenter'
36
-
37
- export { default as useLaravelEcho } from './contexts/com/useLaravelEcho';
38
- export { default as WSMessagesManager } from './hooks/notifications/WSMessagesManager';
39
-
40
- export { default as FCMContext, FCMProvider } from './contexts/com/FCMContext';
41
-
42
- export { default as Redirect } from './components/custom/Redirect';
43
- //export { default as getEnv } from "./config/DASHAdminSystemConstants";
44
-
45
- export { default as RoutingWrapper, AnimatedRoutesWrapper } from './RoutingWrapper';
46
- export type { IDASHRoutingWrapper } from './RoutingWrapper';
47
-
48
- export { useAuthContext } from "./contexts/auth/AuthContext";
49
-
50
- export {default as LaravelEchoContext} from "./contexts/com/LaravelEchoContext"
51
- export {default as DashQueryClientContext, useDashQueryClient, useDashQueryPersister, useIsCachePersisted} from "./contexts/DashQueryClientContext"
52
- export { default as SystemRequestsCache, useSystemRequestsCache } from './contexts/SystemRequestsCache';
53
- export { SubscriptionPlanFormatsProvider, useSubscriptionPlanFormats } from './contexts/SubscriptionPlanFormatsProvider';
54
- export type {ILaravelEchoContext} from "./contexts/com/LaravelEchoContext"
55
-
56
- export {default as DASHGlobalErrorHandler} from "./components/misc/DASHGlobalErrorHandler"
57
- export type {
58
- //NotificationPayloadBase,
59
- //INotificationPayload,
60
- //DefaultSystemNotification,
61
- //IFormattedNotification,
62
- INotificationFormat
63
- } from "./contexts/com/components/notificationFormats"
64
-
65
- // This is a React-Admin hacked component to overwrite some native features.
66
- export * from './react-admin-dash/Resource';
67
-
68
- export {default as LogFileById} from "./components/logs/LogFileById"
69
- export {default as LogFile} from "./components/logs/LogFile"
70
-
71
- export { default as DASHAuthenticationService } from "./contexts/auth/DASHAuthenticationService"
72
-
73
- export * from "./contexts/auth"
74
-
75
- export * from "./utils"
76
-
77
- export * from "./default-theme";
78
-
79
- export * from "./providers/i18n/languages"
80
-
81
- export { default as DarkToggleMode } from "./components/menu/DarkToggleMode"
82
-
83
- export { default as AppDashboardGrid } from './default-theme/menu/AppDashboardGrid';
84
- export { default as HorizontalScroller } from './components/misc/HorizontalScroller';
85
- export type { IHorizontalScrollerProps } from './components/misc/HorizontalScroller';
86
- export type {
87
- IDashboardMenuGridProps,
88
- IDashboardMenuGridColumns,
89
- DashboardGridCardSize,
90
- } from './default-theme/menu/AppDashboardGrid';
91
-
92
- export { default as useFormPersistence } from "./hooks/useFormPersistance";
93
-
94
- export { default as AvatarComponent } from './components/user/AvatarComponent';
95
- export { default as TenantAvatarComponent } from './components/user/TenantAvatarComponent';
96
- export { default as UserPreferences } from './components/user/UserPreferences';
97
- export { default as Profile } from './pages/Profile';
98
- export { default as LanguageSwitcher } from './components/misc/LanguageSwitcher';
99
- export { default as LangSwitcher } from './components/i18n/LangSwitcher';
100
- export {
101
- default as TenantSwitcher,
102
- dispatchTenantSwitchEvent,
103
- getActiveTenantId,
104
- isTenantImpersonationEnabled,
105
- type TenantSwitcherProps,
106
- type TenantSwitchEventDetail,
107
- } from './components/tenancy/TenantSwitcher';
108
- export {
109
- default as GlobalTenantWrapper,
110
- type IGlobalTenantWrapper,
111
- } from './components/tenancy/GlobalTenantWrapper';
112
- export { default as DarkModeSwitcher } from './components/misc/DarkModeSwitcher';
113
-
114
- // Navigation Components
115
- export { Breadcrumbs, BreadcrumbsComponent, BreadcrumbsManager, BreadcrumbsManagerComponent } from './components/navigation';
116
- export type { BreadcrumbsProps, BreadcrumbsManagerProps } from './components/navigation';
117
-
118
- // Navigation Hooks
119
- export { useBreadcrumbs } from './hooks/useBreadcrumbs';
120
- export type { UseBreadcrumbsOptions, UseBreadcrumbsResult } from './hooks/useBreadcrumbs';
121
-
122
- // Resource Loader
123
- export {
124
- createDASHResourceLoader,
125
- getDASHResources,
126
- loadResourcesFromManifest,
127
- loadManifest,
128
- clearResourceCache,
129
- getCachedResources,
130
- type IResourceManifestEntry,
131
- type IDASHResourceLoaderConfig
132
- } from './resources/DASHResourceLoader';
133
-
134
- export { default as I18nBridgeContext, I18nBridgeProvider, useI18nBridge, useBridgedLocales, useBridgedChangeLocale, useBridgedLocale } from './contexts/I18nBridgeContext';
@@ -1,20 +0,0 @@
1
- import { IDashAutoAdminResourceConfig } from 'dash-auto-admin';
2
- import { JSX } from 'react';
3
- /**
4
- * Extends the `IDashAutoAdminResourceConfig` interface to provide additional configuration options for an application resource.
5
- *
6
- * - `navActions`: Optional array of JSX.Element that will be appended to the layout menu.
7
- * - `hidden`: Optional boolean that determines if the resource should be hidden from the UI.
8
- * - `resourceMenuPosition`: Optional string that specifies the position of the resource menu.
9
- * - `resourceMenuDisabled`: Optional boolean that determines if the resource menu should be disabled.
10
- * - `redirect`: Optional string that specifies a redirect path for the resource.
11
- */
12
- export interface IAppResourceConfig extends IDashAutoAdminResourceConfig {
13
- /** IDashAutoAdminResourceConfig Custom prop used in domain ResourceLayout; adds JSX.Elements appended to the layout menu*/
14
- navActions?: JSX.Element[];
15
- hidden?: boolean;
16
- resourceMenuPosition?: string;
17
- resourceMenuDisabled?: boolean;
18
- redirect?: string;
19
- }
20
- export default IAppResourceConfig;
@@ -1,16 +0,0 @@
1
- export interface ILog {
2
- date: string;
3
- filepath: string;
4
- id: number;
5
- json: any;
6
- name: string;
7
- tenant_id: string;
8
- type: string;
9
- }
10
- export interface ILogTxtFileComponent {
11
- log: ILog;
12
- }
13
-
14
- export interface IProductImportLogComponent {
15
- logs: ILog[];
16
- }
@@ -1,25 +0,0 @@
1
- export interface Tenant {
2
- id: number;
3
- name: string;
4
- public_id: string;
5
- email: string;
6
- settings: any;
7
- attributes: any;
8
- banner_url: string;
9
- horizontal_logo_url: string;
10
- squared_logo_url: string | null;
11
- images: {
12
- banner: {
13
- original: string;
14
- };
15
- horizontal_logo: {
16
- original: string;
17
- };
18
- squared_logo: any[];
19
- };
20
- currencies: any[];
21
- currency_primary_id: number | null;
22
- currency_ids: number[];
23
- systemMarketplaces: any[];
24
- systemPointOfSales: any[];
25
- }
@@ -1,5 +0,0 @@
1
- import { IRequestAction } from './IRequestAction';
2
-
3
- export interface IActions {
4
- [key: string]: IRequestAction;
5
- }
@@ -1,21 +0,0 @@
1
- export interface IDashNotificationPayloadBase {
2
- notifiable?: any;
3
- modelInstance?: number;
4
- model?: string;
5
- targetType?: string;
6
- mailSubject?: string;
7
- timestamp?: string;
8
- targetRoles?: string[];
9
- notify: "dialog" | "toast" | "none";
10
- type?:string
11
- data?:any
12
- notificationPayload?:any;
13
- }
14
-
15
- export interface IDashNotificationBase<T> {
16
- class?: string;
17
- title?: string;
18
- message?: string;
19
- notificationPayload?: T
20
-
21
- }
@@ -1,3 +0,0 @@
1
- export default interface IPayload {
2
- [key: string]: any;
3
- }
@@ -1,10 +0,0 @@
1
- export interface IRequestAction {
2
- ACTION: string;
3
- SUCCESS: string;
4
- FAILURE: string;
5
- PATH?: string;
6
- METHOD?: 'POST' | 'GET' | 'PATCH' | 'PUT' | 'UPDATE' | 'DELETE';
7
- AUTH?: boolean;
8
- PARSER?: (json: Object) => Object;
9
- ERROR_PARSER?: (json: Object) => Object;
10
- }
@@ -1,7 +0,0 @@
1
- export interface IRequestPayload {
2
- body?: object;
3
- params?: object;
4
- query?: object;
5
- config?: object;
6
- path?: string;
7
- }
@@ -1,7 +0,0 @@
1
- export interface IResponseAction {
2
- type: string;
3
- json?: any;
4
- message?: string;
5
- toState?: any;
6
- [key: string]: any;
7
- }
@@ -1,3 +0,0 @@
1
- export interface IAny {
2
- [key: string]: any;
3
- }
@@ -1,10 +0,0 @@
1
- export interface IFlashMessage {
2
- id?: number;
3
- duration?: number;
4
- text?: string;
5
- onClick?: any;
6
- type?: string;
7
- description?: string;
8
- onDismiss?: any;
9
- showButton?: boolean;
10
- }
@@ -1,14 +0,0 @@
1
- import { IDashAutoAdminResourceConfig } from "dash-auto-admin";
2
-
3
- interface IAppMenu {
4
- //hasDashboard: boolean;
5
- children?: React.ReactNode;
6
- autoHideScroll?: boolean;
7
- menu?: IDashAutoAdminResourceConfig[];
8
- debug?: boolean;
9
- showDrawer?: boolean;
10
- navSize?: "small" | "large";
11
- [key: string]: any;
12
- }
13
-
14
- export default IAppMenu;