@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
@@ -0,0 +1,10 @@
1
+ import { FC } from "react";
2
+ import useCacheInvalidatorListener from "./useCacheInvalidatorListener";
3
+ import React from "react";
4
+
5
+ const CacheInvalidatorListenerComponent:FC<any> = () => {
6
+ const _cacheInvalidatorStore = useCacheInvalidatorListener();
7
+ return <></>
8
+ }
9
+
10
+ export default CacheInvalidatorListenerComponent;
@@ -0,0 +1,27 @@
1
+
2
+ import React, { useContext, useEffect, useState } from 'react';
3
+
4
+ import CacheInvalidatorContext from './CacheInvalidatorContext';
5
+ import LaravelEchoContext, { ILaravelEchoContext } from '../../contexts/com/LaravelEchoContext';
6
+
7
+ const useCacheInvalidatorListener = () => {
8
+
9
+ const laravelEchoContext = useContext<ILaravelEchoContext>(LaravelEchoContext);
10
+ const {cacheInvalidatorStore,updateEntry} = useContext(CacheInvalidatorContext);
11
+
12
+ useEffect(() => {
13
+ const lastNotification = laravelEchoContext?.lastEvent;
14
+
15
+ /*if (lastNotification?.type === 'invalidate-cache') {
16
+ if(lastNotification.notificationPayload?.resource) {
17
+ updateEntry(lastNotification.notificationPayload?.resource)
18
+ }
19
+ }*/
20
+ }, [laravelEchoContext]);
21
+
22
+ return {
23
+ cacheInvalidatorStore: cacheInvalidatorStore
24
+ };
25
+ };
26
+
27
+ export default useCacheInvalidatorListener;
@@ -0,0 +1,9 @@
1
+ const convertFileToBase64 = (file) =>
2
+ new Promise((resolve, reject) => {
3
+ const reader = new FileReader();
4
+ reader.onload = () => resolve(reader.result);
5
+ reader.onerror = reject;
6
+ reader.readAsDataURL(file.rawFile);
7
+ });
8
+
9
+ export default convertFileToBase64;
@@ -0,0 +1,14 @@
1
+ const converToFile = (file) =>
2
+ new Promise((resolve, reject) => {
3
+ const reader = new FileReader();
4
+
5
+ reader.onload = () => {
6
+ //
7
+ resolve(reader.result);
8
+ };
9
+
10
+ reader.onerror = reject;
11
+ reader.readAsDataURL(file.rawFile);
12
+ });
13
+
14
+ export default converToFile;
@@ -0,0 +1,33 @@
1
+ import cookie from 'js-cookie';
2
+
3
+ export const setCookie = (
4
+ key: string,
5
+ value: string,
6
+ options: cookie.CookieAttributes = {},
7
+ ) => {
8
+ cookie.set(key, value, {
9
+ path: '/',
10
+ ...options,
11
+ });
12
+ };
13
+
14
+ export const removeCookie = (key) => {
15
+ cookie.remove(key, {
16
+ expires: 1,
17
+ });
18
+ };
19
+
20
+ export const getCookie = (key) => {
21
+ return getCookieFromBrowser(key);
22
+ };
23
+
24
+ const getCookieFromBrowser = (key) => {
25
+ return cookie.get(key);
26
+ };
27
+
28
+ export const clearAllCookies = () => {
29
+ const allCookies = cookie.get();
30
+ Object.keys(allCookies).forEach((key) => {
31
+ cookie.remove(key, { path: '/' });
32
+ });
33
+ };
@@ -0,0 +1,34 @@
1
+ import { QueryClient } from "react-query";
2
+ /*
3
+ const dashDefaultQueryClient = new QueryClient({
4
+ defaultOptions: {
5
+ queries: {
6
+ refetchOnWindowFocus: false, // default: true
7
+ },
8
+ },
9
+ // @ts-ignore: required to avoid error during development.
10
+ logger: {
11
+ log: (...args) => {
12
+ console.log(args);
13
+ },
14
+ warn: (...args) => {
15
+ console.warn(args);
16
+ },
17
+ error: (...args) => {
18
+ console.error(args);
19
+ },
20
+ },
21
+ });
22
+ */
23
+
24
+ const dashDefaultQueryClient = new QueryClient({
25
+ defaultOptions: {
26
+ queries: {
27
+ refetchOnWindowFocus: false,
28
+ staleTime: 5 * 60 * 1000, // 5 minutes
29
+ retry: 1,
30
+ },
31
+ },
32
+ });
33
+
34
+ export default dashDefaultQueryClient;
@@ -0,0 +1,30 @@
1
+ function dataURLToBlob(dropFile) {
2
+ //https://gist.github.com/aermolaev/a96ba40cd68fe357195f
3
+
4
+ const BASE64_MARKER = ';base64,';
5
+ //
6
+ const dataURL = dropFile.src;
7
+
8
+ if (dataURL.indexOf(BASE64_MARKER) === -1) {
9
+ const parts = dataURL.split(',');
10
+ const contentType = parts[0].split(':')[1];
11
+ const raw = decodeURIComponent(parts[1]);
12
+
13
+ return new Blob([raw], { type: contentType });
14
+ }
15
+
16
+ const parts = dataURL.split(BASE64_MARKER);
17
+ const contentType = parts[0].split(':')[1];
18
+ const raw = window.atob(parts[1]);
19
+ const rawLength = raw.length;
20
+
21
+ const uInt8Array = new Uint8Array(rawLength);
22
+
23
+ for (let i = 0; i < rawLength; ++i) {
24
+ uInt8Array[i] = raw.charCodeAt(i);
25
+ }
26
+
27
+ return new Blob([uInt8Array], { type: contentType });
28
+ }
29
+
30
+ export default dataURLToBlob;
@@ -0,0 +1,19 @@
1
+ const deepReplace = (
2
+ obj: object,
3
+ keyName: string,
4
+ replacer: (from: any) => string,
5
+ ) => {
6
+ for (const key in obj) {
7
+ if (key === keyName) {
8
+ obj[key] = replacer(obj[key]);
9
+ } else if (Array.isArray(obj[key])) {
10
+ (obj[key] as any[]).forEach((member) =>
11
+ deepReplace(member, keyName, replacer),
12
+ );
13
+ } else if (typeof obj[key] === 'object') {
14
+ deepReplace(obj[key], keyName, replacer);
15
+ }
16
+ }
17
+ };
18
+
19
+ export default deepReplace;
@@ -0,0 +1,41 @@
1
+ /* deprecated used in domain */
2
+ //import { IApplicationLayoutMenuItem } from '@dash-auto-admin/interfaces';
3
+
4
+ import { IApplicationLayoutMenuItem } from "../layout/ApplicationLayout";
5
+ import { dashStorage } from 'dash-utils';
6
+
7
+ const getProfileMenu = (resourceConfig): IApplicationLayoutMenuItem[] => {
8
+ const user = JSON.parse(dashStorage.getItem('user'));
9
+ const roles: any[] = JSON.parse(dashStorage.getItem('roles'));
10
+
11
+ const profileMenu = [
12
+ {
13
+ title: 'Perfil',
14
+ redirect: '/profile',
15
+ },
16
+ ];
17
+
18
+ const isCliente = roles
19
+ ? roles.map((role) => role.name).includes('Cliente')
20
+ : false;
21
+
22
+ isCliente &&
23
+ profileMenu.push(
24
+ {
25
+ title: 'Comunas',
26
+ redirect: '/profile/commune',
27
+ },
28
+ {
29
+ title: 'Centros Logísticos',
30
+ redirect: '/profile/logistic-center',
31
+ },
32
+ {
33
+ title: 'Notificaciones',
34
+ redirect: '/profile/notification',
35
+ },
36
+ );
37
+
38
+ return profileMenu;
39
+ };
40
+
41
+ export default getProfileMenu;
@@ -0,0 +1,9 @@
1
+ import { ITenantSettings } from "../interfaces/user/ITenantSettings"
2
+ import { dashStorage } from 'dash-utils';
3
+
4
+ const getTenantSettings = ():ITenantSettings => {
5
+ const auth = JSON.parse(dashStorage.getItem('tenantSettings')) as ITenantSettings;
6
+ return auth;
7
+ }
8
+
9
+ export default getTenantSettings;
@@ -0,0 +1,8 @@
1
+ const getType = (p: any) => {
2
+ if (Array.isArray(p)) return 'array';
3
+ else if (typeof p == 'string') return 'string';
4
+ else if (p != null && typeof p == 'object') return 'object';
5
+ else return 'other';
6
+ };
7
+
8
+ export default getType;
@@ -0,0 +1,8 @@
1
+ import { IUserSettings } from "../interfaces/user/IUserSettings"
2
+ import { dashStorage } from 'dash-utils';
3
+ const getUserSettings = ():IUserSettings => {
4
+ const auth = JSON.parse(dashStorage.getItem('userSettings')) as IUserSettings;
5
+ return auth;
6
+ }
7
+
8
+ export default getUserSettings;
@@ -0,0 +1,14 @@
1
+ const hashCode = (string: string) => {
2
+ var hash = 0,
3
+ i,
4
+ chr;
5
+ if (string.length === 0) return hash;
6
+ for (i = 0; i < string.length; i++) {
7
+ chr = string.charCodeAt(i);
8
+ hash = (hash << 5) - hash + chr;
9
+ hash |= 0; // Convert to 32bit integer
10
+ }
11
+ return hash;
12
+ };
13
+
14
+ export default hashCode;
@@ -0,0 +1,19 @@
1
+ export * from "./convertFileToBase64"
2
+ export * from "./convertToFile"
3
+ export * from "./cookies"
4
+ export * from "./dataUrlToBlob"
5
+ export * from "./deepReplace"
6
+ export * from "./getProfileMenu"
7
+ export * from "./getTenantSettings"
8
+ export * from "./getType"
9
+ export * from "./getUserSettings"
10
+ export * from "./hasCode"
11
+ export * from "./injectTenantStyles"
12
+ export * from "./isComponent"
13
+ export * from "./regexp"
14
+ export * from "./resolveObjectPath"
15
+ export * from "./setNativeValue"
16
+ export * from "./slugify"
17
+ export * from "./validators"
18
+ export * from './dashDefaultQueryClient';
19
+ export * from './navEvents';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Tenant Styles Injection Utility
3
+ *
4
+ * Injects CSS variables from tenant settings into the DOM.
5
+ * This is placed in dash-admin to avoid cyclic dependencies between dash-utils and dash-auth.
6
+ */
7
+ import { AuthPersistenceService } from 'dash-auth';
8
+ import { updateDomCssVariables } from 'dash-utils';
9
+
10
+ /**
11
+ * Inject tenant styles from persisted settings
12
+ * @param defaultTheme - The default theme type to use
13
+ */
14
+ export const injectTenantStyles = (defaultTheme: string): void => {
15
+ const tenantSettings = AuthPersistenceService.getTenantSettings();
16
+
17
+ if (tenantSettings) {
18
+ try {
19
+ const colors = tenantSettings.colors;
20
+ console.log('Updating colors from local storage');
21
+ updateDomCssVariables(defaultTheme, colors);
22
+ } catch (error) {
23
+ console.error('Error parsing tenant settings:', error);
24
+ }
25
+ }
26
+ };
27
+
28
+ export default injectTenantStyles;
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+
3
+ function isClassComponent(component) {
4
+ return (
5
+ typeof component === 'function' && !!component.prototype.isReactComponent
6
+ );
7
+ }
8
+
9
+ function isFunctionComponent(component) {
10
+ return (
11
+ typeof component === 'function' &&
12
+ String(component).includes('return React.createElement')
13
+ );
14
+ }
15
+
16
+ function isReactComponent(component) {
17
+ return isClassComponent(component) || isFunctionComponent(component);
18
+ }
19
+
20
+ function isElement(element) {
21
+ return React.isValidElement(element);
22
+ }
23
+
24
+ function isDOMTypeElement(element) {
25
+ return isElement(element) && typeof element.type === 'string';
26
+ }
27
+
28
+ function isCompositeTypeElement(element) {
29
+ return isElement(element) && typeof element.type === 'function';
30
+ }
31
+
32
+ export default isReactComponent;
33
+
34
+ /*const isComponent = (Component) => {
35
+
36
+ if (typeof Component === "undefined") return false;
37
+ return !!Component.name
38
+ return (
39
+ typeof Component === 'function' // can be various things
40
+ && !(
41
+ Component.prototype // native arrows don't have prototypes
42
+ && Component.prototype.isReactComponent // special property
43
+ )
44
+ );
45
+ }*/
@@ -0,0 +1,91 @@
1
+ // Custom event system for nav state communication
2
+ export const NAV_EVENTS = {
3
+ TOGGLE_EXPANDED: 'nav:toggle-expanded',
4
+ SET_EXPANDED: 'nav:set-expanded',
5
+ STATE_CHANGED: 'nav:state-changed',
6
+ CLOSE_DRAWER: 'nav:close-drawer',
7
+ CLOSE_ALL_SUBMENUS: 'nav:close-all-submenus',
8
+ SUBMENU_OPENED: 'nav:submenu-opened'
9
+ } as const;
10
+
11
+ export interface NavStateChangeEvent extends CustomEvent {
12
+ detail: {
13
+ expanded: boolean;
14
+ size: 'small' | 'large';
15
+ };
16
+ }
17
+
18
+ export class NavEventManager {
19
+ static toggleExpanded() {
20
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.TOGGLE_EXPANDED));
21
+ }
22
+
23
+ static setExpanded(expanded: boolean) {
24
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.SET_EXPANDED, {
25
+ detail: { expanded }
26
+ }));
27
+ }
28
+
29
+ static notifyStateChange(expanded: boolean, size: 'small' | 'large') {
30
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.STATE_CHANGED, {
31
+ detail: { expanded, size }
32
+ }));
33
+ }
34
+
35
+ // Close drawer (used when navigating on mobile)
36
+ static closeDrawer() {
37
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.CLOSE_DRAWER));
38
+ }
39
+
40
+ static onCloseDrawer(callback: () => void) {
41
+ const handler = () => callback();
42
+ window.addEventListener(NAV_EVENTS.CLOSE_DRAWER, handler);
43
+ return () => window.removeEventListener(NAV_EVENTS.CLOSE_DRAWER, handler);
44
+ }
45
+
46
+ // Submenu accordion behavior - notify when a submenu opens
47
+ static notifySubmenuOpened(submenuKey: string) {
48
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.SUBMENU_OPENED, {
49
+ detail: { submenuKey }
50
+ }));
51
+ }
52
+
53
+ static onSubmenuOpened(callback: (submenuKey: string) => void) {
54
+ const handler = (event: CustomEvent<{submenuKey: string}>) => {
55
+ callback(event.detail.submenuKey);
56
+ };
57
+ window.addEventListener(NAV_EVENTS.SUBMENU_OPENED, handler as EventListener);
58
+ return () => window.removeEventListener(NAV_EVENTS.SUBMENU_OPENED, handler as EventListener);
59
+ }
60
+
61
+ // Close all submenus
62
+ static closeAllSubmenus() {
63
+ window.dispatchEvent(new CustomEvent(NAV_EVENTS.CLOSE_ALL_SUBMENUS));
64
+ }
65
+
66
+ static onCloseAllSubmenus(callback: () => void) {
67
+ const handler = () => callback();
68
+ window.addEventListener(NAV_EVENTS.CLOSE_ALL_SUBMENUS, handler);
69
+ return () => window.removeEventListener(NAV_EVENTS.CLOSE_ALL_SUBMENUS, handler);
70
+ }
71
+
72
+ static onToggleExpanded(callback: () => void) {
73
+ const handler = () => callback();
74
+ window.addEventListener(NAV_EVENTS.TOGGLE_EXPANDED, handler);
75
+ return () => window.removeEventListener(NAV_EVENTS.TOGGLE_EXPANDED, handler);
76
+ }
77
+
78
+ static onSetExpanded(callback: (expanded: boolean) => void) {
79
+ const handler = (event: CustomEvent) => callback(event.detail.expanded);
80
+ window.addEventListener(NAV_EVENTS.SET_EXPANDED, handler as EventListener);
81
+ return () => window.removeEventListener(NAV_EVENTS.SET_EXPANDED, handler as EventListener);
82
+ }
83
+
84
+ static onStateChange(callback: (expanded: boolean, size: 'small' | 'large') => void) {
85
+ const handler = (event: CustomEvent<{expanded: boolean; size: 'small' | 'large'}>) => {
86
+ callback(event.detail.expanded, event.detail.size);
87
+ };
88
+ window.addEventListener(NAV_EVENTS.STATE_CHANGED, handler as EventListener);
89
+ return () => window.removeEventListener(NAV_EVENTS.STATE_CHANGED, handler as EventListener);
90
+ }
91
+ }
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(Boolean.prototype, 'toInt', {
2
+ value: function () {
3
+ return this & 1;
4
+ },
5
+ });
@@ -0,0 +1,4 @@
1
+ export const emailRegExp = new RegExp(
2
+ "([!#-'*+/-9=?A-Z^-~-]+(.[!#-'*+/-9=?A-Z^-~-]+)*|\"([]!#-[^-~ \t]|(\\[\t -~]))+\")@([!#-'*+/-9=?A-Z^-~-]+(.[!#-'*+/-9=?A-Z^-~-]+)*|[[\t -Z^-~]*])",
3
+ 'gm',
4
+ );
@@ -0,0 +1,4 @@
1
+ const resolveObjectPath = (object, path, defaultValue) =>
2
+ path.split('.').reduce((o, p) => (o ? o[p] : defaultValue), object);
3
+
4
+ export default resolveObjectPath;
@@ -0,0 +1,24 @@
1
+ const setNativeValue = (element, value) => {
2
+
3
+ if(!element) {
4
+ return;
5
+ }
6
+
7
+ let lastValue = element.value;
8
+
9
+ element.value = value;
10
+
11
+ // @ts-ignore - Event constructor target property issue
12
+ let event = new Event("input", { target: element, bubbles: true });
13
+
14
+ let tracker = element._valueTracker;
15
+
16
+ if (tracker) {
17
+ tracker.setValue(lastValue);
18
+ }
19
+
20
+ element.dispatchEvent(event);
21
+
22
+ }
23
+
24
+ export default setNativeValue;
@@ -0,0 +1,11 @@
1
+ export const slugify = (...args: string[]): string => {
2
+ const value = args.join(' ');
3
+
4
+ return value
5
+ .normalize('NFD') // split an accented letter in the base letter and the acent
6
+ .replace(/[\u0300-\u036f]/g, '') // remove all previously split accents
7
+ .toLowerCase()
8
+ .trim()
9
+ .replace(/[^a-z0-9 ]/g, '') // remove all chars not letters, numbers and spaces (to be replaced)
10
+ .replace(/\s+/g, '-'); // separator
11
+ };
@@ -0,0 +1,6 @@
1
+ const EMAIL_REGEX = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
2
+ const EmailValidator = (value) => {
3
+ return EMAIL_REGEX.test(value);
4
+ };
5
+
6
+ export default EmailValidator;
@@ -0,0 +1,5 @@
1
+ const requiredValidator = (value) => {
2
+ if (!value) return false;
3
+ };
4
+
5
+ export default requiredValidator;
@@ -0,0 +1,31 @@
1
+ const RutValidator = (value) => {
2
+
3
+ const hasDot = value.includes('.') ? true : false;
4
+ if(hasDot) {
5
+ return /^[0-9]{1,2}\.[0-9]{3}\.[0-9]{3}-[0-9kK]$/.test(value);
6
+ }
7
+
8
+ const dv = (T) => {
9
+ var M = 0,
10
+ S = 1;
11
+ for (; T; T = Math.floor(T / 10)) S = (S + (T % 10) * (9 - (M++ % 6))) % 11;
12
+ return S ? S - 1 : 'k';
13
+ };
14
+
15
+ if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test(value)) {
16
+ return false;
17
+ }
18
+
19
+ let tmp = value.split('-');
20
+ let digv = tmp[1];
21
+ let rut = tmp[0];
22
+
23
+ if (digv == 'K') {
24
+ digv = 'k';
25
+ }
26
+
27
+ return dv(rut) == digv;
28
+
29
+ };
30
+
31
+ export default RutValidator;
@@ -0,0 +1,96 @@
1
+ export const RutValidator = (value) => {
2
+
3
+ const hasDot = value.includes('.') ? true : false;
4
+ if(hasDot) {
5
+ return /^[0-9]{1,2}\.[0-9]{3}\.[0-9]{3}-[0-9kK]$/.test(value);
6
+ }
7
+
8
+ const dv = (T) => {
9
+ var M = 0,
10
+ S = 1;
11
+ for (; T; T = Math.floor(T / 10)) S = (S + (T % 10) * (9 - (M++ % 6))) % 11;
12
+ return S ? S - 1 : 'k';
13
+ };
14
+
15
+ if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test(value)) {
16
+ return false;
17
+ }
18
+
19
+ // @ts-ignore
20
+ if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'development') {
21
+ return true;
22
+ }
23
+
24
+ let tmp = value.split('-');
25
+ let digv = tmp[1];
26
+ let rut = tmp[0];
27
+
28
+ if (digv == 'K') {
29
+ digv = 'k';
30
+ }
31
+
32
+ return dv(rut) == digv;
33
+
34
+ };
35
+
36
+ export const RutValidatorWithoutDots = (value) => {
37
+
38
+ /*
39
+
40
+ 77317330-8
41
+ 77317331-6
42
+ 77317332-4
43
+ 77317333-2
44
+ 77317334-0
45
+ 77317335-k
46
+ 77317336-9
47
+ 77317337-7
48
+ 77317338-5
49
+ 77317339-3
50
+
51
+ */
52
+
53
+ if (!value) return false;
54
+
55
+ // Must be numbers + single dash + digit or K/k
56
+ if (!/^[0-9]+-[0-9kK]{1}$/.test(value)) {
57
+ return false;
58
+ }
59
+
60
+ const dv = (T) => {
61
+ var M = 0,
62
+ S = 1;
63
+ for (; T; T = Math.floor(T / 10)) S = (S + (T % 10) * (9 - (M++ % 6))) % 11;
64
+ return S ? S - 1 : 'k';
65
+ };
66
+
67
+ if (!/^[0-9]+[-|‐]{1}[0-9kK]{1}$/.test(value)) {
68
+ return false;
69
+ }
70
+
71
+ // @ts-ignore
72
+ if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'development') {
73
+ return true;
74
+ }
75
+
76
+ let tmp = value.split('-');
77
+ let digv = tmp[1];
78
+ let rut = tmp[0];
79
+
80
+ if (digv == 'K') {
81
+ digv = 'k';
82
+ }
83
+
84
+ return dv(rut) == digv;
85
+
86
+
87
+ };
88
+
89
+
90
+
91
+ const EMAIL_REGEX = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
92
+ export const EmailValidator = (value) => {
93
+ return EMAIL_REGEX.test(value);
94
+ };
95
+
96
+