import Thorium , { Style , Components , Controller } from "thoriumjs"; import style from '../../../styles/icon.module.css'; type IconType = "background" | "mask"; export interface IconInitOptions{ prop?:Thorium.ElementInterface["prop"]; proto?:Thorium.ElementInterface["proto"]; path?:string; type:IconType; } export class Icon extends Components.Div{ constructor(options:IconInitOptions){ super({ prop : { ...(options.prop ? options.prop : {}), name : 'icon', class : `${style.Icon} ${(options.prop && options.prop.class ? options.prop.class : '')}`, [`icon-${options.type}`] : options.type, ...(options.path ? {style : `--icon-url : url(${options.path})`} : {}) }, proto : { ...(options.proto ? options.proto : {}), } }) } }