diff options
Diffstat (limited to 'src/objects/_popover.scss')
-rw-r--r-- | src/objects/_popover.scss | 58 |
1 files changed, 23 insertions, 35 deletions
diff --git a/src/objects/_popover.scss b/src/objects/_popover.scss index 5ad58ec..3fe6310 100644 --- a/src/objects/_popover.scss +++ b/src/objects/_popover.scss | |||
@@ -1,50 +1,38 @@ | |||
1 | @use 'iro-sass/src/index' as iro; | 1 | @use 'sass:meta'; |
2 | @use '../functions' as fn; | 2 | @use 'iro-sass/src/bem'; |
3 | @use 'iro-sass/src/props'; | ||
4 | @use '../props' as *; | ||
3 | 5 | ||
4 | @include iro.props-namespace('popover') { | 6 | @forward 'popover.vars'; |
5 | @include iro.props-store(( | 7 | @use 'popover.vars' as vars; |
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 | 8 | ||
26 | @include iro.bem-object(iro.props-namespace()) { | 9 | @mixin styles { |
27 | position: absolute; | 10 | @include materialize-at-root(meta.module-variables('vars')); |
28 | z-index: fn.dim(--z-index); | 11 | |
12 | @include bem.object('popover') { | ||
13 | position: fixed; | ||
29 | inset-block-start: 0; | 14 | inset-block-start: 0; |
30 | inset-inline-start: 0; | 15 | inset-inline-start: 0; |
31 | padding-block: fn.dim(--pad-b); | 16 | z-index: props.get(vars.$z-index); |
32 | padding-inline: fn.dim(--pad-i); | 17 | padding-block: props.get(vars.$pad-b); |
18 | padding-inline: props.get(vars.$pad-i); | ||
19 | margin: 0; | ||
20 | color: currentColor; | ||
21 | background-color: props.get(vars.$bg-color); | ||
22 | filter: props.get(vars.$filter); | ||
23 | border: props.get(vars.$border-width) solid props.get(vars.$border-color); | ||
24 | border-radius: props.get(vars.$rounding); | ||
33 | transform: translate(var(--x), var(--y)); | 25 | transform: translate(var(--x), var(--y)); |
34 | border: fn.dim(--border) solid fn.color(--border); | ||
35 | border-radius: fn.dim(--rounding); | ||
36 | background-color: fn.color(--bg); | ||
37 | filter: fn.color(--filter); | ||
38 | 26 | ||
39 | @include iro.bem-modifier('up-left') { | 27 | @include bem.modifier('up-left') { |
40 | transform: translate(var(--x), calc(var(--y) - 100%)); | 28 | transform: translate(var(--x), calc(var(--y) - 100%)); |
41 | } | 29 | } |
42 | 30 | ||
43 | @include iro.bem-modifier('up-right') { | 31 | @include bem.modifier('up-right') { |
44 | transform: translate(calc(var(--x) - 100%), calc(var(--y) - 100%)); | 32 | transform: translate(calc(var(--x) - 100%), calc(var(--y) - 100%)); |
45 | } | 33 | } |
46 | 34 | ||
47 | @include iro.bem-modifier('down-right') { | 35 | @include bem.modifier('down-right') { |
48 | transform: translate(calc(var(--x) - 100%), var(--y)); | 36 | transform: translate(calc(var(--x) - 100%), var(--y)); |
49 | } | 37 | } |
50 | } | 38 | } |