Property definitions

html $ BSComponent :: defaultinit
# Bootstrap component abstraction.
#
# Mainly used to factoryze CSS treatments.
# Can be used in the future to handle generic stuff like attributes or escaping.
#
# TODO merge with html::HTMTag without init conflict?
# HTMLTag requires the main init to pass a tagname,
# this was so much verbose here.
abstract class BSComponent
	super Template

	# CSS classes to add on this element.
	var css_classes = new Array[String] is optional

	# Render `self` css clases as a `class` attribute.
	fun render_css_classes: String do
		if css_classes.is_empty then return ""
		return " class=\"{css_classes.join(" ")}\""
	end
end
lib/html/bootstrap.nit:22,1--41,3