Icon reference
Click on the symbol next to the icon name to show SVG code that you can copy to your markup or to download SVG file.
<div class="svgIcon svgIcon--stroked svgIcon--activity">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--activity"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--add">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--add"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--adjust">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--adjust"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--alignCenter">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--alignCenter"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--alignJustify">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--alignJustify"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--alignLeft">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--alignLeft"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--alignRight">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--alignRight"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--archive">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--archive"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--area">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--area"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--arrowDown">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--arrowDown"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--arrowLeft">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--arrowLeft"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--arrowRight">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--arrowRight"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--arrowUp">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--arrowUp"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--attachment">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--attachment"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--barChart1">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--barChart1"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--barChart2">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--barChart2"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--bell">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--bell"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--block">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--block"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--bold">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--bold"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--book">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--book"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--bookmark">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--bookmark"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--box">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--box"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--building">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--building"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--bundle">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--bundle"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--calendar">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--calendar"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--camera">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--camera"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--cases">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--cases"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chat">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chat"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--check">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--check"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--checkbox">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--checkbox"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronDoubleDown">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronDoubleDown"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronDoubleLeft">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronDoubleLeft"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronDoubleRight">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronDoubleRight"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronDoubleUp">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronDoubleUp"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronDown">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronDown"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronLeft">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronLeft"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronRight">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronRight"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--chevronUp">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--chevronUp"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--close">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--close"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--cloud">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--cloud"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--code">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--code"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--compas">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--compas"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--coordinates3d">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--coordinates3d"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--copy">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--copy"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--cornerDownRight">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--cornerDownRight"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--creditCard">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--creditCard"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--cursor">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--cursor"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--database">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--database"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--description">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--description"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--distance">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--distance"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--dollar">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--dollar"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--downloadCloud">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--downloadCloud"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--download">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--download"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--dragAndDrop">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--dragAndDrop"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--dropdown">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--dropdown"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--edit">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--edit"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--equipment">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--equipment"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--error">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--error"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--expand2">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--expand2"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--expand">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--expand"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--externalLink">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--externalLink"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--fastBack">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--fastBack"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--fastForward">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--fastForward"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--file">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--file"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--film">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--film"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--filter">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--filter"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--flag">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--flag"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--folder">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--folder"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--globe2">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--globe2"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--globe">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--globe"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--grid">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--grid"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--group">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--group"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--heart">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--heart"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--help">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--help"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--hide">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--hide"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--history">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--history"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--home">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--home"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--image">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--image"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--inbox">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--inbox"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--info">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--info"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--italic">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--italic"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--layers">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--layers"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--layout">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--layout"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--legend">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--legend"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--link">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--link"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--list">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--list"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--loading">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--loading"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--locate">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--locate"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--location">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--location"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--lock">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--lock"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--longParagraph">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--longParagraph"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--mail">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--mail"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--measure">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--measure"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--messageAlert">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--messageAlert"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--minimize">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--minimize"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--minus">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--minus"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--mobile">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--mobile"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--more">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--more"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--move">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--move"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--next">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--next"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--objects">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--objects"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--pause">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--pause"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--pc">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--pc"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--phone">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--phone"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--pieChart">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--pieChart"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--pinBookmark">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--pinBookmark"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--pin">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--pin"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--play">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--play"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--previous">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--previous"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--print">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--print"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--qrcode">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--qrcode"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--radio">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--radio"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--redo">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--redo"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--reload">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--reload"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--repeat">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--repeat"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--roles">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--roles"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--rotate">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--rotate"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--route">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--route"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--save">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--save"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--scanCode">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--scanCode"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--scanQrCode">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--scanQrCode"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--search">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--search"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--send">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--send"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--settings">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--settings"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--shield">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--shield"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--shortParagraph">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--shortParagraph"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--show">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--show"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--signIn">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--signIn"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--signOut">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--signOut"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--skills">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--skills"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--skipBack">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--skipBack"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--skipForward">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--skipForward"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortAlphaAsc">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortAlphaAsc"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortAlphaDesc">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortAlphaDesc"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortAsc">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortAsc"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortDesc">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortDesc"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortHorizontal">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortHorizontal"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--sortVertical">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--sortVertical"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--star">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--star"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--streetview">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--streetview"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--tablet">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--tablet"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--tasks">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--tasks"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--themeMap">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--themeMap"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--timeAlarm">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--timeAlarm"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--timeHistory">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--timeHistory"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--time">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--time"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--timeseries">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--timeseries"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--trash">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--trash"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--trendingDown">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--trendingDown"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--trendingUp">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--trendingUp"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--turbine">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--turbine"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--type">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--type"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--underline">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--underline"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--undo">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--undo"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--unlock">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--unlock"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--uploadCloud">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--uploadCloud"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--upload">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--upload"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--user">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--user"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--validation">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--validation"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--videoCamera">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--videoCamera"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--warning">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--warning"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--watch">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--watch"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--wifiOff">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--wifiOff"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--wifi">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--wifi"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--zoomIn">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--zoomIn"></use>
</svg>
</div>
[object Promise]
<div class="svgIcon svgIcon--stroked svgIcon--zoomOut">
<svg focusable="false" aria-hidden="true">
<use xlink:href="#svg--zoomOut"></use>
</svg>
</div>
[object Promise]
Using icons
Our icon system is based on SVG files. SVGs have a number of advantages:
- They’re vector graphics that can be infinitely scaled.
- SVG images can be inlined right in the document and thus styled with CSS or even manipulated with JavaScript.
- It is possible to create single SVG sprite sheet and reuse shapes without duplication.
An SVG can be embedded inline in an HTML document using the <svg>
tag:
<!-- somewhere in your markup -->
<!-- `focusable` attribute is set to false to prevent the SVG from receiving focus in IE -->
<div class="svgIcon">
<svg
aria-hidden="true"
focusable="false"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z"/>
</svg>
</div>
The markup above can be simplified using .svgIcon--stroked
class to avoid repetition of presentational SVG attributes between icons:
<div class="svgIcon svgIcon--stroked">
<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false">
<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z"/>
</svg>
</div>
You're probably going to be using multiple icons in your project; while SVG icons are generally lightweight, they can still contain quite a few lines of markup. Fortunately, you can minimize the bloat by using an SVG sprite.
What does an SVG sprite look like?
An SVG sprite is a single SVG file that contains data for multiple SVG graphics:
<!-- sprite.svg -->
<svg xmlns="http://www.w3.org/2000/svg">
<!-- define "add" icon -->
<symbol id="svg--add" viewBox="0 0 24 24">
<!-- all the paths and shapes and whatnot for this icon -->
<path d="M12 19V5m-7 7h14"/>
</symbol>
<!-- define "camera" icon -->
<symbol id="svg--camera" viewBox="0 0 24 24">
<path d="M23 8a2 2 0 00-2-2h-4l-2-3H9L7 6H3a2 2 0 00-2 2v11a2 2 0 002 2h18a2 2 0 002-2M1 8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2v11a2 2 0 01-2 2H3a2 2 0 01-2-2m11-2a4 4 0 10-4-4m4 4a4 4 0 114-4"/>
</symbol>
<!-- more icons… -->
</svg>
It is just an <svg>
tag with a bunch of <symbol>
tags. Each <symbol>
tag has a unique ID and wraps all the paths and whatnot for each icon. See this article for further explanation.
Using an SVG sprite
SVG sprite that comes with all the available icons is distributed together with @volue/wave
package. Once installed, the sprite file can be found at node_modules/@volue/wave/dist/core/sprite.svg
. It is also included in @volue/design-icons
package (see readme) along with other files containing icons data.
To place an icon code into your page, link to the SVG sprite by targeting the icon’s name in the href
attribute of use
element:
<div class="svgIcon svgIcon--stroked">
<svg aria-hidden="true">
<use xlink:href="path/to/file/sprite.svg#svg--pieChart"></use>
</svg>
</div>
While externally referenced <use>
is probably most convenient, it is not supported in IE11 and below. If you need to support these browsers, there are two major workaround choices:
- Include the SVG sprite in all the HTML documents themselves.
- Ajax for the sprite.
In the first choice, you need to include your sprite sheet file at the top of <body>
. Wrap it in a container with .is-hidden
class, so that it doesn't take up any space.
<!DOCTYPE html>
<html>
<head><title>My App</title></head>
<body>
<!-- SVG sprite sheet up in the DOM, make sure that the SVG sprite file is included on every page/view you want the icons to appear -->
<div id="svgSpritePlaceholder" class="is-hidden" aria-hidden="true">
<svg width="0" height="0" xmlns="http://www.w3.org/2000/svg">
<symbol id="svg--iconOne" viewBox="0 0 24 24">
<path d="M6 4h8a4 4 0 110 8H6h9a4 4 0 110 8H6V4z"/>
</symbol>
<symbol id="svg--iconTwo" viewBox="0 0 24 24">
<path d="M20 6L9 17l-5-5"/>
</symbol>
<!-- rest of the icons… -->
</svg>
</div>
<h1>SVG is awesome.</h1>
<!-- reuse the icons at any point -->
<div class="svgIcon svgIcon--stroked">
<svg aria-hidden="true" focusable="false"><use xlink:href="#svg--iconOne"></use></svg>
</div>
</body>
</html>
With the second choice, you load your spritemap asynchronously over XHR and inject it onto container. This way the browser can cache the spritemap file.
Wave.utils.loadSvg('path/to/file/sprite.svg', function (err, svg) {
document.getElementById('svgSpritePlaceholder').appendChild(svg);
});
If you are using Angular framework, you can inject your spritemap file using ng-include
directive. Right after <body>
tag place this:
<div id="svgSpritePlaceholder" class="is-hidden" aria-hidden="true">
<ng-include src="'path/to/file/sprite.svg'"></ng-include>
</div>
Once the sprite sheet file is included/loaded you can access all of it's shapes as if they were inline via the <svg>
and <use>
elements.
Everytime you want to use an icon you simply write:
<div class="svgIcon svgIcon--stroked">
<svg aria-hidden="true" focusable="false"><use xlink:href="#svg--iconName"></use></svg>
</div>
By default the icon will inherit the text color from the parent element, but you can use the text color helpers to override this behaviour or apply your own styles:
#svg--inlineStyled {
stroke: seagreen;
}
Icon circles
You can add a circle around icons. Icon circles can be themed using fill helpers:
Icon circles with outlines can be themed using text color helpers:
Accessibility
There are two ways an icon might be used:
- Decorative: icon is just visual sugar – the words around it convey the meaning
- Standalone: icon presented alone that needs to convey meaning all by itself
Majority of icons are intended to be used as decorative icon. When there is a text label accompanying the icon, the icon itself becomes irrelevant to screen readers and the common practice is to hide it using aria-hidden
attribute:
Standalone icons without text next to them need additional attributes such as aria-labelledBy
pointing to icon's <title>
to clarify their meaning. Alternatively you can use hidden assistive text next to the icon to describe it:
Standalone icons used in interactive controls such as buttons don't need any additional attributes as long as you provide an accessible label on the control itself:
Sprite builder
If you need to build a custom SVG sprite sheet from individual SVG icons, here's a tool for that.
Icon font Deprecated
The Icon font is used by adding an HTML <i>
tag with class pf
in combination with a pf-
icon name added to it <i class="pf pf-info"></i>
.
It is highly recommended to use SVG icons where possible instead of the icon font, because SVGs are more reliable and come with less issues.
For details, you should read https://cloudfour.com/thinks/seriously-dont-use-icon-fonts/.
Icon font is no longer extended with new icons - it exists for backwards-compatiblity purposes and eventually it will get removed from the library.
If you are running IIS 6 or higher on your web server, you need to add the following MIME type declaration in web.config in order to properly serve Icon Font:
<system.webServer>
…
<staticContent>
<remove fileExtension=".woff" /> <!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>