@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,131 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import ReactECharts from 'echarts-for-react';
3
+ import { useMemo } from 'react';
4
+ const LineGraph = ({ data, title, yAxisLabel, color = '#60A5FA', // Default blue color
5
+ className = '', loading = false, }) => {
6
+ const chartOptions = useMemo(() => {
7
+ if (!data?.length)
8
+ return {};
9
+ // Process dates to ensure consistent format
10
+ const processedData = data.map((point) => ({
11
+ value: [point.date instanceof Date ? point.date : new Date(point.date), point.value],
12
+ }));
13
+ return {
14
+ title: title
15
+ ? {
16
+ text: title,
17
+ left: 'center',
18
+ top: 0,
19
+ textStyle: {
20
+ color: '#1F2937', // gray-800
21
+ fontWeight: 'normal',
22
+ },
23
+ }
24
+ : undefined,
25
+ tooltip: {
26
+ trigger: 'axis',
27
+ formatter: (params) => {
28
+ const dataPoint = params[0];
29
+ const date = new Date(dataPoint.value[0]);
30
+ return `
31
+ ${date.toLocaleDateString('en-US', {
32
+ month: '2-digit',
33
+ day: '2-digit',
34
+ year: 'numeric',
35
+ })}<br/>
36
+ Value: ${dataPoint.value[1].toLocaleString()}
37
+ `;
38
+ },
39
+ },
40
+ grid: {
41
+ left: '5%',
42
+ right: '5%',
43
+ bottom: '5%',
44
+ top: title ? '60' : '30',
45
+ containLabel: true,
46
+ },
47
+ xAxis: {
48
+ type: 'time',
49
+ axisLabel: {
50
+ formatter: (value) => {
51
+ const date = new Date(value);
52
+ return date.toLocaleDateString('en-US', {
53
+ month: '2-digit',
54
+ day: '2-digit',
55
+ year: 'numeric',
56
+ });
57
+ },
58
+ hideOverlap: true,
59
+ },
60
+ splitLine: {
61
+ show: false,
62
+ },
63
+ },
64
+ yAxis: {
65
+ type: 'value',
66
+ name: yAxisLabel,
67
+ nameLocation: 'middle',
68
+ nameGap: 50,
69
+ axisLabel: {
70
+ formatter: (value) => value.toLocaleString(),
71
+ },
72
+ splitLine: {
73
+ lineStyle: {
74
+ type: 'dashed',
75
+ },
76
+ },
77
+ },
78
+ legend: {
79
+ show: true,
80
+ top: title ? '30' : '0',
81
+ left: 'center',
82
+ data: [yAxisLabel || 'Value'],
83
+ },
84
+ series: [
85
+ {
86
+ name: yAxisLabel || 'Value',
87
+ type: 'line',
88
+ data: processedData,
89
+ showSymbol: false,
90
+ smooth: true,
91
+ lineStyle: {
92
+ color: color,
93
+ width: 2,
94
+ },
95
+ areaStyle: {
96
+ color: {
97
+ type: 'linear',
98
+ x: 0,
99
+ y: 0,
100
+ x2: 0,
101
+ y2: 1,
102
+ colorStops: [
103
+ {
104
+ offset: 0,
105
+ color: color,
106
+ opacity: 0.2,
107
+ },
108
+ {
109
+ offset: 1,
110
+ color: color,
111
+ opacity: 0,
112
+ },
113
+ ],
114
+ },
115
+ },
116
+ },
117
+ ],
118
+ animation: true,
119
+ animationDuration: 1000,
120
+ animationEasing: 'cubicInOut',
121
+ };
122
+ }, [data, title, yAxisLabel, color]);
123
+ if (loading) {
124
+ return (_jsx("div", { className: `animate-pulse ${className}`, children: _jsx("div", { className: "w-full aspect-[16/9] bg-gray-200 rounded-lg" }) }));
125
+ }
126
+ if (!data?.length) {
127
+ return (_jsx("div", { className: `flex items-center justify-center w-full aspect-[16/9] bg-gray-50 rounded-lg ${className}`, children: _jsx("p", { className: "text-gray-500", children: "No data available" }) }));
128
+ }
129
+ return (_jsx("div", { className: `relative ${className}`, children: _jsx(ReactECharts, { option: chartOptions, style: { height: '100%' }, className: "w-full aspect-[16/9] sm:aspect-[16/9]", opts: { renderer: 'canvas' }, notMerge: true }) }));
130
+ };
131
+ export default LineGraph;
@@ -0,0 +1,8 @@
1
+ import { type IconBaseProps } from 'react-icons';
2
+ import { type IconName } from './types';
3
+ type IconProps = {
4
+ name: IconName;
5
+ } & IconBaseProps;
6
+ declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ export default Icon;
8
+ export type { IconProps };
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { Icons } from './types';
4
+ const Icon = (props) => {
5
+ const { name, ...rest } = props;
6
+ const Icon = useMemo(() => {
7
+ return Icons[name];
8
+ }, [name]);
9
+ if (Icon === null)
10
+ return null;
11
+ return _jsx(Icon, { ...rest });
12
+ };
13
+ export default Icon;
@@ -0,0 +1,2 @@
1
+ export { default as Icon, type IconProps } from './Icon';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export { default as Icon } from './Icon';
2
+ export * from './types';
@@ -0,0 +1,26 @@
1
+ export declare const Icons: {
2
+ MdOutlineWatchLater: import("react-icons").IconType;
3
+ IoCalendarOutline: import("react-icons").IconType;
4
+ MdOutlineRemoveRedEye: import("react-icons").IconType;
5
+ IoOptionsOutline: import("react-icons").IconType;
6
+ MdProductLimits: import("react-icons").IconType;
7
+ TbSpeakerphone: import("react-icons").IconType;
8
+ LuCalendarDays: import("react-icons").IconType;
9
+ MdOutlineStorefront: import("react-icons").IconType;
10
+ MdAccountBalance: import("react-icons").IconType;
11
+ FaCirclePlus: import("react-icons").IconType;
12
+ FaUserPlus: import("react-icons").IconType;
13
+ ImPriceTags: import("react-icons").IconType;
14
+ FiSettings: import("react-icons").IconType;
15
+ FiCalendar: import("react-icons").IconType;
16
+ FiPieChart: import("react-icons").IconType;
17
+ FiUpload: import("react-icons").IconType;
18
+ FiLogOut: import("react-icons").IconType;
19
+ FiUsers: import("react-icons").IconType;
20
+ IoClose: import("react-icons").IconType;
21
+ FaPlus: import("react-icons").IconType;
22
+ FiGift: import("react-icons").IconType;
23
+ FaEye: import("react-icons").IconType;
24
+ FaEyeSlash: import("react-icons").IconType;
25
+ };
26
+ export type IconName = keyof typeof Icons;
@@ -0,0 +1,33 @@
1
+ import { FaEye, FaEyeSlash } from 'react-icons/fa';
2
+ import { FaCirclePlus, FaPlus, FaUserPlus } from 'react-icons/fa6';
3
+ import { FiCalendar, FiGift, FiLogOut, FiPieChart, FiSettings, FiUpload, FiUsers } from 'react-icons/fi';
4
+ import { ImPriceTags } from 'react-icons/im';
5
+ import { IoCalendarOutline, IoClose, IoOptionsOutline } from 'react-icons/io5';
6
+ import { LuCalendarDays } from 'react-icons/lu';
7
+ import { MdAccountBalance, MdOutlineRemoveRedEye, MdOutlineStorefront, MdOutlineWatchLater, MdOutlineProductionQuantityLimits as MdProductLimits, } from 'react-icons/md';
8
+ import { TbSpeakerphone } from 'react-icons/tb';
9
+ export const Icons = {
10
+ MdOutlineWatchLater,
11
+ IoCalendarOutline,
12
+ MdOutlineRemoveRedEye,
13
+ IoOptionsOutline,
14
+ MdProductLimits,
15
+ TbSpeakerphone,
16
+ LuCalendarDays,
17
+ MdOutlineStorefront,
18
+ MdAccountBalance,
19
+ FaCirclePlus,
20
+ FaUserPlus,
21
+ ImPriceTags,
22
+ FiSettings,
23
+ FiCalendar,
24
+ FiPieChart,
25
+ FiUpload,
26
+ FiLogOut,
27
+ FiUsers,
28
+ IoClose,
29
+ FaPlus,
30
+ FiGift,
31
+ FaEye,
32
+ FaEyeSlash,
33
+ };
@@ -0,0 +1,3 @@
1
+ export * from './icons';
2
+ export * from './layout';
3
+ export * from './ui';
@@ -0,0 +1,3 @@
1
+ export * from './icons';
2
+ export * from './layout';
3
+ export * from './ui';
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import type { TranslationProviderProps } from '../../translations';
3
+ import type { AppDashboardNavbarProps } from './Navbar';
4
+ interface AppLayoutProps {
5
+ children: React.ReactNode;
6
+ appNavbar: AppDashboardNavbarProps;
7
+ /**
8
+ * When true, the sidebar will not be rendered
9
+ * @default false
10
+ */
11
+ hideSidebar?: boolean;
12
+ /**
13
+ * When true, the navbar will not be rendered
14
+ * @default false
15
+ */
16
+ hideNavbar?: boolean;
17
+ /**
18
+ * When true, the AppBreadcrumbNav will not be rendered
19
+ * @default false
20
+ */
21
+ hideBreadcrumbNav?: boolean;
22
+ /**
23
+ * When true, enables translation functionality
24
+ * @default false
25
+ */
26
+ enableTranslations?: boolean;
27
+ /**
28
+ * Translation provider configuration
29
+ */
30
+ translationConfig?: Omit<TranslationProviderProps, 'children'>;
31
+ }
32
+ declare const AppLayout: ({ children, appNavbar, hideSidebar, hideNavbar, hideBreadcrumbNav, enableTranslations, translationConfig, }: AppLayoutProps) => import("react/jsx-runtime").JSX.Element;
33
+ export default AppLayout;
34
+ export type { AppLayoutProps };
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useSessionTimer } from '../../shared';
3
+ import { useAnyDrawerOpen } from '../../shared/hooks/useAnyDrawerOpen';
4
+ import { TranslationProvider } from '../../translations';
5
+ import { AppBreadcrumbNav, AppDashboardNavbar, AppDashboardSidebar, AppLayoutContent, SessionExpiryModal, } from '../layout';
6
+ import LoaderComponent from '../ui/Loader';
7
+ const AppLayout = ({ children, appNavbar, hideSidebar = false, hideNavbar = false, hideBreadcrumbNav = false, enableTranslations = false, translationConfig, }) => {
8
+ const isDrawerOpen = useAnyDrawerOpen();
9
+ const { showModal, countdown, loading, modalDismissed, handleCloseModal, handleRefreshToken } = useSessionTimer();
10
+ if (loading) {
11
+ return (_jsx("div", { className: "flex min-h-screen items-center justify-center", children: _jsx(LoaderComponent, {}) }));
12
+ }
13
+ const content = (_jsxs(_Fragment, { children: [!hideNavbar && (_jsx(AppDashboardNavbar, { ...appNavbar, hideSidebarToggle: hideSidebar, showLocaleSwitcher: enableTranslations })), _jsxs("div", { className: `flex items-start transition-all duration-300 ${!hideNavbar ? 'mt-16' : ''}`, style: { width: isDrawerOpen ? 'calc(100vw - 420px)' : '100%' }, children: [!hideSidebar && _jsx(AppDashboardSidebar, {}), _jsxs(AppLayoutContent, { isSidebarHidden: hideSidebar, children: [!hideBreadcrumbNav && _jsx(AppBreadcrumbNav, {}), children] }), _jsx(SessionExpiryModal, { show: showModal && !modalDismissed, countdown: countdown, loading: loading, onDismiss: handleCloseModal, onRenew: handleRefreshToken })] })] }));
14
+ if (enableTranslations) {
15
+ return (_jsx(TranslationProvider, { defaultLocale: translationConfig?.defaultLocale ?? 'en', localeData: translationConfig?.localeData, loadPath: translationConfig?.loadPath, children: content }));
16
+ }
17
+ return content;
18
+ };
19
+ export default AppLayout;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface AuthPageLayoutProps {
3
+ title: string;
4
+ subtitle: string;
5
+ errorMessage: string | null;
6
+ showLogo?: boolean;
7
+ logo: React.ReactNode;
8
+ renderInAppLayout?: boolean;
9
+ children: React.ReactNode;
10
+ }
11
+ declare const AuthPageLayout: React.FC<AuthPageLayoutProps>;
12
+ export default AuthPageLayout;
13
+ export type { AuthPageLayoutProps };
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Card } from 'flowbite-react';
3
+ const AuthPageLayout = ({ title, subtitle, errorMessage, logo, showLogo = true, renderInAppLayout = false, children, }) => {
4
+ return (_jsxs("div", { className: `mx-auto flex w-full max-w-[640px] flex-col items-center justify-center px-4 py-8 sm:px-6 ${renderInAppLayout ? 'h-[calc(100vh-64px)]' : 'min-h-screen md:h-screen'}`, children: [showLogo && logo, _jsxs(Card, { horizontal: true, className: "w-full p-2 sm:p-3", theme: {
5
+ root: {
6
+ children: 'my-auto w-full gap-0 space-y-6 p-4 sm:p-6 lg:p-12',
7
+ },
8
+ img: {
9
+ horizontal: {
10
+ on: 'hidden w-2/3 rounded-l-lg md:w-96 md:p-0 lg:block',
11
+ },
12
+ },
13
+ }, children: [_jsxs("div", { children: [_jsx("h2", { className: "text-[1.5em] font-bold text-gray-900 dark:text-white sm:text-[1.875em]", children: title }), _jsx("h2", { className: "text-[1em] font-medium text-gray-600 dark:text-white sm:text-[1em]", children: subtitle })] }), errorMessage && (_jsx("div", { className: "mt-4 rounded border border-red-400 bg-red-100 p-2 text-red-700", children: errorMessage })), children] })] }));
14
+ };
15
+ export default AuthPageLayout;
@@ -0,0 +1,2 @@
1
+ declare const AppBreadcrumbNav: () => import("react/jsx-runtime").JSX.Element;
2
+ export default AppBreadcrumbNav;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Breadcrumb } from 'flowbite-react';
3
+ import { useAppBreadcrumbs } from '../../context';
4
+ import { useTranslation } from '../../translations';
5
+ const AppBreadcrumbNav = () => {
6
+ const { breadcrumbs, pathname, rootPageIcon: PageIcon } = useAppBreadcrumbs();
7
+ const { t } = useTranslation();
8
+ return (_jsx(Breadcrumb, { className: "mb-5", children: breadcrumbs.map((item, index) => (_jsx(Breadcrumb.Item, { href: index === breadcrumbs.length - 1 || !item.path ? undefined : item.path, children: _jsxs("div", { className: "flex items-center gap-x-3 text-2xl", children: [index === 0 && PageIcon && _jsx(PageIcon, {}), _jsx("span", { className: "text-sm dark:text-white", children: t(item.label) })] }) }, `breadcrumb-item-${item.path || item.key || index}-${item.label}`))) }, pathname));
9
+ };
10
+ export default AppBreadcrumbNav;
@@ -0,0 +1,6 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ interface AppLayoutContentProps extends PropsWithChildren {
3
+ isSidebarHidden?: boolean;
4
+ }
5
+ declare const AppLayoutContent: ({ children, isSidebarHidden }: AppLayoutContentProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default AppLayoutContent;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { useAppSidebarContext } from '../../context';
4
+ const AppLayoutContent = ({ children, isSidebarHidden = false }) => {
5
+ const sidebar = useAppSidebarContext();
6
+ const sidebarStateClassName = sidebar.desktop.isCollapsed ? 'lg:ml-16' : 'lg:ml-64';
7
+ const sidebarClassName = isSidebarHidden ? 'ml' : sidebarStateClassName;
8
+ return (_jsx("div", { id: "main-content", className: twMerge('relative h-full w-full overflow-y-auto', sidebarClassName), children: _jsx("div", { className: "m-4", children: children }) }));
9
+ };
10
+ export default AppLayoutContent;
@@ -0,0 +1,106 @@
1
+ import React from 'react';
2
+ interface AppUserDropdownProps {
3
+ onLogout?: () => void;
4
+ onSelectProfile: () => void;
5
+ onSelectChangePassword?: () => void;
6
+ navbarTextColors?: {
7
+ brand?: string;
8
+ general?: string;
9
+ };
10
+ }
11
+ interface EnvironmentBannerProps {
12
+ /**
13
+ * Whether to show the environment banner
14
+ * @default false
15
+ */
16
+ show?: boolean;
17
+ /**
18
+ * Text to display in the banner
19
+ * @default ''
20
+ */
21
+ text?: string;
22
+ /**
23
+ * Background color of the banner
24
+ * @default 'red'
25
+ */
26
+ bgColor?: string;
27
+ /**
28
+ * Text color of the banner
29
+ * @default 'white'
30
+ */
31
+ color?: string;
32
+ }
33
+ interface AppDashboardNavbarProps extends AppUserDropdownProps {
34
+ dashboardLink?: string;
35
+ brandImage: {
36
+ src: string;
37
+ alt: string;
38
+ width: number;
39
+ height: number;
40
+ };
41
+ linkComponent: React.ElementType;
42
+ showThemeToggler?: boolean;
43
+ appLabel: string;
44
+ /**
45
+ * When true, the sidebar toggle button will not be rendered
46
+ * @default false
47
+ */
48
+ hideSidebarToggle?: boolean;
49
+ /**
50
+ * Array of custom components (actions) to be rendered just before the user dropdown
51
+ */
52
+ navBarActionComponents?: React.ReactNode[];
53
+ /**
54
+ * When true, shows the locale switcher in the navbar
55
+ * @default false
56
+ */
57
+ showLocaleSwitcher?: boolean;
58
+ /**
59
+ * Custom locale names to display in the locale switcher
60
+ */
61
+ localeNames?: Record<string, string>;
62
+ /**
63
+ * Configuration for the environment banner
64
+ */
65
+ environmentBanner?: EnvironmentBannerProps;
66
+ /**
67
+ * Navbar background color configuration
68
+ */
69
+ navbarBackground?: {
70
+ /**
71
+ * Background color for light mode
72
+ * @default 'bg-purple'
73
+ */
74
+ light?: string;
75
+ /**
76
+ * Background color for dark mode
77
+ * @default 'dark:bg-gray-800'
78
+ */
79
+ dark?: string;
80
+ };
81
+ /**
82
+ * Navbar text color configuration
83
+ */
84
+ navbarTextColors?: {
85
+ /**
86
+ * Brand text color (e.g., app label)
87
+ * @default 'text-white'
88
+ */
89
+ brand?: string;
90
+ /**
91
+ * General text color for navbar elements
92
+ * @default 'text-white'
93
+ */
94
+ general?: string;
95
+ };
96
+ }
97
+ declare const AppSidebarToggleButton: React.FC<{
98
+ isMobileOpen: boolean;
99
+ onToggle: () => void;
100
+ }>;
101
+ declare const AppDarkThemeToggleWithTooltip: React.FC;
102
+ declare const AppUserDropdown: React.MemoExoticComponent<({ onLogout, onSelectChangePassword, onSelectProfile, navbarTextColors, }: AppUserDropdownProps) => import("react/jsx-runtime").JSX.Element>;
103
+ declare const AppDashboardNavbar: React.FC<AppDashboardNavbarProps>;
104
+ export default AppDashboardNavbar;
105
+ export { AppSidebarToggleButton, AppDarkThemeToggleWithTooltip, AppUserDropdown, AppDashboardNavbar };
106
+ export type { AppDashboardNavbarProps, AppUserDropdownProps };
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Avatar, DarkThemeToggle, Dropdown, Navbar, Tooltip } from 'flowbite-react';
3
+ import { HiLockClosed, HiLogout, HiMenuAlt1, HiUser, HiX } from 'react-icons/hi';
4
+ import { v4 as uuidv4 } from 'uuid';
5
+ import React, { useCallback } from 'react';
6
+ import { useAuth } from '../../auth';
7
+ import { useAppSidebarContext } from '../../context';
8
+ import { useMediaQueries } from '../../shared';
9
+ import { LocaleSwitcher, useLibTranslations, useTranslation } from '../../translations';
10
+ const AppSidebarToggleButton = React.memo(({ isMobileOpen, onToggle }) => {
11
+ const { tLib } = useLibTranslations();
12
+ return (_jsxs("button", { onClick: onToggle, className: "mr-3 cursor-pointer rounded p-2 text-gray-600 hover:bg-gray-100 hover:text-gray-900 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white", children: [_jsx("span", { className: "sr-only", children: tLib('sidebar.toggle', 'Toggle sidebar') }), _jsx("div", { className: "md:hidden", children: isMobileOpen ? _jsx(HiX, { className: "h-6 w-6" }) : _jsx(HiMenuAlt1, { className: "h-6 w-6" }) }), _jsx("div", { className: "hidden md:block", children: _jsx(HiMenuAlt1, { className: "h-6 w-6" }) })] }));
13
+ });
14
+ const AppDarkThemeToggleWithTooltip = React.memo(() => {
15
+ const { tLib } = useLibTranslations();
16
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "hidden dark:block", children: _jsx(Tooltip, { content: tLib('theme.toggleLight', 'Toggle light mode'), children: _jsx(DarkThemeToggle, {}) }) }), _jsx("div", { className: "dark:hidden", children: _jsx(Tooltip, { content: tLib('theme.toggleDark', 'Toggle dark mode'), children: _jsx(DarkThemeToggle, {}) }) })] }));
17
+ });
18
+ const AppUserDropdown = React.memo(({ onLogout, onSelectChangePassword, onSelectProfile, navbarTextColors = { general: 'text-white' }, }) => {
19
+ const { user, logout } = useAuth();
20
+ const { tLib } = useLibTranslations();
21
+ const initials = user?.userName
22
+ ? user.userName
23
+ .split(' ')
24
+ .map((name) => name.charAt(0).toUpperCase())
25
+ .join('')
26
+ : 'AU';
27
+ const handleLogout = useCallback(async () => {
28
+ await logout();
29
+ onLogout?.();
30
+ }, [logout, onLogout]);
31
+ return (_jsxs(Dropdown, { className: "rounded", arrowIcon: false, inline: true, label: _jsxs("span", { className: navbarTextColors.general, children: [_jsx("span", { className: "sr-only", children: user?.userName }), _jsx(Avatar, { rounded: true, size: "sm", placeholderInitials: initials })] }), children: [_jsx(Dropdown.Header, { className: "px-4 py-3", children: _jsx("span", { className: "block text-sm font-medium capitalize text-primary-500", children: user?.userName }) }), _jsx(Dropdown.Item, { onClick: () => onSelectProfile(), children: _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(HiUser, { className: "text-gray-500", size: 18 }), _jsx("span", { children: tLib('userProfile', 'User Profile') })] }) }), _jsx(Dropdown.Item, { onClick: () => onSelectChangePassword?.(), children: _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(HiLockClosed, { className: "text-gray-500", size: 18 }), _jsx("span", { children: tLib('changePassword', 'Change Password') })] }) }), _jsx(Dropdown.Divider, {}), _jsx(Dropdown.Item, { onClick: handleLogout, children: _jsxs("div", { className: "flex items-center space-x-2", children: [_jsx(HiLogout, { className: "text-gray-500", size: 18 }), _jsx("span", { children: tLib('signOut', 'Sign Out') })] }) })] }));
32
+ });
33
+ const EnvironmentBanner = ({ show = false, text = 'UAT', bgColor = 'red', color = 'black', }) => {
34
+ if (!show)
35
+ return null;
36
+ return (_jsx("div", { className: "fixed top-0 right-10 z-[110]", style: {
37
+ transform: 'rotate(45deg)',
38
+ transformOrigin: 'top right',
39
+ top: '100px',
40
+ right: '-20px',
41
+ }, children: _jsx("div", { className: `flex items-center justify-center h-4 px-12 py-1 shadow-lg`, style: {
42
+ backgroundColor: bgColor,
43
+ minWidth: '160px',
44
+ }, children: _jsx("span", { className: "text-xs text-center font-bold tracking-wider uppercase whitespace-nowrap", style: {
45
+ color,
46
+ textShadow: '0 1px 2px rgba(0,0,0,0.3)',
47
+ letterSpacing: '0.1em',
48
+ }, children: text }) }) }));
49
+ };
50
+ const AppDashboardNavbar = ({ dashboardLink = '/dashboard', brandImage, linkComponent, showThemeToggler = true, appLabel, onSelectChangePassword, onSelectProfile, onLogout, hideSidebarToggle = false, navBarActionComponents = [], showLocaleSwitcher = false, localeNames, environmentBanner = { show: false }, navbarBackground = { light: 'bg-purple', dark: 'dark:bg-gray-800' }, navbarTextColors = { brand: 'text-white', general: 'text-white' }, }) => {
51
+ const sidebar = useAppSidebarContext();
52
+ const { isMd } = useMediaQueries();
53
+ const { t } = useTranslation();
54
+ const handleToggleSidebar = useCallback(() => {
55
+ if (isMd) {
56
+ sidebar.desktop.toggle();
57
+ }
58
+ else {
59
+ sidebar.mobile.toggle();
60
+ }
61
+ }, [isMd, sidebar.desktop, sidebar.mobile]);
62
+ const navbarClasses = `fixed top-0 w-full border-b border-gray-200 ${navbarBackground.light} p-0 dark:border-gray-700 ${navbarBackground.dark} sm:p-0`;
63
+ return (_jsxs(_Fragment, { children: [_jsx(Navbar, { fluid: true, className: navbarClasses, style: { zIndex: 100 }, children: _jsx("div", { className: "w-full p-3 pr-4", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center", children: [!hideSidebarToggle && (_jsx(AppSidebarToggleButton, { isMobileOpen: sidebar.mobile.isOpen, onToggle: handleToggleSidebar })), _jsxs(Navbar.Brand, { as: linkComponent, href: dashboardLink, className: "mr-14", children: [brandImage && (_jsx("img", { src: brandImage.src, alt: t(brandImage.alt), width: brandImage.width, height: brandImage.height, className: "h-8" })), _jsx("p", { className: `font-bold ${navbarTextColors.brand} text-[15px] mb-0`, children: t(appLabel) })] })] }), _jsxs("div", { className: "flex items-center lg:gap-3", children: [navBarActionComponents.map((action) => (_jsx(React.Fragment, { children: action }, `app-nav-bar-component-${uuidv4()}`))), showThemeToggler && _jsx(AppDarkThemeToggleWithTooltip, {}), showLocaleSwitcher && (_jsx("div", { className: `mx-2 ${navbarTextColors.general}`, children: _jsx(LocaleSwitcher, { localeNames: localeNames, className: "min-w-[120px] text-sm text-white bg-white z-50" }) })), _jsx("div", { className: "flex items-center", children: _jsx(AppUserDropdown, { onLogout: onLogout, onSelectChangePassword: onSelectChangePassword, onSelectProfile: onSelectProfile, navbarTextColors: navbarTextColors }) })] })] }) }) }), _jsx(EnvironmentBanner, { ...environmentBanner })] }));
64
+ };
65
+ export default AppDashboardNavbar;
66
+ export { AppSidebarToggleButton, AppDarkThemeToggleWithTooltip, AppUserDropdown, AppDashboardNavbar };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface AppPageHeaderProps {
3
+ title: string;
4
+ description?: string;
5
+ }
6
+ declare const AppPageHeader: ({ title, description }: AppPageHeaderProps) => React.JSX.Element;
7
+ export default AppPageHeader;
8
+ export type { AppPageHeaderProps };
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTranslation } from '../../translations';
3
+ const AppPageHeader = ({ title, description }) => {
4
+ const { t } = useTranslation();
5
+ return (_jsxs("div", { className: "mb-4", children: [_jsx("h1", { className: "text-2xl font-bold", children: t(title) }), description && _jsx("p", { className: "text-1xl text-gray-600", children: t(description) })] }));
6
+ };
7
+ export default AppPageHeader;
@@ -0,0 +1,10 @@
1
+ interface SessionExpiryModalProps {
2
+ show: boolean;
3
+ countdown: number;
4
+ loading: boolean;
5
+ onDismiss: () => void;
6
+ onRenew: () => void;
7
+ }
8
+ declare const SessionExpiryModal: ({ show, countdown, loading, onDismiss, onRenew }: SessionExpiryModalProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default SessionExpiryModal;
10
+ export type { SessionExpiryModalProps };
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Modal } from 'flowbite-react';
3
+ import { useLibTranslations } from '../../translations';
4
+ import { Button } from '../ui';
5
+ const SessionExpiryModal = ({ show, countdown, loading, onDismiss, onRenew }) => {
6
+ const { tLib } = useLibTranslations();
7
+ return (_jsxs(Modal, { show: show, onClose: onDismiss, children: [_jsx(Modal.Header, { children: tLib('sessionExpiryModal.title', 'Session about to expire due to inactivity') }), _jsx(Modal.Body, { children: _jsx("div", { className: "space-y-6 p-6", children: _jsx("p", { className: "text-base leading-relaxed text-gray-500 dark:text-gray-400", children: tLib('sessionExpiryModal.message', `Your session will end in ${countdown} seconds and you will be automatically logged out.`) }) }) }), _jsx(Modal.Footer, { children: _jsxs("div", { className: "flex w-full justify-end space-x-2", children: [_jsx(Button, { onClick: onDismiss, variant: "outline", disabled: loading, children: tLib('sessionExpiryModal.dismiss', 'Log Out') }), _jsx(Button, { onClick: onRenew, variant: "primary", disabled: loading, children: tLib('sessionExpiryModal.renew', 'Stay logged in') })] }) })] }));
8
+ };
9
+ export default SessionExpiryModal;
@@ -0,0 +1,6 @@
1
+ declare const AppSidebarMenu: () => import("react/jsx-runtime").JSX.Element;
2
+ declare const AppMobileSidebar: () => import("react/jsx-runtime").JSX.Element | null;
3
+ declare const AppDesktopSidebar: () => import("react/jsx-runtime").JSX.Element;
4
+ declare const AppDashboardSidebar: () => import("react/jsx-runtime").JSX.Element;
5
+ export default AppDashboardSidebar;
6
+ export { AppSidebarMenu, AppMobileSidebar, AppDesktopSidebar, AppDashboardSidebar };