Giter VIP home page Giter VIP logo

gypcrete's People

Contributors

a26620236 avatar benny0642 avatar brianwu291 avatar chenesan avatar cjies avatar dependabot[bot] avatar hsunpei avatar ichefbot avatar kyoyadmoon avatar leannechen avatar tz5514 avatar yucj avatar zhusee2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gypcrete's Issues

Move core to peer dependency for sub-packages?

Currently all sub-packages list @ichef/gypcrete as dependency.
This causes lerna to update every single package (and thus publish them) just for updating dependency to the core package.

Let's see if we can list the core package as a peer dependency instead.

v1.3 Issues

  • <Text> aside isn't turned white when placed inside a highlighted row
  • A <ListRow> does not have hover background in normal <List>
  • <HeaderRow> should also apply vertical padding

React 16 upgrade

Before upgrade react

  • Upgrade storybook dependencies to v3.2.11 or above. (#93)
  • Upgrade enzyme to v3. (#183)
    • React dependencies was removed in enzyme v3, use new Adapters system to import React library that we used, check the migration guide here.
  • Upgrade webpack and extract-text-webpack-plugin to v3 (#101)
  • Upgrade Babel to v7 (#185)
  • Upgrade ESlint v5 (#186)

React API changes

  • Upgrade react, react-dom, react-test-renderer to v16. (#187)
  • As #79, Migrate unstable_renderSubtreeIntoContainer to ReactDOM.createPortal(). (#188)
  • Get rid of ReactDOM.findDOMNode() as it's being deprecated under strict mode in React 16.6. (#189)

Refactor to abandon “input object” approach

There are 3 components left using a previous “input object”, which explicitly expects an input prop to pass all input-related props to their inner <input>. They are:

  • <Checkbox>
  • <SearchInput>
  • <Switch>

As their main purpose is to act as real inputs with custom appearance, they should take all unknown props as input props by default.

Release 1.0.0

This issue is created to keep track of minimum requirements for release v1.0.0.

Visual Elements

Row Components

  • Text Label (#7, #43)
  • Button (#14)
  • Button (icon-only) (#15)
  • Checkbox (#27)
  • Switch (#37)
  • Text Input (#41)
  • Text Input (multi-lines) (#64)
  • Search (#21)

Containers

  • Header (#69)
  • Row (#69)
  • List Section (#69)
  • Setting Section (#69)

Switch to Lerna

Split gypcrete into multiple packages but still maintain in one single repository.

Discussion: ref issue when stateless components used as anchors

Most our components in gypcrete are stateless function components. That means they take up less resource in a React app but they can not be held via a ref. And thus they cannot be used as the anchor of an anchored component.

There are 2 feasible solutions:

  1. Make every row components React.PureComponents.

    • Pros → No extra wrapper needed to be used as an anchor.
    • Cons → This will make components fat in terms of memory usage and performance.
  2. Create a PureComponent wrapper to take the reference for its content

    • Pros → Only anchors need this extra PureComponent, and this anchor can hold multiple components.
    • Cons → Dirty markups. And you need to deal with Flexbox issues.

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.