@explorable-viz/fluid 0.7.64 → 0.7.66
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/fluid/fluid/lib/graphics.fld +6 -6
- package/dist/fluid/shared/fluid.mjs +4 -3
- package/dist/fluid/shared/load-figure.js +338 -168
- package/package.json +3 -2
- package/script/bundle-website.sh +4 -1
- package/dist/fluid/fluid/dataset/methane-emissions.fld +0 -123
- package/dist/fluid/fluid/dataset/mini-non-renewables.fld +0 -3
- package/dist/fluid/fluid/dataset/mini-renewables.fld +0 -6
- package/dist/fluid/fluid/dataset/non-renewables.fld +0 -67
- package/dist/fluid/fluid/dataset/renewables-new.fld +0 -301
- package/dist/fluid/fluid/dataset/renewables-restricted.fld +0 -139
- package/dist/fluid/fluid/dataset/renewables.fld +0 -100
- package/dist/fluid/fluid/dataset/ssp126-2081-2100.fld +0 -194
- package/dist/fluid/fluid/example/arithmetic.fld +0 -1
- package/dist/fluid/fluid/example/array.fld +0 -2
- package/dist/fluid/fluid/example/compose.fld +0 -2
- package/dist/fluid/fluid/example/desugar/list-comp-1.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-10.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-2.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-3.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-4.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-5.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-6.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-7.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-8.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-comp-9.fld +0 -1
- package/dist/fluid/fluid/example/desugar/list-enum.fld +0 -1
- package/dist/fluid/fluid/example/dict-list-comp.fld +0 -1
- package/dist/fluid/fluid/example/dicts.fld +0 -10
- package/dist/fluid/fluid/example/div-mod-quot-rem.fld +0 -4
- package/dist/fluid/fluid/example/factorial.fld +0 -6
- package/dist/fluid/fluid/example/filter.fld +0 -1
- package/dist/fluid/fluid/example/first-class-constr.fld +0 -1
- package/dist/fluid/fluid/example/flatten.fld +0 -12
- package/dist/fluid/fluid/example/foldr-sumSquares.fld +0 -1
- package/dist/fluid/fluid/example/graphics/background.fld +0 -7
- package/dist/fluid/fluid/example/graphics/grouped-bar-chart.fld +0 -9
- package/dist/fluid/fluid/example/graphics/line-chart.fld +0 -13
- package/dist/fluid/fluid/example/graphics/stacked-bar-chart.fld +0 -3
- package/dist/fluid/fluid/example/include-input-into-output.fld +0 -1
- package/dist/fluid/fluid/example/length.fld +0 -1
- package/dist/fluid/fluid/example/lexicalScoping.fld +0 -3
- package/dist/fluid/fluid/example/lib/some-constants.fld +0 -1
- package/dist/fluid/fluid/example/linked-inputs/energyscatter.fld +0 -23
- package/dist/fluid/fluid/example/linked-inputs/mini-energyscatter.fld +0 -29
- package/dist/fluid/fluid/example/linked-outputs/convolution-data.fld +0 -5
- package/dist/fluid/fluid/example/linked-outputs/convolution.fld +0 -12
- package/dist/fluid/fluid/example/linked-outputs/line-chart.fld +0 -15
- package/dist/fluid/fluid/example/linked-outputs/moving-average.fld +0 -19
- package/dist/fluid/fluid/example/linked-outputs/pairs-data.fld +0 -1
- package/dist/fluid/fluid/example/lookup.fld +0 -15
- package/dist/fluid/fluid/example/map.fld +0 -1
- package/dist/fluid/fluid/example/mergeSort.fld +0 -22
- package/dist/fluid/fluid/example/normalise.fld +0 -3
- package/dist/fluid/fluid/example/nub.fld +0 -1
- package/dist/fluid/fluid/example/pattern-match.fld +0 -12
- package/dist/fluid/fluid/example/percent.fld +0 -1
- package/dist/fluid/fluid/example/plot/methane.fld +0 -14
- package/dist/fluid/fluid/example/plot/non-renewables.fld +0 -21
- package/dist/fluid/fluid/example/range.fld +0 -4
- package/dist/fluid/fluid/example/record-lookup.fld +0 -3
- package/dist/fluid/fluid/example/records.expect.fld +0 -0
- package/dist/fluid/fluid/example/records.fld +0 -11
- package/dist/fluid/fluid/example/reverse.fld +0 -1
- package/dist/fluid/fluid/example/scratchpad.fld +0 -6
- package/dist/fluid/fluid/example/slicing/add.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/add.fld +0 -1
- package/dist/fluid/fluid/example/slicing/array/array.expect.fld +0 -2
- package/dist/fluid/fluid/example/slicing/array/array.fld +0 -4
- package/dist/fluid/fluid/example/slicing/array/dims.expect.fld +0 -3
- package/dist/fluid/fluid/example/slicing/array/dims.fld +0 -3
- package/dist/fluid/fluid/example/slicing/array/lookup.expect.fld +0 -3
- package/dist/fluid/fluid/example/slicing/array/lookup.fld +0 -5
- package/dist/fluid/fluid/example/slicing/array/renewables.fld +0 -100
- package/dist/fluid/fluid/example/slicing/convolution/edgeDetect.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/edgeDetect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/emboss-wrap.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/emboss.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/emboss.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/filter/edge-detect.fld +0 -5
- package/dist/fluid/fluid/example/slicing/convolution/filter/emboss.fld +0 -5
- package/dist/fluid/fluid/example/slicing/convolution/filter/gaussian.fld +0 -5
- package/dist/fluid/fluid/example/slicing/convolution/gaussian.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/gaussian.fld +0 -1
- package/dist/fluid/fluid/example/slicing/convolution/test-image.fld +0 -7
- package/dist/fluid/fluid/example/slicing/dict/create.expect.fld +0 -2
- package/dist/fluid/fluid/example/slicing/dict/create.fld +0 -1
- package/dist/fluid/fluid/example/slicing/dict/difference.expect.fld +0 -4
- package/dist/fluid/fluid/example/slicing/dict/difference.fld +0 -3
- package/dist/fluid/fluid/example/slicing/dict/disjointUnion.expect.fld +0 -2
- package/dist/fluid/fluid/example/slicing/dict/disjointUnion.fld +0 -1
- package/dist/fluid/fluid/example/slicing/dict/foldl.expect.fld +0 -3
- package/dist/fluid/fluid/example/slicing/dict/foldl.fld +0 -1
- package/dist/fluid/fluid/example/slicing/dict/get.expect.fld +0 -5
- package/dist/fluid/fluid/example/slicing/dict/get.fld +0 -3
- package/dist/fluid/fluid/example/slicing/dict/intersectionWith.expect.fld +0 -5
- package/dist/fluid/fluid/example/slicing/dict/intersectionWith.fld +0 -4
- package/dist/fluid/fluid/example/slicing/dict/map.expect.fld +0 -8
- package/dist/fluid/fluid/example/slicing/dict/map.fld +0 -5
- package/dist/fluid/fluid/example/slicing/dict/match.expect.fld +0 -6
- package/dist/fluid/fluid/example/slicing/dict/match.fld +0 -5
- package/dist/fluid/fluid/example/slicing/divide.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/divide.fld +0 -1
- package/dist/fluid/fluid/example/slicing/dtw/average-series.expect.fld +0 -8
- package/dist/fluid/fluid/example/slicing/dtw/average-series.fld +0 -8
- package/dist/fluid/fluid/example/slicing/dtw/compute-dtw.expect.fld +0 -6
- package/dist/fluid/fluid/example/slicing/dtw/compute-dtw.fld +0 -6
- package/dist/fluid/fluid/example/slicing/explained.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/explained.fld +0 -1
- package/dist/fluid/fluid/example/slicing/filter.expect.fld +0 -4
- package/dist/fluid/fluid/example/slicing/filter.fld +0 -6
- package/dist/fluid/fluid/example/slicing/intersperse-1.expect.fld +0 -4
- package/dist/fluid/fluid/example/slicing/intersperse-2.expect.fld +0 -4
- package/dist/fluid/fluid/example/slicing/intersperse.fld +0 -5
- package/dist/fluid/fluid/example/slicing/length.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/length.fld +0 -1
- package/dist/fluid/fluid/example/slicing/linked-outputs/bar-chart-line-chart.expect.fld +0 -0
- package/dist/fluid/fluid/example/slicing/linked-outputs/bar-chart-line-chart.fld +0 -29
- package/dist/fluid/fluid/example/slicing/linked-outputs/stacked-bar-scatter-plot.expect.fld +0 -0
- package/dist/fluid/fluid/example/slicing/linked-outputs/stacked-bar-scatter-plot.fld +0 -38
- package/dist/fluid/fluid/example/slicing/list-comp-1.expect.fld +0 -6
- package/dist/fluid/fluid/example/slicing/list-comp-2.expect.fld +0 -6
- package/dist/fluid/fluid/example/slicing/list-comp.fld +0 -8
- package/dist/fluid/fluid/example/slicing/lookup.expect.fld +0 -6
- package/dist/fluid/fluid/example/slicing/lookup.fld +0 -14
- package/dist/fluid/fluid/example/slicing/map.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/map.fld +0 -1
- package/dist/fluid/fluid/example/slicing/matrix-update.expect.fld +0 -5
- package/dist/fluid/fluid/example/slicing/matrix-update.fld +0 -10
- package/dist/fluid/fluid/example/slicing/multiply.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/multiply.fld +0 -1
- package/dist/fluid/fluid/example/slicing/nth.expect.fld +0 -1
- package/dist/fluid/fluid/example/slicing/nth.fld +0 -1
- package/dist/fluid/fluid/example/slicing/output-not-source.expect.fld +0 -2
- package/dist/fluid/fluid/example/slicing/output-not-source.fld +0 -1
- package/dist/fluid/fluid/example/slicing/qcut.expect.fld +0 -0
- package/dist/fluid/fluid/example/slicing/qcut.fld +0 -2
- package/dist/fluid/fluid/example/slicing/section-5-example-1.expect.fld +0 -10
- package/dist/fluid/fluid/example/slicing/section-5-example-2.expect.fld +0 -10
- package/dist/fluid/fluid/example/slicing/section-5-example-3.expect.fld +0 -10
- package/dist/fluid/fluid/example/slicing/section-5-example.fld +0 -14
- package/dist/fluid/fluid/example/slicing/zeros-1.expect.fld +0 -3
- package/dist/fluid/fluid/example/slicing/zeros-2.expect.fld +0 -3
- package/dist/fluid/fluid/example/slicing/zeros.fld +0 -4
- package/dist/fluid/fluid/example/slicing/zipWith-1.expect.fld +0 -4
- package/dist/fluid/fluid/example/slicing/zipWith.fld +0 -4
- package/dist/fluid/fluid/example/text-viz/datasets/ssp126.fld +0 -898
- package/dist/fluid/fluid/example/text-viz/datasets/ssp245.fld +0 -954
- package/dist/fluid/fluid/example/text-viz/datasets/ssp370.fld +0 -842
- package/dist/fluid/fluid/example/text-viz/datasets/ssp585.fld +0 -954
- package/dist/fluid/fluid/example/text-viz/explainable-table.fld +0 -7
- package/dist/fluid/fluid/example/text-viz/fake-probabilities.fld +0 -3
- package/dist/fluid/fluid/example/text-viz/figure-spm-4.fld +0 -42
- package/dist/fluid/fluid/example/text-viz/left-barchart-table.fld +0 -5
- package/dist/fluid/fluid/example/text-viz/likelihoods.fld +0 -9
- package/dist/fluid/fluid/example/text-viz/right-barchart-table.fld +0 -5
- package/dist/fluid/fluid/example/text-viz/table-spm-1.fld +0 -30
@@ -780,19 +780,19 @@ var traverseArrayImpl = function() {
|
|
780
780
|
return function(pure3) {
|
781
781
|
return function(f) {
|
782
782
|
return function(array4) {
|
783
|
-
function go(
|
784
|
-
switch (top3 -
|
783
|
+
function go(bot2, top3) {
|
784
|
+
switch (top3 - bot2) {
|
785
785
|
case 0:
|
786
786
|
return pure3([]);
|
787
787
|
case 1:
|
788
|
-
return map3(array1)(f(array4[
|
788
|
+
return map3(array1)(f(array4[bot2]));
|
789
789
|
case 2:
|
790
|
-
return apply4(map3(array2)(f(array4[
|
790
|
+
return apply4(map3(array2)(f(array4[bot2])))(f(array4[bot2 + 1]));
|
791
791
|
case 3:
|
792
|
-
return apply4(apply4(map3(array3)(f(array4[
|
792
|
+
return apply4(apply4(map3(array3)(f(array4[bot2])))(f(array4[bot2 + 1])))(f(array4[bot2 + 2]));
|
793
793
|
default:
|
794
|
-
var pivot =
|
795
|
-
return apply4(map3(concat2)(go(
|
794
|
+
var pivot = bot2 + Math.floor((top3 - bot2) / 4) * 2;
|
795
|
+
return apply4(map3(concat2)(go(bot2, pivot)))(go(pivot, top3));
|
796
796
|
}
|
797
797
|
}
|
798
798
|
return go(0, array4.length);
|
@@ -2459,17 +2459,17 @@ var Aff = function() {
|
|
2459
2459
|
}
|
2460
2460
|
}
|
2461
2461
|
}
|
2462
|
-
function onComplete(
|
2462
|
+
function onComplete(join5) {
|
2463
2463
|
return function() {
|
2464
2464
|
if (status === COMPLETED) {
|
2465
|
-
rethrow = rethrow &&
|
2466
|
-
|
2465
|
+
rethrow = rethrow && join5.rethrow;
|
2466
|
+
join5.handler(step)();
|
2467
2467
|
return function() {
|
2468
2468
|
};
|
2469
2469
|
}
|
2470
2470
|
var jid = joinId++;
|
2471
2471
|
joins = joins || {};
|
2472
|
-
joins[jid] =
|
2472
|
+
joins[jid] = join5;
|
2473
2473
|
return function() {
|
2474
2474
|
if (joins !== null) {
|
2475
2475
|
delete joins[jid];
|
@@ -2524,7 +2524,7 @@ var Aff = function() {
|
|
2524
2524
|
return canceler;
|
2525
2525
|
};
|
2526
2526
|
}
|
2527
|
-
function
|
2527
|
+
function join4(cb) {
|
2528
2528
|
return function() {
|
2529
2529
|
var canceler = onComplete({
|
2530
2530
|
rethrow: false,
|
@@ -2538,7 +2538,7 @@ var Aff = function() {
|
|
2538
2538
|
}
|
2539
2539
|
return {
|
2540
2540
|
kill,
|
2541
|
-
join:
|
2541
|
+
join: join4,
|
2542
2542
|
onComplete,
|
2543
2543
|
isSuspended: function() {
|
2544
2544
|
return status === SUSPENDED;
|
@@ -2622,7 +2622,7 @@ var Aff = function() {
|
|
2622
2622
|
}
|
2623
2623
|
return kills2;
|
2624
2624
|
}
|
2625
|
-
function
|
2625
|
+
function join4(result, head, tail4) {
|
2626
2626
|
var fail3, step, lhs, rhs, tmp, kid;
|
2627
2627
|
if (util2.isLeft(result)) {
|
2628
2628
|
fail3 = result;
|
@@ -2669,9 +2669,9 @@ var Aff = function() {
|
|
2669
2669
|
if (tmp) {
|
2670
2670
|
tmp = false;
|
2671
2671
|
} else if (tail4 === null) {
|
2672
|
-
|
2672
|
+
join4(fail3, null, null);
|
2673
2673
|
} else {
|
2674
|
-
|
2674
|
+
join4(fail3, tail4._1, tail4._2);
|
2675
2675
|
}
|
2676
2676
|
};
|
2677
2677
|
});
|
@@ -2706,9 +2706,9 @@ var Aff = function() {
|
|
2706
2706
|
if (tmp) {
|
2707
2707
|
tmp = false;
|
2708
2708
|
} else if (tail4 === null) {
|
2709
|
-
|
2709
|
+
join4(step, null, null);
|
2710
2710
|
} else {
|
2711
|
-
|
2711
|
+
join4(step, tail4._1, tail4._2);
|
2712
2712
|
}
|
2713
2713
|
};
|
2714
2714
|
});
|
@@ -2732,7 +2732,7 @@ var Aff = function() {
|
|
2732
2732
|
return function() {
|
2733
2733
|
delete fibers[fiber._1];
|
2734
2734
|
fiber._3 = result;
|
2735
|
-
|
2735
|
+
join4(result, fiber._2._1, fiber._2._2);
|
2736
2736
|
};
|
2737
2737
|
};
|
2738
2738
|
}
|
@@ -14758,18 +14758,18 @@ var ViewState = class {
|
|
14758
14758
|
let viewFrom, viewTo;
|
14759
14759
|
if (wrapping) {
|
14760
14760
|
let marginHeight = margin / this.heightOracle.lineLength * this.heightOracle.lineHeight;
|
14761
|
-
let top3,
|
14761
|
+
let top3, bot2;
|
14762
14762
|
if (target != null) {
|
14763
14763
|
let targetFrac = findFraction(structure, target);
|
14764
14764
|
let spaceFrac = ((this.visibleBottom - this.visibleTop) / 2 + marginHeight) / line2.height;
|
14765
14765
|
top3 = targetFrac - spaceFrac;
|
14766
|
-
|
14766
|
+
bot2 = targetFrac + spaceFrac;
|
14767
14767
|
} else {
|
14768
14768
|
top3 = (this.visibleTop - line2.top - marginHeight) / line2.height;
|
14769
|
-
|
14769
|
+
bot2 = (this.visibleBottom - line2.top + marginHeight) / line2.height;
|
14770
14770
|
}
|
14771
14771
|
viewFrom = findPosition(structure, top3);
|
14772
|
-
viewTo = findPosition(structure,
|
14772
|
+
viewTo = findPosition(structure, bot2);
|
14773
14773
|
} else {
|
14774
14774
|
let totalWidth = structure.total * this.heightOracle.charWidth;
|
14775
14775
|
let marginWidth = margin * this.heightOracle.charWidth;
|
@@ -27780,7 +27780,7 @@ var dataTypes = /* @__PURE__ */ foldrArray(Cons)(Nil)([
|
|
27780
27780
|
/* @__PURE__ */ dataType("View")([
|
27781
27781
|
/* @__PURE__ */ $Tuple("BarChart", 1),
|
27782
27782
|
/* @__PURE__ */ $Tuple("LineChart", 1),
|
27783
|
-
/* @__PURE__ */ $Tuple("
|
27783
|
+
/* @__PURE__ */ $Tuple("Paragraph", 1),
|
27784
27784
|
/* @__PURE__ */ $Tuple("MultiView", 1),
|
27785
27785
|
/* @__PURE__ */ $Tuple("ScatterPlot", 1)
|
27786
27786
|
]),
|
@@ -27793,11 +27793,12 @@ var dataTypes = /* @__PURE__ */ foldrArray(Cons)(Nil)([
|
|
27793
27793
|
/* @__PURE__ */ $Tuple("Polyline", 3),
|
27794
27794
|
/* @__PURE__ */ $Tuple("Polymarkers", 2),
|
27795
27795
|
/* @__PURE__ */ $Tuple("Rect", 5),
|
27796
|
-
/* @__PURE__ */ $Tuple("
|
27796
|
+
/* @__PURE__ */ $Tuple("String", 5),
|
27797
27797
|
/* @__PURE__ */ $Tuple("Viewport", 9)
|
27798
27798
|
]),
|
27799
27799
|
/* @__PURE__ */ dataType("Transform")([/* @__PURE__ */ $Tuple("Scale", 2), /* @__PURE__ */ $Tuple("Translate", 2)]),
|
27800
|
-
/* @__PURE__ */ dataType("Marker")([/* @__PURE__ */ $Tuple("Arrowhead", 0)])
|
27800
|
+
/* @__PURE__ */ dataType("Marker")([/* @__PURE__ */ $Tuple("Arrowhead", 0)]),
|
27801
|
+
/* @__PURE__ */ dataType("TextFragment")([/* @__PURE__ */ $Tuple("Text", 1), /* @__PURE__ */ $Tuple("Link", 2)])
|
27801
27802
|
]);
|
27802
27803
|
var ctrToDataType = /* @__PURE__ */ (() => fromFoldable(foldableList)(bindList.bind(listMap((d) => listMap((v) => $Tuple(
|
27803
27804
|
v,
|
@@ -32336,12 +32337,12 @@ var anon = (v) => {
|
|
32336
32337
|
fail();
|
32337
32338
|
};
|
32338
32339
|
var orElseBwd = (dictBoundedJoinSemilattice) => {
|
32339
|
-
const
|
32340
|
+
const bot2 = dictBoundedJoinSemilattice.bot;
|
32340
32341
|
const $0 = dictBoundedJoinSemilattice.JoinSemilattice0();
|
32341
32342
|
return (v) => (ks) => {
|
32342
32343
|
if (v._1.tag === "Nil") {
|
32343
32344
|
if (ks._1._1.tag === "Nil" && ks._2.tag === "Nil") {
|
32344
|
-
return $Tuple(
|
32345
|
+
return $Tuple(bot2, ks._1._2);
|
32345
32346
|
}
|
32346
32347
|
fail();
|
32347
32348
|
}
|
@@ -32349,7 +32350,7 @@ var orElseBwd = (dictBoundedJoinSemilattice) => {
|
|
32349
32350
|
const $1 = v._1._2;
|
32350
32351
|
const popIfPresent = (v1) => (v2) => {
|
32351
32352
|
if (v1.tag === "Nil") {
|
32352
|
-
return $Tuple(
|
32353
|
+
return $Tuple(bot2, v2);
|
32353
32354
|
}
|
32354
32355
|
const v3 = unsnoc3(v2);
|
32355
32356
|
const v4 = unsnoc3(nonEmptyListNonEmptyList.nonEmpty(v1));
|
@@ -34735,32 +34736,32 @@ var joinSemilatticeDictRep = (dictJoinSemilattice) => ({
|
|
34735
34736
|
}
|
34736
34737
|
});
|
34737
34738
|
var joinSemilatticeBaseVal = (dictJoinSemilattice) => {
|
34738
|
-
const
|
34739
|
+
const join4 = dictJoinSemilattice.join;
|
34739
34740
|
return {
|
34740
34741
|
join: (v) => (v1) => {
|
34741
34742
|
if (v.tag === "Int") {
|
34742
34743
|
if (v1.tag === "Int") {
|
34743
34744
|
return $BaseVal("Int", mustEq(eqInt)(showInt)(v._1)(v1._1));
|
34744
34745
|
}
|
34745
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34746
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34746
34747
|
}
|
34747
34748
|
if (v.tag === "Float") {
|
34748
34749
|
if (v1.tag === "Float") {
|
34749
34750
|
return $BaseVal("Float", mustEq(eqNumber)(showNumber)(v._1)(v1._1));
|
34750
34751
|
}
|
34751
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34752
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34752
34753
|
}
|
34753
34754
|
if (v.tag === "Str") {
|
34754
34755
|
if (v1.tag === "Str") {
|
34755
34756
|
return $BaseVal("Str", mustEq(eqString)(showString)(v._1)(v1._1));
|
34756
34757
|
}
|
34757
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34758
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34758
34759
|
}
|
34759
34760
|
if (v.tag === "Dictionary") {
|
34760
34761
|
if (v1.tag === "Dictionary") {
|
34761
34762
|
return $BaseVal("Dictionary", joinSemilatticeDictRep(dictJoinSemilattice).join(v._1)(v1._1));
|
34762
34763
|
}
|
34763
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34764
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34764
34765
|
}
|
34765
34766
|
if (v.tag === "Constr") {
|
34766
34767
|
if (v1.tag === "Constr") {
|
@@ -34770,18 +34771,18 @@ var joinSemilatticeBaseVal = (dictJoinSemilattice) => {
|
|
34770
34771
|
joinSemilatticeList(joinSemilatticeVal(dictJoinSemilattice)).join(v._2)(v1._2)
|
34771
34772
|
);
|
34772
34773
|
}
|
34773
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34774
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34774
34775
|
}
|
34775
34776
|
if (v.tag === "Matrix") {
|
34776
34777
|
if (v1.tag === "Matrix") {
|
34777
34778
|
return $BaseVal("Matrix", joinSemilatticeMatrixRep(dictJoinSemilattice).join(v._1)(v1._1));
|
34778
34779
|
}
|
34779
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34780
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34780
34781
|
}
|
34781
34782
|
if (v.tag === "Fun" && v1.tag === "Fun") {
|
34782
34783
|
return $BaseVal("Fun", joinSemilatticeFun(dictJoinSemilattice).join(v._1)(v1._1));
|
34783
34784
|
}
|
34784
|
-
return applyBaseVal.apply(functorBaseVal.map(
|
34785
|
+
return applyBaseVal.apply(functorBaseVal.map(join4)(v))(v1);
|
34785
34786
|
}
|
34786
34787
|
};
|
34787
34788
|
};
|
@@ -34864,11 +34865,11 @@ var string2 = {
|
|
34864
34865
|
}
|
34865
34866
|
};
|
34866
34867
|
var unary = (dictBoundedJoinSemilattice) => {
|
34867
|
-
const
|
34868
|
+
const bot2 = dictBoundedJoinSemilattice.bot;
|
34868
34869
|
return (id3) => (f) => $Tuple(
|
34869
34870
|
id3,
|
34870
34871
|
$Val(
|
34871
|
-
|
34872
|
+
bot2,
|
34872
34873
|
$BaseVal(
|
34873
34874
|
"Fun",
|
34874
34875
|
$Fun(
|
@@ -35021,11 +35022,11 @@ var $$boolean = {
|
|
35021
35022
|
}
|
35022
35023
|
};
|
35023
35024
|
var binaryZero = (dictBoundedJoinSemilattice) => {
|
35024
|
-
const
|
35025
|
+
const bot2 = dictBoundedJoinSemilattice.bot;
|
35025
35026
|
return (dictIsZero) => (id3) => (f) => $Tuple(
|
35026
35027
|
id3,
|
35027
35028
|
$Val(
|
35028
|
-
|
35029
|
+
bot2,
|
35029
35030
|
$BaseVal(
|
35030
35031
|
"Fun",
|
35031
35032
|
$Fun(
|
@@ -35109,11 +35110,11 @@ var binaryZero = (dictBoundedJoinSemilattice) => {
|
|
35109
35110
|
);
|
35110
35111
|
};
|
35111
35112
|
var binary = (dictBoundedJoinSemilattice) => {
|
35112
|
-
const
|
35113
|
+
const bot2 = dictBoundedJoinSemilattice.bot;
|
35113
35114
|
return (id3) => (f) => $Tuple(
|
35114
35115
|
id3,
|
35115
35116
|
$Val(
|
35116
|
-
|
35117
|
+
bot2,
|
35117
35118
|
$BaseVal(
|
35118
35119
|
"Fun",
|
35119
35120
|
$Fun(
|
@@ -35267,6 +35268,23 @@ var reflectDictSelState\u{1D54A}$x215ValS = {
|
|
35267
35268
|
})()
|
35268
35269
|
})
|
35269
35270
|
};
|
35271
|
+
var meetSemilatticeSelState = (dictMeetSemilattice) => ({
|
35272
|
+
meet: (v) => (v1) => {
|
35273
|
+
if (v1.tag === "Inert") {
|
35274
|
+
return Inert;
|
35275
|
+
}
|
35276
|
+
if (v.tag === "Inert") {
|
35277
|
+
return Inert;
|
35278
|
+
}
|
35279
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
35280
|
+
return $SelState(
|
35281
|
+
"Reactive",
|
35282
|
+
{ persistent: dictMeetSemilattice.meet(v._1.persistent)(v1._1.persistent), transient: dictMeetSemilattice.meet(v._1.transient)(v1._1.transient) }
|
35283
|
+
);
|
35284
|
+
}
|
35285
|
+
fail();
|
35286
|
+
}
|
35287
|
+
});
|
35270
35288
|
var highlightableSelState = (dictHighlightable) => (dictJoinSemilattice) => ({
|
35271
35289
|
highlightIf: (v) => {
|
35272
35290
|
if (v.tag === "Inert") {
|
@@ -35316,6 +35334,24 @@ var functorSelState = {
|
|
35316
35334
|
fail();
|
35317
35335
|
}
|
35318
35336
|
};
|
35337
|
+
var boundedJoinSemilatticeSel = (dictBoundedJoinSemilattice) => {
|
35338
|
+
const $0 = dictBoundedJoinSemilattice.JoinSemilattice0();
|
35339
|
+
const joinSemilatticeSelState1 = {
|
35340
|
+
join: (v) => (v1) => {
|
35341
|
+
if (v1.tag === "Inert") {
|
35342
|
+
return v;
|
35343
|
+
}
|
35344
|
+
if (v.tag === "Inert") {
|
35345
|
+
return v1;
|
35346
|
+
}
|
35347
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
35348
|
+
return $SelState("Reactive", { persistent: $0.join(v._1.persistent)(v1._1.persistent), transient: $0.join(v._1.transient)(v1._1.transient) });
|
35349
|
+
}
|
35350
|
+
fail();
|
35351
|
+
}
|
35352
|
+
};
|
35353
|
+
return { bot: Inert, JoinSemilattice0: () => joinSemilatticeSelState1 };
|
35354
|
+
};
|
35319
35355
|
var applySelState = {
|
35320
35356
|
apply: (v) => (v1) => {
|
35321
35357
|
if (v.tag === "Inert") {
|
@@ -35331,12 +35367,6 @@ var applySelState = {
|
|
35331
35367
|
},
|
35332
35368
|
Functor0: () => functorSelState
|
35333
35369
|
};
|
35334
|
-
var joinSemilatticeSelState = (dictJoinSemilattice) => ({
|
35335
|
-
join: (() => {
|
35336
|
-
const $0 = dictJoinSemilattice.join;
|
35337
|
-
return (a) => (b) => applySelState.apply(functorSelState.map($0)(a))(b);
|
35338
|
-
})()
|
35339
|
-
});
|
35340
35370
|
var to\u{1D54A} = (v) => {
|
35341
35371
|
if (v) {
|
35342
35372
|
return Primary;
|
@@ -35494,6 +35524,7 @@ var joinSemilattice\u{1D54A} = {
|
|
35494
35524
|
fail();
|
35495
35525
|
}
|
35496
35526
|
};
|
35527
|
+
var boundedJoinSemilattice\u{1D54A} = { bot: None, JoinSemilattice0: () => joinSemilattice\u{1D54A} };
|
35497
35528
|
var isPersistent = (x2) => compare$p((() => {
|
35498
35529
|
if (x2.tag === "Inert") {
|
35499
35530
|
return None;
|
@@ -36309,13 +36340,27 @@ var $Direction = (tag) => tag;
|
|
36309
36340
|
var for_2 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
36310
36341
|
var LinkedInputs = /* @__PURE__ */ $Direction("LinkedInputs");
|
36311
36342
|
var LinkedOutputs = /* @__PURE__ */ $Direction("LinkedOutputs");
|
36312
|
-
var uiHelpers =
|
36343
|
+
var uiHelpers = {
|
36313
36344
|
val: fst,
|
36314
36345
|
selState: snd,
|
36315
|
-
join:
|
36346
|
+
join: (v) => (v1) => {
|
36347
|
+
if (v1.tag === "Inert") {
|
36348
|
+
return v;
|
36349
|
+
}
|
36350
|
+
if (v.tag === "Inert") {
|
36351
|
+
return v1;
|
36352
|
+
}
|
36353
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
36354
|
+
return $SelState(
|
36355
|
+
"Reactive",
|
36356
|
+
{ persistent: joinSemilattice\u{1D54A}.join(v._1.persistent)(v1._1.persistent), transient: joinSemilattice\u{1D54A}.join(v._1.transient)(v1._1.transient) }
|
36357
|
+
);
|
36358
|
+
}
|
36359
|
+
fail();
|
36360
|
+
},
|
36316
36361
|
selClasses,
|
36317
36362
|
selClassesFor
|
36318
|
-
}
|
36363
|
+
};
|
36319
36364
|
var selListener = (figVal) => (redraw) => (selector2) => eventListener((x2) => {
|
36320
36365
|
const $0 = selectionEventData(x2);
|
36321
36366
|
return redraw(figVal(selector2($0._1)($0._2)));
|
@@ -36593,7 +36638,22 @@ var reflectDictSelState\u{1D54A}$x215ValS23 = { from: () => (r) => ({ x: get_int
|
|
36593
36638
|
|
36594
36639
|
// output-es/App.View.LineChart/index.js
|
36595
36640
|
var identity27 = (x2) => x2;
|
36596
|
-
var join =
|
36641
|
+
var join = (v) => (v1) => {
|
36642
|
+
if (v1.tag === "Inert") {
|
36643
|
+
return v;
|
36644
|
+
}
|
36645
|
+
if (v.tag === "Inert") {
|
36646
|
+
return v1;
|
36647
|
+
}
|
36648
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
36649
|
+
return $SelState(
|
36650
|
+
"Reactive",
|
36651
|
+
{ persistent: joinSemilattice\u{1D54A}.join(v._1.persistent)(v1._1.persistent), transient: joinSemilattice\u{1D54A}.join(v._1.transient)(v1._1.transient) }
|
36652
|
+
);
|
36653
|
+
}
|
36654
|
+
fail();
|
36655
|
+
};
|
36656
|
+
var meet = /* @__PURE__ */ (() => meetSemilatticeSelState(meetSemilattice\u{1D54A}).meet)();
|
36597
36657
|
var for_3 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
36598
36658
|
var minimum2 = /* @__PURE__ */ minimum(ordNumber)(foldable1NonEmptyArray);
|
36599
36659
|
var maximum2 = /* @__PURE__ */ maximum(ordNumber)(foldable1NonEmptyArray);
|
@@ -36682,9 +36742,13 @@ var setSelState2 = (v) => (redraw) => (rootElement) => {
|
|
36682
36742
|
const segment$p = $2();
|
36683
36743
|
const v2 = definitely("index within bounds")(index($0)(segment$p.i));
|
36684
36744
|
return attrs(segment)(fromFoldable10((() => {
|
36685
|
-
const
|
36686
|
-
|
36687
|
-
|
36745
|
+
const sel = meet((() => {
|
36746
|
+
const $3 = definitely("index within bounds")(index(v2.points)(segment$p.j1));
|
36747
|
+
return join($3.x._2)($3.y._2);
|
36748
|
+
})())((() => {
|
36749
|
+
const $3 = definitely("index within bounds")(index(v2.points)(segment$p.j2));
|
36750
|
+
return join($3.x._2)($3.y._2);
|
36751
|
+
})());
|
36688
36752
|
return [
|
36689
36753
|
$Tuple(
|
36690
36754
|
"stroke",
|
@@ -36893,87 +36957,8 @@ var drawableLineChart = {
|
|
36893
36957
|
}
|
36894
36958
|
};
|
36895
36959
|
|
36896
|
-
// output-es/App.View.LinkedText/index.js
|
36897
|
-
var for_4 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
36898
|
-
var forWithIndex_2 = /* @__PURE__ */ forWithIndex_(applicativeEffect)(foldableWithIndexArray);
|
36899
|
-
var reflectValSelState\u{1D54A}Linked = {
|
36900
|
-
from: () => (r) => arrayMap((v) => $Tuple(v._2.tag === "Str" ? v._2._1 : typeError(v._2)("Str"), v._1))(reflectValSelState\u{1D54A}ArrayV.from()(r))
|
36901
|
-
};
|
36902
|
-
var setSelState3 = (v) => (redraw) => (rootElement) => {
|
36903
|
-
const $0 = selectAll2(".linked-text")(rootElement);
|
36904
|
-
return () => {
|
36905
|
-
const elems$p = $0();
|
36906
|
-
return for_4(elems$p)((elem2) => {
|
36907
|
-
const $1 = datum2(elem2);
|
36908
|
-
return () => {
|
36909
|
-
const v1 = $1();
|
36910
|
-
const $2 = definitely("index within bounds")(index(v)(v1.i));
|
36911
|
-
const $3 = styles(elem2)(fromFoldable10([
|
36912
|
-
$Tuple("border-bottom", isTransient($2._2) ? "1px solid blue" : "none"),
|
36913
|
-
$Tuple(
|
36914
|
-
"background",
|
36915
|
-
(() => {
|
36916
|
-
if (isPrimary($2._2) && isPersistent($2._2)) {
|
36917
|
-
return "#93E9BE";
|
36918
|
-
}
|
36919
|
-
if (isSecondary($2._2) && isPersistent($2._2)) {
|
36920
|
-
return "rgb(226, 226, 226)";
|
36921
|
-
}
|
36922
|
-
return "white";
|
36923
|
-
})()
|
36924
|
-
),
|
36925
|
-
$Tuple(
|
36926
|
-
"color",
|
36927
|
-
(() => {
|
36928
|
-
if (isPrimary($2._2) && isTransient($2._2)) {
|
36929
|
-
return "blue";
|
36930
|
-
}
|
36931
|
-
if (isSecondary($2._2) && isTransient($2._2)) {
|
36932
|
-
return "royalblue";
|
36933
|
-
}
|
36934
|
-
return "black";
|
36935
|
-
})()
|
36936
|
-
)
|
36937
|
-
]))();
|
36938
|
-
return for_2(["mousedown", "mouseenter", "mouseleave"])((ev) => on(ev)(redraw)($3))();
|
36939
|
-
};
|
36940
|
-
})();
|
36941
|
-
};
|
36942
|
-
};
|
36943
|
-
var createRootElement2 = (v) => (div) => (childId) => {
|
36944
|
-
const $0 = createChild(div)(showElementType.show(Text2))(fromFoldable10([
|
36945
|
-
classes(["linked-text-parent"]),
|
36946
|
-
$Tuple("id", childId)
|
36947
|
-
]));
|
36948
|
-
return () => {
|
36949
|
-
const rootElement = $0();
|
36950
|
-
forWithIndex_2(v)((i) => (elem2) => {
|
36951
|
-
const $1 = createChild(rootElement)(showElementType.show(Text2))(fromFoldable10([
|
36952
|
-
classes(["linked-text"]),
|
36953
|
-
$Tuple("id", childId)
|
36954
|
-
]));
|
36955
|
-
return () => {
|
36956
|
-
const elem$p = $1();
|
36957
|
-
const $2 = setText(elem2._1)(elem$p)();
|
36958
|
-
return setDatum({ i })($2)();
|
36959
|
-
};
|
36960
|
-
})();
|
36961
|
-
return rootElement;
|
36962
|
-
};
|
36963
|
-
};
|
36964
|
-
var drawable2LinkedText = { createRootElement: createRootElement2, setSelState: setSelState3 };
|
36965
|
-
var drawableLinkedText = {
|
36966
|
-
draw: (rSpec) => (figVal) => (v) => (redraw) => {
|
36967
|
-
const $0 = selListener(figVal)(redraw)((v1) => (x2) => constrArg("LinkedText")(0)(listElement(v1.i)(x2)));
|
36968
|
-
return () => {
|
36969
|
-
const $1 = $0();
|
36970
|
-
return draw$p(drawable2LinkedText)(uiHelpers)(rSpec)($1)();
|
36971
|
-
};
|
36972
|
-
}
|
36973
|
-
};
|
36974
|
-
|
36975
36960
|
// output-es/App.View.MatrixView/foreign.js
|
36976
|
-
function
|
36961
|
+
function setSelState3({
|
36977
36962
|
hBorderStyles,
|
36978
36963
|
vBorderStyles
|
36979
36964
|
}, {
|
@@ -37051,7 +37036,7 @@ function drawMatrix_(matrixViewHelpers2, uiHelpers2, {
|
|
37051
37036
|
select_default2(this).selectAll("line").data(range3(matrix.j + 1).map((j) => ({ i: d, j }))).enter().append("line").attr("x1", ({ j }) => j * w).attr("y1", ({ i }) => (i - 1) * h).attr("x2", ({ j }) => j * w).attr("y2", ({ i }) => i * h).attr("class", "matrix-cell-vBorder");
|
37052
37037
|
});
|
37053
37038
|
}
|
37054
|
-
|
37039
|
+
setSelState3(matrixViewHelpers2, uiHelpers2, rootElement, { matrix }, listener);
|
37055
37040
|
};
|
37056
37041
|
}
|
37057
37042
|
var drawMatrix = (x1) => (x2) => (x3) => (x4) => drawMatrix_(x1, x2, x3, x4);
|
@@ -37129,16 +37114,174 @@ var drawableMultiView = {
|
|
37129
37114
|
}
|
37130
37115
|
};
|
37131
37116
|
|
37117
|
+
// output-es/App.View.Paragraph/index.js
|
37118
|
+
var $TextFragment = (tag, _1, _2) => ({ tag, _1, _2 });
|
37119
|
+
var join2 = (v) => (v1) => {
|
37120
|
+
if (v1.tag === "Inert") {
|
37121
|
+
return v;
|
37122
|
+
}
|
37123
|
+
if (v.tag === "Inert") {
|
37124
|
+
return v1;
|
37125
|
+
}
|
37126
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
37127
|
+
return $SelState(
|
37128
|
+
"Reactive",
|
37129
|
+
{ persistent: joinSemilattice\u{1D54A}.join(v._1.persistent)(v1._1.persistent), transient: joinSemilattice\u{1D54A}.join(v._1.transient)(v1._1.transient) }
|
37130
|
+
);
|
37131
|
+
}
|
37132
|
+
fail();
|
37133
|
+
};
|
37134
|
+
var bot = /* @__PURE__ */ (() => boundedJoinSemilatticeSel(boundedJoinSemilattice\u{1D54A}).bot)();
|
37135
|
+
var for_4 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
37136
|
+
var forWithIndex_2 = /* @__PURE__ */ forWithIndex_(applicativeEffect)(foldableWithIndexArray);
|
37137
|
+
var textFragment = {
|
37138
|
+
pack: (v) => {
|
37139
|
+
if (v.tag === "TextFragment") {
|
37140
|
+
return $BaseVal("Constr", "Text", $List("Cons", $Val(v._1._2, $BaseVal("Str", v._1._1)), Nil));
|
37141
|
+
}
|
37142
|
+
if (v.tag === "Link") {
|
37143
|
+
return $BaseVal(
|
37144
|
+
"Constr",
|
37145
|
+
"Link",
|
37146
|
+
$List("Cons", v._1, $List("Cons", $Val(v._2._2, $BaseVal("Str", v._2._1)), Nil))
|
37147
|
+
);
|
37148
|
+
}
|
37149
|
+
fail();
|
37150
|
+
},
|
37151
|
+
unpack: (v) => {
|
37152
|
+
if (v.tag === "Constr" && v._2.tag === "Cons") {
|
37153
|
+
if (v._2._1._2.tag === "Str" && v._2._2.tag === "Nil") {
|
37154
|
+
if (v._1 === "Text") {
|
37155
|
+
return $TextFragment("TextFragment", $Tuple(v._2._1._2._1, v._2._1._1));
|
37156
|
+
}
|
37157
|
+
return typeError(v)("TextFragment");
|
37158
|
+
}
|
37159
|
+
if (v._2._2.tag === "Cons" && v._2._2._1._2.tag === "Str" && v._2._2._2.tag === "Nil" && v._1 === "Link") {
|
37160
|
+
return $TextFragment("Link", $Val(v._2._1._1, v._2._1._2), $Tuple(v._2._2._1._2._1, v._2._2._1._1));
|
37161
|
+
}
|
37162
|
+
}
|
37163
|
+
return typeError(v)("TextFragment");
|
37164
|
+
}
|
37165
|
+
};
|
37166
|
+
var reflectValSelState\u{1D54A}Paragr = { from: () => (r) => arrayMap((x2) => textFragment.unpack(x2._2))(reflectValSelState\u{1D54A}ArrayV.from()(r)) };
|
37167
|
+
var selTextFragment = (v) => (x2) => constrArg("Paragraph")(0)(listElement(v.i)((v1) => {
|
37168
|
+
if (v1._2.tag === "Constr" && v1._2._2.tag === "Cons") {
|
37169
|
+
if (v1._2._2._2.tag === "Nil") {
|
37170
|
+
if (v1._2._1 === "Text") {
|
37171
|
+
return $Val(v1._1, $BaseVal("Constr", v1._2._1, $List("Cons", x2(v1._2._2._1), Nil)));
|
37172
|
+
}
|
37173
|
+
fail();
|
37174
|
+
}
|
37175
|
+
if (v1._2._2._2.tag === "Cons" && v1._2._2._2._2.tag === "Nil" && v1._2._1 === "Link") {
|
37176
|
+
return $Val(
|
37177
|
+
v1._1,
|
37178
|
+
$BaseVal("Constr", v1._2._1, $List("Cons", x2(v1._2._2._1), $List("Cons", v1._2._2._2._1, Nil)))
|
37179
|
+
);
|
37180
|
+
}
|
37181
|
+
}
|
37182
|
+
fail();
|
37183
|
+
}));
|
37184
|
+
var getText = (elems) => (i) => {
|
37185
|
+
const v = definitely("index within bounds")(index(elems)(i));
|
37186
|
+
if (v.tag === "TextFragment") {
|
37187
|
+
return v._1;
|
37188
|
+
}
|
37189
|
+
if (v.tag === "Link") {
|
37190
|
+
return $Tuple(v._2._1, join2(v._1._1)(foldableBaseVal.foldr(join2)(bot)(v._1._2)));
|
37191
|
+
}
|
37192
|
+
fail();
|
37193
|
+
};
|
37194
|
+
var setSelState4 = (v) => (redraw) => (rootElement) => {
|
37195
|
+
const $0 = selectAll2(".text-fragment")(rootElement);
|
37196
|
+
return () => {
|
37197
|
+
const elems$p = $0();
|
37198
|
+
return for_4(elems$p)((elem2) => {
|
37199
|
+
const $1 = datum2(elem2);
|
37200
|
+
return () => {
|
37201
|
+
const v1 = $1();
|
37202
|
+
const $2 = getText(v)(v1.i);
|
37203
|
+
const $3 = styles(elem2)(fromFoldable10([
|
37204
|
+
$Tuple("border-bottom", isTransient($2._2) ? "1px solid blue" : "none"),
|
37205
|
+
$Tuple(
|
37206
|
+
"background",
|
37207
|
+
(() => {
|
37208
|
+
if (isPrimary($2._2) && isPersistent($2._2)) {
|
37209
|
+
return "#93E9BE";
|
37210
|
+
}
|
37211
|
+
if (isSecondary($2._2) && isPersistent($2._2)) {
|
37212
|
+
return "rgb(226, 226, 226)";
|
37213
|
+
}
|
37214
|
+
return "white";
|
37215
|
+
})()
|
37216
|
+
),
|
37217
|
+
$Tuple(
|
37218
|
+
"color",
|
37219
|
+
(() => {
|
37220
|
+
if (isPrimary($2._2) && isTransient($2._2)) {
|
37221
|
+
return "blue";
|
37222
|
+
}
|
37223
|
+
if (isSecondary($2._2) && isTransient($2._2)) {
|
37224
|
+
return "royalblue";
|
37225
|
+
}
|
37226
|
+
return "black";
|
37227
|
+
})()
|
37228
|
+
)
|
37229
|
+
]))();
|
37230
|
+
return for_2(["mousedown", "mouseenter", "mouseleave"])((ev) => on(ev)(redraw)($3))();
|
37231
|
+
};
|
37232
|
+
})();
|
37233
|
+
};
|
37234
|
+
};
|
37235
|
+
var createRootElement2 = (v) => (div) => (childId) => {
|
37236
|
+
const $0 = createChild(div)(showElementType.show(Text2))(fromFoldable10([
|
37237
|
+
classes(["paragraph"]),
|
37238
|
+
$Tuple("id", childId)
|
37239
|
+
]));
|
37240
|
+
return () => {
|
37241
|
+
const rootElement = $0();
|
37242
|
+
forWithIndex_2(v)((i) => (elem2) => {
|
37243
|
+
const $1 = createChild(rootElement)(showElementType.show(Text2))(fromFoldable10([
|
37244
|
+
classes(["text-fragment"]),
|
37245
|
+
$Tuple("id", childId)
|
37246
|
+
]));
|
37247
|
+
return () => {
|
37248
|
+
const elem$p = $1();
|
37249
|
+
const $2 = setText((() => {
|
37250
|
+
if (elem2.tag === "TextFragment") {
|
37251
|
+
return elem2._1._1;
|
37252
|
+
}
|
37253
|
+
if (elem2.tag === "Link") {
|
37254
|
+
return elem2._2._1;
|
37255
|
+
}
|
37256
|
+
fail();
|
37257
|
+
})())(elem$p)();
|
37258
|
+
return setDatum({ i })($2)();
|
37259
|
+
};
|
37260
|
+
})();
|
37261
|
+
return rootElement;
|
37262
|
+
};
|
37263
|
+
};
|
37264
|
+
var drawable2ParagraphSelStat = { createRootElement: createRootElement2, setSelState: setSelState4 };
|
37265
|
+
var drawableParagraphSelState = {
|
37266
|
+
draw: (rSpec) => (figVal) => (v) => (redraw) => {
|
37267
|
+
const $0 = selListener(figVal)(redraw)((v1) => selTextFragment({ i: v1.i }));
|
37268
|
+
return () => {
|
37269
|
+
const $1 = $0();
|
37270
|
+
return draw$p(drawable2ParagraphSelStat)(uiHelpers)(rSpec)($1)();
|
37271
|
+
};
|
37272
|
+
}
|
37273
|
+
};
|
37274
|
+
|
37132
37275
|
// output-es/App.View.ScatterPlot/foreign.js
|
37133
37276
|
function setSelState5({ point_attrs }, {
|
37134
37277
|
selState: selState2,
|
37135
37278
|
selClasses: selClasses2,
|
37136
37279
|
selClassesFor: selClassesFor2,
|
37137
|
-
join:
|
37280
|
+
join: join4
|
37138
37281
|
}, rootElement, chart, listener) {
|
37139
37282
|
const { points } = chart;
|
37140
37283
|
rootElement.selectAll(".scatterplot-point").each(function(point2) {
|
37141
|
-
const sel =
|
37284
|
+
const sel = join4(selState2(points[point2.i].x))(selState2(points[point2.i].y));
|
37142
37285
|
select_default2(this).classed(selClasses2, false).classed(selClassesFor2(sel), true).attrs(point_attrs(chart)(point2)).on("mousedown", (e) => {
|
37143
37286
|
listener(e);
|
37144
37287
|
}).on("mouseenter", (e) => {
|
@@ -37193,7 +37336,21 @@ function drawScatterPlot_(scatterPlotHelpers2, uiHelpers2, {
|
|
37193
37336
|
var drawScatterPlot = (x1) => (x2) => (x3) => (x4) => drawScatterPlot_(x1, x2, x3, x4);
|
37194
37337
|
|
37195
37338
|
// output-es/App.View.ScatterPlot/index.js
|
37196
|
-
var
|
37339
|
+
var join3 = (v) => (v1) => {
|
37340
|
+
if (v1.tag === "Inert") {
|
37341
|
+
return v;
|
37342
|
+
}
|
37343
|
+
if (v.tag === "Inert") {
|
37344
|
+
return v1;
|
37345
|
+
}
|
37346
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
37347
|
+
return $SelState(
|
37348
|
+
"Reactive",
|
37349
|
+
{ persistent: joinSemilattice\u{1D54A}.join(v._1.persistent)(v1._1.persistent), transient: joinSemilattice\u{1D54A}.join(v._1.transient)(v1._1.transient) }
|
37350
|
+
);
|
37351
|
+
}
|
37352
|
+
fail();
|
37353
|
+
};
|
37197
37354
|
var fromFoldable17 = /* @__PURE__ */ fromFoldable(foldableArray);
|
37198
37355
|
var reflectDictSelState\u{1D54A}$x215ValS5 = {
|
37199
37356
|
from: () => (r) => ({
|
@@ -37208,7 +37365,7 @@ var reflectDictSelState\u{1D54A}$x215ValS5 = {
|
|
37208
37365
|
var scatterPlotHelpers = {
|
37209
37366
|
point_attrs: (v) => (v1) => {
|
37210
37367
|
const v2 = definitely("index within bounds")(index(v.points)(v1.i));
|
37211
|
-
const sel =
|
37368
|
+
const sel = join3(v2.x._2)(v2.y._2);
|
37212
37369
|
return fromFoldable17([
|
37213
37370
|
$Tuple(
|
37214
37371
|
"r",
|
@@ -37531,7 +37688,7 @@ var arrayDictToArray2 = (x2) => arrayMap((a) => arrayMap((a$1) => $$get2(showStr
|
|
37531
37688
|
var pack = (x2) => (k) => k(drawableBarChart)(x2);
|
37532
37689
|
var pack1 = (x2) => (k) => k(drawableLineChart)(x2);
|
37533
37690
|
var pack2 = (x2) => (k) => k(drawableScatterPlot)(x2);
|
37534
|
-
var pack3 = (x2) => (k) => k(
|
37691
|
+
var pack3 = (x2) => (k) => k(drawableParagraphSelState)(x2);
|
37535
37692
|
var pack4 = (x2) => (k) => k(drawableMultiView)(x2);
|
37536
37693
|
var identity28 = (x2) => x2;
|
37537
37694
|
var pack5 = (x2) => (k) => k(drawableTableView)(x2);
|
@@ -37548,8 +37705,8 @@ var view = () => (v) => (v1) => (v2) => {
|
|
37548
37705
|
if (v1._2._1 === "ScatterPlot") {
|
37549
37706
|
return pack2(dict(reflectDictSelState\u{1D54A}$x215ValS5.from())(v1._2._2._1));
|
37550
37707
|
}
|
37551
|
-
if (v1._2._1 === "
|
37552
|
-
return pack3(reflectValSelState\u{1D54A}
|
37708
|
+
if (v1._2._1 === "Paragraph") {
|
37709
|
+
return pack3(reflectValSelState\u{1D54A}Paragr.from()(v1._2._2._1));
|
37553
37710
|
}
|
37554
37711
|
if (v1._2._1 === "MultiView") {
|
37555
37712
|
const vws = _fmapObject(
|
@@ -42772,7 +42929,7 @@ var matrixUpdate = /* @__PURE__ */ $Tuple(
|
|
42772
42929
|
},
|
42773
42930
|
op_bwd: (dictAnn) => {
|
42774
42931
|
const BoundedJoinSemilattice0 = dictAnn.BoundedLattice1().BoundedJoinSemilattice0();
|
42775
|
-
const
|
42932
|
+
const bot2 = BoundedJoinSemilattice0.bot;
|
42776
42933
|
return (v) => {
|
42777
42934
|
if (v._2._2.tag === "Matrix") {
|
42778
42935
|
return $List(
|
@@ -42791,14 +42948,14 @@ var matrixUpdate = /* @__PURE__ */ $Tuple(
|
|
42791
42948
|
$List(
|
42792
42949
|
"Cons",
|
42793
42950
|
$Val(
|
42794
|
-
|
42951
|
+
bot2,
|
42795
42952
|
$BaseVal(
|
42796
42953
|
"Constr",
|
42797
42954
|
"Pair",
|
42798
42955
|
$List(
|
42799
42956
|
"Cons",
|
42800
|
-
$Val(
|
42801
|
-
$List("Cons", $Val(
|
42957
|
+
$Val(bot2, $BaseVal("Int", v._1._1._1)),
|
42958
|
+
$List("Cons", $Val(bot2, $BaseVal("Int", v._1._1._2)), Nil)
|
42802
42959
|
)
|
42803
42960
|
)
|
42804
42961
|
),
|
@@ -42841,13 +42998,13 @@ var matrixLookup = /* @__PURE__ */ $Tuple(
|
|
42841
42998
|
},
|
42842
42999
|
op_bwd: (dictAnn) => {
|
42843
43000
|
const BoundedJoinSemilattice0 = dictAnn.BoundedLattice1().BoundedJoinSemilattice0();
|
42844
|
-
const
|
43001
|
+
const bot2 = BoundedJoinSemilattice0.bot;
|
42845
43002
|
return (v) => {
|
42846
43003
|
const $0 = v._2;
|
42847
43004
|
return $List(
|
42848
43005
|
"Cons",
|
42849
43006
|
$Val(
|
42850
|
-
|
43007
|
+
bot2,
|
42851
43008
|
$BaseVal(
|
42852
43009
|
"Matrix",
|
42853
43010
|
matrixPut(v._1._2._1)(v._1._2._2)((v$1) => $0)(functorMatrixRep.map((() => {
|
@@ -42859,14 +43016,14 @@ var matrixLookup = /* @__PURE__ */ $Tuple(
|
|
42859
43016
|
$List(
|
42860
43017
|
"Cons",
|
42861
43018
|
$Val(
|
42862
|
-
|
43019
|
+
bot2,
|
42863
43020
|
$BaseVal(
|
42864
43021
|
"Constr",
|
42865
43022
|
"Pair",
|
42866
43023
|
$List(
|
42867
43024
|
"Cons",
|
42868
|
-
$Val(
|
42869
|
-
$List("Cons", $Val(
|
43025
|
+
$Val(bot2, $BaseVal("Int", v._1._2._1)),
|
43026
|
+
$List("Cons", $Val(bot2, $BaseVal("Int", v._1._2._2)), Nil)
|
42870
43027
|
)
|
42871
43028
|
)
|
42872
43029
|
),
|
@@ -42891,8 +43048,8 @@ var lessThan = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntN
|
|
42891
43048
|
var greaterThanEquals = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 >= a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 >= a2)((a1) => (a2) => a1 >= a2));
|
42892
43049
|
var greaterThan = /* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asIntNumberOrString)(asIntNumberOrString)((a1) => (a2) => a1 > a2)(/* @__PURE__ */ union5(asBooleanBoolean)(asBooleanBoolean)(asNumberString)(asNumberString)((a1) => (a2) => a1 > a2)((a1) => (a2) => a1 > a2));
|
42893
43050
|
var extern = (dictBoundedJoinSemilattice) => {
|
42894
|
-
const
|
42895
|
-
return (v) => $Tuple(v._1, $Val(
|
43051
|
+
const bot2 = dictBoundedJoinSemilattice.bot;
|
43052
|
+
return (v) => $Tuple(v._1, $Val(bot2, $BaseVal("Fun", $Fun("Foreign", $Tuple(v._1, v._2), Nil))));
|
42896
43053
|
};
|
42897
43054
|
var extern1 = /* @__PURE__ */ extern(boundedJoinSemilatticeUni);
|
42898
43055
|
var error_ = /* @__PURE__ */ $Tuple(
|
@@ -43217,21 +43374,21 @@ var dict_get = /* @__PURE__ */ $Tuple(
|
|
43217
43374
|
};
|
43218
43375
|
},
|
43219
43376
|
op_bwd: (dictAnn) => {
|
43220
|
-
const
|
43377
|
+
const bot2 = dictAnn.BoundedLattice1().BoundedJoinSemilattice0().bot;
|
43221
43378
|
return (v) => {
|
43222
43379
|
const $0 = v._1;
|
43223
43380
|
return $List(
|
43224
43381
|
"Cons",
|
43225
|
-
$Val(
|
43382
|
+
$Val(bot2, $BaseVal("Str", $0)),
|
43226
43383
|
$List(
|
43227
43384
|
"Cons",
|
43228
43385
|
$Val(
|
43229
|
-
|
43386
|
+
bot2,
|
43230
43387
|
$BaseVal(
|
43231
43388
|
"Dictionary",
|
43232
43389
|
(() => {
|
43233
43390
|
const $1 = {};
|
43234
|
-
$1[$0] = $Tuple(
|
43391
|
+
$1[$0] = $Tuple(bot2, v._2);
|
43235
43392
|
return $1;
|
43236
43393
|
})()
|
43237
43394
|
)
|
@@ -43292,7 +43449,7 @@ var dict_foldl = /* @__PURE__ */ $Tuple(
|
|
43292
43449
|
op_bwd: (dictAnn) => {
|
43293
43450
|
const apply2Bwd2 = apply2Bwd(dictAnn);
|
43294
43451
|
const BoundedJoinSemilattice0 = dictAnn.BoundedLattice1().BoundedJoinSemilattice0();
|
43295
|
-
const
|
43452
|
+
const bot2 = BoundedJoinSemilattice0.bot;
|
43296
43453
|
return (v) => {
|
43297
43454
|
const go = (go$a0$copy) => (go$a1$copy) => {
|
43298
43455
|
let go$a0 = go$a0$copy, go$a1 = go$a1$copy, go$c = true, go$r;
|
@@ -43312,7 +43469,7 @@ var dict_foldl = /* @__PURE__ */ $Tuple(
|
|
43312
43469
|
$Tuple(
|
43313
43470
|
v5._2._1,
|
43314
43471
|
mutate(($1) => () => {
|
43315
|
-
$1[$0] = $Tuple(
|
43472
|
+
$1[$0] = $Tuple(bot2, v5._2._2);
|
43316
43473
|
return $1;
|
43317
43474
|
})(b._2._2)
|
43318
43475
|
)
|
@@ -43335,7 +43492,7 @@ var dict_foldl = /* @__PURE__ */ $Tuple(
|
|
43335
43492
|
return $List(
|
43336
43493
|
"Cons",
|
43337
43494
|
v2._1,
|
43338
|
-
$List("Cons", v2._2._1, $List("Cons", $Val(
|
43495
|
+
$List("Cons", v2._2._1, $List("Cons", $Val(bot2, $BaseVal("Dictionary", v2._2._2)), Nil))
|
43339
43496
|
);
|
43340
43497
|
};
|
43341
43498
|
}
|
@@ -43822,9 +43979,22 @@ var dual = (v) => ({
|
|
43822
43979
|
bwd: (x2) => functorEnvExpr.map(boolNot)(v.fwd(_fmapObject(x2, functorVal.map(boolNot))))
|
43823
43980
|
});
|
43824
43981
|
var neg12 = { neg: (x2) => functorSelState.map(boolNot)(x2) };
|
43825
|
-
var
|
43826
|
-
|
43827
|
-
|
43982
|
+
var joinSemilatticeSelState = {
|
43983
|
+
join: (v) => (v1) => {
|
43984
|
+
if (v1.tag === "Inert") {
|
43985
|
+
return v;
|
43986
|
+
}
|
43987
|
+
if (v.tag === "Inert") {
|
43988
|
+
return v1;
|
43989
|
+
}
|
43990
|
+
if (v.tag === "Reactive" && v1.tag === "Reactive") {
|
43991
|
+
return $SelState("Reactive", { persistent: v._1.persistent || v1._1.persistent, transient: v._1.transient || v1._1.transient });
|
43992
|
+
}
|
43993
|
+
fail();
|
43994
|
+
}
|
43995
|
+
};
|
43996
|
+
var meet2 = /* @__PURE__ */ (() => {
|
43997
|
+
const $0 = joinSemilatticeVal(joinSemilatticeSelState);
|
43828
43998
|
return {
|
43829
43999
|
fwd: (x2) => {
|
43830
44000
|
const $1 = $0.join($Val(functorSelState.map(boolNot)(x2._1._1), functorBaseVal.map(neg12.neg)(x2._1._2)))($Val(
|
@@ -43845,7 +44015,7 @@ var meet = /* @__PURE__ */ (() => {
|
|
43845
44015
|
})();
|
43846
44016
|
var meet1 = {
|
43847
44017
|
fwd: (x2) => _fmapObject(
|
43848
|
-
unionWith(joinSemilatticeVal(
|
44018
|
+
unionWith(joinSemilatticeVal(joinSemilatticeSelState).join)(_fmapObject(x2._1, functorVal.map(neg12.neg)))(_fmapObject(
|
43849
44019
|
x2._2,
|
43850
44020
|
functorVal.map(neg12.neg)
|
43851
44021
|
)),
|
@@ -44032,9 +44202,9 @@ var loadFig = (v) => (dictMonadAff) => {
|
|
44032
44202
|
const $11 = lift1(\u03B3Inert)(vInert)(gc);
|
44033
44203
|
const $12 = lift3(vInert)(\u03B3Inert)(gc_dual);
|
44034
44204
|
return {
|
44035
|
-
fwd: (x2) => $12.fwd(
|
44205
|
+
fwd: (x2) => $12.fwd(meet2.fwd($Tuple($11.fwd(x2._1), categoryGaloisConnection.identity.fwd(x2._2)))),
|
44036
44206
|
bwd: (x2) => {
|
44037
|
-
const $13 =
|
44207
|
+
const $13 = meet2.bwd($12.bwd(x2));
|
44038
44208
|
return $Tuple($11.bwd($13._1), categoryGaloisConnection.identity.bwd($13._2));
|
44039
44209
|
}
|
44040
44210
|
};
|