|
|
@@ -1,455 +1,265 @@
|
|
|
.nut-popover {
|
|
|
- overflow-y: inherit;
|
|
|
- transform: inherit;
|
|
|
-
|
|
|
- // 遮罩
|
|
|
- .more-background {
|
|
|
- opacity: 0;
|
|
|
- position: fixed;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- z-index: 10;
|
|
|
- left: 0;
|
|
|
- top: 0;
|
|
|
+ position: relative;
|
|
|
+ display: inline-block;
|
|
|
+ word-break: normal;
|
|
|
+
|
|
|
+ > .nut-popover-wrapper {
|
|
|
+ display: inline-block;
|
|
|
+ vertical-align: top;
|
|
|
}
|
|
|
|
|
|
- .popover-arrow {
|
|
|
+ &-arrow {
|
|
|
position: absolute;
|
|
|
width: 0;
|
|
|
height: 0;
|
|
|
border: 8px solid transparent;
|
|
|
- }
|
|
|
- // top
|
|
|
- &[data-popper-placement^='top'] {
|
|
|
- .popover-arrow {
|
|
|
+
|
|
|
+ &-top {
|
|
|
bottom: 0;
|
|
|
border-top-color: $popover-white-background-color;
|
|
|
border-bottom-width: 0;
|
|
|
margin-bottom: -8px;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- &[data-popper-placement='top'] {
|
|
|
- .popover-arrow {
|
|
|
- left: 50%;
|
|
|
- transform: translateX(-50%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &-bottom {
|
|
|
+ top: 0px;
|
|
|
+ border-bottom-color: $popover-white-background-color;
|
|
|
+ border-top-width: 0;
|
|
|
+ margin-top: -8px;
|
|
|
|
|
|
- &[data-popper-placement='top-start'] {
|
|
|
- .popover-arrow {
|
|
|
- left: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.nut-popover-arrow--bottom {
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
+
|
|
|
+ &.nut-popover-arrow--bottom-start {
|
|
|
+ left: 16px;
|
|
|
+ transform: translateX(0%);
|
|
|
+ }
|
|
|
|
|
|
- &[data-popper-placement='top-end'] {
|
|
|
- .popover-arrow {
|
|
|
- right: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
+ &.nut-popover-arrow--bottom-end {
|
|
|
+ right: 16px;
|
|
|
+ transform: translateX(0%);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- // left
|
|
|
- &[data-popper-placement^='left'] {
|
|
|
- .popover-arrow {
|
|
|
+ &-left {
|
|
|
right: 0px;
|
|
|
border-left-color: $popover-white-background-color;
|
|
|
border-right-width: 0;
|
|
|
margin-right: -8px;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- &[data-popper-placement='left'] {
|
|
|
- .popover-arrow {
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.nut-popover-arrow--left {
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ }
|
|
|
|
|
|
- &[data-popper-placement='left-start'] {
|
|
|
- .popover-arrow {
|
|
|
- top: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.nut-popover-arrow--left-start {
|
|
|
+ top: 16px;
|
|
|
+ transform: translateY(0%);
|
|
|
+ }
|
|
|
|
|
|
- &[data-popper-placement='left-end'] {
|
|
|
- .popover-arrow {
|
|
|
- bottom: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
+ &.nut-popover-arrow--left-end {
|
|
|
+ bottom: 16px;
|
|
|
+ transform: translateY(0%);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- // right
|
|
|
-
|
|
|
- &[data-popper-placement^='right'] {
|
|
|
- .popover-arrow {
|
|
|
+ &-right {
|
|
|
left: 0px;
|
|
|
border-right-color: $popover-white-background-color;
|
|
|
border-left-width: 0;
|
|
|
margin-left: -8px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- &[data-popper-placement='right'] {
|
|
|
- .popover-arrow {
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- &[data-popper-placement='right-start'] {
|
|
|
- .popover-arrow {
|
|
|
- top: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- &[data-popper-placement='right-end'] {
|
|
|
- .popover-arrow {
|
|
|
- bottom: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
- }
|
|
|
- }
|
|
|
- // bottom
|
|
|
- &[data-popper-placement^='bottom'] {
|
|
|
- .popover-arrow {
|
|
|
- top: 0px;
|
|
|
- border-bottom-color: $popover-white-background-color;
|
|
|
- border-top-width: 0;
|
|
|
- margin-top: -8px;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- &[data-popper-placement='bottom'] {
|
|
|
- .popover-arrow {
|
|
|
- left: 50%;
|
|
|
- transform: translateX(-50%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.nut-popover-arrow--right {
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ }
|
|
|
|
|
|
- &[data-popper-placement='bottom-start'] {
|
|
|
- .popover-arrow {
|
|
|
- left: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
- }
|
|
|
- }
|
|
|
+ &.nut-popover-arrow--right-start {
|
|
|
+ top: 16px;
|
|
|
+ transform: translateY(0%);
|
|
|
+ }
|
|
|
|
|
|
- &[data-popper-placement='bottom-end'] {
|
|
|
- .popover-arrow {
|
|
|
- right: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
+ &.nut-popover-arrow--right-end {
|
|
|
+ bottom: 16px;
|
|
|
+ transform: translateY(0%);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .popover-menu {
|
|
|
- display: block;
|
|
|
- background: $popover-white-background-color;
|
|
|
+ &-content {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 9999;
|
|
|
+ background: #fff;
|
|
|
border-radius: 5px;
|
|
|
font-size: 14px;
|
|
|
font-family: PingFangSC;
|
|
|
font-weight: normal;
|
|
|
- color: $popover-primary-text-color;
|
|
|
- box-shadow: 0 2px 12px rgb(50 50 51 / 12%);
|
|
|
- .popover-menu-item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
+ color: #333;
|
|
|
+ box-shadow: 0 2px 12px #3232331f;
|
|
|
+ opacity: 1;
|
|
|
+ transition: opacity 0.15s, transform 0.15s;
|
|
|
+ max-height: initial;
|
|
|
+ overflow-y: initial;
|
|
|
+
|
|
|
+ &-group {
|
|
|
+ display: block;
|
|
|
+ // position: relative;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .nut-popover-menu-item {
|
|
|
+ display: block;
|
|
|
padding-bottom: 8px;
|
|
|
- padding: $popover-menu-item-padding;
|
|
|
- margin: $popover-menu-item-margin;
|
|
|
+ margin: 8px;
|
|
|
border-bottom: 1px solid $popover-border-bottom-color;
|
|
|
|
|
|
+ &:first-child {
|
|
|
+ margin-top: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
&:last-child {
|
|
|
+ margin-bottom: 2px;
|
|
|
border-bottom: none;
|
|
|
}
|
|
|
- .popover-menu-name {
|
|
|
- display: block;
|
|
|
+
|
|
|
+ .nut-popover-menu-item-name {
|
|
|
margin-right: 12px;
|
|
|
margin-left: 8px;
|
|
|
- line-height: $popover-menu-name-line-height;
|
|
|
+ width: 100%;
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .disabled {
|
|
|
- color: $popover-disable-color;
|
|
|
- cursor: not-allowed;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.nut-popover--dark {
|
|
|
- color: $popover-white-background-color;
|
|
|
-
|
|
|
- &[data-popper-placement^='top'] {
|
|
|
- .popover-arrow {
|
|
|
- border-top-color: $popover-dark-background-color;
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- &[data-popper-placement^='left'] {
|
|
|
- .popover-arrow {
|
|
|
- border-left-color: $popover-dark-background-color;
|
|
|
+ &.nut-popover-menu-disabled {
|
|
|
+ color: $popover-disable-color;
|
|
|
+ cursor: not-allowed;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- &[data-popper-placement^='right'] {
|
|
|
- .popover-arrow {
|
|
|
- border-right-color: $popover-dark-background-color;
|
|
|
- }
|
|
|
- }
|
|
|
+ &--top {
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
|
|
|
- &[data-popper-placement^='bottom'] {
|
|
|
- .popover-arrow {
|
|
|
- border-bottom-color: $popover-dark-background-color;
|
|
|
+ .nut-popover-arrow--top {
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-menu {
|
|
|
- background: $popover-dark-background-color;
|
|
|
- color: $popover-white-background-color;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// Taro
|
|
|
-.nut-popover-taro {
|
|
|
- position: relative;
|
|
|
- display: inline-block;
|
|
|
- .more-background {
|
|
|
- opacity: 0;
|
|
|
- position: fixed;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- z-index: 10;
|
|
|
- left: 0;
|
|
|
- top: 0;
|
|
|
- }
|
|
|
+ &--top-end {
|
|
|
+ .nut-popover-arrow--top-end {
|
|
|
+ right: 16px;
|
|
|
+ transform: translateX(0%);
|
|
|
+ }
|
|
|
|
|
|
- .popover-content {
|
|
|
- position: absolute;
|
|
|
- z-index: 12;
|
|
|
- min-width: 80px;
|
|
|
-
|
|
|
- .popover-arrow {
|
|
|
- position: absolute;
|
|
|
- width: 0;
|
|
|
- height: 0;
|
|
|
- border: 8px solid transparent;
|
|
|
+ right: 0;
|
|
|
}
|
|
|
|
|
|
- .popover-menu {
|
|
|
- box-shadow: 0 2px 12px rgb(50 50 51 / 12%);
|
|
|
- border-radius: 5px;
|
|
|
- font-size: 14px;
|
|
|
- font-family: PingFangSC;
|
|
|
- font-weight: normal;
|
|
|
- color: $popover-primary-text-color;
|
|
|
- background: $popover-white-background-color;
|
|
|
- .popover-menu-item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- padding: 8px 0;
|
|
|
- margin: 0 8px;
|
|
|
- border-bottom: 1px solid $popover-border-bottom-color;
|
|
|
- &:last-child {
|
|
|
- border-bottom: none;
|
|
|
- }
|
|
|
- .popover-menu-name {
|
|
|
- margin-right: 12px;
|
|
|
- margin-left: 8px;
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
+ &--top-start {
|
|
|
+ left: 0;
|
|
|
+
|
|
|
+ .nut-popover-arrow--top-start {
|
|
|
+ left: 16px;
|
|
|
+ transform: translateX(0%);
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- // bottom
|
|
|
- .popover-content--bottom {
|
|
|
- left: 50%;
|
|
|
- transform: translateX(-50%);
|
|
|
- .popover-arrow {
|
|
|
- top: 0px;
|
|
|
- border-bottom-color: $popover-white-background-color;
|
|
|
- border-top-width: 0;
|
|
|
- margin-top: -8px;
|
|
|
+
|
|
|
+ // bottom
|
|
|
+ &--bottom {
|
|
|
left: 50%;
|
|
|
transform: translateX(-50%);
|
|
|
+ // transform-origin:50% 0 ;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--bottom-start {
|
|
|
- .popover-arrow {
|
|
|
- top: 0px;
|
|
|
- border-bottom-color: $popover-white-background-color;
|
|
|
- border-top-width: 0;
|
|
|
- margin-top: -8px;
|
|
|
- left: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
+ &--bottom-end {
|
|
|
+ right: 0;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--bottom-end {
|
|
|
- right: 0;
|
|
|
- .popover-arrow {
|
|
|
- top: 0px;
|
|
|
- border-bottom-color: $popover-white-background-color;
|
|
|
- border-top-width: 0;
|
|
|
- margin-top: -8px;
|
|
|
- right: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
+ &--bottom-start {
|
|
|
+ left: 0;
|
|
|
+ // transform-origin:0 0;
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- // top
|
|
|
- .popover-content--top {
|
|
|
- left: 50%;
|
|
|
- transform: translateX(-50%);
|
|
|
- .popover-arrow {
|
|
|
- bottom: 0;
|
|
|
- border-top-color: $popover-white-background-color;
|
|
|
- border-bottom-width: 0;
|
|
|
- margin-bottom: -8px;
|
|
|
|
|
|
- left: 50%;
|
|
|
- transform: translateX(-50%);
|
|
|
+ // left
|
|
|
+ &--left {
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--top-start {
|
|
|
- .popover-arrow {
|
|
|
+ &--left-end {
|
|
|
bottom: 0;
|
|
|
- border-top-color: $popover-white-background-color;
|
|
|
- border-bottom-width: 0;
|
|
|
- margin-bottom: -8px;
|
|
|
-
|
|
|
- left: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- .popover-content--top-end {
|
|
|
- right: 0;
|
|
|
- .popover-arrow {
|
|
|
- bottom: 0;
|
|
|
- border-top-color: $popover-white-background-color;
|
|
|
- border-bottom-width: 0;
|
|
|
- margin-bottom: -8px;
|
|
|
|
|
|
- right: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
- }
|
|
|
- }
|
|
|
- // left
|
|
|
- .popover-content--left {
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- .popover-arrow {
|
|
|
- right: 0px;
|
|
|
- border-left-color: $popover-white-background-color;
|
|
|
- border-right-width: 0;
|
|
|
- margin-right: -8px;
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- }
|
|
|
- }
|
|
|
- .popover-content--left-start {
|
|
|
- top: 0%;
|
|
|
- .popover-arrow {
|
|
|
- right: 0px;
|
|
|
- border-left-color: $popover-white-background-color;
|
|
|
- border-right-width: 0;
|
|
|
- margin-right: -8px;
|
|
|
- top: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
+ &--left-start {
|
|
|
+ top: 0;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--left-end {
|
|
|
- bottom: 0%;
|
|
|
- .popover-arrow {
|
|
|
- right: 0px;
|
|
|
- border-left-color: $popover-white-background-color;
|
|
|
- border-right-width: 0;
|
|
|
- margin-right: -8px;
|
|
|
- bottom: 16px;
|
|
|
- transform: translateX(0%);
|
|
|
- }
|
|
|
- }
|
|
|
- // right
|
|
|
- .popover-content--right {
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- .popover-arrow {
|
|
|
- left: 0px;
|
|
|
- border-right-color: $popover-white-background-color;
|
|
|
- border-left-width: 0;
|
|
|
- margin-left: -8px;
|
|
|
+ // right
|
|
|
+ &--right {
|
|
|
top: 50%;
|
|
|
transform: translateY(-50%);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--right-start {
|
|
|
- top: 0%;
|
|
|
- .popover-arrow {
|
|
|
- left: 0px;
|
|
|
- border-right-color: $popover-white-background-color;
|
|
|
- border-left-width: 0;
|
|
|
- margin-left: -8px;
|
|
|
- top: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
+ &--right-end {
|
|
|
+ bottom: 0;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .popover-content--right-end {
|
|
|
- bottom: 0%;
|
|
|
- .popover-arrow {
|
|
|
- left: 0px;
|
|
|
- border-right-color: $popover-white-background-color;
|
|
|
- border-left-width: 0;
|
|
|
- margin-left: -8px;
|
|
|
- bottom: 16px;
|
|
|
- transform: translateY(0%);
|
|
|
+ &--right-start {
|
|
|
+ top: 0;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .disabled {
|
|
|
- color: $popover-disable-color;
|
|
|
- cursor: not-allowed;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
-.nut-popover-taro--dark {
|
|
|
- color: $popover-white-background-color;
|
|
|
- .popover-content--bottom,
|
|
|
- .popover-content--bottom-start,
|
|
|
- .popover-content--bottom-end {
|
|
|
- .popover-arrow {
|
|
|
- border-bottom-color: $popover-dark-background-color;
|
|
|
+.nut-popover--dark {
|
|
|
+ .nut-popover-content {
|
|
|
+ background: $popover-dark-background-color !important;
|
|
|
+ color: $popover-white-background-color !important;
|
|
|
+
|
|
|
+ &--bottom,
|
|
|
+ &--bottom-start,
|
|
|
+ &--bottom-end {
|
|
|
+ .nut-popover-arrow {
|
|
|
+ border-bottom-color: $popover-dark-background-color;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- .popover-content--top,
|
|
|
- .popover-content--top-start,
|
|
|
- .popover-content--top-end {
|
|
|
- .popover-arrow {
|
|
|
- border-top-color: $popover-dark-background-color;
|
|
|
+
|
|
|
+ &--top,
|
|
|
+ &--top-start,
|
|
|
+ &--top-end {
|
|
|
+ .nut-popover-arrow {
|
|
|
+ border-top-color: $popover-dark-background-color;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- .popover-content--left,
|
|
|
- .popover-content--left-start,
|
|
|
- .popover-content--left-end {
|
|
|
- .popover-arrow {
|
|
|
- border-left-color: $popover-dark-background-color;
|
|
|
+
|
|
|
+ &--left,
|
|
|
+ &--left-start,
|
|
|
+ &--left-end {
|
|
|
+ .nut-popover-arrow {
|
|
|
+ border-left-color: $popover-dark-background-color;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- .popover-content--right,
|
|
|
- .popover-content--right-start,
|
|
|
- .popover-content--right-end {
|
|
|
- .popover-arrow {
|
|
|
- border-right-color: $popover-dark-background-color;
|
|
|
+
|
|
|
+ &--right,
|
|
|
+ &--right-start,
|
|
|
+ &--right-end {
|
|
|
+ .nut-popover-arrow {
|
|
|
+ border-right-color: $popover-dark-background-color;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- .popover-menu {
|
|
|
- background: $popover-dark-background-color !important;
|
|
|
- color: $popover-white-background-color !important;
|
|
|
- }
|
|
|
+}
|
|
|
+
|
|
|
+.nut-popover-enter-from,
|
|
|
+.nut-popover-leave-active {
|
|
|
+ // transform: scale(0.8);
|
|
|
+ opacity: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.nut-popover-enter-active {
|
|
|
+ transition-timing-function: ease-out;
|
|
|
+}
|
|
|
+
|
|
|
+.nut-popover-leave-active {
|
|
|
+ transition-timing-function: ease-in;
|
|
|
}
|