iCHEF web components library, built with React.
APACHE-2.0 License
Bot releases are hidden (Show)
Published by zhusee2 almost 7 years ago
<IconButton>
injected class overridden by custom class<Popover>
and appearance tweak for <SelectRow>
<SelectRow>
issuesclosable()
HOC mixin now takes runtime options via props. (#118)formRow()
HOC mixin now takes withRef
option to maintain a ref to its wrapped component. (#118)<TextInputRow>
and <SwitchRow>
now accepts children
prop, will render inside <ListRow>
. (#118)<TextInputRow>
now exposes ref to inner <input>
via getInputNode()
method. (#118)<IconButton>
will be overridden with custom className
. (#117)<Popover>
should have max-height
while making its content scrollable. (#120)<SelectRow>
showing 'All' when it has no option. (#120)<SelectRow>
label should be tinted. (#120)<SelectRow>
with only one <Option>
showing All when the only option is checked. (#122)Published by zhusee2 almost 7 years ago
<SelectRow>
closable()
blocking children events<TextInputRow>
when being focused.tinted
prop for <IconButton>
for a half-transparent icon.<SelectList>
now passes sorted values via onChange()
<SelectRow>
now caches values internally, and use that to control <SelectList>
<SelectRow>
with asideAll
, asideNone
and asideSeparator
.parseSelectOptions()
helper to read from children of <SelectOption>
s.<ListRow>
stops forwarding status props to children via context. This is changed against v1.2.0
.<TextInputRow>
should take up whole space.<TextInputRow>
should not have background.closable()
HOC mixin configured to close on inside click.Published by zhusee2 almost 7 years ago
Fixes @ichef/gypcrete-form
package not publishing anything.
Published by zhusee2 almost 7 years ago
Published by zhusee2 almost 7 years ago
<Text>
should turn white inside a highlighted <ListRow>
. (#104)<ListRow>
. (#104)<HeaderRow>
. (#104)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>
<Popover>
, exporting an anchored one by default.closable()
HOC mixin to determine when to “close” on Esc key or on any key/touch on document.@ichef/gypcrete
)storybook-addon-info
. (#93)(#95)escapable()
mixin in favor of new closable()
.padding
option for anchored()
is renamed to edgePadding
for better understanding.<Tooltip>
now default-exports an anchored version. <AnchoredTooltip>
is removed from bundle.Published by zhusee2 almost 7 years ago
This release contains style updates and some behavior tweaks:
<EditableBasicRow>
now passes all unknown props to its underlying input.<body>
to use system-ui
font family.<List>
title is now bold.<ListRow>
now has 4px padding vertically and the same 16px horizontally.<rowComp(Component)>
<ListRow>
<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.prefixState
into getStateClassnames
so the state logic can be shared.row-padding
utility icon.Published by zhusee2 about 7 years ago
This release introduces API changes to <EditableTextLabel>
<EditableTextLabel>
:
inEdit
prop now defaults to undefined
, which means the component is uncontrolled.inEdit
is set either true
or false
, the component is controlled
onEditRequest
onDblClick
callback. Users can decide when to update the edit state.<EditableTextLabel>
:
icon
now renders correctly under edit modeonDblClick
callback.<HeaderRow>
which is split into left
, center
and right
tiers. (#69)<List>
section that supports a title and a description block. (#69)<ListRow>
with a Flexbox body for row components.z()
sass helper. (Migrate from iC-framework)escapable()
mixin, listening Esc
key to trigger onEscape
prop.<Overlay>
.<Popup>
component. (#70)<ColumnView>
which holds a header
above and a footer
below its main body area. (#71)<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
.Published by cjies over 7 years ago
publishConfig
option.--all
option.Published by cjies over 7 years ago
Installation
and Usage
contents in README.<EditableBasicRow>
containing input logics is split from <EditableText>
. (#63) Also supports choosing from input
or textarea
for its inner tag. (#64)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)<Editable-*>
components and <TextInput>
. (#63)deloy.sh
and ghpages.sh
scripts to fit TravisCI.node-sass
to v4.5.3 to fix error on Node 8.jest-junit
reporter by Coveralls, send coverage data to Coveralls after CI build.Published by cjies over 7 years ago
search.exclude
option. (#48)testRegex
pattern, run test files in any __tests__
folder with .test
or .spec
suffix only. (#48)webpack.prod
to webpack.dist
. (#48)configs/
folder: (#48, #55)
.babelrc
.eslintrc.yml
.eslintignore
.stylelintrc.yml
fontello.config.json
fillSpace
prop in <InfiniteScroll>
, auto fill spaces with onLoadMore
callback if its height is smaller than 2 times of container's height. (#57)disabled
prop in <InfiniteScroll>
. (#57)basic
prop of <BasicRow>
is no longer required. (#58)/utils
<BasicRow>
, <Icon>
, <StatusIcon>
, <Tag>
, <Text>
.Published by cjies over 7 years ago
@kadira/storybook
to @storybook/react
. (#52)<InfiniteScroll>
to perform an action when scrolls a specified distance from the bottom of page. (#45)rowComp()
's icon prop. (#45)<SwitchIcon>
to be used as a 64x32 icon.<Switch>
row component.<EditableText>
visual element which has an <input type="text" />
inside.<TextInput>
which contains <EditableText>
and ignores normal text props like basic
, tag
and aside
.sinon
testing package to handling stub tests. (#38)EnhancedPropTypes
helper. (#38)<EditableTextLabel>
which can be turned into edit mode with inEdit
prop.<IconLayout>
can now be tooltip-free by turning it off.<Checkbox>
.<BasicRow>
can now take children
to render extra content.<IconButton>
, they should be empty. (#38)withStatus()
mixin now takes withRef
option to hold ref to rendered component.Published by cjies over 7 years ago
fontello.config.json
at project root. (#34)iventory-category
and inventory-item
).demo/
.examples/
folder and migrate component docs to stories.addPropsTable()
custom addon to show component's propTypes in table, which modified from addon-info
.storybook
env in babelrc, which included cjs transpiler.gh-pages
branch with running npm run ghpages
. (#35)public/
path in eslint.demo/
folder, all examples migrated to examples/
.config/webpack.prod
.react-hot-loader
.develop
--> dist
branchmaster
--> npmsrc/index.js
.babelrc
to ignore test files on build and transform modules on test.babel-preset-env
from babel-preset-latest
, since Babel recommends the former.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.
babel-runtime
(required by babel-plugin-tranform-runtime
) to peerDependencies
instead of devDependencies
. Because our Babel-transformed ES2015 modules does require it.