UNPKG

vueplus-ui

Version:

A high quality UI components Library with Vue.js

162 lines (148 loc) 3.2 kB
.move-motion(@className, @keyframeName) { .make-motion(@className, @keyframeName); .@{className}-enter-active, .@{className}-appear { opacity: 0; animation-timing-function: @ease-in-out; } .@{className}-leave-active { animation-timing-function: @ease-in-out; } } .move-motion(move-up, vpMoveUp); .move-motion(move-down, vpMoveDown); .move-motion(move-left, vpMoveLeft); .move-motion(move-right, vpMoveRight); @keyframes vpMoveDownIn { 0% { transform-origin: 0 0; transform: translateY(100%); opacity: 0; } 100% { transform-origin: 0 0; transform: translateY(0%); opacity: 1; } } @keyframes vpMoveDownOut { 0% { transform-origin: 0 0; transform: translateY(0%); opacity: 1; } 100% { transform-origin: 0 0; transform: translateY(100%); opacity: 0; } } @keyframes vpMoveLeftIn { 0% { transform-origin: 0 0; transform: translateX(-100%); opacity: 0; } 100% { transform-origin: 0 0; transform: translateX(0%); opacity: 1; } } @keyframes vpMoveLeftOut { 0% { transform-origin: 0 0; transform: translateX(0%); opacity: 1; } 100% { transform-origin: 0 0; transform: translateX(-100%); opacity: 0; } } @keyframes vpMoveRightIn { 0% { opacity: 0; transform-origin: 0 0; transform: translateX(100%); } 100% { opacity: 1; transform-origin: 0 0; transform: translateX(0%); } } @keyframes vpMoveRightOut { 0% { transform-origin: 0 0; transform: translateX(0%); opacity: 1; } 100% { transform-origin: 0 0; transform: translateX(100%); opacity: 0; } } @keyframes vpMoveUpIn { 0% { transform-origin: 0 0; transform: translateY(-100%); opacity: 0; } 100% { transform-origin: 0 0; transform: translateY(0%); opacity: 1; } } @keyframes vpMoveUpOut { 0% { transform-origin: 0 0; transform: translateY(0%); opacity: 1; } 100% { transform-origin: 0 0; transform: translateY(-100%); opacity: 0; } } // specific transition for Notice .move-motion(move-notice, vpMoveNotice); @import '../components/notice.less'; @keyframes vpMoveNoticeIn { 0% { opacity: 0; transform-origin: 0 0; transform: translateX(100%); } 100% { opacity: 1; transform-origin: 0 0; transform: translateX(0%); } } @keyframes vpMoveNoticeOut { 0% { transform-origin: 0 0; transform: translateX(0%); opacity: 1; } 70% { transform-origin: 0 0; transform: translateX(100%); height: auto; padding: @notice-padding; margin-bottom: @notice-margin-bottom; opacity: 0; } 100% { transform-origin: 0 0; transform: translateX(100%); height: 0; padding: 0; margin-bottom: 0; opacity: 0; } }