gypcrete

iCHEF web components library, built with React.

APACHE-2.0 License

Downloads
2.4K
Stars
30
Committers
17

Bot releases are hidden (Show)

gypcrete - 1.5.0

Published by zhusee2 almost 7 years ago

Changes in this release

  • #117 Fix <IconButton> injected class overridden by custom class
  • #119 Enhance extendibility for a few components
  • #120 Layout fixes for <Popover> and appearance tweak for <SelectRow>
  • #121 Update icons
  • #122 Fix <SelectRow> issues

Changelog

Added

  • [Core] Added 7 new icons: (#121)
    • dropdown
    • remove-element
    • inline-question
    • first-page
    • prev-page
    • next-page
    • last-page

Changed

  • [Core] closable() HOC mixin now takes runtime options via props. (#118)
  • [Form] formRow() HOC mixin now takes withRef option to maintain a ref to its wrapped component. (#118)
  • [Form] <TextInputRow> and <SwitchRow> now accepts children prop, will render inside <ListRow>. (#118)
  • [Form] <TextInputRow> now exposes ref to inner <input> via getInputNode() method. (#118)
  • [Core] Updated 3 icons: (#121)
    • radio-empty
    • radio-half
    • radio-selected

Fixed

  • [Core] Fix classNames injected by <IconButton> will be overridden with custom className. (#117)
  • [Core] Fix <Popover> should have max-height while making its content scrollable. (#120)
  • [Form] Fix unset <SelectRow> showing 'All' when it has no option. (#120)
  • [Form] Fix unset <SelectRow> label should be tinted. (#120)
  • [Form] Fix a non-multiple <SelectRow> with only one <Option> showing All when the only option is checked. (#122)
gypcrete - 1.4.0

Published by zhusee2 almost 7 years ago

Changes in this release

  • #111 Publish canary builds with exact package version
  • #112 Add values display for <SelectRow>
  • #113 Style fixes
  • #114 Fix closable() blocking children events
  • #115 Style tweaks

Changelog

Added

  • [Form] Add transition to text in <TextInputRow> when being focused.
  • [Core] Add tinted prop for <IconButton> for a half-transparent icon.

Changed

  • [Form] <SelectList> now passes sorted values via onChange()
  • [Form] <SelectRow> now caches values internally, and use that to control <SelectList>
  • [Form] Customize display labels for <SelectRow> with asideAll, asideNone and asideSeparator.
  • [Form] Extract parseSelectOptions() helper to read from children of <SelectOption>s.
  • [Core] <ListRow> stops forwarding status props to children via context. This is changed against v1.2.0.

Fixed

  • [Form] Fix input inside <TextInputRow> should take up whole space.
  • [Form] Fix input inside <TextInputRow> should not have background.
  • [Core] Fix click events are ignored if fire from components inside closable() HOC mixin configured to close on inside click.
gypcrete - 1.3.3

Published by zhusee2 almost 7 years ago

Fixes @ichef/gypcrete-form package not publishing anything.

gypcrete - 1.3.2

Published by zhusee2 almost 7 years ago

Changes in this release

Fixed

  • Fixed CSS bundle requesting font files from broken path. (#108)
gypcrete - 1.3.1

Published by zhusee2 almost 7 years ago

Changes in this release

Changed

  • Upgrade webpack to v3 (#101)
  • [Core] Fix aside label for <Text> should turn white inside a highlighted <ListRow>. (#104)
  • [Core] Adds hover background for <ListRow>. (#104)
  • [Core] Fix vertical padding for <HeaderRow>. (#104)
gypcrete - 1.3.0

Published by zhusee2 almost 7 years ago

Version 1.3.0 brings changes to repository structure, while adds 3 new components.
Gypcrete now publishes 2 packages to NPM:

  • @ichef/gypcrete: the existing package, receiving a new <Popover> in 1.3.0
  • @ichef/gypcrete-form: a new package containing row-based form components, starting with a <SwitchRow> and a <TextInputRow>

Changes in this release

Added

  • Migrate and refactor <Popover>, exporting an anchored one by default.
  • Add new closable() HOC mixin to determine when to “close” on Esc key or on any key/touch on document.

Changed

  • Gypcrete is now a multi-package mono-repo built on Lerna.
    It's currently split into:
    • core (publishes to @ichef/gypcrete)
    • storybook (publishes to gh-pages of this repository)
      But this should not affect the existing package, as the codes are untouched with this change. Please refers to README for details.
  • Upgrade storybook libraries to v3.2.12, also fix the API changes of storybook-addon-info. (#93)(#95)
  • Deprecate escapable() mixin in favor of new closable().
  • The padding option for anchored() is renamed to edgePadding for better understanding.

Breaking

  • <Tooltip> now default-exports an anchored version. <AnchoredTooltip> is removed from bundle.
gypcrete - 1.2.0

Published by zhusee2 almost 7 years ago

This release contains style updates and some behavior tweaks:

Breaking changes

  • <EditableBasicRow> now passes all unknown props to its underlying input.

Style changes

  • Fix <body> to use system-ui font family.
  • <List> title is now bold.
  • <ListRow> now has 4px padding vertically and the same 16px horizontally.
  • Minimal height for a row component is removed, while the minimal row height is maintained at 48px by:
    • 32px minimal height for visual element
    • 4px + 4px vertical padding of <rowComp(Component)>
    • 4px + 4px vertical padding of <ListRow>

Component changes

  • <EditableTextLabel> filters out status from its inner <TextLabel> when it's in edit mode.
  • <Text> adds a bold prop to render its basic text in bolder font.
  • <ListRow> now has its own desc and errorMsg. It also takes status props, but mostly pass to children via context for now.
  • Refactors prefixState into getStateClassnames so the state logic can be shared.
  • Deprecates the row-padding utility icon.
gypcrete - 1.1.0

Published by zhusee2 about 7 years ago

This release introduces API changes to <EditableTextLabel>

Changes

  • API changes to <EditableTextLabel>:
    • inEdit prop now defaults to undefined, which means the component is uncontrolled.
    • When inEdit is set either true or false, the component is controlled
    • onEditRequest prop is removed in favor of new onDblClick callback. Users can decide when to update the edit state.
  • Behavior changes to <EditableTextLabel>:
    • Custom element passed via icon now renders correctly under edit mode
    • Double touch on mobile devices also triggers onDblClick callback.
    • If component is uncontrolled, it auto enters edit mode on double clicks/touches and leaves on edit ends.
gypcrete -

Published by cjies about 7 years ago

Added

  • Add <HeaderRow> which is split into left, center and right tiers. (#69)
  • Add <List> section that supports a title and a description block. (#69)
  • Add simple <ListRow> with a Flexbox body for row components.
  • Add z-index z() sass helper. (Migrate from iC-framework)
  • Add escapable() mixin, listening Esc key to trigger onEscape prop.
  • Add page overlay component, <Overlay>.
  • Add <Popup> component. (#70)
  • Add <ColumnView> which holds a header above and a footer below its main body area. (#71)
  • Add 3 new icons for menu page purpose. (#73)

Changed

  • Improved tests coverage. (especially mixins & utils)
  • Font weight of <body> is now set as 400 by default. (#72)
  • <Button> active/hover colors are slightly darken.
  • <Button> now takes a primary prop to make it bolder.
  • <EditableTextLabel> only gets autofocus when it's also inEdit.
gypcrete - 0.13.1 - Open source 🎊

Published by cjies over 7 years ago

Added

  • Set publish registry with publishConfig option.

Fixed

  • [deploy] Fix git auth while pushing new tag.
  • [deploy] Commit files with --all option.
gypcrete - 0.13.0 - Unpublished

Published by cjies over 7 years ago

Added

  • Add Apache License 2.0 for open-source.
  • Add Installation and Usage contents in README.
  • A new <EditableBasicRow> containing input logics is split from <EditableText>. (#63) Also supports choosing from input or textarea for its inner tag. (#64)
  • Add shields on README. (#66)

Changed

  • Add Installation and Usage contents in README.
  • <EditableText> is simplified to only hold status-related logic. (#63)
  • <TextInput> now passes all unknown props to <EditableText> for convenience. (#63)
  • <EditableTextLabel> is now the only component which manages the input value change with onEditEnd callback, as well as Enter/Esc key presses and input blurs. (#63)
  • Flow type annotations for <Editable-*> components and <TextInput>. (#63)
  • Turn CI service to TravisCI. (#66)
  • Update deloy.sh and ghpages.sh scripts to fit TravisCI.
  • Upgrade node-sass to v4.5.3 to fix error on Node 8.
  • Replace jest-junit reporter by Coveralls, send coverage data to Coveralls after CI build.
gypcrete -

Published by cjies over 7 years ago

Changed

  • <Text> now displays basic label in multiple lines. If you want to truncate it to single line with ellipsis, pass <TextEllipsis> instead. (#60)
gypcrete - 0.12.0 - Flow typing

Published by cjies over 7 years ago

Added

  • Add vscode workspace settings, included search.exclude option. (#48)
  • Add Flow type configs.

Changed

  • Change jest testRegex pattern, run test files in any __tests__ folder with .test or .spec suffix only. (#48)
  • Rename webpack config from webpack.prod to webpack.dist. (#48)
  • The following config files are moved to configs/ folder: (#48, #55)
    • .babelrc
    • .eslintrc.yml
    • .eslintignore
    • .stylelintrc.yml
    • fontello.config.json
  • Add fillSpace prop in <InfiniteScroll>, auto fill spaces with onLoadMore callback if its height is smaller than 2 times of container's height. (#57)
  • Remove disabled prop in <InfiniteScroll>. (#57)
  • The basic prop of <BasicRow> is no longer required. (#58)
  • The following modules are now type-annotated by Flow: (#39, #58)
    • All helpers under /utils
    • Visual elements of <BasicRow>, <Icon>, <StatusIcon>, <Tag>, <Text>.
gypcrete -

Published by cjies over 7 years ago

Changed

  • Use >= for versioning in engines fields.
gypcrete - 0.11.0 - <InfiniteScroll> & Storybook v3

Published by cjies over 7 years ago

Added

  • Migrate @kadira/storybook to @storybook/react. (#52)
  • Add <InfiniteScroll> to perform an action when scrolls a specified distance from the bottom of page. (#45)

Changed

  • Support react element in rowComp()'s icon prop. (#45)
gypcrete -

Published by cjies over 7 years ago

Added

  • Add new download icon.
gypcrete -

Published by cjies over 7 years ago

Added

  • Add <SwitchIcon> to be used as a 64x32 icon.
  • Add <Switch> row component.
  • Add <EditableText> visual element which has an <input type="text" /> inside.
  • Add <TextInput> which contains <EditableText> and ignores normal text props like basic, tag and aside.
  • Add sinon testing package to handling stub tests. (#38)
  • Add EnhancedPropTypes helper. (#38)
  • Add <EditableTextLabel> which can be turned into edit mode with inEdit prop.

Changed

  • <IconLayout> can now be tooltip-free by turning it off.
  • Fix tests in <Checkbox>.
  • <BasicRow> can now take children to render extra content.
  • Lighten hover & active background color of row components. (#38)
  • Filter out color and solid props in <IconButton>, they should be empty. (#38)
  • Non-minified row components now take equal space in a flex row.
  • withStatus() mixin now takes withRef option to hold ref to rendered component.
gypcrete - 0.9.0 - Storybook

Published by cjies over 7 years ago

Added

  • Add fontello.config.json at project root. (#34)
  • Add inventory icons(iventory-category and inventory-item).
  • Add @kadira/storybook to replace demo/.
  • Create examples/ folder and migrate component docs to stories.
  • Create addPropsTable() custom addon to show component's propTypes in table, which modified from addon-info.
  • Add storybook env in babelrc, which included cjs transpiler.
  • Deploy built storybook to gh-pages branch with running npm run ghpages. (#35)
  • Add demo link in README.

Changed

  • Ignore public/ path in eslint.

Removed

  • Remove demo/ folder, all examples migrated to examples/.
  • Remove webpack base & demo config, only leave config/webpack.prod.
  • Remove demo related dev dependencies and react-hot-loader.
gypcrete -

Published by cjies over 7 years ago

Added

  • Add deploy script to work with Jenkins. It'll deploy to:
    • New commits in develop --> dist branch
    • New commits in master --> npm
  • Add Jest for running tests.
  • Add first test file for src/index.js

Changed

  • Update .babelrc to ignore test files on build and transform modules on test.
  • Switch Babel preset to babel-preset-env from babel-preset-latest, since Babel recommends the former.
gypcrete -

Published by cjies over 7 years ago

Added

  • Migrate the following components:

    • <Icon>
    • <Tag>
    • <TextEllipsis>
    • <FlexCell> (with modifications)
    • <StatusIcon> (with modifications)
  • Add new components:

    • <Text>: the text part of a row component, pre-wrapped with withStatus() mixin.
    • <TextLabel>: the very basic row component containing an <Icon> and a <Text>.
    • <RowCompBody>: a layout wrapper.
  • Add Helpers:

    • icState() for prefixing state class names.
    • getComponentName() for reading name of a React Component.
    • wrapIfNotElement() to ensure output will always be an HTML tag.
  • Add HOC mixins:

    • rowComp(): handle shared appearance and behaviors for row components.
    • withStatus(): render <StatusIcon> and error msgs from context.
  • Migrate icBEM() helper, but now it doesn't take an BEMFactory instance.

  • Add babel-plugin-module-resolver and eslint-import-resolver-babel-module to config module alias.

Change

  • Move babel-runtime (required by babel-plugin-tranform-runtime) to peerDependencies instead of devDependencies. Because our Babel-transformed ES2015 modules does require it.