@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.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/types/src/components/Assets/ErrorPages/ComingSoon.d.ts +24 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/InternalServerError.d.ts +20 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/NoInternetConnection.d.ts +20 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/NoItemFound.d.ts +28 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/PageNotFound.d.ts +21 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/ResourceNotFound.d.ts +21 -0
- package/dist/cjs/types/src/components/Assets/ErrorPages/UnAuthorized.d.ts +31 -0
- package/dist/cjs/types/src/components/Assets/Icons/Icons.d.ts +54 -0
- package/dist/cjs/types/src/components/Charts/BarChart/BarChart.d.ts +38 -0
- package/dist/cjs/types/src/components/Charts/BarChart/HorizontalBarChart.d.ts +93 -0
- package/dist/cjs/types/src/components/Charts/BarChart/VerticalBarChart.d.ts +110 -0
- package/dist/cjs/types/src/components/Charts/LineChart/LineChart.d.ts +89 -0
- package/dist/cjs/types/src/components/Charts/PieChart/PieChart.d.ts +86 -0
- package/dist/cjs/types/src/components/Charts/TreeMap/TreeMap.d.ts +74 -0
- package/dist/cjs/types/src/components/DataDisplay/Accordion/Accordion.d.ts +54 -0
- package/dist/cjs/types/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.d.ts +35 -0
- package/dist/cjs/types/src/components/DataDisplay/ActivityLogView/ActivityLogView.d.ts +78 -0
- package/dist/cjs/types/src/components/DataDisplay/Avatar/Avatar.d.ts +40 -0
- package/dist/cjs/types/src/components/DataDisplay/Chip/Chip.d.ts +28 -0
- package/dist/cjs/types/src/components/DataDisplay/Chips/Chips.d.ts +55 -0
- package/dist/cjs/types/src/components/DataDisplay/DataTable/DataTable.d.ts +95 -0
- package/dist/cjs/types/src/components/DataDisplay/DataTable/components/TablePagination.d.ts +35 -0
- package/dist/cjs/types/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.d.ts +30 -0
- package/dist/cjs/types/src/components/DataDisplay/ReactJoyride/ReactJoyride.d.ts +64 -0
- package/dist/cjs/types/src/components/DataDisplay/Separator/Separator.d.ts +30 -0
- package/dist/cjs/types/src/components/DataDisplay/Skeleton/Skeleton.d.ts +20 -0
- package/dist/cjs/types/src/components/DataDisplay/StatusCard/StatusCard.d.ts +36 -0
- package/dist/cjs/types/src/components/DataDisplay/Timeline/Timeline.d.ts +58 -0
- package/dist/cjs/types/src/components/DataDisplay/Typography/Typography.d.ts +25 -0
- package/dist/cjs/types/src/components/Feedback/Alert/Alert.d.ts +31 -0
- package/dist/cjs/types/src/components/Feedback/Snackbar/Snackbar.d.ts +54 -0
- package/dist/cjs/types/src/components/Feedback/Spinner/Spinner.d.ts +15 -0
- package/dist/cjs/types/src/components/Feedback/Tooltip/Tooltip.d.ts +54 -0
- package/dist/cjs/types/src/components/Input/Button/Button.d.ts +26 -0
- package/dist/cjs/types/src/components/Input/DatePicker/DatePicker.d.ts +43 -1
- package/dist/cjs/types/src/components/Input/DatePicker/components/DatePickerFilter.d.ts +2 -0
- package/dist/cjs/types/src/components/Input/DatePicker/components/DatePickerInput.d.ts +2 -0
- package/dist/cjs/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +44 -1
- package/dist/cjs/types/src/components/Input/DateTimePicker/components/DateTimePickerFilter.d.ts +2 -0
- package/dist/cjs/types/src/components/Input/DateTimePicker/components/DateTimePickerInput.d.ts +2 -0
- package/dist/cjs/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
- package/dist/cjs/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
- package/dist/cjs/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
- package/dist/cjs/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
- package/dist/cjs/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
- package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
- package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
- package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
- package/dist/cjs/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
- package/dist/cjs/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
- package/dist/cjs/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
- package/dist/cjs/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
- package/dist/cjs/types/src/components/Input/MultiSelect/MultiSelect.d.ts +42 -0
- package/dist/cjs/types/src/components/Input/MultiSelect/components/MultiSelectFilter.d.ts +1 -1
- package/dist/cjs/types/src/components/Input/MultiSelect/components/MultiSelectInput.d.ts +1 -1
- package/dist/cjs/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
- package/dist/cjs/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
- package/dist/cjs/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
- package/dist/cjs/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
- package/dist/cjs/types/src/components/Input/Select/Select.d.ts +34 -1
- package/dist/cjs/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
- package/dist/cjs/types/src/components/Input/SingleSelect/SingleSelect.d.ts +42 -0
- package/dist/cjs/types/src/components/Input/SingleSelect/components/SingleFilter.d.ts +1 -1
- package/dist/cjs/types/src/components/Input/SingleSelect/components/SingleInput.d.ts +1 -1
- package/dist/cjs/types/src/components/Input/Switch/Switch.d.ts +23 -0
- package/dist/cjs/types/src/components/Input/Tags/Tags.d.ts +26 -0
- package/dist/cjs/types/src/components/Input/TextField/TextField.d.ts +35 -0
- package/dist/cjs/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
- package/dist/cjs/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
- package/dist/cjs/types/src/components/Layout/AppLayout/types.d.ts +1 -1
- package/dist/cjs/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
- package/dist/cjs/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
- package/dist/cjs/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
- package/dist/cjs/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
- package/dist/cjs/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
- package/dist/cjs/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
- package/dist/cjs/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
- package/dist/cjs/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
- package/dist/cjs/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
- package/dist/cjs/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
- package/dist/cjs/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
- package/dist/cjs/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
- package/dist/cjs/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
- package/dist/cjs/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
- package/dist/cjs/types/src/shadcn-components/Input/Select/Select.d.ts +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/types/src/components/Assets/ErrorPages/ComingSoon.d.ts +24 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/InternalServerError.d.ts +20 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/NoInternetConnection.d.ts +20 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/NoItemFound.d.ts +28 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/PageNotFound.d.ts +21 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/ResourceNotFound.d.ts +21 -0
- package/dist/esm/types/src/components/Assets/ErrorPages/UnAuthorized.d.ts +31 -0
- package/dist/esm/types/src/components/Assets/Icons/Icons.d.ts +54 -0
- package/dist/esm/types/src/components/Charts/BarChart/BarChart.d.ts +38 -0
- package/dist/esm/types/src/components/Charts/BarChart/HorizontalBarChart.d.ts +93 -0
- package/dist/esm/types/src/components/Charts/BarChart/VerticalBarChart.d.ts +110 -0
- package/dist/esm/types/src/components/Charts/LineChart/LineChart.d.ts +89 -0
- package/dist/esm/types/src/components/Charts/PieChart/PieChart.d.ts +86 -0
- package/dist/esm/types/src/components/Charts/TreeMap/TreeMap.d.ts +74 -0
- package/dist/esm/types/src/components/DataDisplay/Accordion/Accordion.d.ts +54 -0
- package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.d.ts +35 -0
- package/dist/esm/types/src/components/DataDisplay/ActivityLogView/ActivityLogView.d.ts +78 -0
- package/dist/esm/types/src/components/DataDisplay/Avatar/Avatar.d.ts +40 -0
- package/dist/esm/types/src/components/DataDisplay/Chip/Chip.d.ts +28 -0
- package/dist/esm/types/src/components/DataDisplay/Chips/Chips.d.ts +55 -0
- package/dist/esm/types/src/components/DataDisplay/DataTable/DataTable.d.ts +95 -0
- package/dist/esm/types/src/components/DataDisplay/DataTable/components/TablePagination.d.ts +35 -0
- package/dist/esm/types/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.d.ts +30 -0
- package/dist/esm/types/src/components/DataDisplay/ReactJoyride/ReactJoyride.d.ts +64 -0
- package/dist/esm/types/src/components/DataDisplay/Separator/Separator.d.ts +30 -0
- package/dist/esm/types/src/components/DataDisplay/Skeleton/Skeleton.d.ts +20 -0
- package/dist/esm/types/src/components/DataDisplay/StatusCard/StatusCard.d.ts +36 -0
- package/dist/esm/types/src/components/DataDisplay/Timeline/Timeline.d.ts +58 -0
- package/dist/esm/types/src/components/DataDisplay/Typography/Typography.d.ts +25 -0
- package/dist/esm/types/src/components/Feedback/Alert/Alert.d.ts +31 -0
- package/dist/esm/types/src/components/Feedback/Snackbar/Snackbar.d.ts +54 -0
- package/dist/esm/types/src/components/Feedback/Spinner/Spinner.d.ts +15 -0
- package/dist/esm/types/src/components/Feedback/Tooltip/Tooltip.d.ts +54 -0
- package/dist/esm/types/src/components/Input/Button/Button.d.ts +26 -0
- package/dist/esm/types/src/components/Input/DatePicker/DatePicker.d.ts +43 -1
- package/dist/esm/types/src/components/Input/DatePicker/components/DatePickerFilter.d.ts +2 -0
- package/dist/esm/types/src/components/Input/DatePicker/components/DatePickerInput.d.ts +2 -0
- package/dist/esm/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +44 -1
- package/dist/esm/types/src/components/Input/DateTimePicker/components/DateTimePickerFilter.d.ts +2 -0
- package/dist/esm/types/src/components/Input/DateTimePicker/components/DateTimePickerInput.d.ts +2 -0
- package/dist/esm/types/src/components/Input/FileUpload/FileUpload.d.ts +41 -0
- package/dist/esm/types/src/components/Input/FormActions/FormActions.d.ts +37 -0
- package/dist/esm/types/src/components/Input/FormControlWrapper/FormControlWrapper.d.ts +31 -0
- package/dist/esm/types/src/components/Input/FormWrapper/FormWrapper.d.ts +20 -0
- package/dist/esm/types/src/components/Input/HelpButton/HelpButton.d.ts +14 -0
- package/dist/esm/types/src/components/Input/IconButtons/IconButtons/DeleteButton.d.ts +16 -0
- package/dist/esm/types/src/components/Input/IconButtons/IconButtons/EditButton.d.ts +16 -0
- package/dist/esm/types/src/components/Input/IconButtons/IconButtons/RedirectButton.d.ts +16 -0
- package/dist/esm/types/src/components/Input/IconButtons/IconButtons/ViewButton.d.ts +16 -0
- package/dist/esm/types/src/components/Input/IconButtons/IconButtons.d.ts +18 -0
- package/dist/esm/types/src/components/Input/LabelWrapper/LabelWrapper.d.ts +26 -0
- package/dist/esm/types/src/components/Input/MultiCheckBox/MultiCheckBox.d.ts +34 -0
- package/dist/esm/types/src/components/Input/MultiSelect/MultiSelect.d.ts +42 -0
- package/dist/esm/types/src/components/Input/MultiSelect/components/MultiSelectFilter.d.ts +1 -1
- package/dist/esm/types/src/components/Input/MultiSelect/components/MultiSelectInput.d.ts +1 -1
- package/dist/esm/types/src/components/Input/OtpInput/OtpInput.d.ts +29 -0
- package/dist/esm/types/src/components/Input/PasswordField/PasswordField.d.ts +34 -0
- package/dist/esm/types/src/components/Input/RadioGroup/RadioGroup.d.ts +38 -0
- package/dist/esm/types/src/components/Input/SearchBar/SearchBar.d.ts +26 -0
- package/dist/esm/types/src/components/Input/Select/Select.d.ts +34 -1
- package/dist/esm/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
- package/dist/esm/types/src/components/Input/SingleSelect/SingleSelect.d.ts +42 -0
- package/dist/esm/types/src/components/Input/SingleSelect/components/SingleFilter.d.ts +1 -1
- package/dist/esm/types/src/components/Input/SingleSelect/components/SingleInput.d.ts +1 -1
- package/dist/esm/types/src/components/Input/Switch/Switch.d.ts +23 -0
- package/dist/esm/types/src/components/Input/Tags/Tags.d.ts +26 -0
- package/dist/esm/types/src/components/Input/TextField/TextField.d.ts +35 -0
- package/dist/esm/types/src/components/Input/Textarea/Textarea.d.ts +36 -0
- package/dist/esm/types/src/components/Layout/AppLayout/AppLayout.d.ts +32 -0
- package/dist/esm/types/src/components/Layout/AppLayout/components/MenuToggleButton.d.ts +16 -0
- package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuBar.d.ts +26 -0
- package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/MenuItem.d.ts +37 -0
- package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/Sidebar.d.ts +30 -1
- package/dist/esm/types/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.d.ts +139 -0
- package/dist/esm/types/src/components/Layout/AppLayout/components/UserProfilePopup.d.ts +34 -0
- package/dist/esm/types/src/components/Layout/AppLayout/context/SidebarContext.d.ts +48 -0
- package/dist/esm/types/src/components/Layout/AppLayout/types.d.ts +1 -1
- package/dist/esm/types/src/components/Layout/PageContent/PageContent.d.ts +19 -0
- package/dist/esm/types/src/components/Layout/PageHeader/PageHeader.d.ts +46 -0
- package/dist/esm/types/src/components/Layout/PageHeader/components/SearchBar.d.ts +22 -0
- package/dist/esm/types/src/components/Layout/UserBox/UserBox.d.ts +40 -0
- package/dist/esm/types/src/components/Navigation/Breadcrumbs/Breadcrumbs.d.ts +33 -0
- package/dist/esm/types/src/components/Navigation/Calendar/Calendar.d.ts +63 -0
- package/dist/esm/types/src/components/Navigation/ConfirmDialog/ConfirmDialog.d.ts +64 -0
- package/dist/esm/types/src/components/Navigation/Dialog/Dialog.d.ts +55 -0
- package/dist/esm/types/src/components/Navigation/DialogButton/DialogButton.d.ts +64 -0
- package/dist/esm/types/src/components/Navigation/DropDownMenu/DropDownMenu.d.ts +73 -0
- package/dist/esm/types/src/components/Navigation/PreviewFiles/PreviewFiles.d.ts +54 -0
- package/dist/esm/types/src/components/Navigation/Stepper/Stepper.d.ts +55 -10
- package/dist/esm/types/src/components/Navigation/TabsContainer/TabsContainer.d.ts +80 -0
- package/dist/esm/types/src/components/Navigation/UploadDialog/UploadDialog.d.ts +64 -0
- package/dist/esm/types/src/shadcn-components/Input/Select/Select.d.ts +2 -2
- package/dist/index.d.ts +2963 -15
- package/dist/styles.css +402 -13
- package/package.json +1 -1
- package/src/components/Assets/ErrorPages/ComingSoon.tsx +24 -0
- package/src/components/Assets/ErrorPages/InternalServerError.tsx +20 -0
- package/src/components/Assets/ErrorPages/NoInternetConnection.tsx +20 -0
- package/src/components/Assets/ErrorPages/NoItemFound.tsx +28 -0
- package/src/components/Assets/ErrorPages/PageNotFound.tsx +21 -0
- package/src/components/Assets/ErrorPages/ResourceNotFound.tsx +21 -0
- package/src/components/Assets/ErrorPages/UnAuthorized.tsx +31 -0
- package/src/components/Assets/Icons/Icons.tsx +55 -1
- package/src/components/Charts/BarChart/BarChart.tsx +38 -0
- package/src/components/Charts/BarChart/HorizontalBarChart.tsx +93 -0
- package/src/components/Charts/BarChart/VerticalBarChart.tsx +110 -0
- package/src/components/Charts/LineChart/LineChart.tsx +89 -0
- package/src/components/Charts/PieChart/PieChart.tsx +86 -0
- package/src/components/Charts/TreeMap/TreeMap.tsx +90 -0
- package/src/components/DataDisplay/Accordion/Accordion.tsx +54 -0
- package/src/components/DataDisplay/ActivityLogView/ActivityLogFilter.tsx +35 -0
- package/src/components/DataDisplay/ActivityLogView/ActivityLogView.tsx +84 -0
- package/src/components/DataDisplay/Avatar/Avatar.tsx +40 -0
- package/src/components/DataDisplay/Chip/Chip.tsx +28 -0
- package/src/components/DataDisplay/Chips/Chips.tsx +56 -0
- package/src/components/DataDisplay/DataTable/DataTable.tsx +95 -0
- package/src/components/DataDisplay/DataTable/components/TablePagination.tsx +35 -0
- package/src/components/DataDisplay/DataTable/components/TableView.tsx +31 -5
- package/src/components/DataDisplay/EmptyIllustration/EmptyIllustration.tsx +31 -0
- package/src/components/DataDisplay/ReactJoyride/ReactJoyride.tsx +64 -0
- package/src/components/DataDisplay/Separator/Separator.tsx +32 -0
- package/src/components/DataDisplay/Skeleton/Skeleton.tsx +20 -0
- package/src/components/DataDisplay/StatusCard/StatusCard.tsx +36 -0
- package/src/components/DataDisplay/Timeline/Timeline.tsx +58 -0
- package/src/components/DataDisplay/Typography/Typography.tsx +25 -0
- package/src/components/Feedback/Alert/Alert.tsx +38 -0
- package/src/components/Feedback/Snackbar/Snackbar.tsx +54 -0
- package/src/components/Feedback/Spinner/Spinner.tsx +15 -0
- package/src/components/Feedback/Tooltip/Tooltip.tsx +71 -3
- package/src/components/Input/Button/Button.tsx +26 -0
- package/src/components/Input/Button/ButtonLoader.css +2 -2
- package/src/components/Input/DatePicker/DatePicker.tsx +50 -188
- package/src/components/Input/DatePicker/components/DatePickerFilter.tsx +178 -0
- package/src/components/Input/DatePicker/components/DatePickerInput.tsx +192 -0
- package/src/components/Input/DateTimePicker/DateTimePicker.tsx +50 -294
- package/src/components/Input/DateTimePicker/components/DateTimePickerFilter.tsx +292 -0
- package/src/components/Input/DateTimePicker/components/DateTimePickerInput.tsx +297 -0
- package/src/components/Input/FileUpload/FileUpload.tsx +41 -0
- package/src/components/Input/FormActions/FormActions.tsx +37 -0
- package/src/components/Input/FormControlWrapper/FormControlWrapper.tsx +31 -0
- package/src/components/Input/FormWrapper/FormWrapper.tsx +20 -0
- package/src/components/Input/HelpButton/HelpButton.tsx +14 -0
- package/src/components/Input/IconButtons/IconButtons/DeleteButton.tsx +16 -0
- package/src/components/Input/IconButtons/IconButtons/EditButton.tsx +16 -0
- package/src/components/Input/IconButtons/IconButtons/RedirectButton.tsx +16 -0
- package/src/components/Input/IconButtons/IconButtons/ViewButton.tsx +16 -0
- package/src/components/Input/IconButtons/IconButtons.tsx +18 -0
- package/src/components/Input/LabelWrapper/LabelWrapper.tsx +26 -0
- package/src/components/Input/MultiCheckBox/MultiCheckBox.tsx +34 -0
- package/src/components/Input/MultiSelect/MultiSelect.tsx +42 -0
- package/src/components/Input/MultiSelect/components/MultiSelectFilter.tsx +7 -3
- package/src/components/Input/MultiSelect/components/MultiSelectInput.tsx +8 -3
- package/src/components/Input/OtpInput/OtpInput.tsx +29 -0
- package/src/components/Input/PasswordField/PasswordField.tsx +34 -0
- package/src/components/Input/RadioGroup/RadioGroup.tsx +38 -0
- package/src/components/Input/SearchBar/SearchBar.tsx +26 -0
- package/src/components/Input/Select/Select.tsx +63 -12
- package/src/components/Input/SingleCheckBox/SingleCheckBox.tsx +29 -0
- package/src/components/Input/SingleSelect/SingleSelect.tsx +42 -0
- package/src/components/Input/SingleSelect/components/SingleFilter.tsx +7 -3
- package/src/components/Input/SingleSelect/components/SingleInput.tsx +8 -3
- package/src/components/Input/Switch/Switch.tsx +23 -0
- package/src/components/Input/Tags/Tags.tsx +26 -0
- package/src/components/Input/TextField/TextField.tsx +35 -0
- package/src/components/Input/Textarea/Textarea.tsx +36 -0
- package/src/components/Layout/AppLayout/AppLayout.tsx +33 -1
- package/src/components/Layout/AppLayout/components/MenuToggleButton.tsx +16 -0
- package/src/components/Layout/AppLayout/components/Sidebar/MenuBar.tsx +26 -0
- package/src/components/Layout/AppLayout/components/Sidebar/MenuItem.tsx +51 -1
- package/src/components/Layout/AppLayout/components/Sidebar/Sidebar.tsx +173 -104
- package/src/components/Layout/AppLayout/components/Sidebar/StyledComponents.tsx +139 -9
- package/src/components/Layout/AppLayout/components/UserProfilePopup.tsx +34 -0
- package/src/components/Layout/AppLayout/context/SidebarContext.tsx +48 -0
- package/src/components/Layout/AppLayout/types.ts +1 -1
- package/src/components/Layout/PageContent/PageContent.tsx +19 -0
- package/src/components/Layout/PageHeader/PageHeader.tsx +46 -0
- package/src/components/Layout/PageHeader/components/SearchBar.tsx +22 -0
- package/src/components/Layout/UserBox/UserBox.tsx +40 -0
- package/src/components/Navigation/Breadcrumbs/Breadcrumbs.tsx +33 -0
- package/src/components/Navigation/Calendar/Calendar.tsx +63 -0
- package/src/components/Navigation/ConfirmDialog/ConfirmDialog.tsx +64 -0
- package/src/components/Navigation/Dialog/Dialog.tsx +55 -0
- package/src/components/Navigation/DialogButton/DialogButton.tsx +70 -1
- package/src/components/Navigation/DropDownMenu/DropDownMenu.tsx +74 -1
- package/src/components/Navigation/PreviewFiles/PreviewFiles.tsx +93 -0
- package/src/components/Navigation/Stepper/Stepper.tsx +56 -10
- package/src/components/Navigation/TabsContainer/TabsContainer.tsx +81 -1
- package/src/components/Navigation/UploadDialog/UploadDialog.tsx +64 -0
- package/src/shadcn-components/DataDisplay/Dialog/Dialog.tsx +2 -2
- package/src/shadcn-components/Input/Popover/Popover.tsx +1 -1
- package/src/shadcn-components/Input/Select/Select.tsx +8 -8
- package/src/shadcn-components/Layout/Sheet/Sheet.tsx +2 -2
- package/src/shadcn-components/Navigation/DropdownMenu/DropdownMenu.tsx +2 -2
- package/src/styles/globals.css +4 -2
- package/src/styles/index.css +5 -0
|
@@ -31,7 +31,18 @@ type ButtonProps = {
|
|
|
31
31
|
onClick?: () => void;
|
|
32
32
|
} & React.HTMLAttributes<HTMLButtonElement>;
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
/**
|
|
35
|
+
* SidebarContainer Component
|
|
36
|
+
*
|
|
37
|
+
* Main container for the sidebar with flex layout, rounded corners, and overflow hidden.
|
|
38
|
+
* Serves as the root wrapper for all sidebar content including header, menu, and footer.
|
|
39
|
+
*
|
|
40
|
+
* @param {React.ReactNode} children - Content to render inside the sidebar
|
|
41
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
42
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
43
|
+
*
|
|
44
|
+
* @returns {React.ReactElement} A flex container for sidebar content
|
|
45
|
+
*/
|
|
35
46
|
export const SidebarContainer: React.FC<BaseProps> = ({
|
|
36
47
|
children,
|
|
37
48
|
className,
|
|
@@ -50,7 +61,19 @@ export const SidebarContainer: React.FC<BaseProps> = ({
|
|
|
50
61
|
);
|
|
51
62
|
};
|
|
52
63
|
|
|
53
|
-
|
|
64
|
+
/**
|
|
65
|
+
* MenuBarContainer Component
|
|
66
|
+
*
|
|
67
|
+
* Scrollable container for menu items with custom scrollbar styling. Includes responsive
|
|
68
|
+
* design with different width and margin behavior on mobile vs desktop. Custom scrollbar
|
|
69
|
+
* uses theme colors with thin width.
|
|
70
|
+
*
|
|
71
|
+
* @param {React.ReactNode} children - Menu items to render inside the container
|
|
72
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
73
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
74
|
+
*
|
|
75
|
+
* @returns {React.ReactElement} A vertically scrollable menu container
|
|
76
|
+
*/
|
|
54
77
|
export const MenuBarContainer: React.FC<BaseProps> = ({
|
|
55
78
|
children,
|
|
56
79
|
className,
|
|
@@ -77,7 +100,19 @@ export const MenuBarContainer: React.FC<BaseProps> = ({
|
|
|
77
100
|
);
|
|
78
101
|
};
|
|
79
102
|
|
|
80
|
-
|
|
103
|
+
/**
|
|
104
|
+
* MenuHeaderContainer Component
|
|
105
|
+
*
|
|
106
|
+
* Header container for displaying nested menu titles with back navigation.
|
|
107
|
+
* Provides fixed height with flex layout for centered or start-aligned content.
|
|
108
|
+
* Includes hover background effect.
|
|
109
|
+
*
|
|
110
|
+
* @param {React.ReactNode} children - Header content (typically back button and title)
|
|
111
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
112
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
113
|
+
*
|
|
114
|
+
* @returns {React.ReactElement} A header container for menu navigation
|
|
115
|
+
*/
|
|
81
116
|
export const MenuHeaderContainer: React.FC<BaseProps> = ({
|
|
82
117
|
children,
|
|
83
118
|
className,
|
|
@@ -96,7 +131,18 @@ export const MenuHeaderContainer: React.FC<BaseProps> = ({
|
|
|
96
131
|
);
|
|
97
132
|
};
|
|
98
133
|
|
|
99
|
-
|
|
134
|
+
/**
|
|
135
|
+
* MenuItemContainer Component
|
|
136
|
+
*
|
|
137
|
+
* Wrapper container for individual menu items with flex centering and rounded corners.
|
|
138
|
+
* Provides consistent spacing and layout for menu items.
|
|
139
|
+
*
|
|
140
|
+
* @param {React.ReactNode} children - Menu item content
|
|
141
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
142
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
143
|
+
*
|
|
144
|
+
* @returns {React.ReactElement} A centered flex container for a menu item
|
|
145
|
+
*/
|
|
100
146
|
export const MenuItemContainer: React.FC<BaseProps> = ({
|
|
101
147
|
children,
|
|
102
148
|
className,
|
|
@@ -109,6 +155,18 @@ export const MenuItemContainer: React.FC<BaseProps> = ({
|
|
|
109
155
|
);
|
|
110
156
|
};
|
|
111
157
|
|
|
158
|
+
/**
|
|
159
|
+
* MenuItemButton Component
|
|
160
|
+
*
|
|
161
|
+
* Styled button for menu items with flex layout, whitespace handling, and rounded appearance.
|
|
162
|
+
* Based on Button component with ghost variant and custom padding.
|
|
163
|
+
*
|
|
164
|
+
* @param {React.ReactNode} children - Button content (icon and/or text)
|
|
165
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
166
|
+
* @param {React.HTMLAttributes<HTMLButtonElement>} props - Additional button attributes
|
|
167
|
+
*
|
|
168
|
+
* @returns {React.ReactElement} A styled button for menu navigation
|
|
169
|
+
*/
|
|
112
170
|
export const MenuItemButton: React.FC<ButtonProps> = ({
|
|
113
171
|
children,
|
|
114
172
|
className,
|
|
@@ -128,6 +186,18 @@ export const MenuItemButton: React.FC<ButtonProps> = ({
|
|
|
128
186
|
);
|
|
129
187
|
};
|
|
130
188
|
|
|
189
|
+
/**
|
|
190
|
+
* MenuItemIcon Component
|
|
191
|
+
*
|
|
192
|
+
* Container for menu item icons with flex centering and right margin.
|
|
193
|
+
* Ensures icons are properly sized and aligned within menu items.
|
|
194
|
+
*
|
|
195
|
+
* @param {React.ReactNode} children - Icon element
|
|
196
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
197
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
198
|
+
*
|
|
199
|
+
* @returns {React.ReactElement} A centered flex container for an icon
|
|
200
|
+
*/
|
|
131
201
|
export const MenuItemIcon: React.FC<BaseProps> = ({
|
|
132
202
|
children,
|
|
133
203
|
className,
|
|
@@ -143,7 +213,20 @@ export const MenuItemIcon: React.FC<BaseProps> = ({
|
|
|
143
213
|
);
|
|
144
214
|
};
|
|
145
215
|
|
|
146
|
-
|
|
216
|
+
/**
|
|
217
|
+
* MenuLink Component
|
|
218
|
+
*
|
|
219
|
+
* React Router Link component styled as a menu item. Shows different background color
|
|
220
|
+
* when the route matches the current location. Includes hover effects and transitions.
|
|
221
|
+
*
|
|
222
|
+
* @param {boolean} [match] - Whether the link destination matches current route
|
|
223
|
+
* @param {string} [to=''] - Route path to navigate to
|
|
224
|
+
* @param {React.ReactNode} children - Link content
|
|
225
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
226
|
+
* @param {any} props - Additional Link properties
|
|
227
|
+
*
|
|
228
|
+
* @returns {React.ReactElement} A styled navigation link
|
|
229
|
+
*/
|
|
147
230
|
export const MenuLink: React.FC<StyledLinkButtonProps> = ({
|
|
148
231
|
match,
|
|
149
232
|
to = '',
|
|
@@ -167,7 +250,20 @@ export const MenuLink: React.FC<StyledLinkButtonProps> = ({
|
|
|
167
250
|
);
|
|
168
251
|
};
|
|
169
252
|
|
|
170
|
-
|
|
253
|
+
/**
|
|
254
|
+
* SubMenuContainer Component
|
|
255
|
+
*
|
|
256
|
+
* Container for sub-menu items that can expand/collapse or navigate.
|
|
257
|
+
* Shows different background color when active/matched. Used for menu items
|
|
258
|
+
* with expandable sub-items or internal navigation.
|
|
259
|
+
*
|
|
260
|
+
* @param {boolean} [match] - Whether the sub-menu is currently active/matched
|
|
261
|
+
* @param {React.ReactNode} children - Sub-menu content
|
|
262
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
263
|
+
* @param {any} props - Additional HTML attributes
|
|
264
|
+
*
|
|
265
|
+
* @returns {React.ReactElement} A styled container for sub-menu items
|
|
266
|
+
*/
|
|
171
267
|
export const SubMenuContainer: React.FC<StyledLinkButtonProps> = ({
|
|
172
268
|
match,
|
|
173
269
|
children,
|
|
@@ -189,7 +285,19 @@ export const SubMenuContainer: React.FC<StyledLinkButtonProps> = ({
|
|
|
189
285
|
);
|
|
190
286
|
};
|
|
191
287
|
|
|
192
|
-
|
|
288
|
+
/**
|
|
289
|
+
* SubMenuItemContainer Component
|
|
290
|
+
*
|
|
291
|
+
* Container for a list of sub-menu items that appear below a parent menu item.
|
|
292
|
+
* Includes left border, gap spacing, and left margin for visual hierarchy.
|
|
293
|
+
* Used to display expandable/collapsible sub-menu items.
|
|
294
|
+
*
|
|
295
|
+
* @param {React.ReactNode} children - Sub-menu item elements
|
|
296
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
297
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
298
|
+
*
|
|
299
|
+
* @returns {React.ReactElement} A flex column container for sub-menu items
|
|
300
|
+
*/
|
|
193
301
|
export const SubMenuItemContainer: React.FC<BaseProps> = ({
|
|
194
302
|
children,
|
|
195
303
|
className,
|
|
@@ -208,7 +316,18 @@ export const SubMenuItemContainer: React.FC<BaseProps> = ({
|
|
|
208
316
|
);
|
|
209
317
|
};
|
|
210
318
|
|
|
211
|
-
|
|
319
|
+
/**
|
|
320
|
+
* HoverIcon Component
|
|
321
|
+
*
|
|
322
|
+
* Container for icons that appear on hover within menu items.
|
|
323
|
+
* Hidden by default and shown only when parent element is hovered.
|
|
324
|
+
*
|
|
325
|
+
* @param {React.ReactNode} children - Icon element to show on hover
|
|
326
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
327
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
328
|
+
*
|
|
329
|
+
* @returns {React.ReactElement} A hidden flex container that shows on hover
|
|
330
|
+
*/
|
|
212
331
|
export const HoverIcon: React.FC<BaseProps> = ({
|
|
213
332
|
children,
|
|
214
333
|
className,
|
|
@@ -227,7 +346,18 @@ export const HoverIcon: React.FC<BaseProps> = ({
|
|
|
227
346
|
);
|
|
228
347
|
};
|
|
229
348
|
|
|
230
|
-
|
|
349
|
+
/**
|
|
350
|
+
* AnimationWrapper Component
|
|
351
|
+
*
|
|
352
|
+
* Generic wrapper component for content that may have animation effects.
|
|
353
|
+
* Provides full width and height to accommodate animated children.
|
|
354
|
+
*
|
|
355
|
+
* @param {React.ReactNode} children - Content to wrap with animation support
|
|
356
|
+
* @param {string} [className] - Additional CSS classes to apply
|
|
357
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} props - Additional HTML div attributes
|
|
358
|
+
*
|
|
359
|
+
* @returns {React.ReactElement} A full-size flex container for animated content
|
|
360
|
+
*/
|
|
231
361
|
export const AnimationWrapper: React.FC<BaseProps> = ({
|
|
232
362
|
children,
|
|
233
363
|
className,
|
|
@@ -29,6 +29,40 @@ export interface UserProfilePopupProps {
|
|
|
29
29
|
collapsed?: boolean;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* UserProfilePopup Component
|
|
34
|
+
*
|
|
35
|
+
* User profile dropdown menu component displayed in the sidebar footer. Shows user avatar/initials,
|
|
36
|
+
* and provides a menu with Account section, optional Active Devices, custom profile actions, and Logout.
|
|
37
|
+
* Automatically adapts layout when sidebar is collapsed (centered alignment, avatar only).
|
|
38
|
+
*
|
|
39
|
+
* @param {string} userFullName - User's full name (required, used for avatar text and display)
|
|
40
|
+
* @param {string} [email=''] - User's email address (shown in account section)
|
|
41
|
+
* @param {React.ReactNode[]} [profileActions=[]] - Custom menu items to include in the dropdown
|
|
42
|
+
* @param {() => void} [onLogout] - Callback handler when user clicks logout
|
|
43
|
+
* @param {string} [profileUrl] - URL to user's profile image (uses initials fallback if not provided)
|
|
44
|
+
* @param {string} [avatarClassName=''] - Additional CSS classes for the avatar component
|
|
45
|
+
* @param {boolean} [showActiveDevices=false] - Whether to show the "Active Devices" menu item
|
|
46
|
+
* @param {() => void} [onActiveDevicesClick] - Callback handler when user clicks active devices
|
|
47
|
+
* @param {() => void} [onAccountClick] - Callback handler when user clicks the account section
|
|
48
|
+
* @param {boolean} [collapsed] - Whether the sidebar is in collapsed state (affects layout)
|
|
49
|
+
*
|
|
50
|
+
* @returns {React.ReactElement} A dropdown menu anchored to user avatar with profile options
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <UserProfilePopup
|
|
55
|
+
* userFullName="Jane Smith"
|
|
56
|
+
* email="jane@example.com"
|
|
57
|
+
* profileUrl="/avatar.jpg"
|
|
58
|
+
* showActiveDevices={true}
|
|
59
|
+
* onLogout={handleLogout}
|
|
60
|
+
* onAccountClick={navigateToSettings}
|
|
61
|
+
* onActiveDevicesClick={showDevices}
|
|
62
|
+
* collapsed={false}
|
|
63
|
+
* />
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
32
66
|
export const UserProfilePopup: React.FC<UserProfilePopupProps> = ({
|
|
33
67
|
collapsed,
|
|
34
68
|
userFullName,
|
|
@@ -13,6 +13,27 @@ interface SidebarProviderProps {
|
|
|
13
13
|
initialCollapsed?: boolean;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* SidebarProvider Component
|
|
18
|
+
*
|
|
19
|
+
* React Context provider that manages global sidebar collapse state and provides methods
|
|
20
|
+
* to toggle and set the collapse state. Wraps the application or specific layout sections
|
|
21
|
+
* to enable sidebar state management across the component tree.
|
|
22
|
+
*
|
|
23
|
+
* @param {React.ReactNode} children - Child components that will have access to sidebar context
|
|
24
|
+
* @param {boolean} [initialCollapsed=false] - Initial collapsed state of the sidebar
|
|
25
|
+
*
|
|
26
|
+
* @returns {React.ReactElement} Context provider wrapping children with sidebar state
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```tsx
|
|
30
|
+
* <SidebarProvider initialCollapsed={isMobile}>
|
|
31
|
+
* <AppLayout>
|
|
32
|
+
* <Content />
|
|
33
|
+
* </AppLayout>
|
|
34
|
+
* </SidebarProvider>
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
16
37
|
export const SidebarProvider: React.FC<SidebarProviderProps> = ({
|
|
17
38
|
children,
|
|
18
39
|
initialCollapsed = false,
|
|
@@ -30,6 +51,33 @@ export const SidebarProvider: React.FC<SidebarProviderProps> = ({
|
|
|
30
51
|
);
|
|
31
52
|
};
|
|
32
53
|
|
|
54
|
+
/**
|
|
55
|
+
* useSidebar Hook
|
|
56
|
+
*
|
|
57
|
+
* Custom React hook to access the sidebar context state and methods.
|
|
58
|
+
* Must be used within a SidebarProvider component, otherwise it throws an error.
|
|
59
|
+
*
|
|
60
|
+
* @returns {{
|
|
61
|
+
* collapsed: boolean;
|
|
62
|
+
* toggleSidebar: () => void;
|
|
63
|
+
* setCollapsed: (collapsed: boolean) => void;
|
|
64
|
+
* }} Object containing sidebar state and methods to control it
|
|
65
|
+
*
|
|
66
|
+
* @throws {Error} If used outside of SidebarProvider
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```tsx
|
|
70
|
+
* function MyComponent() {
|
|
71
|
+
* const { collapsed, toggleSidebar, setCollapsed } = useSidebar();
|
|
72
|
+
*
|
|
73
|
+
* return (
|
|
74
|
+
* <button onClick={toggleSidebar}>
|
|
75
|
+
* {collapsed ? 'Expand' : 'Collapse'}
|
|
76
|
+
* </button>
|
|
77
|
+
* );
|
|
78
|
+
* }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
33
81
|
export const useSidebar = () => {
|
|
34
82
|
const context = useContext(SidebarContext);
|
|
35
83
|
if (!context) {
|
|
@@ -22,7 +22,7 @@ export interface AppLayoutProps {
|
|
|
22
22
|
menu: SideMenuItemProps[];
|
|
23
23
|
|
|
24
24
|
/**User profile parameters */
|
|
25
|
-
userProfileParams
|
|
25
|
+
userProfileParams?: UserProfilePopupProps;
|
|
26
26
|
|
|
27
27
|
/** Switchers section customization - receives collapsed state */
|
|
28
28
|
actions?: ReactNode | ((params: { collapsed: boolean }) => ReactNode);
|
|
@@ -7,6 +7,25 @@ interface PageContentProps {
|
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* PageContent Component
|
|
12
|
+
*
|
|
13
|
+
* Main content area wrapper that provides responsive padding, scrolling behavior, and custom scrollbar styling.
|
|
14
|
+
* Automatically adjusts height based on screen size to account for page header and other UI elements.
|
|
15
|
+
* Includes thin scrollbar styling using Tailwind's scrollbar utilities.
|
|
16
|
+
*
|
|
17
|
+
* @param {React.ReactNode} children - Content to render inside the page content area
|
|
18
|
+
* @param {string} [className=''] - Additional CSS classes to apply to the container
|
|
19
|
+
*
|
|
20
|
+
* @returns {React.ReactElement} A scrollable content container with responsive height and styling
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <PageContent className="bg-white">
|
|
25
|
+
* <YourPageContent />
|
|
26
|
+
* </PageContent>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
10
29
|
const PageContent = ({ children, className }: PageContentProps) => {
|
|
11
30
|
const isSmallScreen = useMediaQuery('(max-width: 768px)');
|
|
12
31
|
|
|
@@ -33,6 +33,52 @@ interface PageHeaderProps {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
/**
|
|
37
|
+
* PageHeader Component
|
|
38
|
+
*
|
|
39
|
+
* Header component for page content that displays breadcrumbs and action bar with search,
|
|
40
|
+
* filter, add button, and custom action menus. Supports Redux integration for maintaining
|
|
41
|
+
* search and filter state across re-renders. Responsive design with mobile optimization.
|
|
42
|
+
*
|
|
43
|
+
* @param {string} [uniqueId] - Optional unique identifier for Redux state management of this header
|
|
44
|
+
* @param {number} pathTrimCount - Number of path segments to trim from breadcrumb
|
|
45
|
+
* @param {React.ReactElement} [breadcrumbAction] - Optional element to display next to breadcrumbs
|
|
46
|
+
* @param {SearchBarProps & { uniqueId?: string; searchText?: string }} [searchBarProps] - Configuration for search bar including placeholder
|
|
47
|
+
* @param {{
|
|
48
|
+
* label?: string;
|
|
49
|
+
* startIcon?: React.ReactNode;
|
|
50
|
+
* components: React.ReactElement[];
|
|
51
|
+
* }} [filterButtonProps] - Configuration for filter dropdown with filter components
|
|
52
|
+
* @param {{
|
|
53
|
+
* label?: string;
|
|
54
|
+
* onClick: () => void;
|
|
55
|
+
* }} [addButtonProps] - Configuration for add/create button
|
|
56
|
+
* @param {{
|
|
57
|
+
* menu: React.ReactNode[] | ((props: { close: () => void }) => React.ReactNode[]);
|
|
58
|
+
* }} [actionProps] - Configuration for additional action menu
|
|
59
|
+
*
|
|
60
|
+
* @returns {React.ReactElement} A responsive header with breadcrumbs and action controls
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* <PageHeader
|
|
65
|
+
* uniqueId="users-list"
|
|
66
|
+
* pathTrimCount={1}
|
|
67
|
+
* searchBarProps={{
|
|
68
|
+
* placeholder: "Search users...",
|
|
69
|
+
* uniqueId: "users-list"
|
|
70
|
+
* }}
|
|
71
|
+
* filterButtonProps={{
|
|
72
|
+
* label: "Filters",
|
|
73
|
+
* components: [<StatusFilter />, <RoleFilter />]
|
|
74
|
+
* }}
|
|
75
|
+
* addButtonProps={{
|
|
76
|
+
* label: "Add User",
|
|
77
|
+
* onClick: handleAddUser
|
|
78
|
+
* }}
|
|
79
|
+
* />
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
36
82
|
const PageHeader = ({
|
|
37
83
|
uniqueId,
|
|
38
84
|
pathTrimCount,
|
|
@@ -3,6 +3,28 @@ import { setSearchForUniqueId } from '../../../../redux/slices/pageHeaderSlice';
|
|
|
3
3
|
import { RootState } from '../../../../redux/store';
|
|
4
4
|
import { SearchBar, type SearchBarProps } from '../../../export';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* PageHeaderSearchBar Component
|
|
8
|
+
*
|
|
9
|
+
* Redux-integrated search bar component that automatically manages search state in Redux store.
|
|
10
|
+
* The search value is persisted and retrieved using the provided uniqueId, allowing search state
|
|
11
|
+
* to survive component re-renders and navigation.
|
|
12
|
+
*
|
|
13
|
+
* @param {string} [uniqueId='default'] - Unique identifier for Redux state persistence (should match PageHeader uniqueId)
|
|
14
|
+
* @param {string} [searchText='Search'] - Placeholder text for the search input
|
|
15
|
+
* @param {SearchBarProps} props - Additional SearchBar component props
|
|
16
|
+
*
|
|
17
|
+
* @returns {React.ReactElement} A controlled search bar connected to Redux store
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* <PageHeaderSearchBar
|
|
22
|
+
* uniqueId="users-list"
|
|
23
|
+
* searchText="Search users..."
|
|
24
|
+
* onSearch={handleSearch}
|
|
25
|
+
* />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
6
28
|
export const PageHeaderSearchBar = ({
|
|
7
29
|
uniqueId = 'default',
|
|
8
30
|
searchText = 'Search',
|
|
@@ -5,6 +5,46 @@ import { Typography } from '../../DataDisplay/Typography/Typography';
|
|
|
5
5
|
import { DropdownMenu } from '../../Navigation/DropDownMenu/DropDownMenu';
|
|
6
6
|
import { DropdownMenuItem } from '../../Navigation/DropDownMenu/DropdownMenuItem';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* UserBox Component
|
|
10
|
+
*
|
|
11
|
+
* User profile information and dropdown menu component with customizable sections.
|
|
12
|
+
* Displays user avatar with fallback to initials, supports optional designation,
|
|
13
|
+
* active devices toggle, custom actions, and logout. Avatar click can trigger
|
|
14
|
+
* custom handler or open the dropdown menu.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} fullName - User's full name (required, used for avatar initials and display)
|
|
17
|
+
* @param {string} [designation=''] - User's job designation or title (optional)
|
|
18
|
+
* @param {any[]} [institutionsData] - Optional array of institution data (for future use)
|
|
19
|
+
* @param {React.ReactNode[]} actions - Array of custom menu item elements to include in dropdown
|
|
20
|
+
* @param {() => void} [onLogoutClick] - Callback handler when logout menu item is clicked
|
|
21
|
+
* @param {string} [profileUrl] - URL to user's profile image (uses initials fallback if not provided)
|
|
22
|
+
* @param {React.ReactNode} [changePassword] - Optional change password component/element
|
|
23
|
+
* @param {any} [profileSx={}] - Custom styles/className to apply to avatar element
|
|
24
|
+
* @param {boolean} [avatar=true] - Whether to show the avatar in the account menu section
|
|
25
|
+
* @param {boolean} [navigationIcon=true] - Whether to show the navigation icon next to account info
|
|
26
|
+
* @param {boolean} [showActiveDevices=true] - Whether to show the "Active Devices" menu item
|
|
27
|
+
* @param {() => void} [onAccountClick] - Callback handler when account section is clicked
|
|
28
|
+
* @param {() => void} [onActiveDevicesClick] - Callback handler when active devices item is clicked
|
|
29
|
+
* @param {() => void} [onChangeInstitutionClick] - Callback handler for changing institution (future use)
|
|
30
|
+
* @param {() => void} [onAvatarClick] - Callback handler when avatar is clicked (prevents menu opening if provided)
|
|
31
|
+
*
|
|
32
|
+
* @returns {React.ReactElement} A user profile dropdown menu component
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```tsx
|
|
36
|
+
* <UserBox
|
|
37
|
+
* fullName="John Doe"
|
|
38
|
+
* designation="Software Engineer"
|
|
39
|
+
* profileUrl="/avatars/john.jpg"
|
|
40
|
+
* onLogoutClick={handleLogout}
|
|
41
|
+
* onAccountClick={navigateToSettings}
|
|
42
|
+
* onActiveDevicesClick={showActiveDevices}
|
|
43
|
+
* actions={[<CustomMenuAction1 />, <CustomMenuAction2 />]}
|
|
44
|
+
* showActiveDevices={true}
|
|
45
|
+
* />
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
8
48
|
export default function UserBox({
|
|
9
49
|
fullName,
|
|
10
50
|
onLogoutClick,
|
|
@@ -22,12 +22,45 @@ import { ReactElement } from 'react';
|
|
|
22
22
|
import { getBreadcrumbsCharacter } from '../../../utils/export';
|
|
23
23
|
import { MenuToggleButton } from '../../Layout/AppLayout/components/MenuToggleButton';
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Props for the Breadcrumbs component
|
|
27
|
+
*/
|
|
25
28
|
export type BreadcrumbsProps = {
|
|
29
|
+
/** Number of path segments to trim from the beginning of the current URL path */
|
|
26
30
|
pathTrimCount: number;
|
|
31
|
+
/** Optional CSS class names for the container element */
|
|
27
32
|
containerClassName?: string;
|
|
33
|
+
/** Optional React element to render as an action button/component on the right side */
|
|
28
34
|
action?: ReactElement;
|
|
29
35
|
};
|
|
30
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Breadcrumbs component that displays a navigation breadcrumb trail based on the current URL path.
|
|
39
|
+
*
|
|
40
|
+
* Automatically generates breadcrumb items from the URL pathname and displays them with navigation links.
|
|
41
|
+
* When there are more than 2 breadcrumb items, it shows the first item, a dropdown menu with middle items,
|
|
42
|
+
* and the last item to save space.
|
|
43
|
+
*
|
|
44
|
+
* @component
|
|
45
|
+
* @param {BreadcrumbsProps} props - The component props
|
|
46
|
+
* @param {number} props.pathTrimCount - Number of path segments to trim from the beginning of the URL path
|
|
47
|
+
* @param {string} [props.containerClassName] - Optional CSS class names to apply to the container div
|
|
48
|
+
* @param {ReactElement} [props.action] - Optional React element displayed on the right side of the breadcrumb
|
|
49
|
+
*
|
|
50
|
+
* @returns {React.ReactElement} A div containing the breadcrumb navigation component with a menu toggle button and breadcrumb list
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* // Basic usage
|
|
54
|
+
* <Breadcrumbs pathTrimCount={1} />
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* // With custom action button
|
|
58
|
+
* <Breadcrumbs
|
|
59
|
+
* pathTrimCount={2}
|
|
60
|
+
* action={<button>Export</button>}
|
|
61
|
+
* containerClassName="bg-gray-50 border-b"
|
|
62
|
+
* />
|
|
63
|
+
*/
|
|
31
64
|
export const Breadcrumbs = ({
|
|
32
65
|
pathTrimCount,
|
|
33
66
|
containerClassName,
|
|
@@ -8,6 +8,69 @@ import { cn } from '../../../lib/utils';
|
|
|
8
8
|
import './Calendar.css';
|
|
9
9
|
import { CalendarProps } from './types';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Calendar component that provides a fully-featured calendar interface with FullCalendar integration.
|
|
13
|
+
*
|
|
14
|
+
* This component displays an interactive calendar with support for events, drag-and-drop,
|
|
15
|
+
* resizing, and various view modes (month, week, day). It offers extensive customization options
|
|
16
|
+
* for appearance, behavior, and event handling.
|
|
17
|
+
*
|
|
18
|
+
* @component
|
|
19
|
+
* @param {CalendarProps} props - The component props
|
|
20
|
+
* @param {CalendarEvent[]} [props.events] - Array of calendar events to display. Defaults to empty array
|
|
21
|
+
* @param {(eventInfo: CalendarEventClickInfo) => void} [props.onEventClick] - Callback fired when an event is clicked
|
|
22
|
+
* @param {(dropInfo: CalendarEventDropInfo) => void} [props.onEventDrop] - Callback fired when an event is drag-dropped
|
|
23
|
+
* @param {(resizeInfo: CalendarEventResizeInfo) => void} [props.onEventResize] - Callback fired when an event is resized
|
|
24
|
+
* @param {(dateInfo: CalendarDateClickInfo) => void} [props.onDateClick] - Callback fired when a date is clicked
|
|
25
|
+
* @param {(selectInfo: CalendarDateSelectInfo) => void} [props.onDateSelect] - Callback fired when a date range is selected
|
|
26
|
+
* @param {(events: EventApi[]) => void} [props.onEventsSet] - Callback fired when the list of events changes
|
|
27
|
+
* @param {CalendarView} [props.initialView='dayGridMonth'] - Initial view mode to display (dayGridMonth, timeGridWeek, timeGridDay, listWeek)
|
|
28
|
+
* @param {CalendarView[]} [props.views] - Array of available view modes to show in view switcher
|
|
29
|
+
* @param {CalendarHeaderToolbar | boolean} [props.headerToolbar] - Header toolbar configuration object or false to hide it
|
|
30
|
+
* @param {boolean} [props.editable=false] - Whether events can be dragged/resized to modify dates
|
|
31
|
+
* @param {boolean} [props.selectable=false] - Whether users can select date ranges by clicking and dragging
|
|
32
|
+
* @param {boolean} [props.selectMirror=true] - Whether to show a visual mirror while selecting date ranges
|
|
33
|
+
* @param {boolean} [props.eventResizable=false] - Whether events can be resized by dragging their edges
|
|
34
|
+
* @param {boolean} [props.eventDraggable=false] - Whether events can be dragged to change their dates
|
|
35
|
+
* @param {boolean | number} [props.dayMaxEvents=true] - Maximum number of events to show per day (true for auto, false for unlimited)
|
|
36
|
+
* @param {string | number} [props.height='auto'] - Height of the calendar (CSS string or number in pixels)
|
|
37
|
+
* @param {number} [props.aspectRatio] - Aspect ratio for the calendar dimensions
|
|
38
|
+
* @param {React.HTMLAttributes<HTMLDivElement>} [props.containerProps] - Additional HTML attributes for the container div
|
|
39
|
+
* @param {string} [props.locale='en'] - Locale/language code for calendar text (e.g., 'en', 'es', 'fr')
|
|
40
|
+
* @param {string} [props.timezone='local'] - Timezone for displaying dates ('local' or standard timezone identifier)
|
|
41
|
+
* @param {0 | 1 | 2 | 3 | 4 | 5 | 6} [props.firstDayOfWeek=0] - First day of the week (0=Sunday, 1=Monday, etc.)
|
|
42
|
+
* @param {(eventInfo: any) => React.ReactNode} [props.eventContent] - Custom render function for event content
|
|
43
|
+
* @param {(dayInfo: any) => React.ReactNode} [props.dayCellContent] - Custom render function for day cell content
|
|
44
|
+
* @param {boolean} [props.showNavigationButtons=true] - Whether to show previous/next navigation buttons
|
|
45
|
+
* @param {boolean} [props.showViewSwitcher=true] - Whether to show view mode selector buttons
|
|
46
|
+
* @param {boolean} [props.showToday=true] - Whether to show the "today" button
|
|
47
|
+
* @param {boolean} [props.weekends=true] - Whether to display weekend days
|
|
48
|
+
* @param {any} [props.businessHours] - Business hours configuration
|
|
49
|
+
* @param {any} [props.eventConstraint] - Constraint rules for event dragging
|
|
50
|
+
* @param {any} [props.selectConstraint] - Constraint rules for date selection
|
|
51
|
+
*
|
|
52
|
+
* @returns {React.ReactElement} A div container with the FullCalendar component
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // Basic calendar with events
|
|
56
|
+
* <Calendar
|
|
57
|
+
* events={[
|
|
58
|
+
* { id: '1', title: 'Meeting', start: '2024-01-15' }
|
|
59
|
+
* ]}
|
|
60
|
+
* onEventClick={(info) => console.log(info.event.title)}
|
|
61
|
+
* />
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Editable calendar with custom height
|
|
65
|
+
* <Calendar
|
|
66
|
+
* events={events}
|
|
67
|
+
* editable={true}
|
|
68
|
+
* eventDraggable={true}
|
|
69
|
+
* eventResizable={true}
|
|
70
|
+
* height={600}
|
|
71
|
+
* onEventDrop={(info) => updateEventDate(info)}
|
|
72
|
+
* />
|
|
73
|
+
*/
|
|
11
74
|
export const Calendar: React.FC<CalendarProps> = ({
|
|
12
75
|
events = [],
|
|
13
76
|
|