Gathering detailed insights and metrics for design-react-kit
Gathering detailed insights and metrics for design-react-kit
Gathering detailed insights and metrics for design-react-kit
Gathering detailed insights and metrics for design-react-kit
@dnd-kit/core
dnd kit – a lightweight React library for building performant and accessible drag and drop experiences
react-native-paper
Material design for React Native
@salesforce/kit
Commonly needed utilities for TypeScript and JavaScript
react-icons-kit
React Icons Kit using various Svg Icon set
npm install design-react-kit
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
157 Stars
1,123 Commits
80 Forks
16 Watching
12 Branches
64 Contributors
Updated on 27 Nov 2024
TypeScript (95.57%)
SCSS (1.73%)
JavaScript (1.26%)
MDX (0.83%)
CSS (0.35%)
HTML (0.21%)
Shell (0.06%)
Cumulative downloads
Total Downloads
Last day
-18.9%
167
Compared to previous day
Last week
-46.6%
997
Compared to previous week
Last month
94.7%
13,087
Compared to previous month
Last year
216.8%
51,423
Compared to previous year
7
2
47
Design React Kit è un toolkit basato su Bootstrap Italia
per la creazione di applicazioni web sviluppate con React.
italia.github.io/design-react-kit
Read this in other languages: English 🇬🇧.
⚠️ Attenzione: questo kit è stato progettato per funzionare con la versione 2.x di Bootstrap Italia. Il kit per la versione 1.x di Bootstrap Italia è stato deprecato e si trova sul branch 4.x.
Design React kit è un set di componenti React che implementa Bootstrap Italia e gli stili presenti su Design UI Kit. Per navigare la libreria e visualizzare i componenti, è stato utilizzato Storybook. La versione pubblica dello Storybook è disponibile qui per l'ultima release stabile pubblicata. Per giocare con la libreria è disponibile il Playground React Kit.
Per utilizzare Design React come dipendenza in un'app è possibile installarla da npm. Suggeriamo di usare create vite
per creare una nuova webapp React, come segue:
1yarn create vite nome-app --template react 2cd nome-app 3yarn add design-react-kit --save
Maggiori informazioni per crere una nuova app con React:
Il design-react-kit
non include il CSS ed i file font, ed è quindi necessario installarli a parte:
1yarn add bootstrap-italia typeface-lora typeface-roboto-mono typeface-titillium-web --save
A questo punto, è sufficiente importare esplicitamente nella app CSS e font se si è usato create vite
all'interno del file ./src/App.js
:
1import React from 'react'; 2import './App.css'; 3import { Alert } from 'design-react-kit'; 4import 'bootstrap-italia/dist/css/bootstrap-italia.min.css'; 5import 'typeface-titillium-web'; 6import 'typeface-roboto-mono'; 7import 'typeface-lora'; 8 9function App() { 10 return <Alert>This is an Alert</Alert>; 11} 12 13export default App;
Puoi consultare questo template web con StackBlitz: Template web
Il tema Bootstrap Italia utilizza un set specifico di font typeface: titillium-web
, roboto-mono
e lora
. Il caricamento di questi font è lasciato al browser ma, volendo può essere controllato tramite l'apposito componente FontLoader
.
È sufficiente dichiarare il componente FontLoader
in cima all'app react per permettere il caricamento.
In alternativa è necessario gestire il caricamento dei font manualmente mediante il pacchetto webfontloader
:
1const WebFont = require('webfontloader'); 2WebFont.load({ 3 custom: { 4 families: ['Titillium Web:300,400,600,700:latin-ext', 'Lora:400,700:latin-ext', 'Roboto Mono:400,700:latin-ext'] 5 } 6});
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 è
1yarn install --peers
oppure in alternativa manualmente
1yarn install react react-dom
👉🏻 È possibile contribuire alla libreria in vari modi:
Vorresti dare una mano su Design React Kit? Sei nel posto giusto!
Se non l'hai già fatto, inizia spendendo qualche minuto per approfondire la tua conoscenza sulle linee guida di design per i servizi web della PA, e fai riferimento alle indicazioni su come contribuire a Design React Kit.
I requisiti minimi del tuo ambiente locale devono essere:
Clona il repository ed esegui yarn
per installare le dipendenze.
Quindi esegui
1yarn storybook:serve
per avviare il server di sviluppo.
Storybook sarà quindi disponibile all'indirizzo http://localhost:9001/
Storybook è stato arricchito con alcuni addons
che lo rendono più parlante.
Questa sezione guiderà alla creazione di nuovi componenti nel repository.
Tutti i componenti risiedono nella cartella src
: ogni componente possiede una sua cartella con tutto ciò che è necessario per farlo funzionare.
Le storie Storybook
invece sono sotto stories
.
I test unitari risiedono nella cartella test
.
Il componente Button
ad esempio è presente sotto il percorso src/Button
e la sua struttura è la seguente:
├── src
│ └── Button
│ └── Button.tsx
├── stories
│ ├── Components
│ │ └── Button.stories.tsx
│ └── Documentation
│ └── Button.mdx
└── test
└── Button.test.tsx
Alcune regole di base per strutturare i componenti:
.stories.tsx
dovrebbero contenere solo quanto relativo al componente stesso..mdx
dovrebbero contenere solo documentazione relativa al componente stesso.test.tsx
dovrebbero contenere solo test relativi al componente stesso.Una volta creato un nuovo componente, con la sua story, avviando Storybook sarà possibile controllare che tutto funzioni come dovrebbe.
Documentazione:
Il sistema di testing prevede un controllo delle storie presenti, mediante una tecnica chiamata "snapshot" testing: il contenuto della storia Storybook verrà copiato in un file speciale e preservato per notificare eventuali cambiamenti in futuro. Questo fa si che l'aggiunta di nuove storie potrebbe risultare in un fallimento del task "test" in una PR. Qualora fosse stata aggiunta una nuova storia o modificata una già presente, sarà necessario aggiornare il file di snapshot come segue:
1yarn test -u
A questo punto creare un nuovo commit ed aggiornare la PR con il file di snapshot aggiornato. Controllare che le modifiche apportate siano corrette prima di aggiornare la PR.
Per compilare la libreria e generare i file nella cartella dist
, è sufficiente lanciare il comando dedicato:
1yarn build
Il kit segue le indicazioni riportate nelle Linee Guida di Design per i servizi web della Pubblica Amministrazione, sezione 6.3.1.2.1. Supporto browser mediante l'utilizzo del pacchetto browserslist-config-design-italia
.
La libreria è stata portata a Typescript ed i tipi sono esportati con essa.
Un grazie speciale a chi ha reso possibile lo sviluppo di questa libreria!
Sabatino Galasso | Marco Liberati | Matteo Avesani | Federico Turbino |
e al contributo di OpenCity Labs
Tutti i contributor (made with contributors-img)
No vulnerabilities found.
Reason
30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10
Reason
no binaries found in the repo
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
Reason
4 existing vulnerabilities detected
Details
Reason
Found 6/12 approved changesets -- score normalized to 5
Reason
detected GitHub workflow tokens with excessive permissions
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Reason
project is not fuzzed
Details
Reason
security policy file not detected
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2024-11-18
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More