@@ -1,4 +1,18 @@
2+ // output/Data.Function/index.js
3+ var flip = function(f) {
10+ var $$const = function(a) {
2 // output/Data.Functor/foreign.js
16 // output/Data.Functor/foreign.js
3 var arrayMap = function(f) {
17 var arrayMap = function(f) {
4 return function(arr) {
18 return function(arr) {
@@ -41,20 +55,52 @@
44− // output/Effect/foreign.js
58+ // output/Data.Array/foreign.js
45− var pureE = function(a) {
59+ var rangeImpl = function(start2, end) {
46− return function() {
60+ var step2 = start2 > end ? -1 : 1;
47− return a;
61+ var result = new Array(step2 * (end - start2) + 1);
62+ var i = start2, n = 0;
50− var bindE = function(a) {
70+ var replicateFill = function(count, value12) {
51− return function(f) {
71+ if (count < 1) {
74+ var result = new Array(count);
75+ return result.fill(value12);
77+ var replicatePolyfill = function(count, value12) {
80+ for (var i = 0; i < count; i++) {
81+ result[n++] = value12;
52− return function() {
83+ return result;
85+ var replicateImpl = typeof Array.prototype.fill === "function" ? replicateFill : replicatePolyfill;
87+ // output/Data.Semigroup/foreign.js
88+ var concatArray = function(xs) {
53− return f(a())();
89+ return function(ys) {
54− };
90+ if (xs.length === 0) return ys;
91+ if (ys.length === 0) return xs;
92+ return xs.concat(ys);
96+ // output/Data.Semigroup/index.js
97+ var semigroupArray = {
100+ var append = function(dict) {
58 // output/Control.Bind/foreign.js
104 // output/Control.Bind/foreign.js
59 var arrayBind = typeof Array.prototype.flatMap === "function" ? function(arr) {
105 var arrayBind = typeof Array.prototype.flatMap === "function" ? function(arr) {
60 return function(f) {
106 return function(f) {
@@ -79,6 +125,9 @@
79 var bind = function(dict) {
125 var bind = function(dict) {
80 return dict.bind;
126 return dict.bind;
128+ var bindFlipped = function(dictBind) {
129+ return flip(bind(dictBind));
83 // output/Control.Monad/index.js
132 // output/Control.Monad/index.js
84 var ap = function(dictMonad) {
133 var ap = function(dictMonad) {
@@ -95,16 +144,69 @@
98− // output/Data.Semigroup/index.js
147+ // output/Data.Bounded/foreign.js
148+ var topChar = String.fromCharCode(65535);
149+ var bottomChar = String.fromCharCode(0);
150+ var topNumber = Number.POSITIVE_INFINITY;
151+ var bottomNumber = Number.NEGATIVE_INFINITY;
153+ // output/Data.Show/foreign.js
154+ var showIntImpl = function(n) {
155+ return n.toString();
158+ // output/Data.Show/index.js
99− var append = function(dict) {
162+ var show = function(dict) {
100− return dict.append;
163+ return dict.show;
166+ // output/Data.Maybe/index.js
167+ var Nothing = /* @__PURE__ */ function() {
168+ function Nothing2() {
171+ Nothing2.value = new Nothing2();
174+ var Just = /* @__PURE__ */ function() {
175+ function Just2(value0) {
176+ this.value0 = value0;
179+ Just2.create = function(value0) {
180+ return new Just2(value0);
103 // output/Data.Monoid/index.js
185 // output/Data.Monoid/index.js
188+ Semigroup0: function() {
189+ return semigroupArray;
104 var mempty = function(dict) {
192 var mempty = function(dict) {
105 return dict.mempty;
193 return dict.mempty;
196+ // output/Effect/foreign.js
197+ var pureE = function(a) {
202+ var bindE = function(a) {
203+ return function(f) {
108 // output/Effect/index.js
210 // output/Effect/index.js
109 var $runtime_lazy = function(name14, moduleName, init) {
211 var $runtime_lazy = function(name14, moduleName, init) {
110 var state2 = 0;
212 var state2 = 0;
@@ -153,44 +255,6 @@
154 var functorEffect = /* @__PURE__ */ $lazy_functorEffect(20);
256 var functorEffect = /* @__PURE__ */ $lazy_functorEffect(20);
156− // output/Data.Bounded/foreign.js
157− var topChar = String.fromCharCode(65535);
158− var bottomChar = String.fromCharCode(0);
159− var topNumber = Number.POSITIVE_INFINITY;
160− var bottomNumber = Number.NEGATIVE_INFINITY;
162− // output/Data.Show/foreign.js
163− var showIntImpl = function(n) {
164− return n.toString();
167− // output/Data.Show/index.js
171− var show = function(dict) {
175− // output/Data.Maybe/index.js
176− var Nothing = /* @__PURE__ */ function() {
177− function Nothing2() {
180− Nothing2.value = new Nothing2();
183− var Just = /* @__PURE__ */ function() {
184− function Just2(value0) {
185− this.value0 = value0;
188− Just2.create = function(value0) {
189− return new Just2(value0);
194 // output/Effect.Ref/foreign.js
258 // output/Effect.Ref/foreign.js
195 var _new = function(val) {
259 var _new = function(val) {
196 return function() {
260 return function() {
@@ -213,12 +277,169 @@
213 // output/Effect.Ref/index.js
277 // output/Effect.Ref/index.js
214 var $$new = _new;
278 var $$new = _new;
280+ // output/Control.Monad.ST.Internal/foreign.js
281+ var map_ = function(f) {
282+ return function(a) {
288+ var pure_ = function(a) {
293+ var bind_ = function(a) {
294+ return function(f) {
301+ // output/Control.Monad.ST.Internal/index.js
302+ var $runtime_lazy2 = function(name14, moduleName, init) {
305+ return function(lineNumber) {
306+ if (state2 === 2) return val;
307+ if (state2 === 1) throw new ReferenceError(name14 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber);
318+ Applicative0: function() {
319+ return applicativeST;
327+ Apply0: function() {
328+ return $lazy_applyST(0);
331+ var applicativeST = {
333+ Apply0: function() {
334+ return $lazy_applyST(0);
337+ var $lazy_applyST = /* @__PURE__ */ $runtime_lazy2("applyST", "Control.Monad.ST.Internal", function() {
340+ Functor0: function() {
346+ // output/Data.Foldable/foreign.js
347+ var foldrArray = function(f) {
348+ return function(init) {
349+ return function(xs) {
351+ var len = xs.length;
352+ for (var i = len - 1; i >= 0; i--) {
353+ acc = f(xs[i])(acc);
359+ var foldlArray = function(f) {
360+ return function(init) {
361+ return function(xs) {
363+ var len = xs.length;
364+ for (var i = 0; i < len; i++) {
365+ acc = f(acc)(xs[i]);
372+ // output/Data.Tuple/index.js
373+ var Tuple = /* @__PURE__ */ function() {
374+ function Tuple2(value0, value1) {
375+ this.value0 = value0;
376+ this.value1 = value1;
379+ Tuple2.create = function(value0) {
380+ return function(value1) {
381+ return new Tuple2(value0, value1);
387+ // output/Unsafe.Coerce/foreign.js
388+ var unsafeCoerce2 = function(x) {
392+ // output/Data.Foldable/index.js
393+ var foldr = function(dict) {
396+ var foldMapDefaultR = function(dictFoldable) {
397+ var foldr2 = foldr(dictFoldable);
398+ return function(dictMonoid) {
399+ var append3 = append(dictMonoid.Semigroup0());
400+ var mempty3 = mempty(dictMonoid);
401+ return function(f) {
402+ return foldr2(function(x) {
403+ return function(acc) {
404+ return append3(f(x))(acc);
410+ var foldableArray = {
413+ foldMap: function(dictMonoid) {
414+ return foldMapDefaultR(foldableArray)(dictMonoid);
417+ var foldMap = function(dict) {
418+ return dict.foldMap;
421+ // output/Data.Function.Uncurried/foreign.js
422+ var runFn2 = function(fn) {
423+ return function(a) {
424+ return function(b) {
430+ // output/Data.Array/index.js
431+ var foldMap1 = /* @__PURE__ */ foldMap(foldableArray);
432+ var range2 = /* @__PURE__ */ runFn2(rangeImpl);
433+ var foldMap2 = function(dictMonoid) {
434+ return foldMap1(dictMonoid);
216 // output/Maquette/foreign.js
437 // output/Maquette/foreign.js
217 var NAMESPACE_W3 = "http://www.w3.org/";
438 var NAMESPACE_W3 = "http://www.w3.org/";
218 var NAMESPACE_SVG = NAMESPACE_W3 + "2000/svg";
439 var NAMESPACE_SVG = NAMESPACE_W3 + "2000/svg";
219 var NAMESPACE_XLINK = NAMESPACE_W3 + "1999/xlink";
440 var NAMESPACE_XLINK = NAMESPACE_W3 + "1999/xlink";
220 var emptyArray = [];
441 var emptyArray = [];
221− var extend = function(base, overrides) {
442+ var extend2 = function(base, overrides) {
222 var result = {};
443 var result = {};
223 Object.keys(base).forEach(function(key) {
444 Object.keys(base).forEach(function(key) {
224 result[key] = base[key];
445 result[key] = base[key];
@@ -467,7 +688,7 @@
467 domNode.id = found;
688 domNode.id = found;
469 if (found === "svg") {
690 if (found === "svg") {
470− projectionOptions = extend(projectionOptions, {
691+ projectionOptions = extend2(projectionOptions, {
471 namespace: NAMESPACE_SVG
692 namespace: NAMESPACE_SVG
@@ -657,7 +878,7 @@
657 vnode.domNode = domNode;
878 vnode.domNode = domNode;
659 if (vnode.vnodeSelector.lastIndexOf("svg", 0) === 0) {
880 if (vnode.vnodeSelector.lastIndexOf("svg", 0) === 0) {
660− projectionOptions = extend(projectionOptions, {
881+ projectionOptions = extend2(projectionOptions, {
661 namespace: NAMESPACE_SVG
882 namespace: NAMESPACE_SVG
@@ -718,7 +939,7 @@
720 var applyDefaultProjectionOptions = function(projectorOptions) {
941 var applyDefaultProjectionOptions = function(projectorOptions) {
721− return extend(DEFAULT_PROJECTION_OPTIONS, projectorOptions);
942+ return extend2(DEFAULT_PROJECTION_OPTIONS, projectorOptions);
723 var dom = {
944 var dom = {
@@ -854,20 +1075,20 @@
855 return parentNodePath;
1076 return parentNodePath;
857− var find;
1078+ var find2;
858 if (Array.prototype.find) {
1079 if (Array.prototype.find) {
859− find = function(items, predicate) {
1080+ find2 = function(items, predicate) {
860 return items.find(predicate);
1081 return items.find(predicate);
862 } else {
1083 } else {
863− find = function(items, predicate) {
1084+ find2 = function(items, predicate) {
864 return items.filter(predicate)[0];
1085 return items.filter(predicate)[0];
867 var findVNodeByParentNodePath = function(vnode, parentNodePath) {
1088 var findVNodeByParentNodePath = function(vnode, parentNodePath) {
868 var result = vnode;
1089 var result = vnode;
869 parentNodePath.forEach(function(node) {
1090 parentNodePath.forEach(function(node) {
870− result = result && result.children ? find(result.children, function(child) {
1091+ result = result && result.children ? find2(result.children, function(child) {
871 return child.domNode === node;
1092 return child.domNode === node;
872 }) : void 0;
1093 }) : void 0;
@@ -935,213 +1156,63 @@
935 if (!scheduled && !stopped) {
1156 if (!scheduled && !stopped) {
936 scheduled = requestAnimationFrame(doRender);
1157 scheduled = requestAnimationFrame(doRender);
939− stop: function() {
1160+ stop: function() {
940− if (scheduled) {
1161+ if (scheduled) {
941− cancelAnimationFrame(scheduled);
1162+ cancelAnimationFrame(scheduled);
942− scheduled = void 0;
1163+ scheduled = void 0;
944− stopped = true;
1165+ stopped = true;
946− resume: function() {
1167+ resume: function() {
947− stopped = false;
1168+ stopped = false;
948− renderCompleted = true;
1169+ renderCompleted = true;
949− projector.scheduleRender();
1170+ projector.scheduleRender();
951− append: function(parentNode, renderFunction) {
1172+ append: function(parentNode, renderFunction) {
952− addProjection(dom.append, parentNode, renderFunction);
1173+ addProjection(dom.append, parentNode, renderFunction);
954− insertBefore: function(beforeNode, renderFunction) {
1175+ insertBefore: function(beforeNode, renderFunction) {
955− addProjection(dom.insertBefore, beforeNode, renderFunction);
1176+ addProjection(dom.insertBefore, beforeNode, renderFunction);
957− merge: function(domNode, renderFunction) {
1178+ merge: function(domNode, renderFunction) {
958− addProjection(dom.merge, domNode, renderFunction);
1179+ addProjection(dom.merge, domNode, renderFunction);
960− replace: function(domNode, renderFunction) {
1181+ replace: function(domNode, renderFunction) {
961− addProjection(dom.replace, domNode, renderFunction);
1182+ addProjection(dom.replace, domNode, renderFunction);
963− detach: function(renderFunction) {
1184+ detach: function(renderFunction) {
964− for (var i = 0; i < renderFunctions.length; i++) {
1185+ for (var i = 0; i < renderFunctions.length; i++) {
965− if (renderFunctions[i] === renderFunction) {
1186+ if (renderFunctions[i] === renderFunction) {
966− renderFunctions.splice(i, 1);
1187+ renderFunctions.splice(i, 1);
967− return projections.splice(i, 1)[0];
1188+ return projections.splice(i, 1)[0];
970− throw new Error("renderFunction was not found");
1191+ throw new Error("renderFunction was not found");
975− function _h(selector) {
976− return function(properties) {
977− return function(children) {
978− return h(selector, properties, children);
982− function replace(projector) {
983− return function(el) {
984− return function(render) {
986− projector.replace(el, render);
992− // output/Unsafe.Coerce/foreign.js
993− var unsafeCoerce2 = function(x) {
997− // output/Maquette/index.js
998− var string = unsafeCoerce2;
1001− // output/Data.Array/foreign.js
1002− var replicateFill = function(count, value12) {
1006− var result = new Array(count);
1007− return result.fill(value12);
1009− var replicatePolyfill = function(count, value12) {
1012− for (var i = 0; i < count; i++) {
1013− result[n++] = value12;
1017− var replicateImpl = typeof Array.prototype.fill === "function" ? replicateFill : replicatePolyfill;
1019− // output/Control.Monad.ST.Internal/foreign.js
1020− var map_ = function(f) {
1021− return function(a) {
1022− return function() {
1027− var pure_ = function(a) {
1028− return function() {
1032− var bind_ = function(a) {
1033− return function(f) {
1034− return function() {
1040− // output/Control.Monad.ST.Internal/index.js
1041− var $runtime_lazy2 = function(name14, moduleName, init) {
1044− return function(lineNumber) {
1045− if (state2 === 2) return val;
1046− if (state2 === 1) throw new ReferenceError(name14 + " was needed before it finished initializing (module " + moduleName + ", line " + lineNumber + ")", moduleName, lineNumber);
1057− Applicative0: function() {
1058− return applicativeST;
1060− Bind1: function() {
1066− Apply0: function() {
1067− return $lazy_applyST(0);
1070− var applicativeST = {
1072− Apply0: function() {
1073− return $lazy_applyST(0);
1076− var $lazy_applyST = /* @__PURE__ */ $runtime_lazy2("applyST", "Control.Monad.ST.Internal", function() {
1078− apply: ap(monadST),
1079− Functor0: function() {
1085− // output/Data.Foldable/foreign.js
1086− var foldrArray = function(f) {
1087− return function(init) {
1088− return function(xs) {
1090− var len = xs.length;
1091− for (var i = len - 1; i >= 0; i--) {
1092− acc = f(xs[i])(acc);
1098− var foldlArray = function(f) {
1196+ function _h(selector) {
1099− return function(init) {
1197+ return function(properties) {
1100− return function(xs) {
1198+ return function(children) {
1101− var acc = init;
1199+ return h(selector, properties, children);
1102− var len = xs.length;
1103− for (var i = 0; i < len; i++) {
1104− acc = f(acc)(xs[i]);
1110−
1203+ function replace(projector) {
1111− // output/Data.Foldable/index.js
1112− var foldr = function(dict) {
1115− var foldMapDefaultR = function(dictFoldable) {
1116− var foldr2 = foldr(dictFoldable);
1117− return function(dictMonoid) {
1204+ return function(el) {
1118− var append2 = append(dictMonoid.Semigroup0());
1119− var mempty2 = mempty(dictMonoid);
1120− return function(f) {
1205+ return function(render) {
1121− return foldr2(function(x) {
1206+ return function() {
1122− return function(acc) {
1207+ projector.replace(el, render);
1123− return append2(f(x))(acc);
1208+ };
1129− var foldableArray = {
1132− foldMap: function(dictMonoid) {
1133− return foldMapDefaultR(foldableArray)(dictMonoid);
1136− var foldMap = function(dict) {
1137− return dict.foldMap;
1140− // output/Data.Array/index.js
1213+ // output/Maquette/index.js
1141− var foldMap1 = /* @__PURE__ */ foldMap(foldableArray);
1214+ var string = unsafeCoerce2;
1142− var foldMap2 = function(dictMonoid) {
1215+ var h2 = _h;
1143− return foldMap1(dictMonoid);
1146 // output/Foreign.Object/foreign.js
1217 // output/Foreign.Object/foreign.js
1147 function _copyST(m) {
1218 function _copyST(m) {
@@ -1197,6 +1268,9 @@
1199 // output/Foreign.Object.ST/foreign.js
1270 // output/Foreign.Object.ST/foreign.js
1271+ var newImpl = function() {
1200 function poke2(k) {
1274 function poke2(k) {
1201 return function(v) {
1275 return function(v) {
1202 return function(m) {
1276 return function(m) {
@@ -1209,24 +1283,22 @@
1211 // output/Foreign.Object/index.js
1285 // output/Foreign.Object/index.js
1286+ var bindFlipped2 = /* @__PURE__ */ bindFlipped(bindST);
1212 var thawST = _copyST;
1287 var thawST = _copyST;
1288+ var singleton2 = function(k) {
1289+ return function(v) {
1290+ return runST(bindFlipped2(poke2(k)(v))(newImpl));
1213 var mutate = function(f) {
1293 var mutate = function(f) {
1214 return function(m) {
1294 return function(m) {
1215 return runST(function __do() {
1295 return runST(function __do() {
1216− var s2 = thawST(m)();
1296+ var s = thawST(m)();
1217− f(s2)();
1297+ f(s)();
1218− return s2;
1298+ return s;
1222− var insert = function(k) {
1223− return function(v) {
1224− return mutate(poke2(k)(v));
1227− var fromHomogeneous = function() {
1228− return unsafeCoerce2;
1230 var foldM = function(dictMonad) {
1302 var foldM = function(dictMonad) {
1231 var bind1 = bind(dictMonad.Bind1());
1303 var bind1 = bind(dictMonad.Bind1());
1232 var pure1 = pure(dictMonad.Applicative0());
1304 var pure1 = pure(dictMonad.Applicative0());
@@ -1238,28 +1310,112 @@
1239 var foldM1 = /* @__PURE__ */ foldM(monadST);
1311 var foldM1 = /* @__PURE__ */ foldM(monadST);
1240 var union = function(m) {
1312 var union = function(m) {
1241− return mutate(function(s2) {
1313+ return mutate(function(s) {
1242 return foldM1(function(s$prime) {
1314 return foldM1(function(s$prime) {
1243 return function(k) {
1315 return function(k) {
1244 return function(v) {
1316 return function(v) {
1245 return poke2(k)(v)(s$prime);
1317 return poke2(k)(v)(s$prime);
1248− })(s2)(m);
1320+ })(s)(m);
1252 // output/Plum.View/index.js
1324 // output/Plum.View/index.js
1253− var fromHomogeneous2 = /* @__PURE__ */ fromHomogeneous();
1254 var show2 = /* @__PURE__ */ show(showInt);
1325 var show2 = /* @__PURE__ */ show(showInt);
1326+ var append1 = /* @__PURE__ */ append(semigroupArray);
1327+ var mempty2 = /* @__PURE__ */ mempty(monoidArray);
1255 var map2 = /* @__PURE__ */ map(functorArray);
1328 var map2 = /* @__PURE__ */ map(functorArray);
1329+ var Px = /* @__PURE__ */ function() {
1330+ function Px2(value0) {
1331+ this.value0 = value0;
1334+ Px2.create = function(value0) {
1335+ return new Px2(value0);
1339+ var Fill = /* @__PURE__ */ function() {
1343+ Fill2.value = new Fill2();
1346+ var Fit = /* @__PURE__ */ function() {
1350+ Fit2.value = new Fit2();
1353+ var X = /* @__PURE__ */ function() {
1357+ X2.value = new X2();
1360+ var Y = /* @__PURE__ */ function() {
1364+ Y2.value = new Y2();
1367+ var Grid = /* @__PURE__ */ function() {
1371+ Grid2.value = new Grid2();
1256 var Flexbox = /* @__PURE__ */ function() {
1374 var Flexbox = /* @__PURE__ */ function() {
1257− function Flexbox2() {
1375+ function Flexbox2(value0) {
1376+ this.value0 = value0;
1379+ Flexbox2.create = function(value0) {
1260− Flexbox2.value = new Flexbox2();
1380+ return new Flexbox2(value0);
1261 return Flexbox2;
1382 return Flexbox2;
1384+ var Generic = /* @__PURE__ */ function() {
1385+ function Generic2() {
1388+ Generic2.value = new Generic2();
1391+ var Span = /* @__PURE__ */ function() {
1395+ Span2.value = new Span2();
1398+ var Start = /* @__PURE__ */ function() {
1399+ function Start2() {
1402+ Start2.value = new Start2();
1405+ var Center = /* @__PURE__ */ function() {
1406+ function Center2() {
1409+ Center2.value = new Center2();
1412+ var End = /* @__PURE__ */ function() {
1416+ End2.value = new End2();
1263 var Spacing = /* @__PURE__ */ function() {
1419 var Spacing = /* @__PURE__ */ function() {
1264 function Spacing2(value0, value1) {
1420 function Spacing2(value0, value1) {
1265 this.value0 = value0;
1421 this.value0 = value0;
@@ -1273,91 +1429,356 @@
1274 return Spacing2;
1430 return Spacing2;
1276− var semigroupRenderedAttribut = {
1432+ var Explain = /* @__PURE__ */ function() {
1433+ function Explain2() {
1436+ Explain2.value = new Explain2();
1439+ var Align = /* @__PURE__ */ function() {
1440+ function Align2(value0, value1) {
1441+ this.value0 = value0;
1442+ this.value1 = value1;
1445+ Align2.create = function(value0) {
1446+ return function(value1) {
1447+ return new Align2(value0, value1);
1452+ var Width = /* @__PURE__ */ function() {
1453+ function Width2(value0) {
1454+ this.value0 = value0;
1457+ Width2.create = function(value0) {
1458+ return new Width2(value0);
1462+ var Height = /* @__PURE__ */ function() {
1463+ function Height2(value0) {
1464+ this.value0 = value0;
1467+ Height2.create = function(value0) {
1468+ return new Height2(value0);
1472+ var Wrapped = /* @__PURE__ */ function() {
1473+ function Wrapped2() {
1476+ Wrapped2.value = new Wrapped2();
1479+ var Column = /* @__PURE__ */ function() {
1480+ function Column2(value0) {
1481+ this.value0 = value0;
1484+ Column2.create = function(value0) {
1485+ return new Column2(value0);
1489+ var Row = /* @__PURE__ */ function() {
1490+ function Row2(value0) {
1491+ this.value0 = value0;
1494+ Row2.create = function(value0) {
1495+ return new Row2(value0);
1499+ var Stack = /* @__PURE__ */ function() {
1500+ function Stack2(value0) {
1501+ this.value0 = value0;
1504+ Stack2.create = function(value0) {
1505+ return new Stack2(value0);
1509+ var Wrapper = /* @__PURE__ */ function() {
1510+ function Wrapper2(value0) {
1511+ this.value0 = value0;
1514+ Wrapper2.create = function(value0) {
1515+ return new Wrapper2(value0);
1519+ var Text = /* @__PURE__ */ function() {
1520+ function Text2(value0) {
1521+ this.value0 = value0;
1524+ Text2.create = function(value0) {
1525+ return new Text2(value0);
1529+ var semigroupSkin = {
1277− append: function(v1) {
1530+ append: function(v) {
1531+ return function(v1) {
1532+ return union(v)(v1);
1536+ var append2 = /* @__PURE__ */ append(semigroupSkin);
1537+ var semigroupMutation = {
1538+ append: function(v) {
1278− return function(v2) {
1539+ return function(v1) {
1279 return {
1540 return {
1280− styles: union(v1.styles)(v2.styles)
1541+ extraSkin: append2(v.extraSkin)(v1.extraSkin)
1285− var monoidRenderedAttribute = {
1546+ var monoidSkin = {
1548+ Semigroup0: function() {
1549+ return semigroupSkin;
1552+ var mempty1 = /* @__PURE__ */ mempty(monoidSkin);
1553+ var foldMap3 = /* @__PURE__ */ foldMap2(monoidSkin);
1554+ var monoidMutation = {
1286 mempty: {
1555 mempty: {
1287− styles: empty2
1556+ extraSkin: mempty1
1289 Semigroup0: function() {
1558 Semigroup0: function() {
1290− return semigroupRenderedAttribut;
1559+ return semigroupMutation;
1293− var foldMap3 = /* @__PURE__ */ foldMap2(monoidRenderedAttribute);
1562+ var mempty22 = /* @__PURE__ */ mempty(monoidMutation);
1294− var withStyles = function() {
1563+ var view = function(nerves) {
1295− return function(v1) {
1564+ return function(meat) {
1296− return function(styles) {
1565+ return function(bones) {
1297 return {
1566 return {
1298− styles: union(v1.styles)(fromHomogeneous2(styles))
1567+ nerves,
1303− var withStyles1 = /* @__PURE__ */ withStyles();
1574+ var sk = function(key) {
1304− var unView = function(v1) {
1307− var spacing = function(x) {
1308− return new Spacing(x, x);
1310− var s = function(x) {
1311− return function(v1) {
1315− var renderAttribute = function(_ctx) {
1316− return function(attr) {
1575+ return function(val) {
1317− return {
1576+ return singleton2(key)(val);
1318− styles: insert("gap")(show2(attr.value0) + ("px " + (show2(attr.value1) + "px")))(empty2)
1322− var renderAttributes = function(ctx) {
1579+ var length2 = function(v) {
1323− return foldMap3(renderAttribute(ctx));
1580+ if (v instanceof Px) {
1581+ return show2(v.value0) + "px";
1584+ if (v instanceof Fit) {
1585+ return "fit-content";
1588+ if (v instanceof Fill) {
1592+ throw new Error("Failed pattern match at Plum.View (line 99, column 10 - line 102, column 17): " + [v.constructor.name]);
1325− var renderWithStyles = function() {
1594+ var skin = function(ctx) {
1326− return function(ctx) {
1595+ return function(v) {
1596+ if (v instanceof Spacing) {
1597+ return sk("gap")(show2(v.value0) + ("px " + (show2(v.value1) + "px")));
1600+ if (v instanceof Explain) {
1601+ return sk("border")("dashed magenta");
1604+ if (v instanceof Align) {
1605+ if (ctx instanceof Generic) {
1609+ if (ctx instanceof Span) {
1613+ if (ctx instanceof Grid) {
1327− return function(attrs) {
1614+ return sk(function() {
1615+ if (v.value0 instanceof X) {
1616+ return "justify-items";
1619+ if (v.value0 instanceof Y) {
1620+ return "align-items";
1623+ throw new Error("Failed pattern match at Plum.View (line 70, column 9 - line 72, column 29): " + [v.value0.constructor.name]);
1625+ if (v.value1 instanceof Start) {
1629+ if (v.value1 instanceof Center) {
1633+ if (v.value1 instanceof End) {
1637+ throw new Error("Failed pattern match at Plum.View (line 74, column 9 - line 77, column 23): " + [v.value1.constructor.name]);
1641+ if (ctx instanceof Flexbox) {
1328− return function(styles) {
1642+ return sk(function() {
1329− return withStyles1(renderAttributes(ctx)(attrs))(styles);
1643+ var v1 = new Tuple(ctx.value0, v.value0);
1644+ if (v1.value0 instanceof X && v1.value1 instanceof X) {
1645+ return "justify-content";
1648+ if (v1.value0 instanceof X && v1.value1 instanceof Y) {
1649+ return "align-items";
1652+ if (v1.value0 instanceof Y && v1.value1 instanceof X) {
1653+ return "align-items";
1656+ if (v1.value0 instanceof Y && v1.value1 instanceof Y) {
1657+ return "justify-content";
1660+ throw new Error("Failed pattern match at Plum.View (line 81, column 9 - line 85, column 38): " + [v1.constructor.name]);
1662+ if (v.value1 instanceof Start) {
1663+ return "flex-start";
1666+ if (v.value1 instanceof Center) {
1670+ if (v.value1 instanceof End) {
1674+ throw new Error("Failed pattern match at Plum.View (line 87, column 9 - line 90, column 28): " + [v.value1.constructor.name]);
1678+ throw new Error("Failed pattern match at Plum.View (line 66, column 26 - line 91, column 8): " + [ctx.constructor.name]);
1681+ if (v instanceof Width) {
1682+ return sk("width")(length2(v.value0));
1685+ if (v instanceof Height) {
1686+ return sk("height")(length2(v.value0));
1689+ if (v instanceof Wrapped) {
1690+ if (ctx instanceof Flexbox) {
1691+ return sk("flex-wrap")("wrap");
1697+ throw new Error("Failed pattern match at Plum.View (line 63, column 12 - line 96, column 16): " + [v.constructor.name]);
1334− var renderWithStyles1 = /* @__PURE__ */ renderWithStyles();
1335− var button = function(v1) {
1700+ var h3 = function(el) {
1336− return function(v2) {
1701+ return function(v) {
1337− return function(fire) {
1702+ return function(children) {
1338− return h2("div")({
1703+ return h2(el)({
1339− onclick: fire(v2.onPress)
1704+ styles: v
1340− })([unView(v2.view)(fire)]);
1705+ })(children);
1344− var _v = function(el) {
1709+ var growSkin = function(fire) {
1345− return function(attr) {
1710+ return function(v) {
1346− return function(children) {
1711+ return function(v1) {
1712+ var widthFill = [new Width(Fill.value), new Height(Fill.value)];
1713+ var alignCenter = [new Align(X.value, Center.value), new Align(Y.value, Center.value)];
1347− return function(fire) {
1714+ var skn = function(ctx) {
1348− return h2(el)(attr)(map2(function(v1) {
1715+ return append2(foldMap3(skin(ctx))(append1(v1.meat)(append1(function() {
1716+ if (ctx instanceof Span) {
1720+ if (ctx instanceof Grid) {
1349− return v1(fire);
1721+ return widthFill;
1350− })(children));
1722+ }
1724+ if (ctx instanceof Flexbox) {
1728+ if (ctx instanceof Generic) {
1732+ throw new Error("Failed pattern match at Plum.View (line 128, column 16 - line 132, column 35): " + [ctx.constructor.name]);
1734+ if (ctx instanceof Grid) {
1735+ return alignCenter;
1738+ if (ctx instanceof Flexbox) {
1739+ return alignCenter;
1742+ if (ctx instanceof Span) {
1746+ if (ctx instanceof Generic) {
1747+ return alignCenter;
1750+ throw new Error("Failed pattern match at Plum.View (line 133, column 16 - line 137, column 37): " + [ctx.constructor.name]);
1751+ }()))))(v.extraSkin);
1753+ if (v1.bones instanceof Text) {
1754+ return h3("span")(skn(Span.value))([string(v1.bones.value0)]);
1757+ if (v1.bones instanceof Wrapper) {
1758+ return h3("div")(append2(skn(new Flexbox(X.value)))(append2(sk("display")("flex"))(sk("flex-direction")("row"))))([growSkin(fire)(mempty22)(v1.bones.value0)]);
1761+ if (v1.bones instanceof Stack) {
1762+ return h3("div")(append2(skn(Grid.value))(sk("display")("grid")))(map2(growSkin(fire)({
1763+ extraSkin: append2(sk("grid-row")("1"))(sk("grid-column")("1"))
1764+ }))(v1.bones.value0));
1767+ if (v1.bones instanceof Row) {
1768+ return h3("div")(append2(skn(new Flexbox(X.value)))(append2(sk("display")("flex"))(sk("flex-direction")("row"))))(map2(growSkin(fire)(mempty22))(v1.bones.value0));
1771+ if (v1.bones instanceof Column) {
1772+ return h3("div")(append2(skn(new Flexbox(Y.value)))(append2(sk("display")("flex"))(sk("flex-direction")("column"))))(map2(growSkin(fire)(mempty22))(v1.bones.value0));
1775+ throw new Error("Failed pattern match at Plum.View (line 140, column 5 - line 148, column 46): " + [v1.bones.constructor.name]);
1355− var row = function(attrs) {
1779+ var grow = function(fire) {
1356− return function(children) {
1780+ return function(v) {
1357− return _v("div")(renderWithStyles1(Flexbox.value)(attrs)({
1781+ return growSkin(fire)(mempty22)(v);
1359− "flex-direction": "row"
@@ -1407,6 +1828,7 @@
1408 // output/Plum/index.js
1829 // output/Plum/index.js
1409 var bind2 = /* @__PURE__ */ bind(bindEffect);
1830 var bind2 = /* @__PURE__ */ bind(bindEffect);
1831+ var outerStyle = "html,body{height:100%;padding:0;margin:0;}";
1410 var run3 = function(id) {
1832 var run3 = function(id) {
1411 return function(plum2) {
1833 return function(plum2) {
1412 return function __do() {
1834 return function __do() {
@@ -1421,13 +1843,19 @@
1421 var projector = createProjector();
1843 var projector = createProjector();
1422 return replace(projector)(v.value0)(function __do2() {
1844 return replace(projector)(v.value0)(function __do2() {
1423 var model = read(modelRef)();
1845 var model = read(modelRef)();
1424− return unView(plum2.view(model))(function(msg) {
1846+ var el = grow(function(msg) {
1425 return function __do3() {
1847 return function __do3() {
1426 var m = read(modelRef)();
1848 var m = read(modelRef)();
1427 var m_ = plum2.update(msg)(m)();
1849 var m_ = plum2.update(msg)(m)();
1428 return write(m_)(modelRef)();
1850 return write(m_)(modelRef)();
1430− });
1852+ })(plum2.view(model));
1858+ })([el, h2("style")({})([string(outerStyle)])]);
@@ -1435,22 +1863,20 @@
1435 return unit;
1863 return unit;
1438− throw new Error("Failed pattern match at Plum (line 24, column 92 - line 36, column 25): " + [v.constructor.name]);
1866+ throw new Error("Failed pattern match at Plum (line 25, column 92 - line 39, column 25): " + [v.constructor.name]);
1443 // output/Main/index.js
1871 // output/Main/index.js
1444 var pure2 = /* @__PURE__ */ pure(applicativeEffect);
1872 var pure2 = /* @__PURE__ */ pure(applicativeEffect);
1873+ var map4 = /* @__PURE__ */ map(functorArray);
1445 var plum = {
1874 var plum = {
1446 init: /* @__PURE__ */ pure2({
1875 init: /* @__PURE__ */ pure2({
1447 text: "Test"
1876 text: "Test"
1449 view: function(model) {
1878 view: function(model) {
1450− return row([spacing(16)])([s(model.text), button([])({
1879+ return view([])([Wrapped.value])(new Column(map4($$const(view([])([])(new Text("hello"))))(range2(1)(100))));
1455 update: function(msg) {
1881 update: function(msg) {
1456 return function(model) {
1882 return function(model) {