packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Element.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.Element
       (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 Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <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 ((((Types.toElement self) ^. jsf "attachShadow" [toJSVal init]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "attachShadow" [toJSVal init]))

-- | <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 ((((Types.toElement self) ^. jsf "checkVisibility" [P.maybe (P.return jsUndefined) toJSVal options]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "checkVisibility" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <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 ((((Types.toElement self) ^. jsf "closest" [toJSVal 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 ((Types.toElement self) ^. jsf "closest" [toJSVal 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 (((((Types.toElement self) ^. jsf "closest" [toJSVal 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 ((((Types.toElement self) ^. jsf "closest" [toJSVal selectors]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/computedStyleMap MDN Element.computedStyleMap documentation>
computedStyleMap :: (MonadDOM m, IsElement self) => self -> m StylePropertyMapReadOnly
computedStyleMap self = liftDOM ((((Types.toElement self) ^. jsf "computedStyleMap" ()) >>= fromJSValUnchecked))

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

-- | <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 ((((Types.toElement self) ^. jsf "getAttribute" [toJSVal qualifiedName]) >>= fromMaybeJSString))

-- | <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 ((Types.toElement self) ^. jsf "getAttribute" [toJSVal 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 (((((Types.toElement self) ^. jsf "getAttribute" [toJSVal qualifiedName]) >>= fromMaybeJSString) >>= 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 ((((Types.toElement self) ^. jsf "getAttribute" [toJSVal qualifiedName]) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "getAttributeNS" [toJSVal namespace, toJSVal localName]) >>= fromMaybeJSString))

-- | <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 ((Types.toElement self) ^. jsf "getAttributeNS" [toJSVal namespace, toJSVal 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 (((((Types.toElement self) ^. jsf "getAttributeNS" [toJSVal namespace, toJSVal localName]) >>= fromMaybeJSString) >>= 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 ((((Types.toElement self) ^. jsf "getAttributeNS" [toJSVal namespace, toJSVal localName]) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "getAttributeNames" ()) >>= 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 ((Types.toElement self) ^. jsf "getAttributeNames" ()))

-- | <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 ((((Types.toElement self) ^. jsf "getAttributeNode" [toJSVal 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 ((Types.toElement self) ^. jsf "getAttributeNode" [toJSVal 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 (((((Types.toElement self) ^. jsf "getAttributeNode" [toJSVal 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 ((((Types.toElement self) ^. jsf "getAttributeNode" [toJSVal qualifiedName]) >>= 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 (Maybe Attr)
getAttributeNodeNS self namespace localName = liftDOM ((((Types.toElement self) ^. jsf "getAttributeNodeNS" [toJSVal namespace, toJSVal 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 ((Types.toElement self) ^. jsf "getAttributeNodeNS" [toJSVal namespace, toJSVal 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 (((((Types.toElement self) ^. jsf "getAttributeNodeNS" [toJSVal namespace, toJSVal 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 ((((Types.toElement self) ^. jsf "getAttributeNodeNS" [toJSVal namespace, toJSVal localName]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getBoundingClientRect MDN Element.getBoundingClientRect documentation>
getBoundingClientRect :: (MonadDOM m, IsElement self) => self -> m DOMRect
getBoundingClientRect self = liftDOM ((((Types.toElement self) ^. jsf "getBoundingClientRect" ()) >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/Element/getClientRects MDN Element.getClientRects documentation>
getClientRects :: (MonadDOM m, IsElement self) => self -> m DOMRectList
getClientRects self = liftDOM ((((Types.toElement self) ^. jsf "getClientRects" ()) >>= fromJSValUnchecked))

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

-- | <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 ((((Types.toElement self) ^. jsf "getElementsByClassName" [toJSVal classNames]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "getElementsByClassName" [toJSVal classNames]))

-- | <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 ((((Types.toElement self) ^. jsf "getElementsByTagName" [toJSVal qualifiedName]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "getElementsByTagName" [toJSVal qualifiedName]))

-- | <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 ((((Types.toElement self) ^. jsf "getElementsByTagNameNS" [toJSVal namespace, toJSVal localName]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "getElementsByTagNameNS" [toJSVal namespace, toJSVal localName]))

-- | <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 ((((Types.toElement self) ^. jsf "getHTML" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "getHTML" [P.maybe (P.return jsUndefined) toJSVal options]))

-- | <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 ((((Types.toElement self) ^. jsf "hasAttribute" [toJSVal qualifiedName]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "hasAttribute" [toJSVal qualifiedName]))

-- | <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 ((((Types.toElement self) ^. jsf "hasAttributeNS" [toJSVal namespace, toJSVal localName]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "hasAttributeNS" [toJSVal namespace, toJSVal localName]))

-- | <https://developer.mozilla.org/docs/Web/API/Element/hasAttributes MDN Element.hasAttributes documentation>
hasAttributes :: (MonadDOM m, IsElement self) => self -> m Bool
hasAttributes self = liftDOM ((((Types.toElement self) ^. jsf "hasAttributes" ()) >>= valToBool))

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

-- | <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 ((((Types.toElement self) ^. jsf "hasPointerCapture" [toJSVal pointerId]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "hasPointerCapture" [toJSVal pointerId]))

-- | <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 ((((Types.toElement self) ^. jsf "insertAdjacentElement" [toJSVal where', toJSVal 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 ((Types.toElement self) ^. jsf "insertAdjacentElement" [toJSVal where', toJSVal 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 (((((Types.toElement self) ^. jsf "insertAdjacentElement" [toJSVal where', toJSVal 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 ((((Types.toElement self) ^. jsf "insertAdjacentElement" [toJSVal where', toJSVal element]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "insertAdjacentHTML" [toJSVal position, toJSVal string]))

-- | <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 ((Types.toElement self) ^. jsf "insertAdjacentText" [toJSVal where', toJSVal data']))

-- | <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 ((((Types.toElement self) ^. jsf "matches" [toJSVal selectors]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "matches" [toJSVal selectors]))

-- | <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 ((Types.toElement self) ^. jsf "releasePointerCapture" [toJSVal pointerId]))

-- | <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 ((Types.toElement self) ^. jsf "removeAttribute" [toJSVal qualifiedName]))

-- | <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 ((Types.toElement self) ^. jsf "removeAttributeNS" [toJSVal namespace, toJSVal localName]))

-- | <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 ((((Types.toElement self) ^. jsf "removeAttributeNode" [toJSVal attr]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "removeAttributeNode" [toJSVal attr]))

-- | <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 ((((Types.toElement self) ^. jsf "requestFullscreen" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock MDN Element.requestPointerLock documentation>
requestPointerLock :: (MonadDOM m, IsElement self) => self -> m ()
requestPointerLock self = liftDOM (void ((((Types.toElement self) ^. jsf "requestPointerLock" ()) >>= readPromise)))

-- | <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 ((((Types.toElement self) ^. jsf "requestPointerLock" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scroll" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scroll" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scroll" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scroll" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scrollBy" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scrollBy" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scrollBy" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scrollBy" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scrollIntoView" [P.maybe (P.return jsUndefined) toJSVal arg]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scrollIntoView" [P.maybe (P.return jsUndefined) toJSVal arg]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scrollTo" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scrollTo" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <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 ((((((Types.toElement self) ^. jsf "scrollTo" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "scrollTo" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <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 ((Types.toElement self) ^. jsf "setAttribute" [toJSVal qualifiedName, toJSVal value]))

-- | <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 ((Types.toElement self) ^. jsf "setAttributeNS" [toJSVal namespace, toJSVal qualifiedName, toJSVal value]))

-- | <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 ((((Types.toElement self) ^. jsf "setAttributeNode" [toJSVal 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 ((Types.toElement self) ^. jsf "setAttributeNode" [toJSVal 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 (((((Types.toElement self) ^. jsf "setAttributeNode" [toJSVal 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 ((((Types.toElement self) ^. jsf "setAttributeNode" [toJSVal attr]) >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. jsf "setAttributeNodeNS" [toJSVal 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 ((Types.toElement self) ^. jsf "setAttributeNodeNS" [toJSVal 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 (((((Types.toElement self) ^. jsf "setAttributeNodeNS" [toJSVal 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 ((((Types.toElement self) ^. jsf "setAttributeNodeNS" [toJSVal attr]) >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jsf "setHTML" [toJSVal html, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <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 ((Types.toElement self) ^. jsf "setHTMLUnsafe" [toJSVal html, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <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 ((Types.toElement self) ^. jsf "setPointerCapture" [toJSVal pointerId]))

-- | <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 ((((Types.toElement self) ^. jsf "toggleAttribute" [toJSVal qualifiedName, P.maybe (P.return jsUndefined) toJSVal force]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "toggleAttribute" [toJSVal qualifiedName, P.maybe (P.return jsUndefined) toJSVal force]))

-- | <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 ((((Types.toElement self) ^. jsf "webkitMatchesSelector" [toJSVal selectors]) >>= valToBool))

-- | <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 ((Types.toElement self) ^. jsf "webkitMatchesSelector" [toJSVal selectors]))

-- | <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 ((((Types.toElement self) ^. js "namespaceURI") >>= fromMaybeJSString))

-- | <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 (((((Types.toElement self) ^. js "namespaceURI") >>= fromMaybeJSString) >>= 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 ((((Types.toElement self) ^. js "namespaceURI") >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. js "prefix") >>= fromMaybeJSString))

-- | <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 (((((Types.toElement self) ^. js "prefix") >>= fromMaybeJSString) >>= 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 ((((Types.toElement self) ^. js "prefix") >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. js "localName") >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. js "tagName") >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jss "id" (toJSVal val)))

-- | <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 ((((Types.toElement self) ^. js "id") >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jss "className" (toJSVal val)))

-- | <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 ((((Types.toElement self) ^. js "className") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/classList MDN Element.classList documentation>
getClassList :: (MonadDOM m, IsElement self) => self -> m DOMTokenList
getClassList self = liftDOM ((((Types.toElement self) ^. js "classList") >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jss "slot" (toJSVal val)))

-- | <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 ((((Types.toElement self) ^. js "slot") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/attributes MDN Element.attributes documentation>
getAttributes :: (MonadDOM m, IsElement self) => self -> m NamedNodeMap
getAttributes self = liftDOM ((((Types.toElement self) ^. js "attributes") >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. js "shadowRoot") >>= 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 (((((Types.toElement self) ^. js "shadowRoot") >>= 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 ((((Types.toElement self) ^. js "shadowRoot") >>= fromJSValUnchecked))

-- | <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 ((((Types.toElement self) ^. js "customElementRegistry") >>= 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 (((((Types.toElement self) ^. js "customElementRegistry") >>= 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 ((((Types.toElement self) ^. js "customElementRegistry") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/part MDN Element.part documentation>
getPart :: (MonadDOM m, IsElement self) => self -> m DOMTokenList
getPart self = liftDOM ((((Types.toElement self) ^. js "part") >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jss "scrollTop" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollTop MDN Element.scrollTop documentation>
getScrollTop :: (MonadDOM m, IsElement self) => self -> m Double
getScrollTop self = liftDOM ((((Types.toElement self) ^. js "scrollTop") >>= valToNumber))

-- | <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 ((Types.toElement self) ^. jss "scrollLeft" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollLeft MDN Element.scrollLeft documentation>
getScrollLeft :: (MonadDOM m, IsElement self) => self -> m Double
getScrollLeft self = liftDOM ((((Types.toElement self) ^. js "scrollLeft") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollWidth MDN Element.scrollWidth documentation>
getScrollWidth :: (MonadDOM m, IsElement self) => self -> m Int
getScrollWidth self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "scrollWidth") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/scrollHeight MDN Element.scrollHeight documentation>
getScrollHeight :: (MonadDOM m, IsElement self) => self -> m Int
getScrollHeight self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "scrollHeight") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/clientTop MDN Element.clientTop documentation>
getClientTop :: (MonadDOM m, IsElement self) => self -> m Int
getClientTop self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "clientTop") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/clientLeft MDN Element.clientLeft documentation>
getClientLeft :: (MonadDOM m, IsElement self) => self -> m Int
getClientLeft self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "clientLeft") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/clientWidth MDN Element.clientWidth documentation>
getClientWidth :: (MonadDOM m, IsElement self) => self -> m Int
getClientWidth self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "clientWidth") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/clientHeight MDN Element.clientHeight documentation>
getClientHeight :: (MonadDOM m, IsElement self) => self -> m Int
getClientHeight self = liftDOM ((P.round <$> (((Types.toElement self) ^. js "clientHeight") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom MDN Element.currentCSSZoom documentation>
getCurrentCSSZoom :: (MonadDOM m, IsElement self) => self -> m Double
getCurrentCSSZoom self = liftDOM ((((Types.toElement self) ^. js "currentCSSZoom") >>= valToNumber))

-- | <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 ((Types.toElement self) ^. jss "innerHTML" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/innerHTML MDN Element.innerHTML documentation>
getInnerHTML :: (MonadDOM m, IsElement self) => self -> m TrustedHTMLOrString
getInnerHTML self = liftDOM ((((Types.toElement self) ^. js "innerHTML") >>= fromJSValUnchecked))

-- | <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 ((Types.toElement self) ^. jss "outerHTML" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Element/outerHTML MDN Element.outerHTML documentation>
getOuterHTML :: (MonadDOM m, IsElement self) => self -> m TrustedHTMLOrString
getOuterHTML self = liftDOM ((((Types.toElement self) ^. js "outerHTML") >>= fromJSValUnchecked))

-- | <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")