Playground
Für das Flow Design System kommen Tabler Icons zum Einsatz. Eine Auswahl passender Icons wurde getroffen und mit festen Bedeutungen versehen. Alle relevanten Icons werden unten in der Icon-Bibliothek aufgelistet.
Um ein Icon einzufügen, wird eine Kombination aus „Icon“ und dem jeweiligen
„Icon-Namen“ in einem Tag verwendet. Zum Beispiel sieht der Tag für das Icon
„Home“ so aus: <IconHome />
. Eine Übersicht aller verfügbaren Icons und ihrer
Namen ist in der Icon-Bibliothek zu finden.
import { IconHome } from "@mittwald/flow-react-components"; <IconHome />
Tabler Icon
Wenn kein passendes Icon in der Icon-Bibliothek vorhanden ist, kann alternativ ein Icon von Tabler ausgewählt werden.
import { Icon } from "@mittwald/flow-react-components"; import { IconStar } from "@tabler/icons-react"; <Icon> <IconStar /> </Icon>
SVG
Zusätzlich können eigene SVGs als Icons eingesetzt werden. Dabei ist darauf zu achten, dass sie im Stil der übrigen Icons konsistent bleiben.
import { Icon } from "@mittwald/flow-react-components"; <Icon> <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" > <circle cx="50" cy="50" r="50" /> </svg> </Icon>
Sizes
Icons sind in den Größen s, m und l verfügbar.
import { IconHome } from "@mittwald/flow-react-components"; <Row> <IconHome size="s" /> <IconHome size="m" /> <IconHome size="l" /> </Row>
Kombiniere mit ...
Align
Benutze die Align-Component, um ein Icon neben einem Text zu platzieren.
import { Align, IconDomain, Text, } from "@mittwald/flow-react-components"; <Align> <IconDomain /> <Text>mail.agenturserver.de</Text> </Align>
Icon-Bibliothek
Im Flow Design System haben ausgewählte Icons eine festgelegte Bedeutung. Sie lassen sich drei Typen zuordnen: Functional, Decorative und Status.
Functional
Functional Icons besitzen eine eindeutige, allgemein verständliche Symbolik, die der User bereits kennt. Sie unterstützen User bei Navigation und Interaktion und werden häufig in Actions wie Icon-Buttons eingesetzt.
import { ColumnLayout, IconAttachment, IconBackLink, IconCheck, IconCheckboxChecked, IconCheckboxEmpty, IconCheckboxIndeterminate, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconClose, IconCode, IconContextMenu, IconContextMenuVertical, IconCopy, IconDelete, IconDownload, IconEdit, IconExternalLink, IconFilter, IconHide, IconHome, IconLink, IconLogout, IconMaximize, IconMenu, IconMinimize, IconMinus, IconNotification, IconPause, IconPlus, IconRadioOff, IconRadioOn, IconRedo, IconRefresh, IconSave, IconSearch, IconSend, IconSettings, IconShare, IconShow, IconSorting, IconStart, IconUndo, IconUpload, IconView, Label, LabeledValue, } from "@mittwald/flow-react-components"; <ColumnLayout l={[1, 1, 1, 1, 1]} m={[1, 1, 1]} s={[1, 1]}> <LabeledValue> <Label>Home</Label> <IconHome /> </LabeledValue> <LabeledValue> <Label>Notification</Label> <IconNotification /> </LabeledValue> <LabeledValue> <Label>Logout</Label> <IconLogout /> </LabeledValue> <LabeledValue> <Label>Search</Label> <IconSearch /> </LabeledValue> <LabeledValue> <Label>Menu</Label> <IconMenu /> </LabeledValue> <LabeledValue> <Label>View</Label> <IconView /> </LabeledValue> <LabeledValue> <Label>Filter</Label> <IconFilter /> </LabeledValue> <LabeledValue> <Label>Sorting</Label> <IconSorting /> </LabeledValue> <LabeledValue> <Label>ContextMenu</Label> <IconContextMenu /> </LabeledValue> <LabeledValue> <Label>ContextMenuVertical</Label> <IconContextMenuVertical /> </LabeledValue> <LabeledValue> <Label>Maximize</Label> <IconMaximize /> </LabeledValue> <LabeledValue> <Label>Minimize</Label> <IconMinimize /> </LabeledValue> <LabeledValue> <Label>Edit</Label> <IconEdit /> </LabeledValue> <LabeledValue> <Label>Share</Label> <IconShare /> </LabeledValue> <LabeledValue> <Label>Save</Label> <IconSave /> </LabeledValue> <LabeledValue> <Label>Settings</Label> <IconSettings /> </LabeledValue> <LabeledValue> <Label>Delete</Label> <IconDelete /> </LabeledValue> <LabeledValue> <Label>Copy</Label> <IconCopy /> </LabeledValue> <LabeledValue> <Label>Backlink</Label> <IconBackLink /> </LabeledValue> <LabeledValue> <Label>ExternalLink</Label> <IconExternalLink /> </LabeledValue> <LabeledValue> <Label>ChevronDown</Label> <IconChevronDown /> </LabeledValue> <LabeledValue> <Label>ChevronLeft</Label> <IconChevronLeft /> </LabeledValue> <LabeledValue> <Label>ChevronRight</Label> <IconChevronRight /> </LabeledValue> <LabeledValue> <Label>ChevronUp</Label> <IconChevronUp /> </LabeledValue> <LabeledValue> <Label>Close</Label> <IconClose /> </LabeledValue> <LabeledValue> <Label>Show</Label> <IconShow /> </LabeledValue> <LabeledValue> <Label>Hide</Label> <IconHide /> </LabeledValue> <LabeledValue> <Label>Plus</Label> <IconPlus /> </LabeledValue> <LabeledValue> <Label>Minus</Label> <IconMinus /> </LabeledValue> <LabeledValue> <Label>Code</Label> <IconCode /> </LabeledValue> <LabeledValue> <Label>CheckboxChecked</Label> <IconCheckboxChecked /> </LabeledValue> <LabeledValue> <Label>CheckboxEmpty</Label> <IconCheckboxEmpty /> </LabeledValue> <LabeledValue> <Label>CheckboxIndeterminate</Label> <IconCheckboxIndeterminate /> </LabeledValue> <LabeledValue> <Label>RadioOff</Label> <IconRadioOff /> </LabeledValue> <LabeledValue> <Label>RadioOn</Label> <IconRadioOn /> </LabeledValue> <LabeledValue> <Label>Refresh</Label> <IconRefresh /> </LabeledValue> <LabeledValue> <Label>Check</Label> <IconCheck /> </LabeledValue> <LabeledValue> <Label>Download</Label> <IconDownload /> </LabeledValue> <LabeledValue> <Label>Redo</Label> <IconRedo /> </LabeledValue> <LabeledValue> <Label>Undo</Label> <IconUndo /> </LabeledValue> <LabeledValue> <Label>Upload</Label> <IconUpload /> </LabeledValue> <LabeledValue> <Label>Send</Label> <IconSend /> </LabeledValue> <LabeledValue> <Label>Attachment</Label> <IconAttachment /> </LabeledValue> <LabeledValue> <Label>Pause</Label> <IconPause /> </LabeledValue> <LabeledValue> <Label>Start</Label> <IconStart /> </LabeledValue> <LabeledValue> <Label>Link</Label> <IconLink /> </LabeledValue> </ColumnLayout>
Decorative
Decorative Icons tragen zur Ästhetik und zur emotionalen Wirkung der Benutzeroberfläche bei. Im Gegensatz zu den Functional Icons ist ihre Bedeutung jedoch oft nicht intuitiv erfassbar.
import { ColumnLayout, IconAI, IconAnalytics, IconApp, IconAutoresponder, IconBackup, IconCamera, IconCertificate, IconChangelog, IconContainer, IconContract, IconContributor, IconCronjob, IconCustomer, IconDashboard, IconDatabase, IconDate, IconDeliveryBox, IconDesktop, IconDirectory, IconDomain, IconEmail, IconExtension, IconFile, IconForwardAddress, IconKnowledgeHint, IconLeadFyndr, IconMainUser, IconMarketplace, IconMember, IconMittwald, IconMobile, IconMonitoring, IconMove, IconNumber, IconOrder, IconPassword, IconPayment, IconPicture, IconProject, IconRegistry, IconSecurity, IconServer, IconSsh, IconSshKey, IconSshSftp, IconStar, IconStarFilled, IconSubdomain, IconSupport, IconTerminate, IconTicket, IconTime, IconUser, IconVhost, IconVolume, IconPath, Label, LabeledValue, IconDnsZone, IconEmailArchive, IconInvite, IconDnsSubZone, } from "@mittwald/flow-react-components"; <ColumnLayout l={[1, 1, 1, 1, 1]} m={[1, 1, 1]} s={[1, 1]}> <LabeledValue> <Label>mittwald</Label> <IconMittwald /> </LabeledValue> <LabeledValue> <Label>Star</Label> <IconStar /> </LabeledValue> <LabeledValue> <Label>StarFilled</Label> <IconStarFilled /> </LabeledValue> <LabeledValue> <Label>AI</Label> <IconAI /> </LabeledValue> <LabeledValue> <Label>Project</Label> <IconProject /> </LabeledValue> <LabeledValue> <Label>Server</Label> <IconServer /> </LabeledValue> <LabeledValue> <Label>Customer</Label> <IconCustomer /> </LabeledValue> <LabeledValue> <Label>Support</Label> <IconSupport /> </LabeledValue> <LabeledValue> <Label>Email</Label> <IconEmail /> </LabeledValue> <LabeledValue> <Label>DeliveryBox</Label> <IconDeliveryBox /> </LabeledValue> <LabeledValue> <Label>EmailArchive</Label> <IconEmailArchive /> </LabeledValue> <LabeledValue> <Label>App</Label> <IconApp /> </LabeledValue> <LabeledValue> <Label>Domain</Label> <IconDomain /> </LabeledValue> <LabeledValue> <Label>Vhost</Label> <IconVhost /> </LabeledValue> <LabeledValue> <Label>Subdomain</Label> <IconSubdomain /> </LabeledValue> <LabeledValue> <Label>Domainpfad</Label> <IconPath /> </LabeledValue> <LabeledValue> <Label>Certificate</Label> <IconCertificate /> </LabeledValue> <LabeledValue> <Label>DnsZone</Label> <IconDnsZone /> </LabeledValue> <LabeledValue> <Label>DnsSubZone</Label> <IconDnsSubZone /> </LabeledValue> <LabeledValue> <Label>Move</Label> <IconMove /> </LabeledValue> <LabeledValue> <Label>Directory</Label> <IconDirectory /> </LabeledValue> <LabeledValue> <Label>File</Label> <IconFile /> </LabeledValue> <LabeledValue> <Label>Database</Label> <IconDatabase /> </LabeledValue> <LabeledValue> <Label>Changelog</Label> <IconChangelog /> </LabeledValue> <LabeledValue> <Label>Extension</Label> <IconExtension /> </LabeledValue> <LabeledValue> <Label>Order</Label> <IconOrder /> </LabeledValue> <LabeledValue> <Label>Monitoring</Label> <IconMonitoring /> </LabeledValue> <LabeledValue> <Label>Analytics</Label> <IconAnalytics /> </LabeledValue> <LabeledValue> <Label>Ticket</Label> <IconTicket /> </LabeledValue> <LabeledValue> <Label>Contributor</Label> <IconContributor /> </LabeledValue> <LabeledValue> <Label>Payment</Label> <IconPayment /> </LabeledValue> <LabeledValue> <Label>Contract</Label> <IconContract /> </LabeledValue> <LabeledValue> <Label>Camera</Label> <IconCamera /> </LabeledValue> <LabeledValue> <Label>Backup</Label> <IconBackup /> </LabeledValue> <LabeledValue> <Label>Cronjob</Label> <IconCronjob /> </LabeledValue> <LabeledValue> <Label>Member</Label> <IconMember /> </LabeledValue> <LabeledValue> <Label>User</Label> <IconUser /> </LabeledValue> <LabeledValue> <Label>Marketplace</Label> <IconMarketplace /> </LabeledValue> <LabeledValue> <Label>SshSftp</Label> <IconSshSftp /> </LabeledValue> <LabeledValue> <Label>LeadFyndr</Label> <IconLeadFyndr /> </LabeledValue> <LabeledValue> <Label>Container</Label> <IconContainer /> </LabeledValue> <LabeledValue> <Label>Volume</Label> <IconVolume /> </LabeledValue> <LabeledValue> <Label>Number</Label> <IconNumber /> </LabeledValue> <LabeledValue> <Label>Time</Label> <IconTime /> </LabeledValue> <LabeledValue> <Label>Date</Label> <IconDate /> </LabeledValue> <LabeledValue> <Label>Dashboard</Label> <IconDashboard /> </LabeledValue> <LabeledValue> <Label>Terminate</Label> <IconTerminate /> </LabeledValue> <LabeledValue> <Label>Security</Label> <IconSecurity /> </LabeledValue> <LabeledValue> <Label>SshKey</Label> <IconSshKey /> </LabeledValue> <LabeledValue> <Label>ForwardAddress</Label> <IconForwardAddress /> </LabeledValue> <LabeledValue> <Label>Autoresponder</Label> <IconAutoresponder /> </LabeledValue> <LabeledValue> <Label>Password</Label> <IconPassword /> </LabeledValue> <LabeledValue> <Label>Desktop</Label> <IconDesktop /> </LabeledValue> <LabeledValue> <Label>Mobile</Label> <IconMobile /> </LabeledValue> <LabeledValue> <Label>Registry</Label> <IconRegistry /> </LabeledValue> <LabeledValue> <Label>Picture</Label> <IconPicture /> </LabeledValue> <LabeledValue> <Label>MainUser</Label> <IconMainUser /> </LabeledValue> <LabeledValue> <Label>Ssh</Label> <IconSsh /> </LabeledValue> <LabeledValue> <Label>KnowledgeHint</Label> <IconKnowledgeHint /> </LabeledValue> <LabeledValue> <Label>Invite</Label> <IconInvite /> </LabeledValue> </ColumnLayout>
Status
Bestimmte Icons dienen der Anzeige des Status eines Elements.
import { ColumnLayout, IconDanger, IconFailed, IconInfo, IconPending, IconSucceeded, IconSuccess, IconWarning, Label, LabeledValue, } from "@mittwald/flow-react-components"; <ColumnLayout l={[1, 1, 1, 1, 1]} m={[1, 1, 1]} s={[1, 1]}> <LabeledValue> <Label>Success</Label> <IconSuccess /> </LabeledValue> <LabeledValue> <Label>Warning</Label> <IconWarning /> </LabeledValue> <LabeledValue> <Label>Danger</Label> <IconDanger /> </LabeledValue> <LabeledValue> <Label>Info</Label> <IconInfo /> </LabeledValue> <LabeledValue> <Label>Pending</Label> <IconPending /> </LabeledValue> <LabeledValue> <Label>Succeeded</Label> <IconSucceeded /> </LabeledValue> <LabeledValue> <Label>Failed</Label> <IconFailed /> </LabeledValue> </ColumnLayout>