Versions in this module Expand all Collapse all v0 v0.2.0 Aug 1, 2026 v0.1.0 Jun 25, 2026 Changes in this version + var ErrIconNotFound = errors.New("icon not found") + var ErrInvalidIconName = errors.New("invalid icon name") + var ErrInvalidSVG = errors.New("invalid SVG content") + var ErrProviderError = errors.New("provider error") + var ErrProviderNotFound = errors.New("no provider registered for prefix") + func ParseSVG(content string) (string, map[string]string, error) + func ParseSVGFile(path string) (string, map[string]string, error) + func SanitizeContent(content string) string + type ChainProvider struct + func NewChainProvider(providers ...Provider) *ChainProvider + func (c *ChainProvider) All() []string + func (c *ChainProvider) Get(name string) (*Icon, bool) + func (c *ChainProvider) Has(name string) bool + type Config struct + func NewConfig() *Config + func (c *Config) AddDirectory(prefix, dir string) *Config + func (c *Config) AddHybridSet(prefix, dir string) *Config + func (c *Config) AddIconifySet(prefix string) *Config + func (c *Config) AddJsonCollection(prefix, path string) *Config + func (c *Config) AddProvider(prefix string, provider Provider) *Config + func (c *Config) Alias(alias, target string) *Config + func (c *Config) Build() (*IconManager, error) + func (c *Config) DefaultAttributes(attrs map[string]string) *Config + func (c *Config) DefaultPrefix(prefix string) *Config + func (c *Config) DiscoverJsonSets(dir string) *Config + func (c *Config) FallbackIcon(name string) *Config + func (c *Config) FallbackIconForPrefix(prefix, name string) *Config + func (c *Config) IgnoreNotFound() *Config + func (c *Config) PrefixAttributes(prefix string, attrs map[string]string) *Config + func (c *Config) PrefixSuffix(prefix, suffix string, attrs map[string]string) *Config + type DirectoryOption func(*DirectoryProvider) + func WithExtension(ext string) DirectoryOption + func WithRecursive(recursive bool) DirectoryOption + type DirectoryProvider struct + func NewDirectoryProvider(dir string, opts ...DirectoryOption) (*DirectoryProvider, error) + func (p *DirectoryProvider) All() []string + func (p *DirectoryProvider) Get(name string) (*Icon, bool) + func (p *DirectoryProvider) Has(name string) bool + func (p *DirectoryProvider) Preload() + type Icon struct + func FromFile(path string) (*Icon, error) + func FromIconifyData(data IconifyData) (*Icon, error) + func FromString(svg string) (*Icon, error) + func New(content string, attrs map[string]string) *Icon + func (ic *Icon) Attr(attrs map[string]string) *Icon + func (ic *Icon) Attributes() map[string]string + func (ic *Icon) Class(classes ...string) *Icon + func (ic *Icon) Content() string + func (ic *Icon) Fill(fill string) *Icon + func (ic *Icon) Flip(direction string) *Icon + func (ic *Icon) Height(h string) *Icon + func (ic *Icon) IsEmpty() bool + func (ic *Icon) Opacity(o float64) *Icon + func (ic *Icon) Rotate(degrees float64) *Icon + func (ic *Icon) Size(size int) *Icon + func (ic *Icon) String() string + func (ic *Icon) Stroke(stroke string) *Icon + func (ic *Icon) StrokeWidth(w string) *Icon + func (ic *Icon) Title(title string) *Icon + func (ic *Icon) ToHTML() string + func (ic *Icon) ViewBox() (minX, minY, w, h int) + func (ic *Icon) ViewBoxSize() (w, h int) + func (ic *Icon) Width(w string) *Icon + type IconManager struct + func Default(prefix string, provider Provider) *IconManager + func (m *IconManager) All(prefix string) []string + func (m *IconManager) Get(name string, attrs ...map[string]string) (*Icon, error) + func (m *IconManager) Has(name string) bool + func (m *IconManager) Register(prefix string, p Provider) *IconManager + func (m *IconManager) SetAlias(alias, target string) + func (m *IconManager) SetDefaultPrefix(prefix string) + func (m *IconManager) SetFallbackIcon(name string) + func (m *IconManager) SetFallbackIconForPrefix(prefix, name string) + func (m *IconManager) SetIgnoreNotFound(ignore bool) + func (m *IconManager) SetRenderer(r *IconRenderer) + type IconRenderer struct + func NewIconRenderer(defaultAttrs map[string]string, prefixAttrs map[string]map[string]string) *IconRenderer + func (r *IconRenderer) Render(icon *Icon, prefix, iconName string, callerAttrs map[string]string) *Icon + func (r *IconRenderer) SetSuffixAttributes(prefix, suffix string, attrs map[string]string) + type IconifyData struct + Body string + HFlip bool + Height int + Left int + Rotate int + Top int + VFlip bool + Width int + type IconifyOption func(*IconifyProvider) + func WithHTTPClient(client *http.Client) IconifyOption + func WithHosts(hosts []string) IconifyOption + func WithTimeout(d time.Duration) IconifyOption + type IconifyProvider struct + func NewIconifyProvider(prefix string, opts ...IconifyOption) *IconifyProvider + func (p *IconifyProvider) All() []string + func (p *IconifyProvider) Get(name string) (*Icon, bool) + func (p *IconifyProvider) Has(name string) bool + type JsonCollectionProvider struct + func NewJsonCollectionFromBytes(data []byte) *JsonCollectionProvider + func NewJsonCollectionProvider(path string) (*JsonCollectionProvider, error) + func (p *JsonCollectionProvider) All() []string + func (p *JsonCollectionProvider) Get(name string) (*Icon, bool) + func (p *JsonCollectionProvider) Has(name string) bool + type Provider interface + All func() []string + Get func(name string) (*Icon, bool) + Has func(name string) bool + type SpriteCollector struct + func NewSpriteCollector() *SpriteCollector + func (sc *SpriteCollector) Register(id, body, viewBox string) + func (sc *SpriteCollector) Reset() + func (sc *SpriteCollector) SpriteSheet(pageHTML []byte) []byte