in packages-rc/console-base-rc-aside-nav/stories/demo-default/index.tsx [44:90]
export default function DemoDefault(): JSX.Element {
const [stateNavKey, setStateNavKey] = useState<TKey>('VIPER');
const [stateCollapsed, setStateCollapsed] = useState(false);
const [stateUpperLevel, setStateUpperLevel] = useState(false);
const [stateUpperTitle, setStateUpperTitle] = useState('');
const navProps = NAV[stateNavKey];
return <ScSite>
<ScAside collapsed={stateCollapsed}>
<AsideNav {...{
...navProps,
upperTitle: stateUpperTitle,
upperHref: stateUpperLevel ? '#/back-to-upper-level' : undefined,
collapsed: stateCollapsed,
onCollapsedChange: setStateCollapsed
}} />
</ScAside>
<ScSiteMain>
<ThemeSwitcher />
<PkgInfo />
<RadioGroup<TKey> {...{
value: stateNavKey,
items: Object.keys(NAV).map(v => ({
label: v,
value: v as TKey
})),
onChange: setStateNavKey
}} />
<InputSwitch {...{
label: 'props.collapsed',
value: stateCollapsed,
onChange: setStateCollapsed
}} />
<InputSwitch {...{
label: 'UpperLevel',
value: stateUpperLevel,
onChange: setStateUpperLevel
}} />
<InputText {...{
placeholder: 'props.upperTitle',
disabled: !stateUpperLevel,
value: stateUpperTitle,
onChange: setStateUpperTitle
}} />
</ScSiteMain>
</ScSite>;
}