Giter VIP home page Giter VIP logo

design-react-kit's Introduction

CircleCI Partecipa sul canale #design-devel Ricevi un invito a Slack

Read this in other languages: English.

Design React Kit

Un toolkit React che implementa Bootstrap Italia.

Uno showcase di semplice utilizzo, Storybook, è disponibile per navigare la libreria e visualizzare i componenti in azione. La versione pubblica dello Storybook è disponibile qui.

Requisiti

  • NodeJS
  • npm@5+

Come iniziare

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

storybook

Come creare nuovi componenti

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

Storybook è stato arricchito con alcuni addons che lo rendono più parlante.

Publishing

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.

Package

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>
  );
};

Peer dependencies

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

Stili CSS

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";

Nota: a partire dalla versione 1

Preprocessori

Avendo a disposizione il preprocessore Sass sarà possibile integrare (e customizzare) i sorgenti della stessa:

@import "bootstrap-italia/src/scss/bootstrap-italia.scss";

Continuous Integration

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.

Job build

Prenderà in carico l'esecuzione di npm run build, avviando Rollup ed integrando le ultime modifiche effettuate su branch master e tag.

Job deploy-github-pages

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.

Job npm-publish

Effettuerà il npm publish necessario ad aggiornare il package npm.

design-react-kit's People

Contributors

davidepastore avatar dej611 avatar dottorblaster avatar francescozaia avatar gesposito avatar lazycipher avatar mjhost avatar nicolaferracin avatar ruphy avatar siddhant1 avatar takeno avatar td-machineuser avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.