packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/Element.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.Element
       (js_attachShadow, js_checkVisibility, js_closest, js_computedStyleMap, js_getAttribute, js_getAttributeNS, js_getAttributeNames, js_getAttributeNode, js_getAttributeNodeNS, js_getBoundingClientRect, js_getClientRects, js_getElementsByClassName, js_getElementsByTagName, js_getElementsByTagNameNS, js_getHTML, js_hasAttribute, js_hasAttributeNS, js_hasAttributes, js_hasPointerCapture, js_insertAdjacentElement, js_insertAdjacentHTML, js_insertAdjacentText, js_matches, js_releasePointerCapture, js_removeAttribute, js_removeAttributeNS, js_removeAttributeNode, js_requestFullscreen, js_requestPointerLock, js_requestPointerLock', js_scrollOpt, js_scroll, js_scrollByOpt, js_scrollBy, js_scrollIntoView, js_scrollToOpt, js_scrollTo, js_setAttribute, js_setAttributeNS, js_setAttributeNode, js_setAttributeNodeNS, js_setHTML, js_setHTMLUnsafe, js_setPointerCapture, js_toggleAttribute, js_webkitMatchesSelector, js_getNamespaceURI, js_getPrefix, js_getLocalName, js_getTagName, js_setId, js_getId, js_setClassName, js_getClassName, js_getClassList, js_setSlot, js_getSlot, js_getAttributes, js_getShadowRoot, js_getCustomElementRegistry, js_getPart, js_setScrollTop, js_getScrollTop, js_setScrollLeft, js_getScrollLeft, js_getScrollWidth, js_getScrollHeight, js_getClientTop, js_getClientLeft, js_getClientWidth, js_getClientHeight, js_getCurrentCSSZoom, js_setInnerHTML, js_getInnerHTML, js_setOuterHTML, js_getOuterHTML, attachShadow, attachShadow_, checkVisibility, checkVisibility_, closest, closest_, closestUnsafe, closestUnchecked, computedStyleMap, computedStyleMap_, getAttribute, getAttribute_, getAttributeUnsafe, getAttributeUnchecked, getAttributeNS, getAttributeNS_, getAttributeNSUnsafe, getAttributeNSUnchecked, getAttributeNames, getAttributeNames_, getAttributeNode, getAttributeNode_, getAttributeNodeUnsafe, getAttributeNodeUnchecked, getAttributeNodeNS, getAttributeNodeNS_, getAttributeNodeNSUnsafe, getAttributeNodeNSUnchecked, getBoundingClientRect, getBoundingClientRect_, getClientRects, getClientRects_, getElementsByClassName, getElementsByClassName_, getElementsByTagName, getElementsByTagName_, getElementsByTagNameNS, getElementsByTagNameNS_, getHTML, getHTML_, hasAttribute, hasAttribute_, hasAttributeNS, hasAttributeNS_, hasAttributes, hasAttributes_, hasPointerCapture, hasPointerCapture_, insertAdjacentElement, insertAdjacentElement_, insertAdjacentElementUnsafe, insertAdjacentElementUnchecked, insertAdjacentHTML, insertAdjacentText, matches, matches_, releasePointerCapture, removeAttribute, removeAttributeNS, removeAttributeNode, removeAttributeNode_, requestFullscreen, requestPointerLock, requestPointerLock', scrollOpt, scrollOpt_, scroll, scroll_, scrollByOpt, scrollByOpt_, scrollBy, scrollBy_, scrollIntoView, scrollIntoView_, scrollToOpt, scrollToOpt_, scrollTo, scrollTo_, setAttribute, setAttributeNS, setAttributeNode, setAttributeNode_, setAttributeNodeUnsafe, setAttributeNodeUnchecked, setAttributeNodeNS, setAttributeNodeNS_, setAttributeNodeNSUnsafe, setAttributeNodeNSUnchecked, setHTML, setHTMLUnsafe, setPointerCapture, toggleAttribute, toggleAttribute_, webkitMatchesSelector, webkitMatchesSelector_, getNamespaceURI, getNamespaceURIUnsafe, getNamespaceURIUnchecked, getPrefix, getPrefixUnsafe, getPrefixUnchecked, getLocalName, getTagName, setId, getId, setClassName, getClassName, getClassList, setSlot, getSlot, getAttributes, getShadowRoot, getShadowRootUnsafe, getShadowRootUnchecked, getCustomElementRegistry, getCustomElementRegistryUnsafe, getCustomElementRegistryUnchecked, getPart, setScrollTop, getScrollTop, setScrollLeft, getScrollLeft, getScrollWidth, getScrollHeight, getClientTop, getClientLeft, getClientWidth, getClientHeight, getCurrentCSSZoom, setInnerHTML, getInnerHTML, setOuterHTML, getOuterHTML, fullscreenchange, fullscreenerror, compositionend, compositionstart, compositionupdate, contentvisibilityautostatechange, domActivate, domFocusIn, domFocusOut, focusin, focusout, textInput, Element(..), gTypeElement, IsElement, toElement)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return $1[\"attachShadow\"]($2); })"
        js_attachShadow :: Element -> ShadowRootInit -> IO ShadowRoot
-- | <https://developer.mozilla.org/docs/Web/API/Element/attachShadow MDN Element.attachShadow documentation>
attachShadow :: (MonadDOM m, IsElement self) => self -> ShadowRootInit -> m ShadowRoot
attachShadow self init = liftDOM ((js_attachShadow ((Types.toElement self)) (init)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/attachShadow MDN Element.attachShadow documentation>
attachShadow_ :: (MonadDOM m, IsElement self) => self -> ShadowRootInit -> m ()
attachShadow_ self init = liftDOM (void ((js_attachShadow ((Types.toElement self)) (init))))

foreign import javascript safe "(($1, $2) => { return $1[\"checkVisibility\"]($2); })"
        js_checkVisibility :: Element -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/checkVisibility MDN Element.checkVisibility documentation>
checkVisibility :: (MonadDOM m, IsElement self) => self -> Maybe CheckVisibilityOptions -> m Bool
checkVisibility self options = liftDOM (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_checkVisibility ((Types.toElement self)) a2'))

-- | <https://developer.mozilla.org/docs/Web/API/Element/checkVisibility MDN Element.checkVisibility documentation>
checkVisibility_ :: (MonadDOM m, IsElement self) => self -> Maybe CheckVisibilityOptions -> m ()
checkVisibility_ self options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_checkVisibility ((Types.toElement self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"closest\"]($2); })"
        js_closest :: Element -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/closest MDN Element.closest documentation>
closest :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m (Maybe Element)
closest self selectors = liftDOM (((js_closest ((Types.toElement self)) (toJSString selectors)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/closest MDN Element.closest documentation>
closest_ :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m ()
closest_ self selectors = liftDOM (void ((js_closest ((Types.toElement self)) (toJSString selectors))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/closest MDN Element.closest documentation>
closestUnsafe :: (MonadDOM m, IsElement self, ToJSString selectors, HasCallStack) => self -> selectors -> m Element
closestUnsafe self selectors = liftDOM ((((js_closest ((Types.toElement self)) (toJSString selectors)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/closest MDN Element.closest documentation>
closestUnchecked :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m Element
closestUnchecked self selectors = liftDOM ((pFromJSVal <$> (js_closest ((Types.toElement self)) (toJSString selectors))))

foreign import javascript safe "(($1) => { return $1[\"computedStyleMap\"](); })"
        js_computedStyleMap :: Element -> IO StylePropertyMapReadOnly
-- | <https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap MDN Element.computedStyleMap documentation>
computedStyleMap :: (MonadDOM m, IsElement self) => self -> m StylePropertyMapReadOnly
computedStyleMap self = liftDOM ((js_computedStyleMap ((Types.toElement self))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap MDN Element.computedStyleMap documentation>
computedStyleMap_ :: (MonadDOM m, IsElement self) => self -> m ()
computedStyleMap_ self = liftDOM (void ((js_computedStyleMap ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"getAttribute\"]($2); })"
        js_getAttribute :: Element -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttribute MDN Element.getAttribute documentation>
getAttribute :: (MonadDOM m, IsElement self, ToJSString qualifiedName, FromJSString result) => self -> qualifiedName -> m (Maybe result)
getAttribute self qualifiedName = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getAttribute ((Types.toElement self)) (toJSString qualifiedName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttribute MDN Element.getAttribute documentation>
getAttribute_ :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m ()
getAttribute_ self qualifiedName = liftDOM (void ((js_getAttribute ((Types.toElement self)) (toJSString qualifiedName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttribute MDN Element.getAttribute documentation>
getAttributeUnsafe :: (MonadDOM m, IsElement self, ToJSString qualifiedName, HasCallStack, FromJSString result) => self -> qualifiedName -> m result
getAttributeUnsafe self qualifiedName = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getAttribute ((Types.toElement self)) (toJSString qualifiedName))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttribute MDN Element.getAttribute documentation>
getAttributeUnchecked :: (MonadDOM m, IsElement self, ToJSString qualifiedName, FromJSString result) => self -> qualifiedName -> m result
getAttributeUnchecked self qualifiedName = liftDOM ((pFromJSVal <$> (js_getAttribute ((Types.toElement self)) (toJSString qualifiedName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getAttributeNS\"]($2, $3); })"
        js_getAttributeNS :: Element -> (Nullable JSString) -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS MDN Element.getAttributeNS documentation>
getAttributeNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName, FromJSString result) => self -> Maybe namespace -> localName -> m (Maybe result)
getAttributeNS self namespace localName = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS MDN Element.getAttributeNS documentation>
getAttributeNS_ :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m ()
getAttributeNS_ self namespace localName = liftDOM (void ((js_getAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS MDN Element.getAttributeNS documentation>
getAttributeNSUnsafe :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName, HasCallStack, FromJSString result) => self -> Maybe namespace -> localName -> m result
getAttributeNSUnsafe self namespace localName = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNS MDN Element.getAttributeNS documentation>
getAttributeNSUnchecked :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName, FromJSString result) => self -> Maybe namespace -> localName -> m result
getAttributeNSUnchecked self namespace localName = liftDOM ((pFromJSVal <$> (js_getAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

foreign import javascript safe "(($1) => { return $1[\"getAttributeNames\"](); })"
        js_getAttributeNames :: Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNames MDN Element.getAttributeNames documentation>
getAttributeNames :: (MonadDOM m, IsElement self, FromJSString result) => self -> m [result]
getAttributeNames self = liftDOM (((js_getAttributeNames ((Types.toElement self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNames MDN Element.getAttributeNames documentation>
getAttributeNames_ :: (MonadDOM m, IsElement self) => self -> m ()
getAttributeNames_ self = liftDOM (void ((js_getAttributeNames ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"getAttributeNode\"]($2); })"
        js_getAttributeNode :: Element -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode MDN Element.getAttributeNode documentation>
getAttributeNode :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m (Maybe Attr)
getAttributeNode self qualifiedName = liftDOM (((js_getAttributeNode ((Types.toElement self)) (toJSString qualifiedName)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode MDN Element.getAttributeNode documentation>
getAttributeNode_ :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m ()
getAttributeNode_ self qualifiedName = liftDOM (void ((js_getAttributeNode ((Types.toElement self)) (toJSString qualifiedName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode MDN Element.getAttributeNode documentation>
getAttributeNodeUnsafe :: (MonadDOM m, IsElement self, ToJSString qualifiedName, HasCallStack) => self -> qualifiedName -> m Attr
getAttributeNodeUnsafe self qualifiedName = liftDOM ((((js_getAttributeNode ((Types.toElement self)) (toJSString qualifiedName)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNode MDN Element.getAttributeNode documentation>
getAttributeNodeUnchecked :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m Attr
getAttributeNodeUnchecked self qualifiedName = liftDOM ((pFromJSVal <$> (js_getAttributeNode ((Types.toElement self)) (toJSString qualifiedName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getAttributeNodeNS\"]($2, $3); })"
        js_getAttributeNodeNS :: Element -> (Nullable JSString) -> JSString -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS MDN Element.getAttributeNodeNS documentation>
getAttributeNodeNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m (Maybe Attr)
getAttributeNodeNS self namespace localName = liftDOM (((js_getAttributeNodeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS MDN Element.getAttributeNodeNS documentation>
getAttributeNodeNS_ :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m ()
getAttributeNodeNS_ self namespace localName = liftDOM (void ((js_getAttributeNodeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS MDN Element.getAttributeNodeNS documentation>
getAttributeNodeNSUnsafe :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName, HasCallStack) => self -> Maybe namespace -> localName -> m Attr
getAttributeNodeNSUnsafe self namespace localName = liftDOM ((((js_getAttributeNodeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAttributeNodeNS MDN Element.getAttributeNodeNS documentation>
getAttributeNodeNSUnchecked :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m Attr
getAttributeNodeNSUnchecked self namespace localName = liftDOM ((pFromJSVal <$> (js_getAttributeNodeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

foreign import javascript safe "(($1) => { return $1[\"getBoundingClientRect\"](); })"
        js_getBoundingClientRect :: Element -> IO DOMRect
-- | <https://developer.mozilla.org/docs/Web/API/Element/getBoundingClientRect MDN Element.getBoundingClientRect documentation>
getBoundingClientRect :: (MonadDOM m, IsElement self) => self -> m DOMRect
getBoundingClientRect self = liftDOM ((js_getBoundingClientRect ((Types.toElement self))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getBoundingClientRect MDN Element.getBoundingClientRect documentation>
getBoundingClientRect_ :: (MonadDOM m, IsElement self) => self -> m ()
getBoundingClientRect_ self = liftDOM (void ((js_getBoundingClientRect ((Types.toElement self)))))

foreign import javascript safe "(($1) => { return $1[\"getClientRects\"](); })"
        js_getClientRects :: Element -> IO DOMRectList
-- | <https://developer.mozilla.org/docs/Web/API/Element/getClientRects MDN Element.getClientRects documentation>
getClientRects :: (MonadDOM m, IsElement self) => self -> m DOMRectList
getClientRects self = liftDOM ((js_getClientRects ((Types.toElement self))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getClientRects MDN Element.getClientRects documentation>
getClientRects_ :: (MonadDOM m, IsElement self) => self -> m ()
getClientRects_ self = liftDOM (void ((js_getClientRects ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"getElementsByClassName\"]($2); })"
        js_getElementsByClassName :: Element -> JSString -> IO HTMLCollection
-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByClassName MDN Element.getElementsByClassName documentation>
getElementsByClassName :: (MonadDOM m, IsElement self, ToJSString classNames) => self -> classNames -> m HTMLCollection
getElementsByClassName self classNames = liftDOM ((js_getElementsByClassName ((Types.toElement self)) (toJSString classNames)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByClassName MDN Element.getElementsByClassName documentation>
getElementsByClassName_ :: (MonadDOM m, IsElement self, ToJSString classNames) => self -> classNames -> m ()
getElementsByClassName_ self classNames = liftDOM (void ((js_getElementsByClassName ((Types.toElement self)) (toJSString classNames))))

foreign import javascript safe "(($1, $2) => { return $1[\"getElementsByTagName\"]($2); })"
        js_getElementsByTagName :: Element -> JSString -> IO HTMLCollection
-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagName MDN Element.getElementsByTagName documentation>
getElementsByTagName :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m HTMLCollection
getElementsByTagName self qualifiedName = liftDOM ((js_getElementsByTagName ((Types.toElement self)) (toJSString qualifiedName)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagName MDN Element.getElementsByTagName documentation>
getElementsByTagName_ :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m ()
getElementsByTagName_ self qualifiedName = liftDOM (void ((js_getElementsByTagName ((Types.toElement self)) (toJSString qualifiedName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"getElementsByTagNameNS\"]($2, $3); })"
        js_getElementsByTagNameNS :: Element -> (Nullable JSString) -> JSString -> IO HTMLCollection
-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagNameNS MDN Element.getElementsByTagNameNS documentation>
getElementsByTagNameNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m HTMLCollection
getElementsByTagNameNS self namespace localName = liftDOM ((js_getElementsByTagNameNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getElementsByTagNameNS MDN Element.getElementsByTagNameNS documentation>
getElementsByTagNameNS_ :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m ()
getElementsByTagNameNS_ self namespace localName = liftDOM (void ((js_getElementsByTagNameNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

foreign import javascript safe "(($1, $2) => { return $1[\"getHTML\"]($2); })"
        js_getHTML :: Element -> JSVal -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/getHTML MDN Element.getHTML documentation>
getHTML :: (MonadDOM m, IsElement self, FromJSString result) => self -> Maybe GetHTMLOptions -> m result
getHTML self options = liftDOM ((fromJSString <$> ((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getHTML ((Types.toElement self)) a2')))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getHTML MDN Element.getHTML documentation>
getHTML_ :: (MonadDOM m, IsElement self) => self -> Maybe GetHTMLOptions -> m ()
getHTML_ self options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_getHTML ((Types.toElement self)) a2')))

foreign import javascript safe "(($1, $2) => { return $1[\"hasAttribute\"]($2); })"
        js_hasAttribute :: Element -> JSString -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttribute MDN Element.hasAttribute documentation>
hasAttribute :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m Bool
hasAttribute self qualifiedName = liftDOM ((js_hasAttribute ((Types.toElement self)) (toJSString qualifiedName)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttribute MDN Element.hasAttribute documentation>
hasAttribute_ :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m ()
hasAttribute_ self qualifiedName = liftDOM (void ((js_hasAttribute ((Types.toElement self)) (toJSString qualifiedName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"hasAttributeNS\"]($2, $3); })"
        js_hasAttributeNS :: Element -> (Nullable JSString) -> JSString -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttributeNS MDN Element.hasAttributeNS documentation>
hasAttributeNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m Bool
hasAttributeNS self namespace localName = liftDOM ((js_hasAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttributeNS MDN Element.hasAttributeNS documentation>
hasAttributeNS_ :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m ()
hasAttributeNS_ self namespace localName = liftDOM (void ((js_hasAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

foreign import javascript safe "(($1) => { return $1[\"hasAttributes\"](); })"
        js_hasAttributes :: Element -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttributes MDN Element.hasAttributes documentation>
hasAttributes :: (MonadDOM m, IsElement self) => self -> m Bool
hasAttributes self = liftDOM ((js_hasAttributes ((Types.toElement self))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttributes MDN Element.hasAttributes documentation>
hasAttributes_ :: (MonadDOM m, IsElement self) => self -> m ()
hasAttributes_ self = liftDOM (void ((js_hasAttributes ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { return $1[\"hasPointerCapture\"]($2); })"
        js_hasPointerCapture :: Element -> Int -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/hasPointerCapture MDN Element.hasPointerCapture documentation>
hasPointerCapture :: (MonadDOM m, IsElement self) => self -> Int -> m Bool
hasPointerCapture self pointerId = liftDOM ((js_hasPointerCapture ((Types.toElement self)) (pointerId)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/hasPointerCapture MDN Element.hasPointerCapture documentation>
hasPointerCapture_ :: (MonadDOM m, IsElement self) => self -> Int -> m ()
hasPointerCapture_ self pointerId = liftDOM (void ((js_hasPointerCapture ((Types.toElement self)) (pointerId))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"insertAdjacentElement\"]($2, $3); })"
        js_insertAdjacentElement :: Element -> JSString -> Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement MDN Element.insertAdjacentElement documentation>
insertAdjacentElement :: (MonadDOM m, IsElement self, ToJSString where', IsElement element) => self -> where' -> element -> m (Maybe Element)
insertAdjacentElement self where' element = liftDOM (((js_insertAdjacentElement ((Types.toElement self)) (toJSString where') (Types.toElement element)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement MDN Element.insertAdjacentElement documentation>
insertAdjacentElement_ :: (MonadDOM m, IsElement self, ToJSString where', IsElement element) => self -> where' -> element -> m ()
insertAdjacentElement_ self where' element = liftDOM (void ((js_insertAdjacentElement ((Types.toElement self)) (toJSString where') (Types.toElement element))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement MDN Element.insertAdjacentElement documentation>
insertAdjacentElementUnsafe :: (MonadDOM m, IsElement self, ToJSString where', IsElement element, HasCallStack) => self -> where' -> element -> m Element
insertAdjacentElementUnsafe self where' element = liftDOM ((((js_insertAdjacentElement ((Types.toElement self)) (toJSString where') (Types.toElement element)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement MDN Element.insertAdjacentElement documentation>
insertAdjacentElementUnchecked :: (MonadDOM m, IsElement self, ToJSString where', IsElement element) => self -> where' -> element -> m Element
insertAdjacentElementUnchecked self where' element = liftDOM ((pFromJSVal <$> (js_insertAdjacentElement ((Types.toElement self)) (toJSString where') (Types.toElement element))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"insertAdjacentHTML\"]($2, $3); })"
        js_insertAdjacentHTML :: Element -> JSString -> TrustedHTMLOrString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentHTML MDN Element.insertAdjacentHTML documentation>
insertAdjacentHTML :: (MonadDOM m, IsElement self, ToJSString position, IsTrustedHTMLOrString string) => self -> position -> string -> m ()
insertAdjacentHTML self position string = liftDOM (void ((js_insertAdjacentHTML ((Types.toElement self)) (toJSString position) (Types.toTrustedHTMLOrString string))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"insertAdjacentText\"]($2, $3); })"
        js_insertAdjacentText :: Element -> JSString -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentText MDN Element.insertAdjacentText documentation>
insertAdjacentText :: (MonadDOM m, IsElement self, ToJSString where', ToJSString data') => self -> where' -> data' -> m ()
insertAdjacentText self where' data' = liftDOM (void ((js_insertAdjacentText ((Types.toElement self)) (toJSString where') (toJSString data'))))

foreign import javascript safe "(($1, $2) => { return $1[\"matches\"]($2); })"
        js_matches :: Element -> JSString -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/matches MDN Element.matches documentation>
matches :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m Bool
matches self selectors = liftDOM ((js_matches ((Types.toElement self)) (toJSString selectors)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/matches MDN Element.matches documentation>
matches_ :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m ()
matches_ self selectors = liftDOM (void ((js_matches ((Types.toElement self)) (toJSString selectors))))

foreign import javascript safe "(($1, $2) => { return $1[\"releasePointerCapture\"]($2); })"
        js_releasePointerCapture :: Element -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture MDN Element.releasePointerCapture documentation>
releasePointerCapture :: (MonadDOM m, IsElement self) => self -> Int -> m ()
releasePointerCapture self pointerId = liftDOM (void ((js_releasePointerCapture ((Types.toElement self)) (pointerId))))

foreign import javascript safe "(($1, $2) => { return $1[\"removeAttribute\"]($2); })"
        js_removeAttribute :: Element -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/removeAttribute MDN Element.removeAttribute documentation>
removeAttribute :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> m ()
removeAttribute self qualifiedName = liftDOM (void ((js_removeAttribute ((Types.toElement self)) (toJSString qualifiedName))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"removeAttributeNS\"]($2, $3); })"
        js_removeAttributeNS :: Element -> (Nullable JSString) -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNS MDN Element.removeAttributeNS documentation>
removeAttributeNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString localName) => self -> Maybe namespace -> localName -> m ()
removeAttributeNS self namespace localName = liftDOM (void ((js_removeAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString localName))))

foreign import javascript safe "(($1, $2) => { return $1[\"removeAttributeNode\"]($2); })"
        js_removeAttributeNode :: Element -> Attr -> IO Attr
-- | <https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNode MDN Element.removeAttributeNode documentation>
removeAttributeNode :: (MonadDOM m, IsElement self) => self -> Attr -> m Attr
removeAttributeNode self attr = liftDOM ((js_removeAttributeNode ((Types.toElement self)) (attr)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/removeAttributeNode MDN Element.removeAttributeNode documentation>
removeAttributeNode_ :: (MonadDOM m, IsElement self) => self -> Attr -> m ()
removeAttributeNode_ self attr = liftDOM (void ((js_removeAttributeNode ((Types.toElement self)) (attr))))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"requestFullscreen\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_requestFullscreen :: Element -> JSVal -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/Element/requestFullscreen MDN Element.requestFullscreen documentation>
requestFullscreen :: (MonadDOM m, IsElement self) => self -> Maybe FullscreenOptions -> m ()
requestFullscreen self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestFullscreen ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $c) => { return $1[\"requestPointerLock\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_requestPointerLock :: Element -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock MDN Element.requestPointerLock documentation>
requestPointerLock :: (MonadDOM m, IsElement self) => self -> m ()
requestPointerLock self = liftDOM (void (((js_requestPointerLock ((Types.toElement self))) >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"requestPointerLock\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_requestPointerLock' :: Element -> JSVal -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock MDN Element.requestPointerLock documentation>
requestPointerLock' :: (MonadDOM m, IsElement self) => self -> Maybe PointerLockOptions -> m ()
requestPointerLock' self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_requestPointerLock' ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"scroll\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollOpt :: Element -> JSVal -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scroll MDN Element.scroll documentation>
scrollOpt :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ScrollResult
scrollOpt self options = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollOpt ((Types.toElement self)) a2') >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scroll MDN Element.scroll documentation>
scrollOpt_ :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ()
scrollOpt_ self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollOpt ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $3, $c) => { return $1[\"scroll\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scroll :: Element -> Double -> Double -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scroll MDN Element.scroll documentation>
scroll :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ScrollResult
scroll self x y = liftDOM (((js_scroll ((Types.toElement self)) (x) (y)) >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scroll MDN Element.scroll documentation>
scroll_ :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scroll_ self x y = liftDOM (void (((js_scroll ((Types.toElement self)) (x) (y)) >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"scrollBy\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollByOpt :: Element -> JSVal -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollBy MDN Element.scrollBy documentation>
scrollByOpt :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ScrollResult
scrollByOpt self options = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollByOpt ((Types.toElement self)) a2') >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollBy MDN Element.scrollBy documentation>
scrollByOpt_ :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ()
scrollByOpt_ self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollByOpt ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $3, $c) => { return $1[\"scrollBy\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollBy :: Element -> Double -> Double -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollBy MDN Element.scrollBy documentation>
scrollBy :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ScrollResult
scrollBy self x y = liftDOM (((js_scrollBy ((Types.toElement self)) (x) (y)) >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollBy MDN Element.scrollBy documentation>
scrollBy_ :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scrollBy_ self x y = liftDOM (void (((js_scrollBy ((Types.toElement self)) (x) (y)) >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"scrollIntoView\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollIntoView :: Element -> JSVal -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollIntoView MDN Element.scrollIntoView documentation>
scrollIntoView :: (MonadDOM m, IsElement self, IsBoolOrScrollIntoViewOptions arg) => self -> Maybe arg -> m ScrollResult
scrollIntoView self arg = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal arg) >>= \a2' -> js_scrollIntoView ((Types.toElement self)) a2') >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollIntoView MDN Element.scrollIntoView documentation>
scrollIntoView_ :: (MonadDOM m, IsElement self, IsBoolOrScrollIntoViewOptions arg) => self -> Maybe arg -> m ()
scrollIntoView_ self arg = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal arg) >>= \a2' -> js_scrollIntoView ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"scrollTo\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollToOpt :: Element -> JSVal -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTo MDN Element.scrollTo documentation>
scrollToOpt :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ScrollResult
scrollToOpt self options = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollToOpt ((Types.toElement self)) a2') >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTo MDN Element.scrollTo documentation>
scrollToOpt_ :: (MonadDOM m, IsElement self) => self -> Maybe ScrollToOptions -> m ()
scrollToOpt_ self options = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_scrollToOpt ((Types.toElement self)) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $2, $3, $c) => { return $1[\"scrollTo\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_scrollTo :: Element -> Double -> Double -> IO (JSVal, ScrollResult)
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTo MDN Element.scrollTo documentation>
scrollTo :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ScrollResult
scrollTo self x y = liftDOM (((js_scrollTo ((Types.toElement self)) (x) (y)) >>= checkPromiseResult))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTo MDN Element.scrollTo documentation>
scrollTo_ :: (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scrollTo_ self x y = liftDOM (void (((js_scrollTo ((Types.toElement self)) (x) (y)) >>= checkPromiseResult)))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"setAttribute\"]($2, $3); })"
        js_setAttribute :: Element -> JSString -> TrustedTypeOrString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttribute MDN Element.setAttribute documentation>
setAttribute :: (MonadDOM m, IsElement self, ToJSString qualifiedName, IsTrustedTypeOrString value) => self -> qualifiedName -> value -> m ()
setAttribute self qualifiedName value = liftDOM (void ((js_setAttribute ((Types.toElement self)) (toJSString qualifiedName) (Types.toTrustedTypeOrString value))))

foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"setAttributeNS\"]($2, $3, $4); })"
        js_setAttributeNS :: Element -> (Nullable JSString) -> JSString -> TrustedTypeOrString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNS MDN Element.setAttributeNS documentation>
setAttributeNS :: (MonadDOM m, IsElement self, ToJSString namespace, ToJSString qualifiedName, IsTrustedTypeOrString value) => self -> Maybe namespace -> qualifiedName -> value -> m ()
setAttributeNS self namespace qualifiedName value = liftDOM (void ((js_setAttributeNS ((Types.toElement self)) (toMaybeJSString namespace) (toJSString qualifiedName) (Types.toTrustedTypeOrString value))))

foreign import javascript safe "(($1, $2) => { return $1[\"setAttributeNode\"]($2); })"
        js_setAttributeNode :: Element -> Attr -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode MDN Element.setAttributeNode documentation>
setAttributeNode :: (MonadDOM m, IsElement self) => self -> Attr -> m (Maybe Attr)
setAttributeNode self attr = liftDOM (((js_setAttributeNode ((Types.toElement self)) (attr)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode MDN Element.setAttributeNode documentation>
setAttributeNode_ :: (MonadDOM m, IsElement self) => self -> Attr -> m ()
setAttributeNode_ self attr = liftDOM (void ((js_setAttributeNode ((Types.toElement self)) (attr))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode MDN Element.setAttributeNode documentation>
setAttributeNodeUnsafe :: (MonadDOM m, IsElement self, HasCallStack) => self -> Attr -> m Attr
setAttributeNodeUnsafe self attr = liftDOM ((((js_setAttributeNode ((Types.toElement self)) (attr)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNode MDN Element.setAttributeNode documentation>
setAttributeNodeUnchecked :: (MonadDOM m, IsElement self) => self -> Attr -> m Attr
setAttributeNodeUnchecked self attr = liftDOM ((pFromJSVal <$> (js_setAttributeNode ((Types.toElement self)) (attr))))

foreign import javascript safe "(($1, $2) => { return $1[\"setAttributeNodeNS\"]($2); })"
        js_setAttributeNodeNS :: Element -> Attr -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS MDN Element.setAttributeNodeNS documentation>
setAttributeNodeNS :: (MonadDOM m, IsElement self) => self -> Attr -> m (Maybe Attr)
setAttributeNodeNS self attr = liftDOM (((js_setAttributeNodeNS ((Types.toElement self)) (attr)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS MDN Element.setAttributeNodeNS documentation>
setAttributeNodeNS_ :: (MonadDOM m, IsElement self) => self -> Attr -> m ()
setAttributeNodeNS_ self attr = liftDOM (void ((js_setAttributeNodeNS ((Types.toElement self)) (attr))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS MDN Element.setAttributeNodeNS documentation>
setAttributeNodeNSUnsafe :: (MonadDOM m, IsElement self, HasCallStack) => self -> Attr -> m Attr
setAttributeNodeNSUnsafe self attr = liftDOM ((((js_setAttributeNodeNS ((Types.toElement self)) (attr)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS MDN Element.setAttributeNodeNS documentation>
setAttributeNodeNSUnchecked :: (MonadDOM m, IsElement self) => self -> Attr -> m Attr
setAttributeNodeNSUnchecked self attr = liftDOM ((pFromJSVal <$> (js_setAttributeNodeNS ((Types.toElement self)) (attr))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"setHTML\"]($2, $3); })"
        js_setHTML :: Element -> JSString -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/setHTML MDN Element.setHTML documentation>
setHTML :: (MonadDOM m, IsElement self, ToJSString html) => self -> html -> Maybe SetHTMLOptions -> m ()
setHTML self html options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a3' -> js_setHTML ((Types.toElement self)) (toJSString html) a3')))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"setHTMLUnsafe\"]($2, $3); })"
        js_setHTMLUnsafe :: Element -> TrustedHTMLOrString -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/setHTMLUnsafe MDN Element.setHTMLUnsafe documentation>
setHTMLUnsafe :: (MonadDOM m, IsElement self, IsTrustedHTMLOrString html, IsSetHTMLUnsafeOptionsOrTrustedHTMLParserOptions options) => self -> html -> Maybe options -> m ()
setHTMLUnsafe self html options = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a3' -> js_setHTMLUnsafe ((Types.toElement self)) (Types.toTrustedHTMLOrString html) a3')))

foreign import javascript safe "(($1, $2) => { return $1[\"setPointerCapture\"]($2); })"
        js_setPointerCapture :: Element -> Int -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture MDN Element.setPointerCapture documentation>
setPointerCapture :: (MonadDOM m, IsElement self) => self -> Int -> m ()
setPointerCapture self pointerId = liftDOM (void ((js_setPointerCapture ((Types.toElement self)) (pointerId))))

foreign import javascript safe "(($1, $2, $3) => { return $1[\"toggleAttribute\"]($2, $3); })"
        js_toggleAttribute :: Element -> JSString -> JSVal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/Element/toggleAttribute MDN Element.toggleAttribute documentation>
toggleAttribute :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> Maybe Bool -> m Bool
toggleAttribute self qualifiedName force = liftDOM (((P.maybe (P.return jsUndefined) toJSVal force) >>= \a3' -> js_toggleAttribute ((Types.toElement self)) (toJSString qualifiedName) a3'))

-- | <https://developer.mozilla.org/docs/Web/API/Element/toggleAttribute MDN Element.toggleAttribute documentation>
toggleAttribute_ :: (MonadDOM m, IsElement self, ToJSString qualifiedName) => self -> qualifiedName -> Maybe Bool -> m ()
toggleAttribute_ self qualifiedName force = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal force) >>= \a3' -> js_toggleAttribute ((Types.toElement self)) (toJSString qualifiedName) a3')))

foreign import javascript safe "(($1, $2) => { return $1[\"webkitMatchesSelector\"]($2); })"
        js_webkitMatchesSelector :: Element -> JSString -> IO Bool
-- | <https://dom.spec.whatwg.org/#dom-element-webkitmatchesselector Element.webkitMatchesSelector specification>
webkitMatchesSelector :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m Bool
webkitMatchesSelector self selectors = liftDOM ((js_webkitMatchesSelector ((Types.toElement self)) (toJSString selectors)))

-- | <https://dom.spec.whatwg.org/#dom-element-webkitmatchesselector Element.webkitMatchesSelector specification>
webkitMatchesSelector_ :: (MonadDOM m, IsElement self, ToJSString selectors) => self -> selectors -> m ()
webkitMatchesSelector_ self selectors = liftDOM (void ((js_webkitMatchesSelector ((Types.toElement self)) (toJSString selectors))))

foreign import javascript unsafe "(($1) => { return $1[\"namespaceURI\"]; })"
        js_getNamespaceURI :: Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/namespaceURI MDN Element.namespaceURI documentation>
getNamespaceURI :: (MonadDOM m, IsElement self, FromJSString result) => self -> m (Maybe result)
getNamespaceURI self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getNamespaceURI ((Types.toElement self)))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/namespaceURI MDN Element.namespaceURI documentation>
getNamespaceURIUnsafe :: (MonadDOM m, IsElement self, HasCallStack, FromJSString result) => self -> m result
getNamespaceURIUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getNamespaceURI ((Types.toElement self)))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/namespaceURI MDN Element.namespaceURI documentation>
getNamespaceURIUnchecked :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getNamespaceURIUnchecked self = liftDOM ((pFromJSVal <$> (js_getNamespaceURI ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"prefix\"]; })"
        js_getPrefix :: Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/prefix MDN Element.prefix documentation>
getPrefix :: (MonadDOM m, IsElement self, FromJSString result) => self -> m (Maybe result)
getPrefix self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getPrefix ((Types.toElement self)))))

-- | <https://developer.mozilla.org/docs/Web/API/Element/prefix MDN Element.prefix documentation>
getPrefixUnsafe :: (MonadDOM m, IsElement self, HasCallStack, FromJSString result) => self -> m result
getPrefixUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getPrefix ((Types.toElement self)))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/prefix MDN Element.prefix documentation>
getPrefixUnchecked :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getPrefixUnchecked self = liftDOM ((pFromJSVal <$> (js_getPrefix ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"localName\"]; })"
        js_getLocalName :: Element -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/localName MDN Element.localName documentation>
getLocalName :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getLocalName self = liftDOM ((fromJSString <$> (js_getLocalName ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"tagName\"]; })"
        js_getTagName :: Element -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/tagName MDN Element.tagName documentation>
getTagName :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getTagName self = liftDOM ((fromJSString <$> (js_getTagName ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { $1[\"id\"] = $2; })"
        js_setId :: Element -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/id MDN Element.id documentation>
setId :: (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setId self val = liftDOM (void ((js_setId ((Types.toElement self)) (toJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"id\"]; })"
        js_getId :: Element -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/id MDN Element.id documentation>
getId :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getId self = liftDOM ((fromJSString <$> (js_getId ((Types.toElement self)))))

foreign import javascript safe "(($1, $2) => { $1[\"className\"] = $2; })"
        js_setClassName :: Element -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/className MDN Element.className documentation>
setClassName :: (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setClassName self val = liftDOM (void ((js_setClassName ((Types.toElement self)) (toJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"className\"]; })"
        js_getClassName :: Element -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/className MDN Element.className documentation>
getClassName :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getClassName self = liftDOM ((fromJSString <$> (js_getClassName ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"classList\"]; })"
        js_getClassList :: Element -> IO DOMTokenList
-- | <https://developer.mozilla.org/docs/Web/API/Element/classList MDN Element.classList documentation>
getClassList :: (MonadDOM m, IsElement self) => self -> m DOMTokenList
getClassList self = liftDOM ((js_getClassList ((Types.toElement self))))

foreign import javascript safe "(($1, $2) => { $1[\"slot\"] = $2; })"
        js_setSlot :: Element -> JSString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/slot MDN Element.slot documentation>
setSlot :: (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setSlot self val = liftDOM (void ((js_setSlot ((Types.toElement self)) (toJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"slot\"]; })"
        js_getSlot :: Element -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/Element/slot MDN Element.slot documentation>
getSlot :: (MonadDOM m, IsElement self, FromJSString result) => self -> m result
getSlot self = liftDOM ((fromJSString <$> (js_getSlot ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"attributes\"]; })"
        js_getAttributes :: Element -> IO NamedNodeMap
-- | <https://developer.mozilla.org/docs/Web/API/Element/attributes MDN Element.attributes documentation>
getAttributes :: (MonadDOM m, IsElement self) => self -> m NamedNodeMap
getAttributes self = liftDOM ((js_getAttributes ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"shadowRoot\"]; })"
        js_getShadowRoot :: Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/shadowRoot MDN Element.shadowRoot documentation>
getShadowRoot :: (MonadDOM m, IsElement self) => self -> m (Maybe ShadowRoot)
getShadowRoot self = liftDOM (((js_getShadowRoot ((Types.toElement self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/shadowRoot MDN Element.shadowRoot documentation>
getShadowRootUnsafe :: (MonadDOM m, IsElement self, HasCallStack) => self -> m ShadowRoot
getShadowRootUnsafe self = liftDOM ((((js_getShadowRoot ((Types.toElement self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/shadowRoot MDN Element.shadowRoot documentation>
getShadowRootUnchecked :: (MonadDOM m, IsElement self) => self -> m ShadowRoot
getShadowRootUnchecked self = liftDOM ((pFromJSVal <$> (js_getShadowRoot ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"customElementRegistry\"]; })"
        js_getCustomElementRegistry :: Element -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/Element/customElementRegistry MDN Element.customElementRegistry documentation>
getCustomElementRegistry :: (MonadDOM m, IsElement self) => self -> m (Maybe CustomElementRegistry)
getCustomElementRegistry self = liftDOM (((js_getCustomElementRegistry ((Types.toElement self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/customElementRegistry MDN Element.customElementRegistry documentation>
getCustomElementRegistryUnsafe :: (MonadDOM m, IsElement self, HasCallStack) => self -> m CustomElementRegistry
getCustomElementRegistryUnsafe self = liftDOM ((((js_getCustomElementRegistry ((Types.toElement self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Element/customElementRegistry MDN Element.customElementRegistry documentation>
getCustomElementRegistryUnchecked :: (MonadDOM m, IsElement self) => self -> m CustomElementRegistry
getCustomElementRegistryUnchecked self = liftDOM ((pFromJSVal <$> (js_getCustomElementRegistry ((Types.toElement self)))))

foreign import javascript unsafe "(($1) => { return $1[\"part\"]; })"
        js_getPart :: Element -> IO DOMTokenList
-- | <https://developer.mozilla.org/docs/Web/API/Element/part MDN Element.part documentation>
getPart :: (MonadDOM m, IsElement self) => self -> m DOMTokenList
getPart self = liftDOM ((js_getPart ((Types.toElement self))))

foreign import javascript safe "(($1, $2) => { $1[\"scrollTop\"] = $2; })"
        js_setScrollTop :: Element -> Double -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTop MDN Element.scrollTop documentation>
setScrollTop :: (MonadDOM m, IsElement self) => self -> Double -> m ()
setScrollTop self val = liftDOM (void ((js_setScrollTop ((Types.toElement self)) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"scrollTop\"]; })"
        js_getScrollTop :: Element -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTop MDN Element.scrollTop documentation>
getScrollTop :: (MonadDOM m, IsElement self) => self -> m Double
getScrollTop self = liftDOM ((js_getScrollTop ((Types.toElement self))))

foreign import javascript safe "(($1, $2) => { $1[\"scrollLeft\"] = $2; })"
        js_setScrollLeft :: Element -> Double -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollLeft MDN Element.scrollLeft documentation>
setScrollLeft :: (MonadDOM m, IsElement self) => self -> Double -> m ()
setScrollLeft self val = liftDOM (void ((js_setScrollLeft ((Types.toElement self)) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"scrollLeft\"]; })"
        js_getScrollLeft :: Element -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollLeft MDN Element.scrollLeft documentation>
getScrollLeft :: (MonadDOM m, IsElement self) => self -> m Double
getScrollLeft self = liftDOM ((js_getScrollLeft ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"scrollWidth\"]; })"
        js_getScrollWidth :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollWidth MDN Element.scrollWidth documentation>
getScrollWidth :: (MonadDOM m, IsElement self) => self -> m Int
getScrollWidth self = liftDOM ((js_getScrollWidth ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"scrollHeight\"]; })"
        js_getScrollHeight :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollHeight MDN Element.scrollHeight documentation>
getScrollHeight :: (MonadDOM m, IsElement self) => self -> m Int
getScrollHeight self = liftDOM ((js_getScrollHeight ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientTop\"]; })"
        js_getClientTop :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/clientTop MDN Element.clientTop documentation>
getClientTop :: (MonadDOM m, IsElement self) => self -> m Int
getClientTop self = liftDOM ((js_getClientTop ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientLeft\"]; })"
        js_getClientLeft :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/clientLeft MDN Element.clientLeft documentation>
getClientLeft :: (MonadDOM m, IsElement self) => self -> m Int
getClientLeft self = liftDOM ((js_getClientLeft ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientWidth\"]; })"
        js_getClientWidth :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/clientWidth MDN Element.clientWidth documentation>
getClientWidth :: (MonadDOM m, IsElement self) => self -> m Int
getClientWidth self = liftDOM ((js_getClientWidth ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientHeight\"]; })"
        js_getClientHeight :: Element -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/Element/clientHeight MDN Element.clientHeight documentation>
getClientHeight :: (MonadDOM m, IsElement self) => self -> m Int
getClientHeight self = liftDOM ((js_getClientHeight ((Types.toElement self))))

foreign import javascript unsafe "(($1) => { return $1[\"currentCSSZoom\"]; })"
        js_getCurrentCSSZoom :: Element -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom MDN Element.currentCSSZoom documentation>
getCurrentCSSZoom :: (MonadDOM m, IsElement self) => self -> m Double
getCurrentCSSZoom self = liftDOM ((js_getCurrentCSSZoom ((Types.toElement self))))

foreign import javascript safe "(($1, $2) => { $1[\"innerHTML\"] = $2; })"
        js_setInnerHTML :: Element -> TrustedHTMLOrString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/innerHTML MDN Element.innerHTML documentation>
setInnerHTML :: (MonadDOM m, IsElement self, IsTrustedHTMLOrString val) => self -> val -> m ()
setInnerHTML self val = liftDOM (void ((js_setInnerHTML ((Types.toElement self)) (Types.toTrustedHTMLOrString val))))

foreign import javascript unsafe "(($1) => { return $1[\"innerHTML\"]; })"
        js_getInnerHTML :: Element -> IO TrustedHTMLOrString
-- | <https://developer.mozilla.org/docs/Web/API/Element/innerHTML MDN Element.innerHTML documentation>
getInnerHTML :: (MonadDOM m, IsElement self) => self -> m TrustedHTMLOrString
getInnerHTML self = liftDOM ((js_getInnerHTML ((Types.toElement self))))

foreign import javascript safe "(($1, $2) => { $1[\"outerHTML\"] = $2; })"
        js_setOuterHTML :: Element -> TrustedHTMLOrString -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/Element/outerHTML MDN Element.outerHTML documentation>
setOuterHTML :: (MonadDOM m, IsElement self, IsTrustedHTMLOrString val) => self -> val -> m ()
setOuterHTML self val = liftDOM (void ((js_setOuterHTML ((Types.toElement self)) (Types.toTrustedHTMLOrString val))))

foreign import javascript unsafe "(($1) => { return $1[\"outerHTML\"]; })"
        js_getOuterHTML :: Element -> IO TrustedHTMLOrString
-- | <https://developer.mozilla.org/docs/Web/API/Element/outerHTML MDN Element.outerHTML documentation>
getOuterHTML :: (MonadDOM m, IsElement self) => self -> m TrustedHTMLOrString
getOuterHTML self = liftDOM ((js_getOuterHTML ((Types.toElement self))))

-- | <https://fullscreen.spec.whatwg.org/#handler-document-onfullscreenchange fullscreenchange event>
fullscreenchange :: (IsElement self, IsEventTarget self) => EventName self Event
fullscreenchange = unsafeEventName (toJSString "fullscreenchange")

-- | <https://fullscreen.spec.whatwg.org/#handler-document-onfullscreenerror fullscreenerror event>
fullscreenerror :: (IsElement self, IsEventTarget self) => EventName self Event
fullscreenerror = unsafeEventName (toJSString "fullscreenerror")

-- | <https://w3c.github.io/uievents/#compositionend compositionend event>
compositionend :: (IsElement self, IsEventTarget self) => EventName self CompositionEvent
compositionend = unsafeEventName (toJSString "compositionend")

-- | <https://w3c.github.io/uievents/#compositionstart compositionstart event>
compositionstart :: (IsElement self, IsEventTarget self) => EventName self CompositionEvent
compositionstart = unsafeEventName (toJSString "compositionstart")

-- | <https://w3c.github.io/uievents/#compositionupdate compositionupdate event>
compositionupdate :: (IsElement self, IsEventTarget self) => EventName self CompositionEvent
compositionupdate = unsafeEventName (toJSString "compositionupdate")

-- | <https://drafts.csswg.org/css-contain-2/#eventdef-element-contentvisibilityautostatechange contentvisibilityautostatechange event>
contentvisibilityautostatechange :: (IsElement self, IsEventTarget self) => EventName self ContentVisibilityAutoStateChangeEvent
contentvisibilityautostatechange = unsafeEventName (toJSString "contentvisibilityautostatechange")

-- | <https://w3c.github.io/uievents/#domactivate DOMActivate event>
domActivate :: (IsElement self, IsEventTarget self) => EventName self UIEvent
domActivate = unsafeEventName (toJSString "DOMActivate")

-- | <https://w3c.github.io/uievents/#domfocusin DOMFocusIn event>
domFocusIn :: (IsElement self, IsEventTarget self) => EventName self FocusEvent
domFocusIn = unsafeEventName (toJSString "DOMFocusIn")

-- | <https://w3c.github.io/uievents/#domfocusout DOMFocusOut event>
domFocusOut :: (IsElement self, IsEventTarget self) => EventName self FocusEvent
domFocusOut = unsafeEventName (toJSString "DOMFocusOut")

-- | <https://w3c.github.io/uievents/#focusin focusin event>
focusin :: (IsElement self, IsEventTarget self) => EventName self FocusEvent
focusin = unsafeEventName (toJSString "focusin")

-- | <https://w3c.github.io/uievents/#focusout focusout event>
focusout :: (IsElement self, IsEventTarget self) => EventName self FocusEvent
focusout = unsafeEventName (toJSString "focusout")

-- | <https://w3c.github.io/uievents/#textinput textInput event>
textInput :: (IsElement self, IsEventTarget self) => EventName self TextEvent
textInput = unsafeEventName (toJSString "textInput")