Jump to a component
Core · Navigation
FlowHeader
FlowHeader is the full-screen flow's top bar: close (nothing is kept), what is being made and for what, the steps when there are several, then what sits at the end.
Live, from @anicanon/sakuga 2.0.0
Sakuga for iOS and Android is coming
iOS
Coming soon
FlowHeader for iOS is in the roughs. The tokens it will read are the ones on this page, the same on every platform.
Android
Coming soon
FlowHeader for Android is in the roughs. The tokens it will read are the ones on this page, the same on every platform.
- Use it for
- The top bar of a full-screen flow: close, what is being made and for what ("New issue · Bad Memories"), the steps when there are several, and the balance.
- Not for
- Back and the step's actionFlowFooter
- The desktop header of the appTopNav
- The top of a production viewViewHeader
- The editor's top barEditorHeader
Guidelines
titleandcontext: "New issue · Bad Memories".closeLabelsays what closing does ("Close. Nothing is created").stepsandcurrentdraw aStepperin the middle, only when the flow has more than one step.slot="end": the balance (AniCanonKit.FragmentBalance) in AniCanon™.- One way out per screen: this close button. Back lives in
FlowFooter, and only when a step precedes.
import { FlowHeader } from '@anicanon/sakuga/ui';
import { FragmentBalance } from '@anicanon/sakuga/anicanonkit';
export default function FlowHeaderExample() {
return (
<FlowHeader
title="New character"
context="EBA"
closeLabel="Close. Nothing is created"
steps={['Basics', 'How to make', 'Approve']}
current={1}
>
<span slot="end">
<FragmentBalance amount="9,427" />
</span>
</FlowHeader>
);
}PropsFlowHeaderProps
titlerequiredstringcontextstringcloseLabelstringDefault 'Close'closeHrefstringonCloseMouseEventHandlerstepsstring[]currentnumberstepsLabelstringchildrenReactNodeclassNamestringEach token reads a role, and the role lands on a value in each theme. Change the role and every component that reads it follows.
Colour
flowhead-ruleFlowHeader: the rule under the bar.border-hairlineshade-a08rgba(11,10,16,0.08)border-hairlinewhite-a06rgba(255,255,255,0.06)flowhead-titleFlowHeader: what is being made.text-primaryneutral-925#0b0a10text-primaryneutral-0#ffffffflowhead-contextFlowHeader: what it is made for.text-mutedneutral-600#5c5b67text-mutedneutral-400#a3a3a7Space and shape
flowhead-gapgap-lgflowhead-heightflowhead-padding-xinset-xlflowhead-edge-bottom-widthflowhead-end-gapgap-lgType
flowhead-title-fonttext-title-4flowhead-title-span-fonttext-bodyChecked automatically with axe-core 4.11.4 against WCAG 2.2 A and AA, on the live preview above, in light and dark, on 26 October 2026.
- Result
- No issues found, in light or in dark.
- By design
- A header element: Tab reaches the close button (named by
closeLabel, default "Close"; a link withcloseHref) and then whatever sits at the end. The title and context are a level-1 heading, and the steps are a list named bystepsLabel(default "Steps") with the current one marked "current step". - Not tested
- The automated check doesn't test keyboard use, focus order or what a screen reader says. The lines above are the design system's own account of them.