@haiilo/catalyst 2.4.7 → 2.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/index.esm.js +1 -1
- package/dist/catalyst/p-602c38be.entry.js +2 -0
- package/dist/catalyst/p-602c38be.entry.js.map +1 -0
- package/dist/catalyst/p-ccfebe33.js +2 -0
- package/dist/catalyst/p-ccfebe33.js.map +1 -0
- package/dist/cjs/cat-alert_23.cjs.entry.js +2 -3
- package/dist/cjs/cat-alert_23.cjs.entry.js.map +1 -1
- package/dist/cjs/{cat-icon-registry-32ed379a.js → cat-icon-registry-671af264.js} +60 -32
- package/dist/cjs/cat-icon-registry-671af264.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/collection/components/cat-i18n/cat-i18n-registry.js +28 -7
- package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
- package/dist/collection/components/cat-icon/cat-icon-registry.js +31 -24
- package/dist/collection/components/cat-icon/cat-icon-registry.js.map +1 -1
- package/dist/collection/components/cat-icon/cat-icon.js +2 -3
- package/dist/collection/components/cat-icon/cat-icon.js.map +1 -1
- package/dist/components/cat-i18n-registry.js +28 -7
- package/dist/components/cat-i18n-registry.js.map +1 -1
- package/dist/components/cat-icon2.js +32 -26
- package/dist/components/cat-icon2.js.map +1 -1
- package/dist/esm/cat-alert_23.entry.js +2 -3
- package/dist/esm/cat-alert_23.entry.js.map +1 -1
- package/dist/esm/{cat-icon-registry-7c4007ff.js → cat-icon-registry-d6b80490.js} +60 -32
- package/dist/esm/cat-icon-registry-d6b80490.js.map +1 -0
- package/dist/esm/index.js +2 -2
- package/dist/types/components/cat-i18n/cat-i18n-registry.d.ts +3 -2
- package/dist/types/components/cat-icon/cat-icon-registry.d.ts +3 -5
- package/dist/types/components/cat-icon/cat-icon.d.ts +0 -1
- package/package.json +2 -2
- package/dist/catalyst/p-5362e648.js +0 -2
- package/dist/catalyst/p-5362e648.js.map +0 -1
- package/dist/catalyst/p-c2bf7e26.entry.js +0 -2
- package/dist/catalyst/p-c2bf7e26.entry.js.map +0 -1
- package/dist/cjs/cat-icon-registry-32ed379a.js.map +0 -1
- package/dist/esm/cat-icon-registry-7c4007ff.js.map +0 -1
|
@@ -312,8 +312,28 @@ var loglevel = createCommonjsModule(function (module) {
|
|
|
312
312
|
|
|
313
313
|
class CatI18nRegistry {
|
|
314
314
|
constructor() {
|
|
315
|
-
this.i18n = new Map();
|
|
316
315
|
// hide constructor
|
|
316
|
+
this.id = (Math.random() + 1).toString(36).substring(2);
|
|
317
|
+
this.i18n = new Map();
|
|
318
|
+
// In rare cases, the registry can be initialized twice. This can happen in
|
|
319
|
+
// a micro frontend architecture where the registry is initialized in the
|
|
320
|
+
// host application and in the micro frontend. To prevent the registry in
|
|
321
|
+
// one application from overwriting the registry in the other, we listen for
|
|
322
|
+
// events that are dispatched when messages are added or removed in other
|
|
323
|
+
// applications and add or remove messages if the event was not dispatched
|
|
324
|
+
// by this registry.
|
|
325
|
+
window.addEventListener('cat-i18n-set', event => {
|
|
326
|
+
const { detail } = event || {};
|
|
327
|
+
if (detail && detail.id !== this.id) {
|
|
328
|
+
this.set(detail.i18n, true);
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
window.addEventListener('cat-i18n-clear', event => {
|
|
332
|
+
const { detail } = event || {};
|
|
333
|
+
if (detail && detail.id !== this.id) {
|
|
334
|
+
this.clear(true);
|
|
335
|
+
}
|
|
336
|
+
});
|
|
317
337
|
}
|
|
318
338
|
static getInstance() {
|
|
319
339
|
if (!CatI18nRegistry.instance) {
|
|
@@ -321,15 +341,16 @@ class CatI18nRegistry {
|
|
|
321
341
|
}
|
|
322
342
|
return CatI18nRegistry.instance;
|
|
323
343
|
}
|
|
324
|
-
set(i18n) {
|
|
325
|
-
Object.entries(i18n)
|
|
326
|
-
|
|
327
|
-
|
|
344
|
+
set(i18n, silent = false) {
|
|
345
|
+
const i18nEntries = Object.entries(i18n);
|
|
346
|
+
i18nEntries.forEach(([key, message]) => this.i18n.set(key, message));
|
|
347
|
+
loglevel.info(`[CatI18nRegistry] Registered ${i18nEntries.length !== 1 ? 'messages' : 'message'}`);
|
|
348
|
+
!silent && window.dispatchEvent(this.buildEvent('cat-i18n-set', { i18n, id: this.id }));
|
|
328
349
|
}
|
|
329
|
-
clear() {
|
|
350
|
+
clear(silent = false) {
|
|
330
351
|
this.i18n.clear();
|
|
331
352
|
loglevel.info(`[CatI18nRegistry] Cleared messages`);
|
|
332
|
-
window.dispatchEvent(this.buildEvent('cat-i18n-clear'));
|
|
353
|
+
!silent && window.dispatchEvent(this.buildEvent('cat-i18n-clear'));
|
|
333
354
|
}
|
|
334
355
|
t(key, params) {
|
|
335
356
|
const message = this.i18n.get(key);
|
|
@@ -351,16 +372,33 @@ const catI18nRegistry = CatI18nRegistry.getInstance();
|
|
|
351
372
|
|
|
352
373
|
class CatIconRegistry {
|
|
353
374
|
constructor() {
|
|
354
|
-
this.icons = new Map();
|
|
355
|
-
this.id = (Math.random() + 1).toString(36).substring(2);
|
|
356
|
-
console.log('CatIconRegistry created', this.id);
|
|
357
375
|
// hide constructor
|
|
376
|
+
this.id = (Math.random() + 1).toString(36).substring(2);
|
|
377
|
+
this.icons = new Map();
|
|
378
|
+
// In rare cases, the registry can be initialized twice. This can happen in
|
|
379
|
+
// a micro frontend architecture where the registry is initialized in the
|
|
380
|
+
// host application and in the micro frontend. To prevent the registry in
|
|
381
|
+
// one application from overwriting the registry in the other, we listen for
|
|
382
|
+
// events that are dispatched when icons are added or removed in other
|
|
383
|
+
// applications and add or remove icons if the event was not dispatched by
|
|
384
|
+
// this registry.
|
|
385
|
+
window.addEventListener('cat-icons-added', event => {
|
|
386
|
+
const { detail } = event || {};
|
|
387
|
+
if (detail && detail.id !== this.id) {
|
|
388
|
+
this.addIcons(detail.icons, detail.setName, true);
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
window.addEventListener('cat-icons-removed', event => {
|
|
392
|
+
const { detail } = event || {};
|
|
393
|
+
if (detail && detail.id !== this.id) {
|
|
394
|
+
this.removeIcons(detail.names, detail.setName, true);
|
|
395
|
+
}
|
|
396
|
+
});
|
|
358
397
|
}
|
|
359
398
|
static getInstance() {
|
|
360
399
|
if (!CatIconRegistry.instance) {
|
|
361
400
|
CatIconRegistry.instance = new CatIconRegistry();
|
|
362
401
|
}
|
|
363
|
-
console.log('getInstance', CatIconRegistry.instance);
|
|
364
402
|
return CatIconRegistry.instance;
|
|
365
403
|
}
|
|
366
404
|
getIcon(name, setName) {
|
|
@@ -370,29 +408,19 @@ class CatIconRegistry {
|
|
|
370
408
|
}
|
|
371
409
|
return icon;
|
|
372
410
|
}
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
addIcons(icons, setName) {
|
|
380
|
-
console.log('addIcons', setName, icons);
|
|
381
|
-
Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));
|
|
382
|
-
loglevel.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);
|
|
383
|
-
window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));
|
|
384
|
-
return this;
|
|
385
|
-
}
|
|
386
|
-
removeIcon(name, setName) {
|
|
387
|
-
this.icons.delete(this.buildName(name, setName));
|
|
388
|
-
loglevel.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);
|
|
389
|
-
window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));
|
|
411
|
+
addIcons(icons, setName, silent = false) {
|
|
412
|
+
const iconEntries = Object.entries(icons);
|
|
413
|
+
const iconSize = iconEntries.length;
|
|
414
|
+
iconEntries.forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));
|
|
415
|
+
loglevel.info(`[CatIconRegistry] Added ${iconSize !== 1 ? 'icons' : 'icon'}${setName ? ` to set ${setName}` : ''}`);
|
|
416
|
+
!silent && window.dispatchEvent(this.buildEvent('cat-icons-added', { id: this.id, icons, setName }));
|
|
390
417
|
return this;
|
|
391
418
|
}
|
|
392
|
-
removeIcons(names, setName) {
|
|
419
|
+
removeIcons(names, setName, silent = false) {
|
|
420
|
+
const iconSize = names.length;
|
|
393
421
|
names.forEach(name => this.icons.delete(this.buildName(name, setName)));
|
|
394
|
-
loglevel.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}
|
|
395
|
-
window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));
|
|
422
|
+
loglevel.info(`[CatIconRegistry] Removed ${iconSize !== 1 ? 'icons' : 'icon'}${setName ? ` from set ${setName}` : ''}`);
|
|
423
|
+
!silent && window.dispatchEvent(this.buildEvent('cat-icons-removed', { id: this.id, names, setName }));
|
|
396
424
|
return this;
|
|
397
425
|
}
|
|
398
426
|
buildName(name, setName) {
|
|
@@ -410,4 +438,4 @@ const catIconRegistry = CatIconRegistry.getInstance();
|
|
|
410
438
|
|
|
411
439
|
export { CatI18nRegistry as C, commonjsGlobal as a, catI18nRegistry as b, createCommonjsModule as c, catIconRegistry as d, CatIconRegistry as e, loglevel as l };
|
|
412
440
|
|
|
413
|
-
//# sourceMappingURL=cat-icon-registry-
|
|
441
|
+
//# sourceMappingURL=cat-icon-registry-d6b80490.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"cat-icon-registry-d6b80490.js","mappings":"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","names":["this","log"],"sources":["../node_modules/loglevel/lib/loglevel.js","./src/components/cat-i18n/cat-i18n-registry.ts","./src/components/cat-icon/cat-icon-registry.ts"],"sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private readonly id = (Math.random() + 1).toString(36).substring(2);\n private readonly i18n: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n\n // In rare cases, the registry can be initialized twice. This can happen in\n // a micro frontend architecture where the registry is initialized in the\n // host application and in the micro frontend. To prevent the registry in\n // one application from overwriting the registry in the other, we listen for\n // events that are dispatched when messages are added or removed in other\n // applications and add or remove messages if the event was not dispatched\n // by this registry.\n window.addEventListener('cat-i18n-set', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.set(detail.i18n, true);\n }\n });\n window.addEventListener('cat-i18n-clear', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.clear(true);\n }\n });\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n set(i18n: { [key: string]: string }, silent = false): void {\n const i18nEntries = Object.entries(i18n);\n i18nEntries.forEach(([key, message]) => this.i18n.set(key, message));\n log.info(`[CatI18nRegistry] Registered ${i18nEntries.length !== 1 ? 'messages' : 'message'}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-set', { i18n, id: this.id }));\n }\n\n clear(silent = false): void {\n this.i18n.clear();\n log.info(`[CatI18nRegistry] Cleared messages`);\n !silent && window.dispatchEvent(this.buildEvent('cat-i18n-clear'));\n }\n\n t(key: string, params?: { [key: string]: string | number }): string {\n const message = this.i18n.get(key);\n if (message === undefined) {\n log.error(`[CatI18nRegistry] Unknown message key: ${key}`);\n return key;\n }\n return message.replace(/{{\\s*([-a-zA-Z._]+)\\s*}}/g, (_match, key) => `${params?.[key] ?? ''}`);\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catI18nRegistry = CatI18nRegistry.getInstance();\n","import log from 'loglevel';\n\nexport class CatIconRegistry {\n private static instance: CatIconRegistry;\n\n private readonly id = (Math.random() + 1).toString(36).substring(2);\n private readonly icons: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n\n // In rare cases, the registry can be initialized twice. This can happen in\n // a micro frontend architecture where the registry is initialized in the\n // host application and in the micro frontend. To prevent the registry in\n // one application from overwriting the registry in the other, we listen for\n // events that are dispatched when icons are added or removed in other\n // applications and add or remove icons if the event was not dispatched by\n // this registry.\n window.addEventListener('cat-icons-added', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.addIcons(detail.icons, detail.setName, true);\n }\n });\n window.addEventListener('cat-icons-removed', event => {\n const { detail } = (event as CustomEvent) || {};\n if (detail && detail.id !== this.id) {\n this.removeIcons(detail.names, detail.setName, true);\n }\n });\n }\n\n static getInstance(): CatIconRegistry {\n if (!CatIconRegistry.instance) {\n CatIconRegistry.instance = new CatIconRegistry();\n }\n return CatIconRegistry.instance;\n }\n\n getIcon(name: string, setName?: string): string | undefined {\n const icon = this.icons.get(this.buildName(name, setName));\n if (!icon) {\n log.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);\n }\n return icon;\n }\n\n addIcons(icons: { [name: string]: string }, setName?: string, silent = false): CatIconRegistry {\n const iconEntries = Object.entries(icons);\n const iconSize = iconEntries.length;\n iconEntries.forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));\n log.info(`[CatIconRegistry] Added ${iconSize !== 1 ? 'icons' : 'icon'}${setName ? ` to set ${setName}` : ''}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-icons-added', { id: this.id, icons, setName }));\n return this;\n }\n\n removeIcons(names: string[], setName?: string, silent = false): CatIconRegistry {\n const iconSize = names.length;\n names.forEach(name => this.icons.delete(this.buildName(name, setName)));\n log.info(`[CatIconRegistry] Removed ${iconSize !== 1 ? 'icons' : 'icon'}${setName ? ` from set ${setName}` : ''}`);\n !silent && window.dispatchEvent(this.buildEvent('cat-icons-removed', { id: this.id, names, setName }));\n return this;\n }\n\n private buildName(name: string, setName?: string) {\n return setName ? `${setName}:name` : name;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catIconRegistry = CatIconRegistry.getInstance();\n"],"version":3}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as createCommonjsModule, a as commonjsGlobal, b as catI18nRegistry } from './cat-icon-registry-
|
|
2
|
-
export { C as CatI18nRegistry, e as CatIconRegistry, b as catI18nRegistry, d as catIconRegistry } from './cat-icon-registry-
|
|
1
|
+
import { c as createCommonjsModule, a as commonjsGlobal, b as catI18nRegistry } from './cat-icon-registry-d6b80490.js';
|
|
2
|
+
export { C as CatI18nRegistry, e as CatIconRegistry, b as catI18nRegistry, d as catIconRegistry } from './cat-icon-registry-d6b80490.js';
|
|
3
3
|
|
|
4
4
|
var toastify = createCommonjsModule(function (module) {
|
|
5
5
|
/*!
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
export declare class CatI18nRegistry {
|
|
2
2
|
private static instance;
|
|
3
|
+
private readonly id;
|
|
3
4
|
private readonly i18n;
|
|
4
5
|
private constructor();
|
|
5
6
|
static getInstance(): CatI18nRegistry;
|
|
6
7
|
set(i18n: {
|
|
7
8
|
[key: string]: string;
|
|
8
|
-
}): void;
|
|
9
|
-
clear(): void;
|
|
9
|
+
}, silent?: boolean): void;
|
|
10
|
+
clear(silent?: boolean): void;
|
|
10
11
|
t(key: string, params?: {
|
|
11
12
|
[key: string]: string | number;
|
|
12
13
|
}): string;
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
export declare class CatIconRegistry {
|
|
2
2
|
private static instance;
|
|
3
|
+
private readonly id;
|
|
3
4
|
private readonly icons;
|
|
4
|
-
readonly id: string;
|
|
5
5
|
private constructor();
|
|
6
6
|
static getInstance(): CatIconRegistry;
|
|
7
7
|
getIcon(name: string, setName?: string): string | undefined;
|
|
8
|
-
addIcon(name: string, data: string, setName?: string): CatIconRegistry;
|
|
9
8
|
addIcons(icons: {
|
|
10
9
|
[name: string]: string;
|
|
11
|
-
}, setName?: string): CatIconRegistry;
|
|
12
|
-
|
|
13
|
-
removeIcons(names: string[], setName?: string): CatIconRegistry;
|
|
10
|
+
}, setName?: string, silent?: boolean): CatIconRegistry;
|
|
11
|
+
removeIcons(names: string[], setName?: string, silent?: boolean): CatIconRegistry;
|
|
14
12
|
private buildName;
|
|
15
13
|
private buildEvent;
|
|
16
14
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haiilo/catalyst",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.9",
|
|
4
4
|
"description": "Catalyst Design System",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@floating-ui/dom": "1.0.3",
|
|
48
|
-
"@haiilo/catalyst-tokens": "2.4.
|
|
48
|
+
"@haiilo/catalyst-tokens": "2.4.9",
|
|
49
49
|
"@stencil/core": "2.17.4",
|
|
50
50
|
"autosize": "5.0.1",
|
|
51
51
|
"autosize-input": "1.0.2",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function n(e,n,o){return o={path:n,exports:{},require:function(e,n){return t()}},e(o,o.exports),o.exports}function t(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var o=n((function(n){(function(e,t){if(n.exports){n.exports=t()}else{e.log=t()}})(e,(function(){var e=function(){};var n="undefined";var t=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent);var o=["trace","debug","info","warn","error"];function i(e,n){var t=e[n];if(typeof t.bind==="function"){return t.bind(e)}else{try{return Function.prototype.bind.call(t,e)}catch(n){return function(){return Function.prototype.apply.apply(t,[e,arguments])}}}}function r(){if(console.log){if(console.log.apply){console.log.apply(console,arguments)}else{Function.prototype.apply.apply(console.log,[console,arguments])}}if(console.trace)console.trace()}function s(o){if(o==="debug"){o="log"}if(typeof console===n){return false}else if(o==="trace"&&t){return r}else if(console[o]!==undefined){return i(console,o)}else if(console.log!==undefined){return i(console,"log")}else{return e}}function c(n,t){for(var i=0;i<o.length;i++){var r=o[i];this[r]=i<n?e:this.methodFactory(r,n,t)}this.log=this.debug}function a(e,t,o){return function(){if(typeof console!==n){c.call(this,t,o);this[e].apply(this,arguments)}}}function u(e,n,t){return s(e)||a.apply(this,arguments)}function f(e,t,i){var r=this;var s;t=t==null?"WARN":t;var a="loglevel";if(typeof e==="string"){a+=":"+e}else if(typeof e==="symbol"){a=undefined}function f(e){var t=(o[e]||"silent").toUpperCase();if(typeof window===n||!a)return;try{window.localStorage[a]=t;return}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"="+t+";"}catch(e){}}function d(){var e;if(typeof window===n||!a)return;try{e=window.localStorage[a]}catch(e){}if(typeof e===n){try{var t=window.document.cookie;var o=t.indexOf(encodeURIComponent(a)+"=");if(o!==-1){e=/^([^;]+)/.exec(t.slice(o))[1]}}catch(e){}}if(r.levels[e]===undefined){e=undefined}return e}function l(){if(typeof window===n||!a)return;try{window.localStorage.removeItem(a);return}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}r.name=e;r.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5};r.methodFactory=i||u;r.getLevel=function(){return s};r.setLevel=function(t,o){if(typeof t==="string"&&r.levels[t.toUpperCase()]!==undefined){t=r.levels[t.toUpperCase()]}if(typeof t==="number"&&t>=0&&t<=r.levels.SILENT){s=t;if(o!==false){f(t)}c.call(r,t,e);if(typeof console===n&&t<r.levels.SILENT){return"No console available for logging"}}else{throw"log.setLevel() called with invalid level: "+t}};r.setDefaultLevel=function(e){t=e;if(!d()){r.setLevel(e,false)}};r.resetLevel=function(){r.setLevel(t,false);l()};r.enableAll=function(e){r.setLevel(r.levels.TRACE,e)};r.disableAll=function(e){r.setLevel(r.levels.SILENT,e)};var w=d();if(w==null){w=t}r.setLevel(w,false)}var d=new f;var l={};d.getLogger=function e(n){if(typeof n!=="symbol"&&typeof n!=="string"||n===""){throw new TypeError("You must supply a name when creating a logger.")}var t=l[n];if(!t){t=l[n]=new f(n,d.getLevel(),d.methodFactory)}return t};var w=typeof window!==n?window.log:undefined;d.noConflict=function(){if(typeof window!==n&&window.log===d){window.log=w}return d};d.getLoggers=function e(){return l};d["default"]=d;return d}))}));class i{constructor(){this.i18n=new Map}static getInstance(){if(!i.instance){i.instance=new i}return i.instance}set(e){Object.entries(e).forEach((([e,n])=>this.i18n.set(e,n)));o.info(`[CatI18nRegistry] Registered messages`,e);window.dispatchEvent(this.buildEvent("cat-i18n-set",{messages:e}))}clear(){this.i18n.clear();o.info(`[CatI18nRegistry] Cleared messages`);window.dispatchEvent(this.buildEvent("cat-i18n-clear"))}t(e,n){const t=this.i18n.get(e);if(t===undefined){o.error(`[CatI18nRegistry] Unknown message key: ${e}`);return e}return t.replace(/{{\s*([-a-zA-Z._]+)\s*}}/g,((e,t)=>{var o;return`${(o=n===null||n===void 0?void 0:n[t])!==null&&o!==void 0?o:""}`}))}buildEvent(e,n){return new CustomEvent(e,{bubbles:true,composed:true,detail:n})}}const r=i.getInstance();class s{constructor(){this.icons=new Map;this.id=(Math.random()+1).toString(36).substring(2);console.log("CatIconRegistry created",this.id)}static getInstance(){if(!s.instance){s.instance=new s}console.log("getInstance",s.instance);return s.instance}getIcon(e,n){const t=this.icons.get(this.buildName(e,n));if(!t){o.error(`[CatIconRegistry] Unknown icon${n?` in set ${n}`:""}: ${e}`)}return t}addIcon(e,n,t){this.icons.set(this.buildName(e,t),n);o.info(`[CatIconRegistry] Added icon${t?` to set ${t}`:""}: ${e}`);window.dispatchEvent(this.buildEvent("cat-icon-added",{name:e,setName:t}));return this}addIcons(e,n){console.log("addIcons",n,e);Object.entries(e).forEach((([e,t])=>this.icons.set(this.buildName(e,n),t)));o.info(`[CatIconRegistry] Added icons${n?` to set ${n}`:""}: ${Object.keys(e).concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-added",{names:Object.keys(e),setName:n}));return this}removeIcon(e,n){this.icons.delete(this.buildName(e,n));o.info(`[CatIconRegistry] Removed icon${n?` from set ${n}`:""}: ${e}`);window.dispatchEvent(this.buildEvent("cat-icon-removed",{name:e,setName:n}));return this}removeIcons(e,n){e.forEach((e=>this.icons.delete(this.buildName(e,n))));o.info(`[CatIconRegistry] Removed icons${n?` from set ${n}`:""}: ${e.concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-removed",{names:e,setName:n}));return this}buildName(e,n){return n?`${n}:name`:e}buildEvent(e,n){return new CustomEvent(e,{bubbles:true,composed:true,detail:n})}}const c=s.getInstance();export{i as C,e as a,r as b,n as c,c as d,s as e,o as l};
|
|
2
|
-
//# sourceMappingURL=p-5362e648.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/loglevel/lib/loglevel.js","src/components/cat-i18n/cat-i18n-registry.ts","src/components/cat-icon/cat-icon-registry.ts"],"names":["root","definition","module","exports","log","this","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","clearPersistedLevel","removeItem","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","CatI18nRegistry","[object Object]","i18n","Map","instance","Object","entries","forEach","key","message","set","info","dispatchEvent","buildEvent","messages","clear","params","get","error","replace","_match","_a","detail","CustomEvent","bubbles","composed","catI18nRegistry","getInstance","CatIconRegistry","icons","id","Math","random","toString","substring","setName","icon","buildName","data","keys","concat","names","delete","catIconRegistry"],"mappings":"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","sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private readonly i18n: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n set(i18n: { [key: string]: string }): void {\n Object.entries(i18n).forEach(([key, message]) => this.i18n.set(key, message));\n log.info(`[CatI18nRegistry] Registered messages`, i18n);\n window.dispatchEvent(this.buildEvent('cat-i18n-set', { messages: i18n }));\n }\n\n clear(): void {\n this.i18n.clear();\n log.info(`[CatI18nRegistry] Cleared messages`);\n window.dispatchEvent(this.buildEvent('cat-i18n-clear'));\n }\n\n t(key: string, params?: { [key: string]: string | number }): string {\n const message = this.i18n.get(key);\n if (message === undefined) {\n log.error(`[CatI18nRegistry] Unknown message key: ${key}`);\n return key;\n }\n return message.replace(/{{\\s*([-a-zA-Z._]+)\\s*}}/g, (_match, key) => `${params?.[key] ?? ''}`);\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catI18nRegistry = CatI18nRegistry.getInstance();\n","import log from 'loglevel';\n\nexport class CatIconRegistry {\n private static instance: CatIconRegistry;\n\n private readonly icons: Map<string, string> = new Map();\n\n readonly id: string;\n\n private constructor() {\n this.id = (Math.random() + 1).toString(36).substring(2);\n console.log('CatIconRegistry created', this.id);\n // hide constructor\n }\n\n static getInstance(): CatIconRegistry {\n if (!CatIconRegistry.instance) {\n CatIconRegistry.instance = new CatIconRegistry();\n }\n console.log('getInstance', CatIconRegistry.instance);\n return CatIconRegistry.instance;\n }\n\n getIcon(name: string, setName?: string): string | undefined {\n const icon = this.icons.get(this.buildName(name, setName));\n if (!icon) {\n log.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);\n }\n return icon;\n }\n\n addIcon(name: string, data: string, setName?: string): CatIconRegistry {\n this.icons.set(this.buildName(name, setName), data);\n log.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));\n return this;\n }\n\n addIcons(icons: { [name: string]: string }, setName?: string): CatIconRegistry {\n console.log('addIcons', setName, icons);\n Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));\n log.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));\n return this;\n }\n\n removeIcon(name: string, setName?: string): CatIconRegistry {\n this.icons.delete(this.buildName(name, setName));\n log.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));\n return this;\n }\n\n removeIcons(names: string[], setName?: string): CatIconRegistry {\n names.forEach(name => this.icons.delete(this.buildName(name, setName)));\n log.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));\n return this;\n }\n\n private buildName(name: string, setName?: string) {\n return setName ? `${setName}:name` : name;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n\nexport const catIconRegistry = CatIconRegistry.getInstance();\n"]}
|