Giter VIP home page Giter VIP logo

id-sk-frontend's Introduction

ID-SK Frontend

ID-SK Frontend je jednotný dizajnový systém elektronických služieb Slovenska, ktorý má za cieľ zjednotiť používateľské rozhrania a spôsob komunikácie s používateľom pri poskytovaní elektronických služieb na Slovensku.

ID-SK Frontend obsahuje zdrojový kód, ktorý vychádza z britského dizajn manuálu elektronických služieb GOV.UK.

Živé príklady ID-SK komponentov s pokynmi ako ich využiť pri tvorbe vlastnej služby nájdete na Dizajn manuále ID-SK.

Kontakt na tím

ID-SK Frontend je tvorený pod záštitou Oddelenia behaviorálnych inovácií Úradu podpredsedu vlády SR pre investície a inovácie. Pre viac informácií nám svoje otázky smerujte na e-mail [email protected].

Našli ste v ID-SK chybu alebo chcete navrhnúť zmenu? Môžete tak urobiť priamo na https://github.com/id-sk/id-sk-frontend/issues.

Rýchly štart

Sú dva spôsoby, ako začať používať ID-SK Frontend vo vašej aplikácii.

1. Inštaláciou npm (odporúčame)

Odporúčame nainštalovať si ID-SK Frontend zo správcu balíčkov platformy Node (NPM).

2. Inštaláciou kompilovaných súborov

Môžete si tiež stiahnuť skompilované a minifikované prvky (CSS, Javascript) z [GitHub] (https://github.com/id-sk/id-sk-frontend/tree/master/dist). Po inštalácii budete môcť vo vašej službe používať kód z dizajn systému ID-SK.

Podpora prehliadačov

ID-SK Frontend vám umožní budovať služby, ktoré sú v súlade s pokynmi uvedenými v metodickom usmernení. ID-SK Frontend oficiálne podporuje nasledovné prehliadače:

Operačný systém Prehliadač Podpora
Windows Internet Explorer 8-10 funkčný
Windows Internet Explorer 11 vyhovujúci
Windows Edge (posledné 2 verzie) vyhovujúci
Windows Google Chrome (posledné 2 verzie) vyhovujúci
Windows Mozilla Firefox (posledné 2 verzie) vyhovujúci
macOS Safari 9+ vyhovujúci
macOS Google Chrome (posledné 2 verzie) vyhovujúci
macOS Mozilla Firefox (posledné 2 verzie) vyhovujúci
iOS Safari for iOS 9.3+ vyhovujúci
iOS Google Chrome (posledné 2 verzie) vyhovujúci
Android Google Chrome (posledné 2 verzie) vyhovujúci
Android Samsung Internet (posledné 2 verzie) vyhovujúci

„Vyhovujúci“ znamená, že komponenty musia vyzerať i fungovať rovnako dobre ako v iných moderných prehliadačoch.

„Funkčný“ znamená, že komponenty nemusia v danom prehliadači vyzerať dokonale, ale musia byť stále použiteľné bez chýb.

V prípade, že v aplikácii generujete CSS súbory, ktorých súčasťou sú ID-SK štýly, na podporu prehliadača Internet Explorer 8 je potrebné vygenerovať a zahrnúť aj separátne štýly.

Asistenčné technológie

ID-SK Frontend vám umožní budovať služby, ktoré sú v súlade s pokynmi uvedenými v metodickom usmernení.

ID-SK Frontend oficiálne podporuje nasledovné asistenčné technológie:

Softvér Verzia Typ Prehliadač
JAWS 15 alebo novšia čítačka obrazovky Internet Explorer 11
ZoomText 10.11 alebo novšia zväčšovacia lupa Internet Explorer 11
Dragon NaturallySpeaking 11 alebo novšia rozpoznávač reči Internet Explorer 11
NVDA 2016 alebo novšia čítačka obrazovky Firefox (najnovšie verzie)
VoiceOver 7.0 alebo novšia čítačka obrazovky Safari na iOS10 a OS X

Okrem toho testujeme, či je všetok obsah prístupný iba pomocou klávesnice.

Naším cieľom je podporovať používateľov, ktorí potrebujú upravené farby webových stránok, ktoré navštevujú. Testujeme to zmenou farieb v prehliadači Firefox, povolením režimu „Vysoký kontrast“ v operačnom systéme Windows a použitím doplnku „Vysoký kontrast“ pre prehliadač Chrome.

Ako prispieť k ID-SK

Ak nám chcete pomôcť rozšíriť ID-SK Frontend, pozrite si návod

id-sk-frontend's People

Contributors

1pretz1 avatar 36degrees avatar adamsilver avatar adrikosa avatar alex-ju avatar alicenoakes avatar aliuk2012 avatar bsushmith avatar colinrotherham avatar danielskit avatar edent avatar frankieroberto avatar frkosk avatar gemmaleigh avatar hannalaakso avatar htmlandbacon avatar joelanman avatar kvaso1 avatar lbhelewis avatar luboskat avatar m-green avatar marosvi avatar mlajtos avatar nickcolley avatar patriksavka avatar robertsopko avatar tentibor avatar tomasthurmg avatar vilodlugos avatar web-bert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

id-sk-frontend's Issues

webpack problem s initAll

Dobry den
ked pouzijem pre webpack setup aky mate na stranke

import { initAll } from  'govuk-frontend';
initAll();

tak nefunguju komponenty zavisle na js, napr govuk-accordion

Konfiguracia webpack je nasledovna

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const isDevelopment = process.env.NODE_ENV === 'development';


module.exports = {
  mode: 'development',
  entry: ['./src/index.js'],
  devtool: 'inline-source-map',
  devServer: {
    static: './dist',
  },
  plugins: [
    new HtmlWebpackPlugin({
      title: 'Output Management',
      template: './src/template.html',
      inject: 'body',
      hash: true
    }),
    new MiniCssExtractPlugin()
  ],
  output: {
    filename: '[name]bundle.js',
    path: path.resolve(__dirname, 'dist'),
    clean: true,
  },
  module: {
    rules: [
      {
        test: /\.(s(a|c)ss)$/,
        use: [
          MiniCssExtractPlugin.loader, 
          'css-loader',"sass-loader"
         ],
      },
      {
        test: /\.(png|svg|jpg|jpeg|gif)$/i,
        type: 'asset/resource',
      },
      {
        test: /\.(woff|woff2|eot|ttf|otf)$/i,
        type: 'asset/resource',
      },
    ],
  },
};

konzola ale nehlasi ziadnu chybu

Header - možnosť zvoliť iba názov služby a usera

Zdravím,

Mohol by som poprosiť o zapracovanie možnosti konfigurácie headeru do formy, že bude zobrazovať iba názov služby(úplne vľavo) a usera(úplne vpravo)? Ak sa pokúsim z momentálnych možností a nastavení headeru toto docieliť, dostanem sa maximálne k výsledku, že user nieje úplne vpravo ale viac-menej v strede (Po vymazaní navigation sa user posunie k názvu služby). Ďakujem.

Header ma obrovsky space pokial logo ma iny pomer stran ako defaultne logo

Ked pomer stran loga je iny ako defaultne pouzite logo "slovensko.sk", tak ostava obrovsky cierny space.

Tieto riadky

som overrideol nasledovne:

.idsk-header__logotype>* {
  width: auto;
  height: auto;
  max-height: 30px;
}

Navyse je potrebne zmazat tento riadok

Resp. jeho override vyzera nasledovne

.idsk-header__logo {
  width: auto;
}

sass warning

Dobrý deň,

ID-SK používame v projekte pre obecný úrad Prešov. Problém je v tom, že nové sass vyhadzuje Deprecation Warning v prípade matematických operácií. Príklad:
image

V prípade importu celého balíčka all.scss trvá build nadmerne dlho kvoli kontrole.

Source Sans Pro

Pri tomto fonte som narazil na viacero problemov.

  1. Nie je sucastou tohto repozitaru, i ked (S)CSS ho referencuje v ramci struktury tohto repozitaru.
  2. Nenasiel som zmienku, odkial si je mozne tento font stiahnut v pozadovanom formate. Nakoniec som skoncil s tym, ze som si ho stiahol priamo z idsk.gov.sk.
  3. Neexistuje SCSS premenna, ktora by tento font dokazala vylucit z CSS. Skusal som si spravit jednoduchu webstranku (hlavicka, omrvinky, obrazok, cca. 1 obrazovka textu a paticka) a bol som celkom nemilo prekvapeny z toho, ze cela webstranka ma 195 kB a z toho je cca. 150 kB len font Source Sans Pro Regular + Bold.

Tlacidlo pre navrat na zaciatok stranky v rozsirenej paticke

Velkost tlacidla pre navrat na zaciatok stranky v rozsirenej paticke neberie do uvahy zmenu velkosti fontu medzi tabletom a desktopom co ma za nasledok, ze pri tablete a mobile je toto tlacidlo 5px nad patickou.

.idsk-footer-extended-up-button-div {
height: 45px;
width: 100%;
background-color: govuk-colour("white");
}

Ukazka:

Screenshot from 2021-10-02 17-10-52

Oprava:

@include govuk-media-query($until: tablet) {
	.idsk-footer-extended-up-button-div {
		height: 40px;
	}
}

Import scss file problem

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch @id-sk/[email protected] for the project I'm working on.

we had problem with importing the scss files correrly

Here is the diff that solved my problem:

diff --git a/node_modules/@id-sk/frontend/idsk/components/header-extended/_header-extended.scss b/node_modules/@id-sk/frontend/idsk/components/header-extended/_header-extended.scss
index e61867e..8d13f26 100644
--- a/node_modules/@id-sk/frontend/idsk/components/header-extended/_header-extended.scss
+++ b/node_modules/@id-sk/frontend/idsk/components/header-extended/_header-extended.scss
@@ -1,5 +1,5 @@
 @import "../../base";
-@import "./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
+@import "@fortawesome/fontawesome-free/scss/fontawesome.scss";
 
 @include govuk-exports("idsk/component/header-extended") {
   $idsk-header-background: govuk-colour("white") !default;

This issue body was partially generated by patch-package.

Update issue template

I was about to file a new issue when I saw the comment in the issue template that states:

Just to let you know, the GOV.UK Design System team are assisting with urgent Brexit-related work being undertaken by GDS between 13 and 26 August.

During this time, we will not be able to review your issue. Sorry about that.  

You’re welcome to raise it anyway, and we will get back to you as quickly as we can. 

Thank you!

I believe this do not apply to this repository and thus should be changed.

Nove farby nemysleli na ludi s obmedzenou schopnostou rozlisovat farby

V aktualnej verzii sa objavili nove farby, ako napriklad zlta #FFDF0F, ktora oznacuje aktivne polia a vyuziva sa aj v dalsich momentoch. V zmysle bodu 6 principov v zmysle tohto dizajn manualu https://idsk.gov.sk/uvod/principy#pristupnost o Pristupnosti by mali farby splnat kontrastne podmienky pre ludi, ktori nevidia plne spektrum farieb.

Odporucam pri akejkolvek zmene farieb testovat
https://webaim.org/resources/contrastchecker/?fcolor=FFDF0F&bcolor=FFFFFF

Ukážka ako správne importovať assety

Dobrý deň, prosim Vás mohli by ste pridať ukážku, alebo mi pomôcť v tomto vlákne, že ako správne sprístupniť cesty k assetom ?

Nedokážem sa pohnúť už 2 mesiace z errorov, ktoré prišli od verzie 2.8.0 a stále pretrvávajú. Nikde nie je žiadna ukážka, že ako ich správne importovať. Podľa mňa tento návod je už neaktuálny a nedostačujúci.

Postupujem takto:

$idsk-assets-path: '../../../node_modules/@id-sk/frontend/idsk/assets/';
@import '@id-sk/frontend/idsk/all';

No stojím na tomto errore :
Can't resolve '../../../node_modules/@id-sk/frontend/idsk/assets/images/govuk-crest.png'

govuk-crest,png sa nachádza v @id-sk/frontend/govuk/assets/images/ a nie v @idsk/frontend/idsk/assets/images/.. Ako ďalej postupovať?

@LubosKat

Problemy v pristupnosti

Ako priklad uvediem homepage pre webove sidlo
https://idsk.gov.sk/vzory/homepage

Focus na button Vyhladavania v intro-blocku - zlty background a biela ikonka, kontrast 1.33, fail
.idsk-blue-banner .govuk-link- detto pri focus stave, kontrast 1.33, fail
Linky v kartickach su modre s underline, hover je cierny s underline.. tiez mi pride farebny rozdiel pri tychto stavoch maly a mali by byt nejako odlisene - bud hrubsi underline, aelbo bodkovany.. whatever

Vsetky dropdown navigacie - ci uz hlavna navigacia, alebo jazyky, (vid napr. tu https://idsk.gov.sk/komponenty/hlavicka-webove-sidla) sa nedaju zavriet klavesou ESC ak chce uzivatel zo submenu odist, musi ho cely preklikat. Otvaranie submenu ma byt na poziadanie a malo by sa aj na poziadanie vediet zavriet - vid Bootstrap dorpdown

Uvodny blok - zarovnanie

V dokumentacii sa pise:

Komponent populárny obsah má tri základné variácie pozadia: bez pozadia (so zarovnaním vpravo), so šedým a s modrým pozadím (so zarovnaním vľavo za pomoci odrážok).

https://idsk.gov.sk/komponenty/intro-block

V prikladoch je vsak variant bez pozadia zarovnany vlavo. Kde je pravda?

Chýbajúci import tools/all.scss + image-url

V priečinku tools sa nachadzajú dôležité funkcie na importovanie fontov a images. Vidím tam 2 problémy:

  1. V tools/all.scss sa neimportuje _image-url.scss v ktorom je zadefinovaná funkcia idsk-image-url.
  2. Súbor tools/all.scss sa nikde nepoužíva (používa sa iba font-url.scss v overrides/_font-faces.scss)

Práve kvôli tomu vzniknú problémy s css-loader - napr. Can't resolve image '...' in '...' pretože funkcia idsk-image-url neexistuje.

Linky v release notes + slovenske nazvy

Toto je len request pre lepsiu orientanciu v novo vydanych releasoch...

Vedeli by sme prosim pouzit hyperlinky v release notes priamo na web idsk.gov.sk ku konkretnym novo pridanym komponentom/vzorom ?

Idealne ich aj pomenovat po slovensky, tak ako sa ocitnu na stranke idsk.gov.sk.

Diky

Google Chrome - Forced Dark Mode

Dnes som narazil na nasledujuci problem pri formulari e-hranica. Na Androidoch vyuziva Google Chrome svoj vlastny tmavy rezim, ktory sam invertuje farby (forced dark mode), bez moznosti toto spravanie vypnut, vysledkom coho je kontrast limitne sa bliziaci k jednej (cierny text na takmer ciernom pozadi). Je mi jasne, ze toto nie je problem id-sk ako takeho (kedze si to robi prehliadac sam), ale kedze sa jedna o majoritny prehliadac na majoritnej mobilnej platforme, tak by bolo dobre to vyriesit. Toto spravanie sa da v desktopovom Google Chrome nasimulovat povolenim chrome://flags/#enable-force-dark.

korona_gov_sk_1 korona_gov_sk_2

Zlé údaje v eng mutacii

V anglickej mutacii stahujete udaje o vykonanych ag testov aj pocte zachytenych ag testmi z udsjuov o pcr testov. Hodnoti su rovnake uz dost dlho. <!--
Just to let you know, the GOV.UK Design System team are assisting with urgent Brexit-related work being undertaken by GDS between 13 and 26 August.

During this time, we will not be able to review your issue. Sorry about that.

You’re welcome to raise it anyway, and we will get back to you as quickly as we can.

Thank you!
-->

Problemy s navigaciou mobil/desktop

zdroj: https://idsk.gov.sk/vzory/vzor-navigacie-na-stranke

V mobilenj aplikacii sa vyhladavanie prekryva s nazvami kotiev, cim je pole s vyhladavanim nepristupne. Ak by tam vyhladavanie nebolo, budu nedostupne prve polozky v samotnej navigacii.

Screen.Recording.2021-05-11.at.13.50.02.mov

Desktop navigacia ma vertikalne menu riesene pomocou position: sticky;, co je krasne, ale treba mysliet aj na to, ze navigacia moze byt dlhsia, rozlisenie zobrazovacieho zariadenia mensie a uzivatel sa ku spodnym polozkam menu nedostane inak, iba skrolovanim velmi dlhej stranky. Bolo by fajn zabezpecit skrolovanie spolu s obsahom a ked tak urobit ho sticky na spodnu stranu stranky. Alebo skrolovat v menu.. it's up to you, ale toto aktualne riesenie nie je dokonale.

A este detail - neverim tomu, ze hover v navigacii je koser s pristupnostou - farba medzi klasickou linkou a hover je minimalna.

Screen.Recording.2021-05-11.at.13.50.46.mov

Video a obrazky "pretekaju" cez container

Obrazky a videa ked sa includenu napr. v
<div class="govuk-grid-row"> <div class="govuk-grid-column-full">
tak pretekaju cez container.

Moj fix ako genericky override, mozno dirty, neodvazil som sa s tym hrat priamo v repe:
video, img { width: 100%; }

problemy s assetmi

V /dist/ adresari zrejme chyba cely folder ./assets/images/header-web/. Zaroven assety su linkovane absolutnou cestou v CSS, co sposobuje problemy pri inom umiestneni ako v root-e. Konkretne napr.:

  • /assets/images/header-web/navigation-arrow.svg
  • /assets/images/header-web/navigation-arrow-mobile.svg

ale aj x dalsich, treba to cele popozerat.

Kodovanie specialnych znakov v retazci na zostavenie URL

Pri spracovavani feedbacku cez footer komponent by sa mala v javascripte pri zostavovani poziadavky cez mailto: protokol pouzit funkcia encodeURIComponent na spravne zakodovanie specialnych znakov, napr. \n ... teraz sa naformatovana sprava na stranke prenesie do emailoveho klienta bez zalomeni riadkov. Pouzivam minifikovanu verziu, tak neviem presne, kde sa to pouziva, ale mala by sa tato logika uplatnit vsade, kde sa zostavuje url.

assetPath govuk and idsk

The default assets path assume there is directory with assets at /assets/.

For example /assets/images/loupe.svg .
This is declared in @id-sk/frontend/idsk/components/search-results/search-results.scss
as background-image: idsk-image-url("loupe.svg");. The idsk-image-urlfunction by default employs the $idsk-assets-path property. As a result changing this property to ../node_modules/@id-sk/frontend/idsk/assets/ allow a user to avoid the need to copy all the assets .... except it does not.

This cause another problem, for example 'govuk-crest.png'. This asset is used on two files:

./node_modules/@id-sk/frontend/govuk/components/footer/_footer.scss:    background-image: govuk-image-url("govuk-crest.png");
./node_modules/@id-sk/frontend/idsk/components/footer/_footer.scss:    background-image: idsk-image-url("govuk-crest.png");

While the first use can be fixed by $govuk-assets-path: "../node_modules/@id-sk/frontend/govuk/assets/" the second one can't.

The reason is that the govuk-crest.pngis not in the idsk asset file. This effectively force users to create an asset directory and copy all assets there.

A solution would be to employ the govuk function for resources from govuk and only employ idsk functions for assets in the isdk asset directory.

Another solution would be to copy all default resrouces from govuk to idsk here in the repository.

This does not apply only to images, but to all assets in general.

Zla cesta v @id-sk\frontend\idsk\components\header-extended\_header-extended.scss

Dobry den
Pravdepodobne je zla cesta v subore @id-sk\frontend\idsk\components\header-extended_header-extended.scss

namiesto
@import "./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
by malo byt
@import "node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";

pretoze pri prvom zapise vyhadzuje chybu pri kompilovani sass suboru v ktorom je nalinkovane idsk csss

Error: Can't find stylesheet to import.
?
5 │ @import "./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss"
;
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

?
node_modules@id-sk\frontend\idsk\components\header-extended_header-extended.
scss 5:9 @import
node_modules@id-sk\frontend\idsk\components_all.scss 13:9
@import
node_modules@id-sk\frontend\idsk\all.scss 12:9
@import
scss\main.scss 1:10
root stylesheet

HeaderWeb language list has wrong position on mobile

On mobile devices, eg. Safari browser when scrolled down and header is sticky, language menu flows randomly:
image

You can't have position fixed (language list) inside position sticky (header).

Again, please enable PRs so public can help improve state services.

Chybajuce popisy novych komponentov

V ramci novych elementoch chybaju zmysluplne popisy, resp. usmernenia, v akych situaciach sa jednotlive komponenty maju pouzivat. Predbezne su publishnute tu:

https://id-sk-dev.herokuapp.com/komponenty/hlavicka-webove-sidla
Pri tomto by bolo fajn sa zamerat aj na povodnu hlavicku a vyspecifikovat, kedy sa ma ta pouzivat (resp. nema).

https://id-sk-dev.herokuapp.com/komponenty/footer-extended
Tu je nieco, bolo by fajn, keby toho bolo viac. Plus je v tom nejaky preklep - dvojbodka?

https://id-sk-dev.herokuapp.com/komponenty/karta
"Karty sa používaju na rôzne veci" 😄

https://id-sk-dev.herokuapp.com/komponenty/rozcestnik
"Rozcestník sa používa na navigáciu" ...

https://id-sk-dev.herokuapp.com/komponenty/stitok-varovanie-info
"POPIS"

Import fontawesome v _header-extended.scss

Je tento import v _header-extended.scss v poriadku ?

@import "./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";

Podozrivý je trochu aj ten fort namiesto font, v každom prípade nič z toho nie je spomenuté v dependencies package.json.

Pri pokuse použiť 2.2.0 verziu dostanem chybu:

ERROR in ./node_modules/@id-sk/frontend/idsk/all.scss (./node_modules/css-loader/dist/cjs.js??ref--13-1!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/dist/cjs.js??ref--13-3!./node_modules/@id-sk/frontend/idsk/all.scss)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Can't find stylesheet to import.

5 │ @import "./node_modules/@fortawesome/fontawesome-free/scss/fontawesome.scss";
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

node_modules@id-sk\frontend\idsk\components\header-extended_header-extended.scss 5:9 @import
node_modules@id-sk\frontend\idsk\components_all.scss 8:9 @import

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.