@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
@@ -12,5 +12,38 @@ export type SelectProps = {
12
12
  className?: string;
13
13
  disabled?: boolean;
14
14
  fullWidth?: boolean;
15
+ loading?: boolean;
15
16
  };
16
- export declare const Select: ({ options, onChange, value, placeholder, className, defaultValue, disabled, fullWidth, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
17
+ /**
18
+ * Select component for single-value selection
19
+ *
20
+ * A select dropdown component with support for colors, loading states, and flexible sizing.
21
+ * Built on shadcn's Select component with additional enhancements.
22
+ *
23
+ * @component
24
+ * @param {SelectProps} props - The select properties
25
+ * @param {Array<{label: React.ReactNode, value: string | number, color?: string}>} props.options - Available select options
26
+ * @param {(value: string) => void} [props.onChange] - Callback fired when selection changes
27
+ * @param {string | number} [props.value] - Currently selected value (controlled)
28
+ * @param {string | number} [props.defaultValue] - Default selected value (uncontrolled)
29
+ * @param {string} [props.placeholder='Select an option...'] - Placeholder text when no value selected
30
+ * @param {boolean} [props.disabled] - Whether the select is disabled
31
+ * @param {boolean} [props.loading] - Whether options are loading
32
+ * @param {boolean} [props.fullWidth] - Whether the select takes full width
33
+ * @param {string} [props.className] - Additional CSS classes
34
+ * @returns {React.ReactElement} The rendered select component
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * <Select
39
+ * options={[
40
+ * { label: 'Option 1', value: 'opt1', color: 'blue' },
41
+ * { label: 'Option 2', value: 'opt2', color: 'green' }
42
+ * ]}
43
+ * value={selected}
44
+ * onChange={setSelected}
45
+ * placeholder="Choose an option"
46
+ * />
47
+ * ```
48
+ */
49
+ export declare const Select: ({ options, onChange, value, placeholder, className, defaultValue, disabled, fullWidth, loading, }: SelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -11,4 +11,33 @@ export type CheckboxProps = {
11
11
  disabled?: boolean;
12
12
  name?: string;
13
13
  } & Omit<React.ComponentProps<typeof CheckboxPrimitive.Root>, 'checked' | 'onChange' | 'onCheckedChange'>;
14
+ /**
15
+ * SingleCheckBox component for single checkbox selection
16
+ *
17
+ * A checkbox component with label support, validation states, and required field indicators.
18
+ * Built on Radix UI's checkbox primitive.
19
+ *
20
+ * @component
21
+ * @param {CheckboxProps} props - The checkbox properties
22
+ * @param {ReactNode} props.label - Label text for the checkbox
23
+ * @param {boolean} [props.checked] - Whether the checkbox is checked (controlled)
24
+ * @param {(checked: boolean) => void} [props.onChange] - Callback when checked state changes
25
+ * @param {string} [props.name] - Name attribute for the checkbox
26
+ * @param {boolean} [props.required] - Whether the field is required
27
+ * @param {boolean} [props.disabled] - Whether the checkbox is disabled
28
+ * @param {string} [props.className] - Additional CSS classes for the checkbox
29
+ * @param {string} [props.labelClassName] - Additional CSS classes for the label
30
+ * @param {string} [props.containerClassName='flex items-center space-x-2'] - Additional CSS classes for the container
31
+ * @returns {React.ReactElement} The rendered checkbox component
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <SingleCheckBox
36
+ * label="I agree to the terms"
37
+ * checked={agreed}
38
+ * onChange={setAgreed}
39
+ * required
40
+ * />
41
+ * ```
42
+ */
14
43
  export declare const SingleCheckBox: ({ checked, label, onChange, required, className, labelClassName, containerClassName, disabled, name, ...rest }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
@@ -35,6 +35,48 @@ export type SingleSelectProps = {
35
35
  type?: 'input' | 'filter';
36
36
  disableClear?: boolean;
37
37
  fullWidth?: boolean;
38
+ disabled?: boolean;
39
+ loading?: boolean;
38
40
  };
41
+ /**
42
+ * SingleSelect component for single-value selection
43
+ *
44
+ * A feature-rich single-select component supporting both local and API-driven options,
45
+ * with search, pagination, filtering, and flexible display modes.
46
+ *
47
+ * @component
48
+ * @param {SingleSelectProps} props - The select properties
49
+ * @param {Array<{label: string, subLabel?: string, value: any, icon?: ReactNode}>} [props.options] - Static options array
50
+ * @param {string} [props.optionsApiEndPoint] - API endpoint for dynamic options loading
51
+ * @param {any} [props.optionsApiEndpointParams] - Additional parameters for API requests
52
+ * @param {AxiosInstance} [props.externalAxios] - Custom axios instance for API calls
53
+ * @param {any} [props.value] - Currently selected value
54
+ * @param {(value: any) => void} [props.onChange] - Callback fired when selection changes
55
+ * @param {(option: any) => any} [props.getValue] - Function to extract value from option object
56
+ * @param {{valueKey: string, isObjectId?: boolean, isInt?: boolean, isFloat?: boolean}} [props.dbValueProps] - Database value mapping properties
57
+ * @param {{labelKey: string, subLabelKey?: string, useLabelStartCase?: boolean, useSubLabelStartCase?: boolean}} [props.dbLabelProps] - Database label mapping properties
58
+ * @param {string} [props.label] - Label for the select
59
+ * @param {string} [props.name] - Name attribute
60
+ * @param {boolean} [props.required] - Whether the field is required
61
+ * @param {boolean} [props.disabled] - Whether the select is disabled
62
+ * @param {boolean} [props.loading] - Whether options are loading
63
+ * @param {boolean} [props.disableClear] - Whether to hide the clear button
64
+ * @param {boolean} [props.fullWidth] - Whether the select takes full width
65
+ * @param {'input' | 'filter'} [props.type='input'] - Display type
66
+ * @param {(event: SyntheticEvent) => void} [props.onOpen] - Callback when menu opens
67
+ * @param {(event: SyntheticEvent, reason: string) => void} [props.onClose] - Callback when menu closes
68
+ * @returns {React.ReactElement} The rendered single-select component
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * <SingleSelect
73
+ * label="Select User"
74
+ * value={selectedUser}
75
+ * onChange={setSelectedUser}
76
+ * options={users}
77
+ * required
78
+ * />
79
+ * ```
80
+ */
39
81
  export declare const SingleSelect: ({ options, optionsApiEndPoint, optionsApiEndpointParams, externalAxios, getValue, value, onChange, dbValueProps, dbLabelProps, onOpen, onClose, type, ...restProps }: SingleSelectProps) => import("react/jsx-runtime").JSX.Element;
40
82
  export default SingleSelect;
@@ -9,4 +9,4 @@ export type SingleFilterProps = {
9
9
  handleScroll: (event: any) => Promise<void>;
10
10
  state: SingleSelectState;
11
11
  } & SingleSelectProps;
12
- export declare const SingleFilter: ({ optionsApiEndPoint, label, name, value, onChange, searchDb, handleOpen, handleClose, handleScroll, state, disableClear, fullWidth, }: SingleFilterProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const SingleFilter: ({ optionsApiEndPoint, label, name, value, onChange, searchDb, handleOpen, handleClose, handleScroll, state, disableClear, fullWidth, disabled, loading, }: SingleFilterProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,4 +9,4 @@ export type SingleInputProps = {
9
9
  handleScroll: (event: any) => Promise<void>;
10
10
  state: SingleSelectState;
11
11
  } & SingleSelectProps;
12
- export declare const SingleInput: ({ optionsApiEndPoint, required, label, name, getValue, value, onChange, error, helperText, searchDb, handleOpen, handleClose, handleScroll, state, fullWidth, }: SingleInputProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const SingleInput: ({ optionsApiEndPoint, required, label, name, getValue, value, onChange, error, helperText, searchDb, handleOpen, handleClose, handleScroll, state, fullWidth, disabled, loading, }: SingleInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -3,4 +3,27 @@ import * as React from 'react';
3
3
  export interface SwitchProps extends React.ComponentPropsWithoutRef<typeof ShadcnSwitch> {
4
4
  label?: string;
5
5
  }
6
+ /**
7
+ * Switch component for boolean toggle input
8
+ *
9
+ * A toggle switch component with optional label support, built on shadcn's Switch.
10
+ * Renders a label beside the switch if provided.
11
+ *
12
+ * @component
13
+ * @param {SwitchProps} props - The switch properties
14
+ * @param {string} [props.label] - Optional label text to display next to the switch
15
+ * @param {boolean} [props.checked] - Whether the switch is checked
16
+ * @param {(checked: boolean) => void} [props.onCheckedChange] - Callback when switch state changes
17
+ * @param {boolean} [props.disabled] - Whether the switch is disabled
18
+ * @returns {React.ReactElement} The rendered switch component
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <Switch
23
+ * label="Enable notifications"
24
+ * checked={enabled}
25
+ * onCheckedChange={setEnabled}
26
+ * />
27
+ * ```
28
+ */
6
29
  export declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>;
@@ -7,4 +7,30 @@ export type TagsProps = {
7
7
  variant?: 'default' | 'secondary' | 'destructive' | 'outline';
8
8
  className?: string;
9
9
  };
10
+ /**
11
+ * Tags component for displaying and managing tag badges
12
+ *
13
+ * A component that renders a collection of tags/badges with optional delete functionality.
14
+ * Useful for displaying categories, labels, or removable items.
15
+ *
16
+ * @component
17
+ * @param {TagsProps} props - The tags properties
18
+ * @param {Array<{label: string, value: any}>} props.tags - Array of tags to display
19
+ * @param {(deletedChip: any) => void} [props.onDelete] - Callback fired when a tag is deleted
20
+ * @param {'default' | 'secondary' | 'destructive' | 'outline'} [props.variant='secondary'] - Badge variant style
21
+ * @param {string} [props.className] - Additional CSS classes for the container
22
+ * @returns {React.ReactElement} The rendered tags component
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <Tags
27
+ * tags={[
28
+ * { label: 'React', value: 'react' },
29
+ * { label: 'TypeScript', value: 'ts' }
30
+ * ]}
31
+ * onDelete={handleTagDelete}
32
+ * variant="secondary"
33
+ * />
34
+ * ```
35
+ */
10
36
  export declare const Tags: ({ tags, onDelete, variant, className, }: TagsProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,4 +9,39 @@ export type TextFieldProps = {
9
9
  error?: boolean;
10
10
  helperText?: React.ReactNode;
11
11
  } & React.ComponentProps<typeof Input>;
12
+ /**
13
+ * TextField component for text input
14
+ *
15
+ * A general-purpose text input field with label support, validation states,
16
+ * helper/error text, and optional description.
17
+ *
18
+ * @component
19
+ * @param {TextFieldProps} props - The text field properties
20
+ * @param {React.ReactNode | string} [props.label] - Label for the field
21
+ * @param {string} [props.name] - Name attribute for the input
22
+ * @param {string} [props.value] - Current input value
23
+ * @param {(e: React.ChangeEvent<HTMLInputElement>) => void} [props.onChange] - Callback when value changes
24
+ * @param {string} [props.placeholder] - Placeholder text
25
+ * @param {boolean} [props.required] - Whether the field is required
26
+ * @param {boolean} [props.disabled] - Whether the field is disabled
27
+ * @param {boolean} [props.error] - Whether there's a validation error
28
+ * @param {React.ReactNode} [props.helperText] - Helper or error text
29
+ * @param {string} [props.description] - Additional description text
30
+ * @param {boolean} [props.fullWidth] - Whether the field takes full width
31
+ * @param {string} [props.className] - Additional CSS classes
32
+ * @param {React.HTMLAttributes<HTMLDivElement>} [props.containerProps] - Container attributes
33
+ * @returns {React.ReactElement} The rendered text field component
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <TextField
38
+ * label="Username"
39
+ * name="username"
40
+ * value={username}
41
+ * onChange={(e) => setUsername(e.target.value)}
42
+ * placeholder="Enter your username"
43
+ * required
44
+ * />
45
+ * ```
46
+ */
12
47
  export declare const TextField: ({ name, label, value, onChange, required, containerProps, description, fullWidth, className, error, helperText, ...rest }: TextFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,4 +9,40 @@ export type TextareaProps = {
9
9
  error?: boolean;
10
10
  helperText?: React.ReactNode;
11
11
  } & React.ComponentProps<typeof ShadcnTextarea>;
12
+ /**
13
+ * Textarea component for multi-line text input
14
+ *
15
+ * A multi-line text input field with label support, validation states,
16
+ * helper/error text, and optional description.
17
+ *
18
+ * @component
19
+ * @param {TextareaProps} props - The textarea properties
20
+ * @param {React.ReactNode | string} [props.label] - Label for the field
21
+ * @param {string} [props.name] - Name attribute for the textarea
22
+ * @param {string} [props.value] - Current input value
23
+ * @param {(e: React.ChangeEvent<HTMLTextAreaElement>) => void} [props.onChange] - Callback when value changes
24
+ * @param {string} [props.placeholder] - Placeholder text
25
+ * @param {number} [props.rows] - Number of visible rows
26
+ * @param {boolean} [props.required] - Whether the field is required
27
+ * @param {boolean} [props.disabled] - Whether the field is disabled
28
+ * @param {boolean} [props.error] - Whether there's a validation error
29
+ * @param {React.ReactNode} [props.helperText] - Helper or error text
30
+ * @param {string} [props.description] - Additional description text
31
+ * @param {boolean} [props.fullWidth] - Whether the field takes full width
32
+ * @param {string} [props.className] - Additional CSS classes
33
+ * @param {React.HTMLAttributes<HTMLDivElement>} [props.containerProps] - Container attributes
34
+ * @returns {React.ReactElement} The rendered textarea component
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * <Textarea
39
+ * label="Comments"
40
+ * name="comments"
41
+ * value={comments}
42
+ * onChange={(e) => setComments(e.target.value)}
43
+ * placeholder="Enter your comments..."
44
+ * rows={4}
45
+ * />
46
+ * ```
47
+ */
12
48
  export declare const Textarea: ({ name, label, value, onChange, required, containerProps, description, fullWidth, className, error, helperText, ...rest }: TextareaProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,35 @@
1
1
  import React from 'react';
2
2
  import { AppLayoutProps } from './types';
3
+ /**
4
+ * AppLayout Component
5
+ *
6
+ * Main layout component that provides a persistent sidebar navigation structure with responsive behavior.
7
+ * Automatically collapses on small screens and wraps content in a SidebarProvider for state management.
8
+ * Includes a floating help docs button in the bottom-right corner.
9
+ *
10
+ * @param {React.ReactNode} children - Main content to render inside the layout
11
+ * @param {SideMenuItemProps[]} menu - Navigation menu items for the sidebar
12
+ * @param {ReactNode | ((params: { collapsed: boolean }) => ReactNode)} [actions] - Optional action elements or function that receives collapsed state
13
+ * @param {string} [mainContainerClassName=''] - Additional CSS classes for the main content container
14
+ * @param {HelpDocsConfig} [helpDocsConfig] - Configuration for context-based help documentation
15
+ * @param {boolean} [initialCollapsed] - Initial state of sidebar collapse (auto-determined on small screens)
16
+ * @param {UserProfilePopupProps} [userProfileParams] - Configuration for user profile popup/menu
17
+ *
18
+ * @returns {React.ReactElement} The complete app layout with sidebar and main content area
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * <AppLayout
23
+ * menu={menuItems}
24
+ * userProfileParams={{
25
+ * userFullName: "John Doe",
26
+ * email: "john@example.com",
27
+ * onLogout: handleLogout
28
+ * }}
29
+ * actions={<ActionButtons />}
30
+ * >
31
+ * <YourContent />
32
+ * </AppLayout>
33
+ * ```
34
+ */
3
35
  export declare const AppLayout: React.FC<AppLayoutProps>;
@@ -3,5 +3,21 @@ interface MenuToggleButtonProps {
3
3
  /** Custom className */
4
4
  className?: string;
5
5
  }
6
+ /**
7
+ * MenuToggleButton Component
8
+ *
9
+ * Mobile-only button that toggles the sidebar visibility. This button is hidden on desktop screens
10
+ * (above 768px width) using the Tailwind media query. Useful for including in page headers
11
+ * on mobile devices to control sidebar drawer visibility.
12
+ *
13
+ * @param {string} [className=''] - Additional CSS classes to apply to the button
14
+ *
15
+ * @returns {React.ReactElement} A menu toggle button (empty fragment on desktop)
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <MenuToggleButton className="ml-4" />
20
+ * ```
21
+ */
6
22
  export declare const MenuToggleButton: React.FC<MenuToggleButtonProps>;
7
23
  export {};
@@ -1,2 +1,28 @@
1
1
  import { MenuBarProps } from './interfaces';
2
+ /**
3
+ * MenuBar Component
4
+ *
5
+ * Container component that renders the current menu level with optional back navigation.
6
+ * Displays a header with "Back" button when viewing nested menus and animates menu item
7
+ * appearance using staggered animations. Supports both collapsed and expanded sidebar states.
8
+ *
9
+ * @param {MenuState} currentMenuState - Current menu level state with menu items, title, and path
10
+ * @param {(params: InternalMenuClickHandlerProps) => void} internalMenuClickHandler - Callback to navigate into nested menus
11
+ * @param {() => void} previousMenuClickHandler - Callback to navigate back to previous menu level
12
+ * @param {() => void} [onClose] - Optional callback to close the mobile drawer
13
+ * @param {boolean} [collapsed] - Whether the sidebar is collapsed
14
+ * @param {(collapsed: boolean) => void} [setCollapsed] - Function to update sidebar collapse state
15
+ *
16
+ * @returns {React.ReactElement} Animated menu container with menu items and optional back button
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <MenuBar
21
+ * currentMenuState={menuState}
22
+ * internalMenuClickHandler={handleInternalClick}
23
+ * previousMenuClickHandler={handleBack}
24
+ * collapsed={false}
25
+ * />
26
+ * ```
27
+ */
2
28
  export declare const MenuBar: React.FC<MenuBarProps>;
@@ -1,2 +1,39 @@
1
1
  import { MenuItemProps } from './interfaces';
2
+ /**
3
+ * MenuItem Component
4
+ *
5
+ * Renders a single menu item that can be one of three types:
6
+ * 1. **Internal Menu Item** (has nested menu): Shows a back arrow on hover, opens nested menu on click
7
+ * 2. **Sub Menu Item** (has expandable sub-items): Shows chevron icon, expands/collapses sub-items below
8
+ * 3. **Regular Link Item** (direct navigation): Direct link to a route
9
+ *
10
+ * Automatically shows tooltips when collapsed and handles drawer closing logic for mobile.
11
+ * Supports route matching to highlight the active menu item based on current URL.
12
+ *
13
+ * @param {number} index - Unique index of the menu item in the list
14
+ * @param {SideMenuItemProps} menuItem - Menu item configuration with name, path, icon, and optional menu/subMenu
15
+ * @param {string | null} currentMenuPath - Current path prefix for building full paths (for nested menus)
16
+ * @param {(params: InternalMenuClickHandlerProps) => void} internalMenuClickHandler - Callback when opening a nested/internal menu
17
+ * @param {() => void} [onClose] - Optional callback to close the mobile drawer after navigation
18
+ * @param {boolean} [collapsed] - Whether the sidebar is in collapsed state
19
+ * @param {(collapsed: boolean) => void} [setCollapsed] - Function to update sidebar collapse state
20
+ *
21
+ * @returns {React.ReactElement} Animated menu item with appropriate interactive elements
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <MenuItem
26
+ * index={0}
27
+ * menuItem={{
28
+ * name: "Dashboard",
29
+ * path: "/dashboard",
30
+ * icon: <DashboardIcon />,
31
+ * menu: subMenuItems // For nested menus
32
+ * }}
33
+ * currentMenuPath="/admin"
34
+ * internalMenuClickHandler={handleMenuClick}
35
+ * collapsed={false}
36
+ * />
37
+ * ```
38
+ */
2
39
  export declare const MenuItem: React.FC<MenuItemProps>;
@@ -5,12 +5,41 @@ interface SidebarProps {
5
5
  /** Menu items for navigation */
6
6
  menu: SideMenuItemProps[];
7
7
  /**User profile Params */
8
- userProfileParams: UserProfilePopupProps;
8
+ userProfileParams?: UserProfilePopupProps;
9
9
  /** Whether the sidebar is collapsed */
10
10
  collapsed: boolean;
11
11
  /** Function to toggle sidebar collapse state */
12
12
  setCollapsed: any;
13
13
  actions: ReactNode;
14
14
  }
15
+ /**
16
+ * Sidebar Component
17
+ *
18
+ * Responsive sidebar navigation component that displays differently on mobile and desktop:
19
+ * - **Mobile**: Renders as a collapsible Sheet drawer
20
+ * - **Desktop**: Renders as an animated fixed-width sidebar with collapse/expand animation
21
+ *
22
+ * Manages menu navigation state, hover effects, and user profile popup. Automatically
23
+ * handles internal menu navigation and animated transitions between menu levels.
24
+ *
25
+ * @param {SideMenuItemProps[]} menu - Navigation menu items with support for nested/internal menus and sub-menus
26
+ * @param {UserProfilePopupProps} userProfileParams - User profile configuration including name, email, and action handlers
27
+ * @param {boolean} collapsed - Current collapse state of the sidebar
28
+ * @param {(collapsed: boolean) => void} setCollapsed - Function to update the collapse state
29
+ * @param {ReactNode} actions - Action elements to display in the sidebar footer (above user profile)
30
+ *
31
+ * @returns {React.ReactElement} Responsive sidebar component (Sheet on mobile, animated div on desktop)
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * <Sidebar
36
+ * menu={navigationMenu}
37
+ * collapsed={sidebarCollapsed}
38
+ * setCollapsed={setSidebarCollapsed}
39
+ * userProfileParams={userProfile}
40
+ * actions={<CustomActions />}
41
+ * />
42
+ * ```
43
+ */
15
44
  export declare const Sidebar: React.FC<SidebarProps>;
16
45
  export {};
@@ -22,16 +22,155 @@ type ButtonProps = {
22
22
  className?: string;
23
23
  onClick?: () => void;
24
24
  } & React.HTMLAttributes<HTMLButtonElement>;
25
+ /**
26
+ * SidebarContainer Component
27
+ *
28
+ * Main container for the sidebar with flex layout, rounded corners, and overflow hidden.
29
+ * Serves as the root wrapper for all sidebar content including header, menu, and footer.
30
+ *
31
+ * @param {React.ReactNode} children - Content to render inside the sidebar
32
+ * @param {string} [className] - Additional CSS classes to apply
33
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
34
+ *
35
+ * @returns {React.ReactElement} A flex container for sidebar content
36
+ */
25
37
  export declare const SidebarContainer: React.FC<BaseProps>;
38
+ /**
39
+ * MenuBarContainer Component
40
+ *
41
+ * Scrollable container for menu items with custom scrollbar styling. Includes responsive
42
+ * design with different width and margin behavior on mobile vs desktop. Custom scrollbar
43
+ * uses theme colors with thin width.
44
+ *
45
+ * @param {React.ReactNode} children - Menu items to render inside the container
46
+ * @param {string} [className] - Additional CSS classes to apply
47
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
48
+ *
49
+ * @returns {React.ReactElement} A vertically scrollable menu container
50
+ */
26
51
  export declare const MenuBarContainer: React.FC<BaseProps>;
52
+ /**
53
+ * MenuHeaderContainer Component
54
+ *
55
+ * Header container for displaying nested menu titles with back navigation.
56
+ * Provides fixed height with flex layout for centered or start-aligned content.
57
+ * Includes hover background effect.
58
+ *
59
+ * @param {React.ReactNode} children - Header content (typically back button and title)
60
+ * @param {string} [className] - Additional CSS classes to apply
61
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
62
+ *
63
+ * @returns {React.ReactElement} A header container for menu navigation
64
+ */
27
65
  export declare const MenuHeaderContainer: React.FC<BaseProps>;
66
+ /**
67
+ * MenuItemContainer Component
68
+ *
69
+ * Wrapper container for individual menu items with flex centering and rounded corners.
70
+ * Provides consistent spacing and layout for menu items.
71
+ *
72
+ * @param {React.ReactNode} children - Menu item content
73
+ * @param {string} [className] - Additional CSS classes to apply
74
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
75
+ *
76
+ * @returns {React.ReactElement} A centered flex container for a menu item
77
+ */
28
78
  export declare const MenuItemContainer: React.FC<BaseProps>;
79
+ /**
80
+ * MenuItemButton Component
81
+ *
82
+ * Styled button for menu items with flex layout, whitespace handling, and rounded appearance.
83
+ * Based on Button component with ghost variant and custom padding.
84
+ *
85
+ * @param {React.ReactNode} children - Button content (icon and/or text)
86
+ * @param {string} [className] - Additional CSS classes to apply
87
+ * @param {React.HTMLAttributes<HTMLButtonElement>} props - Additional button attributes
88
+ *
89
+ * @returns {React.ReactElement} A styled button for menu navigation
90
+ */
29
91
  export declare const MenuItemButton: React.FC<ButtonProps>;
92
+ /**
93
+ * MenuItemIcon Component
94
+ *
95
+ * Container for menu item icons with flex centering and right margin.
96
+ * Ensures icons are properly sized and aligned within menu items.
97
+ *
98
+ * @param {React.ReactNode} children - Icon element
99
+ * @param {string} [className] - Additional CSS classes to apply
100
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
101
+ *
102
+ * @returns {React.ReactElement} A centered flex container for an icon
103
+ */
30
104
  export declare const MenuItemIcon: React.FC<BaseProps>;
105
+ /**
106
+ * MenuLink Component
107
+ *
108
+ * React Router Link component styled as a menu item. Shows different background color
109
+ * when the route matches the current location. Includes hover effects and transitions.
110
+ *
111
+ * @param {boolean} [match] - Whether the link destination matches current route
112
+ * @param {string} [to=''] - Route path to navigate to
113
+ * @param {React.ReactNode} children - Link content
114
+ * @param {string} [className] - Additional CSS classes to apply
115
+ * @param {any} props - Additional Link properties
116
+ *
117
+ * @returns {React.ReactElement} A styled navigation link
118
+ */
31
119
  export declare const MenuLink: React.FC<StyledLinkButtonProps>;
120
+ /**
121
+ * SubMenuContainer Component
122
+ *
123
+ * Container for sub-menu items that can expand/collapse or navigate.
124
+ * Shows different background color when active/matched. Used for menu items
125
+ * with expandable sub-items or internal navigation.
126
+ *
127
+ * @param {boolean} [match] - Whether the sub-menu is currently active/matched
128
+ * @param {React.ReactNode} children - Sub-menu content
129
+ * @param {string} [className] - Additional CSS classes to apply
130
+ * @param {any} props - Additional HTML attributes
131
+ *
132
+ * @returns {React.ReactElement} A styled container for sub-menu items
133
+ */
32
134
  export declare const SubMenuContainer: React.FC<StyledLinkButtonProps>;
135
+ /**
136
+ * SubMenuItemContainer Component
137
+ *
138
+ * Container for a list of sub-menu items that appear below a parent menu item.
139
+ * Includes left border, gap spacing, and left margin for visual hierarchy.
140
+ * Used to display expandable/collapsible sub-menu items.
141
+ *
142
+ * @param {React.ReactNode} children - Sub-menu item elements
143
+ * @param {string} [className] - Additional CSS classes to apply
144
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
145
+ *
146
+ * @returns {React.ReactElement} A flex column container for sub-menu items
147
+ */
33
148
  export declare const SubMenuItemContainer: React.FC<BaseProps>;
149
+ /**
150
+ * HoverIcon Component
151
+ *
152
+ * Container for icons that appear on hover within menu items.
153
+ * Hidden by default and shown only when parent element is hovered.
154
+ *
155
+ * @param {React.ReactNode} children - Icon element to show on hover
156
+ * @param {string} [className] - Additional CSS classes to apply
157
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
158
+ *
159
+ * @returns {React.ReactElement} A hidden flex container that shows on hover
160
+ */
34
161
  export declare const HoverIcon: React.FC<BaseProps>;
162
+ /**
163
+ * AnimationWrapper Component
164
+ *
165
+ * Generic wrapper component for content that may have animation effects.
166
+ * Provides full width and height to accommodate animated children.
167
+ *
168
+ * @param {React.ReactNode} children - Content to wrap with animation support
169
+ * @param {string} [className] - Additional CSS classes to apply
170
+ * @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
171
+ *
172
+ * @returns {React.ReactElement} A full-size flex container for animated content
173
+ */
35
174
  export declare const AnimationWrapper: React.FC<BaseProps>;
36
175
  export declare const desktopOnlyClasses = "hidden md:block";
37
176
  export declare const mobileOnlyClasses = "block md:hidden";
@@ -21,4 +21,38 @@ export interface UserProfilePopupProps {
21
21
  /**Persistant Side bar collapsed - boolean */
22
22
  collapsed?: boolean;
23
23
  }
24
+ /**
25
+ * UserProfilePopup Component
26
+ *
27
+ * User profile dropdown menu component displayed in the sidebar footer. Shows user avatar/initials,
28
+ * and provides a menu with Account section, optional Active Devices, custom profile actions, and Logout.
29
+ * Automatically adapts layout when sidebar is collapsed (centered alignment, avatar only).
30
+ *
31
+ * @param {string} userFullName - User's full name (required, used for avatar text and display)
32
+ * @param {string} [email=''] - User's email address (shown in account section)
33
+ * @param {React.ReactNode[]} [profileActions=[]] - Custom menu items to include in the dropdown
34
+ * @param {() => void} [onLogout] - Callback handler when user clicks logout
35
+ * @param {string} [profileUrl] - URL to user's profile image (uses initials fallback if not provided)
36
+ * @param {string} [avatarClassName=''] - Additional CSS classes for the avatar component
37
+ * @param {boolean} [showActiveDevices=false] - Whether to show the "Active Devices" menu item
38
+ * @param {() => void} [onActiveDevicesClick] - Callback handler when user clicks active devices
39
+ * @param {() => void} [onAccountClick] - Callback handler when user clicks the account section
40
+ * @param {boolean} [collapsed] - Whether the sidebar is in collapsed state (affects layout)
41
+ *
42
+ * @returns {React.ReactElement} A dropdown menu anchored to user avatar with profile options
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * <UserProfilePopup
47
+ * userFullName="Jane Smith"
48
+ * email="jane@example.com"
49
+ * profileUrl="/avatar.jpg"
50
+ * showActiveDevices={true}
51
+ * onLogout={handleLogout}
52
+ * onAccountClick={navigateToSettings}
53
+ * onActiveDevicesClick={showDevices}
54
+ * collapsed={false}
55
+ * />
56
+ * ```
57
+ */
24
58
  export declare const UserProfilePopup: React.FC<UserProfilePopupProps>;