@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.
- 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 +41 -0
- package/dist/cjs/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +42 -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 +40 -0
- 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 +32 -0
- package/dist/cjs/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
- package/dist/cjs/types/src/components/Input/SingleSelect/SingleSelect.d.ts +40 -0
- 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/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 +41 -0
- package/dist/esm/types/src/components/Input/DateTimePicker/DateTimePicker.d.ts +42 -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 +40 -0
- 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 +32 -0
- package/dist/esm/types/src/components/Input/SingleCheckBox/SingleCheckBox.d.ts +29 -0
- package/dist/esm/types/src/components/Input/SingleSelect/SingleSelect.d.ts +40 -0
- 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/index.d.ts +2953 -12
- package/dist/styles.css +30 -9
- 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/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 +54 -0
- package/src/components/Input/Button/Button.tsx +26 -0
- package/src/components/Input/DatePicker/DatePicker.tsx +41 -0
- package/src/components/Input/DateTimePicker/DateTimePicker.tsx +42 -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 +40 -0
- 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 +41 -0
- package/src/components/Input/SingleCheckBox/SingleCheckBox.tsx +29 -0
- package/src/components/Input/SingleSelect/SingleSelect.tsx +40 -0
- 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 +64 -0
- package/src/components/Navigation/DropDownMenu/DropDownMenu.tsx +73 -0
- 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 +80 -0
- package/src/components/Navigation/UploadDialog/UploadDialog.tsx +64 -0
- package/src/shadcn-components/Layout/Sheet/Sheet.tsx +2 -2
|
@@ -23,10 +23,54 @@ import type {
|
|
|
23
23
|
TitleProps,
|
|
24
24
|
} from '../types/types';
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Data object for VerticalBarChart
|
|
28
|
+
* @typedef {Object} VerticalBarChartData
|
|
29
|
+
* @property {string|number} [key] - Dynamic data properties
|
|
30
|
+
*/
|
|
26
31
|
export interface VerticalBarChartData {
|
|
27
32
|
[key: string]: string | number;
|
|
28
33
|
}
|
|
29
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Props for the VerticalBarChart component
|
|
37
|
+
* @typedef {Object} VerticalBarChartProps
|
|
38
|
+
* @property {VerticalBarChartData[]} data - Array of data objects to display
|
|
39
|
+
* @property {string[]} dataKeys - Array of keys from data objects to visualize as bars
|
|
40
|
+
* @property {string} xAxisKey - The key to use for X-axis (category) labels
|
|
41
|
+
* @property {ChartConfig} config - Chart configuration with color mappings for data keys
|
|
42
|
+
* @property {number} [height=400] - Chart height in pixels
|
|
43
|
+
* @property {MarginProps} [margin={top: 20, right: 30, bottom: 20, left: 30}] - Chart margins
|
|
44
|
+
* @property {number} [barSize] - Width of each bar in pixels
|
|
45
|
+
* @property {number} [barGap=4] - Gap between bars in pixels
|
|
46
|
+
* @property {number|string} [barCategoryGap='10%'] - Gap between bar groups (pixels or percentage)
|
|
47
|
+
* @property {number|number[]} [radius=4] - Border radius for bars (single value or [top-left, top-right, bottom-right, bottom-left])
|
|
48
|
+
* @property {string} [stackId] - ID for stacking multiple bars together
|
|
49
|
+
* @property {boolean} [showGrid=true] - Whether to show the cartesian grid
|
|
50
|
+
* @property {string|number} [gridStrokeDasharray='3 3'] - Grid line dash pattern
|
|
51
|
+
* @property {Function} [xAxisTickFormatter] - Function to format X-axis tick labels
|
|
52
|
+
* @property {Function} [yAxisTickFormatter] - Function to format Y-axis tick labels
|
|
53
|
+
* @property {boolean} [showLabels=false] - Whether to show value labels on bars
|
|
54
|
+
* @property {'top'|'bottom'|'left'|'right'|'inside'|'outside'|'insideLeft'|'insideRight'|'insideTop'|'insideBottom'|'center'} [labelPosition='top'] - Position of bar labels
|
|
55
|
+
* @property {Function} [labelFormatter] - Function to format label values
|
|
56
|
+
* @property {boolean} [showTooltip=true] - Whether to show tooltip on hover
|
|
57
|
+
* @property {boolean|object} [tooltipCursor=false] - Tooltip cursor appearance
|
|
58
|
+
* @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
|
|
59
|
+
* @property {'line'|'dot'|'dashed'} [tooltipIndicator='dashed'] - Tooltip indicator style
|
|
60
|
+
* @property {LegendProps} [legend] - Legend configuration props
|
|
61
|
+
* @property {boolean} [showLegend=false] - Whether to display the legend
|
|
62
|
+
* @property {string} [title] - Chart title text
|
|
63
|
+
* @property {TitleProps} [titleProps={variant: 'h3', className: ''}] - Title styling props
|
|
64
|
+
* @property {string} [subtitle] - Chart subtitle text
|
|
65
|
+
* @property {SubTitleProps} [subtitleProps={variant: 'muted', className: ''}] - Subtitle styling props
|
|
66
|
+
* @property {string} [className] - CSS class for the container
|
|
67
|
+
* @property {boolean} [activeBar=false] - Enable/disable active bar highlighting
|
|
68
|
+
* @property {number} [activeBarIndex] - Index of the initially active bar
|
|
69
|
+
* @property {Function} [onBarClick] - Callback function when a bar is clicked
|
|
70
|
+
* @property {number} [animationDuration=750] - Duration of animations in milliseconds
|
|
71
|
+
* @property {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [animationEasing='ease-in-out'] - Easing function for animations
|
|
72
|
+
* @property {boolean} [accessibilityLayer=true] - Enable accessibility features
|
|
73
|
+
*/
|
|
30
74
|
export interface VerticalBarChartProps {
|
|
31
75
|
// Core data
|
|
32
76
|
data: VerticalBarChartData[];
|
|
@@ -101,6 +145,72 @@ export interface VerticalBarChartProps {
|
|
|
101
145
|
accessibilityLayer?: boolean;
|
|
102
146
|
}
|
|
103
147
|
|
|
148
|
+
/**
|
|
149
|
+
* VerticalBarChart Component
|
|
150
|
+
* Displays data as vertical bars with comprehensive customization for grid, labels, tooltips, legends, and animations.
|
|
151
|
+
* Supports active bar highlighting with state management for user interaction.
|
|
152
|
+
*
|
|
153
|
+
* @component
|
|
154
|
+
* @param {VerticalBarChartProps} props - The component props
|
|
155
|
+
* @param {VerticalBarChartData[]} props.data - Array of data objects to display
|
|
156
|
+
* @param {string[]} props.dataKeys - Keys from data objects to visualize as bars
|
|
157
|
+
* @param {string} props.xAxisKey - The key for X-axis category labels
|
|
158
|
+
* @param {ChartConfig} props.config - Chart color and display configuration
|
|
159
|
+
* @param {number} [props.height] - Chart height in pixels
|
|
160
|
+
* @param {MarginProps} [props.margin] - Chart margin spacing
|
|
161
|
+
* @param {number} [props.barSize] - Width of each bar in pixels
|
|
162
|
+
* @param {number} [props.barGap] - Spacing between adjacent bars
|
|
163
|
+
* @param {number|string} [props.barCategoryGap] - Spacing between bar groups
|
|
164
|
+
* @param {number|number[]} [props.radius] - Border radius for bar corners
|
|
165
|
+
* @param {string} [props.stackId] - ID for stacked bars
|
|
166
|
+
* @param {boolean} [props.showGrid] - Show/hide background grid
|
|
167
|
+
* @param {string|number} [props.gridStrokeDasharray] - Grid line dash pattern
|
|
168
|
+
* @param {Function} [props.xAxisTickFormatter] - Custom X-axis label formatter
|
|
169
|
+
* @param {Function} [props.yAxisTickFormatter] - Custom Y-axis label formatter
|
|
170
|
+
* @param {boolean} [props.showLabels] - Show/hide value labels on bars
|
|
171
|
+
* @param {string} [props.labelPosition] - Label position relative to bars
|
|
172
|
+
* @param {Function} [props.labelFormatter] - Custom label value formatter
|
|
173
|
+
* @param {boolean} [props.showTooltip] - Show/hide tooltip
|
|
174
|
+
* @param {boolean|object} [props.tooltipCursor] - Tooltip cursor style
|
|
175
|
+
* @param {boolean} [props.hideTooltipLabel] - Hide/show tooltip label
|
|
176
|
+
* @param {'line'|'dot'|'dashed'} [props.tooltipIndicator] - Tooltip indicator style
|
|
177
|
+
* @param {LegendProps} [props.legend] - Legend configuration
|
|
178
|
+
* @param {boolean} [props.showLegend] - Show/hide legend
|
|
179
|
+
* @param {string} [props.title] - Chart title
|
|
180
|
+
* @param {TitleProps} [props.titleProps] - Title styling
|
|
181
|
+
* @param {string} [props.subtitle] - Chart subtitle
|
|
182
|
+
* @param {SubTitleProps} [props.subtitleProps] - Subtitle styling
|
|
183
|
+
* @param {string} [props.className] - Container CSS class
|
|
184
|
+
* @param {boolean} [props.activeBar] - Enable active bar highlighting
|
|
185
|
+
* @param {number} [props.activeBarIndex] - Initial active bar index
|
|
186
|
+
* @param {Function} [props.onBarClick] - Click handler callback
|
|
187
|
+
* @param {number} [props.animationDuration] - Animation duration in ms
|
|
188
|
+
* @param {'ease'|'ease-in'|'ease-out'|'ease-in-out'|'linear'} [props.animationEasing] - Animation easing
|
|
189
|
+
* @param {boolean} [props.accessibilityLayer] - Enable accessibility features
|
|
190
|
+
* @returns {React.ReactElement} Rendered vertical bar chart
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* const data = [
|
|
194
|
+
* { month: 'Jan', sales: 400, revenue: 2400 },
|
|
195
|
+
* { month: 'Feb', sales: 300, revenue: 1398 }
|
|
196
|
+
* ];
|
|
197
|
+
* const config = {
|
|
198
|
+
* sales: { label: 'Sales', color: '#3b82f6' },
|
|
199
|
+
* revenue: { label: 'Revenue', color: '#10b981' }
|
|
200
|
+
* };
|
|
201
|
+
*
|
|
202
|
+
* return (
|
|
203
|
+
* <VerticalBarChart
|
|
204
|
+
* data={data}
|
|
205
|
+
* dataKeys={['sales', 'revenue']}
|
|
206
|
+
* xAxisKey="month"
|
|
207
|
+
* config={config}
|
|
208
|
+
* title="Monthly Sales & Revenue"
|
|
209
|
+
* showLabels={true}
|
|
210
|
+
* activeBar={true}
|
|
211
|
+
* />
|
|
212
|
+
* );
|
|
213
|
+
*/
|
|
104
214
|
const VerticalBarChart: React.FC<VerticalBarChartProps> = ({
|
|
105
215
|
data,
|
|
106
216
|
dataKeys,
|
|
@@ -26,6 +26,32 @@ import {
|
|
|
26
26
|
TitleProps,
|
|
27
27
|
} from '../types/types';
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Props for the LineChart component
|
|
31
|
+
* @typedef {Object} LineChartProps
|
|
32
|
+
* @property {string} [title='Line Chart'] - Chart title text
|
|
33
|
+
* @property {boolean} [showSubtitle=false] - Whether to display subtitle
|
|
34
|
+
* @property {string} [subTitle=''] - Chart subtitle text
|
|
35
|
+
* @property {TitleProps} [titleProps={variant: 'large'}] - Title styling props
|
|
36
|
+
* @property {SubTitleProps} [subTitleProps={variant: 'small'}] - Subtitle styling props
|
|
37
|
+
* @property {ChartConfig} config - Chart configuration with color mappings for data keys
|
|
38
|
+
* @property {number} [width=700] - Chart width in pixels
|
|
39
|
+
* @property {number} [height=500] - Chart height in pixels
|
|
40
|
+
* @property {string} dataKey - The key in data objects to use for X-axis values
|
|
41
|
+
* @property {any[]} data - Array of data objects to display
|
|
42
|
+
* @property {LineItem[]} lines - Array of line configurations with curve types and colors
|
|
43
|
+
* @property {boolean} [showToolTip=true] - Whether to show tooltip on hover
|
|
44
|
+
* @property {boolean} [showLegend=true] - Whether to display the legend
|
|
45
|
+
* @property {CartesianGridProps} [cartesianGrid={showCartesianGrid: false}] - Grid configuration
|
|
46
|
+
* @property {AxisLabelProps} [axisLabelProps] - X and Y axis label configuration
|
|
47
|
+
* @property {BaseAxisProps} [baseAxisProps] - Base axis customization props
|
|
48
|
+
* @property {LegendProps} [legendSx] - Legend styling props
|
|
49
|
+
* @property {string} [className] - CSS class for the container
|
|
50
|
+
* @property {MarginProps} [margin={top: 20, right: 30, bottom: 20, left: 30}] - Chart margins
|
|
51
|
+
* @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
|
|
52
|
+
* @property {'line'|'dot'|'dashed'} [tooltipIndicator='line'] - Tooltip indicator style
|
|
53
|
+
* @property {boolean} [accessibilityLayer=true] - Enable accessibility features
|
|
54
|
+
*/
|
|
29
55
|
export type LineChartProps = {
|
|
30
56
|
// Core data
|
|
31
57
|
title?: string;
|
|
@@ -64,6 +90,14 @@ export type LineChartProps = {
|
|
|
64
90
|
accessibilityLayer?: boolean;
|
|
65
91
|
};
|
|
66
92
|
|
|
93
|
+
/**
|
|
94
|
+
* Configuration for a single line in the LineChart
|
|
95
|
+
* @typedef {Object} LineItem
|
|
96
|
+
* @property {CurveType} type - Curve type for the line ('linear', 'monotone', 'natural', 'step', 'stepBefore', 'stepAfter', 'basisOpen', 'basis', 'basisClosed')
|
|
97
|
+
* @property {string} dataKey - The key in data objects to use for Y-axis values
|
|
98
|
+
* @property {string} stroke - Line color (CSS color value)
|
|
99
|
+
* @property {any} [activeDot] - Configuration for the active dot on hover
|
|
100
|
+
*/
|
|
67
101
|
type LineItem = {
|
|
68
102
|
type: CurveType;
|
|
69
103
|
dataKey: string;
|
|
@@ -71,6 +105,61 @@ type LineItem = {
|
|
|
71
105
|
activeDot?: any;
|
|
72
106
|
};
|
|
73
107
|
|
|
108
|
+
/**
|
|
109
|
+
* LineChart Component
|
|
110
|
+
* Displays one or more lines with customizable curve types, colors, and interactive features.
|
|
111
|
+
* Supports grid, tooltips, legends, and labeled axes.
|
|
112
|
+
*
|
|
113
|
+
* @component
|
|
114
|
+
* @param {LineChartProps} props - The component props
|
|
115
|
+
* @param {string} [props.title] - Chart title
|
|
116
|
+
* @param {boolean} [props.showSubtitle] - Show/hide subtitle
|
|
117
|
+
* @param {string} [props.subTitle] - Chart subtitle
|
|
118
|
+
* @param {TitleProps} [props.titleProps] - Title styling
|
|
119
|
+
* @param {SubTitleProps} [props.subTitleProps] - Subtitle styling
|
|
120
|
+
* @param {ChartConfig} props.config - Chart color configuration
|
|
121
|
+
* @param {number} [props.width] - Chart width in pixels
|
|
122
|
+
* @param {number} [props.height] - Chart height in pixels
|
|
123
|
+
* @param {string} props.dataKey - X-axis data key
|
|
124
|
+
* @param {any[]} props.data - Chart data array
|
|
125
|
+
* @param {LineItem[]} props.lines - Line configurations
|
|
126
|
+
* @param {boolean} [props.showToolTip] - Show/hide tooltip
|
|
127
|
+
* @param {boolean} [props.showLegend] - Show/hide legend
|
|
128
|
+
* @param {CartesianGridProps} [props.cartesianGrid] - Grid settings
|
|
129
|
+
* @param {AxisLabelProps} [props.axisLabelProps] - Axis labels
|
|
130
|
+
* @param {BaseAxisProps} [props.baseAxisProps] - Axis customization
|
|
131
|
+
* @param {LegendProps} [props.legendSx] - Legend styling
|
|
132
|
+
* @param {string} [props.className] - Container CSS class
|
|
133
|
+
* @param {MarginProps} [props.margin] - Chart margins
|
|
134
|
+
* @param {boolean} [props.hideTooltipLabel] - Hide tooltip label
|
|
135
|
+
* @param {'line'|'dot'|'dashed'} [props.tooltipIndicator] - Tooltip indicator style
|
|
136
|
+
* @param {boolean} [props.accessibilityLayer] - Enable accessibility features
|
|
137
|
+
* @returns {React.ReactElement} Rendered line chart
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* const data = [
|
|
141
|
+
* { month: 'Jan', sales: 400, revenue: 2400 },
|
|
142
|
+
* { month: 'Feb', sales: 300, revenue: 1398 }
|
|
143
|
+
* ];
|
|
144
|
+
* const config = {
|
|
145
|
+
* sales: { label: 'Sales', color: '#3b82f6' },
|
|
146
|
+
* revenue: { label: 'Revenue', color: '#10b981' }
|
|
147
|
+
* };
|
|
148
|
+
* const lines = [
|
|
149
|
+
* { dataKey: 'sales', stroke: '#3b82f6', type: 'monotone' },
|
|
150
|
+
* { dataKey: 'revenue', stroke: '#10b981', type: 'monotone' }
|
|
151
|
+
* ];
|
|
152
|
+
*
|
|
153
|
+
* return (
|
|
154
|
+
* <LineChart
|
|
155
|
+
* data={data}
|
|
156
|
+
* dataKey="month"
|
|
157
|
+
* lines={lines}
|
|
158
|
+
* config={config}
|
|
159
|
+
* title="Sales & Revenue Trend"
|
|
160
|
+
* />
|
|
161
|
+
* );
|
|
162
|
+
*/
|
|
74
163
|
export const LineChart = ({
|
|
75
164
|
title = 'Line Chart',
|
|
76
165
|
showSubtitle = false,
|
|
@@ -15,6 +15,26 @@ import {
|
|
|
15
15
|
TitleProps,
|
|
16
16
|
} from '../types/types';
|
|
17
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Props for the PieChart component
|
|
20
|
+
* @typedef {Object} PieChartProps
|
|
21
|
+
* @property {string} [title='Pie Chart'] - Chart title text
|
|
22
|
+
* @property {boolean} [showSubtitle=false] - Whether to display subtitle
|
|
23
|
+
* @property {string} [subTitle=''] - Chart subtitle text
|
|
24
|
+
* @property {TitleProps} [titleProps={variant: 'large'}] - Title styling props
|
|
25
|
+
* @property {SubTitleProps} [subTitleProps={variant: 'small'}] - Subtitle styling props
|
|
26
|
+
* @property {MarginProps} [margin] - Chart margins
|
|
27
|
+
* @property {number} [width=500] - Chart width in pixels
|
|
28
|
+
* @property {number} [height=500] - Chart height in pixels
|
|
29
|
+
* @property {PieProps} pie1 - Configuration for the primary pie (required)
|
|
30
|
+
* @property {PieProps} [pie2] - Configuration for the secondary pie (optional, for donut charts)
|
|
31
|
+
* @property {string} [className] - CSS class for the container
|
|
32
|
+
* @property {boolean} [showLegend=true] - Whether to display the legend
|
|
33
|
+
* @property {LegendProps} [legendSx] - Legend styling props
|
|
34
|
+
* @property {boolean} [showToolTip=true] - Whether to show tooltip on hover
|
|
35
|
+
* @property {ChartConfig} config - Chart configuration with color mappings
|
|
36
|
+
* @property {boolean} [hideTooltipLabel=false] - Whether to hide the label in tooltip
|
|
37
|
+
*/
|
|
18
38
|
export type PieChartProps = {
|
|
19
39
|
title?: string;
|
|
20
40
|
showSubtitle?: boolean;
|
|
@@ -34,6 +54,22 @@ export type PieChartProps = {
|
|
|
34
54
|
hideTooltipLabel?: boolean;
|
|
35
55
|
};
|
|
36
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Configuration for a single pie in the PieChart
|
|
59
|
+
* @typedef {Object} PieProps
|
|
60
|
+
* @property {any[]} data - Array of data objects for the pie slices
|
|
61
|
+
* @property {string} dataKey - The key in data objects to use for slice values
|
|
62
|
+
* @property {string} [nameKey] - The key in data objects to use for slice labels
|
|
63
|
+
* @property {number} [innerRadius] - Inner radius for donut charts (creates hollow center)
|
|
64
|
+
* @property {number} [outerRadius] - Outer radius of the pie
|
|
65
|
+
* @property {string} [fill] - Default fill color for pie slices
|
|
66
|
+
* @property {boolean} [label] - Whether to show labels on pie slices
|
|
67
|
+
* @property {string} [cx='50%'] - X-coordinate of pie center (percentage or pixels)
|
|
68
|
+
* @property {string} [cy='50%'] - Y-coordinate of pie center (percentage or pixels)
|
|
69
|
+
* @property {number} [startAngle] - Starting angle of the pie in degrees
|
|
70
|
+
* @property {number} [endAngle] - Ending angle of the pie in degrees
|
|
71
|
+
* @property {string[]} [colors] - Array of colors for pie slices (cycles if fewer than slices)
|
|
72
|
+
*/
|
|
37
73
|
type PieProps = {
|
|
38
74
|
data: any[];
|
|
39
75
|
dataKey: string;
|
|
@@ -49,6 +85,56 @@ type PieProps = {
|
|
|
49
85
|
colors?: string[];
|
|
50
86
|
};
|
|
51
87
|
|
|
88
|
+
/**
|
|
89
|
+
* PieChart Component
|
|
90
|
+
* Displays data as one or two pie/donut charts with customizable colors, labels, and legend.
|
|
91
|
+
* Supports single pie, donut, or dual-pie layouts.
|
|
92
|
+
*
|
|
93
|
+
* @component
|
|
94
|
+
* @param {PieChartProps} props - The component props
|
|
95
|
+
* @param {string} [props.title] - Chart title
|
|
96
|
+
* @param {boolean} [props.showSubtitle] - Show/hide subtitle
|
|
97
|
+
* @param {string} [props.subTitle] - Chart subtitle
|
|
98
|
+
* @param {TitleProps} [props.titleProps] - Title styling
|
|
99
|
+
* @param {SubTitleProps} [props.subTitleProps] - Subtitle styling
|
|
100
|
+
* @param {MarginProps} [props.margin] - Chart margins
|
|
101
|
+
* @param {number} [props.width] - Chart width in pixels
|
|
102
|
+
* @param {number} [props.height] - Chart height in pixels
|
|
103
|
+
* @param {PieProps} props.pie1 - Primary pie configuration
|
|
104
|
+
* @param {PieProps} [props.pie2] - Secondary pie configuration (creates dual-pie)
|
|
105
|
+
* @param {string} [props.className] - Container CSS class
|
|
106
|
+
* @param {boolean} [props.showLegend] - Show/hide legend
|
|
107
|
+
* @param {LegendProps} [props.legendSx] - Legend styling
|
|
108
|
+
* @param {boolean} [props.showToolTip] - Show/hide tooltip
|
|
109
|
+
* @param {ChartConfig} props.config - Chart color configuration
|
|
110
|
+
* @param {boolean} [props.hideTooltipLabel] - Hide tooltip label
|
|
111
|
+
* @returns {React.ReactElement} Rendered pie chart
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* const data = [
|
|
115
|
+
* { name: 'Slice A', value: 400 },
|
|
116
|
+
* { name: 'Slice B', value: 300 },
|
|
117
|
+
* { name: 'Slice C', value: 300 }
|
|
118
|
+
* ];
|
|
119
|
+
* const config = {
|
|
120
|
+
* name: { label: 'Category', color: '#3b82f6' },
|
|
121
|
+
* value: { label: 'Value', color: '#10b981' }
|
|
122
|
+
* };
|
|
123
|
+
*
|
|
124
|
+
* return (
|
|
125
|
+
* <PieChart
|
|
126
|
+
* pie1={{
|
|
127
|
+
* data: data,
|
|
128
|
+
* dataKey: 'value',
|
|
129
|
+
* nameKey: 'name',
|
|
130
|
+
* colors: ['#3b82f6', '#10b981', '#f59e0b']
|
|
131
|
+
* }}
|
|
132
|
+
* config={config}
|
|
133
|
+
* title="Sales Distribution"
|
|
134
|
+
* showLegend={true}
|
|
135
|
+
* />
|
|
136
|
+
* );
|
|
137
|
+
*/
|
|
52
138
|
export const PieChart = ({
|
|
53
139
|
title = 'Pie Chart',
|
|
54
140
|
showSubtitle = false,
|
|
@@ -10,6 +10,29 @@ import { Treemap as ReTreeMap } from 'recharts';
|
|
|
10
10
|
import { AnimationTiming } from 'recharts/types/util/types';
|
|
11
11
|
import { MarginProps, SubTitleProps, TitleProps } from '../types/types';
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Props for the TreeMap component
|
|
15
|
+
* @typedef {Object} TreeMapProps
|
|
16
|
+
* @property {any} data - Hierarchical data structure for the treemap (should have children property for nested data)
|
|
17
|
+
* @property {string|number} dataKey - The key to use for treemap cell sizing
|
|
18
|
+
* @property {ChartConfig} config - Chart configuration with color mappings
|
|
19
|
+
* @property {string} [title='Tree Map'] - Chart title text
|
|
20
|
+
* @property {boolean} [showSubtitle=false] - Whether to display subtitle
|
|
21
|
+
* @property {string} [subTitle=''] - Chart subtitle text
|
|
22
|
+
* @property {TitleProps} [titleProps={variant: 'large'}] - Title styling props
|
|
23
|
+
* @property {SubTitleProps} [subTitleProps={variant: 'small'}] - Subtitle styling props
|
|
24
|
+
* @property {number} [width=400] - Chart width in pixels
|
|
25
|
+
* @property {number} [height=200] - Chart height in pixels
|
|
26
|
+
* @property {MarginProps} [margin] - Chart margins
|
|
27
|
+
* @property {number} [aspectRatio] - Aspect ratio of treemap cells
|
|
28
|
+
* @property {string} [fill='#F8C12D'] - Default fill color for cells
|
|
29
|
+
* @property {string} [stroke='#fff'] - Border color for cells
|
|
30
|
+
* @property {string[]} [colors] - Array of colors for cells (overrides fill if provided)
|
|
31
|
+
* @property {string} [className] - CSS class for the container
|
|
32
|
+
* @property {boolean} [showToolTip=true] - Whether to show tooltip on hover
|
|
33
|
+
* @property {boolean} [isAnimationActive=false] - Whether to animate cells
|
|
34
|
+
* @property {AnimationTiming} [animationEasing='linear'] - Animation easing function
|
|
35
|
+
*/
|
|
13
36
|
export interface TreeMapProps {
|
|
14
37
|
// Core data
|
|
15
38
|
data: any;
|
|
@@ -41,6 +64,57 @@ export interface TreeMapProps {
|
|
|
41
64
|
animationEasing?: AnimationTiming;
|
|
42
65
|
}
|
|
43
66
|
|
|
67
|
+
/**
|
|
68
|
+
* TreeMap Component
|
|
69
|
+
* Displays hierarchical data as a treemap visualization where cell sizes represent values.
|
|
70
|
+
* Each cell can be colored based on configured colors or a single fill color.
|
|
71
|
+
*
|
|
72
|
+
* @component
|
|
73
|
+
* @param {TreeMapProps} props - The component props
|
|
74
|
+
* @param {any} props.data - Hierarchical data structure with nested children
|
|
75
|
+
* @param {string|number} props.dataKey - Key for cell sizing calculation
|
|
76
|
+
* @param {ChartConfig} props.config - Chart color configuration
|
|
77
|
+
* @param {string} [props.title] - Chart title
|
|
78
|
+
* @param {boolean} [props.showSubtitle] - Show/hide subtitle
|
|
79
|
+
* @param {string} [props.subTitle] - Chart subtitle
|
|
80
|
+
* @param {TitleProps} [props.titleProps] - Title styling
|
|
81
|
+
* @param {SubTitleProps} [props.subTitleProps] - Subtitle styling
|
|
82
|
+
* @param {number} [props.width] - Chart width in pixels
|
|
83
|
+
* @param {number} [props.height] - Chart height in pixels
|
|
84
|
+
* @param {MarginProps} [props.margin] - Chart margins
|
|
85
|
+
* @param {number} [props.aspectRatio] - Cell aspect ratio
|
|
86
|
+
* @param {string} [props.fill] - Default cell fill color
|
|
87
|
+
* @param {string} [props.stroke] - Cell border color
|
|
88
|
+
* @param {string[]} [props.colors] - Array of colors for cells
|
|
89
|
+
* @param {string} [props.className] - Container CSS class
|
|
90
|
+
* @param {boolean} [props.showToolTip] - Show/hide tooltip
|
|
91
|
+
* @param {boolean} [props.isAnimationActive] - Enable/disable animations
|
|
92
|
+
* @param {AnimationTiming} [props.animationEasing] - Animation easing function
|
|
93
|
+
* @returns {React.ReactElement} Rendered treemap chart
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* const data = {
|
|
97
|
+
* name: 'Root',
|
|
98
|
+
* children: [
|
|
99
|
+
* { name: 'Category A', value: 400 },
|
|
100
|
+
* { name: 'Category B', value: 300 },
|
|
101
|
+
* { name: 'Category C', value: 200 }
|
|
102
|
+
* ]
|
|
103
|
+
* };
|
|
104
|
+
* const config = {
|
|
105
|
+
* value: { label: 'Value', color: '#3b82f6' }
|
|
106
|
+
* };
|
|
107
|
+
*
|
|
108
|
+
* return (
|
|
109
|
+
* <TreeMap
|
|
110
|
+
* data={data}
|
|
111
|
+
* dataKey="value"
|
|
112
|
+
* config={config}
|
|
113
|
+
* title="Market Share"
|
|
114
|
+
* colors={['#3b82f6', '#10b981', '#f59e0b']}
|
|
115
|
+
* />
|
|
116
|
+
* );
|
|
117
|
+
*/
|
|
44
118
|
const TreeMap: React.FC<TreeMapProps> = ({
|
|
45
119
|
title = 'Tree Map',
|
|
46
120
|
titleProps = { variant: 'large' },
|
|
@@ -105,6 +179,22 @@ const TreeMap: React.FC<TreeMapProps> = ({
|
|
|
105
179
|
|
|
106
180
|
export default TreeMap;
|
|
107
181
|
|
|
182
|
+
/**
|
|
183
|
+
* CustomizedContent Component
|
|
184
|
+
* Renders custom content for treemap cells with text labels and borders.
|
|
185
|
+
* Only displays text for depth level 1 to avoid cluttering smaller cells.
|
|
186
|
+
*
|
|
187
|
+
* @param {Object} props - Treemap cell props
|
|
188
|
+
* @param {number} props.depth - Nesting depth of the cell
|
|
189
|
+
* @param {number} props.x - X coordinate of the cell
|
|
190
|
+
* @param {number} props.y - Y coordinate of the cell
|
|
191
|
+
* @param {number} props.width - Width of the cell
|
|
192
|
+
* @param {number} props.height - Height of the cell
|
|
193
|
+
* @param {string} props.name - Name/label of the cell
|
|
194
|
+
* @param {string} props.fill - Fill color of the cell
|
|
195
|
+
* @param {string} props.stroke - Border color of the cell
|
|
196
|
+
* @returns {React.ReactElement} SVG group element with rectangle and text
|
|
197
|
+
*/
|
|
108
198
|
const CustomizedContent = (props: any) => {
|
|
109
199
|
const { depth, x, y, width, height, name, fill, stroke } = props;
|
|
110
200
|
|
|
@@ -8,6 +8,16 @@ import {
|
|
|
8
8
|
import { ReactNode, useEffect, useState } from 'react';
|
|
9
9
|
import { Typography } from '../Typography/Typography';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Props for individual accordion items
|
|
13
|
+
* @typedef {Object} AccordionItemProps
|
|
14
|
+
* @property {ReactNode} title - The title/header content of the accordion item
|
|
15
|
+
* @property {ReactNode} content - The main content displayed when item is expanded
|
|
16
|
+
* @property {ReactNode} [actions] - Optional action buttons or elements displayed in the header
|
|
17
|
+
* @property {string[]} [errorKeys] - Array of error field keys associated with this item
|
|
18
|
+
* @property {string} [className] - Optional CSS class for the accordion item container
|
|
19
|
+
* @property {string} [contentClassName] - Optional CSS class for the content section
|
|
20
|
+
*/
|
|
11
21
|
export type AccordionItemProps = {
|
|
12
22
|
title: ReactNode;
|
|
13
23
|
content: ReactNode;
|
|
@@ -17,6 +27,14 @@ export type AccordionItemProps = {
|
|
|
17
27
|
contentClassName?: string;
|
|
18
28
|
};
|
|
19
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Props for the Accordion component
|
|
32
|
+
* @typedef {Object} AccordionProps
|
|
33
|
+
* @property {AccordionItemProps[]} data - Array of accordion items to display
|
|
34
|
+
* @property {string} [className] - Optional CSS class for the accordion container
|
|
35
|
+
* @property {number} [defaultExpandedIndex] - Index of item to expand by default
|
|
36
|
+
* @property {string} [errorField] - Error field name to auto-expand item containing this error
|
|
37
|
+
*/
|
|
20
38
|
type AccordionProps = {
|
|
21
39
|
data: AccordionItemProps[];
|
|
22
40
|
className?: string;
|
|
@@ -24,6 +42,42 @@ type AccordionProps = {
|
|
|
24
42
|
errorField?: string;
|
|
25
43
|
};
|
|
26
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Accordion component for displaying collapsible sections
|
|
47
|
+
* Auto-expands section containing error field, supports custom actions per item
|
|
48
|
+
*
|
|
49
|
+
* @component
|
|
50
|
+
* @param {AccordionProps} props - Accordion configuration
|
|
51
|
+
* @param {AccordionItemProps[]} props.data - Array of accordion items with title, content, and optional actions
|
|
52
|
+
* @param {string} [props.className] - Additional CSS class for the accordion wrapper
|
|
53
|
+
* @param {number} [props.defaultExpandedIndex] - Index of the item to expand on initial render (0-based)
|
|
54
|
+
* @param {string} [props.errorField] - Field name containing error; matching item will auto-expand
|
|
55
|
+
* @returns {JSX.Element} Accordion component with collapsible sections
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* // Basic accordion
|
|
59
|
+
* <Accordion
|
|
60
|
+
* data={[
|
|
61
|
+
* { title: "Section 1", content: "Content 1" },
|
|
62
|
+
* { title: "Section 2", content: "Content 2" }
|
|
63
|
+
* ]}
|
|
64
|
+
* defaultExpandedIndex={0}
|
|
65
|
+
* />
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* // With actions and error handling
|
|
69
|
+
* <Accordion
|
|
70
|
+
* data={[
|
|
71
|
+
* {
|
|
72
|
+
* title: "Personal Info",
|
|
73
|
+
* content: <PersonForm />,
|
|
74
|
+
* actions: <Button>Edit</Button>,
|
|
75
|
+
* errorKeys: ["firstName", "lastName"]
|
|
76
|
+
* }
|
|
77
|
+
* ]}
|
|
78
|
+
* errorField="firstName"
|
|
79
|
+
* />
|
|
80
|
+
*/
|
|
27
81
|
export const Accordion = ({
|
|
28
82
|
data,
|
|
29
83
|
className,
|
|
@@ -4,6 +4,16 @@ import { useState } from 'react';
|
|
|
4
4
|
import { Button } from '../../Input/Button/Button';
|
|
5
5
|
import { DatePicker } from '../../Input/DatePicker/DatePicker';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Props for ActivityLogFilter component
|
|
9
|
+
* @typedef {Object} ActivityLogFilterProps
|
|
10
|
+
* @property {Date | null} fromDate - Current filter start date
|
|
11
|
+
* @property {Date | null} toDate - Current filter end date
|
|
12
|
+
* @property {(date: Date | null) => void} setFromDate - Update start date
|
|
13
|
+
* @property {(date: Date | null) => void} setToDate - Update end date
|
|
14
|
+
* @property {() => void} fetchNextPage - Callback to apply filters
|
|
15
|
+
* @property {boolean} isLoading - Whether data is loading
|
|
16
|
+
*/
|
|
7
17
|
interface ActivityLogFilterProps {
|
|
8
18
|
fromDate: Date | null;
|
|
9
19
|
toDate: Date | null;
|
|
@@ -13,6 +23,31 @@ interface ActivityLogFilterProps {
|
|
|
13
23
|
isLoading: boolean;
|
|
14
24
|
}
|
|
15
25
|
|
|
26
|
+
/**
|
|
27
|
+
* ActivityLogFilter component for date range filtering
|
|
28
|
+
* Provides popover with date pickers and apply/clear buttons
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
* @param {ActivityLogFilterProps} props - Filter configuration
|
|
32
|
+
* @param {Date | null} props.fromDate - Start date filter
|
|
33
|
+
* @param {Date | null} props.toDate - End date filter
|
|
34
|
+
* @param {(date: Date | null) => void} props.setFromDate - Handler for start date change
|
|
35
|
+
* @param {(date: Date | null) => void} props.setToDate - Handler for end date change
|
|
36
|
+
* @param {() => void} props.fetchNextPage - Handler to apply filters
|
|
37
|
+
* @param {boolean} props.isLoading - Disable controls while loading
|
|
38
|
+
* @returns {JSX.Element} Filter button with date picker popover
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // Activity filter with date range
|
|
42
|
+
* <ActivityLogFilter
|
|
43
|
+
* fromDate={startDate}
|
|
44
|
+
* toDate={endDate}
|
|
45
|
+
* setFromDate={setStart}
|
|
46
|
+
* setToDate={setEnd}
|
|
47
|
+
* fetchNextPage={() => applyFilters()}
|
|
48
|
+
* isLoading={false}
|
|
49
|
+
* />
|
|
50
|
+
*/
|
|
16
51
|
export const ActivityLogFilter = ({
|
|
17
52
|
fromDate,
|
|
18
53
|
toDate,
|