component StyledIcon { props { size: string = "default" color: string = "primary" title: string = "Styled Icon" description: string = "" items: unknown[] = [] variant: string = "default" icon: string = "icon-[lucide--sparkles]" label: string = "" class: string = "" } view { } style { .wrn-styled-icon { --icon-color:var(--wrn-color-primary-text); display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:var(--wrn-radius-sm); color:var(--icon-color); background:color-mix(in srgb, var(--icon-color) 12%, transparent); } .wrn-styled-icon > span { width:1.25rem; height:1.25rem; } .wrn-styled-icon[data-color="success"] { --icon-color:var(--wrn-color-success-text); } .wrn-styled-icon[data-color="warning"] { --icon-color:var(--wrn-color-warning-text); } .wrn-styled-icon[data-size="sm"] { width:2rem; height:2rem; } .wrn-styled-icon[data-size="lg"] { width:3rem; height:3rem; } .wrn-styled-icon[data-variant="outline"] { border:1px solid currentColor; background:transparent; } .wrn-styled-icon[data-variant="plain"] { background:transparent; } } }