@cuemath/leap 2.8.60-beta-0.1 → 2.8.60

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 (152) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -9
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/closed-eye.js +23 -0
  4. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -0
  5. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +33 -98
  6. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  7. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +47 -76
  8. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  10. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  11. package/dist/features/chapters/chapters-list/chapters-list.js +70 -65
  12. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +62 -75
  14. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  15. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +127 -110
  16. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  17. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
  18. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
  19. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
  20. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
  21. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
  22. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
  24. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +91 -116
  26. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  27. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +13 -0
  28. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
  29. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
  30. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +121 -105
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +173 -145
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +10 -24
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +22 -10
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +25 -0
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
  49. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
  50. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
  52. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  53. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
  54. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  55. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
  56. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  57. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  58. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  59. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
  60. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  61. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
  62. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  63. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
  64. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  65. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  66. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
  67. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  68. package/dist/features/ui/constants/z-index.js +1 -1
  69. package/dist/features/ui/constants/z-index.js.map +1 -1
  70. package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
  71. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  72. package/dist/features/ui/context-menu/context-menu.js +15 -30
  73. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  74. package/dist/features/ui/lottie-animation/lottie-animation.js +39 -24
  75. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  76. package/dist/features/ui/theme/button.js +102 -17
  77. package/dist/features/ui/theme/button.js.map +1 -1
  78. package/dist/index.d.ts +12 -187
  79. package/dist/index.js +471 -487
  80. package/dist/index.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/assets/line-icons/icons/alarm.js +0 -41
  83. package/dist/assets/line-icons/icons/alarm.js.map +0 -1
  84. package/dist/assets/line-icons/icons/dart.js +0 -23
  85. package/dist/assets/line-icons/icons/dart.js.map +0 -1
  86. package/dist/assets/line-icons/icons/exclamation.js +0 -26
  87. package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
  88. package/dist/assets/line-icons/icons/home2.js +0 -25
  89. package/dist/assets/line-icons/icons/home2.js.map +0 -1
  90. package/dist/assets/line-icons/icons/important.js +0 -23
  91. package/dist/assets/line-icons/icons/important.js.map +0 -1
  92. package/dist/assets/line-icons/icons/puzzle.js +0 -25
  93. package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
  94. package/dist/assets/line-icons/icons/recap.js +0 -32
  95. package/dist/assets/line-icons/icons/recap.js.map +0 -1
  96. package/dist/assets/line-icons/icons/status.js +0 -41
  97. package/dist/assets/line-icons/icons/status.js.map +0 -1
  98. package/dist/assets/line-icons/icons/testtube.js +0 -33
  99. package/dist/assets/line-icons/icons/testtube.js.map +0 -1
  100. package/dist/features/chapters-v2/api/chapter.js +0 -10
  101. package/dist/features/chapters-v2/api/chapter.js.map +0 -1
  102. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
  103. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
  104. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
  105. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
  106. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
  107. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
  108. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
  109. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
  110. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
  111. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
  112. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
  113. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
  114. package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
  115. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
  116. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
  117. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
  118. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -154
  119. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
  120. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -12
  121. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
  122. package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
  123. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
  124. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
  125. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
  126. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
  127. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
  128. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -160
  129. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
  130. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
  131. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
  132. package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
  133. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
  134. package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
  135. package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
  136. package/dist/features/chapters-v2/constants/block-constants.js +0 -20
  137. package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
  138. package/dist/features/chapters-v2/constants/node-constants.js +0 -15
  139. package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
  140. package/dist/features/chapters-v2/utils/index.js +0 -40
  141. package/dist/features/chapters-v2/utils/index.js.map +0 -1
  142. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -78
  143. package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
  144. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  145. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  146. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  147. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  148. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  149. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  150. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  151. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  152. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -1,79 +1,84 @@
1
- import { jsxs as m, jsx as r, Fragment as A } from "react/jsx-runtime";
2
- import { memo as T, useCallback as b } from "react";
1
+ import { jsxs as i, jsx as r, Fragment as T } from "react/jsx-runtime";
2
+ import { memo as b, useCallback as y } from "react";
3
3
  import { IMAGES as g } from "../../../assets/images/images.js";
4
- import k from "../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import x from "../../ui/buttons/button/button.js";
4
+ import k from "../../../assets/line-icons/icons/plus2.js";
5
+ import x from "../../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import E from "../../ui/buttons/button/button.js";
7
+ import I from "../../ui/buttons/icon-button/icon-button.js";
6
8
  import { useUIContext as $ } from "../../ui/context/context.js";
7
- import l from "../../ui/separator/separator.js";
8
- import y from "../../ui/text/text.js";
9
- import E from "./chapter-item/chapter-item.js";
10
- import { ChaptersListContainer as c, ChaptersWrapper as X } from "./chapters-list-styled.js";
11
- const I = T(
12
- ({ milestoneId: t, canUpdatePlan: d, chapters: o, ...h }) => {
13
- const { isGoalCreation: i, userType: a, onChapterClick: C, onAddChapter: e, isMilestoneActive: n } = h, { onClick: s } = $(), f = b(() => {
14
- s({
9
+ import d from "../../ui/separator/separator.js";
10
+ import L from "../../ui/text/text.js";
11
+ import X from "./chapter-item/chapter-item.js";
12
+ import { ChaptersListContainer as h, ChaptersWrapper as M, AddChapterIconWrapper as S } from "./chapters-list-styled.js";
13
+ const j = b(
14
+ ({ milestoneId: t, canUpdatePlan: n, chapters: a, ...C }) => {
15
+ const { isGoalCreation: s, userType: o, onChapterClick: f, onAddChapter: e, isMilestoneActive: p } = C, A = o === "TEACHER" && e && n, { onClick: c } = $(), m = y(() => {
16
+ c({
15
17
  label: "add_chapter_icon",
16
18
  props: {
17
19
  milestone_id: t
18
20
  }
19
- }), e == null || e({ milestoneId: t, isGoalCreation: i });
20
- }, [t, i, e, s]);
21
- return o.length ? /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(X, { children: o.map((p, u) => {
22
- const { id: _ } = p;
23
- return /* @__PURE__ */ r(
24
- E,
21
+ }), e == null || e({ milestoneId: t, isGoalCreation: s });
22
+ }, [t, s, e, c]);
23
+ return a.length ? /* @__PURE__ */ i(h, { children: [
24
+ /* @__PURE__ */ r(M, { children: a.map((l, u) => {
25
+ const { id: _ } = l;
26
+ return /* @__PURE__ */ r(
27
+ X,
28
+ {
29
+ milestoneId: t,
30
+ userType: o,
31
+ chapter: l,
32
+ onChapterClick: f,
33
+ itemIndex: u
34
+ },
35
+ _
36
+ );
37
+ }) }),
38
+ A && /* @__PURE__ */ r(S, { children: /* @__PURE__ */ r(
39
+ I,
25
40
  {
26
- milestoneId: t,
27
- userType: a,
28
- chapter: p,
29
- onChapterClick: C,
30
- itemIndex: u
31
- },
32
- _
33
- );
34
- }) }) }) : /* @__PURE__ */ m(
35
- c,
36
- {
37
- $gapX: 6.75,
38
- $alignItems: "center",
39
- $justifyContent: "center",
40
- $background: "WHITE",
41
- children: [
42
- /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
43
- /* @__PURE__ */ r(l, { heightX: 2 }),
44
- a === "TEACHER" ? /* @__PURE__ */ m(A, { children: [
45
- /* @__PURE__ */ r(
46
- k,
41
+ Icon: k,
42
+ renderAs: "secondary",
43
+ size: "small",
44
+ analyticsLabel: "add_chapter_icon",
45
+ onClick: m
46
+ }
47
+ ) })
48
+ ] }) : /* @__PURE__ */ i(h, { $gapX: 6.75, $alignItems: "center", $justifyContent: "center", children: [
49
+ /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
50
+ /* @__PURE__ */ r(d, { heightX: 2 }),
51
+ o === "TEACHER" ? /* @__PURE__ */ i(T, { children: [
52
+ /* @__PURE__ */ r(
53
+ x,
54
+ {
55
+ renderAs: "primary",
56
+ position: "bottom",
57
+ hidden: p,
58
+ tooltipItem: "Plan is completed",
59
+ children: /* @__PURE__ */ r(
60
+ E,
47
61
  {
62
+ widthX: 10,
48
63
  renderAs: "primary",
49
- position: "bottom",
50
- hidden: n,
51
- tooltipItem: "Plan is completed",
52
- children: /* @__PURE__ */ r(
53
- x,
54
- {
55
- widthX: 10,
56
- renderAs: "primary",
57
- shape: "square",
58
- size: "small",
59
- label: "Add chapter",
60
- onClick: f,
61
- disabled: !n || !d,
62
- analyticsProps: {
63
- milestone_id: t
64
- }
65
- }
66
- )
64
+ shape: "square",
65
+ size: "small",
66
+ label: "Add chapter",
67
+ onClick: m,
68
+ disabled: !p || !n,
69
+ analyticsProps: {
70
+ milestone_id: t
71
+ }
67
72
  }
68
- ),
69
- /* @__PURE__ */ r(l, { heightX: 2 })
70
- ] }) : /* @__PURE__ */ r(y, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
71
- ]
72
- }
73
- );
73
+ )
74
+ }
75
+ ),
76
+ /* @__PURE__ */ r(d, { heightX: 2 })
77
+ ] }) : /* @__PURE__ */ r(L, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
78
+ ] });
74
79
  }
75
- ), O = I;
80
+ ), K = j;
76
81
  export {
77
- O as default
82
+ K as default
78
83
  };
79
84
  //# sourceMappingURL=chapters-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n userType={userType}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsx","Styled.ChaptersListContainer","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEI,EAAE,SAASM,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcT;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcE,CAAY,CAAC;AAExD,WAACP,EAAS,SA2CX,gBAAAW,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,EACE,UAASb,EAAA,IAAI,CAACc,GAASC,MAAQ;AACxB,YAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,aAAA,gBAAAH;AAAA,QAACM;AAAA,QAAA;AAAA,UAEC,aAAAnB;AAAA,UACA,UAAAK;AAAA,UACA,SAAAW;AAAA,UACA,gBAAAV;AAAA,UACA,WAAWW;AAAA,QAAA;AAAA,QALNC;AAAA,MAAA;AAAA,IAMP,CAEH,GACH,EACF,CAAA,IA1DE,gBAAAE;AAAA,MAACN;AAAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAI,EAAA,KAAKQ,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,UACxD,gBAAAR,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UACtBjB,MAAa,YAEV,gBAAAe,EAAAG,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAV;AAAA,cAACW;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,QAAQhB;AAAA,gBACR,aAAY;AAAA,gBAEZ,UAAA,gBAAAK;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,QAAQ;AAAA,oBACR,UAAS;AAAA,oBACT,OAAM;AAAA,oBACN,MAAK;AAAA,oBACL,OAAM;AAAA,oBACN,SAASd;AAAA,oBACT,UAAU,CAACH,KAAqB,CAACP;AAAA,oBACjC,gBAAgB;AAAA,sBACd,cAAcD;AAAA,oBAChB;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAa,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UAAA,EAAA,CACzB,IAEC,gBAAAT,EAAAa,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EA0BV;AACF,GAEAC,IAAe7B;"}
1
+ {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport Plus2Icon from '../../../assets/line-icons/icons/plus2';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport IconButton from '../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const canAddChapter = userType === 'TEACHER' && onAddChapter && canUpdatePlan;\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n userType={userType}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n {canAddChapter && (\n <Styled.AddChapterIconWrapper>\n <IconButton\n Icon={Plus2Icon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"add_chapter_icon\"\n onClick={handleOnAddChapter}\n />\n </Styled.AddChapterIconWrapper>\n )}\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","canAddChapter","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsxs","Styled.ChaptersListContainer","jsx","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","Styled.AddChapterIconWrapper","IconButton","Plus2Icon","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;;;AAgBA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEIM,IAAgBJ,MAAa,aAAaE,KAAgBN,GAC1D,EAAE,SAASS,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcV;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcG,CAAY,CAAC;AAExD,WAACR,EAAS,SAsCZ,gBAAAY,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EACE,YAAS,IAAI,CAACC,GAASC,MAAQ;AACxB,cAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,eAAA,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,aAAArB;AAAA,YACA,UAAAK;AAAA,YACA,SAAAa;AAAA,YACA,gBAAAZ;AAAA,YACA,WAAWa;AAAA,UAAA;AAAA,UALNC;AAAA,QAAA;AAAA,MAQV,CAAA,GACH;AAAA,MACCX,KACC,gBAAAO,EAACM,GAAA,EACC,UAAA,gBAAAN;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,MAAMC;AAAA,UACN,UAAS;AAAA,UACT,MAAK;AAAA,UACL,gBAAe;AAAA,UACf,SAASZ;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAEJ,EAAA,CAAA,IAhEE,gBAAAE,EAACC,GAAA,EAA6B,OAAO,MAAM,aAAY,UAAS,iBAAgB,UAC9E,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAI,EAAA,KAAKS,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,MACxD,gBAAAT,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MACtBrB,MAAa,YAEV,gBAAAS,EAAAa,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAX;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,QAAQpB;AAAA,YACR,aAAY;AAAA,YAEZ,UAAA,gBAAAQ;AAAA,cAACa;AAAA,cAAA;AAAA,gBACC,QAAQ;AAAA,gBACR,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,SAASjB;AAAA,gBACT,UAAU,CAACJ,KAAqB,CAACP;AAAA,gBACjC,gBAAgB;AAAA,kBACd,cAAcD;AAAA,gBAChB;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAgB,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MAAA,EAAA,CACzB,IAEC,gBAAAV,EAAAc,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAmCN;AACF,GAEAC,IAAejC;"}
@@ -1,118 +1,105 @@
1
- import { jsxs as I, jsx as t } from "react/jsx-runtime";
2
- import v from "lottie-web";
3
- import { memo as H, forwardRef as w, useRef as T, useState as h, useCallback as c, useImperativeHandle as F, useMemo as E, useEffect as G } from "react";
4
- import $ from "../../../../../assets/line-icons/icons/check.js";
5
- import { LOTTIE as j } from "../../../../../assets/lottie/lottie.js";
6
- import { fetchLottie as O } from "../../../../ui/lottie-animation/helper.js";
7
- import U from "../../../../ui/lottie-animation/lottie-animation.js";
8
- import { CardContainer as x } from "../card-container/card-container.js";
9
- import { CircularProgressLottieContainer as B, SegmentLeft as D, SegmentRight as N, SegmentBottom as q, SegmentContainer as z, SegmentContentContainer as J, SegmentAssetContainer as K, SegmentOverlay as Q, IconWrapper as X } from "./segmented-game-card-styled.js";
10
- const S = ({
11
- segmentType: e,
12
- isCompleted: i,
13
- card: m,
14
- name: l,
15
- onMouseEnter: s
16
- }) => {
17
- const a = T(null);
18
- G(() => {
19
- let o = null;
20
- return (async () => {
21
- const p = await O(m);
22
- o = v.loadAnimation({
23
- container: a.current,
24
- renderer: "canvas",
25
- loop: !0,
26
- autoplay: !0,
27
- animationData: p
28
- });
29
- })(), () => o == null ? void 0 : o.destroy();
30
- }, [m]);
31
- const d = c(() => s(l), [s, l]);
32
- return /* @__PURE__ */ t(z, { children: /* @__PURE__ */ I(J, { $segmentType: e, onMouseEnter: d, children: [
33
- /* @__PURE__ */ t(K, { ref: a, $segmentType: e }),
34
- i && /* @__PURE__ */ t(Q, { $segmentType: e, children: /* @__PURE__ */ t(X, { children: /* @__PURE__ */ t($, { color: "#fff", height: 40, width: 40 }) }) })
35
- ] }) });
36
- }, Y = ({ data: e, label: i, initialValue: m = 0, value: l, maxValue: s = 1 }, a) => {
37
- const d = T(null), o = T(null), [u, p] = h(i), [L, y] = h(!1), [R, P] = h("WHITE_T_87"), _ = u !== i, C = c((n) => {
38
- p(n);
39
- }, []), b = c(() => {
40
- p(i);
41
- }, [i]), g = c(
42
- (n) => {
43
- var r, f;
44
- (f = (r = e[n]) == null ? void 0 : r.onPress) == null || f.call(r);
1
+ import { jsx as n, jsxs as L } from "react/jsx-runtime";
2
+ import { memo as P, useCallback as m, forwardRef as O, useRef as E, useState as f, useImperativeHandle as F, useMemo as A } from "react";
3
+ import G from "../../../../../assets/line-icons/icons/check.js";
4
+ import { LOTTIE as $ } from "../../../../../assets/lottie/lottie.js";
5
+ import R from "../../../../ui/lottie-animation/lottie-animation.js";
6
+ import { CardContainer as j } from "../card-container/card-container.js";
7
+ import { SegmentContainer as w, SegmentContentContainer as U, SegmentAssetContainer as x, SegmentOverlay as B, IconWrapper as N, CircularProgressLottieContainer as q, SegmentLeft as z, SegmentRight as D, SegmentBottom as J } from "./segmented-game-card-styled.js";
8
+ const K = { renderer: "canvas", loop: !0 }, C = P(
9
+ ({ segmentType: e, isCompleted: o, card: c, name: i, onMouseEnter: s }) => {
10
+ const a = m(() => s(i), [s, i]);
11
+ return /* @__PURE__ */ n(w, { children: /* @__PURE__ */ L(U, { $segmentType: e, onMouseEnter: a, children: [
12
+ /* @__PURE__ */ n(x, { $segmentType: e, children: /* @__PURE__ */ n(R, { src: c, settings: K, animateOnIntersect: !0 }) }),
13
+ o && /* @__PURE__ */ n(B, { $segmentType: e, children: /* @__PURE__ */ n(N, { children: /* @__PURE__ */ n(G, { color: "#fff", height: 40, width: 40 }) }) })
14
+ ] }) });
15
+ }
16
+ ), Q = ({ data: e, label: o, initialValue: c = 0, value: i, maxValue: s = 1 }, a) => {
17
+ const g = E(null), h = E(null), [u, S] = f(o), [T, _] = f(!1), [b, M] = f("WHITE_T_87"), W = u !== o, d = m((t) => {
18
+ S(t);
19
+ }, []), k = m(() => {
20
+ S(o);
21
+ }, [o]), p = m(
22
+ (t) => {
23
+ var r, l;
24
+ (l = (r = e[t]) == null ? void 0 : r.onPress) == null || l.call(r);
45
25
  },
46
26
  [e]
47
- ), M = c((n) => {
48
- y(!0), P(n);
27
+ ), v = m((t) => {
28
+ _(!0), M(t);
49
29
  }, []);
50
30
  F(a, () => ({
51
- labelRef: d,
52
- segmentedCardWrapperRef: o,
53
- startLabelAnimation: M
31
+ labelRef: g,
32
+ segmentedCardWrapperRef: h,
33
+ startLabelAnimation: v
54
34
  }));
55
- const A = E(() => {
35
+ const I = A(() => {
56
36
  if (s <= 0)
57
37
  return;
58
- const n = 92, r = n / s, f = Math.min(r * m, n), k = Math.min(r * l + 1, n);
59
- return [f, k];
60
- }, [m, s, l]), W = E(
38
+ const t = 92, r = t / s, l = Math.min(r * c, t), H = Math.min(r * i + 1, t);
39
+ return [l, H];
40
+ }, [c, s, i]), y = A(
61
41
  () => ({
62
42
  renderer: "canvas",
63
43
  autoplay: !0,
64
44
  loop: !1,
65
- initialSegment: A
45
+ initialSegment: I
66
46
  }),
67
- [A]
47
+ [I]
68
48
  );
69
- return /* @__PURE__ */ I(
70
- x,
49
+ return /* @__PURE__ */ L(
50
+ j,
71
51
  {
72
- ref: o,
73
- labelRef: d,
52
+ ref: h,
53
+ labelRef: g,
74
54
  label: u,
75
- isAnimated: L,
76
- onMouseLeave: b,
77
- labelColor: L ? R : _ ? "WHITE_T_87" : "WHITE_T_60",
55
+ isAnimated: T,
56
+ onMouseLeave: k,
57
+ labelColor: T ? b : W ? "WHITE_T_87" : "WHITE_T_60",
78
58
  children: [
79
- /* @__PURE__ */ t(B, { children: /* @__PURE__ */ t(U, { src: j.LEVELUP_RINGS, settings: W }) }),
80
- /* @__PURE__ */ t(D, { onClick: () => g(0), children: /* @__PURE__ */ t(
81
- S,
59
+ /* @__PURE__ */ n(q, { children: /* @__PURE__ */ n(
60
+ R,
61
+ {
62
+ src: $.LEVELUP_RINGS,
63
+ settings: y,
64
+ animateOnIntersect: !0
65
+ }
66
+ ) }),
67
+ /* @__PURE__ */ n(z, { onClick: () => p(0), children: /* @__PURE__ */ n(
68
+ C,
82
69
  {
83
70
  segmentType: "left",
84
71
  card: e[0].card,
85
72
  name: e[0].name,
86
73
  isCompleted: e[0].isCompleted,
87
- onMouseEnter: C
74
+ onMouseEnter: d
88
75
  }
89
76
  ) }),
90
- /* @__PURE__ */ t(N, { onClick: () => g(1), children: /* @__PURE__ */ t(
91
- S,
77
+ /* @__PURE__ */ n(D, { onClick: () => p(1), children: /* @__PURE__ */ n(
78
+ C,
92
79
  {
93
80
  segmentType: "right",
94
81
  card: e[1].card,
95
82
  name: e[1].name,
96
83
  isCompleted: e[1].isCompleted,
97
- onMouseEnter: C
84
+ onMouseEnter: d
98
85
  }
99
86
  ) }),
100
- /* @__PURE__ */ t(q, { onClick: () => g(2), children: /* @__PURE__ */ t(
101
- S,
87
+ /* @__PURE__ */ n(J, { onClick: () => p(2), children: /* @__PURE__ */ n(
88
+ C,
102
89
  {
103
90
  segmentType: "bottom",
104
91
  card: e[2].card,
105
92
  name: e[2].name,
106
93
  isCompleted: e[2].isCompleted,
107
- onMouseEnter: C
94
+ onMouseEnter: d
108
95
  }
109
96
  ) })
110
97
  ]
111
98
  }
112
99
  );
113
- }, me = H(w(Y));
100
+ }, re = P(O(Q));
114
101
  export {
115
- S as SegmentContent,
116
- me as SegmentedGameCard
102
+ C as SegmentContent,
103
+ re as SegmentedGameCard
117
104
  };
118
105
  //# sourceMappingURL=segmented-game-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { AnimationItem } from 'lottie-web';\nimport type { FC, ForwardRefRenderFunction } from 'react';\n\nimport Lottie from 'lottie-web';\nimport {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport { fetchLottie } from '../../../../ui/lottie-animation/helper';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport { CardContainer } from '../card-container/card-container';\nimport * as Styled from './segmented-game-card-styled';\n\nexport const SegmentContent: FC<IGameCardSegmentContentProps> = ({\n segmentType,\n isCompleted,\n card,\n name,\n onMouseEnter,\n}) => {\n const lottieAnimationRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n let animation: AnimationItem | null = null;\n\n const loadLottie = async () => {\n const lottie = await fetchLottie(card);\n\n animation = Lottie.loadAnimation({\n container: lottieAnimationRef.current as Element,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: lottie,\n });\n };\n\n loadLottie();\n\n return () => {\n return animation?.destroy();\n };\n }, [card]);\n\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer ref={lottieAnimationRef} $segmentType={segmentType} />\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n};\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null);\n const cardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = useCallback(\n (index: number) => {\n data[index]?.onPress?.();\n },\n [data],\n );\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef: cardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <CardContainer\n ref={cardWrapperRef}\n labelRef={labelRef}\n label={label}\n isAnimated={isAnimated}\n onMouseLeave={onMouseLeave}\n labelColor={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n >\n <Styled.CircularProgressLottieContainer>\n <LottieAnimation src={LOTTIE.LEVELUP_RINGS} settings={levelUpAnimationSettings} />\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </CardContainer>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["SegmentContent","segmentType","isCompleted","card","name","onMouseEnter","lottieAnimationRef","useRef","useEffect","animation","lottie","fetchLottie","Lottie","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","cardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","CardContainer","Styled.CircularProgressLottieContainer","LottieAnimation","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"segmented-game-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type {\n IGameCardSegmentContentProps,\n ISegmentedGameCardProps,\n ISegmentedGameCardRefs,\n} from './segmented-game-card-types';\nimport type { ForwardRefRenderFunction } from 'react';\n\nimport {\n forwardRef,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport CheckIcon from '../../../../../assets/line-icons/icons/check';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport { CardContainer } from '../card-container/card-container';\nimport * as Styled from './segmented-game-card-styled';\n\nconst renderSettings = { renderer: 'canvas', loop: true };\n\nexport const SegmentContent = memo(\n ({ segmentType, isCompleted, card, name, onMouseEnter }: IGameCardSegmentContentProps) => {\n const handleMouseEnter = useCallback(() => onMouseEnter(name), [onMouseEnter, name]);\n\n return (\n <Styled.SegmentContainer>\n <Styled.SegmentContentContainer $segmentType={segmentType} onMouseEnter={handleMouseEnter}>\n <Styled.SegmentAssetContainer $segmentType={segmentType}>\n <LottieAnimation src={card} settings={renderSettings} animateOnIntersect />\n </Styled.SegmentAssetContainer>\n\n {isCompleted && (\n <Styled.SegmentOverlay $segmentType={segmentType}>\n <Styled.IconWrapper>\n <CheckIcon color=\"#fff\" height={40} width={40} />\n </Styled.IconWrapper>\n </Styled.SegmentOverlay>\n )}\n </Styled.SegmentContentContainer>\n </Styled.SegmentContainer>\n );\n },\n);\n\nconst SegmentedGameCardComponent: ForwardRefRenderFunction<\n ISegmentedGameCardRefs,\n ISegmentedGameCardProps\n> = ({ data, label: gameCategoryLabel, initialValue = 0, value, maxValue = 1 }, ref) => {\n const labelRef = useRef<HTMLDivElement>(null);\n const cardWrapperRef = useRef<HTMLDivElement>(null);\n\n const [label, setLabel] = useState<string>(gameCategoryLabel);\n const [isAnimated, setIsAnimated] = useState(false);\n const [animatedColor, setAnimatedColor] = useState<TColorNames>('WHITE_T_87');\n\n const isLabelHighlighted = label !== gameCategoryLabel;\n\n const onMouseEnter = useCallback((gameName: string) => {\n setLabel(gameName);\n }, []);\n\n const onMouseLeave = useCallback(() => {\n setLabel(gameCategoryLabel);\n }, [gameCategoryLabel]);\n\n const onSegmentPress = useCallback(\n (index: number) => {\n data[index]?.onPress?.();\n },\n [data],\n );\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setIsAnimated(true);\n setAnimatedColor(color);\n }, []);\n\n useImperativeHandle(ref, () => ({\n labelRef,\n segmentedCardWrapperRef: cardWrapperRef,\n startLabelAnimation,\n }));\n\n const animationSegments: [number, number] | undefined = useMemo(() => {\n if (maxValue <= 0) {\n return;\n }\n\n const totalFrames = 92;\n const framesPerValue = totalFrames / maxValue;\n\n const initialFrameToPlay = Math.min(framesPerValue * initialValue, totalFrames);\n const finalFrameToPlay = Math.min(framesPerValue * value + 1, totalFrames);\n\n return [initialFrameToPlay, finalFrameToPlay];\n }, [initialValue, maxValue, value]);\n\n const levelUpAnimationSettings = useMemo(\n () => ({\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n initialSegment: animationSegments,\n }),\n [animationSegments],\n );\n\n return (\n <CardContainer\n ref={cardWrapperRef}\n labelRef={labelRef}\n label={label}\n isAnimated={isAnimated}\n onMouseLeave={onMouseLeave}\n labelColor={isAnimated ? animatedColor : isLabelHighlighted ? 'WHITE_T_87' : 'WHITE_T_60'}\n >\n <Styled.CircularProgressLottieContainer>\n <LottieAnimation\n src={LOTTIE.LEVELUP_RINGS}\n settings={levelUpAnimationSettings}\n animateOnIntersect\n />\n </Styled.CircularProgressLottieContainer>\n {/* left segment */}\n <Styled.SegmentLeft onClick={() => onSegmentPress(0)}>\n <SegmentContent\n segmentType={'left'}\n card={data[0]!.card}\n name={data[0]!.name}\n isCompleted={data[0]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentLeft>\n\n {/* right segment */}\n <Styled.SegmentRight onClick={() => onSegmentPress(1)}>\n <SegmentContent\n segmentType={'right'}\n card={data[1]!.card}\n name={data[1]!.name}\n isCompleted={data[1]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentRight>\n\n {/* bottom segment */}\n <Styled.SegmentBottom onClick={() => onSegmentPress(2)}>\n <SegmentContent\n segmentType={'bottom'}\n card={data[2]!.card}\n name={data[2]!.name}\n isCompleted={data[2]!.isCompleted}\n onMouseEnter={onMouseEnter}\n />\n </Styled.SegmentBottom>\n </CardContainer>\n );\n};\n\nexport const SegmentedGameCard = memo(forwardRef(SegmentedGameCardComponent));\n"],"names":["renderSettings","SegmentContent","memo","segmentType","isCompleted","card","name","onMouseEnter","handleMouseEnter","useCallback","jsx","Styled.SegmentContainer","jsxs","Styled.SegmentContentContainer","Styled.SegmentAssetContainer","LottieAnimation","Styled.SegmentOverlay","Styled.IconWrapper","CheckIcon","SegmentedGameCardComponent","data","gameCategoryLabel","initialValue","value","maxValue","ref","labelRef","useRef","cardWrapperRef","label","setLabel","useState","isAnimated","setIsAnimated","animatedColor","setAnimatedColor","isLabelHighlighted","gameName","onMouseLeave","onSegmentPress","index","_b","_a","startLabelAnimation","color","useImperativeHandle","animationSegments","useMemo","totalFrames","framesPerValue","initialFrameToPlay","finalFrameToPlay","levelUpAnimationSettings","CardContainer","Styled.CircularProgressLottieContainer","LOTTIE","Styled.SegmentLeft","Styled.SegmentRight","Styled.SegmentBottom","SegmentedGameCard","forwardRef"],"mappings":"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"}