hyperbook 0.113.2 → 0.113.4
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-CE3Yr86b.js → EditorElement-BNwEKIvk.js} +143 -143
- package/dist/assets/directive-bitflow/{ReportElements-eYGRtw6N.js → ReportElements-CAvHx5xm.js} +2 -2
- package/dist/assets/directive-bitflow/{bitLoaders-CxvZkGrY.js → bitLoaders-7qanePQL.js} +41 -41
- 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-oNmOArKu.js → index-4JaKZ7WT.js} +2 -2
- package/dist/assets/directive-bitflow/{index-EKIgFddO.js → index-6CQr_atd.js} +19 -19
- package/dist/assets/directive-bitflow/{index-BadyFTU5.js → index-B9iG-a48.js} +2 -2
- package/dist/assets/directive-bitflow/{index-D4PdXMcj.js → index-BFYoOtcY.js} +5 -5
- package/dist/assets/directive-bitflow/{index-d5ebPDeY.js → index-BI6aFdIS.js} +10 -10
- package/dist/assets/directive-bitflow/{index-DruC5d43.js → index-Bf078mfo.js} +2 -2
- package/dist/assets/directive-bitflow/{index-CWe2GjBK.js → index-BinE5Wvd.js} +7 -7
- package/dist/assets/directive-bitflow/{index-BG0PL-Z6.js → index-BoX5-jkC.js} +7 -7
- package/dist/assets/directive-bitflow/{index-ledofrbo.js → index-BqRsXShM.js} +4 -4
- package/dist/assets/directive-bitflow/{index-CjKhq7gY.js → index-BxihQ8Oo.js} +13 -13
- package/dist/assets/directive-bitflow/{index-BNdpL6Ss.js → index-C5YguHZU.js} +28 -28
- package/dist/assets/directive-bitflow/{index-xTX3CXJW.js → index-C8zwSmE6.js} +7 -7
- package/dist/assets/directive-bitflow/{index-D9LOuqr2.js → index-C9JSBTNc.js} +21 -21
- package/dist/assets/directive-bitflow/{index-BydYlLy4.js → index-CCMI6UK4.js} +8 -8
- package/dist/assets/directive-bitflow/{index-WbE9UOFa.js → index-CGDt8H6s.js} +5 -5
- package/dist/assets/directive-bitflow/{index-D_QhyFcx.js → index-Ca1v0pjV.js} +5 -5
- package/dist/assets/directive-bitflow/{index-88c3K20U.js → index-CaYn3Gmh.js} +12 -12
- package/dist/assets/directive-bitflow/{index-C7RJxxAx.js → index-CbQue0If.js} +30 -30
- package/dist/assets/directive-bitflow/{index-CfKpkSVC.js → index-CjH3h0OO.js} +28 -28
- package/dist/assets/directive-bitflow/{index-TUXuIR22.js → index-CkO3QfOS.js} +4 -4
- package/dist/assets/directive-bitflow/{index-DIb3CXwC.js → index-Cz4i5rfe.js} +6 -6
- package/dist/assets/directive-bitflow/{index-HXNGIC7K.js → index-D0NtgeiX.js} +17 -17
- package/dist/assets/directive-bitflow/{index-CLHtOGrW.js → index-D1C_1SPY.js} +4 -4
- package/dist/assets/directive-bitflow/{index-Dn5hHVuT.js → index-D45u7EVR.js} +13 -13
- package/dist/assets/directive-bitflow/{index-IsMJtrUT.js → index-D9Ox4YpM.js} +10 -10
- package/dist/assets/directive-bitflow/{index-B61LKxr1.js → index-DJ1w2Xcm.js} +15 -15
- package/dist/assets/directive-bitflow/{index-BwBVUdJ9.js → index-DUqW2fmV.js} +2 -2
- package/dist/assets/directive-bitflow/{index-DUOrQfVe.js → index-Deedj9EF.js} +6 -6
- package/dist/assets/directive-bitflow/{index-DQP0cUsP.js → index-Dg6nnY_v.js} +14 -14
- package/dist/assets/directive-bitflow/{index-DW3cUBvZ.js → index-DgxEzomz.js} +2 -2
- package/dist/assets/directive-bitflow/{index-D0U3nepG.js → index-Dl0-ZAT5.js} +20 -20
- package/dist/assets/directive-bitflow/{index-ISbOe239.js → index-Do6dmZyj.js} +2 -2
- package/dist/assets/directive-bitflow/{index-Bw0pL0hW.js → index-DqnGC-DU.js} +6 -6
- package/dist/assets/directive-bitflow/{index-rp4UTV85.js → index-DwXXeSwk.js} +19 -19
- package/dist/assets/directive-bitflow/{index-BZhNY0lo.js → index-b6qwcTj9.js} +9 -9
- package/dist/assets/directive-bitflow/{index-BO-d4HVC.js → index-d105UFQI.js} +21 -21
- package/dist/assets/directive-bitflow/{index-BuQ-K_tR.js → index-jijMWQB6.js} +2 -2
- package/dist/assets/directive-bitflow/{index-DYWo0PUv.js → index-kxO5_U9Y.js} +2 -2
- package/dist/assets/directive-bitflow/{index-Cm4w1Zyc.js → index-p5AOgOal.js} +21 -21
- package/dist/assets/directive-bitflow/{index-BlT1EcFH.js → index-q2APknM6.js} +15 -15
- package/dist/assets/directive-bitflow/{index-CERSJ9uS.js → index-zVkWgm5I.js} +11 -11
- package/dist/assets/directive-bitflow/index.js +6 -6
- package/dist/assets/directive-bitflow/report.js +1 -1
- package/dist/assets/directive-bitflow/{shareableReport-vjEU4OvA.js → shareableReport-mdyEMdsJ.js} +6 -6
- package/dist/assets/directive-multievent/multievent.js +9 -17
- package/dist/index.js +1 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { e as Z, C as he, g as
|
|
1
|
+
import { P as D, a4 as ee, ac as ue, ad as te, a5 as fe, a9 as B, a2 as M, a as y, j as i, Y as ne, b as P, aa as pe, s as me } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { e as Z, C as he, g as Y, P as be, M as ge, F as V, B as we, q as ve, y as xe, U as ye, H as ke } from "./bitLoaders-7qanePQL.js";
|
|
3
3
|
const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflow-space-small)}.bitflow-parsons-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--bitflow-space-small)}.bitflow-parsons-list{display:flex;flex-direction:column;gap:var(--bitflow-space-xxsmall);padding:0;margin:var(--bitflow-space-xxsmall) 0 0;list-style:none}.bitflow-parsons-columns>*>.bitflow-text-muted{display:flex;align-items:center;justify-content:center;min-height:6rem;margin-top:var(--bitflow-space-xxsmall);padding:var(--bitflow-space-small);text-align:center;border:var(--bitflow-border-width) dashed var(--bitflow-color-border);border-radius:var(--bitflow-radius-standard)}.bitflow-parsons-line{display:flex;gap:var(--bitflow-space-xsmall);align-items:center;margin-inline-start:var(--bitflow-parsons-indent, 0rem);width:calc(100% - var(--bitflow-parsons-indent, 0rem));padding:var(--bitflow-space-xxsmall) var(--bitflow-space-xsmall);font:inherit;color:var(--bitflow-color-text);text-align:left;cursor:grab;background:var(--bitflow-color-surface);border:var(--bitflow-border-width) solid var(--bitflow-color-border);border-radius:var(--bitflow-radius-standard);touch-action:manipulation}.bitflow-parsons-line:disabled{cursor:default}.bitflow-parsons-grip{flex:none;align-self:stretch;display:flex;align-items:center;justify-content:center;width:2rem;margin-block:calc(-1 * var(--bitflow-space-xxsmall));margin-inline-start:calc(-1 * var(--bitflow-space-xsmall));touch-action:none;cursor:grab}.bitflow-parsons-grip:before{content:"";width:12px;height:18px;background:radial-gradient(circle,var(--bitflow-color-neutral-400) 1.5px,transparent 2px) 0 0 / 6px 6px}.bitflow-parsons-line code{flex:1;min-width:0;font-family:var(--bitflow-font-family-mono);font-size:var(--bitflow-font-size-small);white-space:pre-wrap;overflow-wrap:anywhere;padding-inline-start:2ch;text-indent:-2ch}.bitflow-parsons-number{flex:none;width:1.5rem;font-size:var(--bitflow-font-size-small);font-variant-numeric:tabular-nums;color:var(--bitflow-color-text-muted);text-align:right}.bitflow-parsons-line.bitflow-parsons-line-correct{background:color-mix(in srgb,var(--bitflow-color-correct) 12%,var(--bitflow-color-surface));border-color:var(--bitflow-color-correct)}.bitflow-parsons-line.bitflow-parsons-line-wrong{background:color-mix(in srgb,var(--bitflow-color-wrong) 12%,var(--bitflow-color-surface));border-color:var(--bitflow-color-wrong)}.bitflow-parsons-line.bitflow-parsons-line-stray{background:var(--bitflow-color-neutral-100);border-style:dashed;border-color:var(--bitflow-color-wrong)}.bitflow-parsons-line.bitflow-parsons-line-gap{background:var(--bitflow-color-neutral-100);border-style:dashed;border-color:var(--bitflow-color-primary)}.bitflow-parsons-lifted{position:fixed;top:0;left:0;z-index:10;cursor:grabbing;pointer-events:none;box-shadow:var(--bitflow-shadow-medium)}.bitflow-parsons-lifted.bitflow-parsons-lifted-out{opacity:.55;border-style:dashed}.bitflow-parsons-read{margin:0;padding:var(--bitflow-space-xsmall);list-style:none;background:var(--bitflow-color-surface);border:1px solid var(--bitflow-color-border);border-radius:var(--bitflow-radius-standard);overflow-x:auto}.bitflow-parsons-read-line{display:flex;align-items:baseline;gap:var(--bitflow-space-xsmall)}.bitflow-parsons-read-line code{font-family:var(--bitflow-font-family-mono);font-size:var(--bitflow-font-size-small);white-space:pre}.bitflow-parsons-read-level{flex:none;min-width:var(--bitflow-parsons-level-width, 4.5rem);font-size:var(--bitflow-font-size-small);font-variant-numeric:tabular-nums;color:var(--bitflow-color-text-muted);-webkit-user-select:none;user-select:none}.bitflow-parsons-structogram .bitflow-parsons-line code{font-family:var(--bitflow-font-family);font-size:var(--bitflow-font-size-standard)}.bitflow-parsons-structogram .bitflow-parsons-program{gap:0}.bitflow-parsons-structogram .bitflow-parsons-program .bitflow-parsons-line{margin-inline-start:0;width:100%;border-radius:0;margin-top:calc(-1 * var(--bitflow-border-width));padding-inline-start:calc(var(--bitflow-parsons-indent, 0rem) + var(--bitflow-space-xsmall));background-image:repeating-linear-gradient(to right,var(--bitflow-color-neutral-200) 0 calc(1.5rem - 2px),var(--bitflow-color-neutral-700) calc(1.5rem - 2px) 1.5rem);background-size:var(--bitflow-parsons-indent, 0rem) 100%;background-repeat:no-repeat}.bitflow-parsons-structogram .bitflow-parsons-program li:first-child .bitflow-parsons-line{margin-top:0;border-start-start-radius:var(--bitflow-radius-standard);border-start-end-radius:var(--bitflow-radius-standard)}.bitflow-parsons-structogram .bitflow-parsons-program li:last-child .bitflow-parsons-line{border-end-start-radius:var(--bitflow-radius-standard);border-end-end-radius:var(--bitflow-radius-standard)}.bitflow-parsons-row{display:flex;align-items:stretch;gap:var(--bitflow-space-xxsmall)}.bitflow-parsons-row>.bitflow-parsons-line{flex:1;min-width:0}.bitflow-parsons-actions{display:none;flex:none;grid-template-rows:1fr 1fr;grid-auto-flow:column;gap:2px}@media(pointer:coarse){.bitflow-parsons-actions{display:grid}}.bitflow-parsons-action{min-width:2rem;min-height:1.5rem;padding:0;font:inherit;font-size:var(--bitflow-font-size-small);color:var(--bitflow-color-text);background:var(--bitflow-color-surface);border:1px solid var(--bitflow-color-border);border-radius:var(--bitflow-radius-small);cursor:pointer}.bitflow-parsons-action:disabled{opacity:.4;cursor:default}.bitflow-parsons-structogram .bitflow-parsons-program .bitflow-parsons-line-branch{position:relative;padding-bottom:1.25em;background-image:linear-gradient(to top right,transparent calc(50% - 1px),var(--bitflow-color-neutral-700) 50%,transparent calc(50% + 1px)),linear-gradient(to top left,transparent calc(50% - 1px),var(--bitflow-color-neutral-700) 50%,transparent calc(50% + 1px)),repeating-linear-gradient(to right,var(--bitflow-color-neutral-200) 0 calc(1.5rem - 2px),var(--bitflow-color-neutral-700) calc(1.5rem - 2px) 1.5rem);background-size:calc((100% - var(--bitflow-parsons-indent, 0rem)) / 2) 100%,calc((100% - var(--bitflow-parsons-indent, 0rem)) / 2) 100%,var(--bitflow-parsons-indent, 0rem) 100%;background-position:var(--bitflow-parsons-indent, 0rem) 0,100% 0,0 0;background-repeat:no-repeat}.bitflow-parsons-structogram .bitflow-parsons-line-branch code{text-align:center}.bitflow-parsons-cases{position:absolute;inset-inline:calc(var(--bitflow-parsons-indent, 0rem) + var(--bitflow-space-xsmall)) var(--bitflow-space-xsmall);bottom:2px;display:flex;justify-content:space-between;font-size:var(--bitflow-font-size-small);color:var(--bitflow-color-text-muted);pointer-events:none}.bitflow-parsons-structogram .bitflow-parsons-program .bitflow-parsons-line-else code{font-style:italic;color:var(--bitflow-color-text-muted)}.bitflow-parsons-structogram .bitflow-parsons-program .bitflow-parsons-line-else{border-top-style:double;border-top-width:4px}', ae = (e) => e.lines.filter((n) => !n.distractor), ze = (e, n) => {
|
|
4
4
|
const l = ae(e), r = (a) => e.lines.find((c) => c.id === a)?.distractor === !0;
|
|
5
5
|
return n.map((a, c) => {
|
|
@@ -365,7 +365,7 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
365
365
|
onPointerDown: (u) => F(u, t.id, !0),
|
|
366
366
|
onClick: () => oe(t),
|
|
367
367
|
children: [
|
|
368
|
-
!a && /* @__PURE__ */ i.jsx(
|
|
368
|
+
!a && /* @__PURE__ */ i.jsx(W, {}),
|
|
369
369
|
/* @__PURE__ */ i.jsx("code", { children: t.text })
|
|
370
370
|
]
|
|
371
371
|
}
|
|
@@ -414,7 +414,7 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
414
414
|
onClick: () => O(o),
|
|
415
415
|
children: [
|
|
416
416
|
!x && /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
|
|
417
|
-
!a && /* @__PURE__ */ i.jsx(
|
|
417
|
+
!a && /* @__PURE__ */ i.jsx(W, {}),
|
|
418
418
|
/* @__PURE__ */ i.jsx(
|
|
419
419
|
"span",
|
|
420
420
|
{
|
|
@@ -498,7 +498,7 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
498
498
|
transform: `translate(${b.x - b.grabX}px, ${b.y - b.grabY}px)`
|
|
499
499
|
},
|
|
500
500
|
children: [
|
|
501
|
-
/* @__PURE__ */ i.jsx(
|
|
501
|
+
/* @__PURE__ */ i.jsx(W, {}),
|
|
502
502
|
/* @__PURE__ */ i.jsx("code", { children: z(b.lineId) })
|
|
503
503
|
]
|
|
504
504
|
}
|
|
@@ -507,14 +507,14 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
507
507
|
]
|
|
508
508
|
}
|
|
509
509
|
);
|
|
510
|
-
},
|
|
510
|
+
}, W = () => /* @__PURE__ */ i.jsx("span", { className: "bitflow-parsons-grip", "aria-hidden": "true" }), Te = (e) => e === "touch" || e === "pen", Pe = (e) => e instanceof Element && e.closest(".bitflow-parsons-grip") !== null, De = /^\s*(wenn|falls|if)\b/i, Ee = /^\s*(sonst|else)\b/i, Re = (e, n, l) => {
|
|
511
511
|
const r = l(e[n].lineId)?.text ?? "";
|
|
512
512
|
if (Ee.test(r)) return "else";
|
|
513
513
|
const a = e[n + 1];
|
|
514
514
|
if (!(!a || a.indent <= e[n].indent))
|
|
515
515
|
return De.test(r) ? "branch" : "loop";
|
|
516
516
|
}, Ae = (e, n) => {
|
|
517
|
-
const l =
|
|
517
|
+
const l = We(Ye(n)), r = [...e];
|
|
518
518
|
for (let a = r.length - 1; a > 0; a--) {
|
|
519
519
|
const c = Math.floor(l() * (a + 1));
|
|
520
520
|
[r[a], r[c]] = [r[c], r[a]];
|
|
@@ -526,16 +526,16 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
526
526
|
if (!l(a, e)) return a;
|
|
527
527
|
}
|
|
528
528
|
return [...e].reverse();
|
|
529
|
-
},
|
|
529
|
+
}, Ye = (e) => {
|
|
530
530
|
let n = 2166136261;
|
|
531
531
|
for (let l = 0; l < e.length; l++)
|
|
532
532
|
n ^= e.charCodeAt(l), n = Math.imul(n, 16777619);
|
|
533
533
|
return n >>> 0;
|
|
534
|
-
},
|
|
534
|
+
}, We = (e) => () => {
|
|
535
535
|
e |= 0, e = e + 1831565813 | 0;
|
|
536
536
|
let n = Math.imul(e ^ e >>> 15, 1 | e);
|
|
537
537
|
return n = n + Math.imul(n ^ n >>> 7, 61 | n) ^ n, ((n ^ n >>> 14) >>> 0) / 4294967296;
|
|
538
|
-
},
|
|
538
|
+
}, Xe = " ", X = (e) => e.filter((n) => !n.distractor), K = (e) => e.filter((n) => n.distractor), T = (e) => e.map((n) => Xe.repeat(n.indent) + n.text).join(`
|
|
539
539
|
`), Be = (e) => {
|
|
540
540
|
const n = e.split(`
|
|
541
541
|
`).filter((l) => l.trim() !== "").map((l) => l.length - l.trimStart().length).filter((l) => l > 0);
|
|
@@ -602,20 +602,20 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
602
602
|
errors: r
|
|
603
603
|
}) => {
|
|
604
604
|
const a = (d, p) => P(Ne, d, n, p), c = (d) => l({ ...e, ...d }), [s, m] = y.useState(() => ({
|
|
605
|
-
program: T(
|
|
605
|
+
program: T(X(e.lines)),
|
|
606
606
|
distractors: T(K(e.lines))
|
|
607
607
|
}));
|
|
608
608
|
y.useEffect(() => {
|
|
609
609
|
const d = _(s.program, s.distractors, e.lines);
|
|
610
610
|
$e(d, e.lines) || m({
|
|
611
|
-
program: T(
|
|
611
|
+
program: T(X(e.lines)),
|
|
612
612
|
distractors: T(K(e.lines))
|
|
613
613
|
});
|
|
614
614
|
}, [e.lines]);
|
|
615
615
|
const h = (d) => {
|
|
616
616
|
const p = { ...s, ...d };
|
|
617
617
|
m(p), c({ lines: _(p.program, p.distractors, e.lines) });
|
|
618
|
-
}, g =
|
|
618
|
+
}, g = X(e.lines);
|
|
619
619
|
return /* @__PURE__ */ i.jsxs("div", { className: "bitflow-stack", children: [
|
|
620
620
|
/* @__PURE__ */ i.jsx(
|
|
621
621
|
Z,
|
|
@@ -644,7 +644,7 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
644
644
|
rows: 10,
|
|
645
645
|
value: s.program,
|
|
646
646
|
placeholder: a("programPlaceholder"),
|
|
647
|
-
error:
|
|
647
|
+
error: Y(r, "lines"),
|
|
648
648
|
onChange: (d) => h({ program: d })
|
|
649
649
|
}
|
|
650
650
|
),
|
|
@@ -689,7 +689,7 @@ const je = '.bitflow-parsons{display:flex;flex-direction:column;gap:var(--bitflo
|
|
|
689
689
|
onChange: (d) => c({ indentationMatters: d })
|
|
690
690
|
}
|
|
691
691
|
),
|
|
692
|
-
|
|
692
|
+
Y(r, "indentationMatters") && /* @__PURE__ */ i.jsx("span", { className: "bitflow-field-error", role: "alert", children: Y(r, "indentationMatters") }),
|
|
693
693
|
/* @__PURE__ */ i.jsx(
|
|
694
694
|
V,
|
|
695
695
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { y as he, j as me, $ as
|
|
1
|
+
import { P as I, a4 as $, ac as re, ad as J, a9 as U, am as se, a2 as E, a as P, j as a, a5 as Q, Y as B, b as A, aa as de, s as ce } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { y as he, j as me, $ as X, e as ue, h as q, g as z, P as F, C as L, M as V, F as O, r as K, B as pe, U as be, H as ge } from "./bitLoaders-7qanePQL.js";
|
|
3
3
|
const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitflow-space-small)}.bitflow-dragdrop-area{position:relative;width:100%;overflow:hidden;border-radius:var(--bitflow-radius-standard);container-type:inline-size}.bitflow-dragdrop-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.bitflow-dragdrop-noimage{background:var(--bitflow-color-neutral-100)}.bitflow-dragdrop-element{display:flex;align-items:center;justify-content:center;padding:var(--bitflow-space-xxsmall);font:inherit;font-size:clamp(11px,3.5cqw,var(--bitflow-font-size-small));line-height:var(--bitflow-line-height-tight);overflow-wrap:anywhere;color:var(--bitflow-color-text);text-align:center;cursor:grab;background:var(--bitflow-color-surface);border:var(--bitflow-border-width) solid var(--bitflow-color-border);border-radius:var(--bitflow-radius-standard)}.bitflow-dragdrop-element{position:absolute;opacity:var(--bitflow-dragdrop-opacity, 1);touch-action:none}.bitflow-dragdrop-element.bitflow-dragdrop-element-placed{z-index:2}.bitflow-dragdrop-element.bitflow-dragdrop-element-dragging{z-index:3;cursor:grabbing;box-shadow:var(--bitflow-shadow-medium);transition:none}.bitflow-dragdrop-element:disabled{cursor:default}@media(pointer:coarse){.bitflow-dragdrop-element:before{content:"";position:absolute;inset:-10px}}.bitflow-dragdrop-element>img{max-width:100%;max-height:100%}.bitflow-dragdrop-element.bitflow-dragdrop-element-correct{background:color-mix(in srgb,var(--bitflow-color-correct) 18%,var(--bitflow-color-surface));border-color:var(--bitflow-color-correct)}.bitflow-dragdrop-element.bitflow-dragdrop-element-wrong{background:color-mix(in srgb,var(--bitflow-color-wrong) 18%,var(--bitflow-color-surface));border-color:var(--bitflow-color-wrong)}.bitflow-dragdrop-element.bitflow-dragdrop-element-adrift{border-style:dashed;border-color:var(--bitflow-color-neutral-400)}.bitflow-dragdrop-points{position:absolute;top:-8px;right:-8px;min-width:20px;padding:0 4px;font-size:var(--bitflow-font-size-small);font-weight:var(--bitflow-font-weight-bold);line-height:18px;color:var(--bitflow-color-surface);text-align:center;border-radius:10px}.bitflow-dragdrop-points-correct{background:var(--bitflow-color-correct)}.bitflow-dragdrop-points-wrong{background:var(--bitflow-color-wrong)}.bitflow-boxeditor-box.bitflow-dragdrop-handle-zone{border-style:dashed}.bitflow-boxeditor-box.bitflow-dragdrop-handle-element{background:color-mix(in srgb,var(--bitflow-color-surface) 85%,transparent);border-style:solid}.bitflow-rule.bitflow-rule-selected{border-color:var(--bitflow-color-primary);box-shadow:0 0 0 2px var(--bitflow-color-primary)}', ee = (e, i) => {
|
|
4
4
|
const s = Math.min(e.x + e.width, i.x + i.width) - Math.max(e.x, i.x), r = Math.min(e.y + e.height, i.y + i.height) - Math.max(e.y, i.y);
|
|
5
5
|
return s > 0 && r > 0 ? s * r : 0;
|
|
@@ -48,7 +48,7 @@ const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitfl
|
|
|
48
48
|
allowRetry: e.evaluation.enableRetry,
|
|
49
49
|
detail: { placements: s }
|
|
50
50
|
};
|
|
51
|
-
},
|
|
51
|
+
}, Y = {
|
|
52
52
|
en: {
|
|
53
53
|
"placement-adrift": "not on any target",
|
|
54
54
|
pointGained: "one point",
|
|
@@ -250,7 +250,7 @@ const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitfl
|
|
|
250
250
|
readonly: t,
|
|
251
251
|
onChange: c
|
|
252
252
|
}) => {
|
|
253
|
-
const p = (l, o) => A(
|
|
253
|
+
const p = (l, o) => A(Y, l, r, o), x = P.useRef(null), [, y] = P.useReducer((l) => l + 1, 0), [Z, u] = P.useState(""), v = P.useRef(null), f = (l) => e.elements.find((o) => o.id === l), j = (l) => l.label || l.id, D = (l) => s?.[l]?.state, T = P.useCallback((l, o) => {
|
|
254
254
|
const h = v.current?.getBoundingClientRect();
|
|
255
255
|
return !h || h.width === 0 || h.height === 0 ? null : {
|
|
256
256
|
x: (l - h.left) / h.width,
|
|
@@ -325,7 +325,7 @@ const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitfl
|
|
|
325
325
|
width: `${l.width * 100}%`,
|
|
326
326
|
height: `${l.height * 100}%`,
|
|
327
327
|
"--bitflow-dragdrop-opacity": String(o / 100)
|
|
328
|
-
}), oe = (l) => l.kind === "image" && l.src ? /* @__PURE__ */ a.jsx("img", { src: l.src, alt: j(l), draggable: !1 }) : /* @__PURE__ */ a.jsx("span", { children: j(l) }),
|
|
328
|
+
}), oe = (l) => l.kind === "image" && l.src ? /* @__PURE__ */ a.jsx("img", { src: l.src, alt: j(l), draggable: !1 }) : /* @__PURE__ */ a.jsx("span", { children: j(l) }), G = (l, o, h) => {
|
|
329
329
|
const b = x.current, g = b?.elementId === l.id && b.index === o && b.moved, k = g ? { x: b.x, y: b.y } : h ?? { x: l.x, y: l.y }, w = o === null ? void 0 : D(o), S = s !== void 0 && o !== null && w === void 0, C = ["bitflow-dragdrop-element"];
|
|
330
330
|
return w && C.push(`bitflow-dragdrop-element-${w}`), S && C.push("bitflow-dragdrop-element-adrift"), g && C.push("bitflow-dragdrop-element-dragging"), h && C.push("bitflow-dragdrop-element-placed"), /* @__PURE__ */ a.jsxs(
|
|
331
331
|
"button",
|
|
@@ -394,10 +394,10 @@ const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitfl
|
|
|
394
394
|
) : /* @__PURE__ */ a.jsx("div", { className: "bitflow-dragdrop-background bitflow-dragdrop-noimage" }),
|
|
395
395
|
e.elements.filter(
|
|
396
396
|
(l) => l.multiple || !i.some((o) => o.elementId === l.id)
|
|
397
|
-
).map((l) =>
|
|
397
|
+
).map((l) => G(l, null)),
|
|
398
398
|
i.map((l, o) => {
|
|
399
399
|
const h = f(l.elementId);
|
|
400
|
-
return h ?
|
|
400
|
+
return h ? G(h, o, l) : null;
|
|
401
401
|
})
|
|
402
402
|
]
|
|
403
403
|
}
|
|
@@ -628,7 +628,7 @@ const fe = '.bitflow-dragdrop{display:flex;flex-direction:column;gap:var(--bitfl
|
|
|
628
628
|
onChange: s,
|
|
629
629
|
errors: r
|
|
630
630
|
}) => {
|
|
631
|
-
const t = (n) => A(le, n, i), c = (n) => s({ ...e, ...n }), [p, x] = P.useState(), y =
|
|
631
|
+
const t = (n) => A(le, n, i), c = (n) => s({ ...e, ...n }), [p, x] = P.useState(), y = X(e.dropZones.map((n) => n.id)), Z = X(e.elements.map((n) => n.id)), u = (n) => {
|
|
632
632
|
x(n), n && (n.type === "zone" ? y : Z).open(n.id);
|
|
633
633
|
}, v = (n, m) => c({
|
|
634
634
|
elements: e.elements.map(
|
|
@@ -1020,8 +1020,8 @@ de({
|
|
|
1020
1020
|
Task: Ae,
|
|
1021
1021
|
Form: Be,
|
|
1022
1022
|
info: (e) => ({
|
|
1023
|
-
name: A(
|
|
1024
|
-
description: A(
|
|
1023
|
+
name: A(Y, "name", e),
|
|
1024
|
+
description: A(Y, "description", e)
|
|
1025
1025
|
}),
|
|
1026
1026
|
defaultData: () => ({
|
|
1027
1027
|
instruction: "",
|
|
@@ -1053,6 +1053,6 @@ export {
|
|
|
1053
1053
|
we as inside,
|
|
1054
1054
|
ke as judge,
|
|
1055
1055
|
ze as maxScore,
|
|
1056
|
-
|
|
1056
|
+
Y as messages,
|
|
1057
1057
|
ve as zoneUnder
|
|
1058
1058
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { d as e } from "./EditorElement-
|
|
2
|
-
import { B as m } from "./EditorElement-
|
|
3
|
-
import { d as o } from "./shareableReport-
|
|
4
|
-
import { B as f, c as p } from "./shareableReport-
|
|
5
|
-
import { d as t } from "./ReportElements-
|
|
6
|
-
import { K as E, b as B, a as b, l as w, c as x } from "./bitLoaders-
|
|
1
|
+
import { d as e } from "./EditorElement-BNwEKIvk.js";
|
|
2
|
+
import { B as m } from "./EditorElement-BNwEKIvk.js";
|
|
3
|
+
import { d as o } from "./shareableReport-mdyEMdsJ.js";
|
|
4
|
+
import { B as f, c as p } from "./shareableReport-mdyEMdsJ.js";
|
|
5
|
+
import { d as t } from "./ReportElements-CAvHx5xm.js";
|
|
6
|
+
import { K as E, b as B, a as b, l as w, c as x } from "./bitLoaders-7qanePQL.js";
|
|
7
7
|
o();
|
|
8
8
|
e();
|
|
9
9
|
t();
|
package/dist/assets/directive-bitflow/{shareableReport-vjEU4OvA.js → shareableReport-mdyEMdsJ.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { s as R, c as
|
|
2
|
-
import { O as I, d as O, c as _, a as C } from "./bitLoaders-
|
|
3
|
-
import { N as b } from "./index-
|
|
1
|
+
import { s as R, c as B, a, f as S, j as g, h as i, i as u, t as k, l as F, d as T, e as v } from "./dom-B6NPWBb1.js";
|
|
2
|
+
import { O as I, d as O, c as _, a as C } from "./bitLoaders-7qanePQL.js";
|
|
3
|
+
import { N as b } from "./index-6CQr_atd.js";
|
|
4
4
|
R("bitflow-styles-flow", I);
|
|
5
5
|
const H = ({
|
|
6
6
|
container: e,
|
|
@@ -13,13 +13,13 @@ const H = ({
|
|
|
13
13
|
}) => {
|
|
14
14
|
const [d, j] = a.useState(), [m, w] = a.useState(!1), h = a.useRef(null);
|
|
15
15
|
return a.useEffect(() => {
|
|
16
|
-
|
|
16
|
+
S(e, h);
|
|
17
17
|
}, [e]), a.useEffect(() => {
|
|
18
18
|
let s = !1;
|
|
19
19
|
const x = async () => {
|
|
20
20
|
const l = r ?? (o ? await y(o) : void 0);
|
|
21
21
|
if (s || l === void 0) return;
|
|
22
|
-
const t =
|
|
22
|
+
const t = k(l);
|
|
23
23
|
if (!t.ok) {
|
|
24
24
|
i(e, t.error);
|
|
25
25
|
return;
|
|
@@ -61,7 +61,7 @@ const H = ({
|
|
|
61
61
|
onError: (s) => i(e, s)
|
|
62
62
|
}
|
|
63
63
|
) : /* @__PURE__ */ g.jsx("div", { className: "bitflow-root bitflow-loading", "aria-busy": m, children: m ? "…" : null });
|
|
64
|
-
}, A =
|
|
64
|
+
}, A = B(H, {
|
|
65
65
|
// Objects arrive as properties; the string forms are for `data-`style HTML
|
|
66
66
|
// authoring and for `src`, which is a URL either way.
|
|
67
67
|
props: {
|
|
@@ -608,7 +608,7 @@ var multievent = {
|
|
|
608
608
|
/\{v\{(.*?)\}\}/gms,
|
|
609
609
|
"<table align='center' class='MulEvHaManTab' style='border-collapse:collapse;' border='0' cellspacing='0' cellpadding='6'><tr><td valign='middle' align='center' style='min-width:10em;font-family:sans-serif;' class='MulEvHaManTd'><span class='MulEvHaManAusg'>$1</span></td></tr><tr><td align='center' ><span class='MulEvHaManFehl' style='text-decoration:line-through;color:#e00;font-size:smaller;font-family:sans-serif;'> </span><br /></td></tr><tr><td align='center'><input maxlength='2' onkeydown='this.value=\"\"' onkeyup='multievent.MulEvHaMan(this.id);multievent.Auswertung(\"" +
|
|
610
610
|
clNr +
|
|
611
|
-
"\")' class='MulEvHaManInp' data-MulEvHaMan='$1' data-Nummer='0' data-BuchstSind='' data-Fehler='1' data-BegriffeSind='' style='text-align:center;font-size:1em;width:
|
|
611
|
+
"\")' class='MulEvHaManInp' data-MulEvHaMan='$1' data-Nummer='0' data-BuchstSind='' data-Fehler='1' data-BegriffeSind='' style='text-align:center;font-size:1em;width:2.4em;font-family:sans-serif;padding:2px;border:1px solid #999;border-radius:3px;background-color:#eee;'/></td></tr></table>",
|
|
612
612
|
);
|
|
613
613
|
IN = IN.replace(
|
|
614
614
|
/\{w\{(.*?)\}\}/gms,
|
|
@@ -926,26 +926,18 @@ var multievent = {
|
|
|
926
926
|
}
|
|
927
927
|
var IB = 0;
|
|
928
928
|
for (var k = 0; k < iW.length; k++) {
|
|
929
|
-
var s = Inp[j].style;
|
|
930
929
|
if (IB < iW[k].length) {
|
|
931
930
|
IB = iW[k].length;
|
|
932
931
|
}
|
|
933
|
-
if (IB <= 1) {
|
|
934
|
-
s.width = "1.2em";
|
|
935
|
-
}
|
|
936
|
-
if (IB == 2) {
|
|
937
|
-
s.width = "2.4em";
|
|
938
|
-
}
|
|
939
|
-
if (IB == 3) {
|
|
940
|
-
s.width = "3.6em";
|
|
941
|
-
}
|
|
942
|
-
if (IB == 4) {
|
|
943
|
-
s.width = "4.8em";
|
|
944
|
-
}
|
|
945
|
-
if (IB > 4) {
|
|
946
|
-
s.width = IB * 1.2 + "em";
|
|
947
|
-
}
|
|
948
932
|
}
|
|
933
|
+
if (InpStil == "zahl") {
|
|
934
|
+
// Numbers can be entered in other notations (3,5 vs 3.50),
|
|
935
|
+
// so leave some room beyond the length of the solution.
|
|
936
|
+
IB++;
|
|
937
|
+
}
|
|
938
|
+
// At least three characters wide, otherwise short answers get
|
|
939
|
+
// fields that are too small to tap and type into (e.g. on iPads).
|
|
940
|
+
Inp[j].style.width = Math.max(IB, 3) * 1.2 + "em";
|
|
949
941
|
}
|
|
950
942
|
}
|
|
951
943
|
|
package/dist/index.js
CHANGED
|
@@ -202071,7 +202071,7 @@ module.exports = /*#__PURE__*/JSON.parse('["blockflow","onlineide","sqlide","exc
|
|
|
202071
202071
|
/***/ ((module) => {
|
|
202072
202072
|
|
|
202073
202073
|
"use strict";
|
|
202074
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.113.
|
|
202074
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"hyperbook","version":"0.113.4","author":"Mike Barkmin","homepage":"https://github.com/openpatch/hyperbook#readme","license":"MIT","bin":{"hyperbook":"./dist/index.js"},"files":["dist"],"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/openpatch/hyperbook.git","directory":"packages/hyperbook"},"bugs":{"url":"https://github.com/openpatch/hyperbook/issues"},"engines":{"node":">=18"},"scripts":{"version":"pnpm build","lint":"tsc --noEmit","test":"vitest","dev":"ncc build ./index.ts -w -o dist/","build":"rimraf dist && ncc build ./index.ts -o ./dist/ --no-cache --no-source-map-register --external favicons --external sharp && node postbuild.mjs"},"dependencies":{"favicons":"^7.3.1"},"devDependencies":{"@hyperbook/fs":"workspace:*","@hyperbook/markdown":"workspace:*","@hyperbook/types":"workspace:*","@pnpm/exportable-manifest":"1000.4.2","@types/archiver":"8.0.0","@types/async-retry":"1.4.9","@types/cross-spawn":"6.0.6","@types/lunr":"^2.3.7","@types/node":"26.2.0","@types/prompts":"2.4.9","@types/ws":"^8.18.1","@vercel/ncc":"0.44.1","archiver":"8.0.0","async-retry":"1.3.3","chalk":"6.0.0","chokidar":"5.0.0","commander":"15.0.0","cpy":"13.2.2","create-hyperbook":"workspace:*","cross-spawn":"7.0.6","domutils":"^4.0.2","unzipper":"^0.12.5","got":"15.1.0","htmlparser2":"^12.0.0","lunr":"^2.3.9","lunr-languages":"^1.21.0","mime":"^4.1.0","prompts":"2.4.2","rimraf":"6.1.3","tar":"7.5.22","update-check":"1.5.4","vfile":"^6.0.3","vitest":"^4.1.10","ws":"^8.21.3"}}');
|
|
202075
202075
|
|
|
202076
202076
|
/***/ })
|
|
202077
202077
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hyperbook",
|
|
3
|
-
"version": "0.113.
|
|
3
|
+
"version": "0.113.4",
|
|
4
4
|
"author": "Mike Barkmin",
|
|
5
5
|
"homepage": "https://github.com/openpatch/hyperbook#readme",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"vitest": "^4.1.10",
|
|
60
60
|
"ws": "^8.21.3",
|
|
61
61
|
"@hyperbook/fs": "0.30.0",
|
|
62
|
-
"@hyperbook/markdown": "0.86.
|
|
63
|
-
"
|
|
64
|
-
"
|
|
62
|
+
"@hyperbook/markdown": "0.86.3",
|
|
63
|
+
"@hyperbook/types": "0.28.0",
|
|
64
|
+
"create-hyperbook": "0.4.5"
|
|
65
65
|
},
|
|
66
66
|
"scripts": {
|
|
67
67
|
"version": "pnpm build",
|