@rakuten-rex/text-field

1.5.0 • Public • Published

ReX React UI Component: text-field

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/text-field@1.5.0 --save

yarn add @rakuten-rex/text-field@1.5.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/text-field/

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

import TextFieldLabel from '@rakuten-rex/text-field/TextFieldLabel';

function MyCustomComponent() {
  return (
    <TextFieldLabel
      id="age"
      name="firstname"
      placeholder="Placeholder"
      htmlFor="firstname"
      label="Label"
      labelId="labelId"
    />
  );
}

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/text-field/TextFieldLabel/css';

function MyCustomComponent() {
  return (
    <div class="rex-my-component" role="presentation">
      <div class="rex-text-field-label" id="age">
        <label id="labelId" for="firstname" class="rex-text-field-label-ui">Label</label>
        <div class="rex-text-field-ui">
          <div class="rex-text-field-inner-border">
            <input type="text" id="firstname" class="rex-text-field-native" name="firstname" placeholder="Placeholder" aria-labelledby="labelId" value="" />
          </div>
        </div>
      </div>
    </div>
  );
}

Using Static CSS (Legacy Websites)

Example:

my-component.jsx

import '@rakuten-rex/text-field/TextFieldLabel/css/static';

function MyCustomComponent() {
  return (
    <div class="rex-my-component" role="presentation">
      <div class="rex-text-field-label" id="age">
        <label id="labelId" for="firstname" class="rex-text-field-label-ui">Label</label>
        <div class="rex-text-field-ui">
          <div class="rex-text-field-inner-border">
            <input type="text" id="firstname" class="rex-text-field-native" name="firstname" placeholder="Placeholder" aria-labelledby="labelId" value="" />
          </div>
        </div>
      </div>
    </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/text-field/TextFieldLabel/sass/styles.mixin';

.my-component-with-rex-styles {
  @include rex-text-field-label();
}

Vue.js

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

Example:

my-component.vue

<template>
    <div class="rex-my-component" role="presentation">
      <div class="rex-text-field-label" id="age">
        <label id="labelId" for="firstname" class="rex-text-field-label-ui">Label</label>
        <div class="rex-text-field-ui">
          <div class="rex-text-field-inner-border">
            <input type="text" id="firstname" class="rex-text-field-native" name="firstname" placeholder="Placeholder" aria-labelledby="labelId" value="" />
          </div>
        </div>
      </div>
    </div>
</template>
<script>
export default {
  name: 'MyComponent',
}
</script>
<style scoped>
@import "~@rakuten-rex/text-field/TextFieldLabel/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/text-field@1.5.0/TextFieldLabel/TextFieldLabel.production.min.css

Development mode URL (for local testing):

https://unpkg.com/@rakuten-rex/text-field@1.5.0/TextFieldLabel/TextFieldLabel.development.css

Using Static CSS (Legacy Websites)

https://unpkg.com/@rakuten-rex/text-field@1.5.0/TextFieldLabel/TextFieldLabel.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 text-field -->
    <link href="https://unpkg.com/@rakuten-rex/text-field@1.5.0/TextFieldLabel/TextFieldLabel.production.min.css" rel="stylesheet">
  </head>
  <body>
    <div class="rex-my-component" role="presentation">
      <div class="rex-text-field-label" id="age">
        <label id="labelId" for="firstname" class="rex-text-field-label-ui">Label</label>
        <div class="rex-text-field-ui">
          <div class="rex-text-field-inner-border">
            <input type="text" id="firstname" class="rex-text-field-native" name="firstname" placeholder="Placeholder" aria-labelledby="labelId" value="" />
          </div>
        </div>
      </div>
    </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+

Package Sidebar

Install

npm i @rakuten-rex/text-field

Weekly Downloads

2

Version

1.5.0

License

MIT

Unpacked Size

400 kB

Total Files

58

Last publish

Collaborators

  • montomos
  • claudio.moya-rakuten.com