Simplify Icon usage, add names
This commit is contained in:
@ -1,18 +1,35 @@
|
||||
|
||||
protocol ContentIcon {
|
||||
|
||||
static var name: String { get }
|
||||
static var id: String { get }
|
||||
|
||||
static var attributes: String { get }
|
||||
|
||||
static var content: String { get }
|
||||
}
|
||||
|
||||
extension ContentIcon {
|
||||
|
||||
var name: String {
|
||||
Self.name
|
||||
var id: String {
|
||||
Self.id
|
||||
}
|
||||
|
||||
var content: String {
|
||||
Self.content
|
||||
}
|
||||
}
|
||||
|
||||
extension ContentIcon {
|
||||
|
||||
static var svgString: String {
|
||||
"<svg id=\(id) \(attributes)>\(content)</svg>"
|
||||
}
|
||||
|
||||
static var usageString: String {
|
||||
"<svg>\(usageContent)</svg>"
|
||||
}
|
||||
|
||||
static var usageContent: String {
|
||||
"<use href='#\(id)'></use>"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user