@rakuten-rex/checkbox

1.4.0 • Public • Published

ReX React UI Component: checkbox

This project is part of ReX Design System and it can be used to create UI Components compatible with:

React, HTML/CSS and Vue.js

How to install

npm install @rakuten-rex/checkbox@1.4.0 --save

yarn add @rakuten-rex/checkbox@1.4.0

Getting started

Storybook Live examples

For a complete guide of properties for React and HTML classes please visit our Storybook page:

https://rakuten-rex.github.io/checkbox/

Storybook features

  • [x] Stories by component types
  • [x] HTML raw output
  • [x] JSX output
  • [x] Stories source code
  • [x] Knobs with multiple options

ZeroHeight Documentation

For a complete Documentation including all ReX Design System Components, Live HTML/React examples and Demos please visit:

https://rakuten-rex.github.io/

How to integrate ReX in your project

A) JavaScript modules

React component (JavaScript + CSS Styles)

For plug and play components integration.

Example:

my-component.jsx

// A single Checkbox
import Checkbox from '@rakuten-rex/checkbox/Checkbox';
function MyCustomComponent() {
  return (
    <Checkbox id='pet-dog' label='dog' name='pet' value='dog' />
  );
}
// Multiple Checkboxes
import CheckboxGroup from '@rakuten-rex/checkbox/CheckboxGroup';
function MyCustomComponent() {
  return (
    <CheckboxGroup options={[{ "id" : "choice1" , "name" : "pet" , "value" : "dog" , "label" : "Dog" , "checked" : true, "disabled" : false, "required" : false }, { "id" : "choice2" , "name" : "pet" , "value" : "fish" , "label" : "Fish" , "checked" : false, "disabled" : false, "required" : false }, { "id" : "choice3" , "name" : "pet" , "value" : "cat" , "label" : "Cat" , "checked" : false, "disabled" : false, "required" : false }, { "id" : "choice4" , "name" : "pet" , "value" : "llama" , "label" : "Llama" , "checked" : false, "disabled" : false, "required" : false }, { "id" : "choice5" , "name" : "pet" , "value" : "iguana" , "label" : "Iguana" , "checked" : false, "disabled" : true, "required" : false }]} />
  );
}

Click here to see all working examples in Storybook.

CSS Styles only

For your own JavaScript integration (React, Vue, Angular, etc.) or Static HTML.

Using CSS Variables (Modern Websites and WebApps)

Example:

my-component.jsx

import '@rakuten-rex/checkbox/Checkbox/css';

function MyCustomComponent() {
  return (
    <div class="rex-checkbox">
      <input type="checkbox" id="choice1" value="dog" name="pet" area-label="dog" /><label class="rex-checkbox-label" for="choice1">dog</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice2" value="cat" name="pet" area-label="cat" checked="" /><label class="rex-checkbox-label" for="choice2">cat</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice3" value="rabbit" name="pet" area-label="rabbit" /><label class="rex-checkbox-label" for="choice3">rabbit</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice4" value="pig" name="pet" disabled="" area-label="pig" /><label class="rex-checkbox-label" for="choice4">pig</label>
    </div>
  );
}

Using Static CSS (Legacy Websites)

Example:

my-component.jsx

import '@rakuten-rex/checkbox/Checkbox/css/static';

function MyCustomComponent() {
  return (
    <div class="rex-checkbox">
      <input type="checkbox" id="choice1" value="dog" name="pet" area-label="dog" /><label class="rex-checkbox-label" for="choice1">dog</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice2" value="cat" name="pet" area-label="cat" checked="" /><label class="rex-checkbox-label" for="choice2">cat</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice3" value="rabbit" name="pet" area-label="rabbit" /><label class="rex-checkbox-label" for="choice3">rabbit</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice4" value="pig" name="pet" disabled="" area-label="pig" /><label class="rex-checkbox-label" for="choice4">pig</label>
    </div>
  );
}

Click here to see all working examples in Storybook.

Sass mixins

For your own customization of styles (React, Vue, Angular, etc.) or Static HTML.

Example:

my-styles.scss

@import '@rakuten-rex/checkbox/CheckboxUi/sass/styles.mixin';

.rex-checkbox {
  @include rex-checkbox();
}

Vue.js

A basic implementation based on HTML structure and import CSS styles into your component.

Example:

my-component.vue

<template>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice1" value="dog" name="pet" area-label="dog" /><label class="rex-checkbox-label" for="choice1">dog</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice2" value="cat" name="pet" area-label="cat" checked="" /><label class="rex-checkbox-label" for="choice2">cat</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice3" value="rabbit" name="pet" area-label="rabbit" /><label class="rex-checkbox-label" for="choice3">rabbit</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice4" value="pig" name="pet" disabled="" area-label="pig" /><label class="rex-checkbox-label" for="choice4">pig</label>
    </div>
</template>
<script>
export default {
  name: 'MyComponent',
}
</script>
<style scoped>
@import "~@rakuten-rex/checkbox/Checkbox/css";
</style>

B) Static HTML

Copy-paste the stylesheet <link> into your <head> tag to load our CSS styles.

Using CSS Variables (Modern Websites and WebApps)

Production mode URL (recommended for Static HTML projects):

https://unpkg.com/@rakuten-rex/checkbox@1.4.0/Checkbox/Checkbox.production.min.css

Development mode URL (for local testing):

https://unpkg.com/@rakuten-rex/checkbox@1.4.0/Checkbox/Checkbox.development.css

Using Static CSS (Legacy Websites)

https://unpkg.com/@rakuten-rex/checkbox@1.4.0/Checkbox/Checkbox.static.css

Single component integration

Add it from unpkg.com CDN (NPM) into your HTML template or HTML static page.

Example:

my-page.html

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>My Page</title>
    <!-- ReX checkbox -->
    <link href="https://unpkg.com/@rakuten-rex/checkbox@1.4.0/Checkbox/Checkbox.production.min.css" rel="stylesheet">
  </head>
  <body>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice1" value="dog" name="pet" area-label="dog" /><label class="rex-checkbox-label" for="choice1">dog</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice2" value="cat" name="pet" area-label="cat" checked="" /><label class="rex-checkbox-label" for="choice2">cat</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice3" value="rabbit" name="pet" area-label="rabbit" /><label class="rex-checkbox-label" for="choice3">rabbit</label>
    </div>
    <div class="rex-checkbox">
      <input type="checkbox" id="choice4" value="pig" name="pet" disabled="" area-label="pig" /><label class="rex-checkbox-label" for="choice4">pig</label>
    </div>
  </body>
</html>

Documentation, source code and distribution

Site URL
Github (Source Code) https://github.com/rakuten-rex
NPM (Package distribution) https://www.npmjs.com/org/rakuten-rex
ZeroHeight (Documentation) https://zeroheight.com/390c074f3

Project Stack

Front-end
HTML5 CSS3 & Sass JavaScript ES6 React
Tools
webpack Storybook Babel ESLint Prettier

Features

Styles features JavaScript features
Theme support via CSS variables React components splitted by type
Static CSS styles available for HTML/VueJS/AngularJS Universal Module Definition support
Sass mixins for custom builds
Reset CSS styles already bundled by HTML tags
Removed duplicated CSS props
CSS classes prefix rex-

Browser Support

PC Mobile
Chrome 49+ iOS 9+ (Safari 9.3+, Chrome 78+)
Safari 9.1+ Android 6+ (Chrome 78+, Android Browser 76+)
Firefox 31+
MS Edge 15+
IE 11+

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @rakuten-rex/checkbox

      Weekly Downloads

      0

      Version

      1.4.0

      License

      MIT

      Unpacked Size

      109 kB

      Total Files

      29

      Last publish

      Collaborators

      • montomos
      • claudio.moya-rakuten.com