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,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bitflow-space-
|
|
1
|
+
import { P as H, a4 as B, ac as ie, ad as _, a9 as de, a2 as A, Y as W, a5 as ce, a as L, j as w, b as D, aa as ue, s as we } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as X, g as T, F as q, P as he, B as me, U as fe, y as be, r as ge, H as pe } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bitflow-space-small)}.bitflow-wordsearch-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--bitflow-space-medium);align-items:start}.bitflow-wordsearch-grid{display:flex;flex-direction:column;width:min(100%,calc(var(--bitflow-wordsearch-columns, 10) * 2rem));border:var(--bitflow-border-width) solid var(--bitflow-color-border);border-radius:var(--bitflow-radius-standard);background:var(--bitflow-color-surface);-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair}.bitflow-wordsearch-grid:focus-visible{outline:none;box-shadow:var(--bitflow-shadow-outline)}.bitflow-wordsearch-row{display:flex}.bitflow-wordsearch-cell{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;aspect-ratio:1;container-type:inline-size;color:var(--bitflow-color-text)}.bitflow-wordsearch-letter{font-family:var(--bitflow-font-family-mono);font-size:55cqw;line-height:1;text-transform:uppercase}.bitflow-wordsearch-cell-found{background:var(--bitflow-color-correct-surface);color:var(--bitflow-color-correct);font-weight:var(--bitflow-font-weight-bold);border-radius:var(--bitflow-radius-full)}.bitflow-wordsearch-cell-drawing{background:var(--bitflow-color-primary-light);border-radius:var(--bitflow-radius-full)}.bitflow-wordsearch-cell-cursor{box-shadow:inset 0 0 0 2px var(--bitflow-color-primary);border-radius:var(--bitflow-radius-full)}.bitflow-wordsearch-words{display:flex;flex-direction:column;gap:var(--bitflow-space-xxsmall)}.bitflow-wordsearch-list{display:flex;flex-wrap:wrap;gap:var(--bitflow-space-xxsmall) var(--bitflow-space-small);padding:0;margin:0;list-style:none}.bitflow-wordsearch-word{font-family:var(--bitflow-font-family-mono);text-transform:uppercase;letter-spacing:.05em}.bitflow-wordsearch-word-found{color:var(--bitflow-color-text-muted);text-decoration:line-through}.bitflow-wordsearch-missed{margin-inline-start:var(--bitflow-space-xxsmall);font-family:var(--bitflow-font-family);font-size:var(--bitflow-font-size-small);letter-spacing:normal;text-transform:none;color:var(--bitflow-color-wrong)}.bitflow-wordsearch-preview{margin-top:var(--bitflow-space-xxsmall);cursor:default}", y = {
|
|
4
4
|
east: { row: 0, column: 1 },
|
|
5
5
|
west: { row: 0, column: -1 },
|
|
6
6
|
south: { row: 1, column: 0 },
|
|
@@ -13,21 +13,21 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
13
13
|
Object.keys(y)
|
|
14
14
|
), ve = H({
|
|
15
15
|
/** Stable across edits, so an answer keeps pointing at the same word. */
|
|
16
|
-
id:
|
|
16
|
+
id: A().min(1),
|
|
17
17
|
/** The word to find. Compared in uppercase, so case never decides a mark. */
|
|
18
|
-
text:
|
|
18
|
+
text: A().default(""),
|
|
19
19
|
/** Where its first letter sits, zero-based from the top-left. */
|
|
20
20
|
row: W().int().min(0).default(0),
|
|
21
21
|
column: W().int().min(0).default(0),
|
|
22
22
|
direction: J.default("east")
|
|
23
|
-
}), k = (e) => [...e.trim().toUpperCase()].filter((t) => t !== " "),
|
|
23
|
+
}), k = (e) => [...e.trim().toUpperCase()].filter((t) => t !== " "), F = (e) => {
|
|
24
24
|
const t = y[e.direction];
|
|
25
25
|
return k(e.text).map((r, o) => ({
|
|
26
26
|
row: e.row + t.row * o,
|
|
27
27
|
column: e.column + t.column * o
|
|
28
28
|
}));
|
|
29
29
|
}, j = (e, t) => `${e},${t}`, ye = H({
|
|
30
|
-
instruction:
|
|
30
|
+
instruction: A().default(""),
|
|
31
31
|
rows: W().int().min(2).max(30).default(10),
|
|
32
32
|
columns: W().int().min(2).max(30).default(10),
|
|
33
33
|
/**
|
|
@@ -35,14 +35,14 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
35
35
|
* the filler letters are part of the puzzle, and a puzzle that is
|
|
36
36
|
* regenerated is a different puzzle.
|
|
37
37
|
*/
|
|
38
|
-
letters:
|
|
39
|
-
words:
|
|
38
|
+
letters: A().default(""),
|
|
39
|
+
words: B(ve).default([]),
|
|
40
40
|
/**
|
|
41
41
|
* Which runs the author allows. Kept as a setting rather than read back
|
|
42
42
|
* off the words, so unticking a direction nothing happens to use still
|
|
43
43
|
* means something the next time the grid is built.
|
|
44
44
|
*/
|
|
45
|
-
directions:
|
|
45
|
+
directions: B(J).default(() => Object.keys(y)),
|
|
46
46
|
/**
|
|
47
47
|
* Whether the words are listed. Off, the learner is told only how many
|
|
48
48
|
* there are — much harder, and the way a word search is set as a spelling
|
|
@@ -90,7 +90,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
90
90
|
}
|
|
91
91
|
const u = (c, l) => s[c * o + l];
|
|
92
92
|
t.forEach((c, l) => {
|
|
93
|
-
const m =
|
|
93
|
+
const m = F(c);
|
|
94
94
|
if (m.some(
|
|
95
95
|
(a) => a.row < 0 || a.column < 0 || a.row >= r || a.column >= o
|
|
96
96
|
)) {
|
|
@@ -121,8 +121,8 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
121
121
|
* word search is answered by pointing at the grid, and what was pointed at
|
|
122
122
|
* is the thing worth recording.
|
|
123
123
|
*/
|
|
124
|
-
found:
|
|
125
|
-
}),
|
|
124
|
+
found: B(je).default([])
|
|
125
|
+
}), G = (e, t, r) => {
|
|
126
126
|
if (!(t < 0 || r < 0 || t >= e.rows || r >= e.columns))
|
|
127
127
|
return e.letters[t * e.columns + r];
|
|
128
128
|
}, ee = (e) => {
|
|
@@ -134,19 +134,19 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
134
134
|
row: e.row + s.row * u,
|
|
135
135
|
column: e.column + s.column * u
|
|
136
136
|
}));
|
|
137
|
-
}, $ = (e) => e.map((t) => `${t.row},${t.column}`).join(">"),
|
|
137
|
+
}, $ = (e) => e.map((t) => `${t.row},${t.column}`).join(">"), I = (e, t) => {
|
|
138
138
|
const r = ee(t);
|
|
139
139
|
if (!r) return;
|
|
140
140
|
const o = $(r), s = $([...r].reverse());
|
|
141
141
|
return e.words.find((h) => {
|
|
142
142
|
if (k(h.text).length < 2) return !1;
|
|
143
|
-
const u = $(
|
|
143
|
+
const u = $(F(h));
|
|
144
144
|
return u === o || u === s;
|
|
145
145
|
});
|
|
146
146
|
}, te = (e, t) => {
|
|
147
147
|
const r = /* @__PURE__ */ new Map();
|
|
148
148
|
for (const o of t?.found ?? []) {
|
|
149
|
-
const s =
|
|
149
|
+
const s = I(e, o);
|
|
150
150
|
s && r.set(s.id, s);
|
|
151
151
|
}
|
|
152
152
|
return [...r.values()];
|
|
@@ -172,7 +172,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
172
172
|
words: ke(e, t)
|
|
173
173
|
}
|
|
174
174
|
};
|
|
175
|
-
},
|
|
175
|
+
}, P = {
|
|
176
176
|
en: {
|
|
177
177
|
name: "Find the words",
|
|
178
178
|
description: "A letter grid with words hidden in it for the learner to find.",
|
|
@@ -293,7 +293,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
293
293
|
c.set(j(b.row + p.row * M, b.column + p.column * M), R);
|
|
294
294
|
}), l.push({ ...a.word, ...b });
|
|
295
295
|
}
|
|
296
|
-
const i =
|
|
296
|
+
const i = Ee(c, { rows: t, columns: r }, l, h);
|
|
297
297
|
return {
|
|
298
298
|
rows: t,
|
|
299
299
|
columns: r,
|
|
@@ -311,14 +311,14 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
311
311
|
const m = y[l];
|
|
312
312
|
for (let g = 0; g < r.rows; g++)
|
|
313
313
|
for (let i = 0; i < r.columns; i++) {
|
|
314
|
-
const a =
|
|
314
|
+
const a = Ce(e, t, { row: g, column: i }, m, r);
|
|
315
315
|
a !== null && h.push({ at: { row: g, column: i, direction: l }, overlap: a });
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
if (h.length === 0) return;
|
|
319
319
|
const u = Math.max(...h.map((l) => l.overlap)), c = h.filter((l) => l.overlap === u);
|
|
320
320
|
return c[Math.floor(s() * c.length)].at;
|
|
321
|
-
},
|
|
321
|
+
}, Ce = (e, t, r, o, s) => {
|
|
322
322
|
let h = 0;
|
|
323
323
|
for (let u = 0; u < t.length; u++) {
|
|
324
324
|
const c = r.row + o.row * u, l = r.column + o.column * u;
|
|
@@ -331,7 +331,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
return h;
|
|
334
|
-
},
|
|
334
|
+
}, Ee = (e, t, r, o) => {
|
|
335
335
|
const s = r.map((l) => k(l.text).join("")), h = s.map((l) => [...l].reverse().join("")), u = [.../* @__PURE__ */ new Set([...s, ...h])];
|
|
336
336
|
for (let l = 0; l < t.rows; l++)
|
|
337
337
|
for (let m = 0; m < t.columns; m++) {
|
|
@@ -339,7 +339,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
339
339
|
if (!e.has(g))
|
|
340
340
|
for (let i = 0; i < O.length; i++) {
|
|
341
341
|
const a = O[Math.floor(o() * O.length)];
|
|
342
|
-
if (e.set(g, a), !
|
|
342
|
+
if (e.set(g, a), !Se(e, t, { row: l, column: m }, u)) break;
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
345
|
let c = "";
|
|
@@ -347,7 +347,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
347
347
|
for (let m = 0; m < t.columns; m++)
|
|
348
348
|
c += e.get(j(l, m)) ?? "A";
|
|
349
349
|
return c;
|
|
350
|
-
},
|
|
350
|
+
}, Se = (e, t, r, o) => {
|
|
351
351
|
const s = Math.max(...o.map((h) => h.length));
|
|
352
352
|
for (const h of [
|
|
353
353
|
y.east,
|
|
@@ -366,7 +366,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
return !1;
|
|
369
|
-
},
|
|
369
|
+
}, ze = ({
|
|
370
370
|
data: e,
|
|
371
371
|
answer: t,
|
|
372
372
|
outcomes: r,
|
|
@@ -374,34 +374,34 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
374
374
|
readonly: s,
|
|
375
375
|
onChange: h
|
|
376
376
|
}) => {
|
|
377
|
-
const u = (n, d) => D(
|
|
378
|
-
for (const n of
|
|
379
|
-
const d =
|
|
377
|
+
const u = (n, d) => D(P, n, o, d), [c, l] = L.useState({ row: 0, column: 0 }), [m, g] = L.useState(null), [i, a] = L.useState(""), b = L.useRef(null), p = L.useRef(null), [, R] = L.useReducer((n) => n + 1, 0), M = e.words.filter((n) => k(n.text).length > 1), Z = t.found, C = /* @__PURE__ */ new Map();
|
|
378
|
+
for (const n of Z) {
|
|
379
|
+
const d = I(e, n);
|
|
380
380
|
if (d)
|
|
381
|
-
for (const f of
|
|
382
|
-
|
|
381
|
+
for (const f of F(d))
|
|
382
|
+
C.set(j(f.row, f.column), d.id);
|
|
383
383
|
}
|
|
384
|
-
const
|
|
384
|
+
const E = new Set(C.values()), re = (n) => r?.find((d) => d.wordId === n), S = p.current ? {
|
|
385
385
|
row: p.current.from.row,
|
|
386
386
|
column: p.current.from.column,
|
|
387
387
|
endRow: p.current.to.row,
|
|
388
388
|
endColumn: p.current.to.column
|
|
389
|
-
} : m ? { row: m.row, column: m.column, endRow: c.row, endColumn: c.column } : null,
|
|
390
|
-
(
|
|
391
|
-
),
|
|
392
|
-
const d =
|
|
389
|
+
} : m ? { row: m.row, column: m.column, endRow: c.row, endColumn: c.column } : null, U = new Set(
|
|
390
|
+
(S ? ee(S) ?? [{ row: S.row, column: S.column }] : []).map((n) => j(n.row, n.column))
|
|
391
|
+
), K = (n) => {
|
|
392
|
+
const d = I(e, n);
|
|
393
393
|
if (!d) {
|
|
394
394
|
a(u("nothingThere"));
|
|
395
395
|
return;
|
|
396
396
|
}
|
|
397
|
-
if (
|
|
397
|
+
if (E.has(d.id)) {
|
|
398
398
|
a(u("alreadyFound", { word: d.text }));
|
|
399
399
|
return;
|
|
400
400
|
}
|
|
401
|
-
h({ found: [...
|
|
401
|
+
h({ found: [...Z, n] }), a(
|
|
402
402
|
u("wordFound", {
|
|
403
403
|
word: d.text,
|
|
404
|
-
found:
|
|
404
|
+
found: E.size + 1,
|
|
405
405
|
total: M.length
|
|
406
406
|
})
|
|
407
407
|
);
|
|
@@ -435,14 +435,14 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
435
435
|
f && (p.current = { ...d, to: ne(d.from, f) }, R());
|
|
436
436
|
}, () => {
|
|
437
437
|
const n = p.current;
|
|
438
|
-
p.current = null, R(), n && (l(n.to),
|
|
438
|
+
p.current = null, R(), n && (l(n.to), K({
|
|
439
439
|
row: n.from.row,
|
|
440
440
|
column: n.from.column,
|
|
441
441
|
endRow: n.to.row,
|
|
442
442
|
endColumn: n.to.column
|
|
443
443
|
}));
|
|
444
444
|
});
|
|
445
|
-
const
|
|
445
|
+
const z = (n, d) => {
|
|
446
446
|
l((f) => ({
|
|
447
447
|
row: Math.min(e.rows - 1, Math.max(0, f.row + n)),
|
|
448
448
|
column: Math.min(e.columns - 1, Math.max(0, f.column + d))
|
|
@@ -450,10 +450,10 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
450
450
|
}, ae = (n) => {
|
|
451
451
|
if (s) return;
|
|
452
452
|
const d = {
|
|
453
|
-
ArrowRight: () =>
|
|
454
|
-
ArrowLeft: () =>
|
|
455
|
-
ArrowDown: () =>
|
|
456
|
-
ArrowUp: () =>
|
|
453
|
+
ArrowRight: () => z(0, 1),
|
|
454
|
+
ArrowLeft: () => z(0, -1),
|
|
455
|
+
ArrowDown: () => z(1, 0),
|
|
456
|
+
ArrowUp: () => z(-1, 0),
|
|
457
457
|
Home: () => l((f) => ({ ...f, column: 0 })),
|
|
458
458
|
End: () => l((f) => ({ ...f, column: e.columns - 1 })),
|
|
459
459
|
Escape: () => {
|
|
@@ -476,11 +476,11 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
476
476
|
endRow: c.row,
|
|
477
477
|
endColumn: c.column
|
|
478
478
|
};
|
|
479
|
-
g(null),
|
|
479
|
+
g(null), K(n);
|
|
480
480
|
}, le = (n, d) => {
|
|
481
|
-
const f =
|
|
481
|
+
const f = C.get(j(n, d)), x = M.find((v) => v.id === f);
|
|
482
482
|
return u("cellAt", {
|
|
483
|
-
letter:
|
|
483
|
+
letter: G(e, n, d) ?? "",
|
|
484
484
|
row: n + 1,
|
|
485
485
|
column: d + 1
|
|
486
486
|
}) + (x ? `. ${u("partOf", { word: x.text })}` : "");
|
|
@@ -502,15 +502,15 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
502
502
|
onKeyDown: ae,
|
|
503
503
|
children: Array.from({ length: e.rows }, (n, d) => /* @__PURE__ */ w.jsx("div", { role: "row", className: "bitflow-wordsearch-row", children: Array.from({ length: e.columns }, (f, x) => {
|
|
504
504
|
const v = j(d, x), N = ["bitflow-wordsearch-cell"];
|
|
505
|
-
return
|
|
505
|
+
return C.has(v) && N.push("bitflow-wordsearch-cell-found"), U.has(v) && N.push("bitflow-wordsearch-cell-drawing"), c.row === d && c.column === x && N.push("bitflow-wordsearch-cell-cursor"), /* @__PURE__ */ w.jsx(
|
|
506
506
|
"span",
|
|
507
507
|
{
|
|
508
508
|
id: `cell-${d}-${x}`,
|
|
509
509
|
role: "gridcell",
|
|
510
510
|
className: N.join(" "),
|
|
511
511
|
"aria-label": le(d, x),
|
|
512
|
-
"aria-selected":
|
|
513
|
-
children: /* @__PURE__ */ w.jsx("span", { className: "bitflow-wordsearch-letter", children:
|
|
512
|
+
"aria-selected": U.has(v),
|
|
513
|
+
children: /* @__PURE__ */ w.jsx("span", { className: "bitflow-wordsearch-letter", children: G(e, d, x) })
|
|
514
514
|
},
|
|
515
515
|
x
|
|
516
516
|
);
|
|
@@ -518,9 +518,9 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
518
518
|
}
|
|
519
519
|
),
|
|
520
520
|
/* @__PURE__ */ w.jsxs("div", { className: "bitflow-wordsearch-words", children: [
|
|
521
|
-
/* @__PURE__ */ w.jsx("h3", { className: "bitflow-label", children: u("wordsHeading", { found:
|
|
521
|
+
/* @__PURE__ */ w.jsx("h3", { className: "bitflow-label", children: u("wordsHeading", { found: E.size, total: M.length }) }),
|
|
522
522
|
e.showWords ? /* @__PURE__ */ w.jsx("ul", { className: "bitflow-wordsearch-list", children: M.map((n) => {
|
|
523
|
-
const d = re(n.id), f =
|
|
523
|
+
const d = re(n.id), f = E.has(n.id);
|
|
524
524
|
return /* @__PURE__ */ w.jsxs(
|
|
525
525
|
"li",
|
|
526
526
|
{
|
|
@@ -541,7 +541,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
541
541
|
] }),
|
|
542
542
|
/* @__PURE__ */ w.jsx("div", { className: "bitflow-visually-hidden", role: "status", "aria-live": "polite", children: i })
|
|
543
543
|
] });
|
|
544
|
-
},
|
|
544
|
+
}, Ae = ({
|
|
545
545
|
data: e,
|
|
546
546
|
answer: t,
|
|
547
547
|
result: r,
|
|
@@ -551,7 +551,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
551
551
|
}) => /* @__PURE__ */ w.jsxs("div", { className: "bitflow-stack", children: [
|
|
552
552
|
/* @__PURE__ */ w.jsx(fe, { markdown: e.instruction }),
|
|
553
553
|
/* @__PURE__ */ w.jsx(
|
|
554
|
-
|
|
554
|
+
ze,
|
|
555
555
|
{
|
|
556
556
|
data: e,
|
|
557
557
|
answer: { found: t?.found ?? [] },
|
|
@@ -575,7 +575,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
575
575
|
direction: "east"
|
|
576
576
|
};
|
|
577
577
|
});
|
|
578
|
-
},
|
|
578
|
+
}, Fe = ({
|
|
579
579
|
data: e,
|
|
580
580
|
locale: t,
|
|
581
581
|
onChange: r,
|
|
@@ -597,7 +597,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
597
597
|
[e.words, e.rows, e.columns, u]
|
|
598
598
|
), m = new Set(
|
|
599
599
|
e.words.flatMap(
|
|
600
|
-
(i) => k(i.text).length > 1 ?
|
|
600
|
+
(i) => k(i.text).length > 1 ? F(i).map((a) => j(a.row, a.column)) : []
|
|
601
601
|
)
|
|
602
602
|
), g = (i) => /* @__PURE__ */ w.jsx(ge, { label: s(i), children: (a) => /* @__PURE__ */ w.jsx(
|
|
603
603
|
"input",
|
|
@@ -632,7 +632,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
632
632
|
hint: s("wordsHint"),
|
|
633
633
|
rows: 6,
|
|
634
634
|
value: De(e.words),
|
|
635
|
-
error:
|
|
635
|
+
error: T(o, "words"),
|
|
636
636
|
onChange: (i) => c({ words: He(i, e.words) })
|
|
637
637
|
}
|
|
638
638
|
),
|
|
@@ -643,7 +643,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
643
643
|
g("rows"),
|
|
644
644
|
g("columns")
|
|
645
645
|
] }),
|
|
646
|
-
|
|
646
|
+
T(o, "letters") && /* @__PURE__ */ w.jsx("span", { className: "bitflow-field-error", role: "alert", children: T(o, "letters") })
|
|
647
647
|
] }),
|
|
648
648
|
/* @__PURE__ */ w.jsxs("fieldset", { className: "bitflow-field", children: [
|
|
649
649
|
/* @__PURE__ */ w.jsx("legend", { className: "bitflow-label", children: s("directionsLabel") }),
|
|
@@ -674,7 +674,7 @@ const xe = ".bitflow-wordsearch{display:flex;flex-direction:column;gap:var(--bit
|
|
|
674
674
|
"span",
|
|
675
675
|
{
|
|
676
676
|
className: m.has(j(a, p)) ? "bitflow-wordsearch-cell bitflow-wordsearch-cell-found" : "bitflow-wordsearch-cell",
|
|
677
|
-
children: /* @__PURE__ */ w.jsx("span", { className: "bitflow-wordsearch-letter", children:
|
|
677
|
+
children: /* @__PURE__ */ w.jsx("span", { className: "bitflow-wordsearch-letter", children: G(e, a, p) })
|
|
678
678
|
},
|
|
679
679
|
p
|
|
680
680
|
)) }, a))
|
|
@@ -707,11 +707,11 @@ ue({
|
|
|
707
707
|
kind: "task",
|
|
708
708
|
schema: ye,
|
|
709
709
|
evaluate: We,
|
|
710
|
-
Task:
|
|
711
|
-
Form:
|
|
710
|
+
Task: Ae,
|
|
711
|
+
Form: Fe,
|
|
712
712
|
info: (e) => ({
|
|
713
|
-
name: D(
|
|
714
|
-
description: D(
|
|
713
|
+
name: D(P, "name", e),
|
|
714
|
+
description: D(P, "description", e)
|
|
715
715
|
}),
|
|
716
716
|
defaultData: () => ({
|
|
717
717
|
instruction: "",
|
|
@@ -731,24 +731,24 @@ export {
|
|
|
731
731
|
y as DIRECTIONS,
|
|
732
732
|
ye as DataSchema,
|
|
733
733
|
J as DirectionSchema,
|
|
734
|
-
|
|
734
|
+
Fe as Form,
|
|
735
735
|
je as SelectionSchema,
|
|
736
736
|
oe as TYPE,
|
|
737
|
-
|
|
738
|
-
|
|
737
|
+
Ae as Task,
|
|
738
|
+
ze as WordGrid,
|
|
739
739
|
ve as WordSchema,
|
|
740
740
|
j as cellKey,
|
|
741
741
|
ee as cellsBetween,
|
|
742
|
-
|
|
742
|
+
F as cellsOf,
|
|
743
743
|
We as evaluate,
|
|
744
744
|
Ne as formMessages,
|
|
745
745
|
te as foundWords,
|
|
746
746
|
Q as generate,
|
|
747
|
-
|
|
747
|
+
G as letterAt,
|
|
748
748
|
k as lettersOf,
|
|
749
|
-
|
|
749
|
+
P as messages,
|
|
750
750
|
ke as outcomes,
|
|
751
751
|
Me as scoreOf,
|
|
752
752
|
Le as seededRandom,
|
|
753
|
-
|
|
753
|
+
I as wordFound
|
|
754
754
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
1
|
+
import { P as u, a9 as f, ac as g, ad as m, ab as c, a2 as y, j as n, b as r, s as p, aa as k } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as v, M as w, C as b, P as N, B as j, U as x, H as W } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
const q = ".bitflow-yes-no{border:0;margin:0;padding:0;display:flex;gap:var(--bitflow-space-xsmall)}.bitflow-yes-no .bitflow-option{flex:1;justify-content:center;align-items:center}", L = ({
|
|
4
4
|
data: e,
|
|
5
5
|
answer: o
|
|
6
6
|
}) => {
|
|
@@ -48,17 +48,17 @@ const W = ".bitflow-yes-no{border:0;margin:0;padding:0;display:flex;gap:var(--bi
|
|
|
48
48
|
it: { name: "Sì / No", description: "Una domanda con risposta sì o no.", yes: "Sì", no: "No", legend: "Scegli sì o no" },
|
|
49
49
|
pt: { name: "Sim / Não", description: "Uma pergunta de sim ou não.", yes: "Sim", no: "Não", legend: "Escolhe sim ou não" },
|
|
50
50
|
tr: { name: "Evet / Hayır", description: "Evet ya da hayır ile yanıtlanan bir soru.", yes: "Evet", no: "Hayır", legend: "Evet ya da hayır seçin" }
|
|
51
|
-
},
|
|
51
|
+
}, C = u({
|
|
52
52
|
/** The statement or question, as Markdown. */
|
|
53
|
-
question:
|
|
53
|
+
question: y().default(""),
|
|
54
54
|
/** Which answer counts as right. */
|
|
55
55
|
correctAnswer: f().default(!0),
|
|
56
56
|
/** Shown when the learner answered yes and yes was wrong. */
|
|
57
57
|
feedbackWhenYes: c.optional(),
|
|
58
58
|
/** Shown when the learner answered no and no was wrong. */
|
|
59
59
|
feedbackWhenNo: c.optional(),
|
|
60
|
-
evaluation:
|
|
61
|
-
}),
|
|
60
|
+
evaluation: g.default(m)
|
|
61
|
+
}), Y = u({ yes: f() }), A = ({
|
|
62
62
|
data: e,
|
|
63
63
|
answer: o,
|
|
64
64
|
readonly: t,
|
|
@@ -85,7 +85,7 @@ const W = ".bitflow-yes-no{border:0;margin:0;padding:0;display:flex;gap:var(--bi
|
|
|
85
85
|
] }, String(l)))
|
|
86
86
|
] })
|
|
87
87
|
] });
|
|
88
|
-
},
|
|
88
|
+
}, E = ({
|
|
89
89
|
data: e,
|
|
90
90
|
locale: o,
|
|
91
91
|
onChange: t
|
|
@@ -93,7 +93,7 @@ const W = ".bitflow-yes-no{border:0;margin:0;padding:0;display:flex;gap:var(--bi
|
|
|
93
93
|
const s = (a) => r(d, a, o), i = (a) => t({ ...e, ...a });
|
|
94
94
|
return /* @__PURE__ */ n.jsxs("div", { className: "bitflow-stack", children: [
|
|
95
95
|
/* @__PURE__ */ n.jsx(
|
|
96
|
-
|
|
96
|
+
v,
|
|
97
97
|
{
|
|
98
98
|
label: s("questionLabel"),
|
|
99
99
|
hint: s("questionHint"),
|
|
@@ -147,15 +147,15 @@ const W = ".bitflow-yes-no{border:0;margin:0;padding:0;display:flex;gap:var(--bi
|
|
|
147
147
|
) })
|
|
148
148
|
] });
|
|
149
149
|
};
|
|
150
|
-
p("bitflow-styles-task-yes-no",
|
|
150
|
+
p("bitflow-styles-task-yes-no", q);
|
|
151
151
|
const h = "task-yes-no";
|
|
152
|
-
|
|
152
|
+
k({
|
|
153
153
|
type: h,
|
|
154
154
|
kind: "task",
|
|
155
|
-
schema:
|
|
156
|
-
evaluate:
|
|
155
|
+
schema: C,
|
|
156
|
+
evaluate: L,
|
|
157
157
|
Task: A,
|
|
158
|
-
Form:
|
|
158
|
+
Form: E,
|
|
159
159
|
info: (e) => ({
|
|
160
160
|
name: r(d, "name", e),
|
|
161
161
|
description: r(d, "description", e)
|
|
@@ -166,13 +166,13 @@ v({
|
|
|
166
166
|
evaluation: m()
|
|
167
167
|
})
|
|
168
168
|
});
|
|
169
|
-
|
|
169
|
+
W(h);
|
|
170
170
|
export {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
171
|
+
Y as AnswerSchema,
|
|
172
|
+
C as DataSchema,
|
|
173
|
+
E as Form,
|
|
174
174
|
h as TYPE,
|
|
175
175
|
A as Task,
|
|
176
|
-
|
|
176
|
+
L as evaluate,
|
|
177
177
|
d as messages
|
|
178
178
|
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
instruction:
|
|
5
|
-
text:
|
|
1
|
+
import { P as v, ac as A, ad as M, al as H, Y as O, a2 as k, a9 as U, j as l, b as u, a as m, a4 as D, a5 as B, aa as $, s as q } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as T, g as w, P as W, B as Y, U as G, H as I } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
const K = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-highlight-orange{background:#ffe0bd;color:#4a2c00}.bitflow-highlight-blue{background:#cfe0f7;color:#10294a}.bitflow-highlight-lavender{background:#e2dbf5;color:#2b1f4a}.bitflow-highlight-yellow{background:#fbf1b8;color:#453c00}.bitflow-highlight-palette{display:flex;flex-wrap:wrap;gap:var(--bitflow-space-xxsmall)}.bitflow-highlight-swatch{display:inline-flex;align-items:center;padding:var(--bitflow-space-xxsmall) var(--bitflow-space-xsmall);min-height:44px;border:var(--bitflow-border-width) solid transparent;border-radius:var(--bitflow-radius-standard);cursor:pointer;font-size:var(--bitflow-font-size-small)}.bitflow-highlight-swatch:has(:checked){border-color:var(--bitflow-color-neutral-900);font-weight:var(--bitflow-font-weight-bold)}.bitflow-highlight-swatch:has(:focus-visible){box-shadow:var(--bitflow-shadow-outline)}.bitflow-highlight-eraser{background:var(--bitflow-color-neutral-100)}.bitflow-highlight-text{white-space:pre-wrap;line-height:var(--bitflow-line-height-relaxed, 1.8);margin:0}.bitflow-highlight-text{cursor:text}.bitflow-highlight-token[role=button]{cursor:pointer;border-radius:var(--bitflow-radius-small);text-decoration:underline dotted var(--bitflow-color-neutral-400);text-underline-offset:3px}.bitflow-highlight-token[role=button]:hover{background:var(--bitflow-color-neutral-100);text-decoration-color:var(--bitflow-color-neutral-900)}.bitflow-highlight-token[role=button]:focus-visible{box-shadow:var(--bitflow-shadow-outline)}@media(pointer:coarse){.bitflow-highlight-text{line-height:2.2}.bitflow-highlight-token[role=button]{padding-block:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}}.bitflow-highlight-text ::selection{background:var(--bitflow-color-primary-light)}.bitflow-highlight-agreement{margin:0;padding-left:var(--bitflow-space-small);color:var(--bitflow-color-text-muted);font-size:var(--bitflow-font-size-small)}.bitflow-highlight-color-row{display:flex;align-items:center;gap:var(--bitflow-space-xsmall)}.bitflow-highlight-cutoff{display:flex;align-items:center;justify-content:space-between;gap:var(--bitflow-space-xsmall)}.bitflow-highlight-cutoff input{max-width:6em}", f = ["maroon", "orange", "blue", "lavender", "yellow"], j = B(f), P = D(j.nullable()), _ = v({
|
|
4
|
+
instruction: k().default(""),
|
|
5
|
+
text: k().default(""),
|
|
6
6
|
// `partialRecord`, not `record`: a task uses one or two colours, and a
|
|
7
7
|
// plain enum-keyed record in zod 4 would demand an entry for all five.
|
|
8
|
-
colors:
|
|
8
|
+
colors: H(
|
|
9
9
|
j,
|
|
10
|
-
|
|
11
|
-
enabled:
|
|
10
|
+
v({
|
|
11
|
+
enabled: U().default(!1),
|
|
12
12
|
/** What this colour means in this task, e.g. "cause". */
|
|
13
|
-
label:
|
|
13
|
+
label: k().default("")
|
|
14
14
|
})
|
|
15
15
|
).default({}),
|
|
16
16
|
/** The teacher's own highlighting, compared against character by character. */
|
|
17
|
-
reference:
|
|
17
|
+
reference: P.default([]),
|
|
18
18
|
/**
|
|
19
19
|
* Per colour, the Cohen's kappa a learner must reach for that colour to
|
|
20
20
|
* count as right. Kappa rather than raw overlap because agreeing by
|
|
21
21
|
* accident on a mostly-unhighlighted text is easy.
|
|
22
22
|
*/
|
|
23
|
-
cutoffs:
|
|
24
|
-
evaluation:
|
|
23
|
+
cutoffs: H(j, O().min(0).max(1)).default({}),
|
|
24
|
+
evaluation: A.default(M)
|
|
25
25
|
}).check((e) => {
|
|
26
26
|
e.value.evaluation.mode === "auto" && (f.filter((o) => e.value.colors[o]?.enabled).length === 0 && e.issues.push({
|
|
27
27
|
code: "custom",
|
|
@@ -34,8 +34,8 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
34
34
|
path: ["reference"],
|
|
35
35
|
message: "The reference highlighting does not match the text. Re-mark the text after editing it."
|
|
36
36
|
}));
|
|
37
|
-
}), re =
|
|
38
|
-
highlights:
|
|
37
|
+
}), re = v({
|
|
38
|
+
highlights: P.default([])
|
|
39
39
|
}), V = ({
|
|
40
40
|
bothHighlighted: e,
|
|
41
41
|
bothPlain: o,
|
|
@@ -157,7 +157,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
157
157
|
word: !0
|
|
158
158
|
}), n = t.index + t[0].length;
|
|
159
159
|
return n < e.length && o.push({ text: e.slice(n), start: n, end: e.length, word: !1 }), o;
|
|
160
|
-
},
|
|
160
|
+
}, R = (e, o, i) => {
|
|
161
161
|
const n = e[o] ?? null;
|
|
162
162
|
for (let t = o; t < i; t++)
|
|
163
163
|
if ((e[t] ?? null) !== n) return null;
|
|
@@ -171,7 +171,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
171
171
|
if (!i) return null;
|
|
172
172
|
const n = Number(i.dataset.start);
|
|
173
173
|
return Number.isFinite(n) ? n + o : null;
|
|
174
|
-
},
|
|
174
|
+
}, z = ({
|
|
175
175
|
text: e,
|
|
176
176
|
highlights: o,
|
|
177
177
|
colors: i,
|
|
@@ -179,7 +179,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
179
179
|
readonly: t,
|
|
180
180
|
onChange: c
|
|
181
181
|
}) => {
|
|
182
|
-
const s = (r, d) => u(g, r, n, d), a = f.filter((r) => i[r]?.enabled), [h, y] = m.useState(a[0] ?? null),
|
|
182
|
+
const s = (r, d) => u(g, r, n, d), a = f.filter((r) => i[r]?.enabled), [h, y] = m.useState(a[0] ?? null), S = m.useMemo(() => J(e), [e]), N = (r) => i[r]?.label || u(g, r, n), x = m.useCallback(
|
|
183
183
|
(r, d, b) => c(Q(o, e.length, r, d, b)),
|
|
184
184
|
[o, c, e.length]
|
|
185
185
|
), C = m.useCallback(() => {
|
|
@@ -191,7 +191,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
191
191
|
}, [h, x, t]), L = m.useCallback(
|
|
192
192
|
(r) => {
|
|
193
193
|
if (t) return;
|
|
194
|
-
const d =
|
|
194
|
+
const d = R(o, r.start, r.end);
|
|
195
195
|
x(r.start, r.end, d === h ? null : h);
|
|
196
196
|
},
|
|
197
197
|
[h, x, o, t]
|
|
@@ -247,8 +247,8 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
247
247
|
className: "bitflow-highlight-text",
|
|
248
248
|
onMouseUp: C,
|
|
249
249
|
onKeyUp: C,
|
|
250
|
-
children:
|
|
251
|
-
const d =
|
|
250
|
+
children: S.map((r) => {
|
|
251
|
+
const d = R(o, r.start, r.end), b = [
|
|
252
252
|
r.word ? "bitflow-highlight-token" : "",
|
|
253
253
|
d ? `bitflow-highlight-${d}` : ""
|
|
254
254
|
].filter(Boolean).join(" ");
|
|
@@ -294,9 +294,9 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
294
294
|
}) => {
|
|
295
295
|
const s = i?.detail?.agreement ?? {};
|
|
296
296
|
return /* @__PURE__ */ l.jsxs("div", { className: "bitflow-stack", children: [
|
|
297
|
-
/* @__PURE__ */ l.jsx(
|
|
297
|
+
/* @__PURE__ */ l.jsx(G, { markdown: e.instruction }),
|
|
298
298
|
/* @__PURE__ */ l.jsx(
|
|
299
|
-
|
|
299
|
+
z,
|
|
300
300
|
{
|
|
301
301
|
text: e.text,
|
|
302
302
|
highlights: o?.highlights ?? [],
|
|
@@ -392,7 +392,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
392
392
|
/* @__PURE__ */ l.jsx("span", { className: "bitflow-hint", children: t("referenceHint") }),
|
|
393
393
|
w(n, "reference") && /* @__PURE__ */ l.jsx("span", { className: "bitflow-field-error", role: "alert", children: w(n, "reference") }),
|
|
394
394
|
/* @__PURE__ */ l.jsx(
|
|
395
|
-
|
|
395
|
+
z,
|
|
396
396
|
{
|
|
397
397
|
text: e.text,
|
|
398
398
|
highlights: e.reference,
|
|
@@ -428,7 +428,7 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
428
428
|
] }, a))
|
|
429
429
|
] }),
|
|
430
430
|
/* @__PURE__ */ l.jsx(
|
|
431
|
-
|
|
431
|
+
Y,
|
|
432
432
|
{
|
|
433
433
|
evaluation: e.evaluation,
|
|
434
434
|
locale: o,
|
|
@@ -437,9 +437,9 @@ const I = ".bitflow-highlight-maroon{background:#f6d6d6;color:#4a1010}.bitflow-h
|
|
|
437
437
|
)
|
|
438
438
|
] })
|
|
439
439
|
] });
|
|
440
|
-
},
|
|
441
|
-
|
|
442
|
-
type:
|
|
440
|
+
}, F = "task-highlighting";
|
|
441
|
+
$({
|
|
442
|
+
type: F,
|
|
443
443
|
kind: "task",
|
|
444
444
|
schema: _,
|
|
445
445
|
evaluate: Z,
|
|
@@ -458,15 +458,15 @@ B({
|
|
|
458
458
|
evaluation: M()
|
|
459
459
|
})
|
|
460
460
|
});
|
|
461
|
-
|
|
462
|
-
q("bitflow-styles-task-highlighting",
|
|
461
|
+
I(F);
|
|
462
|
+
q("bitflow-styles-task-highlighting", K);
|
|
463
463
|
export {
|
|
464
464
|
re as AnswerSchema,
|
|
465
465
|
f as COLORS,
|
|
466
466
|
_ as DataSchema,
|
|
467
467
|
te as Form,
|
|
468
|
-
|
|
469
|
-
|
|
468
|
+
z as Highlighter,
|
|
469
|
+
F as TYPE,
|
|
470
470
|
ee as Task,
|
|
471
471
|
X as agreementPerColor,
|
|
472
472
|
Z as evaluate,
|