Molecules are groups of atoms bonded together and are the smallest fundamental units of a compound. These molecules take on their own properties and serve as the backbone of our design systems.
For example, a form label, input or button aren’t too useful by themselves, but combine them together as a form and now they can actually do something together.
<div class="jhlite-field">
<div class="jhlite-field--label">
<label class="jhlite-label" for="field-name">Field name
</label>
</div>
<div class="jhlite-field--field">
<input class="jhlite-input-text" id="field-name" value="Field value"/>
</div>
</div>
<div class="jhlite-field">
<div class="jhlite-field--label">
<label class="jhlite-label" for="field-optional">Field optional
</label>
</div>
<div class="jhlite-field--field">
<input class="jhlite-input-text" id="field-optional"/>
</div>
<div class="jhlite-field--optional">Optional</div>
</div>
.jhlite-field
.jhlite-field--label
label.jhlite-label(for="field-name")
| Field name
.jhlite-field--field
input#field-name.jhlite-input-text(value="Field value")
.jhlite-field
.jhlite-field--label
label.jhlite-label(for="field-optional")
| Field optional
.jhlite-field--field
input#field-optional.jhlite-input-text
.jhlite-field--optional Optional<span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-book" aria-label="Icon book"></em></span><span class="jhlite-icon-text--text">Icon text</span></span><span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-book" aria-label="Icon book"></em></span><span class="jhlite-icon-text--text -lg-only">Show lg only</span></span>
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-book(aria-label="Icon book")
span.jhlite-icon-text--text Icon text
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-book(aria-label="Icon book")
span.jhlite-icon-text--text.-lg-only Show lg only<div class="jhlite-loader-container">
<div class="jhlite-loader"></div>
</div>
.jhlite-loader-container
.jhlite-loader<nav>
<ul class="jhlite-nav">
<li class="jhlite-nav--item"><span class="jhlite-nav-item -current"><span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-puzzle" aria-label="Icon puzzle"></em></span><span class="jhlite-icon-text--text">Modules</span></span></span>
</li>
<li class="jhlite-nav--item"><a class="jhlite-nav-item" href="#"><span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-map" aria-label="Icon map"></em></span><span class="jhlite-icon-text--text">Landscape</span></span></a>
</li>
<li class="jhlite-nav--item"><a class="jhlite-nav-item" href="#"><span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-book" aria-label="Icon book"></em></span><span class="jhlite-icon-text--text">Documentation</span></span></a>
</li>
<li class="jhlite-nav--item"><a class="jhlite-nav-item" href="#"><span class="jhlite-icon-text"><span class="jhlite-icon-text--icon"><em class="jhlite-icon jhlite-icon-binoculars" aria-label="Icon binoculars"></em></span><span class="jhlite-icon-text--text">Swagger UI</span></span></a>
</li>
</ul>
</nav>
nav
ul.jhlite-nav
li.jhlite-nav--item
span.jhlite-nav-item.-current
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-puzzle(aria-label="Icon puzzle")
span.jhlite-icon-text--text Modules
li.jhlite-nav--item
a.jhlite-nav-item(href="#")
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-map(aria-label="Icon map")
span.jhlite-icon-text--text Landscape
li.jhlite-nav--item
a.jhlite-nav-item(href="#")
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-book(aria-label="Icon book")
span.jhlite-icon-text--text Documentation
li.jhlite-nav--item
a.jhlite-nav-item(href="#")
span.jhlite-icon-text
span.jhlite-icon-text--icon
em.jhlite-icon.jhlite-icon-binoculars(aria-label="Icon binoculars")
span.jhlite-icon-text--text Swagger UI<button class="jhipster-tag-filter">init</button>
button.jhipster-tag-filter init<div class="jhlite-toast -success" role="alert">
<div class="jhlite-toast--message">Good message
</div>
<button class="jhlite-toast--action" aria-label="Close"><em class="jhlite-icon jhlite-icon-cancel" aria-label="Icon cancel"></em>
</button>
</div>
<div class="jhlite-toast -error" role="alert">
<div class="jhlite-toast--message">Bad message
</div>
<button class="jhlite-toast--action" aria-label="Close"><em class="jhlite-icon jhlite-icon-cancel" aria-label="Icon cancel"></em>
</button>
</div>
.jhlite-toast.-success(role="alert")
.jhlite-toast--message Good message
button.jhlite-toast--action(aria-label="Close")
em.jhlite-icon.jhlite-icon-cancel(aria-label="Icon cancel")
.jhlite-toast.-error(role="alert")
.jhlite-toast--message Bad message
button.jhlite-toast--action(aria-label="Close")
em.jhlite-icon.jhlite-icon-cancel(aria-label="Icon cancel")