JSFiddle - React, Tailwind, and code Playground
HTML
<paper-item class="toc-item paper-item-0" role="option" tabindex="0" aria-disabled="false" aria-selected="true">
<i class="bulletStyle #lineAbove lineBelow">1</i>
<span class="tocText">Overview</span>
</paper-item>
<paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false">
<i class="bulletStyle lineAbove lineBelow">2</i>
<span class="tocText">Setup and requirements
<br />Line 1
<br />Line 2
<br />Line 3
<br />Line 4
<br />Line 5
<br />Line 6
</span>
</paper-item>
<paper-item class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false">
<i class="bulletStyle lineAbove lineBelow">3</i>
<span class="tocText">foo</span>
</paper-item>
<a class="toc-item paper-item-0" role="option" tabindex="-1" aria-disabled="false">
<i class="bulletStyle lineAbove #lineBelow">4</i>
<span class="tocText">foo</span>
</a>
CSS
.paper-item-0
{
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-direction: row;
-webkit-flex-direction: row;
flex-direction: row;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
font-family: 'Roboto', 'Noto', sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 16px;
font-weight: 400;
line-height: 24px;
position: relative;
min-height: 48px;
padding: 0px 16px;
border: 1px solid hotpink;
}
.toc-item
{
font-size: 14px;
color: #9e9e9e;
overflow: hidden;
border-radius: 4px;
padding: 6px 16px;
box-sizing: content-box;
}
.bulletStyle
{
display: inline-block;
font-style: normal;
width: 24px;
min-width: 24px;
background-color: #fff;
border-radius: 50%;
text-align: center;
height: 24px;
vertical-align: middle;
line-height: 24px;
border: 2px solid #bdbdbd;
margin-right: 8px;
font-weight: 400;
}
.lineAbove::before
{
position: absolute;
top: 0px;
left: 30px;
bottom: calc(50% + 12px);
content: '';
display: block;
border-left: 1px solid #bdbdbd;
#width: 0;
#height: 44px;
z-index: 1;
#margin-top: 1px;
#margin-left: 11px;
}
.lineBelow::after
{
position: absolute;
top: calc(50% + 12px);
left: 30px;
bottom: 0px;
content: '';
display: block;
...