diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index e9c55eec0..000000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,24 +0,0 @@
-module.exports = {
- // parser: '@typescript-eslint/parser', // Specifies the ESLint parser
- parserOptions: {
- ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features
- sourceType: 'module', // Allows for the use of imports
- ecmaFeatures: {
- jsx: true, // Allows for the parsing of JSX
- },
- },
- settings: {
- react: {
- version: 'detect', // Tells eslint-plugin-react to automatically detect the version of React to use
- },
- },
- extends: [
- 'plugin:react/recommended', // Uses the recommended rules from @eslint-plugin-react
- 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
- ],
- plugins: ['react', 'react-hooks'],
- rules: {
- // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs
- // e.g. "@typescript-eslint/explicit-function-return-type": "off",
- },
-}
diff --git a/LICENSE b/LICENSE
index eee6fcc1f..433069ca0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2024 creativeLabs Łukasz Holeczek.
+Copyright (c) 2025 creativeLabs Łukasz Holeczek.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 101aa0a32..5ca7edd8c 100644
--- a/README.md
+++ b/README.md
@@ -48,6 +48,7 @@ CoreUI is meant to be the UX game changer. Pure & transparent code is devoid of
* 💪 [CoreUI PRO Angular Admin Template](https://coreui.io/product/angular-dashboard-template/)
* 💪 [CoreUI PRO Bootstrap Admin Template](https://coreui.io/product/bootstrap-dashboard-template/)
+* 💪 [CoreUI PRO Next.js Admin Template](https://coreui.io/product/next-js-dashboard-template/)
* 💪 [CoreUI PRO React Admin Template](https://coreui.io/product/react-dashboard-template/)
* 💪 [CoreUI PRO Vue Admin Template](https://coreui.io/product/vue-dashboard-template/)
@@ -57,9 +58,9 @@ CoreUI is meant to be the UX game changer. Pure & transparent code is devoid of
| --- | --- |
| [](https://coreui.io/product/react-dashboard-template/?theme=default) | [](https://coreui.io/product/react-dashboard-template/?theme=light)|
-| Default Theme v3 | Light Theme v3 |
+| Modern Theme | Bright Theme |
| --- | --- |
-| [](https://coreui.io/product/react-dashboard-template/?theme=default-v3) | [](https://coreui.io/product/react-dashboard-template/?theme=light)|
+| [](https://coreui.io/product/react-dashboard-template/?theme=modern) | [](https://coreui.io/product/react-dashboard-template/?theme=bright)|
## Quick Start
@@ -179,6 +180,6 @@ CoreUI is an MIT-licensed open source project and is completely free to use. How
## Copyright and License
-copyright 2024 creativeLabs Łukasz Holeczek.
+copyright 2025 creativeLabs Łukasz Holeczek.
Code released under [the MIT license](https://github.com/coreui/coreui-free-react-admin-template/blob/main/LICENSE).
\ No newline at end of file
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 000000000..b0b00425a
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,39 @@
+import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended'
+import eslintPluginReact from 'eslint-plugin-react'
+import eslintPluginReactHooks from 'eslint-plugin-react-hooks'
+import globals from 'globals'
+
+export default [
+ { ignores: ['eslint.config.mjs'] },
+ {
+ ...eslintPluginReact.configs.flat.recommended,
+ ...eslintPluginReact.configs.flat['jsx-runtime'],
+ files: ['src/**/*.{js,jsx}'],
+ plugins: {
+ eslintPluginReact,
+ 'react-hooks': eslintPluginReactHooks,
+ },
+ languageOptions: {
+ globals: {
+ ...globals.browser,
+ ...globals.node,
+ },
+ ecmaVersion: 'latest',
+ sourceType: 'module',
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
+ },
+ },
+ settings: {
+ react: {
+ version: 'detect',
+ },
+ },
+ rules: {
+ ...eslintPluginReactHooks.configs.recommended.rules,
+ },
+ },
+ eslintPluginPrettierRecommended,
+]
diff --git a/index.html b/index.html
index e958fb959..9613ef3ee 100644
--- a/index.html
+++ b/index.html
@@ -1,9 +1,9 @@
diff --git a/package.json b/package.json
index 31b7c3fff..7e992e447 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@coreui/coreui-free-react-admin-template",
- "version": "5.0.0",
+ "version": "5.4.0",
"description": "CoreUI Free React Admin Template",
"homepage": ".",
"bugs": {
@@ -14,41 +14,42 @@
"author": "The CoreUI Team (https://github.com/orgs/coreui/people)",
"scripts": {
"build": "vite build",
- "lint": "eslint \"src/**/*.js\"",
+ "lint": "eslint",
"serve": "vite preview",
"start": "vite"
},
"dependencies": {
- "@coreui/chartjs": "^4.0.0",
- "@coreui/coreui": "^5.0.0",
+ "@coreui/chartjs": "^4.1.0",
+ "@coreui/coreui": "^5.3.1",
"@coreui/icons": "^3.0.1",
- "@coreui/icons-react": "^2.2.1",
- "@coreui/react": "^5.0.0",
+ "@coreui/icons-react": "^2.3.0",
+ "@coreui/react": "^5.5.0",
"@coreui/react-chartjs": "^3.0.0",
"@coreui/utils": "^2.0.2",
"@popperjs/core": "^2.11.8",
- "chart.js": "^4.4.2",
+ "chart.js": "^4.4.7",
"classnames": "^2.5.1",
- "core-js": "^3.36.1",
+ "core-js": "^3.40.0",
"prop-types": "^15.8.1",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
- "react-redux": "^9.1.0",
- "react-router-dom": "^6.22.3",
+ "react": "^19.0.0",
+ "react-dom": "^19.0.0",
+ "react-redux": "^9.2.0",
+ "react-router-dom": "^7.1.5",
"redux": "5.0.1",
- "simplebar-react": "^3.2.4"
+ "simplebar-react": "^3.3.0"
},
"devDependencies": {
- "@vitejs/plugin-react": "^4.2.1",
- "autoprefixer": "^10.4.19",
- "eslint": "^8.57.0",
- "eslint-config-prettier": "^9.1.0",
- "eslint-plugin-prettier": "^5.1.3",
- "eslint-plugin-react": "^7.34.1",
- "eslint-plugin-react-hooks": "^4.6.0",
- "postcss": "^8.4.38",
- "prettier": "3.2.5",
- "sass": "^1.72.0",
- "vite": "^5.2.6"
+ "@vitejs/plugin-react": "^4.3.4",
+ "autoprefixer": "^10.4.20",
+ "eslint": "^9.20.1",
+ "eslint-config-prettier": "^10.0.1",
+ "eslint-plugin-prettier": "^5.2.3",
+ "eslint-plugin-react": "^7.37.4",
+ "eslint-plugin-react-hooks": "^5.1.0",
+ "globals": "^15.15.0",
+ "postcss": "^8.5.2",
+ "prettier": "3.5.1",
+ "sass": "^1.85.0",
+ "vite": "^6.1.0"
}
}
diff --git a/src/App.js b/src/App.js
index 7f8e6d7ea..f5b22393e 100644
--- a/src/App.js
+++ b/src/App.js
@@ -5,6 +5,9 @@ import { useSelector } from 'react-redux'
import { CSpinner, useColorModes } from '@coreui/react'
import './scss/style.scss'
+// We use those styles to show code examples, you should remove them in your application.
+import './scss/examples.scss'
+
// Containers
const DefaultLayout = React.lazy(() => import('./layout/DefaultLayout'))
diff --git a/src/_nav.js b/src/_nav.js
index 8f3d730db..9f8ca150b 100644
--- a/src/_nav.js
+++ b/src/_nav.js
@@ -7,6 +7,7 @@ import {
cilCursor,
cilDescription,
cilDrop,
+ cilExternalLink,
cilNotes,
cilPencil,
cilPuzzle,
@@ -62,6 +63,20 @@ const _nav = [
name: 'Breadcrumb',
to: '/base/breadcrumbs',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Calendar'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/components/calendar/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
{
component: CNavItem,
name: 'Cards',
@@ -107,6 +122,29 @@ const _nav = [
name: 'Progress',
to: '/base/progress',
},
+ {
+ component: CNavItem,
+ name: 'Smart Pagination',
+ href: 'https://coreui.io/react/docs/components/smart-pagination/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
+ {
+ component: CNavItem,
+ name: (
+
+ {'Smart Table'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/components/smart-table/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
{
component: CNavItem,
name: 'Spinners',
@@ -117,11 +155,30 @@ const _nav = [
name: 'Tables',
to: '/base/tables',
},
+ {
+ component: CNavItem,
+ name: 'Tabs',
+ to: '/base/tabs',
+ },
{
component: CNavItem,
name: 'Tooltips',
to: '/base/tooltips',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Virtual Scroller'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/components/virtual-scroller/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
],
},
{
@@ -145,6 +202,20 @@ const _nav = [
name: 'Dropdowns',
to: '/buttons/dropdowns',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Loading Button'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/components/loading-button/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
],
},
{
@@ -162,6 +233,20 @@ const _nav = [
name: 'Select',
to: '/forms/select',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Multi Select'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/forms/multi-select/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
{
component: CNavItem,
name: 'Checks & Radios',
@@ -172,6 +257,34 @@ const _nav = [
name: 'Range',
to: '/forms/range',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Range Slider'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/forms/range-slider/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
+ {
+ component: CNavItem,
+ name: (
+
+ {'Rating'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/forms/rating/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
{
component: CNavItem,
name: 'Input Group',
@@ -182,6 +295,43 @@ const _nav = [
name: 'Floating Labels',
to: '/forms/floating-labels',
},
+ {
+ component: CNavItem,
+ name: (
+
+ {'Date Picker'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/forms/date-picker/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
+ {
+ component: CNavItem,
+ name: 'Date Range Picker',
+ href: 'https://coreui.io/react/docs/forms/date-range-picker/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
+ {
+ component: CNavItem,
+ name: (
+
+ {'Time Picker'}
+
+
+ ),
+ href: 'https://coreui.io/react/docs/forms/time-picker/',
+ badge: {
+ color: 'danger',
+ text: 'PRO',
+ },
+ },
{
component: CNavItem,
name: 'Layout',
@@ -209,10 +359,6 @@ const _nav = [
component: CNavItem,
name: 'CoreUI Free',
to: '/icons/coreui-icons',
- badge: {
- color: 'success',
- text: 'NEW',
- },
},
{
component: CNavItem,
diff --git a/src/assets/images/components.webp b/src/assets/images/components.webp
new file mode 100644
index 000000000..dfdee46b4
Binary files /dev/null and b/src/assets/images/components.webp differ
diff --git a/src/assets/images/icons.webp b/src/assets/images/icons.webp
new file mode 100644
index 000000000..b5ca82d0a
Binary files /dev/null and b/src/assets/images/icons.webp differ
diff --git a/src/components/AppFooter.js b/src/components/AppFooter.js
index fd126f460..217c5a04c 100644
--- a/src/components/AppFooter.js
+++ b/src/components/AppFooter.js
@@ -8,7 +8,7 @@ const AppFooter = () => {
CoreUI
- © 2024 creativeLabs.
+ © 2025 creativeLabs.
Powered by
diff --git a/src/components/AppSidebarNav.js b/src/components/AppSidebarNav.js
index 6b73cec4e..7583abf49 100644
--- a/src/components/AppSidebarNav.js
+++ b/src/components/AppSidebarNav.js
@@ -20,7 +20,7 @@ export const AppSidebarNav = ({ items }) => {
)}
{name && name}
{badge && (
-
+
{badge.text}
)}
@@ -34,7 +34,11 @@ export const AppSidebarNav = ({ items }) => {
return (
{rest.to || rest.href ? (
-
+
{navLink(name, icon, badge, indent)}
) : (
@@ -49,7 +53,7 @@ export const AppSidebarNav = ({ items }) => {
const Component = component
return (
- {item.items?.map((item, index) =>
+ {items?.map((item, index) =>
item.items ? navGroup(item, index) : navItem(item, index, true),
)}
diff --git a/src/components/DocsCallout.js b/src/components/DocsCallout.js
deleted file mode 100644
index 926ebfc43..000000000
--- a/src/components/DocsCallout.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import PropTypes from 'prop-types'
-import React from 'react'
-import { CCallout, CLink } from '@coreui/react'
-
-const DocsCallout = (props) => {
- const { content, href, name } = props
-
- const plural = name.slice(-1) === 's' ? true : false
-
- const _href = `https://coreui.io/react/docs/${href}`
-
- return (
-
- {content
- ? content
- : `A React ${name} component ${
- plural ? 'have' : 'has'
- } been created as a native React.js version
- of Bootstrap ${name}. ${name} ${plural ? 'are' : 'is'} delivered with some new features,
- variants, and unique design that matches CoreUI Design System requirements.`}
-
-
- For more information please visit our official{' '}
-
- documentation of CoreUI Components Library for React.js
-
- .
-
- )
-}
-
-DocsCallout.propTypes = {
- content: PropTypes.string,
- href: PropTypes.string,
- name: PropTypes.string,
-}
-
-export default React.memo(DocsCallout)
diff --git a/src/components/DocsComponents.js b/src/components/DocsComponents.js
new file mode 100644
index 000000000..b0968b8fe
--- /dev/null
+++ b/src/components/DocsComponents.js
@@ -0,0 +1,46 @@
+import PropTypes from 'prop-types'
+import React from 'react'
+
+import ComponentsImg from 'src/assets/images/components.webp'
+
+const DocsComponents = (props) => (
+
+
+
+
+
+
+ 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.
+
+
+
+
+)
+
+DocsComponents.propTypes = {
+ href: PropTypes.string,
+}
+
+export default DocsComponents
diff --git a/src/components/DocsIcons.js b/src/components/DocsIcons.js
new file mode 100644
index 000000000..e3fab60a7
--- /dev/null
+++ b/src/components/DocsIcons.js
@@ -0,0 +1,31 @@
+import React from 'react'
+
+import IconsImg from 'src/assets/images/icons.webp'
+
+const DocsIcons = () => (
+
+
+
+
+
+
+ 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.
+
+
+
+
+)
+
+export default DocsIcons
diff --git a/src/components/index.js b/src/components/index.js
index 6cdf33563..93fb52c43 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -4,7 +4,8 @@ import AppFooter from './AppFooter'
import AppHeader from './AppHeader'
import AppHeaderDropdown from './header/AppHeaderDropdown'
import AppSidebar from './AppSidebar'
-import DocsCallout from './DocsCallout'
+import DocsComponents from './DocsComponents'
+import DocsIcons from './DocsIcons'
import DocsLink from './DocsLink'
import DocsExample from './DocsExample'
@@ -15,7 +16,8 @@ export {
AppHeader,
AppHeaderDropdown,
AppSidebar,
- DocsCallout,
+ DocsComponents,
+ DocsIcons,
DocsLink,
DocsExample,
}
diff --git a/src/routes.js b/src/routes.js
index d168b1ca4..d2e9d6479 100644
--- a/src/routes.js
+++ b/src/routes.js
@@ -17,6 +17,7 @@ const Placeholders = React.lazy(() => import('./views/base/placeholders/Placehol
const Popovers = React.lazy(() => import('./views/base/popovers/Popovers'))
const Progress = React.lazy(() => import('./views/base/progress/Progress'))
const Spinners = React.lazy(() => import('./views/base/spinners/Spinners'))
+const Tabs = React.lazy(() => import('./views/base/tabs/Tabs'))
const Tables = React.lazy(() => import('./views/base/tables/Tables'))
const Tooltips = React.lazy(() => import('./views/base/tooltips/Tooltips'))
@@ -69,6 +70,7 @@ const routes = [
{ path: '/base/popovers', name: 'Popovers', element: Popovers },
{ path: '/base/progress', name: 'Progress', element: Progress },
{ path: '/base/spinners', name: 'Spinners', element: Spinners },
+ { path: '/base/tabs', name: 'Tabs', element: Tabs },
{ path: '/base/tables', name: 'Tables', element: Tables },
{ path: '/base/tooltips', name: 'Tooltips', element: Tooltips },
{ path: '/buttons', name: 'Buttons', element: Buttons, exact: true },
diff --git a/src/scss/_custom.scss b/src/scss/_custom.scss
deleted file mode 100644
index 15d367af4..000000000
--- a/src/scss/_custom.scss
+++ /dev/null
@@ -1 +0,0 @@
-// Here you can add other styles
diff --git a/src/scss/_theme.scss b/src/scss/_theme.scss
deleted file mode 100644
index 49e1c79e6..000000000
--- a/src/scss/_theme.scss
+++ /dev/null
@@ -1,64 +0,0 @@
-body {
- background-color: var(--cui-tertiary-bg);
-}
-
-.wrapper {
- width: 100%;
- @include ltr-rtl("padding-left", var(--cui-sidebar-occupy-start, 0));
- @include ltr-rtl("padding-right", var(--cui-sidebar-occupy-end, 0));
- will-change: auto;
- @include transition(padding .15s);
-}
-
-.header > .container-fluid,
-.sidebar-header {
- min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list
-}
-
-.sidebar-brand-full {
- margin-left: 3px;
-}
-
-.sidebar-header {
- .nav-underline-border {
- --cui-nav-underline-border-link-padding-x: 1rem;
- --cui-nav-underline-border-gap: 0;
- }
-
- .nav-link {
- display: flex;
- align-items: center;
- min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list
- }
-}
-
-.sidebar-toggler {
- @include ltr-rtl("margin-left", auto);
-}
-
-.sidebar-narrow,
-.sidebar-narrow-unfoldable:not(:hover) {
- .sidebar-toggler {
- @include ltr-rtl("margin-right", auto);
- }
-}
-
-.header > .container-fluid + .container-fluid {
- min-height: 3rem;
-}
-
-.footer {
- min-height: calc(3rem + 1px); // stylelint-disable-line function-disallowed-list
-}
-
-@if $enable-dark-mode {
- @include color-mode(dark) {
- body {
- background-color: var(--cui-dark-bg-subtle);
- }
-
- .footer {
- --cui-footer-bg: var(--cui-body-bg);
- }
- }
-}
diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss
deleted file mode 100644
index b0f8a52a3..000000000
--- a/src/scss/_variables.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-// Variable overrides
-//
-// If you want to customize your project please add your variables below.
-
-$enable-deprecation-messages: false !default;
diff --git a/src/scss/examples.scss b/src/scss/examples.scss
index 2390ba194..83e43f34e 100644
--- a/src/scss/examples.scss
+++ b/src/scss/examples.scss
@@ -1,9 +1,9 @@
-/* stylelint-disable declaration-no-important, scss/selector-no-redundant-nesting-selector */
-$enable-deprecation-messages: false; /* stylelint-disable-line scss/dollar-variable-default */
-
-@import "@coreui/coreui/scss/functions";
-@import "@coreui/coreui/scss/variables";
-@import "@coreui/coreui/scss/mixins";
+/* stylelint-disable scss/selector-no-redundant-nesting-selector */
+@use "@coreui/coreui/scss/variables" as * with (
+ $enable-deprecation-messages: false
+);
+@use "@coreui/coreui/scss/mixins/breakpoints" as *;
+@use "@coreui/coreui/scss/mixins/color-mode" as *;
.example {
&:not(:first-child) {
@@ -53,6 +53,8 @@ $enable-deprecation-messages: false; /* stylelint-disable-line scss/dollar-varia
}
// Buttons
+ .col > .btn,
+ .col-auto > .btn,
> .btn,
> .btn-group {
margin: .25rem .125rem;
@@ -107,10 +109,8 @@ $enable-deprecation-messages: false; /* stylelint-disable-line scss/dollar-varia
}
}
-@if $enable-dark-mode {
- @include color-mode(dark) {
- .example .tab-content {
- background-color: var(--#{$prefix}secondary-bg) !important;
- }
+@include color-mode(dark) {
+ .example .tab-content {
+ background-color: var(--#{$prefix}secondary-bg);
}
}
diff --git a/src/scss/style.scss b/src/scss/style.scss
index 4fbc82356..6b8f2b2e5 100644
--- a/src/scss/style.scss
+++ b/src/scss/style.scss
@@ -1,15 +1,67 @@
-// If you want to override variables do it here
-@import "variables";
+@use "@coreui/coreui/scss/coreui" as * with (
+ $enable-deprecation-messages: false,
+);
+@use "@coreui/chartjs/scss/coreui-chartjs";
+@use "vendors/simplebar";
-// Import styles
-@import "@coreui/coreui/scss/coreui";
-@import "@coreui/chartjs/scss/coreui-chartjs";
+body {
+ background-color: var(--cui-tertiary-bg);
+}
-// Vendors
-@import "vendors/simplebar";
+.wrapper {
+ width: 100%;
+ padding-inline: var(--cui-sidebar-occupy-start, 0) var(--cui-sidebar-occupy-end, 0);
+ will-change: auto;
+ @include transition(padding .15s);
+}
-// Custom styles for this theme
-@import "theme";
+.header > .container-fluid,
+.sidebar-header {
+ min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list
+}
-// If you want to add custom CSS you can put it here
-@import "custom";
+.sidebar-brand-full {
+ margin-left: 3px;
+}
+
+.sidebar-header {
+ .nav-underline-border {
+ --cui-nav-underline-border-link-padding-x: 1rem;
+ --cui-nav-underline-border-gap: 0;
+ }
+
+ .nav-link {
+ display: flex;
+ align-items: center;
+ min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list
+ }
+}
+
+.sidebar-toggler {
+ margin-inline-start: auto;
+}
+
+.sidebar-narrow,
+.sidebar-narrow-unfoldable:not(:hover) {
+ .sidebar-toggler {
+ margin-inline-end: auto;
+ }
+}
+
+.header > .container-fluid + .container-fluid {
+ min-height: 3rem;
+}
+
+.footer {
+ min-height: calc(3rem + 1px); // stylelint-disable-line function-disallowed-list
+}
+
+@include color-mode(dark) {
+ body {
+ background-color: var(--cui-dark-bg-subtle);
+ }
+
+ .footer {
+ --cui-footer-bg: var(--cui-body-bg);
+ }
+}
diff --git a/src/views/base/accordion/Accordion.js b/src/views/base/accordion/Accordion.js
index 5d6644a46..edcb5e7ae 100644
--- a/src/views/base/accordion/Accordion.js
+++ b/src/views/base/accordion/Accordion.js
@@ -10,12 +10,13 @@ import {
CAccordionHeader,
CAccordionItem,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Accordion = () => {
return (
+
React Accordion
diff --git a/src/views/base/breadcrumbs/Breadcrumbs.js b/src/views/base/breadcrumbs/Breadcrumbs.js
index f5c9b39e2..3e1df4475 100644
--- a/src/views/base/breadcrumbs/Breadcrumbs.js
+++ b/src/views/base/breadcrumbs/Breadcrumbs.js
@@ -9,12 +9,13 @@ import {
CRow,
CLink,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Breadcrumbs = () => {
return (
+
React Breadcrumb
diff --git a/src/views/base/cards/Cards.js b/src/views/base/cards/Cards.js
index 8c3fb2582..daf44f60e 100644
--- a/src/views/base/cards/Cards.js
+++ b/src/views/base/cards/Cards.js
@@ -19,7 +19,7 @@ import {
CCol,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
import ReactImg from 'src/assets/images/react.jpg'
@@ -27,6 +27,7 @@ const Cards = () => {
return (
+
Card Example
@@ -244,7 +245,7 @@ const Cards = () => {
- Card headers can be styled by adding ex. component="h5"
.
+ Card headers can be styled by adding ex. as="h5"
.
diff --git a/src/views/base/carousels/Carousels.js b/src/views/base/carousels/Carousels.js
index 7980fd6c8..6d8763902 100644
--- a/src/views/base/carousels/Carousels.js
+++ b/src/views/base/carousels/Carousels.js
@@ -9,7 +9,7 @@ import {
CCol,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
import AngularImg from 'src/assets/images/angular.jpg'
import ReactImg from 'src/assets/images/react.jpg'
@@ -25,6 +25,7 @@ const Carousels = () => {
return (
+
Carousel Slide only
diff --git a/src/views/base/collapses/Collapses.js b/src/views/base/collapses/Collapses.js
index 98a6beb5c..d36f48f4a 100644
--- a/src/views/base/collapses/Collapses.js
+++ b/src/views/base/collapses/Collapses.js
@@ -1,6 +1,6 @@
import React, { useState } from 'react'
import { CButton, CCard, CCardBody, CCardHeader, CCol, CCollapse, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Collapses = () => {
const [visible, setVisible] = useState(false)
@@ -11,6 +11,7 @@ const Collapses = () => {
return (
+
React Collapse
diff --git a/src/views/base/jumbotrons/Jumbotrons.js b/src/views/base/jumbotrons/Jumbotrons.js
deleted file mode 100644
index 18c9223b8..000000000
--- a/src/views/base/jumbotrons/Jumbotrons.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import React from 'react'
-import { CButton, CCard, CCardBody, CCardHeader, CCol, CContainer, CRow } from '@coreui/react'
-import { DocsLink } from 'src/components'
-
-const Jumbotrons = () => {
- return (
- <>
-
-
- Jumbotron
-
-
-
-
- Custom jumbotron
-
- Using a series of utilities, you can create this jumbotron, just like the one in
- previous versions of Bootstrap. Check out the examples below for how you can remix and
- restyle it to your liking.
-
-
- Example button
-
-
-
-
-
-
Change the background
-
- Swap the background-color utility and add a `.text-*` color utility to mix up the
- jumbotron look. Then, mix and match with additional component themes and more.
-
-
- DocsExample button
-
-
-
-
-
-
Add borders
-
- Or, keep it light and add a border for some added definition to the boundaries of
- your content. Be sure to look under the hood at the source HTML here as we've
- adjusted the alignment and sizing of both column's content for equal-height.
-
-
- DocsExample button
-
-
-
-
-
-
- >
- )
-}
-
-export default Jumbotrons
diff --git a/src/views/base/list-groups/ListGroups.js b/src/views/base/list-groups/ListGroups.js
index 07ad20055..a25e8bd6e 100644
--- a/src/views/base/list-groups/ListGroups.js
+++ b/src/views/base/list-groups/ListGroups.js
@@ -10,12 +10,13 @@ import {
CListGroupItem,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const ListGroups = () => {
return (
+
React List Group Basic example
@@ -90,8 +91,8 @@ const ListGroups = () => {
Use <a>
s or <button>
s to create{' '}
actionable list group items with hover, disabled, and active states by adding{' '}
- component="a|button"
. We separate these pseudo-classes to ensure
- list groups made of non-interactive elements (like <li>
s or{' '}
+ as="a|button"
. We separate these pseudo-classes to ensure list
+ groups made of non-interactive elements (like <li>
s or{' '}
<div>
s) don'tprovide a click or tap affordance.
diff --git a/src/views/base/navbars/Navbars.js b/src/views/base/navbars/Navbars.js
deleted file mode 100644
index e8b9fd087..000000000
--- a/src/views/base/navbars/Navbars.js
+++ /dev/null
@@ -1,174 +0,0 @@
-import React, { useState } from 'react'
-import {
- CCard,
- CCardBody,
- CCardHeader,
- CCollapse,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
- CForm,
- CFormInput,
- CImage,
- CNavbar,
- CNavbarNav,
- CNavbarBrand,
- CNavbarText,
- CNavbarToggler,
- CNavLink,
- CDropdown,
- CButton,
-} from '@coreui/react'
-import { DocsLink } from 'src/components'
-
-const CNavbars = () => {
- const [visible, setVisible] = useState(false)
- const [isOpenDropdown, setIsOpenDropdown] = useState(false)
- const [navbarText, setNavbarText] = useState(false)
-
- return (
- <>
-
-
- CNavbar
-
-
-
-
- setVisible(!visible)} />
- NavbarBrand
-
-
- Home
- Link
-
-
-
-
-
- Search
-
-
-
- Lang
-
- EN
- ES
- RU
- FA
-
-
-
- User
-
- Account
- Settings
-
-
-
-
-
-
-
-
-
- CNavbar brand
-
-
-
-
- CoreUI React
-
-
-
-
-
-
- CNavbar text
-
-
- {
- setNavbarText(!navbarText)
- }}
- />
- NavbarBrand
-
-
- Navbar text
-
-
-
-
-
-
-
- CNavbar dropdown
-
-
- {
- setIsOpenDropdown(!isOpenDropdown)
- }}
- />
-
-
- Home
- Link
-
- Lang
-
- EN
- ES
- RU
- FA
-
-
-
- User
-
- Account
- Settings
-
-
-
-
-
-
-
-
-
- CNavbar form
-
-
-
-
-
- Search
-
-
-
-
-
-
-
- CNavbar input group
-
-
-
-
-
-
-
-
- >
- )
-}
-
-export default CNavbars
diff --git a/src/views/base/navs/Navs.js b/src/views/base/navs/Navs.js
index e2a627ff2..052ed6fc5 100644
--- a/src/views/base/navs/Navs.js
+++ b/src/views/base/navs/Navs.js
@@ -13,12 +13,13 @@ import {
CNavItem,
CNavLink,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Navs = () => {
return (
+
React Navs Base navs
@@ -30,7 +31,7 @@ const Navs = () => {
overrides (for working with lists), some link padding for larger hit areas, and basic
disabled styling.
-
+
@@ -57,7 +58,7 @@ const Navs = () => {
the .nav uses display: flex, the nav links behave the same as nav items would, but
without the extra markup.
-
+
Active
@@ -89,7 +90,7 @@ const Navs = () => {
Centered with .justify-content-center
:
-
+
@@ -112,7 +113,7 @@ const Navs = () => {
Right-aligned with .justify-content-end
:
-
+
@@ -146,7 +147,7 @@ const Navs = () => {
.flex-column
utility. Need to stack them on some viewports but not
others? Use the responsive versions (e.g., .flex-sm-column
).
-
+
@@ -179,7 +180,7 @@ const Navs = () => {
Takes the basic nav from above and adds the variant="tabs"
class
to generate a tabbed interface
-
+
@@ -211,7 +212,7 @@ const Navs = () => {
Take that same HTML, but use variant="pills"
instead:
-
+
@@ -246,7 +247,7 @@ const Navs = () => {
.nav-item
s, use layout="fill"
. Notice that all
horizontal space is occupied, but not every nav item has the same width.
-
+
@@ -271,7 +272,7 @@ const Navs = () => {
space will be occupied by nav links, but unlike the .nav-fill above, every nav item
will be the same width.
-
+
@@ -307,7 +308,7 @@ const Navs = () => {
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
@@ -328,7 +329,7 @@ const Navs = () => {
React Navs Tabs with dropdowns
-
+
@@ -362,7 +363,7 @@ const Navs = () => {
React Navs Pills with dropdowns
-
+
diff --git a/src/views/base/paginations/Paginations.js b/src/views/base/paginations/Paginations.js
index ce8b9dba4..24dc229a1 100644
--- a/src/views/base/paginations/Paginations.js
+++ b/src/views/base/paginations/Paginations.js
@@ -8,12 +8,13 @@ import {
CPaginationItem,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Paginations = () => {
return (
+
React Pagination
diff --git a/src/views/base/placeholders/Placeholders.js b/src/views/base/placeholders/Placeholders.js
index 3be06a69a..743416d93 100644
--- a/src/views/base/placeholders/Placeholders.js
+++ b/src/views/base/placeholders/Placeholders.js
@@ -11,7 +11,7 @@ import {
CPlaceholder,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
import ReactImg from 'src/assets/images/react.jpg'
@@ -19,6 +19,7 @@ const Placeholders = () => {
return (
+
React Placeholder
@@ -45,11 +46,10 @@ const Placeholders = () => {
- {
>
Placeholder
-
+
-
+
-
+
@@ -72,7 +72,7 @@ const Placeholders = () => {
{
{
being actively loaded.
-
+
-
+
diff --git a/src/views/base/popovers/Popovers.js b/src/views/base/popovers/Popovers.js
index e633c97df..794e10025 100644
--- a/src/views/base/popovers/Popovers.js
+++ b/src/views/base/popovers/Popovers.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CButton, CCard, CCardBody, CCardHeader, CPopover, CRow, CCol } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Popovers = () => {
return (
+
React Popover Basic example
diff --git a/src/views/base/progress/Progress.js b/src/views/base/progress/Progress.js
index d4542200c..78715d305 100644
--- a/src/views/base/progress/Progress.js
+++ b/src/views/base/progress/Progress.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CCard, CCardBody, CCardHeader, CCol, CProgress, CProgressBar, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Progress = () => {
return (
+
React Progress Basic example
diff --git a/src/views/base/spinners/Spinners.js b/src/views/base/spinners/Spinners.js
index 038870829..5553dbc0f 100644
--- a/src/views/base/spinners/Spinners.js
+++ b/src/views/base/spinners/Spinners.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CButton, CCard, CCardBody, CCardHeader, CCol, CSpinner, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Spinners = () => {
return (
+
React Spinner Border
diff --git a/src/views/base/tables/Tables.js b/src/views/base/tables/Tables.js
index 75f1636a2..3a3f7fd86 100644
--- a/src/views/base/tables/Tables.js
+++ b/src/views/base/tables/Tables.js
@@ -13,12 +13,13 @@ import {
CTableHeaderCell,
CTableRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Tables = () => {
return (
+
React Table Basic example
diff --git a/src/views/base/tabs/Tabs.js b/src/views/base/tabs/Tabs.js
new file mode 100644
index 000000000..eae58d8f8
--- /dev/null
+++ b/src/views/base/tabs/Tabs.js
@@ -0,0 +1,234 @@
+import React from 'react'
+import {
+ CRow,
+ CCol,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CTab,
+ CTabContent,
+ CTabList,
+ CTabPanel,
+ CTabs,
+} from '@coreui/react'
+import { DocsComponents, DocsExample } from 'src/components'
+
+const Navs = () => {
+ return (
+
+
+
+
+
+ React Tabs
+
+
+
+ The basic React tabs example uses the variant="tabs"
props to
+ generate a tabbed interface.
+
+
+
+
+ Home
+ Profile
+ Contact
+
+ Disabled
+
+
+
+
+ Home tab content
+
+
+ Profile tab content
+
+
+ Contact tab content
+
+
+ Disabled tab content
+
+
+
+
+
+
+
+
+
+
+ React Tabs Unstyled
+
+
+
+ If you don’t provide the variant
prop, the component will default to a
+ basic style.
+
+
+
+
+ Home
+ Profile
+ Contact
+
+ Disabled
+
+
+
+
+ Home tab content
+
+
+ Profile tab content
+
+
+ Contact tab content
+
+
+ Disabled tab content
+
+
+
+
+
+
+
+
+
+
+ React Tabs Pills
+
+
+
+ Take that same code, but use variant="pills"
instead:
+
+
+
+
+
+ Home
+
+
+ Profile
+
+
+ Contact
+
+
+ Disabled
+
+
+
+
+ Home tab content
+
+
+ Profile tab content
+
+
+ Contact tab content
+
+
+ Disabled tab content
+
+
+
+
+
+
+
+
+
+
+ React Tabs Underline
+
+
+
+ Take that same code, but use variant="underline"
instead:
+
+
+
+
+
+ Home
+
+
+ Profile
+
+
+ Contact
+
+
+ Disabled
+
+
+
+
+ Home tab content
+
+
+ Profile tab content
+
+
+ Contact tab content
+
+
+ Disabled tab content
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+ )
+}
+
+export default Navs
diff --git a/src/views/base/tooltips/Tooltips.js b/src/views/base/tooltips/Tooltips.js
index 4ee81cbc2..86a229420 100644
--- a/src/views/base/tooltips/Tooltips.js
+++ b/src/views/base/tooltips/Tooltips.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CButton, CCard, CCardBody, CCardHeader, CLink, CTooltip, CRow, CCol } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Tooltips = () => {
return (
+
React Tooltip Basic example
diff --git a/src/views/buttons/button-groups/ButtonGroups.js b/src/views/buttons/button-groups/ButtonGroups.js
index 1b8d49c5a..1f366db2d 100644
--- a/src/views/buttons/button-groups/ButtonGroups.js
+++ b/src/views/buttons/button-groups/ButtonGroups.js
@@ -18,12 +18,13 @@ import {
CInputGroupText,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const ButtonGroups = () => {
return (
+
React Button Group Basic example
diff --git a/src/views/buttons/buttons/Buttons.js b/src/views/buttons/buttons/Buttons.js
index 287732cc4..ff6190ab9 100644
--- a/src/views/buttons/buttons/Buttons.js
+++ b/src/views/buttons/buttons/Buttons.js
@@ -2,12 +2,13 @@ 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 { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Buttons = () => {
return (
+
React Button
diff --git a/src/views/buttons/dropdowns/Dropdowns.js b/src/views/buttons/dropdowns/Dropdowns.js
index 375bc96ce..a6885a416 100644
--- a/src/views/buttons/dropdowns/Dropdowns.js
+++ b/src/views/buttons/dropdowns/Dropdowns.js
@@ -13,12 +13,13 @@ import {
CDropdownToggle,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Dropdowns = () => {
return (
+
React Dropdown Single button
diff --git a/src/views/charts/Charts.js b/src/views/charts/Charts.js
index a9e13f10f..d5df06bf7 100644
--- a/src/views/charts/Charts.js
+++ b/src/views/charts/Charts.js
@@ -8,23 +8,19 @@ import {
CChartPolarArea,
CChartRadar,
} from '@coreui/react-chartjs'
-import { DocsCallout } from 'src/components'
+import { DocsLink } from 'src/components'
const Charts = () => {
const random = () => Math.round(Math.random() * 100)
return (
-
-
-
+
- Bar Chart
+
+ Bar Chart
+
{
- Line Chart
+
+ Line Chart
+
{
- Doughnut Chart
+
+ Doughnut Chart
+
{
- Pie Chart
+
+ Pie Chart {' '}
+
{
- Polar Area Chart
+
+ Polar Area Chart
+
+
{
- Radar Chart
+
+ Radar Chart
+
{
return (
+
React Checkbox
diff --git a/src/views/forms/floating-labels/FloatingLabels.js b/src/views/forms/floating-labels/FloatingLabels.js
index a84e685a7..2a637fd21 100644
--- a/src/views/forms/floating-labels/FloatingLabels.js
+++ b/src/views/forms/floating-labels/FloatingLabels.js
@@ -11,12 +11,13 @@ import {
CFormTextarea,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const FloatingLabels = () => {
return (
+
React Floating labels
diff --git a/src/views/forms/form-control/FormControl.js b/src/views/forms/form-control/FormControl.js
index f89969e48..7b972ffd8 100644
--- a/src/views/forms/form-control/FormControl.js
+++ b/src/views/forms/form-control/FormControl.js
@@ -11,12 +11,13 @@ import {
CFormTextarea,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const FormControl = () => {
return (
+
React Form Control
diff --git a/src/views/forms/input-group/InputGroup.js b/src/views/forms/input-group/InputGroup.js
index 880cff38e..73ccac262 100644
--- a/src/views/forms/input-group/InputGroup.js
+++ b/src/views/forms/input-group/InputGroup.js
@@ -19,12 +19,13 @@ import {
CInputGroupText,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const InputGroup = () => {
return (
+
React Input group Basic example
diff --git a/src/views/forms/layout/Layout.js b/src/views/forms/layout/Layout.js
index 8fdc2a88c..6a6bf5645 100644
--- a/src/views/forms/layout/Layout.js
+++ b/src/views/forms/layout/Layout.js
@@ -14,12 +14,13 @@ import {
CInputGroupText,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Layout = () => {
return (
+
Layout Form grid
diff --git a/src/views/forms/range/Range.js b/src/views/forms/range/Range.js
index 1e31cabca..78a43dbfd 100644
--- a/src/views/forms/range/Range.js
+++ b/src/views/forms/range/Range.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CCard, CCardBody, CCardHeader, CCol, CFormLabel, CFormRange, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Range = () => {
return (
+
React Range
diff --git a/src/views/forms/select/Select.js b/src/views/forms/select/Select.js
index dd0651e79..d81764449 100644
--- a/src/views/forms/select/Select.js
+++ b/src/views/forms/select/Select.js
@@ -1,11 +1,12 @@
import React from 'react'
import { CCard, CCardBody, CCardHeader, CCol, CFormSelect, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Select = () => {
return (
+
React Select Default
diff --git a/src/views/forms/validation/Validation.js b/src/views/forms/validation/Validation.js
index 49bdf55ad..d0017b6b2 100644
--- a/src/views/forms/validation/Validation.js
+++ b/src/views/forms/validation/Validation.js
@@ -16,7 +16,7 @@ import {
CInputGroupText,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const CustomStyles = () => {
const [validated, setValidated] = useState(false)
@@ -253,6 +253,7 @@ const Validation = () => {
return (
+
Validation Custom styles
diff --git a/src/views/icons/brands/Brands.js b/src/views/icons/brands/Brands.js
index d44e81d8d..e46ce6fed 100644
--- a/src/views/icons/brands/Brands.js
+++ b/src/views/icons/brands/Brands.js
@@ -2,7 +2,7 @@ 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 { DocsCallout } from 'src/components'
+import { DocsIcons } from 'src/components'
const toKebabCase = (str) => {
return str.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, '$1-$2').toLowerCase()
@@ -20,11 +20,7 @@ export const getIconsView = (iconset) => {
const CoreUIIcons = () => {
return (
<>
-
+
Brand Icons
diff --git a/src/views/icons/coreui-icons/CoreUIIcons.js b/src/views/icons/coreui-icons/CoreUIIcons.js
index d0a5969dd..08fe176f7 100644
--- a/src/views/icons/coreui-icons/CoreUIIcons.js
+++ b/src/views/icons/coreui-icons/CoreUIIcons.js
@@ -2,16 +2,12 @@ import React from 'react'
import { CCard, CCardBody, CCardHeader, CRow } from '@coreui/react'
import { freeSet } from '@coreui/icons'
import { getIconsView } from '../brands/Brands.js'
-import { DocsCallout } from 'src/components'
+import { DocsIcons } from 'src/components'
const CoreUIIcons = () => {
return (
<>
-
+
Free Icons
diff --git a/src/views/icons/flags/Flags.js b/src/views/icons/flags/Flags.js
index a1179dfe9..5db7e5670 100644
--- a/src/views/icons/flags/Flags.js
+++ b/src/views/icons/flags/Flags.js
@@ -2,16 +2,12 @@ import React from 'react'
import { CCard, CCardBody, CCardHeader, CRow } from '@coreui/react'
import { getIconsView } from '../brands/Brands.js'
import { flagSet } from '@coreui/icons'
-import { DocsCallout } from 'src/components'
+import { DocsIcons } from 'src/components'
const CoreUIIcons = () => {
return (
<>
-
+
Flag Icons
diff --git a/src/views/notifications/alerts/Alerts.js b/src/views/notifications/alerts/Alerts.js
index f51b62e28..70e1108a1 100644
--- a/src/views/notifications/alerts/Alerts.js
+++ b/src/views/notifications/alerts/Alerts.js
@@ -9,12 +9,13 @@ import {
CCol,
CRow,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Alerts = () => {
return (
+
React Alert
diff --git a/src/views/notifications/badges/Badges.js b/src/views/notifications/badges/Badges.js
index 50f40ac18..81dd6b5ac 100644
--- a/src/views/notifications/badges/Badges.js
+++ b/src/views/notifications/badges/Badges.js
@@ -1,10 +1,13 @@
import React from 'react'
import { CButton, CCard, CCardBody, CCardHeader, CCol, CBadge, CRow } from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const Badges = () => {
return (
+
+
+
diff --git a/src/views/notifications/modals/Modals.js b/src/views/notifications/modals/Modals.js
index 11e375884..7be7294a1 100644
--- a/src/views/notifications/modals/Modals.js
+++ b/src/views/notifications/modals/Modals.js
@@ -15,7 +15,7 @@ import {
CRow,
CTooltip,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const LiveDemo = () => {
const [visible, setVisible] = useState(false)
@@ -493,6 +493,7 @@ const Modals = () => {
return (
+
React Modal
diff --git a/src/views/notifications/toasts/Toasts.js b/src/views/notifications/toasts/Toasts.js
index 10b9b7e40..9ccf859ad 100644
--- a/src/views/notifications/toasts/Toasts.js
+++ b/src/views/notifications/toasts/Toasts.js
@@ -12,13 +12,13 @@ import {
CToastHeader,
CToaster,
} from '@coreui/react'
-import { DocsExample } from 'src/components'
+import { DocsComponents, DocsExample } from 'src/components'
const ExampleToast = () => {
const [toast, addToast] = useState(0)
const toaster = useRef()
const exampleToast = (
-
+
{
return (
+
React Toast Basic
diff --git a/vite.config.mjs b/vite.config.mjs
index 66ffff2cf..f0b45c375 100644
--- a/vite.config.mjs
+++ b/vite.config.mjs
@@ -1,13 +1,9 @@
-import { defineConfig, loadEnv } from 'vite'
+import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'node:path'
import autoprefixer from 'autoprefixer'
-export default defineConfig(({ mode }) => {
- // Load .env
- const env = loadEnv(mode, process.cwd(), '')
- process.env = { ...process.env, ...env }
-
+export default defineConfig(() => {
return {
base: './',
build: {
@@ -20,10 +16,6 @@ export default defineConfig(({ mode }) => {
],
},
},
- define: {
- // vitejs does not support process.env so we have to redefine it
- 'process.env': process.env,
- },
esbuild: {
loader: 'jsx',
include: /src\/.*\.jsx?$/,