From b6551bfffb7677279f379f1297bdc1f1eba87e02 Mon Sep 17 00:00:00 2001 From: mrholek Date: Sat, 6 Jul 2024 21:19:03 +0200 Subject: [PATCH 01/10] refactor(CPopover, CTooltip): prevent interface flickering when component change visibility --- packages/coreui-react/src/components/popover/CPopover.tsx | 8 ++++++++ packages/coreui-react/src/components/tooltip/CTooltip.tsx | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/packages/coreui-react/src/components/popover/CPopover.tsx b/packages/coreui-react/src/components/popover/CPopover.tsx index 3f239a8b..24a41c20 100644 --- a/packages/coreui-react/src/components/popover/CPopover.tsx +++ b/packages/coreui-react/src/components/popover/CPopover.tsx @@ -149,6 +149,7 @@ export const CPopover = forwardRef( } initPopper(togglerRef.current, popoverRef.current, popperConfig) + popoverRef.current.style.removeProperty('display') popoverRef.current.classList.add('show') onShow && onShow() } @@ -160,6 +161,10 @@ export const CPopover = forwardRef( popoverRef.current.classList.remove('show') onHide && onHide() executeAfterTransition(() => { + if (popoverRef.current) { + popoverRef.current.style.display = 'none' + } + destroyPopper() setMounted(false) }, popoverRef.current) @@ -193,6 +198,9 @@ export const CPopover = forwardRef( id={uID.current} ref={forkedRef} role="tooltip" + style={{ + display: 'none', + }} {...rest} >
diff --git a/packages/coreui-react/src/components/tooltip/CTooltip.tsx b/packages/coreui-react/src/components/tooltip/CTooltip.tsx index 18d0629f..56158a3f 100644 --- a/packages/coreui-react/src/components/tooltip/CTooltip.tsx +++ b/packages/coreui-react/src/components/tooltip/CTooltip.tsx @@ -144,6 +144,7 @@ export const CTooltip = forwardRef( } initPopper(togglerRef.current, tooltipRef.current, popperConfig) + tooltipRef.current.style.removeProperty('display') tooltipRef.current.classList.add('show') onShow && onShow() } @@ -155,6 +156,10 @@ export const CTooltip = forwardRef( tooltipRef.current.classList.remove('show') onHide && onHide() executeAfterTransition(() => { + if (tooltipRef.current) { + tooltipRef.current.style.display = 'none' + } + destroyPopper() setMounted(false) }, tooltipRef.current) @@ -192,6 +197,9 @@ export const CTooltip = forwardRef( id={uID.current} ref={forkedRef} role="tooltip" + style={{ + display: 'none', + }} {...rest} >
From df09e844de2cf0d89dbb46383217b632024b5790 Mon Sep 17 00:00:00 2001 From: mrholek Date: Sun, 7 Jul 2024 12:43:20 +0200 Subject: [PATCH 02/10] chore: update dependencies and devDependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @rollup/plugin-commonjs ^25.0.8 → ^26.0.1 @testing-library/jest-dom ^6.4.5 → ^6.4.6 @testing-library/react ^14.3.1 → ^16.0.0 @typescript-eslint/eslint-plugin ^7.10.0 → ^7.15.0 @typescript-eslint/parser ^7.10.0 → ^7.15.0 eslint-plugin-react ^7.34.1 → ^7.34.3 eslint-plugin-unicorn ^51.0.1 → ^54.0.0 gatsby ^5.13.5 → ^5.13.6 lerna ^8.1.3 → ^8.1.6 prettier ^3.2.5 → ^3.3.2 rimraf ^5.0.7 → ^5.0.8 sass ^1.77.2 → ^1.77.6 ts-jest ^29.1.3 → ^29.1.5 tslib ^2.6.2 → ^2.6.3 typescript ^5.4.5 → ^5.5.3 --- package.json | 12 ++++++------ packages/coreui-react/package.json | 12 ++++++------ packages/docs/package.json | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 109914f1..2b78740b 100644 --- a/package.json +++ b/package.json @@ -22,17 +22,17 @@ "test:update": "npm-run-all charts:test:update icons:test:update lib:test:update" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^7.10.0", - "@typescript-eslint/parser": "^7.10.0", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", "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": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-unicorn": "^51.0.1", - "lerna": "^8.1.3", + "eslint-plugin-unicorn": "^54.0.0", + "lerna": "^8.1.6", "npm-run-all": "^4.1.5", - "prettier": "^3.2.5" + "prettier": "^3.3.2" }, "overrides": { "gatsby-remark-external-links": { diff --git a/packages/coreui-react/package.json b/packages/coreui-react/package.json index 7037b5a5..2ee8ed22 100644 --- a/packages/coreui-react/package.json +++ b/packages/coreui-react/package.json @@ -46,11 +46,11 @@ "prop-types": "^15.8.1" }, "devDependencies": { - "@rollup/plugin-commonjs": "^25.0.8", + "@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-typescript": "^11.1.6", - "@testing-library/jest-dom": "^6.4.5", - "@testing-library/react": "^14.3.1", + "@testing-library/jest-dom": "^6.4.6", + "@testing-library/react": "^16.0.0", "@types/jest": "^29.5.12", "@types/react": "18.3.3", "@types/react-dom": "^18.3.0", @@ -63,9 +63,9 @@ "react-dom": "^18.3.1", "react-transition-group": "^4.4.5", "rollup": "^4.18.0", - "ts-jest": "^29.1.3", - "tslib": "^2.6.2", - "typescript": "^5.4.5" + "ts-jest": "^29.1.5", + "tslib": "^2.6.3", + "typescript": "^5.5.3" }, "peerDependencies": { "react": ">=17", diff --git a/packages/docs/package.json b/packages/docs/package.json index b48e3519..3331d01e 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -34,7 +34,7 @@ "@mdx-js/mdx": "^3.0.1", "@mdx-js/react": "^3.0.1", "@types/react-helmet": "^6.1.11", - "gatsby": "^5.13.5", + "gatsby": "^5.13.6", "gatsby-plugin-google-tagmanager": "^5.13.1", "gatsby-plugin-image": "^3.13.1", "gatsby-plugin-manifest": "^5.13.1", @@ -58,8 +58,8 @@ "react-dom": "^18.3.1", "react-helmet": "^6.1.0", "react-imask": "^7.6.1", - "rimraf": "^5.0.7", - "sass": "^1.77.2" + "rimraf": "^5.0.8", + "sass": "^1.77.6" }, "devDependencies": { "npm-run-all": "^4.1.5" From 8ab945e3d5f7ec6a9571d3091e06f7b7a7920132 Mon Sep 17 00:00:00 2001 From: mrholek Date: Sun, 7 Jul 2024 12:44:42 +0200 Subject: [PATCH 03/10] refactor(CButton): improve colors and variants handling --- packages/coreui-react/src/components/button/CButton.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/coreui-react/src/components/button/CButton.tsx b/packages/coreui-react/src/components/button/CButton.tsx index 01efb820..f8f5e17a 100644 --- a/packages/coreui-react/src/components/button/CButton.tsx +++ b/packages/coreui-react/src/components/button/CButton.tsx @@ -74,8 +74,11 @@ export const CButton: PolymorphicRefForwardingComponent<'button', CButtonProps> {...(!rest.href && { type: type })} className={classNames( 'btn', - variant ? `btn-${variant}-${color}` : `btn-${color}`, - { [`btn-${size}`]: size }, + { + [`btn-${color}`]: color && !variant, + [`btn-${variant}-${color}`]: color && variant, + [`btn-${size}`]: size, + }, shape, className, )} From 54c1df14c54571b2cc982239eb888a40e9a544fb Mon Sep 17 00:00:00 2001 From: mrholek Date: Sun, 7 Jul 2024 12:45:18 +0200 Subject: [PATCH 04/10] tests: update tests and snapshots --- .../__tests__/CButtonGroup.spec.tsx | 12 +++++----- .../__tests__/CButtonToolbar.spec.tsx | 12 +++++----- .../button/__tests__/CButton.spec.tsx | 2 +- .../__tests__/CDropdownToggle.spec.tsx | 2 +- .../__snapshots__/CDropdown.spec.tsx.snap | 2 +- .../CDropdownToggle.spec.tsx.snap | 2 +- .../modal/__tests__/CModal.spec.tsx | 2 +- .../__snapshots__/CNavItem.spec.tsx.snap | 20 ++++++++++------- .../popover/__tests__/CPopover.spec.tsx | 4 ++-- .../__snapshots__/CPopover.spec.tsx.snap | 22 +++++++++++++++++++ .../__snapshots__/CSidebarBrand.spec.tsx.snap | 8 +++---- .../__snapshots__/CSidebarNav.spec.tsx.snap | 8 +++++-- .../__snapshots__/CTabPane.spec.tsx.snap | 2 +- .../__snapshots__/CToaster.spec.tsx.snap | 2 +- .../__snapshots__/CTooltip.spec.tsx.snap | 1 + .../__snapshots__/CWidgetStatsC.spec.tsx.snap | 2 +- 16 files changed, 67 insertions(+), 36 deletions(-) diff --git a/packages/coreui-react/src/components/button-group/__tests__/CButtonGroup.spec.tsx b/packages/coreui-react/src/components/button-group/__tests__/CButtonGroup.spec.tsx index 6e286f65..84671690 100644 --- a/packages/coreui-react/src/components/button-group/__tests__/CButtonGroup.spec.tsx +++ b/packages/coreui-react/src/components/button-group/__tests__/CButtonGroup.spec.tsx @@ -11,9 +11,9 @@ test('loads and displays CButtonGroup component', async () => { test('CButtonGroup customize', async () => { const { container } = render( - Test A - Test B - Test C + Test A + Test B + Test C , ) expect(container).toMatchSnapshot() @@ -25,9 +25,9 @@ test('CButtonGroup customize', async () => { test('CButtonGroup customize vertical', async () => { const { container } = render( - Test A - Test B - Test C + Test A + Test B + Test C , ) expect(container).toMatchSnapshot() diff --git a/packages/coreui-react/src/components/button-group/__tests__/CButtonToolbar.spec.tsx b/packages/coreui-react/src/components/button-group/__tests__/CButtonToolbar.spec.tsx index 5f59d423..f90c74cc 100644 --- a/packages/coreui-react/src/components/button-group/__tests__/CButtonToolbar.spec.tsx +++ b/packages/coreui-react/src/components/button-group/__tests__/CButtonToolbar.spec.tsx @@ -12,14 +12,14 @@ test('CButtonToolbar customize', async () => { const { container } = render( - 1 - 2 - 3 + 1 + 2 + 3 - A - B - C + A + B + C , ) diff --git a/packages/coreui-react/src/components/button/__tests__/CButton.spec.tsx b/packages/coreui-react/src/components/button/__tests__/CButton.spec.tsx index a547189a..27f3f8ce 100644 --- a/packages/coreui-react/src/components/button/__tests__/CButton.spec.tsx +++ b/packages/coreui-react/src/components/button/__tests__/CButton.spec.tsx @@ -4,7 +4,7 @@ import '@testing-library/jest-dom' import { CButton } from '../../../index' test('loads and displays CButton component', async () => { - const { container } = render(Test) + const { container } = render(Test) expect(container).toMatchSnapshot() }) diff --git a/packages/coreui-react/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx b/packages/coreui-react/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx index 99c20985..5d9db7e7 100644 --- a/packages/coreui-react/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx +++ b/packages/coreui-react/src/components/dropdown/__tests__/CDropdownToggle.spec.tsx @@ -10,7 +10,7 @@ test('loads and displays CDropdownToggle component', async () => { test('CDropdownToggle customize', async () => { const { container } = render( - + Test , ) diff --git a/packages/coreui-react/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap b/packages/coreui-react/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap index 315f0287..f6741bfd 100644 --- a/packages/coreui-react/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap +++ b/packages/coreui-react/src/components/dropdown/__tests__/__snapshots__/CDropdown.spec.tsx.snap @@ -17,7 +17,7 @@ exports[`CDropdown example 1`] = ` > +