Skip to content

Commit

Permalink
feat(@clayui/css): Aspect Ratio adds aspect-ratio-8-to-3 (37.5%)
Browse files Browse the repository at this point in the history
    - Adds `$aspect-ratio-sizes` map for generating all aspect-ratio sizes and placeholders
  • Loading branch information
pat270 committed Feb 2, 2022
1 parent 65993cb commit 7b7f9c2
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 38 deletions.
1 change: 1 addition & 0 deletions packages/clay-css/src/scss/_variables.scss
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@import 'variables/_globals';
@import 'variables/_globals-z-index';

@import 'variables/_aspect-ratio';
@import 'variables/_images';

@import 'variables/_carousel';
Expand Down
63 changes: 25 additions & 38 deletions packages/clay-css/src/scss/components/_aspect-ratio.scss
Original file line number Diff line number Diff line change
Expand Up @@ -158,44 +158,31 @@
@extend %aspect-ratio-item-center-middle;
}

// 3 to 2

%aspect-ratio-3-to-2 {
@include clay-aspect-ratio(3, 2);
}

.aspect-ratio-3-to-2 {
@extend %aspect-ratio-3-to-2;
}

// 4 to 3

%aspect-ratio-4-to-3 {
@include clay-aspect-ratio(4, 3);
}

.aspect-ratio-4-to-3 {
@extend %aspect-ratio-4-to-3;
}

// 8 to 5

%aspect-ratio-8-to-5 {
@include clay-aspect-ratio(8, 5);
}

.aspect-ratio-8-to-5 {
@extend %aspect-ratio-8-to-5;
}

// 16 to 9

%aspect-ratio-16-to-9 {
@include clay-aspect-ratio(16, 9);
}

.aspect-ratio-16-to-9 {
@extend %aspect-ratio-16-to-9;
// aspect-ratio-#-to-#

@each $selector, $value in $aspect-ratio-sizes {
$selector: if(
starts-with($selector, '.') or starts-with($selector, '#'),
$selector,
str-insert($selector, '.', 1)
);

$placeholder: str-insert(
str-slice($selector, 2, str-length($selector)),
'%',
1
);

#{$placeholder} {
@include clay-aspect-ratio(
map-get($value, width),
map-get($value, height)
);
}

#{$selector} {
@extend #{$placeholder} !optional;
}
}

// Bg Contain
Expand Down
26 changes: 26 additions & 0 deletions packages/clay-css/src/scss/variables/_aspect-ratio.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
$aspect-ratio-sizes: () !default;
$aspect-ratio-sizes: map-deep-merge(
(
aspect-ratio-3-to-2: (
height: 2,
width: 3,
),
aspect-ratio-4-to-3: (
height: 3,
width: 4,
),
aspect-ratio-8-to-3: (
height: 3,
width: 8,
),
aspect-ratio-8-to-5: (
height: 5,
width: 8,
),
aspect-ratio-16-to-9: (
height: 9,
width: 16,
),
),
$aspect-ratio-sizes
);

0 comments on commit 7b7f9c2

Please sign in to comment.