diff --git a/.eslintrc.js b/.eslintrc.js index 9a8ebde1..a0662dcd 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,12 +1,24 @@ +/** + * Copyright (c) 2013-present, creativeLabs Lukasz Holeczek. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict' + module.exports = { + root: true, // So parent files don't get applied + env: { + es6: true, + browser: true, + node: true, + }, 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 extraFileExtensions: ['.vue'], - ecmaFeatures: { - jsx: true, - }, }, extends: [ 'eslint:recommended', @@ -29,11 +41,35 @@ module.exports = { 'vue/require-default-prop': 'off', }, overrides: [ + { + files: ['**/*.mjs'], + env: { + browser: false, + node: true, + }, + parserOptions: { + sourceType: 'module', + }, + }, { files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'], env: { jest: true, }, }, + { + files: ['packages/docs/build/**'], + env: { + browser: false, + node: true, + }, + parserOptions: { + sourceType: 'script', + }, + rules: { + 'no-console': 'off', + strict: 'error', + }, + }, ], } diff --git a/README.md b/README.md index a71b31fc..0a993209 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Several quick start options are available: -- [Download the latest release](https://github.com/coreui/coreui-vue/archive/v4.9.0-beta.2.zip) +- [Download the latest release](https://github.com/coreui/coreui-vue/archive/v5.0.0.zip) - Clone the repo: `git clone https://github.com/coreui/coreui-vue.git` - Install with [npm](https://www.npmjs.com/): `npm install @coreui/vue` - Install with [yarn](https://yarnpkg.com/): `yarn add @coreui/vue` @@ -148,11 +148,7 @@ import "bootstrap/dist/css/bootstrap.min.css"; ## Status -[![Build Status](https://github.com/coreui/coreui-vue/workflows/JS%20Tests/badge.svg?branch=main)](https://github.com/coreui/coreui-vue/actions?query=workflow%3AJS+Tests+branch%3Amain) [![npm version](https://img.shields.io/npm/v/@coreui/vue)](https://www.npmjs.com/package/@coreui/vue) -[![peerDependencies Status](https://img.shields.io/david/peer/coreui/coreui)](https://david-dm.org/coreui/coreui?type=peer) -[![devDependency Status](https://img.shields.io/david/dev/coreui/coreui)](https://david-dm.org/coreui/coreui?type=dev) -[![Coverage Status](https://img.shields.io/coveralls/github/coreui/coreui-vue/v4)](https://coveralls.io/github/coreui/coreui-vue?branch=v4) ## Bugs and feature requests @@ -211,55 +207,23 @@ See [the Releases section of our project](https://github.com/coreui/coreui-vue/r **Łukasz Holeczek** -- -- +* +* **Andrzej Kopański** -- +* -**The CoreUI Team** +**CoreUI Team** -- +* +* +* ## Support CoreUI Development -CoreUI is an MIT-licensed open source project and is completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support development by buying the [CoreUI PRO](https://coreui.io/pricing/) or by becoming a sponsor via [Open Collective](https://opencollective.com/coreui/). - - - -### Platinum Sponsors - -Support this project by [becoming a Platinum Sponsor](https://opencollective.com/coreui/contribute/platinum-sponsor-40959/). A large company logo will be added here with a link to your website. - - - -### Gold Sponsors - -Support this project by [becoming a Gold Sponsor](https://opencollective.com/coreui/contribute/gold-sponsor-40960/). A big company logo will be added here with a link to your website. - - - -### Silver Sponsors - -Support this project by [becoming a Silver Sponsor](https://opencollective.com/coreui/contribute/silver-sponsor-40967/). A medium company logo will be added here with a link to your website. - - - -### Bronze Sponsors - -Support this project by [becoming a Bronze Sponsor](https://opencollective.com/coreui/contribute/bronze-sponsor-40966/). The company avatar will show up here with a link to your OpenCollective Profile. - - - -### Backers - -Thanks to all the backers and sponsors! Support this project by [becoming a backer](https://opencollective.com/coreui/contribute/backer-40965/). - - - - +CoreUI is an MIT-licensed open source project and is completely free to use. However, the amount of effort needed to maintain and develop new features for the project is not sustainable without proper financial backing. You can support development by buying the [CoreUI PRO](https://coreui.io/pricing/?framework=vue&src=github-coreui-vue) or by becoming a sponsor via [Open Collective](https://opencollective.com/coreui/). ## Copyright and license -Copyright 2022 creativeLabs Łukasz Holeczek. Code released under the [MIT License](https://github.com/coreui/coreui-vue/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). +Copyright 2024 creativeLabs Łukasz Holeczek. Code released under the [MIT License](https://github.com/coreui/coreui-vue/blob/main/LICENSE). Docs released under [Creative Commons](https://creativecommons.org/licenses/by/3.0/). diff --git a/lerna.json b/lerna.json index a64928e9..194343e3 100644 --- a/lerna.json +++ b/lerna.json @@ -1,8 +1,6 @@ { "npmClient": "yarn", - "packages": [ - "packages/*" - ], - "useWorkspaces": true, - "version": "4.9.0-beta.2" + "packages": ["packages/*"], + "version": "5.0.0", + "$schema": "node_modules/lerna/schemas/lerna-schema.json" } diff --git a/package.json b/package.json index a83c62b8..b8c9328f 100644 --- a/package.json +++ b/package.json @@ -22,18 +22,18 @@ "test:update": "npm-run-all charts:test:update icons:test:update lib:test:update" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.57.0", - "@vue/eslint-config-prettier": "^7.1.0", - "@vue/eslint-config-typescript": "^11.0.2", - "@vue/vue3-jest": "29.2.3", - "eslint": "8.36.0", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-vue": "^9.10.0", - "eslint-config-prettier": "^8.7.0", - "eslint-plugin-unicorn": "^46.0.0", - "lerna": "^6.6.1", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", + "@vue/eslint-config-prettier": "^9.0.0", + "@vue/eslint-config-typescript": "^13.0.0", + "@vue/vue3-jest": "29.2.6", + "eslint": "8.57.0", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-vue": "^9.24.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-unicorn": "^51.0.1", + "lerna": "^8.1.2", "npm-run-all": "^4.1.5", - "prettier": "^2.8.7" + "prettier": "^3.2.5" } } diff --git a/packages/coreui-icons-vue b/packages/coreui-icons-vue index 4caafa13..9de09384 160000 --- a/packages/coreui-icons-vue +++ b/packages/coreui-icons-vue @@ -1 +1 @@ -Subproject commit 4caafa13b155f5f915c3a2a05dbd6d74a1ef8977 +Subproject commit 9de09384e7b0ece5196adf30b0f5e25cee77975c diff --git a/packages/coreui-vue-chartjs b/packages/coreui-vue-chartjs index cc734c3a..a3a42cab 160000 --- a/packages/coreui-vue-chartjs +++ b/packages/coreui-vue-chartjs @@ -1 +1 @@ -Subproject commit cc734c3abd6797191096be80e2b0429b37990f25 +Subproject commit a3a42cabd2b34dd1b1b78cbb72d5e6cdc41ba5cd diff --git a/packages/coreui-vue/package.json b/packages/coreui-vue/package.json index a8bc07f0..f4134e45 100644 --- a/packages/coreui-vue/package.json +++ b/packages/coreui-vue/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/vue", - "version": "4.9.0-beta.2", + "version": "5.0.0", "description": "UI Components Library for Vue.js", "keywords": [ "vue", @@ -23,44 +23,45 @@ }, "license": "MIT", "author": "The CoreUI Team (https://github.com/orgs/coreui/people)", - "main": "dist/index.js", - "module": "dist/index.es.js", - "types": "dist/index.d.ts", + "main": "dist/cjs/index.js", + "module": "dist/esm/index.js", + "jsnext:main": "dist/esm/index.js", + "types": "dist/esm/index.d.ts", "files": [ "dist/", "src/" ], "scripts": { - "build": "rollup -c --bundleConfigAsCjs", + "build": "npm-run-all clean build-*", + "build-cjs": "rollup --environment ESM:false --config", + "build-esm": "rollup --environment ESM:true --config", + "clean": "cross-env-shell \"rm -rf dist\"", "test": "jest --coverage", "test:clear": "jest --clearCache", "test:update": "jest --coverage --updateSnapshot" }, + "dependencies": { + "@coreui/coreui": "^5.0.0", + "@popperjs/core": "^2.11.8" + }, "devDependencies": { - "@popperjs/core": "^2.11.8", - "@rollup/plugin-commonjs": "^25.0.1", - "@rollup/plugin-node-resolve": "^15.1.0", - "@rollup/plugin-typescript": "^11.1.1", - "@types/jest": "^29.5.2", - "@vue/test-utils": "^2.3.2", - "@vue/vue3-jest": "29.2.4", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "rollup": "^3.25.0", + "@rollup/plugin-commonjs": "^25.0.7", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-typescript": "^11.1.6", + "@types/jest": "^29.5.12", + "@vue/test-utils": "^2.4.5", + "@vue/vue3-jest": "29.2.6", + "cross-env": "^7.0.3", + "jest": "^29.7.0", + "jest-environment-jsdom": "^29.7.0", + "rollup": "^4.13.2", "rollup-plugin-vue": "^6.0.0", - "ts-jest": "^29.1.0", - "typescript": "^4.9.5", - "vue": "^3.3.4", - "vue-types": "^5.0.3" + "ts-jest": "^29.1.2", + "typescript": "^5.4.3", + "vue": "^3.4.21", + "vue-types": "^5.1.1" }, "peerDependencies": { - "@coreui/coreui": "^4.2.6", "vue": "^3.2.21" - }, - "standard": { - "ignore": [ - "node_modules/", - "build/" - ] } } diff --git a/packages/coreui-vue/rollup.config.js b/packages/coreui-vue/rollup.config.js deleted file mode 100644 index c4b5a462..00000000 --- a/packages/coreui-vue/rollup.config.js +++ /dev/null @@ -1,58 +0,0 @@ -import commonjs from '@rollup/plugin-commonjs' -import typescript from '@rollup/plugin-typescript' -import resolve from '@rollup/plugin-node-resolve' -import vue from 'rollup-plugin-vue' -import pkg from './package.json' - -const plugins = [ - resolve({ - dedupe: ['vue'], - extensions: ['.ts', '.json', '.vue'], - }), - typescript({ - exclude: ['**/__tests__/**'], - tsconfig: './tsconfig.json', - }), - commonjs({ - include: ['../../node_modules/**'], - }), -] - -const external = ['vue'] - -export default [ - // ESM build to be used with webpack/rollup. - { - input: 'src/index.ts', - output: { - format: 'es', - file: pkg.module, - exports: 'named', - sourcemap: true, - sourcemapPathTransform: (relativeSourcePath) => { - return relativeSourcePath - .replace('../../node_modules/', '../') - .replace('../packages/coreui-vue', '..') - }, - }, - external, - plugins: [...plugins, vue()], - }, - // SSR build. - { - input: 'src/index.ts', - output: { - format: 'cjs', - file: pkg.main, - exports: 'named', - sourcemap: true, - sourcemapPathTransform: (relativeSourcePath) => { - return relativeSourcePath - .replace('../../node_modules/', '../') - .replace('../packages/coreui-vue', '..') - }, - }, - external, - plugins: [...plugins, vue({ template: { optimizeSSR: true } })], - }, -] diff --git a/packages/coreui-vue/rollup.config.mjs b/packages/coreui-vue/rollup.config.mjs new file mode 100644 index 00000000..c47d4ac0 --- /dev/null +++ b/packages/coreui-vue/rollup.config.mjs @@ -0,0 +1,52 @@ +import commonjs from '@rollup/plugin-commonjs' +import typescript from '@rollup/plugin-typescript' +import resolve from '@rollup/plugin-node-resolve' +import vue from 'rollup-plugin-vue' +import { readFileSync } from 'node:fs' +import { dirname } from 'node:path' + +const pkg = JSON.parse(readFileSync(new URL('package.json', import.meta.url))) + +const DIR_CJS = dirname(pkg.main) +const DIR_ESM = dirname(pkg.module) +const ESM = process.env.ESM === 'true' + +const plugins = [ + resolve({ + dedupe: ['vue'], + extensions: ['.ts', '.json', '.vue'], + }), + typescript({ + exclude: ['**/__tests__/**'], + tsconfig: './tsconfig.json', + compilerOptions: { + declarationDir: ESM ? DIR_ESM : DIR_CJS, + outDir: ESM ? DIR_ESM : DIR_CJS, + }, + }), + commonjs({ + include: ['../../node_modules/**'], + }), + ESM ? vue({ template: { optimizeSSR: true } }) : vue(), +] + +const external = ['@popperjs/core', 'vue'] + +const rollupConfig = { + input: 'src/index.ts', + output: { + dir: ESM ? DIR_ESM : DIR_CJS, + format: ESM ? 'esm' : 'cjs', + exports: 'named', + preserveModules: true, + preserveModulesRoot: 'src', + sourcemap: true, + sourcemapPathTransform: (relativeSourcePath) => { + return relativeSourcePath.replace('../../node_modules/', '../').replace('../src/', 'src/') + }, + }, + external, + plugins, +} + +export default rollupConfig diff --git a/packages/coreui-vue/src/components/accordion/CAccordion.ts b/packages/coreui-vue/src/components/accordion/CAccordion.ts index 1422d40b..639b5af2 100644 --- a/packages/coreui-vue/src/components/accordion/CAccordion.ts +++ b/packages/coreui-vue/src/components/accordion/CAccordion.ts @@ -1,4 +1,4 @@ -import { defineComponent, h, provide, ref } from 'vue' +import { defineComponent, h, provide, ref, watch } from 'vue' const CAccordion = defineComponent({ name: 'CAccordion', @@ -21,6 +21,12 @@ const CAccordion = defineComponent({ const setActiveItemKey = (key: string | number) => { activeItemKey.value = key } + + watch( + () => props.activeItemKey, + (value) => (activeItemKey.value = value), + ) + provide('activeItemKey', activeItemKey) provide('alwaysOpen', props.alwaysOpen) provide('setActiveItemKey', setActiveItemKey) diff --git a/packages/coreui-vue/src/components/accordion/index.ts b/packages/coreui-vue/src/components/accordion/index.ts index ee2326db..0d3d51dd 100644 --- a/packages/coreui-vue/src/components/accordion/index.ts +++ b/packages/coreui-vue/src/components/accordion/index.ts @@ -7,11 +7,11 @@ import { CAccordionItem } from './CAccordionItem' const CAccordionPlugin = { install: (app: App): void => { - app.component(CAccordion.name, CAccordion) - app.component(CAccordionBody.name, CAccordionBody) - app.component(CAccordionButton.name, CAccordionButton) - app.component(CAccordionHeader.name, CAccordionHeader) - app.component(CAccordionItem.name, CAccordionItem) + app.component(CAccordion.name as string, CAccordion) + app.component(CAccordionBody.name as string, CAccordionBody) + app.component(CAccordionButton.name as string, CAccordionButton) + app.component(CAccordionHeader.name as string, CAccordionHeader) + app.component(CAccordionItem.name as string, CAccordionItem) }, } diff --git a/packages/coreui-vue/src/components/alert/CAlertHeading.ts b/packages/coreui-vue/src/components/alert/CAlertHeading.ts index fbf38c69..94ed187c 100644 --- a/packages/coreui-vue/src/components/alert/CAlertHeading.ts +++ b/packages/coreui-vue/src/components/alert/CAlertHeading.ts @@ -6,7 +6,7 @@ export const CAlertHeading = defineComponent({ /** * Component used for the root node. Either a string to use a HTML element or a component. */ - component: { + as: { type: String, default: 'h4', }, @@ -14,7 +14,7 @@ export const CAlertHeading = defineComponent({ setup(props, { slots }) { return () => h( - props.component, + props.as, { class: 'alert-heading', }, diff --git a/packages/coreui-vue/src/components/alert/__tests__/CAlertHeading.spec.ts b/packages/coreui-vue/src/components/alert/__tests__/CAlertHeading.spec.ts index 628ba7ad..73448f41 100644 --- a/packages/coreui-vue/src/components/alert/__tests__/CAlertHeading.spec.ts +++ b/packages/coreui-vue/src/components/alert/__tests__/CAlertHeading.spec.ts @@ -12,7 +12,7 @@ const defaultWrapper = mount(Component, { const customWrapper = mount(Component, { propsData: { - component: 'h2', + as: 'h2', }, slots: { default: 'Default slot', diff --git a/packages/coreui-vue/src/components/alert/index.ts b/packages/coreui-vue/src/components/alert/index.ts index c8f7b404..d3fadac4 100644 --- a/packages/coreui-vue/src/components/alert/index.ts +++ b/packages/coreui-vue/src/components/alert/index.ts @@ -5,9 +5,9 @@ import { CAlertLink } from './CAlertLink' const CAlertPlugin = { install: (app: App): void => { - app.component(CAlert.name, CAlert) - app.component(CAlertHeading.name, CAlertHeading) - app.component(CAlertLink.name, CAlertLink) + app.component(CAlert.name as string, CAlert) + app.component(CAlertHeading.name as string, CAlertHeading) + app.component(CAlertLink.name as string, CAlertLink) }, } diff --git a/packages/coreui-vue/src/components/avatar/CAvatar.ts b/packages/coreui-vue/src/components/avatar/CAvatar.ts index 27008005..d35ee265 100644 --- a/packages/coreui-vue/src/components/avatar/CAvatar.ts +++ b/packages/coreui-vue/src/components/avatar/CAvatar.ts @@ -55,7 +55,7 @@ const CAvatar = defineComponent({ /** * Sets the text color of the component to one of CoreUI’s themed colors. * - * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'white', 'muted', 'high-emphasis', 'medium-emphasis', 'disabled', 'high-emphasis-inverse', 'medium-emphasis-inverse', 'disabled-inverse' + * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'primary-emphasis', 'secondary-emphasis', 'success-emphasis', 'danger-emphasis', 'warning-emphasis', 'info-emphasis', 'light-emphasis', 'body', 'body-emphasis', 'body-secondary', 'body-tertiary', 'black', 'black-50', 'white', 'white-50' */ textColor: TextColor, }, diff --git a/packages/coreui-vue/src/components/avatar/index.ts b/packages/coreui-vue/src/components/avatar/index.ts index 650fb4e6..479ab9f4 100644 --- a/packages/coreui-vue/src/components/avatar/index.ts +++ b/packages/coreui-vue/src/components/avatar/index.ts @@ -3,7 +3,7 @@ import { CAvatar } from './CAvatar' const CAvatarPlugin = { install: (app: App): void => { - app.component(CAvatar.name, CAvatar) + app.component(CAvatar.name as string, CAvatar) }, } diff --git a/packages/coreui-vue/src/components/backdrop/index.ts b/packages/coreui-vue/src/components/backdrop/index.ts index 7202b8fd..440292ba 100644 --- a/packages/coreui-vue/src/components/backdrop/index.ts +++ b/packages/coreui-vue/src/components/backdrop/index.ts @@ -3,7 +3,7 @@ import { CBackdrop } from './CBackdrop' const CBackdropPlugin = { install: (app: App): void => { - app.component(CBackdrop.name, CBackdrop) + app.component(CBackdrop.name as string, CBackdrop) }, } diff --git a/packages/coreui-vue/src/components/badge/CBadge.ts b/packages/coreui-vue/src/components/badge/CBadge.ts index 717adac3..3802015d 100644 --- a/packages/coreui-vue/src/components/badge/CBadge.ts +++ b/packages/coreui-vue/src/components/badge/CBadge.ts @@ -5,19 +5,19 @@ import { Color, Shape, TextColor } from '../../props' const CBadge = defineComponent({ name: 'CBadge', props: { - /** - * Sets the color context of the component to one of CoreUI’s themed colors. - * - * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light' - */ - color: Color, /** * Component used for the root node. Either a string to use a HTML element or a component. */ - component: { + as: { type: String, default: 'span', }, + /** + * Sets the color context of the component to one of CoreUI’s themed colors. + * + * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light' + */ + color: Color, /** * Position badge in one of the corners of a link or button. * @@ -46,17 +46,24 @@ const CBadge = defineComponent({ return value === 'sm' }, }, + /** + * Sets the component's color scheme to one of CoreUI's themed colors, ensuring the text color contrast adheres to the WCAG 4.5:1 contrast ratio standard for accessibility. + * + * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light' + * @since 5.0.0 + */ + textBgColor: Color, /** * Sets the text color of the component to one of CoreUI’s themed colors. * - * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'white', 'muted', 'high-emphasis', 'medium-emphasis', 'disabled', 'high-emphasis-inverse', 'medium-emphasis-inverse', 'disabled-inverse' + * @values 'primary', 'secondary', 'success', 'danger', 'warning', 'info', 'dark', 'light', 'primary-emphasis', 'secondary-emphasis', 'success-emphasis', 'danger-emphasis', 'warning-emphasis', 'info-emphasis', 'light-emphasis', 'body', 'body-emphasis', 'body-secondary', 'body-tertiary', 'black', 'black-50', 'white', 'white-50' */ textColor: TextColor, }, setup(props, { slots }) { return () => h( - props.component, + props.as, { class: [ 'badge', @@ -69,6 +76,7 @@ const CBadge = defineComponent({ 'start-0': props.position && props.position.includes('start'), [`badge-${props.size}`]: props.size, [`text-${props.textColor}`]: props.textColor, + [`text-bg-${props.textBgColor}`]: props.textBgColor, }, props.shape, ], diff --git a/packages/coreui-vue/src/components/badge/index.ts b/packages/coreui-vue/src/components/badge/index.ts index 3bd6f86a..9a2e47a3 100644 --- a/packages/coreui-vue/src/components/badge/index.ts +++ b/packages/coreui-vue/src/components/badge/index.ts @@ -3,7 +3,7 @@ import { CBadge } from './CBadge' const CBadgePlugin = { install: (app: App): void => { - app.component(CBadge.name, CBadge) + app.component(CBadge.name as string, CBadge) }, } diff --git a/packages/coreui-vue/src/components/breadcrumb/CBreadcrumb.ts b/packages/coreui-vue/src/components/breadcrumb/CBreadcrumb.ts index 9e8bcc62..df95f2ff 100644 --- a/packages/coreui-vue/src/components/breadcrumb/CBreadcrumb.ts +++ b/packages/coreui-vue/src/components/breadcrumb/CBreadcrumb.ts @@ -2,6 +2,7 @@ import { defineComponent, h } from 'vue' const CBreadcrumb = defineComponent({ name: 'CBreadcrumb', + inheritAttrs: false, setup(_, { slots, attrs }) { return () => h( diff --git a/packages/coreui-vue/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumb.spec.ts.snap b/packages/coreui-vue/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumb.spec.ts.snap index fa56864c..2cccad76 100644 --- a/packages/coreui-vue/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumb.spec.ts.snap +++ b/packages/coreui-vue/src/components/breadcrumb/__tests__/__snapshots__/CBreadcrumb.spec.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Loads and display CBreadcrumb component renders correctly 1`] = ` -"