@mblinkov/whats-missing 20.0.26 → 20.0.28

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.
@@ -1,9 +1,9 @@
1
- import { jsx as t, jsxs as s, Fragment as he } from "react/jsx-runtime";
2
- import { useRef as U, useState as l, useEffect as oe, useLayoutEffect as re, useMemo as pe } from "react";
3
- const fe = window.origin + "/cloud/speakid/games/whatsmissing/", P = (i, p) => i.map(([d, o]) => ({
4
- src: `${fe}${p}/${o.replace(/\s/g, "%20")}.png`,
1
+ import { jsx as n, jsxs as l, Fragment as pe } from "react/jsx-runtime";
2
+ import { useRef as V, useState as a, useEffect as ie, useLayoutEffect as se, useMemo as fe } from "react";
3
+ const ye = window.origin + "/cloud/speakid/games/whatsmissing/", U = (i, u) => i.map(([s, o]) => ({
4
+ src: `${ye}${u}/${o.replace(/\s/g, "%20")}.png`,
5
5
  name: o
6
- })), ye = [
6
+ })), be = [
7
7
  ["apple", "apple"],
8
8
  ["banana", "banana"],
9
9
  ["bread", "bread"],
@@ -49,7 +49,7 @@ const fe = window.origin + "/cloud/speakid/games/whatsmissing/", P = (i, p) => i
49
49
  ["tortoise", "tortoise"],
50
50
  ["wolf", "wolf"],
51
51
  ["zebra", "zebra"]
52
- ], be = [
52
+ ], we = [
53
53
  ["ball", "ball"],
54
54
  ["balloon", "balloon"],
55
55
  ["blocks", "blocks"],
@@ -69,11 +69,11 @@ const fe = window.origin + "/cloud/speakid/games/whatsmissing/", P = (i, p) => i
69
69
  ["teddy_bear", "teddy bear"],
70
70
  ["yo-yo", "yo-yo"],
71
71
  ["crayons", "crayons"]
72
- ], ie = {
73
- food: P(ye, "food"),
74
- animals: P(xe, "animals"),
75
- toys: P(be, "toys")
76
- }, we = `
72
+ ], re = {
73
+ food: U(be, "food"),
74
+ animals: U(xe, "animals"),
75
+ toys: U(we, "toys")
76
+ }, ke = `
77
77
  @keyframes spin {
78
78
  from { transform: rotate(0deg); }
79
79
  to { transform: rotate(360deg); }
@@ -81,11 +81,11 @@ const fe = window.origin + "/cloud/speakid/games/whatsmissing/", P = (i, p) => i
81
81
  `;
82
82
  if (typeof document < "u" && !document.getElementById("spin-keyframes")) {
83
83
  const i = document.createElement("style");
84
- i.id = "spin-keyframes", i.innerHTML = we, document.head.appendChild(i);
84
+ i.id = "spin-keyframes", i.innerHTML = ke, document.head.appendChild(i);
85
85
  }
86
- const ve = {
86
+ const Ce = {
87
87
  animation: "spin 1.4s linear infinite"
88
- }, n = {
88
+ }, t = {
89
89
  gmCenterScreen: {
90
90
  position: "relative",
91
91
  zIndex: 1,
@@ -236,73 +236,73 @@ const ve = {
236
236
  },
237
237
  gmHourglass: {
238
238
  fontSize: "42px",
239
- ...ve
239
+ ...Ce
240
240
  }
241
- }, ke = () => {
241
+ }, ve = () => {
242
242
  const i = document.createElement("style");
243
243
  i.textContent = `
244
244
  #whats-missing-root, #whats-missing-root * { box-sizing: border-box; }
245
245
  #whats-missing-root img { max-width:100%; height:auto; display:block; user-select:none; }
246
246
  `, document.head.appendChild(i);
247
- }, Ce = (i, p) => {
248
- const d = Array.from({ length: i.length + 1 }, () => Array(p.length + 1).fill(0));
249
- for (let o = 0; o <= i.length; o++) d[o][0] = o;
250
- for (let o = 0; o <= p.length; o++) d[0][o] = o;
247
+ }, ze = (i, u) => {
248
+ const s = Array.from({ length: i.length + 1 }, () => Array(u.length + 1).fill(0));
249
+ for (let o = 0; o <= i.length; o++) s[o][0] = o;
250
+ for (let o = 0; o <= u.length; o++) s[0][o] = o;
251
251
  for (let o = 1; o <= i.length; o++)
252
- for (let g = 1; g <= p.length; g++)
253
- d[o][g] = i[o - 1] === p[g - 1] ? d[o - 1][g - 1] : Math.min(d[o - 1][g - 1], d[o][g - 1], d[o - 1][g]) + 1;
254
- return d[i.length][p.length];
252
+ for (let m = 1; m <= u.length; m++)
253
+ s[o][m] = i[o - 1] === u[m - 1] ? s[o - 1][m - 1] : Math.min(s[o - 1][m - 1], s[o][m - 1], s[o - 1][m]) + 1;
254
+ return s[i.length][u.length];
255
255
  };
256
- function ze(i, p = { minDesktopWidth: 1200, forceResize: !1 }) {
257
- const d = U(null), o = p.minDesktopWidth ?? 1200, g = !!p.forceResize;
258
- re(() => {
256
+ function Se(i, u = { minDesktopWidth: 1200, forceResize: !1 }) {
257
+ const s = V(null), o = u.minDesktopWidth ?? 1200, m = !!u.forceResize;
258
+ se(() => {
259
259
  if (typeof window > "u" || !i || !i.current) return;
260
- const c = i.current, B = () => {
260
+ const g = i.current, B = () => {
261
261
  try {
262
- const a = document.body, u = getComputedStyle(a), T = parseFloat(a.style && a.style.zoom || "");
262
+ const d = document.body, h = getComputedStyle(d), T = parseFloat(d.style && d.style.zoom || "");
263
263
  if (T && !isNaN(T) && T > 0) return T;
264
- const v = parseFloat(u.zoom || "");
265
- if (v && !isNaN(v) && v > 0) return v;
266
- const h = document.createElement("div");
267
- h.style.position = "absolute", h.style.left = "0", h.style.top = "0", h.style.width = "100px", h.style.height = "1px", h.style.visibility = "hidden", h.style.pointerEvents = "none", document.documentElement.appendChild(h);
268
- const x = h.getBoundingClientRect();
269
- if (document.documentElement.removeChild(h), x && x.width > 0) {
270
- const A = x.width / 100;
264
+ const k = parseFloat(h.zoom || "");
265
+ if (k && !isNaN(k) && k > 0) return k;
266
+ const p = document.createElement("div");
267
+ p.style.position = "absolute", p.style.left = "0", p.style.top = "0", p.style.width = "100px", p.style.height = "1px", p.style.visibility = "hidden", document.documentElement.appendChild(p);
268
+ const b = p.getBoundingClientRect();
269
+ if (document.documentElement.removeChild(p), b && b.width > 0) {
270
+ const A = b.width / 100;
271
271
  if (!isNaN(A) && A > 0) return A;
272
272
  }
273
273
  } catch {
274
274
  }
275
275
  return 1;
276
- }, C = () => {
276
+ }, v = () => {
277
277
  if (o && window.innerWidth < o) {
278
278
  M();
279
279
  return;
280
280
  }
281
- const a = B();
282
- if (!a || a === 1) {
281
+ const d = B();
282
+ if (!d || d === 1) {
283
283
  M();
284
284
  return;
285
285
  }
286
- d.current || (d.current = {
287
- transform: c.style.transform || null,
288
- transformOrigin: c.style.transformOrigin || null,
289
- width: c.style.width || null,
290
- height: c.style.height || null,
291
- willChange: c.style.willChange || null
286
+ s.current || (s.current = {
287
+ transform: g.style.transform || null,
288
+ transformOrigin: g.style.transformOrigin || null,
289
+ width: g.style.width || null,
290
+ height: g.style.height || null,
291
+ willChange: g.style.willChange || null
292
292
  });
293
- const u = 1 / a;
294
- g && (c.style.width = `${a * 100}%`, c.style.height = `${a * 100}%`), c.style.transformOrigin = "50% 50%", c.style.transform = `scale(${u})`, c.style.willChange = "transform";
293
+ const h = 1 / d;
294
+ m && (g.style.width = `${d * 100}%`, g.style.height = `${d * 100}%`), g.style.transformOrigin = "50% 50%", g.style.transform = `scale(${h})`, g.style.willChange = "transform";
295
295
  }, M = () => {
296
- if (!d.current) return;
297
- const a = d.current;
298
- c.style.transform = a.transform ?? "", c.style.transformOrigin = a.transformOrigin ?? "", c.style.width = a.width ?? "", c.style.height = a.height ?? "", c.style.willChange = a.willChange ?? "", d.current = null;
296
+ if (!s.current) return;
297
+ const d = s.current;
298
+ g.style.transform = d.transform ?? "", g.style.transformOrigin = d.transformOrigin ?? "", g.style.width = d.width ?? "", g.style.height = d.height ?? "", g.style.willChange = d.willChange ?? "", s.current = null;
299
299
  };
300
300
  let w = 0;
301
301
  const z = () => {
302
- cancelAnimationFrame(w), w = requestAnimationFrame(C);
303
- }, S = new MutationObserver((a) => {
304
- for (const u of a)
305
- if (u.type === "attributes" && (u.attributeName === "style" || u.attributeName === "class")) {
302
+ cancelAnimationFrame(w), w = requestAnimationFrame(v);
303
+ }, S = new MutationObserver((d) => {
304
+ for (const h of d)
305
+ if (h.type === "attributes" && (h.attributeName === "style" || h.attributeName === "class")) {
306
306
  z();
307
307
  break;
308
308
  }
@@ -310,26 +310,26 @@ function ze(i, p = { minDesktopWidth: 1200, forceResize: !1 }) {
310
310
  return S.observe(document.body, { attributes: !0, attributeFilter: ["style", "class"] }), window.addEventListener("resize", z), z(), () => {
311
311
  cancelAnimationFrame(w), S.disconnect(), window.removeEventListener("resize", z), M();
312
312
  };
313
- }, [i, o, g]);
313
+ }, [i, o, m]);
314
314
  }
315
- function Me({
315
+ function Be({
316
316
  gameCubeSize: i,
317
- screenHeight: p,
318
- screenWidth: d
317
+ screenHeight: u,
318
+ screenWidth: s
319
319
  }) {
320
- const o = U(null), g = U(null), [c, B] = l(null);
321
- ze(o, { minDesktopWidth: 1200, forceResize: !1 }), oe(() => (ke(), () => {
320
+ const o = V(null), m = V(null), [g, B] = a(null);
321
+ Se(o, { minDesktopWidth: 1200, forceResize: !1 }), ie(() => (ve(), () => {
322
322
  document.body.style.overflow = "";
323
323
  }), []);
324
- const [C, M] = l(null), [w, z] = l([]), [S, a] = l(4), [u, T] = l(!1), [v, h] = l(1), [x, A] = l(null), [b, L] = l("ready"), [V, Z] = l(3), [F, $] = l(10), [G, _] = l(20), [se, N] = l(0), [j, O] = l(!1), [E, K] = l(""), [I, D] = l(!1), [q, J] = l(!1), [Q, W] = l(null), [le, Y] = l([]), [ae, X] = l([]), [k, Se] = l(!1);
325
- re(() => {
326
- const e = g.current;
324
+ const [v, M] = a(null), [w, z] = a([]), [S, d] = a(4), [h, T] = a(!1), [k, p] = a(1), [b, A] = a(null), [x, L] = a("ready"), [Z, _] = a(3), [$, E] = a(10), [G, K] = a(20), [le, N] = a(0), [j, D] = a(!1), [F, J] = a(""), [I, O] = a(!1), [q, Q] = a(!1), [X, W] = a(null), [ae, Y] = a([]), [de, ee] = a([]), [C, Te] = a(!1);
325
+ se(() => {
326
+ const e = m.current;
327
327
  if (!e || typeof window > "u") return;
328
328
  let r = null;
329
329
  try {
330
330
  r = new ResizeObserver((f) => {
331
- for (const m of f) {
332
- const y = m.contentRect;
331
+ for (const c of f) {
332
+ const y = c.contentRect;
333
333
  B(Math.round(Math.min(y.width, y.height)));
334
334
  }
335
335
  }), r.observe(e), B(Math.round(Math.min(e.clientWidth, e.clientHeight)));
@@ -337,61 +337,81 @@ function Me({
337
337
  B(Math.round(Math.min(e.clientWidth, e.clientHeight)));
338
338
  }
339
339
  return () => r?.disconnect();
340
- }, [k]);
341
- const ee = (e) => [...e].sort(() => Math.random() - 0.5).slice(0, 6), te = () => {
342
- if (!C) return;
343
- const e = ee(ie[C]);
344
- z(e), T(!0), O(!1), h(1), N(0), Y([]), X([]), ne(e, [], !0);
345
- }, ne = (e = w, r = ae, f = !1) => {
346
- const m = ee(e.length ? e : ie[C]);
347
- let y = Math.floor(Math.random() * m.length), H = m[y].name, R = 0;
340
+ }, [C]);
341
+ const te = (e) => [...e].sort(() => Math.random() - 0.5).slice(0, 6), ne = () => {
342
+ if (!v) return;
343
+ const e = te(re[v]);
344
+ z(e), T(!0), D(!1), p(1), N(0), Y([]), ee([]), oe(e, [], !0);
345
+ }, oe = (e = w, r = de, f = !1) => {
346
+ const c = te(e.length ? e : re[v]);
347
+ let y = Math.floor(Math.random() * c.length), H = c[y].name, R = 0;
348
348
  for (; r.includes(H) && R < 20; )
349
- y = Math.floor(Math.random() * m.length), H = m[y].name, R++;
350
- z(m), A(y), X([...r, H]), D(!1), K(""), _(20), W(null), f ? (L("ready"), Z(3), $(10)) : (L("memorize"), $(10));
349
+ y = Math.floor(Math.random() * c.length), H = c[y].name, R++;
350
+ z(c), A(y), ee([...r, H]), O(!1), J(""), K(20), W(null), f ? (L("ready"), _(3), E(10)) : (L("memorize"), E(10));
351
351
  };
352
- oe(() => {
353
- if (!(!u || j || I)) {
354
- if (b === "ready")
355
- if (V <= 0) L("memorize");
352
+ ie(() => {
353
+ if (!(!h || j || I)) {
354
+ if (x === "ready")
355
+ if (Z <= 0) L("memorize");
356
356
  else {
357
- const e = setTimeout(() => Z((r) => r - 1), 1e3);
357
+ const e = setTimeout(() => _((r) => r - 1), 1e3);
358
358
  return () => clearTimeout(e);
359
359
  }
360
- if (b === "memorize")
361
- if (F <= 0) L("guess");
360
+ if (x === "memorize")
361
+ if ($ <= 0) L("guess");
362
362
  else {
363
- const e = setTimeout(() => $((r) => r - 1), 1e3);
363
+ const e = setTimeout(() => E((r) => r - 1), 1e3);
364
364
  return () => clearTimeout(e);
365
365
  }
366
- if (b === "guess") {
366
+ if (x === "guess") {
367
367
  if (G <= 0) {
368
- D(!0), W("wrong");
369
- const r = w[x].name;
370
- Y((f) => [...f, { round: v, answer: E, correct: r, result: "wrong" }]);
368
+ O(!0), W("wrong");
369
+ const r = w[b].name;
370
+ Y((f) => [
371
+ ...f,
372
+ { round: k, answer: F, correct: r, result: "wrong" }
373
+ ]);
371
374
  return;
372
375
  }
373
- const e = setTimeout(() => _((r) => r - 1), 1e3);
376
+ const e = setTimeout(() => K((r) => r - 1), 1e3);
374
377
  return () => clearTimeout(e);
375
378
  }
376
379
  }
377
- }, [b, V, F, G, u, j, I, w, x, v, E]);
378
- const de = () => {
379
- if (x === null || q) return;
380
- const e = w[x].name, r = E.toLowerCase().trim();
380
+ }, [x, Z, $, G, h, j, I, w, b, k, F]);
381
+ const ce = () => {
382
+ if (b === null || q) return;
383
+ const e = w[b].name, r = F.toLowerCase().trim();
381
384
  let f = "wrong";
382
- r === e ? (N((m) => m + 1), W("correct"), f = "correct") : Ce(r, e) === 1 ? (N((m) => m + 0.5), W("almost"), f = "almost") : (W("wrong"), f = "wrong"), Y((m) => [...m, { round: v, answer: r, correct: e, result: f }]), J(!0), setTimeout(() => {
383
- J(!1), D(!0);
385
+ r === e ? (N((c) => c + 1), W("correct"), f = "correct") : ze(r, e) === 1 ? (N((c) => c + 0.5), W("almost"), f = "almost") : (W("wrong"), f = "wrong"), Y((c) => [...c, { round: k, answer: r, correct: e, result: f }]), Q(!0), setTimeout(() => {
386
+ Q(!1), O(!0);
384
387
  }, 600);
385
- }, ce = () => v < S ? (h((e) => e + 1), ne()) : O(!0), me = () => {
386
- T(!1), O(!1), M(null);
387
- }, ge = pe(
388
- () => /* @__PURE__ */ t("div", { style: { ...n.gmLogoFixed, position: "absolute", top: 16, left: 16, zIndex: 30 }, children: /* @__PURE__ */ s("picture", { children: [
389
- /* @__PURE__ */ t("source", { srcSet: window.origin + "/cloud/speakid/games/whatsmissing/logo.svg", type: "image/svg+xml" }),
390
- /* @__PURE__ */ t("img", { src: window.origin + "/cloud/speakid/games/whatsmissing/logo.png", alt: "SPEAKID Logo", style: n.gmLogoImg, loading: "lazy" })
388
+ }, me = () => k < S ? (p((e) => e + 1), oe()) : D(!0), ge = () => {
389
+ T(!1), D(!1), M(null);
390
+ }, ue = fe(
391
+ () => /* @__PURE__ */ n("div", { style: { ...t.gmLogoFixed, position: "absolute", top: 16, left: 16, zIndex: 30 }, children: /* @__PURE__ */ l("picture", { children: [
392
+ /* @__PURE__ */ n(
393
+ "source",
394
+ {
395
+ srcSet: window.origin + "/cloud/speakid/games/whatsmissing/logo.svg",
396
+ type: "image/svg+xml"
397
+ }
398
+ ),
399
+ /* @__PURE__ */ n(
400
+ "img",
401
+ {
402
+ src: window.origin + "/cloud/speakid/games/whatsmissing/logo.png",
403
+ alt: "SPEAKID Logo",
404
+ style: t.gmLogoImg,
405
+ loading: "lazy"
406
+ }
407
+ )
391
408
  ] }) }),
392
409
  []
393
- );
394
- return /* @__PURE__ */ t(
410
+ ), P = typeof window < "u" ? Math.min(
411
+ (s ?? window.innerWidth) / 1440,
412
+ (u ?? window.innerHeight) / 900
413
+ ) : 1;
414
+ return /* @__PURE__ */ n(
395
415
  "div",
396
416
  {
397
417
  ref: o,
@@ -402,104 +422,102 @@ function Me({
402
422
  justifyContent: "center",
403
423
  alignItems: "center",
404
424
  background: "linear-gradient(to bottom, #fff8f8 0%, #f9fafb 100%)",
405
- transition: "background 0.3s ease",
406
425
  overflow: "hidden",
407
- zIndex: 1,
408
- pointerEvents: "auto"
426
+ zIndex: 1
409
427
  },
410
- children: /* @__PURE__ */ t(
428
+ children: /* @__PURE__ */ n(
411
429
  "div",
412
430
  {
413
- ref: g,
431
+ ref: m,
414
432
  style: {
415
- width: i ? `${i}px` : k ? "100%" : "1000px",
416
- height: i ? `${i}px` : k ? "100%" : "1000px",
417
- maxWidth: "calc(100vw - 24px)",
418
- maxHeight: "calc(100vh - 20px)",
433
+ width: C ? "100%" : `${Math.min(i ?? 1e3, s ?? 1e3, u ?? 1e3)}px`,
434
+ height: C ? "100%" : `${Math.min(i ?? 1e3, s ?? 1e3, u ?? 1e3)}px`,
435
+ borderRadius: C ? 0 : "20px",
436
+ background: "linear-gradient(to bottom, #fff8f8 0%, #f9fafb 100%)",
437
+ position: "relative",
438
+ overflow: "hidden",
439
+ boxShadow: C ? "none" : "0 0 40px rgba(0,0,0,0.08)",
419
440
  display: "flex",
420
441
  justifyContent: "center",
421
- alignItems: "center",
422
- overflow: "hidden",
423
- borderRadius: k ? 0 : "20px",
424
- background: "linear-gradient(to bottom, #fff8f8 0%, #f9fafb 100%)",
425
- boxShadow: k ? "none" : "0 0 40px rgba(0,0,0,0.08)",
426
- position: "relative"
442
+ alignItems: "center"
427
443
  },
428
- children: /* @__PURE__ */ t(
444
+ children: /* @__PURE__ */ l(
429
445
  "div",
430
446
  {
447
+ id: "whats-missing-root",
431
448
  style: {
432
- transform: "none",
433
- transformOrigin: "50% 50%",
434
- width: "100%",
435
- height: "100%",
449
+ transform: `scale(${P})`,
450
+ transformOrigin: "center center",
451
+ width: `${100 / P}%`,
452
+ height: `${100 / P}%`,
436
453
  display: "flex",
454
+ flexDirection: "column",
437
455
  justifyContent: "center",
438
456
  alignItems: "center"
439
457
  },
440
- children: /* @__PURE__ */ s("div", { id: "whats-missing-root", children: [
441
- !k && ge,
442
- !C && !u && /* @__PURE__ */ s("div", { style: n.gmCenterScreen, children: [
443
- /* @__PURE__ */ t("h1", { style: n.gmHeadline1, children: "WHAT'S MISSING?" }),
444
- /* @__PURE__ */ t("p", { style: n.gmBodyM, children: "Select a theme:" }),
445
- /* @__PURE__ */ t("div", { style: { display: "flex", gap: 16 }, children: ["animals", "food", "toys"].map((e) => /* @__PURE__ */ t("button", { style: n.gmButton, onClick: () => M(e), children: e === "animals" ? "🐶 Animals" : e === "food" ? "🍎 Food" : "🧸 Toys" }, e)) }),
446
- /* @__PURE__ */ s("div", { style: { marginTop: 24 }, children: [
447
- /* @__PURE__ */ t("p", { style: n.gmBodyS, children: "Choose number of rounds:" }),
448
- /* @__PURE__ */ t("div", { style: { display: "flex", gap: 12, marginTop: 8 }, children: [3, 4, 5].map((e) => /* @__PURE__ */ t(
458
+ children: [
459
+ !C && ue,
460
+ !v && !h && /* @__PURE__ */ l("div", { style: t.gmCenterScreen, children: [
461
+ /* @__PURE__ */ n("h1", { style: t.gmHeadline1, children: "WHAT'S MISSING?" }),
462
+ /* @__PURE__ */ n("p", { style: t.gmBodyM, children: "Select a theme:" }),
463
+ /* @__PURE__ */ n("div", { style: { display: "flex", gap: 16 }, children: ["animals", "food", "toys"].map((e) => /* @__PURE__ */ n("button", { style: t.gmButton, onClick: () => M(e), children: e === "animals" ? "🐶 Animals" : e === "food" ? "🍎 Food" : "🧸 Toys" }, e)) }),
464
+ /* @__PURE__ */ l("div", { style: { marginTop: 24 }, children: [
465
+ /* @__PURE__ */ n("p", { style: t.gmBodyS, children: "Choose number of rounds:" }),
466
+ /* @__PURE__ */ n("div", { style: { display: "flex", gap: 12, marginTop: 8 }, children: [3, 4, 5].map((e) => /* @__PURE__ */ n(
449
467
  "button",
450
468
  {
451
469
  style: {
452
- ...n.gmButton,
453
- ...S === e ? n.gmButtonActive : {}
470
+ ...t.gmButton,
471
+ ...S === e ? t.gmButtonActive : {}
454
472
  },
455
- onClick: () => a(e),
473
+ onClick: () => d(e),
456
474
  children: e
457
475
  },
458
476
  e
459
477
  )) })
460
478
  ] })
461
479
  ] }),
462
- C && !u && /* @__PURE__ */ s("div", { style: n.gmCenterScreen, children: [
463
- /* @__PURE__ */ s("h1", { style: n.gmHeadline1, children: [
480
+ v && !h && /* @__PURE__ */ l("div", { style: t.gmCenterScreen, children: [
481
+ /* @__PURE__ */ l("h1", { style: t.gmHeadline1, children: [
464
482
  "Theme selected: ",
465
- C
483
+ v
466
484
  ] }),
467
- /* @__PURE__ */ s("p", { style: n.gmBodyM, children: [
485
+ /* @__PURE__ */ l("p", { style: t.gmBodyM, children: [
468
486
  "Rounds: ",
469
487
  S
470
488
  ] }),
471
- /* @__PURE__ */ t("button", { style: n.gmButton, onClick: te, children: "▶ Start game" })
489
+ /* @__PURE__ */ n("button", { style: t.gmButton, onClick: ne, children: "▶ Start game" })
472
490
  ] }),
473
- j && /* @__PURE__ */ s("div", { style: n.gmCenterScreen, children: [
474
- /* @__PURE__ */ t("h1", { style: n.gmHeadline1, children: "Results" }),
475
- /* @__PURE__ */ s("h2", { style: n.gmHeadline3, children: [
491
+ j && /* @__PURE__ */ l("div", { style: t.gmCenterScreen, children: [
492
+ /* @__PURE__ */ n("h1", { style: t.gmHeadline1, children: "Results" }),
493
+ /* @__PURE__ */ l("h2", { style: t.gmHeadline3, children: [
476
494
  "Your score: ",
477
- se,
495
+ le,
478
496
  " / ",
479
497
  S
480
498
  ] }),
481
- /* @__PURE__ */ t("p", { style: { ...n.gmBodyM, color: "#10b981", marginTop: 12 }, children: "Yahoo! You did it! 🍬✨" }),
482
- /* @__PURE__ */ s("table", { style: n.gmTable, children: [
483
- /* @__PURE__ */ t("thead", { children: /* @__PURE__ */ s("tr", { children: [
484
- /* @__PURE__ */ t("th", { children: "Round" }),
485
- /* @__PURE__ */ t("th", { children: "Your Answer" }),
486
- /* @__PURE__ */ t("th", { children: "Correct" }),
487
- /* @__PURE__ */ t("th", { children: "Result" })
499
+ /* @__PURE__ */ n("p", { style: { ...t.gmBodyM, color: "#10b981", marginTop: 12 }, children: "Yahoo! You did it! 🍬✨" }),
500
+ /* @__PURE__ */ l("table", { style: t.gmTable, children: [
501
+ /* @__PURE__ */ n("thead", { children: /* @__PURE__ */ l("tr", { children: [
502
+ /* @__PURE__ */ n("th", { children: "Round" }),
503
+ /* @__PURE__ */ n("th", { children: "Your Answer" }),
504
+ /* @__PURE__ */ n("th", { children: "Correct" }),
505
+ /* @__PURE__ */ n("th", { children: "Result" })
488
506
  ] }) }),
489
- /* @__PURE__ */ t("tbody", { children: le.map((e, r) => /* @__PURE__ */ s("tr", { children: [
490
- /* @__PURE__ */ t("td", { style: n.gmTableCell, children: e.round }),
491
- /* @__PURE__ */ t("td", { style: n.gmTableCell, children: e.answer || "—" }),
492
- /* @__PURE__ */ t("td", { style: n.gmTableCell, children: e.correct }),
493
- /* @__PURE__ */ t("td", { style: n.gmTableCell, children: e.result === "correct" ? "✔ Correct" : e.result === "almost" ? "◐ Almost (0.5)" : "✘ Wrong" })
507
+ /* @__PURE__ */ n("tbody", { children: ae.map((e, r) => /* @__PURE__ */ l("tr", { children: [
508
+ /* @__PURE__ */ n("td", { style: t.gmTableCell, children: e.round }),
509
+ /* @__PURE__ */ n("td", { style: t.gmTableCell, children: e.answer || "—" }),
510
+ /* @__PURE__ */ n("td", { style: t.gmTableCell, children: e.correct }),
511
+ /* @__PURE__ */ n("td", { style: t.gmTableCell, children: e.result === "correct" ? "✔ Correct" : e.result === "almost" ? "◐ Almost (0.5)" : "✘ Wrong" })
494
512
  ] }, r)) })
495
513
  ] }),
496
- /* @__PURE__ */ s("div", { style: { display: "flex", gap: 12, marginTop: 24 }, children: [
497
- /* @__PURE__ */ t("button", { style: n.gmButton, onClick: te, children: "🔁 Play again" }),
498
- /* @__PURE__ */ t("button", { style: n.gmButton, onClick: me, children: "⬅️ Choose theme" })
514
+ /* @__PURE__ */ l("div", { style: { display: "flex", gap: 12, marginTop: 24 }, children: [
515
+ /* @__PURE__ */ n("button", { style: t.gmButton, onClick: ne, children: "🔁 Play again" }),
516
+ /* @__PURE__ */ n("button", { style: t.gmButton, onClick: ge, children: "⬅️ Choose theme" })
499
517
  ] })
500
518
  ] }),
501
- u && !j && /* @__PURE__ */ s("div", { style: n.gmGameLayout, children: [
502
- /* @__PURE__ */ s(
519
+ h && !j && /* @__PURE__ */ l("div", { style: t.gmGameLayout, children: [
520
+ /* @__PURE__ */ l(
503
521
  "div",
504
522
  {
505
523
  style: {
@@ -510,16 +528,16 @@ function Me({
510
528
  alignItems: "center"
511
529
  },
512
530
  children: [
513
- b === "ready" && /* @__PURE__ */ s(he, { children: [
514
- /* @__PURE__ */ t("h1", { style: { ...n.gmHeadline1, color: "#ec4c44" }, children: "GET READY" }),
515
- /* @__PURE__ */ t("div", { style: n.gmHourglass, children: "⏳" })
531
+ x === "ready" && /* @__PURE__ */ l(pe, { children: [
532
+ /* @__PURE__ */ n("h1", { style: { ...t.gmHeadline1, color: "#ec4c44" }, children: "GET READY" }),
533
+ /* @__PURE__ */ n("div", { style: t.gmHourglass, children: "⏳" })
516
534
  ] }),
517
- b === "memorize" && /* @__PURE__ */ s("p", { style: { ...n.gmBodyM, color: "#10b981" }, children: [
535
+ x === "memorize" && /* @__PURE__ */ l("p", { style: { ...t.gmBodyM, color: "#10b981" }, children: [
518
536
  "MEMORIZE (",
519
- F,
537
+ $,
520
538
  ")"
521
539
  ] }),
522
- b === "guess" && !I && /* @__PURE__ */ s("p", { style: n.gmBodyM, children: [
540
+ x === "guess" && !I && /* @__PURE__ */ l("p", { style: t.gmBodyM, children: [
523
541
  "⏳ Time left: ",
524
542
  G,
525
543
  "s"
@@ -527,17 +545,21 @@ function Me({
527
545
  ]
528
546
  }
529
547
  ),
530
- b !== "ready" && (() => {
531
- const e = k ? 12 : 20, r = 32, f = Math.min(i ?? 1e3, c ?? 1e3, p ?? 1e3, d ?? 1e3), m = k ? 2 : 3, y = Math.max(
548
+ x !== "ready" && (() => {
549
+ const e = C ? 12 : 20, r = 32, f = Math.min(
550
+ m.current?.clientWidth ?? i ?? 1e3,
551
+ m.current?.clientHeight ?? u ?? 1e3,
552
+ s ?? 1e3
553
+ ), c = C ? 2 : 3, y = Math.max(
532
554
  90,
533
- Math.floor((f - r - e * (m - 1)) / m)
555
+ Math.floor((f - r - e * (c - 1)) / c)
534
556
  );
535
- return /* @__PURE__ */ t(
557
+ return /* @__PURE__ */ n(
536
558
  "div",
537
559
  {
538
560
  style: {
539
- ...n.gmGrid,
540
- gridTemplateColumns: `repeat(${m}, ${y}px)`,
561
+ ...t.gmGrid,
562
+ gridTemplateColumns: `repeat(${c}, ${y}px)`,
541
563
  gridAutoRows: `${y}px`,
542
564
  gap: `${e}px`,
543
565
  justifyContent: "center",
@@ -546,25 +568,30 @@ function Me({
546
568
  boxSizing: "border-box"
547
569
  },
548
570
  children: w.map((H, R) => {
549
- const ue = x === R && b === "guess" && !I;
550
- return /* @__PURE__ */ t(
571
+ const he = b === R && x === "guess" && !I;
572
+ return /* @__PURE__ */ n(
551
573
  "div",
552
574
  {
553
575
  style: {
554
- ...n.gmCard,
576
+ ...t.gmCard,
555
577
  width: `${y}px`,
556
578
  height: `${y}px`,
557
- padding: k ? 8 : 10,
579
+ padding: C ? 8 : 10,
558
580
  boxSizing: "border-box",
559
- ...Q === "correct" && x === R ? n.gmCorrect : {},
560
- ...Q === "wrong" && x === R ? n.gmWrong : {}
581
+ ...X === "correct" && b === R ? t.gmCorrect : {},
582
+ ...X === "wrong" && b === R ? t.gmWrong : {}
561
583
  },
562
- children: !ue && /* @__PURE__ */ t(
584
+ children: !he && /* @__PURE__ */ n(
563
585
  "img",
564
586
  {
565
587
  src: H.src,
566
588
  alt: H.name,
567
- style: { width: "100%", height: "100%", objectFit: "cover", display: "block" }
589
+ style: {
590
+ width: "100%",
591
+ height: "100%",
592
+ objectFit: "cover",
593
+ display: "block"
594
+ }
568
595
  }
569
596
  )
570
597
  },
@@ -574,32 +601,32 @@ function Me({
574
601
  }
575
602
  );
576
603
  })(),
577
- /* @__PURE__ */ s("div", { style: { marginTop: 16, height: 80 }, children: [
578
- b === "guess" && !I && /* @__PURE__ */ s("div", { children: [
579
- /* @__PURE__ */ t(
604
+ /* @__PURE__ */ l("div", { style: { marginTop: 16, height: 80 }, children: [
605
+ x === "guess" && !I && /* @__PURE__ */ l("div", { children: [
606
+ /* @__PURE__ */ n(
580
607
  "input",
581
608
  {
582
609
  type: "text",
583
610
  placeholder: "Type the missing word",
584
- value: E,
585
- onChange: (e) => K(e.target.value),
586
- style: n.gmInput
611
+ value: F,
612
+ onChange: (e) => J(e.target.value),
613
+ style: t.gmInput
587
614
  }
588
615
  ),
589
- /* @__PURE__ */ t(
616
+ /* @__PURE__ */ n(
590
617
  "button",
591
618
  {
592
- style: { ...n.gmButton, marginLeft: 8 },
593
- onClick: de,
619
+ style: { ...t.gmButton, marginLeft: 8 },
620
+ onClick: ce,
594
621
  disabled: q,
595
622
  children: q ? "..." : "Check"
596
623
  }
597
624
  )
598
625
  ] }),
599
- I && /* @__PURE__ */ t("button", { type: "button", style: n.gmButton, onClick: ce, children: "Next round" })
626
+ I && /* @__PURE__ */ n("button", { type: "button", style: t.gmButton, onClick: me, children: "Next round" })
600
627
  ] })
601
628
  ] })
602
- ] })
629
+ ]
603
630
  }
604
631
  )
605
632
  }
@@ -608,6 +635,6 @@ function Me({
608
635
  );
609
636
  }
610
637
  export {
611
- Me as Game,
612
- ie as themes
638
+ Be as Game,
639
+ re as themes
613
640
  };