Created
October 4, 2014 21:21
-
-
Save nex3/81c8a64f29771803916a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Imports zip.sass, zip.scss, or zip.css *nontransitively* with a "zip" prefix. | |
@use "zip"; | |
// Uses the "foo" mixin from zip. | |
@include zip-foo; | |
// The prefix is now "zap". | |
@use "zip" as zap; | |
// Everything is in the global namespace. | |
@use "zip" without prefix; | |
// Mixins named "foo" are completely invisible. | |
@use "zip" hide foo; | |
// Selectors including ".bar" aren't included and aren't extendable. | |
@use "zip" hide selector .bar; | |
// No mixins are visible. | |
@use "zip" hide all mixins; | |
// Nothing other than mixins or functions named "foo" are visible. | |
@use "zip" show foo; | |
// Everything in "zip" is visible to importers of this file. | |
// Supports all the same options as @use. | |
@export "zip"; | |
// If we want to make this work well with guarded assignment, we'll need something like this: | |
@use "zip" with $var: value, | |
$other-var: other-value; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I understand there is something nice and consistent about namespacing with
foo-
, but that actually concerns me a bit. I wish the prefixed namespace stood out more as something other, so there is an explicit difference between the mixin/variable name itself, and the namespace it is imported under.I'm also curious about
@include zip-foo;
importing a single mixin. That sounds like crazy magic. What if I have a file calledzip-foo.scss
, which takes precedence?