| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 | @import './var.less';:root {  --van-popover-arrow-size: @popover-arrow-size;  --van-popover-border-radius: @popover-border-radius;  --van-popover-action-width: @popover-action-width;  --van-popover-action-height: @popover-action-height;  --van-popover-action-font-size: @popover-action-font-size;  --van-popover-action-line-height: @popover-action-line-height;  --van-popover-action-icon-size: @popover-action-icon-size;  --van-popover-light-text-color: @popover-light-text-color;  --van-popover-light-background-color: @popover-light-background-color;  --van-popover-light-action-disabled-text-color: @popover-light-action-disabled-text-color;  --van-popover-dark-text-color: @popover-dark-text-color;  --van-popover-dark-background-color: @popover-dark-background-color;  --van-popover-dark-action-disabled-text-color: @popover-dark-action-disabled-text-color;}.van-popover {  position: absolute;  overflow: visible;  background-color: transparent;  transition: opacity 0.15s, transform 0.15s;  &__wrapper {    display: inline-block;  }  &__arrow {    position: absolute;    width: 0;    height: 0;    border-color: transparent;    border-style: solid;    border-width: var(--van-popover-arrow-size);  }  &__content {    overflow: hidden;    border-radius: var(--van-popover-border-radius);  }  &__action {    position: relative;    display: flex;    align-items: center;    box-sizing: border-box;    width: var(--van-popover-action-width);    height: var(--van-popover-action-height);    padding: 0 var(--van-padding-md);    font-size: var(--van-popover-action-font-size);    line-height: var(--van-line-height-md);    cursor: pointer;    &:last-child {      .van-popover__action-text::after {        display: none;      }    }    &-text {      display: flex;      flex: 1;      align-items: center;      justify-content: center;      height: 100%;    }    &-icon {      margin-right: var(--van-padding-xs);      font-size: var(--van-popover-action-icon-size);    }    &--with-icon {      .van-popover__action-text {        justify-content: flex-start;      }    }  }  &[data-popper-placement^='top'] {    .van-popover__arrow {      bottom: 0;      border-top-color: currentColor;      border-bottom-width: 0;      transform: translate(-50%, 0%);      margin-bottom: calc(var(--van-popover-arrow-size) * -1);    }  }  &[data-popper-placement='top'] {    transform-origin: 50% 100%;    .van-popover__arrow {      left: 50%;    }  }  &[data-popper-placement='top-start'] {    transform-origin: 0 100%;    .van-popover__arrow {      left: var(--van-padding-md);    }  }  &[data-popper-placement='top-end'] {    transform-origin: 100% 100%;    .van-popover__arrow {      right: var(--van-padding-md);    }  }  &[data-popper-placement^='left'] {    .van-popover__arrow {      right: 0;      border-right-width: 0;      border-left-color: currentColor;      transform: translate(0%, -50%);      margin-right: calc(var(--van-popover-arrow-size) * -1);    }  }  &[data-popper-placement='left'] {    transform-origin: 100% 50%;    .van-popover__arrow {      top: 50%;    }  }  &[data-popper-placement='left-start'] {    transform-origin: 100% 0;    .van-popover__arrow {      top: var(--van-padding-md);    }  }  &[data-popper-placement='left-end'] {    transform-origin: 100% 100%;    .van-popover__arrow {      bottom: var(--van-padding-md);    }  }  &[data-popper-placement^='right'] {    .van-popover__arrow {      left: 0;      border-right-color: currentColor;      border-left-width: 0;      transform: translate(0%, -50%);      margin-left: calc(var(--van-popover-arrow-size) * -1);    }  }  &[data-popper-placement='right'] {    transform-origin: 0 50%;    .van-popover__arrow {      top: 50%;    }  }  &[data-popper-placement='right-start'] {    transform-origin: 0 0;    .van-popover__arrow {      top: var(--van-padding-md);    }  }  &[data-popper-placement='right-end'] {    transform-origin: 0 100%;    .van-popover__arrow {      bottom: var(--van-padding-md);    }  }  &[data-popper-placement^='bottom'] {    .van-popover__arrow {      top: 0;      border-top-width: 0;      border-bottom-color: currentColor;      transform: translate(-50%, 0%);      margin-top: calc(var(--van-popover-arrow-size) * -1);    }  }  &[data-popper-placement='bottom'] {    transform-origin: 50% 0;    .van-popover__arrow {      left: 50%;    }  }  &[data-popper-placement='bottom-start'] {    transform-origin: 0 0;    .van-popover__arrow {      left: var(--van-padding-md);    }  }  &[data-popper-placement='bottom-end'] {    transform-origin: 100% 0;    .van-popover__arrow {      right: var(--van-padding-md);    }  }  &--light {    color: var(--van-popover-light-text-color);    .van-popover__content {      background: var(--van-popover-light-background-color);      box-shadow: 0 2px 12px rgba(50, 50, 51, 0.12);    }    .van-popover__arrow {      color: var(--van-popover-light-background-color);    }    .van-popover__action {      &:active {        background-color: var(--van-active-color);      }      &--disabled {        color: var(--van-popover-light-action-disabled-text-color);        cursor: not-allowed;        &:active {          background-color: transparent;        }      }    }  }  &--dark {    color: var(--van-popover-dark-text-color);    .van-popover__content {      background: var(--van-popover-dark-background-color);    }    .van-popover__arrow {      color: var(--van-popover-dark-background-color);    }    .van-popover__action {      &:active {        background-color: rgba(0, 0, 0, 0.2);      }      &--disabled {        color: var(--van-popover-dark-action-disabled-text-color);        &:active {          background-color: transparent;        }      }    }    .van-popover__action-text {      &::after {        border-color: var(--van-gray-7);      }    }  }  &-zoom-enter-from,  &-zoom-leave-active {    transform: scale(0.8);    opacity: 0;  }  &-zoom-enter-active {    transition-timing-function: var(--van-animation-timing-function-enter);  }  &-zoom-leave-active {    transition-timing-function: var(--van-animation-timing-function-leave);  }}
 |