@pagamio/frontend-commons-lib 0.8.175 → 0.8.183

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 (508) hide show
  1. package/lib/api/client.d.ts +88 -0
  2. package/lib/api/client.js +339 -0
  3. package/lib/api/context.d.ts +112 -0
  4. package/lib/api/context.js +105 -0
  5. package/lib/api/index.d.ts +4 -0
  6. package/lib/api/index.js +4 -0
  7. package/lib/api/swr.d.ts +46 -0
  8. package/lib/api/swr.js +124 -0
  9. package/lib/api/types.d.ts +145 -0
  10. package/lib/api/types.js +10 -0
  11. package/lib/auth/authenticators/AuthenticatorFactory.d.ts +25 -0
  12. package/lib/auth/authenticators/AuthenticatorFactory.js +32 -0
  13. package/lib/auth/authenticators/index.d.ts +7 -0
  14. package/lib/auth/authenticators/index.js +7 -0
  15. package/lib/auth/authenticators/processors/DefaultAuthenticatorProcessor.d.ts +21 -0
  16. package/lib/auth/authenticators/processors/DefaultAuthenticatorProcessor.js +26 -0
  17. package/lib/auth/authenticators/processors/StrapiAuthenticatorProcessor.d.ts +74 -0
  18. package/lib/auth/authenticators/processors/StrapiAuthenticatorProcessor.js +99 -0
  19. package/lib/auth/authenticators/types.d.ts +26 -0
  20. package/lib/auth/authenticators/types.js +9 -0
  21. package/lib/auth/components/AppBanner.d.ts +7 -0
  22. package/lib/auth/components/AppBanner.js +9 -0
  23. package/lib/auth/components/AuthCard.d.ts +8 -0
  24. package/lib/auth/components/AuthCard.js +14 -0
  25. package/lib/auth/components/AuthFormUtils.d.ts +58 -0
  26. package/lib/auth/components/AuthFormUtils.js +52 -0
  27. package/lib/auth/components/AuthPageLayout.d.ts +45 -0
  28. package/lib/auth/components/AuthPageLayout.js +12 -0
  29. package/lib/auth/components/ChangePasswordPage.d.ts +12 -0
  30. package/lib/auth/components/ChangePasswordPage.js +59 -0
  31. package/lib/auth/components/CustomerRegistrationPage.d.ts +50 -0
  32. package/lib/auth/components/CustomerRegistrationPage.js +140 -0
  33. package/lib/auth/components/ForgotPasswordPage.d.ts +38 -0
  34. package/lib/auth/components/ForgotPasswordPage.js +76 -0
  35. package/lib/auth/components/LoginPage.d.ts +73 -0
  36. package/lib/auth/components/LoginPage.js +115 -0
  37. package/lib/auth/components/LogoutButton.d.ts +30 -0
  38. package/lib/auth/components/LogoutButton.js +47 -0
  39. package/lib/auth/components/ResetPasswordPage.d.ts +42 -0
  40. package/lib/auth/components/ResetPasswordPage.js +88 -0
  41. package/lib/auth/components/hooks/useChangeUserPassword.d.ts +26 -0
  42. package/lib/auth/components/hooks/useChangeUserPassword.js +63 -0
  43. package/lib/auth/components/index.d.ts +8 -0
  44. package/lib/auth/components/index.js +7 -0
  45. package/lib/auth/context/AuthContext.d.ts +65 -0
  46. package/lib/auth/context/AuthContext.js +150 -0
  47. package/lib/auth/context/index.d.ts +1 -0
  48. package/lib/auth/context/index.js +1 -0
  49. package/lib/auth/index.d.ts +7 -0
  50. package/lib/auth/index.js +7 -0
  51. package/lib/auth/services/AuthService.d.ts +230 -0
  52. package/lib/auth/services/AuthService.js +475 -0
  53. package/lib/auth/services/LogoutService.d.ts +27 -0
  54. package/lib/auth/services/LogoutService.js +98 -0
  55. package/lib/auth/services/index.d.ts +2 -0
  56. package/lib/auth/services/index.js +2 -0
  57. package/lib/auth/shared/index.d.ts +1 -0
  58. package/lib/auth/shared/index.js +1 -0
  59. package/lib/auth/shared/layout/AuthPageLayout.d.ts +10 -0
  60. package/lib/auth/shared/layout/AuthPageLayout.js +16 -0
  61. package/lib/auth/shared/layout/index.d.ts +1 -0
  62. package/lib/auth/shared/layout/index.js +1 -0
  63. package/lib/auth/types/auth.types.d.ts +234 -0
  64. package/lib/auth/types/auth.types.js +14 -0
  65. package/lib/auth/types/index.d.ts +1 -0
  66. package/lib/auth/types/index.js +1 -0
  67. package/lib/auth/utils/TokenManager.d.ts +43 -0
  68. package/lib/auth/utils/TokenManager.js +171 -0
  69. package/lib/auth/utils/Transformers.d.ts +158 -0
  70. package/lib/auth/utils/Transformers.js +263 -0
  71. package/lib/auth/utils/errorDetection.d.ts +22 -0
  72. package/lib/auth/utils/errorDetection.js +190 -0
  73. package/lib/auth/utils/index.d.ts +3 -0
  74. package/lib/auth/utils/index.js +3 -0
  75. package/lib/components/charts/LineGraph.d.ts +15 -0
  76. package/lib/components/charts/LineGraph.js +131 -0
  77. package/lib/components/icons/Icon.d.ts +8 -0
  78. package/lib/components/icons/Icon.js +13 -0
  79. package/lib/components/icons/index.d.ts +2 -0
  80. package/lib/components/icons/index.js +2 -0
  81. package/lib/components/icons/types.d.ts +26 -0
  82. package/lib/components/icons/types.js +33 -0
  83. package/lib/components/index.d.ts +3 -0
  84. package/lib/components/index.js +3 -0
  85. package/lib/components/layout/AppLayout.d.ts +34 -0
  86. package/lib/components/layout/AppLayout.js +19 -0
  87. package/lib/components/layout/AuthPageLayout.d.ts +13 -0
  88. package/lib/components/layout/AuthPageLayout.js +15 -0
  89. package/lib/components/layout/BreadcrumbNav.d.ts +2 -0
  90. package/lib/components/layout/BreadcrumbNav.js +10 -0
  91. package/lib/components/layout/LayoutContent.d.ts +6 -0
  92. package/lib/components/layout/LayoutContent.js +10 -0
  93. package/lib/components/layout/Navbar.d.ts +106 -0
  94. package/lib/components/layout/Navbar.js +66 -0
  95. package/lib/components/layout/PageHeader.d.ts +8 -0
  96. package/lib/components/layout/PageHeader.js +7 -0
  97. package/lib/components/layout/SessionExpiryModal.d.ts +10 -0
  98. package/lib/components/layout/SessionExpiryModal.js +9 -0
  99. package/lib/components/layout/Sidebar.d.ts +6 -0
  100. package/lib/components/layout/Sidebar.js +87 -0
  101. package/lib/components/layout/VerticalTabsLayout.d.ts +12 -0
  102. package/lib/components/layout/VerticalTabsLayout.js +14 -0
  103. package/lib/components/layout/index.d.ts +9 -0
  104. package/lib/components/layout/index.js +9 -0
  105. package/lib/components/ui/Avatar.d.ts +6 -0
  106. package/lib/components/ui/Avatar.js +11 -0
  107. package/lib/components/ui/AvatarIcon.d.ts +4 -0
  108. package/lib/components/ui/AvatarIcon.js +6 -0
  109. package/lib/components/ui/Button.d.ts +14 -0
  110. package/lib/components/ui/Button.js +30 -0
  111. package/lib/components/ui/Calendar.d.ts +9 -0
  112. package/lib/components/ui/Calendar.js +35 -0
  113. package/lib/components/ui/Card.d.ts +16 -0
  114. package/lib/components/ui/Card.js +6 -0
  115. package/lib/components/ui/Chart.d.ts +2 -0
  116. package/lib/components/ui/Chart.js +16 -0
  117. package/lib/components/ui/Checkbox.d.ts +4 -0
  118. package/lib/components/ui/Checkbox.js +8 -0
  119. package/lib/components/ui/Command.d.ts +80 -0
  120. package/lib/components/ui/Command.js +28 -0
  121. package/lib/components/ui/ContainedTab.d.ts +21 -0
  122. package/lib/components/ui/ContainedTab.js +37 -0
  123. package/lib/components/ui/DateFormat.d.ts +6 -0
  124. package/lib/components/ui/DateFormat.js +8 -0
  125. package/lib/components/ui/DatePicker.d.ts +14 -0
  126. package/lib/components/ui/DatePicker.js +91 -0
  127. package/lib/components/ui/DateRangeModal.d.ts +38 -0
  128. package/lib/components/ui/DateRangeModal.js +89 -0
  129. package/lib/components/ui/DetailsCard.d.ts +16 -0
  130. package/lib/components/ui/DetailsCard.js +14 -0
  131. package/lib/components/ui/DetailsPage.d.ts +36 -0
  132. package/lib/components/ui/DetailsPage.js +50 -0
  133. package/lib/components/ui/Dialog.d.ts +19 -0
  134. package/lib/components/ui/Dialog.js +22 -0
  135. package/lib/components/ui/EmptyState.d.ts +6 -0
  136. package/lib/components/ui/EmptyState.js +6 -0
  137. package/lib/components/ui/FilterComponent.d.ts +30 -0
  138. package/lib/components/ui/FilterComponent.js +80 -0
  139. package/lib/components/ui/FilterList.d.ts +52 -0
  140. package/lib/components/ui/FilterList.js +62 -0
  141. package/lib/components/ui/FilterSection.d.ts +31 -0
  142. package/lib/components/ui/FilterSection.js +21 -0
  143. package/lib/components/ui/FilterWrapper.d.ts +6 -0
  144. package/lib/components/ui/FilterWrapper.js +7 -0
  145. package/lib/components/ui/Form.d.ts +23 -0
  146. package/lib/components/ui/Form.js +62 -0
  147. package/lib/components/ui/HoverableValue.d.ts +7 -0
  148. package/lib/components/ui/HoverableValue.js +8 -0
  149. package/lib/components/ui/IconButton.d.ts +10 -0
  150. package/lib/components/ui/IconButton.js +10 -0
  151. package/lib/components/ui/ImageComponent.d.ts +8 -0
  152. package/lib/components/ui/ImageComponent.js +5 -0
  153. package/lib/components/ui/ImageUploader.d.ts +17 -0
  154. package/lib/components/ui/ImageUploader.js +144 -0
  155. package/lib/components/ui/Input.d.ts +4 -0
  156. package/lib/components/ui/Input.js +8 -0
  157. package/lib/components/ui/Label.d.ts +5 -0
  158. package/lib/components/ui/Label.js +9 -0
  159. package/lib/components/ui/Loader.d.ts +10 -0
  160. package/lib/components/ui/Loader.js +7 -0
  161. package/lib/components/ui/Modal.d.ts +72 -0
  162. package/lib/components/ui/Modal.js +31 -0
  163. package/lib/components/ui/MultiSelect.d.ts +16 -0
  164. package/lib/components/ui/MultiSelect.js +59 -0
  165. package/lib/components/ui/NotificationModal.d.ts +18 -0
  166. package/lib/components/ui/NotificationModal.js +40 -0
  167. package/lib/components/ui/PhoneInput.d.ts +12 -0
  168. package/lib/components/ui/PhoneInput.js +58 -0
  169. package/lib/components/ui/Popover.d.ts +7 -0
  170. package/lib/components/ui/Popover.js +10 -0
  171. package/lib/components/ui/Progress.d.ts +7 -0
  172. package/lib/components/ui/Progress.js +7 -0
  173. package/lib/components/ui/Radio.d.ts +5 -0
  174. package/lib/components/ui/Radio.js +14 -0
  175. package/lib/components/ui/RangeDatePicker.d.ts +78 -0
  176. package/lib/components/ui/RangeDatePicker.js +68 -0
  177. package/lib/components/ui/Select.d.ts +13 -0
  178. package/lib/components/ui/Select.js +57 -0
  179. package/lib/components/ui/Separator.d.ts +4 -0
  180. package/lib/components/ui/Separator.js +7 -0
  181. package/lib/components/ui/Sheet.d.ts +26 -0
  182. package/lib/components/ui/Sheet.js +37 -0
  183. package/lib/components/ui/StatusCell.d.ts +9 -0
  184. package/lib/components/ui/StatusCell.js +6 -0
  185. package/lib/components/ui/Switch.d.ts +10 -0
  186. package/lib/components/ui/Switch.js +22 -0
  187. package/lib/components/ui/Tab.d.ts +15 -0
  188. package/lib/components/ui/Tab.js +13 -0
  189. package/lib/components/ui/TableDownload.d.ts +11 -0
  190. package/lib/components/ui/TableDownload.js +82 -0
  191. package/lib/components/ui/TailwindIndicator.d.ts +1 -0
  192. package/lib/components/ui/TailwindIndicator.js +6 -0
  193. package/lib/components/ui/TextField.d.ts +60 -0
  194. package/lib/components/ui/TextField.js +42 -0
  195. package/lib/components/ui/Textarea.d.ts +5 -0
  196. package/lib/components/ui/Textarea.js +8 -0
  197. package/lib/components/ui/Toast.d.ts +12 -0
  198. package/lib/components/ui/Toast.js +25 -0
  199. package/lib/components/ui/UploadField.d.ts +15 -0
  200. package/lib/components/ui/UploadField.js +45 -0
  201. package/lib/components/ui/VerticalTab.d.ts +16 -0
  202. package/lib/components/ui/VerticalTab.js +13 -0
  203. package/lib/components/ui/index.d.ts +49 -0
  204. package/lib/components/ui/index.js +47 -0
  205. package/lib/context/BreadcrumbContext.d.ts +28 -0
  206. package/lib/context/BreadcrumbContext.js +238 -0
  207. package/lib/context/FormEngineDrawerProvider.d.ts +21 -0
  208. package/lib/context/FormEngineDrawerProvider.js +38 -0
  209. package/lib/context/MultiFormEngineDrawerProvider.d.ts +25 -0
  210. package/lib/context/MultiFormEngineDrawerProvider.js +89 -0
  211. package/lib/context/SidebarContext.d.ts +65 -0
  212. package/lib/context/SidebarContext.js +47 -0
  213. package/lib/context/ToastContext.d.ts +17 -0
  214. package/lib/context/ToastContext.js +29 -0
  215. package/lib/context/index.d.ts +5 -0
  216. package/lib/context/index.js +5 -0
  217. package/lib/dashboard-visuals/components/BaseChart.d.ts +55 -0
  218. package/lib/dashboard-visuals/components/BaseChart.js +201 -0
  219. package/lib/dashboard-visuals/components/CardWrapper.d.ts +10 -0
  220. package/lib/dashboard-visuals/components/CardWrapper.js +13 -0
  221. package/lib/dashboard-visuals/components/ChartDetailsModal.d.ts +57 -0
  222. package/lib/dashboard-visuals/components/ChartDetailsModal.js +27 -0
  223. package/lib/dashboard-visuals/components/ChartDetailsModalWrapper.d.ts +29 -0
  224. package/lib/dashboard-visuals/components/ChartDetailsModalWrapper.js +4 -0
  225. package/lib/dashboard-visuals/components/ChartFormatter.d.ts +22 -0
  226. package/lib/dashboard-visuals/components/ChartFormatter.js +46 -0
  227. package/lib/dashboard-visuals/components/ChartWrapper.d.ts +11 -0
  228. package/lib/dashboard-visuals/components/ChartWrapper.js +14 -0
  229. package/lib/dashboard-visuals/components/DashboardFilter.d.ts +8 -0
  230. package/lib/dashboard-visuals/components/DashboardFilter.js +17 -0
  231. package/lib/dashboard-visuals/components/DataTable.d.ts +3 -0
  232. package/lib/dashboard-visuals/components/DataTable.js +57 -0
  233. package/lib/dashboard-visuals/components/EmptyState.d.ts +6 -0
  234. package/lib/dashboard-visuals/components/EmptyState.js +6 -0
  235. package/lib/dashboard-visuals/components/ErrorState.d.ts +7 -0
  236. package/lib/dashboard-visuals/components/ErrorState.js +5 -0
  237. package/lib/dashboard-visuals/components/FilterComponentSkeleton.d.ts +3 -0
  238. package/lib/dashboard-visuals/components/FilterComponentSkeleton.js +11 -0
  239. package/lib/dashboard-visuals/components/Pagination.d.ts +10 -0
  240. package/lib/dashboard-visuals/components/Pagination.js +7 -0
  241. package/lib/dashboard-visuals/components/Switch.d.ts +8 -0
  242. package/lib/dashboard-visuals/components/Switch.js +10 -0
  243. package/lib/dashboard-visuals/components/TileSkeleton.d.ts +2 -0
  244. package/lib/dashboard-visuals/components/TileSkeleton.js +5 -0
  245. package/lib/dashboard-visuals/components/molecules/Analytics.d.ts +11 -0
  246. package/lib/dashboard-visuals/components/molecules/Analytics.js +9 -0
  247. package/lib/dashboard-visuals/components/molecules/DataGrid.d.ts +15 -0
  248. package/lib/dashboard-visuals/components/molecules/DataGrid.js +124 -0
  249. package/lib/dashboard-visuals/components/molecules/NoChartData.d.ts +6 -0
  250. package/lib/dashboard-visuals/components/molecules/NoChartData.js +6 -0
  251. package/lib/dashboard-visuals/components/molecules/VisualChart.d.ts +16 -0
  252. package/lib/dashboard-visuals/components/molecules/VisualChart.js +8 -0
  253. package/lib/dashboard-visuals/components/types.d.ts +62 -0
  254. package/lib/dashboard-visuals/components/types.js +1 -0
  255. package/lib/dashboard-visuals/hooks/useChartData.d.ts +15 -0
  256. package/lib/dashboard-visuals/hooks/useChartData.js +82 -0
  257. package/lib/dashboard-visuals/hooks/useTooltipFormatter.d.ts +13 -0
  258. package/lib/dashboard-visuals/hooks/useTooltipFormatter.js +10 -0
  259. package/lib/dashboard-visuals/index.d.ts +39 -0
  260. package/lib/dashboard-visuals/index.js +168 -0
  261. package/lib/dashboard-visuals/types/index.d.ts +83 -0
  262. package/lib/dashboard-visuals/types/index.js +1 -0
  263. package/lib/dashboard-visuals/types/metricDetailData.d.ts +25 -0
  264. package/lib/dashboard-visuals/types/metricDetailData.js +1 -0
  265. package/lib/dashboard-visuals/utils/api.d.ts +5 -0
  266. package/lib/dashboard-visuals/utils/api.js +6 -0
  267. package/lib/dashboard-visuals/utils/chartOptions.d.ts +481 -0
  268. package/lib/dashboard-visuals/utils/chartOptions.js +393 -0
  269. package/lib/dashboard-visuals/utils/chunkArray.d.ts +1 -0
  270. package/lib/dashboard-visuals/utils/chunkArray.js +7 -0
  271. package/lib/dashboard-visuals/utils/defaultColors.d.ts +1 -0
  272. package/lib/dashboard-visuals/utils/defaultColors.js +1 -0
  273. package/lib/dashboard-visuals/utils/formatUtil.d.ts +203 -0
  274. package/lib/dashboard-visuals/utils/formatUtil.js +472 -0
  275. package/lib/dashboard-visuals/utils/gridUtil.d.ts +11 -0
  276. package/lib/dashboard-visuals/utils/gridUtil.js +32 -0
  277. package/lib/dashboard-visuals/utils/index.d.ts +6 -0
  278. package/lib/dashboard-visuals/utils/index.js +6 -0
  279. package/lib/dashboard-visuals/utils/tooltipUtils.d.ts +11 -0
  280. package/lib/dashboard-visuals/utils/tooltipUtils.js +180 -0
  281. package/lib/dashboard-visuals/visualRegistry.d.ts +4 -0
  282. package/lib/dashboard-visuals/visualRegistry.js +41 -0
  283. package/lib/dashboard-visuals/visuals/BarChart.d.ts +58 -0
  284. package/lib/dashboard-visuals/visuals/BarChart.js +95 -0
  285. package/lib/dashboard-visuals/visuals/BarLineHybridChart.d.ts +33 -0
  286. package/lib/dashboard-visuals/visuals/BarLineHybridChart.js +60 -0
  287. package/lib/dashboard-visuals/visuals/BubbleChart.d.ts +25 -0
  288. package/lib/dashboard-visuals/visuals/BubbleChart.js +101 -0
  289. package/lib/dashboard-visuals/visuals/DistributionChart.d.ts +11 -0
  290. package/lib/dashboard-visuals/visuals/DistributionChart.js +48 -0
  291. package/lib/dashboard-visuals/visuals/DonutChart.d.ts +50 -0
  292. package/lib/dashboard-visuals/visuals/DonutChart.js +105 -0
  293. package/lib/dashboard-visuals/visuals/GaugeChart.d.ts +32 -0
  294. package/lib/dashboard-visuals/visuals/GaugeChart.js +53 -0
  295. package/lib/dashboard-visuals/visuals/GroupedBarChart.d.ts +47 -0
  296. package/lib/dashboard-visuals/visuals/GroupedBarChart.js +131 -0
  297. package/lib/dashboard-visuals/visuals/HeatmapChart.d.ts +79 -0
  298. package/lib/dashboard-visuals/visuals/HeatmapChart.js +146 -0
  299. package/lib/dashboard-visuals/visuals/HorizontalBarChart.d.ts +50 -0
  300. package/lib/dashboard-visuals/visuals/HorizontalBarChart.js +131 -0
  301. package/lib/dashboard-visuals/visuals/ItemPerformanceCard.d.ts +30 -0
  302. package/lib/dashboard-visuals/visuals/ItemPerformanceCard.js +31 -0
  303. package/lib/dashboard-visuals/visuals/LineChart.d.ts +56 -0
  304. package/lib/dashboard-visuals/visuals/LineChart.js +80 -0
  305. package/lib/dashboard-visuals/visuals/LineGraph.d.ts +50 -0
  306. package/lib/dashboard-visuals/visuals/LineGraph.js +189 -0
  307. package/lib/dashboard-visuals/visuals/MetricSummaryCard.d.ts +14 -0
  308. package/lib/dashboard-visuals/visuals/MetricSummaryCard.js +8 -0
  309. package/lib/dashboard-visuals/visuals/MultiGaugeChart.d.ts +39 -0
  310. package/lib/dashboard-visuals/visuals/MultiGaugeChart.js +119 -0
  311. package/lib/dashboard-visuals/visuals/PieChart.d.ts +59 -0
  312. package/lib/dashboard-visuals/visuals/PieChart.js +194 -0
  313. package/lib/dashboard-visuals/visuals/SelectedEventTile.d.ts +14 -0
  314. package/lib/dashboard-visuals/visuals/SelectedEventTile.js +35 -0
  315. package/lib/dashboard-visuals/visuals/SpeedometerChart.d.ts +53 -0
  316. package/lib/dashboard-visuals/visuals/SpeedometerChart.js +94 -0
  317. package/lib/dashboard-visuals/visuals/Table.d.ts +26 -0
  318. package/lib/dashboard-visuals/visuals/Table.js +113 -0
  319. package/lib/dashboard-visuals/visuals/Tile.d.ts +16 -0
  320. package/lib/dashboard-visuals/visuals/Tile.js +16 -0
  321. package/lib/dashboard-visuals/visuals/TreeMap.d.ts +25 -0
  322. package/lib/dashboard-visuals/visuals/TreeMap.js +45 -0
  323. package/lib/dashboard-visuals/visuals/WaterfallChart.d.ts +52 -0
  324. package/lib/dashboard-visuals/visuals/WaterfallChart.js +266 -0
  325. package/lib/form-engine/Form.d.ts +4 -0
  326. package/lib/form-engine/Form.js +14 -0
  327. package/lib/form-engine/FormEngine.d.ts +3 -0
  328. package/lib/form-engine/FormEngine.js +121 -0
  329. package/lib/form-engine/components/FieldWrapper.d.ts +18 -0
  330. package/lib/form-engine/components/FieldWrapper.js +63 -0
  331. package/lib/form-engine/components/index.d.ts +2 -0
  332. package/lib/form-engine/components/index.js +2 -0
  333. package/lib/form-engine/components/inputs/card-expiry-input/CardExpiryInput.d.ts +16 -0
  334. package/lib/form-engine/components/inputs/card-expiry-input/CardExpiryInput.js +48 -0
  335. package/lib/form-engine/components/inputs/checkbox-input/CheckboxInput.d.ts +4 -0
  336. package/lib/form-engine/components/inputs/checkbox-input/CheckboxInput.js +5 -0
  337. package/lib/form-engine/components/inputs/credit-card-input/CreditCardInput.d.ts +4 -0
  338. package/lib/form-engine/components/inputs/credit-card-input/CreditCardInput.js +82 -0
  339. package/lib/form-engine/components/inputs/date-input/DateInput.d.ts +4 -0
  340. package/lib/form-engine/components/inputs/date-input/DateInput.js +7 -0
  341. package/lib/form-engine/components/inputs/date-input/index.d.ts +1 -0
  342. package/lib/form-engine/components/inputs/date-input/index.js +1 -0
  343. package/lib/form-engine/components/inputs/email-input/EmailInput.d.ts +4 -0
  344. package/lib/form-engine/components/inputs/email-input/EmailInput.js +5 -0
  345. package/lib/form-engine/components/inputs/email-input/index.d.ts +1 -0
  346. package/lib/form-engine/components/inputs/email-input/index.js +1 -0
  347. package/lib/form-engine/components/inputs/index.d.ts +13 -0
  348. package/lib/form-engine/components/inputs/index.js +13 -0
  349. package/lib/form-engine/components/inputs/label-input/LabelInput.d.ts +4 -0
  350. package/lib/form-engine/components/inputs/label-input/LabelInput.js +7 -0
  351. package/lib/form-engine/components/inputs/label-input/index.d.ts +1 -0
  352. package/lib/form-engine/components/inputs/label-input/index.js +1 -0
  353. package/lib/form-engine/components/inputs/multi-select-input/MultiSelectInput.d.ts +4 -0
  354. package/lib/form-engine/components/inputs/multi-select-input/MultiSelectInput.js +5 -0
  355. package/lib/form-engine/components/inputs/number-input/NumberInput.d.ts +4 -0
  356. package/lib/form-engine/components/inputs/number-input/NumberInput.js +5 -0
  357. package/lib/form-engine/components/inputs/number-input/index.d.ts +1 -0
  358. package/lib/form-engine/components/inputs/number-input/index.js +1 -0
  359. package/lib/form-engine/components/inputs/password-input/PasswordInput.d.ts +4 -0
  360. package/lib/form-engine/components/inputs/password-input/PasswordInput.js +9 -0
  361. package/lib/form-engine/components/inputs/password-input/index.d.ts +1 -0
  362. package/lib/form-engine/components/inputs/password-input/index.js +1 -0
  363. package/lib/form-engine/components/inputs/radio-button/RadioInput.d.ts +4 -0
  364. package/lib/form-engine/components/inputs/radio-button/RadioInput.js +6 -0
  365. package/lib/form-engine/components/inputs/radio-button/index.d.ts +1 -0
  366. package/lib/form-engine/components/inputs/radio-button/index.js +1 -0
  367. package/lib/form-engine/components/inputs/select/SelectInput.d.ts +4 -0
  368. package/lib/form-engine/components/inputs/select/SelectInput.js +6 -0
  369. package/lib/form-engine/components/inputs/select/index.d.ts +1 -0
  370. package/lib/form-engine/components/inputs/select/index.js +1 -0
  371. package/lib/form-engine/components/inputs/textarea-input/TextareaInput.d.ts +4 -0
  372. package/lib/form-engine/components/inputs/textarea-input/TextareaInput.js +5 -0
  373. package/lib/form-engine/components/inputs/textarea-input/index.d.ts +1 -0
  374. package/lib/form-engine/components/inputs/textarea-input/index.js +1 -0
  375. package/lib/form-engine/components/inputs/time-input/TimeInput.d.ts +4 -0
  376. package/lib/form-engine/components/inputs/time-input/TimeInput.js +5 -0
  377. package/lib/form-engine/components/inputs/time-input/index.d.ts +1 -0
  378. package/lib/form-engine/components/inputs/time-input/index.js +1 -0
  379. package/lib/form-engine/components/inputs/toggle-switch-input/ToggleSwitchInput.d.ts +4 -0
  380. package/lib/form-engine/components/inputs/toggle-switch-input/ToggleSwitchInput.js +7 -0
  381. package/lib/form-engine/components/inputs/toggle-switch-input/index.d.ts +1 -0
  382. package/lib/form-engine/components/inputs/toggle-switch-input/index.js +1 -0
  383. package/lib/form-engine/components/inputs/upload-field/UploadFieldForm.d.ts +4 -0
  384. package/lib/form-engine/components/inputs/upload-field/UploadFieldForm.js +59 -0
  385. package/lib/form-engine/components/inputs/upload-field/index.d.ts +1 -0
  386. package/lib/form-engine/components/inputs/upload-field/index.js +1 -0
  387. package/lib/form-engine/hooks/useFormPersistence.d.ts +11 -0
  388. package/lib/form-engine/hooks/useFormPersistence.js +46 -0
  389. package/lib/form-engine/index.d.ts +5 -0
  390. package/lib/form-engine/index.js +5 -0
  391. package/lib/form-engine/registry/RegisterComponents.d.ts +1 -0
  392. package/lib/form-engine/registry/RegisterComponents.js +35 -0
  393. package/lib/form-engine/registry/Registry.d.ts +5 -0
  394. package/lib/form-engine/registry/Registry.js +13 -0
  395. package/lib/form-engine/registry/index.d.ts +2 -0
  396. package/lib/form-engine/registry/index.js +2 -0
  397. package/lib/form-engine/types/index.d.ts +311 -0
  398. package/lib/form-engine/types/index.js +1 -0
  399. package/lib/helpers/index.d.ts +2 -0
  400. package/lib/helpers/index.js +2 -0
  401. package/lib/helpers/utils.d.ts +37 -0
  402. package/lib/helpers/utils.js +77 -0
  403. package/lib/helpers/validations.d.ts +80 -0
  404. package/lib/helpers/validations.js +39 -0
  405. package/lib/index.d.ts +21 -0
  406. package/lib/index.js +30 -0
  407. package/lib/mocks/mockApiRequestsConfig.d.ts +2 -0
  408. package/lib/mocks/mockApiRequestsConfig.js +343 -0
  409. package/lib/pagamio-drawer/TopUpWalletDrawer/TopUpWalletContent.d.ts +14 -0
  410. package/lib/pagamio-drawer/TopUpWalletDrawer/TopUpWalletContent.js +40 -0
  411. package/lib/pagamio-drawer/TopUpWalletDrawer/index.d.ts +11 -0
  412. package/lib/pagamio-drawer/TopUpWalletDrawer/index.js +7 -0
  413. package/lib/pagamio-drawer/components/BaseDrawer.d.ts +11 -0
  414. package/lib/pagamio-drawer/components/BaseDrawer.js +10 -0
  415. package/lib/pagamio-drawer/components/DrawerContent.d.ts +27 -0
  416. package/lib/pagamio-drawer/components/DrawerContent.js +237 -0
  417. package/lib/pagamio-drawer/index.d.ts +22 -0
  418. package/lib/pagamio-drawer/index.js +133 -0
  419. package/lib/pagamio-table/data-table/ExportButton.d.ts +57 -0
  420. package/lib/pagamio-table/data-table/ExportButton.js +96 -0
  421. package/lib/pagamio-table/data-table/MantineCoreTable.d.ts +44 -0
  422. package/lib/pagamio-table/data-table/MantineCoreTable.js +129 -0
  423. package/lib/pagamio-table/data-table/Pagination.d.ts +10 -0
  424. package/lib/pagamio-table/data-table/Pagination.js +5 -0
  425. package/lib/pagamio-table/data-table/TableDownload.d.ts +8 -0
  426. package/lib/pagamio-table/data-table/TableDownload.js +81 -0
  427. package/lib/pagamio-table/data-table/TableToolbar.d.ts +3 -0
  428. package/lib/pagamio-table/data-table/TableToolbar.js +16 -0
  429. package/lib/pagamio-table/data-table/exportUtils.d.ts +42 -0
  430. package/lib/pagamio-table/data-table/exportUtils.js +782 -0
  431. package/lib/pagamio-table/data-table/index.d.ts +5 -0
  432. package/lib/pagamio-table/data-table/index.js +11 -0
  433. package/lib/pagamio-table/data-table/pdfExportUtils.d.ts +111 -0
  434. package/lib/pagamio-table/data-table/pdfExportUtils.js +113 -0
  435. package/lib/pagamio-table/data-table/types.d.ts +169 -0
  436. package/lib/pagamio-table/data-table/types.js +1 -0
  437. package/lib/pagamio-table/index.d.ts +4 -0
  438. package/lib/pagamio-table/index.js +4 -0
  439. package/lib/pagamio-table/utils/functionHelper.d.ts +12 -0
  440. package/lib/pagamio-table/utils/functionHelper.js +24 -0
  441. package/lib/pagamio-table/utils/index.d.ts +1 -0
  442. package/lib/pagamio-table/utils/index.js +1 -0
  443. package/lib/rbac/hooks.d.ts +39 -0
  444. package/lib/rbac/hooks.js +51 -0
  445. package/lib/rbac/index.d.ts +8 -0
  446. package/lib/rbac/index.js +11 -0
  447. package/lib/rbac/store.d.ts +24 -0
  448. package/lib/rbac/store.js +37 -0
  449. package/lib/rbac/types.d.ts +39 -0
  450. package/lib/rbac/types.js +4 -0
  451. package/lib/rbac/utils.d.ts +44 -0
  452. package/lib/rbac/utils.js +117 -0
  453. package/lib/shared/constants/index.d.ts +2 -0
  454. package/lib/shared/constants/index.js +2 -0
  455. package/lib/shared/hooks/index.d.ts +4 -0
  456. package/lib/shared/hooks/index.js +4 -0
  457. package/lib/shared/hooks/useAnyDrawerOpen.d.ts +4 -0
  458. package/lib/shared/hooks/useAnyDrawerOpen.js +18 -0
  459. package/lib/shared/hooks/useContainerWidth.d.ts +2 -0
  460. package/lib/shared/hooks/useContainerWidth.js +18 -0
  461. package/lib/shared/hooks/useImageUpload.d.ts +15 -0
  462. package/lib/shared/hooks/useImageUpload.js +66 -0
  463. package/lib/shared/hooks/useMediaQueries.d.ts +5 -0
  464. package/lib/shared/hooks/useMediaQueries.js +35 -0
  465. package/lib/shared/hooks/usePagamioTable.d.ts +158 -0
  466. package/lib/shared/hooks/usePagamioTable.js +475 -0
  467. package/lib/shared/hooks/useSessionTimer.d.ts +33 -0
  468. package/lib/shared/hooks/useSessionTimer.js +96 -0
  469. package/lib/shared/index.d.ts +4 -0
  470. package/lib/shared/index.js +4 -0
  471. package/lib/shared/types/index.d.ts +1 -0
  472. package/lib/shared/types/index.js +1 -0
  473. package/lib/shared/url/index.d.ts +9 -0
  474. package/lib/shared/url/index.js +20 -0
  475. package/lib/shared/utils/filterUtils.d.ts +5 -0
  476. package/lib/shared/utils/filterUtils.js +31 -0
  477. package/lib/shared/utils/functionHelper.d.ts +27 -0
  478. package/lib/shared/utils/functionHelper.js +124 -0
  479. package/lib/shared/utils/index.d.ts +2 -0
  480. package/lib/shared/utils/index.js +2 -0
  481. package/lib/shared/utils/localStorage.d.ts +53 -0
  482. package/lib/shared/utils/localStorage.js +139 -0
  483. package/lib/styles.css +6247 -0
  484. package/lib/translations/components/LocaleSwitcher.d.ts +7 -0
  485. package/lib/translations/components/LocaleSwitcher.js +18 -0
  486. package/lib/translations/components/index.d.ts +1 -0
  487. package/lib/translations/components/index.js +1 -0
  488. package/lib/translations/context/TranslationContext.d.ts +5 -0
  489. package/lib/translations/context/TranslationContext.js +151 -0
  490. package/lib/translations/context/index.d.ts +1 -0
  491. package/lib/translations/context/index.js +1 -0
  492. package/lib/translations/hooks/index.d.ts +2 -0
  493. package/lib/translations/hooks/index.js +2 -0
  494. package/lib/translations/hooks/useLibTranslations.d.ts +7 -0
  495. package/lib/translations/hooks/useLibTranslations.js +46 -0
  496. package/lib/translations/hooks/useTranslation.d.ts +7 -0
  497. package/lib/translations/hooks/useTranslation.js +11 -0
  498. package/lib/translations/index.d.ts +91 -0
  499. package/lib/translations/index.js +11 -0
  500. package/lib/translations/locales/en.json +21 -0
  501. package/lib/translations/locales/es.json +21 -0
  502. package/lib/translations/locales/fr.json +21 -0
  503. package/lib/translations/locales/pt.json +21 -0
  504. package/lib/translations/types/index.d.ts +24 -0
  505. package/lib/translations/types/index.js +1 -0
  506. package/lib/translations/utils/index.d.ts +6 -0
  507. package/lib/translations/utils/index.js +25 -0
  508. package/package.json +9 -1
@@ -0,0 +1,238 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { HiChartPie } from 'react-icons/hi';
4
+ import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
5
+ import { isUUIDorID } from '../shared';
6
+ const AppBreadcrumbContext = createContext(undefined);
7
+ /**
8
+ * Create a flat map of all valid paths from the sidebar pages config
9
+ */
10
+ function createPathMap(pages, parentPath = '') {
11
+ const pathMap = new Map();
12
+ for (const page of pages) {
13
+ const fullPath = parentPath + (page.href || '');
14
+ if (page.href) {
15
+ pathMap.set(fullPath, { label: page.label, icon: page.icon });
16
+ }
17
+ if (page.items) {
18
+ const childPaths = createPathMap(page.items, fullPath);
19
+ childPaths.forEach((value, key) => pathMap.set(key, value));
20
+ }
21
+ }
22
+ return pathMap;
23
+ }
24
+ /**
25
+ * Check if a path represents a valid route by examining URL structure patterns
26
+ * This is a conservative approach - only make something clickable if we're confident it exists
27
+ */
28
+ function isValidRoute(segments, currentIndex, pathMap) {
29
+ // Never make the last segment clickable (it's the current page)
30
+ if (currentIndex === segments.length - 1) {
31
+ return false;
32
+ }
33
+ // Build the path up to this segment
34
+ const pathUpToHere = '/' + segments.slice(0, currentIndex + 1).join('/');
35
+ // If this exact path exists in the sidebar config, it's definitely clickable
36
+ if (pathMap.has(pathUpToHere)) {
37
+ return true;
38
+ }
39
+ const segment = segments[currentIndex];
40
+ // For UUID segments, only make clickable if there are non-UUID segments after
41
+ // This means it's likely a detail page with sub-sections
42
+ if (isUUIDorID(segment)) {
43
+ for (let i = currentIndex + 1; i < segments.length; i++) {
44
+ if (!isUUIDorID(segments[i])) {
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ // For regular segments (like "merchants", "vendors"), be very conservative
51
+ // Only make clickable if it's in the sidebar config
52
+ return false;
53
+ }
54
+ /**
55
+ * Get appropriate label for a segment
56
+ */
57
+ function getSegmentLabel(segment, parentPath, pathMap) {
58
+ // Check if this exact path exists in sidebar
59
+ const fullPath = parentPath + '/' + segment;
60
+ const pageConfig = pathMap.get(fullPath);
61
+ if (pageConfig) {
62
+ return pageConfig.label;
63
+ }
64
+ // For UUID/ID segments, default to "Loading..." (will be updated by components)
65
+ if (isUUIDorID(segment)) {
66
+ return 'Loading...';
67
+ }
68
+ // For regular segments, convert to readable format immediately
69
+ // Handle common patterns like "sub-merchants" -> "Sub Merchants"
70
+ return segment
71
+ .split('-')
72
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
73
+ .join(' ');
74
+ }
75
+ /**
76
+ * Build breadcrumbs with proper route validation (Conservative mode - for VAS app)
77
+ */
78
+ function buildBreadcrumbsFromPath(pathname, pathMap, manualUpdates) {
79
+ const segments = pathname.replace(/\/$/, '').split('/').filter(Boolean);
80
+ const breadcrumbs = [];
81
+ let currentPath = '';
82
+ let rootIcon = undefined;
83
+ for (let i = 0; i < segments.length; i++) {
84
+ const segment = segments[i];
85
+ currentPath += `/${segment}`;
86
+ const parentPath = '/' + segments.slice(0, i).join('/');
87
+ // Check if this exact path exists in sidebar config
88
+ const pageConfig = pathMap.get(currentPath);
89
+ // Determine if this should be clickable using improved logic
90
+ const isClickable = isValidRoute(segments, i, pathMap);
91
+ // Get the appropriate label
92
+ let label;
93
+ if (pageConfig) {
94
+ // Use sidebar config label if available
95
+ label = manualUpdates[currentPath] || pageConfig.label;
96
+ }
97
+ else if (isUUIDorID(segment)) {
98
+ // For UUID segments, use manual update or default to "Loading..."
99
+ label = manualUpdates[segment] || 'Loading...';
100
+ }
101
+ else {
102
+ // For regular segments, convert to readable format immediately
103
+ label = manualUpdates[currentPath] || getSegmentLabel(segment, parentPath, pathMap);
104
+ }
105
+ // Set root icon from first exact match
106
+ if (pageConfig && i === 0 && !rootIcon) {
107
+ rootIcon = pageConfig.icon;
108
+ }
109
+ breadcrumbs.push({
110
+ label,
111
+ path: isClickable ? currentPath : undefined,
112
+ key: isUUIDorID(segment) ? segment : undefined,
113
+ });
114
+ }
115
+ return { breadcrumbs, rootIcon };
116
+ }
117
+ /**
118
+ * Build breadcrumbs for permissive mode
119
+ */
120
+ function buildBreadcrumbsPermissive(pathname, pathMap, manualUpdates, pages) {
121
+ const pathSegments = pathname.replace(/\/$/, '').split('/').filter(Boolean);
122
+ let newBreadcrumbs = [];
123
+ let icon = undefined;
124
+ if (pathSegments.length === 0) {
125
+ return {
126
+ breadcrumbs: [{ label: 'Dashboard', path: '/dashboard' }],
127
+ rootIcon: HiChartPie,
128
+ };
129
+ }
130
+ let currentPath = '';
131
+ // Find the deepest matching page config
132
+ let foundConfig = undefined;
133
+ function findPageConfigWithParents(pages, path, parents = []) {
134
+ for (const page of pages) {
135
+ if (page.href === path)
136
+ return { page, parents };
137
+ if (page.items) {
138
+ const found = findPageConfigWithParents(page.items, path, [...parents, page]);
139
+ if (found.page)
140
+ return found;
141
+ }
142
+ }
143
+ return { page: undefined, parents: [] };
144
+ }
145
+ for (const segment of pathSegments) {
146
+ currentPath += `/${segment}`;
147
+ const { page } = findPageConfigWithParents(pages, currentPath);
148
+ if (page) {
149
+ foundConfig = page;
150
+ }
151
+ }
152
+ // Helper to set icon only if not already set
153
+ const setIcon = (candidate) => {
154
+ if (!icon && candidate)
155
+ icon = candidate;
156
+ };
157
+ function getManualLabel(segment, fallback) {
158
+ return manualUpdates[segment] ?? fallback;
159
+ }
160
+ function getUUIDBreadcrumb(segment, currentPath, newBreadcrumbs) {
161
+ const previousLabel = newBreadcrumbs[newBreadcrumbs.length - 1]?.label;
162
+ if (previousLabel) {
163
+ const baseLabel = previousLabel.replace(/s$/, '');
164
+ const label = getManualLabel(segment, `${baseLabel} Details`);
165
+ return {
166
+ label,
167
+ path: currentPath,
168
+ key: segment,
169
+ };
170
+ }
171
+ return null;
172
+ }
173
+ // Add the current page only (not parents)
174
+ if (foundConfig) {
175
+ const currentPath = foundConfig.href ?? '';
176
+ setIcon(foundConfig.icon);
177
+ newBreadcrumbs.push({ label: getManualLabel(foundConfig.href ?? '', foundConfig.label), path: currentPath });
178
+ }
179
+ // If there are extra segments (e.g. UUIDs), process them
180
+ const extraSegments = pathSegments.slice(foundConfig?.href?.split('/').filter(Boolean).length ?? 0);
181
+ let buildPath = foundConfig?.href ?? '';
182
+ for (const segment of extraSegments) {
183
+ buildPath += `/${segment}`;
184
+ if (isUUIDorID(segment)) {
185
+ const uuidBreadcrumb = getUUIDBreadcrumb(segment, buildPath, newBreadcrumbs);
186
+ if (uuidBreadcrumb)
187
+ newBreadcrumbs.push(uuidBreadcrumb);
188
+ }
189
+ else {
190
+ newBreadcrumbs.push({
191
+ label: getManualLabel(segment, segment.charAt(0).toUpperCase() + segment.slice(1)),
192
+ path: buildPath,
193
+ });
194
+ }
195
+ }
196
+ return { breadcrumbs: newBreadcrumbs, rootIcon: icon ?? HiChartPie };
197
+ }
198
+ const AppBreadcrumbProvider = ({ children, pathname, pages, mode = 'conservative' }) => {
199
+ const manualUpdates = useRef({});
200
+ const [forceUpdate, setForceUpdate] = useState(0);
201
+ const pathMap = useMemo(() => createPathMap(pages), [pages]);
202
+ const { breadcrumbs, rootPageIcon } = useMemo(() => {
203
+ if (pathname === '/' || pathname === '') {
204
+ return {
205
+ breadcrumbs: [{ label: 'Dashboard', path: '/dashboard' }],
206
+ rootPageIcon: HiChartPie,
207
+ };
208
+ }
209
+ if (mode === 'permissive') {
210
+ const { breadcrumbs, rootIcon } = buildBreadcrumbsPermissive(pathname, pathMap, manualUpdates.current, pages);
211
+ return { breadcrumbs, rootPageIcon: rootIcon ?? HiChartPie };
212
+ }
213
+ else {
214
+ const { breadcrumbs, rootIcon } = buildBreadcrumbsFromPath(pathname, pathMap, manualUpdates.current);
215
+ return { breadcrumbs, rootPageIcon: rootIcon ?? HiChartPie };
216
+ }
217
+ }, [pathname, pathMap, forceUpdate, mode, pages]);
218
+ const updateBreadcrumb = useCallback((key, newLabel) => {
219
+ manualUpdates.current[key] = newLabel;
220
+ setForceUpdate((prev) => prev + 1); // Force re-render
221
+ }, []);
222
+ const value = useMemo(() => ({
223
+ breadcrumbs,
224
+ updateBreadcrumb,
225
+ pathname,
226
+ rootPageIcon,
227
+ }), [breadcrumbs, updateBreadcrumb, pathname, rootPageIcon]);
228
+ return _jsx(AppBreadcrumbContext.Provider, { value: value, children: children });
229
+ };
230
+ const useAppBreadcrumbs = () => {
231
+ const context = useContext(AppBreadcrumbContext);
232
+ if (!context) {
233
+ throw new Error('useBreadcrumbs must be used within a BreadcrumbProvider');
234
+ }
235
+ return context;
236
+ };
237
+ export default AppBreadcrumbProvider;
238
+ export { useAppBreadcrumbs };
@@ -0,0 +1,21 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
4
+ */
5
+ type FormEngineDrawerContextType = {
6
+ isOpen: boolean;
7
+ handleOpenDrawer: () => void;
8
+ handleCloseDrawer: () => void;
9
+ };
10
+ /**
11
+ * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
12
+ */
13
+ export declare const FormEngineDrawerProvider: ({ pathname, children }: {
14
+ pathname: string;
15
+ children: ReactNode;
16
+ }) => import("react/jsx-runtime").JSX.Element;
17
+ /**
18
+ * @deprecated Use `useMultiFormEngineDrawer` instead. This will be removed in a future version.
19
+ */
20
+ export declare const useFormEngineDrawer: () => FormEngineDrawerContextType;
21
+ export {};
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
3
+ import { setupInputRegistry } from '../form-engine/registry';
4
+ /**
5
+ * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
6
+ */
7
+ const FormEngineDrawerContext = createContext(undefined);
8
+ /**
9
+ * @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
10
+ */
11
+ export const FormEngineDrawerProvider = ({ pathname, children }) => {
12
+ console.warn('FormEngineDrawerProvider is deprecated and will be removed in a future version. Use MultiFormEngineDrawerProvider instead.');
13
+ const [isOpen, setIsOpen] = useState(false);
14
+ useEffect(() => {
15
+ setupInputRegistry();
16
+ }, []);
17
+ const handleOpenDrawer = useCallback(() => setIsOpen(true), []);
18
+ const handleCloseDrawer = useCallback(() => setIsOpen(false), []);
19
+ useEffect(() => {
20
+ setIsOpen(false);
21
+ }, [pathname]);
22
+ const contextValue = useMemo(() => ({
23
+ isOpen,
24
+ handleOpenDrawer,
25
+ handleCloseDrawer,
26
+ }), [isOpen, handleOpenDrawer, handleCloseDrawer]);
27
+ return _jsx(FormEngineDrawerContext.Provider, { value: contextValue, children: children });
28
+ };
29
+ /**
30
+ * @deprecated Use `useMultiFormEngineDrawer` instead. This will be removed in a future version.
31
+ */
32
+ export const useFormEngineDrawer = () => {
33
+ const context = useContext(FormEngineDrawerContext);
34
+ if (!context) {
35
+ throw new Error('useFormEngineDrawer must be used within a FormEngineDrawerProvider');
36
+ }
37
+ return context;
38
+ };
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { FormPersistenceContextType } from '../form-engine/types';
3
+ /**
4
+ * Type definition for the new form engine drawer context
5
+ * Supports multiple drawers using unique keys
6
+ */
7
+ type MultiFormEngineDrawerProviderContextType = {
8
+ isOpen: (key: string) => boolean;
9
+ isAnyDrawerOpen: () => boolean;
10
+ handleOpenDrawer: (key: string) => void;
11
+ handleCloseDrawer: (key: string) => void;
12
+ } & FormPersistenceContextType;
13
+ /**
14
+ * Provider component for the new form engine drawer
15
+ * Supports multiple drawers using unique keys and form persistence
16
+ */
17
+ export declare const MultiFormEngineDrawerProvider: ({ pathname, children }: {
18
+ pathname: string;
19
+ children: ReactNode;
20
+ }) => import("react/jsx-runtime").JSX.Element;
21
+ /**
22
+ * Hook to access the new form engine drawer context
23
+ */
24
+ export declare const useMultiFormEngineDrawer: () => MultiFormEngineDrawerProviderContextType;
25
+ export {};
@@ -0,0 +1,89 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { setupInputRegistry } from '../form-engine/registry';
4
+ /**
5
+ * Context for managing the new form engine drawer state
6
+ */
7
+ const MultiFormEngineDrawerProviderContext = createContext(undefined);
8
+ /**
9
+ * Provider component for the new form engine drawer
10
+ * Supports multiple drawers using unique keys and form persistence
11
+ */
12
+ export const MultiFormEngineDrawerProvider = ({ pathname, children }) => {
13
+ const [drawerStates, setDrawerStates] = useState(new Map());
14
+ const formDataRef = useRef(new Map());
15
+ useEffect(() => {
16
+ setupInputRegistry();
17
+ }, []);
18
+ const handleOpenDrawer = useCallback((key) => {
19
+ setDrawerStates((prev) => new Map(prev).set(key, true));
20
+ }, []);
21
+ const handleCloseDrawer = useCallback((key) => {
22
+ setDrawerStates((prev) => {
23
+ const newStates = new Map(prev);
24
+ newStates.delete(key);
25
+ return newStates;
26
+ });
27
+ }, []);
28
+ const isOpen = useCallback((key) => drawerStates.get(key) === true, [drawerStates]);
29
+ const isAnyDrawerOpen = useCallback(() => drawerStates.size > 0, [drawerStates]);
30
+ // Form persistence methods
31
+ const getFormData = useCallback((key) => {
32
+ return formDataRef.current.get(key) || null;
33
+ }, []);
34
+ const setFormData = useCallback((key, data) => {
35
+ const existingData = formDataRef.current.get(key);
36
+ const newData = {
37
+ values: {},
38
+ lastUpdated: Date.now(),
39
+ isDirty: false,
40
+ ...existingData,
41
+ ...data,
42
+ };
43
+ formDataRef.current.set(key, newData);
44
+ }, []);
45
+ const clearFormData = useCallback((key) => {
46
+ formDataRef.current.delete(key);
47
+ }, []);
48
+ const clearAllFormData = useCallback(() => {
49
+ formDataRef.current.clear();
50
+ }, []);
51
+ const hasFormData = useCallback((key) => {
52
+ return formDataRef.current.has(key);
53
+ }, []);
54
+ useEffect(() => {
55
+ setDrawerStates(new Map());
56
+ }, [pathname]);
57
+ const contextValue = useMemo(() => ({
58
+ isOpen,
59
+ isAnyDrawerOpen,
60
+ handleOpenDrawer,
61
+ handleCloseDrawer,
62
+ getFormData,
63
+ setFormData,
64
+ clearFormData,
65
+ clearAllFormData,
66
+ hasFormData,
67
+ }), [
68
+ isOpen,
69
+ isAnyDrawerOpen,
70
+ handleOpenDrawer,
71
+ handleCloseDrawer,
72
+ getFormData,
73
+ setFormData,
74
+ clearFormData,
75
+ clearAllFormData,
76
+ hasFormData,
77
+ ]);
78
+ return (_jsx(MultiFormEngineDrawerProviderContext.Provider, { value: contextValue, children: children }));
79
+ };
80
+ /**
81
+ * Hook to access the new form engine drawer context
82
+ */
83
+ export const useMultiFormEngineDrawer = () => {
84
+ const context = useContext(MultiFormEngineDrawerProviderContext);
85
+ if (!context) {
86
+ throw new Error('useFormEngineDrawerV2 must be used within a FormEngineDrawerProviderV2');
87
+ }
88
+ return context;
89
+ };
@@ -0,0 +1,65 @@
1
+ import type { FC, HTMLAttributeAnchorTarget, PropsWithChildren } from 'react';
2
+ import React from 'react';
3
+ interface AppSidebarPageItem {
4
+ href?: string;
5
+ target?: HTMLAttributeAnchorTarget;
6
+ icon?: FC;
7
+ label: string;
8
+ items?: AppSidebarPageItem[];
9
+ badge?: string;
10
+ roles?: string[];
11
+ forceDropdown?: boolean;
12
+ }
13
+ /**
14
+ * Props for the AppSidebarContext
15
+ * @interface AppSidebarContextProps
16
+ * @property {Object} desktop - Desktop sidebar state and controls
17
+ * @property {Object} mobile - Mobile sidebar state and controls
18
+ * @property {AppSidebarPageItem[]} pages - Array of sidebar page items
19
+ * @property {string} pathname - Current route pathname
20
+ * @property {React.ElementType} linkComponent - Component used for navigation links
21
+ */
22
+ interface AppSidebarContextProps {
23
+ desktop: {
24
+ isCollapsed: boolean;
25
+ setCollapsed(value: boolean): void;
26
+ toggle(): void;
27
+ };
28
+ mobile: {
29
+ isOpen: boolean;
30
+ close(): void;
31
+ toggle(): void;
32
+ };
33
+ pages: AppSidebarPageItem[];
34
+ pathname: string;
35
+ linkComponent: React.ElementType;
36
+ }
37
+ /**
38
+ * Props for the AppSidebarProvider component
39
+ * @interface AppSidebarProviderProps
40
+ * @property {boolean} initialCollapsed - Initial collapsed state of desktop sidebar
41
+ * @property {AppSidebarPageItem[]} pages - Array of sidebar page items
42
+ * @property {string} pathname - Current route pathname
43
+ * @property {React.ElementType} linkComponent - Component used for navigation links
44
+ * @property {ReactNode} children - Child components
45
+ */
46
+ interface AppSidebarProviderProps extends PropsWithChildren {
47
+ initialCollapsed: boolean;
48
+ pages: AppSidebarPageItem[];
49
+ pathname: string;
50
+ linkComponent: React.ElementType;
51
+ }
52
+ /**
53
+ * Provider component for sidebar state management
54
+ * @param {AppSidebarProviderProps} props - Component props
55
+ */
56
+ declare const AppSidebarProvider: ({ initialCollapsed, children, pages, pathname, linkComponent, }: AppSidebarProviderProps) => import("react/jsx-runtime").JSX.Element;
57
+ /**
58
+ * Hook for accessing sidebar context
59
+ * @throws {Error} When used outside AppSidebarProvider
60
+ * @returns {AppSidebarContextProps} Sidebar context value
61
+ */
62
+ declare const useAppSidebarContext: () => AppSidebarContextProps;
63
+ export default AppSidebarProvider;
64
+ export { useAppSidebarContext };
65
+ export type { AppSidebarContextProps, AppSidebarProviderProps, AppSidebarPageItem };
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useMemo, useState } from 'react';
3
+ /**
4
+ * Context for managing sidebar state across desktop and mobile views
5
+ */
6
+ const AppSidebarContext = createContext(null);
7
+ /**
8
+ * Provider component for sidebar state management
9
+ * @param {AppSidebarProviderProps} props - Component props
10
+ */
11
+ const AppSidebarProvider = ({ initialCollapsed, children, pages, pathname, linkComponent, }) => {
12
+ const [isOpenMobile, setIsOpenMobile] = useState(false);
13
+ const [isCollapsed, setIsCollapsed] = useState(initialCollapsed);
14
+ function handleSetCollapsed(value) {
15
+ setIsCollapsed(value);
16
+ }
17
+ const value = useMemo(() => ({
18
+ desktop: {
19
+ isCollapsed,
20
+ setCollapsed: handleSetCollapsed,
21
+ toggle: () => handleSetCollapsed(!isCollapsed),
22
+ },
23
+ mobile: {
24
+ isOpen: isOpenMobile,
25
+ close: () => setIsOpenMobile(false),
26
+ toggle: () => setIsOpenMobile((state) => !state),
27
+ },
28
+ pages,
29
+ pathname,
30
+ linkComponent,
31
+ }), [isCollapsed, isOpenMobile, pages, pathname, linkComponent]);
32
+ return _jsx(AppSidebarContext.Provider, { value: value, children: children });
33
+ };
34
+ /**
35
+ * Hook for accessing sidebar context
36
+ * @throws {Error} When used outside AppSidebarProvider
37
+ * @returns {AppSidebarContextProps} Sidebar context value
38
+ */
39
+ const useAppSidebarContext = () => {
40
+ const context = useContext(AppSidebarContext);
41
+ if (!context) {
42
+ throw new Error('useSidebarContext must be used within the SidebarContext provider!');
43
+ }
44
+ return context;
45
+ };
46
+ export default AppSidebarProvider;
47
+ export { useAppSidebarContext };
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import { type ToastVariant } from '../components/ui/Toast';
4
+ export interface PartialToastData {
5
+ title?: string;
6
+ message: string;
7
+ variant: ToastVariant;
8
+ }
9
+ interface ToastContextProps {
10
+ addToast: (props: PartialToastData) => void;
11
+ }
12
+ export declare const useToast: () => ToastContextProps;
13
+ interface ToastProviderProps {
14
+ children: ReactNode;
15
+ }
16
+ export declare const ToastProvider: React.FC<ToastProviderProps>;
17
+ export {};
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useMemo, useState } from 'react';
3
+ import Toast from '../components/ui/Toast';
4
+ const ToastContext = createContext(undefined);
5
+ export const useToast = () => {
6
+ const context = useContext(ToastContext);
7
+ if (!context) {
8
+ throw new Error('useToast must be used within a ToastProvider');
9
+ }
10
+ return context;
11
+ };
12
+ export const ToastProvider = ({ children }) => {
13
+ const [toasts, setToasts] = useState([]);
14
+ const removeToast = useCallback((id) => {
15
+ setToasts((prevToasts) => prevToasts.filter((toast) => toast.id !== id));
16
+ }, []);
17
+ const addToast = useCallback((props) => {
18
+ const { message, title = '', variant = 'info' } = props;
19
+ const id = Date.now();
20
+ setToasts((prevToasts) => [...prevToasts, { id, title, message, variant }]);
21
+ // Remove the toast automatically after 5 seconds
22
+ setTimeout(() => {
23
+ removeToast(id);
24
+ }, 5000);
25
+ }, [removeToast]);
26
+ // Wrap the value in useMemo so it remains stable unless addToast changes
27
+ const contextValue = useMemo(() => ({ addToast }), [addToast]);
28
+ return (_jsxs(ToastContext.Provider, { value: contextValue, children: [children, _jsx("div", { className: "fixed right-0 top-4 z-50 m-4 space-y-2", style: { zIndex: 1000 }, children: toasts.map((toast) => (_jsx(Toast, { id: toast.id, title: toast.title, message: toast.message, variant: toast.variant, onClose: removeToast }, toast.id))) })] }));
29
+ };
@@ -0,0 +1,5 @@
1
+ export { default as AppBreadcrumbProvider, useAppBreadcrumbs, type AppBreadcrumbContextType, type AppBreadcrumb, } from './BreadcrumbContext';
2
+ export { FormEngineDrawerProvider, useFormEngineDrawer } from './FormEngineDrawerProvider';
3
+ export { MultiFormEngineDrawerProvider, useMultiFormEngineDrawer } from './MultiFormEngineDrawerProvider';
4
+ export { ToastProvider, useToast } from './ToastContext';
5
+ export { default as AppSidebarProvider, useAppSidebarContext, type AppSidebarContextProps, type AppSidebarPageItem, } from './SidebarContext';
@@ -0,0 +1,5 @@
1
+ export { default as AppBreadcrumbProvider, useAppBreadcrumbs, } from './BreadcrumbContext';
2
+ export { FormEngineDrawerProvider, useFormEngineDrawer } from './FormEngineDrawerProvider';
3
+ export { MultiFormEngineDrawerProvider, useMultiFormEngineDrawer } from './MultiFormEngineDrawerProvider';
4
+ export { ToastProvider, useToast } from './ToastContext';
5
+ export { default as AppSidebarProvider, useAppSidebarContext, } from './SidebarContext';
@@ -0,0 +1,55 @@
1
+ import React from 'react';
2
+ import type { QueryProps } from '../../shared/types';
3
+ import type { ChartToolTipProps, DistributionChartTooltip, DistributionQueryProps, MetricData, StatisticsQueryProps, TableColumn, TooltipField } from '../types';
4
+ import { processTooltipFields } from '../utils/tooltipUtils';
5
+ interface BaseChartProps<TData extends {
6
+ id: string | number;
7
+ }> {
8
+ title?: string;
9
+ url?: string;
10
+ query: QueryProps;
11
+ chartDetails?: {
12
+ columns?: any[];
13
+ data?: any[];
14
+ };
15
+ children: (props: {
16
+ loading: boolean;
17
+ error: any;
18
+ isEmpty: boolean;
19
+ refresh: () => void;
20
+ metricData: any[];
21
+ tooltipFormatterFn?: (params: any) => string;
22
+ processedTooltipFields?: ReturnType<typeof processTooltipFields>;
23
+ }) => React.ReactNode;
24
+ detailsModalTitle: string;
25
+ statisticsUrl?: string;
26
+ itemStatisticsQuery: StatisticsQueryProps;
27
+ valueMetricsQuery: StatisticsQueryProps;
28
+ averageMetricsQuery: StatisticsQueryProps;
29
+ distributionMetricsQuery: DistributionQueryProps;
30
+ yAxisDataNameKey: string;
31
+ xAxisNameKey: string;
32
+ xAxisLabel: string;
33
+ yAxisLabel: string;
34
+ nameKey: string;
35
+ valueKey: string;
36
+ dataGridSearchKey: string;
37
+ dataGridColumns: TableColumn<TData>[];
38
+ dataSearchInputPlaceHolder: string;
39
+ chartToolTip?: ChartToolTipProps;
40
+ detailsTableTitle?: string;
41
+ getChartOptions: (data: MetricData[]) => void;
42
+ tooltipValueFormat?: string;
43
+ tooltipTitle?: string;
44
+ tooltipUnit?: string;
45
+ tooltipAdditionalFields?: (string | TooltipField)[];
46
+ topFivePerformingChartTitle?: string;
47
+ bottomFivePerformingChartTitle?: string;
48
+ distributionChartTooltip: DistributionChartTooltip;
49
+ showDetailsModal?: boolean;
50
+ currencyDisplaySymbol?: string;
51
+ }
52
+ declare const BaseChart: <TData extends {
53
+ id: string | number;
54
+ }>({ title, url, query, chartDetails, children, detailsModalTitle, statisticsUrl, itemStatisticsQuery, valueMetricsQuery, averageMetricsQuery, distributionMetricsQuery, yAxisDataNameKey, xAxisNameKey, xAxisLabel, yAxisLabel, nameKey, valueKey, dataGridSearchKey, dataGridColumns, dataSearchInputPlaceHolder, chartToolTip, detailsTableTitle, getChartOptions, tooltipValueFormat, tooltipTitle, tooltipUnit, tooltipAdditionalFields, topFivePerformingChartTitle, bottomFivePerformingChartTitle, distributionChartTooltip, showDetailsModal, currencyDisplaySymbol, ...props }: BaseChartProps<TData>) => import("react/jsx-runtime").JSX.Element;
55
+ export default BaseChart;