lemon-imui-rx
Version:
基于lemon-imui的vue聊天组件,支持vue2.x
67 lines (60 loc) • 1.52 kB
text/stylus
// -----------------------------------------------------------------------------
// bem-sugar.styl --- Bem mixins for stylus language
//
// Copyright (c) 2017 Ilya Obuhov
//
// Author: Ilya Obuhov <iobuhov.mail@gmail.com>
// URL: https://github.com/iobuhov/stylus-bem-sugar
e-prefix ?= '__'
m-prefix ?= '--'
m-delimiter ?= '_'
group-store = ()
str()
join('', arguments)
b(name)
.{name}
{block}
group()
caller = called-from[0]
level = length(called-from) + 1
elements = group-store[level]
selector = ()
parent = null
{join(',', elements)}
{block}
group-store[level] = null
m(mod, val=null)
val = val && m-delimiter + val
mod = m-prefix + mod
mod = val ? mod + val : mod
caller = called-from[0]
if caller in ('group')
level = length(called-from)
mod = str('&', mod)
if group-store[level] == null
group-store[level] = mod
else
push(group-store[level], mod)
&{mod}
{block}
e(element)
element = e-prefix + element
caller = called-from[0]
gcaller = called-from[1]
if caller in ('group')
level = length(called-from)
if gcaller in ('e' 'm')
element = str('& ^[0]', element)
else
element = str('^[0]', element)
if group-store[level] == null
group-store[level] = element
else
push(group-store[level], element)
else
if caller in ('e' 'm')
& ^[0]{element}
{block}
else
&{element}
{block}