lion/packages/icon/README.md
Thomas Allmer ec8da8f12c feat: release inital public lion version
Co-authored-by: Mikhail Bashkirov <mikhail.bashkirov@ing.com>
Co-authored-by: Thijs Louisse <thijs.louisse@ing.com>
Co-authored-by: Joren Broekema <joren.broekema@ing.com>
Co-authored-by: Gerjan van Geest <gerjan.van.geest@ing.com>
Co-authored-by: Erik Kroes <erik.kroes@ing.com>
Co-authored-by: Lars den Bakker <lars.den.bakker@ing.com>
2019-04-26 10:37:57 +02:00

1.4 KiB
Raw Blame History

Icon

A web component for displaying icons.

How to use

Installation

npm i --save @lion/icon
import '@lion/icon/lion-icon.js';

Basic usage

Include the import for both the custom element the icons you want:

<script type="module">
  import 'lion-icon/lion-icon.js';
  import bugSvg from '../icons/bug.svg.js';
</script>

Use it in your lit-html template:

<lion-icon .svg=${bugSvg}></lion-icon>

Accessibiltiy

You may add an aria-label to provide information to visually impaired users:

<lion-icon .svg=${arrowLeftSvg} aria-label="Pointing left"></lion-icon>

A lion-icon without an aria-label attribute will be automatically be given an aria-hidden attribute.

Styling

Dimensions

By default, a lion-icon will be 1em × 1em (the current line-height).

A lion-icon may be styled like a regular HTML element:

<style>
  lion-icon.big {
    width: 3rem;
    height: 3rem;
  }
</style>

SVG Styling

lion-icon uses SVGs and may be styled with CSS, using CSS properties such as fill and stroke:

<style>
  lion-icon.strong {
    fill: azure;
    stroke: lightsteelblue;
  }
</style>
<lion-icon .icon=${arrowSvg} class="strong"></lion-icon>

See SVG and CSS on MDN web docs for more information.