A web component for displaying icons.
npm i --save @lion/icon
import '@lion/icon/lion-icon.js';
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>
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.
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>
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.