UNPKG

7.63 kBtext/lessView Raw
1@import (reference) './imports/global';
2
3/*! AUI Inline Dialog */
4
5aui-inline-dialog {
6 --aui-inline-dialog-border-width: 0px;
7 --aui-tail-deg: 0deg;
8 --aui-tail-x: 0;
9 --aui-tail-y: 0;
10 --aui-tail-w: @aui-inline-dialog2-arrow-side-length;
11 --aui-tail-bw: calc(var(--aui-inline-dialog-border-width) + @aui-inline-dialog2-arrow-border-width);
12
13 display: block;
14 position: absolute;
15
16 // Handle FOUC
17 &:not([resolved]) {
18 display: none;
19 }
20
21 &.aui-layer:not([open]) {
22 #aui.transition.fadeOut();
23 display: block;
24 }
25
26 &.aui-layer[open] {
27 #aui.transition.fadeIn();
28 }
29
30 // content
31 .aui-inline-dialog-contents {
32 #aui-inline-dialog.aui-inline-dialog-style();
33 margin: var(--aui-tail-y) var(--aui-tail-x);
34 overflow: hidden;
35
36 & {
37 #aui-inline-dialog.form-interop();
38 }
39 }
40
41 // The inline dialog's "tail" is implemented using 2 pseudo-elements.
42 // - `:after` is the faux tail extension of the inline dialog's background colour.
43 // - `:before` adds a faux border around the tail.
44 &:before,
45 &:after {
46 border: var(--aui-tail-w) solid transparent;
47 border-bottom-color: @aui-inline-dialog-bg-color;
48 box-sizing: border-box;
49 content: "";
50 display: inline-block;
51 height: 0;
52 pointer-events: none;
53 position: absolute;
54 width: 0;
55 transform: rotate(var(--aui-tail-deg));
56 }
57
58 &:before {
59 border-bottom-color: @aui-inline-dialog-border-color;
60 }
61
62 // 'top _' alignment
63 &.aui-alignment-side-top,
64 &.aui-alignment-side-bottom[data-popper-placement*="top"] {
65 --aui-tail-deg: 180deg;
66 --aui-tail-y: var(--aui-tail-w);
67
68 &:before {
69 top: calc(~"100%" - var(--aui-tail-w));
70 }
71
72 &:after {
73 top: calc(~"100%" - var(--aui-tail-w) - var(--aui-tail-bw));
74 }
75 }
76
77 // 'bottom _' alignment
78 &.aui-alignment-side-bottom,
79 &.aui-alignment-side-top[data-popper-placement*="bottom"] {
80 --aui-tail-deg: 0deg;
81 --aui-tail-y: var(--aui-tail-w);
82
83 &:before {
84 top: calc(~"0%" - var(--aui-tail-w));
85 }
86 &:after {
87 top: calc(~"0%" - var(--aui-tail-w) + var(--aui-tail-bw));
88 }
89 }
90
91 // 'left _' alignment
92 &.aui-alignment-side-left,
93 &.aui-alignment-side-right[data-popper-placement*="left"] {
94 --aui-tail-deg: 90deg;
95 --aui-tail-x: var(--aui-tail-w);
96
97 &:before {
98 left: calc(~"100%" - var(--aui-tail-w));
99 }
100
101 &:after {
102 left: calc(~"100%" - var(--aui-tail-w) - var(--aui-tail-bw));
103 }
104 }
105
106 // 'right _' alignment
107 &.aui-alignment-side-right,
108 &.aui-alignment-side-left[data-popper-placement*="right"] {
109 --aui-tail-deg: -90deg;
110 --aui-tail-x: var(--aui-tail-w);
111
112 &:before {
113 left: calc(~"0%" - var(--aui-tail-w));
114 }
115
116 &:after {
117 left: calc(~"0%" - var(--aui-tail-w) + var(--aui-tail-bw));
118 }
119 }
120
121 // '_ left' alignment
122 &.aui-alignment-snap-left:before,
123 &.aui-alignment-snap-left:after {
124 left: calc(var(--aui-tail-w) + @aui-inline-dialog2-arrow-edge-offset);
125 }
126
127 // '_ center' alignment
128 &.aui-alignment-snap-center:before,
129 &.aui-alignment-snap-center:after {
130 left: calc(~"50%" - var(--aui-tail-w));
131 }
132
133 // '_ right' alignment
134 &.aui-alignment-snap-right:before,
135 &.aui-alignment-snap-right:after {
136 left: calc(~"100%" - ((var(--aui-tail-w) * 3) - @aui-inline-dialog2-arrow-edge-offset));
137 }
138
139 // '_ top' alignment
140 &.aui-alignment-snap-top:before,
141 &.aui-alignment-snap-top:after {
142 top: calc(var(--aui-tail-w) + @aui-inline-dialog2-arrow-edge-offset);
143 }
144
145 // '_ middle' alignment
146 &.aui-alignment-snap-middle:before,
147 &.aui-alignment-snap-middle:after {
148 top: calc(~"50%" - var(--aui-tail-w));
149 }
150
151 // '_ bottom' alignment
152 &.aui-alignment-snap-bottom:before,
153 &.aui-alignment-snap-bottom:after {
154 top: calc(~"100%" - (var(--aui-tail-w) * 3) - @aui-inline-dialog2-arrow-edge-offset);
155 }
156}
157
158.aui-inline-dialog {
159 display: none;
160 position: absolute;
161
162 .aui-inline-dialog-contents,
163 .contents {
164 #aui-inline-dialog.aui-inline-dialog-style();
165 overflow: hidden;
166
167 & {
168 #aui-inline-dialog.form-interop();
169 }
170
171 &.aui-inline-dialog-no-shadow {
172 box-shadow: none;
173 }
174
175 &.aui-inline-dialog-auto-width {
176 width: auto;
177 }
178 }
179
180 /*Inline Dialog Arrow */
181
182 .aui-inline-dialog-arrow,
183 .arrow {
184 position: absolute;
185 height: 16px; /* for SVG positioning */
186 top: -7px; /* matches #inline-dialog-shim */
187 width: 16px; /* for SVG positioning */
188 }
189
190 .aui-inline-dialog-arrow.aui-css-arrow,
191 .arrow.aui-css-arrow {
192 width: 1px;
193 }
194
195 .aui-inline-dialog-arrow.aui-css-arrow::after,
196 .arrow.aui-css-arrow::after,
197 .aui-inline-dialog-arrow.aui-css-arrow::before,
198 .arrow.aui-css-arrow::before {
199 border-color: @aui-inline-dialog-border-color transparent;
200 border-style: solid;
201 border-width: 0 8px 8px;
202 content: "";
203 left: -8px;
204 position: absolute;
205 top: 0;
206 }
207
208 .aui-inline-dialog-arrow.aui-css-arrow:after,
209 .arrow.aui-css-arrow:after {
210 border-bottom-color: @aui-inline-dialog-bg-color;
211 top: 1px;
212 }
213
214 .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:after,
215 .arrow.aui-css-arrow.aui-bottom-arrow:after,
216 .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:before,
217 .arrow.aui-css-arrow.aui-bottom-arrow:before {
218 border-width: 8px 8px 0;
219 }
220
221 .aui-inline-dialog-arrow.aui-css-arrow.aui-bottom-arrow:after,
222 .arrow.aui-css-arrow.aui-bottom-arrow:after {
223 border-top-color: @aui-inline-dialog-bg-color;
224 top: -1px;
225 }
226
227 .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow,
228 .arrow.aui-css-arrow.aui-right-arrow {
229 right: -7px;
230 }
231
232 .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:after,
233 .arrow.aui-css-arrow.aui-left-arrow:after,
234 .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:before,
235 .arrow.aui-css-arrow.aui-left-arrow:before {
236 border-width: 8px 8px 8px 0;
237 border-color: transparent @aui-inline-dialog-border-color;
238 }
239
240 .aui-inline-dialog-arrow.aui-css-arrow.aui-left-arrow:after,
241 .arrow.aui-css-arrow.aui-left-arrow:after {
242 border-color: transparent @aui-inline-dialog-bg-color transparent transparent;
243 top: 0;
244 right: 0;
245 }
246
247 .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:after,
248 .arrow.aui-css-arrow.aui-right-arrow:after,
249 .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:before,
250 .arrow.aui-css-arrow.aui-right-arrow:before {
251 border-width: 8px 0 8px 8px;
252 border-color: transparent @aui-inline-dialog-border-color;
253 left: -7px;
254 }
255
256 .aui-inline-dialog-arrow.aui-css-arrow.aui-right-arrow:after,
257 .arrow.aui-css-arrow.aui-right-arrow:after {
258 border-color: transparent transparent transparent @aui-inline-dialog-bg-color;
259 top: 0;
260 right: 0;
261 left: -8px;
262 }
263}
264
265/* Shim is for lte IE9 - class is added via JS */
266.inline-dialog-shim {
267 border: none;
268 display: block;
269 height: 0;
270 left: 0;
271 position: absolute;
272 top: 0;
273 width: 0;
274 z-index: -2;
275}
276
277#inline-dialog-shim {
278 display: none;
279}