# Competitor Comparison #

The following charts provide a comparison of Toolkit to other popular front-end libraries. The charts demonstrate what features and plugins are implemented by each vendor.

A green cell in the chart denotes support for that item, while red denotes no support. If a cell is blue, than either partial support is provided, or the plugin has a different name.

The following libraries are being compared:

* Foundation 5.4.7
* Bootstrap 3.3.1
* Semantic UI 0.19.3

<div class="notice is-warning">
    Please submit a pull request or contact us if any information in this chart is incorrect. We will update accordingly.
</div>

## Sizes ##

The following table represents the minified un-gzipped distribution files for each library.

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th> </th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>CSS Components</td>
            <td>20</td>
            <td>23</td>
            <td>23</td>
            <td>24</td>
        </tr>
        <tr>
            <td>JS + CSS Plugins</td>
            <td>19</td>
            <td>16</td>
            <td>12</td>
            <td>19</td>
        </tr>
        <tr>
            <td>CSS Filesize</td>
            <td class="is-success">49KB</td>
            <td>148KB</td>
            <td>113KB, 20KB (theme)</td>
            <td class="is-error">237KB</td>
        </tr>
        <tr>
            <td>JS Filesize</td>
            <td>67KB</td>
            <td class="is-error">187KB</td>
            <td class="is-success">36KB</td>
            <td>138KB</td>
        </tr>
        <tr>
            <td>Images</td>
            <td>0</td>
            <td>0</td>
            <td>0</td>
            <td class="is-error">8</td>
        </tr>
        <tr>
            <td>Fonts</td>
            <td>0</td>
            <td>0</td>
            <td>1</td>
            <td>2</td>
        </tr>
    </tbody>
</table>

## Plugins ##

The following plugins (components and behaviors) are found within Toolkit.

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th>Plugin</th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Base (Helpers)</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Accordion</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Collapse</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Blackout</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Breadcrumb</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Button</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Button Group</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Button + Dropdown</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Carousel</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Orbit</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Code</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Divider</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Drop (Dropdown)</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Flex (Flexbox)</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Flyout</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Form</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Input</td>
        </tr>
        <tr>
            <td>Grid</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Icon</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Input</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-info">Known as Checkbox, Dropdown</td>
        </tr>
        <tr>
            <td>Input Group</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Pre/Postfix</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Input</td>
        </tr>
        <tr>
            <td>Label</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Lazy Load</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Loader</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Mask</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-info">Known as Dimmer</td>
        </tr>
        <tr>
            <td>Matrix</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Modal</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Reveal</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Notice</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Alert</td>
            <td class="is-info">Known as Alert</td>
            <td class="is-info">Known as Message</td>
        </tr>
        <tr>
            <td>Off Canvas</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-info">Known as Sidebar</td>
        </tr>
        <tr>
            <td>Pagination</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Pin</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Magellan</td>
            <td class="is-info">Known as Affix</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Popover</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Progress</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Responsive</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Visibility and Media Queries</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Showcase</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Lightbox</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Stalker</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Magellan</td>
            <td class="is-info">Known as Scrollspy</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Step</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Switch</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Table</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Tab</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Tooltip</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Popup</td>
        </tr>
        <tr>
            <td>Type Ahead</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Typography</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
    </tbody>
</table>

The following plugins are found within Foundation that have not been mentioned previously.

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th>Plugin</th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Abide</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-info">Known as Form Validation</td>
        </tr>
        <tr>
            <td>Block Grid</td>
            <td class="is-info">Possible with Grid mixins</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Equalizer</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Flex Video</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Responsive Embed</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Interchange</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Joyride</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Panels</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Segment</td>
        </tr>
        <tr>
            <td>Sliders</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Side Nav</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Sub Nav</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Top Nav</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Navbar</td>
            <td class="is-info">Possible with Menu</td>
        </tr>
    </tbody>
</table>

The following plugins are found within Bootstrap that have not been mentioned previously.

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th>Plugin</th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Badge</td>
            <td class="is-info">Part of Label</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Label</td>
        </tr>
        <tr>
            <td>Glyphicons</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Image</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Jumbotron</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>List Group</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Media</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Nav</td>
            <td class="is-info">Possible with Tabs</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Navbar</td>
            <td class="is-error"></td>
            <td class="is-info">Known as Top Bar</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Part of Menu</td>
        </tr>
        <tr>
            <td>Page Header</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Header</td>
        </tr>
        <tr>
            <td>Panels</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Thumbnail</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Transitions</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Wells</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-info">Known as Segment</td>
        </tr>
    </tbody>
</table>

The following plugins are found within Semantic UI that have not been mentioned previously.

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th>Plugin</th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Reveal</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Comment</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Feed</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Item</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Rating</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Shape</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
    </tbody>
</table>

## Features ##

<table class="table is-striped comparison-table">
    <thead>
        <tr>
            <th>Feature</th>
            <th>Toolkit</th>
            <th>Foundation</th>
            <th>Bootstrap</th>
            <th>Semantic UI</th>
        </tr>
    </thead>
    <tbody>
        <tr class="table-divider">
            <td colspan="5">Technology</td>
        </tr>
        <tr>
            <td>Sass</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Compass</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Less</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Gulp</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Grunt</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>

        <tr class="table-divider">
            <td colspan="5">Packagers</td>
        </tr>
        <tr>
            <td>NPM</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Ruby Gems</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Sass version only</td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Bower</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Composer</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
        </tr>

        <tr class="table-divider">
            <td colspan="5">Functionality</td>
        </tr>
        <tr>
            <td>CSS Animations</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Partially</td>
            <td class="is-info">Partially</td>
            <td class="is-info">Partially</td>
        </tr>
        <tr>
            <td>CSS Transitions</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Partially</td>
            <td class="is-info">Partially</td>
        </tr>
        <tr>
            <td>Rem Scaling</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Mobile First</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Responsive</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
        </tr>
        <tr>
            <td>Fluid</td>
            <td class="is-success">&check;</td>
            <td class="is-info">Partially</td>
            <td class="is-info">Partially</td>
            <td class="is-info">Partially</td>
        </tr>
        <tr>
            <td>Right-to-Left</td>
            <td class="is-success">&check;</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>ARIA</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
        <tr>
            <td>Flexbox</td>
            <td class="is-success">&check;</td>
            <td class="is-error"></td>
            <td class="is-error"></td>
            <td class="is-error"></td>
        </tr>
    </tbody>
</table>
