Skip to content

Commit 6c83382

Browse files
committed
replace the readme table
1 parent e5aa73c commit 6c83382

File tree

1 file changed

+26
-82
lines changed

1 file changed

+26
-82
lines changed

Readme.md

+26-82
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@
1313
> [!NOTE]
1414
> Learn how to inject the `bem` prop in [the next chapter](#adding-the-bem-helper-to-your-components)
1515
16-
<table>
17-
<tr><td colspan=2>Simplest way to create a block with some elements</td></tr>
18-
<tr>
19-
<td>
16+
### Simplest way to create a block with some elements
2017

2118
```jsx
2219
function Acme({ bem: { className, element } }) {
@@ -25,87 +22,67 @@ function Acme({ bem: { className, element } }) {
2522
</div>
2623
}
2724
```
28-
</td>
29-
<td>
3025

3126
```html
3227
<div class="acme">
3328
<h1 class="acme__heading">Hello</h1>
3429
</div>
3530
```
36-
</td>
37-
</tr>
38-
<tr><td colspan=2>BEM helper as a shorthand if there are no elements</td></tr>
39-
<tr>
40-
<td>
31+
32+
### BEM helper as a shorthand if there are no elements
4133

4234
```jsx
4335
function Acme({ bem }) {
4436
return <div className={bem}>Hello</div>
4537
}
4638
```
47-
</td>
48-
<td>
4939

5040
```html
5141
<div class="acme">Hello</div>
5242
```
53-
</tr>
5443

55-
<tr><td colspan=2>Adding block modifiers</td></tr>
56-
<tr>
57-
<td>
44+
### Adding block modifiers
5845

5946
```jsx
6047
function Acme({ bem: { block } }) {
61-
const [on, setOn] = useState(true);
48+
const [toggle, setToggle] = useState(true);
6249
const onClick = useCallback(
63-
() => setOn(current => !current),
64-
[setOn],
50+
() => setToggle(current => !current),
51+
[setToggle],
6552
);
6653

67-
return <div className={block`${{ on }} mod`}>
54+
return <div className={block`${{ toggle }} always-enabled`}>
6855
<button onClick={onClick}>Toggle</button>
6956
</div>
7057
}
7158
```
72-
</td>
73-
<td>
7459

7560
```html
76-
<div class="acme acme--on acme--mod"/>
61+
<div class="acme acme--toggle acme--always-enabled"/>
7762
```
78-
</tr>
7963

80-
<tr><td colspan=2>Mixing the block with other classes</td></tr>
81-
<tr>
82-
<td>
64+
65+
### Mixing the block with other classes
8366

8467
```jsx
8568
function Acme({ bem: { block } }) {
8669
return <div className={mix`me-2 d-flex`}>
8770
</div>
8871
}
8972
```
90-
</td>
91-
<td>
9273

9374
```html
9475
<div class="acme me-2 d-flex">...</div>
9576
```
96-
</tr>
9777

98-
<tr><td colspan=2>
99-
To mix a block with a parent element just pass the element name as `className`
100-
and it will be appended automatically
101-
</td></tr>
102-
<tr>
103-
<td>
78+
### Mixing with parent block
79+
80+
To mix a block with a parent element just pass the element name as `className`
81+
and it will be appended automatically
10482

10583
```jsx
10684
function Child({ bem: { block } }) {
107-
const mod = { active: true }
108-
return <div className={block`${mod}`.mix`me-2`}/>
85+
return <div className={block`${{ active: true }}`.mix`me-2`}/>
10986
}
11087

11188
function Parent({ bem: { className, element } }) {
@@ -114,68 +91,35 @@ function Parent({ bem: { className, element } }) {
11491
</div>
11592
}
11693
```
117-
</td>
118-
<td>
11994

12095
```html
12196
<div class="parent">
122-
<div class="
123-
child
124-
parent__element
125-
child--active
126-
me2
127-
"/>
97+
<div class="child parent__element child--active me2"/>
12898
</div>
12999
```
130-
</tr>
131100

132101

133-
<tr><td colspan=2>Using elements with modifiers</td></tr>
134-
<tr>
135-
<td>
102+
### Using elements with modifiers
136103

137104
```jsx
138105
function Acme({ bem: { block, element } }) {
139106
return <div className={block}>
140-
<div class={
141-
element`item ${{ selected: true }} me-2`
142-
}/>
143-
<div class={
144-
element`item ${{ variant: 'primary' }}`
145-
}/>
146-
<div class={
147-
element`item ${['theme-dark']}`
148-
}/>
149-
<div class={
150-
element`item`.mix`d-flex`
151-
}/>
107+
<div class={element`item ${{ selected: true }} me-2`} />
108+
<div class={element`item ${{ variant: 'primary' }}`} />
109+
<div class={element`item ${['theme-dark']}`} />
110+
<div class={element`item`.mix`d-flex`} />
152111
</div>
153112
}
154113
```
155-
</td>
156-
<td>
157114

158115
```html
159116
<div class="acme">
160-
<div class="
161-
acme__item acme__item--selected me-2
162-
"/>
163-
<div class="
164-
acme__item acme__item--variant-primary
165-
"/>
166-
<div class="
167-
acme__item acme__item--theme-dark
168-
"/>
169-
<div class="
170-
acme__item d-flex
171-
"/>
117+
<div class="acme__item acme__item--selected me-2" />
118+
<div class="acme__item acme__item--variant-primary" />
119+
<div class="acme__item acme__item--theme-dark" />
120+
<div class="acme__item d-flex" />
172121
</div>
173122
```
174-
</tr>
175-
176-
177-
<tbody>
178-
</table>
179123

180124
## Adding the BEM helper to your components
181125

0 commit comments

Comments
 (0)