From 6c1667643aa2a115446d3d5e1352f86a951d5610 Mon Sep 17 00:00:00 2001 From: Raul Aguilar Garcia Date: Tue, 7 May 2024 12:41:50 +0200 Subject: [PATCH 1/2] [CHUX-461] add light mode prop --- .../ec-navigation-link.spec.ts.snap | 67 +++++++++++++++++++ .../ec-navigation-link.spec.ts | 12 ++++ .../ec-navigation-link.story.ts | 18 +++++ .../ec-navigation-link/ec-navigation-link.vue | 10 +++ src/components/ec-navigation-link/types.ts | 1 + 5 files changed, 108 insertions(+) diff --git a/src/components/ec-navigation-link/__snapshots__/ec-navigation-link.spec.ts.snap b/src/components/ec-navigation-link/__snapshots__/ec-navigation-link.spec.ts.snap index 9973800da..7fb485c0c 100644 --- a/src/components/ec-navigation-link/__snapshots__/ec-navigation-link.spec.ts.snap +++ b/src/components/ec-navigation-link/__snapshots__/ec-navigation-link.spec.ts.snap @@ -96,6 +96,38 @@ exports[`EcNavigationLink > as regular anchor > should be expanded by default 1` `; +exports[`EcNavigationLink > as regular anchor > should be use light styles when isInLightMode is passed into 1`] = ` + + + + + + + Link + + + +`; + exports[`EcNavigationLink > as regular anchor > should hide the text when is collapsed 1`] = ` as router-link > should be expanded by default 1`] = `; +exports[`EcNavigationLink > as router-link > should be use light styles when isInLightMode is passed into 1`] = ` + + + + + + + + Link + + + + +`; + exports[`EcNavigationLink > as router-link > should hide the text when is collapsed 1`] = ` { expect(wrapper.findByDataTest('ec-navigation-link').classes('ec-navigation-link--is-compact')).toBe(true); }); + it('should be use light styles when isInLightMode is passed into', () => { + const wrapper = mountAsRouterLink({ isInLightMode: true }); + expect(wrapper.element).toMatchSnapshot(); + expect(wrapper.findByDataTest('ec-navigation-link').classes('ec-navigation-link--light-mode')).toBe(true); + }); + it('should pass listeners from parent to the root', () => { const clickSpy = vi.fn(); const wrapper = mountAsRouterLink({}, { @@ -127,6 +133,12 @@ describe('EcNavigationLink', () => { expect(wrapper.findByDataTest('ec-navigation-link').classes('ec-navigation-link--is-compact')).toBe(true); }); + it('should be use light styles when isInLightMode is passed into', () => { + const wrapper = mountAsAnchor({ isInLightMode: true }); + expect(wrapper.element).toMatchSnapshot(); + expect(wrapper.findByDataTest('ec-navigation-link').classes('ec-navigation-link--light-mode')).toBe(true); + }); + it('should pass listeners from parent to the root', () => { const clickSpy = vi.fn(); const wrapper = mountAsAnchor({}, { diff --git a/src/components/ec-navigation-link/ec-navigation-link.story.ts b/src/components/ec-navigation-link/ec-navigation-link.story.ts index 1e311d0d1..98f317008 100644 --- a/src/components/ec-navigation-link/ec-navigation-link.story.ts +++ b/src/components/ec-navigation-link/ec-navigation-link.story.ts @@ -35,3 +35,21 @@ basic.args = { basic.parameters = { backgrounds: { default: DARK_THEME.name, values: [DARK_THEME] }, }; + +export const lightMode: StoryFn = args => ({ + components: { EcNavigationLink }, + setup() { + return { args }; + }, + template: ` + + `, +}); + +lightMode.args = { + text: 'Trade Finance', + iconName: IconName.SIMPLE_TRADE_FINANCE, + iconSize: 30, + url: '/trade-finance', + isInLightMode: true, +}; diff --git a/src/components/ec-navigation-link/ec-navigation-link.vue b/src/components/ec-navigation-link/ec-navigation-link.vue index 2d5280f3c..d15d49d77 100644 --- a/src/components/ec-navigation-link/ec-navigation-link.vue +++ b/src/components/ec-navigation-link/ec-navigation-link.vue @@ -12,6 +12,7 @@ 'ec-navigation-link--is-active': isActive, 'ec-navigation-link--is-compact': isCompact, 'ec-navigation-link--is-collapsed': isCollapsed, + 'ec-navigation-link--light-mode': isInLightMode, }" :to="url" > @@ -43,6 +44,7 @@ 'ec-navigation-link--is-active': isActive, 'ec-navigation-link--is-compact': isCompact, 'ec-navigation-link--is-collapsed': isCollapsed, + 'ec-navigation-link--light-mode': isInLightMode, }" :href="url" :target="target" @@ -108,6 +110,14 @@ withDefaults(defineProps(), { @apply tw-py-12 tw-px-28; } + &--light-mode { + @apply tw-text-gray-3; + + &:hover { + @apply tw-text-gray-2; + } + } + &__icon { @apply tw-fill-current; @apply tw-flex-shrink-0; diff --git a/src/components/ec-navigation-link/types.ts b/src/components/ec-navigation-link/types.ts index efb823ed6..eef147609 100644 --- a/src/components/ec-navigation-link/types.ts +++ b/src/components/ec-navigation-link/types.ts @@ -12,4 +12,5 @@ export interface NavigationLinkProps { isCollapsed?: boolean, isCompact?: boolean, target?: string, + isInLightMode?: boolean, } From a6cc22337d307e88d18136e92b0e241204e7498d Mon Sep 17 00:00:00 2001 From: Raul Aguilar Garcia Date: Thu, 9 May 2024 11:31:55 +0200 Subject: [PATCH 2/2] [CHUX-461] add missing images snapshots --- ...ner--with-responsive-layout__chrome.snap.png | Bin 0 -> 10299 bytes ...er--with-responsive-layout__firefox.snap.png | Bin 0 -> 10750 bytes ...navigation-link--light-mode__chrome.snap.png | Bin 0 -> 7327 bytes ...avigation-link--light-mode__firefox.snap.png | Bin 0 -> 7809 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__chrome.snap.png create mode 100644 tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__firefox.snap.png create mode 100644 tests/integration/snapshots/visual-regression.spec.js/layout-navigation-link--light-mode__chrome.snap.png create mode 100644 tests/integration/snapshots/visual-regression.spec.js/layout-navigation-link--light-mode__firefox.snap.png diff --git a/tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__chrome.snap.png b/tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__chrome.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..a1bd1cc904510d65b865670fefd687a1e7e4fff2 GIT binary patch literal 10299 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 literal 0 HcmV?d00001 diff --git a/tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__firefox.snap.png b/tests/integration/snapshots/visual-regression.spec.js/layout-container--with-responsive-layout__firefox.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd1583a960549f7c8a2683c5442bce70e2ba555 GIT binary patch literal 10750 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 U4cn7lpl62CU-dg;)=j5()?!Diz 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 literal 0 HcmV?d00001