diff options
Diffstat (limited to 'src/objects/_popover.scss')
-rw-r--r-- | src/objects/_popover.scss | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/objects/_popover.scss b/src/objects/_popover.scss new file mode 100644 index 0000000..13550eb --- /dev/null +++ b/src/objects/_popover.scss | |||
@@ -0,0 +1,51 @@ | |||
1 | @use 'iro-sass/src/iro-sass' as iro; | ||
2 | @use '../functions' as fn; | ||
3 | |||
4 | @include iro.props-namespace('popover') { | ||
5 | @include iro.props-store(( | ||
6 | --dims: ( | ||
7 | --z-index: 10000, | ||
8 | --pad-i: 0, | ||
9 | --pad-b: fn.global-dim(--size --85), | ||
10 | --separator: fn.global-dim(--size --85), | ||
11 | --rounding: fn.global-dim(--rounding), | ||
12 | --border: fn.global-dim(--border --thin), | ||
13 | ), | ||
14 | --colors: ( | ||
15 | --bg: fn.global-color(--bg-l2), | ||
16 | --border: fn.global-color(--border), | ||
17 | --filter: drop-shadow( | ||
18 | fn.global-dim(--shadow --x) | ||
19 | fn.global-dim(--shadow --y) | ||
20 | fn.global-dim(--shadow --blur) | ||
21 | fn.global-color(--shadow) | ||
22 | ), | ||
23 | ), | ||
24 | )); | ||
25 | |||
26 | @include iro.bem-object(iro.props-namespace()) { | ||
27 | position: absolute; | ||
28 | inset-block-start: 0; | ||
29 | inset-inline-start: 0; | ||
30 | z-index: fn.dim(--z-index); | ||
31 | padding-block: fn.dim(--pad-b); | ||
32 | padding-inline: fn.dim(--pad-i); | ||
33 | background-color: fn.color(--bg); | ||
34 | filter: fn.color(--filter); | ||
35 | border: fn.dim(--border) solid fn.color(--border); | ||
36 | border-radius: fn.dim(--rounding); | ||
37 | transform: translate(var(--x), var(--y)); | ||
38 | |||
39 | @include iro.bem-modifier('up-left') { | ||
40 | transform: translate(var(--x), calc(var(--y) - 100%)); | ||
41 | } | ||
42 | |||
43 | @include iro.bem-modifier('up-right') { | ||
44 | transform: translate(calc(var(--x) - 100%), calc(var(--y) - 100%)); | ||
45 | } | ||
46 | |||
47 | @include iro.bem-modifier('down-right') { | ||
48 | transform: translate(calc(var(--x) - 100%), var(--y)); | ||
49 | } | ||
50 | } | ||
51 | } | ||