Verwende Buttons, um z. B. ...
- eine Aktion auszuführen ohne die Seite zu verlassen.
- Formulare zu speichern oder zurückzusetzen.
- in einem Modal oder Off-Canvas zu navigieren und Aktionen auszuwählen.
Verwende <Button />
, um einen Button darzustellen.
Benutze das onPress
Property um die Interaktion mit Maus, Keyboard oder Touch
zu ermöglichen.
import Button from "@mittwald/flow-react-components/Button"; <Button onPress={() => { alert("Button gedrückt"); }} > Button </Button>
Beim Button wird zwischen den Variants Solid, Soft, Plain und Outline unterschieden.
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button>Solid</Button> <Button variant="soft">Soft</Button> <Button variant="plain">Plain</Button> <Button variant="outline">Outline</Button> </Row>
Solid: Die Solid-Variant zeichnet sich durch sein flächiges und auffälliges Aussehen aus. Aus diesem Grund verbergen sich in der Regel die Hauptaktionen hinter einem Solid-Button.
Soft: Die Soft-Variant verleiht dem Button einen softeren Touch und eignet sich daher gut für sekundäre Aktionen.
Plain: Die Plain-Variant ist weniger auffällig als die anderen Variants und wird für weniger wichtige oder versteckte Aktionen verwendet.
Je nach Bedarf stehen vier Button-Color zur Auswahl: Primary, Secondary, Accent und Danger.
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button color="primary">Fortfahren/Aktion</Button> <Button color="secondary">Abbrechen/Zurück</Button> <Button color="accent">Erstellen/Speichern</Button> <Button color="danger">Löschen/Kündigen</Button> </Row>
Primary: Verwende die Primary-Color für Hauptaktionen, wenn der Kontext keinen Accent- oder Danger-Button erfordert.
Secondary: Die Secondary-Color wird für Nebenaktionen verwendet. Um dies zu verdeutlichen, wird die Secondary-Color häufig als Soft-Variant verwendet.
Accent: Die grüne Farbe der Accent-Color soll dem Button eine positive Bedeutung verleihen. Daher wird diese Color vor allem im Kontext von Erstellungs-, Speicher- oder Bestellvorgängen verwendet.
Danger: Die Danger-Color zeichnet sich durch die rote Farbe aus, die davor warnen soll, dass sich hinter dem Button eine negative Konsequenz verbirgt. Beispielsweise kann sich hinter dem Button eine Lösch- oder Kündigungsfunktion verbergen.
Zusätzlich zu den Standard-Colors, können Button in Light und Dark dargestellt werden. Beide Colors sind Alternativen zu den herkömmlichen Farben, falls diese nicht auf farbigen/dekorativen Hintergründen funktionieren.
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button color="light">Light</Button> <Button variant="soft" color="light"> Light </Button> <Button variant="plain" color="light"> Light </Button> <Button variant="outline" color="light"> Light </Button> </Row>
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button color="dark">Dark</Button> <Button variant="soft" color="dark"> Dark </Button> <Button variant="plain" color="dark"> Dark </Button> <Button variant="outline" color="dark"> Dark </Button> </Row>
Light: Verwende die Light-Color, bei dunklen Hintergründen mit einem HSL Lightness-Wert von weniger als 50.
Dark: Verwende die Dark-Color, bei hellen, farbigen Hintergründen mit einem HSL Lightness-Wert von größer als 50.
Die Size des Buttons kann Small oder Medium sein. Medium ist die Standardgröße und wird für die meisten Buttons verwendet.
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button size="s">Small</Button> <Button>Medium</Button> </Row>
Im Content-Bereich des Buttons kann entweder Text, ein Icon oder Text mit einem Icon am Ende beinhalten.
Verwende <Icon />
in einem <Button />
, um ein Icon statt Text im Button
anzuzeigen.
import Button from "@mittwald/flow-react-components/Button"; import { IconHome } from "@mittwald/flow-react-components/Icons"; <Row> <Button size="s" aria-label="Home"> <IconHome /> </Button> <Button aria-label="Home"> <IconHome /> </Button> </Row>
Verwende <Text />
zusammen mit <Icon />
in einem <Button />
, um Text mit
einem Icon im Button anzuzeigen. Das Icon soll spezielle Verhaltensweisen des
Buttons signalisieren. Zum Beispiel kann ein Chevron-Icon dem Nutzer anzeigen,
dass sich ein Dropdown öffnet, oder ein Close-Icon zeigt an, dass der Button als
Filterelement wieder entfernt werden kann.
import Button from "@mittwald/flow-react-components/Button"; import Text from "@mittwald/flow-react-components/Text"; import { IconChevronDown, IconClose, } from "@mittwald/flow-react-components/Icons"; <Row> <Button size="s"> <Text>E-Mail hinzufügen</Text> <IconChevronDown /> </Button> <Button> <Text>E-Mail hinzufügen</Text> <IconChevronDown /> </Button> <Button size="s"> <Text>Filter</Text> <IconClose /> </Button> <Button> <Text>Filter</Text> <IconClose /> </Button> </Row>
import Button from "@mittwald/flow-react-components/Button"; <Row> <Button isDisabled>Fortfahren/Aktion</Button> <Button isPending>Fortfahren/Aktion</Button> <Button isSucceeded>Fortfahren/Aktion</Button> <Button isFailed>Fortfahren/Aktion</Button> </Row>
Disabled: Verwende den Disabled State, wenn der Button keine Aktion oder kein Ereignis auslösen soll.
Pending, Succeeded und Failed: Pending, Succeeded und Failed sollen dem Nutzer signalisieren, dass im Hintergrund etwas passiert, wenn er auf einen Button geklickt hat. Verwende den Button zusammen mit der Komponente Action, um die States zu steuern.
Mit einem Button können Aktionen ausgeführt werden. Entweder wird die Aktion direkt im Content-Bereich durchgeführt oder innerhalb eines Modal oder Off-Canvas, ohne dass die Seite verlassen werden muss. Ein Button hat eine hohe Sichtbarkeit und sollte daher nicht zu übermäßig eingesetzt werden.
Achte bei der Verwendung eines Buttons darauf, dass...
Verwende einen Button, um...
Buttons und Links werden häufig verwechselt. Um die beiden besser unterscheiden zu können, hier ein paar hilfreiche Anhaltspunkte.
Bei der Positionierung des Buttons sind folgende Punkte zu beachten:
Im mStudio werden Anlege-Button häufig rechts über dem Content-Bereich platziert, damit dieser die Aufmerksamkeit des Nutzers auf sich zieht.
Die verschiedenen Arten von Buttons haben eine Hierarchie untereinander. Das heißt, wenn mehrere Buttons nebeneinander verwendet werden, muss darauf geachtet werden, welche Buttonart dafür geeignet ist.
Versuche, ähnliche Buttons zu gruppieren. Zum Beispiel, dass Buttons in der Solid-Variant nebeneinander stehen.
Ignoriere nicht die Hierarchie der Buttons, die sie zueinander haben.
Verwende die Soft-Variant, um Nebenaktionen weniger wichtig erscheinen zu lassen.
Verwende zwei Solid-Button nebeneinander, wenn beide wichtige Aktionen enthalten.
Buttons sind in der Sizes Medium und Small erhältlich. Die Höhe wird vom Inhalt des Buttons bestimmt.
Verwende nie Buttons in den Sizes Medium und Small direkt nebeneinander.
Zeige dem Nutzer immer an, dass der Klick auf den Button eine Aktion auslöst:
Achte beim Verfassen des Textes besonders auf:
Verwende maximal zwei Wörter, um die Aktion exakt zu beschreiben.
Werde nicht mehrzeilig und verwende nicht zu viele Wörter.
Beschreibe exakt und kurz, welche Aktion sich hinter den Buttons verbergen.
Verwirre die Nutzer nicht mit mehrdeutigen Begriffen.
Achte bei der Auswahl des Icons besonders auf...
Verwende Icons, die die Funktion hinter dem Icon visuell verdeutlichen.
Verwende keine Icons die nur gut aussehen, aber keine Funktion widerspiegeln.
Beachte besonders bei einem Button mit Text und einem Icon:
Das Chevron-Icon zeigt an, dass ein Dropdown sich nach einem Klick öffnet.
Bei schmaleren Bildschirmgrößen behält der Button die vorgegebene Breite. Eine Ausnahme bilden die Buttons in der Modal-Navigation. Wenn die Bildschirmbreite kleiner als 400 px ist, nehmen diese die volle Breite des Contents an.
Buttons behalten in den meisten Fällen auch bei schmaleren Bildschirmbreiten die gewählte Größe. Die Position der Buttons kann sich jedoch der Breite anpassen.
Um auch mobil eine schnelle Navigation durch ein Modal zu ermöglichen, füllen die Buttons im unteren Bereich des Modals die gesamte Breite des Contents aus.
Achte beim Button darauf, dass...
Das Icon erhält automatisch das Attribut aria-hidden=true. Verwende das Attribut aria-label bei dem Button, um die zugehörige Aktion zu beschreiben.
Achte bei den Colors Light und Dark auf einen genügenden Kontrast zum Hintergrund. Es wird empfohlen, eine Color in Light zu verwenden, wenn der HSL Lightness-Wert des Hintergrunds weniger als 50 ist. Die Color Dark wird für Hintergründe empfohlen, die einen HSL Lightness-Wert von größer als 50 haben. Für beide Colors gilt: Je weiter der HSL Lightness-Wert von 50 entfernt ist, desto besser ist der Kontrast.
Die Color Light kommt besonders gut auf sehr dunklen Hintergründen zur Geltung. Verwende sie auf Hintergründen mit einem HSL Lightness-Wert von weniger als 50.
Color Dark kommt besonders gut auf sehr hellen Hintergründen zur Geltung. Verwende sie auf Hintergründen mit einem HSL Lightness-Wert von über 50.