packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.Window
       (alertNoMessage, alert, blur, cancelIdleCallback, captureEvents, close, confirm, confirm_, focus, getComputedStyle, getComputedStyle_, getSelection, getSelection_, getSelectionUnsafe, getSelectionUnchecked, matchMedia, matchMedia_, moveBy, moveTo, open, open_, openUnsafe, openUnchecked, postMessage, postMessageOptions, print, prompt, prompt_, promptUnsafe, promptUnchecked, releaseEvents, requestIdleCallback, requestIdleCallback_, resizeBy, resizeTo, scrollOpt, scrollOpt_, scroll, scroll_, scrollByOpt, scrollByOpt_, scrollBy, scrollBy_, scrollToOpt, scrollToOpt_, scrollTo, scrollTo_, stop, getWindow, getSelf, getDocument, setName, getName, getLocation, getHistory, getNavigation, getCustomElements, getLocationbar, getMenubar, getPersonalbar, getScrollbars, getStatusbar, getToolbar, setStatus, getStatus, getClosed, getFrames, getLength, getTop, getTopUnsafe, getTopUnchecked, setOpener, getOpener, getParent, getParentUnsafe, getParentUnchecked, getFrameElement, getFrameElementUnsafe, getFrameElementUnchecked, getNavigator, getClientInformation, getOriginAgentCluster, getCookieStore, getScreen, getVisualViewport, getVisualViewportUnsafe, getVisualViewportUnchecked, getInnerWidth, getInnerHeight, getScrollX, getPageXOffset, getScrollY, getPageYOffset, getScreenX, getScreenLeft, getScreenY, getScreenTop, getOuterWidth, getOuterHeight, getDevicePixelRatio, getDocumentPictureInPicture, getEvent, getExternal, getSpeechSynthesis, deviceOrientation, deviceorientationabsolute, deviceMotion, clipboardchange, Window(..), gTypeWindow)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <https://developer.mozilla.org/docs/Web/API/Window/alert MDN Window.alert documentation>
alertNoMessage :: (MonadDOM m) => Window -> m ()
alertNoMessage self = liftDOM (void (self ^. jsf "alert" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/alert MDN Window.alert documentation>
alert :: (MonadDOM m, ToJSString message) => Window -> message -> m ()
alert self message = liftDOM (void (self ^. jsf "alert" [toJSVal message]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/blur MDN Window.blur documentation>
blur :: (MonadDOM m) => Window -> m ()
blur self = liftDOM (void (self ^. jsf "blur" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/cancelIdleCallback MDN Window.cancelIdleCallback documentation>
cancelIdleCallback :: (MonadDOM m) => Window -> Word -> m ()
cancelIdleCallback self handle = liftDOM (void (self ^. jsf "cancelIdleCallback" [toJSVal handle]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/captureEvents MDN Window.captureEvents documentation>
captureEvents :: (MonadDOM m) => Window -> m ()
captureEvents self = liftDOM (void (self ^. jsf "captureEvents" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/close MDN Window.close documentation>
close :: (MonadDOM m) => Window -> m ()
close self = liftDOM (void (self ^. jsf "close" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/confirm MDN Window.confirm documentation>
confirm :: (MonadDOM m, ToJSString message) => Window -> Maybe message -> m Bool
confirm self message = liftDOM (((self ^. jsf "confirm" [P.maybe (P.return jsUndefined) toJSVal message]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Window/confirm MDN Window.confirm documentation>
confirm_ :: (MonadDOM m, ToJSString message) => Window -> Maybe message -> m ()
confirm_ self message = liftDOM (void (self ^. jsf "confirm" [P.maybe (P.return jsUndefined) toJSVal message]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/focus MDN Window.focus documentation>
focus :: (MonadDOM m) => Window -> m ()
focus self = liftDOM (void (self ^. jsf "focus" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getComputedStyle MDN Window.getComputedStyle documentation>
getComputedStyle :: (MonadDOM m, IsElement elt, ToJSString pseudoElt) => Window -> elt -> Maybe pseudoElt -> m CSSStyleProperties
getComputedStyle self elt pseudoElt = liftDOM (((self ^. jsf "getComputedStyle" [toJSVal elt, toJSVal pseudoElt]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getComputedStyle MDN Window.getComputedStyle documentation>
getComputedStyle_ :: (MonadDOM m, IsElement elt, ToJSString pseudoElt) => Window -> elt -> Maybe pseudoElt -> m ()
getComputedStyle_ self elt pseudoElt = liftDOM (void (self ^. jsf "getComputedStyle" [toJSVal elt, toJSVal pseudoElt]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getSelection MDN Window.getSelection documentation>
getSelection :: (MonadDOM m) => Window -> m (Maybe Selection)
getSelection self = liftDOM (((self ^. jsf "getSelection" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getSelection MDN Window.getSelection documentation>
getSelection_ :: (MonadDOM m) => Window -> m ()
getSelection_ self = liftDOM (void (self ^. jsf "getSelection" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getSelection MDN Window.getSelection documentation>
getSelectionUnsafe :: (MonadDOM m, HasCallStack) => Window -> m Selection
getSelectionUnsafe self = liftDOM ((((self ^. jsf "getSelection" ()) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/getSelection MDN Window.getSelection documentation>
getSelectionUnchecked :: (MonadDOM m) => Window -> m Selection
getSelectionUnchecked self = liftDOM (((self ^. jsf "getSelection" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/matchMedia MDN Window.matchMedia documentation>
matchMedia :: (MonadDOM m, ToJSString query) => Window -> query -> m MediaQueryList
matchMedia self query = liftDOM (((self ^. jsf "matchMedia" [toJSVal query]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/matchMedia MDN Window.matchMedia documentation>
matchMedia_ :: (MonadDOM m, ToJSString query) => Window -> query -> m ()
matchMedia_ self query = liftDOM (void (self ^. jsf "matchMedia" [toJSVal query]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/moveBy MDN Window.moveBy documentation>
moveBy :: (MonadDOM m) => Window -> Int -> Int -> m ()
moveBy self x y = liftDOM (void (self ^. jsf "moveBy" [toJSVal x, toJSVal y]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/moveTo MDN Window.moveTo documentation>
moveTo :: (MonadDOM m) => Window -> Int -> Int -> m ()
moveTo self x y = liftDOM (void (self ^. jsf "moveTo" [toJSVal x, toJSVal y]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/open MDN Window.open documentation>
open :: (MonadDOM m, ToJSString url, ToJSString target, ToJSString features) => Window -> Maybe url -> Maybe target -> Maybe features -> m (Maybe Window)
open self url target features = liftDOM (((self ^. jsf "open" [P.maybe (P.return jsUndefined) toJSVal url, P.maybe (P.return jsUndefined) toJSVal target, P.maybe (P.return jsUndefined) toJSVal features]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/open MDN Window.open documentation>
open_ :: (MonadDOM m, ToJSString url, ToJSString target, ToJSString features) => Window -> Maybe url -> Maybe target -> Maybe features -> m ()
open_ self url target features = liftDOM (void (self ^. jsf "open" [P.maybe (P.return jsUndefined) toJSVal url, P.maybe (P.return jsUndefined) toJSVal target, P.maybe (P.return jsUndefined) toJSVal features]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/open MDN Window.open documentation>
openUnsafe :: (MonadDOM m, ToJSString url, ToJSString target, ToJSString features, HasCallStack) => Window -> Maybe url -> Maybe target -> Maybe features -> m Window
openUnsafe self url target features = liftDOM ((((self ^. jsf "open" [P.maybe (P.return jsUndefined) toJSVal url, P.maybe (P.return jsUndefined) toJSVal target, P.maybe (P.return jsUndefined) toJSVal features]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/open MDN Window.open documentation>
openUnchecked :: (MonadDOM m, ToJSString url, ToJSString target, ToJSString features) => Window -> Maybe url -> Maybe target -> Maybe features -> m Window
openUnchecked self url target features = liftDOM (((self ^. jsf "open" [P.maybe (P.return jsUndefined) toJSVal url, P.maybe (P.return jsUndefined) toJSVal target, P.maybe (P.return jsUndefined) toJSVal features]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/postMessage MDN Window.postMessage documentation>
postMessage :: (MonadDOM m, ToJSString targetOrigin) => Window -> JSVal -> targetOrigin -> Maybe [GObject] -> m ()
postMessage self message targetOrigin transfer = liftDOM (void (self ^. jsf "postMessage" [toJSVal message, toJSVal targetOrigin, P.maybe (P.return jsUndefined) toJSVal transfer]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/postMessage MDN Window.postMessage documentation>
postMessageOptions :: (MonadDOM m) => Window -> JSVal -> Maybe WindowPostMessageOptions -> m ()
postMessageOptions self message options = liftDOM (void (self ^. jsf "postMessage" [toJSVal message, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/print MDN Window.print documentation>
print :: (MonadDOM m) => Window -> m ()
print self = liftDOM (void (self ^. jsf "print" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/prompt MDN Window.prompt documentation>
prompt :: (MonadDOM m, ToJSString message, ToJSString default', FromJSString result) => Window -> Maybe message -> Maybe default' -> m (Maybe result)
prompt self message default' = liftDOM (((self ^. jsf "prompt" [P.maybe (P.return jsUndefined) toJSVal message, P.maybe (P.return jsUndefined) toJSVal default']) >>= fromMaybeJSString))

-- | <https://developer.mozilla.org/docs/Web/API/Window/prompt MDN Window.prompt documentation>
prompt_ :: (MonadDOM m, ToJSString message, ToJSString default') => Window -> Maybe message -> Maybe default' -> m ()
prompt_ self message default' = liftDOM (void (self ^. jsf "prompt" [P.maybe (P.return jsUndefined) toJSVal message, P.maybe (P.return jsUndefined) toJSVal default']))

-- | <https://developer.mozilla.org/docs/Web/API/Window/prompt MDN Window.prompt documentation>
promptUnsafe :: (MonadDOM m, ToJSString message, ToJSString default', HasCallStack, FromJSString result) => Window -> Maybe message -> Maybe default' -> m result
promptUnsafe self message default' = liftDOM ((((self ^. jsf "prompt" [P.maybe (P.return jsUndefined) toJSVal message, P.maybe (P.return jsUndefined) toJSVal default']) >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/prompt MDN Window.prompt documentation>
promptUnchecked :: (MonadDOM m, ToJSString message, ToJSString default', FromJSString result) => Window -> Maybe message -> Maybe default' -> m result
promptUnchecked self message default' = liftDOM (((self ^. jsf "prompt" [P.maybe (P.return jsUndefined) toJSVal message, P.maybe (P.return jsUndefined) toJSVal default']) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/releaseEvents MDN Window.releaseEvents documentation>
releaseEvents :: (MonadDOM m) => Window -> m ()
releaseEvents self = liftDOM (void (self ^. jsf "releaseEvents" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/requestIdleCallback MDN Window.requestIdleCallback documentation>
requestIdleCallback :: (MonadDOM m) => Window -> IdleRequestCallback -> Maybe IdleRequestOptions -> m Word
requestIdleCallback self callback' options = liftDOM ((P.round <$> ((self ^. jsf "requestIdleCallback" [toJSVal callback', P.maybe (P.return jsUndefined) toJSVal options]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/requestIdleCallback MDN Window.requestIdleCallback documentation>
requestIdleCallback_ :: (MonadDOM m) => Window -> IdleRequestCallback -> Maybe IdleRequestOptions -> m ()
requestIdleCallback_ self callback' options = liftDOM (void (self ^. jsf "requestIdleCallback" [toJSVal callback', P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/resizeBy MDN Window.resizeBy documentation>
resizeBy :: (MonadDOM m) => Window -> Int -> Int -> m ()
resizeBy self x y = liftDOM (void (self ^. jsf "resizeBy" [toJSVal x, toJSVal y]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/resizeTo MDN Window.resizeTo documentation>
resizeTo :: (MonadDOM m) => Window -> Int -> Int -> m ()
resizeTo self width height = liftDOM (void (self ^. jsf "resizeTo" [toJSVal width, toJSVal height]))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scroll MDN Window.scroll documentation>
scrollOpt :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ScrollResult
scrollOpt self options = liftDOM (((((self ^. jsf "scroll" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scroll MDN Window.scroll documentation>
scrollOpt_ :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ()
scrollOpt_ self options = liftDOM (void (((self ^. jsf "scroll" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scroll MDN Window.scroll documentation>
scroll :: (MonadDOM m) => Window -> Double -> Double -> m ScrollResult
scroll self x y = liftDOM (((((self ^. jsf "scroll" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scroll MDN Window.scroll documentation>
scroll_ :: (MonadDOM m) => Window -> Double -> Double -> m ()
scroll_ self x y = liftDOM (void (((self ^. jsf "scroll" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollBy MDN Window.scrollBy documentation>
scrollByOpt :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ScrollResult
scrollByOpt self options = liftDOM (((((self ^. jsf "scrollBy" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollBy MDN Window.scrollBy documentation>
scrollByOpt_ :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ()
scrollByOpt_ self options = liftDOM (void (((self ^. jsf "scrollBy" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollBy MDN Window.scrollBy documentation>
scrollBy :: (MonadDOM m) => Window -> Double -> Double -> m ScrollResult
scrollBy self x y = liftDOM (((((self ^. jsf "scrollBy" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollBy MDN Window.scrollBy documentation>
scrollBy_ :: (MonadDOM m) => Window -> Double -> Double -> m ()
scrollBy_ self x y = liftDOM (void (((self ^. jsf "scrollBy" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollTo MDN Window.scrollTo documentation>
scrollToOpt :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ScrollResult
scrollToOpt self options = liftDOM (((((self ^. jsf "scrollTo" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollTo MDN Window.scrollTo documentation>
scrollToOpt_ :: (MonadDOM m) => Window -> Maybe ScrollToOptions -> m ()
scrollToOpt_ self options = liftDOM (void (((self ^. jsf "scrollTo" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollTo MDN Window.scrollTo documentation>
scrollTo :: (MonadDOM m) => Window -> Double -> Double -> m ScrollResult
scrollTo self x y = liftDOM (((((self ^. jsf "scrollTo" [toJSVal x, toJSVal y]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollTo MDN Window.scrollTo documentation>
scrollTo_ :: (MonadDOM m) => Window -> Double -> Double -> m ()
scrollTo_ self x y = liftDOM (void (((self ^. jsf "scrollTo" [toJSVal x, toJSVal y]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/stop MDN Window.stop documentation>
stop :: (MonadDOM m) => Window -> m ()
stop self = liftDOM (void (self ^. jsf "stop" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Window/window MDN Window.window documentation>
getWindow :: (MonadDOM m) => Window -> m Window
getWindow self = liftDOM (((self ^. js "window") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/self MDN Window.self documentation>
getSelf :: (MonadDOM m) => Window -> m Window
getSelf self = liftDOM (((self ^. js "self") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/document MDN Window.document documentation>
getDocument :: (MonadDOM m) => Window -> m Document
getDocument self = liftDOM (((self ^. js "document") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/name MDN Window.name documentation>
setName :: (MonadDOM m, ToJSString val) => Window -> val -> m ()
setName self val = liftDOM (void (self ^. jss "name" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/name MDN Window.name documentation>
getName :: (MonadDOM m, FromJSString result) => Window -> m result
getName self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/location MDN Window.location documentation>
getLocation :: (MonadDOM m) => Window -> m Location
getLocation self = liftDOM (((self ^. js "location") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/history MDN Window.history documentation>
getHistory :: (MonadDOM m) => Window -> m History
getHistory self = liftDOM (((self ^. js "history") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/navigation MDN Window.navigation documentation>
getNavigation :: (MonadDOM m) => Window -> m Navigation
getNavigation self = liftDOM (((self ^. js "navigation") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/customElements MDN Window.customElements documentation>
getCustomElements :: (MonadDOM m) => Window -> m CustomElementRegistry
getCustomElements self = liftDOM (((self ^. js "customElements") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/locationbar MDN Window.locationbar documentation>
getLocationbar :: (MonadDOM m) => Window -> m BarProp
getLocationbar self = liftDOM (((self ^. js "locationbar") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/menubar MDN Window.menubar documentation>
getMenubar :: (MonadDOM m) => Window -> m BarProp
getMenubar self = liftDOM (((self ^. js "menubar") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/personalbar MDN Window.personalbar documentation>
getPersonalbar :: (MonadDOM m) => Window -> m BarProp
getPersonalbar self = liftDOM (((self ^. js "personalbar") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollbars MDN Window.scrollbars documentation>
getScrollbars :: (MonadDOM m) => Window -> m BarProp
getScrollbars self = liftDOM (((self ^. js "scrollbars") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/statusbar MDN Window.statusbar documentation>
getStatusbar :: (MonadDOM m) => Window -> m BarProp
getStatusbar self = liftDOM (((self ^. js "statusbar") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/toolbar MDN Window.toolbar documentation>
getToolbar :: (MonadDOM m) => Window -> m BarProp
getToolbar self = liftDOM (((self ^. js "toolbar") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/status MDN Window.status documentation>
setStatus :: (MonadDOM m, ToJSString val) => Window -> val -> m ()
setStatus self val = liftDOM (void (self ^. jss "status" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/status MDN Window.status documentation>
getStatus :: (MonadDOM m, FromJSString result) => Window -> m result
getStatus self = liftDOM (((self ^. js "status") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/closed MDN Window.closed documentation>
getClosed :: (MonadDOM m) => Window -> m Bool
getClosed self = liftDOM (((self ^. js "closed") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Window/frames MDN Window.frames documentation>
getFrames :: (MonadDOM m) => Window -> m Window
getFrames self = liftDOM (((self ^. js "frames") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/length MDN Window.length documentation>
getLength :: (MonadDOM m) => Window -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/top MDN Window.top documentation>
getTop :: (MonadDOM m) => Window -> m (Maybe Window)
getTop self = liftDOM (((self ^. js "top") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/top MDN Window.top documentation>
getTopUnsafe :: (MonadDOM m, HasCallStack) => Window -> m Window
getTopUnsafe self = liftDOM ((((self ^. js "top") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/top MDN Window.top documentation>
getTopUnchecked :: (MonadDOM m) => Window -> m Window
getTopUnchecked self = liftDOM (((self ^. js "top") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/opener MDN Window.opener documentation>
setOpener :: (MonadDOM m) => Window -> JSVal -> m ()
setOpener self val = liftDOM (void (self ^. jss "opener" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/opener MDN Window.opener documentation>
getOpener :: (MonadDOM m) => Window -> m JSVal
getOpener self = liftDOM (self ^. js "opener")

-- | <https://developer.mozilla.org/docs/Web/API/Window/parent MDN Window.parent documentation>
getParent :: (MonadDOM m) => Window -> m (Maybe Window)
getParent self = liftDOM (((self ^. js "parent") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/parent MDN Window.parent documentation>
getParentUnsafe :: (MonadDOM m, HasCallStack) => Window -> m Window
getParentUnsafe self = liftDOM ((((self ^. js "parent") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/parent MDN Window.parent documentation>
getParentUnchecked :: (MonadDOM m) => Window -> m Window
getParentUnchecked self = liftDOM (((self ^. js "parent") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/frameElement MDN Window.frameElement documentation>
getFrameElement :: (MonadDOM m) => Window -> m (Maybe Element)
getFrameElement self = liftDOM (((self ^. js "frameElement") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/frameElement MDN Window.frameElement documentation>
getFrameElementUnsafe :: (MonadDOM m, HasCallStack) => Window -> m Element
getFrameElementUnsafe self = liftDOM ((((self ^. js "frameElement") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/frameElement MDN Window.frameElement documentation>
getFrameElementUnchecked :: (MonadDOM m) => Window -> m Element
getFrameElementUnchecked self = liftDOM (((self ^. js "frameElement") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/navigator MDN Window.navigator documentation>
getNavigator :: (MonadDOM m) => Window -> m Navigator
getNavigator self = liftDOM (((self ^. js "navigator") >>= fromJSValUnchecked))

-- | <https://html.spec.whatwg.org/multipage/system-state.html#dom-clientinformation Window.clientInformation specification>
getClientInformation :: (MonadDOM m) => Window -> m Navigator
getClientInformation self = liftDOM (((self ^. js "clientInformation") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/originAgentCluster MDN Window.originAgentCluster documentation>
getOriginAgentCluster :: (MonadDOM m) => Window -> m Bool
getOriginAgentCluster self = liftDOM (((self ^. js "originAgentCluster") >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/Window/cookieStore MDN Window.cookieStore documentation>
getCookieStore :: (MonadDOM m) => Window -> m CookieStore
getCookieStore self = liftDOM (((self ^. js "cookieStore") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/screen MDN Window.screen documentation>
getScreen :: (MonadDOM m) => Window -> m Screen
getScreen self = liftDOM (((self ^. js "screen") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/visualViewport MDN Window.visualViewport documentation>
getVisualViewport :: (MonadDOM m) => Window -> m (Maybe VisualViewport)
getVisualViewport self = liftDOM (((self ^. js "visualViewport") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/visualViewport MDN Window.visualViewport documentation>
getVisualViewportUnsafe :: (MonadDOM m, HasCallStack) => Window -> m VisualViewport
getVisualViewportUnsafe self = liftDOM ((((self ^. js "visualViewport") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/Window/visualViewport MDN Window.visualViewport documentation>
getVisualViewportUnchecked :: (MonadDOM m) => Window -> m VisualViewport
getVisualViewportUnchecked self = liftDOM (((self ^. js "visualViewport") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/innerWidth MDN Window.innerWidth documentation>
getInnerWidth :: (MonadDOM m) => Window -> m Int
getInnerWidth self = liftDOM ((P.round <$> ((self ^. js "innerWidth") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/innerHeight MDN Window.innerHeight documentation>
getInnerHeight :: (MonadDOM m) => Window -> m Int
getInnerHeight self = liftDOM ((P.round <$> ((self ^. js "innerHeight") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollX MDN Window.scrollX documentation>
getScrollX :: (MonadDOM m) => Window -> m Double
getScrollX self = liftDOM (((self ^. js "scrollX") >>= valToNumber))

-- | <https://drafts.csswg.org/cssom-view-1/#dom-window-pagexoffset Window.pageXOffset specification>
getPageXOffset :: (MonadDOM m) => Window -> m Double
getPageXOffset self = liftDOM (((self ^. js "pageXOffset") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Window/scrollY MDN Window.scrollY documentation>
getScrollY :: (MonadDOM m) => Window -> m Double
getScrollY self = liftDOM (((self ^. js "scrollY") >>= valToNumber))

-- | <https://drafts.csswg.org/cssom-view-1/#dom-window-pageyoffset Window.pageYOffset specification>
getPageYOffset :: (MonadDOM m) => Window -> m Double
getPageYOffset self = liftDOM (((self ^. js "pageYOffset") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Window/screenX MDN Window.screenX documentation>
getScreenX :: (MonadDOM m) => Window -> m Int
getScreenX self = liftDOM ((P.round <$> ((self ^. js "screenX") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/screenLeft MDN Window.screenLeft documentation>
getScreenLeft :: (MonadDOM m) => Window -> m Int
getScreenLeft self = liftDOM ((P.round <$> ((self ^. js "screenLeft") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/screenY MDN Window.screenY documentation>
getScreenY :: (MonadDOM m) => Window -> m Int
getScreenY self = liftDOM ((P.round <$> ((self ^. js "screenY") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/screenTop MDN Window.screenTop documentation>
getScreenTop :: (MonadDOM m) => Window -> m Int
getScreenTop self = liftDOM ((P.round <$> ((self ^. js "screenTop") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/outerWidth MDN Window.outerWidth documentation>
getOuterWidth :: (MonadDOM m) => Window -> m Int
getOuterWidth self = liftDOM ((P.round <$> ((self ^. js "outerWidth") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/outerHeight MDN Window.outerHeight documentation>
getOuterHeight :: (MonadDOM m) => Window -> m Int
getOuterHeight self = liftDOM ((P.round <$> ((self ^. js "outerHeight") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio MDN Window.devicePixelRatio documentation>
getDevicePixelRatio :: (MonadDOM m) => Window -> m Double
getDevicePixelRatio self = liftDOM (((self ^. js "devicePixelRatio") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Window/documentPictureInPicture MDN Window.documentPictureInPicture documentation>
getDocumentPictureInPicture :: (MonadDOM m) => Window -> m DocumentPictureInPicture
getDocumentPictureInPicture self = liftDOM (((self ^. js "documentPictureInPicture") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/event MDN Window.event documentation>
getEvent :: (MonadDOM m) => Window -> m EventOrUndefined
getEvent self = liftDOM (((self ^. js "event") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/external MDN Window.external documentation>
getExternal :: (MonadDOM m) => Window -> m External
getExternal self = liftDOM (((self ^. js "external") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Window/speechSynthesis MDN Window.speechSynthesis documentation>
getSpeechSynthesis :: (MonadDOM m) => Window -> m SpeechSynthesis
getSpeechSynthesis self = liftDOM (((self ^. js "speechSynthesis") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/deviceorientation/#dom-window-ondeviceorientation deviceorientation event>
deviceOrientation :: EventName Window DeviceOrientationEvent
deviceOrientation = unsafeEventName (toJSString "deviceorientation")

-- | <https://w3c.github.io/deviceorientation/#dom-window-ondeviceorientationabsolute deviceorientationabsolute event>
deviceorientationabsolute :: EventName Window DeviceOrientationEvent
deviceorientationabsolute = unsafeEventName (toJSString "deviceorientationabsolute")

-- | <https://w3c.github.io/deviceorientation/#dom-window-ondevicemotion devicemotion event>
deviceMotion :: EventName Window DeviceMotionEvent
deviceMotion = unsafeEventName (toJSString "devicemotion")

-- | <https://w3c.github.io/clipboard-apis/#eventdef-globaleventhandlers-clipboardchange clipboardchange event>
clipboardchange :: EventName Window ClipboardChangeEvent
clipboardchange = unsafeEventName (toJSString "clipboardchange")