Skip to content

SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:52

Basic SVG image. Implements SVG sprites.

Will create <svg> element that contains all symbols, add passed source code to it and reuse it later.

import imageSrc from "./path/to/image.svg";
import anotherImageSrc from "./path/to/another/image.svg";
import { SvgImage } from "vite-awesome-svg-loader/vanilla-integration";
const container = document.createElement("div"); // Where to mount SVG
const image = new SvgImage(imageSrc, container); // Create image and mount it to the container
image.setSvgElAttrs({ id: "my-svg-symbol" }); // Change <svg> element attributes
image.setUseElAttrs({ className: "my-svg-symbol-use-el" }); // Change <use> element attributes
image.setSrc(anotherImageSrc); // Change SVG source code
console.log(image.getSrc()); // Get and print image source code
console.log(image.getContainer()); // Get and print image container
console.log(image.getSvgEl()); // Get and print image <svg> element
console.log(image.getUseEl()); // Get and print image <use> element
image.unmount(); // Remove image from the container
// All operations are chainable, so you can do this:
const image2 = new SvgImage(imageSrc)
.mount(container)
.setSvgElAttrs({ id: "my-svg-symbol" })
.setUseElAttrs({ className: "my-svg-symbol-use-el" });

You can use this API to extend SvgImage.

Use constructor() and SvgImage#mount to change component markup.

Use SvgImage._updateSvgBeforeUserAttrsSet, SvgImage._updateSvgAfterUserAttrsSet, SvgImage._updateUseElBeforeUserAttrsSet, SvgImage._updateUseElAfterUserAttrsSet hooks to set custom elements attributes.

You probably don’t need to override required element’s attributes. If you actually need to do so, override SvgImage._updateSvgEl

SVG source code

Element or selector of an element to mount image to. If not provided, image won’t be mounted.

new SvgImage(src, mountTo?): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:77

string

ElementOrSelector

SvgImage

getContainer(): undefined | Element

Defined in: vanilla-integration/src/SvgImage.ts:207

undefined | Element

A container of this image, or undefined, if image is not mounted


getSrc(): undefined | string

Defined in: vanilla-integration/src/SvgImage.ts:200

undefined | string

SVG source code


getSvgEl(): SVGElement

Defined in: vanilla-integration/src/SvgImage.ts:218

Returns <svg> element.

To assign attributes, use setSvgElAttrs instead.

SVGElement

<svg> element


getUseEl(): SVGUseElement

Defined in: vanilla-integration/src/SvgImage.ts:229

Returns <use> element.

To assign attributes, use setSvgElAttrs instead.

SVGUseElement

<use> element


mount(to): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:94

Mounts image to the given element

ElementOrSelector

Element or selector of an element to mount image to

SvgImage

this


setSrc(src): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:189

Sets SVG source code

string

SVG source code

SvgImage

this


setSvgElAttrs(attrs): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:115

Sets <svg> element attributes. It won’t remove id, class and style.

Record<string, any>

Attributes to set

SvgImage

this


setUseElAttrs(attrs): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:152

Sets <use> element attributes. It won’t remove id, class and style.

Record<string, any>

Attributes to set

SvgImage

this


unmount(): SvgImage

Defined in: vanilla-integration/src/SvgImage.ts:103

Removes image from the container

SvgImage

this