{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.Element
       (hasAttributes, hasAttributes_, getAttributeNames,
        getAttributeNames_, getAttribute, getAttribute_,
        getAttributeUnsafe, getAttributeUnchecked, getAttributeNS,
        getAttributeNS_, getAttributeNSUnsafe, getAttributeNSUnchecked,
        setAttribute, setAttributeNS, removeAttribute, removeAttributeNS,
        hasAttribute, hasAttribute_, hasAttributeNS, hasAttributeNS_,
        getAttributeNode, getAttributeNode_, getAttributeNodeUnsafe,
        getAttributeNodeUnchecked, getAttributeNodeNS, getAttributeNodeNS_,
        getAttributeNodeNSUnsafe, getAttributeNodeNSUnchecked,
        setAttributeNode, setAttributeNode_, setAttributeNodeUnsafe,
        setAttributeNodeUnchecked, setAttributeNodeNS, setAttributeNodeNS_,
        setAttributeNodeNSUnsafe, setAttributeNodeNSUnchecked,
        removeAttributeNode, removeAttributeNode_, attachShadow,
        attachShadow_, closest, closest_, closestUnsafe, closestUnchecked,
        matches, matches_, webkitMatchesSelector, webkitMatchesSelector_,
        getElementsByTagName, getElementsByTagName_,
        getElementsByTagNameNS, getElementsByTagNameNS_,
        getElementsByClassName, getElementsByClassName_,
        insertAdjacentElement, insertAdjacentElement_,
        insertAdjacentElementUnsafe, insertAdjacentElementUnchecked,
        insertAdjacentText, getClientRects, getClientRects_,
        getBoundingClientRect, getBoundingClientRect_, scrollIntoView,
        scrollOpt, scroll, scrollToOpt, scrollTo, scrollByOpt, scrollBy,
        insertAdjacentHTML, webkitRequestFullScreen,
        webkitRequestFullscreen, requestPointerLock,
        webkitGetRegionFlowRanges, webkitGetRegionFlowRanges_,
        scrollIntoViewIfNeeded, getNamespaceURI, getNamespaceURIUnsafe,
        getNamespaceURIUnchecked, getPrefix, getPrefixUnsafe,
        getPrefixUnchecked, getLocalName, getTagName, setId, getId,
        setClassName, getClassName, getClassList, setSlot, getSlot,
        getAttributes, getShadowRoot, getShadowRootUnsafe,
        getShadowRootUnchecked, setScrollTop, getScrollTop, setScrollLeft,
        getScrollLeft, getScrollWidth, getScrollHeight, getClientTop,
        getClientLeft, getClientWidth, getClientHeight, setInnerHTML,
        getInnerHTML, setOuterHTML, getOuterHTML, getWebkitRegionOverset,
        selectStart, gestureChange, gestureEnd, gestureStart,
        webKitAnimationEnd, webKitAnimationIteration, webKitAnimationStart,
        webKitTransitionEnd, webKitFullscreenChange, webKitFullscreenError,
        focusin, focusout, beforeload, webKitNeedKey,
        webKitPresentationModeChanged,
        webKitCurrentPlaybackTargetIsWirelessChanged,
        webKitPlaybackTargetAvailabilityChanged, Element(..), gTypeElement,
        IsElement, toElement)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttributes Mozilla Element.hasAttributes documentation> 
hasAttributes :: (MonadDOM m, IsElement self) => self -> m Bool
hasAttributes :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Bool
hasAttributes self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttributes" ()) JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttributes Mozilla Element.hasAttributes documentation> 
hasAttributes_ :: (MonadDOM m, IsElement self) => self -> m ()
hasAttributes_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
hasAttributes_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttributes" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNames Mozilla Element.getAttributeNames documentation> 
getAttributeNames ::
                  (MonadDOM m, IsElement self, FromJSString result) =>
                    self -> m [result]
getAttributeNames :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m [result]
getAttributeNames self
self
  = DOM [result] -> m [result]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNames" ()) JSM JSVal -> (JSVal -> DOM [result]) -> DOM [result]
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM [result]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNames Mozilla Element.getAttributeNames documentation> 
getAttributeNames_ :: (MonadDOM m, IsElement self) => self -> m ()
getAttributeNames_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
getAttributeNames_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNames" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttribute Mozilla Element.getAttribute documentation> 
getAttribute ::
             (MonadDOM m, IsElement self, ToJSString qualifiedName,
              FromJSString result) =>
               self -> qualifiedName -> m (Maybe result)
getAttribute :: forall (m :: * -> *) self qualifiedName result.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 FromJSString result) =>
self -> qualifiedName -> m (Maybe result)
getAttribute self
self qualifiedName
qualifiedName
  = DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttribute Mozilla Element.getAttribute documentation> 
getAttribute_ ::
              (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                self -> qualifiedName -> m ()
getAttribute_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
getAttribute_ self
self qualifiedName
qualifiedName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttribute Mozilla Element.getAttribute documentation> 
getAttributeUnsafe ::
                   (MonadDOM m, IsElement self, ToJSString qualifiedName,
                    HasCallStack, FromJSString result) =>
                     self -> qualifiedName -> m result
getAttributeUnsafe :: forall (m :: * -> *) self qualifiedName result.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 HasCallStack, FromJSString result) =>
self -> qualifiedName -> m result
getAttributeUnsafe self
self qualifiedName
qualifiedName
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
          JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
         JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM result
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") result -> DOM result
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttribute Mozilla Element.getAttribute documentation> 
getAttributeUnchecked ::
                      (MonadDOM m, IsElement self, ToJSString qualifiedName,
                       FromJSString result) =>
                        self -> qualifiedName -> m result
getAttributeUnchecked :: forall (m :: * -> *) self qualifiedName result.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 FromJSString result) =>
self -> qualifiedName -> m result
getAttributeUnchecked self
self qualifiedName
qualifiedName
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS Mozilla Element.getAttributeNS documentation> 
getAttributeNS ::
               (MonadDOM m, IsElement self, ToJSString namespaceURI,
                ToJSString localName, FromJSString result) =>
                 self -> Maybe namespaceURI -> localName -> m (Maybe result)
getAttributeNS :: forall (m :: * -> *) self namespaceURI localName result.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName, FromJSString result) =>
self -> Maybe namespaceURI -> localName -> m (Maybe result)
getAttributeNS self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS Mozilla Element.getAttributeNS documentation> 
getAttributeNS_ ::
                (MonadDOM m, IsElement self, ToJSString namespaceURI,
                 ToJSString localName) =>
                  self -> Maybe namespaceURI -> localName -> m ()
getAttributeNS_ :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m ()
getAttributeNS_ self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS Mozilla Element.getAttributeNS documentation> 
getAttributeNSUnsafe ::
                     (MonadDOM m, IsElement self, ToJSString namespaceURI,
                      ToJSString localName, HasCallStack, FromJSString result) =>
                       self -> Maybe namespaceURI -> localName -> m result
getAttributeNSUnsafe :: forall (m :: * -> *) self namespaceURI localName result.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName, HasCallStack, FromJSString result) =>
self -> Maybe namespaceURI -> localName -> m result
getAttributeNSUnsafe self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNS"
           [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
          JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
         JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM result
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") result -> DOM result
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNS Mozilla Element.getAttributeNS documentation> 
getAttributeNSUnchecked ::
                        (MonadDOM m, IsElement self, ToJSString namespaceURI,
                         ToJSString localName, FromJSString result) =>
                          self -> Maybe namespaceURI -> localName -> m result
getAttributeNSUnchecked :: forall (m :: * -> *) self namespaceURI localName result.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName, FromJSString result) =>
self -> Maybe namespaceURI -> localName -> m result
getAttributeNSUnchecked self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttribute Mozilla Element.setAttribute documentation> 
setAttribute ::
             (MonadDOM m, IsElement self, ToJSString qualifiedName,
              ToJSString value) =>
               self -> qualifiedName -> value -> m ()
setAttribute :: forall (m :: * -> *) self qualifiedName value.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 ToJSString value) =>
self -> qualifiedName -> value -> m ()
setAttribute self
self qualifiedName
qualifiedName value
value
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttribute"
            [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName, value -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal value
value]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNS Mozilla Element.setAttributeNS documentation> 
setAttributeNS ::
               (MonadDOM m, IsElement self, ToJSString namespaceURI,
                ToJSString qualifiedName, ToJSString value) =>
                 self -> Maybe namespaceURI -> qualifiedName -> value -> m ()
setAttributeNS :: forall (m :: * -> *) self namespaceURI qualifiedName value.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString qualifiedName, ToJSString value) =>
self -> Maybe namespaceURI -> qualifiedName -> value -> m ()
setAttributeNS self
self Maybe namespaceURI
namespaceURI qualifiedName
qualifiedName value
value
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName, value -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal value
value]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.removeAttribute Mozilla Element.removeAttribute documentation> 
removeAttribute ::
                (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                  self -> qualifiedName -> m ()
removeAttribute :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
removeAttribute self
self qualifiedName
qualifiedName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeAttribute"
            [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.removeAttributeNS Mozilla Element.removeAttributeNS documentation> 
removeAttributeNS ::
                  (MonadDOM m, IsElement self, ToJSString namespaceURI,
                   ToJSString localName) =>
                    self -> Maybe namespaceURI -> localName -> m ()
removeAttributeNS :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m ()
removeAttributeNS self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeAttributeNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttribute Mozilla Element.hasAttribute documentation> 
hasAttribute ::
             (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
               self -> qualifiedName -> m Bool
hasAttribute :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m Bool
hasAttribute self
self qualifiedName
qualifiedName
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttribute Mozilla Element.hasAttribute documentation> 
hasAttribute_ ::
              (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                self -> qualifiedName -> m ()
hasAttribute_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
hasAttribute_ self
self qualifiedName
qualifiedName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttribute" [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttributeNS Mozilla Element.hasAttributeNS documentation> 
hasAttributeNS ::
               (MonadDOM m, IsElement self, ToJSString namespaceURI,
                ToJSString localName) =>
                 self -> Maybe namespaceURI -> localName -> m Bool
hasAttributeNS :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m Bool
hasAttributeNS self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttributeNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.hasAttributeNS Mozilla Element.hasAttributeNS documentation> 
hasAttributeNS_ ::
                (MonadDOM m, IsElement self, ToJSString namespaceURI,
                 ToJSString localName) =>
                  self -> Maybe namespaceURI -> localName -> m ()
hasAttributeNS_ :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m ()
hasAttributeNS_ self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"hasAttributeNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNode Mozilla Element.getAttributeNode documentation> 
getAttributeNode ::
                 (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                   self -> qualifiedName -> m (Maybe Attr)
getAttributeNode :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m (Maybe Attr)
getAttributeNode self
self qualifiedName
qualifiedName
  = DOM (Maybe Attr) -> m (Maybe Attr)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNode"
          [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNode Mozilla Element.getAttributeNode documentation> 
getAttributeNode_ ::
                  (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                    self -> qualifiedName -> m ()
getAttributeNode_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
getAttributeNode_ self
self qualifiedName
qualifiedName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNode"
            [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNode Mozilla Element.getAttributeNode documentation> 
getAttributeNodeUnsafe ::
                       (MonadDOM m, IsElement self, ToJSString qualifiedName,
                        HasCallStack) =>
                         self -> qualifiedName -> m Attr
getAttributeNodeUnsafe :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 HasCallStack) =>
self -> qualifiedName -> m Attr
getAttributeNodeUnsafe self
self qualifiedName
qualifiedName
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNode"
           [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
          JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Attr) -> (Maybe Attr -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Attr -> (Attr -> DOM Attr) -> Maybe Attr -> DOM Attr
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Attr
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Attr -> DOM Attr
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNode Mozilla Element.getAttributeNode documentation> 
getAttributeNodeUnchecked ::
                          (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                            self -> qualifiedName -> m Attr
getAttributeNodeUnchecked :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m Attr
getAttributeNodeUnchecked self
self qualifiedName
qualifiedName
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNode"
          [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Attr
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNodeNS Mozilla Element.getAttributeNodeNS documentation> 
getAttributeNodeNS ::
                   (MonadDOM m, IsElement self, ToJSString namespaceURI,
                    ToJSString localName) =>
                     self -> Maybe namespaceURI -> localName -> m (Maybe Attr)
getAttributeNodeNS :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m (Maybe Attr)
getAttributeNodeNS self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM (Maybe Attr) -> m (Maybe Attr)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNodeNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNodeNS Mozilla Element.getAttributeNodeNS documentation> 
getAttributeNodeNS_ ::
                    (MonadDOM m, IsElement self, ToJSString namespaceURI,
                     ToJSString localName) =>
                      self -> Maybe namespaceURI -> localName -> m ()
getAttributeNodeNS_ :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m ()
getAttributeNodeNS_ self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNodeNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNodeNS Mozilla Element.getAttributeNodeNS documentation> 
getAttributeNodeNSUnsafe ::
                         (MonadDOM m, IsElement self, ToJSString namespaceURI,
                          ToJSString localName, HasCallStack) =>
                           self -> Maybe namespaceURI -> localName -> m Attr
getAttributeNodeNSUnsafe :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName, HasCallStack) =>
self -> Maybe namespaceURI -> localName -> m Attr
getAttributeNodeNSUnsafe self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNodeNS"
           [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
          JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Attr) -> (Maybe Attr -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Attr -> (Attr -> DOM Attr) -> Maybe Attr -> DOM Attr
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Attr
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Attr -> DOM Attr
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getAttributeNodeNS Mozilla Element.getAttributeNodeNS documentation> 
getAttributeNodeNSUnchecked ::
                            (MonadDOM m, IsElement self, ToJSString namespaceURI,
                             ToJSString localName) =>
                              self -> Maybe namespaceURI -> localName -> m Attr
getAttributeNodeNSUnchecked :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m Attr
getAttributeNodeNSUnchecked self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getAttributeNodeNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Attr
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNode Mozilla Element.setAttributeNode documentation> 
setAttributeNode ::
                 (MonadDOM m, IsElement self) => self -> Attr -> m (Maybe Attr)
setAttributeNode :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m (Maybe Attr)
setAttributeNode self
self Attr
attr
  = DOM (Maybe Attr) -> m (Maybe Attr)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNode Mozilla Element.setAttributeNode documentation> 
setAttributeNode_ ::
                  (MonadDOM m, IsElement self) => self -> Attr -> m ()
setAttributeNode_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m ()
setAttributeNode_ self
self Attr
attr
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNode Mozilla Element.setAttributeNode documentation> 
setAttributeNodeUnsafe ::
                       (MonadDOM m, IsElement self, HasCallStack) =>
                         self -> Attr -> m Attr
setAttributeNodeUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self, HasCallStack) =>
self -> Attr -> m Attr
setAttributeNodeUnsafe self
self Attr
attr
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
          JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Attr) -> (Maybe Attr -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Attr -> (Attr -> DOM Attr) -> Maybe Attr -> DOM Attr
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Attr
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Attr -> DOM Attr
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNode Mozilla Element.setAttributeNode documentation> 
setAttributeNodeUnchecked ::
                          (MonadDOM m, IsElement self) => self -> Attr -> m Attr
setAttributeNodeUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m Attr
setAttributeNodeUnchecked self
self Attr
attr
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Attr
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNodeNS Mozilla Element.setAttributeNodeNS documentation> 
setAttributeNodeNS ::
                   (MonadDOM m, IsElement self) => self -> Attr -> m (Maybe Attr)
setAttributeNodeNS :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m (Maybe Attr)
setAttributeNodeNS self
self Attr
attr
  = DOM (Maybe Attr) -> m (Maybe Attr)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNodeNS" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNodeNS Mozilla Element.setAttributeNodeNS documentation> 
setAttributeNodeNS_ ::
                    (MonadDOM m, IsElement self) => self -> Attr -> m ()
setAttributeNodeNS_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m ()
setAttributeNodeNS_ self
self Attr
attr
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNodeNS" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNodeNS Mozilla Element.setAttributeNodeNS documentation> 
setAttributeNodeNSUnsafe ::
                         (MonadDOM m, IsElement self, HasCallStack) =>
                           self -> Attr -> m Attr
setAttributeNodeNSUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self, HasCallStack) =>
self -> Attr -> m Attr
setAttributeNodeNSUnsafe self
self Attr
attr
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNodeNS" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM (Maybe Attr)) -> DOM (Maybe Attr)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
          JSVal -> DOM (Maybe Attr)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Attr) -> (Maybe Attr -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Attr -> (Attr -> DOM Attr) -> Maybe Attr -> DOM Attr
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Attr
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Attr -> DOM Attr
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.setAttributeNodeNS Mozilla Element.setAttributeNodeNS documentation> 
setAttributeNodeNSUnchecked ::
                            (MonadDOM m, IsElement self) => self -> Attr -> m Attr
setAttributeNodeNSUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m Attr
setAttributeNodeNSUnchecked self
self Attr
attr
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"setAttributeNodeNS" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Attr
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.removeAttributeNode Mozilla Element.removeAttributeNode documentation> 
removeAttributeNode ::
                    (MonadDOM m, IsElement self) => self -> Attr -> m Attr
removeAttributeNode :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m Attr
removeAttributeNode self
self Attr
attr
  = DOM Attr -> m Attr
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]) JSM JSVal -> (JSVal -> DOM Attr) -> DOM Attr
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Attr
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.removeAttributeNode Mozilla Element.removeAttributeNode documentation> 
removeAttributeNode_ ::
                     (MonadDOM m, IsElement self) => self -> Attr -> m ()
removeAttributeNode_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Attr -> m ()
removeAttributeNode_ self
self Attr
attr
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"removeAttributeNode" [Attr -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Attr
attr]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.attachShadow Mozilla Element.attachShadow documentation> 
attachShadow ::
             (MonadDOM m, IsElement self) =>
               self -> ShadowRootInit -> m ShadowRoot
attachShadow :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> ShadowRootInit -> m ShadowRoot
attachShadow self
self ShadowRootInit
init
  = DOM ShadowRoot -> m ShadowRoot
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"attachShadow" [ShadowRootInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal ShadowRootInit
init]) JSM JSVal -> (JSVal -> DOM ShadowRoot) -> DOM ShadowRoot
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM ShadowRoot
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.attachShadow Mozilla Element.attachShadow documentation> 
attachShadow_ ::
              (MonadDOM m, IsElement self) => self -> ShadowRootInit -> m ()
attachShadow_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> ShadowRootInit -> m ()
attachShadow_ self
self ShadowRootInit
init
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"attachShadow" [ShadowRootInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal ShadowRootInit
init]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.closest Mozilla Element.closest documentation> 
closest ::
        (MonadDOM m, IsElement self, ToJSString selectors) =>
          self -> selectors -> m (Maybe Element)
closest :: forall (m :: * -> *) self selectors.
(MonadDOM m, IsElement self, ToJSString selectors) =>
self -> selectors -> m (Maybe Element)
closest self
self selectors
selectors
  = DOM (Maybe Element) -> m (Maybe Element)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"closest" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]) JSM JSVal -> (JSVal -> DOM (Maybe Element)) -> DOM (Maybe Element)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM (Maybe Element)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.closest Mozilla Element.closest documentation> 
closest_ ::
         (MonadDOM m, IsElement self, ToJSString selectors) =>
           self -> selectors -> m ()
closest_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
closest_ self
self selectors
selectors
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"closest" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.closest Mozilla Element.closest documentation> 
closestUnsafe ::
              (MonadDOM m, IsElement self, ToJSString selectors, HasCallStack) =>
                self -> selectors -> m Element
closestUnsafe :: forall (m :: * -> *) self selectors.
(MonadDOM m, IsElement self, ToJSString selectors, HasCallStack) =>
self -> selectors -> m Element
closestUnsafe self
self selectors
selectors
  = DOM Element -> m Element
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"closest" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]) JSM JSVal -> (JSVal -> DOM (Maybe Element)) -> DOM (Maybe Element)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
          JSVal -> DOM (Maybe Element)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Element)
-> (Maybe Element -> DOM Element) -> DOM Element
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Element
-> (Element -> DOM Element) -> Maybe Element -> DOM Element
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Element
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Element -> DOM Element
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.closest Mozilla Element.closest documentation> 
closestUnchecked ::
                 (MonadDOM m, IsElement self, ToJSString selectors) =>
                   self -> selectors -> m Element
closestUnchecked :: forall (m :: * -> *) self selectors.
(MonadDOM m, IsElement self, ToJSString selectors) =>
self -> selectors -> m Element
closestUnchecked self
self selectors
selectors
  = DOM Element -> m Element
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"closest" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]) JSM JSVal -> (JSVal -> DOM Element) -> DOM Element
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Element
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.matches Mozilla Element.matches documentation> 
matches ::
        (MonadDOM m, IsElement self, ToJSString selectors) =>
          self -> selectors -> m Bool
matches :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m Bool
matches self
self selectors
selectors
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"matches" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]) JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.matches Mozilla Element.matches documentation> 
matches_ ::
         (MonadDOM m, IsElement self, ToJSString selectors) =>
           self -> selectors -> m ()
matches_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
matches_ self
self selectors
selectors
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"matches" [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitMatchesSelector Mozilla Element.webkitMatchesSelector documentation> 
webkitMatchesSelector ::
                      (MonadDOM m, IsElement self, ToJSString selectors) =>
                        self -> selectors -> m Bool
webkitMatchesSelector :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m Bool
webkitMatchesSelector self
self selectors
selectors
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitMatchesSelector"
          [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors])
         JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitMatchesSelector Mozilla Element.webkitMatchesSelector documentation> 
webkitMatchesSelector_ ::
                       (MonadDOM m, IsElement self, ToJSString selectors) =>
                         self -> selectors -> m ()
webkitMatchesSelector_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
webkitMatchesSelector_ self
self selectors
selectors
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitMatchesSelector"
            [selectors -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal selectors
selectors]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByTagName Mozilla Element.getElementsByTagName documentation> 
getElementsByTagName ::
                     (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                       self -> qualifiedName -> m HTMLCollection
getElementsByTagName :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m HTMLCollection
getElementsByTagName self
self qualifiedName
qualifiedName
  = DOM HTMLCollection -> m HTMLCollection
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByTagName"
          [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName])
         JSM JSVal -> (JSVal -> DOM HTMLCollection) -> DOM HTMLCollection
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM HTMLCollection
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByTagName Mozilla Element.getElementsByTagName documentation> 
getElementsByTagName_ ::
                      (MonadDOM m, IsElement self, ToJSString qualifiedName) =>
                        self -> qualifiedName -> m ()
getElementsByTagName_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
getElementsByTagName_ self
self qualifiedName
qualifiedName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByTagName"
            [qualifiedName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal qualifiedName
qualifiedName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByTagNameNS Mozilla Element.getElementsByTagNameNS documentation> 
getElementsByTagNameNS ::
                       (MonadDOM m, IsElement self, ToJSString namespaceURI,
                        ToJSString localName) =>
                         self -> Maybe namespaceURI -> localName -> m HTMLCollection
getElementsByTagNameNS :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m HTMLCollection
getElementsByTagNameNS self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM HTMLCollection -> m HTMLCollection
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByTagNameNS"
          [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName])
         JSM JSVal -> (JSVal -> DOM HTMLCollection) -> DOM HTMLCollection
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM HTMLCollection
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByTagNameNS Mozilla Element.getElementsByTagNameNS documentation> 
getElementsByTagNameNS_ ::
                        (MonadDOM m, IsElement self, ToJSString namespaceURI,
                         ToJSString localName) =>
                          self -> Maybe namespaceURI -> localName -> m ()
getElementsByTagNameNS_ :: forall (m :: * -> *) self namespaceURI localName.
(MonadDOM m, IsElement self, ToJSString namespaceURI,
 ToJSString localName) =>
self -> Maybe namespaceURI -> localName -> m ()
getElementsByTagNameNS_ self
self Maybe namespaceURI
namespaceURI localName
localName
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByTagNameNS"
            [Maybe namespaceURI -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe namespaceURI
namespaceURI, localName -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal localName
localName]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByClassName Mozilla Element.getElementsByClassName documentation> 
getElementsByClassName ::
                       (MonadDOM m, IsElement self, ToJSString name) =>
                         self -> name -> m HTMLCollection
getElementsByClassName :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m HTMLCollection
getElementsByClassName self
self name
name
  = DOM HTMLCollection -> m HTMLCollection
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByClassName" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name])
         JSM JSVal -> (JSVal -> DOM HTMLCollection) -> DOM HTMLCollection
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM HTMLCollection
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getElementsByClassName Mozilla Element.getElementsByClassName documentation> 
getElementsByClassName_ ::
                        (MonadDOM m, IsElement self, ToJSString name) =>
                          self -> name -> m ()
getElementsByClassName_ :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
getElementsByClassName_ self
self name
name
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getElementsByClassName" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentElement Mozilla Element.insertAdjacentElement documentation> 
insertAdjacentElement ::
                      (MonadDOM m, IsElement self, ToJSString where',
                       IsElement element) =>
                        self -> where' -> element -> m (Maybe Element)
insertAdjacentElement :: forall (m :: * -> *) self where' element.
(MonadDOM m, IsElement self, ToJSString where',
 IsElement element) =>
self -> where' -> element -> m (Maybe Element)
insertAdjacentElement self
self where'
where' element
element
  = DOM (Maybe Element) -> m (Maybe Element)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentElement"
          [where' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal where'
where', element -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal element
element])
         JSM JSVal -> (JSVal -> DOM (Maybe Element)) -> DOM (Maybe Element)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Element)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentElement Mozilla Element.insertAdjacentElement documentation> 
insertAdjacentElement_ ::
                       (MonadDOM m, IsElement self, ToJSString where',
                        IsElement element) =>
                         self -> where' -> element -> m ()
insertAdjacentElement_ :: forall (m :: * -> *) self where' element.
(MonadDOM m, IsElement self, ToJSString where',
 IsElement element) =>
self -> where' -> element -> m ()
insertAdjacentElement_ self
self where'
where' element
element
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentElement"
            [where' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal where'
where', element -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal element
element]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentElement Mozilla Element.insertAdjacentElement documentation> 
insertAdjacentElementUnsafe ::
                            (MonadDOM m, IsElement self, ToJSString where', IsElement element,
                             HasCallStack) =>
                              self -> where' -> element -> m Element
insertAdjacentElementUnsafe :: forall (m :: * -> *) self where' element.
(MonadDOM m, IsElement self, ToJSString where', IsElement element,
 HasCallStack) =>
self -> where' -> element -> m Element
insertAdjacentElementUnsafe self
self where'
where' element
element
  = DOM Element -> m Element
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentElement"
           [where' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal where'
where', element -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal element
element])
          JSM JSVal -> (JSVal -> DOM (Maybe Element)) -> DOM (Maybe Element)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Element)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
         DOM (Maybe Element)
-> (Maybe Element -> DOM Element) -> DOM Element
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM Element
-> (Element -> DOM Element) -> Maybe Element -> DOM Element
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Element
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Element -> DOM Element
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentElement Mozilla Element.insertAdjacentElement documentation> 
insertAdjacentElementUnchecked ::
                               (MonadDOM m, IsElement self, ToJSString where',
                                IsElement element) =>
                                 self -> where' -> element -> m Element
insertAdjacentElementUnchecked :: forall (m :: * -> *) self where' element.
(MonadDOM m, IsElement self, ToJSString where',
 IsElement element) =>
self -> where' -> element -> m Element
insertAdjacentElementUnchecked self
self where'
where' element
element
  = DOM Element -> m Element
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentElement"
          [where' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal where'
where', element -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal element
element])
         JSM JSVal -> (JSVal -> DOM Element) -> DOM Element
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Element
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentText Mozilla Element.insertAdjacentText documentation> 
insertAdjacentText ::
                   (MonadDOM m, IsElement self, ToJSString where',
                    ToJSString data') =>
                     self -> where' -> data' -> m ()
insertAdjacentText :: forall (m :: * -> *) self qualifiedName value.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 ToJSString value) =>
self -> qualifiedName -> value -> m ()
insertAdjacentText self
self where'
where' data'
data'
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentText"
            [where' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal where'
where', data' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal data'
data']))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getClientRects Mozilla Element.getClientRects documentation> 
getClientRects ::
               (MonadDOM m, IsElement self) => self -> m [DOMRect]
getClientRects :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m [DOMRect]
getClientRects self
self
  = DOM [DOMRect] -> m [DOMRect]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getClientRects" ()) JSM JSVal -> (JSVal -> DOM [DOMRect]) -> DOM [DOMRect]
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM [DOMRect]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getClientRects Mozilla Element.getClientRects documentation> 
getClientRects_ :: (MonadDOM m, IsElement self) => self -> m ()
getClientRects_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
getClientRects_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getClientRects" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect Mozilla Element.getBoundingClientRect documentation> 
getBoundingClientRect ::
                      (MonadDOM m, IsElement self) => self -> m DOMRect
getBoundingClientRect :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m DOMRect
getBoundingClientRect self
self
  = DOM DOMRect -> m DOMRect
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getBoundingClientRect" ()) JSM JSVal -> (JSVal -> DOM DOMRect) -> DOM DOMRect
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM DOMRect
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect Mozilla Element.getBoundingClientRect documentation> 
getBoundingClientRect_ ::
                       (MonadDOM m, IsElement self) => self -> m ()
getBoundingClientRect_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
getBoundingClientRect_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getBoundingClientRect" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView Mozilla Element.scrollIntoView documentation> 
scrollIntoView ::
               (MonadDOM m, IsElement self) => self -> Bool -> m ()
scrollIntoView :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Bool -> m ()
scrollIntoView self
self Bool
alignWithTop
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollIntoView" [Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
alignWithTop]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scroll Mozilla Element.scroll documentation> 
scrollOpt ::
          (MonadDOM m, IsElement self) =>
            self -> Maybe ScrollToOptions -> m ()
scrollOpt :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Maybe ScrollToOptions -> m ()
scrollOpt self
self Maybe ScrollToOptions
options
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scroll" [Maybe ScrollToOptions -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe ScrollToOptions
options]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scroll Mozilla Element.scroll documentation> 
scroll ::
       (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scroll :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Double -> Double -> m ()
scroll self
self Double
x Double
y
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scroll" [Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
x, Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
y]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollTo Mozilla Element.scrollTo documentation> 
scrollToOpt ::
            (MonadDOM m, IsElement self) =>
              self -> Maybe ScrollToOptions -> m ()
scrollToOpt :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Maybe ScrollToOptions -> m ()
scrollToOpt self
self Maybe ScrollToOptions
options
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollTo" [Maybe ScrollToOptions -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe ScrollToOptions
options]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollTo Mozilla Element.scrollTo documentation> 
scrollTo ::
         (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scrollTo :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Double -> Double -> m ()
scrollTo self
self Double
x Double
y
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollTo" [Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
x, Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
y]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollBy Mozilla Element.scrollBy documentation> 
scrollByOpt ::
            (MonadDOM m, IsElement self) =>
              self -> Maybe ScrollToOptions -> m ()
scrollByOpt :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Maybe ScrollToOptions -> m ()
scrollByOpt self
self Maybe ScrollToOptions
option
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollBy" [Maybe ScrollToOptions -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe ScrollToOptions
option]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollBy Mozilla Element.scrollBy documentation> 
scrollBy ::
         (MonadDOM m, IsElement self) => self -> Double -> Double -> m ()
scrollBy :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Double -> Double -> m ()
scrollBy self
self Double
x Double
y
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollBy" [Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
x, Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
y]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML Mozilla Element.insertAdjacentHTML documentation> 
insertAdjacentHTML ::
                   (MonadDOM m, IsElement self, ToJSString position,
                    ToJSString text) =>
                     self -> position -> text -> m ()
insertAdjacentHTML :: forall (m :: * -> *) self qualifiedName value.
(MonadDOM m, IsElement self, ToJSString qualifiedName,
 ToJSString value) =>
self -> qualifiedName -> value -> m ()
insertAdjacentHTML self
self position
position text
text
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"insertAdjacentHTML"
            [position -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal position
position, text -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal text
text]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitRequestFullScreen Mozilla Element.webkitRequestFullScreen documentation> 
webkitRequestFullScreen ::
                        (MonadDOM m, IsElement self) => self -> m ()
webkitRequestFullScreen :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
webkitRequestFullScreen self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitRequestFullScreen" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitRequestFullscreen Mozilla Element.webkitRequestFullscreen documentation> 
webkitRequestFullscreen ::
                        (MonadDOM m, IsElement self) => self -> m ()
webkitRequestFullscreen :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
webkitRequestFullscreen self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitRequestFullscreen" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.requestPointerLock Mozilla Element.requestPointerLock documentation> 
requestPointerLock :: (MonadDOM m, IsElement self) => self -> m ()
requestPointerLock :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
requestPointerLock self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"requestPointerLock" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitGetRegionFlowRanges Mozilla Element.webkitGetRegionFlowRanges documentation> 
webkitGetRegionFlowRanges ::
                          (MonadDOM m, IsElement self) => self -> m (Maybe [Range])
webkitGetRegionFlowRanges :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m (Maybe [Range])
webkitGetRegionFlowRanges self
self
  = DOM (Maybe [Range]) -> m (Maybe [Range])
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitGetRegionFlowRanges" ()) JSM JSVal -> (JSVal -> DOM (Maybe [Range])) -> DOM (Maybe [Range])
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         (JSVal -> JSM [Range]) -> JSVal -> DOM (Maybe [Range])
forall value a.
ToJSVal value =>
(JSVal -> JSM a) -> value -> JSM (Maybe a)
maybeNullOrUndefined' JSVal -> JSM [Range]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitGetRegionFlowRanges Mozilla Element.webkitGetRegionFlowRanges documentation> 
webkitGetRegionFlowRanges_ ::
                           (MonadDOM m, IsElement self) => self -> m ()
webkitGetRegionFlowRanges_ :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ()
webkitGetRegionFlowRanges_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"webkitGetRegionFlowRanges" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoViewIfNeeded Mozilla Element.scrollIntoViewIfNeeded documentation> 
scrollIntoViewIfNeeded ::
                       (MonadDOM m, IsElement self) => self -> Bool -> m ()
scrollIntoViewIfNeeded :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Bool -> m ()
scrollIntoViewIfNeeded self
self Bool
centerIfNeeded
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scrollIntoViewIfNeeded"
            [Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
centerIfNeeded]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.namespaceURI Mozilla Element.namespaceURI documentation> 
getNamespaceURI ::
                (MonadDOM m, IsElement self, FromJSString result) =>
                  self -> m (Maybe result)
getNamespaceURI :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m (Maybe result)
getNamespaceURI self
self
  = DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"namespaceURI") JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.namespaceURI Mozilla Element.namespaceURI documentation> 
getNamespaceURIUnsafe ::
                      (MonadDOM m, IsElement self, HasCallStack, FromJSString result) =>
                        self -> m result
getNamespaceURIUnsafe :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, HasCallStack, FromJSString result) =>
self -> m result
getNamespaceURIUnsafe self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"namespaceURI") JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
         JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM result
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") result -> DOM result
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.namespaceURI Mozilla Element.namespaceURI documentation> 
getNamespaceURIUnchecked ::
                         (MonadDOM m, IsElement self, FromJSString result) =>
                           self -> m result
getNamespaceURIUnchecked :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getNamespaceURIUnchecked self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"namespaceURI") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.prefix Mozilla Element.prefix documentation> 
getPrefix ::
          (MonadDOM m, IsElement self, FromJSString result) =>
            self -> m (Maybe result)
getPrefix :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m (Maybe result)
getPrefix self
self
  = DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"prefix") JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.prefix Mozilla Element.prefix documentation> 
getPrefixUnsafe ::
                (MonadDOM m, IsElement self, HasCallStack, FromJSString result) =>
                  self -> m result
getPrefixUnsafe :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, HasCallStack, FromJSString result) =>
self -> m result
getPrefixUnsafe self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"prefix") JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString) JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM result
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") result -> DOM result
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.prefix Mozilla Element.prefix documentation> 
getPrefixUnchecked ::
                   (MonadDOM m, IsElement self, FromJSString result) =>
                     self -> m result
getPrefixUnchecked :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getPrefixUnchecked self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"prefix") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.localName Mozilla Element.localName documentation> 
getLocalName ::
             (MonadDOM m, IsElement self, FromJSString result) =>
               self -> m result
getLocalName :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getLocalName self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"localName") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.tagName Mozilla Element.tagName documentation> 
getTagName ::
           (MonadDOM m, IsElement self, FromJSString result) =>
             self -> m result
getTagName :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getTagName self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"tagName") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.id Mozilla Element.id documentation> 
setId ::
      (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setId :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
setId self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"id" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.id Mozilla Element.id documentation> 
getId ::
      (MonadDOM m, IsElement self, FromJSString result) =>
        self -> m result
getId :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getId self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"id") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.className Mozilla Element.className documentation> 
setClassName ::
             (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setClassName :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
setClassName self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"className" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.className Mozilla Element.className documentation> 
getClassName ::
             (MonadDOM m, IsElement self, FromJSString result) =>
               self -> m result
getClassName :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getClassName self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"className") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.classList Mozilla Element.classList documentation> 
getClassList ::
             (MonadDOM m, IsElement self) => self -> m DOMTokenList
getClassList :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m DOMTokenList
getClassList self
self
  = DOM DOMTokenList -> m DOMTokenList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"classList") JSM JSVal -> (JSVal -> DOM DOMTokenList) -> DOM DOMTokenList
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM DOMTokenList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.slot Mozilla Element.slot documentation> 
setSlot ::
        (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setSlot :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
setSlot self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"slot" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.slot Mozilla Element.slot documentation> 
getSlot ::
        (MonadDOM m, IsElement self, FromJSString result) =>
          self -> m result
getSlot :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getSlot self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"slot") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.attributes Mozilla Element.attributes documentation> 
getAttributes ::
              (MonadDOM m, IsElement self) => self -> m NamedNodeMap
getAttributes :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m NamedNodeMap
getAttributes self
self
  = DOM NamedNodeMap -> m NamedNodeMap
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"attributes") JSM JSVal -> (JSVal -> DOM NamedNodeMap) -> DOM NamedNodeMap
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM NamedNodeMap
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.shadowRoot Mozilla Element.shadowRoot documentation> 
getShadowRoot ::
              (MonadDOM m, IsElement self) => self -> m (Maybe ShadowRoot)
getShadowRoot :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m (Maybe ShadowRoot)
getShadowRoot self
self
  = DOM (Maybe ShadowRoot) -> m (Maybe ShadowRoot)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"shadowRoot") JSM JSVal
-> (JSVal -> DOM (Maybe ShadowRoot)) -> DOM (Maybe ShadowRoot)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe ShadowRoot)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.shadowRoot Mozilla Element.shadowRoot documentation> 
getShadowRootUnsafe ::
                    (MonadDOM m, IsElement self, HasCallStack) => self -> m ShadowRoot
getShadowRootUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self, HasCallStack) =>
self -> m ShadowRoot
getShadowRootUnsafe self
self
  = DOM ShadowRoot -> m ShadowRoot
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"shadowRoot") JSM JSVal
-> (JSVal -> DOM (Maybe ShadowRoot)) -> DOM (Maybe ShadowRoot)
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe ShadowRoot)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe ShadowRoot)
-> (Maybe ShadowRoot -> DOM ShadowRoot) -> DOM ShadowRoot
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM ShadowRoot
-> (ShadowRoot -> DOM ShadowRoot)
-> Maybe ShadowRoot
-> DOM ShadowRoot
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM ShadowRoot
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") ShadowRoot -> DOM ShadowRoot
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.shadowRoot Mozilla Element.shadowRoot documentation> 
getShadowRootUnchecked ::
                       (MonadDOM m, IsElement self) => self -> m ShadowRoot
getShadowRootUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m ShadowRoot
getShadowRootUnchecked self
self
  = DOM ShadowRoot -> m ShadowRoot
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"shadowRoot") JSM JSVal -> (JSVal -> DOM ShadowRoot) -> DOM ShadowRoot
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM ShadowRoot
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollTop Mozilla Element.scrollTop documentation> 
setScrollTop :: (MonadDOM m, IsElement self) => self -> Int -> m ()
setScrollTop :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Int -> m ()
setScrollTop self
self Int
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"scrollTop" (Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Int
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollTop Mozilla Element.scrollTop documentation> 
getScrollTop :: (MonadDOM m, IsElement self) => self -> m Int
getScrollTop :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Int
getScrollTop self
self
  = DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"scrollTop") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollLeft Mozilla Element.scrollLeft documentation> 
setScrollLeft ::
              (MonadDOM m, IsElement self) => self -> Int -> m ()
setScrollLeft :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> Int -> m ()
setScrollLeft self
self Int
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"scrollLeft" (Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Int
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollLeft Mozilla Element.scrollLeft documentation> 
getScrollLeft :: (MonadDOM m, IsElement self) => self -> m Int
getScrollLeft :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Int
getScrollLeft self
self
  = DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"scrollLeft") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollWidth Mozilla Element.scrollWidth documentation> 
getScrollWidth :: (MonadDOM m, IsElement self) => self -> m Int
getScrollWidth :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Int
getScrollWidth self
self
  = DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
         (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"scrollWidth") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollHeight Mozilla Element.scrollHeight documentation> 
getScrollHeight :: (MonadDOM m, IsElement self) => self -> m Int
getScrollHeight :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Int
getScrollHeight self
self
  = DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
         (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"scrollHeight") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.clientTop Mozilla Element.clientTop documentation> 
getClientTop :: (MonadDOM m, IsElement self) => self -> m Double
getClientTop :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Double
getClientTop self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientTop") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.clientLeft Mozilla Element.clientLeft documentation> 
getClientLeft :: (MonadDOM m, IsElement self) => self -> m Double
getClientLeft :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Double
getClientLeft self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientLeft") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.clientWidth Mozilla Element.clientWidth documentation> 
getClientWidth :: (MonadDOM m, IsElement self) => self -> m Double
getClientWidth :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Double
getClientWidth self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientWidth") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.clientHeight Mozilla Element.clientHeight documentation> 
getClientHeight :: (MonadDOM m, IsElement self) => self -> m Double
getClientHeight :: forall (m :: * -> *) self.
(MonadDOM m, IsElement self) =>
self -> m Double
getClientHeight self
self
  = JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientHeight") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.innerHTML Mozilla Element.innerHTML documentation> 
setInnerHTML ::
             (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setInnerHTML :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
setInnerHTML self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"innerHTML" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.innerHTML Mozilla Element.innerHTML documentation> 
getInnerHTML ::
             (MonadDOM m, IsElement self, FromJSString result) =>
               self -> m result
getInnerHTML :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getInnerHTML self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"innerHTML") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.outerHTML Mozilla Element.outerHTML documentation> 
setOuterHTML ::
             (MonadDOM m, IsElement self, ToJSString val) => self -> val -> m ()
setOuterHTML :: forall (m :: * -> *) self qualifiedName.
(MonadDOM m, IsElement self, ToJSString qualifiedName) =>
self -> qualifiedName -> m ()
setOuterHTML self
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (DOM ()) Element (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"outerHTML" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.outerHTML Mozilla Element.outerHTML documentation> 
getOuterHTML ::
             (MonadDOM m, IsElement self, FromJSString result) =>
               self -> m result
getOuterHTML :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getOuterHTML self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"outerHTML") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.webkitRegionOverset Mozilla Element.webkitRegionOverset documentation> 
getWebkitRegionOverset ::
                       (MonadDOM m, IsElement self, FromJSString result) =>
                         self -> m result
getWebkitRegionOverset :: forall (m :: * -> *) self result.
(MonadDOM m, IsElement self, FromJSString result) =>
self -> m result
getWebkitRegionOverset self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> Element
forall o. IsElement o => o -> Element
toElement self
self) Element -> Getting (JSM JSVal) Element (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter Element (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"webkitRegionOverset") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onselectstart Mozilla Element.onselectstart documentation> 
selectStart ::
            (IsElement self, IsEventTarget self) => EventName self Event
selectStart :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
selectStart = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"selectstart")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.ongesturechange Mozilla Element.ongesturechange documentation> 
gestureChange ::
              (IsElement self, IsEventTarget self) => EventName self UIEvent
gestureChange :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self UIEvent
gestureChange = DOMString -> EventName self UIEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"gesturechange")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.ongestureend Mozilla Element.ongestureend documentation> 
gestureEnd ::
           (IsElement self, IsEventTarget self) => EventName self UIEvent
gestureEnd :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self UIEvent
gestureEnd = DOMString -> EventName self UIEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"gestureend")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.ongesturestart Mozilla Element.ongesturestart documentation> 
gestureStart ::
             (IsElement self, IsEventTarget self) => EventName self UIEvent
gestureStart :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self UIEvent
gestureStart = DOMString -> EventName self UIEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"gesturestart")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitanimationend Mozilla Element.onwebkitanimationend documentation> 
webKitAnimationEnd ::
                   (IsElement self, IsEventTarget self) =>
                     EventName self AnimationEvent
webKitAnimationEnd :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self AnimationEvent
webKitAnimationEnd
  = DOMString -> EventName self AnimationEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitanimationend")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitanimationiteration Mozilla Element.onwebkitanimationiteration documentation> 
webKitAnimationIteration ::
                         (IsElement self, IsEventTarget self) =>
                           EventName self AnimationEvent
webKitAnimationIteration :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self AnimationEvent
webKitAnimationIteration
  = DOMString -> EventName self AnimationEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitanimationiteration")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitanimationstart Mozilla Element.onwebkitanimationstart documentation> 
webKitAnimationStart ::
                     (IsElement self, IsEventTarget self) =>
                       EventName self AnimationEvent
webKitAnimationStart :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self AnimationEvent
webKitAnimationStart
  = DOMString -> EventName self AnimationEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitanimationstart")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkittransitionend Mozilla Element.onwebkittransitionend documentation> 
webKitTransitionEnd ::
                    (IsElement self, IsEventTarget self) =>
                      EventName self TransitionEvent
webKitTransitionEnd :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self TransitionEvent
webKitTransitionEnd
  = DOMString -> EventName self TransitionEvent
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkittransitionend")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitfullscreenchange Mozilla Element.onwebkitfullscreenchange documentation> 
webKitFullscreenChange ::
                       (IsElement self, IsEventTarget self) => EventName self Event
webKitFullscreenChange :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitFullscreenChange
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitfullscreenchange")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitfullscreenerror Mozilla Element.onwebkitfullscreenerror documentation> 
webKitFullscreenError ::
                      (IsElement self, IsEventTarget self) => EventName self Event
webKitFullscreenError :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitFullscreenError
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitfullscreenerror")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onfocusin Mozilla Element.onfocusin documentation> 
focusin ::
        (IsElement self, IsEventTarget self) => EventName self onfocusin
focusin :: forall self onfocusin.
(IsElement self, IsEventTarget self) =>
EventName self onfocusin
focusin = DOMString -> EventName self onfocusin
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"focusin")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onfocusout Mozilla Element.onfocusout documentation> 
focusout ::
         (IsElement self, IsEventTarget self) => EventName self onfocusout
focusout :: forall self onfocusin.
(IsElement self, IsEventTarget self) =>
EventName self onfocusin
focusout = DOMString -> EventName self onfocusout
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"focusout")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onbeforeload Mozilla Element.onbeforeload documentation> 
beforeload ::
           (IsElement self, IsEventTarget self) => EventName self onbeforeload
beforeload :: forall self onfocusin.
(IsElement self, IsEventTarget self) =>
EventName self onfocusin
beforeload = DOMString -> EventName self onbeforeload
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"beforeload")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitneedkey Mozilla Element.onwebkitneedkey documentation> 
webKitNeedKey ::
              (IsElement self, IsEventTarget self) => EventName self Event
webKitNeedKey :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitNeedKey = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitneedkey")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitpresentationmodechanged Mozilla Element.onwebkitpresentationmodechanged documentation> 
webKitPresentationModeChanged ::
                              (IsElement self, IsEventTarget self) => EventName self Event
webKitPresentationModeChanged :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitPresentationModeChanged
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitpresentationmodechanged")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitcurrentplaybacktargetiswirelesschanged Mozilla Element.onwebkitcurrentplaybacktargetiswirelesschanged documentation> 
webKitCurrentPlaybackTargetIsWirelessChanged ::
                                             (IsElement self, IsEventTarget self) =>
                                               EventName self Event
webKitCurrentPlaybackTargetIsWirelessChanged :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitCurrentPlaybackTargetIsWirelessChanged
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName
      (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitcurrentplaybacktargetiswirelesschanged")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/Element.onwebkitplaybacktargetavailabilitychanged Mozilla Element.onwebkitplaybacktargetavailabilitychanged documentation> 
webKitPlaybackTargetAvailabilityChanged ::
                                        (IsElement self, IsEventTarget self) => EventName self Event
webKitPlaybackTargetAvailabilityChanged :: forall self.
(IsElement self, IsEventTarget self) =>
EventName self Event
webKitPlaybackTargetAvailabilityChanged
  = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName
      (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"webkitplaybacktargetavailabilitychanged")