All Projects → gumgum → gumdrops

gumgum / gumdrops

Licence: other
GumGum's React Reusable Component Library

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to gumdrops

Laravel View Components
A better way to connect data with view rendering in Laravel
Stars: ✭ 238 (+325%)
Mutual labels:  components
Live
Live views and components for golang
Stars: ✭ 251 (+348.21%)
Mutual labels:  components
components
Components library for the Blockchain.com ecosystem 💍 🔥
Stars: ✭ 20 (-64.29%)
Mutual labels:  components
Vue Signature Pad
🖋 Vue Signature Pad Component
Stars: ✭ 237 (+323.21%)
Mutual labels:  components
Octopuskit
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
Stars: ✭ 246 (+339.29%)
Mutual labels:  components
Storybook
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!
Stars: ✭ 67,445 (+120337.5%)
Mutual labels:  components
Smart Hierarchy
Better hierarchy for Unity.
Stars: ✭ 234 (+317.86%)
Mutual labels:  components
blockml-component
A component-based virtual DOM system (similar to React) for blockml.
Stars: ✭ 23 (-58.93%)
Mutual labels:  components
Vue Form Json Schema
Create forms using JSON schema. Bring your components!
Stars: ✭ 253 (+351.79%)
Mutual labels:  components
okeedesign-mobile-vue
High Performance, Flexiable Configuration, Various Components
Stars: ✭ 139 (+148.21%)
Mutual labels:  components
Ring Ui
A collection of JetBrains Web UI components
Stars: ✭ 2,852 (+4992.86%)
Mutual labels:  components
Ninecat Ui
A Light Vue 3.0 Web UI Framework build with JavaScript and Typescript.
Stars: ✭ 242 (+332.14%)
Mutual labels:  components
Next.js
The React Framework
Stars: ✭ 78,384 (+139871.43%)
Mutual labels:  components
Graphics32
Graphics32 is a graphics library for Delphi and Lazarus. Optimized for 32-bit pixel formats, it provides fast operations with pixels and graphic primitives. In most cases Graphics32 considerably outperforms the standard TBitmap/TCanvas methods.
Stars: ✭ 238 (+325%)
Mutual labels:  components
spectre-canjs
A data administration component library built on the Spectre.css framework enabled with CanJS
Stars: ✭ 25 (-55.36%)
Mutual labels:  components
A17t
An atomic design toolkit for pragmatists
Stars: ✭ 236 (+321.43%)
Mutual labels:  components
Element
A Vue.js 2.0 UI Toolkit for Web
Stars: ✭ 51,416 (+91714.29%)
Mutual labels:  components
ng-vcl
Angular VCL ‒ an Angular component library based on the VCL CSS eco system
Stars: ✭ 17 (-69.64%)
Mutual labels:  components
primitives
Foundational components for React Native UI
Stars: ✭ 38 (-32.14%)
Mutual labels:  components
techne
Design Guidelines, Components and Patterns Library for modern, mobile-first, user-centric Experience Design
Stars: ✭ 40 (-28.57%)
Mutual labels:  components

Gumdrops

This project contains reusable JavaScript React components that you can import into your project.

npm version License: MIT Build Status

Prerequisites

Include GumGum Design System's CSS in your project:

<link rel="stylesheet" href="https://assets.ggops.com/stable/theme-blue.css">

See the Design System documentation for themes, CSS utilities and more.

Documentation

See the documentation for this library and its components.

Installation

To add a specific version, you can use yarn add [email protected] (replace 1.0.0 with whatever version you want, or omit it to get the latest version)

The current and previous versions can be found in CHANGELOG.md

Usage

The library exports its components as ES Modules, so you can import only what you need, for example:

import Button from 'gumdrops/Button';
import Badge from 'gumdrops/Badge';
import Toggle from 'gumdrops/Toggle';

Follow the docs to use your component with the correct props.

For retrocompatibility, a CommonJS bundle is provided. It contains the whole library and can be used with:

const gumdrops = require('gumdrops');
// Or
import gumdrops from 'gumdrops';

For convenience and usage directly in the browser, there is also a UMD provided in:

node_modules/gumdrops/gumdrops.umd.js

Testing troubleshooting

Unfortunately, ESM is not yet widely available for some current tools, and running tests using components from this library could throw errors because of the ES module syntax. To prevent this, try the following:

  • For Jest: Jest uses its own implementation of require and will attempt to parse files with it and babel-jest, by default, it ignores node_modules which will result in syntax errors from the import statements. Add the next line to your jest config so that it ignores everything in node_modules, except for this library:

    "transformIgnorePatterns": ["/node_modules/(?!gumdrops)"]
    
  • For Mocha + Webpack: It is very likely that your mocha and webpack configurations also ignore the node_modules directory, to prevent any syntax errors, load babel through a configuration file instead of calling --compilers js:babel-register or --require babel-register directly.

The file contents can be as simple as:

// testSetup.js
require('babel-register')({
    ignore: /node_modules\/(?!gumdrops)/
});

// Import it into mocha or mocha-webpack:
--require ./testSetup.js

Prerequisites for running project locally

  • Git and Git Flow
  • NodeJS/NPM & Yarn: Minimum Required Versions - We have tested with the following versions - node: ^8.9.0, npm: ^5.5.1, yarn ^1.2.1
  • Install the ESLint validators and Prettier on your editor of choice. We have the configuration files on the root of the project, .eslinrc and .prettierrc. There is a precommit hook to run the Prettier scripts on the files.

Running storybook locally

yarn # install dependencies
yarn run storybook

Then open http://localhost:6006 on your browser. For more information visit React Storybook repo.

Contributing

Please see CONTRIBUTING.md for information about contributing to this project.

Contributors

A special thank you to all of our contributors! Plus the following who contributed before we moved to GitHub: David Mejorado, Jose Santos, Mike Watt

License

Apache 2.0

Important Note: This project does not redistribute third party libraries but identifies their availability. The libraries called by this project are subject to their creator licenses. Remember to consult and comply with all licenses in your uses.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].