antd-theme-generator
Version:
This a script to generate color specific styles less file and which you can use to change theme dynamically in browser
143 lines (128 loc) • 3.39 kB
text/less
// importing plugin globally
@plugin "plugin/plugin-global";
// transitively include plugins from importing another sheet
@import "./plugin/plugin-transitive";
// `test-global` function should be reachable
// `test-local` function should not be reachable
// `test-shadow` function should return global version
.class {
trans : test-transitive();
global : test-global();
local : test-local();
shadow : test-shadow();
// `test-global` function should propagate and be reachable
// `test-local` function should be reachable
// `test-shadow` function should return local version, shadowing global version
.local {
@plugin (option) "./plugin/plugin-local";
global : test-global();
local : test-local();
shadow : test-shadow();
}
}
// calling a mixin or detached ruleset should not bubble local plugins
// imported inside either into the parent scope.
.mixin() {
@plugin "./plugin/plugin-local";
mixin-local : test-local();
mixin-global : test-global();
mixin-shadow : test-shadow();
}
@ruleset : {
@plugin "./plugin/plugin-local";
ruleset-local : test-local();
ruleset-global : test-global();
ruleset-shadow : test-shadow();
};
#ns {
@plugin (test=test) "./plugin/plugin-local";
.mixin() {
ns-mixin-global : test-global();
ns-mixin-local : test-local();
ns-mixin-shadow : test-shadow();
}
}
.class {
#ns > .mixin();
.mixin();
@ruleset();
class-local : test-local();
}
// `test-global` function should propagate into directive scope
@media screen {
.test {
result : test-global();
}
}
@font-face {
result : test-global();
}
// `test-global` function should propagate into nested directive scopes
@media screen and (min-width:100px) {
@media (max-width:400px) {
.test {
result : test-global();
}
}
}
.test {
@media screen {
@plugin "./plugin/plugin-local";
result : test-local();
}
}
@plugin "./plugin/plugin-tree-nodes";
@ruleset2: test-detached-ruleset();
.root {
@ruleset2();
}
.test-empty {
val1: foo;
test-collapse();
val2: foo;
}
.test-simple {
@plugin "./plugin/plugin-simple";
value: pi-anon();
value: (pi() * 2);
}
.test-conflicts {
@plugin "./plugin/plugin-scope1";
value: foo();
}
.test-conflicts {
@plugin "./plugin/plugin-scope2";
value: foo();
}
.test-conflicts {
@plugin "./plugin/plugin-scope1";
value: foo();
}
.test-collection {
@plugin "./plugin/plugin-collection";
@var: 32;
store(@var);
store(5);
store("bird");
list: list();
}
test-atrule("@charset"; '"utf-8"');
test-atrule("@arbitrary"; "value after ()");
// no minVersion specified
@plugin (option1) "./plugin/plugin-set-options";
@plugin "./plugin/plugin-set-options";
@plugin (option2) "./plugin/plugin-set-options";
@plugin "./plugin/plugin-set-options";
@plugin (option3) "./plugin/plugin-set-options";
// specifies minVersion: [2,0,0]
@plugin (option1) "./plugin/plugin-set-options-v2";
@plugin "./plugin/plugin-set-options-v2";
@plugin (option2) "./plugin/plugin-set-options-v2";
@plugin "./plugin/plugin-set-options-v2";
@plugin (option3) "./plugin/plugin-set-options-v2";
// specifies minVersion: [3,0,0]
@plugin (option1) "./plugin/plugin-set-options-v3";
@plugin "./plugin/plugin-set-options-v3";
@plugin (option2) "./plugin/plugin-set-options-v3";
@plugin "./plugin/plugin-set-options-v3";
@plugin (option3) "./plugin/plugin-set-options-v3";