todo-webclient/client/bulma.ls
2019-12-12 02:30:46 +01:00

75 lines
1.6 KiB
Plaintext

h = require 'maquette' .h
module.exports = {
box: (args, children) ->
h \div.box args, children
title: (level, args, label) ->
if not label
label = args
args = {}
h "div.title.is-#{level}", args, [label]
label: (args, label) ->
if not label
label = args
args = {}
h \label.label args, [label]
input: (args, children) ->
h \input.input args, children
textarea: (args, children) ->
h \textarea.textarea args, children
control: (selector, args, children) ->
if typeof(selector) == "object"
children = args
args = selector
selector = ""
h (\div.control + selector), args, children
button: (selector, args, children) ->
if typeof(selector) == "object"
children = args
args = selector
selector = ""
h (\div.button + selector), args, children
tag: (selector, args, children) ->
if typeof(selector) == "object"
children = args
args = selector
selector = ""
h (\div.tag + selector), args, children
select: (selector, args, children) ->
if typeof(selector) == "object"
children = args
args = selector
selector = ""
h (\div.select + selector), {
} [
h \select {
onchange: args.onchange || ->
} children
]
# FIXME: Use only args and add args.label and args.input?
# Or maybe args.name and args.type could be used directly?
field: (selector, args, children) ->
if typeof(selector) == "object"
children = args
args = selector
selector = ""
h (\div.field + selector), args, children
form: (method, url, content) ->
h \form.form {
action: url
method: method
}, content
}