ConsentFooter
The consent flow footer (Figma "Consent Footer" 189:1797), pinned under each step.
Actions=Single: brand 48 primary + the terms line. Actions=Two (v2): brand 48 primary over a ghost 44 "Não quero agora", a real no on every intro card. The primary comes first in the DOM. A plain block: the screen puts it in its own <footer> landmark.
<ConsentFooter primaryLabel="Continuar" secondaryLabel="Não quero agora" onPrimary={next} onSecondary={decline} />Playground
Um preset por valor do primeiro eixo do Figma. Mude as props; dsState força hover, foco ou pressionado, como na matriz.
Consent Footer
Variantes, tamanhos e estados
Cada célula é o componente real, marcada com a variante do Figma que reproduz (passe o mouse pra ver o node).
Actions · Single
| Default | Disabled | Submitting |
|---|---|---|
Leia até o fim pra continuar. | Leia até o fim pra continuar. | Leia até o fim pra continuar. |
Actions · Two
| Default | Disabled | Submitting |
|---|---|---|
Props
As props que o arquivo do DS declara. O componente também repassa as do primitivo (base-ui), quando ele tem um.
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
| primaryLabel | string | — | The step's main action ("Continuar", "Enviar meu sim"). |
| onPrimary? | MouseEventHandler<HTMLButtonElement> | — | |
| secondaryLabel? | string | — | Figma Actions=Two: the real "no" under the primary ("Não quero agora"). Its presence is the Two layout. |
| onSecondary? | MouseEventHandler<HTMLButtonElement> | — | |
| disabled? | boolean | false | Figma State=Disabled: the primary waits on something (read to the end); say what in `terms`. Muted look, never 50% opacity. |
| loading? | boolean | false | Figma State=Submitting: the primary is busy (aria-busy, label kept), the secondary is disabled. |
| terms? | ReactNode | — | Figma `showTerms` + Terms text: the line under the actions (terms on review, or why the primary waits). Announced politely when it changes. |
| className? | string | — |
PermissionGate
The screen before a capture step (Figma "Permission Gate" 189:1760): what the step needs and why, asked before the browser prompt.
ConsentOutcome
The end of the consent flow, for good or not (Figma "Consent Outcome" 191:1936): an icon badge that pops in once, the title, what happens from here and, when there is something to do, a brand action with an optional ghost secondary.
