iconset

Deprecation Warning
@spectrum-web-components/iconset is deprecated and will be removed in an upcoming release.
Overview Changelog

Overview

Section titled Overview

Extend either the Iconset or IconsetSVG exports of this package to supply your application with a custom icon set to power the use of <sp-icon> elements throughout. Give your new icon set a custom name, and you'll be ready to supply them as <sp-icon name="custom-icons:icon"> across your application.

Usage

Section titled Usage

See it on NPM! How big is this package in your project?

yarn add @spectrum-web-components/iconset
import { TemplateResult } from 'lit-element';
import { IconsetSVG } from '@spectrum-web-components/iconset/src/iconset-svg.js';

import { CustomIconSet } from 'your-icon-set.js';

export class IconsLarge extends IconsetSVG {
    public constructor() {
        super();
        this.name = 'custom-icons'; // default iconset name for these icons
    }

    protected renderDefaultContent(): TemplateResult {
        return CustomIconSet;
    }
}

Deprecated

Section titled Deprecated

Iconsets have been deprecated and will be removed from the project in an upcoming version. Using a technique that ensures only the icons actually leveraged in your application are present in your build, like UI Icons (../icons-ui/) or Workflow Icons (../icons-workflow/), will ensure smaller bundles and higher performance for you visitor. For non-Spectrum icons, you can still slot SVG and image content into an sp-icon element or sanitize the SVG to a template literal so that it can be returned from the render() method in an extension of IconBase to create your own named icon element.

Accessibility

Section titled Accessibility

Review the accessibility guidelines for the icon.