From 105ea2e75aa772e092d0590b399a2e33ef4e1b43 Mon Sep 17 00:00:00 2001 From: haizgia Date: Thu, 3 Jul 2025 15:32:09 +0700 Subject: [PATCH] add manege dashboard and create base public home --- src/App.js | 5 +- src/assets/images/bg-home.png | Bin 0 -> 548383 bytes src/components/MDAlert/MDAlertCloseIcon.js | 35 ++ src/components/MDAlert/MDAlertRoot.js | 48 +++ src/components/MDAlert/index.js | 86 +++++ src/components/MDAvatar/MDAvatarRoot.js | 89 +++++ src/components/MDAvatar/index.js | 52 +++ src/components/MDBadge/MDBadgeRoot.js | 134 +++++++ src/components/MDBadge/index.js | 70 ++++ src/components/MDBox/MDBoxRoot.js | 122 ++++++ src/components/MDBox/index.js | 66 ++++ src/components/MDButton/MDButtonRoot.js | 276 ++++++++++++++ src/components/MDButton/index.js | 76 ++++ src/components/MDInput/MDInputRoot.js | 71 ++++ src/components/MDInput/index.js | 42 +++ .../MDPagination/MDPaginationItemRoot.js | 62 ++++ src/components/MDPagination/index.js | 95 +++++ src/components/MDProgress/MDProgressRoot.js | 45 +++ src/components/MDProgress/index.js | 69 ++++ .../MDSnackbar/MDSnackbarIconRoot.js | 47 +++ src/components/MDSnackbar/index.js | 174 +++++++++ .../MDTypography/MDTypographyRoot.js | 66 ++++ src/components/MDTypography/index.js | 98 +++++ src/context/index.js | 136 +++++++ src/examples/Dashboard/Breadcrumbs/index.js | 104 ++++++ .../Cards/BlogCards/SimpleBlogCard/index.js | 108 ++++++ .../Cards/InfoCards/DefaultInfoCard/index.js | 83 +++++ .../Cards/InfoCards/ProfileInfoCard/index.js | 140 +++++++ .../Dashboard/Cards/MasterCard/index.js | 120 ++++++ .../ProjectCards/DefaultProjectCard/index.js | 171 +++++++++ .../ComplexStatisticsCard/index.js | 115 ++++++ .../HorizontalBarChart/configs/index.js | 80 ++++ .../BarCharts/HorizontalBarChart/index.js | 141 +++++++ .../ReportsBarChart/configs/index.js | 97 +++++ .../Charts/BarCharts/ReportsBarChart/index.js | 107 ++++++ .../VerticalBarChart/configs/index.js | 78 ++++ .../BarCharts/VerticalBarChart/index.js | 141 +++++++ .../Charts/BubbleChart/configs/index.js | 83 +++++ .../Dashboard/Charts/BubbleChart/index.js | 135 +++++++ .../DefaultDoughnutChart/configs/index.js | 74 ++++ .../DefaultDoughnutChart/index.js | 116 ++++++ .../DefaultLineChart/configs/index.js | 84 +++++ .../LineCharts/DefaultLineChart/index.js | 156 ++++++++ .../GradientLineChart/configs/index.js | 83 +++++ .../LineCharts/GradientLineChart/index.js | 173 +++++++++ .../ProgressLineChart/config/index.js | 102 +++++ .../LineCharts/ProgressLineChart/index.js | 132 +++++++ .../ReportsLineChart/configs/index.js | 97 +++++ .../LineCharts/ReportsLineChart/index.js | 118 ++++++ .../Charts/MixedChart/configs/index.js | 83 +++++ .../Dashboard/Charts/MixedChart/index.js | 235 ++++++++++++ .../Charts/PieChart/configs/index.js | 68 ++++ .../Dashboard/Charts/PieChart/index.js | 116 ++++++ .../Charts/PolarChart/configs/index.js | 62 ++++ .../Dashboard/Charts/PolarChart/index.js | 115 ++++++ .../Charts/RadarChart/configs/index.js | 38 ++ .../Dashboard/Charts/RadarChart/index.js | 138 +++++++ .../Configurator/ConfiguratorRoot.js | 60 +++ src/examples/Dashboard/Configurator/index.js | 347 ++++++++++++++++++ src/examples/Dashboard/Footer/index.js | 117 ++++++ .../Dashboard/Items/NotificationItem/index.js | 51 +++ .../Items/NotificationItem/styles.js | 36 ++ .../LayoutContainers/DashboardLayout/index.js | 64 ++++ .../LayoutContainers/PageLayout/index.js | 62 ++++ .../Dashboard/Lists/ProfilesList/index.js | 94 +++++ .../Navbars/DashboardNavbar/index.js | 202 ++++++++++ .../Navbars/DashboardNavbar/styles.js | 134 +++++++ .../DefaultNavbar/DefaultNavbarLink.js | 69 ++++ .../DefaultNavbar/DefaultNavbarMobile.js | 63 ++++ .../Dashboard/Navbars/DefaultNavbar/index.js | 209 +++++++++++ .../Dashboard/Sidenav/SidenavCollapse.js | 97 +++++ src/examples/Dashboard/Sidenav/SidenavRoot.js | 92 +++++ src/examples/Dashboard/Sidenav/index.js | 213 +++++++++++ .../Dashboard/Sidenav/styles/sidenav.js | 35 ++ .../Sidenav/styles/sidenavCollapse.js | 127 +++++++ .../Tables/DataTable/DataTableBodyCell.js | 59 +++ .../Tables/DataTable/DataTableHeadCell.js | 105 ++++++ .../Dashboard/Tables/DataTable/index.js | 311 ++++++++++++++++ .../Dashboard/Timeline/TimelineItem/index.js | 101 +++++ .../Dashboard/Timeline/TimelineItem/styles.js | 20 + .../Dashboard/Timeline/TimelineList/index.js | 69 ++++ .../Dashboard/Timeline/context/index.js | 37 ++ src/examples/Navbars/DefaultNavbar/index.js | 2 +- src/index.js | 5 +- .../components/BasicLayout/index.js | 77 ++++ .../components/CoverLayout/index.js | 89 +++++ .../authentication/components/Footer/index.js | 145 ++++++++ .../reset-password/cover/index.js | 70 ++++ src/layouts/authentication/sign-in/index.js | 131 +++++++ src/layouts/authentication/sign-up/index.js | 116 ++++++ src/layouts/billing/components/Bill/index.js | 110 ++++++ .../components/BillingInformation/index.js | 61 +++ .../billing/components/Invoice/index.js | 73 ++++ .../billing/components/Invoices/index.js | 51 +++ .../billing/components/PaymentMethod/index.js | 107 ++++++ .../billing/components/Transaction/index.js | 72 ++++ .../billing/components/Transactions/index.js | 123 +++++++ src/layouts/billing/index.js | 89 +++++ src/layouts/notifications/index.js | 197 ++++++++++ .../profile/components/Header/index.js | 156 ++++++++ .../components/PlatformSettings/index.js | 115 ++++++ src/layouts/profile/data/profilesListData.js | 79 ++++ src/layouts/profile/index.js | 203 ++++++++++ .../rtl/components/OrdersOverview/index.js | 84 +++++ .../rtl/components/Projects/data/index.js | 212 +++++++++++ src/layouts/rtl/components/Projects/index.js | 102 +++++ src/layouts/rtl/data/reportsBarChartData.js | 19 + src/layouts/rtl/data/reportsLineChartData.js | 25 ++ src/layouts/rtl/index.js | 176 +++++++++ src/layouts/tables/data/authorsTableData.js | 177 +++++++++ src/layouts/tables/data/projectsTableData.js | 182 +++++++++ src/layouts/tables/index.js | 104 ++++++ src/pages/Presentation/sections/Counters.js | 23 +- .../components/OrdersOverview/index.js | 84 +++++ .../components/Projects/data/index.js | 210 +++++++++++ .../dashboard/components/Projects/index.js | 104 ++++++ .../dashboard/data/reportsBarChartData.js | 19 + .../dashboard/data/reportsLineChartData.js | 25 ++ src/pages/dashboard/index.js | 51 +++ src/pages/public/Home/index.js | 177 +++++++++ src/routes.js | 13 +- 121 files changed, 12268 insertions(+), 21 deletions(-) create mode 100644 src/assets/images/bg-home.png create mode 100644 src/components/MDAlert/MDAlertCloseIcon.js create mode 100644 src/components/MDAlert/MDAlertRoot.js create mode 100644 src/components/MDAlert/index.js create mode 100644 src/components/MDAvatar/MDAvatarRoot.js create mode 100644 src/components/MDAvatar/index.js create mode 100644 src/components/MDBadge/MDBadgeRoot.js create mode 100644 src/components/MDBadge/index.js create mode 100644 src/components/MDBox/MDBoxRoot.js create mode 100644 src/components/MDBox/index.js create mode 100644 src/components/MDButton/MDButtonRoot.js create mode 100644 src/components/MDButton/index.js create mode 100644 src/components/MDInput/MDInputRoot.js create mode 100644 src/components/MDInput/index.js create mode 100644 src/components/MDPagination/MDPaginationItemRoot.js create mode 100644 src/components/MDPagination/index.js create mode 100644 src/components/MDProgress/MDProgressRoot.js create mode 100644 src/components/MDProgress/index.js create mode 100644 src/components/MDSnackbar/MDSnackbarIconRoot.js create mode 100644 src/components/MDSnackbar/index.js create mode 100644 src/components/MDTypography/MDTypographyRoot.js create mode 100644 src/components/MDTypography/index.js create mode 100644 src/context/index.js create mode 100644 src/examples/Dashboard/Breadcrumbs/index.js create mode 100644 src/examples/Dashboard/Cards/BlogCards/SimpleBlogCard/index.js create mode 100644 src/examples/Dashboard/Cards/InfoCards/DefaultInfoCard/index.js create mode 100644 src/examples/Dashboard/Cards/InfoCards/ProfileInfoCard/index.js create mode 100644 src/examples/Dashboard/Cards/MasterCard/index.js create mode 100644 src/examples/Dashboard/Cards/ProjectCards/DefaultProjectCard/index.js create mode 100644 src/examples/Dashboard/Cards/StatisticsCards/ComplexStatisticsCard/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/index.js create mode 100644 src/examples/Dashboard/Charts/BubbleChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/BubbleChart/index.js create mode 100644 src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/GradientLineChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/GradientLineChart/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/config/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/index.js create mode 100644 src/examples/Dashboard/Charts/MixedChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/MixedChart/index.js create mode 100644 src/examples/Dashboard/Charts/PieChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/PieChart/index.js create mode 100644 src/examples/Dashboard/Charts/PolarChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/PolarChart/index.js create mode 100644 src/examples/Dashboard/Charts/RadarChart/configs/index.js create mode 100644 src/examples/Dashboard/Charts/RadarChart/index.js create mode 100644 src/examples/Dashboard/Configurator/ConfiguratorRoot.js create mode 100644 src/examples/Dashboard/Configurator/index.js create mode 100644 src/examples/Dashboard/Footer/index.js create mode 100644 src/examples/Dashboard/Items/NotificationItem/index.js create mode 100644 src/examples/Dashboard/Items/NotificationItem/styles.js create mode 100644 src/examples/Dashboard/LayoutContainers/DashboardLayout/index.js create mode 100644 src/examples/Dashboard/LayoutContainers/PageLayout/index.js create mode 100644 src/examples/Dashboard/Lists/ProfilesList/index.js create mode 100644 src/examples/Dashboard/Navbars/DashboardNavbar/index.js create mode 100644 src/examples/Dashboard/Navbars/DashboardNavbar/styles.js create mode 100644 src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarLink.js create mode 100644 src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarMobile.js create mode 100644 src/examples/Dashboard/Navbars/DefaultNavbar/index.js create mode 100644 src/examples/Dashboard/Sidenav/SidenavCollapse.js create mode 100644 src/examples/Dashboard/Sidenav/SidenavRoot.js create mode 100644 src/examples/Dashboard/Sidenav/index.js create mode 100644 src/examples/Dashboard/Sidenav/styles/sidenav.js create mode 100644 src/examples/Dashboard/Sidenav/styles/sidenavCollapse.js create mode 100644 src/examples/Dashboard/Tables/DataTable/DataTableBodyCell.js create mode 100644 src/examples/Dashboard/Tables/DataTable/DataTableHeadCell.js create mode 100644 src/examples/Dashboard/Tables/DataTable/index.js create mode 100644 src/examples/Dashboard/Timeline/TimelineItem/index.js create mode 100644 src/examples/Dashboard/Timeline/TimelineItem/styles.js create mode 100644 src/examples/Dashboard/Timeline/TimelineList/index.js create mode 100644 src/examples/Dashboard/Timeline/context/index.js create mode 100644 src/layouts/authentication/components/BasicLayout/index.js create mode 100644 src/layouts/authentication/components/CoverLayout/index.js create mode 100644 src/layouts/authentication/components/Footer/index.js create mode 100644 src/layouts/authentication/reset-password/cover/index.js create mode 100644 src/layouts/authentication/sign-in/index.js create mode 100644 src/layouts/authentication/sign-up/index.js create mode 100644 src/layouts/billing/components/Bill/index.js create mode 100644 src/layouts/billing/components/BillingInformation/index.js create mode 100644 src/layouts/billing/components/Invoice/index.js create mode 100644 src/layouts/billing/components/Invoices/index.js create mode 100644 src/layouts/billing/components/PaymentMethod/index.js create mode 100644 src/layouts/billing/components/Transaction/index.js create mode 100644 src/layouts/billing/components/Transactions/index.js create mode 100644 src/layouts/billing/index.js create mode 100644 src/layouts/notifications/index.js create mode 100644 src/layouts/profile/components/Header/index.js create mode 100644 src/layouts/profile/components/PlatformSettings/index.js create mode 100644 src/layouts/profile/data/profilesListData.js create mode 100644 src/layouts/profile/index.js create mode 100644 src/layouts/rtl/components/OrdersOverview/index.js create mode 100644 src/layouts/rtl/components/Projects/data/index.js create mode 100644 src/layouts/rtl/components/Projects/index.js create mode 100644 src/layouts/rtl/data/reportsBarChartData.js create mode 100644 src/layouts/rtl/data/reportsLineChartData.js create mode 100644 src/layouts/rtl/index.js create mode 100644 src/layouts/tables/data/authorsTableData.js create mode 100644 src/layouts/tables/data/projectsTableData.js create mode 100644 src/layouts/tables/index.js create mode 100644 src/pages/dashboard/components/OrdersOverview/index.js create mode 100644 src/pages/dashboard/components/Projects/data/index.js create mode 100644 src/pages/dashboard/components/Projects/index.js create mode 100644 src/pages/dashboard/data/reportsBarChartData.js create mode 100644 src/pages/dashboard/data/reportsLineChartData.js create mode 100644 src/pages/dashboard/index.js create mode 100644 src/pages/public/Home/index.js diff --git a/src/App.js b/src/App.js index 9809064ab..e4f055cf3 100644 --- a/src/App.js +++ b/src/App.js @@ -16,7 +16,7 @@ Coded by www.creative-tim.com import { useEffect } from "react"; // react-router components -import { Routes, Route, Navigate, useLocation } from "react-router-dom"; +import { Routes, Route, useLocation } from "react-router-dom"; // @mui material components import { ThemeProvider } from "@mui/material/styles"; @@ -28,6 +28,7 @@ import Presentation from "layouts/pages/presentation"; // Material Kit 2 React routes import routes from "routes"; +import Home from "pages/public/Home"; export default function App() { const { pathname } = useLocation(); @@ -57,7 +58,7 @@ export default function App() { {getRoutes(routes)} } /> - } /> + } /> ); diff --git a/src/assets/images/bg-home.png b/src/assets/images/bg-home.png new file mode 100644 index 0000000000000000000000000000000000000000..4da5906839ece8adf5ec69a1d3fbbd5f17a8599b GIT binary patch literal 548383 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≪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

nCUo1n*sEU38pQCOgEW{-=Ral{Er7R?w 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 { + const { palette, typography, functions } = theme; + + const { white } = palette; + const { size, fontWeightMedium } = typography; + const { pxToRem } = functions; + + return { + color: white.main, + fontSize: size.xl, + padding: `${pxToRem(9)} ${pxToRem(6)} ${pxToRem(8)}`, + marginLeft: pxToRem(40), + fontWeight: fontWeightMedium, + cursor: "pointer", + lineHeight: 0, + }; +}); diff --git a/src/components/MDAlert/MDAlertRoot.js b/src/components/MDAlert/MDAlertRoot.js new file mode 100644 index 000000000..bb5099ea2 --- /dev/null +++ b/src/components/MDAlert/MDAlertRoot.js @@ -0,0 +1,48 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Box from "@mui/material/Box"; +import { styled } from "@mui/material/styles"; + +export default styled(Box)(({ theme, ownerState }) => { + const { palette, typography, borders, functions } = theme; + const { color } = ownerState; + + const { white, gradients } = palette; + const { fontSizeRegular, fontWeightMedium } = typography; + const { borderRadius } = borders; + const { pxToRem, linearGradient } = functions; + + // backgroundImage value + const backgroundImageValue = gradients[color] + ? linearGradient(gradients[color].main, gradients[color].state) + : linearGradient(gradients.info.main, gradients.info.state); + + return { + display: "flex", + justifyContent: "space-between", + alignItems: "center", + minHeight: pxToRem(60), + backgroundImage: backgroundImageValue, + color: white.main, + position: "relative", + padding: pxToRem(16), + marginBottom: pxToRem(16), + borderRadius: borderRadius.md, + fontSize: fontSizeRegular, + fontWeight: fontWeightMedium, + }; +}); diff --git a/src/components/MDAlert/index.js b/src/components/MDAlert/index.js new file mode 100644 index 000000000..1ee222ed1 --- /dev/null +++ b/src/components/MDAlert/index.js @@ -0,0 +1,86 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useState } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Fade from "@mui/material/Fade"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Custom styles for the MDAlert +import MDAlertRoot from "components/MDAlert/MDAlertRoot"; +import MDAlertCloseIcon from "components/MDAlert/MDAlertCloseIcon"; + +function MDAlert({ color, dismissible, children, ...rest }) { + const [alertStatus, setAlertStatus] = useState("mount"); + + const handleAlertStatus = () => setAlertStatus("fadeOut"); + + // The base template for the alert + const alertTemplate = (mount = true) => ( + + + + {children} + + {dismissible ? ( + × + ) : null} + + + ); + + switch (true) { + case alertStatus === "mount": + return alertTemplate(); + case alertStatus === "fadeOut": + setTimeout(() => setAlertStatus("unmount"), 400); + return alertTemplate(false); + default: + alertTemplate(); + break; + } + + return null; +} + +// Setting default values for the props of MDAlert +MDAlert.defaultProps = { + color: "info", + dismissible: false, +}; + +// Typechecking props of the MDAlert +MDAlert.propTypes = { + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + dismissible: PropTypes.bool, + children: PropTypes.node.isRequired, +}; + +export default MDAlert; diff --git a/src/components/MDAvatar/MDAvatarRoot.js b/src/components/MDAvatar/MDAvatarRoot.js new file mode 100644 index 000000000..8bbeded5d --- /dev/null +++ b/src/components/MDAvatar/MDAvatarRoot.js @@ -0,0 +1,89 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Avatar from "@mui/material/Avatar"; +import { styled } from "@mui/material/styles"; + +export default styled(Avatar)(({ theme, ownerState }) => { + const { palette, functions, typography, boxShadows } = theme; + const { shadow, bgColor, size } = ownerState; + + const { gradients, transparent, white } = palette; + const { pxToRem, linearGradient } = functions; + const { size: fontSize, fontWeightRegular } = typography; + + // backgroundImage value + const backgroundValue = + bgColor === "transparent" + ? transparent.main + : linearGradient(gradients[bgColor].main, gradients[bgColor].state); + + // size value + let sizeValue; + + switch (size) { + case "xs": + sizeValue = { + width: pxToRem(24), + height: pxToRem(24), + fontSize: fontSize.xs, + }; + break; + case "sm": + sizeValue = { + width: pxToRem(36), + height: pxToRem(36), + fontSize: fontSize.sm, + }; + break; + case "lg": + sizeValue = { + width: pxToRem(58), + height: pxToRem(58), + fontSize: fontSize.sm, + }; + break; + case "xl": + sizeValue = { + width: pxToRem(74), + height: pxToRem(74), + fontSize: fontSize.md, + }; + break; + case "xxl": + sizeValue = { + width: pxToRem(110), + height: pxToRem(110), + fontSize: fontSize.md, + }; + break; + default: { + sizeValue = { + width: pxToRem(48), + height: pxToRem(48), + fontSize: fontSize.md, + }; + } + } + + return { + background: backgroundValue, + color: white.main, + fontWeight: fontWeightRegular, + boxShadow: boxShadows[shadow], + ...sizeValue, + }; +}); diff --git a/src/components/MDAvatar/index.js b/src/components/MDAvatar/index.js new file mode 100644 index 000000000..294f430e1 --- /dev/null +++ b/src/components/MDAvatar/index.js @@ -0,0 +1,52 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for MDAvatar +import MDAvatarRoot from "components/MDAvatar/MDAvatarRoot"; + +const MDAvatar = forwardRef(({ bgColor, size, shadow, ...rest }, ref) => ( + +)); + +// Setting default values for the props of MDAvatar +MDAvatar.defaultProps = { + bgColor: "transparent", + size: "md", + shadow: "none", +}; + +// Typechecking props for the MDAvatar +MDAvatar.propTypes = { + bgColor: PropTypes.oneOf([ + "transparent", + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + size: PropTypes.oneOf(["xs", "sm", "md", "lg", "xl", "xxl"]), + shadow: PropTypes.oneOf(["none", "xs", "sm", "md", "lg", "xl", "xxl", "inset"]), +}; + +export default MDAvatar; diff --git a/src/components/MDBadge/MDBadgeRoot.js b/src/components/MDBadge/MDBadgeRoot.js new file mode 100644 index 000000000..3f922e54b --- /dev/null +++ b/src/components/MDBadge/MDBadgeRoot.js @@ -0,0 +1,134 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Badge from "@mui/material/Badge"; +import { styled } from "@mui/material/styles"; + +export default styled(Badge)(({ theme, ownerState }) => { + const { palette, typography, borders, functions } = theme; + const { color, circular, border, size, indicator, variant, container, children } = ownerState; + + const { white, dark, gradients, badgeColors } = palette; + const { size: fontSize, fontWeightBold } = typography; + const { borderRadius, borderWidth } = borders; + const { pxToRem, linearGradient } = functions; + + // padding values + const paddings = { + xs: "0.45em 0.775em", + sm: "0.55em 0.9em", + md: "0.65em 1em", + lg: "0.85em 1.375em", + }; + + // fontSize value + const fontSizeValue = size === "xs" ? fontSize.xxs : fontSize.xs; + + // border value + const borderValue = border ? `${borderWidth[3]} solid ${white.main}` : "none"; + + // borderRadius value + const borderRadiusValue = circular ? borderRadius.section : borderRadius.md; + + // styles for the badge with indicator={true} + const indicatorStyles = (sizeProp) => { + let widthValue = pxToRem(20); + let heightValue = pxToRem(20); + + if (sizeProp === "medium") { + widthValue = pxToRem(24); + heightValue = pxToRem(24); + } else if (sizeProp === "large") { + widthValue = pxToRem(32); + heightValue = pxToRem(32); + } + + return { + width: widthValue, + height: heightValue, + display: "grid", + placeItems: "center", + textAlign: "center", + borderRadius: "50%", + padding: 0, + border: borderValue, + }; + }; + + // styles for the badge with variant="gradient" + const gradientStyles = (colorProp) => { + const backgroundValue = gradients[colorProp] + ? linearGradient(gradients[colorProp].main, gradients[colorProp].state) + : linearGradient(gradients.info.main, gradients.info.state); + const colorValue = colorProp === "light" ? dark.main : white.main; + + return { + background: backgroundValue, + color: colorValue, + }; + }; + + // styles for the badge with variant="contained" + const containedStyles = (colorProp) => { + const backgroundValue = badgeColors[colorProp] + ? badgeColors[colorProp].background + : badgeColors.info.background; + let colorValue = badgeColors[colorProp] ? badgeColors[colorProp].text : badgeColors.info.text; + + if (colorProp === "light") { + colorValue = dark.main; + } + return { + background: backgroundValue, + color: colorValue, + }; + }; + + // styles for the badge with no children and container={false} + const standAloneStyles = () => ({ + position: "static", + marginLeft: pxToRem(8), + transform: "none", + fontSize: pxToRem(9), + }); + + // styles for the badge with container={true} + const containerStyles = () => ({ + position: "relative", + transform: "none", + }); + + return { + "& .MuiBadge-badge": { + height: "auto", + padding: paddings[size] || paddings.xs, + fontSize: fontSizeValue, + fontWeight: fontWeightBold, + textTransform: "uppercase", + lineHeight: 1, + textAlign: "center", + whiteSpace: "nowrap", + verticalAlign: "baseline", + border: borderValue, + borderRadius: borderRadiusValue, + ...(indicator && indicatorStyles(size)), + ...(variant === "gradient" && gradientStyles(color)), + ...(variant === "contained" && containedStyles(color)), + ...(!children && !container && standAloneStyles(color)), + ...(container && containerStyles(color)), + }, + }; +}); diff --git a/src/components/MDBadge/index.js b/src/components/MDBadge/index.js new file mode 100644 index 000000000..d0a4d41a9 --- /dev/null +++ b/src/components/MDBadge/index.js @@ -0,0 +1,70 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for the MDBadge +import MDBadgeRoot from "components/MDBadge/MDBadgeRoot"; + +const MDBadge = forwardRef( + ({ color, variant, size, circular, indicator, border, container, children, ...rest }, ref) => ( + + {children} + + ) +); + +// Setting default values for the props of MDBadge +MDBadge.defaultProps = { + color: "info", + variant: "gradient", + size: "sm", + circular: false, + indicator: false, + border: false, + children: false, + container: false, +}; + +// Typechecking props of the MDBadge +MDBadge.propTypes = { + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + variant: PropTypes.oneOf(["gradient", "contained"]), + size: PropTypes.oneOf(["xs", "sm", "md", "lg"]), + circular: PropTypes.bool, + indicator: PropTypes.bool, + border: PropTypes.bool, + children: PropTypes.node, + container: PropTypes.bool, +}; + +export default MDBadge; diff --git a/src/components/MDBox/MDBoxRoot.js b/src/components/MDBox/MDBoxRoot.js new file mode 100644 index 000000000..7cd34edea --- /dev/null +++ b/src/components/MDBox/MDBoxRoot.js @@ -0,0 +1,122 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Box from "@mui/material/Box"; +import { styled } from "@mui/material/styles"; + +export default styled(Box)(({ theme, ownerState }) => { + const { palette, functions, borders, boxShadows } = theme; + const { variant, bgColor, color, opacity, borderRadius, shadow, coloredShadow } = ownerState; + + const { gradients, grey, white } = palette; + const { linearGradient } = functions; + const { borderRadius: radius } = borders; + const { colored } = boxShadows; + + const greyColors = { + "grey-100": grey[100], + "grey-200": grey[200], + "grey-300": grey[300], + "grey-400": grey[400], + "grey-500": grey[500], + "grey-600": grey[600], + "grey-700": grey[700], + "grey-800": grey[800], + "grey-900": grey[900], + }; + + const validGradients = [ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + ]; + + const validColors = [ + "transparent", + "white", + "black", + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + "text", + "grey-100", + "grey-200", + "grey-300", + "grey-400", + "grey-500", + "grey-600", + "grey-700", + "grey-800", + "grey-900", + ]; + + const validBorderRadius = ["xs", "sm", "md", "lg", "xl", "xxl", "section"]; + const validBoxShadows = ["xs", "sm", "md", "lg", "xl", "xxl", "inset"]; + + // background value + let backgroundValue = bgColor; + + if (variant === "gradient") { + backgroundValue = validGradients.find((el) => el === bgColor) + ? linearGradient(gradients[bgColor].main, gradients[bgColor].state) + : white.main; + } else if (validColors.find((el) => el === bgColor)) { + backgroundValue = palette[bgColor] ? palette[bgColor].main : greyColors[bgColor]; + } else { + backgroundValue = bgColor; + } + + // color value + let colorValue = color; + + if (validColors.find((el) => el === color)) { + colorValue = palette[color] ? palette[color].main : greyColors[color]; + } + + // borderRadius value + let borderRadiusValue = borderRadius; + + if (validBorderRadius.find((el) => el === borderRadius)) { + borderRadiusValue = radius[borderRadius]; + } + + // boxShadow value + let boxShadowValue = "none"; + + if (validBoxShadows.find((el) => el === shadow)) { + boxShadowValue = boxShadows[shadow]; + } else if (coloredShadow) { + boxShadowValue = colored[coloredShadow] ? colored[coloredShadow] : "none"; + } + + return { + opacity, + background: backgroundValue, + color: colorValue, + borderRadius: borderRadiusValue, + boxShadow: boxShadowValue, + }; +}); diff --git a/src/components/MDBox/index.js b/src/components/MDBox/index.js new file mode 100644 index 000000000..632d2336f --- /dev/null +++ b/src/components/MDBox/index.js @@ -0,0 +1,66 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for MDBox +import MDBoxRoot from "components/MDBox/MDBoxRoot"; + +const MDBox = forwardRef( + ({ variant, bgColor, color, opacity, borderRadius, shadow, coloredShadow, ...rest }, ref) => ( + + ) +); + +// Setting default values for the props of MDBox +MDBox.defaultProps = { + variant: "contained", + bgColor: "transparent", + color: "dark", + opacity: 1, + borderRadius: "none", + shadow: "none", + coloredShadow: "none", +}; + +// Typechecking props for the MDBox +MDBox.propTypes = { + variant: PropTypes.oneOf(["contained", "gradient"]), + bgColor: PropTypes.string, + color: PropTypes.string, + opacity: PropTypes.number, + borderRadius: PropTypes.string, + shadow: PropTypes.string, + coloredShadow: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + "none", + ]), +}; + +export default MDBox; diff --git a/src/components/MDButton/MDButtonRoot.js b/src/components/MDButton/MDButtonRoot.js new file mode 100644 index 000000000..3882e42fe --- /dev/null +++ b/src/components/MDButton/MDButtonRoot.js @@ -0,0 +1,276 @@ +/* eslint-disable prefer-destructuring */ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Button from "@mui/material/Button"; +import { styled } from "@mui/material/styles"; + +export default styled(Button)(({ theme, ownerState }) => { + const { palette, functions, borders, boxShadows } = theme; + const { color, variant, size, circular, iconOnly, darkMode } = ownerState; + + const { white, text, transparent, gradients, grey } = palette; + const { boxShadow, linearGradient, pxToRem, rgba } = functions; + const { borderRadius } = borders; + const { colored } = boxShadows; + + // styles for the button with variant="contained" + const containedStyles = () => { + // background color value + const backgroundValue = palette[color] ? palette[color].main : white.main; + + // backgroundColor value when button is focused + const focusedBackgroundValue = palette[color] ? palette[color].focus : white.focus; + + // boxShadow value + const boxShadowValue = colored[color] + ? `${boxShadow([0, 3], [3, 0], palette[color].main, 0.15)}, ${boxShadow( + [0, 3], + [1, -2], + palette[color].main, + 0.2 + )}, ${boxShadow([0, 1], [5, 0], palette[color].main, 0.15)}` + : "none"; + + // boxShadow value when button is hovered + const hoveredBoxShadowValue = colored[color] + ? `${boxShadow([0, 14], [26, -12], palette[color].main, 0.4)}, ${boxShadow( + [0, 4], + [23, 0], + palette[color].main, + 0.15 + )}, ${boxShadow([0, 8], [10, -5], palette[color].main, 0.2)}` + : "none"; + + // color value + let colorValue = white.main; + + if (!darkMode && (color === "white" || color === "light" || !palette[color])) { + colorValue = text.main; + } else if (darkMode && (color === "white" || color === "light" || !palette[color])) { + colorValue = grey[600]; + } + + // color value when button is focused + let focusedColorValue = white.main; + + if (color === "white") { + focusedColorValue = text.main; + } else if (color === "primary" || color === "error" || color === "dark") { + focusedColorValue = white.main; + } + + return { + background: backgroundValue, + color: colorValue, + boxShadow: boxShadowValue, + + "&:hover": { + backgroundColor: backgroundValue, + boxShadow: hoveredBoxShadowValue, + }, + + "&:focus:not(:hover)": { + backgroundColor: focusedBackgroundValue, + boxShadow: palette[color] + ? boxShadow([0, 0], [0, 3.2], palette[color].main, 0.5) + : boxShadow([0, 0], [0, 3.2], white.main, 0.5), + }, + + "&:disabled": { + backgroundColor: backgroundValue, + color: focusedColorValue, + }, + }; + }; + + // styles for the button with variant="outlined" + const outliedStyles = () => { + // background color value + const backgroundValue = color === "white" ? rgba(white.main, 0.1) : transparent.main; + + // color value + const colorValue = palette[color] ? palette[color].main : white.main; + + // boxShadow value + const boxShadowValue = palette[color] + ? boxShadow([0, 0], [0, 3.2], palette[color].main, 0.5) + : boxShadow([0, 0], [0, 3.2], white.main, 0.5); + + // border color value + let borderColorValue = palette[color] ? palette[color].main : rgba(white.main, 0.75); + + if (color === "white") { + borderColorValue = rgba(white.main, 0.75); + } + + return { + background: backgroundValue, + color: colorValue, + borderColor: borderColorValue, + + "&:hover": { + background: transparent.main, + borderColor: colorValue, + }, + + "&:focus:not(:hover)": { + background: transparent.main, + boxShadow: boxShadowValue, + }, + + "&:active:not(:hover)": { + backgroundColor: colorValue, + color: white.main, + opacity: 0.85, + }, + + "&:disabled": { + color: colorValue, + borderColor: colorValue, + }, + }; + }; + + // styles for the button with variant="gradient" + const gradientStyles = () => { + // background value + const backgroundValue = + color === "white" || !gradients[color] + ? white.main + : linearGradient(gradients[color].main, gradients[color].state); + + // boxShadow value + const boxShadowValue = colored[color] + ? `${boxShadow([0, 3], [3, 0], palette[color].main, 0.15)}, ${boxShadow( + [0, 3], + [1, -2], + palette[color].main, + 0.2 + )}, ${boxShadow([0, 1], [5, 0], palette[color].main, 0.15)}` + : "none"; + + // boxShadow value when button is hovered + const hoveredBoxShadowValue = colored[color] + ? `${boxShadow([0, 14], [26, -12], palette[color].main, 0.4)}, ${boxShadow( + [0, 4], + [23, 0], + palette[color].main, + 0.15 + )}, ${boxShadow([0, 8], [10, -5], palette[color].main, 0.2)}` + : "none"; + + // color value + let colorValue = white.main; + + if (color === "white") { + colorValue = text.main; + } else if (color === "light") { + colorValue = gradients.dark.state; + } + + return { + background: backgroundValue, + color: colorValue, + boxShadow: boxShadowValue, + + "&:hover": { + boxShadow: hoveredBoxShadowValue, + }, + + "&:focus:not(:hover)": { + boxShadow: boxShadowValue, + }, + + "&:disabled": { + background: backgroundValue, + color: colorValue, + }, + }; + }; + + // styles for the button with variant="text" + const textStyles = () => { + // color value + const colorValue = palette[color] ? palette[color].main : white.main; + + // color value when button is focused + const focusedColorValue = palette[color] ? palette[color].focus : white.focus; + + return { + color: colorValue, + + "&:hover": { + color: focusedColorValue, + }, + + "&:focus:not(:hover)": { + color: focusedColorValue, + }, + }; + }; + + // styles for the button with circular={true} + const circularStyles = () => ({ + borderRadius: borderRadius.section, + }); + + // styles for the button with iconOnly={true} + const iconOnlyStyles = () => { + // width, height, minWidth and minHeight values + let sizeValue = pxToRem(38); + + if (size === "small") { + sizeValue = pxToRem(25.4); + } else if (size === "large") { + sizeValue = pxToRem(52); + } + + // padding value + let paddingValue = `${pxToRem(11)} ${pxToRem(11)} ${pxToRem(10)}`; + + if (size === "small") { + paddingValue = pxToRem(4.5); + } else if (size === "large") { + paddingValue = pxToRem(16); + } + + return { + width: sizeValue, + minWidth: sizeValue, + height: sizeValue, + minHeight: sizeValue, + padding: paddingValue, + + "& .material-icons": { + marginTop: 0, + }, + + "&:hover, &:focus, &:active": { + transform: "none", + }, + }; + }; + + return { + ...(variant === "contained" && containedStyles()), + ...(variant === "outlined" && outliedStyles()), + ...(variant === "gradient" && gradientStyles()), + ...(variant === "text" && textStyles()), + ...(circular && circularStyles()), + ...(iconOnly && iconOnlyStyles()), + }; +}); diff --git a/src/components/MDButton/index.js b/src/components/MDButton/index.js new file mode 100644 index 000000000..1f5131f65 --- /dev/null +++ b/src/components/MDButton/index.js @@ -0,0 +1,76 @@ +/** +========================================================= +* Material Dashboard 2 React - v1.0.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/soft-ui-dashboard-pro-react +* Copyright 2021 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + +========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for MDButton +import MDButtonRoot from "components/MDButton/MDButtonRoot"; + +// Material Dashboard 2 React contexts +import { useMaterialUIController } from "context"; + +const MDButton = forwardRef( + ({ color, variant, size, circular, iconOnly, children, ...rest }, ref) => { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + return ( + + {children} + + ); + } +); + +// Setting default values for the props of MDButton +MDButton.defaultProps = { + size: "medium", + variant: "contained", + color: "white", + circular: false, + iconOnly: false, +}; + +// Typechecking props for the MDButton +MDButton.propTypes = { + size: PropTypes.oneOf(["small", "medium", "large"]), + variant: PropTypes.oneOf(["text", "contained", "outlined", "gradient"]), + color: PropTypes.oneOf([ + "white", + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + circular: PropTypes.bool, + iconOnly: PropTypes.bool, + children: PropTypes.node.isRequired, +}; + +export default MDButton; diff --git a/src/components/MDInput/MDInputRoot.js b/src/components/MDInput/MDInputRoot.js new file mode 100644 index 000000000..e6bc5a910 --- /dev/null +++ b/src/components/MDInput/MDInputRoot.js @@ -0,0 +1,71 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import TextField from "@mui/material/TextField"; +import { styled } from "@mui/material/styles"; + +export default styled(TextField)(({ theme, ownerState }) => { + const { palette, functions } = theme; + const { error, success, disabled } = ownerState; + + const { grey, transparent, error: colorError, success: colorSuccess } = palette; + const { pxToRem } = functions; + + // styles for the input with error={true} + const errorStyles = () => ({ + backgroundImage: + "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23F44335' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23F44335' stroke='none'/%3E%3C/svg%3E\")", + backgroundRepeat: "no-repeat", + backgroundPosition: `right ${pxToRem(12)} center`, + backgroundSize: `${pxToRem(16)} ${pxToRem(16)}`, + + "& .Mui-focused": { + "& .MuiOutlinedInput-notchedOutline, &:after": { + borderColor: colorError.main, + }, + }, + + "& .MuiInputLabel-root.Mui-focused": { + color: colorError.main, + }, + }); + + // styles for the input with success={true} + const successStyles = () => ({ + backgroundImage: + "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath fill='%234CAF50' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\")", + backgroundRepeat: "no-repeat", + backgroundPosition: `right ${pxToRem(12)} center`, + backgroundSize: `${pxToRem(16)} ${pxToRem(16)}`, + + "& .Mui-focused": { + "& .MuiOutlinedInput-notchedOutline, &:after": { + borderColor: colorSuccess.main, + }, + }, + + "& .MuiInputLabel-root.Mui-focused": { + color: colorSuccess.main, + }, + }); + + return { + backgroundColor: disabled ? `${grey[200]} !important` : transparent.main, + pointerEvents: disabled ? "none" : "auto", + ...(error && errorStyles()), + ...(success && successStyles()), + }; +}); diff --git a/src/components/MDInput/index.js b/src/components/MDInput/index.js new file mode 100644 index 000000000..cff0a6e84 --- /dev/null +++ b/src/components/MDInput/index.js @@ -0,0 +1,42 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for MDInput +import MDInputRoot from "components/MDInput/MDInputRoot"; + +const MDInput = forwardRef(({ error, success, disabled, ...rest }, ref) => ( + +)); + +// Setting default values for the props of MDInput +MDInput.defaultProps = { + error: false, + success: false, + disabled: false, +}; + +// Typechecking props for the MDInput +MDInput.propTypes = { + error: PropTypes.bool, + success: PropTypes.bool, + disabled: PropTypes.bool, +}; + +export default MDInput; diff --git a/src/components/MDPagination/MDPaginationItemRoot.js b/src/components/MDPagination/MDPaginationItemRoot.js new file mode 100644 index 000000000..402d8900e --- /dev/null +++ b/src/components/MDPagination/MDPaginationItemRoot.js @@ -0,0 +1,62 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import { styled } from "@mui/material/styles"; + +// Material Dashboard 2 React components +import MDButton from "components/MDButton"; + +export default styled(MDButton)(({ theme, ownerState }) => { + const { borders, functions, typography, palette } = theme; + const { variant, paginationSize, active } = ownerState; + + const { borderColor } = borders; + const { pxToRem } = functions; + const { fontWeightRegular, size: fontSize } = typography; + const { light } = palette; + + // width, height, minWidth and minHeight values + let sizeValue = pxToRem(36); + + if (paginationSize === "small") { + sizeValue = pxToRem(30); + } else if (paginationSize === "large") { + sizeValue = pxToRem(46); + } + + return { + borderColor, + margin: `0 ${pxToRem(2)}`, + pointerEvents: active ? "none" : "auto", + fontWeight: fontWeightRegular, + fontSize: fontSize.sm, + width: sizeValue, + minWidth: sizeValue, + height: sizeValue, + minHeight: sizeValue, + + "&:hover, &:focus, &:active": { + transform: "none", + boxShadow: (variant !== "gradient" || variant !== "contained") && "none !important", + opacity: "1 !important", + }, + + "&:hover": { + backgroundColor: light.main, + borderColor, + }, + }; +}); diff --git a/src/components/MDPagination/index.js b/src/components/MDPagination/index.js new file mode 100644 index 000000000..cd05814b3 --- /dev/null +++ b/src/components/MDPagination/index.js @@ -0,0 +1,95 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef, createContext, useContext, useMemo } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Custom styles for MDPagination +import MDPaginationItemRoot from "components/MDPagination/MDPaginationItemRoot"; + +// The Pagination main context +const Context = createContext(); + +const MDPagination = forwardRef( + ({ item, variant, color, size, active, children, ...rest }, ref) => { + const context = useContext(Context); + const paginationSize = context ? context.size : null; + + const value = useMemo(() => ({ variant, color, size }), [variant, color, size]); + + return ( + + {item ? ( + + {children} + + ) : ( + + {children} + + )} + + ); + } +); + +// Setting default values for the props of MDPagination +MDPagination.defaultProps = { + item: false, + variant: "gradient", + color: "info", + size: "medium", + active: false, +}; + +// Typechecking props for the MDPagination +MDPagination.propTypes = { + item: PropTypes.bool, + variant: PropTypes.oneOf(["gradient", "contained"]), + color: PropTypes.oneOf([ + "white", + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + size: PropTypes.oneOf(["small", "medium", "large"]), + active: PropTypes.bool, + children: PropTypes.node.isRequired, +}; + +export default MDPagination; diff --git a/src/components/MDProgress/MDProgressRoot.js b/src/components/MDProgress/MDProgressRoot.js new file mode 100644 index 000000000..bc1d3db32 --- /dev/null +++ b/src/components/MDProgress/MDProgressRoot.js @@ -0,0 +1,45 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import { styled } from "@mui/material/styles"; +import LinearProgress from "@mui/material/LinearProgress"; + +export default styled(LinearProgress)(({ theme, ownerState }) => { + const { palette, functions } = theme; + const { color, value, variant } = ownerState; + + const { text, gradients } = palette; + const { linearGradient } = functions; + + // background value + let backgroundValue; + + if (variant === "gradient") { + backgroundValue = gradients[color] + ? linearGradient(gradients[color].main, gradients[color].state) + : linearGradient(gradients.info.main, gradients.info.state); + } else { + backgroundValue = palette[color] ? palette[color].main : palette.info.main; + } + + return { + "& .MuiLinearProgress-bar": { + background: backgroundValue, + width: `${value}%`, + color: text.main, + }, + }; +}); diff --git a/src/components/MDProgress/index.js b/src/components/MDProgress/index.js new file mode 100644 index 000000000..b69bdddad --- /dev/null +++ b/src/components/MDProgress/index.js @@ -0,0 +1,69 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Material Dashboard 2 React components +import MDTypography from "components/MDTypography"; + +// Custom styles for MDProgress +import MDProgressRoot from "components/MDProgress/MDProgressRoot"; + +const MDProgress = forwardRef(({ variant, color, value, label, ...rest }, ref) => ( + <> + {label && ( + + {value}% + + )} + + +)); + +// Setting default values for the props of MDProgress +MDProgress.defaultProps = { + variant: "contained", + color: "info", + value: 0, + label: false, +}; + +// Typechecking props for the MDProgress +MDProgress.propTypes = { + variant: PropTypes.oneOf(["contained", "gradient"]), + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + value: PropTypes.number, + label: PropTypes.bool, +}; + +export default MDProgress; diff --git a/src/components/MDSnackbar/MDSnackbarIconRoot.js b/src/components/MDSnackbar/MDSnackbarIconRoot.js new file mode 100644 index 000000000..316c340c2 --- /dev/null +++ b/src/components/MDSnackbar/MDSnackbarIconRoot.js @@ -0,0 +1,47 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Icon from "@mui/material/Icon"; +import { styled } from "@mui/material/styles"; + +export default styled(Icon)(({ theme, ownerState }) => { + const { palette, functions, typography } = theme; + const { color, bgWhite } = ownerState; + + const { white, transparent, gradients } = palette; + const { pxToRem, linearGradient } = functions; + const { size } = typography; + + // backgroundImage value + let backgroundImageValue; + + if (bgWhite) { + backgroundImageValue = gradients[color] + ? linearGradient(gradients[color].main, gradients[color].state) + : linearGradient(gradients.info.main, gradients.info.state); + } else if (color === "light") { + backgroundImageValue = linearGradient(gradients.dark.main, gradients.dark.state); + } + + return { + backgroundImage: backgroundImageValue, + WebkitTextFillColor: bgWhite || color === "light" ? transparent.main : white.main, + WebkitBackgroundClip: "text", + marginRight: pxToRem(8), + fontSize: size.lg, + transform: `translateY(${pxToRem(-2)})`, + }; +}); diff --git a/src/components/MDSnackbar/index.js b/src/components/MDSnackbar/index.js new file mode 100644 index 000000000..1059752ad --- /dev/null +++ b/src/components/MDSnackbar/index.js @@ -0,0 +1,174 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Snackbar from "@mui/material/Snackbar"; +import IconButton from "@mui/material/IconButton"; +import Icon from "@mui/material/Icon"; +import Divider from "@mui/material/Divider"; +import Fade from "@mui/material/Fade"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Custom styles for the MDSnackbar +import MDSnackbarIconRoot from "components/MDSnackbar/MDSnackbarIconRoot"; + +// Material Dashboard 2 React context +import { useMaterialUIController } from "context"; + +function MDSnackbar({ color, icon, title, dateTime, content, close, bgWhite, ...rest }) { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + let titleColor; + let dateTimeColor; + let dividerColor; + + if (bgWhite) { + titleColor = color; + dateTimeColor = "dark"; + dividerColor = false; + } else if (color === "light") { + titleColor = darkMode ? "inherit" : "dark"; + dateTimeColor = darkMode ? "inherit" : "text"; + dividerColor = false; + } else { + titleColor = "white"; + dateTimeColor = "white"; + dividerColor = true; + } + + return ( + + close + + } + > + + darkMode ? palette.background.card : palette[color] || palette.white.main, + }} + > + + + + {icon} + + + {title} + + + + + {dateTime} + + + (bgWhite && !darkMode) || color === "light" ? dark.main : white.main, + fontWeight: ({ typography: { fontWeightBold } }) => fontWeightBold, + cursor: "pointer", + marginLeft: 2, + transform: "translateY(-1px)", + }} + onClick={close} + > + close + + + + + size.sm, + color: ({ palette: { white, text } }) => { + let colorValue = bgWhite || color === "light" ? text.main : white.main; + + if (darkMode) { + colorValue = color === "light" ? "inherit" : white.main; + } + + return colorValue; + }, + }} + > + {content} + + + + ); +} + +// Setting default values for the props of MDSnackbar +MDSnackbar.defaultProps = { + bgWhite: false, + color: "info", +}; + +// Typechecking props for MDSnackbar +MDSnackbar.propTypes = { + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + ]), + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, + dateTime: PropTypes.string.isRequired, + content: PropTypes.node.isRequired, + close: PropTypes.func.isRequired, + bgWhite: PropTypes.bool, +}; + +export default MDSnackbar; diff --git a/src/components/MDTypography/MDTypographyRoot.js b/src/components/MDTypography/MDTypographyRoot.js new file mode 100644 index 000000000..d81edaa1e --- /dev/null +++ b/src/components/MDTypography/MDTypographyRoot.js @@ -0,0 +1,66 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Typography from "@mui/material/Typography"; +import { styled } from "@mui/material/styles"; + +export default styled(Typography)(({ theme, ownerState }) => { + const { palette, typography, functions } = theme; + const { color, textTransform, verticalAlign, fontWeight, opacity, textGradient, darkMode } = + ownerState; + + const { gradients, transparent, white } = palette; + const { fontWeightLight, fontWeightRegular, fontWeightMedium, fontWeightBold } = typography; + const { linearGradient } = functions; + + // fontWeight styles + const fontWeights = { + light: fontWeightLight, + regular: fontWeightRegular, + medium: fontWeightMedium, + bold: fontWeightBold, + }; + + // styles for the typography with textGradient={true} + const gradientStyles = () => ({ + backgroundImage: + color !== "inherit" && color !== "text" && color !== "white" && gradients[color] + ? linearGradient(gradients[color].main, gradients[color].state) + : linearGradient(gradients.dark.main, gradients.dark.state), + display: "inline-block", + WebkitBackgroundClip: "text", + WebkitTextFillColor: transparent.main, + position: "relative", + zIndex: 1, + }); + + // color value + let colorValue = color === "inherit" || !palette[color] ? "inherit" : palette[color].main; + + if (darkMode && (color === "inherit" || !palette[color])) { + colorValue = "inherit"; + } else if (darkMode && color === "dark") colorValue = white.main; + + return { + opacity, + textTransform, + verticalAlign, + textDecoration: "none", + color: colorValue, + fontWeight: fontWeights[fontWeight] && fontWeights[fontWeight], + ...(textGradient && gradientStyles()), + }; +}); diff --git a/src/components/MDTypography/index.js b/src/components/MDTypography/index.js new file mode 100644 index 000000000..97bd4597b --- /dev/null +++ b/src/components/MDTypography/index.js @@ -0,0 +1,98 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Custom styles for MDTypography +import MDTypographyRoot from "components/MDTypography/MDTypographyRoot"; + +// Material Dashboard 2 React contexts +import { useMaterialUIController } from "context"; + +const MDTypography = forwardRef( + ( + { color, fontWeight, textTransform, verticalAlign, textGradient, opacity, children, ...rest }, + ref + ) => { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + return ( + + {children} + + ); + } +); + +// Setting default values for the props of MDTypography +MDTypography.defaultProps = { + color: "dark", + fontWeight: false, + textTransform: "none", + verticalAlign: "unset", + textGradient: false, + opacity: 1, +}; + +// Typechecking props for the MDTypography +MDTypography.propTypes = { + color: PropTypes.oneOf([ + "inherit", + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + "text", + "white", + ]), + fontWeight: PropTypes.oneOf([false, "light", "regular", "medium", "bold"]), + textTransform: PropTypes.oneOf(["none", "capitalize", "uppercase", "lowercase"]), + verticalAlign: PropTypes.oneOf([ + "unset", + "baseline", + "sub", + "super", + "text-top", + "text-bottom", + "middle", + "top", + "bottom", + ]), + textGradient: PropTypes.bool, + children: PropTypes.node.isRequired, + opacity: PropTypes.number, +}; + +export default MDTypography; diff --git a/src/context/index.js b/src/context/index.js new file mode 100644 index 000000000..c88bb6e97 --- /dev/null +++ b/src/context/index.js @@ -0,0 +1,136 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/** + This file is used for controlling the global states of the components, + you can customize the states for the different components here. +*/ + +import { createContext, useContext, useReducer, useMemo } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Material Dashboard 2 React main context +const MaterialUI = createContext(); + +// Setting custom name for the context which is visible on react dev tools +MaterialUI.displayName = "MaterialUIContext"; + +// Material Dashboard 2 React reducer +function reducer(state, action) { + switch (action.type) { + case "MINI_SIDENAV": { + return { ...state, miniSidenav: action.value }; + } + case "TRANSPARENT_SIDENAV": { + return { ...state, transparentSidenav: action.value }; + } + case "WHITE_SIDENAV": { + return { ...state, whiteSidenav: action.value }; + } + case "SIDENAV_COLOR": { + return { ...state, sidenavColor: action.value }; + } + case "TRANSPARENT_NAVBAR": { + return { ...state, transparentNavbar: action.value }; + } + case "FIXED_NAVBAR": { + return { ...state, fixedNavbar: action.value }; + } + case "OPEN_CONFIGURATOR": { + return { ...state, openConfigurator: action.value }; + } + case "DIRECTION": { + return { ...state, direction: action.value }; + } + case "LAYOUT": { + return { ...state, layout: action.value }; + } + case "DARKMODE": { + return { ...state, darkMode: action.value }; + } + default: { + throw new Error(`Unhandled action type: ${action.type}`); + } + } +} + +// Material Dashboard 2 React context provider +function MaterialUIControllerProvider({ children }) { + const initialState = { + miniSidenav: false, + transparentSidenav: false, + whiteSidenav: false, + sidenavColor: "info", + transparentNavbar: true, + fixedNavbar: true, + openConfigurator: false, + direction: "ltr", + layout: "dashboard", + darkMode: false, + }; + + const [controller, dispatch] = useReducer(reducer, initialState); + + const value = useMemo(() => [controller, dispatch], [controller, dispatch]); + + return {children}; +} + +// Material Dashboard 2 React custom hook for using context +function useMaterialUIController() { + const context = useContext(MaterialUI); + + if (!context) { + throw new Error( + "useMaterialUIController should be used inside the MaterialUIControllerProvider." + ); + } + + return context; +} + +// Typechecking props for the MaterialUIControllerProvider +MaterialUIControllerProvider.propTypes = { + children: PropTypes.node.isRequired, +}; + +// Context module functions +const setMiniSidenav = (dispatch, value) => dispatch({ type: "MINI_SIDENAV", value }); +const setTransparentSidenav = (dispatch, value) => dispatch({ type: "TRANSPARENT_SIDENAV", value }); +const setWhiteSidenav = (dispatch, value) => dispatch({ type: "WHITE_SIDENAV", value }); +const setSidenavColor = (dispatch, value) => dispatch({ type: "SIDENAV_COLOR", value }); +const setTransparentNavbar = (dispatch, value) => dispatch({ type: "TRANSPARENT_NAVBAR", value }); +const setFixedNavbar = (dispatch, value) => dispatch({ type: "FIXED_NAVBAR", value }); +const setOpenConfigurator = (dispatch, value) => dispatch({ type: "OPEN_CONFIGURATOR", value }); +const setDirection = (dispatch, value) => dispatch({ type: "DIRECTION", value }); +const setLayout = (dispatch, value) => dispatch({ type: "LAYOUT", value }); +const setDarkMode = (dispatch, value) => dispatch({ type: "DARKMODE", value }); + +export { + MaterialUIControllerProvider, + useMaterialUIController, + setMiniSidenav, + setTransparentSidenav, + setWhiteSidenav, + setSidenavColor, + setTransparentNavbar, + setFixedNavbar, + setOpenConfigurator, + setDirection, + setLayout, + setDarkMode, +}; diff --git a/src/examples/Dashboard/Breadcrumbs/index.js b/src/examples/Dashboard/Breadcrumbs/index.js new file mode 100644 index 000000000..4fa483523 --- /dev/null +++ b/src/examples/Dashboard/Breadcrumbs/index.js @@ -0,0 +1,104 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// react-router-dom components +import { Link } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import { Breadcrumbs as MuiBreadcrumbs } from "@mui/material"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +function Breadcrumbs({ icon, title, route, light }) { + const routes = route.slice(0, -1); + + return ( + + (light ? white.main : grey[600]), + }, + }} + > + + + {icon} + + + {routes.map((el) => ( + + + {el} + + + ))} + + {title.replace("-", " ")} + + + + {title.replace("-", " ")} + + + ); +} + +// Setting default values for the props of Breadcrumbs +Breadcrumbs.defaultProps = { + light: false, +}; + +// Typechecking props for the Breadcrumbs +Breadcrumbs.propTypes = { + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, + route: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired, + light: PropTypes.bool, +}; + +export default Breadcrumbs; diff --git a/src/examples/Dashboard/Cards/BlogCards/SimpleBlogCard/index.js b/src/examples/Dashboard/Cards/BlogCards/SimpleBlogCard/index.js new file mode 100644 index 000000000..cd582aabe --- /dev/null +++ b/src/examples/Dashboard/Cards/BlogCards/SimpleBlogCard/index.js @@ -0,0 +1,108 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// react-router components +import { Link } from "react-router-dom"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import MuiLink from "@mui/material/Link"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDButton from "components/MDButton"; + +function SimpleBlogCard({ image, title, description, action }) { + return ( + + + + + + + + {title} + + + + {description} + + + {action.type === "external" ? ( + + {action.label} + + ) : ( + + {action.label} + + )} + + + ); +} + +// Typechecking props for the SimpleBlogCard +SimpleBlogCard.propTypes = { + image: PropTypes.string.isRequired, + title: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + action: PropTypes.shape({ + type: PropTypes.oneOf(["external", "internal"]).isRequired, + route: PropTypes.string.isRequired, + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + "default", + ]), + label: PropTypes.string.isRequired, + }).isRequired, +}; + +export default SimpleBlogCard; diff --git a/src/examples/Dashboard/Cards/InfoCards/DefaultInfoCard/index.js b/src/examples/Dashboard/Cards/InfoCards/DefaultInfoCard/index.js new file mode 100644 index 000000000..8f1421a35 --- /dev/null +++ b/src/examples/Dashboard/Cards/InfoCards/DefaultInfoCard/index.js @@ -0,0 +1,83 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import Divider from "@mui/material/Divider"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +function DefaultInfoCard({ color, icon, title, description, value }) { + return ( + + + + {icon} + + + + + {title} + + {description && ( + + {description} + + )} + {description && !value ? null : } + {value && ( + + {value} + + )} + + + ); +} + +// Setting default values for the props of DefaultInfoCard +DefaultInfoCard.defaultProps = { + color: "info", + value: "", + description: "", +}; + +// Typechecking props for the DefaultInfoCard +DefaultInfoCard.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, + description: PropTypes.string, + value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), +}; + +export default DefaultInfoCard; diff --git a/src/examples/Dashboard/Cards/InfoCards/ProfileInfoCard/index.js b/src/examples/Dashboard/Cards/InfoCards/ProfileInfoCard/index.js new file mode 100644 index 000000000..891ef8f17 --- /dev/null +++ b/src/examples/Dashboard/Cards/InfoCards/ProfileInfoCard/index.js @@ -0,0 +1,140 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// react-routers components +import { Link } from "react-router-dom"; + +// prop-types is library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import Divider from "@mui/material/Divider"; +import Tooltip from "@mui/material/Tooltip"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; +import typography from "assets/theme/base/typography"; + +function ProfileInfoCard({ title, description, info, social, action, shadow }) { + const labels = []; + const values = []; + const { socialMediaColors } = colors; + const { size } = typography; + + // Convert this form `objectKey` of the object key in to this `object key` + Object.keys(info).forEach((el) => { + if (el.match(/[A-Z\s]+/)) { + const uppercaseLetter = Array.from(el).find((i) => i.match(/[A-Z]+/)); + const newElement = el.replace(uppercaseLetter, ` ${uppercaseLetter.toLowerCase()}`); + + labels.push(newElement); + } else { + labels.push(el); + } + }); + + // Push the object values into the values array + Object.values(info).forEach((el) => values.push(el)); + + // Render the card info items + const renderItems = labels.map((label, key) => ( + + + {label}:   + + +  {values[key]} + + + )); + + // Render the card social media icons + const renderSocial = social.map(({ link, icon, color }) => ( + + {icon} + + )); + + return ( + + + + {title} + + + + edit + + + + + + + {description} + + + + + + + {renderItems} + + + social:   + + {renderSocial} + + + + + ); +} + +// Setting default props for the ProfileInfoCard +ProfileInfoCard.defaultProps = { + shadow: true, +}; + +// Typechecking props for the ProfileInfoCard +ProfileInfoCard.propTypes = { + title: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + info: PropTypes.objectOf(PropTypes.string).isRequired, + social: PropTypes.arrayOf(PropTypes.object).isRequired, + action: PropTypes.shape({ + route: PropTypes.string.isRequired, + tooltip: PropTypes.string.isRequired, + }).isRequired, + shadow: PropTypes.bool, +}; + +export default ProfileInfoCard; diff --git a/src/examples/Dashboard/Cards/MasterCard/index.js b/src/examples/Dashboard/Cards/MasterCard/index.js new file mode 100644 index 000000000..1b528fc49 --- /dev/null +++ b/src/examples/Dashboard/Cards/MasterCard/index.js @@ -0,0 +1,120 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Images +import pattern from "assets/images/illustrations/pattern-tree.svg"; +import masterCardLogo from "assets/images/logos/mastercard.png"; + +function MasterCard({ color, number, holder, expires }) { + const numbers = [...`${number}`]; + + if (numbers.length < 16 || numbers.length > 16) { + throw new Error( + "Invalid value for the prop number, the value for the number prop shouldn't be greater than or less than 16 digits" + ); + } + + const num1 = numbers.slice(0, 4).join(""); + const num2 = numbers.slice(4, 8).join(""); + const num3 = numbers.slice(8, 12).join(""); + const num4 = numbers.slice(12, 16).join(""); + + return ( + ({ + background: gradients[color] + ? linearGradient(gradients[color].main, gradients[color].state) + : linearGradient(gradients.dark.main, gradients.dark.state), + boxShadow: xl, + position: "relative", + })} + > + + + + wifi + + + {num1}   {num2}   {num3}   {num4} + + + + + + Card Holder + + + {holder} + + + + + Expires + + + {expires} + + + + + + + + + + ); +} + +// Setting default values for the props of MasterCard +MasterCard.defaultProps = { + color: "dark", +}; + +// Typechecking props for the MasterCard +MasterCard.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + number: PropTypes.number.isRequired, + holder: PropTypes.string.isRequired, + expires: PropTypes.string.isRequired, +}; + +export default MasterCard; diff --git a/src/examples/Dashboard/Cards/ProjectCards/DefaultProjectCard/index.js b/src/examples/Dashboard/Cards/ProjectCards/DefaultProjectCard/index.js new file mode 100644 index 000000000..85cbc6e24 --- /dev/null +++ b/src/examples/Dashboard/Cards/ProjectCards/DefaultProjectCard/index.js @@ -0,0 +1,171 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// react-router-dom components +import { Link } from "react-router-dom"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import CardMedia from "@mui/material/CardMedia"; +import Tooltip from "@mui/material/Tooltip"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDButton from "components/MDButton"; +import MDAvatar from "components/MDAvatar"; + +function DefaultProjectCard({ image, label, title, description, action, authors }) { + const renderAuthors = authors.map(({ image: media, name }) => ( + + ({ + border: `${borderWidth[2]} solid ${white.main}`, + cursor: "pointer", + position: "relative", + ml: -1.25, + + "&:hover, &:focus": { + zIndex: "10", + }, + })} + /> + + )); + + return ( + + + md, + objectFit: "cover", + objectPosition: "center", + }} + /> + + + + {label} + + + {action.type === "internal" ? ( + + {title} + + ) : ( + + {title} + + )} + + + + {description} + + + + {action.type === "internal" ? ( + + {action.label} + + ) : ( + + {action.label} + + )} + {renderAuthors} + + + + ); +} + +// Setting default values for the props of DefaultProjectCard +DefaultProjectCard.defaultProps = { + authors: [], +}; + +// Typechecking props for the DefaultProjectCard +DefaultProjectCard.propTypes = { + image: PropTypes.string.isRequired, + label: PropTypes.string.isRequired, + title: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + action: PropTypes.shape({ + type: PropTypes.oneOf(["external", "internal"]), + route: PropTypes.string.isRequired, + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + "white", + ]).isRequired, + label: PropTypes.string.isRequired, + }).isRequired, + authors: PropTypes.arrayOf(PropTypes.object), +}; + +export default DefaultProjectCard; diff --git a/src/examples/Dashboard/Cards/StatisticsCards/ComplexStatisticsCard/index.js b/src/examples/Dashboard/Cards/StatisticsCards/ComplexStatisticsCard/index.js new file mode 100644 index 000000000..0d3929f9a --- /dev/null +++ b/src/examples/Dashboard/Cards/StatisticsCards/ComplexStatisticsCard/index.js @@ -0,0 +1,115 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; +import Divider from "@mui/material/Divider"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +function ComplexStatisticsCard({ color, title, count, percentage, icon }) { + return ( + + + + + {icon} + + + + + {title} + + {count} + + + + + + + {percentage.amount} + +  {percentage.label} + + + + ); +} + +// Setting default values for the props of ComplexStatisticsCard +ComplexStatisticsCard.defaultProps = { + color: "info", + percentage: { + color: "success", + text: "", + label: "", + }, +}; + +// Typechecking props for the ComplexStatisticsCard +ComplexStatisticsCard.propTypes = { + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + title: PropTypes.string.isRequired, + count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, + percentage: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "white", + ]), + amount: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + label: PropTypes.string, + }), + icon: PropTypes.node.isRequired, +}; + +export default ComplexStatisticsCard; diff --git a/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/configs/index.js b/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/configs/index.js new file mode 100644 index 000000000..4c821e3c3 --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/configs/index.js @@ -0,0 +1,80 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + indexAxis: "y", + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "#c1c4ce5c", + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 10, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: false, + drawOnChartArea: true, + drawTicks: true, + color: "#c1c4ce5c", + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 20, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/index.js b/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/index.js new file mode 100644 index 000000000..55170cf4c --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/HorizontalBarChart/index.js @@ -0,0 +1,141 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Bar } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// HorizontalBarChart configurations +import configs from "examples/Charts/BarCharts/HorizontalBarChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + +function HorizontalBarChart({ icon, title, description, height, chart }) { + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + weight: 5, + borderWidth: 0, + borderRadius: 4, + backgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: false, + maxBarThickness: 35, + })) + : []; + + const { data, options } = configs(chart.labels || [], chartDatasets); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of HorizontalBarChart +HorizontalBarChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the HorizontalBarChart +HorizontalBarChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default HorizontalBarChart; diff --git a/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/configs/index.js b/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/configs/index.js new file mode 100644 index 000000000..732cb0ee2 --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/configs/index.js @@ -0,0 +1,97 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [ + { + label: datasets.label, + tension: 0.4, + borderWidth: 0, + borderRadius: 4, + borderSkipped: false, + backgroundColor: "rgba(255, 255, 255, 0.8)", + data: datasets.data, + maxBarThickness: 6, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "rgba(255, 255, 255, .2)", + }, + ticks: { + suggestedMin: 0, + suggestedMax: 500, + beginAtZero: true, + padding: 10, + font: { + size: 14, + weight: 300, + family: "Roboto", + style: "normal", + lineHeight: 2, + }, + color: "#fff", + }, + }, + x: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "rgba(255, 255, 255, .2)", + }, + ticks: { + display: true, + color: "#f8f9fa", + padding: 10, + font: { + size: 14, + weight: 300, + family: "Roboto", + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/index.js b/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/index.js new file mode 100644 index 000000000..47d0db082 --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/ReportsBarChart/index.js @@ -0,0 +1,107 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Bar } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Divider from "@mui/material/Divider"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// ReportsBarChart configurations +import configs from "examples/Charts/BarCharts/ReportsBarChart/configs"; + +ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + +function ReportsBarChart({ color, title, description, date, chart }) { + const { data, options } = configs(chart.labels || [], chart.datasets || {}); + + return ( + + + {useMemo( + () => ( + + + + ), + [color, chart] + )} + + + {title} + + + {description} + + + + + schedule + + + {date} + + + + + + ); +} + +// Setting default values for the props of ReportsBarChart +ReportsBarChart.defaultProps = { + color: "info", + description: "", +}; + +// Typechecking props for the ReportsBarChart +ReportsBarChart.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + title: PropTypes.string.isRequired, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + date: PropTypes.string.isRequired, + chart: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.array, PropTypes.object])).isRequired, +}; + +export default ReportsBarChart; diff --git a/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/configs/index.js b/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/configs/index.js new file mode 100644 index 000000000..b94edf7f5 --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/configs/index.js @@ -0,0 +1,78 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + padding: 10, + color: "#9ca2b7", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: false, + drawOnChartArea: true, + drawTicks: true, + }, + ticks: { + display: true, + color: "#9ca2b7", + padding: 10, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/index.js b/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/index.js new file mode 100644 index 000000000..0b89d7b79 --- /dev/null +++ b/src/examples/Dashboard/Charts/BarCharts/VerticalBarChart/index.js @@ -0,0 +1,141 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Bar } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + BarElement, + Title, + Tooltip, + Legend, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// VerticalBarChart configurations +import configs from "examples/Charts/BarCharts/VerticalBarChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register(CategoryScale, LinearScale, BarElement, Title, Tooltip, Legend); + +function VerticalBarChart({ icon, title, description, height, chart }) { + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + weight: 5, + borderWidth: 0, + borderRadius: 4, + backgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: false, + maxBarThickness: 35, + })) + : []; + + const { data, options } = configs(chart.labels || [], chartDatasets); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of VerticalBarChart +VerticalBarChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the VerticalBarChart +VerticalBarChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default VerticalBarChart; diff --git a/src/examples/Dashboard/Charts/BubbleChart/configs/index.js b/src/examples/Dashboard/Charts/BubbleChart/configs/index.js new file mode 100644 index 000000000..43573f715 --- /dev/null +++ b/src/examples/Dashboard/Charts/BubbleChart/configs/index.js @@ -0,0 +1,83 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + padding: 10, + color: "#b2b9bf", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 10, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/BubbleChart/index.js b/src/examples/Dashboard/Charts/BubbleChart/index.js new file mode 100644 index 000000000..4eb5e1ea2 --- /dev/null +++ b/src/examples/Dashboard/Charts/BubbleChart/index.js @@ -0,0 +1,135 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Bubble } from "react-chartjs-2"; +import { Chart as ChartJS, LinearScale, PointElement, Tooltip, Legend } from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// BubbleChart configurations +import configs from "examples/Charts/BubbleChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register(LinearScale, PointElement, Tooltip, Legend); + +function BubbleChart({ icon, title, description, height, chart }) { + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + tension: 0.4, + borderWidth: 3, + pointRadius: 2, + backgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + borderColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + maxBarThickness: 6, + })) + : []; + + const { data, options } = configs(chart.labels || [], chartDatasets); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of BubbleChart +BubbleChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "100%", +}; + +// Typechecking props for the BubbleChart +BubbleChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default BubbleChart; diff --git a/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/configs/index.js b/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/configs/index.js new file mode 100644 index 000000000..f6b84146d --- /dev/null +++ b/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/configs/index.js @@ -0,0 +1,74 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/* eslint-disable no-dupe-keys */ +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +const { gradients, dark } = colors; + +function configs(labels, datasets, cutout = 60) { + const backgroundColors = []; + + if (datasets.backgroundColors) { + datasets.backgroundColors.forEach((color) => { + if (gradients[color]) { + if (color === "info") { + backgroundColors.push(gradients.info.main); + } else { + backgroundColors.push(gradients[color].state); + } + } else { + backgroundColors.push(dark.main); + } + }); + } else { + backgroundColors.push(dark.main); + } + + return { + data: { + labels, + datasets: [ + { + label: datasets.label, + weight: 9, + cutout, + tension: 0.9, + pointRadius: 2, + borderWidth: 2, + backgroundColor: backgroundColors, + fill: false, + data: datasets.data, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/index.js b/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/index.js new file mode 100644 index 000000000..fba9c06f2 --- /dev/null +++ b/src/examples/Dashboard/Charts/DoughnutCharts/DefaultDoughnutChart/index.js @@ -0,0 +1,116 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Doughnut } from "react-chartjs-2"; +import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// DefaultDoughnutChart configurations +import configs from "examples/Charts/DoughnutCharts/DefaultDoughnutChart/configs"; + +ChartJS.register(ArcElement, Tooltip, Legend); + +function DefaultDoughnutChart({ icon, title, description, height, chart }) { + const { data, options } = configs(chart.labels || [], chart.datasets || {}, chart.cutout); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of DefaultDoughnutChart +DefaultDoughnutChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the DefaultDoughnutChart +DefaultDoughnutChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.array, PropTypes.object])).isRequired, +}; + +export default DefaultDoughnutChart; diff --git a/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/configs/index.js b/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/configs/index.js new file mode 100644 index 000000000..6748063d5 --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/configs/index.js @@ -0,0 +1,84 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.1.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/nextjs-material-dashboard-pro +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "#c1c4ce5c", + }, + ticks: { + display: true, + padding: 10, + color: "#b2b9bf", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: true, + borderDash: [5, 5], + color: "#c1c4ce5c", + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 20, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/index.js b/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/index.js new file mode 100644 index 000000000..f3f9f750c --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/DefaultLineChart/index.js @@ -0,0 +1,156 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Line } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// DefaultLineChart configurations +import configs from "examples/Charts/LineCharts/DefaultLineChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler +); + +function DefaultLineChart({ icon, title, description, height, chart }) { + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + tension: 0, + pointRadius: 3, + borderWidth: 4, + backgroundColor: "transparent", + fill: true, + pointBackgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + borderColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + maxBarThickness: 6, + })) + : []; + + const { data, options } = configs(chart.labels || [], chartDatasets); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of DefaultLineChart +DefaultLineChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the DefaultLineChart +DefaultLineChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default DefaultLineChart; diff --git a/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/configs/index.js b/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/configs/index.js new file mode 100644 index 000000000..8c438d125 --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/configs/index.js @@ -0,0 +1,83 @@ +/** +========================================================= +* NextJS Material Dashboard 2 - v2.1.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/nextjs-material-dashboard-pro +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// NextJS Material Dashboard 2 base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + padding: 10, + color: "#b2b9bf", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: false, + drawOnChartArea: false, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 20, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/index.js b/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/index.js new file mode 100644 index 000000000..b4d9f237e --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/GradientLineChart/index.js @@ -0,0 +1,173 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useRef, useEffect, useState, useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Line } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Material Dashboard 2 React helper functions +import gradientChartLine from "assets/theme/functions/gradientChartLine"; + +// GradientLineChart configurations +import configs from "examples/Charts/LineCharts/GradientLineChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler +); + +function GradientLineChart({ icon, title, description, height, chart }) { + const chartRef = useRef(null); + const [chartData, setChartData] = useState({}); + + useEffect(() => { + const chartElement = chartRef.current; + + if (!chartElement) return; + + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + tension: 0, + pointRadius: 0, + borderWidth: 4, + borderColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: true, + maxBarThickness: 6, + backgroundColor: gradientChartLine( + chartElement.ctx, + colors[dataset.color] ? colors[dataset.color || "dark"].main : colors.dark.main + ), + })) + : []; + + setChartData(configs(chart.labels || [], chartDatasets)); + }, [chart]); + + const { data, options } = useMemo(() => chartData, [chartData]); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + + + + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of GradientLineChart +GradientLineChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the GradientLineChart +GradientLineChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default GradientLineChart; diff --git a/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/config/index.js b/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/config/index.js new file mode 100644 index 000000000..e583338df --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/config/index.js @@ -0,0 +1,102 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.1.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/nextjs-material-dashboard-pro +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/* eslint-disable no-dupe-keys */ + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; +import typography from "assets/theme/base/typography"; + +const { gradients } = colors; + +function configs(color, labels, label, data) { + return { + data: { + labels, + datasets: [ + { + label, + tension: 0, + pointRadius: 3, + pointBackgroundColor: gradients[color] ? gradients[color].main : gradients.dark.main, + borderColor: gradients[color] ? gradients[color].main : gradients.dark.main, + borderWidth: 4, + backgroundColor: "transparent", + maxBarThickness: 6, + fill: true, + data, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: false, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + padding: 10, + color: "#b2b9bf", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "#c1c4ce5c", + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 20, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/index.js b/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/index.js new file mode 100644 index 000000000..2ef2ed745 --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/ProgressLineChart/index.js @@ -0,0 +1,132 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Line } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDProgress from "components/MDProgress"; + +// ProgressLineChart configurations +import configs from "examples/Charts/LineCharts/ProgressLineChart/config"; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler +); + +function ProgressLineChart({ color, icon, title, count, progress, height, chart }) { + const { data, options } = configs(color, chart.labels || [], title, chart.data || []); + + return ( + + + + {icon} + + + + {title} + + {count ? ( + + {count} + + ) : null} + + + + {progress}% + + + + + + + {useMemo( + () => ( + + + + ), + [chart, height, color] + )} + + ); +} + +// Setting default values for the props of ProgressLineChart +ProgressLineChart.defaultProps = { + color: "info", + count: 0, + height: "6.25rem", +}; + +// Typechecking props for the ProgressLineChart +ProgressLineChart.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, + count: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + progress: PropTypes.number.isRequired, + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default ProgressLineChart; diff --git a/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/configs/index.js b/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/configs/index.js new file mode 100644 index 000000000..185538a5b --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/configs/index.js @@ -0,0 +1,97 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.1.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/nextjs-material-dashboard-pro +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [ + { + label: datasets.label, + tension: 0, + pointRadius: 5, + pointBorderColor: "transparent", + pointBackgroundColor: "rgba(255, 255, 255, .8)", + borderColor: "rgba(255, 255, 255, .8)", + borderWidth: 4, + backgroundColor: "transparent", + fill: true, + data: datasets.data, + maxBarThickness: 6, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + color: "rgba(255, 255, 255, .2)", + }, + ticks: { + display: true, + color: "#f8f9fa", + padding: 10, + font: { + size: 14, + weight: 300, + family: "Roboto", + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: false, + drawOnChartArea: false, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + color: "#f8f9fa", + padding: 10, + font: { + size: 14, + weight: 300, + family: "Roboto", + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/index.js b/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/index.js new file mode 100644 index 000000000..7efe6f516 --- /dev/null +++ b/src/examples/Dashboard/Charts/LineCharts/ReportsLineChart/index.js @@ -0,0 +1,118 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Line } from "react-chartjs-2"; +import { + Chart as ChartJS, + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Divider from "@mui/material/Divider"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// ReportsLineChart configurations +import configs from "examples/Charts/LineCharts/ReportsLineChart/configs"; + +ChartJS.register( + CategoryScale, + LinearScale, + PointElement, + LineElement, + Title, + Tooltip, + Legend, + Filler +); + +function ReportsLineChart({ color, title, description, date, chart }) { + const { data, options } = configs(chart.labels || [], chart.datasets || {}); + + return ( + + + {useMemo( + () => ( + + + + ), + [chart, color] + )} + + + {title} + + + {description} + + + + + schedule + + + {date} + + + + + + ); +} + +// Setting default values for the props of ReportsLineChart +ReportsLineChart.defaultProps = { + color: "info", + description: "", +}; + +// Typechecking props for the ReportsLineChart +ReportsLineChart.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + title: PropTypes.string.isRequired, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + date: PropTypes.string.isRequired, + chart: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.array, PropTypes.object])).isRequired, +}; + +export default ReportsLineChart; diff --git a/src/examples/Dashboard/Charts/MixedChart/configs/index.js b/src/examples/Dashboard/Charts/MixedChart/configs/index.js new file mode 100644 index 000000000..6449a07ee --- /dev/null +++ b/src/examples/Dashboard/Charts/MixedChart/configs/index.js @@ -0,0 +1,83 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + scales: { + y: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: false, + borderDash: [5, 5], + }, + ticks: { + display: true, + padding: 10, + color: "#b2b9bf", + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + x: { + grid: { + drawBorder: false, + display: true, + drawOnChartArea: true, + drawTicks: true, + borderDash: [5, 5], + }, + ticks: { + display: true, + color: "#b2b9bf", + padding: 10, + font: { + size: 11, + family: typography.fontFamily, + style: "normal", + lineHeight: 2, + }, + }, + }, + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/MixedChart/index.js b/src/examples/Dashboard/Charts/MixedChart/index.js new file mode 100644 index 000000000..fe37b8d73 --- /dev/null +++ b/src/examples/Dashboard/Charts/MixedChart/index.js @@ -0,0 +1,235 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useRef, useEffect, useState, useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Line } from "react-chartjs-2"; +import { + Chart as ChartJS, + LinearScale, + CategoryScale, + BarElement, + PointElement, + LineElement, + Legend, + Tooltip, + LineController, + BarController, + Filler, +} from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Material Dashboard 2 React helper functions +import gradientChartLine from "assets/theme/functions/gradientChartLine"; + +// MixedChart configurations +import configs from "examples/Charts/MixedChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +ChartJS.register( + LinearScale, + CategoryScale, + BarElement, + PointElement, + LineElement, + Legend, + Tooltip, + LineController, + BarController, + Filler +); + +function MixedChart({ icon, title, description, height, chart }) { + const chartRef = useRef(null); + const [chartData, setChartData] = useState({}); + + useEffect(() => { + const chartElement = chartRef.current; + + if (!chartElement) return; + + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => { + let finalConfigs; + + const defaultLine = { + ...dataset, + type: "line", + tension: 0, + borderWidth: 4, + pointRadius: 2, + pointBackgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + borderColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + maxBarThickness: 6, + }; + + const gradientLine = { + ...dataset, + type: "line", + tension: 0, + pointRadius: 0, + borderWidth: 4, + borderColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: true, + maxBarThickness: 6, + backgroundColor: gradientChartLine( + chartElement.ctx, + colors[dataset.color] ? colors[dataset.color || "dark"].main : colors.dark.main + ), + }; + + const bar = { + ...dataset, + type: "bar", + weight: 5, + borderWidth: 0, + borderRadius: 4, + backgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: false, + maxBarThickness: 35, + }; + + const thinBar = { + ...dataset, + type: "bar", + weight: 5, + borderWidth: 0, + borderRadius: 4, + backgroundColor: colors[dataset.color] + ? colors[dataset.color || "dark"].main + : colors.dark.main, + fill: false, + maxBarThickness: 10, + }; + + if (dataset.chartType === "default-line") { + finalConfigs = defaultLine; + } else if (dataset.chartType === "gradient-line") { + finalConfigs = gradientLine; + } else if (dataset.chartType === "thin-bar") { + finalConfigs = thinBar; + } else { + finalConfigs = bar; + } + + return { ...finalConfigs }; + }) + : []; + + setChartData(configs(chart.labels || [], chartDatasets)); + }, [chart]); + + const { data, options } = useMemo(() => chartData, [chartData]); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + + + + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of MixedChart +MixedChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the MixedChart +MixedChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default MixedChart; diff --git a/src/examples/Dashboard/Charts/PieChart/configs/index.js b/src/examples/Dashboard/Charts/PieChart/configs/index.js new file mode 100644 index 000000000..0f9a00841 --- /dev/null +++ b/src/examples/Dashboard/Charts/PieChart/configs/index.js @@ -0,0 +1,68 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/* eslint-disable no-dupe-keys */ +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +const { gradients, dark } = colors; + +function configs(labels, datasets) { + const backgroundColors = []; + + if (datasets.backgroundColors) { + datasets.backgroundColors.forEach((color) => + gradients[color] + ? backgroundColors.push(gradients[color].state) + : backgroundColors.push(dark.main) + ); + } else { + backgroundColors.push(dark.main); + } + + return { + data: { + labels, + datasets: [ + { + label: datasets.label, + weight: 9, + cutout: 0, + tension: 0.9, + pointRadius: 2, + borderWidth: 2, + backgroundColor: backgroundColors, + fill: false, + data: datasets.data, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/PieChart/index.js b/src/examples/Dashboard/Charts/PieChart/index.js new file mode 100644 index 000000000..e60fa7fd0 --- /dev/null +++ b/src/examples/Dashboard/Charts/PieChart/index.js @@ -0,0 +1,116 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Pie } from "react-chartjs-2"; +import { Chart as ChartJS, ArcElement, Tooltip, Legend } from "chart.js"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// PieChart configurations +import configs from "examples/Charts/PieChart/configs"; + +ChartJS.register(ArcElement, Tooltip, Legend); + +function PieChart({ icon, title, description, height, chart }) { + const { data, options } = configs(chart.labels || [], chart.datasets || {}); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart, height] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of PieChart +PieChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", + height: "19.125rem", +}; + +// Typechecking props for the PieChart +PieChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.array, PropTypes.object])).isRequired, +}; + +export default PieChart; diff --git a/src/examples/Dashboard/Charts/PolarChart/configs/index.js b/src/examples/Dashboard/Charts/PolarChart/configs/index.js new file mode 100644 index 000000000..bc3d6d5e2 --- /dev/null +++ b/src/examples/Dashboard/Charts/PolarChart/configs/index.js @@ -0,0 +1,62 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/* eslint-disable no-dupe-keys */ +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +const { gradients, dark } = colors; + +function configs(labels, datasets) { + const backgroundColors = []; + + if (datasets.backgroundColors) { + datasets.backgroundColors.forEach((color) => + gradients[color] + ? backgroundColors.push(gradients[color].state) + : backgroundColors.push(dark.main) + ); + } else { + backgroundColors.push(dark.main); + } + + return { + data: { + labels, + datasets: [ + { + label: datasets.label, + backgroundColor: backgroundColors, + data: datasets.data, + }, + ], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/PolarChart/index.js b/src/examples/Dashboard/Charts/PolarChart/index.js new file mode 100644 index 000000000..bb9ae79de --- /dev/null +++ b/src/examples/Dashboard/Charts/PolarChart/index.js @@ -0,0 +1,115 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { Chart as ChartJS, RadialLinearScale, ArcElement, Tooltip, Legend } from "chart.js"; +import { PolarArea } from "react-chartjs-2"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// PolarChart configurations +import configs from "examples/Charts/PolarChart/configs"; + +ChartJS.register(RadialLinearScale, ArcElement, Tooltip, Legend); + +function PolarChart({ icon, title, description, chart, height }) { + const { data, options } = configs(chart.labels || [], chart.datasets || {}); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of PolarChart +PolarChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", +}; + +// Typechecking props for the PolarChart +PolarChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.array, PropTypes.object])).isRequired, +}; + +export default PolarChart; diff --git a/src/examples/Dashboard/Charts/RadarChart/configs/index.js b/src/examples/Dashboard/Charts/RadarChart/configs/index.js new file mode 100644 index 000000000..c70bd2256 --- /dev/null +++ b/src/examples/Dashboard/Charts/RadarChart/configs/index.js @@ -0,0 +1,38 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +function configs(labels, datasets) { + return { + data: { + labels, + datasets: [...datasets], + }, + options: { + responsive: true, + maintainAspectRatio: false, + plugins: { + legend: { + display: false, + }, + }, + interaction: { + intersect: false, + mode: "index", + }, + }, + }; +} + +export default configs; diff --git a/src/examples/Dashboard/Charts/RadarChart/index.js b/src/examples/Dashboard/Charts/RadarChart/index.js new file mode 100644 index 000000000..8d4a08687 --- /dev/null +++ b/src/examples/Dashboard/Charts/RadarChart/index.js @@ -0,0 +1,138 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo } from "react"; + +// porp-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-chartjs-2 components +import { + Chart as ChartJS, + RadialLinearScale, + PointElement, + LineElement, + Filler, + Tooltip, + Legend, +} from "chart.js"; +import { Radar } from "react-chartjs-2"; + +// @mui material components +import Card from "@mui/material/Card"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// RadarChart configurations +import configs from "examples/Charts/RadarChart/configs"; + +// Material Dashboard 2 React base styles +import colors from "assets/theme/base/colors"; + +// Material Dashboard 2 React helper functions +import rgba from "assets/theme/functions/rgba"; + +ChartJS.register(RadialLinearScale, PointElement, LineElement, Filler, Tooltip, Legend); + +function RadarChart({ icon, title, description, height, chart }) { + const chartDatasets = chart.datasets + ? chart.datasets.map((dataset) => ({ + ...dataset, + backgroundColor: colors[dataset.color] + ? rgba(colors[dataset.color || "dark"].main, 0.2) + : rgba(colors.dark.main, 0.2), + })) + : []; + + const { data, options } = configs(chart.labels || [], chartDatasets); + + const renderChart = ( + + {title || description ? ( + + {icon.component && ( + + {icon.component} + + )} + + {title && {title}} + + + {description} + + + + + ) : null} + {useMemo( + () => ( + + + + ), + [chart] + )} + + ); + + return title || description ? {renderChart} : renderChart; +} + +// Setting default values for the props of RadarChart +RadarChart.defaultProps = { + icon: { color: "info", component: "" }, + title: "", + description: "", +}; + +// Typechecking props for the RadarChart +RadarChart.propTypes = { + icon: PropTypes.shape({ + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "light", + "dark", + ]), + component: PropTypes.node, + }), + title: PropTypes.string, + description: PropTypes.oneOfType([PropTypes.string, PropTypes.node]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + chart: PropTypes.objectOf(PropTypes.array).isRequired, +}; + +export default RadarChart; diff --git a/src/examples/Dashboard/Configurator/ConfiguratorRoot.js b/src/examples/Dashboard/Configurator/ConfiguratorRoot.js new file mode 100644 index 000000000..5c7f5c589 --- /dev/null +++ b/src/examples/Dashboard/Configurator/ConfiguratorRoot.js @@ -0,0 +1,60 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Drawer from "@mui/material/Drawer"; +import { styled } from "@mui/material/styles"; + +export default styled(Drawer)(({ theme, ownerState }) => { + const { boxShadows, functions, transitions } = theme; + const { openConfigurator } = ownerState; + + const configuratorWidth = 360; + const { lg } = boxShadows; + const { pxToRem } = functions; + + // drawer styles when openConfigurator={true} + const drawerOpenStyles = () => ({ + width: configuratorWidth, + left: "initial", + right: 0, + transition: transitions.create("right", { + easing: transitions.easing.sharp, + duration: transitions.duration.short, + }), + }); + + // drawer styles when openConfigurator={false} + const drawerCloseStyles = () => ({ + left: "initial", + right: pxToRem(-350), + transition: transitions.create("all", { + easing: transitions.easing.sharp, + duration: transitions.duration.short, + }), + }); + + return { + "& .MuiDrawer-paper": { + height: "100vh", + margin: 0, + padding: `0 ${pxToRem(10)}`, + borderRadius: 0, + boxShadow: lg, + overflowY: "auto", + ...(openConfigurator ? drawerOpenStyles() : drawerCloseStyles()), + }, + }; +}); diff --git a/src/examples/Dashboard/Configurator/index.js b/src/examples/Dashboard/Configurator/index.js new file mode 100644 index 000000000..2083f380a --- /dev/null +++ b/src/examples/Dashboard/Configurator/index.js @@ -0,0 +1,347 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useState, useEffect } from "react"; + +// react-github-btn +import GitHubButton from "react-github-btn"; + +// @mui material components +import Divider from "@mui/material/Divider"; +import Switch from "@mui/material/Switch"; +import IconButton from "@mui/material/IconButton"; +import Link from "@mui/material/Link"; +import Icon from "@mui/material/Icon"; + +// @mui icons +import TwitterIcon from "@mui/icons-material/Twitter"; +import FacebookIcon from "@mui/icons-material/Facebook"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDButton from "components/MDButton"; + +// Custom styles for the Configurator +import ConfiguratorRoot from "examples/Configurator/ConfiguratorRoot"; + +// Material Dashboard 2 React context +import { + useMaterialUIController, + setOpenConfigurator, + setTransparentSidenav, + setWhiteSidenav, + setFixedNavbar, + setSidenavColor, + setDarkMode, +} from "context"; + +function Configurator() { + const [controller, dispatch] = useMaterialUIController(); + const { + openConfigurator, + fixedNavbar, + sidenavColor, + transparentSidenav, + whiteSidenav, + darkMode, + } = controller; + const [disabled, setDisabled] = useState(false); + const sidenavColors = ["primary", "dark", "info", "success", "warning", "error"]; + + // Use the useEffect hook to change the button state for the sidenav type based on window size. + useEffect(() => { + // A function that sets the disabled state of the buttons for the sidenav type. + function handleDisabled() { + return window.innerWidth > 1200 ? setDisabled(false) : setDisabled(true); + } + + // The event listener that's calling the handleDisabled function when resizing the window. + window.addEventListener("resize", handleDisabled); + + // Call the handleDisabled function to set the state with the initial value. + handleDisabled(); + + // Remove event listener on cleanup + return () => window.removeEventListener("resize", handleDisabled); + }, []); + + const handleCloseConfigurator = () => setOpenConfigurator(dispatch, false); + const handleTransparentSidenav = () => { + setTransparentSidenav(dispatch, true); + setWhiteSidenav(dispatch, false); + }; + const handleWhiteSidenav = () => { + setWhiteSidenav(dispatch, true); + setTransparentSidenav(dispatch, false); + }; + const handleDarkSidenav = () => { + setWhiteSidenav(dispatch, false); + setTransparentSidenav(dispatch, false); + }; + const handleFixedNavbar = () => setFixedNavbar(dispatch, !fixedNavbar); + const handleDarkMode = () => setDarkMode(dispatch, !darkMode); + + // sidenav type buttons styles + const sidenavTypeButtonsStyles = ({ + functions: { pxToRem }, + palette: { white, dark, background }, + borders: { borderWidth }, + }) => ({ + height: pxToRem(39), + background: darkMode ? background.sidenav : white.main, + color: darkMode ? white.main : dark.main, + border: `${borderWidth[1]} solid ${darkMode ? white.main : dark.main}`, + + "&:hover, &:focus, &:focus:not(:hover)": { + background: darkMode ? background.sidenav : white.main, + color: darkMode ? white.main : dark.main, + border: `${borderWidth[1]} solid ${darkMode ? white.main : dark.main}`, + }, + }); + + // sidenav type active button styles + const sidenavTypeActiveButtonStyles = ({ + functions: { pxToRem, linearGradient }, + palette: { white, gradients, background }, + }) => ({ + height: pxToRem(39), + background: darkMode ? white.main : linearGradient(gradients.dark.main, gradients.dark.state), + color: darkMode ? background.sidenav : white.main, + + "&:hover, &:focus, &:focus:not(:hover)": { + background: darkMode ? white.main : linearGradient(gradients.dark.main, gradients.dark.state), + color: darkMode ? background.sidenav : white.main, + }, + }); + + return ( + + + + Material UI Configurator + + See our dashboard options. + + + + ({ + fontSize: `${size.lg} !important`, + color: darkMode ? white.main : dark.main, + stroke: "currentColor", + strokeWidth: "2px", + cursor: "pointer", + transform: "translateY(5px)", + })} + onClick={handleCloseConfigurator} + > + close + + + + + + + + Sidenav Colors + + + {sidenavColors.map((color) => ( + ({ + width: "24px", + height: "24px", + padding: 0, + border: `${borderWidth[1]} solid ${darkMode ? background.sidenav : white.main}`, + borderColor: () => { + let borderColorValue = sidenavColor === color && dark.main; + + if (darkMode && sidenavColor === color) { + borderColorValue = white.main; + } + + return borderColorValue; + }, + transition: transitions.create("border-color", { + easing: transitions.easing.sharp, + duration: transitions.duration.shorter, + }), + backgroundImage: ({ functions: { linearGradient }, palette: { gradients } }) => + linearGradient(gradients[color].main, gradients[color].state), + + "&:not(:last-child)": { + mr: 1, + }, + + "&:hover, &:focus, &:active": { + borderColor: darkMode ? white.main : dark.main, + }, + })} + onClick={() => setSidenavColor(dispatch, color)} + /> + ))} + + + + + Sidenav Type + + Choose between different sidenav types. + + + + + Dark + + + + Transparent + + + + White + + + + + Navbar Fixed + + + + + + Light / Dark + + + + + + + view documentation + + + + + Star + + + + + Thank you for sharing! + + + + + + +   Tweet + + + + +   Share + + + + + + ); +} + +export default Configurator; diff --git a/src/examples/Dashboard/Footer/index.js b/src/examples/Dashboard/Footer/index.js new file mode 100644 index 000000000..7acc80d1a --- /dev/null +++ b/src/examples/Dashboard/Footer/index.js @@ -0,0 +1,117 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Link from "@mui/material/Link"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Material Dashboard 2 React base styles +import typography from "assets/theme/base/typography"; + +function Footer({ company, links }) { + const { href, name } = company; + const { size } = typography; + + const renderLinks = () => + links.map((link) => ( + + + + {link.name} + + + + )); + + return ( + + + © {new Date().getFullYear()}, made with + + + favorite + + + by + + +  {name}  + + + for a better web. + + ({ + display: "flex", + flexWrap: "wrap", + alignItems: "center", + justifyContent: "center", + listStyle: "none", + mt: 3, + mb: 0, + p: 0, + + [breakpoints.up("lg")]: { + mt: 0, + }, + })} + > + {renderLinks()} + + + ); +} + +// Setting default values for the props of Footer +Footer.defaultProps = { + company: { href: "https://www.creative-tim.com/", name: "Creative Tim" }, + links: [ + { href: "https://www.creative-tim.com/", name: "Creative Tim" }, + { href: "https://www.creative-tim.com/presentation", name: "About Us" }, + { href: "https://www.creative-tim.com/blog", name: "Blog" }, + { href: "https://www.creative-tim.com/license", name: "License" }, + ], +}; + +// Typechecking props for the Footer +Footer.propTypes = { + company: PropTypes.objectOf(PropTypes.string), + links: PropTypes.arrayOf(PropTypes.object), +}; + +export default Footer; diff --git a/src/examples/Dashboard/Items/NotificationItem/index.js b/src/examples/Dashboard/Items/NotificationItem/index.js new file mode 100644 index 000000000..4e5385766 --- /dev/null +++ b/src/examples/Dashboard/Items/NotificationItem/index.js @@ -0,0 +1,51 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { forwardRef } from "react"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import MenuItem from "@mui/material/MenuItem"; +import Link from "@mui/material/Link"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// custom styles for the NotificationItem +import menuItem from "examples/Dashboard/Items/NotificationItem/styles"; + +const NotificationItem = forwardRef(({ icon, title, ...rest }, ref) => ( + menuItem(theme)}> + + + {icon} + + + {title} + + + +)); + +// Typechecking props for the NotificationItem +NotificationItem.propTypes = { + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, +}; + +export default NotificationItem; diff --git a/src/examples/Dashboard/Items/NotificationItem/styles.js b/src/examples/Dashboard/Items/NotificationItem/styles.js new file mode 100644 index 000000000..05ffef16a --- /dev/null +++ b/src/examples/Dashboard/Items/NotificationItem/styles.js @@ -0,0 +1,36 @@ +function menuItem(theme) { + const { palette, borders, transitions } = theme; + + const { secondary, light, dark } = palette; + const { borderRadius } = borders; + + return { + display: "flex", + alignItems: "center", + width: "100%", + color: secondary.main, + borderRadius: borderRadius.md, + transition: transitions.create("background-color", { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + + "& *": { + transition: "color 100ms linear", + }, + + "&:not(:last-child)": { + mb: 1, + }, + + "&:hover": { + backgroundColor: light.main, + + "& *": { + color: dark.main, + }, + }, + }; +} + +export default menuItem; diff --git a/src/examples/Dashboard/LayoutContainers/DashboardLayout/index.js b/src/examples/Dashboard/LayoutContainers/DashboardLayout/index.js new file mode 100644 index 000000000..66a750fa2 --- /dev/null +++ b/src/examples/Dashboard/LayoutContainers/DashboardLayout/index.js @@ -0,0 +1,64 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useEffect } from "react"; + +// react-router-dom components +import { useLocation } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Material Dashboard 2 React context +import { useMaterialUIController, setLayout } from "context"; + +function DashboardLayout({ children }) { + const [controller, dispatch] = useMaterialUIController(); + const { miniSidenav } = controller; + const { pathname } = useLocation(); + + useEffect(() => { + setLayout(dispatch, "dashboard"); + }, [pathname]); + + return ( + ({ + p: 3, + position: "relative", + + [breakpoints.up("xl")]: { + marginLeft: miniSidenav ? pxToRem(120) : pxToRem(274), + transition: transitions.create(["margin-left", "margin-right"], { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + }, + })} + > + {children} + + ); +} + +// Typechecking props for the DashboardLayout +DashboardLayout.propTypes = { + children: PropTypes.node.isRequired, +}; + +export default DashboardLayout; diff --git a/src/examples/Dashboard/LayoutContainers/PageLayout/index.js b/src/examples/Dashboard/LayoutContainers/PageLayout/index.js new file mode 100644 index 000000000..8b3954752 --- /dev/null +++ b/src/examples/Dashboard/LayoutContainers/PageLayout/index.js @@ -0,0 +1,62 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useEffect } from "react"; + +// react-router-dom components +import { useLocation } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Material Dashboard 2 React context +import { useMaterialUIController, setLayout } from "context"; + +function PageLayout({ background, children }) { + const [, dispatch] = useMaterialUIController(); + const { pathname } = useLocation(); + + useEffect(() => { + setLayout(dispatch, "page"); + }, [pathname]); + + return ( + + {children} + + ); +} + +// Setting default values for the props for PageLayout +PageLayout.defaultProps = { + background: "default", +}; + +// Typechecking props for the PageLayout +PageLayout.propTypes = { + background: PropTypes.oneOf(["white", "light", "default"]), + children: PropTypes.node.isRequired, +}; + +export default PageLayout; diff --git a/src/examples/Dashboard/Lists/ProfilesList/index.js b/src/examples/Dashboard/Lists/ProfilesList/index.js new file mode 100644 index 000000000..760b06353 --- /dev/null +++ b/src/examples/Dashboard/Lists/ProfilesList/index.js @@ -0,0 +1,94 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// react-routers components +import { Link } from "react-router-dom"; + +// prop-types is library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDAvatar from "components/MDAvatar"; +import MDButton from "components/MDButton"; + +function ProfilesList({ title, profiles, shadow }) { + const renderProfiles = profiles.map(({ image, name, description, action }) => ( + + + + + + + {name} + + + {description} + + + + {action.type === "internal" ? ( + + {action.label} + + ) : ( + + {action.label} + + )} + + + )); + + return ( + + + + {title} + + + + + {renderProfiles} + + + + ); +} + +// Setting default props for the ProfilesList +ProfilesList.defaultProps = { + shadow: true, +}; + +// Typechecking props for the ProfilesList +ProfilesList.propTypes = { + title: PropTypes.string.isRequired, + profiles: PropTypes.arrayOf(PropTypes.object).isRequired, + shadow: PropTypes.bool, +}; + +export default ProfilesList; diff --git a/src/examples/Dashboard/Navbars/DashboardNavbar/index.js b/src/examples/Dashboard/Navbars/DashboardNavbar/index.js new file mode 100644 index 000000000..73435b6ec --- /dev/null +++ b/src/examples/Dashboard/Navbars/DashboardNavbar/index.js @@ -0,0 +1,202 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useState, useEffect } from "react"; + +// react-router components +import { useLocation, Link } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @material-ui core components +import AppBar from "@mui/material/AppBar"; +import Toolbar from "@mui/material/Toolbar"; +import IconButton from "@mui/material/IconButton"; +import Menu from "@mui/material/Menu"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDInput from "components/MDInput"; + +// Material Dashboard 2 React example components +import Breadcrumbs from "examples/Dashboard/Breadcrumbs"; +import NotificationItem from "examples/Dashboard/Items/NotificationItem"; + +// Custom styles for DashboardNavbar +import { + navbar, + navbarContainer, + navbarRow, + navbarIconButton, + navbarMobileMenu, +} from "examples/Dashboard/Navbars/DashboardNavbar/styles"; + +// Material Dashboard 2 React context +import { + useMaterialUIController, + setTransparentNavbar, + setMiniSidenav, + setOpenConfigurator, +} from "context"; + +function DashboardNavbar({ absolute, light, isMini }) { + const [navbarType, setNavbarType] = useState(); + const [controller, dispatch] = useMaterialUIController(); + const { miniSidenav, transparentNavbar, fixedNavbar, openConfigurator, darkMode } = controller; + const [openMenu, setOpenMenu] = useState(false); + const route = useLocation().pathname.split("/").slice(1); + + useEffect(() => { + // Setting the navbar type + if (fixedNavbar) { + setNavbarType("sticky"); + } else { + setNavbarType("static"); + } + + // A function that sets the transparent state of the navbar. + function handleTransparentNavbar() { + setTransparentNavbar(dispatch, (fixedNavbar && window.scrollY === 0) || !fixedNavbar); + } + + /** + The event listener that's calling the handleTransparentNavbar function when + scrolling the window. + */ + window.addEventListener("scroll", handleTransparentNavbar); + + // Call the handleTransparentNavbar function to set the state with the initial value. + handleTransparentNavbar(); + + // Remove event listener on cleanup + return () => window.removeEventListener("scroll", handleTransparentNavbar); + }, [dispatch, fixedNavbar]); + + const handleMiniSidenav = () => setMiniSidenav(dispatch, !miniSidenav); + const handleConfiguratorOpen = () => setOpenConfigurator(dispatch, !openConfigurator); + const handleOpenMenu = (event) => setOpenMenu(event.currentTarget); + const handleCloseMenu = () => setOpenMenu(false); + + // Render the notifications menu + const renderMenu = () => ( +

+ email} title="Check new messages" /> + podcasts} title="Manage Podcast sessions" /> + shopping_cart} title="Payment successfully completed" /> + + ); + + // Styles for the navbar icons + const iconsStyle = ({ palette: { dark, white, text }, functions: { rgba } }) => ({ + color: () => { + let colorValue = light || darkMode ? white.main : dark.main; + + if (transparentNavbar && !light) { + colorValue = darkMode ? rgba(text.main, 0.6) : text.main; + } + + return colorValue; + }, + }); + + return ( + navbar(theme, { transparentNavbar, absolute, light, darkMode })} + > + navbarContainer(theme)}> + navbarRow(theme, { isMini })}> + + + {isMini ? null : ( + navbarRow(theme, { isMini })}> + + + + + + + account_circle + + + + + {miniSidenav ? "menu_open" : "menu"} + + + + settings + + + notifications + + {renderMenu()} + + + )} + + + ); +} + +// Setting default values for the props of DashboardNavbar +DashboardNavbar.defaultProps = { + absolute: false, + light: false, + isMini: false, +}; + +// Typechecking props for the DashboardNavbar +DashboardNavbar.propTypes = { + absolute: PropTypes.bool, + light: PropTypes.bool, + isMini: PropTypes.bool, +}; + +export default DashboardNavbar; diff --git a/src/examples/Dashboard/Navbars/DashboardNavbar/styles.js b/src/examples/Dashboard/Navbars/DashboardNavbar/styles.js new file mode 100644 index 000000000..3b5414ef2 --- /dev/null +++ b/src/examples/Dashboard/Navbars/DashboardNavbar/styles.js @@ -0,0 +1,134 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ +function navbar(theme, ownerState) { + const { palette, boxShadows, functions, transitions, breakpoints, borders } = theme; + const { transparentNavbar, absolute, light, darkMode } = ownerState; + + const { dark, white, text, transparent, background } = palette; + const { navbarBoxShadow } = boxShadows; + const { rgba, pxToRem } = functions; + const { borderRadius } = borders; + + return { + boxShadow: transparentNavbar || absolute ? "none" : navbarBoxShadow, + backdropFilter: transparentNavbar || absolute ? "none" : `saturate(200%) blur(${pxToRem(30)})`, + backgroundColor: + transparentNavbar || absolute + ? `${transparent.main} !important` + : rgba(darkMode ? background.default : white.main, 0.8), + + color: () => { + let color; + + if (light) { + color = white.main; + } else if (transparentNavbar) { + color = text.main; + } else { + color = dark.main; + } + + return color; + }, + top: absolute ? 0 : pxToRem(12), + minHeight: pxToRem(75), + display: "grid", + alignItems: "center", + borderRadius: borderRadius.xl, + paddingTop: pxToRem(8), + paddingBottom: pxToRem(8), + paddingRight: absolute ? pxToRem(8) : 0, + paddingLeft: absolute ? pxToRem(16) : 0, + + "& > *": { + transition: transitions.create("all", { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + }, + + "& .MuiToolbar-root": { + display: "flex", + justifyContent: "space-between", + alignItems: "center", + + [breakpoints.up("sm")]: { + minHeight: "auto", + padding: `${pxToRem(4)} ${pxToRem(16)}`, + }, + }, + }; +} + +const navbarContainer = ({ breakpoints }) => ({ + flexDirection: "column", + alignItems: "flex-start", + justifyContent: "space-between", + pt: 0.5, + pb: 0.5, + + [breakpoints.up("md")]: { + flexDirection: "row", + alignItems: "center", + paddingTop: "0", + paddingBottom: "0", + }, +}); + +const navbarRow = ({ breakpoints }, { isMini }) => ({ + display: "flex", + alignItems: "center", + justifyContent: "space-between", + width: "100%", + + [breakpoints.up("md")]: { + justifyContent: isMini ? "space-between" : "stretch", + width: isMini ? "100%" : "max-content", + }, + + [breakpoints.up("xl")]: { + justifyContent: "stretch !important", + width: "max-content !important", + }, +}); + +const navbarIconButton = ({ typography: { size }, breakpoints }) => ({ + px: 1, + + "& .material-icons, .material-icons-round": { + fontSize: `${size.xl} !important`, + }, + + "& .MuiTypography-root": { + display: "none", + + [breakpoints.up("sm")]: { + display: "inline-block", + lineHeight: 1.2, + ml: 0.5, + }, + }, +}); + +const navbarMobileMenu = ({ breakpoints }) => ({ + display: "inline-block", + lineHeight: 0, + + [breakpoints.up("xl")]: { + display: "none", + }, +}); + +export { navbar, navbarContainer, navbarRow, navbarIconButton, navbarMobileMenu }; diff --git a/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarLink.js b/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarLink.js new file mode 100644 index 000000000..231bcacab --- /dev/null +++ b/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarLink.js @@ -0,0 +1,69 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-router-dom components +import { Link } from "react-router-dom"; + +// @mui material components +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +function DefaultNavbarLink({ icon, name, route, light }) { + return ( + + (light ? white.main : secondary.main), + verticalAlign: "middle", + }} + > + {icon} + + +  {name} + + + ); +} + +// Typechecking props for the DefaultNavbarLink +DefaultNavbarLink.propTypes = { + icon: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + route: PropTypes.string.isRequired, + light: PropTypes.bool.isRequired, +}; + +export default DefaultNavbarLink; diff --git a/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarMobile.js b/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarMobile.js new file mode 100644 index 000000000..bbaa85e15 --- /dev/null +++ b/src/examples/Dashboard/Navbars/DefaultNavbar/DefaultNavbarMobile.js @@ -0,0 +1,63 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import Menu from "@mui/material/Menu"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Material Dashboard 2 React example components +import DefaultNavbarLink from "examples/Navbars/DefaultNavbar/DefaultNavbarLink"; + +function DefaultNavbarMobile({ open, close }) { + const { width } = open && open.getBoundingClientRect(); + + return ( + + + + + + + + + ); +} + +// Typechecking props for the DefaultNavbarMenu +DefaultNavbarMobile.propTypes = { + open: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]).isRequired, + close: PropTypes.oneOfType([PropTypes.func, PropTypes.bool, PropTypes.object]).isRequired, +}; + +export default DefaultNavbarMobile; diff --git a/src/examples/Dashboard/Navbars/DefaultNavbar/index.js b/src/examples/Dashboard/Navbars/DefaultNavbar/index.js new file mode 100644 index 000000000..9bb5932fd --- /dev/null +++ b/src/examples/Dashboard/Navbars/DefaultNavbar/index.js @@ -0,0 +1,209 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useState, useEffect } from "react"; + +// react-router components +import { Link } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import Container from "@mui/material/Container"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDButton from "components/MDButton"; + +// Material Dashboard 2 React example components +import DefaultNavbarLink from "examples/Navbars/DefaultNavbar/DefaultNavbarLink"; +import DefaultNavbarMobile from "examples/Navbars/DefaultNavbar/DefaultNavbarMobile"; + +// Material Dashboard 2 React base styles +import breakpoints from "assets/theme/base/breakpoints"; + +// Material Dashboard 2 React context +import { useMaterialUIController } from "context"; + +function DefaultNavbar({ transparent, light, action }) { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + const [mobileNavbar, setMobileNavbar] = useState(false); + const [mobileView, setMobileView] = useState(false); + + const openMobileNavbar = ({ currentTarget }) => setMobileNavbar(currentTarget.parentNode); + const closeMobileNavbar = () => setMobileNavbar(false); + + useEffect(() => { + // A function that sets the display state for the DefaultNavbarMobile. + function displayMobileNavbar() { + if (window.innerWidth < breakpoints.values.lg) { + setMobileView(true); + setMobileNavbar(false); + } else { + setMobileView(false); + setMobileNavbar(false); + } + } + + /** + The event listener that's calling the displayMobileNavbar function when + resizing the window. + */ + window.addEventListener("resize", displayMobileNavbar); + + // Call the displayMobileNavbar function to set the state with the initial value. + displayMobileNavbar(); + + // Remove event listener on cleanup + return () => window.removeEventListener("resize", displayMobileNavbar); + }, []); + + return ( + + ({ + backgroundColor: transparent + ? transparentColor.main + : rgba(darkMode ? background.sidenav : white.main, 0.8), + backdropFilter: transparent ? "none" : `saturate(200%) blur(30px)`, + })} + > + + + Material Dashboard 2 + + + + + + + + + {action && + (action.type === "internal" ? ( + + + {action.label} + + + ) : ( + + + {action.label} + + + ))} + + {mobileNavbar ? "close" : "menu"} + + + {mobileView && } + + ); +} + +// Setting default values for the props of DefaultNavbar +DefaultNavbar.defaultProps = { + transparent: false, + light: false, + action: false, +}; + +// Typechecking props for the DefaultNavbar +DefaultNavbar.propTypes = { + transparent: PropTypes.bool, + light: PropTypes.bool, + action: PropTypes.oneOfType([ + PropTypes.bool, + PropTypes.shape({ + type: PropTypes.oneOf(["external", "internal"]).isRequired, + route: PropTypes.string.isRequired, + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + ]), + label: PropTypes.string.isRequired, + }), + ]), +}; + +export default DefaultNavbar; diff --git a/src/examples/Dashboard/Sidenav/SidenavCollapse.js b/src/examples/Dashboard/Sidenav/SidenavCollapse.js new file mode 100644 index 000000000..33f7e03ed --- /dev/null +++ b/src/examples/Dashboard/Sidenav/SidenavCollapse.js @@ -0,0 +1,97 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import ListItem from "@mui/material/ListItem"; +import ListItemIcon from "@mui/material/ListItemIcon"; +import ListItemText from "@mui/material/ListItemText"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Custom styles for the SidenavCollapse +import { + collapseItem, + collapseIconBox, + collapseIcon, + collapseText, +} from "examples/Sidenav/styles/sidenavCollapse"; + +// Material Dashboard 2 React context +import { useMaterialUIController } from "context"; + +function SidenavCollapse({ icon, name, active, ...rest }) { + const [controller] = useMaterialUIController(); + const { miniSidenav, transparentSidenav, whiteSidenav, darkMode, sidenavColor } = controller; + + return ( + + + collapseItem(theme, { + active, + transparentSidenav, + whiteSidenav, + darkMode, + sidenavColor, + }) + } + > + + collapseIconBox(theme, { transparentSidenav, whiteSidenav, darkMode, active }) + } + > + {typeof icon === "string" ? ( + collapseIcon(theme, { active })}>{icon} + ) : ( + icon + )} + + + + collapseText(theme, { + miniSidenav, + transparentSidenav, + whiteSidenav, + active, + }) + } + /> + + + ); +} + +// Setting default values for the props of SidenavCollapse +SidenavCollapse.defaultProps = { + active: false, +}; + +// Typechecking props for the SidenavCollapse +SidenavCollapse.propTypes = { + icon: PropTypes.node.isRequired, + name: PropTypes.string.isRequired, + active: PropTypes.bool, +}; + +export default SidenavCollapse; diff --git a/src/examples/Dashboard/Sidenav/SidenavRoot.js b/src/examples/Dashboard/Sidenav/SidenavRoot.js new file mode 100644 index 000000000..e3f63ea97 --- /dev/null +++ b/src/examples/Dashboard/Sidenav/SidenavRoot.js @@ -0,0 +1,92 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// @mui material components +import Drawer from "@mui/material/Drawer"; +import { styled } from "@mui/material/styles"; + +export default styled(Drawer)(({ theme, ownerState }) => { + const { palette, boxShadows, transitions, breakpoints, functions } = theme; + const { transparentSidenav, whiteSidenav, miniSidenav, darkMode } = ownerState; + + const sidebarWidth = 250; + const { transparent, gradients, white, background } = palette; + const { xxl } = boxShadows; + const { pxToRem, linearGradient } = functions; + + let backgroundValue = darkMode + ? background.sidenav + : linearGradient(gradients.dark.main, gradients.dark.state); + + if (transparentSidenav) { + backgroundValue = transparent.main; + } else if (whiteSidenav) { + backgroundValue = white.main; + } + + // styles for the sidenav when miniSidenav={false} + const drawerOpenStyles = () => ({ + background: backgroundValue, + transform: "translateX(0)", + transition: transitions.create("transform", { + easing: transitions.easing.sharp, + duration: transitions.duration.shorter, + }), + + [breakpoints.up("xl")]: { + boxShadow: transparentSidenav ? "none" : xxl, + marginBottom: transparentSidenav ? 0 : "inherit", + left: "0", + width: sidebarWidth, + transform: "translateX(0)", + transition: transitions.create(["width", "background-color"], { + easing: transitions.easing.sharp, + duration: transitions.duration.enteringScreen, + }), + }, + }); + + // styles for the sidenav when miniSidenav={true} + const drawerCloseStyles = () => ({ + background: backgroundValue, + transform: `translateX(${pxToRem(-320)})`, + transition: transitions.create("transform", { + easing: transitions.easing.sharp, + duration: transitions.duration.shorter, + }), + + [breakpoints.up("xl")]: { + boxShadow: transparentSidenav ? "none" : xxl, + marginBottom: transparentSidenav ? 0 : "inherit", + left: "0", + width: pxToRem(96), + overflowX: "hidden", + transform: "translateX(0)", + transition: transitions.create(["width", "background-color"], { + easing: transitions.easing.sharp, + duration: transitions.duration.shorter, + }), + }, + }); + + return { + "& .MuiDrawer-paper": { + boxShadow: xxl, + border: "none", + + ...(miniSidenav ? drawerCloseStyles() : drawerOpenStyles()), + }, + }; +}); diff --git a/src/examples/Dashboard/Sidenav/index.js b/src/examples/Dashboard/Sidenav/index.js new file mode 100644 index 000000000..5efd2d2c7 --- /dev/null +++ b/src/examples/Dashboard/Sidenav/index.js @@ -0,0 +1,213 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useEffect } from "react"; + +// react-router-dom components +import { useLocation, NavLink } from "react-router-dom"; + +// prop-types is a library for typechecking of props. +import PropTypes from "prop-types"; + +// @mui material components +import List from "@mui/material/List"; +import Divider from "@mui/material/Divider"; +import Link from "@mui/material/Link"; +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDButton from "components/MDButton"; + +// Material Dashboard 2 React example components +import SidenavCollapse from "examples/Sidenav/SidenavCollapse"; + +// Custom styles for the Sidenav +import SidenavRoot from "examples/Sidenav/SidenavRoot"; +import sidenavLogoLabel from "examples/Sidenav/styles/sidenav"; + +// Material Dashboard 2 React context +import { + useMaterialUIController, + setMiniSidenav, + setTransparentSidenav, + setWhiteSidenav, +} from "context"; + +function Sidenav({ color, brand, brandName, routes, ...rest }) { + const [controller, dispatch] = useMaterialUIController(); + const { miniSidenav, transparentSidenav, whiteSidenav, darkMode, sidenavColor } = controller; + const location = useLocation(); + const collapseName = location.pathname.replace("/", ""); + + let textColor = "white"; + + if (transparentSidenav || (whiteSidenav && !darkMode)) { + textColor = "dark"; + } else if (whiteSidenav && darkMode) { + textColor = "inherit"; + } + + const closeSidenav = () => setMiniSidenav(dispatch, true); + + useEffect(() => { + // A function that sets the mini state of the sidenav. + function handleMiniSidenav() { + setMiniSidenav(dispatch, window.innerWidth < 1200); + setTransparentSidenav(dispatch, window.innerWidth < 1200 ? false : transparentSidenav); + setWhiteSidenav(dispatch, window.innerWidth < 1200 ? false : whiteSidenav); + } + + /** + The event listener that's calling the handleMiniSidenav function when resizing the window. + */ + window.addEventListener("resize", handleMiniSidenav); + + // Call the handleMiniSidenav function to set the state with the initial value. + handleMiniSidenav(); + + // Remove event listener on cleanup + return () => window.removeEventListener("resize", handleMiniSidenav); + }, [dispatch, location]); + + // Render all the routes from the routes.js (All the visible items on the Sidenav) + const renderRoutes = routes.map(({ type, name, icon, title, noCollapse, key, href, route }) => { + let returnValue; + + if (type === "collapse") { + returnValue = href ? ( + + + + ) : ( + + + + ); + } else if (type === "title") { + returnValue = ( + + {title} + + ); + } else if (type === "divider") { + returnValue = ( + + ); + } + + return returnValue; + }); + + return ( + + + + + close + + + + {brand && } + sidenavLogoLabel(theme, { miniSidenav })} + > + + {brandName} + + + + + + {renderRoutes} + + + upgrade to pro + + + + ); +} + +// Setting default values for the props of Sidenav +Sidenav.defaultProps = { + color: "info", + brand: "", +}; + +// Typechecking props for the Sidenav +Sidenav.propTypes = { + color: PropTypes.oneOf(["primary", "secondary", "info", "success", "warning", "error", "dark"]), + brand: PropTypes.string, + brandName: PropTypes.string.isRequired, + routes: PropTypes.arrayOf(PropTypes.object).isRequired, +}; + +export default Sidenav; diff --git a/src/examples/Dashboard/Sidenav/styles/sidenav.js b/src/examples/Dashboard/Sidenav/styles/sidenav.js new file mode 100644 index 000000000..6133f8c9a --- /dev/null +++ b/src/examples/Dashboard/Sidenav/styles/sidenav.js @@ -0,0 +1,35 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ +export default function sidenavLogoLabel(theme, ownerState) { + const { functions, transitions, typography, breakpoints } = theme; + const { miniSidenav } = ownerState; + + const { pxToRem } = functions; + const { fontWeightMedium } = typography; + + return { + ml: 0.5, + fontWeight: fontWeightMedium, + wordSpacing: pxToRem(-1), + transition: transitions.create("opacity", { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + + [breakpoints.up("xl")]: { + opacity: miniSidenav ? 0 : 1, + }, + }; +} diff --git a/src/examples/Dashboard/Sidenav/styles/sidenavCollapse.js b/src/examples/Dashboard/Sidenav/styles/sidenavCollapse.js new file mode 100644 index 000000000..62b5be0e4 --- /dev/null +++ b/src/examples/Dashboard/Sidenav/styles/sidenavCollapse.js @@ -0,0 +1,127 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ +function collapseItem(theme, ownerState) { + const { palette, transitions, breakpoints, boxShadows, borders, functions } = theme; + const { active, transparentSidenav, whiteSidenav, darkMode, sidenavColor } = ownerState; + + const { white, transparent, dark, grey, gradients } = palette; + const { md } = boxShadows; + const { borderRadius } = borders; + const { pxToRem, rgba, linearGradient } = functions; + + return { + background: active + ? linearGradient(gradients[sidenavColor].main, gradients[sidenavColor].state) + : transparent.main, + color: + (transparentSidenav && !darkMode && !active) || (whiteSidenav && !active) + ? dark.main + : white.main, + display: "flex", + alignItems: "center", + width: "100%", + padding: `${pxToRem(8)} ${pxToRem(10)}`, + margin: `${pxToRem(1.5)} ${pxToRem(16)}`, + borderRadius: borderRadius.md, + cursor: "pointer", + userSelect: "none", + whiteSpace: "nowrap", + boxShadow: active && !whiteSidenav && !darkMode && !transparentSidenav ? md : "none", + [breakpoints.up("xl")]: { + transition: transitions.create(["box-shadow", "background-color"], { + easing: transitions.easing.easeInOut, + duration: transitions.duration.shorter, + }), + }, + + "&:hover, &:focus": { + backgroundColor: () => { + let backgroundValue; + + if (!active) { + backgroundValue = + transparentSidenav && !darkMode + ? grey[300] + : rgba(whiteSidenav ? grey[400] : white.main, 0.2); + } + + return backgroundValue; + }, + }, + }; +} + +function collapseIconBox(theme, ownerState) { + const { palette, transitions, borders, functions } = theme; + const { transparentSidenav, whiteSidenav, darkMode, active } = ownerState; + + const { white, dark } = palette; + const { borderRadius } = borders; + const { pxToRem } = functions; + + return { + minWidth: pxToRem(32), + minHeight: pxToRem(32), + color: + (transparentSidenav && !darkMode && !active) || (whiteSidenav && !active) + ? dark.main + : white.main, + borderRadius: borderRadius.md, + display: "grid", + placeItems: "center", + transition: transitions.create("margin", { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + + "& svg, svg g": { + color: transparentSidenav || whiteSidenav ? dark.main : white.main, + }, + }; +} + +const collapseIcon = ({ palette: { white, gradients } }, { active }) => ({ + color: active ? white.main : gradients.dark.state, +}); + +function collapseText(theme, ownerState) { + const { typography, transitions, breakpoints, functions } = theme; + const { miniSidenav, transparentSidenav, active } = ownerState; + + const { size, fontWeightRegular, fontWeightLight } = typography; + const { pxToRem } = functions; + + return { + marginLeft: pxToRem(10), + + [breakpoints.up("xl")]: { + opacity: miniSidenav || (miniSidenav && transparentSidenav) ? 0 : 1, + maxWidth: miniSidenav || (miniSidenav && transparentSidenav) ? 0 : "100%", + marginLeft: miniSidenav || (miniSidenav && transparentSidenav) ? 0 : pxToRem(10), + transition: transitions.create(["opacity", "margin"], { + easing: transitions.easing.easeInOut, + duration: transitions.duration.standard, + }), + }, + + "& span": { + fontWeight: active ? fontWeightRegular : fontWeightLight, + fontSize: size.sm, + lineHeight: 0, + }, + }; +} + +export { collapseItem, collapseIconBox, collapseIcon, collapseText }; diff --git a/src/examples/Dashboard/Tables/DataTable/DataTableBodyCell.js b/src/examples/Dashboard/Tables/DataTable/DataTableBodyCell.js new file mode 100644 index 000000000..5316906b9 --- /dev/null +++ b/src/examples/Dashboard/Tables/DataTable/DataTableBodyCell.js @@ -0,0 +1,59 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +function DataTableBodyCell({ noBorder, align, children }) { + return ( + ({ + fontSize: size.sm, + borderBottom: noBorder ? "none" : `${borderWidth[1]} solid ${light.main}`, + })} + > + + {children} + + + ); +} + +// Setting default values for the props of DataTableBodyCell +DataTableBodyCell.defaultProps = { + noBorder: false, + align: "left", +}; + +// Typechecking props for the DataTableBodyCell +DataTableBodyCell.propTypes = { + children: PropTypes.node.isRequired, + noBorder: PropTypes.bool, + align: PropTypes.oneOf(["left", "right", "center"]), +}; + +export default DataTableBodyCell; diff --git a/src/examples/Dashboard/Tables/DataTable/DataTableHeadCell.js b/src/examples/Dashboard/Tables/DataTable/DataTableHeadCell.js new file mode 100644 index 000000000..d339bcb55 --- /dev/null +++ b/src/examples/Dashboard/Tables/DataTable/DataTableHeadCell.js @@ -0,0 +1,105 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Material Dashboard 2 React contexts +import { useMaterialUIController } from "context"; + +function DataTableHeadCell({ width, children, sorted, align, ...rest }) { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + return ( + ({ + borderBottom: `${borderWidth[1]} solid ${light.main}`, + })} + > + ({ + fontSize: size.xxs, + fontWeight: fontWeightBold, + textTransform: "uppercase", + cursor: sorted && "pointer", + userSelect: sorted && "none", + })} + > + {children} + {sorted && ( + ({ + fontSize: size.lg, + })} + > + + arrow_drop_up + + + arrow_drop_down + + + )} + + + ); +} + +// Setting default values for the props of DataTableHeadCell +DataTableHeadCell.defaultProps = { + width: "auto", + sorted: "none", + align: "left", +}; + +// Typechecking props for the DataTableHeadCell +DataTableHeadCell.propTypes = { + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + children: PropTypes.node.isRequired, + sorted: PropTypes.oneOf([false, "none", "asce", "desc"]), + align: PropTypes.oneOf(["left", "right", "center"]), +}; + +export default DataTableHeadCell; diff --git a/src/examples/Dashboard/Tables/DataTable/index.js b/src/examples/Dashboard/Tables/DataTable/index.js new file mode 100644 index 000000000..47e179360 --- /dev/null +++ b/src/examples/Dashboard/Tables/DataTable/index.js @@ -0,0 +1,311 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +import { useMemo, useEffect, useState } from "react"; + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// react-table components +import { useTable, usePagination, useGlobalFilter, useAsyncDebounce, useSortBy } from "react-table"; + +// @mui material components +import Table from "@mui/material/Table"; +import TableBody from "@mui/material/TableBody"; +import TableContainer from "@mui/material/TableContainer"; +import TableRow from "@mui/material/TableRow"; +import Icon from "@mui/material/Icon"; +import Autocomplete from "@mui/material/Autocomplete"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; +import MDInput from "components/MDInput"; +import MDPagination from "components/MDPagination"; + +// Material Dashboard 2 React example components +import DataTableHeadCell from "examples/Tables/DataTable/DataTableHeadCell"; +import DataTableBodyCell from "examples/Tables/DataTable/DataTableBodyCell"; + +function DataTable({ + entriesPerPage, + canSearch, + showTotalEntries, + table, + pagination, + isSorted, + noEndBorder, +}) { + const defaultValue = entriesPerPage.defaultValue ? entriesPerPage.defaultValue : 10; + const entries = entriesPerPage.entries + ? entriesPerPage.entries.map((el) => el.toString()) + : ["5", "10", "15", "20", "25"]; + const columns = useMemo(() => table.columns, [table]); + const data = useMemo(() => table.rows, [table]); + + const tableInstance = useTable( + { columns, data, initialState: { pageIndex: 0 } }, + useGlobalFilter, + useSortBy, + usePagination + ); + + const { + getTableProps, + getTableBodyProps, + headerGroups, + prepareRow, + rows, + page, + pageOptions, + canPreviousPage, + canNextPage, + gotoPage, + nextPage, + previousPage, + setPageSize, + setGlobalFilter, + state: { pageIndex, pageSize, globalFilter }, + } = tableInstance; + + // Set the default value for the entries per page when component mounts + useEffect(() => setPageSize(defaultValue || 10), [defaultValue]); + + // Set the entries per page value based on the select value + const setEntriesPerPage = (value) => setPageSize(value); + + // Render the paginations + const renderPagination = pageOptions.map((option) => ( + gotoPage(Number(option))} + active={pageIndex === option} + > + {option + 1} + + )); + + // Handler for the input to set the pagination index + const handleInputPagination = ({ target: { value } }) => + value > pageOptions.length || value < 0 ? gotoPage(0) : gotoPage(Number(value)); + + // Customized page options starting from 1 + const customizedPageOptions = pageOptions.map((option) => option + 1); + + // Setting value for the pagination input + const handleInputPaginationValue = ({ target: value }) => gotoPage(Number(value.value - 1)); + + // Search input value state + const [search, setSearch] = useState(globalFilter); + + // Search input state handle + const onSearchChange = useAsyncDebounce((value) => { + setGlobalFilter(value || undefined); + }, 100); + + // A function that sets the sorted value for the table + const setSortedValue = (column) => { + let sortedValue; + + if (isSorted && column.isSorted) { + sortedValue = column.isSortedDesc ? "desc" : "asce"; + } else if (isSorted) { + sortedValue = "none"; + } else { + sortedValue = false; + } + + return sortedValue; + }; + + // Setting the entries starting point + const entriesStart = pageIndex === 0 ? pageIndex + 1 : pageIndex * pageSize + 1; + + // Setting the entries ending point + let entriesEnd; + + if (pageIndex === 0) { + entriesEnd = pageSize; + } else if (pageIndex === pageOptions.length - 1) { + entriesEnd = rows.length; + } else { + entriesEnd = pageSize * (pageIndex + 1); + } + + return ( + + {entriesPerPage || canSearch ? ( + + {entriesPerPage && ( + + { + setEntriesPerPage(parseInt(newValue, 10)); + }} + size="small" + sx={{ width: "5rem" }} + renderInput={(params) => } + /> + +   entries per page + + + )} + {canSearch && ( + + { + setSearch(search); + onSearchChange(currentTarget.value); + }} + /> + + )} + + ) : null} + + + {headerGroups.map((headerGroup, key) => ( + + {headerGroup.headers.map((column, idx) => ( + + {column.render("Header")} + + ))} + + ))} + + + {page.map((row, key) => { + prepareRow(row); + return ( + + {row.cells.map((cell, idx) => ( + + {cell.render("Cell")} + + ))} + + ); + })} + +
+ + + {showTotalEntries && ( + + + Showing {entriesStart} to {entriesEnd} of {rows.length} entries + + + )} + {pageOptions.length > 1 && ( + + {canPreviousPage && ( + previousPage()}> + chevron_left + + )} + {renderPagination.length > 6 ? ( + + + + ) : ( + renderPagination + )} + {canNextPage && ( + nextPage()}> + chevron_right + + )} + + )} + +
+ ); +} + +// Setting default values for the props of DataTable +DataTable.defaultProps = { + entriesPerPage: { defaultValue: 10, entries: [5, 10, 15, 20, 25] }, + canSearch: false, + showTotalEntries: true, + pagination: { variant: "gradient", color: "info" }, + isSorted: true, + noEndBorder: false, +}; + +// Typechecking props for the DataTable +DataTable.propTypes = { + entriesPerPage: PropTypes.oneOfType([ + PropTypes.shape({ + defaultValue: PropTypes.number, + entries: PropTypes.arrayOf(PropTypes.number), + }), + PropTypes.bool, + ]), + canSearch: PropTypes.bool, + showTotalEntries: PropTypes.bool, + table: PropTypes.objectOf(PropTypes.array).isRequired, + pagination: PropTypes.shape({ + variant: PropTypes.oneOf(["contained", "gradient"]), + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + ]), + }), + isSorted: PropTypes.bool, + noEndBorder: PropTypes.bool, +}; + +export default DataTable; diff --git a/src/examples/Dashboard/Timeline/TimelineItem/index.js b/src/examples/Dashboard/Timeline/TimelineItem/index.js new file mode 100644 index 000000000..901047a5a --- /dev/null +++ b/src/examples/Dashboard/Timeline/TimelineItem/index.js @@ -0,0 +1,101 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Icon from "@mui/material/Icon"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Timeline context +import { useTimeline } from "examples/Dashboard/Timeline/context"; + +// Custom styles for the TimelineItem +import timelineItem from "examples/Dashboard/Timeline/TimelineItem/styles"; + +function TimelineItem({ color, icon, title, dateTime, description, lastItem }) { + const isDark = useTimeline(); + + return ( + timelineItem(theme, { lastItem, isDark })}> + size.sm }} + > + {icon} + + + + {title} + + + + {dateTime} + + + + {description ? ( + + {description} + + ) : null} + + + + ); +} + +// Setting default values for the props of TimelineItem +TimelineItem.defaultProps = { + color: "info", + lastItem: false, + description: "", +}; + +// Typechecking props for the TimelineItem +TimelineItem.propTypes = { + color: PropTypes.oneOf([ + "primary", + "secondary", + "info", + "success", + "warning", + "error", + "dark", + "light", + ]), + icon: PropTypes.node.isRequired, + title: PropTypes.string.isRequired, + dateTime: PropTypes.string.isRequired, + description: PropTypes.string, + lastItem: PropTypes.bool, +}; + +export default TimelineItem; diff --git a/src/examples/Dashboard/Timeline/TimelineItem/styles.js b/src/examples/Dashboard/Timeline/TimelineItem/styles.js new file mode 100644 index 000000000..fc65c69d1 --- /dev/null +++ b/src/examples/Dashboard/Timeline/TimelineItem/styles.js @@ -0,0 +1,20 @@ +function timelineItem(theme, ownerState) { + const { borders } = theme; + const { lastItem, isDark } = ownerState; + + const { borderWidth, borderColor } = borders; + + return { + "&:after": { + content: !lastItem && "''", + position: "absolute", + top: "2rem", + left: "17px", + height: "100%", + opacity: isDark ? 0.1 : 1, + borderRight: `${borderWidth[2]} solid ${borderColor}`, + }, + }; +} + +export default timelineItem; diff --git a/src/examples/Dashboard/Timeline/TimelineList/index.js b/src/examples/Dashboard/Timeline/TimelineList/index.js new file mode 100644 index 000000000..d6850c957 --- /dev/null +++ b/src/examples/Dashboard/Timeline/TimelineList/index.js @@ -0,0 +1,69 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Card from "@mui/material/Card"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; +import MDTypography from "components/MDTypography"; + +// Material Dashboard 2 React components +import { useMaterialUIController } from "context"; + +// Timeline context +import { TimelineProvider } from "examples/Timeline/context"; + +function TimelineList({ title, dark, children }) { + const [controller] = useMaterialUIController(); + const { darkMode } = controller; + + return ( + + + darkMode && background.card }} + > + + + {title} + + + {children} + + + + ); +} + +// Setting default values for the props of TimelineList +TimelineList.defaultProps = { + dark: false, +}; + +// Typechecking props for the TimelineList +TimelineList.propTypes = { + title: PropTypes.string.isRequired, + dark: PropTypes.bool, + children: PropTypes.node.isRequired, +}; + +export default TimelineList; diff --git a/src/examples/Dashboard/Timeline/context/index.js b/src/examples/Dashboard/Timeline/context/index.js new file mode 100644 index 000000000..89d1ca646 --- /dev/null +++ b/src/examples/Dashboard/Timeline/context/index.js @@ -0,0 +1,37 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +/* eslint-disable react/prop-types */ +/** + This file is used for controlling the dark and light state of the TimelineList and TimelineItem. +*/ + +import { createContext, useContext } from "react"; + +// The Timeline main context +const Timeline = createContext(); + +// Timeline context provider +function TimelineProvider({ children, value }) { + return {children}; +} + +// Timeline custom hook for using context +function useTimeline() { + return useContext(Timeline); +} + +export { TimelineProvider, useTimeline }; +/* eslint-enable react/prop-types */ diff --git a/src/examples/Navbars/DefaultNavbar/index.js b/src/examples/Navbars/DefaultNavbar/index.js index 93eeaa650..699005af4 100644 --- a/src/examples/Navbars/DefaultNavbar/index.js +++ b/src/examples/Navbars/DefaultNavbar/index.js @@ -551,7 +551,7 @@ function DefaultNavbar({ brand, routes, transparent, light, action, sticky, rela // Setting default values for the props of DefaultNavbar DefaultNavbar.defaultProps = { - brand: "Material Kit 2", + brand: "Affiliate", transparent: false, light: false, action: false, diff --git a/src/index.js b/src/index.js index 9b4a5331d..2e962953d 100644 --- a/src/index.js +++ b/src/index.js @@ -17,6 +17,7 @@ import React from "react"; import * as ReactDOMClient from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import App from "App"; +import { MaterialUIControllerProvider } from "context"; const container = document.getElementById("root"); @@ -25,6 +26,8 @@ const root = ReactDOMClient.createRoot(container); root.render( - + + + ); diff --git a/src/layouts/authentication/components/BasicLayout/index.js b/src/layouts/authentication/components/BasicLayout/index.js new file mode 100644 index 000000000..140b00b05 --- /dev/null +++ b/src/layouts/authentication/components/BasicLayout/index.js @@ -0,0 +1,77 @@ +/** +========================================================= +* Material Dashboard 2 React - v2.2.0 +========================================================= + +* Product Page: https://www.creative-tim.com/product/material-dashboard-react +* Copyright 2023 Creative Tim (https://www.creative-tim.com) + +Coded by www.creative-tim.com + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +*/ + +// prop-types is a library for typechecking of props +import PropTypes from "prop-types"; + +// @mui material components +import Grid from "@mui/material/Grid"; + +// Material Dashboard 2 React components +import MDBox from "components/MDBox"; + +// Material Dashboard 2 React example components +import DefaultNavbar from "examples/Navbars/DefaultNavbar"; +import PageLayout from "examples/LayoutContainers/PageLayout"; + +// Authentication pages components +import Footer from "layouts/authentication/components/Footer"; + +function BasicLayout({ image, children }) { + return ( + + + + image && + `${linearGradient( + rgba(gradients.dark.main, 0.6), + rgba(gradients.dark.state, 0.6) + )}, url(${image})`, + backgroundSize: "cover", + backgroundPosition: "center", + backgroundRepeat: "no-repeat", + }} + /> + + + + {children} + + + +