Rail
canonThe record panel: context actions, 34px key-value rows edited in place (several values = several rows), tags, description and relations.
Merged 14 September 2026 (AD, RD-1): Key-value row, Editable field and Multi-value were separate pages; they are parts of this one card. The app copy of the row (KeyValueRow, .pr-row) is being replaced by the rail row and deleted. A value with href/onOpen never opens the editor on click and keeps a permanently visible pencil (AD FA10-re); errors are the caller’s toast. The multi-value editor popover lives in the app (components/multivalue/*, ds/multi-value.css). Mobile sheet merged 15 September 2026 (MR !3539): below 720px `MultiValuePopover` renders as a bottom sheet instead of an anchored popover (`.phe-scrim`, `.phe-grab`, `.phe-sheethead`, `.phe-sheetfoot` in `ds/responsive.css`) so it can be closed and confirmed without a keyboard — see "Mobile" in rail.usage.md / rail.a11y.md. Stories rebuilt from the real person rail 15 September 2026 (acrm !3544): four quiet icon actions, Detail záznamu / Procesy / Seznamy, no empty section header; the rail has no shortcuts, so its „With icon & kbd" story and both its baselines are gone. Meeting attendees composition (owner 25.–27. Sep 2026, acrm !4014/!3985, all in `apps/web/src/ds/meeting-record.css` — not yet ported into record-rail.css): field `type: 'number'` for a small bounded count paired with `useConfirm` (speaker count, range 1–20 per the diarization service, raised from 10 on acrm !3985); a relation row's right-aligned talk-share bar (56px `--line-200` track, 4ch tabular-nums percentage) — candidate for a named "share bar" element; an unassigned-voice row with `--sp-3` icon-to-text / `--sp-4` name-to-action spacing; and a scoped exception (`.rr-list--attendees`) that keeps the removable reference's × contextual on touch instead of the global `ds.css` always-visible rule, so it never sits permanently over the share bar. Touch (AD 28 Sep 2026, acrm !4111): the description measures its real clamp (.rr-desc-v.is-clamped, ResizeObserver) and shows the chevron only then; on hover: none copy and the chevron are always visible with 44px hit areas, and copy ↔ pencil keep a 30px gap so two 44px targets never overlap (the rule beats --sp-2). Overrides live in apps/web/src/ds/responsive.css. Registry repaired 17 Oct 2026 (review F4/F11): attached css detail-field.css.
Used in 29 files · 20 areas · 79× — components/PersonaProfilePanel, components/clen-tymu, components/company, components/deal, components/decisions, components/dialer …
@acrm/ui <RecordRail> <EditableField> <useInlineEdit> <RailRows> <RailRow>.rr-row .rr-sec-h .rr-relrow .rr-dot +25SourceStoryLegacy card Record detail rail.htmlLegacy card Multi-value editor.htmlChangelog since 28. 9. 2026
- 5. 11. 2026feat(schůzky): štítek schůzky jde vybrat vždy, i bez Googlu — Upravit, Nová schůzka, řádek Štítek v detailu (ACRM-642)apps/web/src/ds/responsive.cssClaude · 1eb10f170
- 2. 11. 2026polish(filtr): na telefonu menu filtru v šuplíku na celou šířku a volby 44 pxapps/web/src/ds/responsive.cssŠtěpán · f0052e280
- 2. 11. 2026polish(dialogy): na telefonu rámovaný koš a ⋮ v patičce 44 px vždy, ne jen vedle ⋮ rozhodnutíapps/web/src/ds/responsive.cssŠtěpán · 05c5d74cb
- 1. 11. 2026polish(ds): položky nabídky v šuplíku ⋮ na telefonu 44 px i u BottomSheetuapps/web/src/ds/responsive.cssŠtěpán · 5bee5cd2d
- 30. 10. 2026chore(obchod): RecordRail zpět na stav origin/main (metaEdit se v railu neužívá, ACRM-596)packages/ui/src/components/RecordRail.tsxClaude · 5ed780f6b
- 30. 10. 2026feat(obchod): částky produktů v railu a Procesech, Termín zaslání peněz (ACRM-596)packages/ui/src/components/RecordRail.tsxClaude · 8740d61c0
- 30. 10. 2026feat(ds): RecordRail lead/leadAfter/headless, pole min a title u zkráceného klíče (ACRM-596)packages/ui/src/components/RecordRail.tsxClaude · 3ebd8e35c
- 30. 10. 2026refactor(obchod): bez editovatelné meta v railu obchodu — rail obchodu se ruší (ACRM-596)apps/web/src/ds/record-rail.cssClaude · c510044af
- 30. 10. 2026polish(obchod): úpravy podle AD review FA318 (ACRM-596)apps/web/src/ds/record-rail.cssClaude · de16c69be
- 30. 10. 2026fix(obchod): sdílený hook položek obchodu, oprávnění procesu, záporné částky, zarovnání částek (ACRM-596)apps/web/src/ds/record-rail.cssClaude · 83764fca0
- 29. 10. 2026fix(web): šuplík úkolu na telefonu, Ke schválení: pevná lišta Schválit | Vrátit | ⋮ v patičceapps/web/src/ds/responsive.cssClaude · 421ec2362
- 17. 10. 2026refactor(ds): tokeny podle významu — vrstvy, pohyb, focus ring, text na barvě (beze změny vzhledu)apps/web/src/ds/multi-value.cssŠtěpán · 8cda81b26
- 15. 10. 2026fix(ds): řádek railu s víceřádkovou hodnotou na ose ostatních řádků (ACRM-519)apps/web/src/ds/record-rail.cssŠtěpán · 7f3bfaaf8
- 14. 10. 2026polish(web): UX review A3a — stejné věci stejně, texty (schůzka, Doplnit…, projekt česky, — ve výpisu)packages/ui/src/components/RecordRail.tsxŠtěpán · 1227ad4dc
- 13. 10. 2026fix(entity-ref): logo firmy a fotka osoby v chipu a náhledu (ACRM-490)packages/ui/src/components/RecordRail.tsxŠtěpán · f99eeff6a
- 11. 10. 2026feat(ds): lišta výběru na telefonu — „Vybrat všech N" v ⋮, lišta nepřekrývá CTA overlayeapps/web/src/ds/responsive.cssŠtěpán · 65e5a348a
- 11. 10. 2026refactor(ds): čára nad Nejbližší aktivita z kanonického pravidla railuapps/web/src/ds/record-rail.cssClaude · ce4a67f80
- 11. 10. 2026refactor(ds): oddělovač mezi bloky railu z kanonického pravidla, ne ručněapps/web/src/ds/record-rail.cssClaude · 6bfe1c806
- 8. 10. 2026fix(ds): dotykový cíl 44 px i u Ajdy a hvězdy v Poště, vzhled beze změnyapps/web/src/ds/responsive.cssŠtěpán · c22319a0a
- 8. 10. 2026fix(ds): .tbar-tools bez vlastní vrstvy — plocha tlačítek v liště roste svisle na střed (review !4882)apps/web/src/ds/responsive.cssŠtěpán · 7cb261ec1
- 8. 10. 2026fix(ds): rozšíření dotykového cíle nepřekrývá klikatelné sousedy (review !4882)apps/web/src/ds/responsive.cssŠtěpán · f1deb000b
- 8. 10. 2026fix(ds): dotykový cíl roste doprava a dolů — sousedovi nebere klepnutí (review !4882)apps/web/src/ds/responsive.cssŠtěpán · 205fc4a42
- 8. 10. 2026feat(ds): dotykový cíl ≥ 44 px u každého tlačítka na telefonu, vzhled beze změnyapps/web/src/ds/responsive.cssŠtěpán · 1d47a0871
- 6. 10. 2026fix(kalendář): třídy celodenní lišty bez „ad" — blokátor reklam je schovávalapps/web/src/ds/responsive.cssClaude · 6daeb9b2d
- 3. 10. 2026fix(ds): dlouhý klíč v RailRows wide se zalomí (2 řádky, telefon 3) místo výpustkypackages/ui/src/components/RecordRail.tsxŠtěpán · a0aadfa78
- 3. 10. 2026refactor(ds): řádek změny CRM = RailRow wrap + actions (bez scope přebití)packages/ui/src/components/RecordRail.tsxŠtěpán · e85bc3975
- 3. 10. 2026refactor(ds): KeyValueRow → řádek railu (RailRows / RailRow, RD-1)packages/ui/src/components/RecordRail.tsxŠtěpán · 0396780e6
- 3. 10. 2026fix(segmenty): Průvodce na telefonu — taby nad panelem, panel přes celou šířkuapps/web/src/ds/responsive.cssŠtěpán · 78829f9cf
- 3. 10. 2026chore(ds): pryč mrtvá pravidla starého řádku milníku v railu (.prj-msrow, .prj-msgrip)apps/web/src/ds/responsive.cssŠtěpán · 69f756680
- 3. 10. 2026refactor(ds): Milníky na Přehledu = sdílený useReorder + .acrm-reorder-gapapps/web/src/ds/responsive.cssŠtěpán · 3383a1369
- 3. 10. 2026fix(ds): akce řádku railu (.rr-acts) dosažitelné Tabemapps/web/src/ds/record-rail.cssŠtěpán · 9302039ee
- 2. 10. 2026chore(ds): mrtvá CSS pravidla — vlna 2 (70 pravidel ve 12 souborech)apps/web/src/ds/responsive.cssŠtěpán · a8e48c131
- 2. 10. 2026polish(ds): glyfy railu, přepínače navigace a × štítku na --ico-* (parita s boxem)apps/web/src/ds/responsive.cssŠtěpán · 566eec74c
- 1. 10. 2026feat(ui): RecordRail onAdd dostane tlacitko Pridat jako kotvupackages/ui/src/components/RecordRail.tsxŠtěpán · 022f64725
- 1. 10. 2026fix(karta): hlavička schůzky, úkolu a projektu na telefonu = schválený jeden řádek ‹ · název · ⋯apps/web/src/ds/responsive.cssŠtěpán · 436d0e9be
- 1. 10. 2026fix(karta): hlavička karty na telefonu drží nahoře; Esc nad šuplíkem ⋯ neodchází z kartyapps/web/src/ds/responsive.cssŠtěpán · cd39340d8
- 1. 10. 2026feat(karta): hlavička karty na telefonu = jeden řádek ‹ · jméno · ⋯ (osoba, firma, obchod)apps/web/src/ds/responsive.cssŠtěpán · cb7db2d02
- 1. 10. 2026fix(web): detail na telefonu = jeden scroll, rail bez stropu 42vh (R26)apps/web/src/ds/responsive.cssŠtěpán · 6503cee29
- 1. 10. 2026polish(web): vyber barvy a ikony na telefonu - vzorky pres celou sirku, cil 44 px, dlazdice max 44apps/web/src/ds/responsive.cssŠtěpán · c50a5e484
- 1. 10. 2026feat(web): kazdy dialog na telefonu = suplikapps/web/src/ds/responsive.cssŠtěpán · 865e409e1
- 1. 10. 2026feat(ui): suplik dialogu vyroste pro kotveny panel (pruzina), panel neopusti hraniceapps/web/src/ds/responsive.cssŠtěpán · a43b7b529
- 1. 10. 2026refactor(ui): holy Popover -> kanon (vlna 3) + nabidka v dialogu = panel v suplikuapps/web/src/ds/responsive.cssŠtěpán · 5a55c030f
- 1. 10. 2026feat(navigace): menu A1+A2+A4 — tiché počty, horní blok 6 položek, akce seznamůapps/web/src/ds/responsive.cssŠtěpán · 1c421c0e4
- 1. 10. 2026fix(ui): hledani v kazdem supliku na jedne leve hrane; sablony bez zvolene hodnotyapps/web/src/ds/responsive.cssŠtěpán · fb58d38bf
- 30. 9. 2026fix(ds): ✕ řádku Multi-value editoru na dotyku trvale vidět (AD FA235)apps/web/src/ds/responsive.cssClaude · 914ea29be
- 30. 9. 2026refactor(ds): rozměry natvrdo na tokeny podle významu — vlna 1 (--tap-min, --tab-h + přesné hodnoty)apps/web/src/ds/responsive.cssŠtěpán · d9fe30719
- 30. 9. 2026fix(ui): nadpis supliku = --h2 (ne rez polozky); Promenne; Bez zasedackyapps/web/src/ds/responsive.cssŠtěpán · 2979bd926
- 30. 9. 2026feat(segment): panel sloupcu v3 - plus na konci hlavicky, hledani, oddelovac, sheet na telefonuapps/web/src/ds/responsive.cssŠtěpán · bc6465fd9
- 29. 9. 2026fix(ui): hodnota railu bez tlačítka v tlačítku, Esc v editoru neopustí detailpackages/ui/src/components/RecordRail.tsxŠtěpán · b7d6d026b
- 29. 9. 2026fix(web): sloupec Jméno/Název ve výpisu na telefonu na polovinu šířkyapps/web/src/ds/responsive.cssŠtěpán · 69be37149
- 28. 9. 2026fix(ui): položka nabídky = jeden řádek, bez šedé vysvětlivky (ACRM-375–377)apps/web/src/ds/responsive.cssŠtěpán · 1a87decfc
- 28. 9. 2026feat(web): řádek pohledu na telefonu podle Attio — Úkoly a Poštaapps/web/src/ds/responsive.cssŠtěpán · 99a87ae05