From 7d180b76447c1050f621f363f85c1657b54fbc09 Mon Sep 17 00:00:00 2001 From: Gary Burgess Date: Sun, 7 Feb 2016 13:46:59 +0000 Subject: [PATCH] Initial implementations for HTML elements --- src/DOM/HTML/HTMLAnchorElement.js | 122 +++ src/DOM/HTML/HTMLAnchorElement.purs | 32 + src/DOM/HTML/HTMLAreaElement.js | 138 +++ src/DOM/HTML/HTMLAreaElement.purs | 35 + src/DOM/HTML/HTMLBaseElement.js | 34 + src/DOM/HTML/HTMLBaseElement.purs | 14 + src/DOM/HTML/HTMLButtonElement.js | 220 +++++ src/DOM/HTML/HTMLButtonElement.purs | 55 ++ src/DOM/HTML/HTMLCanvasElement.js | 34 + src/DOM/HTML/HTMLCanvasElement.purs | 22 + src/DOM/HTML/HTMLDataElement.js | 18 + src/DOM/HTML/HTMLDataElement.purs | 11 + src/DOM/HTML/HTMLDataListElement.js | 10 + src/DOM/HTML/HTMLDataListElement.purs | 9 + src/DOM/HTML/HTMLEmbedElement.js | 66 ++ src/DOM/HTML/HTMLEmbedElement.purs | 20 + src/DOM/HTML/HTMLFieldSetElement.js | 100 ++ src/DOM/HTML/HTMLFieldSetElement.purs | 34 + src/DOM/HTML/HTMLFormElement.js | 178 ++++ src/DOM/HTML/HTMLFormElement.purs | 46 + src/DOM/HTML/HTMLIFrameElement.js | 90 ++ src/DOM/HTML/HTMLIFrameElement.purs | 32 + src/DOM/HTML/HTMLImageElement.js | 152 +++ src/DOM/HTML/HTMLImageElement.purs | 36 + src/DOM/HTML/HTMLInputElement.js | 790 ++++++++++++++++ src/DOM/HTML/HTMLInputElement.purs | 160 ++++ src/DOM/HTML/HTMLKeygenElement.js | 148 +++ src/DOM/HTML/HTMLKeygenElement.purs | 42 + src/DOM/HTML/HTMLLIElement.js | 18 + src/DOM/HTML/HTMLLIElement.purs | 11 + src/DOM/HTML/HTMLLabelElement.js | 34 + src/DOM/HTML/HTMLLabelElement.purs | 17 + src/DOM/HTML/HTMLLegendElement.js | 10 + src/DOM/HTML/HTMLLegendElement.purs | 9 + src/DOM/HTML/HTMLLinkElement.js | 138 +++ src/DOM/HTML/HTMLLinkElement.purs | 39 + src/DOM/HTML/HTMLMapElement.js | 34 + src/DOM/HTML/HTMLMapElement.purs | 16 + src/DOM/HTML/HTMLMediaElement.js | 309 ++++++ src/DOM/HTML/HTMLMediaElement.purs | 98 ++ .../HTML/HTMLMediaElement/CanPlayType.purs | 34 + .../HTML/HTMLMediaElement/NetworkState.purs | 53 ++ src/DOM/HTML/HTMLMediaElement/ReadyState.purs | 58 ++ src/DOM/HTML/HTMLMetaElement.js | 50 + src/DOM/HTML/HTMLMetaElement.purs | 17 + src/DOM/HTML/HTMLMeterElement.js | 106 +++ src/DOM/HTML/HTMLMeterElement.purs | 29 + src/DOM/HTML/HTMLModElement.js | 34 + src/DOM/HTML/HTMLModElement.purs | 14 + src/DOM/HTML/HTMLOListElement.js | 50 + src/DOM/HTML/HTMLOListElement.purs | 17 + src/DOM/HTML/HTMLObjectElement.js | 164 ++++ src/DOM/HTML/HTMLObjectElement.purs | 49 + src/DOM/HTML/HTMLOptGroupElement.js | 34 + src/DOM/HTML/HTMLOptGroupElement.purs | 14 + src/DOM/HTML/HTMLOptionElement.js | 114 +++ src/DOM/HTML/HTMLOptionElement.purs | 34 + src/DOM/HTML/HTMLOutputElement.js | 116 +++ src/DOM/HTML/HTMLOutputElement.purs | 38 + src/DOM/HTML/HTMLParamElement.js | 34 + src/DOM/HTML/HTMLParamElement.purs | 14 + src/DOM/HTML/HTMLProgressElement.js | 50 + src/DOM/HTML/HTMLProgressElement.purs | 19 + src/DOM/HTML/HTMLQuoteElement.js | 18 + src/DOM/HTML/HTMLQuoteElement.purs | 11 + src/DOM/HTML/HTMLScriptElement.js | 114 +++ src/DOM/HTML/HTMLScriptElement.purs | 29 + src/DOM/HTML/HTMLSelectElement.js | 220 +++++ src/DOM/HTML/HTMLSelectElement.purs | 65 ++ src/DOM/HTML/HTMLSourceElement.js | 50 + src/DOM/HTML/HTMLSourceElement.purs | 20 + src/DOM/HTML/HTMLStyleElement.js | 50 + src/DOM/HTML/HTMLStyleElement.purs | 17 + src/DOM/HTML/HTMLTableCellElement.js | 42 + src/DOM/HTML/HTMLTableCellElement.purs | 19 + src/DOM/HTML/HTMLTableColElement.js | 18 + src/DOM/HTML/HTMLTableColElement.purs | 11 + src/DOM/HTML/HTMLTableElement.js | 158 ++++ src/DOM/HTML/HTMLTableElement.purs | 44 + src/DOM/HTML/HTMLTableHeaderCellElement.js | 34 + src/DOM/HTML/HTMLTableHeaderCellElement.purs | 14 + src/DOM/HTML/HTMLTableRowElement.js | 54 ++ src/DOM/HTML/HTMLTableRowElement.purs | 22 + src/DOM/HTML/HTMLTableSectionElement.js | 30 + src/DOM/HTML/HTMLTableSectionElement.purs | 18 + src/DOM/HTML/HTMLTemplateElement.js | 10 + src/DOM/HTML/HTMLTemplateElement.purs | 9 + src/DOM/HTML/HTMLTextAreaElement.js | 410 ++++++++ src/DOM/HTML/HTMLTextAreaElement.purs | 91 ++ src/DOM/HTML/HTMLTimeElement.js | 18 + src/DOM/HTML/HTMLTimeElement.purs | 11 + src/DOM/HTML/HTMLTitleElement.js | 18 + src/DOM/HTML/HTMLTitleElement.purs | 11 + src/DOM/HTML/HTMLTrackElement.js | 90 ++ src/DOM/HTML/HTMLTrackElement.purs | 34 + src/DOM/HTML/HTMLTrackElement/ReadyState.purs | 53 ++ src/DOM/HTML/HTMLVideoElement.js | 68 ++ src/DOM/HTML/HTMLVideoElement.purs | 20 + src/DOM/HTML/Location.js | 22 + src/DOM/HTML/SelectionMode.purs | 36 + src/DOM/HTML/Types.purs | 893 +++++++++++++++++- src/DOM/Node/NodeType.purs | 2 +- src/DOM/Node/ParentNode.purs | 4 +- src/DOM/Node/Types.purs | 1 + 104 files changed, 7371 insertions(+), 11 deletions(-) create mode 100644 src/DOM/HTML/HTMLAnchorElement.js create mode 100644 src/DOM/HTML/HTMLAnchorElement.purs create mode 100644 src/DOM/HTML/HTMLAreaElement.js create mode 100644 src/DOM/HTML/HTMLAreaElement.purs create mode 100644 src/DOM/HTML/HTMLBaseElement.js create mode 100644 src/DOM/HTML/HTMLBaseElement.purs create mode 100644 src/DOM/HTML/HTMLButtonElement.js create mode 100644 src/DOM/HTML/HTMLButtonElement.purs create mode 100644 src/DOM/HTML/HTMLCanvasElement.js create mode 100644 src/DOM/HTML/HTMLCanvasElement.purs create mode 100644 src/DOM/HTML/HTMLDataElement.js create mode 100644 src/DOM/HTML/HTMLDataElement.purs create mode 100644 src/DOM/HTML/HTMLDataListElement.js create mode 100644 src/DOM/HTML/HTMLDataListElement.purs create mode 100644 src/DOM/HTML/HTMLEmbedElement.js create mode 100644 src/DOM/HTML/HTMLEmbedElement.purs create mode 100644 src/DOM/HTML/HTMLFieldSetElement.js create mode 100644 src/DOM/HTML/HTMLFieldSetElement.purs create mode 100644 src/DOM/HTML/HTMLFormElement.js create mode 100644 src/DOM/HTML/HTMLFormElement.purs create mode 100644 src/DOM/HTML/HTMLIFrameElement.js create mode 100644 src/DOM/HTML/HTMLIFrameElement.purs create mode 100644 src/DOM/HTML/HTMLImageElement.js create mode 100644 src/DOM/HTML/HTMLImageElement.purs create mode 100644 src/DOM/HTML/HTMLInputElement.js create mode 100644 src/DOM/HTML/HTMLInputElement.purs create mode 100644 src/DOM/HTML/HTMLKeygenElement.js create mode 100644 src/DOM/HTML/HTMLKeygenElement.purs create mode 100644 src/DOM/HTML/HTMLLIElement.js create mode 100644 src/DOM/HTML/HTMLLIElement.purs create mode 100644 src/DOM/HTML/HTMLLabelElement.js create mode 100644 src/DOM/HTML/HTMLLabelElement.purs create mode 100644 src/DOM/HTML/HTMLLegendElement.js create mode 100644 src/DOM/HTML/HTMLLegendElement.purs create mode 100644 src/DOM/HTML/HTMLLinkElement.js create mode 100644 src/DOM/HTML/HTMLLinkElement.purs create mode 100644 src/DOM/HTML/HTMLMapElement.js create mode 100644 src/DOM/HTML/HTMLMapElement.purs create mode 100644 src/DOM/HTML/HTMLMediaElement.js create mode 100644 src/DOM/HTML/HTMLMediaElement.purs create mode 100644 src/DOM/HTML/HTMLMediaElement/CanPlayType.purs create mode 100644 src/DOM/HTML/HTMLMediaElement/NetworkState.purs create mode 100644 src/DOM/HTML/HTMLMediaElement/ReadyState.purs create mode 100644 src/DOM/HTML/HTMLMetaElement.js create mode 100644 src/DOM/HTML/HTMLMetaElement.purs create mode 100644 src/DOM/HTML/HTMLMeterElement.js create mode 100644 src/DOM/HTML/HTMLMeterElement.purs create mode 100644 src/DOM/HTML/HTMLModElement.js create mode 100644 src/DOM/HTML/HTMLModElement.purs create mode 100644 src/DOM/HTML/HTMLOListElement.js create mode 100644 src/DOM/HTML/HTMLOListElement.purs create mode 100644 src/DOM/HTML/HTMLObjectElement.js create mode 100644 src/DOM/HTML/HTMLObjectElement.purs create mode 100644 src/DOM/HTML/HTMLOptGroupElement.js create mode 100644 src/DOM/HTML/HTMLOptGroupElement.purs create mode 100644 src/DOM/HTML/HTMLOptionElement.js create mode 100644 src/DOM/HTML/HTMLOptionElement.purs create mode 100644 src/DOM/HTML/HTMLOutputElement.js create mode 100644 src/DOM/HTML/HTMLOutputElement.purs create mode 100644 src/DOM/HTML/HTMLParamElement.js create mode 100644 src/DOM/HTML/HTMLParamElement.purs create mode 100644 src/DOM/HTML/HTMLProgressElement.js create mode 100644 src/DOM/HTML/HTMLProgressElement.purs create mode 100644 src/DOM/HTML/HTMLQuoteElement.js create mode 100644 src/DOM/HTML/HTMLQuoteElement.purs create mode 100644 src/DOM/HTML/HTMLScriptElement.js create mode 100644 src/DOM/HTML/HTMLScriptElement.purs create mode 100644 src/DOM/HTML/HTMLSelectElement.js create mode 100644 src/DOM/HTML/HTMLSelectElement.purs create mode 100644 src/DOM/HTML/HTMLSourceElement.js create mode 100644 src/DOM/HTML/HTMLSourceElement.purs create mode 100644 src/DOM/HTML/HTMLStyleElement.js create mode 100644 src/DOM/HTML/HTMLStyleElement.purs create mode 100644 src/DOM/HTML/HTMLTableCellElement.js create mode 100644 src/DOM/HTML/HTMLTableCellElement.purs create mode 100644 src/DOM/HTML/HTMLTableColElement.js create mode 100644 src/DOM/HTML/HTMLTableColElement.purs create mode 100644 src/DOM/HTML/HTMLTableElement.js create mode 100644 src/DOM/HTML/HTMLTableElement.purs create mode 100644 src/DOM/HTML/HTMLTableHeaderCellElement.js create mode 100644 src/DOM/HTML/HTMLTableHeaderCellElement.purs create mode 100644 src/DOM/HTML/HTMLTableRowElement.js create mode 100644 src/DOM/HTML/HTMLTableRowElement.purs create mode 100644 src/DOM/HTML/HTMLTableSectionElement.js create mode 100644 src/DOM/HTML/HTMLTableSectionElement.purs create mode 100644 src/DOM/HTML/HTMLTemplateElement.js create mode 100644 src/DOM/HTML/HTMLTemplateElement.purs create mode 100644 src/DOM/HTML/HTMLTextAreaElement.js create mode 100644 src/DOM/HTML/HTMLTextAreaElement.purs create mode 100644 src/DOM/HTML/HTMLTimeElement.js create mode 100644 src/DOM/HTML/HTMLTimeElement.purs create mode 100644 src/DOM/HTML/HTMLTitleElement.js create mode 100644 src/DOM/HTML/HTMLTitleElement.purs create mode 100644 src/DOM/HTML/HTMLTrackElement.js create mode 100644 src/DOM/HTML/HTMLTrackElement.purs create mode 100644 src/DOM/HTML/HTMLTrackElement/ReadyState.purs create mode 100644 src/DOM/HTML/HTMLVideoElement.js create mode 100644 src/DOM/HTML/HTMLVideoElement.purs create mode 100644 src/DOM/HTML/SelectionMode.purs diff --git a/src/DOM/HTML/HTMLAnchorElement.js b/src/DOM/HTML/HTMLAnchorElement.js new file mode 100644 index 0000000..a32f9ec --- /dev/null +++ b/src/DOM/HTML/HTMLAnchorElement.js @@ -0,0 +1,122 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLAnchorElement + +exports.target = function (a) { + return function () { + return a.target; + }; +}; + +exports.setTarget = function (target) { + return function (a) { + return function () { + a.target = target; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.download = function (a) { + return function () { + return a.download; + }; +}; + +exports.setDownload = function (download) { + return function (a) { + return function () { + a.download = download; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rel = function (a) { + return function () { + return a.rel; + }; +}; + +exports.setRel = function (rel) { + return function (a) { + return function () { + a.rel = rel; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rev = function (a) { + return function () { + return a.rev; + }; +}; + +exports.setRev = function (rev) { + return function (a) { + return function () { + a.rev = rev; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.relList = function (a) { + return function () { + return a.relList; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.hreflang = function (a) { + return function () { + return a.hreflang; + }; +}; + +exports.setHreflang = function (hreflang) { + return function (a) { + return function () { + a.hreflang = hreflang; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (a) { + return function () { + return a.type; + }; +}; + +exports.setType = function (type) { + return function (a) { + return function () { + a.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.text = function (a) { + return function () { + return a.text; + }; +}; + +exports.setText = function (text) { + return function (a) { + return function () { + a.text = text; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLAnchorElement.purs b/src/DOM/HTML/HTMLAnchorElement.purs new file mode 100644 index 0000000..bfce7ab --- /dev/null +++ b/src/DOM/HTML/HTMLAnchorElement.purs @@ -0,0 +1,32 @@ +module DOM.HTML.HTMLAnchorElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLAnchorElement()) +import DOM.Node.Types (DOMTokenList()) + +foreign import target :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setTarget :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import download :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setDownload :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import rel :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setRel :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import rev :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setRev :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import relList :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) DOMTokenList + +foreign import hreflang :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setHreflang :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit + +foreign import text :: forall eff. HTMLAnchorElement -> Eff (dom :: DOM | eff) String +foreign import setText :: forall eff. String -> HTMLAnchorElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLAreaElement.js b/src/DOM/HTML/HTMLAreaElement.js new file mode 100644 index 0000000..a4afc40 --- /dev/null +++ b/src/DOM/HTML/HTMLAreaElement.js @@ -0,0 +1,138 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLAreaElement + +exports.alt = function (area) { + return function () { + return area.alt; + }; +}; + +exports.setAlt = function (alt) { + return function (area) { + return function () { + area.alt = alt; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.coords = function (area) { + return function () { + return area.coords; + }; +}; + +exports.setCoords = function (coords) { + return function (area) { + return function () { + area.coords = coords; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.shape = function (area) { + return function () { + return area.shape; + }; +}; + +exports.setShape = function (shape) { + return function (area) { + return function () { + area.shape = shape; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.target = function (area) { + return function () { + return area.target; + }; +}; + +exports.setTarget = function (target) { + return function (area) { + return function () { + area.target = target; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.download = function (area) { + return function () { + return area.download; + }; +}; + +exports.setDownload = function (download) { + return function (area) { + return function () { + area.download = download; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rel = function (area) { + return function () { + return area.rel; + }; +}; + +exports.setRel = function (rel) { + return function (area) { + return function () { + area.rel = rel; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.relList = function (area) { + return function () { + return area.relList; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.hreflang = function (area) { + return function () { + return area.hreflang; + }; +}; + +exports.setHreflang = function (hreflang) { + return function (area) { + return function () { + area.hreflang = hreflang; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (area) { + return function () { + return area.type; + }; +}; + +exports.setType = function (type) { + return function (area) { + return function () { + area.type = type; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLAreaElement.purs b/src/DOM/HTML/HTMLAreaElement.purs new file mode 100644 index 0000000..cd39488 --- /dev/null +++ b/src/DOM/HTML/HTMLAreaElement.purs @@ -0,0 +1,35 @@ +module DOM.HTML.HTMLAreaElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLAreaElement()) +import DOM.Node.Types (DOMTokenList()) + +foreign import alt :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setAlt :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import coords :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setCoords :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import shape :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setShape :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import target :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setTarget :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import download :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setDownload :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import rel :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setRel :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import relList :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) DOMTokenList + +foreign import hreflang :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setHreflang :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLAreaElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLAreaElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLBaseElement.js b/src/DOM/HTML/HTMLBaseElement.js new file mode 100644 index 0000000..2c67ae9 --- /dev/null +++ b/src/DOM/HTML/HTMLBaseElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLBaseElement + +exports.href = function (base) { + return function () { + return base.href; + }; +}; + +exports.setHref = function (href) { + return function (base) { + return function () { + base.href = href; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.target = function (base) { + return function () { + return base.target; + }; +}; + +exports.setTarget = function (target) { + return function (base) { + return function () { + base.target = target; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLBaseElement.purs b/src/DOM/HTML/HTMLBaseElement.purs new file mode 100644 index 0000000..4eb4a8f --- /dev/null +++ b/src/DOM/HTML/HTMLBaseElement.purs @@ -0,0 +1,14 @@ +module DOM.HTML.HTMLBaseElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLBaseElement()) + +foreign import href :: forall eff. HTMLBaseElement -> Eff (dom :: DOM | eff) String +foreign import setHref :: forall eff. String -> HTMLBaseElement -> Eff (dom :: DOM | eff) Unit + +foreign import target :: forall eff. HTMLBaseElement -> Eff (dom :: DOM | eff) String +foreign import setTarget :: forall eff. String -> HTMLBaseElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLButtonElement.js b/src/DOM/HTML/HTMLButtonElement.js new file mode 100644 index 0000000..c910ddf --- /dev/null +++ b/src/DOM/HTML/HTMLButtonElement.js @@ -0,0 +1,220 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLButtonElement + +exports.autofocus = function (button) { + return function () { + return button.autofocus; + }; +}; + +exports.setAutofocus = function (autofocus) { + return function (button) { + return function () { + button.autofocus = autofocus; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.disabled = function (button) { + return function () { + return button.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (button) { + return function () { + button.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (button) { + return function () { + return button.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formAction = function (button) { + return function () { + return button.formAction; + }; +}; + +exports.setFormAction = function (formAction) { + return function (button) { + return function () { + button.formAction = formAction; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formEnctype = function (button) { + return function () { + return button.formEnctype; + }; +}; + +exports.setFormEnctype = function (formEnctype) { + return function (button) { + return function () { + button.formEnctype = formEnctype; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formMethod = function (button) { + return function () { + return button.formMethod; + }; +}; + +exports.setFormMethod = function (formMethod) { + return function (button) { + return function () { + button.formMethod = formMethod; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formNoValidate = function (button) { + return function () { + return button.formNoValidate; + }; +}; + +exports.setFormNoValidate = function (formNoValidate) { + return function (button) { + return function () { + button.formNoValidate = formNoValidate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formTarget = function (button) { + return function () { + return button.formTarget; + }; +}; + +exports.setFormTarget = function (formTarget) { + return function (button) { + return function () { + button.formTarget = formTarget; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (button) { + return function () { + return button.name; + }; +}; + +exports.setName = function (name) { + return function (button) { + return function () { + button.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (button) { + return function () { + return button.type; + }; +}; + +exports.setType = function (type) { + return function (button) { + return function () { + button.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (button) { + return function () { + return button.value; + }; +}; + +exports.setValue = function (value) { + return function (button) { + return function () { + button.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (button) { + return function () { + return button.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (button) { + return function () { + return button.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (button) { + return function () { + return button.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (button) { + return function () { + return button.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (button) { + return function () { + button.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (button) { + return function () { + return button.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLButtonElement.purs b/src/DOM/HTML/HTMLButtonElement.purs new file mode 100644 index 0000000..71c0aed --- /dev/null +++ b/src/DOM/HTML/HTMLButtonElement.purs @@ -0,0 +1,55 @@ +module DOM.HTML.HTMLButtonElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.Node.Types (NodeList()) +import DOM.HTML.Types (HTMLButtonElement(), HTMLFormElement(), ValidityState()) + +foreign import autofocus :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutofocus :: forall eff. Boolean -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import disabled :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import formAction :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setFormAction :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import formEnctype :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setFormEnctype :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import formMethod :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setFormMethod :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import formNoValidate :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) Boolean +foreign import setFormNoValidate :: forall eff. Boolean -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import formTarget :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setFormTarget :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import willValidate :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLButtonElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLButtonElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLCanvasElement.js b/src/DOM/HTML/HTMLCanvasElement.js new file mode 100644 index 0000000..00e7d45 --- /dev/null +++ b/src/DOM/HTML/HTMLCanvasElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLCanvasElement + +exports.width = function (canvas) { + return function () { + return canvas.width; + }; +}; + +exports.setWidth = function (width) { + return function (canvas) { + return function () { + canvas.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (canvas) { + return function () { + return canvas.height; + }; +}; + +exports.setHeight = function (height) { + return function (canvas) { + return function () { + canvas.height = height; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLCanvasElement.purs b/src/DOM/HTML/HTMLCanvasElement.purs new file mode 100644 index 0000000..5e6e8ce --- /dev/null +++ b/src/DOM/HTML/HTMLCanvasElement.purs @@ -0,0 +1,22 @@ +module DOM.HTML.HTMLCanvasElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLCanvasElement()) + +-- typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext; + +foreign import width :: forall eff. HTMLCanvasElement -> Eff (dom :: DOM | eff) Int +foreign import setWidth :: forall eff. Int -> HTMLCanvasElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLCanvasElement -> Eff (dom :: DOM | eff) Int +foreign import setHeight :: forall eff. Int -> HTMLCanvasElement -> Eff (dom :: DOM | eff) Unit + +-- RenderingContext? getContext(DOMString contextId, any... arguments); + +-- DOMString toDataURL(optional DOMString type, any... arguments); +-- void toBlob(FileCallback? _callback, optional DOMString type, any... arguments); +-- }; diff --git a/src/DOM/HTML/HTMLDataElement.js b/src/DOM/HTML/HTMLDataElement.js new file mode 100644 index 0000000..430e428 --- /dev/null +++ b/src/DOM/HTML/HTMLDataElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLDataElement + +exports.value = function (data) { + return function () { + return data.value; + }; +}; + +exports.setValue = function (value) { + return function (data) { + return function () { + data.value = value; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLDataElement.purs b/src/DOM/HTML/HTMLDataElement.purs new file mode 100644 index 0000000..5ad21a7 --- /dev/null +++ b/src/DOM/HTML/HTMLDataElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLDataElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLDataElement()) + +foreign import value :: forall eff. HTMLDataElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLDataElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLDataListElement.js b/src/DOM/HTML/HTMLDataListElement.js new file mode 100644 index 0000000..a1f2eab --- /dev/null +++ b/src/DOM/HTML/HTMLDataListElement.js @@ -0,0 +1,10 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLDataListElement + +exports.options = function (dle) { + return function () { + return dle.options; + }; +}; diff --git a/src/DOM/HTML/HTMLDataListElement.purs b/src/DOM/HTML/HTMLDataListElement.purs new file mode 100644 index 0000000..aaae10a --- /dev/null +++ b/src/DOM/HTML/HTMLDataListElement.purs @@ -0,0 +1,9 @@ +module DOM.HTML.HTMLDataListElement where + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLDataListElement()) +import DOM.Node.Types (HTMLCollection()) + +foreign import options :: forall eff. HTMLDataListElement -> Eff (dom :: DOM | eff) HTMLCollection diff --git a/src/DOM/HTML/HTMLEmbedElement.js b/src/DOM/HTML/HTMLEmbedElement.js new file mode 100644 index 0000000..2e26b21 --- /dev/null +++ b/src/DOM/HTML/HTMLEmbedElement.js @@ -0,0 +1,66 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLEmbedElement + +exports.src = function (embed) { + return function () { + return embed.src; + }; +}; + +exports.setSrc = function (src) { + return function (embed) { + return function () { + embed.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (embed) { + return function () { + return embed.type; + }; +}; + +exports.setType = function (type) { + return function (embed) { + return function () { + embed.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.width = function (embed) { + return function () { + return embed.width; + }; +}; + +exports.setWidth = function (width) { + return function (embed) { + return function () { + embed.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (embed) { + return function () { + return embed.height; + }; +}; + +exports.setHeight = function (height) { + return function (embed) { + return function () { + embed.height = height; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLEmbedElement.purs b/src/DOM/HTML/HTMLEmbedElement.purs new file mode 100644 index 0000000..433a8af --- /dev/null +++ b/src/DOM/HTML/HTMLEmbedElement.purs @@ -0,0 +1,20 @@ +module DOM.HTML.HTMLEmbedElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLEmbedElement()) + +foreign import src :: forall eff. HTMLEmbedElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLEmbedElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLEmbedElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLEmbedElement -> Eff (dom :: DOM | eff) Unit + +foreign import width :: forall eff. HTMLEmbedElement -> Eff (dom :: DOM | eff) String +foreign import setWidth :: forall eff. String -> HTMLEmbedElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLEmbedElement -> Eff (dom :: DOM | eff) String +foreign import setHeight :: forall eff. String -> HTMLEmbedElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLFieldSetElement.js b/src/DOM/HTML/HTMLFieldSetElement.js new file mode 100644 index 0000000..3306f2d --- /dev/null +++ b/src/DOM/HTML/HTMLFieldSetElement.js @@ -0,0 +1,100 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLFieldSetElement + +exports.disabled = function (fieldset) { + return function () { + return fieldset.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (fieldset) { + return function () { + fieldset.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (fieldset) { + return function () { + return fieldset.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (fieldset) { + return function () { + return fieldset.name; + }; +}; + +exports.setName = function (name) { + return function (fieldset) { + return function () { + fieldset.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (fieldset) { + return function () { + return fieldset.type; + }; +}; + +exports.setType = function (type) { + return function (fieldset) { + return function () { + fieldset.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (fieldset) { + return function () { + return fieldset.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (fieldset) { + return function () { + return fieldset.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (fieldset) { + return function () { + return fieldset.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (fieldset) { + return function () { + return fieldset.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (fieldset) { + return function () { + fieldset.setCustomValidity(value); + }; + }; +}; diff --git a/src/DOM/HTML/HTMLFieldSetElement.purs b/src/DOM/HTML/HTMLFieldSetElement.purs new file mode 100644 index 0000000..6913354 --- /dev/null +++ b/src/DOM/HTML/HTMLFieldSetElement.purs @@ -0,0 +1,34 @@ +module DOM.HTML.HTMLFieldSetElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLFieldSetElement(), HTMLFormElement(), ValidityState()) + +foreign import disabled :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLFieldSetElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import name :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLFieldSetElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLFieldSetElement -> Eff (dom :: DOM | eff) Unit + +-- readonly attribute HTMLFormControlsCollection elements; + +foreign import willValidate :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLFieldSetElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLFieldSetElement -> Eff (dom :: DOM | eff) Unit + diff --git a/src/DOM/HTML/HTMLFormElement.js b/src/DOM/HTML/HTMLFormElement.js new file mode 100644 index 0000000..75a4cb2 --- /dev/null +++ b/src/DOM/HTML/HTMLFormElement.js @@ -0,0 +1,178 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLFormElement + +exports.acceptCharset = function (form) { + return function () { + return form.acceptCharset; + }; +}; + +exports.setAcceptCharset = function (acceptCharset) { + return function (form) { + return function () { + form.acceptCharset = acceptCharset; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.action = function (form) { + return function () { + return form.action; + }; +}; + +exports.setAction = function (action) { + return function (form) { + return function () { + form.action = action; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.autocomplete = function (form) { + return function () { + return form.autocomplete; + }; +}; + +exports.setAutocomplete = function (autocomplete) { + return function (form) { + return function () { + form.autocomplete = autocomplete; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.enctype = function (form) { + return function () { + return form.enctype; + }; +}; + +exports.setEnctype = function (enctype) { + return function (form) { + return function () { + form.enctype = enctype; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.encoding = function (form) { + return function () { + return form.encoding; + }; +}; + +exports.setEncoding = function (encoding) { + return function (form) { + return function () { + form.encoding = encoding; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.method = function (form) { + return function () { + return form.method; + }; +}; + +exports.setMethod = function (method) { + return function (form) { + return function () { + form.method = method; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (form) { + return function () { + return form.name; + }; +}; + +exports.setName = function (name) { + return function (form) { + return function () { + form.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.noValidate = function (form) { + return function () { + return form.noValidate; + }; +}; + +exports.setNoValidate = function (noValidate) { + return function (form) { + return function () { + form.noValidate = noValidate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.target = function (form) { + return function () { + return form.target; + }; +}; + +exports.setTarget = function (target) { + return function (form) { + return function () { + form.target = target; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.length = function (form) { + return function () { + return form.length; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.submit = function (form) { + return function () { + form.submit(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.reset = function (form) { + return function () { + form.reset(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (form) { + return function () { + return form.checkValidity(); + }; +}; diff --git a/src/DOM/HTML/HTMLFormElement.purs b/src/DOM/HTML/HTMLFormElement.purs new file mode 100644 index 0000000..c59d107 --- /dev/null +++ b/src/DOM/HTML/HTMLFormElement.purs @@ -0,0 +1,46 @@ +module DOM.HTML.HTMLFormElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLFormElement()) + +foreign import acceptCharset :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setAcceptCharset :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import action :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setAction :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import autocomplete :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setAutocomplete :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import enctype :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setEnctype :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import encoding :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setEncoding :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import method :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setMethod :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import noValidate :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) Boolean +foreign import setNoValidate :: forall eff. Boolean -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +foreign import target :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) String +foreign import setTarget :: forall eff. String -> HTMLFormElement -> Eff (dom :: DOM | eff) Unit + +-- readonly attribute HTMLFormControlsCollection elements; + +foreign import length :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) Int + +-- getter Element (unsigned long index); +-- getter (RadioNodeList or Element) (DOMString name); + +foreign import submit :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) Unit +foreign import reset :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) Unit +foreign import checkValidity :: forall eff. HTMLFormElement -> Eff (dom :: DOM | eff) Boolean diff --git a/src/DOM/HTML/HTMLIFrameElement.js b/src/DOM/HTML/HTMLIFrameElement.js new file mode 100644 index 0000000..faee712 --- /dev/null +++ b/src/DOM/HTML/HTMLIFrameElement.js @@ -0,0 +1,90 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLIFrameElement + +exports.src = function (iframe) { + return function () { + return iframe.src; + }; +}; + +exports.setSrc = function (src) { + return function (iframe) { + return function () { + iframe.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.srcdoc = function (iframe) { + return function () { + return iframe.srcdoc; + }; +}; + +exports.setSrcdoc = function (srcdoc) { + return function (iframe) { + return function () { + iframe.srcdoc = srcdoc; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (iframe) { + return function () { + return iframe.name; + }; +}; + +exports.setName = function (name) { + return function (iframe) { + return function () { + iframe.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.width = function (iframe) { + return function () { + return iframe.width; + }; +}; + +exports.setWidth = function (width) { + return function (iframe) { + return function () { + iframe.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (iframe) { + return function () { + return iframe.height; + }; +}; + +exports.setHeight = function (height) { + return function (iframe) { + return function () { + iframe.height = height; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.contentDocument = function (iframe) { + return function () { + return iframe.contentDocument; + }; +}; diff --git a/src/DOM/HTML/HTMLIFrameElement.purs b/src/DOM/HTML/HTMLIFrameElement.purs new file mode 100644 index 0000000..ee33e77 --- /dev/null +++ b/src/DOM/HTML/HTMLIFrameElement.purs @@ -0,0 +1,32 @@ +module DOM.HTML.HTMLIFrameElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLIFrameElement()) +import DOM.Node.Types (Document()) + +foreign import src :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLIFrameElement -> Eff (dom :: DOM | eff) Unit + +foreign import srcdoc :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) String +foreign import setSrcdoc :: forall eff. String -> HTMLIFrameElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLIFrameElement -> Eff (dom :: DOM | eff) Unit + +-- [PutForwards=value] readonly attribute DOMSettableTokenList sandbox; + +foreign import width :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) String +foreign import setWidth :: forall eff. String -> HTMLIFrameElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) String +foreign import setHeight :: forall eff. String -> HTMLIFrameElement -> Eff (dom :: DOM | eff) Unit + +foreign import contentDocument :: forall eff. HTMLIFrameElement -> Eff (dom :: DOM | eff) (Nullable Document) + +-- readonly attribute WindowProxy? contentWindow; diff --git a/src/DOM/HTML/HTMLImageElement.js b/src/DOM/HTML/HTMLImageElement.js new file mode 100644 index 0000000..bdc0335 --- /dev/null +++ b/src/DOM/HTML/HTMLImageElement.js @@ -0,0 +1,152 @@ +/* global exports, Image */ +"use strict"; + +// module DOM.HTML.HTMLImageElement + +exports.create = function () { + return function () { + return new Image(); + }; +}; + +exports["create'"] = function (width) { + return function (height) { + return function () { + return new Image(width, height); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.alt = function (image) { + return function () { + return image.alt; + }; +}; + +exports.setAlt = function (alt) { + return function (image) { + return function () { + image.alt = alt; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.src = function (image) { + return function () { + return image.src; + }; +}; + +exports.setSrc = function (src) { + return function (image) { + return function () { + image.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.crossOrigin = function (image) { + return function () { + return image.crossOrigin; + }; +}; + +exports.setCrossOrigin = function (crossOrigin) { + return function (image) { + return function () { + image.crossOrigin = crossOrigin; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.useMap = function (image) { + return function () { + return image.useMap; + }; +}; + +exports.setUseMap = function (useMap) { + return function (image) { + return function () { + image.useMap = useMap; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.isMap = function (image) { + return function () { + return image.isMap; + }; +}; + +exports.setIsMap = function (isMap) { + return function (image) { + return function () { + image.isMap = isMap; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.width = function (image) { + return function () { + return image.width; + }; +}; + +exports.setWidth = function (width) { + return function (image) { + return function () { + image.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (image) { + return function () { + return image.height; + }; +}; + +exports.setHeight = function (height) { + return function (image) { + return function () { + image.height = height; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.naturalWidth = function (image) { + return function () { + return image.naturalWidth; + }; +}; + +exports.naturalHeight = function (image) { + return function () { + return image.naturalHeight; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.complete = function (image) { + return function () { + return image.complete; + }; +}; diff --git a/src/DOM/HTML/HTMLImageElement.purs b/src/DOM/HTML/HTMLImageElement.purs new file mode 100644 index 0000000..cdab6f5 --- /dev/null +++ b/src/DOM/HTML/HTMLImageElement.purs @@ -0,0 +1,36 @@ +module DOM.HTML.HTMLImageElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLImageElement()) + +foreign import create :: forall eff. Unit -> Eff (dom :: DOM | eff) HTMLImageElement +foreign import create' :: forall eff. Int -> Int -> Eff (dom :: DOM | eff) HTMLImageElement + +foreign import alt :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) String +foreign import setAlt :: forall eff. String -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import src :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import crossOrigin :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) String +foreign import setCrossOrigin :: forall eff. String -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import useMap :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) String +foreign import setUseMap :: forall eff. String -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import isMap :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Boolean +foreign import setIsMap :: forall eff. Boolean -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import width :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Int +foreign import setWidth :: forall eff. Int -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Int +foreign import setHeight :: forall eff. Int -> HTMLImageElement -> Eff (dom :: DOM | eff) Unit + +foreign import naturalWidth :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Int +foreign import naturalHeight :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Int +foreign import complete :: forall eff. HTMLImageElement -> Eff (dom :: DOM | eff) Boolean diff --git a/src/DOM/HTML/HTMLInputElement.js b/src/DOM/HTML/HTMLInputElement.js new file mode 100644 index 0000000..5e1cb78 --- /dev/null +++ b/src/DOM/HTML/HTMLInputElement.js @@ -0,0 +1,790 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLInputElement + +exports.accept = function (input) { + return function () { + return input.accept; + }; +}; + +exports.setAccept = function (accept) { + return function (input) { + return function () { + input.accept = accept; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.alt = function (input) { + return function () { + return input.alt; + }; +}; + +exports.setAlt = function (alt) { + return function (input) { + return function () { + input.alt = alt; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.autocomplete = function (input) { + return function () { + return input.autocomplete; + }; +}; + +exports.setAutocomplete = function (autocomplete) { + return function (input) { + return function () { + input.autocomplete = autocomplete; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.autofocus = function (input) { + return function () { + return input.autofocus; + }; +}; + +exports.setAutofocus = function (autofocus) { + return function (input) { + return function () { + input.autofocus = autofocus; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultChecked = function (input) { + return function () { + return input.defaultChecked; + }; +}; + +exports.setDefaultChecked = function (defaultChecked) { + return function (input) { + return function () { + input.defaultChecked = defaultChecked; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checked = function (input) { + return function () { + return input.checked; + }; +}; + +exports.setChecked = function (checked) { + return function (input) { + return function () { + input.checked = checked; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.dirName = function (input) { + return function () { + return input.dirName; + }; +}; + +exports.setDirName = function (dirName) { + return function (input) { + return function () { + input.dirName = dirName; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.disabled = function (input) { + return function () { + return input.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (input) { + return function () { + input.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.input = function (input) { + return function () { + return input.input; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.files = function (input) { + return function () { + return input.files; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formAction = function (input) { + return function () { + return input.formAction; + }; +}; + +exports.setFormAction = function (formAction) { + return function (input) { + return function () { + input.formAction = formAction; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formEnctype = function (input) { + return function () { + return input.formEnctype; + }; +}; + +exports.setFormEnctype = function (formEnctype) { + return function (input) { + return function () { + input.formEnctype = formEnctype; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formMethod = function (input) { + return function () { + return input.formMethod; + }; +}; + +exports.setFormMethod = function (formMethod) { + return function (input) { + return function () { + input.formMethod = formMethod; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formNoValidate = function (input) { + return function () { + return input.formNoValidate; + }; +}; + +exports.setFormNoValidate = function (formNoValidate) { + return function (input) { + return function () { + input.formNoValidate = formNoValidate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.formTarget = function (input) { + return function () { + return input.formTarget; + }; +}; + +exports.setFormTarget = function (formTarget) { + return function (input) { + return function () { + input.formTarget = formTarget; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (input) { + return function () { + return input.height; + }; +}; + +exports.setHeight = function (height) { + return function (input) { + return function () { + input.height = height; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.indeterminate = function (input) { + return function () { + return input.indeterminate; + }; +}; + +exports.setIndeterminate = function (indeterminate) { + return function (input) { + return function () { + input.indeterminate = indeterminate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.list = function (input) { + return function () { + return input.list; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.max = function (input) { + return function () { + return input.max; + }; +}; + +exports.setMax = function (max) { + return function (input) { + return function () { + input.max = max; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.maxLength = function (input) { + return function () { + return input.maxLength; + }; +}; + +exports.setMaxLength = function (maxLength) { + return function (input) { + return function () { + input.maxLength = maxLength; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.min = function (input) { + return function () { + return input.min; + }; +}; + +exports.setMin = function (min) { + return function (input) { + return function () { + input.min = min; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.minLength = function (input) { + return function () { + return input.minLength; + }; +}; + +exports.setMinLength = function (minLength) { + return function (input) { + return function () { + input.minLength = minLength; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.multiple = function (input) { + return function () { + return input.multiple; + }; +}; + +exports.setMultiple = function (multiple) { + return function (input) { + return function () { + input.multiple = multiple; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (input) { + return function () { + return input.name; + }; +}; + +exports.setName = function (name) { + return function (input) { + return function () { + input.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.pattern = function (input) { + return function () { + return input.pattern; + }; +}; + +exports.setPattern = function (pattern) { + return function (input) { + return function () { + input.pattern = pattern; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.placeholder = function (input) { + return function () { + return input.placeholder; + }; +}; + +exports.setPlaceholder = function (placeholder) { + return function (input) { + return function () { + input.placeholder = placeholder; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.readOnly = function (input) { + return function () { + return input.readOnly; + }; +}; + +exports.setReadOnly = function (readOnly) { + return function (input) { + return function () { + input.readOnly = readOnly; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.required = function (input) { + return function () { + return input.required; + }; +}; + +exports.setRequired = function (required) { + return function (input) { + return function () { + input.required = required; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.size = function (input) { + return function () { + return input.size; + }; +}; + +exports.setSize = function (size) { + return function (input) { + return function () { + input.size = size; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.src = function (input) { + return function () { + return input.src; + }; +}; + +exports.setSrc = function (src) { + return function (input) { + return function () { + input.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.step = function (input) { + return function () { + return input.step; + }; +}; + +exports.setStep = function (step) { + return function (input) { + return function () { + input.step = step; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (input) { + return function () { + return input.type; + }; +}; + +exports.setType = function (type) { + return function (input) { + return function () { + input.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultValue = function (input) { + return function () { + return input.defaultValue; + }; +}; + +exports.setDefaultValue = function (defaultValue) { + return function (input) { + return function () { + input.defaultValue = defaultValue; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (input) { + return function () { + return input.value; + }; +}; + +exports.setValue = function (value) { + return function (input) { + return function () { + input.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.valueAsDate = function (input) { + return function () { + return input.valueAsDate; + }; +}; + +exports.setValueAsDate = function (valueAsDate) { + return function (input) { + return function () { + input.valueAsDate = valueAsDate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.valueAsNumber = function (input) { + return function () { + return input.valueAsNumber; + }; +}; + +exports.setValueAsNumber = function (valueAsNumber) { + return function (input) { + return function () { + input.valueAsNumber = valueAsNumber; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.width = function (input) { + return function () { + return input.width; + }; +}; + +exports.setWidth = function (width) { + return function (input) { + return function () { + input.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["stepUp'"] = function (n) { + return function (input) { + return function () { + input.stepUp(n); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["stepDown'"] = function (n) { + return function (input) { + return function () { + input.stepDown(n); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.length = function (input) { + return function () { + return input.length; + }; +}; + +exports.setLength = function (length) { + return function (input) { + return function () { + input.length = length; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectedOptions = function (input) { + return function () { + return input.selectedOptions; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectedIndex = function (input) { + return function () { + return input.selectedIndex; + }; +}; + +exports.setSelectedIndex = function (selectedIndex) { + return function (input) { + return function () { + input.selectedIndex = selectedIndex; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (input) { + return function () { + return input.value; + }; +}; + +exports.setValue = function (value) { + return function (input) { + return function () { + input.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (input) { + return function () { + return input.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (input) { + return function () { + return input.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (input) { + return function () { + return input.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (input) { + return function () { + return input.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (input) { + return function () { + input.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (input) { + return function () { + return input.labels; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.select = function (input) { + return function () { + input.select(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionStart = function (input) { + return function () { + return input.selectionStart; + }; +}; + +exports.setSelectionStart = function (selectionStart) { + return function (input) { + return function () { + input.selectionStart = selectionStart; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionEnd = function (input) { + return function () { + return input.selectionEnd; + }; +}; + +exports.setSelectionEnd = function (selectionEnd) { + return function (input) { + return function () { + input.selectionEnd = selectionEnd; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionDirection = function (input) { + return function () { + return input.selectionDirection; + }; +}; + +exports.setSelectionDirection = function (selectionDirection) { + return function (input) { + return function () { + input.selectionDirection = selectionDirection; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setRangeText = function (replacement) { + return function (input) { + return function () { + input.setRangeText(replacement); + }; + }; +}; + +exports["setRangeText'"] = function (replacement) { + return function (start) { + return function (end) { + return function (selectionMode) { + return function (input) { + return function () { + input.setRangeText(replacement); + }; + }; + }; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setSelectionRange = function (start) { + return function (end) { + return function (direction) { + return function (input) { + return function () { + input.setRangeText(replacement); + }; + }; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLInputElement.purs b/src/DOM/HTML/HTMLInputElement.purs new file mode 100644 index 0000000..c862278 --- /dev/null +++ b/src/DOM/HTML/HTMLInputElement.purs @@ -0,0 +1,160 @@ +module DOM.HTML.HTMLInputElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Date (JSDate()) +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.File.Types (FileList()) +import DOM.HTML.SelectionMode (SelectionMode()) +import DOM.HTML.Types (HTMLElement(), HTMLInputElement(), HTMLFormElement(), ValidityState()) +import DOM.Node.Types (NodeList()) + +foreign import accept :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAccept :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import alt :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAlt :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import autocomplete :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutocomplete :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import autofocus :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutofocus :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import defaultChecked :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDefaultChecked :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import checked :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setChecked :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import dirName :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setDirName :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import disabled :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import files :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) (Nullable FileList) + +foreign import formAction :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setFormAction :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import formEnctype :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setFormEnctype :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import formMethod :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setFormMethod :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import formNoValidate :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setFormNoValidate :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import formTarget :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setFormTarget :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setHeight :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import indeterminate :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setIndeterminate :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import list :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) (Nullable HTMLElement) + +foreign import max :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setMax :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import maxLength :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setMaxLength :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import min :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setMin :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import minLength :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setMinLength :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import multiple :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setMultiple :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import pattern :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setPattern :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import placeholder :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setPlaceholder :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import readOnly :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setReadOnly :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import required :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean +foreign import setRequired :: forall eff. Boolean -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import size :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setSize :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import src :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import step :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setStep :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import defaultValue :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setDefaultValue :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import valueAsDate :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) JSDate +foreign import setValueAsDate :: forall eff. JSDate -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import valueAsNumber :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Number +foreign import setValueAsNumber :: forall eff. Number -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import width :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setWidth :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +stepUp :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Unit +stepUp = stepUp' 1 + +foreign import stepUp' :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +stepDown :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Unit +stepDown = stepDown' 1 + +foreign import stepDown' :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import willValidate :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) NodeList + +foreign import select :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionStart :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setSelectionStart :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionEnd :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) Int +foreign import setSelectionEnd :: forall eff. Int -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionDirection :: forall eff. HTMLInputElement -> Eff (dom :: DOM | eff) String +foreign import setSelectionDirection :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import setRangeText :: forall eff. String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit +foreign import setRangeText' :: forall eff. String -> Int -> Int -> SelectionMode -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit + +foreign import setSelectionRange :: forall eff. Int -> Int -> String -> HTMLInputElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLKeygenElement.js b/src/DOM/HTML/HTMLKeygenElement.js new file mode 100644 index 0000000..cf3c90a --- /dev/null +++ b/src/DOM/HTML/HTMLKeygenElement.js @@ -0,0 +1,148 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLKeygenElement + +exports.autofocus = function (keygen) { + return function () { + return keygen.autofocus; + }; +}; + +exports.setAutofocus = function (autofocus) { + return function (keygen) { + return function () { + keygen.autofocus = autofocus; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.challenge = function (keygen) { + return function () { + return keygen.challenge; + }; +}; + +exports.setChallenge = function (challenge) { + return function (keygen) { + return function () { + keygen.challenge = challenge; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.disabled = function (keygen) { + return function () { + return keygen.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (keygen) { + return function () { + keygen.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (keygen) { + return function () { + return keygen.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.keytype = function (keygen) { + return function () { + return keygen.keytype; + }; +}; + +exports.setKeytype = function (keytype) { + return function (keygen) { + return function () { + keygen.keytype = keytype; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (keygen) { + return function () { + return keygen.name; + }; +}; + +exports.setName = function (name) { + return function (keygen) { + return function () { + keygen.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (keygen) { + return function () { + return keygen.type; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (keygen) { + return function () { + return keygen.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (keygen) { + return function () { + return keygen.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (keygen) { + return function () { + return keygen.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (keygen) { + return function () { + return keygen.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (keygen) { + return function () { + keygen.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (keygen) { + return function () { + return keygen.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLKeygenElement.purs b/src/DOM/HTML/HTMLKeygenElement.purs new file mode 100644 index 0000000..9c7bbde --- /dev/null +++ b/src/DOM/HTML/HTMLKeygenElement.purs @@ -0,0 +1,42 @@ +module DOM.HTML.HTMLKeygenElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.Node.Types (NodeList()) +import DOM.HTML.Types (HTMLKeygenElement(), HTMLFormElement(), ValidityState()) + +foreign import autofocus :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutofocus :: forall eff. Boolean -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import challenge :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) String +foreign import setChallenge :: forall eff. String -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import disabled :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import keytype :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) String +foreign import setKeytype :: forall eff. String -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) String + +foreign import willValidate :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLKeygenElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLKeygenElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLLIElement.js b/src/DOM/HTML/HTMLLIElement.js new file mode 100644 index 0000000..46a9253 --- /dev/null +++ b/src/DOM/HTML/HTMLLIElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLLIElement + +exports.value = function (li) { + return function () { + return li.value; + }; +}; + +exports.setValue = function (value) { + return function (li) { + return function () { + li.value = value; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLLIElement.purs b/src/DOM/HTML/HTMLLIElement.purs new file mode 100644 index 0000000..c58b08d --- /dev/null +++ b/src/DOM/HTML/HTMLLIElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLLIElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLLIElement()) + +foreign import value :: forall eff. HTMLLIElement -> Eff (dom :: DOM | eff) Int +foreign import setValue :: forall eff. Int -> HTMLLIElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLLabelElement.js b/src/DOM/HTML/HTMLLabelElement.js new file mode 100644 index 0000000..ba83482 --- /dev/null +++ b/src/DOM/HTML/HTMLLabelElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLLabelElement + +exports.form = function (label) { + return function () { + return label.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.htmlFor = function (label) { + return function () { + return label.htmlFor; + }; +}; + +exports.setHtmlFor = function (htmlFor) { + return function (label) { + return function () { + label.htmlFor = htmlFor; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.control = function (label) { + return function () { + return label.control; + }; +}; diff --git a/src/DOM/HTML/HTMLLabelElement.purs b/src/DOM/HTML/HTMLLabelElement.purs new file mode 100644 index 0000000..e3b6514 --- /dev/null +++ b/src/DOM/HTML/HTMLLabelElement.purs @@ -0,0 +1,17 @@ +module DOM.HTML.HTMLLabelElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLLabelElement(), HTMLFormElement(), HTMLElement()) + +foreign import form :: forall eff. HTMLLabelElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import htmlFor :: forall eff. HTMLLabelElement -> Eff (dom :: DOM | eff) String +foreign import setHtmlFor :: forall eff. String -> HTMLLabelElement -> Eff (dom :: DOM | eff) Unit + +foreign import control :: forall eff. HTMLLabelElement -> Eff (dom :: DOM | eff) (Nullable HTMLElement) diff --git a/src/DOM/HTML/HTMLLegendElement.js b/src/DOM/HTML/HTMLLegendElement.js new file mode 100644 index 0000000..d20fd25 --- /dev/null +++ b/src/DOM/HTML/HTMLLegendElement.js @@ -0,0 +1,10 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLLegendElement + +exports.form = function (le) { + return function () { + return le.form; + }; +}; diff --git a/src/DOM/HTML/HTMLLegendElement.purs b/src/DOM/HTML/HTMLLegendElement.purs new file mode 100644 index 0000000..321c2cc --- /dev/null +++ b/src/DOM/HTML/HTMLLegendElement.purs @@ -0,0 +1,9 @@ +module DOM.HTML.HTMLLegendElement where + +import Control.Monad.Eff (Eff()) +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLLegendElement(), HTMLFormElement()) + +foreign import form :: forall eff. HTMLLegendElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) diff --git a/src/DOM/HTML/HTMLLinkElement.js b/src/DOM/HTML/HTMLLinkElement.js new file mode 100644 index 0000000..f8bfe1d --- /dev/null +++ b/src/DOM/HTML/HTMLLinkElement.js @@ -0,0 +1,138 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLLinkElement + +exports.disabled = function (link) { + return function () { + return link.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (link) { + return function () { + link.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.href = function (link) { + return function () { + return link.href; + }; +}; + +exports.setHref = function (href) { + return function (link) { + return function () { + link.href = href; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.crossOrigin = function (link) { + return function () { + return link.crossOrigin; + }; +}; + +exports.setCrossOrigin = function (crossOrigin) { + return function (link) { + return function () { + link.crossOrigin = crossOrigin; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rel = function (link) { + return function () { + return link.rel; + }; +}; + +exports.setRel = function (rel) { + return function (link) { + return function () { + link.rel = rel; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rev = function (link) { + return function () { + return link.rev; + }; +}; + +exports.setRev = function (rev) { + return function (link) { + return function () { + link.rev = rev; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.relList = function (link) { + return function () { + return link.relList; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.media = function (link) { + return function () { + return link.media; + }; +}; + +exports.setMedia = function (media) { + return function (link) { + return function () { + link.media = media; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.hreflang = function (link) { + return function () { + return link.hreflang; + }; +}; + +exports.setHreflang = function (hreflang) { + return function (link) { + return function () { + link.hreflang = hreflang; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (link) { + return function () { + return link.type; + }; +}; + +exports.setType = function (type) { + return function (link) { + return function () { + link.type = type; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLLinkElement.purs b/src/DOM/HTML/HTMLLinkElement.purs new file mode 100644 index 0000000..d58f1fd --- /dev/null +++ b/src/DOM/HTML/HTMLLinkElement.purs @@ -0,0 +1,39 @@ +module DOM.HTML.HTMLLinkElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLLinkElement()) +import DOM.Node.Types (DOMTokenList()) + +foreign import disabled :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import href :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setHref :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import crossOrigin :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setCrossOrigin :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import rel :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setRel :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import rev :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setRev :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import relList :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) DOMTokenList + +foreign import media :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setMedia :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import hreflang :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setHreflang :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLLinkElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLLinkElement -> Eff (dom :: DOM | eff) Unit + +-- [PutForwards=value] readonly attribute DOMSettableTokenList sizes; + +-- HTMLLinkElement implements LinkStyle; diff --git a/src/DOM/HTML/HTMLMapElement.js b/src/DOM/HTML/HTMLMapElement.js new file mode 100644 index 0000000..7569691 --- /dev/null +++ b/src/DOM/HTML/HTMLMapElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLMapElement + +exports.name = function (map) { + return function () { + return map.name; + }; +}; + +exports.setDisabled = function (name) { + return function (map) { + return function () { + map.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.areas = function (map) { + return function () { + return map.areas; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.images = function (map) { + return function () { + return map.images; + }; +}; diff --git a/src/DOM/HTML/HTMLMapElement.purs b/src/DOM/HTML/HTMLMapElement.purs new file mode 100644 index 0000000..fe45f2d --- /dev/null +++ b/src/DOM/HTML/HTMLMapElement.purs @@ -0,0 +1,16 @@ +module DOM.HTML.HTMLMapElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLMapElement()) +import DOM.Node.Types (HTMLCollection()) + +foreign import name :: forall eff. HTMLMapElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLMapElement -> Eff (dom :: DOM | eff) Unit + +foreign import areas :: forall eff. HTMLMapElement -> Eff (dom :: DOM | eff) HTMLCollection + +foreign import images :: forall eff. HTMLMapElement -> Eff (dom :: DOM | eff) HTMLCollection diff --git a/src/DOM/HTML/HTMLMediaElement.js b/src/DOM/HTML/HTMLMediaElement.js new file mode 100644 index 0000000..dc758a0 --- /dev/null +++ b/src/DOM/HTML/HTMLMediaElement.js @@ -0,0 +1,309 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLMediaElement + +exports.src = function (media) { + return function () { + return media.src; + }; +}; + +exports.setSrc = function (src) { + return function (media) { + return function () { + media.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.currentSrc = function (media) { + return function () { + return media.currentSrc; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.crossOrigin = function (media) { + return function () { + return media.crossOrigin; + }; +}; + +exports.setCrossOrigin = function (crossOrigin) { + return function (media) { + return function () { + media.crossOrigin = crossOrigin; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.networkStateIndex = function (media) { + return function () { + return media.networkState; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.preload = function (media) { + return function () { + return media.preload; + }; +}; + +exports.setPreload = function (preload) { + return function (media) { + return function () { + media.preload = preload; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.load = function (media) { + return function () { + return media.load(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.canPlayType = function (type) { + return function (media) { + return function () { + return media.canPlayType(type); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.readyStateIndex = function (media) { + return function () { + return media.readyState; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.seeking = function (media) { + return function () { + return media.seeking; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.currentTime = function (media) { + return function () { + return media.currentTime; + }; +}; + +exports.setCurrentTime = function (currentTime) { + return function (media) { + return function () { + media.currentTime = currentTime; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.duration = function (media) { + return function () { + return media.duration; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.getStartDate = function (media) { + return function () { + return media.getStartDate(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.paused = function (media) { + return function () { + return media.paused; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultPlaybackRate = function (media) { + return function () { + return media.defaultPlaybackRate; + }; +}; + +exports.setDefaultPlaybackRate = function (defaultPlaybackRate) { + return function (media) { + return function () { + media.defaultPlaybackRate = defaultPlaybackRate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.playbackRate = function (media) { + return function () { + return media.playbackRate; + }; +}; + +exports.setPlaybackRate = function (playbackRate) { + return function (media) { + return function () { + media.playbackRate = playbackRate; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.ended = function (media) { + return function () { + return media.ended; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.autoplay = function (media) { + return function () { + return media.autoplay; + }; +}; + +exports.setAutoplay = function (autoplay) { + return function (media) { + return function () { + media.autoplay = autoplay; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.loop = function (media) { + return function () { + return media.loop; + }; +}; + +exports.setLoop = function (loop) { + return function (media) { + return function () { + media.loop = loop; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.play = function (media) { + return function () { + media.play(); + }; +}; + + +// ---------------------------------------------------------------------------- + +exports.pause = function (media) { + return function () { + media.pause(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.mediaGroup = function (media) { + return function () { + return media.mediaGroup; + }; +}; + +exports.setMediaGroup = function (mediaGroup) { + return function (media) { + return function () { + media.mediaGroup = mediaGroup; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.controls = function (media) { + return function () { + return media.controls; + }; +}; + +exports.setControls = function (controls) { + return function (media) { + return function () { + media.controls = controls; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.volume = function (media) { + return function () { + return media.volume; + }; +}; + +exports.setVolume = function (volume) { + return function (media) { + return function () { + media.volume = volume; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.muted = function (media) { + return function () { + return media.muted; + }; +}; + +exports.setMuted = function (muted) { + return function (media) { + return function () { + media.muted = muted; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultMuted = function (media) { + return function () { + return media.defaultMuted; + }; +}; + +exports.setDefaultMuted = function (defaultMuted) { + return function (media) { + return function () { + media.defaultMuted = defaultMuted; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLMediaElement.purs b/src/DOM/HTML/HTMLMediaElement.purs new file mode 100644 index 0000000..7f7ec8e --- /dev/null +++ b/src/DOM/HTML/HTMLMediaElement.purs @@ -0,0 +1,98 @@ +module DOM.HTML.HTMLMediaElement where + +import Prelude (Unit(), map, (<<<)) + +import Control.Monad.Eff (Eff()) + +import Data.Date (JSDate()) +import Data.Enum (toEnum) +import Data.Maybe.Unsafe as U + +import DOM (DOM()) +import DOM.HTML.HTMLMediaElement.CanPlayType (CanPlayType()) +import DOM.HTML.HTMLMediaElement.NetworkState (NetworkState()) +import DOM.HTML.HTMLMediaElement.ReadyState (ReadyState()) +import DOM.HTML.Types (HTMLMediaElement()) + +-- readonly attribute MediaError? error; + +foreign import src :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import currentSrc :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) String + +foreign import crossOrigin :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) String +foreign import setCrossOrigin :: forall eff. String -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +networkState :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) NetworkState +networkState = map (U.fromJust <<< toEnum) <<< readyStateIndex + +foreign import networkStateIndex :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Int + +foreign import preload :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) String +foreign import setPreload :: forall eff. String -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +-- readonly attribute TimeRanges buffered; + +foreign import load :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import canPlayType :: forall eff. String -> HTMLMediaElement -> Eff (dom :: DOM | eff) CanPlayType + +readyState :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) ReadyState +readyState = map (U.fromJust <<< toEnum) <<< readyStateIndex + +foreign import readyStateIndex :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Int + +foreign import seeking :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean + +foreign import currentTime :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Number +foreign import setCurrentTime :: forall eff. Number -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import duration :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Number + +foreign import getStartDate :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) JSDate + +foreign import paused :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean + +foreign import defaultPlaybackRate :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Number +foreign import setDefaultPlaybackRate :: forall eff. Number -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import playbackRate :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Number +foreign import setPlaybackRate :: forall eff. Number -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +-- readonly attribute TimeRanges played; +-- readonly attribute TimeRanges seekable; + +foreign import ended :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean + +foreign import autoplay :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutoplay :: forall eff. Boolean -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import loop :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setLoop :: forall eff. Boolean -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import play :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import pause :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import mediaGroup :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) String +foreign import setMediaGroup :: forall eff. String -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +-- attribute MediaController? controller; + +foreign import controls :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setControls :: forall eff. Boolean -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import volume :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Number +foreign import setVolume :: forall eff. Number -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import muted :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setMuted :: forall eff. Boolean -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +foreign import defaultMuted :: forall eff. HTMLMediaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDefaultMuted :: forall eff. Boolean -> HTMLMediaElement -> Eff (dom :: DOM | eff) Unit + +-- readonly attribute AudioTrackList audioTracks; +-- readonly attribute VideoTrackList videoTracks; +-- readonly attribute TextTrackList textTracks; +-- TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = ""); diff --git a/src/DOM/HTML/HTMLMediaElement/CanPlayType.purs b/src/DOM/HTML/HTMLMediaElement/CanPlayType.purs new file mode 100644 index 0000000..2288d71 --- /dev/null +++ b/src/DOM/HTML/HTMLMediaElement/CanPlayType.purs @@ -0,0 +1,34 @@ +module DOM.HTML.HTMLMediaElement.CanPlayType + ( CanPlayType() + , runCanPlayType + , unspecified + , maybe + , probably + ) where + +import Prelude +import Data.Maybe (Maybe(..)) +import Data.Enum (Enum, Cardinality(..), defaultSucc, defaultPred) + +newtype CanPlayType = CanPlayType String + +runCanPlayType :: CanPlayType -> String +runCanPlayType (CanPlayType t) = t + +instance eqCanPlayType :: Eq CanPlayType where + eq (CanPlayType x) (CanPlayType y) = x == y + +instance ordCanPlayType :: Ord CanPlayType where + compare (CanPlayType x) (CanPlayType y) = compare x y + +instance showCanPlayType :: Show CanPlayType where + show (CanPlayType t) = "(CanPlayType " <> show t <> ")" + +unspecified :: CanPlayType +unspecified = CanPlayType "" + +maybe :: CanPlayType +maybe = CanPlayType "maybe" + +probably :: CanPlayType +probably = CanPlayType "probably" diff --git a/src/DOM/HTML/HTMLMediaElement/NetworkState.purs b/src/DOM/HTML/HTMLMediaElement/NetworkState.purs new file mode 100644 index 0000000..ed9a87e --- /dev/null +++ b/src/DOM/HTML/HTMLMediaElement/NetworkState.purs @@ -0,0 +1,53 @@ +module DOM.HTML.HTMLMediaElement.NetworkState (NetworkState(..)) where + +import Prelude +import Data.Maybe (Maybe(..)) +import Data.Enum (Enum, Cardinality(..), defaultSucc, defaultPred) + +data NetworkState + = NETWORK_EMPTY + | NETWORK_IDLE + | NETWORK_LOADING + | NETWORK_NO_SOURCE + +instance eqNetworkState :: Eq NetworkState where + eq NETWORK_EMPTY NETWORK_EMPTY = true + eq NETWORK_IDLE NETWORK_IDLE = true + eq NETWORK_LOADING NETWORK_LOADING = true + eq NETWORK_NO_SOURCE NETWORK_NO_SOURCE = true + eq _ _ = false + +instance ordNetworkState :: Ord NetworkState where + compare x y = compare (fromEnumNetworkState x) (fromEnumNetworkState y) + +instance boundedNetworkState :: Bounded NetworkState where + bottom = NETWORK_EMPTY + top = NETWORK_NO_SOURCE + +instance boundedOrdNetworkState :: BoundedOrd NetworkState + +instance enumNetworkState :: Enum NetworkState where + cardinality = Cardinality 4 + succ = defaultSucc toEnumNetworkState fromEnumNetworkState + pred = defaultPred toEnumNetworkState fromEnumNetworkState + toEnum = toEnumNetworkState + fromEnum = fromEnumNetworkState + +instance showNetworkState :: Show NetworkState where + show NETWORK_EMPTY = "NETWORK_EMPTY" + show NETWORK_IDLE = "NETWORK_IDLE" + show NETWORK_LOADING = "NETWORK_LOADING" + show NETWORK_NO_SOURCE = "NETWORK_NO_SOURCE" + +toEnumNetworkState :: Int -> Maybe NetworkState +toEnumNetworkState 0 = Just NETWORK_EMPTY +toEnumNetworkState 1 = Just NETWORK_IDLE +toEnumNetworkState 2 = Just NETWORK_LOADING +toEnumNetworkState 3 = Just NETWORK_NO_SOURCE +toEnumNetworkState _ = Nothing + +fromEnumNetworkState :: NetworkState -> Int +fromEnumNetworkState NETWORK_EMPTY = 0 +fromEnumNetworkState NETWORK_IDLE = 1 +fromEnumNetworkState NETWORK_LOADING = 2 +fromEnumNetworkState NETWORK_NO_SOURCE = 3 diff --git a/src/DOM/HTML/HTMLMediaElement/ReadyState.purs b/src/DOM/HTML/HTMLMediaElement/ReadyState.purs new file mode 100644 index 0000000..b5e5534 --- /dev/null +++ b/src/DOM/HTML/HTMLMediaElement/ReadyState.purs @@ -0,0 +1,58 @@ +module DOM.HTML.HTMLMediaElement.ReadyState (ReadyState(..)) where + +import Prelude +import Data.Maybe (Maybe(..)) +import Data.Enum (Enum, Cardinality(..), defaultSucc, defaultPred) + +data ReadyState + = HAVE_NOTHING + | HAVE_METADATA + | HAVE_CURRENT_DATA + | HAVE_FUTURE_DATA + | HAVE_ENOUGH_DATA + +instance eqReadyState :: Eq ReadyState where + eq HAVE_NOTHING HAVE_NOTHING = true + eq HAVE_METADATA HAVE_METADATA = true + eq HAVE_CURRENT_DATA HAVE_CURRENT_DATA = true + eq HAVE_FUTURE_DATA HAVE_FUTURE_DATA = true + eq HAVE_ENOUGH_DATA HAVE_ENOUGH_DATA = true + eq _ _ = false + +instance ordReadyState :: Ord ReadyState where + compare x y = compare (fromEnumReadyState x) (fromEnumReadyState y) + +instance boundedReadyState :: Bounded ReadyState where + bottom = HAVE_NOTHING + top = HAVE_ENOUGH_DATA + +instance boundedOrdReadyState :: BoundedOrd ReadyState + +instance enumReadyState :: Enum ReadyState where + cardinality = Cardinality 5 + succ = defaultSucc toEnumReadyState fromEnumReadyState + pred = defaultPred toEnumReadyState fromEnumReadyState + toEnum = toEnumReadyState + fromEnum = fromEnumReadyState + +instance showReadyState :: Show ReadyState where + show HAVE_NOTHING = "HAVE_NOTHING" + show HAVE_METADATA = "HAVE_METADATA" + show HAVE_CURRENT_DATA = "HAVE_CURRENT_DATA" + show HAVE_FUTURE_DATA = "HAVE_FUTURE_DATA" + show HAVE_ENOUGH_DATA = "HAVE_ENOUGH_DATA" + +toEnumReadyState :: Int -> Maybe ReadyState +toEnumReadyState 0 = Just HAVE_NOTHING +toEnumReadyState 1 = Just HAVE_METADATA +toEnumReadyState 2 = Just HAVE_CURRENT_DATA +toEnumReadyState 3 = Just HAVE_FUTURE_DATA +toEnumReadyState 4 = Just HAVE_ENOUGH_DATA +toEnumReadyState _ = Nothing + +fromEnumReadyState :: ReadyState -> Int +fromEnumReadyState HAVE_NOTHING = 0 +fromEnumReadyState HAVE_METADATA = 1 +fromEnumReadyState HAVE_CURRENT_DATA = 2 +fromEnumReadyState HAVE_FUTURE_DATA = 3 +fromEnumReadyState HAVE_ENOUGH_DATA = 4 diff --git a/src/DOM/HTML/HTMLMetaElement.js b/src/DOM/HTML/HTMLMetaElement.js new file mode 100644 index 0000000..322c257 --- /dev/null +++ b/src/DOM/HTML/HTMLMetaElement.js @@ -0,0 +1,50 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLMetaElement + +exports.name = function (meta) { + return function () { + return meta.name; + }; +}; + +exports.setName = function (name) { + return function (meta) { + return function () { + meta.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.httpEquiv = function (meta) { + return function () { + return meta.httpEquiv; + }; +}; + +exports.setHttpEquiv = function (httpEquiv) { + return function (meta) { + return function () { + meta.httpEquiv = httpEquiv; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.content = function (meta) { + return function () { + return meta.content; + }; +}; + +exports.setContent = function (content) { + return function (meta) { + return function () { + meta.content = content; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLMetaElement.purs b/src/DOM/HTML/HTMLMetaElement.purs new file mode 100644 index 0000000..eba271f --- /dev/null +++ b/src/DOM/HTML/HTMLMetaElement.purs @@ -0,0 +1,17 @@ +module DOM.HTML.HTMLMetaElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLMetaElement()) + +foreign import name :: forall eff. HTMLMetaElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLMetaElement -> Eff (dom :: DOM | eff) Unit + +foreign import httpEquiv :: forall eff. HTMLMetaElement -> Eff (dom :: DOM | eff) String +foreign import setHttpEquiv :: forall eff. String -> HTMLMetaElement -> Eff (dom :: DOM | eff) Unit + +foreign import content :: forall eff. HTMLMetaElement -> Eff (dom :: DOM | eff) String +foreign import setContent :: forall eff. String -> HTMLMetaElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLMeterElement.js b/src/DOM/HTML/HTMLMeterElement.js new file mode 100644 index 0000000..17e1d2d --- /dev/null +++ b/src/DOM/HTML/HTMLMeterElement.js @@ -0,0 +1,106 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLMeterElement + +exports.value = function (meter) { + return function () { + return meter.value; + }; +}; + +exports.setValue = function (value) { + return function (meter) { + return function () { + meter.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.min = function (meter) { + return function () { + return meter.min; + }; +}; + +exports.setMin = function (min) { + return function (meter) { + return function () { + meter.min = min; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.max = function (meter) { + return function () { + return meter.max; + }; +}; + +exports.setMax = function (max) { + return function (meter) { + return function () { + meter.max = max; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.low = function (meter) { + return function () { + return meter.low; + }; +}; + +exports.setLow = function (low) { + return function (meter) { + return function () { + meter.low = low; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.high = function (meter) { + return function () { + return meter.high; + }; +}; + +exports.setLow = function (high) { + return function (meter) { + return function () { + meter.high = high; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.optimum = function (meter) { + return function () { + return meter.optimum; + }; +}; + +exports.setLow = function (optimum) { + return function (meter) { + return function () { + meter.optimum = optimum; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (meter) { + return function () { + return meter.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLMeterElement.purs b/src/DOM/HTML/HTMLMeterElement.purs new file mode 100644 index 0000000..0c1b4c4 --- /dev/null +++ b/src/DOM/HTML/HTMLMeterElement.purs @@ -0,0 +1,29 @@ +module DOM.HTML.HTMLMeterElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLMeterElement()) +import DOM.Node.Types (NodeList()) + +foreign import value :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setValue :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import min :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setMin :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import max :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setMax :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import low :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setLow :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import high :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setHigh :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import optimum :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) Number +foreign import setOptimum :: forall eff. Number -> HTMLMeterElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLMeterElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLModElement.js b/src/DOM/HTML/HTMLModElement.js new file mode 100644 index 0000000..017e820 --- /dev/null +++ b/src/DOM/HTML/HTMLModElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLModElement + +exports.cite = function (mod) { + return function () { + return mod.cite; + }; +}; + +exports.setCite = function (cite) { + return function (mod) { + return function () { + mod.cite = cite; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.dateTime = function (mod) { + return function () { + return mod.dateTime; + }; +}; + +exports.setDateTime = function (dateTime) { + return function (mod) { + return function () { + mod.dateTime = dateTime; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLModElement.purs b/src/DOM/HTML/HTMLModElement.purs new file mode 100644 index 0000000..29379c4 --- /dev/null +++ b/src/DOM/HTML/HTMLModElement.purs @@ -0,0 +1,14 @@ +module DOM.HTML.HTMLModElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLModElement()) + +foreign import cite :: forall eff. HTMLModElement -> Eff (dom :: DOM | eff) String +foreign import setCite :: forall eff. String -> HTMLModElement -> Eff (dom :: DOM | eff) Unit + +foreign import dateTime :: forall eff. HTMLModElement -> Eff (dom :: DOM | eff) String +foreign import setDateTime :: forall eff. String -> HTMLModElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLOListElement.js b/src/DOM/HTML/HTMLOListElement.js new file mode 100644 index 0000000..776f5ce --- /dev/null +++ b/src/DOM/HTML/HTMLOListElement.js @@ -0,0 +1,50 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLOListElement + +exports.reversed = function (ol) { + return function () { + return ol.reversed; + }; +}; + +exports.setReversed = function (reversed) { + return function (ol) { + return function () { + ol.reversed = reversed; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.start = function (ol) { + return function () { + return ol.start; + }; +}; + +exports.setStart = function (start) { + return function (ol) { + return function () { + ol.start = start; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (ol) { + return function () { + return ol.type; + }; +}; + +exports.setType = function (type) { + return function (ol) { + return function () { + ol.type = type; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLOListElement.purs b/src/DOM/HTML/HTMLOListElement.purs new file mode 100644 index 0000000..b24c87d --- /dev/null +++ b/src/DOM/HTML/HTMLOListElement.purs @@ -0,0 +1,17 @@ +module DOM.HTML.HTMLOListElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLOListElement()) + +foreign import reversed :: forall eff. HTMLOListElement -> Eff (dom :: DOM | eff) Boolean +foreign import setReversed :: forall eff. Boolean -> HTMLOListElement -> Eff (dom :: DOM | eff) Unit + +foreign import start :: forall eff. HTMLOListElement -> Eff (dom :: DOM | eff) Int +foreign import setStart :: forall eff. Int -> HTMLOListElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLOListElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLOListElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLObjectElement.js b/src/DOM/HTML/HTMLObjectElement.js new file mode 100644 index 0000000..15994ec --- /dev/null +++ b/src/DOM/HTML/HTMLObjectElement.js @@ -0,0 +1,164 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLObjectElement + +exports.data_ = function (object) { + return function () { + return object.data; + }; +}; + +exports.setData = function (data) { + return function (object) { + return function () { + object.data = data; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (object) { + return function () { + return object.type; + }; +}; + +exports.setType = function (type) { + return function (object) { + return function () { + object.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.typeMustMatch = function (object) { + return function () { + return object.typeMustMatch; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (object) { + return function () { + return object.name; + }; +}; + +exports.setName = function (name) { + return function (object) { + return function () { + object.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.useMap = function (object) { + return function () { + return object.useMap; + }; +}; + +exports.setUseMap = function (useMap) { + return function (object) { + return function () { + object.useMap = useMap; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (object) { + return function () { + return object.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.width = function (object) { + return function () { + return object.width; + }; +}; + +exports.setWidth = function (width) { + return function (object) { + return function () { + object.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (object) { + return function () { + return object.height; + }; +}; + +exports.setHeight = function (height) { + return function (object) { + return function () { + object.height = height; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.contentDocument = function (object) { + return function () { + return object.contentDocument; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (object) { + return function () { + return object.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (object) { + return function () { + return object.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (object) { + return function () { + return object.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (object) { + return function () { + return object.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (object) { + return function () { + object.setCustomValidity(value); + }; + }; +}; diff --git a/src/DOM/HTML/HTMLObjectElement.purs b/src/DOM/HTML/HTMLObjectElement.purs new file mode 100644 index 0000000..7ae9d9a --- /dev/null +++ b/src/DOM/HTML/HTMLObjectElement.purs @@ -0,0 +1,49 @@ +module DOM.HTML.HTMLObjectElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLObjectElement(), HTMLFormElement(), ValidityState()) +import DOM.Node.Types (Document()) + +foreign import data_ :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setData :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import typeMustMatch :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) Boolean + +foreign import name :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import useMap :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setUseMap :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import width :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setWidth :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String +foreign import setHeight :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +foreign import contentDocument :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) (Nullable Document) + +-- readonly attribute WindowProxy? contentWindow; + +foreign import willValidate :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLObjectElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLObjectElement -> Eff (dom :: DOM | eff) Unit + +-- legacycaller any (any... arguments); diff --git a/src/DOM/HTML/HTMLOptGroupElement.js b/src/DOM/HTML/HTMLOptGroupElement.js new file mode 100644 index 0000000..cc88703 --- /dev/null +++ b/src/DOM/HTML/HTMLOptGroupElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLOptGroupElement + +exports.disabled = function (optgroup) { + return function () { + return optgroup.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (optgroup) { + return function () { + optgroup.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.label = function (optgroup) { + return function () { + return optgroup.label; + }; +}; + +exports.setLabel = function (label) { + return function (optgroup) { + return function () { + optgroup.label = label; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLOptGroupElement.purs b/src/DOM/HTML/HTMLOptGroupElement.purs new file mode 100644 index 0000000..1ed09e8 --- /dev/null +++ b/src/DOM/HTML/HTMLOptGroupElement.purs @@ -0,0 +1,14 @@ +module DOM.HTML.HTMLOptGroupElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLOptGroupElement()) + +foreign import disabled :: forall eff. HTMLOptGroupElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLOptGroupElement -> Eff (dom :: DOM | eff) Unit + +foreign import label :: forall eff. HTMLOptGroupElement -> Eff (dom :: DOM | eff) String +foreign import setLabel :: forall eff. String -> HTMLOptGroupElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLOptionElement.js b/src/DOM/HTML/HTMLOptionElement.js new file mode 100644 index 0000000..c93f828 --- /dev/null +++ b/src/DOM/HTML/HTMLOptionElement.js @@ -0,0 +1,114 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLOptionElement + +exports.disabled = function (option) { + return function () { + return option.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (option) { + return function () { + option.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (option) { + return function () { + return option.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.label = function (option) { + return function () { + return option.label; + }; +}; + +exports.setLabel = function (label) { + return function (option) { + return function () { + option.label = label; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultSelected = function (option) { + return function () { + return option.defaultSelected; + }; +}; + +exports.setDefaultSelected = function (defaultSelected) { + return function (option) { + return function () { + option.defaultSelected = defaultSelected; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selected = function (option) { + return function () { + return option.selected; + }; +}; + +exports.setSelected = function (selected) { + return function (option) { + return function () { + option.selected = selected; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (option) { + return function () { + return option.value; + }; +}; + +exports.setValue = function (value) { + return function (option) { + return function () { + option.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.text = function (option) { + return function () { + return option.text; + }; +}; + +exports.setText = function (text) { + return function (option) { + return function () { + option.text = text; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.index = function (option) { + return function () { + return option.index; + }; +}; diff --git a/src/DOM/HTML/HTMLOptionElement.purs b/src/DOM/HTML/HTMLOptionElement.purs new file mode 100644 index 0000000..dceda21 --- /dev/null +++ b/src/DOM/HTML/HTMLOptionElement.purs @@ -0,0 +1,34 @@ +module DOM.HTML.HTMLOptionElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLOptionElement(), HTMLFormElement()) + +-- [NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)] + +foreign import disabled :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import label :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) String +foreign import setLabel :: forall eff. String -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import defaultSelected :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDefaultSelected :: forall eff. Boolean -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import selected :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) Boolean +foreign import setSelected :: forall eff. Boolean -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import text :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) String +foreign import setText :: forall eff. String -> HTMLOptionElement -> Eff (dom :: DOM | eff) Unit + +foreign import index :: forall eff. HTMLOptionElement -> Eff (dom :: DOM | eff) Int diff --git a/src/DOM/HTML/HTMLOutputElement.js b/src/DOM/HTML/HTMLOutputElement.js new file mode 100644 index 0000000..0c6a10e --- /dev/null +++ b/src/DOM/HTML/HTMLOutputElement.js @@ -0,0 +1,116 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLOutputElement + +exports.form = function (output) { + return function () { + return output.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (output) { + return function () { + return output.name; + }; +}; + +exports.setName = function (name) { + return function (output) { + return function () { + output.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (output) { + return function () { + return output.type; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultValue = function (output) { + return function () { + return output.defaultValue; + }; +}; + +exports.setDefaultValue = function (defaultValue) { + return function (output) { + return function () { + output.defaultValue = defaultValue; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (output) { + return function () { + return output.value; + }; +}; + +exports.setValue = function (value) { + return function (output) { + return function () { + output.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (output) { + return function () { + return output.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (output) { + return function () { + return output.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (output) { + return function () { + return output.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (output) { + return function () { + return output.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (output) { + return function () { + output.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (output) { + return function () { + return output.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLOutputElement.purs b/src/DOM/HTML/HTMLOutputElement.purs new file mode 100644 index 0000000..b2e4e67 --- /dev/null +++ b/src/DOM/HTML/HTMLOutputElement.purs @@ -0,0 +1,38 @@ +module DOM.HTML.HTMLOutputElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.Node.Types (NodeList()) +import DOM.HTML.Types (HTMLOutputElement(), HTMLFormElement(), ValidityState()) + +-- [PutForwards=value] readonly attribute DOMSettableTokenList htmlFor; + +foreign import form :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import name :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLOutputElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) String + +foreign import defaultValue :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) String +foreign import setDefaultValue :: forall eff. String -> HTMLOutputElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLOutputElement -> Eff (dom :: DOM | eff) Unit + +foreign import willValidate :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLOutputElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLOutputElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLParamElement.js b/src/DOM/HTML/HTMLParamElement.js new file mode 100644 index 0000000..6f82b2b --- /dev/null +++ b/src/DOM/HTML/HTMLParamElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLParamElement + +exports.name = function (param) { + return function () { + return param.name; + }; +}; + +exports.setName = function (name) { + return function (param) { + return function () { + param.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (param) { + return function () { + return param.value; + }; +}; + +exports.setValue = function (value) { + return function (param) { + return function () { + param.value = value; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLParamElement.purs b/src/DOM/HTML/HTMLParamElement.purs new file mode 100644 index 0000000..d4beac7 --- /dev/null +++ b/src/DOM/HTML/HTMLParamElement.purs @@ -0,0 +1,14 @@ +module DOM.HTML.HTMLParamElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLParamElement()) + +foreign import name :: forall eff. HTMLParamElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLParamElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLParamElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLParamElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLProgressElement.js b/src/DOM/HTML/HTMLProgressElement.js new file mode 100644 index 0000000..f702ef8 --- /dev/null +++ b/src/DOM/HTML/HTMLProgressElement.js @@ -0,0 +1,50 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLProgressElement + +exports.value = function (progress) { + return function () { + return progress.value; + }; +}; + +exports.setValue = function (value) { + return function (progress) { + return function () { + progress.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.max = function (progress) { + return function () { + return progress.max; + }; +}; + +exports.setMax = function (max) { + return function (progress) { + return function () { + progress.max = max; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.position = function (progress) { + return function () { + return progress.position; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (progress) { + return function () { + return progress.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLProgressElement.purs b/src/DOM/HTML/HTMLProgressElement.purs new file mode 100644 index 0000000..4d6b278 --- /dev/null +++ b/src/DOM/HTML/HTMLProgressElement.purs @@ -0,0 +1,19 @@ +module DOM.HTML.HTMLProgressElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLProgressElement()) +import DOM.Node.Types (NodeList()) + +foreign import value :: forall eff. HTMLProgressElement -> Eff (dom :: DOM | eff) Number +foreign import setValue :: forall eff. Number -> HTMLProgressElement -> Eff (dom :: DOM | eff) Unit + +foreign import max :: forall eff. HTMLProgressElement -> Eff (dom :: DOM | eff) Number +foreign import setMax :: forall eff. Number -> HTMLProgressElement -> Eff (dom :: DOM | eff) Unit + +foreign import position :: forall eff. HTMLProgressElement -> Eff (dom :: DOM | eff) Number + +foreign import labels :: forall eff. HTMLProgressElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLQuoteElement.js b/src/DOM/HTML/HTMLQuoteElement.js new file mode 100644 index 0000000..3e09c3d --- /dev/null +++ b/src/DOM/HTML/HTMLQuoteElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLQuoteElement + +exports.cite = function (quote) { + return function () { + return quote.cite; + }; +}; + +exports.setCite = function (cite) { + return function (quote) { + return function () { + quote.cite = cite; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLQuoteElement.purs b/src/DOM/HTML/HTMLQuoteElement.purs new file mode 100644 index 0000000..6b62348 --- /dev/null +++ b/src/DOM/HTML/HTMLQuoteElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLQuoteElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLQuoteElement()) + +foreign import cite :: forall eff. HTMLQuoteElement -> Eff (dom :: DOM | eff) Boolean +foreign import setCite :: forall eff. Boolean -> HTMLQuoteElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLScriptElement.js b/src/DOM/HTML/HTMLScriptElement.js new file mode 100644 index 0000000..f598e59 --- /dev/null +++ b/src/DOM/HTML/HTMLScriptElement.js @@ -0,0 +1,114 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLScriptElement + +exports.src = function (script) { + return function () { + return script.src; + }; +}; + +exports.setSrc = function (src) { + return function (script) { + return function () { + script.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (script) { + return function () { + return script.type; + }; +}; + +exports.setType = function (type) { + return function (script) { + return function () { + script.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.charset = function (script) { + return function () { + return script.charset; + }; +}; + +exports.setCharset = function (charset) { + return function (script) { + return function () { + script.charset = charset; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.async = function (script) { + return function () { + return script.async; + }; +}; + +exports.setAsync = function (async) { + return function (script) { + return function () { + script.async = async; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defer = function (script) { + return function () { + return script.defer; + }; +}; + +exports.setDefer = function (defer) { + return function (script) { + return function () { + script.defer = defer; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.crossOrigin = function (script) { + return function () { + return script.crossOrigin; + }; +}; + +exports.setCrossOrigin = function (crossOrigin) { + return function (script) { + return function () { + script.crossOrigin = crossOrigin; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.text = function (script) { + return function () { + return script.text; + }; +}; + +exports.setText = function (text) { + return function (script) { + return function () { + script.text = text; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLScriptElement.purs b/src/DOM/HTML/HTMLScriptElement.purs new file mode 100644 index 0000000..3d67a8c --- /dev/null +++ b/src/DOM/HTML/HTMLScriptElement.purs @@ -0,0 +1,29 @@ +module DOM.HTML.HTMLScriptElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLScriptElement()) + +foreign import src :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import charset :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) String +foreign import setCharset :: forall eff. String -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import async :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAsync :: forall eff. Boolean -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import defer :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDefer :: forall eff. Boolean -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import crossOrigin :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) String +foreign import setCrossOrigin :: forall eff. String -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit + +foreign import text :: forall eff. HTMLScriptElement -> Eff (dom :: DOM | eff) String +foreign import setText :: forall eff. String -> HTMLScriptElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLSelectElement.js b/src/DOM/HTML/HTMLSelectElement.js new file mode 100644 index 0000000..1e3a714 --- /dev/null +++ b/src/DOM/HTML/HTMLSelectElement.js @@ -0,0 +1,220 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLSelectElement + +exports.autofocus = function (select) { + return function () { + return select.autofocus; + }; +}; + +exports.setAutofocus = function (autofocus) { + return function (select) { + return function () { + select.autofocus = autofocus; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.disabled = function (select) { + return function () { + return select.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (select) { + return function () { + select.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.multiple = function (select) { + return function () { + return select.multiple; + }; +}; + +exports.setMultiple = function (multiple) { + return function (select) { + return function () { + select.multiple = multiple; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (select) { + return function () { + return select.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (select) { + return function () { + return select.name; + }; +}; + +exports.setName = function (name) { + return function (select) { + return function () { + select.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.required = function (select) { + return function () { + return select.required; + }; +}; + +exports.setRequired = function (required) { + return function (select) { + return function () { + select.required = required; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.size = function (select) { + return function () { + return select.size; + }; +}; + +exports.setSize = function (size) { + return function (select) { + return function () { + select.size = size; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (select) { + return function () { + return select.type; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.length = function (select) { + return function () { + return select.length; + }; +}; + +exports.setLength = function (length) { + return function (select) { + return function () { + select.length = length; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectedOptions = function (select) { + return function () { + return select.selectedOptions; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectedIndex = function (select) { + return function () { + return select.selectedIndex; + }; +}; + +exports.setSelectedIndex = function (selectedIndex) { + return function (select) { + return function () { + select.selectedIndex = selectedIndex; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (select) { + return function () { + return select.value; + }; +}; + +exports.setValue = function (value) { + return function (select) { + return function () { + select.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (select) { + return function () { + return select.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (select) { + return function () { + return select.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (select) { + return function () { + return select.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (select) { + return function () { + return select.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (select) { + return function () { + select.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (select) { + return function () { + return select.labels; + }; +}; diff --git a/src/DOM/HTML/HTMLSelectElement.purs b/src/DOM/HTML/HTMLSelectElement.purs new file mode 100644 index 0000000..1d0a97e --- /dev/null +++ b/src/DOM/HTML/HTMLSelectElement.purs @@ -0,0 +1,65 @@ +module DOM.HTML.HTMLSelectElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLSelectElement(), HTMLFormElement(), ValidityState()) +import DOM.Node.Types (NodeList(), HTMLCollection()) + +foreign import autofocus :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutofocus :: forall eff. Boolean -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import disabled :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import multiple :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean +foreign import setMultiple :: forall eff. Boolean -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import required :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean +foreign import setRequired :: forall eff. Boolean -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import size :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Int +foreign import setSize :: forall eff. Int -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) String + +-- readonly attribute HTMLOptionsCollection options; + +foreign import length :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Int +foreign import setLength :: forall eff. Int -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +-- getter Element? item(unsigned long index); +-- HTMLOptionElement? namedItem(DOMString name); +-- void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); +-- void remove(); // ChildNode overload +-- void remove(long index); +-- setter creator void (unsigned long index, HTMLOptionElement? option); + +foreign import selectedOptions :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) HTMLCollection + +foreign import selectedIndex :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Int +foreign import setSelectedIndex :: forall eff. Int -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import willValidate :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLSelectElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLSelectElement -> Eff (dom :: DOM | eff) NodeList diff --git a/src/DOM/HTML/HTMLSourceElement.js b/src/DOM/HTML/HTMLSourceElement.js new file mode 100644 index 0000000..cddcdc5 --- /dev/null +++ b/src/DOM/HTML/HTMLSourceElement.js @@ -0,0 +1,50 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLSourceElement + +exports.src = function (source) { + return function () { + return source.src; + }; +}; + +exports.setSrc = function (src) { + return function (source) { + return function () { + source.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (source) { + return function () { + return source.type; + }; +}; + +exports.setType = function (type) { + return function (source) { + return function () { + source.type = type; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.media = function (source) { + return function () { + return source.media; + }; +}; + +exports.setMedia = function (media) { + return function (source) { + return function () { + source.media = media; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLSourceElement.purs b/src/DOM/HTML/HTMLSourceElement.purs new file mode 100644 index 0000000..d4fd22d --- /dev/null +++ b/src/DOM/HTML/HTMLSourceElement.purs @@ -0,0 +1,20 @@ +module DOM.HTML.HTMLSourceElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLSourceElement()) + +-- [NamedConstructor=Audio(optional DOMString src)] + +foreign import src :: forall eff. HTMLSourceElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLSourceElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLSourceElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLSourceElement -> Eff (dom :: DOM | eff) Unit + +foreign import media :: forall eff. HTMLSourceElement -> Eff (dom :: DOM | eff) String +foreign import setMedia :: forall eff. String -> HTMLSourceElement -> Eff (dom :: DOM | eff) Unit + diff --git a/src/DOM/HTML/HTMLStyleElement.js b/src/DOM/HTML/HTMLStyleElement.js new file mode 100644 index 0000000..a45c6e7 --- /dev/null +++ b/src/DOM/HTML/HTMLStyleElement.js @@ -0,0 +1,50 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLStyleElement + +exports.disabled = function (style) { + return function () { + return style.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (style) { + return function () { + style.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.media = function (style) { + return function () { + return style.media; + }; +}; + +exports.setMedia = function (media) { + return function (style) { + return function () { + style.media = media; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (style) { + return function () { + return style.type; + }; +}; + +exports.setType = function (type) { + return function (style) { + return function () { + style.type = type; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLStyleElement.purs b/src/DOM/HTML/HTMLStyleElement.purs new file mode 100644 index 0000000..c1173ae --- /dev/null +++ b/src/DOM/HTML/HTMLStyleElement.purs @@ -0,0 +1,17 @@ +module DOM.HTML.HTMLStyleElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLStyleElement()) + +foreign import disabled :: forall eff. HTMLStyleElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLStyleElement -> Eff (dom :: DOM | eff) Unit + +foreign import media :: forall eff. HTMLStyleElement -> Eff (dom :: DOM | eff) String +foreign import setMedia :: forall eff. String -> HTMLStyleElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLStyleElement -> Eff (dom :: DOM | eff) String +foreign import setType :: forall eff. String -> HTMLStyleElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTableCellElement.js b/src/DOM/HTML/HTMLTableCellElement.js new file mode 100644 index 0000000..6f8e826 --- /dev/null +++ b/src/DOM/HTML/HTMLTableCellElement.js @@ -0,0 +1,42 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableCellElement + +exports.colSpan = function (cell) { + return function () { + return cell.colSpan; + }; +}; + +exports.setSpan = function (colSpan) { + return function (cell) { + return function () { + cell.colSpan = colSpan; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rowSpan = function (cell) { + return function () { + return cell.rowSpan; + }; +}; + +exports.setRowSpan = function (rowSpan) { + return function (cell) { + return function () { + cell.rowSpan = rowSpan; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.cellIndex = function (cell) { + return function () { + return cell.cellIndex; + }; +}; diff --git a/src/DOM/HTML/HTMLTableCellElement.purs b/src/DOM/HTML/HTMLTableCellElement.purs new file mode 100644 index 0000000..286b03e --- /dev/null +++ b/src/DOM/HTML/HTMLTableCellElement.purs @@ -0,0 +1,19 @@ +module DOM.HTML.HTMLTableCellElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableCellElement()) + + +foreign import colSpan :: forall eff. HTMLTableCellElement -> Eff (dom :: DOM | eff) Int +foreign import setColSpan :: forall eff. Int -> HTMLTableCellElement -> Eff (dom :: DOM | eff) Unit + +foreign import rowSpan :: forall eff. HTMLTableCellElement -> Eff (dom :: DOM | eff) Int +foreign import setRowSpan :: forall eff. Int -> HTMLTableCellElement -> Eff (dom :: DOM | eff) Unit + +-- [PutForwards=value] readonly attribute DOMSettableTokenList headers; + +foreign import cellIndex :: forall eff. HTMLTableCellElement -> Eff (dom :: DOM | eff) Int diff --git a/src/DOM/HTML/HTMLTableColElement.js b/src/DOM/HTML/HTMLTableColElement.js new file mode 100644 index 0000000..7bb537d --- /dev/null +++ b/src/DOM/HTML/HTMLTableColElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableColElement + +exports.span = function (col) { + return function () { + return col.span; + }; +}; + +exports.setSpan = function (span) { + return function (col) { + return function () { + col.span = span; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTableColElement.purs b/src/DOM/HTML/HTMLTableColElement.purs new file mode 100644 index 0000000..92e2031 --- /dev/null +++ b/src/DOM/HTML/HTMLTableColElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLTableColElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableColElement()) + +foreign import span :: forall eff. HTMLTableColElement -> Eff (dom :: DOM | eff) Int +foreign import setSpan :: forall eff. Int -> HTMLTableColElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTableElement.js b/src/DOM/HTML/HTMLTableElement.js new file mode 100644 index 0000000..b2476a1 --- /dev/null +++ b/src/DOM/HTML/HTMLTableElement.js @@ -0,0 +1,158 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableElement + +exports.caption = function (table) { + return function () { + return table.caption; + }; +}; + +exports.setCaption = function (caption) { + return function (table) { + return function () { + table.caption = caption; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.createCaption = function (table) { + return function () { + return table.createCaption(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteCaption = function (table) { + return function () { + table.deleteCaption(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.tHead = function (table) { + return function () { + return table.tHead; + }; +}; + +exports.setTHead = function (tHead) { + return function (table) { + return function () { + table.tHead = tHead; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.createTHead = function (table) { + return function () { + return table.createTHead(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteTHead = function (table) { + return function () { + table.deleteTHead(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.tFoot = function (table) { + return function () { + return table.tFoot; + }; +}; + +exports.setTFoot = function (tFoot) { + return function (table) { + return function () { + table.tFoot = tFoot; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.createTFoot = function (table) { + return function () { + return table.createTFoot(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteTFoot = function (table) { + return function () { + table.deleteTFoot(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.tBodies = function (table) { + return function () { + return table.tBodies; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.createTBody = function (table) { + return function () { + return table.createTBody(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rows = function (table) { + return function () { + return table.rows; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["insertRow'"] = function (table) { + return function (index) { + return function () { + return table.insertRow(index); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteRow = function (table) { + return function (index) { + return function () { + table.deleteRow(index); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.border = function (table) { + return function () { + return table.border; + }; +}; + +exports.setBorder = function (border) { + return function (table) { + return function () { + table.border = border; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTableElement.purs b/src/DOM/HTML/HTMLTableElement.purs new file mode 100644 index 0000000..0108303 --- /dev/null +++ b/src/DOM/HTML/HTMLTableElement.purs @@ -0,0 +1,44 @@ +module DOM.HTML.HTMLTableElement where + +import Prelude (Unit(), negate) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableElement(), HTMLTableCaptionElement(), HTMLElement(), HTMLTableSectionElement()) +import DOM.Node.Types (HTMLCollection()) + +foreign import caption :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) (Nullable HTMLTableCaptionElement) +foreign import setCaption :: forall eff. Nullable HTMLTableCaptionElement -> HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import createCaption :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement +foreign import deleteCaption :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import tHead :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) (Nullable HTMLTableSectionElement) +foreign import setTHead :: forall eff. Nullable HTMLTableSectionElement -> HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import createTHead :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement +foreign import deleteTHead :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import tFoot :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) (Nullable HTMLTableSectionElement) +foreign import setTFoot :: forall eff. Nullable HTMLTableSectionElement -> HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import createTFoot :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement +foreign import deleteTFoot :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import tBodies :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLCollection +foreign import createTBody :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement + +foreign import rows :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLCollection + +insertRow :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement +insertRow = insertRow' (-1) + +foreign import insertRow' :: forall eff. Int -> HTMLTableElement -> Eff (dom :: DOM | eff) HTMLElement + +foreign import deleteRow :: forall eff. Int -> HTMLTableElement -> Eff (dom :: DOM | eff) Unit + +foreign import border :: forall eff. HTMLTableElement -> Eff (dom :: DOM | eff) String +foreign import setBorder :: forall eff. String -> HTMLTableElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTableHeaderCellElement.js b/src/DOM/HTML/HTMLTableHeaderCellElement.js new file mode 100644 index 0000000..78cd335 --- /dev/null +++ b/src/DOM/HTML/HTMLTableHeaderCellElement.js @@ -0,0 +1,34 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableHeaderCellElement + +exports.scope = function (cell) { + return function () { + return cell.scope; + }; +}; + +exports.setScope = function (scope) { + return function (cell) { + return function () { + cell.scope = scope; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.abbr = function (cell) { + return function () { + return cell.abbr; + }; +}; + +exports.setAbbr = function (abbr) { + return function (cell) { + return function () { + cell.abbr = abbr; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTableHeaderCellElement.purs b/src/DOM/HTML/HTMLTableHeaderCellElement.purs new file mode 100644 index 0000000..f706919 --- /dev/null +++ b/src/DOM/HTML/HTMLTableHeaderCellElement.purs @@ -0,0 +1,14 @@ +module DOM.HTML.HTMLTableHeaderCellElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableHeaderCellElement()) + +foreign import scope :: forall eff. HTMLTableHeaderCellElement -> Eff (dom :: DOM | eff) String +foreign import setScope :: forall eff. String -> HTMLTableHeaderCellElement -> Eff (dom :: DOM | eff) Unit + +foreign import abbr :: forall eff. HTMLTableHeaderCellElement -> Eff (dom :: DOM | eff) String +foreign import setAbbr :: forall eff. String -> HTMLTableHeaderCellElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTableRowElement.js b/src/DOM/HTML/HTMLTableRowElement.js new file mode 100644 index 0000000..85014fb --- /dev/null +++ b/src/DOM/HTML/HTMLTableRowElement.js @@ -0,0 +1,54 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableRowElement + +exports.rowIndex = function (row) { + return function () { + return row.rowIndex; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.sectionRowIndex = function (row) { + return function () { + return row.sectionRowIndex; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.cells = function (row) { + return function () { + return row.cells; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.cells = function (row) { + return function () { + return row.cells; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["insertCell'"] = function (index) { + return function (row) { + return function () { + return row.insertCell(index); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteCell = function (index) { + return function (row) { + return function () { + row.deleteCell(index); + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTableRowElement.purs b/src/DOM/HTML/HTMLTableRowElement.purs new file mode 100644 index 0000000..2e33198 --- /dev/null +++ b/src/DOM/HTML/HTMLTableRowElement.purs @@ -0,0 +1,22 @@ +module DOM.HTML.HTMLTableRowElement where + +import Prelude (Unit(), negate) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableRowElement(), HTMLElement()) +import DOM.Node.Types (HTMLCollection()) + +foreign import rowIndex :: forall eff. HTMLTableRowElement -> Eff (dom :: DOM | eff) Int + +foreign import sectionRowIndex :: forall eff. HTMLTableRowElement -> Eff (dom :: DOM | eff) Int + +foreign import cells :: forall eff. HTMLTableRowElement -> Eff (dom :: DOM | eff) HTMLCollection + +insertCell :: forall eff. HTMLTableRowElement -> Eff (dom :: DOM | eff) HTMLElement +insertCell = insertCell' (-1) + +foreign import insertCell' :: forall eff. Int -> HTMLTableRowElement -> Eff (dom :: DOM | eff) HTMLElement + +foreign import deleteCell :: forall eff. Int -> HTMLTableRowElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTableSectionElement.js b/src/DOM/HTML/HTMLTableSectionElement.js new file mode 100644 index 0000000..d3db3c4 --- /dev/null +++ b/src/DOM/HTML/HTMLTableSectionElement.js @@ -0,0 +1,30 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTableSectionElement + +exports.rows = function (section) { + return function () { + return section.rows; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["insertRow'"] = function (section) { + return function (index) { + return function () { + return section.insertRow(index); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.deleteRow = function (section) { + return function (index) { + return function () { + section.deleteRow(index); + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTableSectionElement.purs b/src/DOM/HTML/HTMLTableSectionElement.purs new file mode 100644 index 0000000..5ad1c6b --- /dev/null +++ b/src/DOM/HTML/HTMLTableSectionElement.purs @@ -0,0 +1,18 @@ +module DOM.HTML.HTMLTableSectionElement where + +import Prelude (Unit(), negate) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTableSectionElement(), HTMLElement()) +import DOM.Node.Types (HTMLCollection()) + +foreign import rows :: forall eff. HTMLTableSectionElement -> Eff (dom :: DOM | eff) HTMLCollection + +insertRow :: forall eff. HTMLTableSectionElement -> Eff (dom :: DOM | eff) HTMLElement +insertRow = insertRow' (-1) + +foreign import insertRow' :: forall eff. Int -> HTMLTableSectionElement -> Eff (dom :: DOM | eff) HTMLElement + +foreign import deleteRow :: forall eff. Int -> HTMLTableSectionElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTemplateElement.js b/src/DOM/HTML/HTMLTemplateElement.js new file mode 100644 index 0000000..f2dbe67 --- /dev/null +++ b/src/DOM/HTML/HTMLTemplateElement.js @@ -0,0 +1,10 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTemplateElement + +exports.content = function (template) { + return function () { + return template.content; + }; +}; diff --git a/src/DOM/HTML/HTMLTemplateElement.purs b/src/DOM/HTML/HTMLTemplateElement.purs new file mode 100644 index 0000000..c210dd4 --- /dev/null +++ b/src/DOM/HTML/HTMLTemplateElement.purs @@ -0,0 +1,9 @@ +module DOM.HTML.HTMLTemplateElement where + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTemplateElement()) +import DOM.Node.Types (DocumentFragment()) + +foreign import content :: forall eff. HTMLTemplateElement -> Eff (dom :: DOM | eff) DocumentFragment diff --git a/src/DOM/HTML/HTMLTextAreaElement.js b/src/DOM/HTML/HTMLTextAreaElement.js new file mode 100644 index 0000000..edbc9b3 --- /dev/null +++ b/src/DOM/HTML/HTMLTextAreaElement.js @@ -0,0 +1,410 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTextAreaElement + +exports.autocomplete = function (textarea) { + return function () { + return textarea.autocomplete; + }; +}; + +exports.setAutocomplete = function (autocomplete) { + return function (textarea) { + return function () { + textarea.autocomplete = autocomplete; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.autofocus = function (textarea) { + return function () { + return textarea.autofocus; + }; +}; + +exports.setAutofocus = function (autofocus) { + return function (textarea) { + return function () { + textarea.autofocus = autofocus; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.cols = function (textarea) { + return function () { + return textarea.cols; + }; +}; + +exports.setCols = function (cols) { + return function (textarea) { + return function () { + textarea.cols = cols; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.dirName = function (textarea) { + return function () { + return textarea.dirName; + }; +}; + +exports.setDirName = function (dirName) { + return function (textarea) { + return function () { + textarea.dirName = dirName; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.disabled = function (textarea) { + return function () { + return textarea.disabled; + }; +}; + +exports.setDisabled = function (disabled) { + return function (textarea) { + return function () { + textarea.disabled = disabled; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.form = function (textarea) { + return function () { + return textarea.form; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.maxLength = function (textarea) { + return function () { + return textarea.maxLength; + }; +}; + +exports.setMaxLength = function (maxLength) { + return function (textarea) { + return function () { + textarea.maxLength = maxLength; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.minLength = function (textarea) { + return function () { + return textarea.minLength; + }; +}; + +exports.setMinLength = function (minLength) { + return function (textarea) { + return function () { + textarea.minLength = minLength; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.name = function (textarea) { + return function () { + return textarea.name; + }; +}; + +exports.setName = function (name) { + return function (textarea) { + return function () { + textarea.name = name; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.placeholder = function (textarea) { + return function () { + return textarea.placeholder; + }; +}; + +exports.setPlaceholder = function (placeholder) { + return function (textarea) { + return function () { + textarea.placeholder = placeholder; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.readOnly = function (textarea) { + return function () { + return textarea.readOnly; + }; +}; + +exports.setReadOnly = function (readOnly) { + return function (textarea) { + return function () { + textarea.readOnly = readOnly; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.required = function (textarea) { + return function () { + return textarea.required; + }; +}; + +exports.setRequired = function (required) { + return function (textarea) { + return function () { + textarea.required = required; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.rows = function (textarea) { + return function () { + return textarea.rows; + }; +}; + +exports.setRows = function (rows) { + return function (textarea) { + return function () { + textarea.rows = rows; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.wrap = function (textarea) { + return function () { + return textarea.wrap; + }; +}; + +exports.setWrap = function (wrap) { + return function (textarea) { + return function () { + textarea.wrap = wrap; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.type_ = function (textarea) { + return function () { + return textarea.type; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.defaultValue = function (textarea) { + return function () { + return textarea.defaultValue; + }; +}; + +exports.setDefaultValue = function (defaultValue) { + return function (textarea) { + return function () { + textarea.defaultValue = defaultValue; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.value = function (textarea) { + return function () { + return textarea.value; + }; +}; + +exports.setValue = function (value) { + return function (textarea) { + return function () { + textarea.value = value; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.textLength = function (textarea) { + return function () { + return textarea.textLength; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.willValidate = function (textarea) { + return function () { + return textarea.willValidate; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validity = function (textarea) { + return function () { + return textarea.validity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.validationMessage = function (textarea) { + return function () { + return textarea.validationMessage; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.checkValidity = function (textarea) { + return function () { + return textarea.checkValidity; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setCustomValidity = function (value) { + return function (textarea) { + return function () { + textarea.setCustomValidity(value); + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.labels = function (textarea) { + return function () { + return textarea.labels; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.select = function (textarea) { + return function () { + textarea.select(); + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionStart = function (textarea) { + return function () { + return textarea.selectionStart; + }; +}; + +exports.setSelectionStart = function (selectionStart) { + return function (textarea) { + return function () { + textarea.selectionStart = selectionStart; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionEnd = function (textarea) { + return function () { + return textarea.selectionEnd; + }; +}; + +exports.setSelectionEnd = function (selectionEnd) { + return function (textarea) { + return function () { + textarea.selectionEnd = selectionEnd; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.selectionDirection = function (textarea) { + return function () { + return textarea.selectionDirection; + }; +}; + +exports.setSelectionDirection = function (selectionDirection) { + return function (textarea) { + return function () { + textarea.selectionDirection = selectionDirection; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setRangeText = function (replacement) { + return function (textarea) { + return function () { + textarea.setRangeText(replacement); + }; + }; +}; + +exports["setRangeText'"] = function (replacement) { + return function (start) { + return function (end) { + return function (selectionMode) { + return function (textarea) { + return function () { + textarea.setRangeText(replacement); + }; + }; + }; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.setSelectionRange = function (start) { + return function (end) { + return function (direction) { + return function (textarea) { + return function () { + textarea.setRangeText(replacement); + }; + }; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTextAreaElement.purs b/src/DOM/HTML/HTMLTextAreaElement.purs new file mode 100644 index 0000000..1ae939e --- /dev/null +++ b/src/DOM/HTML/HTMLTextAreaElement.purs @@ -0,0 +1,91 @@ +module DOM.HTML.HTMLTextAreaElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import Data.Nullable (Nullable()) + +import DOM (DOM()) +import DOM.HTML.SelectionMode (SelectionMode()) +import DOM.HTML.Types (HTMLTextAreaElement(), HTMLFormElement(), ValidityState()) +import DOM.Node.Types (NodeList()) + +foreign import autocomplete :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setAutocomplete :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import autofocus :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setAutofocus :: forall eff. Boolean -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import cols :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setCols :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import dirName :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setDirName :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import disabled :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDisabled :: forall eff. Boolean -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import form :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) (Nullable HTMLFormElement) + +foreign import maxLength :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setMaxLength :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import minLength :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setMinLength :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import name :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setName :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import placeholder :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setPlaceholder :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import readOnly :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setReadOnly :: forall eff. Boolean -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import required :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean +foreign import setRequired :: forall eff. Boolean -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import rows :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setRows :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import wrap :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setWrap :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import type_ :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String + +foreign import defaultValue :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setDefaultValue :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import value :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setValue :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import textLength :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int + +foreign import willValidate :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean + +foreign import validity :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) ValidityState + +foreign import validationMessage :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String + +foreign import checkValidity :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Boolean + +foreign import setCustomValidity :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import labels :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) NodeList + +foreign import select :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionStart :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setSelectionStart :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionEnd :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) Int +foreign import setSelectionEnd :: forall eff. Int -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import selectionDirection :: forall eff. HTMLTextAreaElement -> Eff (dom :: DOM | eff) String +foreign import setSelectionDirection :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import setRangeText :: forall eff. String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit +foreign import setRangeText' :: forall eff. String -> Int -> Int -> SelectionMode -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit + +foreign import setSelectionRange :: forall eff. Int -> Int -> String -> HTMLTextAreaElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTimeElement.js b/src/DOM/HTML/HTMLTimeElement.js new file mode 100644 index 0000000..6dca740 --- /dev/null +++ b/src/DOM/HTML/HTMLTimeElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTimeElement + +exports.dateTime = function (time) { + return function () { + return time.dateTime; + }; +}; + +exports.setDateTime = function (dateTime) { + return function (time) { + return function () { + time.dateTime = dateTime; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTimeElement.purs b/src/DOM/HTML/HTMLTimeElement.purs new file mode 100644 index 0000000..c2f7178 --- /dev/null +++ b/src/DOM/HTML/HTMLTimeElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLTimeElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTimeElement()) + +foreign import dateTime :: forall eff. HTMLTimeElement -> Eff (dom :: DOM | eff) String +foreign import setDateTime :: forall eff. String -> HTMLTimeElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTitleElement.js b/src/DOM/HTML/HTMLTitleElement.js new file mode 100644 index 0000000..48478d8 --- /dev/null +++ b/src/DOM/HTML/HTMLTitleElement.js @@ -0,0 +1,18 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTitleElement + +exports.text = function (title) { + return function () { + return title.text; + }; +}; + +exports.setText = function (text) { + return function (title) { + return function () { + title.text = text; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLTitleElement.purs b/src/DOM/HTML/HTMLTitleElement.purs new file mode 100644 index 0000000..81fb195 --- /dev/null +++ b/src/DOM/HTML/HTMLTitleElement.purs @@ -0,0 +1,11 @@ +module DOM.HTML.HTMLTitleElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLTitleElement()) + +foreign import text :: forall eff. HTMLTitleElement -> Eff (dom :: DOM | eff) String +foreign import setText :: forall eff. String -> HTMLTitleElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/HTMLTrackElement.js b/src/DOM/HTML/HTMLTrackElement.js new file mode 100644 index 0000000..57d27bc --- /dev/null +++ b/src/DOM/HTML/HTMLTrackElement.js @@ -0,0 +1,90 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLTrackElement + +exports.kind = function (track) { + return function () { + return track.kind; + }; +}; + +exports.setKind = function (kind) { + return function (track) { + return function () { + track.kind = kind; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.src = function (track) { + return function () { + return track.src; + }; +}; + +exports.setSrc = function (src) { + return function (track) { + return function () { + track.src = src; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.srclang = function (track) { + return function () { + return track.srclang; + }; +}; + +exports.setSrclang = function (srclang) { + return function (track) { + return function () { + track.srclang = srclang; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.label = function (track) { + return function () { + return track.label; + }; +}; + +exports.setLabel = function (label) { + return function (track) { + return function () { + track.label = label; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports["default"] = function (track) { + return function () { + return track["default"]; + }; +}; + +exports.setDefault = function (def) { + return function (track) { + return function () { + track["default"] = def; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.readyStateIndex = function (track) { + return function () { + return track.readyState; + }; +}; diff --git a/src/DOM/HTML/HTMLTrackElement.purs b/src/DOM/HTML/HTMLTrackElement.purs new file mode 100644 index 0000000..cf84960 --- /dev/null +++ b/src/DOM/HTML/HTMLTrackElement.purs @@ -0,0 +1,34 @@ +module DOM.HTML.HTMLTrackElement where + +import Prelude (Unit(), (<<<), map) + +import Control.Monad.Eff (Eff()) + +import Data.Enum (toEnum) +import Data.Maybe.Unsafe as U + +import DOM (DOM()) +import DOM.HTML.HTMLTrackElement.ReadyState (ReadyState()) +import DOM.HTML.Types (HTMLTrackElement()) + +foreign import kind :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) String +foreign import setKind :: forall eff. String -> HTMLTrackElement -> Eff (dom :: DOM | eff) Unit + +foreign import src :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) String +foreign import setSrc :: forall eff. String -> HTMLTrackElement -> Eff (dom :: DOM | eff) Unit + +foreign import srclang :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) String +foreign import setSrclang :: forall eff. String -> HTMLTrackElement -> Eff (dom :: DOM | eff) Unit + +foreign import label :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) String +foreign import setLabel :: forall eff. String -> HTMLTrackElement -> Eff (dom :: DOM | eff) Unit + +foreign import default :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) Boolean +foreign import setDefault :: forall eff. Boolean -> HTMLTrackElement -> Eff (dom :: DOM | eff) Unit + +readyState :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) ReadyState +readyState = map (U.fromJust <<< toEnum) <<< readyStateIndex + +foreign import readyStateIndex :: forall eff. HTMLTrackElement -> Eff (dom :: DOM | eff) Int + +-- readonly attribute TextTrack track; diff --git a/src/DOM/HTML/HTMLTrackElement/ReadyState.purs b/src/DOM/HTML/HTMLTrackElement/ReadyState.purs new file mode 100644 index 0000000..c56b47c --- /dev/null +++ b/src/DOM/HTML/HTMLTrackElement/ReadyState.purs @@ -0,0 +1,53 @@ +module DOM.HTML.HTMLTrackElement.ReadyState (ReadyState(..)) where + +import Prelude +import Data.Maybe (Maybe(..)) +import Data.Enum (Enum, Cardinality(..), defaultSucc, defaultPred) + +data ReadyState + = NONE + | LOADING + | LOADED + | ERROR + +instance eqReadyState :: Eq ReadyState where + eq NONE NONE = true + eq LOADING LOADING = true + eq LOADED LOADED = true + eq ERROR ERROR = true + eq _ _ = false + +instance ordReadyState :: Ord ReadyState where + compare x y = compare (fromEnumReadyState x) (fromEnumReadyState y) + +instance boundedReadyState :: Bounded ReadyState where + bottom = NONE + top = ERROR + +instance boundedOrdReadyState :: BoundedOrd ReadyState + +instance enumReadyState :: Enum ReadyState where + cardinality = Cardinality 4 + succ = defaultSucc toEnumReadyState fromEnumReadyState + pred = defaultPred toEnumReadyState fromEnumReadyState + toEnum = toEnumReadyState + fromEnum = fromEnumReadyState + +instance showReadyState :: Show ReadyState where + show NONE = "NONE" + show LOADING = "LOADING" + show LOADED = "LOADED" + show ERROR = "ERROR" + +toEnumReadyState :: Int -> Maybe ReadyState +toEnumReadyState 0 = Just NONE +toEnumReadyState 1 = Just LOADING +toEnumReadyState 2 = Just LOADED +toEnumReadyState 3 = Just ERROR +toEnumReadyState _ = Nothing + +fromEnumReadyState :: ReadyState -> Int +fromEnumReadyState NONE = 0 +fromEnumReadyState LOADING = 1 +fromEnumReadyState LOADED = 2 +fromEnumReadyState ERROR = 3 diff --git a/src/DOM/HTML/HTMLVideoElement.js b/src/DOM/HTML/HTMLVideoElement.js new file mode 100644 index 0000000..2edc029 --- /dev/null +++ b/src/DOM/HTML/HTMLVideoElement.js @@ -0,0 +1,68 @@ +/* global exports */ +"use strict"; + +// module DOM.HTML.HTMLVideoElement + +// ---------------------------------------------------------------------------- + +exports.width = function (video) { + return function () { + return video.width; + }; +}; + +exports.setWidth = function (width) { + return function (video) { + return function () { + video.width = width; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.height = function (video) { + return function () { + return video.height; + }; +}; + +exports.setHeight = function (height) { + return function (video) { + return function () { + video.height = height; + }; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.videoWidth = function (video) { + return function () { + return video.videoWidth; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.videoHeight = function (video) { + return function () { + return video.videoHeight; + }; +}; + +// ---------------------------------------------------------------------------- + +exports.poster = function (video) { + return function () { + return video.poster; + }; +}; + +exports.setPoster = function (poster) { + return function (video) { + return function () { + video.poster = poster; + }; + }; +}; diff --git a/src/DOM/HTML/HTMLVideoElement.purs b/src/DOM/HTML/HTMLVideoElement.purs new file mode 100644 index 0000000..4bae46a --- /dev/null +++ b/src/DOM/HTML/HTMLVideoElement.purs @@ -0,0 +1,20 @@ +module DOM.HTML.HTMLVideoElement where + +import Prelude (Unit()) + +import Control.Monad.Eff (Eff()) + +import DOM (DOM()) +import DOM.HTML.Types (HTMLVideoElement()) + +foreign import width :: forall eff. HTMLVideoElement -> Eff (dom :: DOM | eff) Int +foreign import setWidth :: forall eff. Int -> HTMLVideoElement -> Eff (dom :: DOM | eff) Unit + +foreign import height :: forall eff. HTMLVideoElement -> Eff (dom :: DOM | eff) Int +foreign import setHeight :: forall eff. Int -> HTMLVideoElement -> Eff (dom :: DOM | eff) Unit + +foreign import videoWidth :: forall eff. HTMLVideoElement -> Eff (dom :: DOM | eff) Int +foreign import videoHeight :: forall eff. HTMLVideoElement -> Eff (dom :: DOM | eff) Int + +foreign import poster :: forall eff. HTMLVideoElement -> Eff (dom :: DOM | eff) String +foreign import setPoster :: forall eff. String -> HTMLVideoElement -> Eff (dom :: DOM | eff) Unit diff --git a/src/DOM/HTML/Location.js b/src/DOM/HTML/Location.js index 7037e87..6c9e2f9 100644 --- a/src/DOM/HTML/Location.js +++ b/src/DOM/HTML/Location.js @@ -17,6 +17,8 @@ exports.setHash = function (hash) { }; }; +// ---------------------------------------------------------------------------- + exports.host = function (location) { return function () { return location.host; @@ -31,6 +33,8 @@ exports.setHost = function (host) { }; }; +// ---------------------------------------------------------------------------- + exports.hostname = function (location) { return function () { return location.hostname; @@ -45,6 +49,8 @@ exports.setHostname = function (hostname) { }; }; +// ---------------------------------------------------------------------------- + exports.href = function (location) { return function () { return location.href; @@ -59,6 +65,8 @@ exports.setHref = function (href) { }; }; +// ---------------------------------------------------------------------------- + exports.origin = function (location) { return function () { return location.origin; @@ -73,6 +81,8 @@ exports.setOrigin = function (origin) { }; }; +// ---------------------------------------------------------------------------- + exports.pathname = function (location) { return function () { return location.pathname; @@ -87,6 +97,8 @@ exports.setPathname = function (pathname) { }; }; +// ---------------------------------------------------------------------------- + exports.port = function (location) { return function () { return location.port; @@ -101,6 +113,8 @@ exports.setPort = function (port) { }; }; +// ---------------------------------------------------------------------------- + exports.protocol = function (location) { return function () { return location.protocol; @@ -115,6 +129,8 @@ exports.setProtocol = function (protocol) { }; }; +// ---------------------------------------------------------------------------- + exports.search = function (location) { return function () { return location.search; @@ -129,6 +145,8 @@ exports.setSearch = function (search) { }; }; +// ---------------------------------------------------------------------------- + exports.assign = function (url) { return function (location) { return function () { @@ -137,6 +155,8 @@ exports.assign = function (url) { }; }; +// ---------------------------------------------------------------------------- + exports.replace = function (url) { return function (location) { return function () { @@ -145,6 +165,8 @@ exports.replace = function (url) { }; }; +// ---------------------------------------------------------------------------- + exports.reload = function (location) { return function() { location.reload(); diff --git a/src/DOM/HTML/SelectionMode.purs b/src/DOM/HTML/SelectionMode.purs new file mode 100644 index 0000000..13b9077 --- /dev/null +++ b/src/DOM/HTML/SelectionMode.purs @@ -0,0 +1,36 @@ +module DOM.HTML.SelectionMode + ( SelectionMode() + , runSelectionMode + , select + , start + , end + , preserve + ) where + +import Prelude + +newtype SelectionMode = SelectionMode String + +runSelectionMode :: SelectionMode -> String +runSelectionMode (SelectionMode m) = m + +instance eqSelectionMode :: Eq SelectionMode where + eq (SelectionMode x) (SelectionMode y) = x == y + +instance ordSelectionMode :: Ord SelectionMode where + compare (SelectionMode x) (SelectionMode y) = compare x y + +instance showSelectionMode :: Show SelectionMode where + show (SelectionMode m) = "(SelectionMode " <> show m <> ")" + +select :: SelectionMode +select = SelectionMode "select" + +start :: SelectionMode +start = SelectionMode "start" + +end :: SelectionMode +end = SelectionMode "end" + +preserve :: SelectionMode +preserve = SelectionMode "preserve" diff --git a/src/DOM/HTML/Types.purs b/src/DOM/HTML/Types.purs index 0a104da..2908aad 100644 --- a/src/DOM/HTML/Types.purs +++ b/src/DOM/HTML/Types.purs @@ -1,6 +1,8 @@ -- http://www.w3.org/TR/html5 module DOM.HTML.Types - ( Window() + ( Navigator() + , Location() + , Window() , windowToEventTarget , HTMLDocument() , htmlDocumentToDocument @@ -9,7 +11,6 @@ module DOM.HTML.Types , htmlDocumentToNode , htmlDocumentToEventTarget , readHTMLDocument - , Navigator() , HTMLElement() , htmlElementToElement , htmlElementToParentNode @@ -17,10 +18,196 @@ module DOM.HTML.Types , htmlElementToNode , htmlElementToEventTarget , readHTMLElement - , Location() + , HTMLHtmlElement() + , htmlHtmlElementToHTMLElement + , readHTMLHtmlElement + , HTMLHeadElement() + , htmlHeadElementToHTMLElement + , readHTMLHeadElement + , HTMLTitleElement() + , htmlTitleElementToHTMLElement + , readHTMLTitleElement + , HTMLBaseElement() + , htmlBaseElementToHTMLElement + , readHTMLBaseElement + , HTMLLinkElement() + , htmlLinkElementToHTMLElement + , readHTMLLinkElement + , HTMLMetaElement() + , htmlMetaElementToHTMLElement + , readHTMLMetaElement + , HTMLStyleElement() + , htmlStyleElementToHTMLElement + , readHTMLStyleElement + , HTMLBodyElement() + , htmlBodyElementToHTMLElement + , readHTMLBodyElement + , HTMLHeadingElement() + , htmlHeadingElementToHTMLElement + , readHTMLHeadingElement + , HTMLParagraphElement() + , htmlParagraphElementToHTMLElement + , readHTMLParagraphElement + , HTMLHRElement() + , htmlHRElementToHTMLElement + , readHTMLHRElement + , HTMLPreElement() + , htmlPreElementToHTMLElement + , readHTMLPreElement + , HTMLQuoteElement() + , htmlQuoteElementToHTMLElement + , readHTMLQuoteElement + , HTMLOListElement() + , htmlOListElementToHTMLElement + , readHTMLOListElement + , HTMLUListElement() + , htmlUListElementToHTMLElement + , readHTMLUListElement + , HTMLLIElement() + , htmlLIElementToHTMLElement + , readHTMLLIElement + , HTMLDListElement() + , htmlDListElementToHTMLElement + , readHTMLDListElement + , HTMLDivElement() + , htmlDivElementToHTMLElement + , readHTMLDivElement + , HTMLAnchorElement() + , htmlAnchorElementToHTMLElement + , readHTMLAnchorElement + , HTMLDataElement() + , htmlDataElementToHTMLElement + , readHTMLDataElement + , HTMLTimeElement() + , htmlTimeElementToHTMLElement + , readHTMLTimeElement + , HTMLSpanElement() + , htmlSpanElementToHTMLElement + , readHTMLSpanElement + , HTMLBRElement() + , htmlBRElementToHTMLElement + , readHTMLBRElement + , HTMLModElement() + , htmlModElementToHTMLElement + , readHTMLModElement + , HTMLImageElement() + , htmlImageElementToHTMLElement + , readHTMLImageElement + , HTMLIFrameElement() + , htmlIFrameElementToHTMLElement + , readHTMLIFrameElement + , HTMLEmbedElement() + , htmlEmbedElementToHTMLElement + , readHTMLEmbedElement + , HTMLObjectElement() + , htmlObjectElementToHTMLElement + , readHTMLObjectElement + , HTMLParamElement() + , htmlParamElementToHTMLElement + , readHTMLParamElement + , HTMLMediaElement() + , htmlMediaElementToHTMLElement + , readHTMLMediaElement + , HTMLAudioElement() + , htmlAudioElementToHTMLMediaElement + , readHTMLAudioElement + , HTMLVideoElement() + , htmlVideoElementToHTMLMediaElement + , readHTMLVideoElement + , HTMLSourceElement() + , htmlSourceElementToHTMLElement + , readHTMLSourceElement + , HTMLTrackElement() + , htmlTrackElementToHTMLElement + , readHTMLTrackElement + , HTMLMapElement() + , htmlMapElementToHTMLElement + , readHTMLMapElement + , HTMLAreaElement() + , htmlAreaElementToHTMLElement + , readHTMLAreaElement + , HTMLTableElement() + , htmlTableElementToHTMLElement + , readHTMLTableElement + , HTMLTableCaptionElement() + , htmlTableCaptionElementToHTMLElement + , readHTMLTableCaptionElement + , HTMLTableColElement() + , htmlTableColElementToHTMLElement + , readHTMLTableColElement + , HTMLTableSectionElement() + , htmlTableSectionElementToHTMLElement + , readHTMLTableSectionElement + , HTMLTableRowElement() + , htmlTableRowElementToHTMLElement + , readHTMLTableRowElement + , HTMLTableCellElement() + , htmlTableCellElementToHTMLElement + , readHTMLTableCellElement + , HTMLTableDataCellElement() + , htmlTableDataCellElementToHTMLTableCellElement + , readHTMLTableDataCellElement + , HTMLTableHeaderCellElement() + , htmlTableHeaderCellElementToHTMLTableCellElement + , readHTMLTableHeaderCellElement + , HTMLFormElement() + , htmlFormElementToHTMLElement + , readHTMLFormElement + , HTMLLabelElement() + , htmlLabelElementToHTMLElement + , readHTMLLabelElement + , HTMLInputElement() + , htmlInputElementToHTMLElement + , readHTMLInputElement + , HTMLButtonElement() + , htmlButtonElementToHTMLElement + , readHTMLButtonElement + , HTMLSelectElement() + , htmlSelectElementToHTMLElement + , readHTMLSelectElement + , HTMLDataListElement() + , htmlDataListElementToHTMLElement + , readHTMLDataListElement + , HTMLOptGroupElement() + , htmlOptGroupElementToHTMLElement + , readHTMLOptGroupElement + , HTMLOptionElement() + , htmlOptionElementToHTMLElement + , readHTMLOptionElement + , HTMLTextAreaElement() + , htmlTextAreaElementToHTMLElement + , readHTMLTextAreaElement + , HTMLKeygenElement() + , htmlKeygenElementToHTMLElement + , readHTMLKeygenElement + , HTMLOutputElement() + , htmlOutputElementToHTMLElement + , readHTMLOutputElement + , HTMLProgressElement() + , htmlProgressElementToHTMLElement + , readHTMLProgressElement + , HTMLMeterElement() + , htmlMeterElementToHTMLElement + , readHTMLMeterElement + , HTMLFieldSetElement() + , htmlFieldSetElementToHTMLElement + , readHTMLFieldSetElement + , HTMLLegendElement() + , htmlLegendElementToHTMLElement + , readHTMLLegendElement + , HTMLScriptElement() + , htmlScriptElementToHTMLElement + , readHTMLScriptElement + , HTMLTemplateElement() + , htmlTemplateElementToHTMLElement + , readHTMLTemplateElement + , HTMLCanvasElement() + , htmlCanvasElementToHTMLElement + , readHTMLCanvasElement + , ValidityState() ) where -import Prelude +import Prelude ((<<<)) import Data.Either (Either(..)) import Data.Foreign (Foreign(), F(), ForeignError(..), unsafeReadTagged) @@ -29,7 +216,11 @@ import Data.Foreign.Class (IsForeign) import DOM.Event.Types import DOM.Node.Types -import qualified Unsafe.Coerce as U +import Unsafe.Coerce as U + +foreign import data Navigator :: * + +foreign import data Location :: * foreign import data Window :: * @@ -59,7 +250,7 @@ readHTMLDocument = unsafeReadTagged "HTMLDocument" instance isForeignHTMLDocument :: IsForeign HTMLDocument where read = readHTMLDocument -foreign import data Navigator :: * +-- The generic HTML element foreign import data HTMLElement :: * @@ -78,7 +269,11 @@ htmlElementToNode = U.unsafeCoerce htmlElementToEventTarget :: HTMLElement -> EventTarget htmlElementToEventTarget = U.unsafeCoerce -foreign import _readHTMLElement :: (forall a. String -> F a) -> (forall a. a -> F a) -> Foreign -> F HTMLElement +foreign import _readHTMLElement + :: (forall a. String -> F a) + -> (forall a. a -> F a) + -> Foreign + -> F HTMLElement readHTMLElement :: Foreign -> F HTMLElement readHTMLElement = _readHTMLElement (Left <<< TypeMismatch "HTMLElement") Right @@ -86,4 +281,686 @@ readHTMLElement = _readHTMLElement (Left <<< TypeMismatch "HTMLElement") Right instance isForeignHTMLElement :: IsForeign HTMLElement where read = readHTMLElement -foreign import data Location :: * +-- The root element + +foreign import data HTMLHtmlElement :: * + +htmlHtmlElementToHTMLElement :: HTMLHtmlElement -> HTMLElement +htmlHtmlElementToHTMLElement = U.unsafeCoerce + +readHTMLHtmlElement :: Foreign -> F HTMLHtmlElement +readHTMLHtmlElement = unsafeReadTagged "HTMLHtmlElement" + +instance isForeignHTMLHtmlElement :: IsForeign HTMLHtmlElement where + read = readHTMLHtmlElement + +-- Document metadata + +foreign import data HTMLHeadElement :: * + +htmlHeadElementToHTMLElement :: HTMLHeadElement -> HTMLElement +htmlHeadElementToHTMLElement = U.unsafeCoerce + +readHTMLHeadElement :: Foreign -> F HTMLHeadElement +readHTMLHeadElement = unsafeReadTagged "HTMLHeadElement" + +instance isForeignHTMLHeadElement :: IsForeign HTMLHeadElement where + read = readHTMLHeadElement + +foreign import data HTMLTitleElement :: * + +htmlTitleElementToHTMLElement :: HTMLTitleElement -> HTMLElement +htmlTitleElementToHTMLElement = U.unsafeCoerce + +readHTMLTitleElement :: Foreign -> F HTMLTitleElement +readHTMLTitleElement = unsafeReadTagged "HTMLTitleElement" + +instance isForeignHTMLTitleElement :: IsForeign HTMLTitleElement where + read = readHTMLTitleElement + +foreign import data HTMLBaseElement :: * + +htmlBaseElementToHTMLElement :: HTMLBaseElement -> HTMLElement +htmlBaseElementToHTMLElement = U.unsafeCoerce + +readHTMLBaseElement :: Foreign -> F HTMLBaseElement +readHTMLBaseElement = unsafeReadTagged "HTMLBaseElement" + +instance isForeignHTMLBaseElement :: IsForeign HTMLBaseElement where + read = readHTMLBaseElement + +foreign import data HTMLLinkElement :: * + +htmlLinkElementToHTMLElement :: HTMLLinkElement -> HTMLElement +htmlLinkElementToHTMLElement = U.unsafeCoerce + +readHTMLLinkElement :: Foreign -> F HTMLLinkElement +readHTMLLinkElement = unsafeReadTagged "HTMLLinkElement" + +instance isForeignHTMLLinkElement :: IsForeign HTMLLinkElement where + read = readHTMLLinkElement + +foreign import data HTMLMetaElement :: * + +htmlMetaElementToHTMLElement :: HTMLMetaElement -> HTMLElement +htmlMetaElementToHTMLElement = U.unsafeCoerce + +readHTMLMetaElement :: Foreign -> F HTMLMetaElement +readHTMLMetaElement = unsafeReadTagged "HTMLMetaElement" + +instance isForeignHTMLMetaElement :: IsForeign HTMLMetaElement where + read = readHTMLMetaElement + +foreign import data HTMLStyleElement :: * + +htmlStyleElementToHTMLElement :: HTMLStyleElement -> HTMLElement +htmlStyleElementToHTMLElement = U.unsafeCoerce + +readHTMLStyleElement :: Foreign -> F HTMLStyleElement +readHTMLStyleElement = unsafeReadTagged "HTMLStyleElement" + +instance isForeignHTMLStyleElement :: IsForeign HTMLStyleElement where + read = readHTMLStyleElement + +-- Sections + +foreign import data HTMLBodyElement :: * + +htmlBodyElementToHTMLElement :: HTMLBodyElement -> HTMLElement +htmlBodyElementToHTMLElement = U.unsafeCoerce + +readHTMLBodyElement :: Foreign -> F HTMLBodyElement +readHTMLBodyElement = unsafeReadTagged "HTMLBodyElement" + +instance isForeignHTMLBodyElement :: IsForeign HTMLBodyElement where + read = readHTMLBodyElement + +foreign import data HTMLHeadingElement :: * + +htmlHeadingElementToHTMLElement :: HTMLHeadingElement -> HTMLElement +htmlHeadingElementToHTMLElement = U.unsafeCoerce + +readHTMLHeadingElement :: Foreign -> F HTMLHeadingElement +readHTMLHeadingElement = unsafeReadTagged "HTMLHeadingElement" + +instance isForeignHTMLHeadingElement :: IsForeign HTMLHeadingElement where + read = readHTMLHeadingElement + +-- Grouping content + +foreign import data HTMLParagraphElement :: * + +htmlParagraphElementToHTMLElement :: HTMLParagraphElement -> HTMLElement +htmlParagraphElementToHTMLElement = U.unsafeCoerce + +readHTMLParagraphElement :: Foreign -> F HTMLParagraphElement +readHTMLParagraphElement = unsafeReadTagged "HTMLParagraphElement" + +instance isForeignHTMLParagraphElement :: IsForeign HTMLParagraphElement where + read = readHTMLParagraphElement + +foreign import data HTMLHRElement :: * + +htmlHRElementToHTMLElement :: HTMLHRElement -> HTMLElement +htmlHRElementToHTMLElement = U.unsafeCoerce + +readHTMLHRElement :: Foreign -> F HTMLHRElement +readHTMLHRElement = unsafeReadTagged "HTMLHRElement" + +instance isForeignHTMLHRElement :: IsForeign HTMLHRElement where + read = readHTMLHRElement + +foreign import data HTMLPreElement :: * + +htmlPreElementToHTMLElement :: HTMLPreElement -> HTMLElement +htmlPreElementToHTMLElement = U.unsafeCoerce + +readHTMLPreElement :: Foreign -> F HTMLPreElement +readHTMLPreElement = unsafeReadTagged "HTMLPreElement" + +instance isForeignHTMLPreElement :: IsForeign HTMLPreElement where + read = readHTMLPreElement + +foreign import data HTMLQuoteElement :: * + +htmlQuoteElementToHTMLElement :: HTMLQuoteElement -> HTMLElement +htmlQuoteElementToHTMLElement = U.unsafeCoerce + +readHTMLQuoteElement :: Foreign -> F HTMLQuoteElement +readHTMLQuoteElement = unsafeReadTagged "HTMLQuoteElement" + +instance isForeignHTMLQuoteElement :: IsForeign HTMLQuoteElement where + read = readHTMLQuoteElement + +foreign import data HTMLOListElement :: * + +htmlOListElementToHTMLElement :: HTMLOListElement -> HTMLElement +htmlOListElementToHTMLElement = U.unsafeCoerce + +readHTMLOListElement :: Foreign -> F HTMLOListElement +readHTMLOListElement = unsafeReadTagged "HTMLOListElement" + +instance isForeignHTMLOListElement :: IsForeign HTMLOListElement where + read = readHTMLOListElement + +foreign import data HTMLUListElement :: * + +htmlUListElementToHTMLElement :: HTMLUListElement -> HTMLElement +htmlUListElementToHTMLElement = U.unsafeCoerce + +readHTMLUListElement :: Foreign -> F HTMLUListElement +readHTMLUListElement = unsafeReadTagged "HTMLUListElement" + +instance isForeignHTMLUListElement :: IsForeign HTMLUListElement where + read = readHTMLUListElement + +foreign import data HTMLLIElement :: * + +htmlLIElementToHTMLElement :: HTMLLIElement -> HTMLElement +htmlLIElementToHTMLElement = U.unsafeCoerce + +readHTMLLIElement :: Foreign -> F HTMLLIElement +readHTMLLIElement = unsafeReadTagged "HTMLLIElement" + +instance isForeignHTMLLIElement :: IsForeign HTMLLIElement where + read = readHTMLLIElement + +foreign import data HTMLDListElement :: * + +htmlDListElementToHTMLElement :: HTMLDListElement -> HTMLElement +htmlDListElementToHTMLElement = U.unsafeCoerce + +readHTMLDListElement :: Foreign -> F HTMLDListElement +readHTMLDListElement = unsafeReadTagged "HTMLDListElement" + +instance isForeignHTMLDListElement :: IsForeign HTMLDListElement where + read = readHTMLDListElement + +foreign import data HTMLDivElement :: * + +htmlDivElementToHTMLElement :: HTMLDivElement -> HTMLElement +htmlDivElementToHTMLElement = U.unsafeCoerce + +readHTMLDivElement :: Foreign -> F HTMLDivElement +readHTMLDivElement = unsafeReadTagged "HTMLDivElement" + +instance isForeignHTMLDivElement :: IsForeign HTMLDivElement where + read = readHTMLDivElement + +-- Text + +foreign import data HTMLAnchorElement :: * + +htmlAnchorElementToHTMLElement :: HTMLAnchorElement -> HTMLElement +htmlAnchorElementToHTMLElement = U.unsafeCoerce + +readHTMLAnchorElement :: Foreign -> F HTMLAnchorElement +readHTMLAnchorElement = unsafeReadTagged "HTMLAnchorElement" + +instance isForeignHTMLAnchorElement :: IsForeign HTMLAnchorElement where + read = readHTMLAnchorElement + +foreign import data HTMLDataElement :: * + +htmlDataElementToHTMLElement :: HTMLDataElement -> HTMLElement +htmlDataElementToHTMLElement = U.unsafeCoerce + +readHTMLDataElement :: Foreign -> F HTMLDataElement +readHTMLDataElement = unsafeReadTagged "HTMLDataElement" + +instance isForeignHTMLDataElement :: IsForeign HTMLDataElement where + read = readHTMLDataElement + +foreign import data HTMLTimeElement :: * + +htmlTimeElementToHTMLElement :: HTMLTimeElement -> HTMLElement +htmlTimeElementToHTMLElement = U.unsafeCoerce + +readHTMLTimeElement :: Foreign -> F HTMLTimeElement +readHTMLTimeElement = unsafeReadTagged "HTMLTimeElement" + +instance isForeignHTMLTimeElement :: IsForeign HTMLTimeElement where + read = readHTMLTimeElement + +foreign import data HTMLSpanElement :: * + +htmlSpanElementToHTMLElement :: HTMLSpanElement -> HTMLElement +htmlSpanElementToHTMLElement = U.unsafeCoerce + +readHTMLSpanElement :: Foreign -> F HTMLSpanElement +readHTMLSpanElement = unsafeReadTagged "HTMLSpanElement" + +instance isForeignHTMLSpanElement :: IsForeign HTMLSpanElement where + read = readHTMLSpanElement + +foreign import data HTMLBRElement :: * + +htmlBRElementToHTMLElement :: HTMLBRElement -> HTMLElement +htmlBRElementToHTMLElement = U.unsafeCoerce + +readHTMLBRElement :: Foreign -> F HTMLBRElement +readHTMLBRElement = unsafeReadTagged "HTMLBRElement" + +instance isForeignHTMLBRElement :: IsForeign HTMLBRElement where + read = readHTMLBRElement + +foreign import data HTMLModElement :: * + +htmlModElementToHTMLElement :: HTMLModElement -> HTMLElement +htmlModElementToHTMLElement = U.unsafeCoerce + +readHTMLModElement :: Foreign -> F HTMLModElement +readHTMLModElement = unsafeReadTagged "HTMLModElement" + +instance isForeignHTMLModElement :: IsForeign HTMLModElement where + read = readHTMLModElement + +-- Embedded content + +foreign import data HTMLImageElement :: * + +htmlImageElementToHTMLElement :: HTMLImageElement -> HTMLElement +htmlImageElementToHTMLElement = U.unsafeCoerce + +readHTMLImageElement :: Foreign -> F HTMLImageElement +readHTMLImageElement = unsafeReadTagged "HTMLImageElement" + +instance isForeignHTMLImageElement :: IsForeign HTMLImageElement where + read = readHTMLImageElement + +foreign import data HTMLIFrameElement :: * + +htmlIFrameElementToHTMLElement :: HTMLIFrameElement -> HTMLElement +htmlIFrameElementToHTMLElement = U.unsafeCoerce + +readHTMLIFrameElement :: Foreign -> F HTMLIFrameElement +readHTMLIFrameElement = unsafeReadTagged "HTMLIFrameElement" + +instance isForeignHTMLIFrameElement :: IsForeign HTMLIFrameElement where + read = readHTMLIFrameElement + +foreign import data HTMLEmbedElement :: * + +htmlEmbedElementToHTMLElement :: HTMLEmbedElement -> HTMLElement +htmlEmbedElementToHTMLElement = U.unsafeCoerce + +readHTMLEmbedElement :: Foreign -> F HTMLEmbedElement +readHTMLEmbedElement = unsafeReadTagged "HTMLEmbedElement" + +instance isForeignHTMLEmbedElement :: IsForeign HTMLEmbedElement where + read = readHTMLEmbedElement + +foreign import data HTMLObjectElement :: * + +htmlObjectElementToHTMLElement :: HTMLObjectElement -> HTMLElement +htmlObjectElementToHTMLElement = U.unsafeCoerce + +readHTMLObjectElement :: Foreign -> F HTMLObjectElement +readHTMLObjectElement = unsafeReadTagged "HTMLObjectElement" + +instance isForeignHTMLObjectElement :: IsForeign HTMLObjectElement where + read = readHTMLObjectElement + +foreign import data HTMLParamElement :: * + +htmlParamElementToHTMLElement :: HTMLParamElement -> HTMLElement +htmlParamElementToHTMLElement = U.unsafeCoerce + +readHTMLParamElement :: Foreign -> F HTMLParamElement +readHTMLParamElement = unsafeReadTagged "HTMLParamElement" + +instance isForeignHTMLParamElement :: IsForeign HTMLParamElement where + read = readHTMLParamElement + +foreign import data HTMLMediaElement :: * + +htmlMediaElementToHTMLElement :: HTMLMediaElement -> HTMLElement +htmlMediaElementToHTMLElement = U.unsafeCoerce + +readHTMLMediaElement :: Foreign -> F HTMLMediaElement +readHTMLMediaElement = unsafeReadTagged "HTMLMediaElement" + +foreign import data HTMLAudioElement :: * + +htmlAudioElementToHTMLMediaElement :: HTMLAudioElement -> HTMLMediaElement +htmlAudioElementToHTMLMediaElement = U.unsafeCoerce + +readHTMLAudioElement :: Foreign -> F HTMLAudioElement +readHTMLAudioElement = unsafeReadTagged "HTMLAudioElement" + +foreign import data HTMLVideoElement :: * + +htmlVideoElementToHTMLMediaElement :: HTMLVideoElement -> HTMLMediaElement +htmlVideoElementToHTMLMediaElement = U.unsafeCoerce + +readHTMLVideoElement :: Foreign -> F HTMLVideoElement +readHTMLVideoElement = unsafeReadTagged "HTMLVideoElement" + +foreign import data HTMLSourceElement :: * + +htmlSourceElementToHTMLElement :: HTMLSourceElement -> HTMLElement +htmlSourceElementToHTMLElement = U.unsafeCoerce + +readHTMLSourceElement :: Foreign -> F HTMLSourceElement +readHTMLSourceElement = unsafeReadTagged "HTMLSourceElement" + +instance isForeignHTMLSourceElement :: IsForeign HTMLSourceElement where + read = readHTMLSourceElement + +foreign import data HTMLTrackElement :: * + +htmlTrackElementToHTMLElement :: HTMLTrackElement -> HTMLElement +htmlTrackElementToHTMLElement = U.unsafeCoerce + +readHTMLTrackElement :: Foreign -> F HTMLTrackElement +readHTMLTrackElement = unsafeReadTagged "HTMLTrackElement" + +instance isForeignHTMLTrackElement :: IsForeign HTMLTrackElement where + read = readHTMLTrackElement + +foreign import data HTMLMapElement :: * + +htmlMapElementToHTMLElement :: HTMLMapElement -> HTMLElement +htmlMapElementToHTMLElement = U.unsafeCoerce + +readHTMLMapElement :: Foreign -> F HTMLMapElement +readHTMLMapElement = unsafeReadTagged "HTMLMapElement" + +instance isForeignHTMLMapElement :: IsForeign HTMLMapElement where + read = readHTMLMapElement + +foreign import data HTMLAreaElement :: * + +htmlAreaElementToHTMLElement :: HTMLAreaElement -> HTMLElement +htmlAreaElementToHTMLElement = U.unsafeCoerce + +readHTMLAreaElement :: Foreign -> F HTMLAreaElement +readHTMLAreaElement = unsafeReadTagged "HTMLAreaElement" + +instance isForeignHTMLAreaElement :: IsForeign HTMLAreaElement where + read = readHTMLAreaElement + +-- Tabular data + +foreign import data HTMLTableElement :: * + +htmlTableElementToHTMLElement :: HTMLTableElement -> HTMLElement +htmlTableElementToHTMLElement = U.unsafeCoerce + +readHTMLTableElement :: Foreign -> F HTMLTableElement +readHTMLTableElement = unsafeReadTagged "HTMLTableElement" + +instance isForeignHTMLTableElement :: IsForeign HTMLTableElement where + read = readHTMLTableElement + +foreign import data HTMLTableCaptionElement :: * + +htmlTableCaptionElementToHTMLElement :: HTMLTableCaptionElement -> HTMLElement +htmlTableCaptionElementToHTMLElement = U.unsafeCoerce + +readHTMLTableCaptionElement :: Foreign -> F HTMLTableCaptionElement +readHTMLTableCaptionElement = unsafeReadTagged "HTMLTableCaptionElement" + +instance isForeignHTMLTableCaptionElement :: IsForeign HTMLTableCaptionElement where + read = readHTMLTableCaptionElement + +foreign import data HTMLTableColElement :: * + +htmlTableColElementToHTMLElement :: HTMLTableColElement -> HTMLElement +htmlTableColElementToHTMLElement = U.unsafeCoerce + +readHTMLTableColElement :: Foreign -> F HTMLTableColElement +readHTMLTableColElement = unsafeReadTagged "HTMLTableColElement" + +instance isForeignHTMLTableColElement :: IsForeign HTMLTableColElement where + read = readHTMLTableColElement + +foreign import data HTMLTableSectionElement :: * + +htmlTableSectionElementToHTMLElement :: HTMLTableSectionElement -> HTMLElement +htmlTableSectionElementToHTMLElement = U.unsafeCoerce + +readHTMLTableSectionElement :: Foreign -> F HTMLTableSectionElement +readHTMLTableSectionElement = unsafeReadTagged "HTMLTableSectionElement" + +instance isForeignHTMLTableSectionElement :: IsForeign HTMLTableSectionElement where + read = readHTMLTableSectionElement + +foreign import data HTMLTableRowElement :: * + +htmlTableRowElementToHTMLElement :: HTMLTableRowElement -> HTMLElement +htmlTableRowElementToHTMLElement = U.unsafeCoerce + +readHTMLTableRowElement :: Foreign -> F HTMLTableRowElement +readHTMLTableRowElement = unsafeReadTagged "HTMLTableRowElement" + +instance isForeignHTMLTableRowElement :: IsForeign HTMLTableRowElement where + read = readHTMLTableRowElement + +foreign import data HTMLTableCellElement :: * + +htmlTableCellElementToHTMLElement :: HTMLTableCellElement -> HTMLElement +htmlTableCellElementToHTMLElement = U.unsafeCoerce + +readHTMLTableCellElement :: Foreign -> F HTMLTableCellElement +readHTMLTableCellElement = unsafeReadTagged "HTMLTableCellElement" + +foreign import data HTMLTableDataCellElement :: * + +htmlTableDataCellElementToHTMLTableCellElement :: HTMLTableDataCellElement -> HTMLTableCellElement +htmlTableDataCellElementToHTMLTableCellElement = U.unsafeCoerce + +readHTMLTableDataCellElement :: Foreign -> F HTMLTableDataCellElement +readHTMLTableDataCellElement = unsafeReadTagged "HTMLTableDataCellElement" + +foreign import data HTMLTableHeaderCellElement :: * + +htmlTableHeaderCellElementToHTMLTableCellElement :: HTMLTableHeaderCellElement -> HTMLTableCellElement +htmlTableHeaderCellElementToHTMLTableCellElement = U.unsafeCoerce + +readHTMLTableHeaderCellElement :: Foreign -> F HTMLTableHeaderCellElement +readHTMLTableHeaderCellElement = unsafeReadTagged "HTMLTableHeaderCellElement" + +-- Forms + +foreign import data HTMLFormElement :: * + +htmlFormElementToHTMLElement :: HTMLFormElement -> HTMLElement +htmlFormElementToHTMLElement = U.unsafeCoerce + +readHTMLFormElement :: Foreign -> F HTMLFormElement +readHTMLFormElement = unsafeReadTagged "HTMLFormElement" + +instance isForeignHTMLFormElement :: IsForeign HTMLFormElement where + read = readHTMLFormElement + +foreign import data HTMLLabelElement :: * + +htmlLabelElementToHTMLElement :: HTMLLabelElement -> HTMLElement +htmlLabelElementToHTMLElement = U.unsafeCoerce + +readHTMLLabelElement :: Foreign -> F HTMLLabelElement +readHTMLLabelElement = unsafeReadTagged "HTMLLabelElement" + +instance isForeignHTMLLabelElement :: IsForeign HTMLLabelElement where + read = readHTMLLabelElement + +foreign import data HTMLInputElement :: * + +htmlInputElementToHTMLElement :: HTMLInputElement -> HTMLElement +htmlInputElementToHTMLElement = U.unsafeCoerce + +readHTMLInputElement :: Foreign -> F HTMLInputElement +readHTMLInputElement = unsafeReadTagged "HTMLInputElement" + +instance isForeignHTMLInputElement :: IsForeign HTMLInputElement where + read = readHTMLInputElement + +foreign import data HTMLButtonElement :: * + +htmlButtonElementToHTMLElement :: HTMLButtonElement -> HTMLElement +htmlButtonElementToHTMLElement = U.unsafeCoerce + +readHTMLButtonElement :: Foreign -> F HTMLButtonElement +readHTMLButtonElement = unsafeReadTagged "HTMLButtonElement" + +instance isForeignHTMLButtonElement :: IsForeign HTMLButtonElement where + read = readHTMLButtonElement + +foreign import data HTMLSelectElement :: * + +htmlSelectElementToHTMLElement :: HTMLSelectElement -> HTMLElement +htmlSelectElementToHTMLElement = U.unsafeCoerce + +readHTMLSelectElement :: Foreign -> F HTMLSelectElement +readHTMLSelectElement = unsafeReadTagged "HTMLSelectElement" + +instance isForeignHTMLSelectElement :: IsForeign HTMLSelectElement where + read = readHTMLSelectElement + +foreign import data HTMLDataListElement :: * + +htmlDataListElementToHTMLElement :: HTMLDataListElement -> HTMLElement +htmlDataListElementToHTMLElement = U.unsafeCoerce + +readHTMLDataListElement :: Foreign -> F HTMLDataListElement +readHTMLDataListElement = unsafeReadTagged "HTMLDataListElement" + +instance isForeignHTMLDataListElement :: IsForeign HTMLDataListElement where + read = readHTMLDataListElement + +foreign import data HTMLOptGroupElement :: * + +htmlOptGroupElementToHTMLElement :: HTMLOptGroupElement -> HTMLElement +htmlOptGroupElementToHTMLElement = U.unsafeCoerce + +readHTMLOptGroupElement :: Foreign -> F HTMLOptGroupElement +readHTMLOptGroupElement = unsafeReadTagged "HTMLOptGroupElement" + +instance isForeignHTMLOptGroupElement :: IsForeign HTMLOptGroupElement where + read = readHTMLOptGroupElement + +foreign import data HTMLOptionElement :: * + +htmlOptionElementToHTMLElement :: HTMLOptionElement -> HTMLElement +htmlOptionElementToHTMLElement = U.unsafeCoerce + +readHTMLOptionElement :: Foreign -> F HTMLOptionElement +readHTMLOptionElement = unsafeReadTagged "HTMLOptionElement" + +instance isForeignHTMLOptionElement :: IsForeign HTMLOptionElement where + read = readHTMLOptionElement + +foreign import data HTMLTextAreaElement :: * + +htmlTextAreaElementToHTMLElement :: HTMLTextAreaElement -> HTMLElement +htmlTextAreaElementToHTMLElement = U.unsafeCoerce + +readHTMLTextAreaElement :: Foreign -> F HTMLTextAreaElement +readHTMLTextAreaElement = unsafeReadTagged "HTMLTextAreaElement" + +instance isForeignHTMLTextAreaElement :: IsForeign HTMLTextAreaElement where + read = readHTMLTextAreaElement + +foreign import data HTMLKeygenElement :: * + +htmlKeygenElementToHTMLElement :: HTMLKeygenElement -> HTMLElement +htmlKeygenElementToHTMLElement = U.unsafeCoerce + +readHTMLKeygenElement :: Foreign -> F HTMLKeygenElement +readHTMLKeygenElement = unsafeReadTagged "HTMLKeygenElement" + +instance isForeignHTMLKeygenElement :: IsForeign HTMLKeygenElement where + read = readHTMLKeygenElement + +foreign import data HTMLOutputElement :: * + +htmlOutputElementToHTMLElement :: HTMLOutputElement -> HTMLElement +htmlOutputElementToHTMLElement = U.unsafeCoerce + +readHTMLOutputElement :: Foreign -> F HTMLOutputElement +readHTMLOutputElement = unsafeReadTagged "HTMLOutputElement" + +instance isForeignHTMLOutputElement :: IsForeign HTMLOutputElement where + read = readHTMLOutputElement + +foreign import data HTMLProgressElement :: * + +htmlProgressElementToHTMLElement :: HTMLProgressElement -> HTMLElement +htmlProgressElementToHTMLElement = U.unsafeCoerce + +readHTMLProgressElement :: Foreign -> F HTMLProgressElement +readHTMLProgressElement = unsafeReadTagged "HTMLProgressElement" + +instance isForeignHTMLProgressElement :: IsForeign HTMLProgressElement where + read = readHTMLProgressElement + +foreign import data HTMLMeterElement :: * + +htmlMeterElementToHTMLElement :: HTMLMeterElement -> HTMLElement +htmlMeterElementToHTMLElement = U.unsafeCoerce + +readHTMLMeterElement :: Foreign -> F HTMLMeterElement +readHTMLMeterElement = unsafeReadTagged "HTMLMeterElement" + +instance isForeignHTMLMeterElement :: IsForeign HTMLMeterElement where + read = readHTMLMeterElement + +foreign import data HTMLFieldSetElement :: * + +htmlFieldSetElementToHTMLElement :: HTMLFieldSetElement -> HTMLElement +htmlFieldSetElementToHTMLElement = U.unsafeCoerce + +readHTMLFieldSetElement :: Foreign -> F HTMLFieldSetElement +readHTMLFieldSetElement = unsafeReadTagged "HTMLFieldSetElement" + +instance isForeignHTMLFieldSetElement :: IsForeign HTMLFieldSetElement where + read = readHTMLFieldSetElement + +foreign import data HTMLLegendElement :: * + +htmlLegendElementToHTMLElement :: HTMLLegendElement -> HTMLElement +htmlLegendElementToHTMLElement = U.unsafeCoerce + +readHTMLLegendElement :: Foreign -> F HTMLLegendElement +readHTMLLegendElement = unsafeReadTagged "HTMLLegendElement" + +instance isForeignHTMLLegendElement :: IsForeign HTMLLegendElement where + read = readHTMLLegendElement + +-- Scripting + +foreign import data HTMLScriptElement :: * + +htmlScriptElementToHTMLElement :: HTMLScriptElement -> HTMLElement +htmlScriptElementToHTMLElement = U.unsafeCoerce + +readHTMLScriptElement :: Foreign -> F HTMLScriptElement +readHTMLScriptElement = unsafeReadTagged "HTMLScriptElement" + +instance isForeignHTMLScriptElement :: IsForeign HTMLScriptElement where + read = readHTMLScriptElement + +foreign import data HTMLTemplateElement :: * + +htmlTemplateElementToHTMLElement :: HTMLTemplateElement -> HTMLElement +htmlTemplateElementToHTMLElement = U.unsafeCoerce + +readHTMLTemplateElement :: Foreign -> F HTMLTemplateElement +readHTMLTemplateElement = unsafeReadTagged "HTMLTemplateElement" + +instance isForeignHTMLTemplateElement :: IsForeign HTMLTemplateElement where + read = readHTMLTemplateElement + +foreign import data HTMLCanvasElement :: * + +htmlCanvasElementToHTMLElement :: HTMLCanvasElement -> HTMLElement +htmlCanvasElementToHTMLElement = U.unsafeCoerce + +readHTMLCanvasElement :: Foreign -> F HTMLCanvasElement +readHTMLCanvasElement = unsafeReadTagged "HTMLCanvasElement" + +instance isForeignHTMLCanvasElement :: IsForeign HTMLCanvasElement where + read = readHTMLCanvasElement + +foreign import data ValidityState :: * diff --git a/src/DOM/Node/NodeType.purs b/src/DOM/Node/NodeType.purs index 126798b..90cd66f 100644 --- a/src/DOM/Node/NodeType.purs +++ b/src/DOM/Node/NodeType.purs @@ -43,7 +43,7 @@ instance boundedNodeType :: Bounded NodeType where instance boundedOrdNodeType :: BoundedOrd NodeType instance enumNodeType :: Enum NodeType where - cardinality = Cardinality 4 + cardinality = Cardinality 12 succ = defaultSucc toEnumNodeType fromEnumNodeType pred = defaultPred toEnumNodeType fromEnumNodeType toEnum = toEnumNodeType diff --git a/src/DOM/Node/ParentNode.purs b/src/DOM/Node/ParentNode.purs index 63d3461..3f0d240 100644 --- a/src/DOM/Node/ParentNode.purs +++ b/src/DOM/Node/ParentNode.purs @@ -4,8 +4,8 @@ import Control.Monad.Eff (Eff()) import Data.Nullable (Nullable()) -import DOM -import DOM.Node.Types +import DOM (DOM()) +import DOM.Node.Types (NodeList(), ParentNode(), Element(), HTMLCollection()) -- | The child elements for the node. foreign import children :: forall eff. ParentNode -> Eff (dom :: DOM | eff) HTMLCollection diff --git a/src/DOM/Node/Types.purs b/src/DOM/Node/Types.purs index a9f36f7..bbd2188 100644 --- a/src/DOM/Node/Types.purs +++ b/src/DOM/Node/Types.purs @@ -15,6 +15,7 @@ foreign import data NonDocumentTypeChildNode :: * foreign import data ChildNode :: * foreign import data NodeList :: * foreign import data HTMLCollection :: * +foreign import data DOMTokenList :: * foreign import data Document :: *