Skip to content

v0.4.0

Choose a tag to compare

@CITguy CITguy released this 14 Mar 19:17
· 1288 commits to master since this release

Summary

This release was made possible by the following contributors:

You can view the updated documentation at https://rackerlabs.github.io/helix-ui/.

Client-Side Framework Compatibility

In the near future, we'll be making updates to existing components to ensure maximum compatibility with client-side libraries. Configuration of custom elements can already be accomplished either via HTML attributes or JavaScript properties (outside-in). In order for custom elements to communicate their own internal state change, they will make use of DOM Events (inside-out).

Simply put...

  • Attributes/Properties IN
  • Events OUT

communicating with custom elements

Note: Each library will have its own technique to listen for events. Below are some examples of how you might communicate with the updated <hx-checkbox> custom element in some of the popular client-side libraries.

If you are aware of better methods, please let us know so we can help others integrate HelixUI with their own applications.

Angular 1.x

<hx-checkbox my-ng-checkbox ng-model="isChecked"></hx-checkbox>
  • Create a custom directive (e.g., my-ng-checkbox) that works in tandem with the ng-model directive in order to listen for the change event and update the model value.

React 15+

<hx-checkbox ref={ el => this._element = el }></hx-checkbox>
  • Add a change event listener to this._element in order to keep state in sync with your React application.

VueJS 2.x

<hx-checkbox :checked="isChecked" @change="onChange"></hx-checkbox>
  • Create a change event listener (e.g., onChange) to keep state in sync with your Vue application.

Updated Checkboxes

Components > Checkboxes

Checkboxes were updated to provide better compatibility with client-side libraries.

  • Listen for the change event to keep state in sync with your application.

Added Accordions

Components > Accordions

screen shot 2018-03-13 at 6 18 38 pm

Added Busy Component

Components > Busy

busy-demo

NOTE: IE11 is known to have rendering bugs that are outside of our ability to correct. Under certain conditions, the component may be rendered with a squigglevision-like appearance.

busy-ie11-squigglevision
Busy in a button on IE11 - transform calculations result in squigglevision-like rendering.

Added Choice Tiles

Components > Choice Tiles

Choice Tiles are a stylized variation of a Radio group. In combination with the Grid system, you can build a grid of choices for user selection.

choicetile-grid-demo
Example Choice Tile Grid - Note that keyboard functionality still works.

Added Search Component

Components > Search

The Search component provides consistent interaction and appearance for a search input.

  • Listen for the input and change events to keep state in sync with your application.

searchcomponent-clipped

Merged

  • #152 - feat(busy): add Busy component
  • #151 - feat(choiceTiles): add Choice Tiles component
  • #147 - feat(accordion): add Accordion component
  • #146 - feat(search): add Search Box component
  • #141 - refactor(checkbox): compatibility update