45 lines
1,004 B
JavaScript
45 lines
1,004 B
JavaScript
|
import {
|
||
|
library_default_default
|
||
|
} from "./chunk.P7ZG6EMR.js";
|
||
|
import {
|
||
|
library_system_default
|
||
|
} from "./chunk.3TFKS637.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
|
||
|
};
|