@explorable-viz/fluid 0.7.60 → 0.7.62
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/.spago/node-process/v11.0.0/.eslintrc.json +29 -0
- package/.spago/node-process/v11.0.0/.gitignore +8 -0
- package/.spago/node-process/v11.1.0/.eslintrc.json +29 -0
- package/.spago/node-process/v11.1.0/.gitignore +8 -0
- package/.spago/node-process/v11.2.0/.eslintrc.json +29 -0
- package/.spago/node-process/v11.2.0/.gitignore +8 -0
- package/.spago/optparse/v6.0.0/.gitignore +8 -0
- package/.spago/optparse/v6.0.0/.npmrc +1 -0
- package/README.md +28 -9
- package/dist/fluid/fluid/.DS_Store +0 -0
- package/dist/fluid/fluid/example/linked-inputs/energyscatter.fld +1 -2
- package/dist/fluid/fluid/example/linked-inputs/mini-energyscatter.fld +1 -2
- package/dist/fluid/fluid/example/plot/non-renewables.fld +3 -4
- package/dist/fluid/fluid/example/slicing/linked-outputs/stacked-bar-scatter-plot.fld +1 -2
- package/dist/fluid/fluid/lib/convolution.fld +4 -3
- package/dist/fluid/fluid/lib/text-viz.fld +5 -5
- package/dist/fluid/shared/fluid.mjs +54 -50
- package/dist/fluid/shared/load-figure.js +192 -218
- package/package.json +5 -6
- package/script/bundle-website.sh +0 -1
- package/.spago/affjax-node/v1.0.0/.editorconfig +0 -13
- package/.spago/affjax-node/v1.0.0/.eslintrc.json +0 -30
- package/.spago/affjax-node/v1.0.0/.gitignore +0 -13
- package/.spago/pathy/v9.0.0/.editorconfig +0 -13
- package/.spago/pathy/v9.0.0/.gitignore +0 -9
- package/.spago/pathy/v9.0.0/.tidyrc.json +0 -10
@@ -27787,8 +27787,7 @@ var dataTypes = /* @__PURE__ */ foldrArray(Cons)(Nil)([
|
|
27787
27787
|
/* @__PURE__ */ $Tuple("Viewport", 9)
|
27788
27788
|
]),
|
27789
27789
|
/* @__PURE__ */ dataType("Transform")([/* @__PURE__ */ $Tuple("Scale", 2), /* @__PURE__ */ $Tuple("Translate", 2)]),
|
27790
|
-
/* @__PURE__ */ dataType("Marker")([/* @__PURE__ */ $Tuple("Arrowhead", 0)])
|
27791
|
-
/* @__PURE__ */ dataType("Explanation")([/* @__PURE__ */ $Tuple("Explained", 2)])
|
27790
|
+
/* @__PURE__ */ dataType("Marker")([/* @__PURE__ */ $Tuple("Arrowhead", 0)])
|
27792
27791
|
]);
|
27793
27792
|
var ctrToDataType = /* @__PURE__ */ (() => fromFoldable(foldableList)(bindList.bind(listMap((d) => listMap((v) => $Tuple(
|
27794
27793
|
v,
|
@@ -34840,7 +34839,6 @@ var forDefs = (\u03C1) => (\u03C3) => {
|
|
34840
34839
|
};
|
34841
34840
|
|
34842
34841
|
// output-es/Primitive/index.js
|
34843
|
-
var $Explanation = (_1, _2, _3) => ({ tag: "Explanation", _1, _2, _3 });
|
34844
34842
|
var fanin2 = /* @__PURE__ */ fanin(categoryFn)(choiceFn);
|
34845
34843
|
var isZeroNumber = { isZero: ($0) => 0 === $0 };
|
34846
34844
|
var isZeroInt = { isZero: ($0) => 0 === $0 };
|
@@ -34916,30 +34914,6 @@ var number5 = {
|
|
34916
34914
|
return typeError(v)("Float");
|
34917
34915
|
}
|
34918
34916
|
};
|
34919
|
-
var linkedTextEntry = {
|
34920
|
-
pack: (v) => {
|
34921
|
-
if (v.tag === "Left") {
|
34922
|
-
return $BaseVal("Str", v._1);
|
34923
|
-
}
|
34924
|
-
if (v.tag === "Right") {
|
34925
|
-
return $BaseVal(
|
34926
|
-
"Constr",
|
34927
|
-
"Explained",
|
34928
|
-
$List("Cons", $Val(v._1._1, $BaseVal("Str", v._1._2)), $List("Cons", $Val(v._1._3._1, v._1._3._2), Nil))
|
34929
|
-
);
|
34930
|
-
}
|
34931
|
-
fail();
|
34932
|
-
},
|
34933
|
-
unpack: (v) => {
|
34934
|
-
if (v.tag === "Str") {
|
34935
|
-
return $Either("Left", v._1);
|
34936
|
-
}
|
34937
|
-
if (v.tag === "Constr" && v._2.tag === "Cons" && v._2._1._2.tag === "Str" && v._2._2.tag === "Cons" && v._2._2._2.tag === "Nil" && v._1 === "Explained") {
|
34938
|
-
return $Either("Right", $Explanation(v._2._2._1._1, v._2._1._2._1, v._2._2._1));
|
34939
|
-
}
|
34940
|
-
return typeError(v)("String or Explanation");
|
34941
|
-
}
|
34942
|
-
};
|
34943
34917
|
var intOrNumberOrString = {
|
34944
34918
|
pack: (v) => {
|
34945
34919
|
if (v.tag === "Left") {
|
@@ -36593,7 +36567,19 @@ var reflectDictSelState\u{1D54A}$x215ValS3 = {
|
|
36593
36567
|
})()
|
36594
36568
|
})
|
36595
36569
|
};
|
36596
|
-
var reflectDictSelState\u{1D54A}$x215ValS12 = {
|
36570
|
+
var reflectDictSelState\u{1D54A}$x215ValS12 = {
|
36571
|
+
from: () => (r) => ({
|
36572
|
+
x: (() => {
|
36573
|
+
const $0 = $$get2(showString)(mapDictString)("x")(r);
|
36574
|
+
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
36575
|
+
})(),
|
36576
|
+
y: (() => {
|
36577
|
+
const $0 = $$get2(showString)(mapDictString)("y")(r);
|
36578
|
+
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
36579
|
+
})()
|
36580
|
+
})
|
36581
|
+
};
|
36582
|
+
var reflectDictSelState\u{1D54A}$x215ValS23 = { from: () => (r) => ({ x: get_intOrNumber("x")(r), y: get_intOrNumber("y")(r) }) };
|
36597
36583
|
|
36598
36584
|
// output-es/App.View.LineChart/index.js
|
36599
36585
|
var identity27 = (x2) => x2;
|
@@ -36622,7 +36608,7 @@ var reflectDictSelState\u{1D54A}$x215ValS4 = {
|
|
36622
36608
|
const $0 = $$get2(showString)(mapDictString)("name")(r);
|
36623
36609
|
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
36624
36610
|
})(),
|
36625
|
-
points: arrayMap(dict(reflectDictSelState\u{1D54A}$
|
36611
|
+
points: arrayMap(dict(reflectDictSelState\u{1D54A}$x215ValS23.from()))(reflectValSelState\u{1D54A}ArrayV.from()($$get2(showString)(mapDictString)("points")(r)._2))
|
36626
36612
|
})
|
36627
36613
|
};
|
36628
36614
|
var reflectValSelState\u{1D54A}LinePl = {
|
@@ -36897,114 +36883,84 @@ var drawableLineChart = {
|
|
36897
36883
|
}
|
36898
36884
|
};
|
36899
36885
|
|
36900
|
-
// output-es/App.View.LinkedText/
|
36901
|
-
|
36902
|
-
|
36903
|
-
|
36904
|
-
}
|
36905
|
-
return this;
|
36886
|
+
// output-es/App.View.LinkedText/index.js
|
36887
|
+
var for_4 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
36888
|
+
var forWithIndex_2 = /* @__PURE__ */ forWithIndex_(applicativeEffect)(foldableWithIndexArray);
|
36889
|
+
var reflectValSelState\u{1D54A}Linked = {
|
36890
|
+
from: () => (r) => arrayMap((v) => $Tuple(v._2.tag === "Str" ? v._2._1 : typeError(v._2)("Str"), v._1))(reflectValSelState\u{1D54A}ArrayV.from()(r))
|
36906
36891
|
};
|
36907
|
-
|
36908
|
-
|
36909
|
-
selClasses: selClasses2,
|
36910
|
-
selClassesFor: selClassesFor2,
|
36911
|
-
join: join3
|
36912
|
-
}, div, view2, selListener2) {
|
36913
|
-
div.selectAll("span").each(function(textElem) {
|
36914
|
-
var sel;
|
36915
|
-
if (textElem.conts.tag == "Left") {
|
36916
|
-
sel = accessAnn(view2[textElem.i]);
|
36917
|
-
} else {
|
36918
|
-
sel = accessAnn(view2[textElem.i]);
|
36919
|
-
}
|
36920
|
-
select_default2(this).classed(selClasses2, false).classed(selClassesFor2(sel), true).on("mousedown", (e) => {
|
36921
|
-
selListener2(e);
|
36922
|
-
}).on("mouseenter", (e) => {
|
36923
|
-
selListener2(e);
|
36924
|
-
}).on("mouseleave", (e) => {
|
36925
|
-
selListener2(e);
|
36926
|
-
});
|
36927
|
-
});
|
36928
|
-
}
|
36929
|
-
function drawLinkedText_({
|
36930
|
-
explanation,
|
36931
|
-
contents,
|
36932
|
-
accessAnn
|
36933
|
-
}, uiHelpers2, {
|
36934
|
-
divId,
|
36935
|
-
suffix,
|
36936
|
-
view: view2
|
36937
|
-
}, selListener2) {
|
36892
|
+
var setSelState3 = (v) => (redraw) => (rootElement) => {
|
36893
|
+
const $0 = selectAll2(".linked-text")(rootElement);
|
36938
36894
|
return () => {
|
36939
|
-
const
|
36940
|
-
|
36941
|
-
|
36942
|
-
|
36943
|
-
|
36944
|
-
|
36945
|
-
|
36946
|
-
|
36947
|
-
|
36948
|
-
|
36895
|
+
const elems$p = $0();
|
36896
|
+
return for_4(elems$p)((elem2) => {
|
36897
|
+
const $1 = datum2(elem2);
|
36898
|
+
return () => {
|
36899
|
+
const v1 = $1();
|
36900
|
+
const $2 = definitely("index within bounds")(index(v)(v1.i));
|
36901
|
+
const $3 = styles(elem2)(fromFoldable10([
|
36902
|
+
$Tuple("border-bottom", isTransient($2._2) ? "1px solid blue" : "none"),
|
36903
|
+
$Tuple(
|
36904
|
+
"background",
|
36905
|
+
(() => {
|
36906
|
+
if (isPrimary($2._2) && isPersistent($2._2)) {
|
36907
|
+
return "#93E9BE";
|
36908
|
+
}
|
36909
|
+
if (isSecondary($2._2) && isPersistent($2._2)) {
|
36910
|
+
return "rgb(226, 226, 226)";
|
36911
|
+
}
|
36912
|
+
return "white";
|
36913
|
+
})()
|
36914
|
+
),
|
36915
|
+
$Tuple(
|
36916
|
+
"color",
|
36917
|
+
(() => {
|
36918
|
+
if (isPrimary($2._2) && isTransient($2._2)) {
|
36919
|
+
return "blue";
|
36920
|
+
}
|
36921
|
+
if (isSecondary($2._2) && isTransient($2._2)) {
|
36922
|
+
return "royalblue";
|
36923
|
+
}
|
36924
|
+
return "black";
|
36925
|
+
})()
|
36926
|
+
)
|
36927
|
+
]))();
|
36928
|
+
return for_2(["mousedown", "mouseenter", "mouseleave"])((ev) => on(ev)(redraw)($3))();
|
36929
|
+
};
|
36930
|
+
})();
|
36931
|
+
};
|
36932
|
+
};
|
36933
|
+
var createRootElement2 = (v) => (div) => (childId) => {
|
36934
|
+
const $0 = createChild(div)(showElementType.show(Text2))(fromFoldable10([
|
36935
|
+
classes(["linked-text-parent"]),
|
36936
|
+
$Tuple("id", childId)
|
36937
|
+
]));
|
36938
|
+
return () => {
|
36939
|
+
const rootElement = $0();
|
36940
|
+
forWithIndex_2(v)((i) => (elem2) => {
|
36941
|
+
const $1 = createChild(rootElement)(showElementType.show(Text2))(fromFoldable10([
|
36942
|
+
classes(["linked-text"]),
|
36943
|
+
$Tuple("id", childId)
|
36944
|
+
]));
|
36945
|
+
return () => {
|
36946
|
+
const elem$p = $1();
|
36947
|
+
const $2 = setText(elem2._1)(elem$p)();
|
36948
|
+
return setDatum({ i })($2)();
|
36949
|
+
};
|
36950
|
+
})();
|
36951
|
+
return rootElement;
|
36949
36952
|
};
|
36950
|
-
}
|
36951
|
-
var drawLinkedText = (x1) => (x2) => (x3) => (x4) => drawLinkedText_(x1, x2, x3, x4);
|
36952
|
-
|
36953
|
-
// output-es/App.View.LinkedText/index.js
|
36954
|
-
var linkedTextHelpers = {
|
36955
|
-
explanation: (v) => {
|
36956
|
-
if (v.tag === "Left") {
|
36957
|
-
return v._1._1;
|
36958
|
-
}
|
36959
|
-
if (v.tag === "Right") {
|
36960
|
-
return v._1._1._2;
|
36961
|
-
}
|
36962
|
-
fail();
|
36963
|
-
},
|
36964
|
-
contents: (v) => {
|
36965
|
-
if (v.tag === "Left") {
|
36966
|
-
return v._1._1;
|
36967
|
-
}
|
36968
|
-
if (v.tag === "Right") {
|
36969
|
-
if (v._1._1._3._2.tag === "Str") {
|
36970
|
-
return v._1._1._3._2._1;
|
36971
|
-
}
|
36972
|
-
return typeError(v._1._1._3._2)("Str");
|
36973
|
-
}
|
36974
|
-
fail();
|
36975
|
-
},
|
36976
|
-
accessAnn: (v) => {
|
36977
|
-
if (v.tag === "Left") {
|
36978
|
-
return v._1._2;
|
36979
|
-
}
|
36980
|
-
if (v.tag === "Right") {
|
36981
|
-
return v._1._1._1;
|
36982
|
-
}
|
36983
|
-
fail();
|
36984
|
-
}
|
36985
36953
|
};
|
36954
|
+
var drawable2LinkedText = { createRootElement: createRootElement2, setSelState: setSelState3 };
|
36986
36955
|
var drawableLinkedText = {
|
36987
36956
|
draw: (rSpec) => (figVal) => (v) => (redraw) => {
|
36988
|
-
const $0 =
|
36989
|
-
const $1 = selListener(figVal)(redraw)((v1) => (x2) => constrArg("LinkedText")(0)(listElement(v1.i)(x2)));
|
36957
|
+
const $0 = selListener(figVal)(redraw)((v1) => (x2) => constrArg("LinkedText")(0)(listElement(v1.i)(x2)));
|
36990
36958
|
return () => {
|
36991
|
-
const $
|
36992
|
-
return $
|
36959
|
+
const $1 = $0();
|
36960
|
+
return draw$p(drawable2LinkedText)(uiHelpers)(rSpec)($1)();
|
36993
36961
|
};
|
36994
36962
|
}
|
36995
36963
|
};
|
36996
|
-
var reflectValSelState\u{1D54A}Linked = {
|
36997
|
-
from: () => (r) => arrayMap((x2) => {
|
36998
|
-
const $0 = linkedTextEntry.unpack(x2._2);
|
36999
|
-
if ($0.tag === "Left") {
|
37000
|
-
return $Either("Left", $Tuple($0._1, x2._1));
|
37001
|
-
}
|
37002
|
-
if ($0.tag === "Right") {
|
37003
|
-
return $Either("Right", $Tuple($0._1, x2._1));
|
37004
|
-
}
|
37005
|
-
fail();
|
37006
|
-
})(reflectValSelState\u{1D54A}ArrayV.from()(r))
|
37007
|
-
};
|
37008
36964
|
|
37009
36965
|
// output-es/App.View.MatrixView/foreign.js
|
37010
36966
|
function setSelState4({
|
@@ -37188,8 +37144,7 @@ function drawScatterPlot_(scatterPlotHelpers2, uiHelpers2, {
|
|
37188
37144
|
view: {
|
37189
37145
|
caption,
|
37190
37146
|
points,
|
37191
|
-
|
37192
|
-
ylabel
|
37147
|
+
labels
|
37193
37148
|
}
|
37194
37149
|
}, listener) {
|
37195
37150
|
return () => {
|
@@ -37215,8 +37170,8 @@ function drawScatterPlot_(scatterPlotHelpers2, uiHelpers2, {
|
|
37215
37170
|
rootElement.append("g").attr("transform", "translate(0," + height + ")").call(axisBottom(x2).tickSizeOuter(0)).selectAll("text").style("text-anchor", "middle");
|
37216
37171
|
const y2 = linear2().domain([Math.min(0, y_min), y_max]).range([height, 0]);
|
37217
37172
|
rootElement.append("g").call(axisLeft(y2).tickSizeOuter(0));
|
37218
|
-
rootElement.append("text").attr("x", width).attr("y", height + 25).style("text-anchor", "end").style("font-size", "10px").text(val(
|
37219
|
-
rootElement.append("text").attr("transform", "rotate(-90)").attr("x", -margin.top).attr("y", -margin.left + 20).style("text-anchor", "end").style("font-size", "10px").text(val(
|
37173
|
+
rootElement.append("text").attr("x", width).attr("y", height + 25).style("text-anchor", "end").style("font-size", "10px").text(val(labels.x));
|
37174
|
+
rootElement.append("text").attr("transform", "rotate(-90)").attr("x", -margin.top).attr("y", -margin.left + 20).style("text-anchor", "end").style("font-size", "10px").text(val(labels.y));
|
37220
37175
|
rootElement.append("g").selectAll("circle").data([...points.entries()].map(([i, point2]) => {
|
37221
37176
|
return { i, point: point2 };
|
37222
37177
|
})).enter().append("circle").classed("scatterplot-point", true).attr("cx", ({ point: point2 }) => x2(val(point2.x))).attr("cy", ({ point: point2 }) => y2(val(point2.y))).attr("stroke-width", 0.5);
|
@@ -37236,15 +37191,8 @@ var reflectDictSelState\u{1D54A}$x215ValS5 = {
|
|
37236
37191
|
const $0 = $$get2(showString)(mapDictString)("caption")(r);
|
37237
37192
|
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
37238
37193
|
})(),
|
37239
|
-
points: arrayMap(dict(reflectDictSelState\u{1D54A}$
|
37240
|
-
|
37241
|
-
const $0 = $$get2(showString)(mapDictString)("xlabel")(r);
|
37242
|
-
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
37243
|
-
})(),
|
37244
|
-
ylabel: (() => {
|
37245
|
-
const $0 = $$get2(showString)(mapDictString)("ylabel")(r);
|
37246
|
-
return $Tuple($0._2._2.tag === "Str" ? $0._2._2._1 : typeError($0._2._2)("Str"), $0._2._1);
|
37247
|
-
})()
|
37194
|
+
points: arrayMap(dict(reflectDictSelState\u{1D54A}$x215ValS23.from()))(reflectValSelState\u{1D54A}ArrayV.from()($$get2(showString)(mapDictString)("points")(r)._2)),
|
37195
|
+
labels: dict(reflectDictSelState\u{1D54A}$x215ValS12.from())($$get2(showString)(mapDictString)("labels")(r)._2)
|
37248
37196
|
})
|
37249
37197
|
};
|
37250
37198
|
var scatterPlotHelpers = {
|
@@ -37334,12 +37282,12 @@ var toStringWith = (v) => {
|
|
37334
37282
|
// output-es/App.View.TableView/index.js
|
37335
37283
|
var $Filter = (tag) => tag;
|
37336
37284
|
var toUnfoldable9 = /* @__PURE__ */ toUnfoldable4(unfoldableArray);
|
37337
|
-
var
|
37285
|
+
var forWithIndex_3 = /* @__PURE__ */ forWithIndex_(applicativeEffect)(foldableWithIndexArray);
|
37338
37286
|
var $$for = /* @__PURE__ */ (() => {
|
37339
37287
|
const traverse2 = traversableArray.traverse(applicativeEffect);
|
37340
37288
|
return (x2) => (f) => traverse2(f)(x2);
|
37341
37289
|
})();
|
37342
|
-
var
|
37290
|
+
var for_5 = /* @__PURE__ */ for_(applicativeEffect)(foldableArray);
|
37343
37291
|
var Interactive = /* @__PURE__ */ $Filter("Interactive");
|
37344
37292
|
var prim = (v) => {
|
37345
37293
|
if (v._2.tag === "Int") {
|
@@ -37363,7 +37311,7 @@ var record_isVisible = (r) => filter((v) => {
|
|
37363
37311
|
}
|
37364
37312
|
fail();
|
37365
37313
|
})(r).length !== 0;
|
37366
|
-
var
|
37314
|
+
var createRootElement3 = (v) => (div) => (childId) => {
|
37367
37315
|
const $0 = v.colNames;
|
37368
37316
|
const $1 = v.filter;
|
37369
37317
|
const $2 = v.rows;
|
@@ -37381,7 +37329,7 @@ var createRootElement2 = (v) => (div) => (childId) => {
|
|
37381
37329
|
const colNames$p = ["__n", ...$0];
|
37382
37330
|
const $4 = createChild(rootElement)(showElementType.show(THead))(fromFoldable10([]))();
|
37383
37331
|
const row = createChild($4)(showElementType.show(TR))(fromFoldable10([]))();
|
37384
|
-
|
37332
|
+
forWithIndex_3(colNames$p)((j) => (colName) => {
|
37385
37333
|
const value = (() => {
|
37386
37334
|
if (colName === "__n") {
|
37387
37335
|
if ($1 === "Relevant") {
|
@@ -37403,7 +37351,7 @@ var createRootElement2 = (v) => (div) => (childId) => {
|
|
37403
37351
|
};
|
37404
37352
|
})();
|
37405
37353
|
const body = createChild(rootElement)(showElementType.show(TBody))(fromFoldable10([]))();
|
37406
|
-
|
37354
|
+
forWithIndex_3($2)((i) => (row$1) => {
|
37407
37355
|
const $5 = createChild(body)(showElementType.show(TR))(fromFoldable10([
|
37408
37356
|
classes(["table-row"])
|
37409
37357
|
]));
|
@@ -37411,7 +37359,7 @@ var createRootElement2 = (v) => (div) => (childId) => {
|
|
37411
37359
|
return () => {
|
37412
37360
|
const $7 = $5();
|
37413
37361
|
const row$p = $6($7)();
|
37414
|
-
return
|
37362
|
+
return forWithIndex_3([showIntImpl(i + 1 | 0), ...arrayMap(prim)(row$1)])((j) => (value) => {
|
37415
37363
|
const $8 = createChild(row$p)(showElementType.show(TD))(fromFoldable10([
|
37416
37364
|
classes(j >= 0 ? ["table-cell"] : [])
|
37417
37365
|
]));
|
@@ -37487,7 +37435,7 @@ var setSelState6 = (v) => (redraw) => (rootElement) => {
|
|
37487
37435
|
const $3 = selectAll2(".table-cell")(rootElement);
|
37488
37436
|
return () => {
|
37489
37437
|
const cells = $3();
|
37490
|
-
|
37438
|
+
for_5(cells)((cell) => {
|
37491
37439
|
const $42 = datum2(cell);
|
37492
37440
|
return () => {
|
37493
37441
|
const v12 = $42();
|
@@ -37545,11 +37493,11 @@ var setSelState6 = (v) => (redraw) => (rootElement) => {
|
|
37545
37493
|
};
|
37546
37494
|
})();
|
37547
37495
|
const v1 = partition(snd)(a$p);
|
37548
|
-
|
37496
|
+
for_5(v1.no)((() => {
|
37549
37497
|
const $42 = classed("hidden")(true);
|
37550
37498
|
return (x2) => $42(x2._1);
|
37551
37499
|
})())();
|
37552
|
-
|
37500
|
+
for_5(v1.yes)((() => {
|
37553
37501
|
const $42 = classed("hidden")(false);
|
37554
37502
|
return (x2) => $42(x2._1);
|
37555
37503
|
})())();
|
@@ -37557,7 +37505,7 @@ var setSelState6 = (v) => (redraw) => (rootElement) => {
|
|
37557
37505
|
setText($1 + " (" + showIntImpl($0.length - v1.no.length | 0) + " of " + showIntImpl($0.length) + ")")($4)();
|
37558
37506
|
};
|
37559
37507
|
};
|
37560
|
-
var drawable2TableView = { createRootElement:
|
37508
|
+
var drawable2TableView = { createRootElement: createRootElement3, setSelState: setSelState6 };
|
37561
37509
|
var drawableTableView = {
|
37562
37510
|
draw: (rSpec) => (figVal) => (v) => (redraw) => {
|
37563
37511
|
const $0 = selListener(figVal)(redraw)((v1) => (x2) => listElement(v1.i)(dictVal(v1.colName)(x2)));
|
@@ -43673,17 +43621,18 @@ var parseProgram = (loadFile2) => (folder) => (file) => (dictMonadAff) => (dictM
|
|
43673
43621
|
})());
|
43674
43622
|
var module_2 = (dictMonadAff) => {
|
43675
43623
|
const Monad0 = dictMonadAff.MonadEffect0().Monad0();
|
43676
|
-
const
|
43624
|
+
const Bind1 = Monad0.Bind1();
|
43625
|
+
const Applicative0 = Monad0.Applicative0();
|
43677
43626
|
return (dictMonadError) => {
|
43678
43627
|
const parse1 = parse(dictMonadError);
|
43679
43628
|
const desugarModuleFwd = moduleFwd(dictMonadError)(boundedLattice2);
|
43680
|
-
return (loadFile2) => (file) => (v) => {
|
43681
|
-
const $
|
43682
|
-
return
|
43629
|
+
return (loadFile2) => (folder) => (file) => (v) => {
|
43630
|
+
const $0 = v.mods;
|
43631
|
+
return Bind1.bind(Applicative0.pure())(() => Bind1.bind(loadFile2(folder)(file)(dictMonadAff)(dictMonadError))((src) => Bind1.bind(Bind1.bind(parse1(src)(module_))(desugarModuleFwd))((mod) => Applicative0.pure({
|
43683
43632
|
primitives: v.primitives,
|
43684
|
-
mods: $List("Cons", mod, $
|
43633
|
+
mods: $List("Cons", mod, $0),
|
43685
43634
|
datasets: v.datasets
|
43686
|
-
})));
|
43635
|
+
}))));
|
43687
43636
|
};
|
43688
43637
|
};
|
43689
43638
|
};
|
@@ -43717,7 +43666,7 @@ var prepConfig = (dictMonadAff) => {
|
|
43717
43666
|
return (dictMonadError) => {
|
43718
43667
|
const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
|
43719
43668
|
const initialConfig1 = initialConfig(dictMonadError)(fVExpr);
|
43720
|
-
return (
|
43669
|
+
return (v) => (file) => (progCxt) => $0.bind(parseProgram(v.loadFile)(v.fluidSrcPath)(file)(dictMonadAff)(dictMonadError))((s) => $0.bind(desug1(s))((e) => $0.bind(initialConfig1(e)(progCxt))((gconfig) => Monad0.Applicative0().pure({
|
43721
43670
|
s,
|
43722
43671
|
e,
|
43723
43672
|
gconfig
|
@@ -43729,10 +43678,10 @@ var datasetAs = (dictMonadAff) => {
|
|
43729
43678
|
const $0 = Monad0.Bind1();
|
43730
43679
|
return (dictMonadError) => {
|
43731
43680
|
const desug1 = exprFwd(boundedLattice2)(dictMonadError)(joinSemilatticeUnit);
|
43732
|
-
return (loadFile2) => (v) => (v1) => {
|
43681
|
+
return (loadFile2) => (folder) => (v) => (v1) => {
|
43733
43682
|
const $1 = v1.datasets;
|
43734
43683
|
const $2 = v._1;
|
43735
|
-
return $0.bind($0.bind(parseProgram(loadFile2)(
|
43684
|
+
return $0.bind($0.bind(parseProgram(loadFile2)(folder)(v._2)(dictMonadAff)(dictMonadError))(desug1))((e\u03B1) => Monad0.Applicative0().pure({
|
43736
43685
|
primitives: v1.primitives,
|
43737
43686
|
mods: v1.mods,
|
43738
43687
|
datasets: $List("Cons", $Tuple($2, e\u03B1), $1)
|
@@ -43749,12 +43698,12 @@ var loadProgCxt = (dictMonadAff) => {
|
|
43749
43698
|
return (dictMonadError) => {
|
43750
43699
|
const module_22 = module_1(dictMonadError);
|
43751
43700
|
const datasetAs2 = datasetAs1(dictMonadError);
|
43752
|
-
return (
|
43701
|
+
return (v) => (mods) => (datasets) => $0.bind($0.bind(Monad0.Applicative0().pure({
|
43753
43702
|
primitives,
|
43754
43703
|
mods: Nil,
|
43755
43704
|
datasets: Nil
|
43756
|
-
}))(concatM1(arrayMap(module_22(
|
43757
|
-
const $1 = datasetAs2(
|
43705
|
+
}))(concatM1(arrayMap(module_22(v.loadFile)(v.fluidSrcPath))(["lib/prelude", ...mods]))))(concatM1(arrayMap((() => {
|
43706
|
+
const $1 = datasetAs2(v.loadFile)(v.fluidSrcPath);
|
43758
43707
|
return (x2) => $1($Tuple(x2._1, x2._2));
|
43759
43708
|
})())(datasets)));
|
43760
43709
|
};
|
@@ -43765,9 +43714,10 @@ var loadFile = (v) => (v1) => (dictMonadAff) => {
|
|
43765
43714
|
const MonadEffect0 = dictMonadAff.MonadEffect0();
|
43766
43715
|
const Monad0 = MonadEffect0.Monad0();
|
43767
43716
|
const Bind1 = Monad0.Bind1();
|
43717
|
+
const Applicative0 = Monad0.Applicative0();
|
43768
43718
|
return (dictMonadError) => Bind1.bind(dictMonadAff.liftAff(request(driver)({
|
43769
43719
|
method: $Either("Left", GET),
|
43770
|
-
url:
|
43720
|
+
url: v + "/" + v1 + ".fld",
|
43771
43721
|
headers: [],
|
43772
43722
|
content: Nothing,
|
43773
43723
|
username: Nothing,
|
@@ -43781,12 +43731,27 @@ var loadFile = (v) => (v1) => (dictMonadAff) => {
|
|
43781
43731
|
return Bind1.bind(MonadEffect0.liftEffect(log2("Failed with " + printError($0))))(() => dictMonadError.MonadThrow0().throwError(error(printError($0))));
|
43782
43732
|
}
|
43783
43733
|
if (result.tag === "Right") {
|
43784
|
-
|
43734
|
+
const $0 = result._1;
|
43735
|
+
return Bind1.bind(Applicative0.pure())(() => Applicative0.pure($0.body));
|
43785
43736
|
}
|
43786
43737
|
fail();
|
43787
43738
|
});
|
43788
43739
|
};
|
43789
43740
|
var loadFile$p = (folder) => (file) => (dictMonadAff) => (dictMonadError) => dictMonadAff.MonadEffect0().Monad0().Bind1().Apply0().Functor0().map((v) => $Tuple(file, v))(loadFile(folder)(file)(dictMonadAff)(dictMonadError));
|
43741
|
+
var loadProgCxt2 = (dictMonadAff) => {
|
43742
|
+
const loadProgCxt1 = loadProgCxt(dictMonadAff);
|
43743
|
+
return (dictMonadError) => {
|
43744
|
+
const loadProgCxt22 = loadProgCxt1(dictMonadError);
|
43745
|
+
return (fluidSrcPath) => loadProgCxt22({ loadFile, fluidSrcPath });
|
43746
|
+
};
|
43747
|
+
};
|
43748
|
+
var prepConfig2 = (dictMonadAff) => {
|
43749
|
+
const prepConfig1 = prepConfig(dictMonadAff);
|
43750
|
+
return (dictMonadError) => {
|
43751
|
+
const prepConfig22 = prepConfig1(dictMonadError);
|
43752
|
+
return (fluidSrcPath) => prepConfig22({ loadFile, fluidSrcPath });
|
43753
|
+
};
|
43754
|
+
};
|
43790
43755
|
|
43791
43756
|
// output-es/App.Fig/index.js
|
43792
43757
|
var highlightableSelState2 = /* @__PURE__ */ highlightableSelState(highlightableBoolean)(joinSemilatticeBoolean);
|
@@ -43972,67 +43937,68 @@ var lift3 = /* @__PURE__ */ lift(applyVal)(applyEnv);
|
|
43972
43937
|
var loadFig = (v) => (dictMonadAff) => {
|
43973
43938
|
const Monad0 = dictMonadAff.MonadEffect0().Monad0();
|
43974
43939
|
const $0 = Monad0.Bind1();
|
43975
|
-
const
|
43976
|
-
const
|
43940
|
+
const loadProgCxt3 = loadProgCxt2(dictMonadAff);
|
43941
|
+
const prepConfig3 = prepConfig2(dictMonadAff);
|
43977
43942
|
return (dictMonadError) => {
|
43978
|
-
const prepConfig1
|
43943
|
+
const prepConfig1 = prepConfig3(dictMonadError);
|
43979
43944
|
const graphEval2 = graphEval(dictMonadError);
|
43980
43945
|
const $1 = v.file;
|
43981
|
-
const $2 = v.
|
43982
|
-
|
43983
|
-
|
43946
|
+
const $2 = v.fluidSrcPath;
|
43947
|
+
const $3 = v.inputs;
|
43948
|
+
return $0.bind(loadProgCxt3(dictMonadError)($2)(v.imports)(v.datasets))((progCxt) => $0.bind(prepConfig1($2)($1)(progCxt))((v1) => {
|
43949
|
+
const $4 = v1.s;
|
43984
43950
|
return $0.bind(graphEval2(v1.gconfig)(v1.e))((v2) => {
|
43985
43951
|
const v3 = functorEnvExpr.map((v$1) => {
|
43986
43952
|
})(v2["in\u03B1"]);
|
43987
43953
|
const \u03B30 = _fmapObject(v2["in\u03B1"]._1, functorVal.map((v$1) => false));
|
43988
43954
|
const v0 = $Val(false, functorBaseVal.map((v$1) => false)(v2["out\u03B1"]._2));
|
43989
|
-
const $
|
43990
|
-
const $
|
43991
|
-
const focus = { fwd: (x2) => $
|
43992
|
-
const $
|
43993
|
-
const gc = { fwd: (x2) => $
|
43994
|
-
const $
|
43995
|
-
const vInert = $Val(selState($
|
43955
|
+
const $5 = unrestrictGC(boundedMeetSemilatticeBoo)(v3._1)(fromFoldable28($3));
|
43956
|
+
const $6 = unprojExpr(boundedMeetSemilatticeBoo)($EnvExpr(v3._1, v3._2));
|
43957
|
+
const focus = { fwd: (x2) => $6.fwd($5.fwd(x2)), bwd: (x2) => $5.bwd($6.bwd(x2)) };
|
43958
|
+
const $7 = graphGC1(v2);
|
43959
|
+
const gc = { fwd: (x2) => $7.fwd(focus.fwd(x2)), bwd: (x2) => focus.bwd($7.bwd(x2)) };
|
43960
|
+
const $8 = gc.fwd(\u03B30);
|
43961
|
+
const vInert = $Val(selState($8._1), functorBaseVal.map(selState)($8._2));
|
43996
43962
|
const \u03B3Inert = _fmapObject(
|
43997
43963
|
_fmapObject(gc.bwd($Val(true, functorBaseVal.map((v$1) => true)(v2["out\u03B1"]._2))), functorVal.map(boolNot)),
|
43998
43964
|
functorVal.map(selState)
|
43999
43965
|
);
|
44000
|
-
const $
|
43966
|
+
const $9 = graphGC22({
|
44001
43967
|
g: $GraphImpl({ out: v2.g._1.in_, in_: v2.g._1.out, sinks: v2.g._1.sources, sources: v2.g._1.sinks, vertices: v2.g._1.vertices }),
|
44002
43968
|
graph_fwd: v2.graph_fwd,
|
44003
43969
|
graph_bwd: v2.graph_bwd,
|
44004
43970
|
"in\u03B1": v2["out\u03B1"],
|
44005
43971
|
"out\u03B1": v2["in\u03B1"]
|
44006
43972
|
});
|
44007
|
-
const $
|
44008
|
-
const gc_dual = { fwd: (x2) => $
|
43973
|
+
const $10 = dual(focus);
|
43974
|
+
const gc_dual = { fwd: (x2) => $10.fwd($9.fwd(x2)), bwd: (x2) => $9.bwd($10.bwd(x2)) };
|
44009
43975
|
return Monad0.Applicative0().pure({
|
44010
43976
|
spec: v,
|
44011
|
-
s: $
|
43977
|
+
s: $4,
|
44012
43978
|
"\u03B3": intersectionWith_Object(apply)(_fmapObject(
|
44013
43979
|
intersectionWith_Object(apply)(_fmapObject(\u03B3Inert, applyVal.apply))(\u03B30),
|
44014
43980
|
applyVal.apply
|
44015
43981
|
))(\u03B30),
|
44016
43982
|
v: applyVal.apply(applyVal.apply(vInert)(v0))(v0),
|
44017
43983
|
linkedOutputs: (() => {
|
44018
|
-
const $
|
44019
|
-
const $
|
43984
|
+
const $11 = lift3(vInert)(\u03B3Inert)(gc_dual);
|
43985
|
+
const $12 = lift1(\u03B3Inert)(vInert)(gc);
|
44020
43986
|
return {
|
44021
|
-
fwd: (x2) => $
|
43987
|
+
fwd: (x2) => $12.fwd(meet1.fwd($Tuple($11.fwd(x2._1), categoryGaloisConnection.identity.fwd(x2._2)))),
|
44022
43988
|
bwd: (x2) => {
|
44023
|
-
const $
|
44024
|
-
return $Tuple($
|
43989
|
+
const $13 = meet1.bwd($12.bwd(x2));
|
43990
|
+
return $Tuple($11.bwd($13._1), categoryGaloisConnection.identity.bwd($13._2));
|
44025
43991
|
}
|
44026
43992
|
};
|
44027
43993
|
})(),
|
44028
43994
|
linkedInputs: (() => {
|
44029
|
-
const $
|
44030
|
-
const $
|
43995
|
+
const $11 = lift1(\u03B3Inert)(vInert)(gc);
|
43996
|
+
const $12 = lift3(vInert)(\u03B3Inert)(gc_dual);
|
44031
43997
|
return {
|
44032
|
-
fwd: (x2) => $
|
43998
|
+
fwd: (x2) => $12.fwd(meet.fwd($Tuple($11.fwd(x2._1), categoryGaloisConnection.identity.fwd(x2._2)))),
|
44033
43999
|
bwd: (x2) => {
|
44034
|
-
const $
|
44035
|
-
return $Tuple($
|
44000
|
+
const $13 = meet.bwd($12.bwd(x2));
|
44001
|
+
return $Tuple($11.bwd($13._1), categoryGaloisConnection.identity.bwd($13._2));
|
44036
44002
|
}
|
44037
44003
|
};
|
44038
44004
|
})(),
|
@@ -44250,7 +44216,26 @@ var gDecodeJsonCons = (dictDecodeJsonField) => (dictGDecodeJson) => (dictIsSymbo
|
|
44250
44216
|
var monadAffAff = { liftAff: (x2) => x2, MonadEffect0: () => monadEffectAff };
|
44251
44217
|
|
44252
44218
|
// output-es/App.LoadFigure/index.js
|
44253
|
-
var gDecodeJsonCons2 = /* @__PURE__ */ gDecodeJsonCons(
|
44219
|
+
var gDecodeJsonCons2 = /* @__PURE__ */ gDecodeJsonCons({
|
44220
|
+
decodeJsonField: (j) => {
|
44221
|
+
if (j.tag === "Just") {
|
44222
|
+
return $Maybe(
|
44223
|
+
"Just",
|
44224
|
+
_caseJson(
|
44225
|
+
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44226
|
+
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44227
|
+
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44228
|
+
Right,
|
44229
|
+
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44230
|
+
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44231
|
+
j._1
|
44232
|
+
)
|
44233
|
+
);
|
44234
|
+
}
|
44235
|
+
return Nothing;
|
44236
|
+
}
|
44237
|
+
});
|
44238
|
+
var gDecodeJsonCons1 = /* @__PURE__ */ gDecodeJsonCons(/* @__PURE__ */ (() => {
|
44254
44239
|
const $0 = decodeArray(caseJsonString($Either(
|
44255
44240
|
"Left",
|
44256
44241
|
$JsonDecodeError("TypeMismatch", "String")
|
@@ -44264,7 +44249,7 @@ var gDecodeJsonCons2 = /* @__PURE__ */ gDecodeJsonCons(/* @__PURE__ */ (() => {
|
|
44264
44249
|
}
|
44265
44250
|
};
|
44266
44251
|
})());
|
44267
|
-
var
|
44252
|
+
var decodeJson = /* @__PURE__ */ (() => decodeRecord(gDecodeJsonCons((() => {
|
44268
44253
|
const $0 = decodeArray(decodeTuple(caseJsonString($Either(
|
44269
44254
|
"Left",
|
44270
44255
|
$JsonDecodeError("TypeMismatch", "String")
|
@@ -44277,40 +44262,28 @@ var jsonToSpec = /* @__PURE__ */ (() => decodeRecord(gDecodeJsonCons((() => {
|
|
44277
44262
|
return Nothing;
|
44278
44263
|
}
|
44279
44264
|
};
|
44280
|
-
})())(
|
44281
|
-
|
44282
|
-
|
44283
|
-
|
44284
|
-
"Just",
|
44285
|
-
_caseJson(
|
44286
|
-
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44287
|
-
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44288
|
-
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44289
|
-
Right,
|
44290
|
-
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44291
|
-
(v) => $Either("Left", $JsonDecodeError("TypeMismatch", "String")),
|
44292
|
-
j._1
|
44293
|
-
)
|
44294
|
-
);
|
44295
|
-
}
|
44296
|
-
return Nothing;
|
44297
|
-
}
|
44298
|
-
})(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonNil)({ reflectSymbol: () => "inputs" })()())({ reflectSymbol: () => "imports" })()())({
|
44299
|
-
reflectSymbol: () => "file"
|
44300
|
-
})()())({ reflectSymbol: () => "datasets" })()())().decodeJson)();
|
44301
|
-
var figSpecFromJson = (spec) => ({ datasets: spec.datasets, imports: spec.imports, file: spec.file, inputs: spec.inputs });
|
44265
|
+
})())(gDecodeJsonCons2(gDecodeJsonCons2(gDecodeJsonCons1(gDecodeJsonCons1(gDecodeJsonNil)({ reflectSymbol: () => "inputs" })()())({
|
44266
|
+
reflectSymbol: () => "imports"
|
44267
|
+
})()())({ reflectSymbol: () => "fluidSrcPath" })()())({ reflectSymbol: () => "file" })()())({ reflectSymbol: () => "datasets" })()())().decodeJson)();
|
44268
|
+
var figSpecFromJson = (spec) => ({ fluidSrcPath: spec.fluidSrcPath, datasets: spec.datasets, imports: spec.imports, file: spec.file, inputs: spec.inputs });
|
44302
44269
|
var loadFigure = (fileName) => runAffs_((v) => drawFig(v._1)(v._2))([
|
44303
44270
|
_bind($$get(driver)($ResponseFormat("Json", identity))(fileName))((result) => {
|
44304
44271
|
if (result.tag === "Left") {
|
44305
44272
|
return throwException(error("Json fetching failed with " + printError(result._1)))();
|
44306
44273
|
}
|
44307
44274
|
if (result.tag === "Right") {
|
44308
|
-
const v =
|
44275
|
+
const v = decodeJson(result._1.body);
|
44309
44276
|
if (v.tag === "Left") {
|
44310
44277
|
return throwException(error("JSON decoding failed with " + showJsonDecodeError.show(v._1)))();
|
44311
44278
|
}
|
44312
44279
|
if (v.tag === "Right") {
|
44313
|
-
return _map((v1) => $Tuple("fig", v1))(loadFig({
|
44280
|
+
return _map((v1) => $Tuple("fig", v1))(loadFig({
|
44281
|
+
fluidSrcPath: v._1.fluidSrcPath,
|
44282
|
+
datasets: v._1.datasets,
|
44283
|
+
imports: v._1.imports,
|
44284
|
+
file: v._1.file,
|
44285
|
+
inputs: v._1.inputs
|
44286
|
+
})(monadAffAff)(monadErrorAff));
|
44314
44287
|
}
|
44315
44288
|
}
|
44316
44289
|
fail();
|
@@ -44318,9 +44291,10 @@ var loadFigure = (fileName) => runAffs_((v) => drawFig(v._1)(v._2))([
|
|
44318
44291
|
]);
|
44319
44292
|
var drawCode2 = (folder) => (file) => runAffs_(drawFile)([loadFile$p(folder)(file)(monadAffAff)(monadErrorAff)]);
|
44320
44293
|
export {
|
44294
|
+
decodeJson,
|
44321
44295
|
drawCode2 as drawCode,
|
44322
44296
|
figSpecFromJson,
|
44323
44297
|
gDecodeJsonCons2 as gDecodeJsonCons,
|
44324
|
-
|
44298
|
+
gDecodeJsonCons1,
|
44325
44299
|
loadFigure
|
44326
44300
|
};
|