vimo-dt
Version:
A Vue2.x UI Project For Mobile & HyBrid
135 lines (99 loc) • 2.4 kB
text/less
@import "../../../themes/index.less";
// Item Sliding
// --------------------------------------------------
// The hidden right-side buttons that can be exposed under a list item with dragging.
.ion-item-sliding {
position: relative;
display: block;
overflow: hidden;
width: 100%;
}
.ion-item-sliding .ion-item {
//position: relative;
position: static;
opacity: 1;
//z-index: 2;
transition: transform 300ms cubic-bezier(.36, .66, .04, 1);
pointer-events: none;
}
.ion-item-options {
position: absolute;
top: 0;
right: 0;
z-index: @z-index-item-options;
visibility: hidden;
display: none;
justify-content: flex-end;
height: 100%;
font-size: 14px;
pointer-events: none;
}
.ion-item-options[side=left] {
right: auto;
left: 0;
justify-content: flex-start;
}
.ion-item-options .button {
margin: 0;
padding: 0 .7em;
height: 100%;
border-radius: 0;
box-shadow: none;
box-sizing: content-box;
}
.ion-item-options:not([icon-left]) .button:not([icon-only]) {
.button-inner {
flex-direction: column;
}
.ion-icon {
padding-right: 0;
padding-bottom: .3em;
padding-left: 0;
}
}
.ion-item-sliding.active-slide {
.ion-item,
.ion-item:active {
position: relative;
z-index: @z-index-item-options + 2;
opacity: 1;
//transition: transform 300ms cubic-bezier(.36, .66, .04, 1);
pointer-events: none;
will-change: transform;
}
.ion-item-options {
display: flex;
visibility: visible;
pointer-events: auto;
}
&.active-options-left .ion-item-options[side=left] {
width: 100%;
z-index: @z-index-item-options + 1;
//visibility: visible;
}
&.active-options-right .ion-item-options:not([side=left]) {
width: 100%;
z-index: @z-index-item-options + 1;
//visibility: visible;
}
}
// Item Expandable Animation
// --------------------------------------------------
button[expandable] {
flex-shrink: 0;
transition-duration: 0;
transition-property: none;
transition-timing-function: cubic-bezier(.65, .05, .36, 1);
}
.ion-item-sliding.active-swipe-right button[expandable] {
order: 1;
padding-left: 90%;
transition-duration: .6s;
transition-property: padding-left;
}
.ion-item-sliding.active-swipe-left button[expandable] {
order: -1;
padding-right: 90%;
transition-duration: .6s;
transition-property: padding-right;
}