@cuemath/leap 2.8.36-link.0 → 2.8.36-tables-hg1

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.
Files changed (99) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -2
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +7 -0
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js +53 -0
  6. package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -0
  7. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +24 -0
  8. package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -0
  9. package/dist/features/circle-games/game-launcher/comps/card-container/constants.js +7 -0
  10. package/dist/features/circle-games/game-launcher/comps/card-container/constants.js.map +1 -0
  11. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js +6 -6
  12. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js +29 -73
  14. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
  15. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +87 -85
  16. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  17. package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js +20 -0
  18. package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +1 -0
  19. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +24 -0
  20. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +1 -0
  21. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +54 -0
  22. package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -0
  23. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js +11 -0
  24. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js.map +1 -0
  25. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js +16 -0
  26. package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js.map +1 -0
  27. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +161 -0
  28. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -0
  29. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +225 -0
  30. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -0
  31. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +25 -15
  32. package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
  33. package/dist/features/circle-games/game-launcher/game-launcher.js +108 -65
  34. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  35. package/dist/features/circle-games/games/web-view/enums/project-type-enum.js +1 -1
  36. package/dist/features/circle-games/games/web-view/enums/project-type-enum.js.map +1 -1
  37. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  38. package/dist/features/circle-games/games/web-view/web-view.js +69 -82
  39. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  40. package/dist/features/post-game-stats/accuracy/accuracy-styled.js +17 -16
  41. package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
  42. package/dist/features/post-game-stats/clock/clock-styled.js +11 -10
  43. package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
  44. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js +17 -0
  45. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc-styled.js.map +1 -0
  46. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +47 -0
  47. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -0
  48. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js +6 -0
  49. package/dist/features/post-game-stats/digital-meter/comp/animated-arc/constants.js.map +1 -0
  50. package/dist/features/post-game-stats/digital-meter/constants.js +16 -0
  51. package/dist/features/post-game-stats/digital-meter/constants.js.map +1 -0
  52. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +86 -0
  53. package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -0
  54. package/dist/features/post-game-stats/digital-meter/digital-meter.js +163 -0
  55. package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -0
  56. package/dist/features/post-game-stats/digital-meter/helper.js +33 -0
  57. package/dist/features/post-game-stats/digital-meter/helper.js.map +1 -0
  58. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js +29 -0
  59. package/dist/features/post-game-stats/number-count-animation/number-count-animation-styled.js.map +1 -0
  60. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js +20 -0
  61. package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -0
  62. package/dist/features/post-game-stats/points/points.js +25 -24
  63. package/dist/features/post-game-stats/points/points.js.map +1 -1
  64. package/dist/features/post-game-stats/post-game-stats-styled.js +1 -1
  65. package/dist/features/post-game-stats/post-game-stats-styled.js.map +1 -1
  66. package/dist/features/post-game-stats/streak/streak-styled.js +18 -17
  67. package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
  68. package/dist/features/trial-session/comps/trial-circle-game/constants.js.map +1 -1
  69. package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
  70. package/dist/index.d.ts +93 -141
  71. package/dist/index.js +206 -211
  72. package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
  73. package/dist/static/infinite-button-bg.5909225e.json +1 -0
  74. package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
  75. package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
  76. package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
  77. package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
  78. package/dist/static/target-achieved-text.053bd142.json +2830 -0
  79. package/package.json +3 -2
  80. package/dist/assets/sounds/sounds.js +0 -7
  81. package/dist/assets/sounds/sounds.js.map +0 -1
  82. package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js +0 -14
  83. package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js.map +0 -1
  84. package/dist/features/talk-meter/helper.js +0 -11
  85. package/dist/features/talk-meter/helper.js.map +0 -1
  86. package/dist/features/talk-meter/hooks/use-talk-meter.js +0 -112
  87. package/dist/features/talk-meter/hooks/use-talk-meter.js.map +0 -1
  88. package/dist/features/talk-meter/ripple/index.js +0 -62
  89. package/dist/features/talk-meter/ripple/index.js.map +0 -1
  90. package/dist/features/talk-meter/talk-meter-styled.js +0 -84
  91. package/dist/features/talk-meter/talk-meter-styled.js.map +0 -1
  92. package/dist/features/talk-meter/talk-meter-view/talk-meter-view-styled.js +0 -22
  93. package/dist/features/talk-meter/talk-meter-view/talk-meter-view-styled.js.map +0 -1
  94. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +0 -89
  95. package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +0 -1
  96. package/dist/features/talk-meter/talk-meter.js +0 -71
  97. package/dist/features/talk-meter/talk-meter.js.map +0 -1
  98. package/dist/static/female-avatar.b8cd1012.svg +0 -1
  99. package/dist/static/male-avatar.2febc9eb.svg +0 -1
@@ -0,0 +1,86 @@
1
+ import o, { keyframes as e } from "styled-components";
2
+ import { GAME_LAUNCHER_SIZE as r } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
+ import i from "../../ui/text/text.js";
4
+ import { ADJUSTED_START_ANGLE as n } from "./comp/animated-arc/constants.js";
5
+ import { CONTENT_CONTAINER_Z_INDEX as s, LINE_MARKING_Z_INDEX as l, NUMBER_MARKING_Z_INDEX as d, TARGET_HELPER_TEXT_APPEAR_DELAY as a, RAINBOW_COLOR_ANIMATION_DURATION as m } from "./constants.js";
6
+ import { rainbowColorAnimation as p } from "./helper.js";
7
+ const T = o.div`
8
+ height: ${r}px;
9
+ width: ${r}px;
10
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ position: relative;
15
+ border-radius: 100%;
16
+ border: 1px solid ${({ theme: t }) => t.colors.WHITE};
17
+ animation: ${({ $isTargetAchieved: t }) => t ? e`100%{transform: scale(1.02)}` : "unset"}
18
+ 0.133s ease alternate;
19
+ `, g = o.div`
20
+ display: flex;
21
+ justify-content: center;
22
+ align-items: center;
23
+ position: absolute;
24
+ z-index: ${s};
25
+ height: 92%;
26
+ width: 92%;
27
+ border-radius: 100%;
28
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
29
+ `, E = o.div`
30
+ position: relative;
31
+ flex-grow: 1;
32
+ bottom: -12px;
33
+ `;
34
+ o.div`
35
+ position: absolute;
36
+ `;
37
+ const N = o.div`
38
+ width: ${r / 2}px;
39
+ height: 2px;
40
+ position: absolute;
41
+ background-color: ${({ theme: t }) => t.colors.BLACK_2};
42
+ transform-style: preserve-3d;
43
+ backface-visibility: hidden;
44
+ transform-origin: left;
45
+ transform: rotate(${({ $angle: t }) => -240 + t}deg);
46
+ left: ${r / 2}px;
47
+ top: ${r / 2}px;
48
+ z-index: ${l};
49
+ `, b = o.div`
50
+ position: absolute;
51
+ height: ${r - 32}px;
52
+ transform: rotate(${({ $angle: t }) => -n + t}deg);
53
+ z-index: ${d};
54
+ `, u = o.div`
55
+ transform: rotate(${({ $angle: t }) => n - t}deg);
56
+ `, h = o.div`
57
+ position: absolute;
58
+ top: 0;
59
+ transform: translateY(${r + 25}px);
60
+ `, v = o(i)`
61
+ animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
62
+ ease-in-out ${a}s forwards;
63
+ `, C = o(i)`
64
+ animation: ${e`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s
65
+ ease ${a}s forwards;
66
+ `, I = o.div`
67
+ height: 100%;
68
+ width: 100%;
69
+ `, R = o(i)`
70
+ animation: ${({ $isTargetAchieved: t }) => t ? p : "unset"}
71
+ ${m}s ease infinite forwards;
72
+ `;
73
+ export {
74
+ g as ContentContainer,
75
+ T as DigitalMeter,
76
+ v as HelperTextPrimary,
77
+ C as HelperTextSecondary,
78
+ h as HelperTextWrapper,
79
+ N as LineMarking,
80
+ b as MarkingContainer,
81
+ u as MarkingText,
82
+ E as NumberCountContainer,
83
+ R as RainboxColorText,
84
+ I as TargetAchievedTextLottie
85
+ };
86
+ //# sourceMappingURL=digital-meter-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-meter-styled.js","sources":["../../../../src/features/post-game-stats/digital-meter/digital-meter-styled.tsx"],"sourcesContent":["import styled, { keyframes } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport Text from '../../ui/text/text';\nimport { ADJUSTED_START_ANGLE } from './comp/animated-arc/constants';\nimport {\n CONTENT_CONTAINER_Z_INDEX,\n LINE_MARKING_Z_INDEX,\n NUMBER_MARKING_Z_INDEX,\n RAINBOW_COLOR_ANIMATION_DURATION,\n TARGET_HELPER_TEXT_APPEAR_DELAY,\n} from './constants';\nimport { rainbowColorAnimation } from './helper';\n\nexport const DigitalMeter = styled.div<{ $isTargetAchieved: boolean }>`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n border-radius: 100%;\n border: 1px solid ${({ theme }) => theme.colors.WHITE};\n animation: ${({ $isTargetAchieved }) =>\n $isTargetAchieved ? keyframes`100%{transform: scale(1.02)}` : 'unset'}\n 0.133s ease alternate;\n`;\n\nexport const ContentContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n z-index: ${CONTENT_CONTAINER_Z_INDEX};\n height: 92%;\n width: 92%;\n border-radius: 100%;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n`;\n\nexport const NumberCountContainer = styled.div`\n position: relative;\n flex-grow: 1;\n bottom: -12px;\n`;\n\nexport const AbsoluteView = styled.div`\n position: absolute;\n`;\n\nexport const LineMarking = styled.div<{\n $angle: number;\n}>`\n width: ${GAME_LAUNCHER_SIZE / 2}px;\n height: 2px;\n position: absolute;\n background-color: ${({ theme }) => theme.colors.BLACK_2};\n transform-style: preserve-3d;\n backface-visibility: hidden;\n transform-origin: left;\n transform: rotate(${({ $angle }) => -240 + $angle}deg);\n left: ${GAME_LAUNCHER_SIZE / 2}px;\n top: ${GAME_LAUNCHER_SIZE / 2}px;\n z-index: ${LINE_MARKING_Z_INDEX};\n`;\n\nexport const MarkingContainer = styled.div<{ $angle: number }>`\n position: absolute;\n height: ${GAME_LAUNCHER_SIZE - 32}px;\n transform: rotate(${({ $angle }) => -ADJUSTED_START_ANGLE + $angle}deg);\n z-index: ${NUMBER_MARKING_Z_INDEX};\n`;\n\nexport const MarkingText = styled.div<{ $angle: number }>`\n transform: rotate(${({ $angle }) => ADJUSTED_START_ANGLE - $angle}deg);\n`;\n\nexport const HelperTextWrapper = styled.div`\n position: absolute;\n top: 0;\n transform: translateY(${GAME_LAUNCHER_SIZE + 25}px);\n`;\n\nexport const HelperTextPrimary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease-in-out ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const HelperTextSecondary = styled(Text)`\n animation: ${keyframes`from{transform: translateY(-6px)} to{transform: translateY(0)}`} 0.133s\n ease ${TARGET_HELPER_TEXT_APPEAR_DELAY}s forwards;\n`;\n\nexport const TargetAchievedTextLottie = styled.div`\n height: 100%;\n width: 100%;\n`;\n\nexport const RainboxColorText = styled(Text)<{ $isTargetAchieved: boolean }>`\n animation: ${({ $isTargetAchieved }) => ($isTargetAchieved ? rainbowColorAnimation : 'unset')}\n ${RAINBOW_COLOR_ANIMATION_DURATION}s ease infinite forwards;\n`;\n"],"names":["DigitalMeter","styled","GAME_LAUNCHER_SIZE","theme","$isTargetAchieved","keyframes","ContentContainer","CONTENT_CONTAINER_Z_INDEX","NumberCountContainer","LineMarking","$angle","LINE_MARKING_Z_INDEX","MarkingContainer","ADJUSTED_START_ANGLE","NUMBER_MARKING_Z_INDEX","MarkingText","HelperTextWrapper","HelperTextPrimary","Text","TARGET_HELPER_TEXT_APPEAR_DELAY","HelperTextSecondary","TargetAchievedTextLottie","RainboxColorText","rainbowColorAnimation","RAINBOW_COLOR_ANIMATION_DURATION"],"mappings":";;;;;;AAcO,MAAMA,IAAeC,EAAO;AAAA,YACvBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA,sBACP,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMnC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,eACxC,CAAC,EAAE,mBAAAC,QACZA,IAAoBC,kCAA0C,OAAO;AAAA;AAAA,GAI9DC,IAAmBL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAK1BM,CAAyB;AAAA;AAAA;AAAA;AAAA,sBAIhB,CAAC,EAAE,OAAAJ,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,GAG5CK,IAAuBP,EAAO;AAAA;AAAA;AAAA;AAAA;AAMfA,EAAO;AAAA;AAAA;AAI5B,MAAMQ,IAAcR,EAAO;AAAA,WAGvBC,IAAqB,CAAC;AAAA;AAAA;AAAA,sBAGX,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA,sBAInC,CAAC,EAAE,QAAAO,EAAO,MAAM,OAAOA,CAAM;AAAA,UACzCR,IAAqB,CAAC;AAAA,SACvBA,IAAqB,CAAC;AAAA,aAClBS,CAAoB;AAAA,GAGpBC,IAAmBX,EAAO;AAAA;AAAA,YAE3BC,IAAqB,EAAE;AAAA,sBACb,CAAC,EAAE,QAAAQ,EAAA,MAAa,CAACG,IAAuBH,CAAM;AAAA,aACvDI,CAAsB;AAAA,GAGtBC,IAAcd,EAAO;AAAA,sBACZ,CAAC,EAAE,QAAAS,QAAaG,IAAuBH,CAAM;AAAA,GAGtDM,IAAoBf,EAAO;AAAA;AAAA;AAAA,0BAGdC,IAAqB,EAAE;AAAA,GAGpCe,IAAoBhB,EAAOiB,CAAI;AAAA,eAC7Bb,iEAAyE;AAAA,kBACtEc,CAA+B;AAAA,GAGpCC,IAAsBnB,EAAOiB,CAAI;AAAA,eAC/Bb,iEAAyE;AAAA,WAC7Ec,CAA+B;AAAA,GAG7BE,IAA2BpB,EAAO;AAAA;AAAA;AAAA,GAKlCqB,IAAmBrB,EAAOiB,CAAI;AAAA,eAC5B,CAAC,EAAE,mBAAAd,EAAA,MAAyBA,IAAoBmB,IAAwB,OAAQ;AAAA,MACzFC,CAAgC;AAAA;"}
@@ -0,0 +1,163 @@
1
+ import { jsxs as o, jsx as e, Fragment as T } from "react/jsx-runtime";
2
+ import b from "lottie-web";
3
+ import { memo as G, useState as O, useRef as W, useEffect as R } from "react";
4
+ import { LOTTIE as y } from "../../../assets/lottie/lottie.js";
5
+ import { GAME_LAUNCHER_SIZE as h } from "../../circle-games/game-launcher/comps/card-container/constants.js";
6
+ import E from "../../ui/layout/flex-view.js";
7
+ import M from "../../ui/separator/separator.js";
8
+ import L from "../../ui/text/text.js";
9
+ import { NumberCountAnimation as F } from "../number-count-animation/number-count-animation.js";
10
+ import { AnimatedArc as f } from "./comp/animated-arc/animated-arc.js";
11
+ import { TARGET_ACHIEVED_DELAY as w, TOTAL_ANIMATION_DURATION as B, TOTAL_ARC_AVAILABLE as l, BORDER_OFFSET as _, PROGRESS_FILL_DURATION as m, PROGRESS_FILL_DELAY as $ } from "./constants.js";
12
+ import { DigitalMeter as P, ContentContainer as U, NumberCountContainer as j, RainboxColorText as g, LineMarking as C, MarkingContainer as D, MarkingText as u, HelperTextWrapper as Y, TargetAchievedTextLottie as K, HelperTextPrimary as X, HelperTextSecondary as Z } from "./digital-meter-styled.js";
13
+ const q = () => import(y.TARGET_ACHIEVED_TEXT), cr = G(
14
+ ({
15
+ show: s,
16
+ value: a,
17
+ maxValue: i,
18
+ targetValue: c,
19
+ displayText: H,
20
+ progressType: A,
21
+ helperTextPrimary: N,
22
+ helperTextSecondary: S,
23
+ onComplete: p
24
+ }) => {
25
+ const [n, k] = O(!1), I = W(null);
26
+ return R(() => {
27
+ let t, r;
28
+ return s && (t = setTimeout(() => {
29
+ a >= c && k(!0);
30
+ }, w * 1e3), r = setTimeout(() => {
31
+ p();
32
+ }, B * 1e3)), () => {
33
+ t && clearTimeout(t), r && clearTimeout(r);
34
+ };
35
+ }, [s, a, c, p]), R(() => {
36
+ n && (async () => {
37
+ const { default: r } = await q();
38
+ r && b.loadAnimation({
39
+ container: I.current,
40
+ renderer: "svg",
41
+ loop: !0,
42
+ autoplay: !0,
43
+ animationData: r
44
+ });
45
+ })();
46
+ }, [n]), s ? /* @__PURE__ */ o(P, { $isTargetAchieved: n, children: [
47
+ /* @__PURE__ */ e(
48
+ f,
49
+ {
50
+ targetAngle: l,
51
+ strokeWidth: 16,
52
+ color: "BLACK_5",
53
+ radius: (h - _) / 2,
54
+ duration: 0
55
+ }
56
+ ),
57
+ /* @__PURE__ */ e(U, { children: /* @__PURE__ */ o(E, { $flexDirection: "column", $alignItems: "center", children: [
58
+ /* @__PURE__ */ o(E, { $flexDirection: "row", $alignItems: "flex-end", children: [
59
+ /* @__PURE__ */ e(j, { children: /* @__PURE__ */ e(
60
+ g,
61
+ {
62
+ $renderAs: "ah1",
63
+ $color: "GREEN_4",
64
+ $isTargetAchieved: n,
65
+ children: /* @__PURE__ */ e(
66
+ F,
67
+ {
68
+ initialValue: 0,
69
+ targetValue: a,
70
+ durationInSec: m,
71
+ delayInSec: $
72
+ }
73
+ )
74
+ }
75
+ ) }),
76
+ A === "stepper" && /* @__PURE__ */ o(L, { $renderAs: "ac2", $color: "WHITE", children: [
77
+ "/",
78
+ i
79
+ ] })
80
+ ] }),
81
+ /* @__PURE__ */ e(M, { height: 8 }),
82
+ /* @__PURE__ */ e(L, { $renderAs: "ac4-black", $color: "WHITE_T_60", children: H })
83
+ ] }) }),
84
+ A === "stepper" && Array.from({ length: a }, (t, r) => {
85
+ const d = l / i;
86
+ return /* @__PURE__ */ e(
87
+ f,
88
+ {
89
+ startAngle: d * r,
90
+ targetAngle: d,
91
+ strokeWidth: 12,
92
+ color: "GREEN_4",
93
+ radius: (h - _) / 2,
94
+ mode: "fade",
95
+ duration: m / i,
96
+ delay: $ + m / i * r,
97
+ playRainbowColors: n
98
+ },
99
+ r
100
+ );
101
+ }),
102
+ A === "stepper" && Array.from({ length: i + 1 }, (t, r) => {
103
+ const d = l / i;
104
+ return /* @__PURE__ */ o(T, { children: [
105
+ /* @__PURE__ */ e(C, { $angle: d * r }, r + "linemarking"),
106
+ /* @__PURE__ */ e(D, { $angle: d * r, children: /* @__PURE__ */ e(u, { $angle: d * r, children: /* @__PURE__ */ e(
107
+ g,
108
+ {
109
+ $renderAs: "ac4-black",
110
+ $isTargetAchieved: r === c && n,
111
+ $color: r === c ? "GREEN_4" : "WHITE_T_60",
112
+ children: r
113
+ }
114
+ ) }) }, r)
115
+ ] });
116
+ }),
117
+ A === "linear" && /* @__PURE__ */ o(T, { children: [
118
+ /* @__PURE__ */ e(
119
+ f,
120
+ {
121
+ targetAngle: a * l / i,
122
+ strokeWidth: 12,
123
+ color: "GREEN_4",
124
+ radius: (h - _) / 2,
125
+ duration: m,
126
+ delay: $,
127
+ playRainbowColors: n
128
+ }
129
+ ),
130
+ /* @__PURE__ */ o(T, { children: [
131
+ /* @__PURE__ */ e(C, { $angle: c * l / i }),
132
+ Array.from(/* @__PURE__ */ new Set([0, c, i])).map((t, r) => /* @__PURE__ */ e(
133
+ D,
134
+ {
135
+ $angle: t * l / i,
136
+ children: /* @__PURE__ */ e(u, { $angle: t * l / i, children: /* @__PURE__ */ e(
137
+ g,
138
+ {
139
+ $renderAs: "ac4-black",
140
+ $color: t === c ? "GREEN_4" : "WHITE_T_60",
141
+ $isTargetAchieved: a >= t && n && t === c,
142
+ children: t
143
+ }
144
+ ) })
145
+ },
146
+ r
147
+ ))
148
+ ] })
149
+ ] }),
150
+ /* @__PURE__ */ o(Y, { children: [
151
+ n && /* @__PURE__ */ e(K, { ref: I }),
152
+ !n && /* @__PURE__ */ o(E, { $flexDirection: "column", $alignItems: "center", children: [
153
+ /* @__PURE__ */ e(X, { $renderAs: "ac4-black", $color: "WHITE_T_60", children: N }),
154
+ /* @__PURE__ */ e(Z, { $renderAs: "ab1", $color: "WHITE", children: S })
155
+ ] })
156
+ ] })
157
+ ] }) : null;
158
+ }
159
+ );
160
+ export {
161
+ cr as DigitalMeter
162
+ };
163
+ //# sourceMappingURL=digital-meter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital-meter.js","sources":["../../../../src/features/post-game-stats/digital-meter/digital-meter.tsx"],"sourcesContent":["import type { IDigitalMeterProps } from './digital-meter-types';\nimport type { FC } from 'react';\n\nimport Lottie from 'lottie-web';\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { NumberCountAnimation } from '../number-count-animation/number-count-animation';\nimport { AnimatedArc } from './comp/animated-arc/animated-arc';\nimport {\n BORDER_OFFSET,\n PROGRESS_FILL_DELAY,\n PROGRESS_FILL_DURATION,\n TARGET_ACHIEVED_DELAY,\n TOTAL_ANIMATION_DURATION,\n TOTAL_ARC_AVAILABLE,\n} from './constants';\nimport * as Styled from './digital-meter-styled';\n\nconst taregetAchieved = () => import(LOTTIE.TARGET_ACHIEVED_TEXT);\n\nexport const DigitalMeter: FC<IDigitalMeterProps> = memo(\n ({\n show,\n value,\n maxValue,\n targetValue,\n displayText,\n progressType,\n helperTextPrimary,\n helperTextSecondary,\n onComplete,\n }) => {\n const [isTargetAchieved, setIsTargetAchieved] = useState(false);\n const targetAchievedLottieContainerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout>;\n let timerForAnimationComplete: ReturnType<typeof setTimeout>;\n\n if (show) {\n timer = setTimeout(() => {\n if (value >= targetValue) {\n setIsTargetAchieved(true);\n }\n }, TARGET_ACHIEVED_DELAY * 1000);\n\n timerForAnimationComplete = setTimeout(() => {\n onComplete();\n }, TOTAL_ANIMATION_DURATION * 1000);\n }\n\n return () => {\n timer && clearTimeout(timer);\n timerForAnimationComplete && clearTimeout(timerForAnimationComplete);\n };\n }, [show, value, targetValue, onComplete]);\n\n useEffect(() => {\n if (isTargetAchieved) {\n const loadAnimation = async () => {\n const { default: lottie } = await taregetAchieved();\n\n if (lottie) {\n Lottie.loadAnimation({\n container: targetAchievedLottieContainerRef.current as HTMLDivElement,\n renderer: 'svg',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n }\n };\n\n loadAnimation();\n }\n }, [isTargetAchieved]);\n\n if (show) {\n return (\n <Styled.DigitalMeter $isTargetAchieved={isTargetAchieved}>\n {/* complete arc area to be filled */}\n <AnimatedArc\n targetAngle={TOTAL_ARC_AVAILABLE}\n strokeWidth={16}\n color=\"BLACK_5\"\n radius={(GAME_LAUNCHER_SIZE - BORDER_OFFSET) / 2}\n duration={0}\n />\n\n {/* center area for the content */}\n <Styled.ContentContainer>\n <FlexView $flexDirection=\"column\" $alignItems=\"center\">\n <FlexView $flexDirection=\"row\" $alignItems=\"flex-end\">\n <Styled.NumberCountContainer>\n <Styled.RainboxColorText\n $renderAs=\"ah1\"\n $color=\"GREEN_4\"\n $isTargetAchieved={isTargetAchieved}\n >\n <NumberCountAnimation\n initialValue={0}\n targetValue={value}\n durationInSec={PROGRESS_FILL_DURATION}\n delayInSec={PROGRESS_FILL_DELAY}\n />\n </Styled.RainboxColorText>\n </Styled.NumberCountContainer>\n {progressType === 'stepper' && (\n <Text $renderAs=\"ac2\" $color=\"WHITE\">\n /{maxValue}\n </Text>\n )}\n </FlexView>\n <Separator height={8} />\n <Text $renderAs=\"ac4-black\" $color=\"WHITE_T_60\">\n {displayText}\n </Text>\n </FlexView>\n </Styled.ContentContainer>\n\n {/* stepper animation */}\n {progressType === 'stepper' &&\n Array.from({ length: value }, (_, index) => {\n const arcLength = TOTAL_ARC_AVAILABLE / maxValue;\n\n return (\n <AnimatedArc\n key={index}\n startAngle={arcLength * index}\n targetAngle={arcLength}\n strokeWidth={12}\n color=\"GREEN_4\"\n radius={(GAME_LAUNCHER_SIZE - BORDER_OFFSET) / 2}\n mode=\"fade\"\n duration={PROGRESS_FILL_DURATION / maxValue}\n delay={PROGRESS_FILL_DELAY + (PROGRESS_FILL_DURATION / maxValue) * index}\n playRainbowColors={isTargetAchieved}\n />\n );\n })}\n\n {/* numbers with markings */}\n {progressType === 'stepper' &&\n Array.from({ length: maxValue + 1 }, (_, index) => {\n const arcLength = TOTAL_ARC_AVAILABLE / maxValue;\n\n return (\n <>\n <Styled.LineMarking key={index + 'linemarking'} $angle={arcLength * index} />\n\n <Styled.MarkingContainer key={index} $angle={arcLength * index}>\n <Styled.MarkingText $angle={arcLength * index}>\n <Styled.RainboxColorText\n $renderAs=\"ac4-black\"\n $isTargetAchieved={index === targetValue && isTargetAchieved}\n $color={index === targetValue ? 'GREEN_4' : 'WHITE_T_60'}\n >\n {index}\n </Styled.RainboxColorText>\n </Styled.MarkingText>\n </Styled.MarkingContainer>\n </>\n );\n })}\n\n {/* progress of linear */}\n {progressType === 'linear' && (\n <>\n <AnimatedArc\n targetAngle={(value * TOTAL_ARC_AVAILABLE) / maxValue}\n strokeWidth={12}\n color=\"GREEN_4\"\n radius={(GAME_LAUNCHER_SIZE - BORDER_OFFSET) / 2}\n duration={PROGRESS_FILL_DURATION}\n delay={PROGRESS_FILL_DELAY}\n playRainbowColors={isTargetAchieved}\n />\n <>\n {/* target line marking */}\n <Styled.LineMarking $angle={(targetValue * TOTAL_ARC_AVAILABLE) / maxValue} />\n\n {/* all markings */}\n {Array.from(new Set([0, targetValue, maxValue])).map((val, index) => (\n <Styled.MarkingContainer\n key={index}\n $angle={(val * TOTAL_ARC_AVAILABLE) / maxValue}\n >\n <Styled.MarkingText $angle={(val * TOTAL_ARC_AVAILABLE) / maxValue}>\n <Styled.RainboxColorText\n $renderAs=\"ac4-black\"\n $color={val === targetValue ? 'GREEN_4' : 'WHITE_T_60'}\n $isTargetAchieved={value >= val && isTargetAchieved && val === targetValue}\n >\n {val}\n </Styled.RainboxColorText>\n </Styled.MarkingText>\n </Styled.MarkingContainer>\n ))}\n </>\n </>\n )}\n\n {/* helper text below the animation */}\n <Styled.HelperTextWrapper>\n {isTargetAchieved && (\n <Styled.TargetAchievedTextLottie ref={targetAchievedLottieContainerRef} />\n )}\n {!isTargetAchieved && (\n <FlexView $flexDirection=\"column\" $alignItems=\"center\">\n <Styled.HelperTextPrimary $renderAs=\"ac4-black\" $color=\"WHITE_T_60\">\n {helperTextPrimary}\n </Styled.HelperTextPrimary>\n <Styled.HelperTextSecondary $renderAs=\"ab1\" $color=\"WHITE\">\n {helperTextSecondary}\n </Styled.HelperTextSecondary>\n </FlexView>\n )}\n </Styled.HelperTextWrapper>\n </Styled.DigitalMeter>\n );\n }\n\n return null;\n },\n);\n"],"names":["taregetAchieved","LOTTIE","DigitalMeter","memo","show","value","maxValue","targetValue","displayText","progressType","helperTextPrimary","helperTextSecondary","onComplete","isTargetAchieved","setIsTargetAchieved","useState","targetAchievedLottieContainerRef","useRef","useEffect","timer","timerForAnimationComplete","TARGET_ACHIEVED_DELAY","TOTAL_ANIMATION_DURATION","lottie","Lottie","jsxs","Styled.DigitalMeter","jsx","AnimatedArc","TOTAL_ARC_AVAILABLE","GAME_LAUNCHER_SIZE","BORDER_OFFSET","Styled.ContentContainer","FlexView","Styled.NumberCountContainer","Styled.RainboxColorText","NumberCountAnimation","PROGRESS_FILL_DURATION","PROGRESS_FILL_DELAY","Text","Separator","_","index","arcLength","Fragment","Styled.LineMarking","Styled.MarkingContainer","Styled.MarkingText","val","Styled.HelperTextWrapper","Styled.TargetAchievedTextLottie","Styled.HelperTextPrimary","Styled.HelperTextSecondary"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { keyframes as C } from "styled-components";
2
+ const a = (r, F, o, n) => {
3
+ const t = (n - 90) * (Math.PI / 180);
4
+ return {
5
+ x: r + o * Math.cos(t),
6
+ y: F + o * Math.sin(t)
7
+ };
8
+ }, $ = (r, F, o, n, t) => {
9
+ const e = n + t, s = a(r, F, o, n), c = a(r, F, o, e), l = t > 180 ? 1 : 0;
10
+ return `M ${s.x} ${s.y} A ${o} ${o} 0 ${l} 1 ${c.x} ${c.y}`;
11
+ }, k = C`
12
+ 0% {
13
+ stroke: #FFB700;
14
+ color: #FFB700;
15
+ }
16
+ 33% {
17
+ stroke: #FF884C;
18
+ color: #FF884C;
19
+ }
20
+ 66% {
21
+ stroke: #FF80F4;
22
+ color: #FF80F4;
23
+ }
24
+ 100% {
25
+ stroke: #33CCFF;
26
+ color: #33CCFF;
27
+ }
28
+ `;
29
+ export {
30
+ $ as describeArc,
31
+ k as rainbowColorAnimation
32
+ };
33
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sources":["../../../../src/features/post-game-stats/digital-meter/helper.ts"],"sourcesContent":["import { keyframes } from 'styled-components';\n\nconst polarToCartesian = (cx: number, cy: number, r: number, angleDeg: number) => {\n const angleRad = (angleDeg - 90) * (Math.PI / 180);\n\n return {\n x: cx + r * Math.cos(angleRad),\n y: cy + r * Math.sin(angleRad),\n };\n};\n\nexport const describeArc = (\n cx: number,\n cy: number,\n r: number,\n startAngle: number,\n sweepAngle: number,\n) => {\n const endAngle = startAngle + sweepAngle;\n const start = polarToCartesian(cx, cy, r, startAngle);\n const end = polarToCartesian(cx, cy, r, endAngle);\n const largeArcFlag = sweepAngle > 180 ? 1 : 0;\n\n return `M ${start.x} ${start.y} A ${r} ${r} 0 ${largeArcFlag} 1 ${end.x} ${end.y}`;\n};\n\nexport const rainbowColorAnimation = keyframes`\n 0% {\n stroke: #FFB700;\n color: #FFB700;\n }\n 33% {\n stroke: #FF884C;\n color: #FF884C;\n }\n 66% {\n stroke: #FF80F4;\n color: #FF80F4;\n }\n 100% {\n stroke: #33CCFF;\n color: #33CCFF;\n }\n`;\n"],"names":["polarToCartesian","cx","cy","r","angleDeg","angleRad","describeArc","startAngle","sweepAngle","endAngle","start","end","largeArcFlag","rainbowColorAnimation","keyframes"],"mappings":";AAEA,MAAMA,IAAmB,CAACC,GAAYC,GAAYC,GAAWC,MAAqB;AAChF,QAAMC,KAAYD,IAAW,OAAO,KAAK,KAAK;AAEvC,SAAA;AAAA,IACL,GAAGH,IAAKE,IAAI,KAAK,IAAIE,CAAQ;AAAA,IAC7B,GAAGH,IAAKC,IAAI,KAAK,IAAIE,CAAQ;AAAA,EAAA;AAEjC,GAEaC,IAAc,CACzBL,GACAC,GACAC,GACAI,GACAC,MACG;AACH,QAAMC,IAAWF,IAAaC,GACxBE,IAAQV,EAAiBC,GAAIC,GAAIC,GAAGI,CAAU,GAC9CI,IAAMX,EAAiBC,GAAIC,GAAIC,GAAGM,CAAQ,GAC1CG,IAAeJ,IAAa,MAAM,IAAI;AAE5C,SAAO,KAAKE,EAAM,CAAC,IAAIA,EAAM,CAAC,MAAMP,CAAC,IAAIA,CAAC,MAAMS,CAAY,MAAMD,EAAI,CAAC,IAAIA,EAAI,CAAC;AAClF,GAEaE,IAAwBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,29 @@
1
+ import e from "styled-components";
2
+ const r = e.div`
3
+ @property --num {
4
+ syntax: '<integer>';
5
+ initial-value: ${({ $initialValue: n }) => n};
6
+ inherits: false;
7
+ }
8
+
9
+ counter-set: num var(--num);
10
+ animation: changeNum ${({ $durationInSec: n = 0 }) => n}s linear
11
+ ${({ $delayInSec: n = 0 }) => n}s forwards;
12
+
13
+ &::after {
14
+ content: counter(num);
15
+ }
16
+
17
+ @keyframes changeNum {
18
+ from {
19
+ --num: ${({ $initialValue: n }) => n};
20
+ }
21
+ to {
22
+ --num: ${({ $targetValue: n }) => n};
23
+ }
24
+ }
25
+ `;
26
+ export {
27
+ r as AnimatedNumberCount
28
+ };
29
+ //# sourceMappingURL=number-count-animation-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-count-animation-styled.js","sources":["../../../../src/features/post-game-stats/number-count-animation/number-count-animation-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const AnimatedNumberCount = styled.div<{\n $initialValue: number;\n $targetValue: number;\n $durationInSec?: number;\n $delayInSec?: number;\n}>`\n @property --num {\n syntax: '<integer>';\n initial-value: ${({ $initialValue }) => $initialValue};\n inherits: false;\n }\n\n counter-set: num var(--num);\n animation: changeNum ${({ $durationInSec = 0 }) => $durationInSec}s linear\n ${({ $delayInSec = 0 }) => $delayInSec}s forwards;\n\n &::after {\n content: counter(num);\n }\n\n @keyframes changeNum {\n from {\n --num: ${({ $initialValue }) => $initialValue};\n }\n to {\n --num: ${({ $targetValue }) => $targetValue};\n }\n }\n`;\n"],"names":["AnimatedNumberCount","styled","$initialValue","$durationInSec","$delayInSec","$targetValue"],"mappings":";AAEO,MAAMA,IAAsBC,EAAO;AAAA;AAAA;AAAA,qBAQrB,CAAC,EAAE,eAAAC,EAAc,MAAMA,CAAa;AAAA;AAAA;AAAA;AAAA;AAAA,yBAKhC,CAAC,EAAE,gBAAAC,IAAiB,EAAA,MAAQA,CAAc;AAAA,MAC7D,CAAC,EAAE,aAAAC,IAAc,EAAA,MAAQA,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAQ3B,CAAC,EAAE,eAAAF,EAAc,MAAMA,CAAa;AAAA;AAAA;AAAA,eAGpC,CAAC,EAAE,cAAAG,EAAa,MAAMA,CAAY;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,20 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { AnimatedNumberCount as i } from "./number-count-animation-styled.js";
3
+ const u = ({
4
+ initialValue: t,
5
+ targetValue: e,
6
+ durationInSec: n,
7
+ delayInSec: r
8
+ }) => /* @__PURE__ */ o(
9
+ i,
10
+ {
11
+ $initialValue: t,
12
+ $targetValue: e,
13
+ $durationInSec: n,
14
+ $delayInSec: r
15
+ }
16
+ );
17
+ export {
18
+ u as NumberCountAnimation
19
+ };
20
+ //# sourceMappingURL=number-count-animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-count-animation.js","sources":["../../../../src/features/post-game-stats/number-count-animation/number-count-animation.tsx"],"sourcesContent":["import type { INumberCountAnimationProps } from './number-count-animation-types';\nimport type { FC } from 'react';\n\nimport * as Styled from './number-count-animation-styled';\n\nexport const NumberCountAnimation: FC<INumberCountAnimationProps> = ({\n initialValue,\n targetValue,\n durationInSec,\n delayInSec,\n}) => {\n return (\n <Styled.AnimatedNumberCount\n $initialValue={initialValue}\n $targetValue={targetValue}\n $durationInSec={durationInSec}\n $delayInSec={delayInSec}\n />\n );\n};\n"],"names":["NumberCountAnimation","initialValue","targetValue","durationInSec","delayInSec","jsx","Styled.AnimatedNumberCount"],"mappings":";;AAKO,MAAMA,IAAuD,CAAC;AAAA,EACnE,cAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AACF,MAEI,gBAAAC;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,eAAeL;AAAA,IACf,cAAcC;AAAA,IACd,gBAAgBC;AAAA,IAChB,aAAaC;AAAA,EAAA;AAAA;"}
@@ -1,48 +1,49 @@
1
1
  import { jsx as N } from "react/jsx-runtime";
2
2
  import { memo as P, useEffect as T } from "react";
3
- import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
4
- import { GAME_LAUNCHER_SIZE as a, GAME_LAUNCHER_ASSET_PADDING as O, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
5
- import { useCircleSounds as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
6
- import { CircleSoundKey as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
3
+ import { LOTTIE as o } from "../../../assets/lottie/lottie.js";
4
+ import { GAME_LAUNCHER_SIZE as a } from "../../circle-games/game-launcher/comps/card-container/constants.js";
5
+ import { GAME_LAUNCHER_ASSET_PADDING as O, GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH as c } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
6
+ import { useCircleSounds as f } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds.js";
7
+ import { CircleSoundKey as E } from "../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums.js";
7
8
  import A from "../../ui/lottie-animation/lottie-animation.js";
8
9
  const _ = {
9
- point1: t.POINT1,
10
- point5: t.POINT5,
11
- point10: t.POINT10,
12
- point15: t.POINT15,
13
- point20: t.POINT20,
14
- point25: t.POINT25,
15
- point30: t.POINT30,
16
- point35: t.POINT35,
17
- point40: t.POINT40,
18
- point45: t.POINT45,
19
- point50: t.POINT50,
20
- point60: t.POINT60,
21
- point100: t.POINT100
10
+ point1: o.POINT1,
11
+ point5: o.POINT5,
12
+ point10: o.POINT10,
13
+ point15: o.POINT15,
14
+ point20: o.POINT20,
15
+ point25: o.POINT25,
16
+ point30: o.POINT30,
17
+ point35: o.POINT35,
18
+ point40: o.POINT40,
19
+ point45: o.POINT45,
20
+ point50: o.POINT50,
21
+ point60: o.POINT60,
22
+ point100: o.POINT100
22
23
  }, r = a + O - c, l = {
23
24
  loop: !1,
24
25
  autoplay: !0,
25
26
  renderer: "canvas"
26
- }, d = P((p) => {
27
- const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } = E(), o = _[`point${m}`], I = {
27
+ }, h = P((p) => {
28
+ const { point: m = 0, onReveal: n, onComplete: i, show: e } = p, { play: s } = f(), t = _[`point${m}`], I = {
28
29
  name: "complete",
29
30
  callback: i
30
31
  };
31
32
  return T(() => {
32
- o || i(), e && o && (n == null || n());
33
- }, [o, i, n, e]), e && o ? /* @__PURE__ */ N(
33
+ t || i(), e && t && (n == null || n());
34
+ }, [t, i, n, e]), e && t ? /* @__PURE__ */ N(
34
35
  A,
35
36
  {
36
37
  width: r,
37
38
  height: r,
38
- src: o,
39
+ src: t,
39
40
  settings: l,
40
41
  eventListener: I,
41
- onRender: () => s(f.POINTS_AWARDED)
42
+ onRender: () => s(E.POINTS_AWARDED)
42
43
  }
43
44
  ) : null;
44
45
  });
45
46
  export {
46
- d as Points
47
+ h as Points
47
48
  };
48
49
  //# sourceMappingURL=points.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) onComplete();\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AASZ,SANAM,EAAU,MAAM;AACV,IAACF,KAA0BJ,KAE3BC,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
1
+ {"version":3,"file":"points.js","sources":["../../../../src/features/post-game-stats/points/points.tsx"],"sourcesContent":["import type { IPointsProps } from './points-types';\nimport type { AnimationEventName } from 'lottie-web';\nimport type { FC } from 'react';\n\nimport { memo, useEffect } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport { useCircleSounds } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds';\nimport { CircleSoundKey } from '../../circle-games/hooks/use-circle-sounds/use-circle-sounds-enums';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\n\nconst POINTS_MAP: Record<string, string> = {\n point1: LOTTIE.POINT1,\n point5: LOTTIE.POINT5,\n point10: LOTTIE.POINT10,\n point15: LOTTIE.POINT15,\n point20: LOTTIE.POINT20,\n point25: LOTTIE.POINT25,\n point30: LOTTIE.POINT30,\n point35: LOTTIE.POINT35,\n point40: LOTTIE.POINT40,\n point45: LOTTIE.POINT45,\n point50: LOTTIE.POINT50,\n point60: LOTTIE.POINT60,\n point100: LOTTIE.POINT100,\n};\nconst animationDimension =\n GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING - GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH;\nconst animationSettings = {\n loop: false,\n autoplay: true,\n renderer: 'canvas',\n};\n\nexport const Points: FC<IPointsProps> = memo(props => {\n const { point = 0, onReveal, onComplete, show } = props;\n\n const { play } = useCircleSounds();\n\n const animationPath = POINTS_MAP[`point${point}`];\n const animationEventListener = {\n name: 'complete' as AnimationEventName,\n callback: onComplete,\n };\n\n useEffect(() => {\n if (!animationPath) onComplete();\n\n if (show && animationPath) onReveal?.();\n }, [animationPath, onComplete, onReveal, show]);\n\n if (show && animationPath) {\n return (\n <LottieAnimation\n width={animationDimension}\n height={animationDimension}\n src={animationPath}\n settings={animationSettings}\n eventListener={animationEventListener}\n onRender={() => play(CircleSoundKey.POINTS_AWARDED)}\n />\n );\n }\n\n return null;\n});\n"],"names":["POINTS_MAP","LOTTIE","animationDimension","GAME_LAUNCHER_SIZE","GAME_LAUNCHER_ASSET_PADDING","GAME_LAUNCHER_PROGRESS_RING_STROKE_WIDTH","animationSettings","Points","memo","props","point","onReveal","onComplete","show","play","useCircleSounds","animationPath","animationEventListener","useEffect","jsx","LottieAnimation","CircleSoundKey"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAqC;AAAA,EACzC,QAAQC,EAAO;AAAA,EACf,QAAQA,EAAO;AAAA,EACf,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,SAASA,EAAO;AAAA,EAChB,UAAUA,EAAO;AACnB,GACMC,IACJC,IAAqBC,IAA8BC,GAC/CC,IAAoB;AAAA,EACxB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AACZ,GAEaC,IAA2BC,EAAK,CAASC,MAAA;AACpD,QAAM,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAS,IAAAJ,GAE5C,EAAE,MAAAK,MAASC,KAEXC,IAAgBhB,EAAW,QAAQU,CAAK,EAAE,GAC1CO,IAAyB;AAAA,IAC7B,MAAM;AAAA,IACN,UAAUL;AAAA,EAAA;AASZ,SANAM,EAAU,MAAM;AACV,IAACF,KAA0BJ,KAE3BC,KAAQG,MAA0BL,KAAA,QAAAA;AAAA,KACrC,CAACK,GAAeJ,GAAYD,GAAUE,CAAI,CAAC,GAE1CA,KAAQG,IAER,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOlB;AAAA,MACP,QAAQA;AAAA,MACR,KAAKc;AAAA,MACL,UAAUV;AAAA,MACV,eAAeW;AAAA,MACf,UAAU,MAAMH,EAAKO,EAAe,cAAc;AAAA,IAAA;AAAA,EAAA,IAKjD;AACT,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import o from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/segmented-game-card/constants.js";
2
+ import { GAME_LAUNCHER_SIZE as t } from "../circle-games/game-launcher/comps/card-container/constants.js";
3
3
  const n = o.div`
4
4
  flex: 1;
5
5
  position: absolute;
@@ -1 +1 @@
1
- {"version":3,"file":"post-game-stats-styled.js","sources":["../../../src/features/post-game-stats/post-game-stats-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../circle-games/game-launcher/comps/segmented-game-card/constants';\n\nexport const StatsWrapper = styled.div`\n flex: 1;\n position: absolute;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 1000;\n background: transparent;\n width: 100%;\n height: 100%;\n display: flex;\n`;\n\nexport const BlackBg = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: ${({ theme }) => theme.colors.BLACK_1};\n border-radius: ${GAME_LAUNCHER_SIZE / 2}px;\n position: absolute;\n z-index: -1;\n`;\n"],"names":["StatsWrapper","styled","BlackBg","GAME_LAUNCHER_SIZE","theme"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBtBC,IAAUD,EAAO;AAAA,YAClBE,CAAkB;AAAA,WACnBA,CAAkB;AAAA,gBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,mBAChCD,IAAqB,CAAC;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"post-game-stats-styled.js","sources":["../../../src/features/post-game-stats/post-game-stats-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../circle-games/game-launcher/comps/card-container/constants';\n\nexport const StatsWrapper = styled.div`\n flex: 1;\n position: absolute;\n align-items: center;\n justify-content: center;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 1000;\n background: transparent;\n width: 100%;\n height: 100%;\n display: flex;\n`;\n\nexport const BlackBg = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: ${({ theme }) => theme.colors.BLACK_1};\n border-radius: ${GAME_LAUNCHER_SIZE / 2}px;\n position: absolute;\n z-index: -1;\n`;\n"],"names":["StatsWrapper","styled","BlackBg","GAME_LAUNCHER_SIZE","theme"],"mappings":";;AAIO,MAAMA,IAAeC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgBtBC,IAAUD,EAAO;AAAA,YAClBE,CAAkB;AAAA,WACnBA,CAAkB;AAAA,gBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,mBAChCD,IAAqB,CAAC;AAAA;AAAA;AAAA;"}
@@ -1,8 +1,9 @@
1
1
  import i, { keyframes as r, css as s } from "styled-components";
2
- import { GAME_LAUNCHER_SIZE as t, GAME_LAUNCHER_ASSET_PADDING as n } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
2
+ import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
+ import { GAME_LAUNCHER_ASSET_PADDING as n } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
3
4
  import c from "../../ui/text/text.js";
4
5
  import { STREAK_TOP_GREEN_SEGMENT_HEIGHT as o, STREAK_CONTAINER_TOP_OFFSET as x } from "./constants.js";
5
- const f = 50 * 84 / 100, p = r`
6
+ const m = 50 * 84 / 100, p = r`
6
7
  0%{
7
8
  opacity: 0;
8
9
  }
@@ -16,7 +17,7 @@ const f = 50 * 84 / 100, p = r`
16
17
  100%{
17
18
  opacity: 0;
18
19
  }
19
- `, g = i.div`
20
+ `, S = i.div`
20
21
  height: ${t}px;
21
22
  width: ${t}px;
22
23
  background: transparent;
@@ -24,18 +25,18 @@ const f = 50 * 84 / 100, p = r`
24
25
  justify-content: center;
25
26
  align-items: center;
26
27
  position: relative;
27
- `, S = i.div`
28
+ `, u = i.div`
28
29
  position: absolute;
29
30
  border-radius: ${Math.ceil((t + n) / 2)}px;
30
31
  height: ${t + n}px;
31
32
  width: ${t + n}px;
32
33
  z-index: 0;
33
- `, u = i.div`
34
+ `, y = i.div`
34
35
  height: ${t + n}px;
35
36
  width: ${t + n}px;
36
37
  position: absolute;
37
38
  z-index: 2;
38
- `, y = i.div`
39
+ `, _ = i.div`
39
40
  position: absolute;
40
41
  top: ${o}px;
41
42
  z-index: 2;
@@ -47,7 +48,7 @@ const f = 50 * 84 / 100, p = r`
47
48
  display: flex;
48
49
  flex-direction: column;
49
50
  align-items: center;
50
- `, _ = i.div`
51
+ `, A = i.div`
51
52
  width: 100%;
52
53
  display: flex;
53
54
  flex-direction: column;
@@ -55,7 +56,7 @@ const f = 50 * 84 / 100, p = r`
55
56
  height: ${(t - o) * 2}px;
56
57
  transition: ${({ $translateDuration: e }) => `all ${e}ms linear`};
57
58
  transform: ${({ $translate: e }) => e ? "translateY(-100%)" : "translateY(0%)"};
58
- `, A = i(c)`
59
+ `, T = i(c)`
59
60
  font-size: 123px;
60
61
  line-height: 123px;
61
62
  text-align: center;
@@ -64,21 +65,21 @@ const f = 50 * 84 / 100, p = r`
64
65
  display: flex;
65
66
  align-items: center;
66
67
  justify-content: center;
67
- `, T = i.div`
68
+ `, k = i.div`
68
69
  z-index: 2;
69
70
  opacity: 0;
70
71
  animation: ${({ $animationType: e, $duration: a, $delay: d }) => s`
71
72
  ${e === "fadein" ? p : l} ${a}ms ${d}ms ease forwards
72
73
  `};
73
- transform: translateY(${(t + f) * 84 / 200 + 25}px);
74
+ transform: translateY(${(t + m) * 84 / 200 + 25}px);
74
75
  `;
75
76
  export {
76
- S as SVGImgContainer,
77
- g as Streak,
78
- u as StreakLottieView,
79
- A as StreakValue,
80
- _ as StreakValueContainer,
81
- y as StreakValueWrapper,
82
- T as TextWrapper
77
+ u as SVGImgContainer,
78
+ S as Streak,
79
+ y as StreakLottieView,
80
+ T as StreakValue,
81
+ A as StreakValueContainer,
82
+ _ as StreakValueWrapper,
83
+ k as TextWrapper
83
84
  };
84
85
  //# sourceMappingURL=streak-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"streak-styled.js","sources":["../../../../src/features/post-game-stats/streak/streak-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {\n GAME_LAUNCHER_ASSET_PADDING,\n GAME_LAUNCHER_SIZE,\n} from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport Text from '../../ui/text/text';\nimport { STREAK_CONTAINER_TOP_OFFSET, STREAK_TOP_GREEN_SEGMENT_HEIGHT } from './constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Streak = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n`;\n\nexport const SVGImgContainer = styled.div`\n position: absolute;\n border-radius: ${Math.ceil((GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING) / 2)}px;\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n z-index: 0;\n`;\n\nexport const StreakLottieView = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n`;\n\nexport const StreakValueWrapper = styled.div<{\n $duration: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n position: absolute;\n top: ${STREAK_TOP_GREEN_SEGMENT_HEIGHT}px;\n z-index: 2;\n height: ${GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT - STREAK_CONTAINER_TOP_OFFSET}px;\n animation: ${({ $animationType, $duration }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards\n `};\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const StreakValueContainer = styled.div<{\n $translate: boolean;\n $translateDuration: number;\n}>`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: ${(GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT) * 2}px;\n transition: ${({ $translateDuration }) => `all ${$translateDuration}ms linear`};\n transform: ${({ $translate }) => ($translate ? 'translateY(-100%)' : 'translateY(0%)')};\n`;\n\nexport const StreakValue = styled(Text)`\n font-size: 123px;\n line-height: 123px;\n text-align: center;\n height: 100%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Streak","styled","GAME_LAUNCHER_SIZE","SVGImgContainer","GAME_LAUNCHER_ASSET_PADDING","StreakLottieView","StreakValueWrapper","STREAK_TOP_GREEN_SEGMENT_HEIGHT","STREAK_CONTAINER_TOP_OFFSET","$animationType","$duration","css","StreakValueContainer","$translateDuration","$translate","StreakValue","Text","TextWrapper","$delay"],"mappings":";;;;AASA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAASC,EAAO;AAAA,YACjBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAkBF,EAAO;AAAA;AAAA,mBAEnB,KAAK,MAAMC,IAAqBE,KAA+B,CAAC,CAAC;AAAA,YACxEF,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA,GAI9CC,IAAmBJ,EAAO;AAAA,YAC3BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAqBL,EAAO;AAAA;AAAA,SAKhCM,CAA+B;AAAA;AAAA,YAE5BL,IAAqBK,IAAkCC,CAA2B;AAAA,eAC/E,CAAC,EAAE,gBAAAC,GAAgB,WAAAC,EAAA,MAAgBC;AAAA,MAC5CF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS;AAAA,GAC9D;AAAA;AAAA;AAAA;AAAA;AAAA,GAOUE,IAAuBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAQ9BC,IAAqBK,KAAmC,CAAC;AAAA,gBACtD,CAAC,EAAE,oBAAAM,EAAyB,MAAA,OAAOA,CAAkB,WAAW;AAAA,eACjE,CAAC,EAAE,YAAAC,EAAA,MAAkBA,IAAa,sBAAsB,gBAAiB;AAAA,GAG3EC,IAAcd,EAAOe,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWzBC,IAAchB,EAAO;AAAA;AAAA;AAAA,eAOnB,CAAC,EAAE,gBAAAQ,GAAgB,WAAAC,GAAW,QAAAQ,QAAaP;AAAA,MACpDF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS,MAAMQ,CAAM;AAAA,GAC1E;AAAA,2BACyBhB,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
1
+ {"version":3,"file":"streak-styled.js","sources":["../../../../src/features/post-game-stats/streak/streak-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport Text from '../../ui/text/text';\nimport { STREAK_CONTAINER_TOP_OFFSET, STREAK_TOP_GREEN_SEGMENT_HEIGHT } from './constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Streak = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n`;\n\nexport const SVGImgContainer = styled.div`\n position: absolute;\n border-radius: ${Math.ceil((GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING) / 2)}px;\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n z-index: 0;\n`;\n\nexport const StreakLottieView = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n z-index: 2;\n`;\n\nexport const StreakValueWrapper = styled.div<{\n $duration: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n position: absolute;\n top: ${STREAK_TOP_GREEN_SEGMENT_HEIGHT}px;\n z-index: 2;\n height: ${GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT - STREAK_CONTAINER_TOP_OFFSET}px;\n animation: ${({ $animationType, $duration }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards\n `};\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const StreakValueContainer = styled.div<{\n $translate: boolean;\n $translateDuration: number;\n}>`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: ${(GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT) * 2}px;\n transition: ${({ $translateDuration }) => `all ${$translateDuration}ms linear`};\n transform: ${({ $translate }) => ($translate ? 'translateY(-100%)' : 'translateY(0%)')};\n`;\n\nexport const StreakValue = styled(Text)`\n font-size: 123px;\n line-height: 123px;\n text-align: center;\n height: 100%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Streak","styled","GAME_LAUNCHER_SIZE","SVGImgContainer","GAME_LAUNCHER_ASSET_PADDING","StreakLottieView","StreakValueWrapper","STREAK_TOP_GREEN_SEGMENT_HEIGHT","STREAK_CONTAINER_TOP_OFFSET","$animationType","$duration","css","StreakValueContainer","$translateDuration","$translate","StreakValue","Text","TextWrapper","$delay"],"mappings":";;;;;AAOA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAASC,EAAO;AAAA,YACjBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAkBF,EAAO;AAAA;AAAA,mBAEnB,KAAK,MAAMC,IAAqBE,KAA+B,CAAC,CAAC;AAAA,YACxEF,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA,GAI9CC,IAAmBJ,EAAO;AAAA,YAC3BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAqBL,EAAO;AAAA;AAAA,SAKhCM,CAA+B;AAAA;AAAA,YAE5BL,IAAqBK,IAAkCC,CAA2B;AAAA,eAC/E,CAAC,EAAE,gBAAAC,GAAgB,WAAAC,EAAA,MAAgBC;AAAA,MAC5CF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS;AAAA,GAC9D;AAAA;AAAA;AAAA;AAAA;AAAA,GAOUE,IAAuBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAQ9BC,IAAqBK,KAAmC,CAAC;AAAA,gBACtD,CAAC,EAAE,oBAAAM,EAAyB,MAAA,OAAOA,CAAkB,WAAW;AAAA,eACjE,CAAC,EAAE,YAAAC,EAAA,MAAkBA,IAAa,sBAAsB,gBAAiB;AAAA,GAG3EC,IAAcd,EAAOe,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWzBC,IAAchB,EAAO;AAAA;AAAA;AAAA,eAOnB,CAAC,EAAE,gBAAAQ,GAAgB,WAAAC,GAAW,QAAAQ,QAAaP;AAAA,MACpDF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS,MAAMQ,CAAM;AAAA,GAC1E;AAAA,2BACyBhB,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/constants.ts"],"sourcesContent":["import { ProjectType } from '../../../circle-games/games/web-view/enums';\n\nexport const GAME_CONTAINER_HEIGHT = 530;\nexport const GAME_CONTAINER_WIDTH = 336;\n\nexport const label: Record<ProjectType, string> = {\n [ProjectType.GAME]: 'Game Time!',\n [ProjectType.PUZZLE]: 'Puzzle Time!',\n [ProjectType.LESSON]: 'Mental Math',\n};\n"],"names":["GAME_CONTAINER_HEIGHT","GAME_CONTAINER_WIDTH","ProjectType"],"mappings":";AAEO,MAAMA,IAAwB,KACxBC,IAAuB;AAGjCC,EAAY,OAAZ,IACAA,EAAY,SAAZ,IACAA,EAAY,SAAZ;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/constants.ts"],"sourcesContent":["import { ProjectType } from '../../../circle-games/games/web-view/enums';\n\nexport const GAME_CONTAINER_HEIGHT = 530;\nexport const GAME_CONTAINER_WIDTH = 336;\n\nexport const label: Omit<Record<ProjectType, string>, 'table'> = {\n [ProjectType.GAME]: 'Game Time!',\n [ProjectType.PUZZLE]: 'Puzzle Time!',\n [ProjectType.LESSON]: 'Mental Math',\n};\n"],"names":["GAME_CONTAINER_HEIGHT","GAME_CONTAINER_WIDTH","ProjectType"],"mappings":";AAEO,MAAMA,IAAwB,KACxBC,IAAuB;AAGjCC,EAAY,OAAZ,IACAA,EAAY,SAAZ,IACAA,EAAY,SAAZ;"}