Un toolkit React che implementa Bootstrap Italia.
Uno showcase di semplice utilizzo, Storybook, è disponibile per navigare la libreria e visualizzare i componenti in azione.
- NodeJS
- npm@5+
Clona il repository ed esegui npm run storybook
per avviare il server di sviluppo.
Uno script si occuperà di eseguire il comando npm install
necessario ad installare le dipendenze.
Storybook sarà quindi disponibile all'indirizzo http://localhost:6006
La versione pubblica dello Storybook è disponibile qui.
Questa sezione guiderà alla creazione di nuovi componenti nel repository.
Tutti i componenti risiedono nella folder components
: ogni componente possiede una sua folder con tutto ciò che è necessario per farlo funzionare.
Le storie Storybook
invece sono sotto stories
.
Il componente Button
ad esempio è presente sotto il path src/components/Button
e la sua struttura è la seguente:
src
└── components
└── Button
├── Button.js
stories
└── Button
├── Button.stories.js
Alcune regole di base per strutturare i componenti:
- I file JS file del componente utilizza la sintassi JSX.
- I file
.stories.js
dovrebbero contenere solo quanto relativo al componente stesso.
Una volta creato un nuovo componente, con la sua story, avviando Storybook sarà possibile controllare che tutto funzioni come dovrebbe.
Storybook è stato arricchito con alcuni addons
che lo rendono più parlante.
E' disponibile un comando per generare una versione statica del catalogo Storybook così che possa essere deployato senza utilizzo di un webserver.
$ npm run storybook:build
Le pagine statiche ottenute dal processo di build saranno generate sotto la folder storybook-static
.
Per utilizzare Design React come dipendenza in un'app è possibile installarla da npm:
$ npm install design-react-kit
Quindi importa ed utilizza il componente:
import React from 'react';
import { Alert } from "design-react-kit";
const Example = () => {
return (
<Alert>
Questo è un alert
</Alert>
);
};
La libreria non include react
e react-dom
, evitando clashing di versioni e aumento inutile delle dimensioni del bundle.
Per questo motivo per lo sviluppo in locale sarà necessario installare manualmente le dipendenze.
Il comando da eseguire è
$ npm run install-dependencies
oppure in alternativa manualmente
$ npm install react react-dom
La libreria è composta da una parte di stili, ereditati dal package bootstrap-italia che possono essere importati avendo installato la stessa con:
$ npm install bootstrap-italia
A seconda del bundler utilizzato, e delle sue configurazioni, si potranno importare direttamente gli stili CSS generati:
import "bootstrap-italia/dist/css/bootstrap-italia.min.css";
import "bootstrap-italia/dist/css/italia-icon-font.css";
Avendo a disposizione il preprocessore Sass sarà possibile integrare (e customizzare) i sorgenti della stessa:
@import "bootstrap-italia/src/scss/bootstrap-italia.scss";
E' disponibile un'istanza di CircleCI configurata per effettuare la build del repository ad ogni aggiornamento del branch master
.
La build di Storybook è deployata sul branch gh-pages
ed è disponibile pubblicamente su italia.github.io/design-react-kit.
Prenderà in carico l'esecuzione di npm run build
, avviando Rollup ed integrando le ultime modifiche effettuate su branch master
e tag
.
Eseguirà i due comandi npm run storybook:build
e npm run storybook:deploy
necessari per buildare e deploylare la documentazione Storybook presente sulle GitHub Pages.
Effettuerà il npm publish
necessario ad aggiornare il package npm.