Badges

A badge component describes status of other UI elements. It is commonly used to highlight new or unread items.

Basic

Inbox 5 Primary
Inbox 5 Secondary
Updates new Primary
Updates new Secondary
<span class="c-badge c-badge--primary">5</span>

<span class="c-badge c-badge--secondary">5</span>

<span class="c-badge c-badge--primary">new</span>

<span class="c-badge c-badge--secondary">new</span>

Round

Inbox 1 Primary
Inbox 72 Secondary
<span class="c-badge c-badge--round c-badge--round--primary">1</span>

<span class="c-badge c-badge--round c-badge--round--secondary">72</span>

Square

Inbox 4 new Primary
Inbox 4 new Secondary
free
info
default
<span class="c-badge c-badge--square c-badge--square--primary">4 new</span>

<span class="c-badge c-badge--square c-badge--square--secondary">4 new</span>

<span class="c-badge c-badge--square c-badge--square--primary">free</span>

<span class="c-badge c-badge--square c-badge--square--primary">info</span>

<span class="c-badge c-badge--square c-badge--square--secondary">default</span>

Demo

TO DO

Basic Buttons

To use the button components, include the c-btn class in addition to the differentiating primary and secondary styling, which are applied with either classes: c-btn--primary or c-btn--secondary.

Link Button
<!-- Primary buttons -->
<button class="c-btn--primary c-btn" type="button" name="button">Primary</button>

<!-- Secondary buttons -->
<button class="c-btn--secondary c-btn" type="button" name="button">Secondary</button>

<!-- Anchor tag styled as a primary button -->
<a class="c-btn--primary c-btn" href="#">Link Button</a>

<!-- Button with fontawesome.io icon -->
<button class="c-btn--primary c-btn" type="button" name="button">
  <span class="c-btn__btn-icon">
    <i class="fa fa-paper-plane" aria-hidden="true"></i>
  </span>
  Send
</button>

<!-- Disabled button using the disabled attribute. -->
<button class="c-btn--primary c-btn" type="button" name="button" disabled>
  <span class="c-btn__btn-icon">
    <i class="fa fa-cog" aria-hidden="true"></i>
  </span>
  Disabled
</button>

Rounded Buttons

To achieve the rounded effect, append --rounded to the primary or secondary class names.

Link Button
<!-- Primary buttons -->
<button class="c-btn--primary--rounded c-btn" type="button" name="button">Primary</button>

<!-- Secondary buttons -->
<button class="c-btn--secondary--rounded c-btn" type="button" name="button">Secondary</button>

<!-- Anchor tag styled as a primary button -->
<a class="c-btn--primary--rounded c-btn" href="#">Link Button</a>

<!-- Button with fontawesome.io icon -->
<button class="c-btn--primary--rounded c-btn" type="button" name="button">
  <span class="c-btn__btn-icon">
    <i class="fa fa-paper-plane" aria-hidden="true"></i>
  </span>
Send
</button>

<!-- Disabled button using the disabled attribute. -->
<button class="c-btn--primary--rounded c-btn" type="button" name="button" disabled>
  <span class="c-btn__btn-icon">
    <i class="fa fa-cog" aria-hidden="true"></i>
  </span>
  Disabled
</button>

Button Groups

Group buttons together by utilizing the c-btn-i class. For alternative colors on specific buttons, include c-btn-i--diff.

<ul class="c-btn-gp">
  <li><button class="c-btn c-btn-i" type="button" name="button">Button 1</button></li>
  <li><button class="c-btn c-btn-i c-btn-i--diff" type="button" name="button">Button 2</button></li>
  <li><button class="c-btn c-btn-i" type="button" name="button">Button 3</button></li>
  <li><button class="c-btn c-btn-i c-btn-i--diff" type="button" name="button">Button 4</button></li>
</ul>

<ul class="c-btn-gp">
  <li><a class="c-btn c-btn-i" href="#">Link 1</a></li>
  <li><a class="c-btn c-btn-i c-btn-i--diff" href="#">Link 2</a></li>
  <li><a class="c-btn c-btn-i" href="#">Link 3</a></li>
  <li><a class="c-btn c-btn-i c-btn-i--diff" href="#">Link 4</a></li>
</ul>

<ul class="c-btn-gp">
  <li><button class="c-btn c-btn-i c-btn-i--rd-l" type="button" name="button">Button 1</button></li>
  <li><button class="c-btn c-btn-i c-btn-i--diff" type="button" name="button">Button 2</button></li>
  <li><button class="c-btn c-btn-i" type="button" name="button">Button 3</button></li>
  <li><button class="c-btn c-btn-i c-btn-i--diff c-btn-i--rd-r" type="button" name="button">Button 4</button></li>
</ul>

Cards

Cards are a convenient way to display related bits of information.


Article Preview

Used to display a preview of an article or post.


Travel

April 3, 2017

Europe on $50 a Day

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis, repudiandae velit! Ad aperiam, blanditiis delectus repudiandae velit?
<div class="c-card">
  <div class="c-card__head">
    <img class="c-card__img" src="path/to/image">
    <span class="c-card__category">Travel</span>
  </div>
  <div class="c-card__body">
    <p class="c-card__date">April 3, 2017</p>
    <h3 class="c-card__title">Europe on $50 a Day</h3>
    <div class="c-separator u-separator--primary"></div>
    <div class="c-card__text">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis, repudiandae velit! Ad aperiam, blanditiis delectus repudiandae velit?
    </div>
    <button class="c-btn--primary c-btn pull-right" type="button" name="button">Read More</button>
  </div>
</div>

Contact Card

Card showing contact information.


Jenny Jones

Senior Backend Developer
<div class="c-card">
  <div class="c-card__head">
    <img class="c-card__img" src="path/to/image">
    <img class="c-card__profile-pic" src="../images/girl-2.png">
  </div>
  <div class="c-card__body">
    <h3 class="c-card__profile-name u-text-center">Jenny Jones</h3>
    <div class="c-card__text u-text-center">
    Senior Backend Developer
  </div>
  <div class="c-separator u-separator--primary"></div>
  <div class="c-card__social-profiles u-text-center">
    <a class="c-card__social-icon" href="#"><i class="fa fa-envelope" aria-hidden="true"></i></a>
    <a class="c-card__social-icon" href="#"><i class="fa fa-github-alt" aria-hidden="true"></i></a>
    <a class="c-card__social-icon" href="#"><i class="fa fa-twitter" aria-hidden="true"></i></a>
  </div>
</div>

Call to Action

This card brings some information to the user's attention and requires their input.


Take Our Survey

Lorem ipsum dolor sit amet, consectetur adipisicing elit. repudiandae velit?
<div class="c-card">
  <div class="c-card__head u-bg-primary">
    <span class="c-card__head-icon">
      <i class="fa fa-pencil" aria-hidden="true"></i>
    </span>
  </div>
  <div class="c-card__body">
    <h3 class="c-card__title">Take Our Survey</h3>
    <div class="c-card__text">
    Lorem ipsum dolor sit amet, consectetur adipisicing elit. repudiandae velit?
    </div>
    <button class="c-btn--secondary c-btn pull-left" type="button" name="button">Nope!</button>
    <button class="c-btn--primary c-btn pull-right" type="button" name="button">Okay</button>
  </div>
</div>

Chips

Chips are small blocks that contain complex elements, such as text, images, and icons. They can represent contact information and various categories.

Basic Chip

Basic chip
Basic chip
<div class="c-chip--filled">
  Basic chip
</div>

<div class="c-chip--outlined">
  Basic chip
</div>

Avatar Chips - Initial

A Avatar chip - initial
A Avatar chip - initial
<div class="c-chip--filled">
  <span class="c-chip__media--f">A</span>
  Avatar chip - initial
</div>

<div class="c-chip--outlined">
  <span class="c-chip__media--o">A</span>
  Avatar chip - initial
</div>

Avatar Chips - Icon

Avatar chip - icon
Avatar chip - icon
<div class="c-chip--filled">
  <span class="c-chip__media--f"><i class="fa fa-user-o c-chip__icon" aria-hidden="true"></i></span>
  Avatar chip - icon
</div>

<div class="c-chip--outlined">
  <span class="c-chip__media--o"><i class="fa fa-user-o c-chip__icon" aria-hidden="true"></i></span>
  Avatar chip - icon
</div>

Avatar Chips - Image

contact people Avatar chip - image
contact people Avatar chip - image
<div class="c-chip--filled">
  <span class="c-chip__media--f"><img src="" alt="contact people" class="c-chip__img"></span>
  Avatar chip - image
</div>

<div class="c-chip--outlined">
  <span class="c-chip__media--f c-chip__media--f--img"><img src="" alt="contact people" class="c-chip__img"></span>
  Avatar chip - image
</div>

Deletable Chips

Basic chip
Basic chip
D Avatar chip - initial
D Avatar chip - initial
Avatar chip - icon
Avatar chip - icon
contact people Avatar chip - image
contact people Avatar chip - image
<div class="c-chip--filled c-chip--deletable">
  Basic chip
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--outlined c-chip--deletable">
  Basic chip
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--filled c-chip--deletable">
  <span class="c-chip__media--f">D</span> Avatar chip - initial
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--outlined c-chip--deletable">
  <span class="c-chip__media--o">D</span> Avatar chip - initial
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--filled c-chip--deletable">
  <span class="c-chip__media--f"><i class="fa fa-user-o c-chip__icon" aria-hidden="true"></i></span>
  Avatar chip - icon
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--outlined c-chip--deletable">
  <span class="c-chip__media--o"><i class="fa fa-user-o c-chip__icon" aria-hidden="true"></i></span>
  Avatar chip - icon
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--filled c-chip--deletable">
  <span class="c-chip__media--f"><img src="" alt="contact people" class="c-chip__img"></span>
  Avatar chip - image
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

<div class="c-chip--outlined c-chip--deletable">
  <span class="c-chip__media--f c-chip__media--f--img"><img src="" alt="contact people" class="c-chip__img"></span>
  Avatar chip - image
  <span class="c-chip__delete"><i class="fa fa-times" aria-hidden="true"></i></span>
</div>

Normal-Size Checkbox Inputs

Add c-input and c-input-checkbox classes to the input. You must also use the c-label class for the required labels.

<div class="c-checkbox">
  <input class="c-input c-input-checkbox" id="example1" type="checkbox" name="aliceblue" value="aliceblue">
  <label class="c-label" for="example1">aliceblue</label>
</div>

<div class="c-checkbox">
  <input class="c-input c-input-checkbox" id="example2" type="checkbox" name="burlywood" value="burlywood">
  <label class="c-label" for="example2">burlywood</label>
</div>

<div class="c-checkbox">
  <input class="c-input c-input-checkbox" id="example3" type="checkbox" name="chartreuse" value="chartreuse">
  <label class="c-label" for="example3">chartreuse</label>
</div>

Large-Size Checkbox Inputs

Add c-input and c-input-checkbox--lg classes to the input. You must also use the c-label class for the required labels.

<div class="c-checkbox">
  <input class="c-input c-input-checkbox--lg" id="example4" type="checkbox" name="aliceblue" value="aliceblue">
  <label class="c-label" for="example4">aliceblue</label>
</div>

<div class="c-checkbox">
  <input class="c-input c-input-checkbox--lg" id="example5" type="checkbox" name="burlywood" value="burlywood">
  <label class="c-label" for="example5">burlywood</label>
</div>

<div class="c-checkbox">
  <input class="c-input c-input-checkbox--lg" id="example6" type="checkbox" name="chartreuse" value="chartreuse">
  <label class="c-label" for="example6">chartreuse</label>
</div>

Radio Button Inputs

Nest the radio buttons within the <radiogroup> tag. Only one radio button can be selected at a time.

Apply the c-radiogroup class to the <radiogroup> tag. All radio buttons require the c-input class and their respective label.

<radiogroup class="c-radiogroup">
  <div class="c-radio">
    <input class="c-input c-input-radio" id="example7" type="radio" name="chromecolor" value="aliceblue">
    <label class="c-label" for="example7">aliceblue</label>
  </div>

  <div class="c-radio">
    <input class="c-input c-input-radio" id="example8" type="radio" name="chromecolor" value="burlywood">
    <label class="c-label" for="example8">burlywood</label>
  </div>

  <div class="c-radio">
    <input class="c-input c-input-radio" id="example9" type="radio" name="chromecolor" value="chartreuse">
    <label class="c-label" for="example9">chartreuse</label>
  </div>
</radiogroup>

Toggle Switch Using Checkbox Input

For square toggle switches, remove the class c-switch--rd from both the label and slider div.

<div class="c-switch">
  <input class="c-input c-input-switch" id="c-input-switch" type="checkbox" name="c-input-switch">
  <label class="c-switch__body c-switch--rd" for="c-input-switch"></label>
  <div class="c-switch__slider c-switch--rd"></div>
</div>

List

Lists are used to group related content, including text, images and more complex components. They consist of multiple items displayed vertically or horizontally.

Basic Ordered List

  1. Course 1
  2. Course 2
    1. Chapter 1
    2. Chapter 2
    3. Chapter 3
      1. Section 1
      2. Section 2
  3. Course 3
<ol class="c-list c-list--ol">
  <li class="c-list__item c-list--ol__item">Course 1</li>
  <li class="c-list__item c-list--ol__item">Course 2
    <ol class="c-list c-list--ol c-list__sublist">
      <li class="c-list__item c-list--ol__item">Chapter 1</li>
      <li class="c-list__item c-list--ol__item">Chapter 2</li>
      <li class="c-list__item c-list--ol__item">Chapter 3
        <ol class="c-list c-list--ol c-list__sublist">
          <li class="c-list__item c-list--ol__item">Section 1</li>
          <li class="c-list__item c-list--ol__item">Section 2</li>
        </ol>
      </li>
    </ol>
  </li>
  <li class="c-list__item c-list--ol__item">Course 3</li>
</ol>
<ol class="c-list c-list--ol">
  <li class="c-list__item c-list--ol__item">
    <a href="#">Course 1</a>
  </li>
  <li class="c-list__item c-list--ol__item">
    <a href="#">Course 2</a>
    <ol class="c-list c-list--ol c-list__sublist">
      <li class="c-list__item c-list--ol__item">
        <a href="#">Chapter 1</a>
      </li>
      <li class="c-list__item c-list--ol__item">
        <a href="#">Chapter 2</a>
      </li>
      <li class="c-list__item c-list--ol__item">
        <a href="#">Chapter 3</a>
        <ol class="c-list c-list--ol c-list__sublist">
          <li class="c-list__item c-list--ol__item">
            <a href="#">Section 1</a>
          </li>
          <li class="c-list__item c-list--ol__item">
            <a href="#">Section 2</a>
          </li>
        </ol>
      </li>
    </ol>
  </li>
  <li class="c-list__item c-list--ol__item">
    <a href="#">Course 3</a>
  </li>
</ol>

Basic Unordered List

<ul class="c-list c-list--ul">
  <li class="c-list__item c-list--ul__item">Course 1</li>
  <li class="c-list__item c-list--ul__item">Course 2
    <ul class="c-list c-list--ul c-list__sublist">
      <li class="c-list__item c-list--ul__item">
        < href="#">Chapter 1 - link</a>
      </li>
      <li class="c-list__item c-list--ul__item">Chapter 2</li>
      <li class="c-list__item c-list--ul__item">Chapter 3
        <ul class="c-list c-list--ul c-list__sublist">
          <li class="c-list__item c-list--ul__item">Section 1</li>
          <li class="c-list__item c-list--ul__item">
            <a href="#">Section 2 - link</a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <li class="c-list__item c-list--ul__item">
    <a href="#">Course 3</a>
  </li>
</ul>

Bulleted Unordered List

<ul class="c-list c-list--ul-bt">
  <li class="c-list__item c-list--ul__item">Course 1</li>
  <li class="c-list__item c-list--ul__item">Course 2
    <ul class="c-list c-list__sublist c-list--ul-bt__sublist">
      <li class="c-list__item c-list--ul__item">
        <a href="#">Chapter 1 - link</a>
      </li>
      <li class="c-list__item c-list--ul__item">Chapter 2</li>
      <li class="c-list__item c-list--ul__item">Chapter 3
        <ul class="c-list c-list__sublist c-list--ul-bt__sublist">
          <li class="c-list__item c-list--ul__item">Section 1</li>
          <li class="c-list__item c-list--ul__item">
            <a href="#">Section 2 - link</a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <li class="c-list__item c-list--ul__item">Course 3</li>
</ul>

Unordered List - Icon

<ul class="c-list c-list--ul">
  <li class="c-list__item c-list--ul__item">
    <i class="fa fa-user c-list__icon" aria-hidden="true"></i> John Doe
  </li>
  <li class="c-list__item c-list--ul__item">
    <i class="fa fa-map-marker c-list__icon" aria-hidden="true"></i> New York, NY
  </li>
  <li class="c-list__item c-list--ul__item">
    <i class="fa fa-envelope c-list__icon" aria-hidden="true"></i>
    <a href="#">john.doe@example.com</a>
  </li>
  <li class="c-list__item c-list--ul__item">
    <i class="fa fa-globe c-list__icon" aria-hidden="true"></i>
    <a href="#">johndoe.com</a>
  </li>
</ul>

Unordered List - Image

<ul class="c-list c-list--ul">
  <li class="c-list__item c-list__item--media">
    <img src="" class="c-list__img"> John
  </li>
  <li class="c-list__item c-list__item--media">
    <img src="" class="c-list__img"> Amy
  </li>
  <li class="c-list__item c-list__item--media">
    <img src="" class="c-list__img">
    <a href="#">Chris</a>
  </li>
  <li class="c-list__item c-list__item--media">
    <img src="" class="c-list__img"> Daniel
  </li>
</ul>

Horizontal List

<ul class="c-list c-list--ul c-list--hz">
  <li class="c-list__item c-list__item--media c-list__item--hz">
    <img src="" class="c-list__img"> John
  </li>
  <li class="c-list__item c-list__item--media c-list__item--hz">
    <img src="" class="c-list__img"> Amy
  </li>
  <li class="c-list__item c-list__item--media c-list__item--hz">
    <img src=" class="c-list__img">
    <a href="#">Chris</a>
  </li>
  <li class="c-list__item c-list__item--media c-list__item--hz">
    <img src="" class="c-list__img"> Daniel
  </li>
</ul>

Pagination

Pagination lists can be used for supplementary navigation

Simple

Use <ol class="c-pagination">

  1. 1
  2. 14
  3. 15
  4. 16
  5. 32

Round

Use <ol class="c-pagination--round">

  1. 1
  2. 14
  3. 15
  4. 16
  5. 32

Square

Use <ol class="c-pagination--square">

  1. 1
  2. 14
  3. 15
  4. 16
  5. 32
<ol class="c-pagination">
  <li class="c-pagination__nav--prev"><a href="#"><i class="fa fa-chevron-left"></i></a></li>
  <li class="c-pagination__item"><a href="#">1</a></li>
  <li class="c-pagination__item"><a href="#"><i class="fa fa-ellipsis-h"></i></a></li>
  <li class="c-pagination__item"><a href="#">14</a></li>
  <li class="c-pagination__item--current"><a href="#">15</a></li>
  <li class="c-pagination__item"><a href="#">16</a></li>
  <li class="c-pagination__item"><a href="#"><i class="fa fa-ellipsis-h"></i></a></li>
  <li class="c-pagination__item"><a href="#">32</a></li>
  <li class="c-pagination__nav--next"><a href="#"><i class="fa fa-chevron-right"></i></a></li>
</ol>

Select Box

Eureka Button with Options


<select class="eureka-select">
  <option class="eureka-select-option1">Option1</option>
  <option>Option2</option>
  <option>Option3</option>
</select>

Tables

Tables offer a way to present a lot of information to the end user at one time. Table requires the HTML5 standard of thead as well as tbody.


Regular Table

Add a class of "c-table" to your tables. Tables don't have borders by default.


Column 1 Column 2 Column 3 Column 4
One Two Three Four
One Two Three Four
One Two Three Four
<table class="c-table">
  <thead class="c-table__head">
    <tr class="c-table__row">
      <th class="c-table__head-column">Column 1</th>
      <th class="c-table__head-column">Column 2</th>
      <th class="c-table__head-column">Column 3</th>
      <th class="c-table__head-column">Column 4</th>
    </tr>
  </thead>
  <tbody class="c-table__body">
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
  </tbody>
</table>

Bordered Table

Add class "c-table--bordered" to add borders to the table.


Column 1 Column 2 Column 3 Column 4
One Two Three Four
One Two Three Four
One Two Three Four
<table class="c-table c-table--bordered">
  <thead class="c-table__head">
    <tr class="c-table__row">
      <th class="c-table__head-column">Column 1</th>
      <th class="c-table__head-column">Column 2</th>
      <th class="c-table__head-column">Column 3</th>
      <th class="c-table__head-column">Column 4</th>
    </tr>
  </thead>
  <tbody class="c-table__body">
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
  </tbody>
</table>

Striped Table

Add class "c-table--striped" to add stripes to every odd row of the table.


Column 1 Column 2 Column 3 Column 4
One Two Three Four
One Two Three Four
One Two Three Four
One Two Three Four
<table class="c-table c-table--bordered c-table--striped">
  <thead class="c-table__head">
    <tr class="c-table__row">
      <th class="c-table__head-column">Column 1</th>
      <th class="c-table__head-column">Column 2</th>
      <th class="c-table__head-column">Column 3</th>
      <th class="c-table__head-column">Column 4</th>
    </tr>
  </thead>
  <tbody class="c-table__body">
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
  </tbody>
</table>

Highlighted Table

Add class "c-table--highlight" to add a highlight hover effect of the table rows.


Column 1 Column 2 Column 3 Column 4
One Two Three Four
One Two Three Four
One Two Three Four
One Two Three Four
<table class="c-table c-table--bordered c-table--highlight">
  <thead class="c-table__head">
    <tr class="c-table__row">
      <th class="c-table__head-column">Column 1</th>
      <th class="c-table__head-column">Column 2</th>
      <th class="c-table__head-column">Column 3</th>
      <th class="c-table__head-column">Column 4</th>
    </tr>
  </thead>
  <tbody class="c-table__body">
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
    <tr class="c-table__row">
      <td class="c-table__column">One</td>
      <td class="c-table__column">Two</td>
      <td class="c-table__column">Three</td>
      <td class="c-table__column">Four</td>
    </tr>
  </tbody>
</table>

Typography

Eureka uses the Roboto Google font.


Headings

We use the 1.333 Perfect Fourth Scale to build the various headings.


This is a Heading 1

This is a Heading 2

This is a Heading 3

This is a Heading 4

This is a Heading 5
This is a Heading 6
<h1>This is a Heading 1</h1>
<h2>This is a Heading 2</h2>
<h3>This is a Heading 3</h3>
<h4>This is a Heading 4</h4>
<h5>This is a Heading 5</h5>
<h6>This is a Heading 6</h6>

Blockquotes

Blockquotes are highlighted with a primary left border.


This is a famous quote.
<blockquote>This is a famous quote.</blockquote>

Accordion

Dynamic accordion functionality to cycle through different areas of content


Accordion (Dark Version)

Accordion with dark headings.


  • This is the content for accordion one This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
<ul class="accordion">
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state" id="accordion-one">
    <label class="accordion__title accordion__title--dark" for="accordion-one">
      Section One
      <i class="fa fa-angle-down accordion__icon pull-right" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion one This is the content for accordion one
    This is the content for accordion one This is the content for accordion two This is the content for
    accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state" id="accordion-two">
    <label class="accordion__title accordion__title--dark" for="accordion-two">
      Section Two
      <i class="fa fa-angle-down accordion__icon pull-right" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion two This is the
    content for accordion one This is the content for accordion one This is the content for accordion two
    This is the content for accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state" id="accordion-three">
    <label class="accordion__title accordion__title--dark" for="accordion-three">
      Section Three
      <i class="fa fa-angle-down accordion__icon pull-right" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion two This is
    the content for accordion one This is the content for accordion one This is the content for
    accordion two This is the content for accordion one This is the content for accordion one</div>
  </li>
</ul>

Accordion (Light Version)

Accordion with light headings.


  • This is the content for accordion one This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
<ul class="accordion">
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-one" id="accordion-four">
    <label class="accordion__title accordion__title--light" for="accordion-four">
      Section One
      <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion one This is the
    content for accordion one This is the content for accordion one This is the content for accordion two
    This is the content for accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-one" id="accordion-five">
    <label class="accordion__title accordion__title--light" for="accordion-five">
      Section Two
      <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion two This is
    the content for accordion one This is the content for accordion one This is the content for accordion
    two This is the content for accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-one" id="accordion-six">
    <label class="accordion__title accordion__title--light" for="accordion-six">
      Section Three
      <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
    </label>
    <div class="accordion__content">This is the content for accordion two This is
    the content for accordion one This is the content for accordion one This is the content for accordion
    two This is the content for accordion one This is the content for accordion one</div>
  </li>
</ul>

Accordion (Mixed Version)

Accordion with light headings and dark content areas. This version also includes an icon to the right side of the heading.


  • This is the content for accordion one This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
  • This is the content for accordion two This is the content for accordion one This is the content for accordion one This is the content for accordion two This is the content for accordion one This is the content for accordion one
<ul class="accordion">
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-two" id="accordion-seven">
    <label class="accordion__title accordion__title--light" for="accordion-seven">
      Section One
      <span class="icon-circle">
        <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
      </span>
    </label>
    <div class="accordion__content accordion__content--dark">This is the content for accordion one
    This is the content for accordion one This is the content for accordion one This is the content for accordion
  two This is the content for accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-two" id="accordion-eight">
    <label class="accordion__title accordion__title--light" for="accordion-eight">
      Section Two
      <span class="icon-circle">
        <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
      </span>
    </label>
    <div class="accordion__content accordion__content--dark">This is the content for accordion two
    This is the content for accordion one This is the content for accordion one This is the content for accordion
    two This is the content for accordion one This is the content for accordion one</div>
  </li>
  <li class="accordion__item">
    <input type="radio" class="accordion__state" name="accordion-state-two" id="accordion-nine">
    <label class="accordion__title accordion__title--light" for="accordion-nine">
      Section Three
      <span class="icon-circle">
        <i class="fa fa-angle-down accordion__icon" aria-hidden="true"></i>
      </span>
    </label>
    <div class="accordion__content accordion__content--dark">This is the content for accordion two
    This is the content for accordion one This is the content for accordion one This is the content for
    accordion two This is the content for accordion one This is the content for accordion one</div>
  </li>
</ul>

Alert

Alerts offer a way to send a quick message to the user. Alerts can contain any HTML, are dismissable, and come in a few different preconfigured colors

Basic alert - default

This is a basic alert. You can get rid of it by clicking on the close icon.

Basic alert - primary

This is a primary alert. You can get rid of it by clicking on the close icon.

Basic alert - success

This is a success alert. You can get rid of it by clicking on the close icon.

Basic alert - caution

This is a caution alert. You can get rid of it by clicking on the close icon.

Basic alert - warning

This is a warning alert. You can get rid of it by clicking on the close icon.

Alert w/ button - primary

Alerts can also be set to be dismissed by clicking on any element within the alert. Just add a data-close-alert="true" attribute to the element.

You can have a header!

This is a warning alert. You can get rid of it by clicking on the close icon.

Or you could dismiss it with this button:

<!-- default -->
<div class="c-alert">
  <p>This is a basic alert. You can get rid of it by clicking on the close icon.</p>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

<!-- primary -->
<div class="c-alert--primary">
  <p>This is a primary alert. You can get rid of it by clicking on the close icon.</p>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

<!-- success -->
<div class="c-alert--success">
  <p>This is a success alert. You can get rid of it by clicking on the close icon.</p>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

<!-- caution -->
<div class="c-alert--caution">
  <p>This is a caution alert. You can get rid of it by clicking on the close icon.</p>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

<!-- warning -->
<div class="c-alert--warning">
  <p>This is a warning alert. You can get rid of it by clicking on the close icon.</p>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

<!-- alert with button -->
<div class="c-alert--primary">
  <h4>You can have a header!</h4>
  <p>This is a warning alert. You can get rid of it by clicking on the close icon.</p>
  <p>Or you could dismiss it with this button:</p>
  <button class="c-btn--primary c-btn c-btn--primary--rounded" type="button" name="button" data-close-alert="true">Get it outta here!</button>
  <span class="c-alert__close-alert">
    <i class="fa fa-times"></i>
  </span>
</div>

Bar Graphs

You can create bar graphs to show data. The bar graphs come with cool animation effect.

Heading 01

Expert
Proficient
Competent
Learning

Title01

Title02

Title03

Title04

Title05

Heading 02

Expert
Proficient
Competent
Learning

Title01

Title02

Title03

Title04

Title05

Heading 03

Expert
Proficient
Competent
Learning

Title01

Title02

Title03

Title04

Title05

<div class="bar-graph-container">
  <div class="bar-graph">
    <h3 class="bar-graph__heading">Heading 01</h3>
    <div class="bar-graph__legend">
      <div class="bar-graph__legend-value">Expert</div>
      <div class="bar-graph__legend-value">Proficient</div>
      <div class="bar-graph__legend-value">Competent</div>
      <div class="bar-graph__legend-value">Learning</div>
    </div>
    <div class="bar-graph__bars">
      <div class="bar-graph__bar" data-level="90"><p class="bar-graph__bar-title">Title01</p></div>
      <div class="bar-graph__bar" data-level="80"><p class="bar-graph__bar-title">Title02</p></div>
      <div class="bar-graph__bar" data-level="10"><p class="bar-graph__bar-title">Title03</p></div>
      <div class="bar-graph__bar" data-level="60"><p class="bar-graph__bar-title">Title04</p></div>
      <div class="bar-graph__bar" data-level="50"><p class="bar-graph__bar-title">Title05</p></div>
    </div>
  </div>
  <div class="bar-graph">
    <h3 class="bar-graph__heading">Heading 02</h3>
    <div class="bar-graph__legend">
      <div class="bar-graph__legend-value">Expert</div>
      <div class="bar-graph__legend-value">Proficient</div>
      <div class="bar-graph__legend-value">Competent</div>
      <div class="bar-graph__legend-value">Learning</div>
    </div>
    <div class="bar-graph__bars">
      <div class="bar-graph__bar" data-level="20"><p class="bar-graph__bar-title">Title01</p></div>
      <div class="bar-graph__bar" data-level="70"><p class="bar-graph__bar-title">Title02</p></div>
      <div class="bar-graph__bar" data-level="90"><p class="bar-graph__bar-title">Title03</p></div>
      <div class="bar-graph__bar" data-level="60"><p class="bar-graph__bar-title">Title04</p></div>
      <div class="bar-graph__bar" data-level="10"><p class="bar-graph__bar-title">Title05</p></div>
    </div>
  </div>
  <div class="bar-graph">
    <h3 class="bar-graph__heading">Heading 03</h3>
    <div class="bar-graph__legend">
      <div class="bar-graph__legend-value">Expert</div>
      <div class="bar-graph__legend-value">Proficient</div>
      <div class="bar-graph__legend-value">Competent</div>
      <div class="bar-graph__legend-value">Learning</div>
    </div>
    <div class="bar-graph__bars">
      <div class="bar-graph__bar" data-level="60"><p class="bar-graph__bar-title">Title01</p></div>
      <div class="bar-graph__bar" data-level="40"><p class="bar-graph__bar-title">Title02</p></div>
      <div class="bar-graph__bar" data-level="30"><p class="bar-graph__bar-title">Title03</p></div>
      <div class="bar-graph__bar" data-level="80"><p class="bar-graph__bar-title">Title04</p></div>
      <div class="bar-graph__bar" data-level="20"><p class="bar-graph__bar-title">Title05</p></div>
    </div>
  </div>
</div>

Collapse

A collapse can be used to show and hide content by clicking on a toggle anchor. Collapses are especially useful for code examples and supplementary information.

Basic collapse

A basic collapse component with minimal styling.

toggle content

I am the content.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore voluptatem ducimus nostrum alias, quasi optio, deleniti laboriosam autem, ullam impedit rerum odit debitis doloribus quo cupiditate consequuntur quibusdam! Sapiente, maxime!

Code well styles

Collapse come with both light and dark basic styling for displaying markup.

For the light version add <div class="c-collapse__content-container c-collapse__content-container--light"> to the content container div.

For the dark version add <div class="c-collapse__content-container c-collapse__content-container--dark"> to the content container div.

Fixed height option

By default collapse components will expand to the full height of their content. To set a fixed height and enable scrolling, just add a data-fixed-height attribute with the fixed height value to the outer component div.

For example for a fixed height of 500px: <div class="c-collapse" data-fixed-height="500">...</div>

<!--collapse component - basic -->

<div class="c-collapse">
  <a class="c-collapse__toggle">toggle content</a>
  <div class="c-collapse__content-container">
    <div class="c-collapse__content">
      <h3>I am the content.</h3>
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit...</p>
    </div>
  </div>
</div>

<!-- collapse component - code-well (light) -->

<div class="c-collapse" data-fixed-height="300">
  <div class="c-collapse__controls-container--justified-text">
    <i class="fa fa-code fa-lg" aria-hidden="true"></i>
    <a class="c-collapse__toggle">toggle markup</a>
  </div>
  <div class="c-collapse__content-container c-collapse__content-container--light">
    <div class="c-collapse__content">
      <pre class="u-pre--wrap">
        <code class="u-example-code">
          <!-- escaped code here -->
        </code>
      </pre>
    </div>
  </div>
</div>

<!-- collapse component - code-well (dark) -->

<div class="c-collapse">
  <div class="c-collapse__controls-container--justified-text">
    <i class="fa fa-code fa-lg" aria-hidden="true"></i>
    <a class="c-collapse__toggle">toggle markup</a>
  </div>
  <div class="c-collapse__content-container c-collapse__content-container--dark">
    <div class="c-collapse__content">
      <pre class="u-pre--wrap">
        <code class="u-example-code">
          <!-- escaped code here -->
        </code>
      </pre>
    </div>
  </div>
</div>

Flexbox Grid

Grids allow for the effective layout of content ona web page. We use the properties of flexbox to achieve the layouts


Flexible amount of columns

Any number of cells will automatically take their required space in the grid. Add the class "o-grid-gutters" to make space between and below the grid row.


<div class="o-grid o-grid--gutters">
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
   <div style="padding:20px; background-color: #ddd;"></div>
  </div>
</div>
<div class="o-grid o-grid--gutters">
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
   <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
</div>
<div class="o-grid o-grid--gutters">
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
</div>

Responsive Grid

At different breakpoints we can change the width of the rows. We add the class "o-medium-grid--full" to make the columns full width on medium screens and smaller. Resize screen below to see this in action.


<div class="o-grid o-grid--gutters o-medium-grid--full">
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
  <div class="o-grid__cell">
    <div style="padding:20px; background-color: #ddd;"></div>
  </div>
</div>

Loader

Use a loader within any space to display loading in progress. It can be to show loading anything, an image, some data, etc.

Toggle Loader Here

Usage

  1. Include the following code within any block element and the loader will overlay the entire width and height of its container.

    Note: Add loader-overlay--full-page class to make it span the entire width of the page and also be available at any scroll length. For example, a site-wide loader.

  2. Also Include Script loader.js on your page.
  3. Initialize the loader using loader.init(id);. The id should match the loader's id.
  4. Use the following methods:
    • You can show the loader using loader.show(id);
    • You can hide the loader using loader.hide(id);
    • You can toggle the state of the loader using loader.toggle(id);
<!-- Container level loader -->
<div id="myLoader" class="loader loader-overlay">
  <div class="loader__load-box"></div>
</div>

<!-- Site wide loader -->
<div id="myLoader" class="loader loader-overlay loader-overlay--full-page">
  <div class="loader__load-box"></div>
</div>

Login Form

Eureka Login Form.


Note for the checkbox only Blink/Webkit support certain properties needed to stylize. However, checkbox will fallback "gracefully" and other browsers will display the default, unstylized version.


<div class="login-container">
  <h2 class="login-header">Login</h2>
  <form class="login-form">
    <span class="login-span-input"><label>Email</label><input class="login-email-password" type="email" required></span>
    <span class="login-span-input"><label>Password</label><input class="login-email-password" type="password"></span>
    <span class="login-keep-login-span"><label for="checkbox">Keep me logged in<input type="checkbox" class="eureka-checkbox login-keep-checkbox" id="checkbox"></label></span>
    <a class="login-forgot-password" href="#">Forget Password?</a>
    <span class="login-form-buttons-span">
      <button type="button" class="c-btn login-form-register-button"><a class="login-register-link" href="#">Register</a></button>
      <button type="submit" class="c-btn login-form-login-button">Login</button>
    </span>
  </form>
</div>

Basic Progress Bar

Progress bars are useful to represent the completion of a task.

<div class="c-progress">
  <div class="c-progressbar__meter" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
</div>

Rounded

For a rounded progress bar, include the class c-progress--rounded.

<div class="c-progress c-progress--rounded">
  <div class="c-progressbar__meter" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
</div>

Progress Bar with Label

Nest the progress bar within the c-progress-label div. The label is achieved by the <span> tag.

50%
<div class="c-progress-label">
  <div class="c-progress">
    <div class="c-progressbar__meter" role="progressbar" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100">
      <span class="c-progress__label">50%</span>
    </div>
  </div>
</div>

Stacked Progress Bar

For a stacked effect, use the class c-progressbar__meter--stack.

<div class="c-progress c-progress--rounded">
  <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
  <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100"></div>
</div>

Stacked Progress Bar with Label

The stacked progress bar may also be combined with labels by using the <span> tag.

30%
40%
10%
<div class="c-progress c-progress--rounded">
  <div class="c-progress-label">
    <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100">
      <span class="c-progress__label">30%</span>
    </div>
  </div>
  <div class="c-progress-label">
    <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100">
      <span class="c-progress__label">40%</span>
    </div>
  </div>
  <div class="c-progress-label">
    <div class="c-progressbar__meter--stack" role="progressbar" aria-valuenow="10" aria-valuemin="0" aria-valuemax="100">
      <span class="c-progress__label">10%</span>
    </div>
  </div>
</div>

Animated Progress

The animated progress bar is animated when the class .progress-animate is added via JavaScript. The class activates the @keyframes on the .c-progressbar__meter div.

45%
<div class="c-progress-label">
  <div class="c-progress c-progress--rounded">
    <div class="c-progressbar__meter" data-animProgress="false" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 45%;">
      <span class="c-progress__label">45%</span>
    </div>
  </div>
</div>

Reveal

A reveal component hides a previous visible content and shows the content below when activated.

Fade out

Hover on me
<div class="c-reveal c-reveal--fade">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--fade">
  <div class="c-reveal__visible">
    <img src="" class="c-reveal__img-visible">
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

Slide away

Hover on me
Hover on me
Hover on me
Hover on me
Hover on me
Hover on me
<div class="c-reveal c-reveal--slide left">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--slide right">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--slide top">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--slide bottom">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--slide bottom outside">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--slide right outside">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

Rotate reveal

Hover on me
Hover on me
<div class="c-reveal c-reveal--rotate left-bottom">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

<div class="c-reveal c-reveal--rotate right outside">
  <div class="c-reveal__visible">
    <span class="c-reveal__msg">Hover on me</span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

Open-door reveal

<div class="c-reveal c-reveal--open">
  <div class="c-reveal__visible">
    <span class="c-reveal__door-left"></span>
    <span class="c-reveal__door-right"></span>
  </div>
  <div class="c-reveal__hidden">
    <img class="c-reveal__img-hidden" src="">
  </div>
</div>

Search Bars

Eureka provides two search bar options for easy integration into your Eureka design site.


The color of the search magnify glass icon is accomplished adding a mixed-blend-mode to near-black icon.

If you change your color scheme, the icon color will change to match.

Supported in most modern browsers, but unsupported browsers will fall back to a pure black icon.

Searchbar 1

<form class="search-form">
  <input class="search-input" type="text" placeholder="Search" required>
  <button class="search-button" type="submit"><i class="fa fa-search search-icon"></i></button>
</form>

Search Bar 2

<form class="search-form-second">
  <input class="search-input-second" type="text" placeholder="Search" required>
  <button class="search-button-second" type="submit"><i class="fa fa-search search-icon-second"></i></button>
</form>

Features and considerations

Linked codebase

If you plan to change the style of the Search Bars, the second bar is intentionally linked to the first in the SCSS codebase.

This is to create some parity in the styles. Please keep this in mind if you plan to make any adjustments.

.search-button {
  background-color: $primary-dark-color;
  border-radius: 0.375rem;
  border: transparent;
  box-shadow: -0.3125rem 0 0.1875rem -0.25rem $generic-black-color;
  flex-basis: 18%;
  isolation: isolate;
  margin-left: (-0.1875rem * $search-size-multiplier);
  cursor: pointer;
  &:hover {
    background-color: $secondary-dark-color;
    isolation: isolate;
    & .search-icon {
      color: $primary-dark-color;
    }
  }
  &:active {
    border: 0.125rem solid transparentize($generic-white-color, .3);
  }
}

//second user clickable button
.search-button-second {
  @extend .search-button;
  background-color: lighten($body-bg-color, 12.5%);
  border-radius: 0;
  flex-basis: 16%;
  margin-left: (-0.1875rem * $search-second-size-multiplier);
  &:hover {
    background-color: $body-bg-color;
  }
}
Simple Size Change

All size calculations on the search bar are done is SCSS by using an appropriate algorithm with a single, universal variable.

This allows simple manipulation of the search bar size while maintaining aspect ratio.

If you're using SCSS and would like to change the size of either search bar, you can do this by changing:

//default for search bar 1: 1.5
$search-size-multiplier: 1.5;

//default for search bar 2: .7;
$search-second-size-multiplier: .7;

Tabs

Use Tabs to make it easy to switch between different views.

Horizontal Tabs

  • Tab 1
  • Tab 2
  • Tab 3
  • Tab 4
Content 1
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 2
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 3
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 4
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
<div class="tabs tabs--horizontal">
  <ul class="tabs__tab-container">
    <li class="tabs__tab tabs__tab--active">Tab 1</li>
    <li class="tabs__tab">Tab 2</li>
    <li class="tabs__tab">Tab 3</li>
    <li class="tabs__tab">Tab 4</li>
  </ul>
  <div class="tabs__pane-container">
    <div class="tabs__pane tabs__pane--active"><strong>Content 1</strong></div>
    <div class="tabs__pane"><strong>Content 2</strong></div>
    <div class="tabs__pane"><strong>Content 3</strong></div>
    <div class="tabs__pane"><strong>Content 4</strong></div>
  </div>
</div>

Vertical Tabs

  • Tab 1
  • Tab 2
  • Tab 3
  • Tab 4
Content 1
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 2
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 3
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Content 4
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
<div class="tabs tabs--vertical">
  <ul class="tabs__tab-container">
    <li class="tabs__tab tabs__tab--active">Tab 1</li>
    <li class="tabs__tab">Tab 2</li>
    <li class="tabs__tab">Tab 3</li>
    <li class="tabs__tab">Tab 4</li>
  </ul>
  <div class="tabs__pane-container">
    <div class="tabs__pane tabs__pane--active"><strong>Content 1</strong></div>
    <div class="tabs__pane"><strong>Content 2</strong></div>
    <div class="tabs__pane"><strong>Content 3</strong></div>
    <div class="tabs__pane"><strong>Content 4</strong></div>
  </div>
</div>

Basic thumbnails

<div class="c-thumbnails-row o-grid">
  <div class="c-thumbnail">
    <img class="c-thumbnail__img" src="someImgURL" alt="">
  </div>
  ....
</div>

The Trio

The Trio is ideal for grouping two images that are each half the height of the main image.

<div class="c-thumbnails-row o-grid">
  <div class="c-thumbnail">
    <img class="c-thumbnail__img" src="someImgURL" alt="">
  </div>
  <div class="c-thumbnail-duo">
    <div class="c-thumbnail">
      <img class="c-thumbnail__img" src="someImgURL" alt="">
    </div>
    <div class="c-thumbnail">
      <img class="c-thumbnail__img" src="someImgURL" alt="">
    </div>
  </div>
</div>

Thumbnail with Description

Modify the align-items property or modify specific items with align-self to suit your needs.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.

<div class="c-thumbnails-row--desc o-grid">
  <div class="c-thumbnail c-thumbnail-detail">
    <div class="c-thumbnail__desc">
      <img class="c-thumbnail__img" src="https://img.clipartfest.com/f64bae705abb25168c49c202263f8ed8_2014-clipartpanda-com-about-elephant-clipart-silhouette_700-494.jpeg" alt="">
      <p class="c-thumbnail__p">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa.
      </p>
    </div>
  </div>
  <div class="c-thumbnail c-thumbnail-detail">
  ...
  </div>
</div>

Tooltip

Eureka Styled Tooltip





Hover over me Tooltip text
<div class="tooltip-this-element">Hover over me
  <span class="tooltip-text">Tooltip text</span>
</div>

(Innovative) Bookmarklet

Using Bookmarklet

To use bookmarklet, highlight some text (this section is the demo!). If the text is able to be bookmarked a small dialogue will pop up, giving you the option to bookmark or not. Users can also use the keyboard shortcut Shift+Control+L+M. Currently you can only bookmark text that is inside of a single HTML tag. In other words you may not select text that belongs to two different paragraphs or splits any other node like a span or header. The component will warn you if you split nodes or try and activate the bookmark without selecting any text.

Once a bookmark has been created it will show up in the small widget on the right-hand side of the screen. Each bookmark can be clicked on to quickly navigate the page to that place in the text. In addition there is a convenient "Google this bookmark" button for each list item which will initiate a Google search with the query pre-filled by the bookmark text. You may clear individual bookmarks by clicking on the close icon, or clear all current bookmarks by clicking the "Clear all" button at the bottom of the bookmark list.

Including Bookmarklet

To include Bookmarklet on a page simply add the markup contained in the codewell below somewhere in the body tag of your page and include bookmarklet.js before the closing body tag. If you don't like the default yellow, a custom highlight color can be specified by adding a valid color name or hex color value to the data-highlight-color attribute. For example: <div class="c-bookmarklet" data-highlight-color="#ff00ff">.

You can limit the scope of the bookmarklet's highlighting and bookmark creation by adding data-limit-bookmarklet to any element and the bookmarking will only be active for that element and it's children (this demo <section> tag has this added.

Bookmarks

clear all

Bookmark this selection?

Yes! No.
<!-- bookmarklet list here -->
<div class="c-bookmarklet" data-highlight-color="">
  <i class="fa fa-bookmark fa-lg c-bookmarklet__teaser" aria-hidden="true"></i>
  <h1>Bookmarks</h1>
  <ol class="c-bookmaklet__bookmark-list">
  </ol>
  <a class="c-btn c-btn--secondary c-bookmarklet__clear-all">clear all</a>
</div>
<!-- button pop-up -->
<div class="c-bookmarklet__pop-up">
  <p>Bookmark this selection?</p>
  <span class="c-bookmarklet__pop-up-button--yes"><i class="fa fa-check fa-lg" aria-hidden="true"></i> Yes!</span>
  <span class="c-bookmarklet__pop-up-button--no"><i class="fa fa-times fa-lg" aria-hidden="true"></i> No.</span>
  <span class="c-bookmarklet__pop-up-pip"></span>
</div>

Herald Component

Inspired by the heralds of yore who conveyed a monarch's proclamation, the main attraction of The Herald is the unfurling border and the dropped message with a banner. The component features an image with a width and height of 2:1 and a place for textual content. Ideally, The Herald is useful for small listings, although any message size will fit inside The Herald component because the message length is evaluated dynamically.

To use:

Copy the markup below, then place announcements inside the c-herald__message tag beneath the image. Each unique announcement must be placed within <p> tags. Next, add the number of announcements inside c-chip__media--o. Inputting the number of announcements is recommended in case users have disabled JavaScript. Note: The number of announcements in c-chip__media--o are based on the number of <p> tags. This number is updated dynamically in the event the number of announcements was not inputted.

Include an image with the ideal size of 2:1 or a size that is near that ratio. The component's width is fluid and should scale up and down.

Accessibility: In the event a user disables JavaScript, The Herald and all content inside it will still be shown to users. There will be no animation and dynamic counting of a message's <p> tag. This is due to the nature of how the component resizes based on a unique message's offsetHeight value.

5 Announcements

Drumpf Obama: FBI chief Comey 'rejects' phone tap allegation. [Visit BBC.com]

The Queen is in search of a brawny grape-feeder. [Apply Here]

What a strange world we live in. [Find out why]

The Owl and the Pussy-cat went to sea, In a beautiful pea-green boat [Where did they go?]

Will eating melas zomos make you a badass Spartan? [Find out why]


                <div class="c-herald__trigger c-chip--outlined" id="c-herald__trigger">
                  <span class="c-chip__media--o c-herald-c-chip__media--o">5</span>
                  Announcements
                </div>
                <div class="c-herald no-js" id="c-herald">
                  <div class="c-herald__furled-border" id="c-herald__furled-border"></div>
                  <div class="c-herald__ribbon" id="c-herald__ribbon"></div>
                  <div class="c-herald__content" id="c-herald__content">
                    <div class="c-herald__message">
                      <div class="c-herald__img"></div>
                      <p>Text<a class="c-herald__anchors" href="#"></a></p>
                      <p>Text<a class="c-herald__anchors" href="#"></a></p>
                      ...
                    </div>
                  </div>
                </div>
              

(Innovative) Persona

Create a persona around your team member/page author cards.

You can add as many persona-container(s) and as many persona(s) within them.

Try hovering over them!

Virgil Hammond

Front End Developer

Sonya Mcmakin

Full Stack Developer

Pamela Rundell

Front End Developer

Cesar Ayoub

Full Stack Developer

<div class="persona-container">
  <div class="persona">
    <img class="persona__image" src="../images/guy-1.jpg">
    <p class="persona__name">Virgil Hammond</p>
    <p class="persona__title">Front End Developer</p>
    <div class="persona__links"> <!-- Contains a single button -->
      <button type="button" class="c-btn c-btn--primary persona__link">
        <span class="c-btn__btn-icon persona__icon">
          <i class="fa fa-globe" aria-hidden="true"></i>
        </span> Portfolio
      </button>
    </div>
  </div>
  <div class="persona">
    <img class="persona__image" src="../images/girl-1.png">
    <p class="persona__name">Sonya Mcmakin</p>
    <p class="persona__title">Full Stack Developer</p>
    <ul class="persona__links"> <!-- Contains multiple icon links -->
      <li class="persona__link">
        <a class="persona__icon" href="#"><i class="fa fa-globe" aria-hidden="true"></i></a>
      </li>
      <li class="persona__link">
        <a class="persona__icon" href="#"><i class="fa fa-github-square" aria-hidden="true"></i></a>
      </li>
      <li class="persona__link">
        <a class="persona__icon" href="#"><i class="fa fa-linkedin-square" aria-hidden="true"></i></a>
      </li>
    </ul>
  </div>
</div>

(Innovative) Scrollspy

You can make a navigation list a scrollspy navigation list which will highlight the section you are at.

Any navigation list, horizontal or vertical, can be made into a scrollspy.

You can see a vertical scrollspy working here on the showcase website.

Usage

In order to make a navigation list into a scrollspy, you need to mandatorily add the following attributes to it.

  1. Add data-scrollspy to let the system know that the nav list will be a scrollspy,
  2. Add data-nav-type="sticky" to the nav list so that it sticks within the viewport. (You may use other Sticky Nav data attributes as well, see Navigation.
  3. Include Script sticky-nav.js
  4. Include Script scrollspy-nav.js
<!-- Scrollspy Navigation -->
<nav data-scrollspy data-nav-type="sticky">
  <ul class="nav">
    <li class="nav__item nav__item--active"><a class="nav__link" href="#">Home</a></li>
    <li class="nav__item "><a class="nav__link" href="#">About</a></li>
    <li class="nav__item "><a class="nav__link" href="#">Projects</a></li>
    <li class="nav__item "><a class="nav__link" href="#">Contact</a></li>
  </ul>
</nav>

(Innovative) Scrollspy (Progress Style)

Create a Progress type Scrollspy on top of your page. It will tell you how much of the page has been seen through and how much is left.

This can be very useful especially for blogs where, there are long articles, as this will tell how much the article has already been read.

To see a working progress type scrollspy, click here.

Usage

In order to make create a progress type scrollspy, you need to mandatorily add the following attributes to it.

  1. Include the following code given below within your HTML markup. You should ideally have it placed as the first child of your <body> tag.
  2. Add data-spy-on="main-content" to let the system know the main content ID
  3. Wrap your entire content area inside <div id="main-content"> (note the ID, it should match the value of data-spy-on attribute in step 2), and
  4. Include Script scrollspy-progress.js
<!-- Progress Style Scrollspy -->
<div class="scrollspy c-progress c-progress--rounded" data-spy-on="main">
  <div class="c-progressbar__meter progress-animate" data-animprogress="true"
  role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100">
    <span class="c-progress__label"></span>
  </div>
</div>

(Innovative) Single-Input Form

This single-input form shows one input field each time. Once an input is filled out correctly, click the right arrow button. The current input fades out, the next one reveals and the indicator changes. The progress indicator rolls over to the right and fades out. To go back to the previous input field, click the gray left arrow. The submission message the on the last page is customizable.


Thank you
3/3
2/3
1/3
<form class="c-sif">
  <div class="c-sif__input-wrap c-sif__input-wrap--last">
    <span class="c-sif__submission-msg">Thank you</span>
  </div>

  <div class="c-sif__input-wrap c-sif-color--2">
    <span class="c-sif__indicator">3/3</span>
    <input class="c-sif__input" type="text" name="city" id="sif-input-city" required formnovalidate>
    <label class="c-sif__label" for="sif-input-city">
      <i class="fa fa-globe c-sif__icon-label" aria-hidden="true"></i> City you live in
    </label>
    <button type="button" class="c-sif__btn--prev">
      <i class="fa fa-arrow-left c-sif__icon-prev" aria-hidden="true"></i>
    </button>
    <button type="submit" class="c-sif__btn--next">
      <i class="fa fa-paper-plane c-sif__icon-next" aria-hidden="true"></i>
    </button>
  </div>

  <div class="c-sif__input-wrap c-sif-color--1">
    <span class="c-sif__indicator">2/3</span>
    <input class="c-sif__input" type="email" name="email" id="sif-input-email" required formnovalidate>
    <label class="c-sif__label" for="sif-input-email">
      <i class="fa fa-envelope c-sif__icon-label" aria-hidden="true"></i> Email
    </label>
    <button type="button" class="c-sif__btn--prev">
      <i class="fa fa-arrow-left c-sif__icon-prev" aria-hidden="true"></i>
    </button>
    <button type="button" class="c-sif__btn--next">
      <i class="fa fa-arrow-right fa-lg c-sif__icon-next" aria-hidden="true"></i>
    </button>
  </div>

  <div class="c-sif__input-wrap c-sif-active c-sif-color--0">
    <span class="c-sif__indicator">1/3</span>
    <input class="c-sif__input" type="text" name="username" id="sif-input-nm" required formnovalidate>
    <label class="c-sif__label" for="sif-input-nm">
      <i class="fa fa-user c-sif__icon-label" aria-hidden="true"></i> User Name
    </label>

    <button type="button" class="c-sif__btn--next">
      <i class="fa fa-arrow-right fa-lg c-sif__icon-next" aria-hidden="true"></i>
    </button>
  </div>
</form>

(Innovative) Demo Component

Use this component to showcase the features of a website. Demo tooltip blocks can be added to any section of a website along with a message telling the user what that section is used for. It also allows you to set the order of the message so that they can be cycled.


<div class="c-demo">
  <div class="c-tooltip-help block1" help-order="help1">
    <span class="c-tooltip-help__message is-hidden">
      This is the first message
      <ul class="c-tooltip-help__controls">
        <li><button class="c-tooltip-help__controls-prev c-tooltip-help__button u-bg-primary" title="Previous Tip"><i class="fa fa-angle-double-left" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__button u-bg-disabled" title="Close Tip"><i class="fa fa-times" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__controls-next c-tooltip-help__button u-bg-primary" title="Next Tip"><i class="fa fa-angle-double-right" aria-hidden="true"></i></button></li>
      </ul>
    </span>
  </div>
  <div class="c-tooltip-help block3" help-order="help3">
    <span class="c-tooltip-help__message is-hidden">
      This is the third message
      <ul class="c-tooltip-help__controls">
        <li><button class="c-tooltip-help__controls-prev c-tooltip-help__button u-bg-primary" title="Previous Tip"><i class="fa fa-angle-double-left" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__button u-bg-disabled" title="Close Tip"><i class="fa fa-times" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__controls-next c-tooltip-help__button u-bg-primary" title="Next Tip"><i class="fa fa-angle-double-right" aria-hidden="true"></i></button></li>
      </ul>
    </span>
  </div>
  <div class="c-tooltip-help block2" help-order="help2">
    <span class="c-tooltip-help__message is-hidden">
      This is the second message
      <ul class="c-tooltip-help__controls">
        <li><button class="c-tooltip-help__controls-prev c-tooltip-help__button u-bg-primary" title="Previous Tip"><i class="fa fa-angle-double-left" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__button u-bg-disabled" title="Close Tip"><i class="fa fa-times" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__controls-next c-tooltip-help__button u-bg-primary" title="Next Tip"><i class="fa fa-angle-double-right" aria-hidden="true"></i></button></li>
      </ul>
    </span>
  </div>
  <div class="c-tooltip-help block4" help-order="help4">
    <span class="c-tooltip-help__message is-hidden">
      This is the fourth message This is the fourth message
      <ul class="c-tooltip-help__controls">
        <li><button class="c-tooltip-help__controls-prev c-tooltip-help__button u-bg-primary" title="Previous Tip"><i class="fa fa-angle-double-left" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__button u-bg-disabled" title="Close Tip"><i class="fa fa-times" aria-hidden="true"></i></button></li>
        <li><button class="c-tooltip-help__controls-next c-tooltip-help__button u-bg-primary" title="Next Tip"><i class="fa fa-angle-double-right" aria-hidden="true"></i></button></li>
      </ul>
    </span>
  </div>
</div>

(Innovative) The WTFDTM? Component

Do you know words? Do you have the best words? If you have the best words and your magnanimous personality compels you to teach your inferiors better words, then WTF Does That Mean? is for you. Don't lose your users to the sesquipedalian expressions and flourishes of your common and daily vernacular. Share your phenomenal vocabulary that you extracted from the pages of the Merriam-Webster dictionary!

To use, simply double-click on any word within text wrapped inside wtf-text-container and a tab will open up to the Merriam-Webster website. Add the markup contained in the codewell anywhere on your page and link to the wtfdtm.js file. To view your previously searched big words, hover on the book icon at the bottom of your page!

Sample Text (Double-click on any one word)

Beyond a bare, weather-worn wall, about a hundred paces from the spot where the two friends sat looking and listening as they drank their wine, was the village of the Catalans. Long ago this mysterious colony quitted Spain, and settled on the tongue of land on which it is to this day. Whence it came no one knew, and it spoke an unknown tongue. One of its chiefs, who understood Provencal, begged the commune of Marseilles to give them this bare and barren promontory, where, like the sailors of old, they had run their boats ashore. The request was granted; and three months afterwards, around the twelve or fifteen small vessels which had brought these gypsies of the sea, a small village sprang up. This village, constructed in a singular and picturesque manner, half Moorish, half Spanish, still remains, and is inhabited by descendants of the first comers, who speak the language of their fathers. For three or four centuries they have remained upon this small promontory, on which they had settled like a flight of seabirds, without mixing with the Marseillaise population, intermarrying, and preserving their original customs and the costume of their mother-country as they have preserved its language.

Our readers will follow us along the only street of this little village, and enter with us one of the houses, which is sunburned to the beautiful dead-leaf color peculiar to the buildings of the country, and within coated with whitewash, like a Spanish posada. A young and beautiful girl, with hair as black as jet, her eyes as velvety as the gazelle's, was leaning with her back against the wainscot, rubbing in her slender delicately moulded fingers a bunch of heath blossoms, the flowers of which she was picking off and strewing on the floor; her arms, bare to the elbow, brown, and modelled after those of the Arlesian Venus, moved with a kind of restless impatience, and she tapped the earth with her arched and supple foot, so as to display the pure and full shape of her well-turned leg, in its red cotton, gray and blue clocked, stocking.

WTF Does That Mean?

Today's Big Words

clear all
<!-- To limit WTFDTM? to within a specific text block, add the following class to the container -->
<div class="wtf-text-container">
  <p class="wtf-text">Text here</p>
  <p class="wtf-text">Text here</p>
</div>

<div class="c-wtf">
  <div class="teaser">
    <i class="fa fa-book" aria-hidden="true"></i>
  </div>
  <h1 class="c-wtf-h1">WTF Does That Mean?</h1>
  <h4>Today's Big Words</h4>
  <ol class="c-wtf__list">
  </ol>
  <a class="c-btn c-btn--secondary c-wtf__clear-all">clear all</a>
</div>

(Innovative) Inline Note Taking

This component is created to add inline note while reading. All notes can be opened in a separate page for printing or saving.

Wrap all contents that you want to add note to in the c-inline-note class. To create a new note, select some text and use keyboard shortcut Shift+Control+0. The selected text will be underlined in blue and a note area will pop out. To close a note, click the selected text or the window other than the note area. To reopen a note, click the selected text. To delete one single note, open the note first, then click the "remove" button. Click "Clear All Notes" button to remove all. Click "Print Note" button to open all notes on a separate page.

NOTE: for now you can only add note to text that is inside of a single HTML tag. If selected text is in different tags, a warning will pop out.


Sample Text

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam varius magna mi. Mauris a tempor metus. Sed vel nisl justo. Integer ac orci tincidunt, ornare massa eu, suscipit mauris. Vestibulum ac eleifend massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras at egestas est, congue scelerisque libero. Nulla facilisi. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras venenatis lacinia est. Sed commodo, purus volutpat euismod consequat, ante sem euismod turpis, sit amet ultricies nulla sapien sed massa.

Vivamus scelerisque, arcu sollicitudin lacinia volutpat, diam urna sollicitudin mi, non imperdiet tellus dui quis urna. Nam ultricies enim id purus suscipit laoreet. Vivamus vel efficitur ex. Curabitur et maximus est. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas ultrices efficitur massa eget suscipit. Nunc lacinia dolor ut semper malesuada. Aliquam tellus ante, aliquam et dolor et, mollis imperdiet erat. Sed turpis nisi, lacinia nec bibendum et, porta non massa. In imperdiet molestie massa at posuere. Pellentesque ac turpis massa. Curabitur malesuada felis et lectus blandit, sit amet finibus nunc gravida. Nunc volutpat venenatis faucibus. Donec non cursus elit. Aenean bibendum ut sem eget bibendum.

Nam est massa, facilisis nec nisi in, vehicula sollicitudin nisl. Ut vitae felis in tellus pharetra ultricies at quis ante. Mauris at eros erat. Nullam aliquam libero quis sapien vehicula interdum. Nunc non dictum ex. Pellentesque arcu nunc, iaculis sed consectetur nec, suscipit eu nunc. Donec ut felis quis ante molestie maximus. Nam suscipit pretium massa hendrerit euismod. Suspendisse viverra elementum orci.

Sed ac lacus ullamcorper, porttitor purus ut, placerat ipsum. Ut hendrerit tortor sit amet lectus dictum, in luctus est posuere. Pellentesque semper magna eget nibh feugiat lobortis. Vivamus tincidunt placerat orci, non sodales est pharetra id. Suspendisse fringilla odio id feugiat semper. Nunc vulputate ligula augue. Cras mattis, est at euismod varius, tortor tellus rutrum est, sit amet congue dolor mauris eu sem. Aliquam mi quam, condimentum eu odio non, placerat efficitur diam. Quisque laoreet sollicitudin velit, vitae interdum magna. Curabitur luctus auctor mauris nec suscipit.

<!--Example code of a note-->
<span class="c-inline-note__highlight" id="hl0">
  selected text
  <span class="c-inline-note__note-wrap" id="nWrap0">
    <textarea id="note0"></textarea>
    <span class="c-inline-note__remove-btn">remove</span>
  </span>
</span>

<!--Print note button-->
<button class="c-btn--primary c-btn c-inline-note__print-btn" type="button" name="button">Print Note</button>


<!--Clear all notes button-->
<button class="c-btn--primary c-btn c-inline-note__clear-btn" type="button" name="button">Clear All Notes</button>

<!--All notes are printed out in an order list-->
<div class="c-inline-note__all-notes">
  <ol class="c-list c-list--ol c-inline-note__list">
    <!--Notes-->
    <li class="c-list__item c-list--ol__item">
      <span class="c-inline-note__list-selected-txt">Selected Text</span>
      : Note content
    </li>
  </ol>
</div>

(Innovative) dotValidator

Eureka provides several inputs with built in realtime validation.

Click here for info on the validation library.

Search


<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Search</label>
     <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="search">
      <span class="eureka-c-validation-dot"></span>
</div>
                        

Email

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Email</label>
     <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="email">
      <span class="eureka-c-validation-dot"></span>
</div>

Phone Number

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Phone Number</label>
     <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="tel">
      <span class="eureka-c-validation-dot"></span>
</div>

Generic Number

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Generic Number</label>
     <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="number">
      <span class="eureka-c-validation-dot"></span>
</div>

Date of Birth

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Date of Birth</label>
    <input data-dotValidator="true" id="dot-valid-DOB" class="eureka-c-dotValidator-input" type="date">
    <span class="eureka-c-validation-dot"></span>
</div>

Age

An extension of the Date of Birth input. Not user editable.

Will auto complete as soon as the user enters a date of birth and exits that input

<div class="eureka-c-dotValidator-container eureka-c-dotValidator-container-age">
    <label class="eureka-c-dotValidator-label">Age</label>
    <span id="eureka-c-dotValidator-age-id" class="eureka-c-dotValidator-input eureka-c-dotValidator-age-inactive" type="text"></span>
    <span class="eureka-c-validation-dot"></span>
</div>

Password

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Password</label>
    <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="password">
    <span class="eureka-c-validation-dot"></span>
</div>

Username

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Username</label>
    <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="text">
    <span class="eureka-c-validation-dot"></span>
</div>

Zipcode

<div class="eureka-c-dotValidator-container">
    <label class="eureka-c-dotValidator-label">Zipcode</label>
    <input data-dotValidator="true" class="eureka-c-dotValidator-input" type="text">
    <span class="eureka-c-validation-dot"></span>
</div>