module Phlex::Table

def self.included(child)

def self.included(child)
	child.extend ClassMethods
	child.alias_method :head, :thead
	child.alias_method :body, :tbody
	child.alias_method :foot, :tfoot
	child.alias_method :row, :tr
	child.alias_method :header, :th
	child.alias_method :cell, :td
	child.alias_method :head_row, :row
	child.alias_method :body_row, :row
	child.alias_method :foot_row, :row
	child.alias_method :head_header, :header
	child.alias_method :foot_header, :header
	child.alias_method :head_cell, :cell
	child.alias_method :body_cell, :cell
	child.alias_method :foot_cell, :cell
end

def body_template

def body_template
yield_items }

def collection_template(&block)

def collection_template(&block)
o
emplate
emplate(&block)
emplate

def foot_template

def foot_template

def head_template

def head_template
.class.properties.any? { |p| p[:header] }
o
row do
.class.properties.each do |property|
e property[:header]
n Proc
stance_exec(&property[:header])
n Symbol
nd(property[:header])

def item_template

def item_template
plate

def properties

def properties
ass.properties

def row_template

def row_template
w do
lass.properties.each do |property|
cell(**property[:attributes]) do
ance_exec(@item, &property[:body])