private createIconStyles()

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');
  }