diff --git a/packages/jet-plan-ui/action-feedback/ActionFeedback.vue b/packages/jet-plan-ui/action-feedback/ActionFeedback.vue index 1a0b9544..72e50ee0 100644 --- a/packages/jet-plan-ui/action-feedback/ActionFeedback.vue +++ b/packages/jet-plan-ui/action-feedback/ActionFeedback.vue @@ -13,12 +13,12 @@ import { h, TransitionGroup } from 'vue'; export default { name: 'j-action-feedback', props: { - opacity: propInit(String, '0.5'), tag: propInit(String, 'div'), active: propInit(), hover: propInit(), focusOutline: propInit(), focus: propInit(), + maskOpacity: propInit([String, Number], 0.5), // custom color colorFocusOutline: propColor('var(--border)'), @@ -49,6 +49,7 @@ export default { '--color-focus-out-line': this.colorFocusOutline, '--color-focus': this.colorFocus, '--color-hover': this.colorHover, + '--mask-opacity': this.maskOpacity, }; }, // Render @@ -80,7 +81,7 @@ export default { createMask(event) { return { data: { - opacity: this.opacity, + opacity: this.maskOpacity, el: this.$refs.self, color: this.hoverOnTouch && !this.active @@ -215,16 +216,14 @@ export default { /* Keyboard focus */ .j-action-feedback.focus:focus::after { background-color: var(--color-focus); - opacity: 0.5; } /* Mouse hover */ .j-action-feedback.hover:hover::after { background-color: var(--color-hover); - opacity: 0.5; } .j-action-feedback.focus:focus::after, .j-action-feedback.hover:hover::after { - opacity: 0.5; + opacity: var(--mask-opacity); } @supports (-webkit-tap-highlight-color: #ffffff00) { diff --git a/packages/jet-plan-ui/action-feedback/__tests__/ActionFeedback.spec.js b/packages/jet-plan-ui/action-feedback/__tests__/ActionFeedback.spec.js index 77496d7c..84616599 100644 --- a/packages/jet-plan-ui/action-feedback/__tests__/ActionFeedback.spec.js +++ b/packages/jet-plan-ui/action-feedback/__tests__/ActionFeedback.spec.js @@ -82,18 +82,21 @@ describe('ActionFeedback.vue', () => { expect(style['--color-hover']).toEqual( colorData.colorHover ) + }) + + it('mask opacity', async () => { + const wrapper = mount(ActionFeedback) + const style = cssAttrsStringToObj( + wrapper.attributes('style') + ) + expect(style['--mask-opacity']).toEqual('0.5') await wrapper.setProps({ - colorFocusOutline: '', - colorActive: '', - colorFocus: '', - colorHover: '' + maskOpacity: 0.2 }) + expect(cssAttrsStringToObj( + wrapper.attributes('style') + )['--mask-opacity']).toEqual('0.2') - expect(wrapper.classes()).not.toContain( - 'custom-color' - ) - - expect(wrapper.attributes('style')).not.toBeTruthy() }) }) diff --git a/packages/jet-plan-ui/action-feedback/__tests__/__snapshots__/ActionFeedback.spec.js.snap b/packages/jet-plan-ui/action-feedback/__tests__/__snapshots__/ActionFeedback.spec.js.snap index 94819233..6d3c1105 100644 --- a/packages/jet-plan-ui/action-feedback/__tests__/__snapshots__/ActionFeedback.spec.js.snap +++ b/packages/jet-plan-ui/action-feedback/__tests__/__snapshots__/ActionFeedback.spec.js.snap @@ -1,26 +1,26 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`ActionFeedback.vue Style test 1`] = ` -