@explorable-viz/fluid 0.7.27 → 0.7.29
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/css/css/styles.css +343 -0
- package/dist/fluid/css/css/view-styles.css +182 -0
- package/dist/fluid/fluid.mjs +41 -24
- package/dist/fluid/font/font/GraphikLight.woff2 +0 -0
- package/dist/fluid/font/font/GraphikLightItalic.woff2 +0 -0
- package/dist/fluid/font/font/GraphikMedium.woff2 +0 -0
- package/dist/fluid/font/font/GraphikMediumItalic.woff2 +0 -0
- package/dist/fluid/font/font/OdiseanTech.woff2 +0 -0
- package/dist/fluid/image/fluid-logo.png +0 -0
- package/dist/fluid/image/iccs-full-logo.png +0 -0
- package/dist/fluid/image/schmidtsciences_primary_color.png +0 -0
- package/dist/fluid/shared/shared/footer.html +6 -0
- package/dist/fluid/shared/shared/header.html +26 -0
- package/dist/fluid/shared/shared/sub-header.html +12 -0
- package/dist/fluid/shared/shared/util.js +72 -0
- package/package.json +1 -1
- package/script/bundle-website.sh +6 -0
@@ -0,0 +1,343 @@
|
|
1
|
+
@charset "UTF-8";
|
2
|
+
@import url("https://fonts.googleapis.com/css2?family=Fira+Code&display=swap");
|
3
|
+
@import url('https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap');
|
4
|
+
|
5
|
+
@font-face {
|
6
|
+
font-family: 'OdiseanTech';
|
7
|
+
src: url('/font/OdiseanTech.woff2') format('woff2');
|
8
|
+
font-weight: normal;
|
9
|
+
font-style: normal;
|
10
|
+
}
|
11
|
+
|
12
|
+
@font-face {
|
13
|
+
font-family: 'GraphikLight';
|
14
|
+
src: url('/font/GraphikLight.woff2') format('woff2');
|
15
|
+
font-weight: 300;
|
16
|
+
font-style: normal;
|
17
|
+
}
|
18
|
+
|
19
|
+
@font-face {
|
20
|
+
font-family: 'GraphikLightItalic';
|
21
|
+
src: url('/font/GraphikLightItalic.woff2') format('woff2');
|
22
|
+
font-weight: 300;
|
23
|
+
font-style: italic;
|
24
|
+
}
|
25
|
+
|
26
|
+
@font-face {
|
27
|
+
font-family: 'GraphikMedium';
|
28
|
+
src: url('/font/GraphikMedium.woff2') format('woff2');
|
29
|
+
font-weight: 500;
|
30
|
+
font-style: normal;
|
31
|
+
}
|
32
|
+
|
33
|
+
@font-face {
|
34
|
+
font-family: 'GraphikMediumItalic';
|
35
|
+
src: url('/font/GraphikMediumItalic.woff2') format('woff2');
|
36
|
+
font-weight: 500;
|
37
|
+
font-style: italic;
|
38
|
+
}
|
39
|
+
|
40
|
+
.fluid-logo {
|
41
|
+
margin-bottom: 0;
|
42
|
+
}
|
43
|
+
|
44
|
+
.fluid-subtitle {
|
45
|
+
margin-bottom: 0;
|
46
|
+
margin-top: 0;
|
47
|
+
font-size: 12pt;
|
48
|
+
}
|
49
|
+
|
50
|
+
a:link {
|
51
|
+
color: darkslategray;
|
52
|
+
}
|
53
|
+
|
54
|
+
a:visited {
|
55
|
+
color: #004d40;
|
56
|
+
}
|
57
|
+
|
58
|
+
a:hover {
|
59
|
+
color: #009688;
|
60
|
+
}
|
61
|
+
|
62
|
+
a:active {
|
63
|
+
color: #003d33;
|
64
|
+
}
|
65
|
+
|
66
|
+
.right-justified {
|
67
|
+
margin-left: auto;
|
68
|
+
width: fit-content;
|
69
|
+
}
|
70
|
+
|
71
|
+
.nowrap {
|
72
|
+
white-space: nowrap;
|
73
|
+
}
|
74
|
+
|
75
|
+
code {
|
76
|
+
font-family: 'Ubuntu Mono', monospace;
|
77
|
+
}
|
78
|
+
|
79
|
+
body {
|
80
|
+
font-size: 12pt;
|
81
|
+
font-family: "GraphikLight", sans-serif;
|
82
|
+
font-weight: 300;
|
83
|
+
line-height: 1.25;
|
84
|
+
padding: 0;
|
85
|
+
margin: 0;
|
86
|
+
background-color: #FFFFFF;
|
87
|
+
color: #404040;
|
88
|
+
margin-bottom: 10em;
|
89
|
+
}
|
90
|
+
|
91
|
+
p {
|
92
|
+
margin-top: 1em;
|
93
|
+
margin-bottom: 1em;
|
94
|
+
}
|
95
|
+
|
96
|
+
p + p {
|
97
|
+
margin-top: 0;
|
98
|
+
}
|
99
|
+
|
100
|
+
.faq-question {
|
101
|
+
font-family: 'GraphikMedium';
|
102
|
+
color: darkslategrey;
|
103
|
+
}
|
104
|
+
|
105
|
+
.highlight {
|
106
|
+
font-family: 'GraphikMedium';
|
107
|
+
}
|
108
|
+
|
109
|
+
.align-right {
|
110
|
+
text-align: right;
|
111
|
+
}
|
112
|
+
|
113
|
+
h2 {
|
114
|
+
font-size: 18pt;
|
115
|
+
}
|
116
|
+
|
117
|
+
h3 {
|
118
|
+
width: 100%;
|
119
|
+
font-size: 16pt;
|
120
|
+
font-weight: bold;
|
121
|
+
margin-top: 10pt;
|
122
|
+
margin-bottom: 4pt;
|
123
|
+
border-bottom: 0.5px solid lightgray;
|
124
|
+
}
|
125
|
+
|
126
|
+
h4 {
|
127
|
+
font-size: 16pt;
|
128
|
+
font-weight: bold;
|
129
|
+
margin-top: 0.4em;
|
130
|
+
margin-bottom: 0;
|
131
|
+
}
|
132
|
+
|
133
|
+
.sub-header * {
|
134
|
+
font-size: 16pt;
|
135
|
+
margin-bottom: 4px;
|
136
|
+
}
|
137
|
+
|
138
|
+
ul {
|
139
|
+
padding-left: 20px;
|
140
|
+
margin-top: 0;
|
141
|
+
margin-bottom: 0;
|
142
|
+
}
|
143
|
+
|
144
|
+
li {
|
145
|
+
margin-bottom: 1ex;
|
146
|
+
}
|
147
|
+
|
148
|
+
li:last-child {
|
149
|
+
margin-bottom: 0;
|
150
|
+
}
|
151
|
+
|
152
|
+
.table-caption {
|
153
|
+
text-align: left;
|
154
|
+
}
|
155
|
+
|
156
|
+
nav ul {
|
157
|
+
padding-left: 0;
|
158
|
+
list-style: none;
|
159
|
+
}
|
160
|
+
|
161
|
+
nav ul li {
|
162
|
+
float: left;
|
163
|
+
overflow: hidden;
|
164
|
+
margin-bottom: 0;
|
165
|
+
}
|
166
|
+
|
167
|
+
nav ul li:not(:last-child)::after {
|
168
|
+
content: "•";
|
169
|
+
margin-right: 5px;
|
170
|
+
margin-left: 5px;
|
171
|
+
}
|
172
|
+
|
173
|
+
nav ul li.active-page a {
|
174
|
+
pointer-events: none;
|
175
|
+
color: inherit;
|
176
|
+
text-decoration: none;
|
177
|
+
cursor: default;
|
178
|
+
font-weight: bold;
|
179
|
+
color: rgb(135, 129, 255);
|
180
|
+
}
|
181
|
+
|
182
|
+
.cm-editor {
|
183
|
+
background: #2D2D2D;
|
184
|
+
color: #F0F0F0;
|
185
|
+
}
|
186
|
+
|
187
|
+
.cm-line {
|
188
|
+
font-family: 'Ubuntu Mono';
|
189
|
+
font-size: 10pt;
|
190
|
+
}
|
191
|
+
|
192
|
+
.cm-gutter {
|
193
|
+
background-color: #232323;
|
194
|
+
}
|
195
|
+
|
196
|
+
.cm-gutterElement {
|
197
|
+
font-family: 'Ubuntu Mono';
|
198
|
+
font-size: 10pt;
|
199
|
+
color: #88C0D0;
|
200
|
+
}
|
201
|
+
|
202
|
+
.right-border {
|
203
|
+
border-right: 0.5px solid lightgray;
|
204
|
+
padding-right: 6px;
|
205
|
+
}
|
206
|
+
|
207
|
+
.right-border + div {
|
208
|
+
padding-left: 4px
|
209
|
+
}
|
210
|
+
|
211
|
+
.header-grid-container {
|
212
|
+
display: grid;
|
213
|
+
background-color: #f0f0f0;
|
214
|
+
width: 100%;
|
215
|
+
grid-template-columns: 35% 1fr;
|
216
|
+
padding-top: 7px;
|
217
|
+
padding-bottom: 7px;
|
218
|
+
}
|
219
|
+
|
220
|
+
.footer-grid-container {
|
221
|
+
display: grid;
|
222
|
+
background-color: #f0f0f0;
|
223
|
+
width: 100%;
|
224
|
+
grid-template-columns: 35% 1fr;
|
225
|
+
margin-top: 10px;
|
226
|
+
}
|
227
|
+
|
228
|
+
:root {
|
229
|
+
--toggle-button-width: 24px;
|
230
|
+
--text-pane-width: 800px;
|
231
|
+
}
|
232
|
+
|
233
|
+
.grid-container {
|
234
|
+
display: grid;
|
235
|
+
grid-template-columns: auto var(--toggle-button-width) var(--text-pane-width);
|
236
|
+
justify-content: center;
|
237
|
+
}
|
238
|
+
|
239
|
+
.grid-container.data-pane-hidden {
|
240
|
+
grid-template-columns: 0 var(--toggle-button-width) var(--text-pane-width);
|
241
|
+
}
|
242
|
+
|
243
|
+
.grid-container.double-size {
|
244
|
+
max-width: 66.7vw; /* undo effect of transform: scale(1.5) for layout purposes */
|
245
|
+
}
|
246
|
+
|
247
|
+
.grid-container > :last-child {
|
248
|
+
padding-right: 10px;
|
249
|
+
}
|
250
|
+
|
251
|
+
.flex-bottom-align {
|
252
|
+
display: flex;
|
253
|
+
flex-direction: row;
|
254
|
+
}
|
255
|
+
|
256
|
+
.flex-bottom-align:first-child {
|
257
|
+
margin-top: auto;
|
258
|
+
}
|
259
|
+
|
260
|
+
.flex-left-align {
|
261
|
+
display: flex;
|
262
|
+
flex-direction: column;
|
263
|
+
align-items: start;
|
264
|
+
}
|
265
|
+
|
266
|
+
.flex-right-align {
|
267
|
+
display: flex;
|
268
|
+
flex-direction: column;
|
269
|
+
align-items: flex-end;
|
270
|
+
}
|
271
|
+
|
272
|
+
.flex-bottom-align {
|
273
|
+
display: flex;
|
274
|
+
flex-direction: row;
|
275
|
+
align-items: flex-end;
|
276
|
+
}
|
277
|
+
|
278
|
+
.data-pane-button {
|
279
|
+
font-size: 10pt;
|
280
|
+
}
|
281
|
+
|
282
|
+
.toggle-button {
|
283
|
+
color: #CCCCCC;
|
284
|
+
user-select: none;
|
285
|
+
}
|
286
|
+
|
287
|
+
.toggle-button:hover {
|
288
|
+
color: #999999;
|
289
|
+
cursor: pointer;
|
290
|
+
}
|
291
|
+
|
292
|
+
.data-pane {
|
293
|
+
border-right: 1px dotted #CCCCCC;
|
294
|
+
}
|
295
|
+
|
296
|
+
.data-pane-hidden .data-pane {
|
297
|
+
visibility: hidden;
|
298
|
+
}
|
299
|
+
|
300
|
+
.data-pane-hidden .data-pane * {
|
301
|
+
display: none;
|
302
|
+
}
|
303
|
+
|
304
|
+
.data-pane * {
|
305
|
+
font-size: 10pt;
|
306
|
+
}
|
307
|
+
|
308
|
+
.data-pane p {
|
309
|
+
margin-right: 3px;
|
310
|
+
}
|
311
|
+
|
312
|
+
/* Not actually double-size any more.. */
|
313
|
+
.double-size {
|
314
|
+
transform: scale(1.5);
|
315
|
+
transform-origin: top;
|
316
|
+
--text-pane-width: 600px;
|
317
|
+
}
|
318
|
+
|
319
|
+
body.standalone {
|
320
|
+
height: 100%;
|
321
|
+
display: grid;
|
322
|
+
justify-items: center;
|
323
|
+
align-items: start;
|
324
|
+
}
|
325
|
+
|
326
|
+
/* Needed for contained height specifications to work */
|
327
|
+
html {
|
328
|
+
height: 100%;
|
329
|
+
}
|
330
|
+
|
331
|
+
@keyframes fadeIn {
|
332
|
+
from { opacity: 0; }
|
333
|
+
to { opacity: 1; }
|
334
|
+
}
|
335
|
+
|
336
|
+
.fig-loading:only-child {
|
337
|
+
color: fuchsia;
|
338
|
+
animation: fadeIn 2s ease-in-out infinite alternate;
|
339
|
+
}
|
340
|
+
|
341
|
+
.fig-loading:not(:only-child) {
|
342
|
+
display: none;
|
343
|
+
}
|
@@ -0,0 +1,182 @@
|
|
1
|
+
.legend-box {
|
2
|
+
stroke: lightgray;
|
3
|
+
stroke-width: 0.5px;
|
4
|
+
fill: none;
|
5
|
+
}
|
6
|
+
|
7
|
+
.legend-text {
|
8
|
+
font-size: 9pt;
|
9
|
+
}
|
10
|
+
|
11
|
+
.title-text {
|
12
|
+
fill: Black;
|
13
|
+
font-size: 9pt;
|
14
|
+
}
|
15
|
+
|
16
|
+
.table-view th {
|
17
|
+
font-size: 11px;
|
18
|
+
text-align: left;
|
19
|
+
border-bottom: 'thin solid';
|
20
|
+
}
|
21
|
+
|
22
|
+
.table-view td {
|
23
|
+
font-size: 11px;
|
24
|
+
}
|
25
|
+
|
26
|
+
.table-view td:nth-child(1) {
|
27
|
+
color: lightgray;
|
28
|
+
}
|
29
|
+
|
30
|
+
table {
|
31
|
+
border-collapse: collapse;
|
32
|
+
}
|
33
|
+
|
34
|
+
thead {
|
35
|
+
border-top: 0.5px solid lightgray;
|
36
|
+
}
|
37
|
+
|
38
|
+
.table-cell {
|
39
|
+
border-radius: 0px;
|
40
|
+
}
|
41
|
+
|
42
|
+
td.table-cell {
|
43
|
+
background-color: white;
|
44
|
+
}
|
45
|
+
|
46
|
+
.table-cell.inert {
|
47
|
+
color: lightgrey;
|
48
|
+
}
|
49
|
+
|
50
|
+
.table-cell.selected-primary-persistent {
|
51
|
+
background-color: #93E9BE;
|
52
|
+
}
|
53
|
+
|
54
|
+
.table-cell.selected-secondary-persistent {
|
55
|
+
background-color: rgb(226, 226, 226);
|
56
|
+
}
|
57
|
+
|
58
|
+
.table-cell.selected-primary-transient {
|
59
|
+
color: blue;
|
60
|
+
}
|
61
|
+
|
62
|
+
.table-cell.selected-secondary-transient {
|
63
|
+
color: royalblue;
|
64
|
+
}
|
65
|
+
|
66
|
+
.table-row {
|
67
|
+
display: table-row;
|
68
|
+
}
|
69
|
+
|
70
|
+
.table-row.hidden {
|
71
|
+
visibility: collapse;
|
72
|
+
}
|
73
|
+
|
74
|
+
.linked-text {
|
75
|
+
border-radius: 0px;
|
76
|
+
background-color: White;
|
77
|
+
border-bottom-style: solid;
|
78
|
+
border-bottom-color: white;
|
79
|
+
border-bottom-width: 1px;
|
80
|
+
display: inline;
|
81
|
+
}
|
82
|
+
|
83
|
+
.linked-text.inert {
|
84
|
+
fill: lightgrey;
|
85
|
+
}
|
86
|
+
|
87
|
+
.linked-text.selected-primary-persistent {
|
88
|
+
background-color: #93E9BE;
|
89
|
+
}
|
90
|
+
|
91
|
+
.linked-text.selected-primary-transient {
|
92
|
+
border-bottom-color: blue;
|
93
|
+
}
|
94
|
+
|
95
|
+
.linked-text.selected-secondary-persistent {
|
96
|
+
background-color: rgb(226, 226, 226);
|
97
|
+
}
|
98
|
+
|
99
|
+
.linked-text.selected-secondary-transient {
|
100
|
+
border-bottom-color: lightblue;
|
101
|
+
}
|
102
|
+
|
103
|
+
.matrix-cell {
|
104
|
+
stroke: DarkGray;
|
105
|
+
fill: White;
|
106
|
+
}
|
107
|
+
|
108
|
+
.matrix-cell.inert {
|
109
|
+
stroke: DarkGray;
|
110
|
+
fill: rgb(185, 185, 185);
|
111
|
+
}
|
112
|
+
|
113
|
+
.matrix-cell.selected-primary-persistent {
|
114
|
+
fill: LightGreen;
|
115
|
+
}
|
116
|
+
|
117
|
+
.matrix-cell.selected-secondary-persistent {
|
118
|
+
fill: rgb(214, 240, 214)
|
119
|
+
}
|
120
|
+
|
121
|
+
.matrix-cell.selected-primary-transient {
|
122
|
+
}
|
123
|
+
|
124
|
+
.matrix-cell.selected-secondary-transient {
|
125
|
+
}
|
126
|
+
|
127
|
+
.matrix-cell-text {
|
128
|
+
font-size: 10pt;
|
129
|
+
font-family: "GraphikLight", sans-serif;
|
130
|
+
color: rgb(205, 205, 205)
|
131
|
+
}
|
132
|
+
|
133
|
+
.matrix-cell-text.selected-primary-persistent {
|
134
|
+
font-weight: 400;
|
135
|
+
color: darkgreen
|
136
|
+
}
|
137
|
+
|
138
|
+
.matrix-cell-text.selected-secondary-persistent {
|
139
|
+
color: green
|
140
|
+
}
|
141
|
+
|
142
|
+
.matrix-cell-text.selected-primary-transient {
|
143
|
+
font-weight: 400;
|
144
|
+
color: blue
|
145
|
+
}
|
146
|
+
|
147
|
+
.matrix-cell-text.selected-secondary-transient {
|
148
|
+
color: royalblue
|
149
|
+
}
|
150
|
+
|
151
|
+
.scatterplot-point {
|
152
|
+
fill: white;
|
153
|
+
stroke: black;
|
154
|
+
}
|
155
|
+
|
156
|
+
.scatterplot-point.inert {
|
157
|
+
fill: rgb(185,185,185);
|
158
|
+
stroke: black;
|
159
|
+
}
|
160
|
+
|
161
|
+
.scatterplot-point.selected-primary-persistent {
|
162
|
+
fill: LightGreen;
|
163
|
+
stroke: teal;
|
164
|
+
}
|
165
|
+
|
166
|
+
.scatterplot-point.selected-secondary-transient {
|
167
|
+
stroke: blue;
|
168
|
+
stroke-width: 1;
|
169
|
+
}
|
170
|
+
|
171
|
+
.scatterplot-point.selected-primary-transient {
|
172
|
+
stroke: blue;
|
173
|
+
stroke-width: 1;
|
174
|
+
}
|
175
|
+
|
176
|
+
.scatterplot-point.selected-secondary-persistent {
|
177
|
+
fill: rgb(226, 226, 226);
|
178
|
+
}
|
179
|
+
|
180
|
+
.scatterplot-point.selected-secondary-transient {
|
181
|
+
stroke-width: 1;
|
182
|
+
}
|
package/dist/fluid/fluid.mjs
CHANGED
@@ -25986,6 +25986,7 @@ var mkCommand = (m) => {
|
|
25986
25986
|
const $0 = v.cmdCommands;
|
25987
25987
|
return $Tuple(v.cmdGroup, $Tuple(arrayMap(fst)($0), $Tuple((v1) => lookup4(v1)($0), void 0)));
|
25988
25988
|
};
|
25989
|
+
var flagFieldsHasName = { name: (n) => (fields) => ({ flagNames: [n, ...fields.flagNames], flagActive: fields.flagActive }) };
|
25989
25990
|
var modSemigroup = {
|
25990
25991
|
append: (v) => (v1) => $Mod((x) => v1._1(v._1(x)), $DefaultProp(v1._2._1.tag === "Nothing" ? v._2._1 : v1._2._1, v1._2._2.tag === "Nothing" ? v._2._2 : v1._2._2), (x) => v1._3(v._3(x)))
|
25991
25992
|
};
|
@@ -28364,6 +28365,41 @@ var graphEval2 = /* @__PURE__ */ graphEval(monadErrorAff);
|
|
28364
28365
|
var fromFoldable29 = /* @__PURE__ */ (() => fromFoldableImpl(foldableList.foldr))();
|
28365
28366
|
var Evaluate = (value0) => $Command("Evaluate", value0);
|
28366
28367
|
var Publish = (value0) => (value1) => $Command("Publish", value0, value1);
|
28368
|
+
var publish = /* @__PURE__ */ (() => $Parser(
|
28369
|
+
"MultP",
|
28370
|
+
$MultPE(
|
28371
|
+
parserFunctor.map(Publish)(parserFunctor.map(Folder)(option(readerAsk)((() => {
|
28372
|
+
const $0 = help("root directory of website under dist/");
|
28373
|
+
const $1 = $0._2._2.tag === "Nothing" ? Nothing : $0._2._2;
|
28374
|
+
return $Mod(
|
28375
|
+
(x) => $0._1({
|
28376
|
+
optNames: [$OptName("OptShort", "w"), $OptName("OptLong", "website"), ...x.optNames],
|
28377
|
+
optCompleter: x.optCompleter,
|
28378
|
+
optNoArgError: x.optNoArgError
|
28379
|
+
}),
|
28380
|
+
$DefaultProp($Maybe("Just", "Misc"), $1.tag === "Nothing" ? Nothing : $1),
|
28381
|
+
(x) => $0._3(x)
|
28382
|
+
);
|
28383
|
+
})()))),
|
28384
|
+
$Parser(
|
28385
|
+
"AltP",
|
28386
|
+
flag$p(true)(foldableArray.foldMap(modMonoid)(identity3)([
|
28387
|
+
$Mod(
|
28388
|
+
flagFieldsHasName.name($OptName("OptLong", "local")),
|
28389
|
+
$DefaultProp(Nothing, Nothing),
|
28390
|
+
identity26
|
28391
|
+
),
|
28392
|
+
$Mod(
|
28393
|
+
flagFieldsHasName.name($OptName("OptShort", "l")),
|
28394
|
+
$DefaultProp(Nothing, Nothing),
|
28395
|
+
identity26
|
28396
|
+
),
|
28397
|
+
help("Are you publishing from source (false), or an npm package (true)?")
|
28398
|
+
])),
|
28399
|
+
$Parser("NilP", false)
|
28400
|
+
)
|
28401
|
+
)
|
28402
|
+
))();
|
28367
28403
|
var parseImports = /* @__PURE__ */ $Parser(
|
28368
28404
|
"BindP",
|
28369
28405
|
/* @__PURE__ */ manyM(/* @__PURE__ */ option(readerAsk)(/* @__PURE__ */ (() => {
|
@@ -28400,7 +28436,7 @@ var copyOptions = {
|
|
28400
28436
|
encoding: Nothing,
|
28401
28437
|
shell: Nothing
|
28402
28438
|
};
|
28403
|
-
var copyFiles = (website) => exec2("./node_modules/@explorable-viz/fluid/script/bundle-website.sh -w " + website + " -r true")(copyOptions)((v) => {
|
28439
|
+
var copyFiles = (website) => (b) => exec2(b ? "./node_modules/@explorable-viz/fluid/script/bundle-website.sh -w " + website + " -r true" : "./script/bundle-website.sh -w " + website)(copyOptions)((v) => {
|
28404
28440
|
if (v.error.tag === "Just") {
|
28405
28441
|
return log(showErrorImpl(v.error._1));
|
28406
28442
|
}
|
@@ -28415,11 +28451,11 @@ var copyFiles = (website) => exec2("./node_modules/@explorable-viz/fluid/script/
|
|
28415
28451
|
});
|
28416
28452
|
var dispatchCommand = (v) => {
|
28417
28453
|
if (v.tag === "Evaluate") {
|
28418
|
-
return
|
28454
|
+
return _map((v$1) => {
|
28455
|
+
})(output(v._1));
|
28419
28456
|
}
|
28420
28457
|
if (v.tag === "Publish") {
|
28421
|
-
|
28422
|
-
return _bind(_liftEffect(copyFiles(v._2)))(() => _bind(_liftEffect(log("Published")))(() => output($0)));
|
28458
|
+
return _bind(_liftEffect(copyFiles(v._1)(v._2)))(() => _liftEffect(log("Published")));
|
28423
28459
|
}
|
28424
28460
|
fail();
|
28425
28461
|
};
|
@@ -28428,7 +28464,7 @@ var callback = (v) => {
|
|
28428
28464
|
return log(showErrorImpl(v._1));
|
28429
28465
|
}
|
28430
28466
|
if (v.tag === "Right") {
|
28431
|
-
return log(
|
28467
|
+
return log("Success");
|
28432
28468
|
}
|
28433
28469
|
fail();
|
28434
28470
|
};
|
@@ -28515,25 +28551,6 @@ var program = /* @__PURE__ */ (() => $Parser(
|
|
28515
28551
|
})())
|
28516
28552
|
)
|
28517
28553
|
))();
|
28518
|
-
var publish = /* @__PURE__ */ (() => $Parser(
|
28519
|
-
"MultP",
|
28520
|
-
$MultPE(
|
28521
|
-
parserFunctor.map(Publish)(program),
|
28522
|
-
parserFunctor.map(Folder)(option(readerAsk)((() => {
|
28523
|
-
const $0 = help("root directory of website under dist/");
|
28524
|
-
const $1 = $0._2._2.tag === "Nothing" ? Nothing : $0._2._2;
|
28525
|
-
return $Mod(
|
28526
|
-
(x) => $0._1({
|
28527
|
-
optNames: [$OptName("OptShort", "w"), $OptName("OptLong", "website"), ...x.optNames],
|
28528
|
-
optCompleter: x.optCompleter,
|
28529
|
-
optNoArgError: x.optNoArgError
|
28530
|
-
}),
|
28531
|
-
$DefaultProp($Maybe("Just", "Misc"), $1.tag === "Nothing" ? Nothing : $1),
|
28532
|
-
(x) => $0._3(x)
|
28533
|
-
);
|
28534
|
-
})()))
|
28535
|
-
)
|
28536
|
-
))();
|
28537
28554
|
var commandParser = /* @__PURE__ */ subparser(/* @__PURE__ */ (() => {
|
28538
28555
|
const $0 = command("evaluate")(progDesc("Evaluate a file")({
|
28539
28556
|
infoParser: parserFunctor.map(Evaluate)(program),
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<div class="header-grid-container">
|
2
|
+
<div class="flex-right-align right-border">
|
3
|
+
<img class="fluid-logo" src="/image/fluid-logo.png" width="150px">
|
4
|
+
<h2 class="fluid-subtitle">explorable, self-explanatory research outputs</h2>
|
5
|
+
</div>
|
6
|
+
<div class="flex-left-align" style="justify-content: center; margin-left: 5px;">
|
7
|
+
<nav>
|
8
|
+
<ul>
|
9
|
+
<li><a href="https://github.com/explorable-viz/fluid">GitHub</a></li>
|
10
|
+
<li><a href="https://dl.acm.org/doi/10.1145/3498668">POPL 2022 paper</a></li>
|
11
|
+
<li><a href="https://www.youtube.com/watch?v=M_ePrtD9axk">POPL 2022 talk</a></li>
|
12
|
+
<li><a href="https://www.youtube.com/watch?v=2-S6yVyzypU">PROPL 2024</a></li>
|
13
|
+
<li><a href="https://www.youtube.com/watch?v=F3JaftEnFfM">ICCS Summer School</a></li>
|
14
|
+
<li><a href="https://arxiv.org/abs/2403.04403">ESOP 2025 preprint</a></li>
|
15
|
+
</ul>
|
16
|
+
</nav>
|
17
|
+
<nav>
|
18
|
+
<ul>
|
19
|
+
<li><a href="/">Overview</a></li>
|
20
|
+
<li><a href="/faq">FAQ</a></li>
|
21
|
+
<li><a href="/contributors">Contributors & Funding</a></li>
|
22
|
+
</ul>
|
23
|
+
</nav>
|
24
|
+
<div></div>
|
25
|
+
</div>
|
26
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div></div>
|
2
|
+
<div></div>
|
3
|
+
<div>
|
4
|
+
<h3 class="title">Overview</h3>
|
5
|
+
<nav class="sub-header">
|
6
|
+
<ul>
|
7
|
+
<li><a href="/">Transparent research outputs</a></li>
|
8
|
+
<li><a href="/convolution">Matrix convolution</a></li>
|
9
|
+
<li><a href="/moving-average">Moving average</a></li>
|
10
|
+
</ul>
|
11
|
+
</nav>
|
12
|
+
</div>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
function loadHeader () {
|
2
|
+
fetch('/shared/header.html')
|
3
|
+
.then(response => response.text())
|
4
|
+
.then(data => {
|
5
|
+
const header = document.createElement('div')
|
6
|
+
header.innerHTML = data
|
7
|
+
activateCurrentLink(header)
|
8
|
+
const divElement = header.children[0]
|
9
|
+
const grid = document.getElementById('grid')
|
10
|
+
grid.parentNode.insertBefore(divElement, grid)
|
11
|
+
})
|
12
|
+
.catch(error => console.error('Error loading shared HTML:', error))
|
13
|
+
|
14
|
+
fetch('/shared/footer.html')
|
15
|
+
.then(response => response.text())
|
16
|
+
.then(data => {
|
17
|
+
const footer = document.createElement('div')
|
18
|
+
footer.innerHTML = data
|
19
|
+
const divElement = footer.children[0]
|
20
|
+
const grid = document.getElementById('grid')
|
21
|
+
grid.parentNode.appendChild(divElement)
|
22
|
+
})
|
23
|
+
.catch(error => console.error('Error loading shared HTML:', error))
|
24
|
+
}
|
25
|
+
|
26
|
+
function eqPaths (path1, path2) {
|
27
|
+
const trailingSlashes = /\/+$/
|
28
|
+
return path1.replace(trailingSlashes, '') === path2.replace(trailingSlashes, '')
|
29
|
+
}
|
30
|
+
|
31
|
+
function activateCurrentLink (el) {
|
32
|
+
const listItems = el.querySelectorAll('li')
|
33
|
+
const n_ = Array.from(listItems).findIndex(li => {
|
34
|
+
const link = li.querySelector('a')
|
35
|
+
return link && eqPaths(link.getAttribute('href'), window.location.pathname)
|
36
|
+
})
|
37
|
+
if (n_ !== -1) {
|
38
|
+
listItems[n_].classList.add('active-page')
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
function loadSubHeader () {
|
43
|
+
fetch('/shared/sub-header.html')
|
44
|
+
.then(response => response.text())
|
45
|
+
.then(data => {
|
46
|
+
const header = document.createElement('div')
|
47
|
+
header.innerHTML = data
|
48
|
+
activateCurrentLink(header)
|
49
|
+
const divElements = header.children
|
50
|
+
const grid = document.getElementById('grid')
|
51
|
+
for (let i = Math.min(3, divElements.length - 1); i >= 0; --i) {
|
52
|
+
grid.insertBefore(divElements[i], grid.firstChild)
|
53
|
+
}
|
54
|
+
})
|
55
|
+
.catch(error => console.error('Error loading shared HTML:', error))
|
56
|
+
}
|
57
|
+
|
58
|
+
function toggleDataPane(gridId) {
|
59
|
+
const grid = document.getElementById(gridId)
|
60
|
+
const hidden = grid.classList.contains('data-pane-hidden')
|
61
|
+
const dataPaneButton = document.querySelector('.data-pane-button')
|
62
|
+
|
63
|
+
if (hidden) {
|
64
|
+
grid.classList.remove('data-pane-hidden')
|
65
|
+
dataPaneButton.classList.remove('fa-eye-slash')
|
66
|
+
dataPaneButton.classList.add('fa-eye')
|
67
|
+
} else {
|
68
|
+
grid.classList.add('data-pane-hidden')
|
69
|
+
dataPaneButton.classList.remove('fa-eye')
|
70
|
+
dataPaneButton.classList.add('fa-eye-slash')
|
71
|
+
}
|
72
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@explorable-viz/fluid",
|
3
|
-
"version": "0.7.
|
3
|
+
"version": "0.7.29",
|
4
4
|
"description": "Fluid is an experimental programming language which integrates a bidirectional dynamic analysis to connect outputs to data sources in a fine-grained way. Fluid is implemented in PureScript and runs in the browser.",
|
5
5
|
"main": "index.js",
|
6
6
|
"repository": {
|
package/script/bundle-website.sh
CHANGED
@@ -27,6 +27,11 @@ SRC_PATH=${WEBSITE//./\/}
|
|
27
27
|
SRC_PATH_LISP_CASE=$($LISP_CASE "$SRC_PATH")
|
28
28
|
echo "$SRC_PATH -> $SRC_PATH_LISP_CASE"
|
29
29
|
|
30
|
+
if [[ -e "website/$SRC_PATH.html" ]]; then
|
31
|
+
$CLEAN $SRC_PATH_LISP_CASE
|
32
|
+
cp website/$SRC_PATH.html dist/$SRC_PATH_LISP_CASE/index.html
|
33
|
+
fi
|
34
|
+
|
30
35
|
shopt -s nullglob
|
31
36
|
|
32
37
|
set +x
|
@@ -75,6 +80,7 @@ cp $DIST/fluid/load-fig.js dist/$WEBSITE_LISP_CASE/shared/load-fig.js
|
|
75
80
|
cp -r $DIST/fluid/font dist/$WEBSITE_LISP_CASE/font
|
76
81
|
cp -r $DIST/fluid/css dist/$WEBSITE_LISP_CASE/css
|
77
82
|
cp $DIST/fluid/favicon.ico dist/$WEBSITE_LISP_CASE/favicon.ico
|
83
|
+
cp -r $DIST/fluid/image dist/$WEBSITE_LISP_CASE/image
|
78
84
|
|
79
85
|
echo "Processing static files:"
|
80
86
|
|