in src/components/icon/icon-importer.ts [191:217]
private createIconStyles (iconMappings: Record<string, string>): void {
DomBuilder.getInstance().createPortal('mynah-ui-icons', {
type: 'style',
attributes: {
type: 'text/css'
},
children: [ `
${Object.keys(iconMappings).map(iconKey => {
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
const iconName = MynahIcons[iconKey as keyof typeof MynahIcons] || iconKey;
return `
:root{
--mynah-ui-icon-${iconName}: url(${iconMappings[iconKey]});
}
.mynah-ui-icon-${iconName} {
-webkit-mask-image: var(--mynah-ui-icon-${iconName});
mask-image: var(--mynah-ui-icon-${iconName});
}
.mynah-ui-icon-${iconName}-subtract {
-webkit-mask-image: linear-gradient(#000000, #000000), var(--mynah-ui-icon-${iconName});
mask-image: linear-gradient(#000000, #000000), var(--mynah-ui-icon-${iconName});
mask-composite: subtract;
}`;
}).join('')}
` ]
}, 'beforebegin');
}