1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | @mixin nb-popover-theme {
|
8 | nb-popover {
|
9 | $arrow-size: nb-theme(popover-arrow-size);
|
10 |
|
11 | border: nb-theme(popover-border-width) solid nb-theme(popover-border-color);
|
12 | border-radius: nb-theme(popover-border-radius);
|
13 | background: nb-theme(popover-background-color);
|
14 | box-shadow: nb-theme(popover-shadow);
|
15 | color: nb-theme(popover-text-color);
|
16 |
|
17 | .primitive-overlay {
|
18 | font-family: nb-theme(popover-text-font-family);
|
19 | font-size: nb-theme(popover-text-font-size);
|
20 | font-weight: nb-theme(popover-text-font-weight);
|
21 | line-height: nb-theme(popover-text-line-height);
|
22 | padding: nb-theme(popover-padding);
|
23 | }
|
24 |
|
25 | .arrow {
|
26 | border-left: $arrow-size solid transparent;
|
27 | border-right: $arrow-size solid transparent;
|
28 | border-bottom: $arrow-size solid nb-theme(popover-border-color);
|
29 |
|
30 | &::after {
|
31 | position: absolute;
|
32 | content: ' ';
|
33 | width: 0;
|
34 | height: 0;
|
35 | top: 3px;
|
36 | left: calc(50% - #{$arrow-size});
|
37 | border-left: $arrow-size solid transparent;
|
38 | border-right: $arrow-size solid transparent;
|
39 | border-bottom: $arrow-size solid nb-theme(popover-background-color);
|
40 | clip-path: inset(0 0 2px);
|
41 | }
|
42 | }
|
43 |
|
44 | &.nb-overlay-bottom .arrow {
|
45 | top: calc(-1 * #{$arrow-size} + 1px);
|
46 | left: calc(50% - #{$arrow-size});
|
47 | }
|
48 |
|
49 | &.nb-overlay-bottom-start .arrow {
|
50 | top: calc(-1 * #{$arrow-size} + 1px);
|
51 | @include nb-ltr(right, $arrow-size);
|
52 | @include nb-rtl(left, $arrow-size);
|
53 | }
|
54 |
|
55 | &.nb-overlay-bottom-end .arrow {
|
56 | top: calc(-1 * #{$arrow-size} + 1px);
|
57 | @include nb-ltr(left, $arrow-size);
|
58 | @include nb-rtl(right, $arrow-size);
|
59 | }
|
60 |
|
61 | &.nb-overlay-left .arrow {
|
62 | right: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
63 | top: calc(50% - #{$arrow-size / 2});
|
64 | transform: rotate(90deg);
|
65 | }
|
66 |
|
67 | &.nb-overlay-start-top .arrow {
|
68 | right: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
69 | bottom: $arrow-size;
|
70 | transform: rotate(90deg);
|
71 | }
|
72 |
|
73 | &.nb-overlay-start-bottom .arrow {
|
74 | right: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
75 | top: $arrow-size;
|
76 | transform: rotate(90deg);
|
77 | }
|
78 |
|
79 | &.nb-overlay-top .arrow {
|
80 | bottom: calc(-1 * #{$arrow-size} + 1px);
|
81 | left: calc(50% - #{$arrow-size});
|
82 | transform: rotate(180deg);
|
83 | }
|
84 |
|
85 | &.nb-overlay-top-start .arrow {
|
86 | bottom: calc(-1 * #{$arrow-size} + 1px);
|
87 | @include nb-ltr(right, $arrow-size);
|
88 | @include nb-rtl(left, $arrow-size);
|
89 | transform: rotate(180deg);
|
90 | }
|
91 |
|
92 | &.nb-overlay-top-end .arrow {
|
93 | bottom: calc(-1 * #{$arrow-size} + 1px);
|
94 | @include nb-ltr(left, $arrow-size);
|
95 | @include nb-rtl(right, $arrow-size);
|
96 | transform: rotate(180deg);
|
97 | }
|
98 |
|
99 | &.nb-overlay-right .arrow {
|
100 | left: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
101 | top: calc(50% - #{$arrow-size / 2});
|
102 | transform: rotate(270deg);
|
103 | }
|
104 |
|
105 | &.nb-overlay-end-top .arrow {
|
106 | left: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
107 | bottom: $arrow-size;
|
108 | transform: rotate(270deg);
|
109 | }
|
110 |
|
111 | &.nb-overlay-end-bottom .arrow {
|
112 | left: calc(-1 * #{$arrow-size} - #{$arrow-size} / 2 + 2px);
|
113 | top: $arrow-size;
|
114 | transform: rotate(270deg);
|
115 | }
|
116 | }
|
117 | }
|