Skip to content
This repository has been archived by the owner on May 20, 2022. It is now read-only.

Commit

Permalink
Release iniziale
Browse files Browse the repository at this point in the history
  • Loading branch information
Danilo Spinelli committed Oct 5, 2016
0 parents commit 5d95a4e
Show file tree
Hide file tree
Showing 366 changed files with 18,808 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["es2015"],
"plugins": ["add-module-exports", "transform-es3-member-expression-literals", "transform-es3-property-literals"]
}
30 changes: 30 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# http://editorconfig.org

# A special property that should be specified at the top of the file outside of
# any sections. Set to true to stop .editor config file search on current file
root = true

[*]
# Indentation style
# Possible values - tab, space
indent_style = space

# Indentation size in single-spaced characters
# Possible values - an integer, tab
indent_size = 2

# Line ending file format
# Possible values - lf, crlf, cr
end_of_line = lf

# File character encoding
# Possible values - latin1, utf-8, utf-16be, utf-16le
charset = utf-8

# Denotes whether to trim whitespace at the end of lines
# Possible values - true, false
trim_trailing_whitespace = true

# Denotes whether file should end with a newline
# Possible values - true, false
insert_final_newline = true
47 changes: 47 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"ecmaFeatures": {
"globalReturn": true,
"jsx": false,
"modules": true
},
"rules": {
"strict": 1,
"no-underscore-dangle": 0,
"no-unused-vars": 1,
"curly": 0,
"no-multi-spaces": 1,
"key-spacing": 0,
"no-return-assign": 0,
"consistent-return": 1,
"no-shadow": 1,
"comma-dangle": 0,
"no-use-before-define": 1,
"no-empty": 1,
"new-parens": 1,
"no-cond-assign": 1,
"quotes": [2, "single", "avoid-escape"],
"camelcase": 0,
"new-cap": [1, { "capIsNew": false }],
"no-undef": 1,
"semi": [2, "never"]
},
"env": {
"browser": true,
"es6": true,
"node": true
},
"globals": {
"document": false,
"escape": false,
"navigator": false,
"unescape": false,
"window": false,
"describe": true,
"before": true,
"it": true,
"expect": true,
"sinon": true
},
"parser": "babel-eslint",
"plugins": [],
}
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
node_modules
dist
.tmp
bower_components
config.local.js
.publish
build
npm-debug.log
styleguide
gh-pages
46 changes: 46 additions & 0 deletions .postcss.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
module.exports = {
use: [
'postcss-devtools',

'postcss-easy-import',
'postcss-custom-properties',
'postcss-custom-media',

'postcss-each',
'postcss-nesting',

'postcss-extend',
'postcss-color-function',
'postcss-inline-svg',
'postcss-assets',
'postcss-url',
'postcss-calc',
'autoprefixer',

// @FIXME: get rid of the following
// when dropping support for ie8
'postcss-pseudoelements',

'postcss-flexbugs-fixes',
'postcss-reporter'
],
'autoprefixer': {
browsers: ['last 10 versions', 'ie 8', 'ie 9']
},
'postcss-url': {
url: 'copy',
assetsPath: './'
},
'postcss-inline-svg': {
path: 'src/'
},
'postcss-assets': {
loadPaths: [ 'src/' ],
cachebuster: true
},
postcss: {
from: 'index.css',
to: 'build/build.css',
map: false,
}
};
12 changes: 12 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"plugins": [
"stylelint-selector-bem-pattern"
],
"rules": {
"plugin/selector-bem-pattern": {
"preset": "suit"
},
"at-rule-empty-line-before": null,
},
"extends": "stylelint-config-suitcss"
}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
### 0.1.0-alpha1

* Release iniziale

66 changes: 66 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Licenza

## Componenti distribuiti con il toolkit

Vengono di seguito elencati i componenti distribuiti con il toolkit
che hanno una propria licenza diversa da CC0.

- [src/vendor/jquery.min.js](https://jquery.com/) (c) jQuery Foundation, licenza MIT
- [src/vendor/modernizr.js](https://modernizr.com/) licenza MIT
- [src/vendor/polyfill.min.js](https://github.com/inexorabletash/polyfill) Unlicense (Public Domain)
- [src/vendor/rem.min.js](https://github.com/chuckcarpenter/REM-unit-polyfill) (c)) Chuck Carpenter, licenza MIT
- [src/vendor/respond.min.js](https://github.com/scottjehl/Respond) (c) Scott Jehl, licenza MIT
- [src/vendor/selectivzr.js](http://selectivizr.com/) (c) Keith Clark, licenza MIT
- [src/vendor/yepnope.js](http://yepnopejs.com/) (c) Alex Sexton, Ralph Holzmann, licenza MIT

- [src/modules/megamenu/megamenu.js](https://adobe-accessibility.github.io/Accessible-Mega-Menu/) (c) Adobe Systems Incorporated, licenza Apache 2.0
- [src/src/modules/carousel/a11y.js](https://github.com/rtrvrtg/owlcarousel2-a11ylayer) (c) 2015 Geoffrey Roberts, licenza MIT
- [src/modules/cookiebar/cookiebar.js](https://github.com/carlwoodhouse/jquery.cookieBar) (c) 2016 Carl Woodhouse, licenza MIT
- [src/components/form/index.css](https://github.com/giuseppeg/suitcss-components-form) (c) Giuseppe Gurgone, licenza MIT
- [src/components/table/index.css](https://github.com/trunkclub/suitcss-components-table) (c) Trunk Club, licenza MIT

Tramite gli [archivi npm](https://www.npmjs.com/):

- libreria javascript [frend](https://frend.co/) (c) 2015 Adam Duncan, Tom Digby, licenza MIT
- libreria CSS [suitcss](http://suitcss.github.io/) (c) Nicolas Gallagher, licenza MIT
- [headroom.js](http://wicky.nillia.ms/headroom.js/) (c) 2013 Nick Williams, licenza MIT
- [jquery.cookie](https://www.npmjs.com/package/jquery.cookie) (c) Klaus Hartl, licenza MIT
- [owl carousel](http://www.owlcarousel.owlgraphic.com/) (c) Owl (David Deutsch), licenza MIT
- [throttle-debounce](https://github.com/niksy/throttle-debounce) (c) Ivan Nikolić, Ben Alman, licenza MIT
- [salvattore](http://salvattore.com/) (c) 2013-2014 Rolando Murillo and Giorgio Leveroni, licenza MIT

### Dipendenze per la fase di compilazione

- compilatore per i fogli di stile [PostCSS](https://github.com/postcss/postcss) (c) Andrey Sitnik, licenza MIT
- generatore della styleguide [Fractal](https://github.com/frctl/fractal) (c) Mark Perkins, licenza MIT
- bundler per i moduli javascript [Webpack](https://webpack.github.io/) (c) Tobias Koppers, licenza MIT
- transpiler per moduli javascript [Babel](https://babeljs.io/), (c) 2014-2016 Sebastian McKenzie, licenza MIT
- linter per javascript [ESLint](http://eslint.org/), (c) jQuery Foundation and other contributors, licenza MIT
- linter per fogli di stile CSS [Stylelint](http://stylelint.io/) (c) Maxime Thirouin, David Clark & Richard Hallows, licenza MIT

### Testo completo Licenza MIT

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## Salvo dove diversamente indicato, il software è distribuito con licenza CC0.

### Creative Commons Zero v1.0 Universal

Questa è una versione comprensibile ad esseri umani del Codice Legale
([leggi il testo integrale](https://wiki.creativecommons.org/wiki/Publicdomain/zero/1.0/LegalText_(Italian))).

#### Nessun Diritto d'Autore (No Copyright)

Questa licenza è accettabile per Opere Culturali Libere. La persona che ha associato un'opera con questo atto ha dedicato l'opera al pubblico dominio attraverso la rinuncia a tutti i suoi diritti sull'opera in tutto il mondo come previsti dalle leggi sul diritto d'autore, inclusi tutti i diritti connessi al diritto d'autore o affini, nella misura consentita dalla legge.

Puoi copiare, modificare, distribuire ed utilizzare l'opera, anche per fini commerciali, senza chiedere alcun permesso. Guarda le Altre Informazioni di seguito.

#### Altre informazioni

In nessun modo CC0 riguarda brevetti e marchi di alcuna persona, né sono pregiudicati i diritti che terzi possono vantare sull'opera o sul modo in cui essa viene utilizzata, come, per esempio, il diritto di sfruttamento pubblicitario e il diritto alla riservatezza. Se non diversamente specificato, la persona che ha identificato l'opera con questo atto non fornisce alcuna garanzia sull'opera stessa, e declina ogni responsabilità per tutti gli utilizzi dell'opera nella più ampia misura consentita dalla legge applicabile. Quando utilizzi o citi l'opera non puoi fare intendere alcun tipo di avallo, riconoscimento o sponsorizzazione da parte dell'autore o della persona che ha associato l'opera con questo atto.
33 changes: 33 additions & 0 deletions docs/come-iniziare.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
order: 3
title: Come iniziare
label: Come iniziare
---

Puoi visualizzare i componenti grafici nella styleguide
navigando dal menu "Componenti":

- **Components**: elementi base (form, tipografia, tabelle, griglia responsive, ...)
- **Modules**: elementi e "widget" complessi (carousel, accordion, menu, ...)
- **Templates**: template HTML di pagine intere o porzioni rilevanti di queste
- **Utils**: componenti di utilità (margini, padding, colori, tipografia, ...)

Nella pagina che illustra ogni elemento è visibile il template HTML che lo realizza:
il **codice HTML** a corredo produce l'output visualizzato se vengono contestualmente
utilizzati i fogli di stile (CSS) e gli script (JS) necessari: è possibile scaricare
i file CSS / JS già compilati e incorporarli in un template HTML
come mostrato nel codice di esempio:

* CSS / Javascript già compilati @TODO
* `index.html` con layout di pagina di esempio @TODO

Se vuoi personalizzare gli elementi grafici (es. colori),
seguendo questa modalità sarai obbligato a sovrascrivere
le classi del CSS tramite un ulteriore foglio di stile *ad-hoc*;
questa metodologia non è ottimale laddove le personalizzazioni
risultano essere complesse: in questo caso è consigliato
seguire la procedura descritta in "[Utilizzare l'ambiente di sviluppo](/docs/sviluppare)"
agendo direttamente sul codice sorgente dei fogli di stile del toolkit
per realizzare una *build* personalizzata, prima di integrare il CSS nel layout.

[Tecnologie utilizzate](/docs/tecnologie)
25 changes: 25 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
order: 1
title: Linee guida di design per i siti web della Pubblica Amministrazione
label: Introduzione
---

## Implementazione CSS/HTML di riferimento

L'implementazione di riferimento (toolkit) delle "Linee guida di design"
fornisce componenti grafici e interattivi da incorporare
nei siti web delle Pubbliche Amministrazioni (PA):

- fogli di stile CSS
- componenti Javascript (es. carousel, navigazione ad albero)
- snippet / template HTML nella forma di una styleguide navigabile

Il toolkit permette di condividere con le PA (e i loro fornitori)
materiale riutilizzabile, mettendo a fattor comune le diverse esperienze
per poi recepire i contributi e incorporarli.

L'obiettivo è convogliare l'effort su un insieme di elementi condivisi
che possano esser utilizzati nella realizzazione di un sito
o servizio usabile, accessibile e conforme a quanto indicato nelle Linee Guida.

[Come iniziare](/docs/come-iniziare)
44 changes: 44 additions & 0 deletions docs/moduli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
order: 25
title: Creare o modificare un modulo
label: Creare o modificare un modulo
---

Gli elementi dell'interfaccia (moduli), contenuti nella directory `src/modules` sono costituiti da:

1. uno (o più) file **CSS**
2. uno (o più) file **Javascript**
3. uno (o più) snippet HTML di esempio (file \*.tmpl)

All'interno della directory di ogni modulo deve esser presente almeno una tra queste tre componenti.

Il codice CSS deve esser collocato in un file `src/modules/<nome-modulo>/index.css`
e <mark>importato nell'`index.css` globale contenuto nella directory radice del toolkit</mark>.

Il codice Javascript deve esser collocato in un file `src/modules/<nome-modulo>/index.js`
e <mark>importato nell'`index.js` globale contenuto nella directory radice del toolkit</mark>.

Ulteriori **assets** (CSS / JS / immagini) contenuti nella directory del modulo
possono essere importati nei rispettivi file index.

Il nome dei file con gli snippet HTML *deve* iniziare con quello del modulo, ad esempio:

- `src/modules/<nome-modulo>/<nome-modulo>.tmpl`
- `src/modules/<nome-modulo>/<nome-modulo>--2.tmpl`

Negli snippet HTML è possibile utilizzare i costrutti del
[linguaggio di templating nunjucks](https://mozilla.github.io/nunjucks/).

I CSS vengono processati tramite PostCSS (e i relativi plugin presentati nella sezione [Tecnologie](/docs/tecnologie)).

Nei file Javascript è possibile utilizzare la sintassi [ECMAScript 2015](https://babeljs.io/docs/learn-es2015/).

### Regole generali nello sviluppo di nuovi moduli

- i moduli devono essere quanto più possibile indipendenti tra loro
- nei CSS si possono utilizzare le classi di utilità (quelle con prefisso `u-*`), ma **non** incorporare selettori di altri moduli
- [le regole di nomenclatura sono quelle di SUIT CSS](https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md)
- i componenti Javascript devono dichiarare tutte le loro dipendenze nell'`index.js` (es. tramite il costrutto `import`)
- è incoraggiato l'utilizzo del costrutto PostCSS `@extend`, ma **esclusivamente** per estendere le classi di utilità (`u-*`)

[Struttura del filesystem](/docs/struttura)
55 changes: 55 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
order: 100
title: Roadmap
label: Roadmap
---

## v0.1.0

- **test cross browser**

- **verifica accessibilità per i componenti js e i template**

## v1.0.0

- security audit (javascript compilato)

- refactoring di alcuni componenti

- refactoring margini e padding responsive

- stylesheet per media print

- migliorare (o cassare del tutto) il supporto per IE8/9 (legacy.css)
- considerare se introdurre un fallback per immagini svg
- considerare se utilizzare per i browser obsoleti il foglio di stile per la stampa

## v2.0.0

- profiling
- dimensione degli assets
- profiling javascript e transizioni CSS

- nuovi componenti
- dropdown
- pager
- lightbox
- agenda
- mappa (openstreetmap)

- design pattern
- form spid
- entry page servizi
- form multistep
- carrello pagopa

## v3.0.0

- sistema per *custom build*
- personalizzazione automatica dei colori
- possibilità di selezionare i singoli moduli

- progressive web app
- manifest.json
- service worker
- push notification
Loading

0 comments on commit 5d95a4e

Please sign in to comment.