@synergy-design-system/components
Version:
This package provides the base of the Synergy Design System as native web components. It uses [lit](https://www.lit.dev) and parts of [shoelace](https://shoelace.style/). Synergy officially supports the latest two versions of all major browsers (as define
46 lines (43 loc) • 1.05 kB
JavaScript
import {
library_default_default
} from "./chunk.YTEJW7IF.js";
import {
library_system_default
} from "./chunk.OPFES4QD.js";
// src/components/icon/library.ts
var registry = [library_default_default, library_system_default];
var watchedIcons = [];
function watchIcon(icon) {
watchedIcons.push(icon);
}
function unwatchIcon(icon) {
watchedIcons = watchedIcons.filter((el) => el !== icon);
}
function getIconLibrary(name) {
return registry.find((lib) => lib.name === name);
}
function registerIconLibrary(name, options) {
unregisterIconLibrary(name);
registry.push({
name,
resolver: options.resolver,
mutator: options.mutator,
spriteSheet: options.spriteSheet
});
watchedIcons.forEach((icon) => {
if (icon.library === name) {
icon.setIcon();
}
});
}
function unregisterIconLibrary(name) {
registry = registry.filter((lib) => lib.name !== name);
}
export {
watchIcon,
unwatchIcon,
getIconLibrary,
registerIconLibrary,
unregisterIconLibrary
};
//# sourceMappingURL=chunk.PNQZGRUP.js.map