Layout switch
canonFloating group at the bottom of the side menu that switches the layout: collapse the menu, list layout, context panel.
Owner 29 Sep 2026 (FA214, dev-be): "create it, add to DS and apply across the app, it should work the same everywhere". Replaces the "Sbalit navigaci" row in every module. Up to 3 segments (menu [ · list layout · context panel ]), canonical IconButton with pressed, 1px divider. AD 30 Sep: the floating group sits over a scrolling menu, so --shadow-sm is allowed (overlay rule, RULES §4); phone ≤720 hidden. Becomes beta when the shared shell component and its story are on main. On main 30 Sep (acrm !4216, !4221, !4259); docs from dev-be FA226.
Used in 1 file · 1 area · 1× — components/AppShell
Default
NavigaceDetail záznamu
export const Default = () => (
<div style={{ position: 'relative', width: 340, height: 100 }}>
<Float>
<Bar />
</Float>
</div>
);Variants
NavigaceDetail záznamu
NavigaceDetail záznamu
NavigaceDetail záznamu
export const Variants = () => {
const [mode, setMode] = useState<'wide' | 'split'>('wide');
return (
<div style={{ display: 'grid', gap: 'var(--sp-5)' }}>
<Labeled text="stránka bez railu — Detail záznamu neaktivní (výpisy, nastavení)">
<Float>
<Bar recordDisabled />
</Float>
</Labeled>
<Labeled text="karta záznamu s railem — oba přepínače aktivní">
<Float>
<Bar />
</Float>
</Labeled>
<Labeled text="Pošta — za oddělovačem rozvržení výpisu (široký / s náhledem)">
<Float>
<Bar list listMode={mode} onListMode={setMode} />
</Float>
</Labeled>
</div>
);
};States
NavigaceDetail záznamu
NavigaceDetail záznamu
NavigaceDetail záznamu
NavigaceDetail záznamu
export const States = () => (
<div style={{ display: 'grid', gap: 'var(--sp-5)' }}>
<Labeled text="oba zapnuto — plná navigace i rail (výchozí stav)">
<Float>
<Bar />
</Float>
</Labeled>
<Labeled text="Navigace vypnuta — navigace skrytá úplně, přepínač Navigace vypnutý (modrý podklad mizí)">
<Float>
<Bar nav={false} />
</Float>
</Labeled>
<Labeled text="Detail záznamu vypnut — rail schovaný, obsah přes celou šířku">
<Float>
<Bar record={false} />
</Float>
</Labeled>
<Labeled text="oba vypnuty">
<Float>
<Bar nav={false} record={false} />
</Float>
</Labeled>
</div>
);