@explorable-viz/fluid 0.7.63 → 0.7.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -2
- 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
|
};
|