GithubHelp home page GithubHelp logo

lawrencesin / styled-ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from faithlife/styled-ui

0.0 1.0 0.0 23.32 MB

Faithlife UI styleguide and set of components

JavaScript 98.41% HTML 0.23% CSS 1.36%

styled-ui's Introduction

Styled UI

Build Status code style: prettier style: styled-components

How to contribute

  • File an issue first describing what you'd like to change, or check with one of the maintainers before doing any work to ensure you are headed in the right direction
  • Clone this repository locally.
  • Install NodeJS
  • Install Yarn
  • From a terminal, run these commands from the project directory
    • yarn to restore packages
    • yarn build to build webpack
    • yarn catalog-start to start the development environment
    • yarn precommit to fix style errors before committing
  • When you're ready to commit your work, create a new branch for your contribution, and then sync your branch with Github
  • Open a pull request via the Github Web UI to request review

How to publish

Why?

This project addresses problems introduced by creating components from scratch. Often a component from spec gets implemented multiple times, either from Zeplin or forked from an existing control. Each time an implementation happens, inconsistencies are introduced. It's also harder to introduce animations and shadows after the prototype has been built. By using reference components instead, there's a much higher chance the final products will the contain all margins, animations, and hover states the design calls for.

Goals

  • Components in this library must be built with Styled Components + React. Large additional runtime libraries should not be added such as moment, but tiny dependencies like lodash.debounce are OK.
  • UI components should support basic color theming and should have a variation documented that demos an alternate theme.
  • UI components are simple. For complex components (such as a sortable list control with inline search), consider creating a reusable component in a separate project
  • Style modifications should be approved by the design team before they are merged into this project
  • Components should have a prose description and live demo of different component states (using real data)
  • UI components are accompanied by documentation to show how the component should be used within a real app. The UI components should rely on a parent component to contain state, however in some cases local state may be used to handle UI-specific concerns (such the location of a popup or visibility)
  • Semantic versioning / version history updates when making releases
  • Third-party components, such as ag-grid or bootstrap, will have their stylesheet re-exported with the Faithlife styles applied (preferably via sass variables and no styles that require an opinionated CSS reset)
    • Customizations should be done via sass variables if possible, instead of hacky css overrides
    • If an opinionated CSS reset is required, the CSS reset styles should be scoped to a div that this library controls (for example, look at how bootstrap is imported). This is required so that other styles on the page won't break when styled-ui is imported.

styled-ui's People

Contributors

korbinancell avatar robertbolender avatar dustinsoftware avatar smaxa20 avatar imundy avatar dustinmackintosh avatar etihwddot avatar jordansjodinfaithlife avatar rmjohnson avatar bryanrsmith avatar ianfisk avatar sportnak avatar kbsletten avatar ethanrutherford avatar elanning avatar dustymack avatar jake-robertson avatar auresanyctea avatar glenngervais12 avatar jeremyeinfeld avatar mdombrowski1997 avatar michael-gamlem-faithlife avatar sethcopeland avatar shilini avatar spenceralexander avatar yunfeng01 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.