git.iko.soy/rowtype-yoga/psfp
on 982389d help sign in
47 lines 2.9 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var Control_Applicative = require("../Control.Applicative/index.js");
4var Control_Bind = require("../Control.Bind/index.js");
5var Data_Eq = require("../Data.Eq/index.js");
6var Data_Foldable = require("../Data.Foldable/index.js");
7var Data_Function = require("../Data.Function/index.js");
8var Data_Functor = require("../Data.Functor/index.js");
9var Data_Maybe = require("../Data.Maybe/index.js");
10var Data_Newtype = require("../Data.Newtype/index.js");
11var Data_Nullable = require("../Data.Nullable/index.js");
12var Data_Tuple = require("../Data.Tuple/index.js");
13var Data_Unit = require("../Data.Unit/index.js");
14var Effect = require("../Effect/index.js");
15var React_Basic_Hooks = require("../React.Basic.Hooks/index.js");
16var React_Basic_Hooks_Internal = require("../React.Basic.Hooks.Internal/index.js");
17var Type_Equality = require("../Type.Equality/index.js");
18var Unsafe_Coerce = require("../Unsafe.Coerce/index.js");
19var Web_HTML_HTMLElement = require("../Web.HTML.HTMLElement/index.js");
20var UseBoundingBox = function (x) {
21 return x;
22};
23var ntUseBoundingBox = new Data_Newtype.Newtype(function (n) {
24 return n;
25}, UseBoundingBox);
26var useBoundingBox = React_Basic_Hooks_Internal.coerceHook(ntUseBoundingBox)(React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useRef(Data_Nullable["null"]))(function (v) {
27 return React_Basic_Hooks_Internal.bind(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useState(Data_Maybe.Nothing.value))(function (v1) {
28 return React_Basic_Hooks_Internal.discard(React_Basic_Hooks_Internal.ixBindRender)(React_Basic_Hooks.useLayoutEffect(Data_Eq.eqUnit)(Data_Unit.unit)(function __do() {
29 var maybeRef = React_Basic_Hooks.readRefMaybe(v)();
30 return Control_Bind.discard(Control_Bind.discardUnit)(Effect.bindEffect)(Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(Data_Functor.mapFlipped(Data_Maybe.functorMaybe)(maybeRef)(Unsafe_Coerce.unsafeCoerce))(function (elem) {
31 return function __do() {
32 var rect = Web_HTML_HTMLElement.getBoundingClientRect(elem)();
33 return v1.value1(Data_Function["const"](new Data_Maybe.Just(rect)))();
34 };
35 }))(function ($dollar__unused) {
36 return Control_Applicative.pure(Effect.applicativeEffect)(Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit));
37 })();
38 }))(function ($dollar__unused) {
39 return Control_Applicative.pure(React_Basic_Hooks_Internal.applicativeRender(Type_Equality.refl))(new Data_Tuple.Tuple(v1.value0, v));
40 });
41 });
42}));
43module.exports = {
44 UseBoundingBox: UseBoundingBox,
45 useBoundingBox: useBoundingBox,
46 ntUseBoundingBox: ntUseBoundingBox
47};