/Semantic-UI-React

The official Semantic-UI-React integration

Primary LanguageJavaScriptMIT LicenseMIT

Gitter Circle Codecov Gemnasium npm

Hey, we're in development. Prior to reaching v1.0.0:

  1. MINOR versions represent breaking changes
  2. PATCH versions represent fixes and features
  3. There are no deprecation warnings between releases
  4. You should consult the CHANGELOG and related issues/PRs for more information

Installation & Usage

See the Documentation for an introduction, usage information, and extensive examples.

Built With Semantic-UI-React

These great products are built on Semantic-UI-React. Add yours here.

Voice Your Opinion 💬

Help shape this library by weighing in on our RFC (request for comments) issues.

How Can I Help? ✋

Our CONTRIBUTING.md is a step-by-step setup and development guide. It is meant to be read from top to bottom. Once you're up to speed, each issue here includes more information on how you can help:

Issues labeled good first contribution are a great way to ease into development on this project.

We're seeking component parity with Semantic UI, plus some addons. There is an issue for every missing component, labeled new component. Just comment on the issue you'd like to take.

Any other issue labeled help wanted is ready for a PR.

Debugger

We use the debug module for debugging. You can turn debugging on and off via the localStorage.debug flag from the browser console. See the debug docs for more.

localStorage.debug = 'semanticUIReact:*'         // default, debug all components
localStorage.debug = 'semanticUIReact:dropdown'  // debug only the dropdown
localStorage.debug = null                        // turn debug off

Once you change the flag, you need to refresh your browser to see the changes in debug output.

Support

Elements Collections Views Modules Behaviors
✓ Button ✓ Breadcrumb Advertisement ✓ Accordion Form Validation
✓ Container ✓ Form ✓ Card ✓ Checkbox API (NA)
✓ Divider ✓ Grid ✓ Comment ✓ Dimmer Visibility (NA)
✓ Flag ✓ Menu ✓ Feed ✓ Dropdown
✓ Header ✓ Message ✓ Item ✓ Embed
✓ Icon ✓ Table ✓ Statistic ✓ Modal
✓ Image ✓ Popup
✓ Input ✓ Progress
✓ Label ✓ Rating
✓ List ✓ Search
✓ Loader Shape
✓ Rail ✓ Sidebar
✓ Reveal Sticky
✓ Segment Tab
✓ Step Transition

Our Principles

TechnologyAdvice has been dogfooding Semantic-UI-React in production since fall of 2015. These are the guiding principles that have developed as a result:

  • No jQuery dependency
  • No animation dependencies
  • Reuse SUI CSS transitions
  • Simple declarative component APIs vs intricate HTML markup
  • Complete keyboard support
  • Complete SUI component definition support
  • Completely documented
  • Completely tested

Releasing

On the latest clean master:

npm run release:major
npm run release:minor
npm run release:patch

Deploy the docs:

npm run deploy:docs

Update the changelog (requires github_changelog_generator):

github_changelog_generator
git add CHANGELOG.md
git commit -m 'docs(changelog): update changelog [ci skip]'
git push

Credit

Made with ❤️ @TechnologyAdvice, a ridiculous place to work.

Big thanks to our contributors, especially:

  • @jamiehill for early engineering and support
  • @jcarbo for thoughtful engineering and continual support
  • @layershifter for bringing momentum and continual support