Coder Social home page Coder Social logo

ihme-ui's People

Contributors

bdinh avatar benbenbuhben avatar brettvitaz avatar davschne avatar dbyers55 avatar dependabot[bot] avatar evanl5 avatar gabemedrash avatar jimvermillion avatar kbeame avatar komalali avatar npmcdn-to-unpkg-bot avatar pulchrit avatar

Stargazers

 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

ihme-ui's Issues

BUG: Choropleth intermittently misses area selection

Steps to reproduce:

  1. Click on an area to select it
  2. Move the mouse and click on an area to select it

Results:
The area will intermittently not toggle selected state

Notes:
This appears to be a problem in the onClick code.

Scatter: support `symbolStyle`

<MultiScatter presumably allows you to pass in props.symbolStyle, but that isn't passed through <Scatter /> to <Symbol />s.

Setting margin/padding for svg in AxisChart

Currently if
margins={{ top: ..., left: }}
is set in AxisChart, those margins are subtracted from given width and height via calcDimensions (see js:100), and then placed in dimensions (see js:84) for the state of the component.
When the svg is rendered, the width is computed by adding dimension.width + margins.left + margins.right (see js:113) making the svg width the same width that was passed originally. Similarly for height.
An actual svg margin would help visually to catch svg elements that flow over the svg border, as often happens with axis labels.

EDIT: So maybe my issue can be solved with inline styles involving padding. This may be a non-issue. I will investigate further.

scatter and multi-scatter give console warnings

warning.js:44Warning: Failed propType: Required prop 'scales' was not specified in 'MultiScatter'. Check the render method of 'App'.

warning.js:44Warning: Failed propType: Required prop 'scales' was not specified in 'Scatter'. Check the render method of 'App'.

MultiScatter and Scatter are passed scales from axis-chart. The console still logs these warnings.

ChoroplethLegend handle binned color scale

Currently ChoroplethLegend makes assumption that color scale passed to it will be linear (hence inclusion of LinearGradient component), but it should support taking in color scale that is binned.

AxisChart: investigate use of padding

Currently, padding is subtracted from width and height within <AxisChart />. Those dimensions are then passed down to <AxisChart />'s children as width and height. Consider passing width and height without padding subtracted, and dealing with padding separately in each child component.

Evaluate theme design

Themes implementation has not received much attention. Maybe it should be removed entirely.

Approach to styles in Shape are nonconformant with rest of lib

Unless we have a solid reason not to, we should allow specification of

  • className: CommonProps.className (i.e., string, object, array)
  • style: CommonProps.style (i.e., function or object)

on each component that renders a JSX intrinsic (e.g., div) as either a wrapper of other components or alone.

  • Area
  • Line
  • MultiLine
  • MultiScatter
  • Scatter
  • Symbol

Tree shaking: use lodash-es

We should be working towards this library being tree-shakable. To support that effort, we should switch from the lodash library to the lodash-es library and update the import statements.

Group: propTypes management

  • onClick should not be required. Instead, a defaultProp of lodash/noop should be applied.

  • style should be PropTypes.object as it does not support functions.

Improvement to dataGenerator

Desired API:

const data = dataGenerator({
 // implementation of primaryKey should support composite keys (unique across those properties)
  keys: [
    {name: 'location_id', primaryKey: true, type: 'location'}, // OR {name: 'location_id', values: [101, 102, 6, ...]}
    {name: 'year_id', primaryKey: true, type: 'year', start: 1990, end: 1995}, 
    {name: 'sex_id', primaryKey: true, type: 'sex'}, 
    {name: 'mean', type: 'random', initial: 200, end: 400}
  ],
  length: 20, // amount of datum objects
  uncertainty: 5, // percent of initial value
  volatility: 1 // greater numbers indicate greater variation in data (nice to have, not necessary)
});

Brush component

Hi,

I was looking for a d3 brush component which works with React and found your project. I don't have any interactivity for range-slider demo. Also, no callback on Brush to get the updated range. Just wonder about any plan to expand this component.

Your project looks very clean and of high quality. Thanks for open sourcing it.
Cheers,
bsr

Slider: props consistency

For sake of consistency, <Slider />'s wrapperClassName should be renamed className and wrapperStyle should be renamed style.

ExpansionContainer: evaluate `group` prop

Should group be given a better default? I see the potential for key collisions if two ExpansionContainers (that both relied on the defaultProp "default" for group) are included on a page at once.

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.