Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/digiaonline/react-foundation

Foundation as React components.
https://github.com/digiaonline/react-foundation

css foundation hacktoberfest react react-components scss

Last synced: about 1 month ago
JSON representation

Foundation as React components.

Awesome Lists containing this project

README

        

# React + Foundation

[![Build](https://github.com/digiaonline/react-foundation/actions/workflows/test.yml/badge.svg)](https://github.com/digiaonline/react-foundation/actions)
[![Test Coverage](https://api.codeclimate.com/v1/badges/ea90da79f63c9d5dab1a/test_coverage)](https://codeclimate.com/github/digiaonline/react-foundation/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/ea90da79f63c9d5dab1a/maintainability)](https://codeclimate.com/github/digiaonline/react-foundation/maintainability)
[![StyleCI](https://styleci.io/repos/53612920/shield?style=flat)](https://styleci.io/repos/53612920)
[![npm version](https://img.shields.io/npm/v/react-foundation.svg)](https://www.npmjs.com/package/react-foundation)
[![npm downloads](https://img.shields.io/npm/dt/react-foundation.svg)](https://www.npmjs.com/package/react-foundation)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/digiaonline/react-foundation/main/LICENSE)

[Foundation](https://get.foundation/sites/docs/) as [React](https://reactjs.org/) components.

## Demo

https://digia.online/react-foundation-docs/

[Components with Bit](https://bit.dev/digiaonline/react-foundation)



## Motivation

[Foundation](https://get.foundation/sites/docs/) is both feature-rich and easy to customize.
[React](https://reactjs.org/) on the other hand is awesome because of its simplicity.
It's even more awesome when combined with
[Redux](https://redux.js.org/) and [Immutable](https://immutable-js.com/).

After building quite a few applications with React and Foundation we noticed that we were writing the
same components over and over again. First we tried to find a library that would do the job,
but there was none that met our needs. So we collected our notes, started coding and here's the result.

We hope you enjoy it as much as we do!

## What's in the box?

The goal is to wrap every part of Foundation into re-usable React components following the framework's
best practices. The primary focus is ease-of-use and extensibility. We use pure render components,
also known as stateless components, whenever possible to keep the memory usage to a minimum. Stateful
components are only used for larger components, such as `ResponsiveNavigation`, where state is actually necessary.
All components are unit-tested to ensure their quality.

Here is a list of the available components:

* [Accordion](src/components/accordion.js)
* [Badge](src/components/badge.js)
* [Breadcrumbs](src/components/breadcrumbs.js)
* [Button](src/components/button.js)
* [ButtonGroup](src/components/button-group.js)
* [Callout](src/components/callout.js)
* [CloseButton](src/components/close-button.js)
* [FlexVideo](src/components/flex-video.js)
* [Grid](src/components/grid.js)
* [Icon](src/components/icon.js)
* [Label](src/components/label.js)
* [MediaObject](src/components/media-object.js)
* [Menu](src/components/menu.js)
* [Pagination](src/components/pagination.js)
* [Progress](src/components/progress-bar.js)
* [ResponsiveNavigation](src/components/responsive.js)
* [Switch](src/components/switch.js)
* [Tabs](src/components/tabs.js)
* [Thumbnail](src/components/thumbnail.js)
* [TopBar](src/components/top-bar.js)

More components coming soon!

## Install

Install library:

```bash
npm install react-foundation --save
```

Install [foundation-sites](https://www.npmjs.com/package/foundation-sites):

```bash
npm install foundation-sites --save
```

## Usage

```js
// Add Foundation to index.js
import 'foundation-sites/dist/css/foundation.min.css';

// import components
import { Button, Colors } from 'react-foundation';

// Use components ...
function SubmitButton() {
return Submit;
}
```

Documentation is at https://digia.online/react-foundation-docs/.

*Note:* Newer versions of `foundation-sites` do not offer out of the box support for `` and `` components. If working with a newer version, `` and `` components should be used instead.

```js
// Previous versions

4 columns
4 columns
4 columns

// Newer versions

4 columns
4 columns
4 columns

```

## Contributing

Please read our [guidelines](.github/CONTRIBUTING.md).

## Credits

* Thanks to [Nord Software](https://twitter.com/nordsoftware) and [Digia](https://digia.com/en/) for sponsoring initial development.
* Thanks to [@jmreidy](https://github.com/jmreidy) for releasing the `react-foundation` package name to us on [NPM](https://www.npmjs.com/).

## License

See [LICENSE](LICENSE).