speakid-build-a-sentence 1.0.12 → 1.0.14
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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/speakid-build-a-sentence.es.js +75 -74
- package/dist/speakid-build-a-sentence.es.js.map +1 -1
- package/dist/speakid-build-a-sentence.umd.js +6 -6
- package/dist/speakid-build-a-sentence.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import GameComponent from "./Game";
|
|
2
|
+
export default GameComponent;
|
|
3
|
+
export { GameComponent as Game };
|
|
2
4
|
export { ErrorBoundary } from "./components/ErrorBoundary";
|
|
3
5
|
export { useValidation } from "./hooks/useValidation";
|
|
4
6
|
export { createAriaLabel, handleKeyDown, announceToScreenReader } from "./utils/accessibility";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,QAAQ,CAAC;AACnC,eAAe,aAAa,CAAC;AAE7B,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -13,7 +13,7 @@ var Pe;
|
|
|
13
13
|
function an() {
|
|
14
14
|
if (Pe) return pe;
|
|
15
15
|
Pe = 1;
|
|
16
|
-
var p = Symbol.for("react.transitional.element"),
|
|
16
|
+
var p = Symbol.for("react.transitional.element"), d = Symbol.for("react.fragment");
|
|
17
17
|
function S(j, W, w) {
|
|
18
18
|
var P = null;
|
|
19
19
|
if (w !== void 0 && (P = "" + w), W.key !== void 0 && (P = "" + W.key), "key" in W) {
|
|
@@ -29,7 +29,7 @@ function an() {
|
|
|
29
29
|
props: w
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
return pe.Fragment =
|
|
32
|
+
return pe.Fragment = d, pe.jsx = S, pe.jsxs = S, pe;
|
|
33
33
|
}
|
|
34
34
|
var fe = {};
|
|
35
35
|
/**
|
|
@@ -42,7 +42,7 @@ var fe = {};
|
|
|
42
42
|
* LICENSE file in the root directory of this source tree.
|
|
43
43
|
*/
|
|
44
44
|
var He;
|
|
45
|
-
function
|
|
45
|
+
function ln() {
|
|
46
46
|
return He || (He = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
47
47
|
function p(e) {
|
|
48
48
|
if (e == null) return null;
|
|
@@ -87,12 +87,12 @@ function dn() {
|
|
|
87
87
|
}
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
90
|
-
function
|
|
90
|
+
function d(e) {
|
|
91
91
|
return "" + e;
|
|
92
92
|
}
|
|
93
93
|
function S(e) {
|
|
94
94
|
try {
|
|
95
|
-
|
|
95
|
+
d(e);
|
|
96
96
|
var a = !1;
|
|
97
97
|
} catch {
|
|
98
98
|
a = !0;
|
|
@@ -104,7 +104,7 @@ function dn() {
|
|
|
104
104
|
a,
|
|
105
105
|
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
106
106
|
b
|
|
107
|
-
),
|
|
107
|
+
), d(e);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
function j(e) {
|
|
@@ -126,7 +126,7 @@ function dn() {
|
|
|
126
126
|
return Error("react-stack-top-frame");
|
|
127
127
|
}
|
|
128
128
|
function P(e) {
|
|
129
|
-
if (
|
|
129
|
+
if (le.call(e, "key")) {
|
|
130
130
|
var a = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
131
131
|
if (a && a.isReactWarning) return !1;
|
|
132
132
|
}
|
|
@@ -150,7 +150,7 @@ function dn() {
|
|
|
150
150
|
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
151
151
|
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
152
152
|
}
|
|
153
|
-
function D(e, a, r, b,
|
|
153
|
+
function D(e, a, r, b, de, G) {
|
|
154
154
|
var x = r.ref;
|
|
155
155
|
return e = {
|
|
156
156
|
$$typeof: oe,
|
|
@@ -175,7 +175,7 @@ function dn() {
|
|
|
175
175
|
configurable: !1,
|
|
176
176
|
enumerable: !1,
|
|
177
177
|
writable: !0,
|
|
178
|
-
value:
|
|
178
|
+
value: de
|
|
179
179
|
}), Object.defineProperty(e, "_debugTask", {
|
|
180
180
|
configurable: !1,
|
|
181
181
|
enumerable: !1,
|
|
@@ -183,7 +183,7 @@ function dn() {
|
|
|
183
183
|
value: G
|
|
184
184
|
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
185
185
|
}
|
|
186
|
-
function y(e, a, r, b,
|
|
186
|
+
function y(e, a, r, b, de, G) {
|
|
187
187
|
var x = a.children;
|
|
188
188
|
if (x !== void 0)
|
|
189
189
|
if (b)
|
|
@@ -196,7 +196,7 @@ function dn() {
|
|
|
196
196
|
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
197
197
|
);
|
|
198
198
|
else T(x);
|
|
199
|
-
if (
|
|
199
|
+
if (le.call(a, "key")) {
|
|
200
200
|
x = p(e);
|
|
201
201
|
var O = Object.keys(a).filter(function(Se) {
|
|
202
202
|
return Se !== "key";
|
|
@@ -227,7 +227,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
227
227
|
x,
|
|
228
228
|
r,
|
|
229
229
|
W(),
|
|
230
|
-
|
|
230
|
+
de,
|
|
231
231
|
G
|
|
232
232
|
);
|
|
233
233
|
}
|
|
@@ -237,7 +237,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
237
237
|
function H(e) {
|
|
238
238
|
return typeof e == "object" && e !== null && e.$$typeof === oe;
|
|
239
239
|
}
|
|
240
|
-
var B = on, oe = Symbol.for("react.transitional.element"), ge = Symbol.for("react.portal"), E = Symbol.for("react.fragment"), U = Symbol.for("react.strict_mode"), _ = Symbol.for("react.profiler"), he = Symbol.for("react.consumer"), se = Symbol.for("react.context"), me = Symbol.for("react.forward_ref"), I = Symbol.for("react.suspense"), ae = Symbol.for("react.suspense_list"), z = Symbol.for("react.memo"), J = Symbol.for("react.lazy"), $ = Symbol.for("react.activity"), V = Symbol.for("react.client.reference"), we = B.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,
|
|
240
|
+
var B = on, oe = Symbol.for("react.transitional.element"), ge = Symbol.for("react.portal"), E = Symbol.for("react.fragment"), U = Symbol.for("react.strict_mode"), _ = Symbol.for("react.profiler"), he = Symbol.for("react.consumer"), se = Symbol.for("react.context"), me = Symbol.for("react.forward_ref"), I = Symbol.for("react.suspense"), ae = Symbol.for("react.suspense_list"), z = Symbol.for("react.memo"), J = Symbol.for("react.lazy"), $ = Symbol.for("react.activity"), V = Symbol.for("react.client.reference"), we = B.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, le = Object.prototype.hasOwnProperty, M = Array.isArray, A = console.createTask ? console.createTask : function() {
|
|
241
241
|
return null;
|
|
242
242
|
};
|
|
243
243
|
B = {
|
|
@@ -273,10 +273,10 @@ React keys must be passed directly to JSX without using spread:
|
|
|
273
273
|
})()), fe;
|
|
274
274
|
}
|
|
275
275
|
var Ce;
|
|
276
|
-
function
|
|
277
|
-
return Ce || (Ce = 1, process.env.NODE_ENV === "production" ? ve.exports = an() : ve.exports =
|
|
276
|
+
function dn() {
|
|
277
|
+
return Ce || (Ce = 1, process.env.NODE_ENV === "production" ? ve.exports = an() : ve.exports = ln()), ve.exports;
|
|
278
278
|
}
|
|
279
|
-
var s =
|
|
279
|
+
var s = dn();
|
|
280
280
|
const cn = `
|
|
281
281
|
@keyframes magic-sentence-spin {
|
|
282
282
|
from { transform: rotate(0deg); }
|
|
@@ -453,7 +453,7 @@ const Ae = {
|
|
|
453
453
|
// ===== Анимационные стили =====
|
|
454
454
|
...Ae
|
|
455
455
|
}, un = () => {
|
|
456
|
-
const [p,
|
|
456
|
+
const [p, d] = g([]), S = Ee((w, P, R) => {
|
|
457
457
|
const f = [];
|
|
458
458
|
w.trim() || f.push({
|
|
459
459
|
type: "empty",
|
|
@@ -469,7 +469,7 @@ const Ae = {
|
|
|
469
469
|
return y !== -1 && f.push({
|
|
470
470
|
type: "duplicate",
|
|
471
471
|
message: `Duplicate sentence (same as sentence ${y + 1})`
|
|
472
|
-
}),
|
|
472
|
+
}), d(f), {
|
|
473
473
|
isValid: f.length === 0,
|
|
474
474
|
errors: f
|
|
475
475
|
};
|
|
@@ -486,7 +486,7 @@ const Ae = {
|
|
|
486
486
|
errors: P
|
|
487
487
|
};
|
|
488
488
|
}, [S]), W = Ee(() => {
|
|
489
|
-
|
|
489
|
+
d([]);
|
|
490
490
|
}, []);
|
|
491
491
|
return {
|
|
492
492
|
errors: p,
|
|
@@ -494,12 +494,12 @@ const Ae = {
|
|
|
494
494
|
validateAllSentences: j,
|
|
495
495
|
clearErrors: W
|
|
496
496
|
};
|
|
497
|
-
}, pn = (p,
|
|
498
|
-
S.includes(p.key) && (p.preventDefault(),
|
|
497
|
+
}, pn = (p, d, S) => d && S ? `${p} word "${d}" ${S}` : d ? `${p} word "${d}"` : p, fn = (p, d, S = ["Enter", " "]) => {
|
|
498
|
+
S.includes(p.key) && (p.preventDefault(), d());
|
|
499
499
|
}, Y = (p) => {
|
|
500
|
-
const
|
|
501
|
-
|
|
502
|
-
document.body.removeChild(
|
|
500
|
+
const d = document.createElement("div");
|
|
501
|
+
d.setAttribute("aria-live", "polite"), d.setAttribute("aria-atomic", "true"), d.style.position = "absolute", d.style.left = "-10000px", d.style.width = "1px", d.style.height = "1px", d.style.overflow = "hidden", document.body.appendChild(d), d.textContent = p, setTimeout(() => {
|
|
502
|
+
document.body.removeChild(d);
|
|
503
503
|
}, 1e3);
|
|
504
504
|
}, gn = () => {
|
|
505
505
|
const p = document.createElement("style");
|
|
@@ -532,7 +532,7 @@ const Ae = {
|
|
|
532
532
|
`, document.head.appendChild(p);
|
|
533
533
|
}, hn = (p) => [...p].sort(() => Math.random() - 0.5);
|
|
534
534
|
function wn(p = {}) {
|
|
535
|
-
const { logoUrl:
|
|
535
|
+
const { logoUrl: d, showLogo: S = !0, baseURL: j } = p, W = je(null), { validateAllSentences: w, errors: P } = un(), R = () => r || window.innerWidth < 768, f = () => r || window.innerWidth < 768 || window.innerWidth >= 320 && window.innerWidth <= 932 && window.innerHeight >= 390 && window.innerHeight <= 932, D = (n = "medium") => {
|
|
536
536
|
if (!f())
|
|
537
537
|
return {
|
|
538
538
|
padding: "12px 24px",
|
|
@@ -563,15 +563,15 @@ function wn(p = {}) {
|
|
|
563
563
|
ue(() => (gn(), () => {
|
|
564
564
|
document.body.style.overflow = "";
|
|
565
565
|
}), []);
|
|
566
|
-
const [y, T] = g("select"), [H, B] = g(null), [oe, ge] = g(null), [E, U] = g([]), [_, he] = g(0), [se, me] = g([]), [I, ae] = g([]), [z, J] = g(20), [$, V] = g(0), [we,
|
|
566
|
+
const [y, T] = g("select"), [H, B] = g(null), [oe, ge] = g(null), [E, U] = g([]), [_, he] = g(0), [se, me] = g([]), [I, ae] = g([]), [z, J] = g(20), [$, V] = g(0), [we, le] = g(null), [M, A] = g(null), [c, F] = g(!1), [X, xe] = g(
|
|
567
567
|
Number(localStorage.getItem("magicSentenceBest")) || 0
|
|
568
|
-
), L = je(null), [e, a] = g({ list: null, index: null, side: null }), [r, b] = g(!1), [
|
|
568
|
+
), L = je(null), [e, a] = g({ list: null, index: null, side: null }), [r, b] = g(!1), [de, G] = g(1), [x, O] = g(null), [ce, Se] = g(!1), [q, De] = g(!1), [Z, _e] = g(!1), [Q, Oe] = g(!1), [K, ze] = g(!1), [ee, Me] = g(!1), [ne, Le] = g(!1), [te, Ne] = g(!1), [ie, Be] = g(!1);
|
|
569
569
|
ue(() => {
|
|
570
570
|
const n = () => {
|
|
571
|
-
const i = window.innerWidth, t = window.innerHeight, o = i < 768 || i === 926 && t === 428 || i === 932 && t === 430,
|
|
571
|
+
const i = window.innerWidth, t = window.innerHeight, o = i < 768 || i === 926 && t === 428 || i === 932 && t === 430, l = t < 700, v = i === 768 && t === 1024, k = i === 1024 && t === 768, u = i === 820 && t === 1180, m = i === 1180 && t === 820, re = i === 540 && t === 720, C = i === 720 && t === 540, Re = i === 1024 && t === 1366, nn = i === 1366 && t === 1024, tn = i >= 1200 && t >= 600 && !o;
|
|
572
572
|
if (Se(tn), De(v), _e(k), Oe(u), ze(m), Me(re), Le(C), Ne(Re), Be(nn), b(o), o)
|
|
573
573
|
O(null), G(1);
|
|
574
|
-
else if (
|
|
574
|
+
else if (l)
|
|
575
575
|
O(null), G(1);
|
|
576
576
|
else {
|
|
577
577
|
const rn = Math.min(1e3, Math.min(i, t) * 0.9);
|
|
@@ -582,28 +582,28 @@ function wn(p = {}) {
|
|
|
582
582
|
}, []);
|
|
583
583
|
const ye = (n, i, t, o) => {
|
|
584
584
|
if (c) return;
|
|
585
|
-
let
|
|
586
|
-
const k = n === "bank" ?
|
|
585
|
+
let l = [...se], v = [...I];
|
|
586
|
+
const k = n === "bank" ? l : v, u = i === "bank" ? l : v, m = k.findIndex((Re) => Re.id === t);
|
|
587
587
|
if (m === -1) return;
|
|
588
588
|
const [re] = k.splice(m, 1);
|
|
589
589
|
let C = o;
|
|
590
|
-
n === i && C !== null && C !== void 0 && C > m && (C = C - 1), C == null || C < 0 || C > u.length ? u.push(re) : u.splice(C, 0, re), n === "bank" ?
|
|
590
|
+
n === i && C !== null && C !== void 0 && C > m && (C = C - 1), C == null || C < 0 || C > u.length ? u.push(re) : u.splice(C, 0, re), n === "bank" ? l = k : v = k, i === "bank" ? l = u : v = u, me(l), ae(v);
|
|
591
591
|
}, be = (n, i, t) => {
|
|
592
592
|
if (n.preventDefault(), c) {
|
|
593
593
|
a({ list: null, index: null, side: null });
|
|
594
594
|
return;
|
|
595
595
|
}
|
|
596
596
|
const o = n.dataTransfer.getData("application/x-token") || (() => {
|
|
597
|
-
const
|
|
598
|
-
if (!
|
|
599
|
-
const v = se.some((m) => m.id ===
|
|
600
|
-
return u ? JSON.stringify({ from: u, id:
|
|
597
|
+
const l = n.dataTransfer.getData("text/plain");
|
|
598
|
+
if (!l) return "";
|
|
599
|
+
const v = se.some((m) => m.id === l), k = I.some((m) => m.id === l), u = v ? "bank" : k ? "selected" : null;
|
|
600
|
+
return u ? JSON.stringify({ from: u, id: l }) : "";
|
|
601
601
|
})();
|
|
602
602
|
if (o) {
|
|
603
603
|
try {
|
|
604
|
-
const
|
|
605
|
-
if (!
|
|
606
|
-
ye(
|
|
604
|
+
const l = JSON.parse(o);
|
|
605
|
+
if (!l || !l.id || !l.from) return;
|
|
606
|
+
ye(l.from, i, l.id, t);
|
|
607
607
|
} catch {
|
|
608
608
|
}
|
|
609
609
|
a({ list: null, index: null, side: null });
|
|
@@ -617,10 +617,10 @@ function wn(p = {}) {
|
|
|
617
617
|
return;
|
|
618
618
|
const o = [...E];
|
|
619
619
|
o[n] = i, U(o);
|
|
620
|
-
const
|
|
621
|
-
|
|
620
|
+
const l = w(o);
|
|
621
|
+
l.isValid || console.warn("Validation errors:", l.errors);
|
|
622
622
|
}, Ye = (n) => n.trim().replace(/\s+/g, " "), Te = (n) => n <= 3 ? 20 : n <= 5 ? 18 : n <= 7 ? 16 : n <= 9 ? 14 : 12, Ue = () => {
|
|
623
|
-
E.some((i) => i.trim().length === 0) || (U((i) => i.map((t) => Ye(t))), V(0), he(0),
|
|
623
|
+
E.some((i) => i.trim().length === 0) || (U((i) => i.map((t) => Ye(t))), V(0), he(0), le(null), T("getready"));
|
|
624
624
|
};
|
|
625
625
|
ue(() => {
|
|
626
626
|
if (y === "getready") {
|
|
@@ -633,9 +633,9 @@ function wn(p = {}) {
|
|
|
633
633
|
if (!i) return;
|
|
634
634
|
const o = hn(
|
|
635
635
|
i.trim().split(/\s+/).filter(Boolean)
|
|
636
|
-
).map((
|
|
636
|
+
).map((l, v) => ({
|
|
637
637
|
id: `${Date.now()}-${n}-${v}-${Math.random().toString(36).slice(2)}`,
|
|
638
|
-
text:
|
|
638
|
+
text: l
|
|
639
639
|
}));
|
|
640
640
|
me(o), ae([]), he(n), J(oe || 20), A(null), F(!1), T("play");
|
|
641
641
|
};
|
|
@@ -645,7 +645,7 @@ function wn(p = {}) {
|
|
|
645
645
|
L.current = window.setTimeout(() => J((n) => n - 1), 1e3);
|
|
646
646
|
else {
|
|
647
647
|
F(!0);
|
|
648
|
-
const i = E[_].trim().split(/\s+/), t = I.map((u) => u.text), o = i.filter((u) => !t.includes(u)).length,
|
|
648
|
+
const i = E[_].trim().split(/\s+/), t = I.map((u) => u.text), o = i.filter((u) => !t.includes(u)).length, l = t.filter((u) => !i.includes(u)).length, v = i.filter((u, m) => u !== t[m]).length, k = o + l + v;
|
|
649
649
|
k === 0 ? (A("correct"), N("correct"), Y("Correct! Well done!")) : k === 1 ? (A("almost"), N("half"), Y("Almost correct! Just one mistake.")) : (A("wrong"), N("wrong"), Y("Not quite right. Keep trying!"));
|
|
650
650
|
}
|
|
651
651
|
return () => {
|
|
@@ -658,7 +658,7 @@ function wn(p = {}) {
|
|
|
658
658
|
return;
|
|
659
659
|
}
|
|
660
660
|
if (n && !c) {
|
|
661
|
-
const t = E[_].trim().split(/\s+/), o = I.map((m) => m.text),
|
|
661
|
+
const t = E[_].trim().split(/\s+/), o = I.map((m) => m.text), l = t.filter((m) => !o.includes(m)).length, v = o.filter((m) => !t.includes(m)).length, k = t.filter((m, re) => m !== o[re]).length, u = l + v + k;
|
|
662
662
|
u === 0 && z > 0 ? (V((m) => m + 1), A("correct"), N("correct"), Y("Correct! Well done!")) : u === 1 ? (V((m) => m + 0.5), A("almost"), N("half"), Y("Almost correct! Just one mistake.")) : (A("wrong"), N("wrong"), Y("Not quite right. Keep trying!")), _ + 1 < (H || 0) ? setTimeout(() => ke(_ + 1), 800) : (T("results"), setTimeout(() => We(), 600));
|
|
663
663
|
}
|
|
664
664
|
};
|
|
@@ -686,7 +686,7 @@ function wn(p = {}) {
|
|
|
686
686
|
}
|
|
687
687
|
o.gain.setValueAtTime(0.1, i.currentTime), t.start(), t.stop(i.currentTime + 0.2);
|
|
688
688
|
}, We = () => {
|
|
689
|
-
const i = Date.now() + 2500, t = ["#ec4c44", "#f7c948", "#6fcf97", "#56ccf2", "#bb6bd9"], o = document.createElement("canvas"),
|
|
689
|
+
const i = Date.now() + 2500, t = ["#ec4c44", "#f7c948", "#6fcf97", "#56ccf2", "#bb6bd9"], o = document.createElement("canvas"), l = o.getContext("2d");
|
|
690
690
|
o.width = window.innerWidth, o.height = window.innerHeight, o.style.position = "fixed", o.style.top = "0", o.style.left = "0", o.style.pointerEvents = "none", document.body.appendChild(o);
|
|
691
691
|
const v = Array.from({ length: 100 }).map(() => ({
|
|
692
692
|
x: Math.random() * o.width,
|
|
@@ -696,8 +696,8 @@ function wn(p = {}) {
|
|
|
696
696
|
speed: 2 + Math.random() * 4,
|
|
697
697
|
tilt: Math.random() * 2 * Math.PI
|
|
698
698
|
})), k = () => {
|
|
699
|
-
|
|
700
|
-
|
|
699
|
+
l.clearRect(0, 0, o.width, o.height), v.forEach((u) => {
|
|
700
|
+
l.fillStyle = u.color, l.beginPath(), l.ellipse(u.x, u.y, u.size, u.size / 2, u.tilt, 0, 2 * Math.PI), l.fill(), u.y += u.speed, u.x += Math.sin(u.tilt);
|
|
701
701
|
}), Date.now() < i ? requestAnimationFrame(k) : document.body.removeChild(o);
|
|
702
702
|
};
|
|
703
703
|
k();
|
|
@@ -879,13 +879,13 @@ function wn(p = {}) {
|
|
|
879
879
|
},
|
|
880
880
|
onDragOver: (t) => t.preventDefault(),
|
|
881
881
|
onDrop: (t) => {
|
|
882
|
-
const o = t.currentTarget.getBoundingClientRect(),
|
|
882
|
+
const o = t.currentTarget.getBoundingClientRect(), l = o.left + o.width / 2, v = t.clientX > l ? i + 1 : i;
|
|
883
883
|
a({ list: null, index: null, side: null }), t.stopPropagation(), be(t, "bank", v);
|
|
884
884
|
},
|
|
885
885
|
onDragEnter: (t) => {
|
|
886
886
|
if (c) return;
|
|
887
|
-
const o = t.currentTarget.getBoundingClientRect(),
|
|
888
|
-
a({ list: "bank", index: i, side: t.clientX >
|
|
887
|
+
const o = t.currentTarget.getBoundingClientRect(), l = o.left + o.width / 2;
|
|
888
|
+
a({ list: "bank", index: i, side: t.clientX > l ? "right" : "left" });
|
|
889
889
|
},
|
|
890
890
|
onDragLeave: () => a({ list: null, index: null, side: null }),
|
|
891
891
|
onClick: () => {
|
|
@@ -952,13 +952,13 @@ function wn(p = {}) {
|
|
|
952
952
|
},
|
|
953
953
|
onDragOver: (t) => t.preventDefault(),
|
|
954
954
|
onDrop: (t) => {
|
|
955
|
-
const o = t.currentTarget.getBoundingClientRect(),
|
|
955
|
+
const o = t.currentTarget.getBoundingClientRect(), l = o.left + o.width / 2, v = t.clientX > l ? i + 1 : i;
|
|
956
956
|
a({ list: null, index: null, side: null }), t.stopPropagation(), be(t, "selected", v);
|
|
957
957
|
},
|
|
958
958
|
onDragEnter: (t) => {
|
|
959
959
|
if (c) return;
|
|
960
|
-
const o = t.currentTarget.getBoundingClientRect(),
|
|
961
|
-
a({ list: "selected", index: i, side: t.clientX >
|
|
960
|
+
const o = t.currentTarget.getBoundingClientRect(), l = o.left + o.width / 2;
|
|
961
|
+
a({ list: "selected", index: i, side: t.clientX > l ? "right" : "left" });
|
|
962
962
|
},
|
|
963
963
|
onDragLeave: () => a({ list: null, index: null, side: null }),
|
|
964
964
|
onClick: () => {
|
|
@@ -1046,7 +1046,7 @@ function wn(p = {}) {
|
|
|
1046
1046
|
{
|
|
1047
1047
|
onClick: () => {
|
|
1048
1048
|
We(), N("start"), setTimeout(() => {
|
|
1049
|
-
T("getready"),
|
|
1049
|
+
T("getready"), le(null), F(!1);
|
|
1050
1050
|
}, 800);
|
|
1051
1051
|
},
|
|
1052
1052
|
style: {
|
|
@@ -1070,7 +1070,7 @@ function wn(p = {}) {
|
|
|
1070
1070
|
}
|
|
1071
1071
|
)
|
|
1072
1072
|
] })
|
|
1073
|
-
] }), Ie =
|
|
1073
|
+
] }), Ie = d || (j ? `${j.endsWith("/") ? j.slice(0, -1) : j}/logo.svg` : typeof window < "u" && window.origin ? `${window.origin}/browser/speakid/games/magic%20sentence/logo.svg` : null), en = !r && S && !(window.innerWidth > window.innerHeight) && window.innerHeight >= 700;
|
|
1074
1074
|
return /* @__PURE__ */ s.jsx(
|
|
1075
1075
|
"div",
|
|
1076
1076
|
{
|
|
@@ -1118,7 +1118,7 @@ function wn(p = {}) {
|
|
|
1118
1118
|
alignItems: "center"
|
|
1119
1119
|
},
|
|
1120
1120
|
children: /* @__PURE__ */ s.jsxs("div", { id: "magic-sentence-root", children: [
|
|
1121
|
-
en
|
|
1121
|
+
en ? /* @__PURE__ */ s.jsx("div", { style: {
|
|
1122
1122
|
...h.gmLogoFixed,
|
|
1123
1123
|
display: "block"
|
|
1124
1124
|
}, children: Ie ? /* @__PURE__ */ s.jsx(
|
|
@@ -1129,13 +1129,13 @@ function wn(p = {}) {
|
|
|
1129
1129
|
style: h.gmLogoImg,
|
|
1130
1130
|
loading: "lazy"
|
|
1131
1131
|
}
|
|
1132
|
-
) : /* @__PURE__ */ s.jsx("div", { style: h.gmLogoImg, children: "SPEAKID" }) }),
|
|
1133
|
-
y === "select"
|
|
1134
|
-
y === "time"
|
|
1135
|
-
y === "type"
|
|
1136
|
-
y === "getready"
|
|
1137
|
-
y === "play"
|
|
1138
|
-
y === "results"
|
|
1132
|
+
) : /* @__PURE__ */ s.jsx("div", { style: h.gmLogoImg, children: "SPEAKID" }) }) : null,
|
|
1133
|
+
y === "select" ? Ve() : null,
|
|
1134
|
+
y === "time" ? Xe() : null,
|
|
1135
|
+
y === "type" ? qe() : null,
|
|
1136
|
+
y === "getready" ? Ze() : null,
|
|
1137
|
+
y === "play" ? Qe() : null,
|
|
1138
|
+
y === "results" ? Ke() : null
|
|
1139
1139
|
] })
|
|
1140
1140
|
}
|
|
1141
1141
|
)
|
|
@@ -1145,18 +1145,18 @@ function wn(p = {}) {
|
|
|
1145
1145
|
);
|
|
1146
1146
|
}
|
|
1147
1147
|
class xn extends sn {
|
|
1148
|
-
constructor(
|
|
1149
|
-
super(
|
|
1148
|
+
constructor(d) {
|
|
1149
|
+
super(d), this.state = { hasError: !1 };
|
|
1150
1150
|
}
|
|
1151
|
-
static getDerivedStateFromError(
|
|
1151
|
+
static getDerivedStateFromError(d) {
|
|
1152
1152
|
return {
|
|
1153
1153
|
hasError: !0,
|
|
1154
|
-
error:
|
|
1154
|
+
error: d
|
|
1155
1155
|
};
|
|
1156
1156
|
}
|
|
1157
|
-
componentDidCatch(
|
|
1158
|
-
console.error("Game Error:",
|
|
1159
|
-
error:
|
|
1157
|
+
componentDidCatch(d, S) {
|
|
1158
|
+
console.error("Game Error:", d, S), this.setState({
|
|
1159
|
+
error: d,
|
|
1160
1160
|
errorInfo: S
|
|
1161
1161
|
});
|
|
1162
1162
|
}
|
|
@@ -1192,8 +1192,8 @@ class xn extends sn {
|
|
|
1192
1192
|
cursor: "pointer",
|
|
1193
1193
|
transition: "background-color 0.2s"
|
|
1194
1194
|
},
|
|
1195
|
-
onMouseOver: (
|
|
1196
|
-
onMouseOut: (
|
|
1195
|
+
onMouseOver: (d) => d.currentTarget.style.backgroundColor = "#b91c1c",
|
|
1196
|
+
onMouseOut: (d) => d.currentTarget.style.backgroundColor = "#dc2626",
|
|
1197
1197
|
children: "🔄 Restart Game"
|
|
1198
1198
|
}
|
|
1199
1199
|
),
|
|
@@ -1216,6 +1216,7 @@ class xn extends sn {
|
|
|
1216
1216
|
}
|
|
1217
1217
|
export {
|
|
1218
1218
|
xn as ErrorBoundary,
|
|
1219
|
+
wn as Game,
|
|
1219
1220
|
Y as announceToScreenReader,
|
|
1220
1221
|
pn as createAriaLabel,
|
|
1221
1222
|
wn as default,
|