vm-icon
This component was inspired by Shoelace.
Icon libraries let you register additional icons to be used throughout the player.
An icon library is a renderless component that registers a custom set of SVG icons. The icon files can exist locally or on a CORS-enabled endpoint (eg: CDN). There is no limit to how many icon libraries you can register, and there is no cost associated with registering them, as individual icons are only requested when they're used.
By default, Vime provides the vime
and material
icon sets, to register your own icon
library create an <vm-icon-library>
element with a name and resolver function. The resolver
function translates an icon name to a URL where its corresponding SVG file exists.
Refer to the examples below and in the icon component to better understand how it all works.
#
Usage- HTML
- React
- Vue
- Svelte
- Stencil
- Angular
#
PropertiesProperty | Description | Type | Default |
---|---|---|---|
label | An alternative description to use for accessibility. If omitted, the name or src will be used to generate it. | string ∣ undefined | undefined |
library | The name of a registered icon library. | string ∣ undefined | undefined |
name | The name of the icon to draw. | string ∣ undefined | undefined |
src | The absolute URL of an SVG file to load. | string ∣ undefined | undefined |
#
EventsEvent | Description | Type |
---|---|---|
vmError | Emitted when the icon failed to load. | CustomEvent<{ status?: number ∣ undefined; }> |
vmLoad | Emitted when the icon has loaded. | CustomEvent<void> |
#
CSS Custom PropertiesName | Description |
---|---|
--vm-icon-fill | The icon fill color. |
--vm-icon-stroke | The icon stroke color. |
--vm-icon-transform | Transformations applied to the icon. |
--vm-icon-transition | Transitions applied to the icon. |