├── .browserslistrc ├── .gitattributes ├── public ├── favicon.ico ├── apple-icon.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon-96x96.png ├── ms-icon-70x70.png ├── apple-icon-57x57.png ├── apple-icon-60x60.png ├── apple-icon-72x72.png ├── apple-icon-76x76.png ├── ms-icon-144x144.png ├── ms-icon-150x150.png ├── ms-icon-310x310.png ├── android-icon-36x36.png ├── android-icon-48x48.png ├── android-icon-72x72.png ├── android-icon-96x96.png ├── apple-icon-114x114.png ├── apple-icon-120x120.png ├── apple-icon-144x144.png ├── apple-icon-152x152.png ├── apple-icon-180x180.png ├── android-icon-144x144.png ├── android-icon-192x192.png ├── apple-icon-precomposed.png ├── browserconfig.xml └── manifest.json ├── src ├── assets │ ├── images │ │ ├── vue.jpg │ │ ├── react.jpg │ │ ├── angular.jpg │ │ ├── icons.webp │ │ ├── vue400.jpg │ │ ├── avatars │ │ │ ├── 1.jpg │ │ │ ├── 2.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ └── 9.jpg │ │ └── components.webp │ ├── brand │ │ ├── sygnet.js │ │ └── logo.js │ └── icons │ │ └── index.js ├── styles │ ├── vendors │ │ └── simplebar.scss │ ├── style.scss │ └── examples.scss ├── stores │ ├── theme.js │ └── sidebar.js ├── views │ ├── theme │ │ ├── ColorTheme.vue │ │ ├── Colors.vue │ │ └── Typography.vue │ ├── charts │ │ ├── CChartPieExample.vue │ │ ├── CChartDoughnutExample.vue │ │ ├── index.js │ │ ├── CChartLineExample.vue │ │ ├── CChartBarExample.vue │ │ ├── CChartPolarAreaExample.vue │ │ ├── CChartRadarExample.vue │ │ └── Charts.vue │ ├── icons │ │ ├── Flags.vue │ │ ├── CoreUIIcons.vue │ │ └── Brands.vue │ ├── pages │ │ ├── Page404.vue │ │ ├── Page500.vue │ │ ├── Register.vue │ │ └── Login.vue │ ├── base │ │ ├── Breadcrumbs.vue │ │ ├── Popovers.vue │ │ ├── Tooltips.vue │ │ ├── Collapses.vue │ │ ├── Spinners.vue │ │ ├── Placeholders.vue │ │ ├── Tabs.vue │ │ ├── Carousels.vue │ │ ├── Paginations.vue │ │ ├── Progress.vue │ │ └── Accordion.vue │ ├── forms │ │ ├── Range.vue │ │ ├── Select.vue │ │ ├── FloatingLabels.vue │ │ └── FormControl.vue │ ├── dashboard │ │ └── MainChart.vue │ ├── notifications │ │ ├── Badges.vue │ │ ├── Alerts.vue │ │ └── Toasts.vue │ └── widgets │ │ └── WidgetsStatsTypeD.vue ├── components │ ├── AppFooter.vue │ ├── DocsExample.vue │ ├── AppBreadcrumb.vue │ ├── DocsIcons.vue │ ├── AppSidebar.vue │ ├── DocsComponents.vue │ ├── AppHeaderDropdownAccnt.vue │ ├── AppHeader.vue │ └── AppSidebarNav.js ├── layouts │ └── DefaultLayout.vue ├── main.js └── App.vue ├── .github ├── FUNDING.yml ├── SUPPORT.md ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── workflows │ ├── npm.yml │ └── stale.yml ├── COMMIT_CONVENTION.md ├── CODE_OF_CONDUCT.md └── CONTRIBUTING.md ├── .prettierrc.js ├── .editorconfig ├── .gitignore ├── eslint.config.mjs ├── vite.config.mjs ├── LICENSE ├── package.json └── index.html /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Enforce Unix newlines 2 | * text=auto eol=lf 3 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon.png -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/favicon-96x96.png -------------------------------------------------------------------------------- /public/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/ms-icon-70x70.png -------------------------------------------------------------------------------- /src/assets/images/vue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/vue.jpg -------------------------------------------------------------------------------- /public/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/ms-icon-310x310.png -------------------------------------------------------------------------------- /src/assets/images/react.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/react.jpg -------------------------------------------------------------------------------- /public/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-36x36.png -------------------------------------------------------------------------------- /public/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-48x48.png -------------------------------------------------------------------------------- /public/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-72x72.png -------------------------------------------------------------------------------- /public/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-96x96.png -------------------------------------------------------------------------------- /public/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-180x180.png -------------------------------------------------------------------------------- /src/assets/images/angular.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/angular.jpg -------------------------------------------------------------------------------- /src/assets/images/icons.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/icons.webp -------------------------------------------------------------------------------- /src/assets/images/vue400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/vue400.jpg -------------------------------------------------------------------------------- /public/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-144x144.png -------------------------------------------------------------------------------- /public/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/android-icon-192x192.png -------------------------------------------------------------------------------- /src/assets/images/avatars/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/1.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/2.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/3.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/4.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/5.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/6.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/7.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/8.jpg -------------------------------------------------------------------------------- /src/assets/images/avatars/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/avatars/9.jpg -------------------------------------------------------------------------------- /public/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/public/apple-icon-precomposed.png -------------------------------------------------------------------------------- /src/assets/images/components.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coreui/coreui-free-vue-admin-template/HEAD/src/assets/images/components.webp -------------------------------------------------------------------------------- /src/styles/vendors/simplebar.scss: -------------------------------------------------------------------------------- 1 | .simplebar-content { 2 | display: flex; 3 | flex-direction: column; 4 | min-height: 100%; 5 | } 6 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | custom: "https://coreui.io/pricing?support=vue" 4 | open_collective: coreui 5 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: false, 3 | trailingComma: "all", 4 | singleQuote: true, 5 | printWidth: 100, 6 | tabWidth: 2, 7 | }; 8 | -------------------------------------------------------------------------------- /public/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /.github/SUPPORT.md: -------------------------------------------------------------------------------- 1 | ### Bug reports 2 | 3 | See the [contributing guidelines](CONTRIBUTING.md) for sharing bug reports. 4 | 5 | ### How-to 6 | 7 | For general troubleshooting or help getting started: 8 | 9 | - Go to [Discussions](https://github.com/coreui/coreui-free-vue-admin-template/discussions). 10 | -------------------------------------------------------------------------------- /src/stores/theme.js: -------------------------------------------------------------------------------- 1 | import { ref } from 'vue' 2 | import { defineStore } from 'pinia' 3 | 4 | export const useThemeStore = defineStore('theme', () => { 5 | const theme = ref('light') 6 | 7 | const toggleTheme = (_theme) => { 8 | theme.value = _theme 9 | } 10 | 11 | return { theme, toggleTheme } 12 | }) 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_size = 2 8 | indent_style = space 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | max_line_length = off 14 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /src/views/theme/ColorTheme.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /src/views/charts/CChartPieExample.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | -------------------------------------------------------------------------------- /src/views/charts/CChartDoughnutExample.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 18 | -------------------------------------------------------------------------------- /src/components/AppFooter.vue: -------------------------------------------------------------------------------- 1 | 15 | -------------------------------------------------------------------------------- /src/stores/sidebar.js: -------------------------------------------------------------------------------- 1 | import { ref } from 'vue' 2 | import { defineStore } from 'pinia' 3 | 4 | export const useSidebarStore = defineStore('sidebar', () => { 5 | const visible = ref(undefined) 6 | const unfoldable = ref(false) 7 | 8 | const toggleVisible = (value) => { 9 | visible.value = value !== undefined ? value : !visible.value 10 | } 11 | 12 | const toggleUnfoldable = () => { 13 | unfoldable.value = !unfoldable.value 14 | } 15 | 16 | return { visible, unfoldable, toggleVisible, toggleUnfoldable } 17 | }) 18 | -------------------------------------------------------------------------------- /src/views/charts/index.js: -------------------------------------------------------------------------------- 1 | import CChartLineExample from './CChartLineExample' 2 | import CChartBarExample from './CChartBarExample' 3 | import CChartDoughnutExample from './CChartDoughnutExample' 4 | import CChartRadarExample from './CChartRadarExample' 5 | import CChartPieExample from './CChartPieExample' 6 | import CChartPolarAreaExample from './CChartPolarAreaExample' 7 | 8 | export { 9 | CChartLineExample, 10 | CChartBarExample, 11 | CChartDoughnutExample, 12 | CChartRadarExample, 13 | CChartPieExample, 14 | CChartPolarAreaExample, 15 | } 16 | -------------------------------------------------------------------------------- /src/views/charts/CChartLineExample.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 24 | -------------------------------------------------------------------------------- /src/layouts/DefaultLayout.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/views/charts/CChartBarExample.vue: -------------------------------------------------------------------------------- 1 | 28 | 29 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Folders to ignore 2 | dist/ 3 | node_modules/ 4 | tests/e2e/reports/ 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # dependencies 11 | /node_modules 12 | package-lock.json 13 | yarn.lock 14 | 15 | # OS or Editor folders 16 | ._* 17 | .cache 18 | .DS_Store 19 | .idea 20 | .project 21 | .settings 22 | .tmproj 23 | *.esproj 24 | *.sublime-project 25 | *.sublime-workspace 26 | *.suo 27 | *.ntvs* 28 | *.njsproj 29 | *.sln 30 | *.sw? 31 | nbproject 32 | Thumbs.db 33 | /.vscode/ 34 | 35 | # Numerous always-ignore extensions 36 | *.diff 37 | *.err 38 | *.log 39 | *.orig 40 | *.rej 41 | *.swo 42 | *.swp 43 | *.vi 44 | *.zip 45 | *~ 46 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for a new feature in CoreUI Free Vue Admin Template. 4 | title: '' 5 | labels: feature 6 | assignees: '' 7 | 8 | --- 9 | 10 | Before opening: 11 | 12 | - [Search for duplicate or closed issues](https://github.com/coreui/coreui-free-vue-admin-template/issues?utf8=%E2%9C%93&q=is%3Aissue) 13 | - Read the [contributing guidelines](https://github.com/coreui/coreui-free-vue-admin-template/blob/main/.github/CONTRIBUTING.md) 14 | 15 | Feature requests must include: 16 | 17 | - As much detail as possible for what we should add and why it's important to Bootstrap 18 | - Relevant links to prior art, screenshots, or live demos whenever possible 19 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import eslintPluginVue from 'eslint-plugin-vue' 2 | import globals from 'globals' 3 | 4 | export default [ 5 | { ignores: ['dist/', 'eslint.config.mjs'] }, 6 | ...eslintPluginVue.configs['flat/essential'], 7 | { 8 | files: ['src/**/*.{js,vue}'], 9 | languageOptions: { 10 | globals: { 11 | ...globals.browser, 12 | ...globals.node, 13 | }, 14 | ecmaVersion: 'latest', 15 | sourceType: 'module', 16 | }, 17 | rules: { 18 | 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 19 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', 20 | 'vue/multi-word-component-names': 'off', 21 | }, 22 | }, 23 | ] 24 | -------------------------------------------------------------------------------- /src/views/icons/Flags.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 24 | -------------------------------------------------------------------------------- /src/views/icons/CoreUIIcons.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 24 | -------------------------------------------------------------------------------- /src/views/icons/Brands.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 25 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import { createPinia } from 'pinia' 3 | 4 | import App from './App.vue' 5 | import router from './router' 6 | 7 | import CoreuiVue from '@coreui/vue' 8 | import CIcon from '@coreui/icons-vue' 9 | import { iconsSet as icons } from '@/assets/icons' 10 | import DocsComponents from '@/components/DocsComponents' 11 | import DocsExample from '@/components/DocsExample' 12 | import DocsIcons from '@/components/DocsIcons' 13 | 14 | const app = createApp(App) 15 | app.use(createPinia()) 16 | app.use(router) 17 | app.use(CoreuiVue) 18 | app.provide('icons', icons) 19 | app.component('CIcon', CIcon) 20 | app.component('DocsComponents', DocsComponents) 21 | app.component('DocsExample', DocsExample) 22 | app.component('DocsIcons', DocsIcons) 23 | 24 | app.mount('#app') 25 | -------------------------------------------------------------------------------- /.github/workflows/npm.yml: -------------------------------------------------------------------------------- 1 | name: NPM Installation 2 | 3 | on: 4 | push: 5 | branches-ignore: 6 | - "dependabot/**" 7 | schedule: 8 | - cron: '0 0 * * *' 9 | 10 | env: 11 | FORCE_COLOR: 2 12 | NODE: 16 13 | 14 | jobs: 15 | build: 16 | strategy: 17 | matrix: 18 | platform: [ubuntu-latest, windows-latest] 19 | node-version: [16.x, 17.x, 18.x] 20 | runs-on: ${{ matrix.platform }} 21 | steps: 22 | - name: Clone repository 23 | uses: actions/checkout@v3 24 | 25 | - name: Set up Node.js 26 | uses: actions/setup-node@v3 27 | with: 28 | node-version: ${{ env.node-version }} 29 | 30 | - name: Install npm dependencies 31 | run: npm install 32 | 33 | - name: Run build 34 | run: npm run build 35 | -------------------------------------------------------------------------------- /src/assets/brand/sygnet.js: -------------------------------------------------------------------------------- 1 | export const sygnet = [ 2 | '102 115', 3 | ` 4 | 5 | 6 | `, 7 | ] -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Tell us about a bug you may have identified in CoreUI Free Vue Admin Template. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | Before opening: 11 | 12 | - [Search for duplicate or closed issues](https://github.com/coreui/coreui-free-vue-admin-template/issues?utf8=%E2%9C%93&q=is%3Aissue) 13 | - [Validate](https://html5.validator.nu/) any HTML to avoid common problems 14 | - Read the [contributing guidelines](https://github.com/coreui/coreui-free-vue-admin-template/blob/v4-dev/.github/CONTRIBUTING.md) 15 | 16 | Bug reports must include: 17 | 18 | - Operating system and version (Windows, macOS, Android, iOS) 19 | - Browser and version (Chrome, Firefox, Safari, Microsoft Edge, Opera, Android Browser) 20 | - A [reduced test case](https://css-tricks.com/reduced-test-cases/) or suggested fix using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/) 21 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CoreUI Free Vue Admin Template", 3 | "icons": [ 4 | { 5 | "src": "\/android-icon-36x36.png", 6 | "sizes": "36x36", 7 | "type": "image\/png", 8 | "density": "0.75" 9 | }, 10 | { 11 | "src": "\/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image\/png", 14 | "density": "1.0" 15 | }, 16 | { 17 | "src": "\/android-icon-72x72.png", 18 | "sizes": "72x72", 19 | "type": "image\/png", 20 | "density": "1.5" 21 | }, 22 | { 23 | "src": "\/android-icon-96x96.png", 24 | "sizes": "96x96", 25 | "type": "image\/png", 26 | "density": "2.0" 27 | }, 28 | { 29 | "src": "\/android-icon-144x144.png", 30 | "sizes": "144x144", 31 | "type": "image\/png", 32 | "density": "3.0" 33 | }, 34 | { 35 | "src": "\/android-icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image\/png", 38 | "density": "4.0" 39 | } 40 | ] 41 | } 42 | -------------------------------------------------------------------------------- /src/components/DocsExample.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 34 | -------------------------------------------------------------------------------- /src/components/AppBreadcrumb.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | -------------------------------------------------------------------------------- /src/views/pages/Page404.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /src/views/pages/Page500.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 36 | 37 | 43 | -------------------------------------------------------------------------------- /vite.config.mjs: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import path from 'node:path' 4 | import autoprefixer from 'autoprefixer' 5 | 6 | export default defineConfig(() => { 7 | return { 8 | plugins: [vue()], 9 | base: './', 10 | css: { 11 | postcss: { 12 | plugins: [ 13 | autoprefixer({}), // add options if needed 14 | ], 15 | }, 16 | }, 17 | resolve: { 18 | alias: [ 19 | // webpack path resolve to vitejs 20 | { 21 | find: /^~(.*)$/, 22 | replacement: '$1', 23 | }, 24 | { 25 | find: '@/', 26 | replacement: `${path.resolve(__dirname, 'src')}/`, 27 | }, 28 | { 29 | find: '@', 30 | replacement: path.resolve(__dirname, '/src'), 31 | }, 32 | ], 33 | extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.scss'], 34 | }, 35 | server: { 36 | port: 3000, 37 | proxy: { 38 | // https://vitejs.dev/config/server-options.html 39 | }, 40 | }, 41 | } 42 | }) 43 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. 2 | # 3 | # You can adjust the behavior by modifying this file. 4 | # For more information, see: 5 | # https://github.com/actions/stale 6 | name: Mark stale issues and pull requests 7 | 8 | on: 9 | schedule: 10 | - cron: '36 2 * * *' 11 | 12 | jobs: 13 | stale: 14 | 15 | runs-on: ubuntu-latest 16 | permissions: 17 | issues: write 18 | pull-requests: write 19 | 20 | steps: 21 | - uses: actions/stale@v3 22 | with: 23 | repo-token: ${{ secrets.GITHUB_TOKEN }} 24 | stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions' 25 | stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions' 26 | stale-issue-label: 'no-issue-activity' 27 | stale-pr-label: 'no-pr-activity' 28 | -------------------------------------------------------------------------------- /src/views/charts/CChartPolarAreaExample.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 35 | -------------------------------------------------------------------------------- /src/views/theme/Colors.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2025 creativeLabs Łukasz Holeczek. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/views/charts/CChartRadarExample.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 39 | -------------------------------------------------------------------------------- /src/components/DocsIcons.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 30 | -------------------------------------------------------------------------------- /src/components/AppSidebar.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@coreui/coreui-free-vue-admin-template", 3 | "version": "5.4.0", 4 | "description": "CoreUI Free Vue Admin Template", 5 | "bugs": { 6 | "url": "https://github.com/coreui/coreui-free-vue-admin-template/issues" 7 | }, 8 | "repository": { 9 | "type": "git", 10 | "url": "git@github.com:coreui/coreui-free-vue-admin-template.git" 11 | }, 12 | "license": "MIT", 13 | "author": "The CoreUI Team (https://github.com/orgs/coreui/people)", 14 | "scripts": { 15 | "dev": "vite --force", 16 | "build": "vite build", 17 | "lint": "eslint", 18 | "preview": "vite preview" 19 | }, 20 | "dependencies": { 21 | "@coreui/chartjs": "^4.1.0", 22 | "@coreui/coreui": "^5.4.1", 23 | "@coreui/icons": "^3.0.1", 24 | "@coreui/icons-vue": "2.2.0", 25 | "@coreui/utils": "^2.0.2", 26 | "@coreui/vue": "^5.5.0", 27 | "@coreui/vue-chartjs": "^3.0.0", 28 | "@popperjs/core": "^2.11.8", 29 | "chart.js": "^4.5.0", 30 | "pinia": "^3.0.3", 31 | "simplebar-vue": "^2.4.2", 32 | "vue": "^3.5.18", 33 | "vue-router": "^4.5.1" 34 | }, 35 | "devDependencies": { 36 | "@vitejs/plugin-vue": "^6.0.1", 37 | "autoprefixer": "^10.4.21", 38 | "eslint": "^9.32.0", 39 | "eslint-plugin-vue": "^10.4.0", 40 | "globals": "^16.3.0", 41 | "postcss": "^8.5.6", 42 | "sass": "^1.90.0", 43 | "vite": "^7.1.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/views/charts/Charts.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 54 | -------------------------------------------------------------------------------- /src/components/DocsComponents.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 44 | -------------------------------------------------------------------------------- /src/styles/style.scss: -------------------------------------------------------------------------------- 1 | @use "@coreui/coreui/scss/coreui" as * with ( 2 | $enable-deprecation-messages: false 3 | ); 4 | @use "@coreui/chartjs/scss/coreui-chartjs"; 5 | @use "vendors/simplebar"; 6 | 7 | body { 8 | background-color: var(--cui-tertiary-bg); 9 | } 10 | 11 | .wrapper { 12 | width: 100%; 13 | padding-inline: var(--cui-sidebar-occupy-start, 0) var(--cui-sidebar-occupy-end, 0); 14 | will-change: auto; 15 | @include transition(padding .15s); 16 | } 17 | 18 | .header > .container-fluid, 19 | .sidebar-header { 20 | min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list 21 | } 22 | 23 | .sidebar-brand-full { 24 | margin-left: 3px; 25 | } 26 | 27 | .sidebar-header { 28 | .nav-underline-border { 29 | --cui-nav-underline-border-link-padding-x: 1rem; 30 | --cui-nav-underline-border-gap: 0; 31 | } 32 | 33 | .nav-link { 34 | display: flex; 35 | align-items: center; 36 | min-height: calc(4rem + 1px); // stylelint-disable-line function-disallowed-list 37 | } 38 | } 39 | 40 | .sidebar-toggler { 41 | margin-inline-start: auto; 42 | } 43 | 44 | .sidebar-narrow, 45 | .sidebar-narrow-unfoldable:not(:hover) { 46 | .sidebar-toggler { 47 | margin-inline-end: auto; 48 | } 49 | } 50 | 51 | .header > .container-fluid + .container-fluid { 52 | min-height: 3rem; 53 | } 54 | 55 | .footer { 56 | min-height: calc(3rem + 1px); // stylelint-disable-line function-disallowed-list 57 | } 58 | 59 | @include color-mode(dark) { 60 | body { 61 | background-color: var(--cui-dark-bg-subtle); 62 | } 63 | 64 | .footer { 65 | --cui-footer-bg: var(--cui-body-bg); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/views/pages/Register.vue: -------------------------------------------------------------------------------- 1 | 52 | -------------------------------------------------------------------------------- /src/views/base/Breadcrumbs.vue: -------------------------------------------------------------------------------- 1 | 57 | -------------------------------------------------------------------------------- /src/components/AppHeaderDropdownAccnt.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 57 | -------------------------------------------------------------------------------- /src/styles/examples.scss: -------------------------------------------------------------------------------- 1 | /* stylelint-disable scss/selector-no-redundant-nesting-selector */ 2 | @use "@coreui/coreui/scss/variables" as *; 3 | @use "@coreui/coreui/scss/mixins/breakpoints" as *; 4 | @use "@coreui/coreui/scss/mixins/color-mode" as *; 5 | 6 | .example { 7 | &:not(:first-child) { 8 | margin-top: 1.5rem; 9 | } 10 | 11 | .tab-content { 12 | background-color: var(--#{$prefix}tertiary-bg); 13 | } 14 | 15 | & + p { 16 | margin-top: 1.5rem; 17 | } 18 | 19 | // Components examples 20 | .preview { 21 | + p { 22 | margin-top: 2rem; 23 | } 24 | 25 | > .form-control { 26 | + .form-control { 27 | margin-top: .5rem; 28 | } 29 | } 30 | 31 | > .nav + .nav, 32 | > .alert + .alert, 33 | > .navbar + .navbar, 34 | > .progress + .progress { 35 | margin-top: 1rem; 36 | } 37 | 38 | > .dropdown-menu { 39 | position: static; 40 | display: block; 41 | } 42 | 43 | > :last-child { 44 | margin-bottom: 0; 45 | } 46 | 47 | // Images 48 | > svg + svg, 49 | > img + img { 50 | margin-left: .5rem; 51 | } 52 | 53 | // Buttons 54 | .col > .btn, 55 | .col-auto > .btn, 56 | > .btn, 57 | > .btn-group { 58 | margin: .25rem .125rem; 59 | } 60 | > .btn-toolbar + .btn-toolbar { 61 | margin-top: .5rem; 62 | } 63 | 64 | // List groups 65 | > .list-group { 66 | max-width: 400px; 67 | } 68 | 69 | > [class*="list-group-horizontal"] { 70 | max-width: 100%; 71 | } 72 | 73 | // Navbars 74 | .fixed-top, 75 | .sticky-top { 76 | position: static; 77 | margin: -1rem -1rem 1rem; 78 | } 79 | 80 | .fixed-bottom { 81 | position: static; 82 | margin: 1rem -1rem -1rem; 83 | } 84 | 85 | @include media-breakpoint-up(sm) { 86 | .fixed-top, 87 | .sticky-top { 88 | margin: -1.5rem -1.5rem 1rem; 89 | } 90 | .fixed-bottom { 91 | margin: 1rem -1.5rem -1.5rem; 92 | } 93 | } 94 | 95 | // Pagination 96 | .pagination { 97 | margin-top: .5rem; 98 | margin-bottom: .5rem; 99 | } 100 | 101 | .docs-example-modal { 102 | .modal { 103 | position: static; 104 | display: block; 105 | } 106 | } 107 | } 108 | } 109 | 110 | @include color-mode(dark) { 111 | .example .tab-content { 112 | background-color: var(--#{$prefix}secondary-bg); 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /src/views/pages/Login.vue: -------------------------------------------------------------------------------- 1 | 65 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | CoreUI Vue.js Admin Template 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 42 | 43 | 44 | 47 |
48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/views/base/Popovers.vue: -------------------------------------------------------------------------------- 1 | 80 | -------------------------------------------------------------------------------- /.github/COMMIT_CONVENTION.md: -------------------------------------------------------------------------------- 1 | ## Git Commit Message Convention 2 | 3 | > This is adapted from [Angular's commit convention](https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-angular/convention.md). 4 | 5 | #### Examples 6 | 7 | Appears under "Features" header, `compiler` subheader: 8 | 9 | ``` 10 | feat(compiler): add 'comments' option 11 | ``` 12 | 13 | Appears under "Bug Fixes" header, `sidebar` subheader, with a link to issue #28: 14 | 15 | ``` 16 | fix(sidebar): handle events on blur 17 | 18 | close #28 19 | ``` 20 | 21 | Appears under "Performance Improvements" header, and under "Breaking Changes" with the breaking change explanation: 22 | 23 | ``` 24 | perf(core): improve vdom diffing by removing 'foo' option 25 | 26 | BREAKING CHANGE: The 'foo' option has been removed. 27 | ``` 28 | 29 | The following commit and commit `667ecc1` do not appear in the changelog if they are under the same release. If not, the revert commit appears under the "Reverts" header. 30 | 31 | ``` 32 | revert: feat(compiler): add 'comments' option 33 | 34 | This reverts commit 667ecc1654a317a13331b17617d973392f415f02. 35 | ``` 36 | 37 | ### Full Message Format 38 | 39 | A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: 40 | 41 | ``` 42 | (): 43 | 44 | 45 | 46 |