Skip to content

#bem: Return callback with scoped namespace and/or block  #30

@askirmas

Description

@askirmas

Note: microsoft/TypeScript#12265 (comment)
Related: #41

namespace

TS parser should know somehow. Same JS understand from object in case of mix

https://material.io/components/buttons/web#contained-button

<i class="material-icons mdc-button__icon" aria-hidden="true">bookmark</i>

block

https://material.io/components/buttons/web#contained-button

<button class="mdc-button mdc-button--raised mdc-ripple-upgraded mdc-ripple-upgraded--foreground-activation">
  <span class="mdc-button__ripple"></span>
  <i class="material-icons mdc-button__icon">bookmark</i>
  <span class="mdc-button__label">Contained Button plus Icon</span>
</button>

turns to something like

ctx from string

const btn = bem("mdc-button") // (["mdc", "button"]) ? "@mdc"? "mdc"? + vs `bem("mdc")` vs `bem("button")

<button {...btn(true, {$: "raised"}, {"mdc-ripple-upgraded": "foreground-activation"})}>
  <i {...btn({icon: true}, materialIcon)}/>
  {/* button of button */}
  <I {...btn(true, {$: "raised", icon: true}, materialIcon)}/>
</button>

ctx from separated singleton of block

const btn = bem({"mdc-button": "raised"}, {"mdc-ripple-upgraded": "foreground-activation"})

<button {...btn}>
  <i {...btn(true, {$: "raised", icon: true}, materialIcon)}/>
</button>

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions