rohni / ui-component-library

🎨 ReasonML-first UI Component Library

Home Page:https://tenzir.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tenzir UI Component Library

A ReasonML-first UI component library

CI NPM Version Development Status License

Introduction β€” Getting Started β€” Contributing Guidelines β€” License

Introduction

Most UI-Libraries for use with ReasonML have bindings to existing UI-Libraries. Wanting to be fully type-safe without outdated component bindings, leveraging things like pattern-matching along the way, we decided to build our own UI-Library, ReasonML-first. We will continually build on this and add components as we need them. This means components may be missing, or lack support of all the web API's needed in your specific use-case. We encourage contribution (Contributing Guidelines) in these cases.

Components

The following components are currently built.

  • Button
  • Card
  • Checkbox
  • Icons - A script generates bindings for React Icons. We currently generate bindings to a subset that includes just the Feather Icons (MIT licensed).
  • Input
  • Textarea
  • Loader
  • Alert

Getting Started

Installation

Add dependency:

yarn add bs-tenzir-ui-components

Add the library to the bs-dependencies in your bsconfig.json:

{
  ...
  "bs-dependencies": ["tenzir-ui-component-library"]
}

Contributing / Development

We develop the components application agnostically with the help of Storybook. The ReasonML code is compiled first and is then imported as plain Javascript in the Storybook stories.

Install dependencies:

yarn

Start ReasonML compiler with file-watcher:

yarn start 

Start Storybook server (should be ran simultaniously):

yarn storybook

License

Tenzir UI-Component Library comes with a 3-clause BSD license.

About

🎨 ReasonML-first UI Component Library

https://tenzir.com

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Reason 67.0%Language:JavaScript 30.9%Language:C++ 1.6%Language:HTML 0.5%