Skip to content

Instantly share code, notes, and snippets.

@TheJaredWilcurt
Created June 14, 2022 12:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TheJaredWilcurt/f4d1d04f8c90ddf3d93a925a22fb5fad to your computer and use it in GitHub Desktop.
Save TheJaredWilcurt/f4d1d04f8c90ddf3d93a925a22fb5fad to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
@use 'sass:map';
$media-padding: 2px;
$padding-margin: 0.75rem;
$utilities: (
"padding-y": (
class: "py",
property: padding-top padding-bottom,
media: $media-padding,
values: (
"auto": auto,
0: 0,
1: $padding-margin * 0.25,
2: $padding-margin * 0.5,
3: $padding-margin * 0.75,
4: $padding-margin * 1,
5: $padding-margin * 1.5,
6: $padding-margin * 2,
7: $padding-margin * 2.5,
8: $padding-margin * 3,
9: $padding-margin * 3.5,
10: $padding-margin * 4,
11: $padding-margin * 4.5,
12: $padding-margin * 5,
)
),
"margin-x": (
class: "mx",
property: margin-left margin-right,
media: $media-padding,
values: (
"auto": auto,
0: 0,
1: $padding-margin * 0.25,
2: $padding-margin * 0.5,
3: $padding-margin * 0.75,
4: $padding-margin * 1,
5: $padding-margin * 1.5,
6: $padding-margin * 2,
7: $padding-margin * 2.5,
8: $padding-margin * 3,
9: $padding-margin * 3.5,
10: $padding-margin * 4,
11: $padding-margin * 4.5,
12: $padding-margin * 5,
)
)
);
@function is-not-number($value) {
@return type-of($value) != 'number';
}
@mixin utilize ($start: 2, $end: 8) {
@each $sectionName, $sectionMap in $utilities {
$className: map.get(map.get($utilities, $sectionName), class);
$properties: map.get(map.get($utilities, $sectionName), property);
$values: map.get(map.get($utilities, $sectionName), values);
@each $name, $value in $values {
@if (is-not-number($name) or $name >= $start and $name <= $end) {
.#{$className}-#{$name} {
@each $property in $properties {
#{$property}: $value;
}
}
}
}
}
}
.example {
@include utilize(1, 3);
}
.example .py-auto {
padding-top: auto;
padding-bottom: auto;
}
.example .py-1 {
padding-top: 0.1875rem;
padding-bottom: 0.1875rem;
}
.example .py-2 {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
}
.example .py-3 {
padding-top: 0.5625rem;
padding-bottom: 0.5625rem;
}
.example .mx-auto {
margin-left: auto;
margin-right: auto;
}
.example .mx-1 {
margin-left: 0.1875rem;
margin-right: 0.1875rem;
}
.example .mx-2 {
margin-left: 0.375rem;
margin-right: 0.375rem;
}
.example .mx-3 {
margin-left: 0.5625rem;
margin-right: 0.5625rem;
}
{
"sass": {
"compiler": "dart-sass/1.32.12",
"extensions": {},
"syntax": "SCSS",
"outputStyle": "expanded"
},
"autoprefixer": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment