- Our Admin Panel isn’t just a mix of third-party components. It’s{' '}
-
- the only open-source React dashboard built on a professional, enterprise-grade UI
- Components Library
-
- . This component is part of this library, and we present only the basic usage of it here. To
- explore extended examples, detailed API documentation, and customization options, refer to
- our docs.
-
- CoreUI Icons package is delivered with more than 1500 icons in multiple formats SVG, PNG,
- and Webfonts. CoreUI Icons are beautifully crafted symbols for common actions and items. You
- can use them in your digital products for web or mobile app. For more information please
- visit our documentation.
-
+
+ React Accordion} />
+
+
Click the accordions below to expand/collapse the accordion content.
-
+
-
-
- Accordion Item #1
-
- This is the first item's accordion body. It is hidden by
+
+ }>
+ Accordion Item #1
+
+
+
+ This is the first item's accordion body. It is hidden by
default, until the collapse plugin adds the appropriate classes that we use to
style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #2
-
- This is the second item's accordion body. It is hidden by
+ showing and hiding via CSS transitions.
+
+
+
+
+ }>
+ Accordion Item #2
+
+
+
+ This is the second item's accordion body. It is hidden by
default, until the collapse plugin adds the appropriate classes that we use to
style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #3
-
- This is the second item's accordion body. It is hidden by
+ showing and hiding via CSS transitions.
+
+
+
+
+ }>
+ Accordion Item #3
+
+
+
+ This is the third item's accordion body. It is hidden by
default, until the collapse plugin adds the appropriate classes that we use to
style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
+ showing and hiding via CSS transitions.
+
+
+
-
-
-
-
- React Accordion Flush
-
-
-
- Add flush to remove the default background-color, some
- borders, and some rounded corners to render accordions edge-to-edge with their parent
- container.
-
+
+
+
+
+ React Accordion Flush
+ >
+ }
+ />
+
+
+ Add disableGutters and square props to remove padding and
+ rounded corners to render accordions edge-to-edge with their parent container.
+
-
-
- Accordion Item #1
-
- This is the first item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #2
-
- This is the second item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #3
-
- This is the second item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
+
+ }>
+ Accordion Item #1
+
+
+
+ This is the first item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
+
+ }>
+ Accordion Item #2
+
+
+
+ This is the second item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
+
+ }>
+ Accordion Item #3
+
+
+
+ This is the third item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
-
-
-
-
- React Accordion Always open
-
-
-
- Add alwaysOpen property to make accordion items stay open when another
- item is opened.
-
+
+
+
+
+ React Accordion Always open
+ >
+ }
+ />
+
+
+ Multiple accordions can be open at the same time by managing state independently.
+
-
-
- Accordion Item #1
-
- This is the first item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #2
-
- This is the second item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
- Accordion Item #3
-
- This is the second item's accordion body. It is hidden by
- default, until the collapse plugin adds the appropriate classes that we use to
- style each element. These classes control the overall appearance, as well as the
- showing and hiding via CSS transitions. You can modify any of this with custom
- CSS or overriding our default variables. It's also worth noting that just
- about any HTML can go within the .accordion-body, though the
- transition does limit overflow.
-
-
-
+
+ }>
+ Accordion Item #1
+
+
+
+ This is the first item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
+
+ }>
+ Accordion Item #2
+
+
+
+ This is the second item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
+
+ }>
+ Accordion Item #3
+
+
+
+ This is the third item's accordion body. It is hidden by
+ default, until the collapse plugin adds the appropriate classes.
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/breadcrumbs/Breadcrumbs.js b/src/views/base/breadcrumbs/Breadcrumbs.js
index 3e1df44754..ac2ff78d1d 100644
--- a/src/views/base/breadcrumbs/Breadcrumbs.js
+++ b/src/views/base/breadcrumbs/Breadcrumbs.js
@@ -1,74 +1,59 @@
import React from 'react'
-import {
- CBreadcrumb,
- CBreadcrumbItem,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CRow,
- CLink,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import MuiBreadcrumbs from '@mui/material/Breadcrumbs'
+import Link from '@mui/material/Link'
import { DocsComponents, DocsExample } from 'src/components'
const Breadcrumbs = () => {
return (
-
-
+
+
-
-
- React Breadcrumb
-
-
-
+
+ React Breadcrumb} />
+
+
The breadcrumb navigation provides links back to each previous page the user navigated
- through and shows the current location in a website or an application. You don’t have
- to add separators, because they automatically added in CSS through{' '}
-
- {' '}
- ::before
- {' '}
- and{' '}
-
- {' '}
- content
-
- .
-
+ through and shows the current location in a website or an application. Separators are
+ automatically added between items.
+
-
-
- Home
-
- Library
-
-
-
- Home
-
-
- Library
-
- Data
-
-
-
- Home
-
-
- Library
-
-
- Data
-
- Bootstrap
-
+
+
+ Home
+
+ Library
+
+
+
+ Home
+
+
+ Library
+
+ Data
+
+
+
+ Home
+
+
+ Library
+
+
+ Data
+
+ Bootstrap
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/cards/Cards.js b/src/views/base/cards/Cards.js
index daf44f60ef..f25ddc143c 100644
--- a/src/views/base/cards/Cards.js
+++ b/src/views/base/cards/Cards.js
@@ -1,934 +1,312 @@
import React from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardFooter,
- CCardGroup,
- CCardHeader,
- CCardImage,
- CCardLink,
- CCardSubtitle,
- CCardText,
- CCardTitle,
- CListGroup,
- CListGroupItem,
- CNav,
- CNavItem,
- CNavLink,
- CCol,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import CardMedia from '@mui/material/CardMedia'
+import CardActions from '@mui/material/CardActions'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Link from '@mui/material/Link'
+import List from '@mui/material/List'
+import ListItem from '@mui/material/ListItem'
+import ListItemText from '@mui/material/ListItemText'
+import Tabs from '@mui/material/Tabs'
+import Tab from '@mui/material/Tab'
+import Box from '@mui/material/Box'
+import Divider from '@mui/material/Divider'
import { DocsComponents, DocsExample } from 'src/components'
import ReactImg from 'src/assets/images/react.jpg'
const Cards = () => {
+ const [tabValue, setTabValue] = React.useState(0)
+
return (
-
-
+
+
-
-
- Card Example
-
-
-
+
+
+ Card Example
+ >
+ }
+ />
+
+
Cards are built with as little markup and styles as possible but still manage to
- deliver a bunch of control and customization. Built with flexbox, they offer easy
- alignment and mix well with other CoreUI components. Cards have no top, left, and
- right margins by default, so use{' '}
- spacing utilities as needed.
- They have no fixed width to start, so they'll fill the full width of its parent.
-
-
- Below is an example of a basic card with mixed content and a fixed width. Cards have
- no fixed width to start, so they'll naturally fill the full width of its parent
- element.
-
+ deliver a bunch of control and customization.
+
-
-
-
- Card title
-
- Some quick example text to build on the card title and make up the bulk of the
- card's content.
-
-
- Go somewhere
-
-
-
+
+
+
+ Card title
+
+ Some quick example text to build on the card title.
+
+
+
+
+
+
-
-
-
-
-
-
- Card Body
-
-
-
- The main block of a card is the <CCardBody>. Use it whenever you
- need a padded section within a card.
-
+
+
+
+
+
+
+ Card Body
+ >
+ }
+ />
+
+
+ The main block of a card is the CardContent.
+
-
- This is some text within a card body.
-
+
+ This is some text within a card body.
+
-
-
-
-
-
-
- Card Titles, text, and links
-
-
-
- Card titles are managed by <CCardTitle> component. Identically,
- links are attached and collected next to each other by <CCardLink>{' '}
- component.
-
-
- Subtitles are managed by <CCardSubtitle> component. If the{' '}
- <CCardTitle> also, the <CCardSubtitle> items are
- stored in a <CCardBody> item, the card title, and subtitle are
- arranged rightly.
-
+
+
+
+
+
+
+ Card Titles, text, and links
+ >
+ }
+ />
+
+
+ Card titles are managed by Typography component.
+
-
-
- Card title
- Card subtitle
-
- Some quick example text to build on the card title and make up the bulk of the
- card's content.
-
- Card link
- Another link
-
-
+
+
+ Card title
+
+ Card subtitle
+
+
+ Some quick example text.
+
+
+
+ Card link
+
+ Another link
+
+
+
-
-
-
-
-
-
- Card Images
-
-
-
- .card-img-top places a picture to the top of the card. With{' '}
- .card-text, text can be added to the card. Text within{' '}
- .card-text can additionally be styled with the regular HTML tags.
-
+
+
+
+
+
+
+ Card Images
+ >
+ }
+ />
+
+
+ CardMedia places a picture to the top of the card.
+
-
-
-
-
- Some quick example text to build on the card title and make up the bulk of the
- card's content.
-
-
-
+
+
+
+
+ Some quick example text.
+
+
+
-
-
-
-
-
-
- Card List groups
-
-
-
+
+
+
+
+
+
+ Card List groups
+ >
+ }
+ />
+
+
Create lists of content in a card with a flush list group.
-
+
-
-
-
-
- Cras justo odio
- Dapibus ac facilisis in
- Vestibulum at eros
-
-
-
-
-
- Header
-
- Cras justo odio
- Dapibus ac facilisis in
- Vestibulum at eros
-
-
-
-
-
-
- Cras justo odio
- Dapibus ac facilisis in
- Vestibulum at eros
-
- Footer
-
-
-
-
-
-
-
-
-
-
- Card Kitchen sink
-
-
-
- Combine and match many content types to build the card you need, or throw everything
- in there. Shown below are image styles, blocks, text styles, and a list group—all
- wrapped in a fixed-width card.
-
-
-
-
-
- Card title
-
- Some quick example text to build on the card title and make up the bulk of the
- card's content.
-
-
-
- Cras justo odio
- Dapibus ac facilisis in
- Vestibulum at eros
-
-
- Card link
- Another link
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Card Header and footer
-
-
-
+
+
+
+
+
+
+ Card Header and footer
+ >
+ }
+ />
+
+
Add an optional header and/or footer within a card.
-
-
-
- Header
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
- Card headers can be styled by adding ex. as="h5".
-
-
-
- Header
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
+
-
- Quote
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat
- a ante.
-
-
-
-
-
-
-
-
- Header
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
- 2 days ago
-
-
-
-
-
-
-
-
- Card Body
-
-
-
- Cards assume no specific width to start, so they'll be 100% wide
- unless otherwise stated. You can adjust this as required with custom CSS, grid
- classes, grid Sass mixins, or services.
-
-
Using grid markup
-
- Using the grid, wrap cards in columns and rows as needed.
-
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
-
-
-
-
-
- Card title
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
- Card title
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
- Using custom CSS
-
- Use custom CSS in your stylesheets or as inline styles to set a width.
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
-
-
-
-
-
- Card Text alignment
-
-
-
- You can instantly change the text arrangement of any card—in its whole or specific
- parts—with{' '}
- text align classes
- .
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
-
-
-
-
-
- Card Navigation
-
-
-
- Add some navigation to a <CCardHeader> with our{' '}
- <CNav> component.
-
-
-
-
-
-
-
- Active
-
-
-
- Link
-
-
-
- Disabled
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
+
+
+
+ Special title treatment
+
+ With supporting text below.
+
+
+
+
+
+
+
+
+
+
+
+
+ Card Navigation
+ >
+ }
+ />
+
+
+ Add some navigation to a CardHeader with MUI Tabs component.
+
-
-
-
-
-
- Active
-
-
-
- Link
-
-
-
- Disabled
-
-
-
-
-
- Special title treatment
-
- With supporting text below as a natural lead-in to additional content.
-
-
- Go somewhere
-
-
-
-
-
-
-
-
-
-
- Card Image caps
-
-
-
- Similar to headers and footers, cards can include top and bottom "image
- caps"—images at the top or bottom of a card.
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
-
-
-
-
-
-
- Card Card styles
-
-
-
- Cards include various options for customizing their backgrounds, borders, and color.
-
-
Background and color
-
- Use color property to change the appearance of a card.
-
-
-
- {[
- { color: 'primary', textColor: 'white' },
- { color: 'secondary', textColor: 'white' },
- { color: 'success', textColor: 'white' },
- { color: 'danger', textColor: 'white' },
- { color: 'warning' },
- { color: 'info', textColor: 'white' },
- { color: 'light' },
- { color: 'dark', textColor: 'white' },
- ].map((item, index) => (
-
-
- Header
-
- {item.color} card title
-
- Some quick example text to build on the card title and make up the bulk of
- the card's content.
-
-
-
-
- ))}
-
-
-
Border
-
- Use border utilities to change
- just the border-color of a card. Note that you can set{' '}
- textColor property on the <CCard> or a subset of the
- card's contents as shown below.
-
-
-
- {[
- { color: 'primary', textColor: 'primary' },
- { color: 'secondary', textColor: 'secondary' },
- { color: 'success', textColor: 'success' },
- { color: 'danger', textColor: 'danger' },
- { color: 'warning', textColor: 'warning' },
- { color: 'info', textColor: 'info' },
- { color: 'light' },
- { color: 'dark' },
- ].map((item, index) => (
-
-
- Header
-
- {item.color} card title
-
- Some quick example text to build on the card title and make up the bulk of
- the card's content.
-
-
-
-
- ))}
-
+
+ setTabValue(v)} centered>
+
+
+
+
+
+ Special title treatment
+
+ With supporting text below.
+
+
+
+
+
+
-
Top border
-
- Use border utilities to change
- just the border-color of a card. Note that you can set{' '}
- textColor property on the <CCard> or a subset of the
- card's contents as shown below.
-
-
-
- {[
- { color: 'primary', textColor: 'primary' },
- { color: 'secondary', textColor: 'secondary' },
- { color: 'success', textColor: 'success' },
- { color: 'danger', textColor: 'danger' },
- { color: 'warning', textColor: 'warning' },
- { color: 'info', textColor: 'info' },
- { color: 'light' },
- { color: 'dark' },
- ].map((item, index) => (
-
-
- Header
-
- {item.color} card title
-
- Some quick example text to build on the card title and make up the bulk of
- the card's content.
-
-
-
-
- ))}
-
-
-
-
-
-
-
-
- Card Card groups
-
-
-
- Use card groups to render cards as a single, attached element with equal width and
- height columns. Card groups start off stacked and use display: flex; to
- become attached with uniform dimensions starting at the sm breakpoint.
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
- Card title
-
- This card has supporting text below as a natural lead-in to additional
- content.
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This card has even longer content than the first to show
- that equal height action.
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
- When using card groups with footers, their content will automatically line up.
-
+
+
+
+
+
+
+ Card Card groups
+ >
+ }
+ />
+
+
+ Use a grid of cards to render cards as a single, attached element.
+
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
- Card title
-
- This card has supporting text below as a natural lead-in to additional
- content.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This card has even longer content than the first to show
- that equal height action.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
-
-
-
- Card Grid cards
-
-
-
- Use the CRow component and set{' '}
- {xs|sm|md|lg|xl|xxl}={{ cols: * }} property
- to control how many grid columns (wrapped around your cards) you show per row. For
- example, here's xs={{cols: 1}} laying out the
- cards on one column, and md={{cols: 1}} splitting
- four cards to equal width across multiple rows, from the medium breakpoint up.
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
- Change it to md={{ cols: 3}} and you'll see the
- fourth card wrap.
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
-
-
-
- Card title
-
- This is a wider card with supporting text below as a natural lead-in to
- additional content. This content is a little bit longer.
-
-
-
- Last updated 3 mins ago
-
-
-
-
+
+
+
+
+
+ Card title
+
+ This is a wider card with supporting text.
+
+
+
+
+
+
+
+
+ Card title
+
+ This card has supporting text below.
+
+
+
+
+
+
+
+
+ Card title
+
+ This is a wider card with even longer content.
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/carousels/Carousels.js b/src/views/base/carousels/Carousels.js
index 6d8763902d..741b3567ad 100644
--- a/src/views/base/carousels/Carousels.js
+++ b/src/views/base/carousels/Carousels.js
@@ -1,212 +1,188 @@
-import React from 'react'
-import {
- CCard,
- CCardBody,
- CCardHeader,
- CCarousel,
- CCarouselCaption,
- CCarouselItem,
- CCol,
- CRow,
-} from '@coreui/react'
+import React, { useState } from 'react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Box from '@mui/material/Box'
+import IconButton from '@mui/material/IconButton'
+import MobileStepper from '@mui/material/MobileStepper'
+import KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft'
+import KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight'
import { DocsComponents, DocsExample } from 'src/components'
import AngularImg from 'src/assets/images/angular.jpg'
import ReactImg from 'src/assets/images/react.jpg'
import VueImg from 'src/assets/images/vue.jpg'
-const slidesLight = [
- 'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_1607923e7e2%20text%20%7B%20fill%3A%23AAA%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_1607923e7e2%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23F5F5F5%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22285.9296875%22%20y%3D%22217.75625%22%3EFirst%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E',
- 'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_15ba800aa20%20text%20%7B%20fill%3A%23BBB%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_15ba800aa20%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23EEE%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22247.3203125%22%20y%3D%22218.3%22%3ESecond%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E',
- 'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_15ba800aa21%20text%20%7B%20fill%3A%23999%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_15ba800aa21%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23E5E5E5%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22277%22%20y%3D%22218.3%22%3EThird%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E',
+const images = [
+ { src: ReactImg, label: 'React', caption: 'First slide label' },
+ { src: AngularImg, label: 'Angular', caption: 'Second slide label' },
+ { src: VueImg, label: 'Vue', caption: 'Third slide label' },
]
+const SimpleCarousel = ({ showControls = false, showIndicators = false, showCaptions = false }) => {
+ const [activeStep, setActiveStep] = useState(0)
+ const maxSteps = images.length
+
+ const handleNext = () => {
+ setActiveStep((prevActiveStep) => (prevActiveStep + 1) % maxSteps)
+ }
+
+ const handleBack = () => {
+ setActiveStep((prevActiveStep) => (prevActiveStep - 1 + maxSteps) % maxSteps)
+ }
+
+ return (
+
+
+
+ {showCaptions && (
+
+ {images[activeStep].caption}
+
+ Some representative placeholder content for this slide.
+
+
+ )}
+
+ {showControls && (
+ <>
+
+
+
+
+
+
+ >
+ )}
+ {showIndicators && (
+
+ )}
+
+ )
+}
+
const Carousels = () => {
return (
-
-
+
+
-
-
- Carousel Slide only
-
-
-
- You can add captions to slides with the <CCarouselCaption> element
- within any <CCarouselItem>. They can be immediately hidden on
- smaller viewports, as shown below, with optional{' '}
- display utilities. We hide them
- with .d-none and draw them back on medium-sized devices with{' '}
- .d-md-block.
-
+
+
+
+
+
+
+ Carousel With captions
+ >
+ }
+ />
+
+
+ You can add captions to slides.
+
-
-
-
-
-
First slide label
-
Some representative placeholder content for the first slide.
-
-
-
-
-
-
Second slide label
-
Some representative placeholder content for the first slide.
-
-
-
-
-
-
Third slide label
-
Some representative placeholder content for the first slide.
-
-
-
-
-
-
-
-
-
-
- Carousel Crossfade
-
-
-
- Add transition="crossfade" to your carousel to animate slides
- with a fade transition instead of a slide.
-
- Add dark property to the CCarousel for darker controls,
- indicators, and captions. Controls have been inverted from their default white fill
- with the filter CSS property. Captions and controls have additional Sass
- variables that customize the color and background-color.
-
-
-
-
-
-
-
First slide label
-
Some representative placeholder content for the first slide.
-
-
-
-
-
-
Second slide label
-
Some representative placeholder content for the first slide.
-
-
-
-
-
-
Third slide label
-
Some representative placeholder content for the first slide.
+
+ React Collapse} />
+
+
+ You can use a link or a button component.
+
- {
- e.preventDefault()
- setVisible(!visible)
- }}
- >
- Link
-
- setVisible(!visible)}>
- Button
-
-
-
-
+
+
+
+
+
+
+
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry
richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes
anderson cred nesciunt sapiente ea proident.
-
-
-
+
+
+
-
-
-
-
-
-
- React Collapse Horizontal
-
-
-
You can use a link or a button component.
+
+
+
+
+
+
+ React Collapse Horizontal
+ >
+ }
+ />
+
+
+ You can use a link or a button component.
+
- setVisibleHorizontal(!visibleHorizontal)}
aria-expanded={visibleHorizontal}
- aria-controls="collapseWidthExample"
>
Button
-
-
-
-
-
- This is some placeholder content for a horizontal collapse. It's hidden by
- default and shown when triggered.
-
-
-
-
+
+
+
+
+
+ This is some placeholder content for a horizontal collapse. It's hidden
+ by default and shown when triggered.
+
+
+
+
-
-
-
-
-
-
- React Collapse multi target
-
-
-
- A <CButton> can show and hide multiple elements.
-
+
+
+
+
+
+
+ React Collapse multi target
+ >
+ }
+ />
+
+
+ A Button can show and hide multiple elements.
+
- setVisibleA(!visibleA)}>
- Toggle first element
-
- setVisibleB(!visibleB)}>
- Toggle second element
-
- {
- setVisibleA(!visibleA)
- setVisibleB(!visibleB)
- }}
- >
- Toggle both elements
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry
richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes
anderson cred nesciunt sapiente ea proident.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry
richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes
anderson cred nesciunt sapiente ea proident.
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/list-groups/ListGroups.js b/src/views/base/list-groups/ListGroups.js
index a25e8bd6ef..e0d420d595 100644
--- a/src/views/base/list-groups/ListGroups.js
+++ b/src/views/base/list-groups/ListGroups.js
@@ -1,15 +1,17 @@
import React from 'react'
-import {
- CBadge,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CFormCheck,
- CListGroup,
- CListGroupItem,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import List from '@mui/material/List'
+import ListItem from '@mui/material/ListItem'
+import ListItemText from '@mui/material/ListItemText'
+import ListItemButton from '@mui/material/ListItemButton'
+import Chip from '@mui/material/Chip'
+import Checkbox from '@mui/material/Checkbox'
+import FormControlLabel from '@mui/material/FormControlLabel'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const ListGroups = () => {
diff --git a/src/views/base/navs/Navs.js b/src/views/base/navs/Navs.js
index 052ed6fc5c..f4f259c09a 100644
--- a/src/views/base/navs/Navs.js
+++ b/src/views/base/navs/Navs.js
@@ -1,397 +1,247 @@
-import React from 'react'
-import {
- CRow,
- CCol,
- CCard,
- CCardBody,
- CCardHeader,
- CDropdown,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
- CNav,
- CNavItem,
- CNavLink,
-} from '@coreui/react'
+import React, { useState } from 'react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Tabs from '@mui/material/Tabs'
+import Tab from '@mui/material/Tab'
+import Box from '@mui/material/Box'
+import Button from '@mui/material/Button'
+import Menu from '@mui/material/Menu'
+import MenuItem from '@mui/material/MenuItem'
+import Link from '@mui/material/Link'
import { DocsComponents, DocsExample } from 'src/components'
+const NavLinks = ({ direction = 'row', justify = 'flex-start' }) => (
+
+
+ Active
+
+
+ Link
+
+
+ Link
+
+
+ Disabled
+
+
+)
+
+const NavTabs = () => {
+ const [value, setValue] = useState(0)
+ return (
+ setValue(v)}>
+
+
+
+
+
+ )
+}
+
+const NavPills = () => {
+ const [value, setValue] = useState(0)
+ return (
+
+ {['Active', 'Link', 'Link', 'Disabled'].map((label, index) => (
+
+ ))}
+
+ )
+}
+
+const NavWithDropdown = ({ variant = 'text' }) => {
+ const [anchorEl, setAnchorEl] = useState(null)
+ const [value, setValue] = useState(0)
+ const open = Boolean(anchorEl)
+
+ return (
+
+
+
+
+
+
+
+ )
+}
+
const Navs = () => {
return (
-
-
+
+
-
-
- React Navs Base navs
-
-
-
- The base .nav component is built with flexbox and provide a strong
- foundation for building all types of navigation components. It includes some style
- overrides (for working with lists), some link padding for larger hit areas, and basic
- disabled styling.
-
+
+
+ React Navs Base navs
+ >
+ }
+ />
+
+
+ The base nav component is built with flexbox and provides a strong foundation for
+ building all types of navigation components.
+
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
+
-
- Classes are used throughout, so your markup can be super flexible. Use{' '}
- <ul>s like above, <ol> if the order of your
- items is important, or roll your own with a <nav> element. Because
- the .nav uses display: flex, the nav links behave the same as nav items would, but
- without the extra markup.
-
-
-
-
- Active
-
- Link
- Link
-
- Disabled
-
-
-
-
-
-
-
-
-
- React Navs Horizontal alignment
-
-
-
- Change the horizontal alignment of your nav with{' '}
-
- flexbox utilities
-
- . By default, navs are left-aligned, but you can easily change them to center or right
- aligned.
-
-
- Centered with .justify-content-center:
-
+
+
+
+
+
+
+ React Navs Horizontal alignment
+ >
+ }
+ />
+
+
+ Change the horizontal alignment of your nav with flexbox utilities.
+
+
+ Centered:
+
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
+
-
- Stack your navigation by changing the flex item direction with the{' '}
- .flex-column utility. Need to stack them on some viewports but not
- others? Use the responsive versions (e.g., .flex-sm-column).
-
- Takes the basic nav from above and adds the variant="tabs" class
- to generate a tabbed interface
-
+
+
+
+
+
+
+ React Navs Tabs
+ >
+ }
+ />
+
+
+ Use MUI Tabs component to generate a tabbed interface.
+
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
+
-
-
-
-
-
-
- React Navs Pills
-
-
-
- Take that same HTML, but use variant="pills" instead:
-
+
+
+
+
+
+
+ React Navs Pills
+ >
+ }
+ />
+
+
+ Use pill-style buttons for navigation.
+
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
-
-
-
-
-
-
-
- React Navs Fill and justify
-
-
-
- Force your .nav's contents to extend the full available width one of
- two modifier classes. To proportionately fill all available space with your{' '}
- .nav-items, use layout="fill". Notice that all
- horizontal space is occupied, but not every nav item has the same width.
-
-
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
-
-
- For equal-width elements, use layout="justified". All horizontal
- space will be occupied by nav links, but unlike the .nav-fill above, every nav item
- will be the same width.
-
-
-
-
-
- Active
-
-
-
- Link
-
-
- Link
-
-
-
- Disabled
-
-
-
-
-
-
-
-
-
-
- React Navs Working with flex utilities
-
-
-
- If you need responsive nav variations, consider using a series of{' '}
- flexbox utilities. While more
- verbose, these utilities offer greater customization across responsive breakpoints. In
- the example below, our nav will be stacked on the lowest breakpoint, then adapt to a
- horizontal layout that fills the available width starting from the small breakpoint.
-
-
-
-
- Active
-
- Link
- Link
-
- Disabled
-
-
+
-
-
-
-
-
-
- React Navs Tabs with dropdowns
-
-
+
+
+
+
+
+
+ React Navs Tabs with dropdowns
+ >
+ }
+ />
+
-
-
-
- Active
-
-
-
- Dropdown button
-
- Action
- Another action
- Something else here
-
-
-
- Link
-
-
-
- Disabled
-
-
-
+
-
-
-
-
-
-
- React Navs Pills with dropdowns
-
-
+
+
+
+
+
+
+ React Navs Pills with dropdowns
+ >
+ }
+ />
+
-
-
-
- Active
-
-
-
- Dropdown button
-
- Action
- Another action
- Something else here
-
-
-
- Link
-
-
-
- Disabled
-
-
-
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/paginations/Paginations.js b/src/views/base/paginations/Paginations.js
index 24dc229a10..1f7d421472 100644
--- a/src/views/base/paginations/Paginations.js
+++ b/src/views/base/paginations/Paginations.js
@@ -1,174 +1,122 @@
import React from 'react'
-import {
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CPagination,
- CPaginationItem,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Pagination from '@mui/material/Pagination'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Paginations = () => {
return (
-
-
+
+
-
-
- React Pagination
-
-
-
+
+ React Pagination} />
+
+
We use a large block of connected links for our pagination, making links hard to miss
and easily scalable—all while providing large hit areas. Pagination is built with list
- HTML elements so screen readers can announce the number of available links. Use a
- wrapping <nav> element to identify it as a navigation section to
- screen readers and other assistive technologies.
-
-
- In addition, as pages likely have more than one such navigation section, it's
- advisable to provide a descriptive aria-label for the{' '}
- <nav> to reflect its purpose. For example, if the pagination
- component is used to navigate between a set of search results, an appropriate label
- could be aria-label="Search results pages".
-
+ HTML elements so screen readers can announce the number of available links.
+
-
- Previous
- 1
- 2
- 3
- Next
-
+
-
-
-
-
-
-
- React Pagination Working with icons
-
-
-
+
+
+
+
+
+
+ React Pagination Working with icons
+ >
+ }
+ />
+
+
Looking to use an icon or symbol in place of text for some pagination links? Be sure
- to provide proper screen reader support with aria attributes.
-
+ to provide proper screen reader support with aria attributes.
+
-
-
- «
-
- 1
- 2
- 3
-
- »
-
-
+
-
-
-
-
-
-
- React Pagination Disabled and active states
-
-
-
- Pagination links are customizable for different circumstances. Use{' '}
- disabled for links that appear un-clickable and .active to
- indicate the current page.
-
-
- While the disabled prop uses pointer-events: none to{' '}
- try to disable the link functionality of <a>s, that CSS
- property is not yet standardized and doesn'taccount for keyboard navigation. As
- such, we always add tabindex="-1" on disabled links and use
- custom JavaScript to fully disable their functionality.
-
+
+
+
+
+
+
+ React Pagination Disabled and active states
+ >
+ }
+ />
+
+
+ Pagination links are customizable for different circumstances. Use disabled for links
+ that appear un-clickable and active to indicate the current page.
+
-
-
- «
-
- 1
- 2
- 3
-
- »
-
-
+
-
-
-
-
-
-
- React Pagination Sizing
-
-
-
- Fancy larger or smaller pagination? Add size="lg" or{' '}
- size="sm" for additional sizes.
-
- Change the alignment of pagination components with{' '}
- flexbox utilities.
-
-
-
- Previous
- 1
- 2
- 3
- Next
-
+
+
+
+
+
+
+
+
+
+
+ React Pagination Alignment
+ >
+ }
+ />
+
+
+ Change the alignment of pagination components with flexbox utilities.
+
-
- Previous
- 1
- 2
- 3
- Next
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/placeholders/Placeholders.js b/src/views/base/placeholders/Placeholders.js
index 743416d93d..711a526480 100644
--- a/src/views/base/placeholders/Placeholders.js
+++ b/src/views/base/placeholders/Placeholders.js
@@ -1,196 +1,164 @@
import React from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardHeader,
- CCardImage,
- CCardText,
- CCardTitle,
- CCol,
- CPlaceholder,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import CardMedia from '@mui/material/CardMedia'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Skeleton from '@mui/material/Skeleton'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
import ReactImg from 'src/assets/images/react.jpg'
const Placeholders = () => {
return (
-
-
+
+
-
-
- React Placeholder
-
-
-
+
+ React Placeholder} />
+
+
In the example below, we take a typical card component and recreate it with
- placeholders applied to create a "loading card". Size and proportions are the
- same between the two.
-
+ placeholders applied to create a "loading card". Size and proportions are
+ the same between the two.
+
-
-
-
-
- Card title
-
+
+
+
+
+ Card title
+
Some quick example text to build on the card title and make up the bulk of the
- card's content.
-
-
+ card's content.
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create placeholders with the <CPlaceholder> component and a grid
- column propx (e.g., xs={6}) to set the width. They can
- replace the text inside an element or be added as a modifier class to an existing
- component.
-
+
+
+
+ React Placeholder} />
+
+
+ Create placeholders with the Skeleton component to set the width. They can replace the
+ text inside an element or be added as a modifier class to an existing component.
+
-
-
-
-
+
+
-
-
-
-
- React Placeholder Width
-
-
-
- You can change the width through grid column classes, width utilities, or
- inline styles.
-
+
+
+
+
+ React Placeholder Width
+ >
+ }
+ />
+
+
+ You can change the width through width utilities or inline styles.
+
-
-
-
+
+
+
+
+
-
-
-
-
- React Placeholder Color
-
-
-
- By default, the <CPlaceholder> uses currentColor. This
- can be overridden with a custom color or utility class.
-
+
+
+
+
+ React Placeholder Color
+ >
+ }
+ />
+
+
+ By default, the Skeleton uses the theme colors. This can be overridden with custom
+ colors.
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
- React Placeholder Sizing
-
-
-
- The size of <CPlaceholder>s are based on the typographic style of
- the parent element. Customize them with size prop: lg,{' '}
- sm, or xs.
-
+
+
+
+
+ React Placeholder Sizing
+ >
+ }
+ />
+
+
+ The size of Skeletons can be customized with height prop.
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
- React Placeholder Animation
-
-
-
- Animate placeholders with animation="glow" or{' '}
- animation="wave" to better convey the perception of something
- being actively loaded.
-
+
+
+
+
+ React Placeholder Animation
+ >
+ }
+ />
+
+
+ Animate placeholders with animation="pulse" or animation="wave" to
+ better convey the perception of something being actively loaded.
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/popovers/Popovers.js b/src/views/base/popovers/Popovers.js
index 794e100258..73df689250 100644
--- a/src/views/base/popovers/Popovers.js
+++ b/src/views/base/popovers/Popovers.js
@@ -1,71 +1,161 @@
import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CPopover, CRow, CCol } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Popover from '@mui/material/Popover'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Popovers = () => {
+ const [anchorEl, setAnchorEl] = React.useState(null)
+ const [popoverId, setPopoverId] = React.useState(null)
+
+ const handleClick = (event, id) => {
+ setAnchorEl(event.currentTarget)
+ setPopoverId(id)
+ }
+
+ const handleClose = () => {
+ setAnchorEl(null)
+ setPopoverId(null)
+ }
+
return (
-
-
+
+
-
-
- React Popover Basic example
-
-
+
+
+ React Popover Basic example
+ >
+ }
+ />
+
- handleClick(e, 'basic')}
+ >
+ Click to toggle popover
+
+
-
- Click to toggle popover
-
-
+
+
+ Popover title
+
+
+ And here's some amazing content. It's very engaging. Right?
+
+
+
-
-
-
-
-
-
- React Popover Four directions
-
-
-
- Four options are available: top, right, bottom, and left aligned. Directions are
- mirrored when using CoreUI for React in RTL.
-
+
+
+
+
+
+
+ React Popover Four directions
+ >
+ }
+ />
+
+
+ Four options are available: top, right, bottom, and left aligned.
+
-
- Popover on top
-
-
- Popover on right
-
-
- Popover on bottom
-
-
- Popover on left
-
+
+
+
+
+
+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus.
+
+
+
+
+
+
+
+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus.
+
+
+
+
+
+
+
+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus.
+
+
+
+
+
+
+
+ Vivamus sagittis lacus vel augue laoreet rutrum faucibus.
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/progress/Progress.js b/src/views/base/progress/Progress.js
index 78715d305d..18337aff91 100644
--- a/src/views/base/progress/Progress.js
+++ b/src/views/base/progress/Progress.js
@@ -1,186 +1,154 @@
import React from 'react'
-import { CCard, CCardBody, CCardHeader, CCol, CProgress, CProgressBar, CRow } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import LinearProgress from '@mui/material/LinearProgress'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Progress = () => {
return (
-
-
+
+
-
-
- React Progress Basic example
-
-
-
- Progress components are built with two HTML elements, some CSS to set the width, and a
- few attributes. We don'tuse{' '}
-
- the HTML5 <progress> element
-
- , ensuring you can stack progress bars, animate them, and place text labels over them.
-
- The striped gradient can also be animated. Add animated property to{' '}
- <CProgressBar> to animate the stripes right to left via CSS3
- animations.
-
+
+
+
+
+
+
+ React Progress Indeterminate
+ >
+ }
+ />
+
+
+ Use the indeterminate variant for loading states where progress is unknown.
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/spinners/Spinners.js b/src/views/base/spinners/Spinners.js
index 5553dbc0f7..5d366b2ba7 100644
--- a/src/views/base/spinners/Spinners.js
+++ b/src/views/base/spinners/Spinners.js
@@ -1,120 +1,126 @@
import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CCol, CSpinner, CRow } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import CircularProgress from '@mui/material/CircularProgress'
+import Button from '@mui/material/Button'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Spinners = () => {
return (
-
-
+
+
-
-
- React Spinner Border
-
-
-
- Use the border spinners for a lightweight loading indicator.
-
+
+
+ React Spinner Border
+ >
+ }
+ />
+
+
+ Use the circular progress for a lightweight loading indicator.
+
-
+
-
- The border spinner uses currentColor for its border-color.
- You can use any of our text color utilities on the standard spinner.
-
+
+ You can use the color prop to change the spinner color.
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- React Spinner Growing
-
-
-
- If you don'tfancy a border spinner, switch to the grow spinner. While it
- doesn't technically spin, it does repeatedly grow!
-
+
+
+
+
+
+
+ React Spinner Determinate
+ >
+ }
+ />
+
+
+ Use the variant="determinate" prop to show progress.
+
-
+
+
+
+
+
+
-
- Once again, this spinner is built with currentColor, so you can easily
- change its appearance. Here it is in blue, along with the supported variants.
-
+
+
+
+
+
+
+ React Spinner Buttons
+ >
+ }
+ />
+
+
Use spinners within buttons to indicate an action is currently processing or taking
- place. You may also swap the text out of the spinner element and utilize button text
- as needed.
-
-
-
-
-
-
-
- Loading...
-
-
+ place.
+
-
-
-
-
-
- Loading...
-
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/base/tables/Tables.js b/src/views/base/tables/Tables.js
index 3a3f7fd864..487f159d06 100644
--- a/src/views/base/tables/Tables.js
+++ b/src/views/base/tables/Tables.js
@@ -1,986 +1,155 @@
import React from 'react'
-import {
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CRow,
- CTable,
- CTableBody,
- CTableCaption,
- CTableDataCell,
- CTableHead,
- CTableHeaderCell,
- CTableRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Table from '@mui/material/Table'
+import TableBody from '@mui/material/TableBody'
+import TableCell from '@mui/material/TableCell'
+import TableContainer from '@mui/material/TableContainer'
+import TableHead from '@mui/material/TableHead'
+import TableRow from '@mui/material/TableRow'
+import Paper from '@mui/material/Paper'
import { DocsComponents, DocsExample } from 'src/components'
const Tables = () => {
return (
-
-
+
+
-
-
- React Table Basic example
-
-
-
- Using the most basic table CoreUI, here's how <CTable>-based
- tables look in CoreUI.
-
+
+
+ React Table Basic example
+ >
+ }
+ />
+
+
+ Using the most basic table with MUI Table component.
+
-
-
-
- #
- Class
- Heading
- Heading
-
-
-
-
- 1
- Mark
- Otto
- @mdo
-
-
- 2
- Jacob
- Thornton
- @fat
-
-
- 3
- Larry the Bird
- @twitter
-
-
-
-
-
-
-
-
-
-
- React Table Variants
-
-
-
- Use contextual classes to color tables, table rows or individual cells.
-
- Table cells of <CTableHead> are always vertical aligned to the
- bottom. Table cells in <CTableBody> inherit their alignment from{' '}
- <CTable> and are aligned to the the top by default. Use the align
- property to re-align where needed.
-
-
-
-
-
-
- Heading 1
-
-
- Heading 2
-
-
- Heading 3
-
-
- Heading 4
-
-
-
-
-
-
- This cell inherits vertical-align: middle; from the table
-
-
- This cell inherits vertical-align: middle; from the table
-
-
- This cell inherits vertical-align: middle; from the table
-
-
- This here is some placeholder text, intended to take up quite a bit of
- vertical space, to demonsCTableRowate how the vertical alignment works in the
- preceding cells.
-
-
-
-
- This cell inherits vertical-align: bottom; from the table row
-
-
- This cell inherits vertical-align: bottom; from the table row
-
-
- This cell inherits vertical-align: bottom; from the table row
-
-
- This here is some placeholder text, intended to take up quite a bit of
- vertical space, to demonsCTableRowate how the vertical alignment works in the
- preceding cells.
-
-
-
-
- This cell inherits vertical-align: middle; from the table
-
-
- This cell inherits vertical-align: middle; from the table
-
- This cell is aligned to the top.
-
- This here is some placeholder text, intended to take up quite a bit of
- vertical space, to demonsCTableRowate how the vertical alignment works in the
- preceding cells.
-
-
-
-
-
-
-
-
-
-
-
- React Table Nesting
-
-
-
- Border styles, active styles, and table variants are not inherited by nested tables.
-
-
-
-
-
- #
- Class
- Heading
- Heading
-
-
-
-
- 1
- Mark
- Otto
- @mdo
-
-
-
-
-
-
- Header
- Header
- Header
-
-
-
-
- A
- First
- Last
-
-
- B
- First
- Last
-
-
- C
- First
- Last
-
-
-
-
-
-
- 3
- Larry the Bird
- @twitter
-
-
-
-
-
-
-
-
-
-
- React Table Table head
-
-
-
- Similar to tables and dark tables, use the modifier prop{' '}
- color="light" or color="dark" to make{' '}
- <CTableHead>s appear light or dark gray.
-
- A <CTableCaption> functions like a heading for a table. It helps
- users with screen readers to find a table and understand what it's about and
- decide if they want to read it.
-
-
-
- List of users
-
-
- #
- Class
- Heading
- Heading
-
-
-
-
- 1
- Mark
- Otto
- @mdo
-
-
- 2
- Jacob
- Thornton
- @fat
-
-
- 3
- Larry
- the Bird
- @twitter
-
-
-
-
-
- You can also put the <CTableCaption> on the top of the table with{' '}
- caption="top".
-
-
-
- List of users
-
-
- #
- Class
- Heading
- Heading
-
-
-
-
- 1
- Mark
- Otto
- @mdo
-
-
- 2
- Jacob
- Thornton
- @fat
-
-
- 3
- Larry
- the Bird
- @twitter
-
-
-
-
-
-
-
-
+
+
- Take that same code, but use variant="underline-border" instead:
-
+
+
+
+
+
+
+ React Tabs Underline border
+ >
+ }
+ />
+
+
+ Take that same code, but use variant="underline-border" instead:
+
-
-
-
- Home
-
-
- Profile
-
-
- Contact
-
-
- Disabled
-
-
-
-
- Home tab content
-
-
- Profile tab content
-
-
- Contact tab content
-
-
- Disabled tab content
-
-
-
+
+ setValue5(v)}>
+
+
+
+
+
+
+
+ Home tab content
+
+
+ Profile tab content
+
+
+ Contact tab content
+
+
+ Disabled tab content
+
-
-
-
-
+
+
+
+
)
}
-export default Navs
+export default TabsDemo
diff --git a/src/views/base/tooltips/Tooltips.js b/src/views/base/tooltips/Tooltips.js
index 86a229420c..53ee46ce50 100644
--- a/src/views/base/tooltips/Tooltips.js
+++ b/src/views/base/tooltips/Tooltips.js
@@ -1,77 +1,93 @@
import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CLink, CTooltip, CRow, CCol } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Tooltip from '@mui/material/Tooltip'
+import Link from '@mui/material/Link'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Tooltips = () => {
return (
-
-
+
+
-
-
- React Tooltip Basic example
-
-
-
Hover over the links below to see tooltips:
+
+
+ React Tooltip Basic example
+ >
+ }
+ />
+
+
+ Hover over the links below to see tooltips:
+
-
+
Tight pants next level keffiyeh
-
- you probably
-
- haven'theard of them. Photo booth beard raw denim letterpress vegan messenger
- bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit
+
+ you probably
+
+ haven't heard of them. Photo booth beard raw denim letterpress vegan messenger
+ bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit
american apparel
-
- have a
-
+
+ have a
+
terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo
- thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney''s
- cleanse vegan chambray. A really ironic artisan
-
- whatever keytar
-
+ thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse
+ vegan chambray. A really ironic artisan
+
+ whatever keytar
+
scenester farm-to-table banksy Austin
-
- twitter handle
-
+
+ twitter handle
+
freegan cred raw denim single-origin coffee viral.
-
+
-
+
Hover over the buttons below to see the four tooltips directions: top, right, bottom,
- and left. Directions are mirrored when using CoreUI in RTL.
-
+ and left.
+
-
- Tooltip on top
-
-
- Tooltip on right
-
-
- Tooltip on bottom
-
-
- Tooltip on left
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/buttons/button-groups/ButtonGroups.js b/src/views/buttons/button-groups/ButtonGroups.js
index 1f366db2d0..973b20ed7b 100644
--- a/src/views/buttons/button-groups/ButtonGroups.js
+++ b/src/views/buttons/button-groups/ButtonGroups.js
@@ -1,439 +1,121 @@
import React from 'react'
-import {
- CButton,
- CDropdown,
- CDropdownDivider,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
- CButtonGroup,
- CButtonToolbar,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CFormCheck,
- CFormInput,
- CInputGroup,
- CInputGroupText,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import ButtonGroup from '@mui/material/ButtonGroup'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const ButtonGroups = () => {
return (
-
-
+
+
-
-
- React Button GroupBasic example
-
-
-
- Wrap a series of <CButton> components in{' '}
- <CButtonGroup>.{' '}
-
+
+
+ React Button Group Basic example
+ >
+ }
+ />
+
+
+ Wrap a series of buttons with ButtonGroup.
+
-
- Left
- Middle
- Right
-
+
+
+
+
+
-
- These classes can also be added to groups of links, as an alternative to the{' '}
- <CNav> components.
-
-
-
-
- Active link
-
-
- Link
-
-
- Link
-
-
-
-
-
-
-
-
-
- React Button GroupMixed styles
-
-
-
-
- Left
- Middle
- Right
-
-
-
-
-
-
-
-
- React Button GroupOutlined styles
-
-
+
+
+
+
+
+
+ React Button Group Outlined styles
+ >
+ }
+ />
+
-
-
- Left
-
-
- Middle
-
-
- Right
-
-
-
-
-
-
-
-
-
- React Button GroupCheckbox and radio button groups
-
-
-
- Combine button-like checkbox and radio toggle buttons into a seamless looking button
- group.
-
- Join sets of button groups into button toolbars for more complicated components. Use
- utility classes as needed to space out groups, buttons, and more.
-
- Feel free to combine input groups with button groups in your toolbars. Similar to the
- example above, you’ll likely need some utilities through to space items correctly.
-
- Alternatively, of implementing button sizing classes to each button in a group, set{' '}
- size property to all <CButtonGroup>'s, including
- each one when nesting multiple groups.
-
- Create a set of buttons that appear vertically stacked rather than horizontally.{' '}
- Split button dropdowns are not supported here.
-
-
-
- Button
- Button
- Button
- Button
- Button
- Button
- Button
-
-
-
-
- Button
- Button
-
- Dropdown
-
- Action
- Another action
- Something else here
-
- Separated link
-
-
- Button
- Button
-
- Dropdown
-
- Action
- Another action
- Something else here
-
- Separated link
-
-
-
- Dropdown
-
- Action
- Another action
- Something else here
-
- Separated link
-
-
-
- Dropdown
-
- Action
- Another action
- Something else here
-
- Separated link
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/buttons/buttons/Buttons.js b/src/views/buttons/buttons/Buttons.js
index ff6190ab9b..049f1590bb 100644
--- a/src/views/buttons/buttons/Buttons.js
+++ b/src/views/buttons/buttons/Buttons.js
@@ -1,401 +1,183 @@
import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CCol, CRow } from '@coreui/react'
-import CIcon from '@coreui/icons-react'
-import { cilBell } from '@coreui/icons'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Box from '@mui/material/Box'
+import NotificationsIcon from '@mui/icons-material/Notifications'
import { DocsComponents, DocsExample } from 'src/components'
const Buttons = () => {
+ const colors = ['primary', 'secondary', 'success', 'error', 'warning', 'info']
+
return (
-
-
+
+
-
-
- React Button
-
-
-
- CoreUI includes a bunch of predefined buttons components, each serving its own
- semantic purpose. Buttons show what action will happen when the user clicks or touches
- it. CoreUI buttons are used to initialize operations, both in the background or
- foreground of an experience.
-
- The <CButton> component are designed for{' '}
- <button> , <a> or <input>{' '}
- elements (though some browsers may apply a slightly different rendering).
-
-
- If you're using <CButton> component as <a>{' '}
- elements that are used to trigger functionality ex. collapsing content, these links
- should be given a role="button" to adequately communicate their
- meaning to assistive technologies such as screen readers.
-
- Add the disabled boolean prop to any <CButton>{' '}
- component to make buttons look inactive. Disabled button has{' '}
- pointer-events: none applied to, disabling hover and active states from
- triggering.
-
-
-
- Primary button
-
-
- Button
-
-
-
- Disabled buttons using the <a> component act a little different:
-
-
- <a>s don'tsupport the disabled attribute, so
- CoreUI has to add .disabled className to make buttons look inactive.
- CoreUI also has to add to the disabled button component{' '}
- aria-disabled="true" attribute to show the state of the component
- to assistive technologies.
-
- Here we create a responsive variation, starting with vertically stacked buttons until
- the md breakpoint, where .d-md-block replaces the{' '}
- .d-grid class, thus nullifying the gap-2 utility. Resize
- your browser to see them change.
-
-
-
- Button
- Button
-
-
-
- You can adjust the width of your block buttons with grid column width classes. For
- example, for a half-width "block button", use .col-6. Center it
- horizontally with .mx-auto, too.
-
-
-
- Button
- Button
-
-
-
- Additional utilities can be used to adjust the alignment of buttons when horizontal.
- Here we've taken our previous responsive example and added some flex utilities and
- a margin utility on the button to right align the buttons when they're no longer
- stacked.
-
-
-
-
+
+
+
- Button
-
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/buttons/dropdowns/Dropdowns.js b/src/views/buttons/dropdowns/Dropdowns.js
index a6885a416a..e2988e5f41 100644
--- a/src/views/buttons/dropdowns/Dropdowns.js
+++ b/src/views/buttons/dropdowns/Dropdowns.js
@@ -1,338 +1,105 @@
-import React from 'react'
-import {
- CButton,
- CButtonGroup,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CDropdown,
- CDropdownDivider,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
- CRow,
-} from '@coreui/react'
+import React, { useState } from 'react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Menu from '@mui/material/Menu'
+import MenuItem from '@mui/material/MenuItem'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
+const DropdownButton = ({ label, color = 'primary', variant = 'contained' }) => {
+ const [anchorEl, setAnchorEl] = useState(null)
+ const open = Boolean(anchorEl)
+ return (
+ <>
+
+
+ >
+ )
+}
+
const Dropdowns = () => {
return (
-
-
+
+
-
-
- React Dropdown Single button
-
-
-
- Here's how you can put them to work with either <button>{' '}
- elements:
-
+
+
+ React Dropdown Single button
+ >
+ }
+ />
+
+
+ Here's how you can use MUI Menu as dropdowns with buttons.
+
-
- Dropdown button
-
- Action
- Another action
- Something else here
-
-
+
-
- The best part is you can do this with any button variant, too:
-
- Similarly, create split button dropdowns with virtually the same markup as single
- button dropdowns, but with the addition of boolean prop split for proper
- spacing around the dropdown caret.
-
-
- We use this extra class to reduce the horizontal padding on either side
- of the caret by 25% and remove the margin-left that's attached for
- normal button dropdowns. Those additional changes hold the caret centered in the split
- button and implement a more properly sized hit area next to the main button.
-
- Add the disabled attribute and the associated <label>s
- are automatically styled to match with a lighter color to help indicate the
- input's state.
-
- Add the disabled attribute and the associated <label>s
- are automatically styled to match with a lighter color to help indicate the
- input's state.
-
- A switch has the markup of a custom checkbox but uses the switch boolean
- properly to render a toggle switch. Switches also support the disabled{' '}
- attribute.
-
- Create button-like checkboxes and radio buttons by using button boolean
- property on the <CFormCheck> component. These toggle buttons can
- further be grouped in a button group if needed.
-
-
-
-
-
-
-
-
-
-
-
Radio toggle buttons
-
-
-
-
-
-
-
Outlined styles
-
- Different variants of button, such at the various outlined styles, are supported.
-
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/forms/floating-labels/FloatingLabels.js b/src/views/forms/floating-labels/FloatingLabels.js
index 2a637fd21c..4f01f4c706 100644
--- a/src/views/forms/floating-labels/FloatingLabels.js
+++ b/src/views/forms/floating-labels/FloatingLabels.js
@@ -1,170 +1,101 @@
import React from 'react'
-import {
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CFormInput,
- CFormLabel,
- CFormFloating,
- CFormSelect,
- CFormTextarea,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import MenuItem from '@mui/material/MenuItem'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const FloatingLabels = () => {
return (
-
-
+
+
-
-
- React Floating labels
-
-
-
- Wrap a pair of <CFormInput> and <CFormLabel>{' '}
- elements in CFormFloating to enable floating labels with textual form
- fields. A placeholder is required on each <CFormInput>{' '}
- as our method of CSS-only floating labels uses the :placeholder-shown{' '}
- pseudo-element. Also note that the <CFormInput> must come first so
- we can utilize a sibling selector (e.g., ~).
-
- By default, <CFormTextarea>s will be the same height as{' '}
- <CFormInput>s.
-
-
-
-
- Comments
-
-
-
- To set a custom height on your <CFormTextarea;>, do not use the{' '}
- rows attribute. Instead, set an explicit height (either
- inline or via custom CSS).
-
- Other than <CFormInput>, floating labels are only available on{' '}
- <CFormSelect>s. They work in the same way, but unlike{' '}
- <CFormInput>s, they'll always show the{' '}
- <CFormLabel> in its floated state.{' '}
-
- Selects with size and multiple are not supported.
-
-
- When working with the CoreUI for Bootstrap grid system, be sure to place form elements
- within column classes.
-
+
+
+
+
+
+
+ React Floating labels Layout
+ >
+ }
+ />
+
-
-
-
-
- Email address
-
-
-
-
-
-
-
-
-
-
- Works with selects
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/forms/form-control/FormControl.js b/src/views/forms/form-control/FormControl.js
index 7b972ffd86..42b7a701ad 100644
--- a/src/views/forms/form-control/FormControl.js
+++ b/src/views/forms/form-control/FormControl.js
@@ -1,248 +1,96 @@
import React from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CForm,
- CFormInput,
- CFormLabel,
- CFormTextarea,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const FormControl = () => {
return (
-
-
+
+
-
-
- React Form Control
-
-
+
+ React Form Control} />
+
+
+ Use MUI TextField for form inputs.
+
-
-
- Email address
-
-
-
- Example textarea
-
-
-
+
+
+
+
-
-
-
-
-
-
- React Form Control Sizing
-
-
-
- Set heights using size property like size="lg" and{' '}
- size="sm".
-
+
+
+
+
+
+
+ React Form Control Sizing
+ >
+ }
+ />
+
+
+ Set heights using size prop.
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
- React Form Control Disabled
-
-
-
- Add the disabled boolean attribute on an input to give it a grayed out
- appearance and remove pointer events.
-
+
+
+
+
+
+
+ React Form Control Disabled
+ >
+ }
+ />
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
- React Form Control Readonly
-
-
-
- Add the readOnly boolean attribute on an input to prevent modification of
- the input's value. Read-only inputs appear lighter (just like disabled inputs),
- but retain the standard cursor.
-
+
+
+
+
+
+
+ React Form Control Readonly
+ >
+ }
+ />
+
-
+
-
-
-
-
-
-
- React Form Control Readonly plain text
-
-
-
- If you want to have <input readonly> elements in your form styled
- as plain text, use the plainText boolean property to remove the default
- form field styling and preserve the correct margin and padding.
-
-
-
-
- Email
-
-
-
-
-
-
-
- Password
-
-
-
-
-
-
-
-
-
-
- Email
-
-
-
-
-
- Password
-
-
-
-
-
- Confirm identity
-
-
-
-
-
-
-
-
-
-
- React Form Control File input
-
-
-
-
- Default file input example
-
-
-
- Multiple files input example
-
-
-
- Disabled file input example
-
-
-
- Small file input example
-
-
-
- Large file input example
-
-
-
-
-
-
-
-
-
- React Form Control Color
-
-
-
- Color picker
-
-
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/forms/input-group/InputGroup.js b/src/views/forms/input-group/InputGroup.js
index 73ccac2629..6e03ef425c 100644
--- a/src/views/forms/input-group/InputGroup.js
+++ b/src/views/forms/input-group/InputGroup.js
@@ -1,503 +1,91 @@
import React from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CDropdown,
- CDropdownDivider,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
- CFormCheck,
- CFormInput,
- CFormLabel,
- CFormSelect,
- CFormTextarea,
- CInputGroup,
- CInputGroupText,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import InputAdornment from '@mui/material/InputAdornment'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const InputGroup = () => {
return (
-
-
+
+
-
-
- React Input group Basic example
-
-
-
- Place one add-on or button on either side of an input. You may also place one on both
- sides of an input. Remember to place <CFormLabel>s outside the
- input group.
-
- Input groups wrap by default via flex-wrap: wrap in order to accommodate
- custom form field validation within an input group. You may disable this with{' '}
- .flex-nowrap.
-
- Add the relative form sizing classes to the <CInputGroup> itself
- and contents within will automatically resize—no need for repeating the form control
- size classes on each element.
-
-
- Sizing on the individual input group elements isn'tsupported.
-
+
+
+
+
+
+
+ React Input group Sizing
+ >
+ }
+ />
+
-
- Small
-
-
-
- Default
-
-
-
- Large
-
-
-
-
-
-
-
-
-
- React Input group Checkboxes and radios
-
-
-
- Place any checkbox or radio option within an input group's addon instead of text.
-
- More complex forms can be built using our grid classes. Use these for form layouts
- that require multiple columns, varied widths, and additional alignment options.
-
+
+
+ Layout Form grid
+ >
+ }
+ />
+
+
+ Use MUI Grid for form layouts.
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- Layout Gutters
-
-
-
- By adding gutter modifier classes
- , you can have control over the gutter width in as well the inline as block direction.
-
- Create horizontal forms with the grid by adding the .row class to form
- groups and using the .col-*-* classes to specify the width of your labels
- and controls. Be sure to add .col-form-label to your{' '}
- <CFormLabel>s as well so they're vertically centered with their
- associated form controls.
-
-
- At times, you maybe need to use margin or padding utilities to create that perfect
- alignment you need. For example, we've removed the padding-top on our
- stacked radio inputs label to better align the text baseline.
-
- Be sure to use .col-form-label-sm or .col-form-label-lg to
- your <CFormLabel>s or <legend>s to correctly
- follow the size of .form-control-lg and .form-control-sm.
-
- As shown in the previous examples, our grid system allows you to place any number of{' '}
- <CCol>s within a <CRow>. They'll split the
- available width equally between them. You may also pick a subset of your columns to
- take up more or less space, while the remaining <CCol>s equally
- split the rest, with specific column classes like{' '}
- <CCol sm="7">.
-
- The example below uses a flexbox utility to vertically center the contents and changes{' '}
- <CCol> to <CCol xs="auto"> so that your
- columns only take up as much space as needed. Put another way, the column sizes itself
- based on the contents.
-
- Use the <CCol xs="auto"> class to create horizontal
- layouts. By adding{' '}
- gutter modifier classes, we will
- have gutters in horizontal and vertical directions. The{' '}
- .align-items-center aligns the form elements to the middle, making the{' '}
- <CFormCheck> align properly.
-
-
- Example range
-
+
+
+ React Range
+ >
+ }
+ />
+
+
+ Use MUI Slider for range inputs.
+
+
+
+ Example range
+
+
-
-
-
-
-
-
- React Range Disabled
-
-
-
- Add the disabled boolean attribute on an input to give it a grayed out
- appearance and remove pointer events.
-
-
- Disabled range
-
+
+
+
+
+
+
+ React Range Disabled
+ >
+ }
+ />
+
+
+
+
+
-
-
-
-
-
-
- React Range Min and max
-
-
-
- Range inputs have implicit values for min and max—
- 0 and 100, respectively. You may specify new values for
- those using the min and max attributes.
-
-
- Example range
-
+
+
+
+
+
+
+ React Range Min and max
+ >
+ }
+ />
+
+
+ Slider has implicit values for min and max—0 and 100, respectively.
+
+
+
+
+
-
-
-
-
-
-
- React Range Steps
-
-
-
- By default, range inputs "snap" to integer values. To change this, you can
- specify a step value. In the example below, we double the number of steps
- by using step="0.5".
-
-
- Example range
-
+
+
+
+
+
+
+ React Range Steps
+ >
+ }
+ />
+
+
+ By default, sliders snap to integers. To change this, you can specify a step value.
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/forms/select/Select.js b/src/views/forms/select/Select.js
index d817644493..0779e4e090 100644
--- a/src/views/forms/select/Select.js
+++ b/src/views/forms/select/Select.js
@@ -1,99 +1,91 @@
import React from 'react'
-import { CCard, CCardBody, CCardHeader, CCol, CFormSelect, CRow } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import MenuItem from '@mui/material/MenuItem'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
const Select = () => {
return (
-
-
+
+
-
-
- React Select Default
-
-
+
+
+ React Select Default
+ >
+ }
+ />
+
+
+ Use MUI TextField with select prop for select inputs.
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
- React Select Sizing
-
-
-
- You may also choose from small and large custom selects to match our similarly sized
- text inputs.
-
- Add the disabled boolean attribute on a select to give it a grayed out
- appearance and remove pointer events.
-
+
+
+
+
+
+
+ React Select Disabled
+ >
+ }
+ />
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/forms/validation/Validation.js b/src/views/forms/validation/Validation.js
index d0017b6b2c..9202dab78e 100644
--- a/src/views/forms/validation/Validation.js
+++ b/src/views/forms/validation/Validation.js
@@ -1,503 +1,117 @@
import React, { useState } from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CForm,
- CFormCheck,
- CFormInput,
- CFormFeedback,
- CFormLabel,
- CFormSelect,
- CFormTextarea,
- CInputGroup,
- CInputGroupText,
- CRow,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import Button from '@mui/material/Button'
+import FormControlLabel from '@mui/material/FormControlLabel'
+import Checkbox from '@mui/material/Checkbox'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
-const CustomStyles = () => {
+const Validation = () => {
const [validated, setValidated] = useState(false)
- const handleSubmit = (event) => {
- const form = event.currentTarget
- if (form.checkValidity() === false) {
- event.preventDefault()
- event.stopPropagation()
- }
- setValidated(true)
- }
- return (
-
-
- Email
-
- Looks good!
-
-
- Email
-
- Looks good!
-
-
- Username
-
- @
-
- Please choose a username.
-
-
-
- City
-
- Please provide a valid city.
-
-
- City
-
-
-
-
- Please provide a valid city.
-
-
- City
-
- Please provide a valid zip.
-
-
-
- You must agree before submitting.
-
-
-
- Submit form
-
-
-
- )
-}
-const BrowserDefaults = () => {
- const [validated, setValidated] = useState(false)
const handleSubmit = (event) => {
- const form = event.currentTarget
- if (form.checkValidity() === false) {
- event.preventDefault()
- event.stopPropagation()
- }
+ event.preventDefault()
setValidated(true)
}
- return (
-
-
- Email
-
- Looks good!
-
-
- Email
-
- Looks good!
-
-
- Username
-
- @
-
- Please choose a username.
-
-
-
- City
-
- Please provide a valid city.
-
-
- City
-
-
-
-
- Please provide a valid city.
-
-
- City
-
- Please provide a valid zip.
-
-
-
- You must agree before submitting.
-
-
-
- Submit form
-
-
-
- )
-}
-const Tooltips = () => {
- const [validated, setValidated] = useState(false)
- const handleSubmit = (event) => {
- const form = event.currentTarget
- if (form.checkValidity() === false) {
- event.preventDefault()
- event.stopPropagation()
- }
- setValidated(true)
- }
return (
-
-
- Email
-
-
- Looks good!
-
-
-
- Email
-
-
- Looks good!
-
-
-
- Username
-
- @
-
-
- Please choose a username.
-
-
-
-
- City
-
-
- Please provide a valid city.
-
-
-
- City
-
-
-
-
-
- Please provide a valid city.
-
-
-
- City
-
-
- Please provide a valid zip.
-
-
-
-
- Submit form
-
-
-
- )
-}
-
-const Validation = () => {
- return (
-
-
+
+
-
-
- Validation Custom styles
-
-
-
- For custom CoreUI form validation messages, you'll need to add the{' '}
- noValidate boolean property to your <CForm>. This
- disables the browser default feedback tooltips, but still provides access to the form
- validation APIs in JavaScript. Try to submit the form below; our JavaScript will
- intercept the submit button and relay feedback to you. When attempting to submit,
- you'll see the :invalid and :valid styles applied to
- your form controls.
-
-
- Custom feedback styles apply custom colors, borders, focus styles, and background
- icons to better communicate feedback.{' '}
-
- Not interested in custom validation feedback messages or writing JavaScript to change
- form behaviors? All good, you can use the browser defaults. Try submitting the form
- below. Depending on your browser and OS, you'll see a slightly different style of
- feedback.
-
-
- While these feedback styles cannot be styled with CSS, you can still customize the
- feedback text through JavaScript.
-
- {BrowserDefaults()}
-
-
-
-
-
-
- Validation Server side
-
-
-
- We recommend using client-side validation, but in case you require server-side
- validation, you can indicate invalid and valid form fields with invalid{' '}
- and valid boolean properties.
-
-
- For invalid fields, ensure that the invalid feedback/error message is associated with
- the relevant form field using aria-describedby (noting that this
- attribute allows more than one id to be referenced, in case the field
- already points to additional form text).
-
-
-
-
- Email
-
- Looks good!
-
-
- Email
-
- Looks good!
-
-
- Username
-
- @
-
+
+ Validation
+ >
+ }
+ />
+
+
+ Use MUI TextField with error and helperText props for validation.
+
+
+
+
+
+
- Please choose a username.
-
-
-
- City
-
- Please provide a valid city.
-
-
- City
-
-
-
-
- Please provide a valid city.
-
-
- City
-
- Please provide a valid zip.
-
-
-
- You must agree before submitting.
-
-
-
- Submit form
-
-
-
-
-
-
-
-
-
-
- Validation Supported elements
-
-
-
- Validation styles are available for the following form controls and components:
-
-
-
- <CFormInput>s
-
-
- <CFormSelect>s
-
-
- <CFormCheck>s
-
-
-
-
-
-
- Textarea
-
-
- Please enter a message in the textarea.
-
-
- Example invalid feedback text
-
-
-
-
- More example invalid feedback text
-
-
- If your form layout allows it, you can swap the text for the tooltip to display
- validation feedback in a styled tooltip. Be sure to have a parent with{' '}
- position: relative on it for tooltip positioning. In the example below,
- our column classes have this already, but your project may require an alternative
- setup.
-
- {Tooltips()}
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/icons/brands/Brands.js b/src/views/icons/brands/Brands.js
index e46ce6fedb..6db412dcc0 100644
--- a/src/views/icons/brands/Brands.js
+++ b/src/views/icons/brands/Brands.js
@@ -1,34 +1,75 @@
import React from 'react'
-import { CCard, CCardBody, CCardHeader, CCol, CRow } from '@coreui/react'
-import CIcon from '@coreui/icons-react'
-import { brandSet } from '@coreui/icons'
-import { DocsIcons } from 'src/components'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Box from '@mui/material/Box'
+import FacebookIcon from '@mui/icons-material/Facebook'
+import TwitterIcon from '@mui/icons-material/Twitter'
+import LinkedInIcon from '@mui/icons-material/LinkedIn'
+import GitHubIcon from '@mui/icons-material/GitHub'
+import InstagramIcon from '@mui/icons-material/Instagram'
+import YouTubeIcon from '@mui/icons-material/YouTube'
+import GoogleIcon from '@mui/icons-material/Google'
+import AppleIcon from '@mui/icons-material/Apple'
-const toKebabCase = (str) => {
- return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase()
-}
-
-export const getIconsView = (iconset) => {
- return Object.entries(iconset).map(([name, value]) => (
-
-
-
{toKebabCase(name)}
-
- ))
-}
+const Brands = () => {
+ const brandIcons = [
+ { icon: , name: 'Facebook' },
+ { icon: , name: 'Twitter' },
+ { icon: , name: 'LinkedIn' },
+ { icon: , name: 'GitHub' },
+ { icon: , name: 'Instagram' },
+ { icon: , name: 'YouTube' },
+ { icon: , name: 'Google' },
+ { icon: , name: 'Apple' },
+ ]
-const CoreUIIcons = () => {
return (
- <>
-
-
- Brand Icons
-
- {getIconsView(brandSet)}
-
-
- >
+
+
+
+ Brand Icons} />
+
+
+ MUI provides some brand icons. For more comprehensive brand icons, consider using{' '}
+
+ react-icons
+
+ .
+
+
+ {brandIcons.map(({ icon, name }) => (
+
+
+ {icon}
+
+ {name}
+
+
+
+ ))}
+
+
+
+
+
)
}
-export default CoreUIIcons
+export default Brands
diff --git a/src/views/icons/coreui-icons/CoreUIIcons.js b/src/views/icons/coreui-icons/CoreUIIcons.js
index 08fe176f76..a0d73efc6a 100644
--- a/src/views/icons/coreui-icons/CoreUIIcons.js
+++ b/src/views/icons/coreui-icons/CoreUIIcons.js
@@ -1,20 +1,82 @@
import React from 'react'
-import { CCard, CCardBody, CCardHeader, CRow } from '@coreui/react'
-import { freeSet } from '@coreui/icons'
-import { getIconsView } from '../brands/Brands.js'
-import { DocsIcons } from 'src/components'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Box from '@mui/material/Box'
+import HomeIcon from '@mui/icons-material/Home'
+import SettingsIcon from '@mui/icons-material/Settings'
+import PersonIcon from '@mui/icons-material/Person'
+import SearchIcon from '@mui/icons-material/Search'
+import MailIcon from '@mui/icons-material/Mail'
+import NotificationsIcon from '@mui/icons-material/Notifications'
+import FavoriteIcon from '@mui/icons-material/Favorite'
+import StarIcon from '@mui/icons-material/Star'
+import DeleteIcon from '@mui/icons-material/Delete'
+import EditIcon from '@mui/icons-material/Edit'
+import AddIcon from '@mui/icons-material/Add'
+import CheckIcon from '@mui/icons-material/Check'
const CoreUIIcons = () => {
+ const icons = [
+ { icon: , name: 'Home' },
+ { icon: , name: 'Settings' },
+ { icon: , name: 'Person' },
+ { icon: , name: 'Search' },
+ { icon: , name: 'Mail' },
+ { icon: , name: 'Notifications' },
+ { icon: , name: 'Favorite' },
+ { icon: , name: 'Star' },
+ { icon: , name: 'Delete' },
+ { icon: , name: 'Edit' },
+ { icon: , name: 'Add' },
+ { icon: , name: 'Check' },
+ ]
+
return (
- <>
-
-
- Free Icons
-
- {getIconsView(freeSet)}
-
-
- >
+
+
+
+ MUI Icons} />
+
+
+ MUI provides over 2,100 official Material icons. Visit{' '}
+
+ MUI Icons documentation
+ {' '}
+ for the full list.
+
+
+ {icons.map(({ icon, name }) => (
+
+
+ {icon}
+
+ {name}
+
+
+
+ ))}
+
+
+
+
+
)
}
diff --git a/src/views/icons/flags/Flags.js b/src/views/icons/flags/Flags.js
index 5db7e56705..bbc3ce46d4 100644
--- a/src/views/icons/flags/Flags.js
+++ b/src/views/icons/flags/Flags.js
@@ -1,21 +1,43 @@
import React from 'react'
-import { CCard, CCardBody, CCardHeader, CRow } from '@coreui/react'
-import { getIconsView } from '../brands/Brands.js'
-import { flagSet } from '@coreui/icons'
-import { DocsIcons } from 'src/components'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Box from '@mui/material/Box'
-const CoreUIIcons = () => {
+const Flags = () => {
return (
- <>
-
-
- Flag Icons
-
- {getIconsView(flagSet)}
-
-
- >
+
+
+
+ Flag Icons} />
+
+
+ For flag icons, consider using a dedicated flag icon library like{' '}
+
+ flag-icons
+ {' '}
+ or{' '}
+
+ react-world-flags
+
+ .
+
+
+
+ Flag icons can be added by installing a flag icon library of your choice.
+
+
+
+
+
+
)
}
-export default CoreUIIcons
+export default Flags
diff --git a/src/views/notifications/alerts/Alerts.js b/src/views/notifications/alerts/Alerts.js
index 70e1108a11..71c8261404 100644
--- a/src/views/notifications/alerts/Alerts.js
+++ b/src/views/notifications/alerts/Alerts.js
@@ -1,145 +1,131 @@
-import React from 'react'
-import {
- CAlert,
- CAlertHeading,
- CAlertLink,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CRow,
-} from '@coreui/react'
+import React, { useState } from 'react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Alert from '@mui/material/Alert'
+import AlertTitle from '@mui/material/AlertTitle'
+import Link from '@mui/material/Link'
import { DocsComponents, DocsExample } from 'src/components'
const Alerts = () => {
+ const [showDismissible, setShowDismissible] = useState(true)
+
return (
-
-
+
+
-
-
- React Alert
-
-
-
- React Alert is prepared for any length of text, as well as an optional close button.
- For a styling, use one of the required contextual color{' '}
- props (e.g., primary). For inline dismissal, use the{' '}
- dismissing prop
- .
-
+
+ React Alert} />
+
+
+ MUI Alert is prepared for any length of text, as well as an optional close button.
+
- A simple primary alert—check it out!
- A simple secondary alert—check it out!
- A simple success alert—check it out!
- A simple danger alert—check it out!
- A simple warning alert—check it out!
- A simple info alert—check it out!
- A simple light alert—check it out!
- A simple dark alert—check it out!
+
+ A simple info alert—check it out!
+
+
+ A simple success alert—check it out!
+
+
+ A simple warning alert—check it out!
+
+
+ A simple error alert—check it out!
+
-
-
-
-
-
-
- React Alert Link color
-
-
-
- Use the <CAlertLink> component to immediately give matching colored
- links inside any alert.
-
+
+
+
+
+
+
+ React Alert Link color
+ >
+ }
+ />
+
+
+ Use the Link component inside alerts.
+
-
- A simple primary alert with an example link. Give
- it a click if you like.
-
-
- A simple secondary alert with an example link.
- Give it a click if you like.
-
-
- A simple success alert with an example link. Give
- it a click if you like.
-
-
- A simple danger alert with an example link. Give
- it a click if you like.
-
-
- A simple warning alert with an example link. Give
- it a click if you like.
-
-
- A simple info alert with an example link. Give it
- a click if you like.
-
-
- A simple light alert with an example link. Give it
- a click if you like.
-
-
- A simple dark alert with an example link. Give it
- a click if you like.
-
+
+ A simple info alert with an example link. Give it a click if
+ you like.
+
+
+ A simple success alert with an example link. Give it a click
+ if you like.
+
+
+ A simple warning alert with an example link. Give it a click
+ if you like.
+
+
+ A simple error alert with an example link. Give it a click if
+ you like.
+
-
-
-
-
-
-
- React Alert Additional content
-
-
-
- Alert can also incorporate supplementary components & elements like heading,
- paragraph, and divider.
-
+
+
+
+
+
+
+ React Alert Additional content
+ >
+ }
+ />
+
+
+ Alert can also incorporate supplementary components like AlertTitle.
+
-
- Well done!
-
- Aww yeah, you successfully read this important alert message. This example text is
- going to run a bit longer so that you can see how spacing within an alert works
- with this kind of content.
-
-
-
- Whenever you need to, be sure to use margin utilities to keep things nice and
- tidy.
-
-
+
+ Well done!
+ Aww yeah, you successfully read this important alert message. This example text is
+ going to run a bit longer so that you can see how spacing within an alert works with
+ this kind of content.
+
-
-
-
-
-
-
- React Alert Dismissing
-
-
-
- Alerts can also be easily dismissed. Just add the dismissible prop.
-
+
+
+
+
+
+
+ React Alert Dismissing
+ >
+ }
+ />
+
+
+ Alerts can also be easily dismissed using the onClose prop.
+
- {
- alert('👋 Well, hi there! Thanks for dismissing me.')
- }}
- >
- Go right ahead and click that dimiss over there on the right.
-
+ {showDismissible && (
+ setShowDismissible(false)}>
+ Go right ahead and click that dismiss over there on the right.
+
+ )}
+ {!showDismissible && (
+
+ Alert dismissed! Refresh to see it again.
+
+ )}
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/notifications/badges/Badges.js b/src/views/notifications/badges/Badges.js
index 81dd6b5ac4..80112ba99b 100644
--- a/src/views/notifications/badges/Badges.js
+++ b/src/views/notifications/badges/Badges.js
@@ -1,124 +1,96 @@
import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CCol, CBadge, CRow } from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Badge from '@mui/material/Badge'
+import Button from '@mui/material/Button'
+import Chip from '@mui/material/Chip'
+import Box from '@mui/material/Box'
+import MailIcon from '@mui/icons-material/Mail'
import { DocsComponents, DocsExample } from 'src/components'
const Badges = () => {
return (
-
-
+
+
-
-
-
-
- React Badges Dismissing
-
-
-
- Bootstrap badge scale to suit the size of the parent element by using relative font
- sizing and em units.
-
+
+ React Badge} />
+
+
+ MUI Badge generates a small badge to the top-right of its child(ren).
+
-
- Example heading New
-
-
- Example heading New
-
-
- Example heading New
-
-
- Example heading New
-
-
- Example heading New
-
-
- Example heading New
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- Badges can be used as part of links or buttons to provide a counter.
-
-
-
- Notifications 4
-
-
-
- Remark that depending on how you use them, badges may be complicated for users of
- screen readers and related assistive technologies.
-
-
- Unless the context is clear, consider including additional context with a visually
- hidden piece of additional text.
-
- Apply the shape="rounded-pill" prop to make badges rounded.
-
+
+
+
+
+
+
+ React Badge Outlined chips
+ >
+ }
+ />
+
-
- primary
-
-
- success
-
-
- danger
-
-
- warning
-
-
- info
-
-
- light
-
-
- dark
-
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/notifications/modals/Modals.js b/src/views/notifications/modals/Modals.js
index 7be7294a12..6e21d5be13 100644
--- a/src/views/notifications/modals/Modals.js
+++ b/src/views/notifications/modals/Modals.js
@@ -1,752 +1,106 @@
import React, { useState } from 'react'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CLink,
- CModal,
- CModalBody,
- CModalFooter,
- CModalHeader,
- CModalTitle,
- CPopover,
- CRow,
- CTooltip,
-} from '@coreui/react'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import CardHeader from '@mui/material/CardHeader'
+import Typography from '@mui/material/Typography'
+import Button from '@mui/material/Button'
+import Dialog from '@mui/material/Dialog'
+import DialogTitle from '@mui/material/DialogTitle'
+import DialogContent from '@mui/material/DialogContent'
+import DialogContentText from '@mui/material/DialogContentText'
+import DialogActions from '@mui/material/DialogActions'
+import Box from '@mui/material/Box'
import { DocsComponents, DocsExample } from 'src/components'
-const LiveDemo = () => {
- const [visible, setVisible] = useState(false)
- return (
- <>
- setVisible(!visible)}>
- Launch demo modal
-
- setVisible(false)}>
-
- Modal title
-
- Woohoo, you're reading this text in a modal!
-
- setVisible(false)}>
- Close
-
- Save changes
-
-
- >
- )
-}
-
-const StaticBackdrop = () => {
- const [visible, setVisible] = useState(false)
- return (
- <>
- setVisible(!visible)}>
- Launch static backdrop modal
-
- setVisible(false)}>
-
- Modal title
-
-
- I will not close if you click outside me. Don'teven try to press escape key.
-
-
- setVisible(false)}>
- Close
-
- Save changes
-
-
- >
- )
-}
-
-const ScrollingLongContent = () => {
- const [visible, setVisible] = useState(false)
- return (
- <>
- setVisible(!visible)}>
- Launch demo modal
-
- setVisible(false)}>
-
- Modal title
-
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
-
- setVisible(false)}>
- Close
-
- Save changes
-
-
- >
- )
-}
-
-const VerticallyCentered = () => {
- const [visible, setVisible] = useState(false)
- return (
- <>
- setVisible(!visible)}>
- Vertically centered modal
-
- setVisible(false)}>
-
- Modal title
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- setVisible(false)}>
- Close
-
- Save changes
-
-
- >
- )
-}
-
-const VerticallyCentered2 = () => {
- const [visible, setVisible] = useState(false)
- return (
- <>
- setVisible(!visible)}>
- Vertically centered scrollable modal
-
- setVisible(false)}>
-
- Modal title
-
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
-
- Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel
- scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus
- auctor fringilla.
-
-
- Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis
- in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
-
-
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis
- lacus vel augue laoreet rutrum faucibus dolor auctor.
-
- Below is a static modal example (meaning its position and{' '}
- display have been overridden). Included are the modal header, modal body
- (required for padding), and modal footer (optional). We ask that you
- include modal headers with dismiss actions whenever possible, or provide another
- explicit dismiss action.
-
+
+
+ React Modal Basic
+ >
+ }
+ />
+
+
+ Use MUI Dialog for modal dialogs.
+
-
-
- Modal title
-
- Modal body text goes here.
-
- Close
- Save changes
-
-
-
-
-
-
-
-
-
- React Modal Live demo
-
-
-
- Toggle a working modal demo by clicking the button below. It will slide down and fade
- in from the top of the page.
-
- If you don’t provide an onDimsiss handler to the Modal component, your
- modal will behave as though the backdrop is static, meaning it will not close when
- clicking outside it. Click the button below to try it.
-
- If you don’t provide an onDimsiss handler to the Modal component, your
- modal will behave as though the backdrop is static, meaning it will not close when
- clicking outside it. Click the button below to try it.
-
-
- {ScrollingLongContent()}
-
-
- You can also create a scrollable modal that allows scroll the modal body by adding{' '}
- scrollable prop.
-
- <CTooltips> and <CPopovers> can be placed within
- modals as needed. When modals are closed, any tooltips and popovers within are also
- automatically dismissed.
-
- Modals have three optional sizes, available via modifier classes to be placed on a{' '}
- <CModal>. These sizes kick in at certain breakpoints to avoid
- horizontal scrollbars on narrower viewports.
-
- Toasts are as flexible as you need and have very little required markup. At a minimum,
- we require a single element to contain your “toasted” content and strongly encourage a
- dismiss button.
-
-
-
-
-
- CoreUI for React.js
- 7 min ago
-
- Hello, world! This is a toast message.
-
+
+
+ React Toast Basic
+ >
+ }
+ />
+
+
+ Use MUI Snackbar for toast notifications.
+
+
+
+ setOpen(false)}
+ message="This is a toast message"
+ />
- {ExampleToast()}
-
-
-
-
-
-
- React Toast Translucent
-
-
-
- Toasts are slightly translucent to blend in with what's below them.
-
-
-
-
-
- CoreUI for React.js
- 7 min ago
-
- Hello, world! This is a toast message.
-
-
-
-
-
-
-
-
- React Toast Stacking
-
-
-
- You can stack toasts by wrapping them in a toast container, which will vertically add
- some spacing.
-
-
-
-
-
-
- CoreUI for React.js
- 7 min ago
-
- Hello, world! This is a toast message.
-
-
-
-
- CoreUI for React.js
- 7 min ago
-
- Hello, world! This is a toast message.
-
-
-
-
-
-
-
-
-
- React Toast Custom content
-
-
-
- Customize your toasts by removing sub-components, tweaking them with{' '}
- utilities, or by adding your own
- markup. Here we've created a simpler toast by removing the default{' '}
- <CToastHeader>, adding a custom hide icon from{' '}
- CoreUI Icons, and using some{' '}
- flexbox utilities to adjust the
- layout.
-
-
-
-
- Hello, world! This is a toast message.
-
-
-
-
-
- Alternatively, you can also add additional controls and components to toasts.
-
- Building on the above example, you can create different toast color schemes with our{' '}
- color and{' '}
- background utilities. Here
- we've set color="primary" and added .text-white{' '}
- class to the <Ctoast>, and then set white property to
- our close button. For a crisp edge, we remove the default border with{' '}
- .border-0.
-
+
+
+
+
+
+
+ React Toast With Alert
+ >
+ }
+ />
+
+
+ Combine Snackbar with Alert for colored toasts.
+
-
+
+
+
+ setOpenSuccess(false)}
+ >
+ setOpenSuccess(false)} severity="success">
+ Success! This is a success toast.
+
+
+ setOpenError(false)}
>
-
- Hello, world! This is a toast message.
-
-
-
+ setOpenError(false)} severity="error">
+ Error! This is an error toast.
+
+
-
-
-
-
+
+
+
+
)
}
diff --git a/src/views/pages/login/Login.js b/src/views/pages/login/Login.js
index 1b2ee0baa2..f921db0717 100644
--- a/src/views/pages/login/Login.js
+++ b/src/views/pages/login/Login.js
@@ -1,85 +1,108 @@
import React from 'react'
import { Link } from 'react-router-dom'
-import {
- CButton,
- CCard,
- CCardBody,
- CCardGroup,
- CCol,
- CContainer,
- CForm,
- CFormInput,
- CInputGroup,
- CInputGroupText,
- CRow,
-} from '@coreui/react'
-import CIcon from '@coreui/icons-react'
-import { cilLockLocked, cilUser } from '@coreui/icons'
+import Box from '@mui/material/Box'
+import Container from '@mui/material/Container'
+import Grid from '@mui/material/Grid'
+import Card from '@mui/material/Card'
+import CardContent from '@mui/material/CardContent'
+import Typography from '@mui/material/Typography'
+import TextField from '@mui/material/TextField'
+import Button from '@mui/material/Button'
+import InputAdornment from '@mui/material/InputAdornment'
+import PersonIcon from '@mui/icons-material/Person'
+import LockIcon from '@mui/icons-material/Lock'
const Login = () => {
return (
-
- Documentation and examples for Bootstrap typography, including global settings,
- headings, body text, lists, and more.
-
-
-
-
-
Heading
-
Example
-
-
-
-
-
-
- <h1></h1>
-
-
-
- h1. Bootstrap heading
-
-
-
-
-
- <h2></h2>
-
-
-
- h2. Bootstrap heading
-
-
-
-
-
- <h3></h3>
-
-
-
- h3. Bootstrap heading
-
-
-
-
-
- <h4></h4>
-
-
-
- h4. Bootstrap heading
-
-
-
-
-
- <h5></h5>
-
-
-
- h5. Bootstrap heading
-
-
-
-
-
- <h6></h6>
-
-
-
- h6. Bootstrap heading
-
-
-
-
-
-
-
- Headings
-
-
- .h1 through
- .h6
- classes are also available, for when you want to match the font styling of a heading but
- cannot use the associated HTML element.
-
-
-
h1. Bootstrap heading
-
h2. Bootstrap heading
-
h3. Bootstrap heading
-
h4. Bootstrap heading
-
h5. Bootstrap heading
-
h6. Bootstrap heading
-
-
-
-
-
Display headings
-
-
- Traditional heading elements are designed to work best in the meat of your page content.
- When you need a heading to stand out, consider using a display heading
- —a larger, slightly more opinionated heading style.
-
-
-
-
-
-
- Display 1
-
-
-
-
- Display 2
-
-
-
-
- Display 3
-
-
-
-
- Display 4
-
-
-
-
-
-
-
-
- Inline text elements
-
-
- Traditional heading elements are designed to work best in the meat of your page content.
- When you need a heading to stand out, consider using a display heading
- —a larger, slightly more opinionated heading style.
-
+
+ This line of text is meant to be treated as deleted text.
-
-
+
+ This line of text is meant to be treated as no longer accurate.
-
-
+
+
This line of text is meant to be treated as an addition to the document.
-
-
- This line of text will render as underlined
-
-
+
+
+ This line of text will render as underlined.
+
+
This line of text is meant to be treated as fine print.
-
-
+
+ This line rendered as bold text.
-
-
+
+ This line rendered as italicized text.
-
-
-
-
-
- Description list alignment
-
-
- Align terms and descriptions horizontally by using our grid system’s predefined classes
- (or semantic mixins). For longer terms, you can optionally add a{' '}
- .text-truncate class to truncate the text
- with an ellipsis.
-
-
-
-
Description lists
-
A description list is perfect for defining terms.
-
-
Euismod
-
-
- Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
-
-
Donec id elit non mi porta gravida at eget metus.
-
-
-
Malesuada porta
-
Etiam porta sem malesuada magna mollis euismod.
-
-
Truncated term is truncated
-
- Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut
- fermentum massa justo sit amet risus.
-
-
-
Nesting
-
-
-
Nested definition list
-
- Aenean posuere, tortor sed cursus feugiat, nunc augue blandit nunc.
-