@campxdev/react-blueprint 3.0.0-alpha.5 → 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 (255) 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 +41 -0
  37. package/dist/cjs/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +42 -0
  38. package/dist/cjs/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
  39. package/dist/cjs/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
  40. package/dist/cjs/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
  41. package/dist/cjs/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
  42. package/dist/cjs/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
  43. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
  44. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
  45. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
  46. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
  47. package/dist/cjs/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
  48. package/dist/cjs/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
  49. package/dist/cjs/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
  50. package/dist/cjs/types/src/components/Input/MultiSelect/MultiSelect.d.ts +40 -0
  51. package/dist/cjs/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
  52. package/dist/cjs/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
  53. package/dist/cjs/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
  54. package/dist/cjs/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
  55. package/dist/cjs/types/src/components/Input/Select/Select.d.ts +32 -0
  56. package/dist/cjs/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
  57. package/dist/cjs/types/src/components/Input/SingleSelect/SingleSelect.d.ts +40 -0
  58. package/dist/cjs/types/src/components/Input/Switch/Switch.d.ts +23 -0
  59. package/dist/cjs/types/src/components/Input/Tags/Tags.d.ts +26 -0
  60. package/dist/cjs/types/src/components/Input/TextField/TextField.d.ts +35 -0
  61. package/dist/cjs/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
  62. package/dist/cjs/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
  63. package/dist/cjs/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
  64. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
  65. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
  66. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
  67. package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
  68. package/dist/cjs/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
  69. package/dist/cjs/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
  70. package/dist/cjs/types/src/components/Layout/AppLayout/types.d.ts +1 -1
  71. package/dist/cjs/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
  72. package/dist/cjs/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
  73. package/dist/cjs/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
  74. package/dist/cjs/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
  75. package/dist/cjs/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
  76. package/dist/cjs/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
  77. package/dist/cjs/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
  78. package/dist/cjs/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
  79. package/dist/cjs/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
  80. package/dist/cjs/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
  81. package/dist/cjs/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
  82. package/dist/cjs/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
  83. package/dist/cjs/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
  84. package/dist/cjs/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
  85. package/dist/esm/index.js +2 -2
  86. package/dist/esm/types/src/components/Assets/ErrorPages/ComingSoon.d.ts +24 -0
  87. package/dist/esm/types/src/components/Assets/ErrorPages/InternalServerError.d.ts +20 -0
  88. package/dist/esm/types/src/components/Assets/ErrorPages/NoInternetConnection.d.ts +20 -0
  89. package/dist/esm/types/src/components/Assets/ErrorPages/NoItemFound.d.ts +28 -0
  90. package/dist/esm/types/src/components/Assets/ErrorPages/PageNotFound.d.ts +21 -0
  91. package/dist/esm/types/src/components/Assets/ErrorPages/ResourceNotFound.d.ts +21 -0
  92. package/dist/esm/types/src/components/Assets/ErrorPages/UnAuthorized.d.ts +31 -0
  93. package/dist/esm/types/src/components/Assets/Icons/Icons.d.ts +54 -0
  94. package/dist/esm/types/src/components/Charts/BarChart/BarChart.d.ts +38 -0
  95. package/dist/esm/types/src/components/Charts/BarChart/HorizontalBarChart.d.ts +93 -0
  96. package/dist/esm/types/src/components/Charts/BarChart/VerticalBarChart.d.ts +110 -0
  97. package/dist/esm/types/src/components/Charts/LineChart/LineChart.d.ts +89 -0
  98. package/dist/esm/types/src/components/Charts/PieChart/PieChart.d.ts +86 -0
  99. package/dist/esm/types/src/components/Charts/TreeMap/TreeMap.d.ts +74 -0
  100. package/dist/esm/types/src/components/DataDisplay/Accordion/Accordion.d.ts +54 -0
  101. package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.d.ts +35 -0
  102. package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogView.d.ts +78 -0
  103. package/dist/esm/types/src/components/DataDisplay/Avatar/Avatar.d.ts +40 -0
  104. package/dist/esm/types/src/components/DataDisplay/Chip/Chip.d.ts +28 -0
  105. package/dist/esm/types/src/components/DataDisplay/Chips/Chips.d.ts +55 -0
  106. package/dist/esm/types/src/components/DataDisplay/DataTable/DataTable.d.ts +95 -0
  107. package/dist/esm/types/src/components/DataDisplay/DataTable/components/TablePagination.d.ts +35 -0
  108. package/dist/esm/types/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.d.ts +30 -0
  109. package/dist/esm/types/src/components/DataDisplay/ReactJoyride/ReactJoyride.d.ts +64 -0
  110. package/dist/esm/types/src/components/DataDisplay/Separator/Separator.d.ts +30 -0
  111. package/dist/esm/types/src/components/DataDisplay/Skeleton/Skeleton.d.ts +20 -0
  112. package/dist/esm/types/src/components/DataDisplay/StatusCard/StatusCard.d.ts +36 -0
  113. package/dist/esm/types/src/components/DataDisplay/Timeline/Timeline.d.ts +58 -0
  114. package/dist/esm/types/src/components/DataDisplay/Typography/Typography.d.ts +25 -0
  115. package/dist/esm/types/src/components/Feedback/Alert/Alert.d.ts +31 -0
  116. package/dist/esm/types/src/components/Feedback/Snackbar/Snackbar.d.ts +54 -0
  117. package/dist/esm/types/src/components/Feedback/Spinner/Spinner.d.ts +15 -0
  118. package/dist/esm/types/src/components/Feedback/Tooltip/Tooltip.d.ts +54 -0
  119. package/dist/esm/types/src/components/Input/Button/Button.d.ts +26 -0
  120. package/dist/esm/types/src/components/Input/DatePicker/DatePicker.d.ts +41 -0
  121. package/dist/esm/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +42 -0
  122. package/dist/esm/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
  123. package/dist/esm/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
  124. package/dist/esm/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
  125. package/dist/esm/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
  126. package/dist/esm/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
  127. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
  128. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
  129. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
  130. package/dist/esm/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
  131. package/dist/esm/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
  132. package/dist/esm/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
  133. package/dist/esm/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
  134. package/dist/esm/types/src/components/Input/MultiSelect/MultiSelect.d.ts +40 -0
  135. package/dist/esm/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
  136. package/dist/esm/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
  137. package/dist/esm/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
  138. package/dist/esm/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
  139. package/dist/esm/types/src/components/Input/Select/Select.d.ts +32 -0
  140. package/dist/esm/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
  141. package/dist/esm/types/src/components/Input/SingleSelect/SingleSelect.d.ts +40 -0
  142. package/dist/esm/types/src/components/Input/Switch/Switch.d.ts +23 -0
  143. package/dist/esm/types/src/components/Input/Tags/Tags.d.ts +26 -0
  144. package/dist/esm/types/src/components/Input/TextField/TextField.d.ts +35 -0
  145. package/dist/esm/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
  146. package/dist/esm/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
  147. package/dist/esm/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
  148. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
  149. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
  150. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
  151. package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
  152. package/dist/esm/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
  153. package/dist/esm/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
  154. package/dist/esm/types/src/components/Layout/AppLayout/types.d.ts +1 -1
  155. package/dist/esm/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
  156. package/dist/esm/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
  157. package/dist/esm/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
  158. package/dist/esm/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
  159. package/dist/esm/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
  160. package/dist/esm/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
  161. package/dist/esm/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
  162. package/dist/esm/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
  163. package/dist/esm/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
  164. package/dist/esm/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
  165. package/dist/esm/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
  166. package/dist/esm/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
  167. package/dist/esm/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
  168. package/dist/esm/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
  169. package/dist/index.d.ts +2953 -12
  170. package/dist/styles.css +30 -9
  171. package/package.json +1 -1
  172. package/src/components/Assets/ErrorPages/ComingSoon.tsx +24 -0
  173. package/src/components/Assets/ErrorPages/InternalServerError.tsx +20 -0
  174. package/src/components/Assets/ErrorPages/NoInternetConnection.tsx +20 -0
  175. package/src/components/Assets/ErrorPages/NoItemFound.tsx +28 -0
  176. package/src/components/Assets/ErrorPages/PageNotFound.tsx +21 -0
  177. package/src/components/Assets/ErrorPages/ResourceNotFound.tsx +21 -0
  178. package/src/components/Assets/ErrorPages/UnAuthorized.tsx +31 -0
  179. package/src/components/Assets/Icons/Icons.tsx +55 -1
  180. package/src/components/Charts/BarChart/BarChart.tsx +38 -0
  181. package/src/components/Charts/BarChart/HorizontalBarChart.tsx +93 -0
  182. package/src/components/Charts/BarChart/VerticalBarChart.tsx +110 -0
  183. package/src/components/Charts/LineChart/LineChart.tsx +89 -0
  184. package/src/components/Charts/PieChart/PieChart.tsx +86 -0
  185. package/src/components/Charts/TreeMap/TreeMap.tsx +90 -0
  186. package/src/components/DataDisplay/Accordion/Accordion.tsx +54 -0
  187. package/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.tsx +35 -0
  188. package/src/components/DataDisplay/ActivityLogView/ActivityLogView.tsx +84 -0
  189. package/src/components/DataDisplay/Avatar/Avatar.tsx +40 -0
  190. package/src/components/DataDisplay/Chip/Chip.tsx +28 -0
  191. package/src/components/DataDisplay/Chips/Chips.tsx +56 -0
  192. package/src/components/DataDisplay/DataTable/DataTable.tsx +95 -0
  193. package/src/components/DataDisplay/DataTable/components/TablePagination.tsx +35 -0
  194. package/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.tsx +31 -0
  195. package/src/components/DataDisplay/ReactJoyride/ReactJoyride.tsx +64 -0
  196. package/src/components/DataDisplay/Separator/Separator.tsx +32 -0
  197. package/src/components/DataDisplay/Skeleton/Skeleton.tsx +20 -0
  198. package/src/components/DataDisplay/StatusCard/StatusCard.tsx +36 -0
  199. package/src/components/DataDisplay/Timeline/Timeline.tsx +58 -0
  200. package/src/components/DataDisplay/Typography/Typography.tsx +25 -0
  201. package/src/components/Feedback/Alert/Alert.tsx +38 -0
  202. package/src/components/Feedback/Snackbar/Snackbar.tsx +54 -0
  203. package/src/components/Feedback/Spinner/Spinner.tsx +15 -0
  204. package/src/components/Feedback/Tooltip/Tooltip.tsx +54 -0
  205. package/src/components/Input/Button/Button.tsx +26 -0
  206. package/src/components/Input/DatePicker/DatePicker.tsx +41 -0
  207. package/src/components/Input/DateTimePicker/DateTimePicker.tsx +42 -0
  208. package/src/components/Input/FileUpload/FileUpload.tsx +41 -0
  209. package/src/components/Input/FormActions/FormActions.tsx +37 -0
  210. package/src/components/Input/FormControlWrapper/FormControlWrapper.tsx +31 -0
  211. package/src/components/Input/FormWrapper/FormWrapper.tsx +20 -0
  212. package/src/components/Input/HelpButton/HelpButton.tsx +14 -0
  213. package/src/components/Input/IconButtons/IconButtons/DeleteButton.tsx +16 -0
  214. package/src/components/Input/IconButtons/IconButtons/EditButton.tsx +16 -0
  215. package/src/components/Input/IconButtons/IconButtons/RedirectButton.tsx +16 -0
  216. package/src/components/Input/IconButtons/IconButtons/ViewButton.tsx +16 -0
  217. package/src/components/Input/IconButtons/IconButtons.tsx +18 -0
  218. package/src/components/Input/LabelWrapper/LabelWrapper.tsx +26 -0
  219. package/src/components/Input/MultiCheckBox/MultiCheckBox.tsx +34 -0
  220. package/src/components/Input/MultiSelect/MultiSelect.tsx +40 -0
  221. package/src/components/Input/OtpInput/OtpInput.tsx +29 -0
  222. package/src/components/Input/PasswordField/PasswordField.tsx +34 -0
  223. package/src/components/Input/RadioGroup/RadioGroup.tsx +38 -0
  224. package/src/components/Input/SearchBar/SearchBar.tsx +26 -0
  225. package/src/components/Input/Select/Select.tsx +41 -0
  226. package/src/components/Input/SingleCheckBox/SingleCheckBox.tsx +29 -0
  227. package/src/components/Input/SingleSelect/SingleSelect.tsx +40 -0
  228. package/src/components/Input/Switch/Switch.tsx +23 -0
  229. package/src/components/Input/Tags/Tags.tsx +26 -0
  230. package/src/components/Input/TextField/TextField.tsx +35 -0
  231. package/src/components/Input/Textarea/Textarea.tsx +36 -0
  232. package/src/components/Layout/AppLayout/AppLayout.tsx +33 -1
  233. package/src/components/Layout/AppLayout/components/MenuToggleButton.tsx +16 -0
  234. package/src/components/Layout/AppLayout/components/Sidebar/MenuBar.tsx +26 -0
  235. package/src/components/Layout/AppLayout/components/Sidebar/MenuItem.tsx +51 -1
  236. package/src/components/Layout/AppLayout/components/Sidebar/Sidebar.tsx +173 -104
  237. package/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.tsx +139 -9
  238. package/src/components/Layout/AppLayout/components/UserProfilePopup.tsx +34 -0
  239. package/src/components/Layout/AppLayout/context/SidebarContext.tsx +48 -0
  240. package/src/components/Layout/AppLayout/types.ts +1 -1
  241. package/src/components/Layout/PageContent/PageContent.tsx +19 -0
  242. package/src/components/Layout/PageHeader/PageHeader.tsx +46 -0
  243. package/src/components/Layout/PageHeader/components/SearchBar.tsx +22 -0
  244. package/src/components/Layout/UserBox/UserBox.tsx +40 -0
  245. package/src/components/Navigation/Breadcrumbs/Breadcrumbs.tsx +33 -0
  246. package/src/components/Navigation/Calendar/Calendar.tsx +63 -0
  247. package/src/components/Navigation/ConfirmDialog/ConfirmDialog.tsx +64 -0
  248. package/src/components/Navigation/Dialog/Dialog.tsx +55 -0
  249. package/src/components/Navigation/DialogButton/DialogButton.tsx +64 -0
  250. package/src/components/Navigation/DropDownMenu/DropDownMenu.tsx +73 -0
  251. package/src/components/Navigation/PreviewFiles/PreviewFiles.tsx +93 -0
  252. package/src/components/Navigation/Stepper/Stepper.tsx +56 -10
  253. package/src/components/Navigation/TabsContainer/TabsContainer.tsx +80 -0
  254. package/src/components/Navigation/UploadDialog/UploadDialog.tsx +64 -0
  255. package/src/shadcn-components/Layout/Sheet/Sheet.tsx +2 -2
@@ -6,6 +6,38 @@ import { Sidebar } from './components/Sidebar/Sidebar';
6
6
  import { SidebarProvider, useSidebar } from './context/SidebarContext';
7
7
  import { AppLayoutProps } from './types';
8
8
 
9
+ /**
10
+ * AppLayout Component
11
+ *
12
+ * Main layout component that provides a persistent sidebar navigation structure with responsive behavior.
13
+ * Automatically collapses on small screens and wraps content in a SidebarProvider for state management.
14
+ * Includes a floating help docs button in the bottom-right corner.
15
+ *
16
+ * @param {React.ReactNode} children - Main content to render inside the layout
17
+ * @param {SideMenuItemProps[]} menu - Navigation menu items for the sidebar
18
+ * @param {ReactNode | ((params: { collapsed: boolean }) => ReactNode)} [actions] - Optional action elements or function that receives collapsed state
19
+ * @param {string} [mainContainerClassName=''] - Additional CSS classes for the main content container
20
+ * @param {HelpDocsConfig} [helpDocsConfig] - Configuration for context-based help documentation
21
+ * @param {boolean} [initialCollapsed] - Initial state of sidebar collapse (auto-determined on small screens)
22
+ * @param {UserProfilePopupProps} [userProfileParams] - Configuration for user profile popup/menu
23
+ *
24
+ * @returns {React.ReactElement} The complete app layout with sidebar and main content area
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <AppLayout
29
+ * menu={menuItems}
30
+ * userProfileParams={{
31
+ * userFullName: "John Doe",
32
+ * email: "john@example.com",
33
+ * onLogout: handleLogout
34
+ * }}
35
+ * actions={<ActionButtons />}
36
+ * >
37
+ * <YourContent />
38
+ * </AppLayout>
39
+ * ```
40
+ */
9
41
  export const AppLayout: React.FC<AppLayoutProps> = ({
10
42
  children,
11
43
  menu,
@@ -73,7 +105,7 @@ const AppLayoutContent: React.FC<AppLayoutProps> = ({
73
105
  display: 'flex',
74
106
  flexDirection: 'column',
75
107
  }}
76
- className={`w-full p-0 ${mainContainerClassName}`}
108
+ className={`w-full p-0 bg-background ${mainContainerClassName}`}
77
109
  >
78
110
  {children}
79
111
  </div>
@@ -9,6 +9,22 @@ interface MenuToggleButtonProps {
9
9
  className?: string;
10
10
  }
11
11
 
12
+ /**
13
+ * MenuToggleButton Component
14
+ *
15
+ * Mobile-only button that toggles the sidebar visibility. This button is hidden on desktop screens
16
+ * (above 768px width) using the Tailwind media query. Useful for including in page headers
17
+ * on mobile devices to control sidebar drawer visibility.
18
+ *
19
+ * @param {string} [className=''] - Additional CSS classes to apply to the button
20
+ *
21
+ * @returns {React.ReactElement} A menu toggle button (empty fragment on desktop)
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <MenuToggleButton className="ml-4" />
26
+ * ```
27
+ */
12
28
  export const MenuToggleButton: React.FC<MenuToggleButtonProps> = ({
13
29
  className = '',
14
30
  }) => {
@@ -17,6 +17,32 @@ const containerVariants = {
17
17
  },
18
18
  };
19
19
 
20
+ /**
21
+ * MenuBar Component
22
+ *
23
+ * Container component that renders the current menu level with optional back navigation.
24
+ * Displays a header with "Back" button when viewing nested menus and animates menu item
25
+ * appearance using staggered animations. Supports both collapsed and expanded sidebar states.
26
+ *
27
+ * @param {MenuState} currentMenuState - Current menu level state with menu items, title, and path
28
+ * @param {(params: InternalMenuClickHandlerProps) => void} internalMenuClickHandler - Callback to navigate into nested menus
29
+ * @param {() => void} previousMenuClickHandler - Callback to navigate back to previous menu level
30
+ * @param {() => void} [onClose] - Optional callback to close the mobile drawer
31
+ * @param {boolean} [collapsed] - Whether the sidebar is collapsed
32
+ * @param {(collapsed: boolean) => void} [setCollapsed] - Function to update sidebar collapse state
33
+ *
34
+ * @returns {React.ReactElement} Animated menu container with menu items and optional back button
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * <MenuBar
39
+ * currentMenuState={menuState}
40
+ * internalMenuClickHandler={handleInternalClick}
41
+ * previousMenuClickHandler={handleBack}
42
+ * collapsed={false}
43
+ * />
44
+ * ```
45
+ */
20
46
  export const MenuBar: React.FC<MenuBarProps> = ({
21
47
  currentMenuState,
22
48
  internalMenuClickHandler,
@@ -17,6 +17,43 @@ import {
17
17
  SubMenuItemContainer,
18
18
  } from './StyledComponents';
19
19
 
20
+ /**
21
+ * MenuItem Component
22
+ *
23
+ * Renders a single menu item that can be one of three types:
24
+ * 1. **Internal Menu Item** (has nested menu): Shows a back arrow on hover, opens nested menu on click
25
+ * 2. **Sub Menu Item** (has expandable sub-items): Shows chevron icon, expands/collapses sub-items below
26
+ * 3. **Regular Link Item** (direct navigation): Direct link to a route
27
+ *
28
+ * Automatically shows tooltips when collapsed and handles drawer closing logic for mobile.
29
+ * Supports route matching to highlight the active menu item based on current URL.
30
+ *
31
+ * @param {number} index - Unique index of the menu item in the list
32
+ * @param {SideMenuItemProps} menuItem - Menu item configuration with name, path, icon, and optional menu/subMenu
33
+ * @param {string | null} currentMenuPath - Current path prefix for building full paths (for nested menus)
34
+ * @param {(params: InternalMenuClickHandlerProps) => void} internalMenuClickHandler - Callback when opening a nested/internal menu
35
+ * @param {() => void} [onClose] - Optional callback to close the mobile drawer after navigation
36
+ * @param {boolean} [collapsed] - Whether the sidebar is in collapsed state
37
+ * @param {(collapsed: boolean) => void} [setCollapsed] - Function to update sidebar collapse state
38
+ *
39
+ * @returns {React.ReactElement} Animated menu item with appropriate interactive elements
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <MenuItem
44
+ * index={0}
45
+ * menuItem={{
46
+ * name: "Dashboard",
47
+ * path: "/dashboard",
48
+ * icon: <DashboardIcon />,
49
+ * menu: subMenuItems // For nested menus
50
+ * }}
51
+ * currentMenuPath="/admin"
52
+ * internalMenuClickHandler={handleMenuClick}
53
+ * collapsed={false}
54
+ * />
55
+ * ```
56
+ */
20
57
  export const MenuItem: React.FC<MenuItemProps> = ({
21
58
  index,
22
59
  menuItem,
@@ -230,7 +267,20 @@ export const MenuItem: React.FC<MenuItemProps> = ({
230
267
  );
231
268
  };
232
269
 
233
- // Sub menu item component
270
+ /**
271
+ * SubMenuItem Component
272
+ *
273
+ * Internal component that renders an individual sub-menu item (child item within an expandable menu).
274
+ * These are leaf nodes that directly navigate to routes. Automatically closes the mobile drawer
275
+ * on navigation since they are terminal menu items.
276
+ *
277
+ * @param {number} index - Unique index of the sub-menu item
278
+ * @param {{ name: string; path: string }} subMenuItem - Sub-menu item data with name and path
279
+ * @param {string} subMenuButtonPath - Parent menu's path prefix for building full navigation path
280
+ * @param {() => void} [onClose] - Optional callback to close the mobile drawer after navigation
281
+ *
282
+ * @returns {React.ReactElement} A navigation link for the sub-menu item
283
+ */
234
284
  const SubMenuItem: React.FC<{
235
285
  index: number;
236
286
  subMenuItem: { name: string; path: string };
@@ -1,4 +1,5 @@
1
- import { AnimatePresence, motion } from 'framer-motion';
1
+ import { Sheet, SheetContent } from '@/shadcn-components/Layout/Sheet/Sheet';
2
+ import { motion } from 'framer-motion';
2
3
  import { PanelLeftClose, PanelLeftOpen } from 'lucide-react';
3
4
  import React, { ReactNode, useState } from 'react';
4
5
  import { useMediaQuery } from '../../../../../hooks/useMediaQuery';
@@ -6,7 +7,7 @@ import { CampxFullLogoIcon } from '../../../../Assets/Icons/IconComponents/Campx
6
7
  import { CampxIcon } from '../../../../Assets/Icons/IconComponents/CampxIcon';
7
8
  import { Button } from '../../../../Input/Button/Button';
8
9
  import { UserProfilePopup, UserProfilePopupProps } from '../UserProfilePopup';
9
- import { SideMenuItemProps } from './interfaces';
10
+ import { SideMenuItemProps, SidebarNavigationHook } from './interfaces';
10
11
  import { MenuBar } from './MenuBar';
11
12
  import { useSidebarNavigation } from './useSidebarNavigation';
12
13
 
@@ -14,7 +15,7 @@ interface SidebarProps {
14
15
  /** Menu items for navigation */
15
16
  menu: SideMenuItemProps[];
16
17
  /**User profile Params */
17
- userProfileParams: UserProfilePopupProps;
18
+ userProfileParams?: UserProfilePopupProps;
18
19
  /** Whether the sidebar is collapsed */
19
20
  collapsed: boolean;
20
21
  /** Function to toggle sidebar collapse state */
@@ -23,6 +24,140 @@ interface SidebarProps {
23
24
  actions: ReactNode;
24
25
  }
25
26
 
27
+ interface SidebarContentProps {
28
+ collapsed: boolean;
29
+ setCollapsed: (collapsed: boolean) => void;
30
+ onToggle: () => void;
31
+ isSmallScreen: boolean;
32
+ navigation: SidebarNavigationHook;
33
+ userProfileParams?: UserProfilePopupProps;
34
+ actions: ReactNode;
35
+ hovered: boolean;
36
+ setHovered: (hovered: boolean) => void;
37
+ }
38
+
39
+ /**
40
+ * SidebarContent Component
41
+ * Renders the actual sidebar UI content (header, menu, footer)
42
+ * This component is reused for both mobile and desktop layouts
43
+ */
44
+ const SidebarContent: React.FC<SidebarContentProps> = ({
45
+ collapsed,
46
+ setCollapsed,
47
+ onToggle,
48
+ isSmallScreen,
49
+ navigation,
50
+ userProfileParams,
51
+ actions,
52
+ hovered,
53
+ setHovered,
54
+ }) => (
55
+ <SidebarContainer>
56
+ {/* Sidebar Header */}
57
+ <div
58
+ className={`flex flex-row justify-between items-center h-16 ${
59
+ collapsed && !isSmallScreen ? '' : 'px-4'
60
+ } md:h-[54px]`}
61
+ >
62
+ {/* Logo - Show icon when collapsed (desktop only), full logo otherwise */}
63
+ {collapsed && !isSmallScreen ? (
64
+ <div
65
+ onClick={() => {
66
+ setHovered(false);
67
+ onToggle();
68
+ }}
69
+ onMouseEnter={() => setHovered(true)}
70
+ onMouseLeave={() => setHovered(false)}
71
+ className="w-full hover:cursor-ew-resize flex justify-center"
72
+ >
73
+ {hovered ? <PanelLeftOpen size={20} /> : <CampxIcon size={32} />}
74
+ </div>
75
+ ) : (
76
+ <>
77
+ <CampxFullLogoIcon />
78
+ <Button
79
+ onClick={onToggle}
80
+ variant="ghost"
81
+ size="icon-sm"
82
+ className="hover:cursor-ew-resize"
83
+ >
84
+ <PanelLeftClose size={20} />
85
+ </Button>
86
+ </>
87
+ )}
88
+ </div>
89
+
90
+ {/* Menu Content */}
91
+ <motion.div
92
+ key={`sidebar-${navigation.currentMenuState.title || 'main'}`}
93
+ initial={{ x: navigation.menuPosition }}
94
+ animate={{ x: 0 }}
95
+ transition={{
96
+ duration: 0.3,
97
+ ease: navigation.menuPosition ? 'circOut' : 'circIn',
98
+ }}
99
+ className="h-[calc(100%-165px)] w-full"
100
+ onClick={() => setCollapsed(false)}
101
+ >
102
+ <MenuBar
103
+ currentMenuState={navigation.currentMenuState}
104
+ menuPosition={navigation.menuPosition}
105
+ internalMenuClickHandler={navigation.internalMenuClickHandler}
106
+ previousMenuClickHandler={navigation.previousMenuClickHandler}
107
+ onClose={isSmallScreen ? onToggle : undefined}
108
+ collapsed={isSmallScreen ? false : collapsed}
109
+ setCollapsed={setCollapsed}
110
+ />
111
+ </motion.div>
112
+
113
+ {/* Footer */}
114
+ {(actions || userProfileParams) && (
115
+ <div className="fixed bottom-0 left-0 border-t border-border flex flex-col gap-1">
116
+ {actions}
117
+ {userProfileParams && (
118
+ <UserProfilePopup
119
+ userFullName={userProfileParams?.userFullName}
120
+ email={userProfileParams?.email}
121
+ onLogout={userProfileParams?.onLogout}
122
+ onAccountClick={userProfileParams?.onAccountClick}
123
+ profileActions={userProfileParams?.profileActions}
124
+ collapsed={isSmallScreen ? false : collapsed}
125
+ />
126
+ )}
127
+ </div>
128
+ )}
129
+ </SidebarContainer>
130
+ );
131
+
132
+ /**
133
+ * Sidebar Component
134
+ *
135
+ * Responsive sidebar navigation component that displays differently on mobile and desktop:
136
+ * - **Mobile**: Renders as a collapsible Sheet drawer
137
+ * - **Desktop**: Renders as an animated fixed-width sidebar with collapse/expand animation
138
+ *
139
+ * Manages menu navigation state, hover effects, and user profile popup. Automatically
140
+ * handles internal menu navigation and animated transitions between menu levels.
141
+ *
142
+ * @param {SideMenuItemProps[]} menu - Navigation menu items with support for nested/internal menus and sub-menus
143
+ * @param {UserProfilePopupProps} userProfileParams - User profile configuration including name, email, and action handlers
144
+ * @param {boolean} collapsed - Current collapse state of the sidebar
145
+ * @param {(collapsed: boolean) => void} setCollapsed - Function to update the collapse state
146
+ * @param {ReactNode} actions - Action elements to display in the sidebar footer (above user profile)
147
+ *
148
+ * @returns {React.ReactElement} Responsive sidebar component (Sheet on mobile, animated div on desktop)
149
+ *
150
+ * @example
151
+ * ```tsx
152
+ * <Sidebar
153
+ * menu={navigationMenu}
154
+ * collapsed={sidebarCollapsed}
155
+ * setCollapsed={setSidebarCollapsed}
156
+ * userProfileParams={userProfile}
157
+ * actions={<CustomActions />}
158
+ * />
159
+ * ```
160
+ */
26
161
  export const Sidebar: React.FC<SidebarProps> = ({
27
162
  menu,
28
163
  userProfileParams,
@@ -32,115 +167,49 @@ export const Sidebar: React.FC<SidebarProps> = ({
32
167
  }) => {
33
168
  const [hovered, setHovered] = useState(false);
34
169
  const isSmallScreen = useMediaQuery('(max-width: 768px)');
35
- // Use the navigation hook
36
170
  const navigation = useSidebarNavigation(menu);
37
171
 
38
172
  const onToggle = () => {
39
173
  setCollapsed(!collapsed);
40
174
  };
41
175
 
42
- return (
43
- <>
44
- {/* Mobile overlay backdrop */}
45
- <AnimatePresence>
46
- {!collapsed && isSmallScreen && (
47
- <motion.div
48
- initial={{ opacity: 0 }}
49
- animate={{ opacity: 1 }}
50
- exit={{ opacity: 0 }}
51
- transition={{ duration: 0.2 }}
52
- className="fixed inset-0 bg-black/50 z-[1299]"
53
- onClick={onToggle}
54
- />
55
- )}
56
- </AnimatePresence>
176
+ // Sidebar content component with all shared props
177
+ const sidebarContent = (
178
+ <SidebarContent
179
+ collapsed={collapsed}
180
+ setCollapsed={setCollapsed}
181
+ onToggle={onToggle}
182
+ isSmallScreen={isSmallScreen}
183
+ navigation={navigation}
184
+ userProfileParams={userProfileParams}
185
+ actions={actions}
186
+ hovered={hovered}
187
+ setHovered={setHovered}
188
+ />
189
+ );
57
190
 
58
- {/* Persistent Sidebar */}
59
- <motion.div
60
- animate={{
61
- width: collapsed ? '64px' : '250px',
62
- x: isSmallScreen && collapsed ? '-100%' : '0%',
63
- }}
64
- transition={{ duration: 0.3, ease: [0.32, 0.72, 0, 1] }}
65
- className={`${
66
- isSmallScreen ? 'fixed' : 'relative'
67
- } h-screen flex-shrink-0 ${isSmallScreen ? 'z-[1300]' : 'z-1'}`}
68
- >
69
- <SidebarContainer>
70
- {/* Sidebar Header */}
71
- <div
72
- className={`flex flex-row justify-between items-center h-16 ${
73
- collapsed ? '' : 'px-4'
74
- } md:h-[54px]`}
75
- >
76
- {/* Logo - Show icon when collapsed, full logo when expanded */}
77
- {collapsed ? (
78
- <div
79
- onClick={() => {
80
- setHovered(false);
81
- onToggle();
82
- }}
83
- onMouseEnter={() => setHovered(true)}
84
- onMouseLeave={() => setHovered(false)}
85
- className="w-full hover:cursor-ew-resize flex justify-center"
86
- >
87
- {hovered ? (
88
- <PanelLeftOpen size={20} />
89
- ) : (
90
- <CampxIcon size={32} />
91
- )}
92
- </div>
93
- ) : (
94
- <>
95
- <CampxFullLogoIcon />
96
- <Button
97
- onClick={onToggle}
98
- variant="ghost"
99
- size="icon-sm"
100
- className="hover:cursor-ew-resize"
101
- >
102
- <PanelLeftClose size={20} />
103
- </Button>
104
- </>
105
- )}
106
- </div>
191
+ // Mobile: Wrap with Sheet
192
+ if (isSmallScreen) {
193
+ return (
194
+ <Sheet open={!collapsed} onOpenChange={(open) => setCollapsed(!open)}>
195
+ <SheetContent side="left" className="w-[250px] p-0 [&>button]:hidden">
196
+ {sidebarContent}
197
+ </SheetContent>
198
+ </Sheet>
199
+ );
200
+ }
107
201
 
108
- {/* Menu Content */}
109
- <motion.div
110
- key={`sidebar-${navigation.currentMenuState.title || 'main'}`}
111
- initial={{ x: navigation.menuPosition }}
112
- animate={{ x: 0 }}
113
- transition={{
114
- duration: 0.3,
115
- ease: navigation.menuPosition ? 'circOut' : 'circIn',
116
- }}
117
- className="h-[calc(100%-165px)] w-full"
118
- onClick={() => setCollapsed(false)}
119
- >
120
- <MenuBar
121
- currentMenuState={navigation.currentMenuState}
122
- menuPosition={navigation.menuPosition}
123
- internalMenuClickHandler={navigation.internalMenuClickHandler}
124
- previousMenuClickHandler={navigation.previousMenuClickHandler}
125
- onClose={isSmallScreen ? onToggle : undefined}
126
- collapsed={collapsed}
127
- setCollapsed={setCollapsed}
128
- />
129
- </motion.div>
130
- <div className="fixed bottom-0 left-0 border-t border-border">
131
- {actions}
132
- <UserProfilePopup
133
- userFullName={userProfileParams?.userFullName}
134
- email={userProfileParams?.email}
135
- onLogout={userProfileParams?.onLogout}
136
- onAccountClick={userProfileParams?.onAccountClick}
137
- profileActions={userProfileParams?.profileActions}
138
- collapsed={collapsed}
139
- />
140
- </div>
141
- </SidebarContainer>
142
- </motion.div>
143
- </>
202
+ // Desktop: Wrap with Framer Motion for width animation
203
+ return (
204
+ <motion.div
205
+ animate={{
206
+ width: collapsed ? '64px' : '250px',
207
+ }}
208
+ transition={{ duration: 0.3, ease: [0.32, 0.72, 0, 1] }}
209
+ className="relative h-screen flex-shrink-0"
210
+ >
211
+ {sidebarContent}
212
+ </motion.div>
144
213
  );
145
214
  };
146
215