hyperbook 0.113.1 → 0.113.3
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/asset-manifest.json +9 -9
- package/dist/assets/directive-bitflow/{EditorElement-zyz99U6n.js → EditorElement-BNwEKIvk.js} +258 -258
- package/dist/assets/directive-bitflow/{ReportElements-BnX14NtV.js → ReportElements-CAvHx5xm.js} +2 -2
- package/dist/assets/directive-bitflow/{bitLoaders-DIGwTcpd.js → bitLoaders-7qanePQL.js} +1138 -1073
- package/dist/assets/directive-bitflow/{dom-uYx_3K1r.js → dom-B6NPWBb1.js} +1558 -1551
- package/dist/assets/directive-bitflow/editor.js +3 -3
- package/dist/assets/directive-bitflow/flow.js +4 -4
- package/dist/assets/directive-bitflow/{index-BseSaQlX.js → index-4JaKZ7WT.js} +2 -2
- package/dist/assets/directive-bitflow/{index-e_8twLaN.js → index-6CQr_atd.js} +120 -120
- package/dist/assets/directive-bitflow/{index-COndsSPW.js → index-B9iG-a48.js} +9 -9
- package/dist/assets/directive-bitflow/{index-C5czXkRd.js → index-BFYoOtcY.js} +36 -36
- package/dist/assets/directive-bitflow/{index-YPMWh-1B.js → index-BI6aFdIS.js} +21 -21
- package/dist/assets/directive-bitflow/{index-D7m-hJZ9.js → index-Bf078mfo.js} +69 -69
- package/dist/assets/directive-bitflow/{index-Bf_FQRbK.js → index-BinE5Wvd.js} +19 -19
- package/dist/assets/directive-bitflow/{index-CFcRAa3F.js → index-BoX5-jkC.js} +31 -31
- package/dist/assets/directive-bitflow/{index-NyNuXp4C.js → index-BqRsXShM.js} +34 -34
- package/dist/assets/directive-bitflow/{index-Fr7yl4Vn.js → index-BxihQ8Oo.js} +21 -21
- package/dist/assets/directive-bitflow/{index-B3jMTk1o.js → index-C5YguHZU.js} +101 -101
- package/dist/assets/directive-bitflow/{index-XxGfBwJe.js → index-C8zwSmE6.js} +27 -27
- package/dist/assets/directive-bitflow/{index-BLcJNyog.js → index-C9JSBTNc.js} +91 -91
- package/dist/assets/directive-bitflow/{index-CjscG0z6.js → index-CCMI6UK4.js} +75 -75
- package/dist/assets/directive-bitflow/{index-CK1UMcfT.js → index-CGDt8H6s.js} +24 -24
- package/dist/assets/directive-bitflow/{index-xapm2BQE.js → index-Ca1v0pjV.js} +102 -92
- package/dist/assets/directive-bitflow/{index-IQHOi2fr.js → index-CaYn3Gmh.js} +31 -31
- package/dist/assets/directive-bitflow/{index-BpG316Ls.js → index-CbQue0If.js} +67 -67
- package/dist/assets/directive-bitflow/{index-CzdZQibq.js → index-CjH3h0OO.js} +79 -79
- package/dist/assets/directive-bitflow/{index-B7Z6Q-PQ.js → index-CkO3QfOS.js} +8 -8
- package/dist/assets/directive-bitflow/{index-BIJ7VfD2.js → index-Cz4i5rfe.js} +39 -39
- package/dist/assets/directive-bitflow/{index-8jTO-NJA.js → index-D0NtgeiX.js} +85 -85
- package/dist/assets/directive-bitflow/{index-DtsDy2By.js → index-D1C_1SPY.js} +14 -14
- package/dist/assets/directive-bitflow/{index-BdBBCZSy.js → index-D45u7EVR.js} +227 -194
- package/dist/assets/directive-bitflow/{index-cnRM_JDB.js → index-D9Ox4YpM.js} +33 -33
- package/dist/assets/directive-bitflow/{index-Bqf-kixT.js → index-DJ1w2Xcm.js} +46 -46
- package/dist/assets/directive-bitflow/{index-BQ5h4nDN.js → index-DUqW2fmV.js} +94 -94
- package/dist/assets/directive-bitflow/{index-ChgzyMHe.js → index-Deedj9EF.js} +25 -25
- package/dist/assets/directive-bitflow/{index-CZyaFdD2.js → index-Dg6nnY_v.js} +68 -68
- package/dist/assets/directive-bitflow/{index-kRpwcprB.js → index-DgxEzomz.js} +2 -2
- package/dist/assets/directive-bitflow/{index-D5yZNeIg.js → index-Dl0-ZAT5.js} +52 -52
- package/dist/assets/directive-bitflow/{index-DnVYIuen.js → index-Do6dmZyj.js} +42 -42
- package/dist/assets/directive-bitflow/{index-DjWNEPDL.js → index-DqnGC-DU.js} +31 -31
- package/dist/assets/directive-bitflow/{index-ivI25bnR.js → index-DwXXeSwk.js} +73 -73
- package/dist/assets/directive-bitflow/{index-Bf_NXJjq.js → index-b6qwcTj9.js} +15 -15
- package/dist/assets/directive-bitflow/{index-Fq7njn6_.js → index-d105UFQI.js} +58 -58
- package/dist/assets/directive-bitflow/{index-CW9iev-_.js → index-jijMWQB6.js} +8 -8
- package/dist/assets/directive-bitflow/{index-C_ZTSeqv.js → index-kxO5_U9Y.js} +24 -24
- package/dist/assets/directive-bitflow/{index-DoKlIgCD.js → index-p5AOgOal.js} +35 -35
- package/dist/assets/directive-bitflow/{index-CvCZVgKv.js → index-q2APknM6.js} +46 -46
- package/dist/assets/directive-bitflow/{index-eN2S_MLj.js → index-zVkWgm5I.js} +70 -70
- package/dist/assets/directive-bitflow/index.js +6 -6
- package/dist/assets/directive-bitflow/katex-DSLAjWZH-CHGN3Pr6.js +11314 -0
- package/dist/assets/directive-bitflow/katex-Dv-tcU2S-Dv-tcU2S.js +4 -0
- package/dist/assets/directive-bitflow/report.js +1 -1
- package/dist/assets/directive-bitflow/{shareableReport-ArQU1XjG.js → shareableReport-mdyEMdsJ.js} +6 -6
- package/dist/index.js +1 -1
- package/package.json +2 -2
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
1
|
+
import { P as C, ak as U, a2 as v, a4 as E, ao as le, a5 as V, ac as te, ad as I, a9 as O, Y as ae, j as a, a as R, b as k, aa as ne, s as oe } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as W, C as re, P as G, i as T, F as A, M as ie, r as se, B as ce, U as de, H as be } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
const Y = ["text", "number", "formula"], ue = V(Y), me = C({
|
|
4
4
|
/** Stable across edits, so a cell keeps pointing at the same column. */
|
|
5
5
|
id: v().min(1),
|
|
6
6
|
header: v().default(""),
|
|
7
|
-
kind:
|
|
7
|
+
kind: ue.default("text")
|
|
8
8
|
}), he = C({
|
|
9
9
|
given: v()
|
|
10
10
|
}), we = C({
|
|
11
11
|
accepted: E(v()).default([])
|
|
12
|
-
}), fe = le([he, we]), S = (e) => e !== void 0 && "given" in e,
|
|
12
|
+
}), fe = le([he, we]), S = (e) => e !== void 0 && "given" in e, F = (e) => e !== void 0 && "accepted" in e, _ = () => ({ accepted: [] }), pe = C({
|
|
13
13
|
/** Stable across edits and across a shuffled marking pass — see `rowOrder`. */
|
|
14
14
|
id: v().min(1),
|
|
15
15
|
/** Shown only when `rowHeaders` is on. */
|
|
16
16
|
header: v().optional(),
|
|
17
17
|
/** Column id → the cell there. */
|
|
18
|
-
cells:
|
|
19
|
-
}), ge = ["fixed", "any"], ve =
|
|
18
|
+
cells: U(v(), fe).default({})
|
|
19
|
+
}), ge = ["fixed", "any"], ve = V(ge), xe = C({
|
|
20
20
|
instruction: v().default(""),
|
|
21
21
|
/** Shown above the table. Optional — most tables need no more caption than the instruction already gives. */
|
|
22
22
|
caption: v().default(""),
|
|
@@ -48,7 +48,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
48
48
|
* three of four cells right.
|
|
49
49
|
*/
|
|
50
50
|
partialCredit: O().default(!0),
|
|
51
|
-
evaluation: te.default(
|
|
51
|
+
evaluation: te.default(I)
|
|
52
52
|
}).check((e) => {
|
|
53
53
|
const { columns: t, rows: n, evaluation: o } = e.value, l = t.map((i) => i.id);
|
|
54
54
|
new Set(l).size !== l.length && e.issues.push({
|
|
@@ -64,12 +64,12 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
64
64
|
path: ["rows"],
|
|
65
65
|
message: "Each row needs its own id."
|
|
66
66
|
}), n.forEach((i, s) => {
|
|
67
|
-
for (const
|
|
68
|
-
i.cells[
|
|
67
|
+
for (const u of t)
|
|
68
|
+
i.cells[u.id] === void 0 && e.issues.push({
|
|
69
69
|
code: "custom",
|
|
70
70
|
input: i,
|
|
71
|
-
path: ["rows", s, "cells",
|
|
72
|
-
message: `“${i.header || `Row ${s + 1}`}” has no entry for “${
|
|
71
|
+
path: ["rows", s, "cells", u.id],
|
|
72
|
+
message: `“${i.header || `Row ${s + 1}`}” has no entry for “${u.header || `Column ${t.indexOf(u) + 1}`}”.`
|
|
73
73
|
});
|
|
74
74
|
}), o.mode !== "auto") return;
|
|
75
75
|
t.length === 0 && e.issues.push({
|
|
@@ -92,12 +92,12 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
92
92
|
});
|
|
93
93
|
let r = 0;
|
|
94
94
|
n.forEach((i, s) => {
|
|
95
|
-
for (const
|
|
96
|
-
const m = i.cells[
|
|
97
|
-
|
|
95
|
+
for (const u of t) {
|
|
96
|
+
const m = i.cells[u.id];
|
|
97
|
+
F(m) && (r += 1, m.accepted.every((p) => p.trim() === "") && e.issues.push({
|
|
98
98
|
code: "custom",
|
|
99
99
|
input: m,
|
|
100
|
-
path: ["rows", s, "cells",
|
|
100
|
+
path: ["rows", s, "cells", u.id, "accepted"],
|
|
101
101
|
message: "Give at least one accepted answer for this cell, or mark it given."
|
|
102
102
|
}));
|
|
103
103
|
}
|
|
@@ -108,8 +108,8 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
108
108
|
message: "Leave at least one cell blank for the learner to fill in."
|
|
109
109
|
});
|
|
110
110
|
}), z = (e, t) => `${e}:${t}`, Me = C({
|
|
111
|
-
cells:
|
|
112
|
-
}),
|
|
111
|
+
cells: U(v(), v()).default({})
|
|
112
|
+
}), K = (e, t, n) => e?.cells?.[z(t, n)] ?? "", je = (e, t, n, o) => ({
|
|
113
113
|
cells: { ...e?.cells, [z(t, n)]: o }
|
|
114
114
|
}), ke = " | ", D = (e) => e.join(ke), $ = (e) => e.split("|").map((t) => t.trim()).filter((t) => t !== ""), q = (e, t) => {
|
|
115
115
|
for (let n = t.length + 1; ; n++) {
|
|
@@ -118,7 +118,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
118
118
|
}
|
|
119
119
|
}, ye = (e, t) => ({
|
|
120
120
|
id: t,
|
|
121
|
-
cells: Object.fromEntries(e.map((n) => [n.id,
|
|
121
|
+
cells: Object.fromEntries(e.map((n) => [n.id, _()]))
|
|
122
122
|
}), B = (e) => {
|
|
123
123
|
const t = e.trim().replace(",", ".");
|
|
124
124
|
if (/^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/.test(t))
|
|
@@ -126,11 +126,11 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
126
126
|
}, Ce = (e, t, n) => {
|
|
127
127
|
const o = n ? e.trim().replace(/\s+/g, " ") : e;
|
|
128
128
|
return t ? o : o.toLowerCase();
|
|
129
|
-
},
|
|
129
|
+
}, He = (e, t) => {
|
|
130
130
|
const n = e.replace(/\s+/g, "");
|
|
131
131
|
return t ? n : n.toUpperCase();
|
|
132
132
|
}, M = (e, t, n) => {
|
|
133
|
-
if (t === "formula") return
|
|
133
|
+
if (t === "formula") return He(e, n.caseSensitive);
|
|
134
134
|
if (t === "number") {
|
|
135
135
|
const o = B(e);
|
|
136
136
|
if (o !== void 0) return String(o);
|
|
@@ -143,12 +143,12 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
143
143
|
return Math.abs(d - r) <= o.numberTolerance;
|
|
144
144
|
}
|
|
145
145
|
return M(l, n, o) === M(t, n, o);
|
|
146
|
-
}),
|
|
146
|
+
}), Ne = (e) => {
|
|
147
147
|
const t = e.length, n = new Array(t + 1).fill(0), o = new Array(t + 1).fill(0), l = new Array(t + 1).fill(0), d = new Array(t + 1).fill(0);
|
|
148
148
|
for (let i = 1; i <= t; i++) {
|
|
149
149
|
l[0] = i;
|
|
150
150
|
let s = 0;
|
|
151
|
-
const
|
|
151
|
+
const u = new Array(t + 1).fill(1 / 0), m = new Array(t + 1).fill(!1);
|
|
152
152
|
do {
|
|
153
153
|
m[s] = !0;
|
|
154
154
|
const p = l[s];
|
|
@@ -156,10 +156,10 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
156
156
|
for (let h = 1; h <= t; h++) {
|
|
157
157
|
if (m[h]) continue;
|
|
158
158
|
const j = e[p - 1][h - 1] - n[p] - o[h];
|
|
159
|
-
j <
|
|
159
|
+
j < u[h] && (u[h] = j, d[h] = s), u[h] < g && (g = u[h], x = h);
|
|
160
160
|
}
|
|
161
161
|
for (let h = 0; h <= t; h++)
|
|
162
|
-
m[h] ? (n[l[h]] += g, o[h] -= g) :
|
|
162
|
+
m[h] ? (n[l[h]] += g, o[h] -= g) : u[h] -= g;
|
|
163
163
|
s = x;
|
|
164
164
|
} while (l[s] !== 0);
|
|
165
165
|
do {
|
|
@@ -171,28 +171,28 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
171
171
|
for (let i = 1; i <= t; i++)
|
|
172
172
|
l[i] > 0 && (r[l[i] - 1] = i - 1);
|
|
173
173
|
return r;
|
|
174
|
-
}, Oe = (e, t, n) => Object.fromEntries(e.columns.map((o) => [o.id,
|
|
174
|
+
}, Oe = (e, t, n) => Object.fromEntries(e.columns.map((o) => [o.id, K(t, n, o.id)])), Te = (e, t, n, o) => {
|
|
175
175
|
let l = 0;
|
|
176
176
|
for (const d of e) {
|
|
177
177
|
const r = t.cells[d.id];
|
|
178
|
-
|
|
178
|
+
F(r) && J(r.accepted, n[d.id] ?? "", d.kind, o) && (l += 1);
|
|
179
179
|
}
|
|
180
180
|
return l;
|
|
181
181
|
}, Ae = (e, t) => {
|
|
182
|
-
const { rows: n, columns: o, rowOrder: l } = e, d = n.map((s,
|
|
182
|
+
const { rows: n, columns: o, rowOrder: l } = e, d = n.map((s, u) => u);
|
|
183
183
|
if (l !== "any" || n.length === 0) return d;
|
|
184
184
|
const r = n.map((s) => Oe(e, t, s.id)), i = n.map(
|
|
185
|
-
(s,
|
|
185
|
+
(s, u) => n.map((m, p) => -Te(o, n[p], r[u], e))
|
|
186
186
|
);
|
|
187
|
-
return
|
|
187
|
+
return Ne(i);
|
|
188
188
|
}, P = (e, t) => {
|
|
189
189
|
const n = {}, o = Ae(e, t);
|
|
190
190
|
return e.rows.forEach((l, d) => {
|
|
191
191
|
const r = e.rows[o[d]];
|
|
192
192
|
for (const i of e.columns) {
|
|
193
193
|
const s = r.cells[i.id];
|
|
194
|
-
if (!
|
|
195
|
-
const
|
|
194
|
+
if (!F(s)) continue;
|
|
195
|
+
const u = K(t, l.id, i.id), m = J(s.accepted, u, i.kind, e);
|
|
196
196
|
n[z(l.id, i.id)] = m ? "correct" : "wrong";
|
|
197
197
|
}
|
|
198
198
|
}), n;
|
|
@@ -242,7 +242,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
242
242
|
correct: "richtig",
|
|
243
243
|
wrong: "falsch"
|
|
244
244
|
}
|
|
245
|
-
}, ze = ".bitflow-table-scroll{overflow-x:auto}.bitflow-table{border-collapse:collapse;width:auto;min-width:100%}.bitflow-table caption{text-align:start;padding-bottom:var(--bitflow-space-xxsmall)}.bitflow-table th,.bitflow-table td{padding:var(--bitflow-space-xxsmall);border:1px solid var(--bitflow-color-border);text-align:start;vertical-align:middle}.bitflow-table thead th,.bitflow-table tbody th{background:var(--bitflow-color-neutral-100);font-weight:var(--bitflow-font-weight-medium);white-space:nowrap}.bitflow-table-cell-given{font-variant-numeric:tabular-nums}.bitflow-table-input{min-height:2.25rem;min-width:var(--bitflow-table-cell-width, 7rem);font-size:var(--bitflow-font-size-standard);font-variant-numeric:tabular-nums}.bitflow-table-cell-correct .bitflow-input{border-color:var(--bitflow-color-correct);background:var(--bitflow-color-correct-surface)}.bitflow-table-cell-wrong .bitflow-input{border-color:var(--bitflow-color-wrong);background:var(--bitflow-color-wrong-surface)}.bitflow-table-editor-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bitflow-space-xsmall)}.bitflow-table-editor-row>.bitflow-input,.bitflow-table-editor-row>.bitflow-select{flex:1 1 var(--bitflow-table-editor-min, 7rem);min-width:0}.bitflow-table-row-name{flex:1 1 auto}.bitflow-table-actions{flex:none;flex-wrap:nowrap}.bitflow-table-cell-editor{display:flex;flex-direction:column;gap:var(--bitflow-space-xxsmall)}.bitflow-table-select{min-height:2.25rem}.bitflow-table-tolerance{width:var(--bitflow-table-tolerance-width, 8rem)}", Q = {
|
|
245
|
+
}, ze = ".bitflow-table-scroll{overflow-x:auto}.bitflow-table{border-collapse:collapse;width:auto;min-width:100%}.bitflow-table caption{text-align:start;padding-bottom:var(--bitflow-space-xxsmall)}.bitflow-table th,.bitflow-table td{padding:var(--bitflow-space-xxsmall);border:1px solid var(--bitflow-color-border);text-align:start;vertical-align:middle}.bitflow-table thead th,.bitflow-table tbody th{background:var(--bitflow-color-neutral-100);font-weight:var(--bitflow-font-weight-medium);white-space:nowrap}.bitflow-table thead th{vertical-align:top;padding:var(--bitflow-space-xsmall)}.bitflow-table tbody th,.bitflow-table-cell-given{padding-inline:var(--bitflow-space-xsmall)}.bitflow-table-cell-given{font-variant-numeric:tabular-nums}.bitflow-table-input{min-height:2.25rem;min-width:var(--bitflow-table-cell-width, 7rem);font-size:var(--bitflow-font-size-standard);font-variant-numeric:tabular-nums}.bitflow-table-cell-correct .bitflow-input{border-color:var(--bitflow-color-correct);background:var(--bitflow-color-correct-surface)}.bitflow-table-cell-wrong .bitflow-input{border-color:var(--bitflow-color-wrong);background:var(--bitflow-color-wrong-surface)}.bitflow-table-editor-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bitflow-space-xsmall)}.bitflow-table-editor-row>.bitflow-input,.bitflow-table-editor-row>.bitflow-select{flex:1 1 var(--bitflow-table-editor-min, 7rem);min-width:0}.bitflow-table-row-name{flex:1 1 auto}.bitflow-table-actions{flex:none;flex-wrap:nowrap}.bitflow-table-cell-editor{display:flex;flex-direction:column;gap:var(--bitflow-space-xxsmall)}.bitflow-table-select{min-height:2.25rem}.bitflow-table-tolerance{width:var(--bitflow-table-tolerance-width, 8rem)}", Q = {
|
|
246
246
|
en: {
|
|
247
247
|
instructionLabel: "Instruction",
|
|
248
248
|
instructionHint: "Shown above the table. Markdown is allowed — put the query or the formula to work from in a code block.",
|
|
@@ -379,17 +379,17 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
379
379
|
})), r = l.map((i, s) => ({
|
|
380
380
|
id: `row-${s + 1}`,
|
|
381
381
|
cells: Object.fromEntries(
|
|
382
|
-
d.map((
|
|
382
|
+
d.map((u, m) => {
|
|
383
383
|
const p = (i[m] ?? "").trim();
|
|
384
384
|
return [
|
|
385
|
-
|
|
385
|
+
u.id,
|
|
386
386
|
t === "given" ? { given: p } : { accepted: p === "" ? [] : [p] }
|
|
387
387
|
];
|
|
388
388
|
})
|
|
389
389
|
)
|
|
390
390
|
}));
|
|
391
391
|
return { columns: d, rows: r };
|
|
392
|
-
},
|
|
392
|
+
}, H = (e, t, n) => e.header || n("unnamedColumn", { number: t + 1 }), N = (e, t, n) => e.header || n("unnamedRow", { number: t + 1 }), X = (e, t) => e.cells[t] ?? { accepted: [] }, Be = (e) => "text", Fe = ({
|
|
393
393
|
data: e,
|
|
394
394
|
answer: t,
|
|
395
395
|
states: n,
|
|
@@ -398,20 +398,20 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
398
398
|
caption: d,
|
|
399
399
|
onChange: r
|
|
400
400
|
}) => {
|
|
401
|
-
const i = (s,
|
|
401
|
+
const i = (s, u) => k(y, s, l, u);
|
|
402
402
|
return /* @__PURE__ */ a.jsx("div", { className: "bitflow-table-scroll", children: /* @__PURE__ */ a.jsxs("table", { className: "bitflow-table", children: [
|
|
403
403
|
/* @__PURE__ */ a.jsx("caption", { className: "bitflow-label", children: d ?? (e.caption.trim() !== "" ? e.caption : i("tableLabel")) }),
|
|
404
404
|
/* @__PURE__ */ a.jsx("thead", { children: /* @__PURE__ */ a.jsxs("tr", { children: [
|
|
405
405
|
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "col" }),
|
|
406
|
-
e.columns.map((s,
|
|
406
|
+
e.columns.map((s, u) => /* @__PURE__ */ a.jsx("th", { scope: "col", children: H(s, u, i) }, s.id))
|
|
407
407
|
] }) }),
|
|
408
|
-
/* @__PURE__ */ a.jsx("tbody", { children: e.rows.map((s,
|
|
409
|
-
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "row", children:
|
|
408
|
+
/* @__PURE__ */ a.jsx("tbody", { children: e.rows.map((s, u) => /* @__PURE__ */ a.jsxs("tr", { children: [
|
|
409
|
+
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "row", children: N(s, u, i) }),
|
|
410
410
|
e.columns.map((m, p) => {
|
|
411
|
-
const g = X(s, m.id), x =
|
|
411
|
+
const g = X(s, m.id), x = N(s, u, i), h = H(m, p, i);
|
|
412
412
|
if (S(g))
|
|
413
413
|
return /* @__PURE__ */ a.jsx("td", { className: "bitflow-table-cell bitflow-table-cell-given", children: g.given }, m.id);
|
|
414
|
-
const j = n?.[z(s.id, m.id)], Z =
|
|
414
|
+
const j = n?.[z(s.id, m.id)], Z = K(t, s.id, m.id), c = i("cellLabel", { column: h, row: x });
|
|
415
415
|
return /* @__PURE__ */ a.jsxs(
|
|
416
416
|
"td",
|
|
417
417
|
{
|
|
@@ -429,7 +429,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
429
429
|
autoCapitalize: "off",
|
|
430
430
|
autoCorrect: "off",
|
|
431
431
|
spellCheck: !1,
|
|
432
|
-
onChange: (
|
|
432
|
+
onChange: (b) => r(je(t, s.id, m.id, b.target.value))
|
|
433
433
|
}
|
|
434
434
|
),
|
|
435
435
|
j && /* @__PURE__ */ a.jsx("span", { className: "bitflow-visually-hidden", children: i(j) })
|
|
@@ -440,24 +440,24 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
440
440
|
})
|
|
441
441
|
] }, s.id)) })
|
|
442
442
|
] }) });
|
|
443
|
-
},
|
|
443
|
+
}, Ke = ({
|
|
444
444
|
data: e,
|
|
445
445
|
locale: t,
|
|
446
446
|
onChange: n
|
|
447
447
|
}) => {
|
|
448
448
|
const o = (r, i) => k(y, r, t, i), l = (r, i) => k(Q, r, t, i), d = (r, i, s) => n(
|
|
449
|
-
e.rows.map((
|
|
449
|
+
e.rows.map((u) => u.id === r ? { ...u, cells: { ...u.cells, [i]: s } } : u)
|
|
450
450
|
);
|
|
451
451
|
return /* @__PURE__ */ a.jsx("div", { className: "bitflow-table-scroll", children: /* @__PURE__ */ a.jsxs("table", { className: "bitflow-table", children: [
|
|
452
452
|
/* @__PURE__ */ a.jsx("caption", { className: "bitflow-label", children: l("answerKeyLabel") }),
|
|
453
453
|
/* @__PURE__ */ a.jsx("thead", { children: /* @__PURE__ */ a.jsxs("tr", { children: [
|
|
454
454
|
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "col" }),
|
|
455
|
-
e.columns.map((r, i) => /* @__PURE__ */ a.jsx("th", { scope: "col", children:
|
|
455
|
+
e.columns.map((r, i) => /* @__PURE__ */ a.jsx("th", { scope: "col", children: H(r, i, o) }, r.id))
|
|
456
456
|
] }) }),
|
|
457
457
|
/* @__PURE__ */ a.jsx("tbody", { children: e.rows.map((r, i) => /* @__PURE__ */ a.jsxs("tr", { children: [
|
|
458
|
-
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "row", children:
|
|
459
|
-
e.columns.map((s,
|
|
460
|
-
const m = X(r, s.id), p =
|
|
458
|
+
e.rowHeaders && /* @__PURE__ */ a.jsx("th", { scope: "row", children: N(r, i, o) }),
|
|
459
|
+
e.columns.map((s, u) => {
|
|
460
|
+
const m = X(r, s.id), p = N(r, i, o), g = H(s, u, o), x = S(m);
|
|
461
461
|
return /* @__PURE__ */ a.jsx("td", { className: "bitflow-table-cell", children: /* @__PURE__ */ a.jsxs("div", { className: "bitflow-table-cell-editor", children: [
|
|
462
462
|
/* @__PURE__ */ a.jsxs(
|
|
463
463
|
"select",
|
|
@@ -540,7 +540,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
540
540
|
/* @__PURE__ */ a.jsx(de, { markdown: e.instruction }),
|
|
541
541
|
/* @__PURE__ */ a.jsx("p", { className: "bitflow-hint", children: r(o ? "howToReadonly" : e.rowOrder === "any" ? "howToAnyOrder" : "howTo") }),
|
|
542
542
|
/* @__PURE__ */ a.jsx(
|
|
543
|
-
|
|
543
|
+
Fe,
|
|
544
544
|
{
|
|
545
545
|
data: e,
|
|
546
546
|
answer: t,
|
|
@@ -562,34 +562,34 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
562
562
|
onChange: n,
|
|
563
563
|
errors: o
|
|
564
564
|
}) => {
|
|
565
|
-
const l = (c,
|
|
566
|
-
const
|
|
567
|
-
if (!
|
|
565
|
+
const l = (c, b) => k(Q, c, t, b), d = (c, b) => k(y, c, t, b), r = (c) => n({ ...e, ...c }), [i, s] = R.useState(""), [u, m] = R.useState(void 0), p = (c) => {
|
|
566
|
+
const b = Ee(i, c);
|
|
567
|
+
if (!b) {
|
|
568
568
|
m(l("pasteEmpty"));
|
|
569
569
|
return;
|
|
570
570
|
}
|
|
571
|
-
m(void 0), r(
|
|
572
|
-
}, g = (c,
|
|
571
|
+
m(void 0), r(b);
|
|
572
|
+
}, g = (c, b) => r({
|
|
573
573
|
columns: e.columns.map(
|
|
574
|
-
(w) => w.id === c ? { ...w, ...
|
|
574
|
+
(w) => w.id === c ? { ...w, ...b } : w
|
|
575
575
|
)
|
|
576
576
|
}), x = () => {
|
|
577
|
-
const c = q("column", e.columns.map((
|
|
577
|
+
const c = q("column", e.columns.map((b) => b.id));
|
|
578
578
|
r({
|
|
579
579
|
columns: [...e.columns, { id: c, header: "", kind: "text" }],
|
|
580
|
-
rows: e.rows.map((
|
|
581
|
-
...
|
|
582
|
-
cells: { ...
|
|
580
|
+
rows: e.rows.map((b) => ({
|
|
581
|
+
...b,
|
|
582
|
+
cells: { ...b.cells, [c]: _() }
|
|
583
583
|
}))
|
|
584
584
|
});
|
|
585
585
|
}, h = (c) => r({
|
|
586
|
-
columns: e.columns.filter((
|
|
587
|
-
rows: e.rows.map((
|
|
588
|
-
const w = { ...
|
|
589
|
-
return delete w[c], { ...
|
|
586
|
+
columns: e.columns.filter((b) => b.id !== c),
|
|
587
|
+
rows: e.rows.map((b) => {
|
|
588
|
+
const w = { ...b.cells };
|
|
589
|
+
return delete w[c], { ...b, cells: w };
|
|
590
590
|
})
|
|
591
|
-
}), j = (c,
|
|
592
|
-
rows: e.rows.map((w) => w.id === c ? { ...w, ...
|
|
591
|
+
}), j = (c, b) => r({
|
|
592
|
+
rows: e.rows.map((w) => w.id === c ? { ...w, ...b } : w)
|
|
593
593
|
}), Z = {
|
|
594
594
|
text: l("kindText"),
|
|
595
595
|
number: l("kindNumber"),
|
|
@@ -623,7 +623,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
623
623
|
hint: l("pasteHint"),
|
|
624
624
|
rows: 5,
|
|
625
625
|
value: i,
|
|
626
|
-
error:
|
|
626
|
+
error: u,
|
|
627
627
|
onChange: s
|
|
628
628
|
}
|
|
629
629
|
),
|
|
@@ -653,8 +653,8 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
653
653
|
/* @__PURE__ */ a.jsx("span", { className: "bitflow-hint", children: l("columnsHint") }),
|
|
654
654
|
T(o, "columns") && /* @__PURE__ */ a.jsx("span", { className: "bitflow-field-error", role: "alert", children: T(o, "columns") }),
|
|
655
655
|
e.columns.length === 0 && /* @__PURE__ */ a.jsx("p", { className: "bitflow-text-muted", children: l("noColumns") }),
|
|
656
|
-
e.columns.map((c,
|
|
657
|
-
const w =
|
|
656
|
+
e.columns.map((c, b) => {
|
|
657
|
+
const w = H(c, b, d);
|
|
658
658
|
return /* @__PURE__ */ a.jsxs("div", { className: "bitflow-table-editor-row", children: [
|
|
659
659
|
/* @__PURE__ */ a.jsx(
|
|
660
660
|
"input",
|
|
@@ -663,7 +663,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
663
663
|
className: "bitflow-input",
|
|
664
664
|
value: c.header,
|
|
665
665
|
placeholder: l("columnHeaderPlaceholder"),
|
|
666
|
-
"aria-label": l("columnHeaderOf", { position:
|
|
666
|
+
"aria-label": l("columnHeaderOf", { position: b + 1 }),
|
|
667
667
|
onChange: (f) => g(c.id, { header: f.target.value })
|
|
668
668
|
}
|
|
669
669
|
),
|
|
@@ -672,9 +672,9 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
672
672
|
{
|
|
673
673
|
className: "bitflow-select",
|
|
674
674
|
value: c.kind,
|
|
675
|
-
"aria-label": l("columnKindOf", { position:
|
|
675
|
+
"aria-label": l("columnKindOf", { position: b + 1 }),
|
|
676
676
|
onChange: (f) => g(c.id, { kind: f.target.value }),
|
|
677
|
-
children:
|
|
677
|
+
children: Y.map((f) => /* @__PURE__ */ a.jsx("option", { value: f, children: Z[f] }, f))
|
|
678
678
|
}
|
|
679
679
|
),
|
|
680
680
|
/* @__PURE__ */ a.jsxs("div", { className: "bitflow-row bitflow-table-actions", children: [
|
|
@@ -684,9 +684,9 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
684
684
|
type: "button",
|
|
685
685
|
className: "bitflow-button bitflow-button-quiet",
|
|
686
686
|
"aria-label": l("moveUpOf", { name: w }),
|
|
687
|
-
disabled:
|
|
687
|
+
disabled: b === 0,
|
|
688
688
|
onClick: () => {
|
|
689
|
-
const f = L(e.columns,
|
|
689
|
+
const f = L(e.columns, b, -1);
|
|
690
690
|
f && r({ columns: f });
|
|
691
691
|
},
|
|
692
692
|
children: "↑"
|
|
@@ -698,9 +698,9 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
698
698
|
type: "button",
|
|
699
699
|
className: "bitflow-button bitflow-button-quiet",
|
|
700
700
|
"aria-label": l("moveDownOf", { name: w }),
|
|
701
|
-
disabled:
|
|
701
|
+
disabled: b === e.columns.length - 1,
|
|
702
702
|
onClick: () => {
|
|
703
|
-
const f = L(e.columns,
|
|
703
|
+
const f = L(e.columns, b, 1);
|
|
704
704
|
f && r({ columns: f });
|
|
705
705
|
},
|
|
706
706
|
children: "↓"
|
|
@@ -734,8 +734,8 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
734
734
|
/* @__PURE__ */ a.jsx("span", { className: "bitflow-hint", children: l("rowsHint") }),
|
|
735
735
|
T(o, "rows") && /* @__PURE__ */ a.jsx("span", { className: "bitflow-field-error", role: "alert", children: T(o, "rows") }),
|
|
736
736
|
e.rows.length === 0 && /* @__PURE__ */ a.jsx("p", { className: "bitflow-text-muted", children: l("noRows") }),
|
|
737
|
-
e.rows.map((c,
|
|
738
|
-
const w =
|
|
737
|
+
e.rows.map((c, b) => {
|
|
738
|
+
const w = N(c, b, d);
|
|
739
739
|
return /* @__PURE__ */ a.jsxs("div", { className: "bitflow-table-editor-row", children: [
|
|
740
740
|
e.rowHeaders ? /* @__PURE__ */ a.jsx(
|
|
741
741
|
"input",
|
|
@@ -744,7 +744,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
744
744
|
className: "bitflow-input",
|
|
745
745
|
value: c.header ?? "",
|
|
746
746
|
placeholder: l("rowHeaderPlaceholder"),
|
|
747
|
-
"aria-label": l("rowHeaderOf", { position:
|
|
747
|
+
"aria-label": l("rowHeaderOf", { position: b + 1 }),
|
|
748
748
|
onChange: (f) => j(c.id, { header: f.target.value })
|
|
749
749
|
}
|
|
750
750
|
) : /* @__PURE__ */ a.jsx("span", { className: "bitflow-table-row-name", children: w }),
|
|
@@ -755,9 +755,9 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
755
755
|
type: "button",
|
|
756
756
|
className: "bitflow-button bitflow-button-quiet",
|
|
757
757
|
"aria-label": l("moveUpOf", { name: w }),
|
|
758
|
-
disabled:
|
|
758
|
+
disabled: b === 0,
|
|
759
759
|
onClick: () => {
|
|
760
|
-
const f = L(e.rows,
|
|
760
|
+
const f = L(e.rows, b, -1);
|
|
761
761
|
f && r({ rows: f });
|
|
762
762
|
},
|
|
763
763
|
children: "↑"
|
|
@@ -769,9 +769,9 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
769
769
|
type: "button",
|
|
770
770
|
className: "bitflow-button bitflow-button-quiet",
|
|
771
771
|
"aria-label": l("moveDownOf", { name: w }),
|
|
772
|
-
disabled:
|
|
772
|
+
disabled: b === e.rows.length - 1,
|
|
773
773
|
onClick: () => {
|
|
774
|
-
const f = L(e.rows,
|
|
774
|
+
const f = L(e.rows, b, 1);
|
|
775
775
|
f && r({ rows: f });
|
|
776
776
|
},
|
|
777
777
|
children: "↓"
|
|
@@ -808,7 +808,7 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
808
808
|
e.columns.length > 0 && e.rows.length > 0 && /* @__PURE__ */ a.jsxs("div", { className: "bitflow-field", children: [
|
|
809
809
|
/* @__PURE__ */ a.jsx("span", { className: "bitflow-hint", children: l("answerKeyHint") }),
|
|
810
810
|
De(o).map((c) => /* @__PURE__ */ a.jsx("span", { className: "bitflow-field-error", role: "alert", children: c }, c)),
|
|
811
|
-
/* @__PURE__ */ a.jsx(
|
|
811
|
+
/* @__PURE__ */ a.jsx(Ke, { data: e, locale: t, onChange: (c) => r({ rows: c }) })
|
|
812
812
|
] }),
|
|
813
813
|
/* @__PURE__ */ a.jsxs(G, { summary: l("advanced"), children: [
|
|
814
814
|
/* @__PURE__ */ a.jsx(
|
|
@@ -860,8 +860,8 @@ const I = ["text", "number", "formula"], be = U(I), me = C({
|
|
|
860
860
|
min: 0,
|
|
861
861
|
step: "any",
|
|
862
862
|
value: e.numberTolerance,
|
|
863
|
-
onChange: (
|
|
864
|
-
const w = Number(
|
|
863
|
+
onChange: (b) => {
|
|
864
|
+
const w = Number(b.target.value);
|
|
865
865
|
Number.isFinite(w) && w >= 0 && r({ numberTolerance: w });
|
|
866
866
|
}
|
|
867
867
|
}
|
|
@@ -912,36 +912,36 @@ ne({
|
|
|
912
912
|
ignoreWhitespace: !0,
|
|
913
913
|
numberTolerance: 0,
|
|
914
914
|
partialCredit: !0,
|
|
915
|
-
evaluation:
|
|
915
|
+
evaluation: I()
|
|
916
916
|
})
|
|
917
917
|
});
|
|
918
|
-
|
|
918
|
+
be(ee);
|
|
919
919
|
oe("bitflow-styles-task-table", ze);
|
|
920
920
|
export {
|
|
921
921
|
Me as AnswerSchema,
|
|
922
922
|
we as BlankCellSchema,
|
|
923
|
-
|
|
923
|
+
Y as COLUMN_KINDS,
|
|
924
924
|
fe as CellSchema,
|
|
925
|
-
|
|
925
|
+
ue as ColumnKindSchema,
|
|
926
926
|
me as ColumnSchema,
|
|
927
927
|
xe as DataSchema,
|
|
928
|
-
|
|
928
|
+
Fe as FillableTable,
|
|
929
929
|
Ge as Form,
|
|
930
930
|
he as GivenCellSchema,
|
|
931
931
|
ge as ROW_ORDERS,
|
|
932
932
|
ve as RowOrderSchema,
|
|
933
933
|
pe as RowSchema,
|
|
934
934
|
ee as TYPE,
|
|
935
|
-
|
|
935
|
+
Ke as TableEditor,
|
|
936
936
|
We as Task,
|
|
937
937
|
Se as allCorrect,
|
|
938
|
-
|
|
938
|
+
Ne as assignMinCost,
|
|
939
939
|
J as cellCorrect,
|
|
940
940
|
z as cellKey,
|
|
941
941
|
P as cellStates,
|
|
942
942
|
Re as evaluate,
|
|
943
943
|
Q as formMessages,
|
|
944
|
-
|
|
944
|
+
F as isBlankCell,
|
|
945
945
|
S as isGivenCell,
|
|
946
946
|
Ae as matchRows,
|
|
947
947
|
y as messages,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L, a2 as f, ac as
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
1
|
+
import { P as L, a2 as f, ac as P, ad as H, a9 as z, a4 as C, Y as v, j as t, a as O, a5 as E, b as x, s as F, aa as R } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as k, g as p, M as T, i as j, P as Z, C as B, F as D, B as K, U as N, r as U, H as I } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
const A = ["person", "keywords"], $ = E(A), q = L({
|
|
4
4
|
/** Stable across edits, so an outcome keeps pointing at the same line. */
|
|
5
5
|
id: f().min(1),
|
|
6
6
|
/** What a reader is looking for: "explains why the list must be sorted". */
|
|
@@ -9,10 +9,10 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
9
9
|
* The words that stand in for the idea, under `keywords`. Any one of them
|
|
10
10
|
* counts — they are spellings of one thing, not a list of requirements.
|
|
11
11
|
*/
|
|
12
|
-
keywords:
|
|
12
|
+
keywords: C(f()).default([]),
|
|
13
13
|
/** What meeting this line is worth. */
|
|
14
14
|
points: v().min(0).default(1)
|
|
15
|
-
}),
|
|
15
|
+
}), V = L({
|
|
16
16
|
instruction: f().default(""),
|
|
17
17
|
/**
|
|
18
18
|
* A prompt inside the empty box. Not a label — the question above is the
|
|
@@ -20,7 +20,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
20
20
|
* for the learner.
|
|
21
21
|
*/
|
|
22
22
|
placeholder: f().default(""),
|
|
23
|
-
marking:
|
|
23
|
+
marking: $.default("person"),
|
|
24
24
|
/**
|
|
25
25
|
* A floor on the length, in characters, or 0 for none. Held as a nudge
|
|
26
26
|
* rather than a gate: it is shown as a count and never blocks submitting,
|
|
@@ -34,15 +34,15 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
34
34
|
* afterwards.
|
|
35
35
|
*/
|
|
36
36
|
maximumLength: v().int().min(0).default(0),
|
|
37
|
-
criteria:
|
|
37
|
+
criteria: C(q).default([]),
|
|
38
38
|
/**
|
|
39
39
|
* Shown once the answer is in, under `person`: the answer to compare
|
|
40
40
|
* against while the learner waits to be read. Optional, because handing
|
|
41
41
|
* out a model answer is not always what an author wants.
|
|
42
42
|
*/
|
|
43
43
|
modelAnswer: f().default(""),
|
|
44
|
-
caseSensitive:
|
|
45
|
-
evaluation:
|
|
44
|
+
caseSensitive: z().default(!1),
|
|
45
|
+
evaluation: P.default(H)
|
|
46
46
|
}).check((e) => {
|
|
47
47
|
const { criteria: c, minimumLength: m, maximumLength: o, marking: n, evaluation: a } = e.value, r = c.map((l) => l.id);
|
|
48
48
|
new Set(r).size !== r.length && e.issues.push({
|
|
@@ -76,7 +76,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
76
76
|
}), ae = L({
|
|
77
77
|
/** What the learner wrote, whole and unaltered. */
|
|
78
78
|
text: f().default("")
|
|
79
|
-
}), W = (e) => e.trim().length,
|
|
79
|
+
}), W = (e) => e.trim().length, Y = (e, c, m) => {
|
|
80
80
|
const o = (a) => m ? a : a.toLowerCase(), n = new Set(
|
|
81
81
|
o(e).split(/[^\p{L}\p{N}_'’]+/u).filter(Boolean)
|
|
82
82
|
);
|
|
@@ -88,8 +88,8 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
88
88
|
criterionId: m.id,
|
|
89
89
|
label: m.label,
|
|
90
90
|
points: m.points,
|
|
91
|
-
met: e.marking === "keywords" ?
|
|
92
|
-
})),
|
|
91
|
+
met: e.marking === "keywords" ? Y(c, m, e.caseSensitive) : void 0
|
|
92
|
+
})), _ = ({
|
|
93
93
|
data: e,
|
|
94
94
|
answer: c
|
|
95
95
|
}) => {
|
|
@@ -234,7 +234,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
234
234
|
locale: n,
|
|
235
235
|
onAnswerChange: a
|
|
236
236
|
}) => {
|
|
237
|
-
const r = (h, w) => x(y, h, n, w), l =
|
|
237
|
+
const r = (h, w) => x(y, h, n, w), l = O.useId(), u = `${l}-count`, b = c?.text ?? "", i = W(b), s = m?.detail?.criteria, d = e.maximumLength ? r("countRemaining", { count: i, maximum: e.maximumLength }) : e.minimumLength ? r("countTowards", { count: i, minimum: e.minimumLength }) : r("countUnlimited", { count: i });
|
|
238
238
|
return /* @__PURE__ */ t.jsxs("div", { className: "bitflow-stack", children: [
|
|
239
239
|
/* @__PURE__ */ t.jsx(N, { markdown: e.instruction }),
|
|
240
240
|
/* @__PURE__ */ t.jsx("p", { className: "bitflow-text-muted", children: e.marking === "person" ? r("goingToReader") : r("goingToKeywords") }),
|
|
@@ -338,12 +338,12 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
338
338
|
}
|
|
339
339
|
),
|
|
340
340
|
/* @__PURE__ */ t.jsx(
|
|
341
|
-
|
|
341
|
+
T,
|
|
342
342
|
{
|
|
343
343
|
label: n("markingLabel"),
|
|
344
344
|
hint: e.marking === "person" ? n("markingPersonHint") : n("markingKeywordsHint"),
|
|
345
345
|
value: e.marking,
|
|
346
|
-
options:
|
|
346
|
+
options: A.map((i) => ({
|
|
347
347
|
value: i,
|
|
348
348
|
label: n(i === "person" ? "markingPerson" : "markingKeywords")
|
|
349
349
|
})),
|
|
@@ -474,7 +474,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
474
474
|
),
|
|
475
475
|
/* @__PURE__ */ t.jsxs(Z, { summary: n("advanced"), children: [
|
|
476
476
|
/* @__PURE__ */ t.jsx(
|
|
477
|
-
|
|
477
|
+
B,
|
|
478
478
|
{
|
|
479
479
|
label: n("placeholderLabel"),
|
|
480
480
|
hint: n("placeholderHint"),
|
|
@@ -491,7 +491,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
491
491
|
] })
|
|
492
492
|
] }),
|
|
493
493
|
e.marking === "keywords" && /* @__PURE__ */ t.jsx(
|
|
494
|
-
|
|
494
|
+
D,
|
|
495
495
|
{
|
|
496
496
|
label: n("caseSensitiveLabel"),
|
|
497
497
|
hint: n("caseSensitiveHint"),
|
|
@@ -500,7 +500,7 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
500
500
|
}
|
|
501
501
|
),
|
|
502
502
|
/* @__PURE__ */ t.jsx(
|
|
503
|
-
|
|
503
|
+
K,
|
|
504
504
|
{
|
|
505
505
|
evaluation: e.evaluation,
|
|
506
506
|
locale: c,
|
|
@@ -510,13 +510,13 @@ const C = ["person", "keywords"], I = O(C), q = L({
|
|
|
510
510
|
] })
|
|
511
511
|
] });
|
|
512
512
|
};
|
|
513
|
-
|
|
513
|
+
F("bitflow-styles-task-free-text", J);
|
|
514
514
|
const M = "task-free-text";
|
|
515
|
-
|
|
515
|
+
R({
|
|
516
516
|
type: M,
|
|
517
517
|
kind: "task",
|
|
518
|
-
schema:
|
|
519
|
-
evaluate:
|
|
518
|
+
schema: V,
|
|
519
|
+
evaluate: _,
|
|
520
520
|
Task: X,
|
|
521
521
|
Form: ie,
|
|
522
522
|
info: (e) => ({
|
|
@@ -535,14 +535,14 @@ T({
|
|
|
535
535
|
evaluation: H()
|
|
536
536
|
})
|
|
537
537
|
});
|
|
538
|
-
|
|
538
|
+
I(M);
|
|
539
539
|
export {
|
|
540
540
|
ae as AnswerSchema,
|
|
541
|
-
|
|
541
|
+
V as DataSchema,
|
|
542
542
|
ie as Form,
|
|
543
543
|
M as TYPE,
|
|
544
544
|
X as Task,
|
|
545
|
-
|
|
545
|
+
_ as evaluate,
|
|
546
546
|
Q as formMessages,
|
|
547
547
|
y as messages
|
|
548
548
|
};
|