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
npm install @rakuten-rex/react-component-starter-kit@3.2.1 --save
yarn add @rakuten-rex/react-component-starter-kit@3.2.1
For a complete guide of properties for React and HTML classes please visit our Storybook page:
https://rakuten-rex.github.io/react-component-starter-kit/
Storybook features
- Stories by component types
- HTML raw output
- JSX output
- Stories source code
- Knobs with multiple options
For plug and play components integration.
Example:
my-component.jsx
import MyComponent from '@rakuten-rex/react-component-starter-kit';
function MyCustomComponent() {
return (
<MyComponent />
);
}
Click here to see all working examples in Storybook.
For your own JavaScript integration (React, Vue, Angular, etc.) or Static HTML.
Example:
my-component.jsx
import '@rakuten-rex/react-component-starter-kit/css';
function MyCustomComponent() {
return (
<div class="rex-my-component" role="presentation">
<img src="static/media/Image.jpg" alt="Basic example" style="width:100%" />
<h3>Hello World</h3>
<p>This is a basic example for ReX React Components Starter Kit</p>
</div>
);
}
Example:
my-component.jsx
import '@rakuten-rex/react-component-starter-kit/css/static';
function MyCustomComponent() {
return (
<div class="rex-my-component" role="presentation">
<img src="static/media/Image.jpg" alt="Basic example" style="width:100%" />
<h3>Hello World</h3>
<p>This is a basic example for ReX React Components Starter Kit</p>
</div>
);
}
Click here to see all working examples in Storybook.
For your own customization of styles (React, Vue, Angular, etc.) or Static HTML.
Example:
my-styles.scss
@import '@rakuten-rex/react-component-starter-kit/sass/styles.mixin';
.my-component-with-rex-styles {
@include rex-my-component();
}
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">
<img src="static/media/Image.jpg" alt="Basic example" style="width:100%" />
<h3>Hello World</h3>
<p>This is a basic example for ReX React Components Starter Kit</p>
</div>
</template>
<script>
export default {
name: 'MyComponent',
}
</script>
<style scoped>
@import "~@rakuten-rex/react-component-starter-kit/css";
</style>
Copy-paste the stylesheet <link>
into your <head>
tag to load our CSS styles.
Production mode URL (recommended for Static HTML projects):
https://unpkg.com/react-component-starter-kit@3.2.1/react-component-starter-kit.production.min.css
Development mode URL (for local testing):
https://unpkg.com/react-component-starter-kit@3.2.1/react-component-starter-kit.development.css
https://unpkg.com/react-component-starter-kit@3.2.1/react-component-starter-kit.static.css
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 react-component-starter-kit -->
<link href="https://unpkg.com/react-component-starter-kit@3.2.1/react-component-starter-kit.production.min.css" rel="stylesheet">
</head>
<body>
<div class="rex-my-component" role="presentation">
<img src="static/media/Image.jpg" alt="Basic example" style="width:100%" />
<h3>Hello World</h3>
<p>This is a basic example for ReX React Components Starter Kit</p>
</div>
</body>
</html>
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 |
Front-end |
---|
HTML5 CSS3 & Sass JavaScript ES6 React |
Tools |
---|
webpack Storybook Babel ESLint Prettier |
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- |
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+ |
npm run setup
npm run generate:rex-component
The development environment is based on Storybook, for more info visit https://storybook.js.org/ .
npm start
The build task will generate a NPM package ready to be published and also a static version of Storybook, one folder for NPM ./npm/@rakuten-rex/react-component-starter-kit
and other one for Github pages ./docs
.
npm run build
By using Node http-server, you can check the static version of Storybook with production settings and builds.
npm run serve
npm run build
Build the project first and then publish it to NPM.
npm run publish:component
Once the process finish, take a look to the NPM site:
https://www.npmjs.com/package/@rakuten-rex/react-component-starter-kit
Take a look to this nice documentation pages to be more familiar with React and modern Javascript:
https://reactjs.org/docs/getting-started.html
https://developers.google.com/web/fundamentals/
https://medium.com/javascript-scene/composing-software-an-introduction-27b72500d6ea
https://blog.hichroma.com/the-delightful-storybook-workflow-b322b76fd07