Skip to content

Instantly share code, notes, and snippets.

@norin89
Created July 1, 2022 15:19
Show Gist options
  • Save norin89/7bcf5c56f47e050f59d97825d50bd36e to your computer and use it in GitHub Desktop.
Save norin89/7bcf5c56f47e050f59d97825d50bd36e to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
/* Root should be passed for modifiers only */
@mixin hoverable($root: '') {
@at-root {
a#{&},
button#{&},
label#{&},
&#{$root}--hoverable {
@content;
}
}
}
.box {
$root: &;
content: "block";
@include hoverable {
content: "block - hoverable";
}
&__element {
content: "element";
@include hoverable {
content: "element hoverable";
}
}
&--modifier {
content: "modifier";
@include hoverable($root) {
content: "modifier hoverable";
}
}
&.-is-state {
content: "state";
@include hoverable {
content: "state--hoverable";
}
}
}
/* Root should be passed for modifiers only */
.box {
content: "block";
}
a.box,
button.box,
label.box, .box--hoverable {
content: "block - hoverable";
}
.box__element {
content: "element";
}
a.box__element,
button.box__element,
label.box__element, .box__element--hoverable {
content: "element hoverable";
}
.box--modifier {
content: "modifier";
}
a.box--modifier,
button.box--modifier,
label.box--modifier, .box--modifier.box--hoverable {
content: "modifier hoverable";
}
.box.-is-state {
content: "state";
}
a.box.-is-state,
button.box.-is-state,
label.box.-is-state, .box.-is-state--hoverable {
content: "state--hoverable";
}
{
"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