@@ -1,3406 +0,0 @@
2− // output/Control.Semigroupoid/index.js
3− var semigroupoidFn = {
4− compose: function(f) {
13− // output/Control.Category/index.js
14− var identity = function(dict) {
15− return dict.identity;
18− identity: function(x) {
21− Semigroupoid0: function() {
22− return semigroupoidFn;
26− // output/Data.Boolean/index.js
27− var otherwise = true;
29− // output/Data.Function/index.js
30− var flip = function(f) {
37− var $$const = function(a) {
42− var applyFlipped = function(x) {
48− // output/Data.Functor/foreign.js
49− var arrayMap = function(f) {
50− return function(arr) {
52− var result = new Array(l);
53− for (var i = 0; i < l; i++) {
54− result[i] = f(arr[i]);
60− // output/Data.Unit/foreign.js
63− // output/Type.Proxy/index.js
64− var $$Proxy = /* @__PURE__ */ function() {
65− function $$Proxy2() {
68− $$Proxy2.value = new $$Proxy2();
72− // output/Data.Functor/index.js
73− var map = function(dict) {
80− // output/Control.Apply/index.js
81− var apply = function(dict) {
84− var lift2 = function(dictApply) {
85− var apply1 = apply(dictApply);
86− var map4 = map(dictApply.Functor0());
90− return apply1(map4(f)(a))(b);
96− // output/Control.Applicative/index.js
97− var pure = function(dict) {
100− var liftA1 = function(dictApplicative) {
101− var apply2 = apply(dictApplicative.Apply0());
102− var pure1 = pure(dictApplicative);
103− return function(f) {
104− return function(a) {
105− return apply2(pure1(f))(a);
110− // output/Control.Bind/foreign.js
111− var arrayBind = typeof Array.prototype.flatMap === "function" ? function(arr) {
112− return function(f) {
113− return arr.flatMap(f);
116− return function(f) {
119− for (var i = 0; i < l; i++) {
122− for (var j = 0; j < k; j++) {
130− // output/Control.Bind/index.js
131− var discard = function(dict) {
132− return dict.discard;
134− var bind = function(dict) {
137− var bindFlipped = function(dictBind) {
138− return flip(bind(dictBind));
141− discard: function(dictBind) {
142− return bind(dictBind);
146− // output/Data.Symbol/index.js
147− var reflectSymbol = function(dict) {
148− return dict.reflectSymbol;
151− // output/Record.Unsafe/foreign.js
152− var unsafeGet = function(label4) {
153− return function(rec) {
157− var unsafeSet = function(label4) {
158− return function(value12) {
159− return function(rec) {
161− for (var key in rec) {
162− if ({}.hasOwnProperty.call(rec, key)) {
163− copy[key] = rec[key];
166− copy[label4] = value12;
172− // output/Data.Eq/foreign.js
173− var refEq = function(r1) {
174− return function(r2) {
178− var eqIntImpl = refEq;
180− // output/Data.Eq/index.js
185− // output/Data.Ordering/index.js
186− var LT = /* @__PURE__ */ function() {
190− LT2.value = new LT2();
193− var GT = /* @__PURE__ */ function() {
197− GT2.value = new GT2();
200− var EQ = /* @__PURE__ */ function() {
204− EQ2.value = new EQ2();
208− // output/Data.Semigroup/foreign.js
209− var concatString = function(s1) {
210− return function(s2) {
214− var concatArray = function(xs) {
215− return function(ys) {
216− if (xs.length === 0) return ys;
217− if (ys.length === 0) return xs;
218− return xs.concat(ys);
222− // output/Data.Semigroup/index.js
223− var semigroupUnit = {
224− append: function(v) {
225− return function(v1) {
230− var semigroupString = {
231− append: concatString
233− var semigroupRecordNil = {
234− appendRecord: function(v) {
235− return function(v1) {
236− return function(v2) {
242− var semigroupArray = {
245− var appendRecord = function(dict) {
246− return dict.appendRecord;
248− var semigroupRecord = function() {
249− return function(dictSemigroupRecord) {
251− append: appendRecord(dictSemigroupRecord)($$Proxy.value)
255− var append = function(dict) {
258− var semigroupRecordCons = function(dictIsSymbol) {
259− var reflectSymbol2 = reflectSymbol(dictIsSymbol);
261− return function(dictSemigroupRecord) {
262− var appendRecord1 = appendRecord(dictSemigroupRecord);
263− return function(dictSemigroup) {
264− var append1 = append(dictSemigroup);
266− appendRecord: function(v) {
267− return function(ra) {
268− return function(rb) {
269− var tail = appendRecord1($$Proxy.value)(ra)(rb);
270− var key = reflectSymbol2($$Proxy.value);
271− var insert2 = unsafeSet(key);
272− var get = unsafeGet(key);
273− return insert2(append1(get(ra))(get(rb)))(tail);
283− // output/Data.Monoid/index.js
284− var semigroupRecord2 = /* @__PURE__ */ semigroupRecord();
287− Semigroup0: function() {
288− return semigroupUnit;
291− var monoidString = {
293− Semigroup0: function() {
294− return semigroupString;
297− var monoidRecordNil = {
298− memptyRecord: function(v) {
301− SemigroupRecord0: function() {
302− return semigroupRecordNil;
307− Semigroup0: function() {
308− return semigroupArray;
311− var memptyRecord = function(dict) {
312− return dict.memptyRecord;
314− var monoidRecord = function() {
315− return function(dictMonoidRecord) {
316− var semigroupRecord1 = semigroupRecord2(dictMonoidRecord.SemigroupRecord0());
318− mempty: memptyRecord(dictMonoidRecord)($$Proxy.value),
319− Semigroup0: function() {
320− return semigroupRecord1;
325− var mempty = function(dict) {
328− var monoidRecordCons = function(dictIsSymbol) {
329− var reflectSymbol2 = reflectSymbol(dictIsSymbol);
330− var semigroupRecordCons3 = semigroupRecordCons(dictIsSymbol)();
331− return function(dictMonoid) {
332− var mempty12 = mempty(dictMonoid);
333− var Semigroup0 = dictMonoid.Semigroup0();
335− return function(dictMonoidRecord) {
336− var memptyRecord1 = memptyRecord(dictMonoidRecord);
337− var semigroupRecordCons1 = semigroupRecordCons3(dictMonoidRecord.SemigroupRecord0())(Semigroup0);
339− memptyRecord: function(v) {
340− var tail = memptyRecord1($$Proxy.value);
341− var key = reflectSymbol2($$Proxy.value);
342− var insert2 = unsafeSet(key);
343− return insert2(mempty12)(tail);
345− SemigroupRecord0: function() {
346− return semigroupRecordCons1;
354− // output/Effect/foreign.js
355− var pureE = function(a) {
360− var bindE = function(a) {
361− return function(f) {
368− // output/Control.Monad/index.js
369− var ap = function(dictMonad) {
370− var bind4 = bind(dictMonad.Bind1());
371− var pure4 = pure(dictMonad.Applicative0());
372− return function(f) {
373− return function(a) {
374− return bind4(f)(function(f$prime) {
375− return bind4(a)(function(a$prime) {
376− return pure4(f$prime(a$prime));
383− // output/Effect/index.js
384− var $runtime_lazy = function(name15, moduleName, init) {
387− return function(lineNumber) {
388− if (state3 === 2) return val;
389− if (state3 === 1) throw new ReferenceError(name15 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber);
397− Applicative0: function() {
398− return applicativeEffect;
406− Apply0: function() {
407− return $lazy_applyEffect(0);
410− var applicativeEffect = {
412− Apply0: function() {
413− return $lazy_applyEffect(0);
416− var $lazy_functorEffect = /* @__PURE__ */ $runtime_lazy("functorEffect", "Effect", function() {
418− map: liftA1(applicativeEffect)
421− var $lazy_applyEffect = /* @__PURE__ */ $runtime_lazy("applyEffect", "Effect", function() {
423− apply: ap(monadEffect),
424− Functor0: function() {
425− return $lazy_functorEffect(0);
429− var functorEffect = /* @__PURE__ */ $lazy_functorEffect(20);
431− // output/Data.Array/foreign.js
432− var replicateFill = function(count, value12) {
436− var result = new Array(count);
437− return result.fill(value12);
439− var replicatePolyfill = function(count, value12) {
442− for (var i = 0; i < count; i++) {
443− result[n++] = value12;
447− var replicateImpl = typeof Array.prototype.fill === "function" ? replicateFill : replicatePolyfill;
448− var indexImpl = function(just, nothing, xs, i) {
449− return i < 0 || i >= xs.length ? nothing : just(xs[i]);
451− var concat = function(xss) {
452− if (xss.length <= 1e4) {
453− return Array.prototype.concat.apply([], xss);
456− for (var i = 0, l = xss.length; i < l; i++) {
458− for (var j = 0, m2 = xs.length; j < m2; j++) {
465− // output/Data.Bounded/foreign.js
466− var topInt = 2147483647;
467− var bottomInt = -2147483648;
468− var topChar = String.fromCharCode(65535);
469− var bottomChar = String.fromCharCode(0);
470− var topNumber = Number.POSITIVE_INFINITY;
471− var bottomNumber = Number.NEGATIVE_INFINITY;
473− // output/Data.Ord/foreign.js
474− var unsafeCompareImpl = function(lt) {
475− return function(eq2) {
476− return function(gt) {
477− return function(x) {
478− return function(y) {
479− return x < y ? lt : x === y ? eq2 : gt;
485− var ordIntImpl = unsafeCompareImpl;
487− // output/Data.Ord/index.js
488− var ordInt = /* @__PURE__ */ function() {
490− compare: ordIntImpl(LT.value)(EQ.value)(GT.value),
497− // output/Data.Bounded/index.js
498− var top = function(dict) {
508− var bottom = function(dict) {
512− // output/Data.Show/foreign.js
513− var showIntImpl = function(n) {
514− return n.toString();
516− var showNumberImpl = function(n) {
517− var str = n.toString();
518− return isNaN(str + ".0") ? str : str + ".0";
521− // output/Data.Show/index.js
523− show: showNumberImpl
528− var show = function(dict) {
532− // output/Data.Maybe/index.js
533− var identity2 = /* @__PURE__ */ identity(categoryFn);
534− var Nothing = /* @__PURE__ */ function() {
535− function Nothing2() {
538− Nothing2.value = new Nothing2();
541− var Just = /* @__PURE__ */ function() {
542− function Just2(value0) {
543− this.value0 = value0;
546− Just2.create = function(value0) {
547− return new Just2(value0);
551− var maybe = function(v) {
552− return function(v1) {
553− return function(v2) {
554− if (v2 instanceof Nothing) {
558− if (v2 instanceof Just) {
559− return v1(v2.value0);
562− throw new Error("Failed pattern match at Data.Maybe (line 237, column 1 - line 237, column 51): " + [v.constructor.name, v1.constructor.name, v2.constructor.name]);
566− var fromMaybe = function(a) {
567− return maybe(a)(identity2);
570− // output/Data.Identity/index.js
571− var Identity = function(x) {
574− var functorIdentity = {
576− return function(m2) {
581− var applyIdentity = {
582− apply: function(v) {
583− return function(v1) {
587− Functor0: function() {
588− return functorIdentity;
591− var bindIdentity = {
593− return function(f) {
597− Apply0: function() {
598− return applyIdentity;
601− var applicativeIdentity = {
603− Apply0: function() {
604− return applyIdentity;
607− var monadIdentity = {
608− Applicative0: function() {
609− return applicativeIdentity;
612− return bindIdentity;
616− // output/Effect.Ref/foreign.js
617− var _new = function(val) {
619− return { value: val };
622− var read = function(ref) {
627− var write = function(val) {
628− return function(ref) {
635− // output/Effect.Ref/index.js
638− // output/Control.Monad.ST.Internal/foreign.js
639− var map_ = function(f) {
640− return function(a) {
646− var pure_ = function(a) {
651− var bind_ = function(a) {
652− return function(f) {
659− // output/Control.Monad.ST.Internal/index.js
660− var $runtime_lazy2 = function(name15, moduleName, init) {
663− return function(lineNumber) {
664− if (state3 === 2) return val;
665− if (state3 === 1) throw new ReferenceError(name15 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber);
676− Applicative0: function() {
677− return applicativeST;
685− Apply0: function() {
686− return $lazy_applyST(0);
689− var applicativeST = {
691− Apply0: function() {
692− return $lazy_applyST(0);
695− var $lazy_applyST = /* @__PURE__ */ $runtime_lazy2("applyST", "Control.Monad.ST.Internal", function() {
698− Functor0: function() {
704− // output/Data.Foldable/foreign.js
705− var foldrArray = function(f) {
706− return function(init) {
707− return function(xs) {
709− var len = xs.length;
710− for (var i = len - 1; i >= 0; i--) {
711− acc = f(xs[i])(acc);
717− var foldlArray = function(f) {
718− return function(init) {
719− return function(xs) {
721− var len = xs.length;
722− for (var i = 0; i < len; i++) {
723− acc = f(acc)(xs[i]);
730− // output/Data.Tuple/index.js
731− var Tuple = /* @__PURE__ */ function() {
732− function Tuple2(value0, value1) {
733− this.value0 = value0;
734− this.value1 = value1;
737− Tuple2.create = function(value0) {
738− return function(value1) {
739− return new Tuple2(value0, value1);
744− var uncurry = function(f) {
745− return function(v) {
746− return f(v.value0)(v.value1);
750− // output/Unsafe.Coerce/foreign.js
751− var unsafeCoerce2 = function(x) {
755− // output/Safe.Coerce/index.js
756− var coerce = function() {
757− return unsafeCoerce2;
760− // output/Data.Newtype/index.js
761− var coerce2 = /* @__PURE__ */ coerce();
762− var unwrap = function() {
766− // output/Data.Foldable/index.js
767− var foldr = function(dict) {
770− var foldl = function(dict) {
773− var intercalate = function(dictFoldable) {
774− var foldl2 = foldl(dictFoldable);
775− return function(dictMonoid) {
776− var append3 = append(dictMonoid.Semigroup0());
777− var mempty6 = mempty(dictMonoid);
778− return function(sep) {
779− return function(xs) {
780− var go2 = function(v) {
781− return function(v1) {
791− acc: append3(v.acc)(append3(sep)(v1))
795− return foldl2(go2)({
803− var foldMapDefaultR = function(dictFoldable) {
804− var foldr22 = foldr(dictFoldable);
805− return function(dictMonoid) {
806− var append3 = append(dictMonoid.Semigroup0());
807− var mempty6 = mempty(dictMonoid);
808− return function(f) {
809− return foldr22(function(x) {
810− return function(acc) {
811− return append3(f(x))(acc);
817− var foldableArray = {
820− foldMap: function(dictMonoid) {
821− return foldMapDefaultR(foldableArray)(dictMonoid);
825− // output/Data.Function.Uncurried/foreign.js
826− var runFn2 = function(fn) {
827− return function(a) {
828− return function(b) {
833− var runFn4 = function(fn) {
834− return function(a) {
835− return function(b) {
836− return function(c) {
837− return function(d) {
838− return fn(a, b, c, d);
845− // output/Data.Traversable/foreign.js
846− var traverseArrayImpl = /* @__PURE__ */ function() {
847− function array1(a) {
850− function array2(a) {
851− return function(b) {
855− function array3(a) {
856− return function(b) {
857− return function(c) {
862− function concat2(xs) {
863− return function(ys) {
864− return xs.concat(ys);
867− return function(apply2) {
868− return function(map4) {
869− return function(pure4) {
870− return function(f) {
871− return function(array) {
872− function go2(bot, top3) {
873− switch (top3 - bot) {
877− return map4(array1)(f(array[bot]));
879− return apply2(map4(array2)(f(array[bot])))(f(array[bot + 1]));
881− return apply2(apply2(map4(array3)(f(array[bot])))(f(array[bot + 1])))(f(array[bot + 2]));
883− var pivot = bot + Math.floor((top3 - bot) / 4) * 2;
884− return apply2(map4(concat2)(go2(bot, pivot)))(go2(pivot, top3));
887− return go2(0, array.length);
895− // output/Data.Traversable/index.js
896− var identity3 = /* @__PURE__ */ identity(categoryFn);
897− var traverse = function(dict) {
898− return dict.traverse;
900− var sequenceDefault = function(dictTraversable) {
901− var traverse22 = traverse(dictTraversable);
902− return function(dictApplicative) {
903− return traverse22(dictApplicative)(identity3);
906− var traversableArray = {
907− traverse: function(dictApplicative) {
908− var Apply0 = dictApplicative.Apply0();
909− return traverseArrayImpl(apply(Apply0))(map(Apply0.Functor0()))(pure(dictApplicative));
911− sequence: function(dictApplicative) {
912− return sequenceDefault(traversableArray)(dictApplicative);
914− Functor0: function() {
915− return functorArray;
917− Foldable1: function() {
918− return foldableArray;
922− // output/Data.Array/index.js
923− var intercalate1 = /* @__PURE__ */ intercalate(foldableArray);
924− var intercalate2 = function(dictMonoid) {
925− return intercalate1(dictMonoid);
927− var index = /* @__PURE__ */ function() {
928− return runFn4(indexImpl)(Just.create)(Nothing.value);
930− var head = function(xs) {
931− return index(xs)(0);
934− // output/Maquette/foreign.js
935− var NAMESPACE_W3 = "http://www.w3.org/";
936− var NAMESPACE_SVG = NAMESPACE_W3 + "2000/svg";
937− var NAMESPACE_XLINK = NAMESPACE_W3 + "1999/xlink";
938− var emptyArray = [];
939− var extend2 = function(base, overrides) {
941− Object.keys(base).forEach(function(key) {
942− result[key] = base[key];
945− Object.keys(overrides).forEach(function(key) {
946− result[key] = overrides[key];
951− var same = function(vnode1, vnode2) {
952− if (vnode1.vnodeSelector !== vnode2.vnodeSelector) {
955− if (vnode1.properties && vnode2.properties) {
956− if (vnode1.properties.key !== vnode2.properties.key) {
959− return vnode1.properties.bind === vnode2.properties.bind;
961− return !vnode1.properties && !vnode2.properties;
963− var checkStyleValue = function(styleValue) {
964− if (typeof styleValue !== "string") {
965− throw new Error("Style values must be strings");
968− var findIndexOfChild = function(children, sameAs, start2) {
969− if (sameAs.vnodeSelector !== "") {
970− for (var i = start2; i < children.length; i++) {
971− if (same(children[i], sameAs)) {
978− var checkDistinguishable = function(childNodes, indexToCheck, parentVNode, operation) {
979− var childNode = childNodes[indexToCheck];
980− if (childNode.vnodeSelector === "") {
983− var properties = childNode.properties;
984− var key = properties ? properties.key === void 0 ? properties.bind : properties.key : void 0;
986− for (var i = 0; i < childNodes.length; i++) {
987− if (i !== indexToCheck) {
988− var node = childNodes[i];
989− if (same(node, childNode)) {
991− error: new Error(parentVNode.vnodeSelector + " had a " + childNode.vnodeSelector + " child " + (operation === "added" ? operation : "removed") + ", but there is now more than one. You must add unique key properties to make them distinguishable."),
992− parentNode: parentVNode,
1000− var nodeAdded = function(vNode) {
1001− if (vNode.properties) {
1002− var enterAnimation = vNode.properties.enterAnimation;
1003− if (enterAnimation) {
1004− enterAnimation(vNode.domNode, vNode.properties);
1008− var removedNodes = [];
1009− var requestedIdleCallback = false;
1010− var visitRemovedNode = function(node) {
1011− (node.children || []).forEach(visitRemovedNode);
1012− if (node.properties && node.properties.afterRemoved) {
1013− node.properties.afterRemoved.apply(node.properties.bind || node.properties, [
1018− var processPendingNodeRemovals = function() {
1019− requestedIdleCallback = false;
1020− removedNodes.forEach(visitRemovedNode);
1021− removedNodes.length = 0;
1023− var scheduleNodeRemoval = function(vNode) {
1024− removedNodes.push(vNode);
1025− if (!requestedIdleCallback) {
1026− requestedIdleCallback = true;
1027− if (typeof window !== "undefined" && "requestIdleCallback" in window) {
1028− window.requestIdleCallback(processPendingNodeRemovals, { timeout: 16 });
1030− setTimeout(processPendingNodeRemovals, 16);
1034− var nodeToRemove = function(vNode) {
1035− var domNode = vNode.domNode;
1036− if (vNode.properties) {
1037− var exitAnimation = vNode.properties.exitAnimation;
1038− if (exitAnimation) {
1039− domNode.style.pointerEvents = "none";
1040− var removeDomNode = function() {
1041− if (domNode.parentNode) {
1042− domNode.parentNode.removeChild(domNode);
1043− scheduleNodeRemoval(vNode);
1046− exitAnimation(domNode, removeDomNode, vNode.properties);
1050− if (domNode.parentNode) {
1051− domNode.parentNode.removeChild(domNode);
1052− scheduleNodeRemoval(vNode);
1055− var vnodeOnlyProps = [
1063− function filterVNodeOnlyProps(name15) {
1064− return !vnodeOnlyProps.includes(name15);
1066− var setProperties = function(domNode, properties, projectionOptions) {
1070− var eventHandlerInterceptor = projectionOptions.eventHandlerInterceptor;
1071− var propNames = Object.keys(properties).filter(filterVNodeOnlyProps);
1072− var propCount = propNames.length;
1073− for (var i = 0; i < propCount; i++) {
1074− var propName = propNames[i];
1075− var propValue = properties[propName];
1076− if (propName === "className") {
1077− throw new Error('Property "className" is not supported, use "class".');
1078− } else if (propName === "class") {
1079− toggleClasses(domNode, propValue, true);
1080− } else if (propName === "classes") {
1081− var classNames = Object.keys(propValue);
1082− var classNameCount = classNames.length;
1083− for (var j = 0; j < classNameCount; j++) {
1084− var className = classNames[j];
1085− if (propValue[className]) {
1086− domNode.classList.add(className);
1089− } else if (propName === "styles") {
1090− var styleNames = Object.keys(propValue);
1091− var styleCount = styleNames.length;
1092− for (var j = 0; j < styleCount; j++) {
1093− var styleName = styleNames[j];
1094− var styleValue = propValue[styleName];
1096− checkStyleValue(styleValue);
1097− projectionOptions.styleApplyer(domNode, styleName, styleValue);
1100− } else if (propName === "on" && propValue) {
1101− for (var _i = 0, _a = Object.entries(properties.on); _i < _a.length; _i++) {
1102− var _b = _a[_i], key = _b[0], handler = _b[1];
1103− var listener = typeof handler === "function" ? handler : handler.listener;
1104− if (eventHandlerInterceptor) {
1105− listener = eventHandlerInterceptor(key, listener, domNode, properties);
1108− domNode.addEventListener(key, listener, typeof handler === "function" ? void 0 : handler.options);
1111− } else if (propName !== "key" && propValue !== null && propValue !== void 0) {
1112− var type = typeof propValue;
1113− if (type === "function") {
1114− if (propName.lastIndexOf("on", 0) === 0) {
1115− if (eventHandlerInterceptor) {
1116− propValue = eventHandlerInterceptor(propName, propValue, domNode, properties);
1119− domNode[propName] = propValue;
1120− } else if (projectionOptions.namespace === NAMESPACE_SVG) {
1121− if (propName === "href") {
1122− domNode.setAttributeNS(NAMESPACE_XLINK, propName, propValue);
1124− domNode.setAttribute(propName, propValue);
1126− } else if (type === "string" && propName !== "value" && propName !== "innerHTML") {
1127− domNode.setAttribute(propName, propValue);
1129− domNode[propName] = propValue;
1134− var addChildren = function(domNode, children, projectionOptions) {
1138− for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {
1139− var child = children_1[_i];
1140− createDom(child, domNode, void 0, projectionOptions);
1143− var initPropertiesAndChildren = function(domNode, vnode, projectionOptions) {
1144− addChildren(domNode, vnode.children, projectionOptions);
1146− domNode.textContent = vnode.text;
1148− setProperties(domNode, vnode.properties, projectionOptions);
1149− if (vnode.properties && vnode.properties.afterCreate) {
1150− vnode.properties.afterCreate.apply(vnode.properties.bind || vnode.properties, [
1153− vnode.vnodeSelector,
1159− var createDom = function(vnode, parentNode, insertBefore, projectionOptions) {
1163− var vnodeSelector = vnode.vnodeSelector;
1164− var doc = parentNode.ownerDocument;
1165− if (vnodeSelector === "") {
1166− if (vnode.domNode) {
1167− vnode.domNode.nodeValue = vnode.text;
1169− domNode = vnode.domNode = doc.createTextNode(vnode.text);
1170− if (insertBefore !== void 0) {
1171− parentNode.insertBefore(domNode, insertBefore);
1173− parentNode.appendChild(domNode);
1177− for (var i = 0; i <= vnodeSelector.length; ++i) {
1178− var c = vnodeSelector.charAt(i);
1179− if (i === vnodeSelector.length || c === "." || c === "#") {
1180− var type = vnodeSelector.charAt(start2 - 1);
1181− var found = vnodeSelector.slice(start2, i);
1182− if (type === ".") {
1183− domNode.classList.add(found);
1184− } else if (type === "#") {
1185− domNode.id = found;
1187− if (found === "svg") {
1188− projectionOptions = extend2(projectionOptions, {
1189− namespace: NAMESPACE_SVG
1192− if (projectionOptions.namespace !== void 0) {
1193− domNode = vnode.domNode = doc.createElementNS(projectionOptions.namespace, found);
1195− domNode = vnode.domNode = vnode.domNode || (((_a = vnode.properties) === null || _a === void 0 ? void 0 : _a.is) ? doc.createElement(found, { is: vnode.properties.is }) : doc.createElement(found));
1196− if (found === "input" && vnode.properties && vnode.properties.type !== void 0) {
1197− domNode.setAttribute("type", vnode.properties.type);
1200− if (insertBefore !== void 0) {
1201− parentNode.insertBefore(domNode, insertBefore);
1202− } else if (domNode.parentNode !== parentNode) {
1203− parentNode.appendChild(domNode);
1209− initPropertiesAndChildren(domNode, vnode, projectionOptions);
1213− var toggleClasses = function(domNode, classes, on2) {
1217− classes.split(" ").forEach(function(classToToggle) {
1218− if (classToToggle) {
1219− domNode.classList.toggle(classToToggle, on2);
1223− var updateProperties = function(domNode, previousProperties, properties, projectionOptions) {
1227− var propertiesUpdated = false;
1228− var propNames = Object.keys(properties).filter(filterVNodeOnlyProps);
1229− var propCount = propNames.length;
1230− for (var i = 0; i < propCount; i++) {
1231− var propName = propNames[i];
1232− var propValue = properties[propName];
1233− var previousValue = previousProperties[propName];
1234− if (propName === "class") {
1235− if (previousValue !== propValue) {
1236− toggleClasses(domNode, previousValue, false);
1237− toggleClasses(domNode, propValue, true);
1239− } else if (propName === "classes") {
1240− var classList = domNode.classList;
1241− var classNames = Object.keys(propValue);
1242− var classNameCount = classNames.length;
1243− for (var j = 0; j < classNameCount; j++) {
1244− var className = classNames[j];
1245− var on2 = !!propValue[className];
1246− var previousOn = !!previousValue[className];
1247− if (on2 === previousOn) {
1250− propertiesUpdated = true;
1252− classList.add(className);
1254− classList.remove(className);
1257− } else if (propName === "styles") {
1258− var styleNames = Object.keys(propValue);
1259− var styleCount = styleNames.length;
1260− for (var j = 0; j < styleCount; j++) {
1261− var styleName = styleNames[j];
1262− var newStyleValue = propValue[styleName];
1263− var oldStyleValue = previousValue[styleName];
1264− if (newStyleValue === oldStyleValue) {
1267− propertiesUpdated = true;
1268− if (newStyleValue) {
1269− checkStyleValue(newStyleValue);
1270− projectionOptions.styleApplyer(domNode, styleName, newStyleValue);
1272− projectionOptions.styleApplyer(domNode, styleName, "");
1276− if (!propValue && typeof previousValue === "string") {
1279− if (propName === "value") {
1280− var domValue = domNode[propName];
1281− if (domValue !== propValue && // The 'value' in the DOM tree !== newValue
1282− propValue !== previousValue) {
1283− domNode[propName] = propValue;
1285− if (propValue !== previousValue) {
1286− propertiesUpdated = true;
1288− } else if (propValue !== previousValue) {
1289− var type = typeof propValue;
1290− if (type !== "function" || !projectionOptions.eventHandlerInterceptor) {
1291− if (projectionOptions.namespace === NAMESPACE_SVG) {
1292− if (propName === "href") {
1293− domNode.setAttributeNS(NAMESPACE_XLINK, propName, propValue);
1295− domNode.setAttribute(propName, propValue);
1297− } else if (type === "string" && propName !== "innerHTML") {
1298− if (propName === "role" && propValue === "") {
1299− domNode.removeAttribute(propName);
1301− domNode.setAttribute(propName, propValue);
1303− } else if (domNode[propName] !== propValue) {
1304− domNode[propName] = propValue;
1306− propertiesUpdated = true;
1311− return propertiesUpdated;
1313− var updateChildren = function(vnode, domNode, oldChildren, newChildren, projectionOptions) {
1314− if (oldChildren === newChildren) {
1317− oldChildren = oldChildren || emptyArray;
1318− newChildren = newChildren || emptyArray;
1319− var oldChildrenLength = oldChildren.length;
1320− var newChildrenLength = newChildren.length;
1324− var textUpdated = false;
1325− while (newIndex < newChildrenLength) {
1326− var oldChild = oldIndex < oldChildrenLength ? oldChildren[oldIndex] : void 0;
1327− var newChild = newChildren[newIndex];
1328− if (oldChild !== void 0 && same(oldChild, newChild)) {
1329− textUpdated = updateDom(oldChild, newChild, projectionOptions, domNode, oldChildren) || textUpdated;
1332− var findOldIndex = findIndexOfChild(oldChildren, newChild, oldIndex + 1);
1333− if (findOldIndex >= 0) {
1334− for (i = oldIndex; i < findOldIndex; i++) {
1335− nodeToRemove(oldChildren[i]);
1336− checkDistinguishable(oldChildren, i, vnode, "removed");
1338− textUpdated = updateDom(oldChildren[findOldIndex], newChild, projectionOptions, domNode, oldChildren) || textUpdated;
1339− oldIndex = findOldIndex + 1;
1341− createDom(newChild, domNode, oldIndex < oldChildrenLength ? oldChildren[oldIndex].domNode : void 0, projectionOptions);
1342− nodeAdded(newChild);
1343− checkDistinguishable(newChildren, newIndex, vnode, "added");
1348− if (oldChildrenLength > oldIndex) {
1349− for (i = oldIndex; i < oldChildrenLength; i++) {
1350− nodeToRemove(oldChildren[i]);
1351− checkDistinguishable(oldChildren, i, vnode, "removed");
1354− return textUpdated;
1356− updateDom = function(previous, vnode, projectionOptions, parentNode, oldChildren) {
1357− var domNode = previous.domNode;
1358− var textUpdated = false;
1359− if (previous === vnode) {
1362− var updated = false;
1363− if (vnode.vnodeSelector === "") {
1364− if (vnode.text !== previous.text) {
1365− var newTextNode = domNode.ownerDocument.createTextNode(vnode.text);
1367− parentNode.replaceChild(newTextNode, domNode);
1369− parentNode.replaceChild(newTextNode, parentNode.childNodes[oldChildren.indexOf(previous)]);
1371− vnode.domNode = newTextNode;
1372− textUpdated = true;
1373− return textUpdated;
1375− vnode.domNode = domNode;
1377− if (vnode.vnodeSelector.lastIndexOf("svg", 0) === 0) {
1378− projectionOptions = extend2(projectionOptions, {
1379− namespace: NAMESPACE_SVG
1382− if (previous.text !== vnode.text) {
1384− if (vnode.text === void 0) {
1385− domNode.removeChild(domNode.firstChild);
1387− domNode.textContent = vnode.text;
1390− vnode.domNode = domNode;
1391− updated = updateChildren(vnode, domNode, previous.children, vnode.children, projectionOptions) || updated;
1392− updated = updateProperties(domNode, previous.properties, vnode.properties, projectionOptions) || updated;
1393− if (vnode.properties && vnode.properties.afterUpdate) {
1394− vnode.properties.afterUpdate.apply(vnode.properties.bind || vnode.properties, [
1397− vnode.vnodeSelector,
1403− if (updated && vnode.properties && vnode.properties.updateAnimation) {
1404− vnode.properties.updateAnimation(domNode, vnode.properties, previous.properties);
1406− return textUpdated;
1408− var createProjection = function(vnode, projectionOptions) {
1410− getLastRender: function() {
1413− update: function(updatedVnode) {
1414− if (vnode.vnodeSelector !== updatedVnode.vnodeSelector) {
1415− throw new Error("The selector for the root VNode may not be changed. (consider using dom.merge and add one extra level to the virtual DOM)");
1417− var previousVNode = vnode;
1418− vnode = updatedVnode;
1419− updateDom(previousVNode, updatedVnode, projectionOptions, previousVNode.domNode.parentNode, [previousVNode]);
1421− domNode: vnode.domNode
1424− var DEFAULT_PROJECTION_OPTIONS = {
1426− performanceLogger: function() {
1429− eventHandlerInterceptor: void 0,
1430− styleApplyer: function(domNode, styleName, value12) {
1431− if (styleName.charAt(0) === "-") {
1432− domNode.style.setProperty(styleName, value12);
1434− domNode.style[styleName] = value12;
1438− var applyDefaultProjectionOptions = function(projectorOptions) {
1439− return extend2(DEFAULT_PROJECTION_OPTIONS, projectorOptions);
1443− * Creates a real DOM tree from `vnode`. The [[Projection]] object returned will contain the resulting DOM Node in
1444− * its [[Projection.domNode|domNode]] property.
1445− * This is a low-level method. Users will typically use a [[Projector]] instead.
1446− * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
1447− * objects may only be rendered once.
1448− * @param projectionOptions - Options to be used to create and update the projection.
1449− * @returns The [[Projection]] which also contains the DOM Node that was created.
1451− create: function(vnode, projectionOptions) {
1452− projectionOptions = applyDefaultProjectionOptions(projectionOptions);
1453− createDom(vnode, document.createElement("div"), void 0, projectionOptions);
1454− return createProjection(vnode, projectionOptions);
1457− * Appends a new child node to the DOM which is generated from a [[VNode]].
1458− * This is a low-level method. Users will typically use a [[Projector]] instead.
1459− * @param parentNode - The parent node for the new child node.
1460− * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
1461− * objects may only be rendered once.
1462− * @param projectionOptions - Options to be used to create and update the [[Projection]].
1463− * @returns The [[Projection]] that was created.
1465− append: function(parentNode, vnode, projectionOptions) {
1466− projectionOptions = applyDefaultProjectionOptions(projectionOptions);
1467− createDom(vnode, parentNode, void 0, projectionOptions);
1468− return createProjection(vnode, projectionOptions);
1471− * Inserts a new DOM node which is generated from a [[VNode]].
1472− * This is a low-level method. Users wil typically use a [[Projector]] instead.
1473− * @param beforeNode - The node that the DOM Node is inserted before.
1474− * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function.
1475− * NOTE: [[VNode]] objects may only be rendered once.
1476− * @param projectionOptions - Options to be used to create and update the projection, see [[createProjector]].
1477− * @returns The [[Projection]] that was created.
1479− insertBefore: function(beforeNode, vnode, projectionOptions) {
1480− projectionOptions = applyDefaultProjectionOptions(projectionOptions);
1481− createDom(vnode, beforeNode.parentNode, beforeNode, projectionOptions);
1482− return createProjection(vnode, projectionOptions);
1485− * Merges a new DOM node which is generated from a [[VNode]] with an existing DOM Node.
1486− * This means that the virtual DOM and the real DOM will have one overlapping element.
1487− * Therefore the selector for the root [[VNode]] will be ignored, but its properties and children will be applied to the Element provided.
1488− * This is a low-level method. Users wil typically use a [[Projector]] instead.
1489− * @param element - The existing element to adopt as the root of the new virtual DOM. Existing attributes and child nodes are preserved.
1490− * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]] objects
1491− * may only be rendered once.
1492− * @param projectionOptions - Options to be used to create and update the projection, see [[createProjector]].
1493− * @returns The [[Projection]] that was created.
1495− merge: function(element, vnode, projectionOptions) {
1496− projectionOptions = applyDefaultProjectionOptions(projectionOptions);
1497− vnode.domNode = element;
1498− initPropertiesAndChildren(element, vnode, projectionOptions);
1499− return createProjection(vnode, projectionOptions);
1502− * Replaces an existing DOM node with a node generated from a [[VNode]].
1503− * This is a low-level method. Users will typically use a [[Projector]] instead.
1504− * @param element - The node for the [[VNode]] to replace.
1505− * @param vnode - The root of the virtual DOM tree that was created using the [[h]] function. NOTE: [[VNode]]
1506− * objects may only be rendered once.
1507− * @param projectionOptions - Options to be used to create and update the [[Projection]].
1508− * @returns The [[Projection]] that was created.
1510− replace: function(element, vnode, projectionOptions) {
1511− projectionOptions = applyDefaultProjectionOptions(projectionOptions);
1512− createDom(vnode, element.parentNode, element, projectionOptions);
1513− element.parentNode.removeChild(element);
1514− return createProjection(vnode, projectionOptions);
1517− var toTextVNode = function(data) {
1520− properties: void 0,
1522− text: data.toString(),
1526− var appendChildren = function(parentSelector, insertions, main2) {
1527− for (var i = 0, length_1 = insertions.length; i < length_1; i++) {
1528− var item = insertions[i];
1529− if (Array.isArray(item)) {
1530− appendChildren(parentSelector, item, main2);
1532− if (item !== null && item !== void 0 && item !== false) {
1533− if (typeof item === "string") {
1534− item = toTextVNode(item);
1541− function h(selector, properties, children) {
1542− if (Array.isArray(properties)) {
1543− children = properties;
1544− properties = void 0;
1545− } else if (properties && (typeof properties === "string" || properties.vnodeSelector) || children && (typeof children === "string" || children.vnodeSelector)) {
1546− throw new Error("h called with invalid arguments");
1549− var flattenedChildren;
1550− if (children && children.length === 1 && typeof children[0] === "string") {
1551− text6 = children[0];
1552− } else if (children) {
1553− flattenedChildren = [];
1554− appendChildren(selector, children, flattenedChildren);
1555− if (flattenedChildren.length === 0) {
1556− flattenedChildren = void 0;
1560− vnodeSelector: selector,
1562− children: flattenedChildren,
1563− text: text6 === "" ? void 0 : text6,
1567− var createParentNodePath = function(node, rootNode) {
1568− var parentNodePath = [];
1569− while (node && node !== rootNode) {
1570− parentNodePath.push(node);
1571− node = node.parentNode;
1573− return parentNodePath;
1576− if (Array.prototype.find) {
1577− find2 = function(items, predicate) {
1578− return items.find(predicate);
1581− find2 = function(items, predicate) {
1582− return items.filter(predicate)[0];
1585− var findVNodeByParentNodePath = function(vnode, parentNodePath) {
1586− var result = vnode;
1587− parentNodePath.forEach(function(node) {
1588− result = result && result.children ? find2(result.children, function(child) {
1589− return child.domNode === node;
1594− var createEventHandlerInterceptor = function(projector, getProjection, performanceLogger) {
1595− return function(propertyName, eventHandler, domNode, properties) {
1596− return modifiedEventHandler;
1598− function modifiedEventHandler(evt) {
1600− performanceLogger("domEvent", evt);
1601− var projection = getProjection();
1602− var parentNodePath = createParentNodePath(evt.currentTarget, projection.domNode);
1603− parentNodePath.reverse();
1604− var matchingVNode = findVNodeByParentNodePath(projection.getLastRender(), parentNodePath);
1605− projector.scheduleRender();
1607− if (matchingVNode) {
1608− var listener = (_b = (_a = matchingVNode.properties["on" + evt.type]) !== null && _a !== void 0 ? _a : matchingVNode.properties.on[evt.type].listener) !== null && _b !== void 0 ? _b : matchingVNode.properties.on[evt.type];
1609− result = listener.apply(matchingVNode.properties.bind || this, arguments);
1611− performanceLogger("domEventProcessed", evt);
1615− var createProjector = function(projectorOptions) {
1617− var projectionOptions = applyDefaultProjectionOptions(projectorOptions);
1618− var performanceLogger = projectionOptions.performanceLogger;
1619− var renderCompleted = true;
1621− var stopped = false;
1622− var projections = [];
1623− var renderFunctions = [];
1624− var addProjection = function(domFunction, node, renderFunction) {
1626− var getProjection = function() {
1629− projectionOptions.eventHandlerInterceptor = createEventHandlerInterceptor(projector, getProjection, performanceLogger);
1630− projection = domFunction(node, renderFunction(), projectionOptions);
1631− projections.push(projection);
1632− renderFunctions.push(renderFunction);
1634− var doRender = function() {
1635− scheduled = void 0;
1636− if (!renderCompleted) {
1639− renderCompleted = false;
1640− performanceLogger("renderStart", void 0);
1641− for (var i = 0; i < projections.length; i++) {
1642− var updatedVnode = renderFunctions[i]();
1643− performanceLogger("rendered", void 0);
1644− projections[i].update(updatedVnode);
1645− performanceLogger("patched", void 0);
1647− performanceLogger("renderDone", void 0);
1648− renderCompleted = true;
1651− renderNow: doRender,
1652− scheduleRender: function() {
1653− if (!scheduled && !stopped) {
1654− scheduled = requestAnimationFrame(doRender);
1659− cancelAnimationFrame(scheduled);
1660− scheduled = void 0;
1664− resume: function() {
1666− renderCompleted = true;
1667− projector.scheduleRender();
1669− append: function(parentNode, renderFunction) {
1670− addProjection(dom.append, parentNode, renderFunction);
1672− insertBefore: function(beforeNode, renderFunction) {
1673− addProjection(dom.insertBefore, beforeNode, renderFunction);
1675− merge: function(domNode, renderFunction) {
1676− addProjection(dom.merge, domNode, renderFunction);
1678− replace: function(domNode, renderFunction) {
1679− addProjection(dom.replace, domNode, renderFunction);
1681− detach: function(renderFunction) {
1682− for (var i = 0; i < renderFunctions.length; i++) {
1683− if (renderFunctions[i] === renderFunction) {
1684− renderFunctions.splice(i, 1);
1685− return projections.splice(i, 1)[0];
1688− throw new Error("renderFunction was not found");
1693− function _h(selector) {
1694− return function(properties) {
1695− return function(children) {
1696− return h(selector, properties, children);
1700− function scheduleRender(projector) {
1701− return function() {
1702− projector.scheduleRender();
1705− function replace(projector) {
1706− return function(el) {
1707− return function(render4) {
1708− return function() {
1709− projector.replace(el, render4);
1715− // output/Maquette/index.js
1716− var string = unsafeCoerce2;
1719− // output/Control.Monad.Writer.Class/index.js
1720− var tell = function(dict) {
1724− // output/Control.Monad.Writer.Trans/index.js
1725− var WriterT = function(x) {
1728− var runWriterT = function(v) {
1731− var mapWriterT = function(f) {
1732− return function(v) {
1736− var functorWriterT = function(dictFunctor) {
1737− var map4 = map(dictFunctor);
1740− return mapWriterT(map4(function(v) {
1741− return new Tuple(f(v.value0), v.value1);
1746− var applyWriterT = function(dictSemigroup) {
1747− var append3 = append(dictSemigroup);
1748− return function(dictApply) {
1749− var apply2 = apply(dictApply);
1750− var Functor0 = dictApply.Functor0();
1751− var map4 = map(Functor0);
1752− var functorWriterT1 = functorWriterT(Functor0);
1754− apply: function(v) {
1755− return function(v1) {
1756− var k = function(v3) {
1757− return function(v4) {
1758− return new Tuple(v3.value0(v4.value0), append3(v3.value1)(v4.value1));
1761− return apply2(map4(k)(v))(v1);
1764− Functor0: function() {
1765− return functorWriterT1;
1770− var bindWriterT = function(dictSemigroup) {
1771− var append3 = append(dictSemigroup);
1772− var applyWriterT1 = applyWriterT(dictSemigroup);
1773− return function(dictBind) {
1774− var bind4 = bind(dictBind);
1775− var Apply0 = dictBind.Apply0();
1776− var map4 = map(Apply0.Functor0());
1777− var applyWriterT2 = applyWriterT1(Apply0);
1779− bind: function(v) {
1780− return function(k) {
1781− return bind4(v)(function(v1) {
1782− var v2 = k(v1.value0);
1783− return map4(function(v3) {
1784− return new Tuple(v3.value0, append3(v1.value1)(v3.value1));
1789− Apply0: function() {
1790− return applyWriterT2;
1795− var semigroupWriterT = function(dictApply) {
1796− return function(dictSemigroup) {
1797− var lift22 = lift2(applyWriterT(dictSemigroup)(dictApply));
1798− return function(dictSemigroup1) {
1800− append: lift22(append(dictSemigroup1))
1805− var applicativeWriterT = function(dictMonoid) {
1806− var mempty6 = mempty(dictMonoid);
1807− var applyWriterT1 = applyWriterT(dictMonoid.Semigroup0());
1808− return function(dictApplicative) {
1809− var pure4 = pure(dictApplicative);
1810− var applyWriterT2 = applyWriterT1(dictApplicative.Apply0());
1812− pure: function(a) {
1813− return pure4(new Tuple(a, mempty6));
1815− Apply0: function() {
1816− return applyWriterT2;
1821− var monadWriterT = function(dictMonoid) {
1822− var applicativeWriterT1 = applicativeWriterT(dictMonoid);
1823− var bindWriterT1 = bindWriterT(dictMonoid.Semigroup0());
1824− return function(dictMonad) {
1825− var applicativeWriterT22 = applicativeWriterT1(dictMonad.Applicative0());
1826− var bindWriterT22 = bindWriterT1(dictMonad.Bind1());
1828− Applicative0: function() {
1829− return applicativeWriterT22;
1831− Bind1: function() {
1832− return bindWriterT22;
1837− var monadTellWriterT = function(dictMonoid) {
1838− var Semigroup0 = dictMonoid.Semigroup0();
1839− var monadWriterT1 = monadWriterT(dictMonoid);
1840− return function(dictMonad) {
1841− var monadWriterT2 = monadWriterT1(dictMonad);
1844− var $262 = pure(dictMonad.Applicative0());
1845− var $263 = Tuple.create(unit);
1846− return function($264) {
1847− return WriterT($262($263($264)));
1850− Semigroup0: function() {
1853− Monad1: function() {
1854− return monadWriterT2;
1859− var monoidWriterT = function(dictApplicative) {
1860− var semigroupWriterT1 = semigroupWriterT(dictApplicative.Apply0());
1861− return function(dictMonoid) {
1862− var pure4 = pure(applicativeWriterT(dictMonoid)(dictApplicative));
1863− var semigroupWriterT2 = semigroupWriterT1(dictMonoid.Semigroup0());
1864− return function(dictMonoid1) {
1865− var semigroupWriterT3 = semigroupWriterT2(dictMonoid1.Semigroup0());
1867− mempty: pure4(mempty(dictMonoid1)),
1868− Semigroup0: function() {
1869− return semigroupWriterT3;
1876− // output/Control.Monad.Writer/index.js
1877− var unwrap2 = /* @__PURE__ */ unwrap();
1878− var runWriter = function($5) {
1879− return unwrap2(runWriterT($5));
1882− // output/Data.Int/foreign.js
1883− var fromNumberImpl = function(just) {
1884− return function(nothing) {
1885− return function(n) {
1886− return (n | 0) === n ? just(n) : nothing;
1890− var toNumber = function(n) {
1894− // output/Data.Number/foreign.js
1895− var isFiniteImpl = isFinite;
1896− var round = Math.round;
1898− // output/Data.Int/index.js
1899− var top2 = /* @__PURE__ */ top(boundedInt);
1900− var bottom2 = /* @__PURE__ */ bottom(boundedInt);
1901− var fromNumber = /* @__PURE__ */ function() {
1902− return fromNumberImpl(Just.create)(Nothing.value);
1904− var unsafeClamp = function(x) {
1905− if (!isFiniteImpl(x)) {
1909− if (x >= toNumber(top2)) {
1913− if (x <= toNumber(bottom2)) {
1918− return fromMaybe(0)(fromNumber(x));
1921− throw new Error("Failed pattern match at Data.Int (line 72, column 1 - line 72, column 29): " + [x.constructor.name]);
1923− var round2 = function($37) {
1924− return unsafeClamp(round($37));
1927− // output/Data.TraversableWithIndex/index.js
1928− var traverseWithIndex = function(dict) {
1929− return dict.traverseWithIndex;
1932− // output/Foreign.Object/foreign.js
1933− function _copyST(m2) {
1934− return function() {
1936− for (var k in m2) {
1937− if (hasOwnProperty.call(m2, k)) {
1945− function runST(f) {
1948− function _fmapObject(m0, f) {
1950− for (var k in m0) {
1951− if (hasOwnProperty.call(m0, k)) {
1957− function _mapWithKey(m0, f) {
1959− for (var k in m0) {
1960− if (hasOwnProperty.call(m0, k)) {
1961− m2[k] = f(k)(m0[k]);
1966− function _foldM(bind4) {
1967− return function(f) {
1968− return function(mz) {
1969− return function(m2) {
1972− return function(z) {
1973− return f(z)(k2)(m2[k2]);
1976− for (var k in m2) {
1977− if (hasOwnProperty.call(m2, k)) {
1978− acc = bind4(acc)(g(k));
1986− function toArrayWithKey(f) {
1987− return function(m2) {
1989− for (var k in m2) {
1990− if (hasOwnProperty.call(m2, k)) {
1991− r.push(f(k)(m2[k]));
1997− var keys = Object.keys || toArrayWithKey(function(k) {
1998− return function() {
2003− // output/Foreign.Object.ST/foreign.js
2004− var newImpl = function() {
2007− function poke2(k) {
2008− return function(v) {
2009− return function(m2) {
2010− return function() {
2018− // output/Foreign.Object/index.js
2019− var bindFlipped2 = /* @__PURE__ */ bindFlipped(bindST);
2020− var foldr2 = /* @__PURE__ */ foldr(foldableArray);
2021− var identity4 = /* @__PURE__ */ identity(categoryFn);
2022− var values = /* @__PURE__ */ toArrayWithKey(function(v) {
2023− return function(v1) {
2027− var thawST = _copyST;
2028− var singleton2 = function(k) {
2029− return function(v) {
2030− return runST(bindFlipped2(poke2(k)(v))(newImpl));
2033− var mutate = function(f) {
2034− return function(m2) {
2035− return runST(function __do() {
2036− var s = thawST(m2)();
2042− var mapWithKey = function(f) {
2043− return function(m2) {
2044− return _mapWithKey(m2, f);
2047− var insert = function(k) {
2048− return function(v) {
2049− return mutate(poke2(k)(v));
2052− var functorObject = {
2054− return function(m2) {
2055− return _fmapObject(m2, f);
2059− var functorWithIndexObject = {
2060− mapWithIndex: mapWithKey,
2061− Functor0: function() {
2062− return functorObject;
2065− var foldM = function(dictMonad) {
2066− var bind1 = bind(dictMonad.Bind1());
2067− var pure1 = pure(dictMonad.Applicative0());
2068− return function(f) {
2069− return function(z) {
2070− return _foldM(bind1)(f)(pure1(z));
2074− var foldM1 = /* @__PURE__ */ foldM(monadST);
2075− var union = function(m2) {
2076− return mutate(function(s) {
2077− return foldM1(function(s$prime) {
2078− return function(k) {
2079− return function(v) {
2080− return poke2(k)(v)(s$prime);
2086− var fold2 = /* @__PURE__ */ _foldM(applyFlipped);
2087− var foldMap2 = function(dictMonoid) {
2088− var append1 = append(dictMonoid.Semigroup0());
2089− var mempty6 = mempty(dictMonoid);
2090− return function(f) {
2091− return fold2(function(acc) {
2092− return function(k) {
2093− return function(v) {
2094− return append1(acc)(f(k)(v));
2100− var foldableObject = {
2101− foldl: function(f) {
2102− return fold2(function(z) {
2103− return function(v) {
2108− foldr: function(f) {
2109− return function(z) {
2110− return function(m2) {
2111− return foldr2(f)(z)(values(m2));
2115− foldMap: function(dictMonoid) {
2116− var foldMap1 = foldMap2(dictMonoid);
2117− return function(f) {
2118− return foldMap1($$const(f));
2122− var foldableWithIndexObject = {
2123− foldlWithIndex: function(f) {
2124− return fold2(flip(f));
2126− foldrWithIndex: function(f) {
2127− return function(z) {
2128− return function(m2) {
2129− return foldr2(uncurry(f))(z)(toArrayWithKey(Tuple.create)(m2));
2133− foldMapWithIndex: function(dictMonoid) {
2134− return foldMap2(dictMonoid);
2136− Foldable0: function() {
2137− return foldableObject;
2140− var traversableWithIndexObject = {
2141− traverseWithIndex: function(dictApplicative) {
2142− var Apply0 = dictApplicative.Apply0();
2143− var apply2 = apply(Apply0);
2144− var map4 = map(Apply0.Functor0());
2145− var pure1 = pure(dictApplicative);
2146− return function(f) {
2147− return function(ms) {
2148− return fold2(function(acc) {
2149− return function(k) {
2150− return function(v) {
2151− return apply2(map4(flip(insert(k)))(acc))(f(k)(v));
2154− })(pure1(empty2))(ms);
2158− FunctorWithIndex0: function() {
2159− return functorWithIndexObject;
2161− FoldableWithIndex1: function() {
2162− return foldableWithIndexObject;
2164− Traversable2: function() {
2165− return traversableObject;
2168− var traversableObject = {
2169− traverse: function(dictApplicative) {
2170− var $96 = traverseWithIndex(traversableWithIndexObject)(dictApplicative);
2171− return function($97) {
2172− return $96($$const($97));
2175− sequence: function(dictApplicative) {
2176− return traverse(traversableObject)(dictApplicative)(identity4);
2178− Functor0: function() {
2179− return functorObject;
2181− Foldable1: function() {
2182− return foldableObject;
2186− // output/Record.Unsafe.Union/foreign.js
2187− function unsafeUnionFn(r1, r2) {
2189− for (var k1 in r2) {
2190− if ({}.hasOwnProperty.call(r2, k1)) {
2194− for (var k2 in r1) {
2195− if ({}.hasOwnProperty.call(r1, k2)) {
2202− // output/Record.Unsafe.Union/index.js
2203− var unsafeUnion = /* @__PURE__ */ runFn2(unsafeUnionFn);
2205− // output/Plum.View/index.js
2206− var append2 = /* @__PURE__ */ append(semigroupArray);
2207− var semigroupRecord3 = /* @__PURE__ */ semigroupRecord();
2208− var childrenIsSymbol = {
2209− reflectSymbol: function() {
2213− var downIsSymbol = {
2214− reflectSymbol: function() {
2218− var hoverIsSymbol = {
2219− reflectSymbol: function() {
2223− var meatIsSymbol = {
2224− reflectSymbol: function() {
2228− var nervesIsSymbol = {
2229− reflectSymbol: function() {
2233− var semigroupRecordCons2 = /* @__PURE__ */ semigroupRecordCons(childrenIsSymbol)()(/* @__PURE__ */ semigroupRecordCons(downIsSymbol)()(/* @__PURE__ */ semigroupRecordCons(hoverIsSymbol)()(/* @__PURE__ */ semigroupRecordCons(meatIsSymbol)()(/* @__PURE__ */ semigroupRecordCons(nervesIsSymbol)()(semigroupRecordNil)(semigroupArray))(semigroupArray))(semigroupArray))(semigroupArray));
2234− var show2 = /* @__PURE__ */ show(showInt);
2235− var mempty2 = /* @__PURE__ */ mempty(monoidArray);
2236− var monoidRecord2 = /* @__PURE__ */ monoidRecord();
2237− var monoidRecordCons2 = /* @__PURE__ */ monoidRecordCons(childrenIsSymbol);
2238− var monoidRecordCons1 = /* @__PURE__ */ monoidRecordCons(downIsSymbol)(monoidArray)()(/* @__PURE__ */ monoidRecordCons(hoverIsSymbol)(monoidArray)()(/* @__PURE__ */ monoidRecordCons(meatIsSymbol)(monoidArray)()(/* @__PURE__ */ monoidRecordCons(nervesIsSymbol)(monoidArray)()(monoidRecordNil))));
2239− var mempty1 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidRecord2(/* @__PURE__ */ monoidRecordCons2(monoidArray)()(monoidRecordCons1)));
2240− var foldMap3 = /* @__PURE__ */ foldMap2(monoidString);
2241− var show1 = /* @__PURE__ */ show(showNumber);
2242− var mempty22 = /* @__PURE__ */ mempty(monoidUnit);
2243− var intercalate3 = /* @__PURE__ */ intercalate2(monoidString);
2244− var map2 = /* @__PURE__ */ map(/* @__PURE__ */ functorWriterT(functorIdentity));
2245− var map1 = /* @__PURE__ */ map(functorArray);
2246− var Top = /* @__PURE__ */ function() {
2250− Top2.value = new Top2();
2253− var Right2 = /* @__PURE__ */ function() {
2254− function Right3() {
2257− Right3.value = new Right3();
2260− var Bottom = /* @__PURE__ */ function() {
2261− function Bottom2() {
2264− Bottom2.value = new Bottom2();
2267− var Left2 = /* @__PURE__ */ function() {
2271− Left3.value = new Left3();
2274− var Px = /* @__PURE__ */ function() {
2275− function Px2(value0) {
2276− this.value0 = value0;
2279− Px2.create = function(value0) {
2280− return new Px2(value0);
2284− var Fill = /* @__PURE__ */ function() {
2288− Fill2.value = new Fill2();
2291− var Fit = /* @__PURE__ */ function() {
2295− Fit2.value = new Fit2();
2298− var Max2 = /* @__PURE__ */ function() {
2299− function Max3(value0, value1) {
2300− this.value0 = value0;
2301− this.value1 = value1;
2304− Max3.create = function(value0) {
2305− return function(value1) {
2306− return new Max3(value0, value1);
2311− var Min2 = /* @__PURE__ */ function() {
2312− function Min3(value0, value1) {
2313− this.value0 = value0;
2314− this.value1 = value1;
2317− Min3.create = function(value0) {
2318− return function(value1) {
2319− return new Min3(value0, value1);
2324− var X = /* @__PURE__ */ function() {
2328− X2.value = new X2();
2331− var Y = /* @__PURE__ */ function() {
2335− Y2.value = new Y2();
2338− var Grid = /* @__PURE__ */ function() {
2342− Grid2.value = new Grid2();
2345− var Flexbox = /* @__PURE__ */ function() {
2346− function Flexbox2(value0) {
2347− this.value0 = value0;
2350− Flexbox2.create = function(value0) {
2351− return new Flexbox2(value0);
2355− var Generic = /* @__PURE__ */ function() {
2356− function Generic2() {
2359− Generic2.value = new Generic2();
2362− var Span = /* @__PURE__ */ function() {
2366− Span2.value = new Span2();
2369− var Start = /* @__PURE__ */ function() {
2370− function Start2() {
2373− Start2.value = new Start2();
2376− var Center = /* @__PURE__ */ function() {
2377− function Center2() {
2380− Center2.value = new Center2();
2383− var End = /* @__PURE__ */ function() {
2387− End2.value = new End2();
2390− var Spacing = /* @__PURE__ */ function() {
2391− function Spacing2(value0, value1) {
2392− this.value0 = value0;
2393− this.value1 = value1;
2396− Spacing2.create = function(value0) {
2397− return function(value1) {
2398− return new Spacing2(value0, value1);
2403− var Explain = /* @__PURE__ */ function() {
2404− function Explain2() {
2407− Explain2.value = new Explain2();
2410− var Align = /* @__PURE__ */ function() {
2411− function Align2(value0, value1) {
2412− this.value0 = value0;
2413− this.value1 = value1;
2416− Align2.create = function(value0) {
2417− return function(value1) {
2418− return new Align2(value0, value1);
2423− var Width = /* @__PURE__ */ function() {
2424− function Width2(value0) {
2425− this.value0 = value0;
2428− Width2.create = function(value0) {
2429− return new Width2(value0);
2433− var Height = /* @__PURE__ */ function() {
2434− function Height2(value0) {
2435− this.value0 = value0;
2438− Height2.create = function(value0) {
2439− return new Height2(value0);
2443− var Wrapped = /* @__PURE__ */ function() {
2444− function Wrapped2() {
2447− Wrapped2.value = new Wrapped2();
2450− var BackgroundColor = /* @__PURE__ */ function() {
2451− function BackgroundColor2(value0) {
2452− this.value0 = value0;
2455− BackgroundColor2.create = function(value0) {
2456− return new BackgroundColor2(value0);
2458− return BackgroundColor2;
2460− var Padding = /* @__PURE__ */ function() {
2461− function Padding2(value0, value1) {
2462− this.value0 = value0;
2463− this.value1 = value1;
2466− Padding2.create = function(value0) {
2467− return function(value1) {
2468− return new Padding2(value0, value1);
2473− var Spread = /* @__PURE__ */ function() {
2474− function Spread2() {
2477− Spread2.value = new Spread2();
2480− var Opacity = /* @__PURE__ */ function() {
2481− function Opacity2(value0) {
2482− this.value0 = value0;
2485− Opacity2.create = function(value0) {
2486− return new Opacity2(value0);
2490− var Pointer = /* @__PURE__ */ function() {
2491− function Pointer2() {
2494− Pointer2.value = new Pointer2();
2497− var Move = /* @__PURE__ */ function() {
2498− function Move2(value0) {
2499− this.value0 = value0;
2502− Move2.create = function(value0) {
2503− return new Move2(value0);
2507− var Clip = /* @__PURE__ */ function() {
2508− function Clip2(value0) {
2509− this.value0 = value0;
2512− Clip2.create = function(value0) {
2513− return new Clip2(value0);
2517− var UI = /* @__PURE__ */ function() {
2518− function UI2(value0, value1) {
2519− this.value0 = value0;
2520− this.value1 = value1;
2523− UI2.create = function(value0) {
2524− return function(value1) {
2525− return new UI2(value0, value1);
2530− var Column = /* @__PURE__ */ function() {
2531− function Column2(value0) {
2532− this.value0 = value0;
2535− Column2.create = function(value0) {
2536− return new Column2(value0);
2540− var Row = /* @__PURE__ */ function() {
2541− function Row2(value0) {
2542− this.value0 = value0;
2545− Row2.create = function(value0) {
2546− return new Row2(value0);
2550− var Stack = /* @__PURE__ */ function() {
2551− function Stack2(value0) {
2552− this.value0 = value0;
2555− Stack2.create = function(value0) {
2556− return new Stack2(value0);
2560− var Wrapper = /* @__PURE__ */ function() {
2561− function Wrapper2(value0) {
2562− this.value0 = value0;
2565− Wrapper2.create = function(value0) {
2566− return new Wrapper2(value0);
2570− var Text = /* @__PURE__ */ function() {
2571− function Text2(value0) {
2572− this.value0 = value0;
2575− Text2.create = function(value0) {
2576− return new Text2(value0);
2580− var Link = /* @__PURE__ */ function() {
2581− function Link2(value0, value1, value22) {
2582− this.value0 = value0;
2583− this.value1 = value1;
2584− this.value2 = value22;
2587− Link2.create = function(value0) {
2588− return function(value1) {
2589− return function(value22) {
2590− return new Link2(value0, value1, value22);
2596− var Download = /* @__PURE__ */ function() {
2597− function Download2(value0, value1, value22) {
2598− this.value0 = value0;
2599− this.value1 = value1;
2600− this.value2 = value22;
2603− Download2.create = function(value0) {
2604− return function(value1) {
2605− return function(value22) {
2606− return new Download2(value0, value1, value22);
2612− var Image2 = /* @__PURE__ */ function() {
2613− function Image3(value0, value1) {
2614− this.value0 = value0;
2615− this.value1 = value1;
2618− Image3.create = function(value0) {
2619− return function(value1) {
2620− return new Image3(value0, value1);
2625− var None = /* @__PURE__ */ function() {
2629− None3.value = new None3();
2632− var semigroupSkinGrowth = {
2633− append: function(v) {
2634− return function(v1) {
2635− return union(v)(v1);
2639− var bindWriterT2 = /* @__PURE__ */ bindWriterT(semigroupSkinGrowth)(bindIdentity);
2640− var discard2 = /* @__PURE__ */ discard(discardUnit)(bindWriterT2);
2641− var bind2 = /* @__PURE__ */ bind(bindWriterT2);
2642− var append22 = /* @__PURE__ */ append(/* @__PURE__ */ semigroupWriterT(applyIdentity)(semigroupSkinGrowth)(semigroupArray));
2643− var semigroupMutation = {
2644− append: function(v) {
2645− return function(v1) {
2647− extraSkin: append2(v.extraSkin)(v1.extraSkin)
2652− var semigroupGenericUI = function(dictSemigroup) {
2653− var append3 = append(semigroupRecord3(semigroupRecordCons2(dictSemigroup)));
2654− return function(dictSemigroup1) {
2655− var append4 = append(dictSemigroup1);
2657− append: function(v) {
2658− return function(v1) {
2659− return new UI(append3(v.value0)(v1.value0), append4(v.value1)(v1.value1));
2665− var renderableSide = {
2666− render: function(v) {
2667− if (v instanceof Top) {
2671− if (v instanceof Right2) {
2675− if (v instanceof Bottom) {
2679− if (v instanceof Left2) {
2683− throw new Error("Failed pattern match at Plum.View (line 263, column 12 - line 267, column 19): " + [v.constructor.name]);
2685− renderKey: function(v) {
2686− if (v instanceof Top) {
2690− if (v instanceof Right2) {
2694− if (v instanceof Bottom) {
2698− if (v instanceof Left2) {
2702− throw new Error("Failed pattern match at Plum.View (line 268, column 15 - line 272, column 19): " + [v.constructor.name]);
2705− var renderableColor = {
2706− render: function(v) {
2707− return "rgb(" + (show2(v.r) + ("," + (show2(v.g) + ("," + (show2(v.b) + ("," + (show2(v.a) + "%)")))))));
2709− renderKey: function(v) {
2710− return show2(v.r) + ("-" + (show2(v.g) + ("-" + (show2(v.b) + ("-" + show2(v.a))))));
2713− var monoidSkinGrowth = {
2715− Semigroup0: function() {
2716− return semigroupSkinGrowth;
2719− var tell2 = /* @__PURE__ */ tell(/* @__PURE__ */ monadTellWriterT(monoidSkinGrowth)(monadIdentity));
2720− var applicativeWriterT2 = /* @__PURE__ */ applicativeWriterT(monoidSkinGrowth)(applicativeIdentity);
2721− var pure2 = /* @__PURE__ */ pure(applicativeWriterT2);
2722− var mempty3 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidWriterT(applicativeIdentity)(monoidSkinGrowth)(monoidArray));
2723− var traverse2 = /* @__PURE__ */ traverse(traversableArray)(applicativeWriterT2);
2724− var traverseWithIndex2 = /* @__PURE__ */ traverseWithIndex(traversableWithIndexObject)(applicativeWriterT2);
2725− var monoidMutation = {
2729− Semigroup0: function() {
2730− return semigroupMutation;
2733− var mempty4 = /* @__PURE__ */ mempty(monoidMutation);
2734− var monoidGenericUI = function(dictMonoid) {
2735− var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
2736− var semigroupGenericUI1 = semigroupGenericUI(dictMonoid.Semigroup0());
2737− return function(dictMonoid1) {
2738− var semigroupGenericUI2 = semigroupGenericUI1(dictMonoid1.Semigroup0());
2740− mempty: new UI(mempty52, mempty(dictMonoid1)),
2741− Semigroup0: function() {
2742− return semigroupGenericUI2;
2747− var functorGenericUI = {
2749− return function(v) {
2750− return new UI(v.value0, f(v.value1));
2754− var applyGenericUI = function(dictMonoid) {
2755− var append3 = append(semigroupRecord3(semigroupRecordCons2(dictMonoid.Semigroup0())));
2757− apply: function(v) {
2758− return function(v1) {
2759− return new UI(append3(v.value0)(v1.value0), v.value1(v1.value1));
2762− Functor0: function() {
2763− return functorGenericUI;
2767− var bindGenericUI = function(dictMonoid) {
2768− var append3 = append(semigroupRecord3(semigroupRecordCons2(dictMonoid.Semigroup0())));
2769− var applyGenericUI1 = applyGenericUI(dictMonoid);
2771− bind: function(v) {
2772− return function(f) {
2773− var v1 = f(v.value1);
2774− return new UI(append3(v.value0)(v1.value0), v1.value1);
2777− Apply0: function() {
2778− return applyGenericUI1;
2782− var text = function(s) {
2783− return function(v) {
2785− nerves: mempty1.nerves,
2786− meat: mempty1.meat,
2787− hover: mempty1.hover,
2788− down: mempty1.down,
2789− children: [new Tuple({
2790− meat: v.value0.meat,
2791− nerves: v.value0.nerves,
2792− hover: v.value0.hover,
2793− down: v.value0.down
2798− var styleSkinGrowth = function(v) {
2799− return foldMap3(function(className) {
2800− return function(v1) {
2801− return "." + (className + ("{" + (v1.key + (":" + (v1.value + ";}")))));
2805− var sk = function(cName) {
2806− return function(key) {
2807− return function(value12) {
2808− return discard2(tell2(singleton2(cName)({
2812− return pure2([cName]);
2817− var rgb = function(r) {
2818− return function(g) {
2819− return function(b) {
2821− r: round2(r * 255),
2822− g: round2(g * 255),
2823− b: round2(b * 255),
2829− var renderKey = function(dict) {
2830− return dict.renderKey;
2832− var renderKey1 = /* @__PURE__ */ renderKey(renderableColor);
2833− var renderKey2 = /* @__PURE__ */ renderKey(renderableSide);
2834− var render = function(dict) {
2835− return dict.render;
2837− var render1 = /* @__PURE__ */ render(renderableColor);
2838− var render2 = /* @__PURE__ */ render(renderableSide);
2839− var renderableLength = {
2840− render: function(v) {
2841− if (v instanceof Px) {
2842− return show2(v.value0) + "px";
2845− if (v instanceof Fit) {
2846− return "fit-content";
2849− if (v instanceof Fill) {
2853− if (v instanceof Max2) {
2854− return "max(" + (show2(v.value0) + ("px," + (render(renderableLength)(v.value1) + ")")));
2857− if (v instanceof Min2) {
2858− return "min(" + (show2(v.value0) + ("px," + (render(renderableLength)(v.value1) + ")")));
2861− throw new Error("Failed pattern match at Plum.View (line 362, column 12 - line 367, column 62): " + [v.constructor.name]);
2863− renderKey: function(v) {
2864− if (v instanceof Px) {
2865− return show2(v.value0);
2868− if (v instanceof Fit) {
2869− return "fit-content";
2872− if (v instanceof Fill) {
2876− if (v instanceof Max2) {
2877− return "max-" + (show2(v.value0) + ("-" + renderKey(renderableLength)(v.value1)));
2880− if (v instanceof Min2) {
2881− return "min-" + (show2(v.value0) + ("-" + renderKey(renderableLength)(v.value1)));
2884− throw new Error("Failed pattern match at Plum.View (line 368, column 15 - line 373, column 56): " + [v.constructor.name]);
2887− var renderKey3 = /* @__PURE__ */ renderKey(renderableLength);
2888− var render3 = /* @__PURE__ */ render(renderableLength);
2889− var skin = function(ctx) {
2890− return function(v) {
2891− if (v instanceof Spacing) {
2892− return sk("spacing-" + (show2(v.value0) + ("-" + show2(v.value1))))("gap")(show2(v.value0) + ("px " + (show2(v.value1) + "px")));
2895− if (v instanceof Explain) {
2896− return sk("explain")("border")("dashed magenta");
2899− if (v instanceof Align) {
2900− if (ctx instanceof Generic) {
2904− if (ctx instanceof Span) {
2908− if (ctx instanceof Grid) {
2909− var v1 = function() {
2910− if (v.value1 instanceof Start) {
2914− if (v.value1 instanceof Center) {
2918− if (v.value1 instanceof End) {
2922− throw new Error("Failed pattern match at Plum.View (line 311, column 13 - line 314, column 27): " + [v.value1.constructor.name]);
2924− var k = function() {
2925− if (v.value0 instanceof X) {
2926− return "justify-items";
2929− if (v.value0 instanceof Y) {
2930− return "align-items";
2933− throw new Error("Failed pattern match at Plum.View (line 306, column 13 - line 308, column 33): " + [v.value0.constructor.name]);
2935− return sk("align-grid-" + (k + ("-" + v1)))(k)(v1);
2938− if (ctx instanceof Flexbox) {
2939− var v1 = function() {
2940− if (v.value1 instanceof Start) {
2941− return "flex-start";
2944− if (v.value1 instanceof Center) {
2948− if (v.value1 instanceof End) {
2952− throw new Error("Failed pattern match at Plum.View (line 330, column 13 - line 333, column 32): " + [v.value1.constructor.name]);
2954− var k = function() {
2955− var v2 = new Tuple(ctx.value0, v.value0);
2956− if (v2.value0 instanceof X && v2.value1 instanceof X) {
2957− return "justify-content";
2960− if (v2.value0 instanceof X && v2.value1 instanceof Y) {
2961− return "align-items";
2964− if (v2.value0 instanceof Y && v2.value1 instanceof X) {
2965− return "align-items";
2968− if (v2.value0 instanceof Y && v2.value1 instanceof Y) {
2969− return "justify-content";
2972− throw new Error("Failed pattern match at Plum.View (line 322, column 13 - line 326, column 42): " + [v2.constructor.name]);
2974− return sk("align-flexbox-" + (k + ("-" + v1)))(k)(v1);
2977− throw new Error("Failed pattern match at Plum.View (line 300, column 26 - line 336, column 51): " + [ctx.constructor.name]);
2980− if (v instanceof Width) {
2981− return sk("width-" + renderKey3(v.value0))("width")(render3(v.value0));
2984− if (v instanceof Height) {
2985− return sk("height-" + renderKey3(v.value0))("height")(render3(v.value0));
2988− if (v instanceof Wrapped) {
2989− if (ctx instanceof Flexbox) {
2990− return sk("wrapped")("flex-wrap")("wrap");
2996− if (v instanceof BackgroundColor) {
2997− return sk("bg-color-" + renderKey1(v.value0))("background-color")(render1(v.value0));
3000− if (v instanceof Padding) {
3001− return sk("padding-" + (renderKey2(v.value0) + ("-" + show2(v.value1))))("padding-" + render2(v.value0))(show2(v.value1) + "px");
3004− if (v instanceof Spread) {
3005− if (ctx instanceof Flexbox) {
3006− return sk("spread")("justify-content")("space-between");
3012− if (v instanceof Opacity) {
3013− return sk("opacity-" + show1(v.value0))("opacity")(show1(v.value0));
3016− if (v instanceof Pointer) {
3017− return sk("pointer")("cursor")("pointer");
3020− if (v instanceof Move) {
3021− return sk("move-" + (show2(v.value0.x) + ("-" + show2(v.value0.y))))("transform")("translate(" + (show2(v.value0.x) + ("px, " + (show2(v.value0.y) + "px)"))));
3024− if (v instanceof Clip && v.value0 instanceof X) {
3025− return sk("clip-x")("overflow-x")("hidden");
3028− if (v instanceof Clip && v.value0 instanceof Y) {
3029− return sk("clip-y")("overflow-y")("hidden");
3032− throw new Error("Failed pattern match at Plum.View (line 297, column 12 - line 355, column 46): " + [v.constructor.name]);
3035− var onMouseDown = function(dictMonoid) {
3036− var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3037− return function(v) {
3039− nerves: mempty52.nerves,
3040− meat: mempty52.meat,
3041− hover: mempty52.hover,
3042− children: mempty52.children,
3043− down: v.value0.meat
3047− var onHover = function(dictMonoid) {
3048− var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3049− return function(v) {
3051− nerves: mempty52.nerves,
3052− meat: mempty52.meat,
3053− down: mempty52.down,
3054− children: mempty52.children,
3055− hover: v.value0.meat
3059− var m = function(dictMonoid) {
3060− var mempty52 = mempty(monoidRecord2(monoidRecordCons2(dictMonoid)()(monoidRecordCons1)));
3061− return function(meat) {
3063− nerves: mempty52.nerves,
3064− hover: mempty52.hover,
3065− down: mempty52.down,
3066− children: mempty52.children,
3071− var hWith = function(elem2) {
3072− return function(props) {
3073− return function(classes) {
3074− return function(children) {
3075− return h2(elem2)(unsafeUnion(props)({
3076− "class": intercalate3(" ")(classes)
3082− var h3 = function(elem2) {
3083− return function(classes) {
3084− return function(children) {
3086− "class": intercalate3(" ")(classes)
3091− var growSkin = function(fire) {
3092− return function(v) {
3093− return function(v1) {
3094− var widthFill = [new Width(Fill.value), new Height(Fill.value)];
3095− var alignCenter = [new Align(X.value, Center.value), new Align(Y.value, Center.value)];
3096− var skn = function(ctx) {
3097− return bind2(map2(function($482) {
3098− return function(v2) {
3099− return append2(v2)(v.extraSkin);
3101− })(traverse2(skin(ctx))(append2(v1.value0.meat)(append2(function() {
3102− if (ctx instanceof Span) {
3106− if (ctx instanceof Grid) {
3110− if (ctx instanceof Flexbox) {
3114− if (ctx instanceof Generic) {
3118− throw new Error("Failed pattern match at Plum.View (line 435, column 16 - line 439, column 35): " + [ctx.constructor.name]);
3120− if (ctx instanceof Grid) {
3121− return alignCenter;
3124− if (ctx instanceof Flexbox) {
3125− return alignCenter;
3128− if (ctx instanceof Span) {
3132− if (ctx instanceof Generic) {
3133− return alignCenter;
3136− throw new Error("Failed pattern match at Plum.View (line 440, column 16 - line 444, column 37): " + [ctx.constructor.name]);
3137− }())))))(function(meatClasses) {
3138− var v2 = runWriter(traverse2(skin(ctx))(v1.value0.hover));
3139− return bind2(traverseWithIndex2(function(key) {
3140− return function(val) {
3141− return tell2(singleton2(key + "-hover:hover")(val));
3143− })(v2.value1))(function() {
3144− var v3 = runWriter(traverse2(skin(ctx))(v1.value0.down));
3145− return bind2(traverseWithIndex2(function(key) {
3146− return function(val) {
3147− return tell2(singleton2(key + "-down:active")(val));
3149− })(v3.value1))(function() {
3150− return pure2(append2(meatClasses)(append2(map1(function(v4) {
3151− return v4 + "-hover";
3152− })(concat(v2.value0)))(map1(function(v4) {
3153− return v4 + "-down";
3154− })(concat(v3.value0)))));
3159− if (v1.value1 instanceof Text) {
3160− return map2(function(c) {
3161− return h3("span")(c)([string(v1.value1.value0)]);
3162− })(skn(Span.value));
3165− if (v1.value1 instanceof Wrapper) {
3166− return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3167− return bind2(growSkin(fire)(mempty4)(v1.value1.value0))(function(x$prime) {
3168− return pure2(h3("div")(classes)([x$prime]));
3173− if (v1.value1 instanceof Stack) {
3174− return bind2(append22(skn(Grid.value))(sk("display-grid")("display")("grid")))(function(classes) {
3175− return bind2(append22(sk("grid-row-1")("grid-row")("1"))(sk("grid-column-1")("grid-column")("1")))(function(extraSkin) {
3176− return bind2(traverse2(growSkin(fire)({
3178− }))(v1.value1.value0))(function(children$prime) {
3179− return pure2(h3("div")(classes)(children$prime));
3185− if (v1.value1 instanceof Row) {
3186− return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3187− return bind2(traverse2(growSkin(fire)(mempty4))(v1.value1.value0))(function(children$prime) {
3188− return pure2(h3("div")(classes)(children$prime));
3193− if (v1.value1 instanceof Column) {
3194− return bind2(append22(skn(new Flexbox(Y.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-column")("flex-direction")("column"))))(function(classes) {
3195− return bind2(traverse2(growSkin(fire)(mempty4))(v1.value1.value0))(function(children$prime) {
3196− return pure2(h3("div")(classes)(children$prime));
3201− if (v1.value1 instanceof Link) {
3202− return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3203− return bind2(growSkin(fire)(mempty4)(v1.value1.value2))(function(child$prime) {
3204− return pure2(hWith("a")({
3205− href: v1.value1.value0,
3206− rel: "noopener noreferrer",
3207− target: function() {
3208− if (v1.value1.value1.newTab) {
3214− })(classes)([child$prime]));
3219− if (v1.value1 instanceof Download) {
3220− return bind2(append22(skn(new Flexbox(X.value)))(append22(sk("display-flex")("display")("flex"))(sk("flex-direction-row")("flex-direction")("row"))))(function(classes) {
3221− return bind2(growSkin(fire)(mempty4)(v1.value1.value2))(function(child$prime) {
3222− return pure2(hWith("a")({
3223− href: v1.value1.value0,
3224− download: fromMaybe("")(v1.value1.value1.filename)
3225− })(classes)([child$prime]));
3230− if (v1.value1 instanceof Image2) {
3231− return map2(function(c) {
3232− return hWith("img")({
3233− src: v1.value1.value0,
3234− alt: v1.value1.value1.description
3236− })(skn(Generic.value));
3239− if (v1.value1 instanceof None) {
3240− return pure2(h3("div")(mempty2)([]));
3243− throw new Error("Failed pattern match at Plum.View (line 453, column 3 - line 494, column 37): " + [v1.value1.constructor.name]);
3247− var grow = function(fire) {
3248− return function(v) {
3249− var v1 = runWriter(growSkin(fire)(mempty4)(v));
3252− style: styleSkinGrowth(v1.value1)
3256− var column = function(v) {
3258− nerves: mempty1.nerves,
3259− meat: mempty1.meat,
3260− hover: mempty1.hover,
3261− down: mempty1.down,
3262− children: [new Tuple({
3263− meat: v.value0.meat,
3264− nerves: v.value0.nerves,
3265− hover: v.value0.hover,
3266− down: v.value0.down
3267− }, new Column(v.value0.children))]
3270− var bgColor = function(dictMonoid) {
3271− var m1 = m(dictMonoid);
3272− return function(c) {
3273− return m1(new BackgroundColor(c));
3277− // output/Web.DOM.NonElementParentNode/foreign.js
3278− function _getElementById(id) {
3279− return function(node) {
3280− return function() {
3281− return node.getElementById(id);
3286− // output/Data.Nullable/foreign.js
3287− function nullable(a, r, f) {
3288− return a == null ? r : f(a);
3291− // output/Data.Nullable/index.js
3292− var toMaybe = function(n) {
3293− return nullable(n, Nothing.value, Just.create);
3296− // output/Web.DOM.NonElementParentNode/index.js
3297− var map3 = /* @__PURE__ */ map(functorEffect);
3298− var getElementById = function(eid) {
3299− var $2 = map3(toMaybe);
3300− var $3 = _getElementById(eid);
3301− return function($4) {
3306− // output/Web.HTML/foreign.js
3307− var windowImpl = function() {
3311− // output/Web.HTML.HTMLDocument/index.js
3312− var toNonElementParentNode = unsafeCoerce2;
3314− // output/Web.HTML.Window/foreign.js
3315− function document2(window2) {
3316− return function() {
3317− return window2.document;
3321− // output/Plum/index.js
3322− var bind3 = /* @__PURE__ */ bind(bindEffect);
3323− var outerStyle = "html,body{height:100%;padding:0;margin:0;}";
3324− var run3 = function(id) {
3325− return function(plum2) {
3326− return function __do() {
3327− var modelRef = bind3(plum2.init)($$new)();
3328− var v = bind3(bind3(windowImpl)(document2))(function() {
3329− var $21 = getElementById(id);
3330− return function($22) {
3331− return $21(toNonElementParentNode($22));
3334− if (v instanceof Just) {
3335− var projector = createProjector();
3336− return replace(projector)(v.value0)(function __do2() {
3337− var model = read(modelRef)();
3338− var v1 = plum2.view(model);
3339− var v2 = head(v1.value0.children);
3340− if (v2 instanceof Nothing) {
3341− return h2("div")({})([]);
3344− if (v2 instanceof Just) {
3345− var v3 = grow(function(msg) {
3346− return function __do3() {
3347− var m2 = read(modelRef)();
3348− var m_ = plum2.update(msg)(m2)();
3349− write(m_)(modelRef)();
3350− return scheduleRender(projector)();
3358− })([h2("style")({})([string(outerStyle + v3.style)]), v3.node]);
3361− throw new Error("Failed pattern match at Plum (line 35, column 20 - line 52, column 94): " + [v2.constructor.name]);
3365− if (v instanceof Nothing) {
3369− throw new Error("Failed pattern match at Plum (line 26, column 92 - line 54, column 25): " + [v.constructor.name]);
3374− // output/Main/index.js
3375− var pure3 = /* @__PURE__ */ pure(applicativeEffect);
3376− var discard3 = /* @__PURE__ */ discard(discardUnit);
3377− var discard1 = /* @__PURE__ */ discard3(/* @__PURE__ */ bindGenericUI(monoidArray));
3378− var discard22 = /* @__PURE__ */ discard3(/* @__PURE__ */ bindGenericUI(monoidUnit));
3379− var onHover2 = /* @__PURE__ */ onHover(monoidUnit);
3380− var bgColor2 = /* @__PURE__ */ bgColor(monoidUnit);
3381− var onMouseDown2 = /* @__PURE__ */ onMouseDown(monoidUnit);
3382− var mempty5 = /* @__PURE__ */ mempty(/* @__PURE__ */ monoidGenericUI(monoidUnit)(monoidUnit));
3384− init: /* @__PURE__ */ pure3({
3387− view: function(model) {
3388− return column(discard1(text("hi")(discard22(onHover2(bgColor2(rgb(1)(0)(0))))(function() {
3389− return onMouseDown2(bgColor2(rgb(0)(1)(0)));
3391− return text("hello")(mempty5);
3394− update: function(msg) {
3395− return function(model) {
3397− text: "Button pressed"
3402− var main = /* @__PURE__ */ run3("plum")(plum);