123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- @import '../../style/themes/index';
- @import '../../style/mixins/index';
- @popover-prefix-cls: ~'@{ant-prefix}-popover';
- @popover-arrow-rotate-width: sqrt(@popover-arrow-width * @popover-arrow-width * 2);
- @popover-arrow-offset-vertical: 12px;
- @popover-arrow-offset-horizontal: 16px;
- .@{popover-prefix-cls} {
- .reset-component();
- position: absolute;
- top: 0;
- left: 0;
- z-index: @zindex-popover;
- font-weight: normal;
- white-space: normal;
- text-align: left;
- cursor: auto;
- user-select: text;
- &::after {
- position: absolute;
- background: fade(@white, 1%);
- content: '';
- }
- &-hidden {
- display: none;
- }
- // Offset the popover to account for the popover arrow
- &-placement-top,
- &-placement-topLeft,
- &-placement-topRight {
- padding-bottom: @popover-distance;
- }
- &-placement-right,
- &-placement-rightTop,
- &-placement-rightBottom {
- padding-left: @popover-distance;
- }
- &-placement-bottom,
- &-placement-bottomLeft,
- &-placement-bottomRight {
- padding-top: @popover-distance;
- }
- &-placement-left,
- &-placement-leftTop,
- &-placement-leftBottom {
- padding-right: @popover-distance;
- }
- &-inner {
- background-color: @popover-bg;
- background-clip: padding-box;
- border-radius: @border-radius-base;
- box-shadow: @box-shadow-base;
- box-shadow: ~'0 0 8px @{shadow-color} \9';
- }
- @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
- /* IE10+ */
- &-inner {
- box-shadow: @box-shadow-base;
- }
- }
- &-title {
- min-width: @popover-min-width;
- min-height: @popover-min-height;
- margin: 0; // reset heading margin
- padding: 5px @popover-padding-horizontal 4px;
- color: @heading-color;
- font-weight: 500;
- border-bottom: 1px solid @border-color-split;
- }
- &-inner-content {
- padding: @padding-sm @popover-padding-horizontal;
- color: @popover-color;
- }
- &-message {
- position: relative;
- padding: 4px 0 12px;
- color: @popover-color;
- font-size: @font-size-base;
- > .@{iconfont-css-prefix} {
- position: absolute;
- top: (
- 4px + ((@line-height-base * @font-size-base - @font-size-base) / 2)
- ); // 4px for padding-top, 4px for vertical middle
- color: @warning-color;
- font-size: @font-size-base;
- }
- &-title {
- padding-left: @font-size-base + 8px;
- }
- }
- &-buttons {
- margin-bottom: 4px;
- text-align: right;
- button {
- margin-left: 8px;
- }
- }
- // Arrows
- &-arrow {
- position: absolute;
- display: block;
- width: @popover-arrow-rotate-width;
- height: @popover-arrow-rotate-width;
- overflow: hidden;
- background: transparent;
- pointer-events: none;
- &-content {
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- display: block;
- width: @popover-arrow-width;
- height: @popover-arrow-width;
- margin: auto;
- background-color: @popover-bg;
- content: '';
- pointer-events: auto;
- }
- }
- &-placement-top &-arrow,
- &-placement-topLeft &-arrow,
- &-placement-topRight &-arrow {
- bottom: @popover-distance - @popover-arrow-rotate-width;
- &-content {
- box-shadow: 3px 3px 7px fade(@black, 7%);
- transform: translateY((-@popover-arrow-rotate-width / 2)) rotate(45deg);
- }
- }
- &-placement-top &-arrow {
- left: 50%;
- transform: translateX(-50%);
- }
- &-placement-topLeft &-arrow {
- left: @popover-arrow-offset-horizontal;
- }
- &-placement-topRight &-arrow {
- right: @popover-arrow-offset-horizontal;
- }
- &-placement-right &-arrow,
- &-placement-rightTop &-arrow,
- &-placement-rightBottom &-arrow {
- left: @popover-distance - @popover-arrow-rotate-width;
- &-content {
- box-shadow: -3px 3px 7px fade(@black, 7%);
- transform: translateX((@popover-arrow-rotate-width / 2)) rotate(45deg);
- }
- }
- &-placement-right &-arrow {
- top: 50%;
- transform: translateY(-50%);
- }
- &-placement-rightTop &-arrow {
- top: @popover-arrow-offset-vertical;
- }
- &-placement-rightBottom &-arrow {
- bottom: @popover-arrow-offset-vertical;
- }
- &-placement-bottom &-arrow,
- &-placement-bottomLeft &-arrow,
- &-placement-bottomRight &-arrow {
- top: @popover-distance - @popover-arrow-rotate-width;
- &-content {
- box-shadow: -2px -2px 5px fade(@black, 6%);
- transform: translateY((@popover-arrow-rotate-width / 2)) rotate(45deg);
- }
- }
- &-placement-bottom &-arrow {
- left: 50%;
- transform: translateX(-50%);
- }
- &-placement-bottomLeft &-arrow {
- left: @popover-arrow-offset-horizontal;
- }
- &-placement-bottomRight &-arrow {
- right: @popover-arrow-offset-horizontal;
- }
- &-placement-left &-arrow,
- &-placement-leftTop &-arrow,
- &-placement-leftBottom &-arrow {
- right: @popover-distance - @popover-arrow-rotate-width;
- &-content {
- box-shadow: 3px -3px 7px fade(@black, 7%);
- transform: translateX((-@popover-arrow-rotate-width / 2)) rotate(45deg);
- }
- }
- &-placement-left &-arrow {
- top: 50%;
- transform: translateY(-50%);
- }
- &-placement-leftTop &-arrow {
- top: @popover-arrow-offset-vertical;
- }
- &-placement-leftBottom &-arrow {
- bottom: @popover-arrow-offset-vertical;
- }
- }
- .generator-popover-preset-color(@i: length(@preset-colors)) when (@i > 0) {
- .generator-popover-preset-color(@i - 1);
- @color: extract(@preset-colors, @i);
- @lightColor: '@{color}-6';
- .@{popover-prefix-cls}-@{color} {
- .@{popover-prefix-cls}-inner {
- background-color: @@lightColor;
- }
- .@{popover-prefix-cls}-arrow {
- &-content {
- background-color: @@lightColor;
- }
- }
- }
- }
- .generator-popover-preset-color();
- @import './rtl';
|