@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,82 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import { Dropdown } from 'flowbite-react';
4
+ import { jsPDF } from 'jspdf';
5
+ import autoTable from 'jspdf-autotable';
6
+ import { FiDownload } from 'react-icons/fi';
7
+ import * as XLSX from 'xlsx';
8
+ const TableDownload = ({ columns, data }) => {
9
+ const handleDownload = (format) => {
10
+ if (data.length === 0) {
11
+ console.warn('No data available for download');
12
+ return;
13
+ }
14
+ switch (format) {
15
+ case 'csv':
16
+ downloadCSV(columns, data);
17
+ break;
18
+ case 'excel':
19
+ downloadExcel(columns, data);
20
+ break;
21
+ case 'pdf':
22
+ downloadPDF(columns, data);
23
+ break;
24
+ default:
25
+ console.warn('Unsupported format');
26
+ }
27
+ };
28
+ // CSV Export
29
+ const downloadCSV = (columns, data) => {
30
+ const columnKeys = columns.map((col) => col.accessor);
31
+ const headers = columns.map((col) => col.header);
32
+ const csvContent = 'data:text/csv;charset=utf-8,' +
33
+ [
34
+ headers.join(','),
35
+ ...data.map((row) => columnKeys.map((key) => `"${String(row[key])}"`).join(',')),
36
+ ].join('\n');
37
+ const encodedUri = encodeURI(csvContent);
38
+ const link = document.createElement('a');
39
+ link.setAttribute('href', encodedUri);
40
+ link.setAttribute('download', 'table_data.csv');
41
+ document.body.appendChild(link);
42
+ link.click();
43
+ document.body.removeChild(link);
44
+ };
45
+ // Excel Export
46
+ const downloadExcel = (columns, data) => {
47
+ const columnKeys = columns.map((col) => col.accessor);
48
+ const formattedData = data.map((row) => columnKeys.reduce((acc, key) => {
49
+ acc[key] = row[key];
50
+ return acc;
51
+ }, {}));
52
+ const worksheet = XLSX.utils.json_to_sheet(formattedData);
53
+ const workbook = XLSX.utils.book_new();
54
+ XLSX.utils.book_append_sheet(workbook, worksheet, 'Table Data');
55
+ XLSX.writeFile(workbook, 'table_data.xlsx');
56
+ };
57
+ // PDF Export
58
+ const downloadPDF = (columns, data) => {
59
+ const doc = new jsPDF();
60
+ doc.text('Table Data Report', 20, 10);
61
+ const headers = columns.map((col) => col.header);
62
+ autoTable(doc, {
63
+ head: [headers],
64
+ body: data,
65
+ styles: {
66
+ fillColor: [255, 255, 255],
67
+ textColor: [0, 0, 0],
68
+ overflow: 'linebreak',
69
+ },
70
+ headStyles: {
71
+ fillColor: [255, 255, 255],
72
+ textColor: [0, 0, 0],
73
+ },
74
+ bodyStyles: {
75
+ valign: 'top',
76
+ },
77
+ });
78
+ doc.save('table_data.pdf');
79
+ };
80
+ return (_jsxs(Dropdown, { color: "light", label: _jsxs("div", { className: "inline-flex items-center text-primary-500", children: [_jsx(FiDownload, { className: "mr-2 h-5 w-5", "aria-hidden": "true" }), "Download Report"] }), children: [_jsx(Dropdown.Item, { onClick: () => handleDownload('csv'), children: "CSV" }), _jsx(Dropdown.Item, { onClick: () => handleDownload('excel'), children: "Excel" }), _jsx(Dropdown.Item, { onClick: () => handleDownload('pdf'), children: "PDF" })] }));
81
+ };
82
+ export default TableDownload;
@@ -0,0 +1 @@
1
+ export declare function TailwindIndicator(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function TailwindIndicator() {
3
+ if (process.env.NODE_ENV === 'production')
4
+ return null;
5
+ return (_jsxs("div", { className: "fixed bottom-1 left-1 z-50 flex h-6 w-6 items-center justify-center rounded-full bg-gray-800 p-3 font-mono text-xs text-white", children: [_jsx("div", { className: "block sm:hidden", children: "xs" }), _jsx("div", { className: "hidden sm:block md:hidden", children: "sm" }), _jsx("div", { className: "hidden md:block lg:hidden", children: "md" }), _jsx("div", { className: "hidden lg:block xl:hidden", children: "lg" }), _jsx("div", { className: "hidden xl:block 2xl:hidden", children: "xl" }), _jsx("div", { className: "hidden 2xl:block", children: "2xl" })] }));
6
+ }
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ /**
3
+ * Props for the TextField component.
4
+ */
5
+ interface TextFieldProps {
6
+ /** The current value of the input field. */
7
+ value: string;
8
+ /** The type of the input field (e.g., 'text', 'password', 'email'). */
9
+ type?: React.HTMLInputTypeAttribute;
10
+ /** The name of the input field. */
11
+ name: string;
12
+ /** The label text for the input field. */
13
+ label: string;
14
+ /** The placeholder text for the input field. */
15
+ placeholder: string;
16
+ /** Whether the input field has an error state. */
17
+ error?: boolean;
18
+ /** A function to update the value of the input field. */
19
+ setValue: React.Dispatch<React.SetStateAction<string>>;
20
+ /** Optional helper text to display below the input field. */
21
+ helperText?: string;
22
+ /** Optional callback function triggered when the input field loses focus. */
23
+ onBlur?: () => void;
24
+ /** Optional callback function triggered when a key is pressed in the input field. */
25
+ onKeyDown?: (e: React.KeyboardEvent) => void;
26
+ }
27
+ /**
28
+ * A reusable and customizable text input field component.
29
+ * Supports regular text inputs, password inputs, and other HTML input types.
30
+ * Includes optional error states, helper text, and password visibility toggle.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Regular text input
35
+ * <TextField
36
+ * value={username}
37
+ * setValue={setUsername}
38
+ * name="username"
39
+ * label="Username"
40
+ * placeholder="Enter your username"
41
+ * error={!!usernameError}
42
+ * helperText={usernameError}
43
+ * />
44
+ *
45
+ * // Password input with visibility toggle
46
+ * <TextField
47
+ * value={password}
48
+ * setValue={setPassword}
49
+ * name="password"
50
+ * label="Password"
51
+ * placeholder="Enter your password"
52
+ * type="password"
53
+ * error={!!passwordError}
54
+ * helperText={passwordError}
55
+ * />
56
+ * ```
57
+ */
58
+ declare const TextField: ({ value, placeholder, name, type, label, error, setValue, helperText, onBlur, onKeyDown, }: TextFieldProps) => React.JSX.Element;
59
+ export default TextField;
60
+ export type { TextFieldProps };
@@ -0,0 +1,42 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Label, TextInput } from 'flowbite-react';
3
+ import { HiEye, HiEyeOff } from 'react-icons/hi';
4
+ import { useState } from 'react';
5
+ /**
6
+ * A reusable and customizable text input field component.
7
+ * Supports regular text inputs, password inputs, and other HTML input types.
8
+ * Includes optional error states, helper text, and password visibility toggle.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * // Regular text input
13
+ * <TextField
14
+ * value={username}
15
+ * setValue={setUsername}
16
+ * name="username"
17
+ * label="Username"
18
+ * placeholder="Enter your username"
19
+ * error={!!usernameError}
20
+ * helperText={usernameError}
21
+ * />
22
+ *
23
+ * // Password input with visibility toggle
24
+ * <TextField
25
+ * value={password}
26
+ * setValue={setPassword}
27
+ * name="password"
28
+ * label="Password"
29
+ * placeholder="Enter your password"
30
+ * type="password"
31
+ * error={!!passwordError}
32
+ * helperText={passwordError}
33
+ * />
34
+ * ```
35
+ */
36
+ const TextField = ({ value, placeholder, name, type = 'text', label, error = false, setValue, helperText, onBlur, onKeyDown, }) => {
37
+ const [showPassword, setShowPassword] = useState(false);
38
+ // Determine the input type based on whether it's a password field and visibility toggle state
39
+ const inputType = type === 'password' && showPassword ? 'text' : type;
40
+ return (_jsxs("div", { className: "flex flex-col gap-y-2", children: [_jsx(Label, { htmlFor: name, children: label }), _jsxs("div", { className: "relative", children: [_jsx(TextInput, { id: name, color: error ? 'failure' : 'gray', name: name, placeholder: placeholder, type: inputType, required: true, value: value, onChange: (e) => setValue(e.target.value), onBlur: onBlur, onKeyDown: onKeyDown, helperText: helperText && _jsx("span", { className: "text-red-500", children: helperText }) }), type === 'password' && (_jsx("button", { type: "button", onClick: () => setShowPassword(!showPassword), className: "absolute right-3 top-[0.625rem] text-gray-500 hover:text-gray-700", children: showPassword ? _jsx(HiEyeOff, { className: "h-5 w-5" }) : _jsx(HiEye, { className: "h-5 w-5" }) }))] })] }));
41
+ };
42
+ export default TextField;
@@ -0,0 +1,5 @@
1
+ import * as React from 'react';
2
+ type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
3
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
4
+ export default Textarea;
5
+ export type { TextareaProps };
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../../helpers';
4
+ const Textarea = React.forwardRef(({ className, id, placeholder, ...props }, ref) => {
5
+ return (_jsx("textarea", { id: id, className: cn('flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', className), placeholder: placeholder, ref: ref, ...props }));
6
+ });
7
+ Textarea.displayName = 'Textarea';
8
+ export default Textarea;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ type ToastVariant = 'success' | 'error' | 'info';
3
+ interface ToastProps {
4
+ id: number;
5
+ title?: string;
6
+ message: string;
7
+ variant?: ToastVariant;
8
+ onClose: (id: number) => void;
9
+ }
10
+ declare const Toast: React.FC<ToastProps>;
11
+ export default Toast;
12
+ export type { ToastVariant, ToastProps };
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AiOutlineCheckCircle, AiOutlineClose, AiOutlineInfoCircle } from 'react-icons/ai';
3
+ import { MdErrorOutline } from 'react-icons/md';
4
+ const variantStyles = {
5
+ success: {
6
+ icon: _jsx(AiOutlineCheckCircle, { className: "h-5 w-5 text-green-500" }),
7
+ bg: 'bg-green-100',
8
+ text: 'text-green-700',
9
+ },
10
+ error: {
11
+ icon: _jsx(MdErrorOutline, { className: "h-5 w-5 text-red-500" }),
12
+ bg: 'bg-red-100',
13
+ text: 'text-red-700',
14
+ },
15
+ info: {
16
+ icon: _jsx(AiOutlineInfoCircle, { className: "h-5 w-5 text-blue-500" }),
17
+ bg: 'bg-blue-100',
18
+ text: 'text-blue-700',
19
+ },
20
+ };
21
+ const Toast = ({ id, title, message, variant = 'info', onClose }) => {
22
+ const currentVariant = variantStyles[variant];
23
+ return (_jsxs("div", { className: `flex w-full max-w-xs items-center space-x-4 p-4 ${currentVariant.bg} rounded-lg shadow dark:bg-gray-800 dark:text-gray-400`, role: "alert", children: [_jsx("div", { className: "shrink-0", children: currentVariant.icon }), _jsxs("div", { className: "flex-1", children: [title && _jsx("p", { className: `text-sm font-semibold ${currentVariant.text}`, children: title }), _jsx("p", { className: "text-sm", children: message })] }), _jsx("button", { onClick: () => onClose(id), type: "button", className: "inline-flex items-center justify-center rounded-lg bg-transparent p-1 text-gray-400 hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-gray-700 dark:hover:text-white", "aria-label": "Close", children: _jsx(AiOutlineClose, { className: "h-5 w-5" }) })] }));
24
+ };
25
+ export default Toast;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ type UploadProps = {
3
+ onChange: (file: File | null) => void;
4
+ id?: string;
5
+ type?: string;
6
+ className?: string;
7
+ disabled?: boolean;
8
+ hideUploadButton?: boolean;
9
+ allowedFileTypes?: string[];
10
+ helperText?: string;
11
+ value?: never;
12
+ };
13
+ declare const UploadField: React.ForwardRefExoticComponent<UploadProps & React.RefAttributes<HTMLInputElement>>;
14
+ export default UploadField;
15
+ export type { UploadProps };
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useState } from 'react';
3
+ import { Button, Icon } from '../../components';
4
+ const UploadField = forwardRef(({ onChange, id, type = 'file', hideUploadButton = false, className = '', disabled = false, allowedFileTypes, helperText, value, // Explicitly exclude value prop becuase it's not allowed for security reasons.
5
+ ...props }, ref) => {
6
+ const [fileName, setFileName] = useState(null);
7
+ const [key, setKey] = useState(0);
8
+ const [error, setError] = useState(null);
9
+ const handleFileChange = (event) => {
10
+ setError(null);
11
+ const file = event.target.files?.[0];
12
+ if (file) {
13
+ if (allowedFileTypes && allowedFileTypes.length > 0) {
14
+ const fileExtension = file.name.split('.').pop()?.toLowerCase();
15
+ const isValidExtension = fileExtension && allowedFileTypes.includes(fileExtension);
16
+ if (!isValidExtension) {
17
+ setError(`Invalid file type. Allowed types: ${allowedFileTypes.join(', ')}`);
18
+ setFileName(null);
19
+ onChange(null);
20
+ setKey((prev) => prev + 1);
21
+ return;
22
+ }
23
+ }
24
+ setFileName(file.name);
25
+ onChange(file);
26
+ }
27
+ else {
28
+ setFileName(null);
29
+ onChange(null);
30
+ }
31
+ };
32
+ const handleClearFile = () => {
33
+ setFileName(null);
34
+ onChange(null);
35
+ setKey((prev) => prev + 1);
36
+ };
37
+ const acceptValue = allowedFileTypes?.map((ext) => `.${ext}`).join(',');
38
+ return (_jsxs("div", { className: `flex flex-col gap-3 w-full ${className}`, children: [_jsxs("div", { className: "flex gap-3 w-full items-center", children: [_jsxs("label", { htmlFor: id, className: "flex items-center gap-2 cursor-pointer flex-1", children: [_jsx("div", { className: "bg-primary-500 rounded-full h-10 w-10 flex items-center justify-center", children: _jsx(Icon, { name: "FiUpload", size: 20, className: "text-white" }) }), _jsx("span", { className: "text-sm font-medium text-gray-700", children: "Choose file" }), _jsx("input", { type: type, onChange: handleFileChange, className: "hidden", id: id, ref: ref, disabled: disabled, accept: acceptValue, ...props }, key)] }), !hideUploadButton && (_jsx(Button, { onClick: () => {
39
+ if (ref && typeof ref === 'object' && ref.current) {
40
+ ref.current.click();
41
+ }
42
+ }, disabled: disabled, children: "Upload" }))] }), fileName && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("span", { className: "text-sm text-gray-500", children: ["Selected: ", fileName] }), _jsx(Button, { variant: "destructive", size: "sm", onClick: handleClearFile, disabled: disabled, children: "Clear" })] })), helperText && (_jsx("div", { className: "w-full", children: _jsx("p", { className: "text-sm text-gray-500 w-full md:w-[65%]", children: helperText }) })), error && _jsx("div", { className: "text-red-500 text-sm", children: error })] }));
43
+ });
44
+ UploadField.displayName = 'UploadField';
45
+ export default UploadField;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface VerticalTabItem {
3
+ id: number;
4
+ title: string;
5
+ content: React.ReactNode;
6
+ icon?: React.ReactNode;
7
+ }
8
+ interface VerticalTabProps {
9
+ tabs: VerticalTabItem[];
10
+ defaultTab?: number;
11
+ className?: string;
12
+ onTabChange?: (index: number) => void;
13
+ }
14
+ declare const VerticalTab: React.FC<VerticalTabProps>;
15
+ export default VerticalTab;
16
+ export type { VerticalTabProps, VerticalTabItem };
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ const VerticalTab = ({ tabs, className, defaultTab = 0, onTabChange }) => {
4
+ const [activeTab, setActiveTab] = useState(defaultTab);
5
+ const handleTabClick = (index) => {
6
+ setActiveTab(index);
7
+ onTabChange?.(index);
8
+ };
9
+ return (_jsxs("div", { className: `flex flex-col md:flex-row gap-4 ${className}`, children: [_jsx("div", { className: "md:w-64 flex-shrink-0", children: _jsx("ul", { className: "flex flex-row md:flex-col space-x-2 md:space-x-0 md:space-y-2 text-sm font-medium text-gray-500 dark:text-gray-400 overflow-x-auto md:overflow-x-visible", children: tabs.map((tab, index) => (_jsx("li", { className: "flex-shrink-0", children: _jsxs("button", { onClick: () => handleTabClick(index), className: `inline-flex items-center px-4 py-3 rounded-lg w-full text-left transition-colors duration-200 focus:outline-none whitespace-nowrap ${activeTab === index
10
+ ? 'text-white bg-primary-500 hover:bg-primary-600 dark:bg-primary-500'
11
+ : 'text-gray-500 bg-gray-50 hover:text-gray-900 hover:bg-gray-100 dark:bg-gray-800 dark:hover:bg-gray-700 dark:hover:text-white'}`, children: [tab.icon && (_jsx("span", { className: `w-4 h-4 me-2 ${activeTab === index ? 'text-white' : 'text-gray-500 dark:text-gray-400'}`, children: tab.icon })), tab.title] }) }, tab.id))) }) }), _jsx("div", { className: "flex-1 min-w-0", children: _jsx("div", { className: "bg-white border border-gray-200 dark:bg-gray-900 dark:border-gray-700 rounded-lg p-6", children: tabs[activeTab]?.content }) })] }));
12
+ };
13
+ export default VerticalTab;
@@ -0,0 +1,49 @@
1
+ export * from './Avatar';
2
+ export * from './Command';
3
+ export * from './Dialog';
4
+ export * from './Form';
5
+ export * from './Popover';
6
+ export * from './Radio';
7
+ export * from './Select';
8
+ export * from './Sheet';
9
+ export { default as AvatorIcon } from './AvatarIcon';
10
+ export { default as Button, type ButtonVariant, type ButtonSize, variantStyles } from './Button';
11
+ export { default as Calendar } from './Calendar';
12
+ export { default as Card } from './Card';
13
+ export { default as Chart } from './Chart';
14
+ export { default as Checkbox } from './Checkbox';
15
+ export { default as DatePicker } from './DatePicker';
16
+ export { default as DateFormat } from './DateFormat';
17
+ export { default as DateRangeModal } from './DateRangeModal';
18
+ export { default as RangeDatePicker } from './RangeDatePicker';
19
+ export { default as DetailsCard, type DataItem as DetailsCardDataItem } from './DetailsCard';
20
+ export { default as DetailsPage, type DetailsPageProps } from './DetailsPage';
21
+ export { default as FilterComponent } from './FilterComponent';
22
+ export { default as FilterWrapper } from './FilterWrapper';
23
+ export { default as EmptyState } from './EmptyState';
24
+ export { default as HoverableValue } from './HoverableValue';
25
+ export { default as IconButton } from './IconButton';
26
+ export { default as ImageComponent } from './ImageComponent';
27
+ export { default as Input } from './Input';
28
+ export { default as Label } from './Label';
29
+ export { default as Loader, type LoaderProps } from './Loader';
30
+ export { default as Modal, type ModalProps } from './Modal';
31
+ export { default as MultiSelect, type MultiSelectProps } from './MultiSelect';
32
+ export { default as PhoneInput, type PhoneInputProps } from './PhoneInput';
33
+ export { default as FilterList, type FilterListProps } from './FilterList';
34
+ export { default as FilterSection, type FilterSectionProps } from './FilterSection';
35
+ export { default as Separator } from './Separator';
36
+ export { default as Switch } from './Switch';
37
+ export { default as StatusCell } from './StatusCell';
38
+ export { default as TableDownload, type TableDownloadProps } from './TableDownload';
39
+ export { default as Tab, type TabItem, type TabProps } from './Tab';
40
+ export { default as VerticalTab, type VerticalTabItem, type VerticalTabProps } from './VerticalTab';
41
+ export { default as Textarea, type TextareaProps } from './Textarea';
42
+ export { default as TextField, type TextFieldProps } from './TextField';
43
+ export { default as Toast, type ToastProps, type ToastVariant } from './Toast';
44
+ export { default as UploadField, type UploadProps } from './UploadField';
45
+ export { default as ContainedTab } from './ContainedTab';
46
+ export { default as ImageUploader } from './ImageUploader';
47
+ export type { ImageUploaderProps } from './ImageUploader';
48
+ export { default as NotificationModal } from './NotificationModal';
49
+ export type { NotificationModalProps } from './NotificationModal';
@@ -0,0 +1,47 @@
1
+ export * from './Avatar';
2
+ export * from './Command';
3
+ export * from './Dialog';
4
+ export * from './Form';
5
+ export * from './Popover';
6
+ export * from './Radio';
7
+ export * from './Select';
8
+ export * from './Sheet';
9
+ export { default as AvatorIcon } from './AvatarIcon';
10
+ export { default as Button, variantStyles } from './Button';
11
+ export { default as Calendar } from './Calendar';
12
+ export { default as Card } from './Card';
13
+ export { default as Chart } from './Chart';
14
+ export { default as Checkbox } from './Checkbox';
15
+ export { default as DatePicker } from './DatePicker';
16
+ export { default as DateFormat } from './DateFormat';
17
+ export { default as DateRangeModal } from './DateRangeModal';
18
+ export { default as RangeDatePicker } from './RangeDatePicker';
19
+ export { default as DetailsCard } from './DetailsCard';
20
+ export { default as DetailsPage } from './DetailsPage';
21
+ export { default as FilterComponent } from './FilterComponent';
22
+ export { default as FilterWrapper } from './FilterWrapper';
23
+ export { default as EmptyState } from './EmptyState';
24
+ export { default as HoverableValue } from './HoverableValue';
25
+ export { default as IconButton } from './IconButton';
26
+ export { default as ImageComponent } from './ImageComponent';
27
+ export { default as Input } from './Input';
28
+ export { default as Label } from './Label';
29
+ export { default as Loader } from './Loader';
30
+ export { default as Modal } from './Modal';
31
+ export { default as MultiSelect } from './MultiSelect';
32
+ export { default as PhoneInput } from './PhoneInput';
33
+ export { default as FilterList } from './FilterList';
34
+ export { default as FilterSection } from './FilterSection';
35
+ export { default as Separator } from './Separator';
36
+ export { default as Switch } from './Switch';
37
+ export { default as StatusCell } from './StatusCell';
38
+ export { default as TableDownload } from './TableDownload';
39
+ export { default as Tab } from './Tab';
40
+ export { default as VerticalTab } from './VerticalTab';
41
+ export { default as Textarea } from './Textarea';
42
+ export { default as TextField } from './TextField';
43
+ export { default as Toast } from './Toast';
44
+ export { default as UploadField } from './UploadField';
45
+ export { default as ContainedTab } from './ContainedTab';
46
+ export { default as ImageUploader } from './ImageUploader';
47
+ export { default as NotificationModal } from './NotificationModal';
@@ -0,0 +1,28 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ import type { AppSidebarPageItem } from './SidebarContext';
3
+ interface AppBreadcrumb {
4
+ label: string;
5
+ path?: string;
6
+ key?: string;
7
+ }
8
+ interface AppBreadcrumbContextType {
9
+ breadcrumbs: AppBreadcrumb[];
10
+ pathname: string;
11
+ updateBreadcrumb: (key: string, newLabel: string) => void;
12
+ rootPageIcon: FC | undefined;
13
+ }
14
+ interface AppBreadcrumbProviderProps extends PropsWithChildren {
15
+ pathname: string;
16
+ pages: AppSidebarPageItem[];
17
+ /**
18
+ * Compatibility mode for different breadcrumb behaviors
19
+ * - 'conservative' (default): Only make links clickable if confident they exist
20
+ * - 'permissive': Make all non-final breadcrumbs clickable (legacy behavior)
21
+ */
22
+ mode?: 'conservative' | 'permissive';
23
+ }
24
+ declare const AppBreadcrumbProvider: ({ children, pathname, pages, mode }: AppBreadcrumbProviderProps) => import("react/jsx-runtime").JSX.Element;
25
+ declare const useAppBreadcrumbs: () => AppBreadcrumbContextType;
26
+ export default AppBreadcrumbProvider;
27
+ export { useAppBreadcrumbs };
28
+ export type { AppBreadcrumbContextType, AppBreadcrumb };