1.5.0 • Published 4 years ago

@rakuten-rex/text-field v1.5.0

Weekly downloads
91
License
MIT
Repository
github
Last release
4 years ago

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

  • Stories by component types
  • HTML raw output
  • JSX output
  • Stories source code
  • 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

SiteURL
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 featuresJavaScript features
Theme support via CSS variablesReact components splitted by type
Static CSS styles available for HTML/VueJS/AngularJSUniversal 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

PCMobile
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+
1.5.0

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.0

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago