@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,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Modal } from 'flowbite-react';
3
+ import { HiCheckCircle, HiExclamationCircle, HiInformationCircle, HiXCircle } from 'react-icons/hi';
4
+ import Button from './Button';
5
+ const variantConfig = {
6
+ success: {
7
+ icon: HiCheckCircle,
8
+ iconColor: 'text-green-500',
9
+ buttonVariant: 'primary',
10
+ },
11
+ error: {
12
+ icon: HiXCircle,
13
+ iconColor: 'text-red-500',
14
+ buttonVariant: 'primary',
15
+ },
16
+ warning: {
17
+ icon: HiExclamationCircle,
18
+ iconColor: 'text-yellow-500',
19
+ buttonVariant: 'primary',
20
+ },
21
+ info: {
22
+ icon: HiInformationCircle,
23
+ iconColor: 'text-blue-500',
24
+ buttonVariant: 'primary',
25
+ },
26
+ };
27
+ const NotificationModal = ({ show, onClose, onConfirm, title, message, variant = 'info', confirmText = 'OK', cancelText = 'Cancel', showConfirmButton = true, showCancelButton = false, loading = false, size = 'md', children, }) => {
28
+ const config = variantConfig[variant];
29
+ const IconComponent = config.icon;
30
+ const handleConfirm = () => {
31
+ if (onConfirm) {
32
+ onConfirm();
33
+ }
34
+ else {
35
+ onClose();
36
+ }
37
+ };
38
+ return (_jsxs(Modal, { show: show, size: size, popup: true, onClose: onClose, children: [_jsx(Modal.Header, { className: "border-b-0 pb-0" }), _jsxs(Modal.Body, { className: "text-center", children: [_jsx("div", { className: `mx-auto mb-4 h-14 w-14 ${config.iconColor}`, children: _jsx(IconComponent, { className: "h-full w-full" }) }), title && _jsx("h3", { className: "mb-3 text-xl font-semibold text-gray-900 dark:text-white", children: title }), _jsx("p", { className: "mb-5 text-lg font-normal text-gray-500 dark:text-gray-400", children: message }), children, !children && (showConfirmButton || showCancelButton) && (_jsxs("div", { className: "flex justify-center gap-4", children: [showConfirmButton && (_jsx(Button, { variant: config.buttonVariant, onClick: handleConfirm, disabled: loading, children: confirmText })), showCancelButton && (_jsx(Button, { variant: "outline", onClick: onClose, disabled: loading, children: cancelText }))] }))] })] }));
39
+ };
40
+ export default NotificationModal;
@@ -0,0 +1,12 @@
1
+ import type { Country } from 'react-phone-number-input';
2
+ import 'react-phone-number-input/style.css';
3
+ import React from 'react';
4
+ import type { InputProps } from '../../form-engine';
5
+ interface PhoneInputSpecificProps {
6
+ onCountryChange?: (country: Country) => void;
7
+ defaultCountry?: Country;
8
+ }
9
+ type PhoneInputProps = InputProps & PhoneInputSpecificProps;
10
+ declare const PhoneInput: React.ForwardRefExoticComponent<Omit<PhoneInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
11
+ export default PhoneInput;
12
+ export type { PhoneInputProps };
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ParseError, isPossiblePhoneNumber, parsePhoneNumberWithError } from 'libphonenumber-js';
3
+ import ReachPhoneNumberInput from 'react-phone-number-input';
4
+ import 'react-phone-number-input/style.css';
5
+ import React, { useState } from 'react';
6
+ const PhoneInput = React.forwardRef(({ field, error, onChange, onBlur, value, onCountryChange, ...props }, ref) => {
7
+ const [isTouched, setIsTouched] = useState(false);
8
+ const [localError, setLocalError] = useState(null);
9
+ const defaultCountry = field.defaultCountry ?? 'ZA';
10
+ const isValid = !value || isPossiblePhoneNumber(value);
11
+ const handleChange = (newValue) => {
12
+ onChange?.(newValue);
13
+ setLocalError(null);
14
+ if (newValue) {
15
+ try {
16
+ const phoneNumber = parsePhoneNumberWithError(newValue, { defaultCountry });
17
+ if (phoneNumber && onCountryChange) {
18
+ onCountryChange(phoneNumber.country);
19
+ }
20
+ }
21
+ catch (error) {
22
+ if (error instanceof ParseError) {
23
+ switch (error.message) {
24
+ case 'NOT_A_NUMBER':
25
+ setLocalError('Please enter a valid phone number.');
26
+ break;
27
+ case 'INVALID_COUNTRY':
28
+ setLocalError('Invalid or unsupported country.');
29
+ break;
30
+ case 'TOO_SHORT':
31
+ setLocalError('Phone number is too short.');
32
+ break;
33
+ case 'TOO_LONG':
34
+ setLocalError('Phone number is too long.');
35
+ break;
36
+ default:
37
+ setLocalError('Invalid phone number.');
38
+ }
39
+ }
40
+ else {
41
+ console.error('Unexpected error:', error);
42
+ }
43
+ }
44
+ }
45
+ };
46
+ const handleBlur = () => {
47
+ setIsTouched(true);
48
+ onBlur?.();
49
+ };
50
+ return (_jsxs(_Fragment, { children: [_jsx("label", { htmlFor: field.name, className: "block text-sm font-medium text-gray-700", children: field.label }), _jsx(ReachPhoneNumberInput, { international: true, defaultCountry: defaultCountry, value: value || '', onChange: handleChange, id: field.name, onBlur: handleBlur, placeholder: field.placeholder, numberInputProps: {
51
+ className: `mt-1 block w-full p-2 border rounded-md shadow-sm
52
+ ${error || localError ? 'border-red-500' : 'border-gray-300'}
53
+ ${field.disabled ? 'text-gray-400 bg-gray-50' : ''}`,
54
+ disabled: field.disabled,
55
+ ref: ref,
56
+ }, ...props }), (error || localError || (!isValid && isTouched)) && (_jsx("p", { className: "mt-2 text-sm text-red-500", children: error?.message ?? localError ?? 'Please enter a valid phone number' }))] }));
57
+ });
58
+ export default PhoneInput;
@@ -0,0 +1,7 @@
1
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
2
+ import * as React from 'react';
3
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+ import * as React from 'react';
4
+ import { cn } from '../../helpers';
5
+ const Popover = PopoverPrimitive.Root;
6
+ const PopoverTrigger = PopoverPrimitive.Trigger;
7
+ const PopoverAnchor = PopoverPrimitive.Anchor;
8
+ const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, className: cn('z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props }) })));
9
+ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
10
+ export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ export interface ProgressProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ value?: number;
4
+ max?: number;
5
+ }
6
+ declare const Progress: React.ForwardRefExoticComponent<ProgressProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { Progress };
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { cn } from '../../helpers';
5
+ const Progress = React.forwardRef(({ className, value = 0, max = 100, ...props }, ref) => (_jsx("div", { ref: ref, className: cn('relative h-2 w-full overflow-hidden rounded-full bg-gray-200', className), ...props, children: _jsx("div", { className: "h-full w-full flex-1 bg-blue-500 transition-all duration-300 ease-in-out", style: { transform: `translateX(-${100 - (value / max) * 100}%)` } }) })));
6
+ Progress.displayName = 'Progress';
7
+ export { Progress };
@@ -0,0 +1,5 @@
1
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
2
+ import * as React from 'react';
3
+ declare const RadioGroup: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const RadioGroupItem: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
5
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
3
+ import { Circle } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '../../helpers';
6
+ const RadioGroup = React.forwardRef(({ className, ...props }, ref) => {
7
+ return _jsx(RadioGroupPrimitive.Root, { className: cn('grid gap-2', className), ...props, ref: ref });
8
+ });
9
+ RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
10
+ const RadioGroupItem = React.forwardRef(({ className, ...props }, ref) => {
11
+ return (_jsx(RadioGroupPrimitive.Item, { ref: ref, className: cn('aspect-square h-4 w-4 rounded-full border border-customPurple-5 text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: _jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: _jsx(Circle, { className: "h-2.5 w-2.5 fill-customPurple-5 text-customPurple-5" }) }) }));
12
+ });
13
+ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
14
+ export { RadioGroup, RadioGroupItem };
@@ -0,0 +1,78 @@
1
+ import 'react-date-range/dist/styles.css';
2
+ import 'react-date-range/dist/theme/default.css';
3
+ import React from 'react';
4
+ export interface RangeDatePickerProps {
5
+ /**
6
+ * Selected date range
7
+ */
8
+ dateRange?: {
9
+ startDate: Date;
10
+ endDate: Date;
11
+ key?: string;
12
+ };
13
+ /**
14
+ * Handler for date range changes
15
+ */
16
+ onChange?: (range: {
17
+ startDate: Date;
18
+ endDate: Date;
19
+ key: string;
20
+ }) => void;
21
+ /**
22
+ * Minimum selectable date
23
+ */
24
+ minDate?: Date;
25
+ /**
26
+ * Maximum selectable date
27
+ */
28
+ maxDate?: Date;
29
+ /**
30
+ * CSS classes to apply to the container
31
+ */
32
+ className?: string;
33
+ /**
34
+ * Number of months to display
35
+ * @default 2
36
+ */
37
+ months?: number;
38
+ /**
39
+ * Direction to display months ('horizontal' or 'vertical')
40
+ * @default 'horizontal'
41
+ */
42
+ direction?: 'horizontal' | 'vertical';
43
+ /**
44
+ * Whether to display preview of selected range
45
+ * @default true
46
+ */
47
+ showPreview?: boolean;
48
+ /**
49
+ * Initial key for the range
50
+ * @default 'selection'
51
+ */
52
+ rangeKey?: string;
53
+ }
54
+ /**
55
+ * A flexible date range picker component using react-date-range
56
+ *
57
+ * @see For more customization options, refer to:
58
+ * - https://hypeserver.github.io/react-date-range/
59
+ * - https://www.npmjs.com/package/react-date-range
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * const [selectedRange, setSelectedRange] = useState({
64
+ * startDate: startOfDay(new Date()),
65
+ * endDate: endOfDay(addDays(new Date(), 3)),
66
+ * });
67
+ *
68
+ * return (
69
+ * <RangeDatePicker
70
+ * dateRange={selectedRange}
71
+ * onChange={setSelectedRange}
72
+ * showPreview={true}
73
+ * />
74
+ * )
75
+ * ```
76
+ */
77
+ declare const RangeDatePicker: React.FC<RangeDatePickerProps>;
78
+ export default RangeDatePicker;
@@ -0,0 +1,68 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { addDays, endOfDay, startOfDay } from 'date-fns';
3
+ import { DateRangePicker } from 'react-date-range';
4
+ import 'react-date-range/dist/styles.css';
5
+ // main style file
6
+ import 'react-date-range/dist/theme/default.css';
7
+ import { useEffect, useState } from 'react';
8
+ import { cn } from '../../helpers';
9
+ /**
10
+ * A flexible date range picker component using react-date-range
11
+ *
12
+ * @see For more customization options, refer to:
13
+ * - https://hypeserver.github.io/react-date-range/
14
+ * - https://www.npmjs.com/package/react-date-range
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * const [selectedRange, setSelectedRange] = useState({
19
+ * startDate: startOfDay(new Date()),
20
+ * endDate: endOfDay(addDays(new Date(), 3)),
21
+ * });
22
+ *
23
+ * return (
24
+ * <RangeDatePicker
25
+ * dateRange={selectedRange}
26
+ * onChange={setSelectedRange}
27
+ * showPreview={true}
28
+ * />
29
+ * )
30
+ * ```
31
+ */
32
+ const RangeDatePicker = ({ dateRange, onChange, minDate, maxDate, className, months = 2, direction = 'horizontal', showPreview = true, rangeKey = 'selection', }) => {
33
+ // Default range: today to 7 days from now
34
+ const defaultRange = {
35
+ startDate: startOfDay(new Date()),
36
+ endDate: endOfDay(addDays(new Date(), 7)),
37
+ key: rangeKey,
38
+ };
39
+ const [range, setRange] = useState(dateRange ?? defaultRange);
40
+ // Update internal state when dateRange prop changes
41
+ useEffect(() => {
42
+ if (dateRange) {
43
+ setRange({
44
+ ...dateRange,
45
+ key: rangeKey,
46
+ });
47
+ }
48
+ }, [dateRange, rangeKey]);
49
+ // Handle date range changes
50
+ const handleRangeChange = (rangesByKey) => {
51
+ const newRange = rangesByKey[rangeKey];
52
+ if (newRange?.startDate) {
53
+ // Ensure start/end of day applied appropriately
54
+ const updatedRange = {
55
+ startDate: startOfDay(newRange.startDate),
56
+ endDate: endOfDay(newRange.endDate ?? newRange.startDate),
57
+ key: rangeKey,
58
+ };
59
+ setRange(updatedRange);
60
+ // Notify parent component if onChange is provided
61
+ if (onChange) {
62
+ onChange(updatedRange);
63
+ }
64
+ }
65
+ };
66
+ return (_jsx("div", { className: cn('range-date-picker', className), children: _jsx(DateRangePicker, { ranges: [range], onChange: handleRangeChange, moveRangeOnFirstSelection: false, months: months, direction: direction, showPreview: showPreview, showDateDisplay: true, minDate: minDate, maxDate: maxDate, rangeColors: ['#b45dae'] }) }));
67
+ };
68
+ export default RangeDatePicker;
@@ -0,0 +1,13 @@
1
+ import * as SelectPrimitive from '@radix-ui/react-select';
2
+ import * as React from 'react';
3
+ declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
+ declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
+ declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
+ declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
+ declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
+ declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from '@radix-ui/react-icons';
3
+ import * as SelectPrimitive from '@radix-ui/react-select';
4
+ import * as React from 'react';
5
+ import { cn } from '../../helpers';
6
+ const Select = SelectPrimitive.Root;
7
+ const SelectGroup = SelectPrimitive.Group;
8
+ const SelectValue = SelectPrimitive.Value;
9
+ const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn('z-50 flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "h-4 w-4 opacity-50" }) })] })));
10
+ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
11
+ const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, className: cn('z-50 flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronUpIcon, {}) })));
12
+ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
13
+ const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, className: cn('z-50 flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronDownIcon, {}) })));
14
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
15
+ const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => {
16
+ const [searchTerm, setSearchTerm] = React.useState('');
17
+ const [filteredChildren, setFilteredChildren] = React.useState(React.Children.toArray(children));
18
+ React.useEffect(() => {
19
+ const filterChildren = (children) => {
20
+ return React.Children.toArray(children)
21
+ .map((child) => {
22
+ if (!React.isValidElement(child))
23
+ return null;
24
+ // Handle SelectGroup
25
+ if (child.type === SelectGroup) {
26
+ const filteredGroupChildren = filterChildren(child.props.children);
27
+ if (filteredGroupChildren.length === 0)
28
+ return null;
29
+ return React.cloneElement(child, {
30
+ ...child.props,
31
+ children: filteredGroupChildren,
32
+ });
33
+ }
34
+ // Handle SelectItem
35
+ if (typeof child.props.children === 'string' &&
36
+ !child.props.children.toLowerCase().includes(searchTerm.toLowerCase())) {
37
+ return null;
38
+ }
39
+ return child;
40
+ })
41
+ .filter((child) => child !== null);
42
+ };
43
+ setFilteredChildren(filterChildren(children));
44
+ }, [searchTerm, children]);
45
+ return (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: cn('z-50 relative min-w-[8rem] overflow-hidden rounded-md border bg-white text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', position === 'popper' &&
46
+ 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [_jsx("div", { className: "p-2 border-b", children: _jsx("input", { type: "text", placeholder: "Search...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "w-full px-2 py-1 text-sm border rounded focus:outline-none focus:ring-1 focus:ring-gray-400", onKeyDown: (e) => {
47
+ e.stopPropagation();
48
+ } }) }), _jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn('p-1 max-h-[200px] overflow-y-auto', position === 'popper' && 'w-full min-w-[var(--radix-select-trigger-width)]'), children: filteredChildren.length > 0 ? (filteredChildren) : (_jsx("div", { className: "px-2 py-1.5 text-sm text-gray-500", children: "No options found" })) }), _jsx(SelectScrollDownButton, {})] }) }));
49
+ });
50
+ SelectContent.displayName = SelectPrimitive.Content.displayName;
51
+ const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', className), ...props })));
52
+ SelectLabel.displayName = SelectPrimitive.Label.displayName;
53
+ const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('z-50 relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none data-[highlighted]:bg-gray-100 data-[selected]:bg-gray-200 focus:bg-gray-100 focus:text-gray-900 data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "h-4 w-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
54
+ SelectItem.displayName = SelectPrimitive.Item.displayName;
55
+ const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-muted', className), ...props })));
56
+ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
57
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
@@ -0,0 +1,4 @@
1
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
2
+ import * as React from 'react';
3
+ declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
+ export default Separator;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
+ import * as React from 'react';
4
+ import { cn } from '../../helpers';
5
+ const Separator = React.forwardRef(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className), ...props })));
6
+ Separator.displayName = SeparatorPrimitive.Root.displayName;
7
+ export default Separator;
@@ -0,0 +1,26 @@
1
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import * as React from 'react';
4
+ declare const Sheet: React.FC<SheetPrimitive.DialogProps>;
5
+ declare const SheetTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const SheetRoot: React.FC<SheetPrimitive.DialogProps>;
7
+ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
8
+ declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
9
+ declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const sheetVariants: (props?: ({
11
+ side?: "bottom" | "left" | "right" | "top" | null | undefined;
12
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
13
+ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
14
+ }
15
+ declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
16
+ declare const SheetHeader: {
17
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
20
+ declare const SheetFooter: {
21
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ };
24
+ declare const SheetTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
25
+ declare const SheetDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
26
+ export { Sheet, SheetPortal, SheetOverlay, SheetRoot, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as SheetPrimitive from '@radix-ui/react-dialog';
3
+ import { Cross2Icon } from '@radix-ui/react-icons';
4
+ import { cva } from 'class-variance-authority';
5
+ import * as React from 'react';
6
+ import { cn } from '../../helpers';
7
+ const Sheet = SheetPrimitive.Root;
8
+ const SheetTrigger = SheetPrimitive.Trigger;
9
+ const SheetRoot = SheetPrimitive.Root;
10
+ const SheetClose = SheetPrimitive.Close;
11
+ const SheetPortal = SheetPrimitive.Portal;
12
+ const SheetOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Overlay, { className: cn('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
13
+ SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
14
+ const sheetVariants = cva('fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out', {
15
+ variants: {
16
+ side: {
17
+ top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',
18
+ bottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',
19
+ left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',
20
+ right: 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ side: 'right',
25
+ },
26
+ });
27
+ const SheetContent = React.forwardRef(({ side = 'right', className, children, ...props }, ref) => (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { ref: ref, className: cn(sheetVariants({ side }), className), ...props, children: [_jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [_jsx(Cross2Icon, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] }), children] })] })));
28
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
29
+ const SheetHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-2 text-center sm:text-left', className), ...props }));
30
+ SheetHeader.displayName = 'SheetHeader';
31
+ const SheetFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
32
+ SheetFooter.displayName = 'SheetFooter';
33
+ const SheetTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold text-foreground', className), ...props })));
34
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
35
+ const SheetDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
36
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
37
+ export { Sheet, SheetPortal, SheetOverlay, SheetRoot, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -0,0 +1,9 @@
1
+ import type { MRT_Cell } from 'mantine-react-table';
2
+ export interface StatusCellProps<T extends Record<string, any> = {}> {
3
+ readonly cell: MRT_Cell<T>;
4
+ readonly color: string;
5
+ readonly displayValue: string;
6
+ readonly className?: string;
7
+ }
8
+ declare function StatusCell<T extends Record<string, any> = {}>({ displayValue, className, }: Readonly<StatusCellProps<T>>): import("react/jsx-runtime").JSX.Element;
9
+ export default StatusCell;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ function StatusCell({ displayValue, className = '', }) {
3
+ const baseClass = 'rounded-full px-4 py-1.5';
4
+ return _jsx("span", { className: `${baseClass} ${className}`.trim(), children: displayValue });
5
+ }
6
+ export default StatusCell;
@@ -0,0 +1,10 @@
1
+ interface SwitchProps {
2
+ id: string;
3
+ checked: boolean;
4
+ onChange?: (checked: boolean) => void;
5
+ label?: string;
6
+ disabled?: boolean;
7
+ className?: string;
8
+ }
9
+ declare const Switch: ({ id, checked, onChange, label, disabled, className, ...props }: SwitchProps) => JSX.Element;
10
+ export default Switch;
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ import { ToggleSwitch } from 'flowbite-react';
4
+ // Custom theme configuration
5
+ const customTheme = {
6
+ root: {
7
+ base: 'relative inline-flex h-6 w-11 items-center rounded-full',
8
+ },
9
+ toggle: {
10
+ base: clsx('h-6 w-11 rounded-full border group-focus:ring-4 group-focus:ring-cyan-500/25', 'transition-colors duration-200 relative',
11
+ // Thumb styles using before: pseudo-element
12
+ 'before:content-[""] before:absolute before:h-5 before:w-5 before:rounded-full', 'before:bg-white before:transition-transform before:duration-200', 'before:start-0.5 before:top-[0.07rem]'),
13
+ checked: {
14
+ on: clsx('bg-primary-500 border-primary-500', 'before:translate-x-5 rtl:before:-translate-x-5'),
15
+ off: 'border-gray-200 bg-gray-200 dark:border-gray-600 dark:bg-gray-700',
16
+ },
17
+ },
18
+ };
19
+ const Switch = ({ id = 'switch-component', checked, onChange, label, disabled, className, ...props }) => {
20
+ return (_jsxs("div", { className: `flex items-center justify-between gap-2 ${className}`, children: [_jsx(ToggleSwitch, { id: id, theme: customTheme, checked: checked, label: "", onChange: (e) => onChange && onChange(e), disabled: disabled, color: "primary", ...props }), label && _jsx("span", { className: "text-sm font-medium text-gray-900 dark:text-gray-300", children: label })] }));
21
+ };
22
+ export default Switch;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ interface TabItem {
3
+ id: number;
4
+ title: string;
5
+ content: React.ReactNode;
6
+ }
7
+ interface TabProps {
8
+ tabs: TabItem[];
9
+ defaultTab?: number;
10
+ className?: string;
11
+ onTabChange?: (index: number) => void;
12
+ }
13
+ declare const Tab: React.FC<TabProps>;
14
+ export default Tab;
15
+ export type { TabProps, TabItem };
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ const Tab = ({ 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", { children: [_jsx("ul", { className: `flex border-b ${className}`, children: tabs.map((tab, index) => (_jsx("li", { className: `mr-2 ${activeTab === index
10
+ ? 'border-b-2 border-primary-500 text-gray-900'
11
+ : 'border-transparent text-gray-600 hover:bg-gray-100'}`, children: _jsx("button", { onClick: () => handleTabClick(index), className: `block px-4 py-2 text-sm focus:outline-none ${activeTab === index ? 'font-semibold' : ''}`, children: tab.title }) }, tab.id))) }), _jsx("div", { className: "mt-4", children: tabs[activeTab]?.content })] }));
12
+ };
13
+ export default Tab;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ interface TableDownloadProps<T> {
3
+ columns: {
4
+ header: string;
5
+ accessor: keyof T;
6
+ }[];
7
+ data: T[];
8
+ }
9
+ declare const TableDownload: React.FC<TableDownloadProps<any>>;
10
+ export default TableDownload;
11
+ export type { TableDownloadProps };