Horsin' around

This commit is contained in:
2021-03-12 16:22:23 +01:00
parent 11c5146a19
commit 8275d2960d
7 changed files with 187 additions and 1252 deletions

View File

@@ -48,8 +48,11 @@ apply_alias_stack(name)
auto_name(delimiter)
if length(called-from) < 3
return null
name = split(delimiter, called-from[2])[-1]
if name in ('RV-Element' 'RV-Block' 'RV-Element--modifier' 'RV-Block--modifier')
block_name = called-from[2]
if delimiter == null
return block_name
name = split(delimiter, block_name)[-1]
if name in ('RV-Element' 'RV-Block' 'RV-Block--shorthand' 'RV-Element--modifier' 'RV-Block--modifier' 'RV-Generate')
return null
return name
@@ -82,13 +85,13 @@ is_any_parent_nested()
return true
return false
RV-Level(name, name_delimiter, allowed_parent_levels, selector_callback, squash_if_parent_nested=false)
if name == null
name = auto_name(name_delimiter)
RV-Level(name_delimiter, allowed_parent_levels=null, selector_callback, squash_if_parent_nested=false)
name = auto_name(name_delimiter)
p(called-from)
not_in_parent = true
for parent_level in allowed_parent_levels
not_in_parent = not_in_parent && not_nested_in(parent_level)
if not_in_parent || is_nested_in('RV-Squash')
if not_in_parent //|| is_nested_in('RV-Squash')
{block}
else if is_nested()
store_alias(name)
@@ -108,6 +111,11 @@ RV-Level(name, name_delimiter, allowed_parent_levels, selector_callback, squash_
{selector_name}
{block}
// RV-Fan--horizontal RV-Fan--horizontal __ Base -- wurst
// RV-BreakPoint__Item--outside RV-Fan--horizontal__Base RV-Fan--horizontal
RV-Block(name)
.{name}
@@ -115,29 +123,39 @@ RV-Block(name)
_bem_context._alias_map = {}
_bem_context._alias_stacks = {}
RV-Generate()
{block}
_bem_context._alias_map = {}
_bem_context._alias_stacks = {}
RV-Block()
+RV-Level(null, ('RV-Generate'), @(name){
define('current_block', name, true)
return '.'+name
})
{block}
RV-Block--shorthand(name)
+RV-Block(name)
{block}
RV-Element(name=null)
+RV-Level(name, '__', ('RV-Block' 'RV-Block--modifier'), @(name){
if is_nested_in('RV-Block--modifier') {
return '& ^[-1]__' + name
}
else {
return '& &__' + name
}
RV-Element()
+RV-Level('__', ('RV-Generate' 'RV-Block--modifier'), @(name){
return '& .' + current_block +'__' + name
})
{block}
RV-Element--modifier(name=null)
+RV-Level(name, '--', ('RV-Element'), @(name){return '&--' + name}, true)
RV-Element--modifier()
+RV-Level('--', ('RV-Element'), @(name){return '&--' + name}, true)
{block}
RV-Block--modifier(name=null)
+RV-Level(name, '--', ('RV-Block' 'RV-Block--shorthand'), @(name){return '&--' + name}, true)
RV-Block--modifier()
+RV-Level('--', ('RV-Generate' 'RV-Block--shorthand'), @(name){
'.' + current_block +'--' + name
}, true)
if is_nested_in('RV-Block--shorthand') && length(called-from) > 0
mixin_name = split('--', called-from[0])[0]
convert(unquote(mixin_name)+'()')