diff options
Diffstat (limited to 'src/layouts')
-rw-r--r-- | src/layouts/_button-group.scss | 37 | ||||
-rw-r--r-- | src/layouts/_button-group.vars.scss | 14 | ||||
-rw-r--r-- | src/layouts/_container.vars.scss | 12 | ||||
-rw-r--r-- | src/layouts/_split-view.scss | 29 | ||||
-rw-r--r-- | src/layouts/_split-view.vars.scss | 3 |
5 files changed, 78 insertions, 17 deletions
diff --git a/src/layouts/_button-group.scss b/src/layouts/_button-group.scss index c51ae7e..b0a3c8e 100644 --- a/src/layouts/_button-group.scss +++ b/src/layouts/_button-group.scss | |||
@@ -5,13 +5,46 @@ | |||
5 | 5 | ||
6 | @forward 'button-group.vars'; | 6 | @forward 'button-group.vars'; |
7 | @use 'button-group.vars' as vars; | 7 | @use 'button-group.vars' as vars; |
8 | @use '../objects/action-button.vars' as action-button; | ||
8 | 9 | ||
9 | @mixin styles { | 10 | @mixin styles { |
10 | @include materialize-at-root(meta.module-variables('vars')); | 11 | @include materialize-at-root(meta.module-variables('vars')); |
11 | 12 | ||
12 | @include bem.layout('button-group') { | 13 | @include bem.layout('button-group') { |
13 | display: flex; | 14 | display: inline-flex; |
14 | flex-wrap: wrap; | 15 | flex-wrap: wrap; |
15 | gap: props.get(vars.$spacing); | 16 | gap: props.get(vars.$gap); |
17 | |||
18 | @each $mod, $size in vars.$sizes { | ||
19 | @include bem.modifier($mod) { | ||
20 | gap: props.get($size); | ||
21 | } | ||
22 | } | ||
23 | |||
24 | @include bem.modifier('align-block') { | ||
25 | margin-inline: calc(-1 * props.get(action-button.$pad-i) - props.get(action-button.$border-width)); | ||
26 | |||
27 | @include bem.modifier('pill') { | ||
28 | margin-inline: calc(-1 * props.get(action-button.$pad-i-pill) - props.get(action-button.$border-width)); | ||
29 | } | ||
30 | |||
31 | @include bem.modifier('icon') { | ||
32 | margin-inline: calc(-1 * props.get(action-button.$pad-b) - props.get(action-button.$border-width) - .5em * (props.get(action-button.$line-height) - 1)); | ||
33 | } | ||
34 | |||
35 | @each $mod, $pad-i, $pad-i-label, $pad-i-pill, $pad-b, $font-size in action-button.$fixed-sizes { | ||
36 | @include bem.modifier('action-#{$mod}') { | ||
37 | margin-inline: calc(-1 * props.get($pad-i) - props.get(action-button.$border-width)); | ||
38 | |||
39 | @include bem.modifier('pill') { | ||
40 | margin-inline: calc(-1 * props.get($pad-i-pill) - props.get(action-button.$border-width)); | ||
41 | } | ||
42 | |||
43 | @include bem.modifier('icon') { | ||
44 | margin-inline: calc(-1 * props.get($pad-b) - props.get(action-button.$border-width) - .5em * (props.get(action-button.$line-height) - 1)); | ||
45 | } | ||
46 | } | ||
47 | } | ||
48 | } | ||
16 | } | 49 | } |
17 | } | 50 | } |
diff --git a/src/layouts/_button-group.vars.scss b/src/layouts/_button-group.vars.scss index 95ac8f8..50c1b53 100644 --- a/src/layouts/_button-group.vars.scss +++ b/src/layouts/_button-group.vars.scss | |||
@@ -1,4 +1,16 @@ | |||
1 | @use 'iro-sass/src/props'; | 1 | @use 'iro-sass/src/props'; |
2 | @use '../core.vars' as core; | 2 | @use '../core.vars' as core; |
3 | 3 | ||
4 | $spacing: props.def(--l-button-group--spacing, props.get(core.$size--150)) !default; | 4 | $gap: props.def(--l-button-group--gap, props.get(core.$size--150)) !default; |
5 | |||
6 | $gapless: props.def(--l-button-group--gapless, 0) !default; | ||
7 | $sm: props.def(--l-button-group--sm, props.get(core.$size--100)) !default; | ||
8 | $lg: props.def(--l-button-group--lg, props.get(core.$size--300)) !default; | ||
9 | $xl: props.def(--l-button-group--xl, props.get(core.$size--450)) !default; | ||
10 | |||
11 | $sizes: ( | ||
12 | 'gapless': $gapless, | ||
13 | 'sm': $sm, | ||
14 | 'lg': $lg, | ||
15 | 'xl': $xl, | ||
16 | ) !default; | ||
diff --git a/src/layouts/_container.vars.scss b/src/layouts/_container.vars.scss index cba7574..56b6c89 100644 --- a/src/layouts/_container.vars.scss +++ b/src/layouts/_container.vars.scss | |||
@@ -2,14 +2,14 @@ | |||
2 | @use 'iro-sass/src/props'; | 2 | @use 'iro-sass/src/props'; |
3 | @use '../core.vars' as core; | 3 | @use '../core.vars' as core; |
4 | 4 | ||
5 | $fixed-125: props.def(--l-container--fixed-125, fn.px-to-rem(720px)) !default; | 5 | $fixed-200: props.def(--l-container--fixed-200, fn.px-to-rem(1300px)) !default; |
6 | $fixed: props.def(--l-container--fixed, fn.px-to-rem(610px)) !default; | 6 | $fixed-150: props.def(--l-container--fixed-150, fn.px-to-rem(860px)) !default; |
7 | $fixed-75: props.def(--l-container--fixed-75, fn.px-to-rem(500px)) !default; | 7 | $fixed: props.def(--l-container--fixed, fn.px-to-rem(680px)) !default; |
8 | 8 | ||
9 | $fixed-sizes: ( | 9 | $fixed-sizes: ( |
10 | 'fixed-125': $fixed-125, | 10 | 'fixed-200': $fixed-200, |
11 | 'fixed': $fixed, | 11 | 'fixed-150': $fixed-150, |
12 | 'fixed-75': $fixed-75 | 12 | 'fixed': $fixed |
13 | ) !default; | 13 | ) !default; |
14 | 14 | ||
15 | $pad-i: props.def(--l-container--pad-i, props.get(core.$size--400)) !default; | 15 | $pad-i: props.def(--l-container--pad-i, props.get(core.$size--400)) !default; |
diff --git a/src/layouts/_split-view.scss b/src/layouts/_split-view.scss index 2744510..f522254 100644 --- a/src/layouts/_split-view.scss +++ b/src/layouts/_split-view.scss | |||
@@ -15,10 +15,6 @@ | |||
15 | gap: props.get(vars.$col-gap); | 15 | gap: props.get(vars.$col-gap); |
16 | align-items: start; | 16 | align-items: start; |
17 | 17 | ||
18 | @include bem.modifier('gapless') { | ||
19 | gap: props.get(vars.$gapless); | ||
20 | } | ||
21 | |||
22 | @include bem.elem('panel') { | 18 | @include bem.elem('panel') { |
23 | flex: 1 1 auto; | 19 | flex: 1 1 auto; |
24 | inline-size: 100%; | 20 | inline-size: 100%; |
@@ -44,6 +40,21 @@ | |||
44 | position: sticky; | 40 | position: sticky; |
45 | inset-block-start: calc(props.get(vars.$panel--sticky-400--inset) + props.get(vars.$panel--sticky-offset)); | 41 | inset-block-start: calc(props.get(vars.$panel--sticky-400--inset) + props.get(vars.$panel--sticky-offset)); |
46 | } | 42 | } |
43 | |||
44 | @include bem.modifier('sticky-1200') { | ||
45 | position: sticky; | ||
46 | inset-block-start: calc(props.get(vars.$panel--sticky-1200--inset) + props.get(vars.$panel--sticky-offset)); | ||
47 | } | ||
48 | } | ||
49 | |||
50 | @include bem.modifier('gapless') { | ||
51 | gap: props.get(vars.$gapless); | ||
52 | |||
53 | @include bem.elem('panel') { | ||
54 | @include bem.modifier('side-25') { | ||
55 | min-inline-size: calc(props.get(vars.$panel--side-25--min) + props.get(vars.$col-gap) - props.get(vars.$gapless)); | ||
56 | } | ||
57 | } | ||
47 | } | 58 | } |
48 | 59 | ||
49 | @include bem.elem('content') { | 60 | @include bem.elem('content') { |
@@ -55,19 +66,23 @@ | |||
55 | gap: props.get(vars.$row-gap); | 66 | gap: props.get(vars.$row-gap); |
56 | align-items: stretch; | 67 | align-items: stretch; |
57 | 68 | ||
69 | @include bem.modifier('gapless') { | ||
70 | gap: props.get(vars.$gapless); | ||
71 | } | ||
72 | |||
58 | @include bem.modifier('wrap-reverse') { | 73 | @include bem.modifier('wrap-reverse') { |
59 | flex-direction: column-reverse; | 74 | flex-direction: column-reverse; |
60 | } | 75 | } |
61 | 76 | ||
62 | @include bem.elem('panel') { | 77 | @include bem.elem('panel') { |
63 | flex: 1 1 auto; | 78 | inline-size: auto; |
64 | 79 | ||
65 | @include bem.modifier('side-25') { | 80 | @include bem.modifier('side-25') { |
66 | inline-size: auto; | 81 | inline-size: auto; |
67 | min-inline-size: 0; | 82 | min-inline-size: 0; |
68 | } | 83 | } |
69 | 84 | ||
70 | @include bem.modifier('sticky', 'sticky-400') { | 85 | @include bem.modifier('sticky', 'sticky-400', 'sticky-1200') { |
71 | position: static; | 86 | position: static; |
72 | } | 87 | } |
73 | } | 88 | } |
diff --git a/src/layouts/_split-view.vars.scss b/src/layouts/_split-view.vars.scss index 01562e1..d519939 100644 --- a/src/layouts/_split-view.vars.scss +++ b/src/layouts/_split-view.vars.scss | |||
@@ -4,9 +4,10 @@ | |||
4 | $col-gap: props.def(--l-split-view--col-gap, props.get(core.$size--800)) !default; | 4 | $col-gap: props.def(--l-split-view--col-gap, props.get(core.$size--800)) !default; |
5 | $row-gap: props.def(--l-split-view--row-gap, props.get(core.$size--600)) !default; | 5 | $row-gap: props.def(--l-split-view--row-gap, props.get(core.$size--600)) !default; |
6 | 6 | ||
7 | $gapless: props.def(--l-split-view--gapless, 0) !default; | 7 | $gapless: props.def(--l-split-view--gapless, 0rem) !default; |
8 | 8 | ||
9 | $panel--side-25--min: props.def(--l-split-view--panel--side-25--min, props.get(core.$size--3200)) !default; | 9 | $panel--side-25--min: props.def(--l-split-view--panel--side-25--min, props.get(core.$size--3200)) !default; |
10 | $panel--sticky-400--inset: props.def(--l-split-view--panel--sticky-400--inset, props.get(core.$size--400)) !default; | 10 | $panel--sticky-400--inset: props.def(--l-split-view--panel--sticky-400--inset, props.get(core.$size--400)) !default; |
11 | $panel--sticky-1200--inset: props.def(--l-split-view--panel--sticky-1200--inset, props.get(core.$size--1200)) !default; | ||
11 | 12 | ||
12 | $panel--sticky-offset: props.def(--l-split-view--panel--sticky-offset, props.get(core.$sticky-top-offset)) !default; | 13 | $panel--sticky-offset: props.def(--l-split-view--panel--sticky-offset, props.get(core.$sticky-top-offset)) !default; |