Property definitions

html $ Header :: defaultinit
# A `<h1>` to `<h6>` tag.
#
# Not really a Bootstrap component but used in other components
# that it required its own abstraction.
#
# Example:
# ~~~
# var h1 = new Header(1, "Title")
# assert h1.write_to_string == "<h1>Title</h1>"
# ~~~
#
# With subtext:
# ~~~
# var h6 = new Header(6, "Title", "with subtext")
# assert h6.write_to_string == "<h6>Title<small>with subtext</small></h6>"
# ~~~
class Header
	super BSComponent
	autoinit(level, text, subtext, id, css_classes)

	# Header level between 1 and 6.
	var level: Int

	# Displayed text.
	var text: Writable

	# Optional subtext.
	var subtext: nullable Writable = null is optional, writable

	# Optional id.
	var id: nullable String = null is optional, writable

	redef fun rendering do
		add "<h{level}{render_css_classes}>{text.write_to_string}"
		var subtext = self.subtext
		if subtext != null then add "<small>{subtext.write_to_string}</small>"
		add "</h{level}>"
	end
end
lib/html/bootstrap.nit:80,1--118,3