Kanon · platné od 8. 8. 2026 · nahrazuje řádkovou variantu

Časová osa záznamu

Kronika záznamu na kartě klienta. Chronologii nese svislá osa, která prochází za barevnými glyfy typu; vodorovná linka je jediná — horní hrana hlavičky sekce. Události uvnitř sekce tak drží pohromadě jako jeden blok: linka neznamená „další řádek", ale předěl v čase. Chování řeší B-1 až B-4, rozměry TL-1 až TL-16.

AktivitaJan Novák · 20 událostí
Naplánováno2
Představení portfoliaPraha, kancelář · 3 účastníciŠtěpán H. 30. 7. 10:00
Úkoly Poslat návrh smlouvy k revizi 30. 7. 2026 Potvrdit termín podpisu smlouvy 31. 7. 2026 29. 7.
Dnes2
Kontrola portfolia po 1. splátceonline · za 2 h 10 min · 2 účastníciŠtěpán H. dnes 15:00
Úkoly Připravit srovnání fondů Vysoká 26. 7. 2026 Ozvat se ohledně podkladů Kontakt dnes 28. 7.
Dnes · hotovo3
Nabídka fondů Q3→ Jan Novák · 2 přílohy · Posílám slíbené podklady ke třem konzervativním fondům…Štěpán H. 14:30
Smlouva DOC-2026-0042šanon A-14Lucie K. 11:20
Zájem, poslat podklady do pátkuhovor 4:12Štěpán H. 9:48
Tento týden9
Preferuje konzervativní profilRozhoduje s manželkou, podklady chce písemně…Štěpán H. 27. 7.
Re: Nabídka fondů Q3příchozíJan Novák 27. 7.
Nedovoláno2 pokusyŠtěpán H. 26. 7.
Fáze změněnaCanvasSaleŠtěpán H. 27. 7.
Obchod upravenPortfolio 2026 · fáze, priorita, objem, uzavřeníŠtěpán H. 26. 7.
Fáze
Kvalifikace
Nabídka
Priorita
Nízká
Střední
Očekávaný objem
900 000 Kč
1 250 000 Kč
Předpokládané uzavření
31. 8. 2026
30. 9. 2026
Údaje upravenytelefon, pozice, vlastníkLucie K. 26. 7.
Telefon
+420 602 447 118
+420 605 118 442
Pozice
Vedoucí controllingu
Finanční ředitel
Vlastník
Lucie K.
Štěpán H.
Nabídnuty 3 produkty · 1 250 000 KčKonzervativní fond A + 2 dalšíŠtěpán H. 26. 7.
Konzervativní fond A600 000 Kč Dynamické portfolio ČR450 000 Kč Doplatkové pojištění Plus200 000 Kč
Faktura DOC-2026-0038z přílohy e-mailuSystém 25. 7.
Čtvrtletní newsletterhromadná rozesílkaSystém 25. 7.
Konference Fondy 2026 — potvrdil zájemosobní setkání · 30 minŠtěpán H. 23. 7.
Dříve5
Úkol splněnŠtěpán H. Poslat prezentaci fondů 22. 7. 2026 22. 7.
OBJ-2026-0117 · 1 250 000 Kčodesláno k podpisuLucie K. 10. 7.
625 000 Kč · 1. splátkaOBJ-2026-0117Systém 8. 7.
Jednání o portfoliuzápis · 42 min · přepisŠtěpán H. 12. 6.
3.5. voláno, zastavil by se na schůzkuhistorie z importuSystém 2023
AktivitaJan Novák · nic naplánovaného
Naplánováno0
S Janem dnes nemáte nic naplánováno Každý obchod žije z dalšího kroku. Domluvte ho, dokud je zájem čerstvý.
Dříve2
Zájem, poslat podklady do pátkuhovor 4:12Štěpán H. 24. 7.
Smlouva DOC-2026-0042šanon A-14Lucie K. 22. 7.

Chování osy — zadávací dokumentace

Vzhled řeší TL-1 až TL-16 níž. Tahle sekce říká co se do osy dostane, jak se to seskupí a co se stane po kliknutí — tedy pravidla, která nejsou vidět z renderu. Implementuje se podle nich.

B-1 · Anatomie řádku — tři pevné sloty
Vlevo hlavní obsah (.il-t): to, o co jde — předmět e-mailu, název dokumentu, výsledek hovoru. Nikdy typ události slovem („Přijat e-mail:“) — typ nese glyf.
Uprostřed doplňující vysvětlení (.il-c, --fg-muted): náhled zprávy, kanál, počet pokusů, délka hovoru, kontext obchodu, souhrn změněných polí. Vždy vlevo od autora, nikdy vpravo.
Vpravo časový log (.il-by + .il-meta): kdo událost vytvořil a kdy. .il-by nese jen autora — když autor není člověk, je to Systém. Pravý okraj se tím čte jako jedna vertikála autor · datum, ne jako směs metaúdajů.
B-2 · Agregace úkolů — jedna buňka, ne řádek na úkol
Úkoly se do osy nevypísují jako samostatné události. Všechny úkoly jedné skupiny se slévají do jedné události „Úkoly“ (.il-row.is-taskev) a karty .tcard jdou pod její hlavičkou.
  • Řazení: podle termínu vzestupně — nejdřív splnitelný nahoře, po termínu tedy první.
  • Strop: maximálně 3 karty; zbytek nahradí Zobrazit vše (N), kde N je celkový počet.
  • Hlavička buňky nese vpravo datum posledního přírůstku, bez autora — realizátora nese každá karta zvlášť.
  • Priorita se na kartě vykreslí jen když je vysoká. Střední je výchozí a nízká není signál — pilulka by u nich jen šuměla.
  • Typ (kontakt, schůzka, admin) se vykreslí, když ho úkol nese — tichým tonusem, protože je to fakt, ne signál.
Důvod: osa je kronika záznamu, ne seznam úkolů. Deset řádků „Úkol vytvořen“ ji utopí a zbytek historie zmizí pod záhybem.
B-3 · Sekce Dnes — co se v ní vypisuje
Sekce Dnes není čistě datový filtr, ale pracovní seznam na dnešek. Naplňuje se v tomto pořadí:
  1. úkoly s termínem dnes a úkoly po termínu (ty první — viz řazení v B-2);
  2. když není ani jeden takový, zobrazí se nejbližší úkol v budoucnu, aby sekce nezůstala prázdná;
  3. když není naplánováno nic, místo řádků stojí motivační pobídka (TL-13) s akcemi Naplánovat schůzku a Přidat úkol.
Dnešní schůzka patří do též sekce a nese .is-now. Sekce je jako blok podbarvená --surface-75 včetně hlavičky — blok začíná u svého názvu, ne pod ním a poslední řádek má zvětšený spodní padding, aby se blok proti historii uzavřel. Celoosový empty state neexistuje — v každém záznamu je nejmíně událost o jeho založení.
B-4 · Produkty — souhrn v řádku, detail po rozkliknutí
V řádku stojí souhrnná hodnota, ne výčet: počet produktů a součet objemů („Nabídnuty 3 produkty · 1 250 000 Kč“), doplňující text pak jmenuje první produkt a zbytek počtem („Konzervativní fond A + 2 další“). Po rozkliknutí se rozbalí tabulka položek — řádek na produkt, název · objem, oddělený hairline, objemy tabular-nums u pravého okraje. Jeden produkt → normální řádek bez rozbalování (není co skrývat). Stejný vzor platí pro změnu parametrů: souhrn jmenuje změněná pole, detail nese štítek · stará → nová — vlevo stará hodnota utlumeně, vpravo nová v plné barvě. Jedna změněná položka se nerozbaluje — vejde se do řádku jako přechod stará → nová.

Zásady — proč to takhle je

Rám řádku, sloty i typografie — kanonický ItemList beze změny. Jedna velikost 500 13/20 na všechno včetně data, hierarchii nese barva. Žádné ztučnění, žádné mono.
Celá osa nikdy prázdná není — v každém záznamu je nejméně událost o jeho založení, takže žádný celoosový empty state neexistuje. Jediný prázdný stav, který nastane, je prázdné Naplánováno — a ten není tichý: každý obchod žije z dalšího kroku, takže místo šedého řádku stojí pobídka (.il-nudge — podbarvený celý řádek, bez rámečku a zaoblení) se jmenovaným kontaktem a s oběma akcemi přímo v ní — jeden klik, ne dropdown. Šedé podbarvení nese pozornost, --accent nese sdělení; amber ani červená sem nepatří, protože se nic nepokazilo.
Sekce Dnes je podbarvená. Podbarvený je celý blok včetně hlavičky a osy (--surface-75) — když řádky nemají oddělovače, blok se musí uzavřít podkladem, jinak se rozteče do okolí. Karty úkolů zůstávají bílé, takže se z podkladu zvednou. Co se do sekce vypisuje, říká B-3 výše.
Přidat aktivitu — v hlavičce detailu je to sekundární .btn.default portované 1:1 z karty Components · Buttons: výška 28 px, padding 0 9, font 700 12 --font-display, bílá + --line-300 + --shadow-xs. Kanon má jednu výšku — žádná sm varianta neexistuje, takže 26px „sm“ bylo vymyšlené. Stojí v hlavičce detailu vedle nadpisu Aktivita — vztahuje se k celému logu, ne k jedné sekci. Klik otevře kanonický popover se dvěma sekcemi: plánování (Schůzka, Úkol) a pod hairline oddělovačem zápis (Zaznamenat kontakt) — plánování vytváří budoucí závazek, zápis ukládá minulost, proto linka. Žádná položka není primární, proto menu a ne split button.
Sekce nese chronologii spolu s osou. Hlavička .tl-grp má plný pruh 50 px a linku nahoře — jediná vodorovná linka v ose, takže znamená předěl v čase, ne další řádek. Všech pět sekcí se sbaluje stejnou mechanikou; počet v hlavičce říká, kolik se skrývá. Vzduch mezi sekcemi patří vždy sekci pod sebou (horní padding těla), aby se sbalením zmizel i on.
Po termínu — vždy obarvené datum v --critical-ink: v ose .tl-rdue.over, na kartě úkolu .due.over. Žádný odznak — pilulku „Po termínu" z karty odstranil F210 (22. 8. 2026); „po termínu" má v systému jednu podobu.
Hotový úkol — .tl-rcheck.on (accent kolečko s fajfkou) a přeškrtnutý název v --fg-muted, jako v kanonickém .tl-row.done.
Jedna hustota md (50 px) přes celou osu. Náhled obsahu jde inline do slotu content, ne na druhou linku — v md je to sourozenec názvu. Hustota je vlastnost kontejneru, takže míchat md a lg v jednom výpisu ani nejde.
JEDINÁ změna kanonu: .il-lead dnes vnucuje color: var(--fg-muted); kanon ji uvolňuje, aby lead unesl tón typu z activity-types.ts. Pořád plochý glyf 20 px — žádná dlaždice ani kolečko.
Úkol = událost + vnořená karta. Hlavička říká, co se stalo („Úkol vytvořen“ + zdroj), vnořená karta nese sám úkol: kanonický kulatý .tl-rcheck, název, priorita a stav jako .acrm-pill sm (port 1:1 z rt-real/ds.css), realizátor jako mini entity reference .tl-person (avatar + tečkovaně podškrtnuté jméno) a termín. Karta je --surface-100, --radius-md, hairline --border, --shadow-xs.
Nejbližší schůzka — .il-row.is-now: titulek 600 a čas dnes 15:00 v --ink-900. Žádný odznak „DNES“, žádné podbarvení, žádný levý pruh — zvýraznění nese jen typografie. Odpočet („za 2 h 10 min“) je doplňující text vlevo, ne meta.
Typ úkolu — když úkol nese typ (kontakt, schůzka, admin), stojí vedle priority jako .acrm-pill sm s glyfem: kontakt ti-phone v green. Typ je fakt, ne signál — proto tichý tonus, ne critical.
Priorita se zobrazuje jen když je vysoká. Střední je výchozí a nízká není signál — pilulka u nich jen šumí. Na kartě tak zůstává jediná pilulka signálu — .acrm-pill sm critical dot pro vysokou; po termínu nese červený termín, vše ostatní nese řádek beze značky.
Úkoly jsou jedna buňka, ne řádek na úkol. Hlavička „Úkoly“ nese vpravo datum posledního přírůstku (bez autora — každý úkol má vlastní osobu na kartě), pod ní jdou karty podle termínu — nejdřív splnitelný nahoře (po termínu tedy první). Nad tři úkoly se zbytek nevypisuje — nahradí ho textový odkaz Zobrazit vše (N). Důvod: osa je kronika záznamu, ne seznam úkolů — deset řádků „Úkol vytvořen“ ji utopí.
Pravý okraj je vždy autor · datum. Doplňující text — náhled zprávy, kanál, počet pokusů, délka hovoru, název obchodu — patří vždy vlevo do .il-c v --fg-muted, stejně jako náhled poznámky. Dřív se v .il-by míchal autor s doplňujícím textem, takže pravý sloupec nebyl čitelný jako jedna vertikála.
Více nabídnutých produktů — stejný rozbalovací vzor jako změna parametrů: souhrn nese počet a první produkt („Nabídnuty 3 produkty · Konzervativní fond A + 2 další“), detail seznam název · objem oddělený hairline. Jeden produkt = normální řádek bez rozbalování.
Změna jedné položky — není rozbalovací. Jedno pole se vejde do .il-c jako přechod stará → nová: stará hodnota utlumená (--fg-muted), nová v --ink-900 — kontrast sám říká, která platí. Tady je stará hodnota vidět (na rozdíl od rozbaleného detailu), protože přesun mezi fázemi je ta informace.
Změna parametrů — v klidu normální řádek osy se souhrnem změněných polí („Údaje upraveny · telefon, pozice, vlastník“); detail se rozbalí až na rozkliknutí a nese štítek · stará → nová. Vlevo stará hodnota v --fg-muted, vpravo nová v --ink-900 — kontrast sám říká, která platí, žádné přeškrtnutí. Enum a entita jdou jako .acrm-pill sm na obou stranách, čísla a data jako normální text.
Dokument zůstává šedý. Nový tón (teal) nezavádíme — transcript je v mapě šedý už dnes a čtyři chromatické tóny (modrá, fialová, zelená, jantar) jsou strop, aby barva zůstala signálem.

Kanonické definice prvků — TL-1 až TL-16

Hodnoty jsou odečtené z renderu (getComputedStyle), ne popsané. Implementuje se podle nich. Kdo staví osu jinde v appce, bere tyhle definice — neopakuje se a nevymýšlí se znovu.

TL-1 · Řádek osy
Kanonický ItemList v hustotě md. Min-height 50 px, padding 0 16 px, mezera slotů 12 px, bez oddělovače — řádky sekce tvoří souvislý blok, hierarchii drží typografie a barva leadu. Vzduch navíc (50 místo 44 px) je za odebranou linku: bez ní řádek potřebuje vlastní prázdno, aby se výpis nesléval. Typografie JEDNA na všechny sloty včetně data: 500 13px/20px. Sloty: .il-t --ink-900 (max-width 58 %) · .il-c --fg-muted · .il-by --fg-secondary · .il-meta --fg-muted, mezera 8 px. Pravidlo obsazení slotů: .il-c je vždy doplňující text (náhled, kanál, počet pokusů, délka hovoru, kontext obchodu), .il-by je vždy jen autor — nikdy obojí pomotané. Když autor není člověk, je to Systém. Vpravo tedy čteš vždy autor · datum. Bez .il-c smí titulek zabrat celou linku.
TL-2 · Lead jako nositel typu
Šířka 20 px, place-items: center, --ico-sm (16 px). Plochý glyf — žádná dlaždice, kolečko ani pozadí. Barva = tón typu z activity-types.ts: --ic-blue · --ic-purple · --ic-green · --ic-amber · šedá --fg-muted. Barva svítí na necelé polovině řádků záměrně. Glyf sedí NA ose: nese podklad barvy řádku (--rail-bg) o výšce 26 px, takže se osa za ním přeruší s 5 px vzduchu nad i pod ikonou. Podklad se dědí ze stavu řádku — klid --surface-100 · hover --hover-surface · sekce Dnes a rozbalený detail --surface-75. Bez toho by linka prošla přes glyf.
TL-3 · Hlavička sekce .tl-grp
Min-height 50 px (stejný pruh jako řádek), padding 0 16 px, žádný margin — vzduch mezi sekcemi nese horní padding těla sekce (12 px), takže mezera patří sekci pod sebou a se sbalením zmizí s ní. Popisek 650 12px --font-display, počet 600 11px --font-mono. Linka je horní hrana (1 px --border) — předěl patří sekci, kterou otevírá, ne té nad ní; první hlavička v panelu ji nemá, protože navazuje na hlavičku detailu. Všech pět sekcí je sbalitelných (details.tl-sec, hlavička je summary, chevron za popiskem a počtem, [open] → rotate(90deg)) — když je linka jen v hlavičce, je hlavička jediný ovládací prvek sekce.
TL-16 · Svislá osa
Hairline 1 px --ink-500 na 30 % krytí, vedená středem leadu (left: 16 px + 10 px). Kreslí se po řádcích — každý řádek nese dva úseky kolem svého glyfu (--lead-mid), takže osa drží i u řádků jiné výšky (agregát úkolů, rozbalený detail). Úsek nad prvním a pod posledním glyfem sekce se ruší: osa začíná i končí ve středu glyfu, nikdy nevisí do prázdna a nikdy nepřechází mezi sekcemi. Musí být znatelně tmavší než odebraný --border, jinak se čte jako artefakt.
TL-4 · Událost typu úkol (dvoudílná)
.il-row.is-taskev: align-items: flex-start, padding 12 / 17 px svisle, --lead-mid: 33px (poloha glyfu pro osu — TL-16). Lead glyf circle-check, tón blue = vytvořen, green = splněn. .il-body sloupec, mezera 6 px; .il-hd baseline, mezera 8 px — titulek říká CO se stalo, byline zdroj. Pod hlavičkou karta úkolu (TL-5).
TL-5 · Karta úkolu .tcard
Flex, align-items: center, mezera 8 px, padding 12 px, rámeček 1 px --border, radius --radius-md (11 px), --surface-100, --shadow-xs. Pořadí zleva: checkbox → název → priorita → stav → realizátor → termín. Název je .tc-nm (500 13/20, --ink-900), termín .due (500 13/20, --ink-900; po termínu .due.over = --critical-ink). Hotový úkol: .tcard.done .tc-nm = --fg-muted + přeškrtnutí. Název NENÍ .nm — to jméno drží .tl-person .nm (port kanonu) a při stejné specificitě by o vzhledu rozhodovalo pořadí souborů. Při kolizi jmen ustupuje novější prvek, ne ten portovaný.
TL-6 · Kulatý checkbox .tl-rcheck
Port z rt-real/task-list.css. 18 × 18 px, --radius-pill, rámeček 1,5 px --border-strong. Klid: fajfka opacity 0 · hover: rámeček --accent, fajfka .45 · .on: výplň i rámeček --accent, fajfka 1. Ikona check 12 px. Kulatý, ne hranatý — hranatý .ck patří tabulce.
TL-7 · Realizátor .tl-person
Mini entity reference, port z rt-real/task-list.css. Mezera 6 px, avatar 20 × 20 px kruh, 600 9px --font-display, rámeček 1,5 px hsl(var(--av-hue) 62% 60%). Jméno 500 12px --fg-secondary, underline dashed 1 px, offset 3 px. Tečkované podškrtnutí je afordance — neubírej ho.
TL-8 · Pilulka .acrm-pill.sm
Port z rt-real/ds.css. Výška 20 px, padding 0 7 px, font 600 11px, --radius-pill. .dot::before = kolečko 6 × 6 px, margin-right 4 px. Varianty warning · critical · grey. Pilulky patří JEN do karty úkolu a do detailu změn. V ose samotné nesmí být ani jedna.
TL-9b · Více nabídnutých produktů
Stejná mechanika jako TL-9 (<details class="il-row"> + .chgbody + .tcard). Vnitřek je .prods: řádek na produkt, glyf ti-tag --ic-blue · název --ink-900 · objem --fg-muted tabular-nums, oddělovač 1 px --border. Titulek nese počet a součet objemů („Nabídnuty 3 produkty · 1 250 000 Kč“) — stejně jako objednávka. Jeden produkt → normální .il-row s název · objem.
TL-13 · Pobídka „nic naplánovaného“
.il-nudge — celý řádek podbarvený --surface-75, bez rámečku a bez zaoblení (řádek osy, ne karta); glyf v .ng je PROMĚNNÁ pobídky, ne pevná část anatomie (F141, 20. 8. 2026): default ti-target 28 px bílý v plném --accent kolečku — terč, ne výstražný trojúhelník ani žárovka: není to chyba ani tip, ale další krok, a soustředné kruhy sedí do kruhového badge; použití s jiným sdělením si nese vlastní glyf — pobídka nového obchodu (karta záznamu, „nemá otevřený obchod“) má ti-rocket: START, ne další krok · titulek 600 13/20 --accent se jménem kontaktu · podtitulek --fg-secondary · vpravo .btn.default (Naplánovat schůzku) + .btn.primary (Přidat úkol). Celoosový empty state neexistuje — v ose je vždy aspoň záznam o založení. Toto je jediné místo v ose s primární akcí.
TL-12 · Akce Přidat aktivitu
.btn.default — port 1:1 z karty Components · Buttons (výška 28 px, padding 0 9, font 700 12 --font-display, --line-300, --shadow-xs). Sedí v hlavičce detailu vedle nadpisu Aktivita, u pravého okraje — vztahuje se k celému logu, ne k jedné sekci, takže do hlavičky sekce nepatří. Menu je .acrm-popover lokálně pozicovaný pod kotvou, položky .acrm-popover-item s glyfem (ti-calendar / ti-circle-check). V ose samotné není žádná další akce — zbytek je čtení.
TL-14 · Nejbližší schůzka
.il-row.is-now — .il-t weight 600, .il-meta.next --ink-900. Nese ji jen jeden řádek osy; odpočet patří do .il-c. Budoucí termíny obecně (bez zvýraznění) stačí .il-meta.next.
TL-15 · Buňka Úkoly
Jedna .il-row.is-taskev na všechny naplánované úkoly. .il-hd: .il-t „Úkoly“ · .il-meta datum posledního přírůstku. Bez autora — agregát není událost jednoho člověka, každý úkol pod ním nese vlastní osobu na kartě; jméno v hlavičce by tvrdilo autorství, které neexistuje. Jednotlivé události (Úkol splněn) autora mají. .tstack = karty pod sebou, gap 4 px, řazení podle termínu vzestupně (nejdřívější nahoře); max 3 karty, pak .tmore — textový odkaz Zobrazit vše (N), 12 px --fg-muted, tečkované podškrtnutí jako mini entity reference.
TL-9c · Fáze pipeline
.ph[data-stage] — tečka 6 px před názvem fáze, jeden hue na fázi: canvas --fg-muted · lead --ic-blue · nabídka --ic-purple · sale --ic-amber · vyhráno --ic-green · prohráno --ic-rose. Platí v .tr i v rozbaleném .chg — stejná stupnice jako na pipeline boardu.
TL-9a · Změna jedné položky
Normální .il-row, ne <details>. .il-t pojmenuje pole („Fáze změněna“), .il-c nese .tr = .from --fg-muted · ti-arrow-right · .to --ink-900, gap 8 px. Žádné pilulky, typografie beze změny (500 13px/20px). Při dvou a více změněných polích se použije TL-9.
TL-9 · Událost změny parametrů
<details class="il-row">. Summary = normální řádek osy (min-height 44 px, padding 0 16 px, list-style: none); .il-c nese souhrn změněných polí. [open] pozadí --surface-75. Chevron .cv 18 × 18 px, margin-left 12 px, [open] → rotate(180deg), 120 ms. .chgbody padding vlevo 48 px (zarovnáno pod text, ne pod lead).
TL-10 · Mřížka změn .chg
Grid minmax(0,168px) minmax(0,1fr) 14px minmax(0,1fr), mezery 6 / 8 px: štítek · stará → nová. dt 500 13/20 --fg-muted · .old 500 13/20 --fg-muted · šipka arrow-right --ico-2xs · dd 500 13/20 --ink-900. Stará hodnota vlevo utlumeně, nová vpravo v plné barvě — kontrast nese platnost, žádné přeškrtnutí. Enum a entita jako .acrm-pill.sm na obou stranách, čísla a data jako text.
TL-11 · Po termínu
V ose obarvené datum (.tl-rdue.over, --critical-ink) — ne odznak. V kartě úkolu totéž: .due.over (--critical-ink). Pilulka .acrm-pill.sm.critical „Po termínu" na kartě není (F210, 22. 8. 2026).

Port existujícího kanonu (jen použij, needituj): TL-6, TL-7, TL-8, TL-11. Prvky založené touto kartou: TL-1 (řádek bez oddělovače, 50 px), TL-2 (barva leadu + podklad na ose), TL-3 (hlavička sekce, linka nahoře), TL-16 (svislá osa), TL-4, TL-5, TL-9, TL-10, TL-15. Past: .il-row je role="button" a uvnitř má vlastní tlačítka — použij prop controls na ItemList.Row, <button> uvnitř <button> je nevalidní.