Как заставить CSS-модули (module) работать с компонентом-оберткой transition?

Компонент-обёртка transition прекрасно работает с изолированными стилями (scoped), но, к сожалению, не работает с module. Есть ли способ это исправить?

В поисках решения наткнулся на этот тред: https://github.com/vuejs/vue-loader/issues/494

В нем, core-разработчик vue предлагает использовать возможности sass-loader (селектор :global), но в моем случае это не помогло.

Я использую Nuxt и Vue2.

<template>
  <div :class="$style.wrapper">
    <button @click="visible ? visible = false : visible = true">
      Show Text
    </button>
    <transition name="test">
      <p v-show="visible">
        Just Text
      </p>
    </transition>
  </div>
</template>

<script>
export default {
  name: 'IndexPage',
  data () {
    return {
      visible: false
    }
  }
}
</script>

<style module lang="scss">
.wrapper {
  &:global(-enter-active) { transition: opacity 1s; }
  &:global(-leave-active) { transition: opacity 1s; }
  &:global(-enter) { opacity: 0; }
  &:global(-leave-to) { opacity: 1; }
}
</style>

Ответы (0 шт):