@campxdev/react-blueprint 3.0.0-alpha.4 → 3.0.0-alpha.6

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 (289) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/types/src/components/Assets/ErrorPages/ComingSoon.d.ts +24 -0
  3. package/dist/cjs/types/src/components/Assets/ErrorPages/InternalServerError.d.ts +20 -0
  4. package/dist/cjs/types/src/components/Assets/ErrorPages/NoInternetConnection.d.ts +20 -0
  5. package/dist/cjs/types/src/components/Assets/ErrorPages/NoItemFound.d.ts +28 -0
  6. package/dist/cjs/types/src/components/Assets/ErrorPages/PageNotFound.d.ts +21 -0
  7. package/dist/cjs/types/src/components/Assets/ErrorPages/ResourceNotFound.d.ts +21 -0
  8. package/dist/cjs/types/src/components/Assets/ErrorPages/UnAuthorized.d.ts +31 -0
  9. package/dist/cjs/types/src/components/Assets/Icons/Icons.d.ts +54 -0
  10. package/dist/cjs/types/src/components/Charts/BarChart/BarChart.d.ts +38 -0
  11. package/dist/cjs/types/src/components/Charts/BarChart/HorizontalBarChart.d.ts +93 -0
  12. package/dist/cjs/types/src/components/Charts/BarChart/VerticalBarChart.d.ts +110 -0
  13. package/dist/cjs/types/src/components/Charts/LineChart/LineChart.d.ts +89 -0
  14. package/dist/cjs/types/src/components/Charts/PieChart/PieChart.d.ts +86 -0
  15. package/dist/cjs/types/src/components/Charts/TreeMap/TreeMap.d.ts +74 -0
  16. package/dist/cjs/types/src/components/DataDisplay/Accordion/Accordion.d.ts +54 -0
  17. package/dist/cjs/types/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.d.ts +35 -0
  18. package/dist/cjs/types/src/components/DataDisplay/ActivityLogView/ActivityLogView.d.ts +78 -0
  19. package/dist/cjs/types/src/components/DataDisplay/Avatar/Avatar.d.ts +40 -0
  20. package/dist/cjs/types/src/components/DataDisplay/Chip/Chip.d.ts +28 -0
  21. package/dist/cjs/types/src/components/DataDisplay/Chips/Chips.d.ts +55 -0
  22. package/dist/cjs/types/src/components/DataDisplay/DataTable/DataTable.d.ts +95 -0
  23. package/dist/cjs/types/src/components/DataDisplay/DataTable/components/TablePagination.d.ts +35 -0
  24. package/dist/cjs/types/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.d.ts +30 -0
  25. package/dist/cjs/types/src/components/DataDisplay/ReactJoyride/ReactJoyride.d.ts +64 -0
  26. package/dist/cjs/types/src/components/DataDisplay/Separator/Separator.d.ts +30 -0
  27. package/dist/cjs/types/src/components/DataDisplay/Skeleton/Skeleton.d.ts +20 -0
  28. package/dist/cjs/types/src/components/DataDisplay/StatusCard/StatusCard.d.ts +36 -0
  29. package/dist/cjs/types/src/components/DataDisplay/Timeline/Timeline.d.ts +58 -0
  30. package/dist/cjs/types/src/components/DataDisplay/Typography/Typography.d.ts +25 -0
  31. package/dist/cjs/types/src/components/Feedback/Alert/Alert.d.ts +31 -0
  32. package/dist/cjs/types/src/components/Feedback/Snackbar/Snackbar.d.ts +54 -0
  33. package/dist/cjs/types/src/components/Feedback/Spinner/Spinner.d.ts +15 -0
  34. package/dist/cjs/types/src/components/Feedback/Tooltip/Tooltip.d.ts +54 -0
  35. package/dist/cjs/types/src/components/Input/Button/Button.d.ts +26 -0
  36. package/dist/cjs/types/src/components/Input/DatePicker/DatePicker.d.ts +43 -1
  37. package/dist/cjs/types/src/components/Input/DatePicker/components/DatePickerFilter.d.ts +2 -0
  38. package/dist/cjs/types/src/components/Input/DatePicker/components/DatePickerInput.d.ts +2 -0
  39. package/dist/cjs/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +44 -1
  40. package/dist/cjs/types/src/components/Input/DateTimePicker/components/DateTimePickerFilter.d.ts +2 -0
  41. package/dist/cjs/types/src/components/Input/DateTimePicker/components/DateTimePickerInput.d.ts +2 -0
  42. package/dist/cjs/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
  43. package/dist/cjs/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
  44. package/dist/cjs/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
  45. package/dist/cjs/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
  46. package/dist/cjs/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
  47. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
  48. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
  49. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
  50. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
  51. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
  52. package/dist/cjs/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
  53. package/dist/cjs/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
  54. package/dist/cjs/types/src/components/Input/MultiSelect/MultiSelect.d.ts +42 -0
  55. package/dist/cjs/types/src/components/Input/MultiSelect/components/MultiSelectFilter.d.ts +1 -1
  56. package/dist/cjs/types/src/components/Input/MultiSelect/components/MultiSelectInput.d.ts +1 -1
  57. package/dist/cjs/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
  58. package/dist/cjs/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
  59. package/dist/cjs/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
  60. package/dist/cjs/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
  61. package/dist/cjs/types/src/components/Input/Select/Select.d.ts +34 -1
  62. package/dist/cjs/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
  63. package/dist/cjs/types/src/components/Input/SingleSelect/SingleSelect.d.ts +42 -0
  64. package/dist/cjs/types/src/components/Input/SingleSelect/components/SingleFilter.d.ts +1 -1
  65. package/dist/cjs/types/src/components/Input/SingleSelect/components/SingleInput.d.ts +1 -1
  66. package/dist/cjs/types/src/components/Input/Switch/Switch.d.ts +23 -0
  67. package/dist/cjs/types/src/components/Input/Tags/Tags.d.ts +26 -0
  68. package/dist/cjs/types/src/components/Input/TextField/TextField.d.ts +35 -0
  69. package/dist/cjs/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
  70. package/dist/cjs/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
  71. package/dist/cjs/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
  72. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
  73. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
  74. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
  75. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
  76. package/dist/cjs/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
  77. package/dist/cjs/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
  78. package/dist/cjs/types/src/components/Layout/AppLayout/types.d.ts +1 -1
  79. package/dist/cjs/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
  80. package/dist/cjs/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
  81. package/dist/cjs/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
  82. package/dist/cjs/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
  83. package/dist/cjs/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
  84. package/dist/cjs/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
  85. package/dist/cjs/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
  86. package/dist/cjs/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
  87. package/dist/cjs/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
  88. package/dist/cjs/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
  89. package/dist/cjs/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
  90. package/dist/cjs/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
  91. package/dist/cjs/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
  92. package/dist/cjs/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
  93. package/dist/cjs/types/src/shadcn-components/Input/Select/Select.d.ts +2 -2
  94. package/dist/esm/index.js +2 -2
  95. package/dist/esm/types/src/components/Assets/ErrorPages/ComingSoon.d.ts +24 -0
  96. package/dist/esm/types/src/components/Assets/ErrorPages/InternalServerError.d.ts +20 -0
  97. package/dist/esm/types/src/components/Assets/ErrorPages/NoInternetConnection.d.ts +20 -0
  98. package/dist/esm/types/src/components/Assets/ErrorPages/NoItemFound.d.ts +28 -0
  99. package/dist/esm/types/src/components/Assets/ErrorPages/PageNotFound.d.ts +21 -0
  100. package/dist/esm/types/src/components/Assets/ErrorPages/ResourceNotFound.d.ts +21 -0
  101. package/dist/esm/types/src/components/Assets/ErrorPages/UnAuthorized.d.ts +31 -0
  102. package/dist/esm/types/src/components/Assets/Icons/Icons.d.ts +54 -0
  103. package/dist/esm/types/src/components/Charts/BarChart/BarChart.d.ts +38 -0
  104. package/dist/esm/types/src/components/Charts/BarChart/HorizontalBarChart.d.ts +93 -0
  105. package/dist/esm/types/src/components/Charts/BarChart/VerticalBarChart.d.ts +110 -0
  106. package/dist/esm/types/src/components/Charts/LineChart/LineChart.d.ts +89 -0
  107. package/dist/esm/types/src/components/Charts/PieChart/PieChart.d.ts +86 -0
  108. package/dist/esm/types/src/components/Charts/TreeMap/TreeMap.d.ts +74 -0
  109. package/dist/esm/types/src/components/DataDisplay/Accordion/Accordion.d.ts +54 -0
  110. package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.d.ts +35 -0
  111. package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogView.d.ts +78 -0
  112. package/dist/esm/types/src/components/DataDisplay/Avatar/Avatar.d.ts +40 -0
  113. package/dist/esm/types/src/components/DataDisplay/Chip/Chip.d.ts +28 -0
  114. package/dist/esm/types/src/components/DataDisplay/Chips/Chips.d.ts +55 -0
  115. package/dist/esm/types/src/components/DataDisplay/DataTable/DataTable.d.ts +95 -0
  116. package/dist/esm/types/src/components/DataDisplay/DataTable/components/TablePagination.d.ts +35 -0
  117. package/dist/esm/types/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.d.ts +30 -0
  118. package/dist/esm/types/src/components/DataDisplay/ReactJoyride/ReactJoyride.d.ts +64 -0
  119. package/dist/esm/types/src/components/DataDisplay/Separator/Separator.d.ts +30 -0
  120. package/dist/esm/types/src/components/DataDisplay/Skeleton/Skeleton.d.ts +20 -0
  121. package/dist/esm/types/src/components/DataDisplay/StatusCard/StatusCard.d.ts +36 -0
  122. package/dist/esm/types/src/components/DataDisplay/Timeline/Timeline.d.ts +58 -0
  123. package/dist/esm/types/src/components/DataDisplay/Typography/Typography.d.ts +25 -0
  124. package/dist/esm/types/src/components/Feedback/Alert/Alert.d.ts +31 -0
  125. package/dist/esm/types/src/components/Feedback/Snackbar/Snackbar.d.ts +54 -0
  126. package/dist/esm/types/src/components/Feedback/Spinner/Spinner.d.ts +15 -0
  127. package/dist/esm/types/src/components/Feedback/Tooltip/Tooltip.d.ts +54 -0
  128. package/dist/esm/types/src/components/Input/Button/Button.d.ts +26 -0
  129. package/dist/esm/types/src/components/Input/DatePicker/DatePicker.d.ts +43 -1
  130. package/dist/esm/types/src/components/Input/DatePicker/components/DatePickerFilter.d.ts +2 -0
  131. package/dist/esm/types/src/components/Input/DatePicker/components/DatePickerInput.d.ts +2 -0
  132. package/dist/esm/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +44 -1
  133. package/dist/esm/types/src/components/Input/DateTimePicker/components/DateTimePickerFilter.d.ts +2 -0
  134. package/dist/esm/types/src/components/Input/DateTimePicker/components/DateTimePickerInput.d.ts +2 -0
  135. package/dist/esm/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
  136. package/dist/esm/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
  137. package/dist/esm/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
  138. package/dist/esm/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
  139. package/dist/esm/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
  140. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
  141. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
  142. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
  143. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
  144. package/dist/esm/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
  145. package/dist/esm/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
  146. package/dist/esm/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
  147. package/dist/esm/types/src/components/Input/MultiSelect/MultiSelect.d.ts +42 -0
  148. package/dist/esm/types/src/components/Input/MultiSelect/components/MultiSelectFilter.d.ts +1 -1
  149. package/dist/esm/types/src/components/Input/MultiSelect/components/MultiSelectInput.d.ts +1 -1
  150. package/dist/esm/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
  151. package/dist/esm/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
  152. package/dist/esm/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
  153. package/dist/esm/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
  154. package/dist/esm/types/src/components/Input/Select/Select.d.ts +34 -1
  155. package/dist/esm/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
  156. package/dist/esm/types/src/components/Input/SingleSelect/SingleSelect.d.ts +42 -0
  157. package/dist/esm/types/src/components/Input/SingleSelect/components/SingleFilter.d.ts +1 -1
  158. package/dist/esm/types/src/components/Input/SingleSelect/components/SingleInput.d.ts +1 -1
  159. package/dist/esm/types/src/components/Input/Switch/Switch.d.ts +23 -0
  160. package/dist/esm/types/src/components/Input/Tags/Tags.d.ts +26 -0
  161. package/dist/esm/types/src/components/Input/TextField/TextField.d.ts +35 -0
  162. package/dist/esm/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
  163. package/dist/esm/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
  164. package/dist/esm/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
  165. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
  166. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
  167. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
  168. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
  169. package/dist/esm/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
  170. package/dist/esm/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
  171. package/dist/esm/types/src/components/Layout/AppLayout/types.d.ts +1 -1
  172. package/dist/esm/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
  173. package/dist/esm/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
  174. package/dist/esm/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
  175. package/dist/esm/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
  176. package/dist/esm/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
  177. package/dist/esm/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
  178. package/dist/esm/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
  179. package/dist/esm/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
  180. package/dist/esm/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
  181. package/dist/esm/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
  182. package/dist/esm/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
  183. package/dist/esm/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
  184. package/dist/esm/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
  185. package/dist/esm/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
  186. package/dist/esm/types/src/shadcn-components/Input/Select/Select.d.ts +2 -2
  187. package/dist/index.d.ts +2963 -15
  188. package/dist/styles.css +402 -13
  189. package/package.json +1 -1
  190. package/src/components/Assets/ErrorPages/ComingSoon.tsx +24 -0
  191. package/src/components/Assets/ErrorPages/InternalServerError.tsx +20 -0
  192. package/src/components/Assets/ErrorPages/NoInternetConnection.tsx +20 -0
  193. package/src/components/Assets/ErrorPages/NoItemFound.tsx +28 -0
  194. package/src/components/Assets/ErrorPages/PageNotFound.tsx +21 -0
  195. package/src/components/Assets/ErrorPages/ResourceNotFound.tsx +21 -0
  196. package/src/components/Assets/ErrorPages/UnAuthorized.tsx +31 -0
  197. package/src/components/Assets/Icons/Icons.tsx +55 -1
  198. package/src/components/Charts/BarChart/BarChart.tsx +38 -0
  199. package/src/components/Charts/BarChart/HorizontalBarChart.tsx +93 -0
  200. package/src/components/Charts/BarChart/VerticalBarChart.tsx +110 -0
  201. package/src/components/Charts/LineChart/LineChart.tsx +89 -0
  202. package/src/components/Charts/PieChart/PieChart.tsx +86 -0
  203. package/src/components/Charts/TreeMap/TreeMap.tsx +90 -0
  204. package/src/components/DataDisplay/Accordion/Accordion.tsx +54 -0
  205. package/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.tsx +35 -0
  206. package/src/components/DataDisplay/ActivityLogView/ActivityLogView.tsx +84 -0
  207. package/src/components/DataDisplay/Avatar/Avatar.tsx +40 -0
  208. package/src/components/DataDisplay/Chip/Chip.tsx +28 -0
  209. package/src/components/DataDisplay/Chips/Chips.tsx +56 -0
  210. package/src/components/DataDisplay/DataTable/DataTable.tsx +95 -0
  211. package/src/components/DataDisplay/DataTable/components/TablePagination.tsx +35 -0
  212. package/src/components/DataDisplay/DataTable/components/TableView.tsx +31 -5
  213. package/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.tsx +31 -0
  214. package/src/components/DataDisplay/ReactJoyride/ReactJoyride.tsx +64 -0
  215. package/src/components/DataDisplay/Separator/Separator.tsx +32 -0
  216. package/src/components/DataDisplay/Skeleton/Skeleton.tsx +20 -0
  217. package/src/components/DataDisplay/StatusCard/StatusCard.tsx +36 -0
  218. package/src/components/DataDisplay/Timeline/Timeline.tsx +58 -0
  219. package/src/components/DataDisplay/Typography/Typography.tsx +25 -0
  220. package/src/components/Feedback/Alert/Alert.tsx +38 -0
  221. package/src/components/Feedback/Snackbar/Snackbar.tsx +54 -0
  222. package/src/components/Feedback/Spinner/Spinner.tsx +15 -0
  223. package/src/components/Feedback/Tooltip/Tooltip.tsx +71 -3
  224. package/src/components/Input/Button/Button.tsx +26 -0
  225. package/src/components/Input/Button/ButtonLoader.css +2 -2
  226. package/src/components/Input/DatePicker/DatePicker.tsx +50 -188
  227. package/src/components/Input/DatePicker/components/DatePickerFilter.tsx +178 -0
  228. package/src/components/Input/DatePicker/components/DatePickerInput.tsx +192 -0
  229. package/src/components/Input/DateTimePicker/DateTimePicker.tsx +50 -294
  230. package/src/components/Input/DateTimePicker/components/DateTimePickerFilter.tsx +292 -0
  231. package/src/components/Input/DateTimePicker/components/DateTimePickerInput.tsx +297 -0
  232. package/src/components/Input/FileUpload/FileUpload.tsx +41 -0
  233. package/src/components/Input/FormActions/FormActions.tsx +37 -0
  234. package/src/components/Input/FormControlWrapper/FormControlWrapper.tsx +31 -0
  235. package/src/components/Input/FormWrapper/FormWrapper.tsx +20 -0
  236. package/src/components/Input/HelpButton/HelpButton.tsx +14 -0
  237. package/src/components/Input/IconButtons/IconButtons/DeleteButton.tsx +16 -0
  238. package/src/components/Input/IconButtons/IconButtons/EditButton.tsx +16 -0
  239. package/src/components/Input/IconButtons/IconButtons/RedirectButton.tsx +16 -0
  240. package/src/components/Input/IconButtons/IconButtons/ViewButton.tsx +16 -0
  241. package/src/components/Input/IconButtons/IconButtons.tsx +18 -0
  242. package/src/components/Input/LabelWrapper/LabelWrapper.tsx +26 -0
  243. package/src/components/Input/MultiCheckBox/MultiCheckBox.tsx +34 -0
  244. package/src/components/Input/MultiSelect/MultiSelect.tsx +42 -0
  245. package/src/components/Input/MultiSelect/components/MultiSelectFilter.tsx +7 -3
  246. package/src/components/Input/MultiSelect/components/MultiSelectInput.tsx +8 -3
  247. package/src/components/Input/OtpInput/OtpInput.tsx +29 -0
  248. package/src/components/Input/PasswordField/PasswordField.tsx +34 -0
  249. package/src/components/Input/RadioGroup/RadioGroup.tsx +38 -0
  250. package/src/components/Input/SearchBar/SearchBar.tsx +26 -0
  251. package/src/components/Input/Select/Select.tsx +63 -12
  252. package/src/components/Input/SingleCheckBox/SingleCheckBox.tsx +29 -0
  253. package/src/components/Input/SingleSelect/SingleSelect.tsx +42 -0
  254. package/src/components/Input/SingleSelect/components/SingleFilter.tsx +7 -3
  255. package/src/components/Input/SingleSelect/components/SingleInput.tsx +8 -3
  256. package/src/components/Input/Switch/Switch.tsx +23 -0
  257. package/src/components/Input/Tags/Tags.tsx +26 -0
  258. package/src/components/Input/TextField/TextField.tsx +35 -0
  259. package/src/components/Input/Textarea/Textarea.tsx +36 -0
  260. package/src/components/Layout/AppLayout/AppLayout.tsx +33 -1
  261. package/src/components/Layout/AppLayout/components/MenuToggleButton.tsx +16 -0
  262. package/src/components/Layout/AppLayout/components/Sidebar/MenuBar.tsx +26 -0
  263. package/src/components/Layout/AppLayout/components/Sidebar/MenuItem.tsx +51 -1
  264. package/src/components/Layout/AppLayout/components/Sidebar/Sidebar.tsx +173 -104
  265. package/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.tsx +139 -9
  266. package/src/components/Layout/AppLayout/components/UserProfilePopup.tsx +34 -0
  267. package/src/components/Layout/AppLayout/context/SidebarContext.tsx +48 -0
  268. package/src/components/Layout/AppLayout/types.ts +1 -1
  269. package/src/components/Layout/PageContent/PageContent.tsx +19 -0
  270. package/src/components/Layout/PageHeader/PageHeader.tsx +46 -0
  271. package/src/components/Layout/PageHeader/components/SearchBar.tsx +22 -0
  272. package/src/components/Layout/UserBox/UserBox.tsx +40 -0
  273. package/src/components/Navigation/Breadcrumbs/Breadcrumbs.tsx +33 -0
  274. package/src/components/Navigation/Calendar/Calendar.tsx +63 -0
  275. package/src/components/Navigation/ConfirmDialog/ConfirmDialog.tsx +64 -0
  276. package/src/components/Navigation/Dialog/Dialog.tsx +55 -0
  277. package/src/components/Navigation/DialogButton/DialogButton.tsx +70 -1
  278. package/src/components/Navigation/DropDownMenu/DropDownMenu.tsx +74 -1
  279. package/src/components/Navigation/PreviewFiles/PreviewFiles.tsx +93 -0
  280. package/src/components/Navigation/Stepper/Stepper.tsx +56 -10
  281. package/src/components/Navigation/TabsContainer/TabsContainer.tsx +81 -1
  282. package/src/components/Navigation/UploadDialog/UploadDialog.tsx +64 -0
  283. package/src/shadcn-components/DataDisplay/Dialog/Dialog.tsx +2 -2
  284. package/src/shadcn-components/Input/Popover/Popover.tsx +1 -1
  285. package/src/shadcn-components/Input/Select/Select.tsx +8 -8
  286. package/src/shadcn-components/Layout/Sheet/Sheet.tsx +2 -2
  287. package/src/shadcn-components/Navigation/DropdownMenu/DropdownMenu.tsx +2 -2
  288. package/src/styles/globals.css +4 -2
  289. package/src/styles/index.css +5 -0
@@ -1,6 +1,27 @@
1
1
  import { Svgs } from '../../../assets/images/svg';
2
2
  import { Typography } from '../../DataDisplay/Typography/Typography';
3
3
 
4
+ /**
5
+ * ResourceNotFound component displays a "Resource Not Found" error page.
6
+ *
7
+ * This component renders a centered error page with an SVG illustration
8
+ * and a custom message. Typically used when a specific resource (e.g., user, post, item)
9
+ * cannot be found in the system.
10
+ *
11
+ * @component
12
+ * @param {any} message - The error message or description to display. Can be any ReactNode type
13
+ * @returns {React.ReactElement} A centered error page with icon and custom message
14
+ *
15
+ * @example
16
+ * // Basic usage
17
+ * <ResourceNotFound message="The user profile you're looking for does not exist." />
18
+ *
19
+ * @example
20
+ * // With JSX message
21
+ * <ResourceNotFound
22
+ * message={<span>The requested <strong>item</strong> was not found in the database.</span>}
23
+ * />
24
+ */
4
25
  export const ResourceNotFound = (message: any) => {
5
26
  return (
6
27
  <div className="flex w-full flex-col items-center justify-center">
@@ -2,6 +2,37 @@ import { ReactNode } from 'react';
2
2
  import { Svgs } from '../../../assets/images/svg';
3
3
  import { Typography } from '../../DataDisplay/Typography/Typography';
4
4
 
5
+ /**
6
+ * UnAuthorized component displays an "Unauthorized Access" error page.
7
+ *
8
+ * This component renders a centered error page with an SVG illustration,
9
+ * a message indicating the user must be logged in, and an optional login component.
10
+ * Typically used to protect routes that require authentication.
11
+ *
12
+ * @component
13
+ * @param {Object} props - The component props
14
+ * @param {ReactNode} [props.component] - Optional React element to render below the messages (e.g., a login form or button)
15
+ * @returns {React.ReactElement} A centered authorization error page with icon, messages, and optional component
16
+ *
17
+ * @example
18
+ * // Basic usage without additional component
19
+ * <UnAuthorized />
20
+ *
21
+ * @example
22
+ * // With a login button
23
+ * <UnAuthorized component={<LoginButton />} />
24
+ *
25
+ * @example
26
+ * // With a full login form
27
+ * <UnAuthorized
28
+ * component={
29
+ * <form>
30
+ * <input type="email" placeholder="Email" />
31
+ * <button>Sign In</button>
32
+ * </form>
33
+ * }
34
+ * />
35
+ */
5
36
  export const UnAuthorized = ({ component }: { component?: ReactNode }) => {
6
37
  return (
7
38
  <div className="flex w-full flex-col items-center justify-center">
@@ -2,6 +2,20 @@ import { FC, MouseEvent } from 'react';
2
2
  import { CampxFullLogoIcon } from './IconComponents/CampxFullLogoIcon';
3
3
  import { CampxIcon } from './IconComponents/CampxIcon';
4
4
 
5
+ /**
6
+ * IconProps interface defines common properties for icon components.
7
+ *
8
+ * Provides a standardized set of props for customizing icon appearance
9
+ * and behavior across the application.
10
+ *
11
+ * @interface IconProps
12
+ * @property {number} [size] - The size of the icon in pixels
13
+ * @property {string} [color] - The color of the icon (CSS color value)
14
+ * @property {boolean} [disabled] - Whether the icon is in a disabled state
15
+ * @property {string} [hoverColor] - The color of the icon on hover (CSS color value)
16
+ * @property {string} [backgroundColor] - The background color behind the icon (CSS color value)
17
+ * @property {Function} [onClick] - Callback function triggered when the icon is clicked
18
+ */
5
19
  export interface IconProps {
6
20
  size?: number;
7
21
  color?: string;
@@ -11,13 +25,53 @@ export interface IconProps {
11
25
  onClick?: (event: MouseEvent<Element>) => void;
12
26
  }
13
27
 
28
+ /**
29
+ * IconComponent type represents a React functional component that accepts IconProps.
30
+ *
31
+ * Used as the base type for icon components throughout the application.
32
+ *
33
+ * @typedef {FC<IconProps>} IconComponent
34
+ */
14
35
  export type IconComponent = FC<IconProps>;
15
- // Type for the entire Icons object
36
+
37
+ /**
38
+ * IconsType interface defines the shape of the Icons object.
39
+ *
40
+ * Maps icon names to their corresponding component implementations.
41
+ *
42
+ * @interface IconsType
43
+ * @property {IconComponent} CampxFullLogoIcon - The full Campx logo with text icon component
44
+ * @property {IconComponent} CampxIcon - The Campx logo mark icon component
45
+ */
16
46
  export type IconsType = {
17
47
  CampxFullLogoIcon: IconComponent;
18
48
  CampxIcon: IconComponent;
19
49
  };
20
50
 
51
+ /**
52
+ * Icons object exports all available icon components.
53
+ *
54
+ * Provides a centralized registry of all icon components used throughout the application.
55
+ * Each icon can be accessed as a property of this object and used as a React component.
56
+ *
57
+ * @constant
58
+ * @type {IconsType}
59
+ *
60
+ * @example
61
+ * // Use individual icons
62
+ * <Icons.CampxIcon size={24} />
63
+ * <Icons.CampxFullLogoIcon />
64
+ *
65
+ * @example
66
+ * // Use in a component
67
+ * const MyComponent = () => {
68
+ * return (
69
+ * <div>
70
+ * <Icons.CampxIcon size={32} color="#E43341" />
71
+ * </div>
72
+ * );
73
+ * };
74
+ */
21
75
  export const Icons: IconsType = {
22
76
  CampxFullLogoIcon,
23
77
  CampxIcon,
@@ -12,6 +12,13 @@ export type BarChartVariant = 'vertical' | 'horizontal';
12
12
 
13
13
  export type BarChartData = HorizontalBarChartData | VerticalBarChartData;
14
14
 
15
+ /**
16
+ * Props for the BarChart component
17
+ * Combines props from both VerticalBarChart and HorizontalBarChart
18
+ * @typedef {Object} BarChartProps
19
+ * @property {BarChartData[]} data - Array of data objects to display in the chart
20
+ * @property {BarChartVariant} [variant='vertical'] - Orientation of the bars ('vertical' or 'horizontal')
21
+ */
15
22
  export interface BarChartProps
16
23
  extends Omit<VerticalBarChartProps, 'data'>,
17
24
  Omit<HorizontalBarChartProps, 'data' | keyof VerticalBarChartProps> {
@@ -19,6 +26,37 @@ export interface BarChartProps
19
26
  variant?: BarChartVariant;
20
27
  }
21
28
 
29
+ /**
30
+ * BarChart Component
31
+ * A flexible bar chart component that supports both vertical and horizontal orientations.
32
+ * Delegates rendering to either VerticalBarChart or HorizontalBarChart based on the variant prop.
33
+ *
34
+ * @component
35
+ * @param {BarChartProps} props - The props object
36
+ * @param {BarChartData[]} props.data - Array of data objects containing chart values
37
+ * @param {BarChartVariant} [props.variant='vertical'] - Chart orientation: 'vertical' for vertical bars or 'horizontal' for horizontal bars
38
+ * @returns {React.ReactElement} Rendered bar chart component
39
+ *
40
+ * @example
41
+ * const data = [
42
+ * { month: 'January', sales: 400, revenue: 2400 },
43
+ * { month: 'February', sales: 300, revenue: 1398 }
44
+ * ];
45
+ * const config = {
46
+ * sales: { label: 'Sales', color: '#2563eb' },
47
+ * revenue: { label: 'Revenue', color: '#7c3aed' }
48
+ * };
49
+ *
50
+ * return (
51
+ * <BarChart
52
+ * data={data}
53
+ * variant="vertical"
54
+ * dataKeys={['sales', 'revenue']}
55
+ * xAxisKey="month"
56
+ * config={config}
57
+ * />
58
+ * );
59
+ */
22
60
  const BarChart: React.FC<BarChartProps> = ({
23
61
  variant = 'vertical',
24
62
  ...props
@@ -16,10 +16,47 @@ import type {
16
16
  TitleProps,
17
17
  } from '../types/types';
18
18
 
19
+ /**
20
+ * Data object for HorizontalBarChart
21
+ * @typedef {Object} HorizontalBarChartData
22
+ * @property {string|number} [key] - Dynamic data properties
23
+ */
19
24
  export interface HorizontalBarChartData {
20
25
  [key: string]: string | number;
21
26
  }
22
27
 
28
+ /**
29
+ * Props for the HorizontalBarChart component
30
+ * @typedef {Object} HorizontalBarChartProps
31
+ * @property {HorizontalBarChartData[]} data - Array of data objects to display
32
+ * @property {string[]} dataKeys - Array of keys from data objects to visualize as bars
33
+ * @property {string} xAxisKey - The key to use for Y-axis (category) labels
34
+ * @property {ChartConfig} config - Chart configuration with color mappings for data keys
35
+ * @property {number} [height] - Chart height in pixels (auto-calculated if not provided)
36
+ * @property {MarginProps} [margin={top: 20, right: 30, bottom: 20, left: -20}] - Chart margins
37
+ * @property {number} [barSize=32] - Height of each bar in pixels
38
+ * @property {number|number[]} [radius=5] - Border radius for bars (single value or [top-left, top-right, bottom-right, bottom-left])
39
+ * @property {string} [stackId] - ID for stacking multiple bars together
40
+ * @property {boolean} [hideXAxis=false] - Whether to hide the X-axis
41
+ * @property {number} [yAxisWidth=100] - Width allocated for Y-axis labels
42
+ * @property {Function} [yAxisTickFormatter] - Function to format Y-axis tick labels
43
+ * @property {Function} [xAxisTickFormatter] - Function to format X-axis tick labels
44
+ * @property {boolean} [showTooltip=true] - Whether to show tooltip on hover
45
+ * @property {boolean|object} [tooltipCursor=false] - Tooltip cursor appearance
46
+ * @property {boolean} [hideTooltipLabel=true] - Whether to hide the label in tooltip
47
+ * @property {'line'|'dot'|'dashed'} [tooltipIndicator='line'] - Tooltip indicator style
48
+ * @property {LegendProps} [legend] - Legend configuration props
49
+ * @property {boolean} [showLegend=false] - Whether to display the legend
50
+ * @property {string} [title] - Chart title text
51
+ * @property {TitleProps} [titleProps={variant: 'h3', className: ''}] - Title styling props
52
+ * @property {string} [subtitle] - Chart subtitle text
53
+ * @property {SubTitleProps} [subtitleProps={variant: 'muted', className: ''}] - Subtitle styling props
54
+ * @property {string} [className] - CSS class for the container
55
+ * @property {Function} [onBarClick] - Callback function when a bar is clicked
56
+ * @property {number} [animationDuration=750] - Duration of animations in milliseconds
57
+ * @property {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [animationEasing='ease-in-out'] - Easing function for animations
58
+ * @property {boolean} [accessibilityLayer=true] - Enable accessibility features
59
+ */
23
60
  export interface HorizontalBarChartProps {
24
61
  // Core data
25
62
  data: HorizontalBarChartData[];
@@ -74,6 +111,62 @@ export interface HorizontalBarChartProps {
74
111
  accessibilityLayer?: boolean;
75
112
  }
76
113
 
114
+ /**
115
+ * HorizontalBarChart Component
116
+ * Displays data as horizontal bars with full customization support for axes, tooltips, legends, and animations.
117
+ * The chart dynamically calculates height based on data length if height is not provided.
118
+ *
119
+ * @component
120
+ * @param {HorizontalBarChartProps} props - The component props
121
+ * @param {HorizontalBarChartData[]} props.data - Array of data objects to display
122
+ * @param {string[]} props.dataKeys - Keys from data objects to visualize
123
+ * @param {string} props.xAxisKey - The key for Y-axis category labels
124
+ * @param {ChartConfig} props.config - Chart color and display configuration
125
+ * @param {number} [props.height] - Chart height; auto-calculated if not provided
126
+ * @param {MarginProps} [props.margin] - Chart margin spacing
127
+ * @param {number} [props.barSize] - Height of each bar in pixels
128
+ * @param {number|number[]} [props.radius] - Border radius for bar corners
129
+ * @param {string} [props.stackId] - ID for stacked bars
130
+ * @param {boolean} [props.hideXAxis] - Hide/show the X-axis
131
+ * @param {number} [props.yAxisWidth] - Width of Y-axis label area
132
+ * @param {Function} [props.yAxisTickFormatter] - Custom Y-axis label formatter
133
+ * @param {Function} [props.xAxisTickFormatter] - Custom X-axis label formatter
134
+ * @param {boolean} [props.showTooltip] - Show/hide tooltip
135
+ * @param {boolean|object} [props.tooltipCursor] - Tooltip cursor style
136
+ * @param {boolean} [props.hideTooltipLabel] - Hide/show tooltip label
137
+ * @param {'line'|'dot'|'dashed'} [props.tooltipIndicator] - Tooltip indicator style
138
+ * @param {LegendProps} [props.legend] - Legend configuration
139
+ * @param {boolean} [props.showLegend] - Show/hide legend
140
+ * @param {string} [props.title] - Chart title
141
+ * @param {TitleProps} [props.titleProps] - Title styling
142
+ * @param {string} [props.subtitle] - Chart subtitle
143
+ * @param {SubTitleProps} [props.subtitleProps] - Subtitle styling
144
+ * @param {string} [props.className] - Container CSS class
145
+ * @param {Function} [props.onBarClick] - Click handler callback
146
+ * @param {number} [props.animationDuration] - Animation duration in ms
147
+ * @param {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [props.animationEasing] - Animation easing
148
+ * @param {boolean} [props.accessibilityLayer] - Enable accessibility features
149
+ * @returns {React.ReactElement} Rendered horizontal bar chart
150
+ *
151
+ * @example
152
+ * const data = [
153
+ * { category: 'Category A', value: 120 },
154
+ * { category: 'Category B', value: 200 }
155
+ * ];
156
+ * const config = {
157
+ * value: { label: 'Value', color: '#3b82f6' }
158
+ * };
159
+ *
160
+ * return (
161
+ * <HorizontalBarChart
162
+ * data={data}
163
+ * dataKeys={['value']}
164
+ * xAxisKey="category"
165
+ * config={config}
166
+ * title="Sales by Category"
167
+ * />
168
+ * );
169
+ */
77
170
  const HorizontalBarChart: React.FC<HorizontalBarChartProps> = ({
78
171
  data,
79
172
  dataKeys,
@@ -23,10 +23,54 @@ import type {
23
23
  TitleProps,
24
24
  } from '../types/types';
25
25
 
26
+ /**
27
+ * Data object for VerticalBarChart
28
+ * @typedef {Object} VerticalBarChartData
29
+ * @property {string|number} [key] - Dynamic data properties
30
+ */
26
31
  export interface VerticalBarChartData {
27
32
  [key: string]: string | number;
28
33
  }
29
34
 
35
+ /**
36
+ * Props for the VerticalBarChart component
37
+ * @typedef {Object} VerticalBarChartProps
38
+ * @property {VerticalBarChartData[]} data - Array of data objects to display
39
+ * @property {string[]} dataKeys - Array of keys from data objects to visualize as bars
40
+ * @property {string} xAxisKey - The key to use for X-axis (category) labels
41
+ * @property {ChartConfig} config - Chart configuration with color mappings for data keys
42
+ * @property {number} [height=400] - Chart height in pixels
43
+ * @property {MarginProps} [margin={top: 20, right: 30, bottom: 20, left: 30}] - Chart margins
44
+ * @property {number} [barSize] - Width of each bar in pixels
45
+ * @property {number} [barGap=4] - Gap between bars in pixels
46
+ * @property {number|string} [barCategoryGap='10%'] - Gap between bar groups (pixels or percentage)
47
+ * @property {number|number[]} [radius=4] - Border radius for bars (single value or [top-left, top-right, bottom-right, bottom-left])
48
+ * @property {string} [stackId] - ID for stacking multiple bars together
49
+ * @property {boolean} [showGrid=true] - Whether to show the cartesian grid
50
+ * @property {string|number} [gridStrokeDasharray='3 3'] - Grid line dash pattern
51
+ * @property {Function} [xAxisTickFormatter] - Function to format X-axis tick labels
52
+ * @property {Function} [yAxisTickFormatter] - Function to format Y-axis tick labels
53
+ * @property {boolean} [showLabels=false] - Whether to show value labels on bars
54
+ * @property {'top'|'bottom'|'left'|'right'|'inside'|'outside'|'insideLeft'|'insideRight'|'insideTop'|'insideBottom'|'center'} [labelPosition='top'] - Position of bar labels
55
+ * @property {Function} [labelFormatter] - Function to format label values
56
+ * @property {boolean} [showTooltip=true] - Whether to show tooltip on hover
57
+ * @property {boolean|object} [tooltipCursor=false] - Tooltip cursor appearance
58
+ * @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
59
+ * @property {'line'|'dot'|'dashed'} [tooltipIndicator='dashed'] - Tooltip indicator style
60
+ * @property {LegendProps} [legend] - Legend configuration props
61
+ * @property {boolean} [showLegend=false] - Whether to display the legend
62
+ * @property {string} [title] - Chart title text
63
+ * @property {TitleProps} [titleProps={variant: 'h3', className: ''}] - Title styling props
64
+ * @property {string} [subtitle] - Chart subtitle text
65
+ * @property {SubTitleProps} [subtitleProps={variant: 'muted', className: ''}] - Subtitle styling props
66
+ * @property {string} [className] - CSS class for the container
67
+ * @property {boolean} [activeBar=false] - Enable/disable active bar highlighting
68
+ * @property {number} [activeBarIndex] - Index of the initially active bar
69
+ * @property {Function} [onBarClick] - Callback function when a bar is clicked
70
+ * @property {number} [animationDuration=750] - Duration of animations in milliseconds
71
+ * @property {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [animationEasing='ease-in-out'] - Easing function for animations
72
+ * @property {boolean} [accessibilityLayer=true] - Enable accessibility features
73
+ */
30
74
  export interface VerticalBarChartProps {
31
75
  // Core data
32
76
  data: VerticalBarChartData[];
@@ -101,6 +145,72 @@ export interface VerticalBarChartProps {
101
145
  accessibilityLayer?: boolean;
102
146
  }
103
147
 
148
+ /**
149
+ * VerticalBarChart Component
150
+ * Displays data as vertical bars with comprehensive customization for grid, labels, tooltips, legends, and animations.
151
+ * Supports active bar highlighting with state management for user interaction.
152
+ *
153
+ * @component
154
+ * @param {VerticalBarChartProps} props - The component props
155
+ * @param {VerticalBarChartData[]} props.data - Array of data objects to display
156
+ * @param {string[]} props.dataKeys - Keys from data objects to visualize as bars
157
+ * @param {string} props.xAxisKey - The key for X-axis category labels
158
+ * @param {ChartConfig} props.config - Chart color and display configuration
159
+ * @param {number} [props.height] - Chart height in pixels
160
+ * @param {MarginProps} [props.margin] - Chart margin spacing
161
+ * @param {number} [props.barSize] - Width of each bar in pixels
162
+ * @param {number} [props.barGap] - Spacing between adjacent bars
163
+ * @param {number|string} [props.barCategoryGap] - Spacing between bar groups
164
+ * @param {number|number[]} [props.radius] - Border radius for bar corners
165
+ * @param {string} [props.stackId] - ID for stacked bars
166
+ * @param {boolean} [props.showGrid] - Show/hide background grid
167
+ * @param {string|number} [props.gridStrokeDasharray] - Grid line dash pattern
168
+ * @param {Function} [props.xAxisTickFormatter] - Custom X-axis label formatter
169
+ * @param {Function} [props.yAxisTickFormatter] - Custom Y-axis label formatter
170
+ * @param {boolean} [props.showLabels] - Show/hide value labels on bars
171
+ * @param {string} [props.labelPosition] - Label position relative to bars
172
+ * @param {Function} [props.labelFormatter] - Custom label value formatter
173
+ * @param {boolean} [props.showTooltip] - Show/hide tooltip
174
+ * @param {boolean|object} [props.tooltipCursor] - Tooltip cursor style
175
+ * @param {boolean} [props.hideTooltipLabel] - Hide/show tooltip label
176
+ * @param {'line'|'dot'|'dashed'} [props.tooltipIndicator] - Tooltip indicator style
177
+ * @param {LegendProps} [props.legend] - Legend configuration
178
+ * @param {boolean} [props.showLegend] - Show/hide legend
179
+ * @param {string} [props.title] - Chart title
180
+ * @param {TitleProps} [props.titleProps] - Title styling
181
+ * @param {string} [props.subtitle] - Chart subtitle
182
+ * @param {SubTitleProps} [props.subtitleProps] - Subtitle styling
183
+ * @param {string} [props.className] - Container CSS class
184
+ * @param {boolean} [props.activeBar] - Enable active bar highlighting
185
+ * @param {number} [props.activeBarIndex] - Initial active bar index
186
+ * @param {Function} [props.onBarClick] - Click handler callback
187
+ * @param {number} [props.animationDuration] - Animation duration in ms
188
+ * @param {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [props.animationEasing] - Animation easing
189
+ * @param {boolean} [props.accessibilityLayer] - Enable accessibility features
190
+ * @returns {React.ReactElement} Rendered vertical bar chart
191
+ *
192
+ * @example
193
+ * const data = [
194
+ * { month: 'Jan', sales: 400, revenue: 2400 },
195
+ * { month: 'Feb', sales: 300, revenue: 1398 }
196
+ * ];
197
+ * const config = {
198
+ * sales: { label: 'Sales', color: '#3b82f6' },
199
+ * revenue: { label: 'Revenue', color: '#10b981' }
200
+ * };
201
+ *
202
+ * return (
203
+ * <VerticalBarChart
204
+ * data={data}
205
+ * dataKeys={['sales', 'revenue']}
206
+ * xAxisKey="month"
207
+ * config={config}
208
+ * title="Monthly Sales & Revenue"
209
+ * showLabels={true}
210
+ * activeBar={true}
211
+ * />
212
+ * );
213
+ */
104
214
  const VerticalBarChart: React.FC<VerticalBarChartProps> = ({
105
215
  data,
106
216
  dataKeys,
@@ -26,6 +26,32 @@ import {
26
26
  TitleProps,
27
27
  } from '../types/types';
28
28
 
29
+ /**
30
+ * Props for the LineChart component
31
+ * @typedef {Object} LineChartProps
32
+ * @property {string} [title='Line Chart'] - Chart title text
33
+ * @property {boolean} [showSubtitle=false] - Whether to display subtitle
34
+ * @property {string} [subTitle=''] - Chart subtitle text
35
+ * @property {TitleProps} [titleProps={variant: 'large'}] - Title styling props
36
+ * @property {SubTitleProps} [subTitleProps={variant: 'small'}] - Subtitle styling props
37
+ * @property {ChartConfig} config - Chart configuration with color mappings for data keys
38
+ * @property {number} [width=700] - Chart width in pixels
39
+ * @property {number} [height=500] - Chart height in pixels
40
+ * @property {string} dataKey - The key in data objects to use for X-axis values
41
+ * @property {any[]} data - Array of data objects to display
42
+ * @property {LineItem[]} lines - Array of line configurations with curve types and colors
43
+ * @property {boolean} [showToolTip=true] - Whether to show tooltip on hover
44
+ * @property {boolean} [showLegend=true] - Whether to display the legend
45
+ * @property {CartesianGridProps} [cartesianGrid={showCartesianGrid: false}] - Grid configuration
46
+ * @property {AxisLabelProps} [axisLabelProps] - X and Y axis label configuration
47
+ * @property {BaseAxisProps} [baseAxisProps] - Base axis customization props
48
+ * @property {LegendProps} [legendSx] - Legend styling props
49
+ * @property {string} [className] - CSS class for the container
50
+ * @property {MarginProps} [margin={top: 20, right: 30, bottom: 20, left: 30}] - Chart margins
51
+ * @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
52
+ * @property {'line'|'dot'|'dashed'} [tooltipIndicator='line'] - Tooltip indicator style
53
+ * @property {boolean} [accessibilityLayer=true] - Enable accessibility features
54
+ */
29
55
  export type LineChartProps = {
30
56
  // Core data
31
57
  title?: string;
@@ -64,6 +90,14 @@ export type LineChartProps = {
64
90
  accessibilityLayer?: boolean;
65
91
  };
66
92
 
93
+ /**
94
+ * Configuration for a single line in the LineChart
95
+ * @typedef {Object} LineItem
96
+ * @property {CurveType} type - Curve type for the line ('linear', 'monotone', 'natural', 'step', 'stepBefore', 'stepAfter', 'basisOpen', 'basis', 'basisClosed')
97
+ * @property {string} dataKey - The key in data objects to use for Y-axis values
98
+ * @property {string} stroke - Line color (CSS color value)
99
+ * @property {any} [activeDot] - Configuration for the active dot on hover
100
+ */
67
101
  type LineItem = {
68
102
  type: CurveType;
69
103
  dataKey: string;
@@ -71,6 +105,61 @@ type LineItem = {
71
105
  activeDot?: any;
72
106
  };
73
107
 
108
+ /**
109
+ * LineChart Component
110
+ * Displays one or more lines with customizable curve types, colors, and interactive features.
111
+ * Supports grid, tooltips, legends, and labeled axes.
112
+ *
113
+ * @component
114
+ * @param {LineChartProps} props - The component props
115
+ * @param {string} [props.title] - Chart title
116
+ * @param {boolean} [props.showSubtitle] - Show/hide subtitle
117
+ * @param {string} [props.subTitle] - Chart subtitle
118
+ * @param {TitleProps} [props.titleProps] - Title styling
119
+ * @param {SubTitleProps} [props.subTitleProps] - Subtitle styling
120
+ * @param {ChartConfig} props.config - Chart color configuration
121
+ * @param {number} [props.width] - Chart width in pixels
122
+ * @param {number} [props.height] - Chart height in pixels
123
+ * @param {string} props.dataKey - X-axis data key
124
+ * @param {any[]} props.data - Chart data array
125
+ * @param {LineItem[]} props.lines - Line configurations
126
+ * @param {boolean} [props.showToolTip] - Show/hide tooltip
127
+ * @param {boolean} [props.showLegend] - Show/hide legend
128
+ * @param {CartesianGridProps} [props.cartesianGrid] - Grid settings
129
+ * @param {AxisLabelProps} [props.axisLabelProps] - Axis labels
130
+ * @param {BaseAxisProps} [props.baseAxisProps] - Axis customization
131
+ * @param {LegendProps} [props.legendSx] - Legend styling
132
+ * @param {string} [props.className] - Container CSS class
133
+ * @param {MarginProps} [props.margin] - Chart margins
134
+ * @param {boolean} [props.hideTooltipLabel] - Hide tooltip label
135
+ * @param {'line'|'dot'|'dashed'} [props.tooltipIndicator] - Tooltip indicator style
136
+ * @param {boolean} [props.accessibilityLayer] - Enable accessibility features
137
+ * @returns {React.ReactElement} Rendered line chart
138
+ *
139
+ * @example
140
+ * const data = [
141
+ * { month: 'Jan', sales: 400, revenue: 2400 },
142
+ * { month: 'Feb', sales: 300, revenue: 1398 }
143
+ * ];
144
+ * const config = {
145
+ * sales: { label: 'Sales', color: '#3b82f6' },
146
+ * revenue: { label: 'Revenue', color: '#10b981' }
147
+ * };
148
+ * const lines = [
149
+ * { dataKey: 'sales', stroke: '#3b82f6', type: 'monotone' },
150
+ * { dataKey: 'revenue', stroke: '#10b981', type: 'monotone' }
151
+ * ];
152
+ *
153
+ * return (
154
+ * <LineChart
155
+ * data={data}
156
+ * dataKey="month"
157
+ * lines={lines}
158
+ * config={config}
159
+ * title="Sales & Revenue Trend"
160
+ * />
161
+ * );
162
+ */
74
163
  export const LineChart = ({
75
164
  title = 'Line Chart',
76
165
  showSubtitle = false,
@@ -15,6 +15,26 @@ import {
15
15
  TitleProps,
16
16
  } from '../types/types';
17
17
 
18
+ /**
19
+ * Props for the PieChart component
20
+ * @typedef {Object} PieChartProps
21
+ * @property {string} [title='Pie Chart'] - Chart title text
22
+ * @property {boolean} [showSubtitle=false] - Whether to display subtitle
23
+ * @property {string} [subTitle=''] - Chart subtitle text
24
+ * @property {TitleProps} [titleProps={variant: 'large'}] - Title styling props
25
+ * @property {SubTitleProps} [subTitleProps={variant: 'small'}] - Subtitle styling props
26
+ * @property {MarginProps} [margin] - Chart margins
27
+ * @property {number} [width=500] - Chart width in pixels
28
+ * @property {number} [height=500] - Chart height in pixels
29
+ * @property {PieProps} pie1 - Configuration for the primary pie (required)
30
+ * @property {PieProps} [pie2] - Configuration for the secondary pie (optional, for donut charts)
31
+ * @property {string} [className] - CSS class for the container
32
+ * @property {boolean} [showLegend=true] - Whether to display the legend
33
+ * @property {LegendProps} [legendSx] - Legend styling props
34
+ * @property {boolean} [showToolTip=true] - Whether to show tooltip on hover
35
+ * @property {ChartConfig} config - Chart configuration with color mappings
36
+ * @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
37
+ */
18
38
  export type PieChartProps = {
19
39
  title?: string;
20
40
  showSubtitle?: boolean;
@@ -34,6 +54,22 @@ export type PieChartProps = {
34
54
  hideTooltipLabel?: boolean;
35
55
  };
36
56
 
57
+ /**
58
+ * Configuration for a single pie in the PieChart
59
+ * @typedef {Object} PieProps
60
+ * @property {any[]} data - Array of data objects for the pie slices
61
+ * @property {string} dataKey - The key in data objects to use for slice values
62
+ * @property {string} [nameKey] - The key in data objects to use for slice labels
63
+ * @property {number} [innerRadius] - Inner radius for donut charts (creates hollow center)
64
+ * @property {number} [outerRadius] - Outer radius of the pie
65
+ * @property {string} [fill] - Default fill color for pie slices
66
+ * @property {boolean} [label] - Whether to show labels on pie slices
67
+ * @property {string} [cx='50%'] - X-coordinate of pie center (percentage or pixels)
68
+ * @property {string} [cy='50%'] - Y-coordinate of pie center (percentage or pixels)
69
+ * @property {number} [startAngle] - Starting angle of the pie in degrees
70
+ * @property {number} [endAngle] - Ending angle of the pie in degrees
71
+ * @property {string[]} [colors] - Array of colors for pie slices (cycles if fewer than slices)
72
+ */
37
73
  type PieProps = {
38
74
  data: any[];
39
75
  dataKey: string;
@@ -49,6 +85,56 @@ type PieProps = {
49
85
  colors?: string[];
50
86
  };
51
87
 
88
+ /**
89
+ * PieChart Component
90
+ * Displays data as one or two pie/donut charts with customizable colors, labels, and legend.
91
+ * Supports single pie, donut, or dual-pie layouts.
92
+ *
93
+ * @component
94
+ * @param {PieChartProps} props - The component props
95
+ * @param {string} [props.title] - Chart title
96
+ * @param {boolean} [props.showSubtitle] - Show/hide subtitle
97
+ * @param {string} [props.subTitle] - Chart subtitle
98
+ * @param {TitleProps} [props.titleProps] - Title styling
99
+ * @param {SubTitleProps} [props.subTitleProps] - Subtitle styling
100
+ * @param {MarginProps} [props.margin] - Chart margins
101
+ * @param {number} [props.width] - Chart width in pixels
102
+ * @param {number} [props.height] - Chart height in pixels
103
+ * @param {PieProps} props.pie1 - Primary pie configuration
104
+ * @param {PieProps} [props.pie2] - Secondary pie configuration (creates dual-pie)
105
+ * @param {string} [props.className] - Container CSS class
106
+ * @param {boolean} [props.showLegend] - Show/hide legend
107
+ * @param {LegendProps} [props.legendSx] - Legend styling
108
+ * @param {boolean} [props.showToolTip] - Show/hide tooltip
109
+ * @param {ChartConfig} props.config - Chart color configuration
110
+ * @param {boolean} [props.hideTooltipLabel] - Hide tooltip label
111
+ * @returns {React.ReactElement} Rendered pie chart
112
+ *
113
+ * @example
114
+ * const data = [
115
+ * { name: 'Slice A', value: 400 },
116
+ * { name: 'Slice B', value: 300 },
117
+ * { name: 'Slice C', value: 300 }
118
+ * ];
119
+ * const config = {
120
+ * name: { label: 'Category', color: '#3b82f6' },
121
+ * value: { label: 'Value', color: '#10b981' }
122
+ * };
123
+ *
124
+ * return (
125
+ * <PieChart
126
+ * pie1={{
127
+ * data: data,
128
+ * dataKey: 'value',
129
+ * nameKey: 'name',
130
+ * colors: ['#3b82f6', '#10b981', '#f59e0b']
131
+ * }}
132
+ * config={config}
133
+ * title="Sales Distribution"
134
+ * showLegend={true}
135
+ * />
136
+ * );
137
+ */
52
138
  export const PieChart = ({
53
139
  title = 'Pie Chart',
54
140
  showSubtitle = false,