diff --git a/src/components/character-count/__snapshots__/character-count.spec.ts.snap b/src/components/character-count/__snapshots__/character-count.spec.ts.snap index 4f3b87e60..6e0467f74 100644 --- a/src/components/character-count/__snapshots__/character-count.spec.ts.snap +++ b/src/components/character-count/__snapshots__/character-count.spec.ts.snap @@ -4,7 +4,7 @@ exports[`MCharacterCount should render correctly 1`] = `
- +
`; diff --git a/src/components/character-count/character-count.html b/src/components/character-count/character-count.html index 8883d021c..e3a518025 100644 --- a/src/components/character-count/character-count.html +++ b/src/components/character-count/character-count.html @@ -1,5 +1,5 @@
- + diff --git a/src/components/menu/menu-item/menu-item.html b/src/components/menu/menu-item/menu-item.html index bc54f0955..e3cdfeb70 100644 --- a/src/components/menu/menu-item/menu-item.html +++ b/src/components/menu/menu-item/menu-item.html @@ -42,7 +42,7 @@ ref="plus" v-if="group"> -
+`; diff --git a/src/components/transitions/accordion-transition/accordion-transition.html b/src/components/transitions/accordion-transition/accordion-transition.html index b8666f6d5..83285380a 100644 --- a/src/components/transitions/accordion-transition/accordion-transition.html +++ b/src/components/transitions/accordion-transition/accordion-transition.html @@ -1,4 +1,5 @@ ({ + data: () => ({ + open: true, + disabledTransition: false, + buttonSkin: MButtonSkin.Secondary + }), + methods: { + toggleOpen(): void { + let _this: any = this as any; + _this.open = !_this.open; + }, + toggleDisabledTransition(): void { + let _this: any = this as any; + _this.disabledTransition = !_this.disabledTransition; + } + }, + template: ` +
+
+ + {{open ? 'Close' : 'Open'}} accordion + + + {{disabledTransition ? 'Enabled' : 'Disabled'}} transition + +
+ +
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

+
+
+
` + })); diff --git a/src/components/transitions/accordion-transition/accordion-transition.ts b/src/components/transitions/accordion-transition/accordion-transition.ts index 4bca4662e..408bab5bf 100644 --- a/src/components/transitions/accordion-transition/accordion-transition.ts +++ b/src/components/transitions/accordion-transition/accordion-transition.ts @@ -15,14 +15,14 @@ export class MAccordionTransition extends ModulVue { public heightDelta: number; @Prop({ default: true }) - public transition: boolean; + public disabled: boolean; public setClassHasTransition(el: HTMLElement): void { if (!el.classList.contains(ACCORDION_TRANSITION_NAME)) { el.classList.add(ACCORDION_TRANSITION_NAME); } - if (this.transition) { + if (!this.disabled) { el.classList.add(CLASS_HAS_TRANSITION); } else if (el.classList.contains(CLASS_HAS_TRANSITION)) { el.classList.remove(CLASS_HAS_TRANSITION); diff --git a/src/components/transitions/slide-transition/__snapshots__/slide-transition.stories.ts.snap b/src/components/transitions/slide-transition/__snapshots__/slide-transition.stories.ts.snap new file mode 100644 index 000000000..b1e88f67d --- /dev/null +++ b/src/components/transitions/slide-transition/__snapshots__/slide-transition.stories.ts.snap @@ -0,0 +1,142 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Storyshots components|m-slide-transition Tabs example 1`] = ` +
+ + + + Tab 1 + + + + + Tab 2 + + + + + Tab 3 + + + + + Tab 4 + + + + + Tab 5 + + + + + Tab 6 + + + + + Tab 7 + + + + +
+
+

+ Tab 1 +

+ +

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum? +

+
+
+ +
+ + + + + +
+
+`; diff --git a/src/components/transitions/slide-transition/slide-transition.html b/src/components/transitions/slide-transition/slide-transition.html index 304964bbf..e2d3be41a 100644 --- a/src/components/transitions/slide-transition/slide-transition.html +++ b/src/components/transitions/slide-transition/slide-transition.html @@ -1,6 +1,7 @@
Slide transition :direction="direction">
-

Étape 1

+

Étape 1

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

@@ -12,13 +12,15 @@

Étape 1

-

Étape 2

+

Étape 2

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

-

Étape 3

+

Étape 3

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

diff --git a/src/components/transitions/slide-transition/slide-transition.scss b/src/components/transitions/slide-transition/slide-transition.scss index 71d0f064d..6ca618730 100644 --- a/src/components/transitions/slide-transition/slide-transition.scss +++ b/src/components/transitions/slide-transition/slide-transition.scss @@ -4,6 +4,18 @@ position: relative; transition: height $m-transition-duration--l ease; + &.m--is-left-to-right-transition > { + .m--is-enter { + transform: translate3d(-110%, 0, 0); + } + + .m--is-leave-to { + transform: translate3d(110%, 0, 0); + } + } +} + +.m-slide-transition > { .m--is-enter-active, .m--is-leave-active { cursor: not-allowed; @@ -27,14 +39,4 @@ transition: transform $m-transition-duration--l ease, opacity $m-transition-duration--l ease; position: absolute; } - - &.m--is-left-to-right-transition { - .m--is-enter { - transform: translate3d(-110%, 0, 0); - } - - .m--is-leave-to { - transform: translate3d(110%, 0, 0); - } - } } diff --git a/src/components/transitions/slide-transition/slide-transition.stories.ts b/src/components/transitions/slide-transition/slide-transition.stories.ts new file mode 100644 index 000000000..d02b790cf --- /dev/null +++ b/src/components/transitions/slide-transition/slide-transition.stories.ts @@ -0,0 +1,65 @@ +import { storiesOf } from '@storybook/vue'; +import Vue from 'vue'; +import { componentsHierarchyRootSeparator } from '../../../../conf/storybook/utils'; +import { MButtonSkin } from '../../button/button'; +import { SLIDE_TRANSITION_NAME } from '../../component-names'; +import { MNavbarSkin } from '../../navbar/navbar'; +import SlideTransitionPlugin, { MSlideTransitionDirection } from './slide-transition'; + +Vue.use(SlideTransitionPlugin); + +storiesOf(`${componentsHierarchyRootSeparator}${SLIDE_TRANSITION_NAME}`, module) + + .add('Tabs example', () => ({ + data: () => ({ + selectedTabIndex: 1, + direction: MSlideTransitionDirection.LeftToRight, + nbParagraphe: 1, + nbTab: 7, + skinNavbar: MNavbarSkin.TabLight, + disabledTransiton: false, + buttonSkin: MButtonSkin.Secondary + }), + methods: { + showTab(newIndex): void { + let _this: any = this as any; + _this.direction = (newIndex < _this.selectedTabIndex) ? MSlideTransitionDirection.LeftToRight : MSlideTransitionDirection.RightToLeft; + _this.selectedTabIndex = newIndex; + _this.nbParagraphe = (_this.selectedTabIndex % 2) === 0 ? 4 : newIndex; + } + }, + template: ` +
+ + + Tab {{index}} + + + +
+

Tab {{index}}

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A laudantium odio ipsum, quae quos cum dolor, omnis perferendis, veritatis deleniti iusto consectetur? Impedit tempora quam ab laborum maiores sapiente earum?

+
+
+
+ Add tab + Delete tab + {{disabledTransiton ? 'Enabled' : 'Disabled'}} transition +
+
` + })); diff --git a/src/components/transitions/slide-transition/slide-transition.ts b/src/components/transitions/slide-transition/slide-transition.ts index a43ba1281..16667abd3 100644 --- a/src/components/transitions/slide-transition/slide-transition.ts +++ b/src/components/transitions/slide-transition/slide-transition.ts @@ -22,7 +22,7 @@ export class MSlideTransition extends ModulVue { @Prop({ default: 0 }) public scrollToOffset: number; // the offset to add (in case of a sticky header) - @Prop({ default: false }) + @Prop({ default: true }) public disabled: boolean; public get transitionName(): string | undefined { @@ -34,11 +34,15 @@ export class MSlideTransition extends ModulVue { } @Emit('enter') - private transitionEnter(el: HTMLElement): void { - this.$scrollTo.goTo(this.$el as HTMLElement, this.scrollToOffset, ScrollToDuration.Regular); - setTimeout(() => { - this.transitionBeforeLeave(el); - }, 100); + private transitionEnter(el: HTMLElement, done): void { + if (!this.disabled) { + this.$scrollTo.goTo(this.$el as HTMLElement, this.scrollToOffset, ScrollToDuration.Regular); + setTimeout(() => { + this.transitionBeforeLeave(el); + }, 100); + } else { + done(); + } } private transitionAfterEnter(): void { diff --git a/src/components/validation-message/__snapshots__/validation-message.spec.ts.snap b/src/components/validation-message/__snapshots__/validation-message.spec.ts.snap index b4baf9978..3ccebb321 100644 --- a/src/components/validation-message/__snapshots__/validation-message.spec.ts.snap +++ b/src/components/validation-message/__snapshots__/validation-message.spec.ts.snap @@ -2,7 +2,7 @@ exports[`MValidationMessage should render correctly when it is in error 1`] = `
-

+

Error error

@@ -11,7 +11,7 @@ exports[`MValidationMessage should render correctly when it is in error 1`] = ` exports[`MValidationMessage should render correctly when it is in error 2`] = `
-

+

Error error

@@ -20,7 +20,7 @@ exports[`MValidationMessage should render correctly when it is in error 2`] = ` exports[`MValidationMessage should render correctly when it is valid 1`] = `
-

+

Valid valid

@@ -29,7 +29,7 @@ exports[`MValidationMessage should render correctly when it is valid 1`] = ` exports[`MValidationMessage should render error message even if there is a valid message 1`] = `
-

+

Error error

@@ -38,6 +38,6 @@ exports[`MValidationMessage should render error message even if there is a valid exports[`MValidationMessage should render helper message when prop is set 1`] = `
-

help

+

help

`; diff --git a/src/components/validation-message/validation-message.html b/src/components/validation-message/validation-message.html index d4a5eac7c..f48b890e2 100644 --- a/src/components/validation-message/validation-message.html +++ b/src/components/validation-message/validation-message.html @@ -1,6 +1,6 @@
- +

- +