@cuemath/leap 3.1.46 → 3.1.48-aa0

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 (67) hide show
  1. package/dist/assets/illustrations/illustrations.js +3 -0
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +19 -1
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/auth/forgot-password/forgot-password-styled.js +12 -12
  6. package/dist/features/auth/forgot-password/forgot-password-styled.js.map +1 -1
  7. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js +9 -9
  8. package/dist/features/auth/login/identifier-otp-form/identifier-otp-form-styled.js.map +1 -1
  9. package/dist/features/auth/login/login-styled.js +6 -6
  10. package/dist/features/auth/login/login-styled.js.map +1 -1
  11. package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
  12. package/dist/features/chapters-v2/utils/index.js +23 -11
  13. package/dist/features/chapters-v2/utils/index.js.map +1 -1
  14. package/dist/features/chapters-v2/utils/node-card-utils.js +50 -34
  15. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  16. package/dist/features/hooks/use-viewport/use-viewport.js +14 -13
  17. package/dist/features/hooks/use-viewport/use-viewport.js.map +1 -1
  18. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration-styled.js +10 -0
  19. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration-styled.js.map +1 -0
  20. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js +44 -0
  21. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -0
  22. package/dist/features/puzzles/utils/puzzle-feedback-celebration.js +44 -0
  23. package/dist/features/puzzles/utils/puzzle-feedback-celebration.js.map +1 -0
  24. package/dist/features/ui/theme/constants.js +11 -0
  25. package/dist/features/ui/theme/constants.js.map +1 -0
  26. package/dist/features/ui/theme/get-device.js +6 -0
  27. package/dist/features/ui/theme/get-device.js.map +1 -0
  28. package/dist/features/ui/theme/get-theme.js +25 -23
  29. package/dist/features/ui/theme/get-theme.js.map +1 -1
  30. package/dist/features/ui/theme/layout.js +6 -3
  31. package/dist/features/ui/theme/layout.js.map +1 -1
  32. package/dist/features/ui/theme/media-queries.js +11 -0
  33. package/dist/features/ui/theme/media-queries.js.map +1 -0
  34. package/dist/features/worksheet/worksheet/constants.js +12 -13
  35. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  36. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +227 -245
  37. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  38. package/dist/features/worksheet/worksheet/worksheet.js +163 -162
  39. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  40. package/dist/index.d.ts +46 -10
  41. package/dist/index.js +90 -90
  42. package/dist/static/activity.ca6afed5.json +417 -0
  43. package/dist/static/cent.3a07ef13.json +5576 -0
  44. package/dist/static/clap.aa0b824b.json +12684 -0
  45. package/dist/static/dart.60f73d0f.json +4207 -0
  46. package/dist/static/diamond.8c91431a.json +6716 -0
  47. package/dist/static/dice.eb192df8.json +16260 -0
  48. package/dist/static/download.475e7e15.json +1038 -0
  49. package/dist/static/golf.55585049.json +2832 -0
  50. package/dist/static/magicwand.75ac8f1b.json +3879 -0
  51. package/dist/static/mechanical-arm.7561628e.json +4428 -0
  52. package/dist/static/medal.782dab23.json +4134 -0
  53. package/dist/static/node-activity-bg.122f7e01.svg +1 -0
  54. package/dist/static/node-download-bg.b8367de7.svg +1 -0
  55. package/dist/static/node-subjective-bg.d6013a16.svg +1 -0
  56. package/dist/static/party-ball.e19caed6.json +11578 -0
  57. package/dist/static/party-popper.9f7992e8.json +6416 -0
  58. package/dist/static/slot-machine.ba8014dd.json +7779 -0
  59. package/dist/static/subjective.bc5f37fb.json +1177 -0
  60. package/dist/static/super.7fad19f6.json +3720 -0
  61. package/dist/static/trophy.a8ea85ef.json +6813 -0
  62. package/dist/static/victory.2ca41d92.json +9959 -0
  63. package/package.json +1 -1
  64. package/dist/features/ui/theme/device.js +0 -5
  65. package/dist/features/ui/theme/device.js.map +0 -1
  66. package/dist/features/utils/media.js +0 -16
  67. package/dist/features/utils/media.js.map +0 -1
@@ -1,22 +1,22 @@
1
- import { jsx as e, jsxs as m } from "react/jsx-runtime";
2
- import p from "../../../assets/line-icons/icons/check2.js";
3
- import A from "../../../assets/line-icons/icons/exclamation.js";
4
- import f from "../../../assets/line-icons/icons/lock2.js";
5
- import R from "../../../assets/line-icons/icons/status.js";
1
+ import { jsx as e, jsxs as S } from "react/jsx-runtime";
2
+ import l from "../../../assets/line-icons/icons/check2.js";
3
+ import R from "../../../assets/line-icons/icons/exclamation.js";
4
+ import m from "../../../assets/line-icons/icons/lock2.js";
5
+ import p from "../../../assets/line-icons/icons/status.js";
6
6
  import { LOTTIE as t } from "../../../assets/lottie/lottie.js";
7
- import u from "../../ui/layout/flex-view.js";
7
+ import f from "../../ui/layout/flex-view.js";
8
8
  import E from "../../ui/arrow-tooltip/arrow-tooltip.js";
9
- import d from "../../ui/text/text.js";
10
- import { InProgressIconWrapper as l } from "../comps/node-card/node-card-styled.js";
11
- import T from "../comps/tag/tag.js";
12
- const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
13
- if (!r || i)
9
+ import I from "../../ui/text/text.js";
10
+ import { InProgressIconWrapper as d } from "../comps/node-card/node-card-styled.js";
11
+ import A from "../comps/tag/tag.js";
12
+ const _ = 60 * 60 * 24, u = ["NOT_STARTED", "IN_PROGRESS"], C = (r, c) => {
13
+ if (!r || c)
14
14
  return { isOverdue: !1, daysText: "", differenceInDays: 0 };
15
- const c = Math.floor(Date.now() / 1e3), s = r - c, o = Math.ceil(s / h), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
15
+ const i = Math.floor(Date.now() / 1e3), s = r - i, o = Math.ceil(s / _), a = o < 0, n = o > 0 ? `${Math.abs(o)}D` : "";
16
16
  return { isOverdue: a, daysText: n, differenceInDays: o };
17
- }, M = (r, i, c, s, o) => {
18
- const { isOverdue: a, daysText: n, differenceInDays: I } = C(s, o);
19
- if (!o && a && S.includes(r))
17
+ }, U = (r, c, i, s, o) => {
18
+ const { isOverdue: a, daysText: n, differenceInDays: T } = C(s, o);
19
+ if (!o && a && u.includes(r))
20
20
  return {
21
21
  icon: /* @__PURE__ */ e(
22
22
  E,
@@ -25,9 +25,9 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
25
25
  position: "bottom",
26
26
  tooltipItem: "Complete now",
27
27
  zIndex: 10,
28
- hidden: !i,
28
+ hidden: !c,
29
29
  parentWidth: "fit-content",
30
- children: /* @__PURE__ */ e(u, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(d, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
30
+ children: /* @__PURE__ */ e(f, { $background: "RED", $borderRadius: 16, $gapX: 0.24, $gutterX: 0.5, children: /* @__PURE__ */ e(I, { $renderAs: "ac4-black", $color: "WHITE", children: "OVERDUE" }) })
31
31
  }
32
32
  ),
33
33
  top: -10,
@@ -41,11 +41,11 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
41
41
  {
42
42
  renderAs: "primary",
43
43
  position: "bottom",
44
- tooltipItem: I > 1 ? `${I} days left` : "Complete it today",
44
+ tooltipItem: T > 1 ? `${T} days left` : "Complete it today",
45
45
  zIndex: 10,
46
- hidden: !i,
46
+ hidden: !c,
47
47
  children: /* @__PURE__ */ e(
48
- l,
48
+ d,
49
49
  {
50
50
  $flexDirection: "row",
51
51
  $alignItems: "center",
@@ -53,7 +53,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
53
53
  $borderRadius: 16,
54
54
  $paddingRight: 6,
55
55
  $paddingLeft: 6,
56
- children: n && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: n })
56
+ children: n && /* @__PURE__ */ e(I, { $renderAs: "ub3-bold", $color: "WHITE", children: n })
57
57
  }
58
58
  )
59
59
  }
@@ -63,14 +63,14 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
63
63
  };
64
64
  case "LOCKED":
65
65
  return {
66
- icon: /* @__PURE__ */ e(f, { width: 32, height: 32 }),
66
+ icon: /* @__PURE__ */ e(m, { width: 32, height: 32 }),
67
67
  top: -12,
68
68
  right: -12
69
69
  };
70
70
  case "IN_PROGRESS":
71
71
  return {
72
- icon: /* @__PURE__ */ m(
73
- l,
72
+ icon: /* @__PURE__ */ S(
73
+ d,
74
74
  {
75
75
  $flexDirection: "row",
76
76
  $alignItems: "center",
@@ -79,8 +79,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
79
79
  $paddingRight: 0,
80
80
  $paddingLeft: n ? 6 : 0,
81
81
  children: [
82
- n && /* @__PURE__ */ e(d, { $renderAs: "ub3-bold", $color: "WHITE", children: n }),
83
- /* @__PURE__ */ e(R, {})
82
+ n && /* @__PURE__ */ e(I, { $renderAs: "ub3-bold", $color: "WHITE", children: n }),
83
+ /* @__PURE__ */ e(p, {})
84
84
  ]
85
85
  }
86
86
  )
@@ -88,10 +88,10 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
88
88
  case "COMPLETED":
89
89
  return {
90
90
  icon: /* @__PURE__ */ e(
91
- T,
91
+ A,
92
92
  {
93
- Icon: p,
94
- label: typeof c == "number" ? `${c}%` : void 0
93
+ Icon: l,
94
+ label: typeof i == "number" ? `${i}%` : void 0
95
95
  }
96
96
  ),
97
97
  top: -10,
@@ -104,9 +104,9 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
104
104
  {
105
105
  renderAs: "primary",
106
106
  position: "bottom",
107
- tooltipItem: i ? "Waiting for teacher to review" : "Needs your review",
107
+ tooltipItem: c ? "Waiting for teacher to review" : "Needs your review",
108
108
  zIndex: 10,
109
- children: /* @__PURE__ */ e(T, { Icon: A })
109
+ children: /* @__PURE__ */ e(A, { Icon: R })
110
110
  }
111
111
  ),
112
112
  top: -10,
@@ -117,7 +117,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
117
117
  icon: void 0
118
118
  };
119
119
  }
120
- }, w = (r) => {
120
+ }, x = (r) => {
121
121
  switch (r) {
122
122
  case "LEVEL2":
123
123
  case "LEVEL3":
@@ -126,6 +126,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
126
126
  lottie: t.COMPETITIVE_ARENA
127
127
  };
128
128
  case "LEARNING":
129
+ case "SAT_MATH_LEARNING":
130
+ case "SAT_ENGLISH_LEARNING":
129
131
  return {
130
132
  lottie: t.LEARN
131
133
  };
@@ -133,6 +135,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
133
135
  case "REMEDIAL":
134
136
  case "REVISION":
135
137
  case "PPT_BASIC":
138
+ case "SAT_MATH_RECAP":
139
+ case "SAT_ENGLISH_RECAP":
136
140
  return {
137
141
  lottie: t.RECAP
138
142
  };
@@ -149,6 +153,8 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
149
153
  case "TARGET_PRACTICE":
150
154
  case "MASTERY":
151
155
  case "TURING_PRACTICE":
156
+ case "SAT_MATH_ASSESSMENT":
157
+ case "SAT_ENGLISH_ASSESSMENT":
152
158
  return {
153
159
  lottie: t.PRACTICE
154
160
  };
@@ -159,6 +165,16 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
159
165
  return {
160
166
  lottie: t.PUZZLE
161
167
  };
168
+ case "TURING_SUBJECTIVE":
169
+ return {
170
+ lottie: t.SUBJECTIVE
171
+ };
172
+ case "TURING_BASIC":
173
+ case "PYTHON_BASIC":
174
+ case "PYTHON_VISUAL":
175
+ return {
176
+ lottie: t.ACTIVITY
177
+ };
162
178
  case "VIDEO":
163
179
  return {
164
180
  lottie: t.VIDEO
@@ -170,7 +186,7 @@ const h = 60 * 60 * 24, S = ["NOT_STARTED", "IN_PROGRESS"], C = (r, i) => {
170
186
  }
171
187
  };
172
188
  export {
173
- w as getNodeCardBasedIcon,
174
- M as getNodeStateBasedTagInfo
189
+ x as getNodeCardBasedIcon,
190
+ U as getNodeStateBasedTagInfo
175
191
  };
176
192
  //# sourceMappingURL=node-card-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":";;;;;;;;;;;AAmBA,MAAMA,IAAkB,KAAK,KAAK,IAC5BC,IAAgD,CAAC,eAAe,aAAa,GAE7EC,IAAuB,CAACC,GAA2BC,MAAuC;AAC1F,MAAA,CAACD,KAAaC;AAChB,WAAO,EAAE,WAAW,IAAO,UAAU,IAAI,kBAAkB;AAG7D,QAAMC,IAAmB,KAAK,MAAM,KAAK,IAAA,IAAQ,GAAI,GAC/CC,IAAsBH,IAAYE,GAClCE,IAAmB,KAAK,KAAKD,IAAsBN,CAAe,GAElEQ,IAAYD,IAAmB,GAE/BE,IAAWF,IAAmB,IAAI,GAAG,KAAK,IAAIA,CAAgB,CAAC,MAAM;AAEpE,SAAA,EAAE,WAAAC,GAAW,UAAAC,GAAU,kBAAAF;AAChC,GAEMG,IAA2B,CAC/BC,GACAC,GACAC,GACAV,GACAC,MACG;AACH,QAAM,EAAE,WAAAI,GAAW,UAAAC,GAAU,kBAAAF,EAAqB,IAAAL,EAAqBC,GAAWC,CAAW;AAE7F,MAAI,CAACA,KAAeI,KAAaP,EAAmB,SAASU,CAAS;AAC7D,WAAA;AAAA,MACL,MACE,gBAAAG;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,UAAS;AAAA,UACT,aAAY;AAAA,UACZ,QAAQ;AAAA,UACR,QAAQ,CAACH;AAAA,UACT,aAAY;AAAA,UAEZ,4BAACI,GAAS,EAAA,aAAY,OAAM,eAAe,IAAI,OAAO,MAAM,UAAU,KACpE,4BAACC,GAAK,EAAA,WAAU,aAAY,QAAO,SAAQ,oBAE3C,CAAA,GACF;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,KAAK;AAAA,MACL,OAAO;AAAA,IAAA;AAIX,UAAQN,GAAW;AAAA,IACjB,KAAK;AACI,aAAA;AAAA,QACL,MACE,gBAAAG;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,aACER,IAAmB,IAAI,GAAGA,CAAgB,eAAe;AAAA,YAE3D,QAAQ;AAAA,YACR,QAAQ,CAACK;AAAA,YAET,UAAA,gBAAAE;AAAA,cAACI;AAAA,cAAA;AAAA,gBACC,gBAAe;AAAA,gBACf,aAAY;AAAA,gBACZ,iBAAgB;AAAA,gBAChB,eAAe;AAAA,gBACf,eAAe;AAAA,gBACf,cAAc;AAAA,gBAEb,eACE,gBAAAJ,EAAAG,GAAA,EAAK,WAAU,YAAW,QAAO,SAC/B,UACHR,EAAA,CAAA;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA;AAAA,QACF;AAAA,QAEF,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IAEX,KAAK;AACI,aAAA;AAAA,QACL,MAAO,gBAAAK,EAAAK,GAAA,EAAU,OAAO,IAAI,QAAQ,IAAI;AAAA,QACxC,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IAEX,KAAK;AACI,aAAA;AAAA,QACL,MACE,gBAAAC;AAAA,UAACF;AAAA,UAAA;AAAA,YACC,gBAAe;AAAA,YACf,aAAY;AAAA,YACZ,iBAAgB;AAAA,YAChB,eAAe;AAAA,YACf,eAAe;AAAA,YACf,cAAcT,IAAW,IAAI;AAAA,YAE5B,UAAA;AAAA,cAAAA,uBACEQ,GAAK,EAAA,WAAU,YAAW,QAAO,SAC/B,UACHR,GAAA;AAAA,gCAEDY,GAAW,EAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACd;AAAA,MAAA;AAAA,IAGN,KAAK;AACI,aAAA;AAAA,QACL,MACE,gBAAAP;AAAA,UAACQ;AAAA,UAAA;AAAA,YACC,MAAMC;AAAA,YACN,OAAO,OAAOV,KAAa,WAAW,GAAGA,CAAQ,MAAM;AAAA,UAAA;AAAA,QACzD;AAAA,QAEF,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IAEX,KAAK;AACI,aAAA;AAAA,QACL,MACE,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,aAAaH,IAAY,kCAAkC;AAAA,YAC3D,QAAQ;AAAA,YAER,UAAA,gBAAAE,EAACQ,GAAI,EAAA,MAAME,EAAiB,CAAA;AAAA,UAAA;AAAA,QAC9B;AAAA,QAEF,KAAK;AAAA,QACL,OAAO;AAAA,MAAA;AAAA,IAGX;AACS,aAAA;AAAA,QACL,MAAM;AAAA,MAAA;AAAA,EAEZ;AACF,GAEMC,IAAuB,CAACC,MAA0C;AACtE,UAAQA,GAAU;AAAA,IAChB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,QACL,QAAQC,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB,KAAK;AACI,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,IAEnB;AACS,aAAA;AAAA,QACL,QAAQA,EAAO;AAAA,MAAA;AAAA,EAErB;AACF;"}
1
+ {"version":3,"file":"node-card-utils.js","sources":["../../../../src/features/chapters-v2/utils/node-card-utils.tsx"],"sourcesContent":["import type { INodeDataProps } from '../comps/node-card/node-card-types';\n\nimport Check2Icon from '../../../assets/line-icons/icons/check2';\nimport ExclamationIcon from '../../../assets/line-icons/icons/exclamation';\nimport Lock2Icon from '../../../assets/line-icons/icons/lock2';\nimport StatusIcon from '../../../assets/line-icons/icons/status';\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport FlexView from '../..//ui/layout/flex-view';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Text from '../../ui/text/text';\nimport { InProgressIconWrapper } from '../comps/node-card/node-card-styled';\nimport Tag from '../comps/tag/tag';\n\ninterface DueDateInfo {\n isOverdue: boolean;\n daysText: string;\n differenceInDays: number;\n}\n\nconst SECONDS_PER_DAY = 60 * 60 * 24;\nconst OVERDUE_TAG_STATES: INodeDataProps['state'][] = ['NOT_STARTED', 'IN_PROGRESS'];\n\nconst calculateDueDateInfo = (dueDateTs?: number | null, isMilestone?: boolean): DueDateInfo => {\n if (!dueDateTs || isMilestone) {\n return { isOverdue: false, daysText: '', differenceInDays: 0 };\n }\n\n const currentTimestamp = Math.floor(Date.now() / 1000);\n const differenceInSeconds = dueDateTs - currentTimestamp;\n const differenceInDays = Math.ceil(differenceInSeconds / SECONDS_PER_DAY);\n\n const isOverdue = differenceInDays < 0;\n\n const daysText = differenceInDays > 0 ? `${Math.abs(differenceInDays)}D` : '';\n\n return { isOverdue, daysText, differenceInDays };\n};\n\nconst getNodeStateBasedTagInfo = (\n nodeState: INodeDataProps['state'],\n isStudent: boolean,\n accuracy?: number | null,\n dueDateTs?: number | null,\n isMilestone?: boolean,\n) => {\n const { isOverdue, daysText, differenceInDays } = calculateDueDateInfo(dueDateTs, isMilestone);\n\n if (!isMilestone && isOverdue && OVERDUE_TAG_STATES.includes(nodeState)) {\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Complete now\"\n zIndex={10}\n hidden={!isStudent}\n parentWidth=\"fit-content\"\n >\n <FlexView $background=\"RED\" $borderRadius={16} $gapX={0.24} $gutterX={0.5}>\n <Text $renderAs=\"ac4-black\" $color=\"WHITE\">\n OVERDUE\n </Text>\n </FlexView>\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n }\n\n switch (nodeState) {\n case 'NOT_STARTED':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={\n differenceInDays > 1 ? `${differenceInDays} days left` : 'Complete it today'\n }\n zIndex={10}\n hidden={!isStudent}\n >\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={6}\n $paddingLeft={6}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n </InProgressIconWrapper>\n </ArrowTooltip>\n ),\n top: 0,\n right: 0,\n };\n case 'LOCKED':\n return {\n icon: <Lock2Icon width={32} height={32} />,\n top: -12,\n right: -12,\n };\n case 'IN_PROGRESS':\n return {\n icon: (\n <InProgressIconWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderRadius={16}\n $paddingRight={0}\n $paddingLeft={daysText ? 6 : 0}\n >\n {daysText && (\n <Text $renderAs=\"ub3-bold\" $color=\"WHITE\">\n {daysText}\n </Text>\n )}\n <StatusIcon />\n </InProgressIconWrapper>\n ),\n };\n case 'COMPLETED':\n return {\n icon: (\n <Tag\n Icon={Check2Icon}\n label={typeof accuracy === 'number' ? `${accuracy}%` : undefined}\n />\n ),\n top: -10,\n right: -10,\n };\n case 'WAIT_FOR_REVIEW':\n return {\n icon: (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={isStudent ? 'Waiting for teacher to review' : 'Needs your review'}\n zIndex={10}\n >\n <Tag Icon={ExclamationIcon} />\n </ArrowTooltip>\n ),\n top: -10,\n right: -10,\n };\n\n default:\n return {\n icon: undefined,\n };\n }\n};\n\nconst getNodeCardBasedIcon = (nodeType: INodeDataProps['node_type']) => {\n switch (nodeType) {\n case 'LEVEL2':\n case 'LEVEL3':\n case 'HIDDEN_BASIC':\n return {\n lottie: LOTTIE.COMPETITIVE_ARENA,\n };\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n lottie: LOTTIE.LEARN,\n };\n case 'RECAP':\n case 'REMEDIAL':\n case 'REVISION':\n case 'PPT_BASIC':\n case 'SAT_MATH_RECAP':\n case 'SAT_ENGLISH_RECAP':\n return {\n lottie: LOTTIE.RECAP,\n };\n case 'DYNAMIC':\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'TURING_ASSESSMENT':\n return {\n lottie: LOTTIE.TEST,\n };\n case 'PRACTICE':\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'MASTERY':\n case 'TURING_PRACTICE':\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n lottie: LOTTIE.PRACTICE,\n };\n case 'PUZZLE':\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return {\n lottie: LOTTIE.PUZZLE,\n };\n case 'TURING_SUBJECTIVE':\n return {\n lottie: LOTTIE.SUBJECTIVE,\n };\n case 'TURING_BASIC':\n case 'PYTHON_BASIC':\n case 'PYTHON_VISUAL':\n return {\n lottie: LOTTIE.ACTIVITY,\n };\n case 'VIDEO':\n return {\n lottie: LOTTIE.VIDEO,\n };\n default:\n return {\n lottie: LOTTIE.PROJECT,\n };\n }\n};\n\nexport { getNodeStateBasedTagInfo, getNodeCardBasedIcon };\n"],"names":["SECONDS_PER_DAY","OVERDUE_TAG_STATES","calculateDueDateInfo","dueDateTs","isMilestone","currentTimestamp","differenceInSeconds","differenceInDays","isOverdue","daysText","getNodeStateBasedTagInfo","nodeState","isStudent","accuracy","jsx","ArrowTooltip","FlexView","Text","InProgressIconWrapper","Lock2Icon","jsxs","StatusIcon","Tag","Check2Icon","ExclamationIcon","getNodeCardBasedIcon","nodeType","LOTTIE"],"mappings":"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"}
@@ -1,21 +1,22 @@
1
- import { useState as n, useEffect as r } from "react";
2
- import { getDeviceType as c } from "../../utils/media.js";
3
- const d = () => {
4
- const [s, o] = n(() => window.innerWidth);
1
+ import { useState as c, useEffect as r } from "react";
2
+ import { getTheme as i } from "../../ui/theme/get-theme.js";
3
+ const a = () => {
4
+ const [e, o] = c(() => i().device);
5
5
  r(() => {
6
- function i() {
7
- o(window.innerWidth);
6
+ function t() {
7
+ const { device: n } = i();
8
+ o(n);
8
9
  }
9
- return window.addEventListener("resize", i), () => window.removeEventListener("resize", i);
10
+ return window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
10
11
  }, []);
11
- const e = c(s), t = e === "mobile";
12
+ const s = e === "mobile";
12
13
  return {
13
- isMobile: t,
14
- isCompact: t || e === "tablet",
15
- isDesktop: e === "desktop" || e === "large" || e === "xl"
14
+ isMobile: s,
15
+ isCompact: s || e === "tablet",
16
+ isDesktop: e === "small-desktop" || e === "desktop" || e === "large-device" || e === "xlarge-device"
16
17
  };
17
- }, f = d;
18
+ }, w = a;
18
19
  export {
19
- f as default
20
+ w as default
20
21
  };
21
22
  //# sourceMappingURL=use-viewport.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-viewport.js","sources":["../../../../src/features/hooks/use-viewport/use-viewport.ts"],"sourcesContent":["import type { IUseViewportReturn } from './use-viewport-types';\n\nimport { useEffect, useState } from 'react';\n\nimport { getDeviceType } from '../../utils/media';\n\nconst useViewport = (): IUseViewportReturn => {\n const [width, setWidth] = useState(() => window.innerWidth);\n\n useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const deviceType = getDeviceType(width);\n const isMobile = deviceType === 'mobile';\n const isTablet = deviceType === 'tablet';\n const isDesktop = deviceType === 'desktop';\n const isLarge = deviceType === 'large';\n const isXL = deviceType === 'xl';\n\n return {\n isMobile: isMobile,\n isCompact: isMobile || isTablet,\n isDesktop: isDesktop || isLarge || isXL,\n };\n};\n\nexport default useViewport;\n"],"names":["useViewport","width","setWidth","useState","useEffect","handleResize","deviceType","getDeviceType","isMobile","useViewport$1"],"mappings":";;AAMA,MAAMA,IAAc,MAA0B;AAC5C,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,MAAM,OAAO,UAAU;AAE1D,EAAAC,EAAU,MAAM;AACd,aAASC,IAAe;AACtB,MAAAH,EAAS,OAAO,UAAU;AAAA,IAC5B;AAEO,kBAAA,iBAAiB,UAAUG,CAAY,GAEvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,CAAE,CAAA;AAEC,QAAAC,IAAaC,EAAcN,CAAK,GAChCO,IAAWF,MAAe;AAMzB,SAAA;AAAA,IACL,UAAAE;AAAA,IACA,WAAWA,KAPIF,MAAe;AAAA,IAQ9B,WAPgBA,MAAe,aACjBA,MAAe,WAClBA,MAAe;AAAA,EAKS;AAEvC,GAEAG,IAAeT;"}
1
+ {"version":3,"file":"use-viewport.js","sources":["../../../../src/features/hooks/use-viewport/use-viewport.ts"],"sourcesContent":["import type { IUseViewportReturn } from './use-viewport-types';\n\nimport { useEffect, useState } from 'react';\n\nimport { getTheme } from '../../ui/theme/get-theme';\n\nconst useViewport = (): IUseViewportReturn => {\n const [deviceType, setDeviceType] = useState(() => getTheme().device);\n\n useEffect(() => {\n function handleResize() {\n const { device: newDeviceType } = getTheme();\n\n setDeviceType(newDeviceType);\n }\n\n window.addEventListener('resize', handleResize);\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const isMobile = deviceType === 'mobile';\n const isTablet = deviceType === 'tablet';\n const isSmallDesktop = deviceType === 'small-desktop';\n const isDesktop = deviceType === 'desktop';\n const isLarge = deviceType === 'large-device';\n const isXL = deviceType === 'xlarge-device';\n\n return {\n isMobile: isMobile,\n isCompact: isMobile || isTablet,\n isDesktop: isSmallDesktop || isDesktop || isLarge || isXL,\n };\n};\n\nexport default useViewport;\n"],"names":["useViewport","deviceType","setDeviceType","useState","getTheme","useEffect","handleResize","newDeviceType","isMobile","useViewport$1"],"mappings":";;AAMA,MAAMA,IAAc,MAA0B;AACtC,QAAA,CAACC,GAAYC,CAAa,IAAIC,EAAS,MAAMC,EAAA,EAAW,MAAM;AAEpE,EAAAC,EAAU,MAAM;AACd,aAASC,IAAe;AACtB,YAAM,EAAE,QAAQC,EAAc,IAAIH,EAAS;AAE3C,MAAAF,EAAcK,CAAa;AAAA,IAC7B;AAEO,kBAAA,iBAAiB,UAAUD,CAAY,GAEvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,CAAE,CAAA;AAEL,QAAME,IAAWP,MAAe;AAOzB,SAAA;AAAA,IACL,UAAAO;AAAA,IACA,WAAWA,KARIP,MAAe;AAAA,IAS9B,WARqBA,MAAe,mBACpBA,MAAe,aACjBA,MAAe,kBAClBA,MAAe;AAAA,EAK2B;AAEzD,GAEAQ,IAAeT;"}
@@ -0,0 +1,10 @@
1
+ import e from "styled-components";
2
+ import o from "../../ui/layout/flex-view.js";
3
+ const t = e(o)`
4
+ position: relative;
5
+ z-index: 1;
6
+ `;
7
+ export {
8
+ t as PuzzleFeedbackModalWrapper
9
+ };
10
+ //# sourceMappingURL=puzzle-feedback-celebration-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzle-feedback-celebration-styled.js","sources":["../../../../src/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\n\nconst PuzzleFeedbackModalWrapper = styled(FlexView)`\n position: relative;\n z-index: 1;\n`;\n\nexport { PuzzleFeedbackModalWrapper };\n"],"names":["PuzzleFeedbackModalWrapper","styled","FlexView"],"mappings":";;AAIM,MAAAA,IAA6BC,EAAOC,CAAQ;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,44 @@
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import a from "../../../assets/line-icons/icons/cross.js";
3
+ import d from "../../ui/buttons/icon-button/icon-button.js";
4
+ import r from "../../ui/layout/flex-view.js";
5
+ import m from "../../ui/lottie-animation/lottie-animation.js";
6
+ import p from "../../ui/modals/use-modal-actions.js";
7
+ import u from "../../ui/modals/use-modal-params.js";
8
+ import i from "../../ui/text/text.js";
9
+ import { getPuzzleStickerLottie as f } from "../utils/puzzle-feedback-celebration.js";
10
+ import { PuzzleFeedbackModalWrapper as h } from "./puzzle-feedback-celebration-styled.js";
11
+ const z = {
12
+ autoplay: !0,
13
+ loop: !0,
14
+ renderer: "canvas"
15
+ }, $ = () => {
16
+ const { closeModal: n } = p(), { feedbackComments: c, rewards: s } = u(), { sticker: t } = s[0] || {}, o = t ? f(t) : void 0;
17
+ return /* @__PURE__ */ e(r, { $justifyContent: "center", $alignItems: "center", $width: "100%", children: /* @__PURE__ */ l(h, { $flexGapX: 2.5, $widthX: 33.5, $alignItems: "center", children: [
18
+ /* @__PURE__ */ e(i, { $renderAs: "ac2-black", $color: "GREEN_4", children: "Puzzle Reviewed" }),
19
+ /* @__PURE__ */ e(r, { $widthX: 12.5, $heightX: 12.5, children: o && /* @__PURE__ */ e(
20
+ m,
21
+ {
22
+ width: 200,
23
+ height: 200,
24
+ src: o,
25
+ settings: z
26
+ }
27
+ ) }),
28
+ /* @__PURE__ */ e(i, { $width: "80%", $renderAs: "ah3", $color: "WHITE_1", $align: "center", children: c }),
29
+ /* @__PURE__ */ e(
30
+ d,
31
+ {
32
+ renderAs: "secondary",
33
+ Icon: a,
34
+ size: "small",
35
+ analyticsLabel: "close_puzzle_feedback_modal",
36
+ onClick: n
37
+ }
38
+ )
39
+ ] }) });
40
+ }, _ = $;
41
+ export {
42
+ _ as default
43
+ };
44
+ //# sourceMappingURL=puzzle-feedback-celebration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzle-feedback-celebration.js","sources":["../../../../src/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.tsx"],"sourcesContent":["import type { IPuzzleFeedbackCelebration } from './puzzle-feedback-celebration-types';\nimport type { FC } from 'react';\n\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport IconButton from '../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../ui/layout/flex-view';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport useModalActions from '../../ui/modals/use-modal-actions';\nimport useModalParams from '../../ui/modals/use-modal-params';\nimport Text from '../../ui/text/text';\nimport { getPuzzleStickerLottie } from '../utils/puzzle-feedback-celebration';\nimport * as Styled from './puzzle-feedback-celebration-styled';\n\nconst puzzleStickerLottieSettings = {\n autoplay: true,\n loop: true,\n renderer: 'canvas',\n};\n\nconst PuzzleFeedbackCelebration: FC = () => {\n const { closeModal } = useModalActions();\n const { feedbackComments, rewards } = useModalParams<IPuzzleFeedbackCelebration>();\n\n const { sticker } = rewards[0] || {};\n\n const stickerLottie = sticker ? getPuzzleStickerLottie(sticker) : undefined;\n\n return (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\" $width=\"100%\">\n <Styled.PuzzleFeedbackModalWrapper $flexGapX={2.5} $widthX={33.5} $alignItems=\"center\">\n <Text $renderAs=\"ac2-black\" $color=\"GREEN_4\">\n Puzzle Reviewed\n </Text>\n\n <FlexView $widthX={12.5} $heightX={12.5}>\n {stickerLottie && (\n <LottieAnimation\n width={200}\n height={200}\n src={stickerLottie}\n settings={puzzleStickerLottieSettings}\n />\n )}\n </FlexView>\n\n <Text $width=\"80%\" $renderAs=\"ah3\" $color=\"WHITE_1\" $align=\"center\">\n {feedbackComments}\n </Text>\n\n <IconButton\n renderAs=\"secondary\"\n Icon={CrossIcon}\n size=\"small\"\n analyticsLabel=\"close_puzzle_feedback_modal\"\n onClick={closeModal}\n />\n </Styled.PuzzleFeedbackModalWrapper>\n </FlexView>\n );\n};\n\nexport default PuzzleFeedbackCelebration;\n"],"names":["puzzleStickerLottieSettings","PuzzleFeedbackCelebration","closeModal","useModalActions","feedbackComments","rewards","useModalParams","sticker","stickerLottie","getPuzzleStickerLottie","FlexView","jsxs","Styled.PuzzleFeedbackModalWrapper","jsx","Text","LottieAnimation","IconButton","CrossIcon","PuzzleFeedbackCelebration$1"],"mappings":";;;;;;;;;;AAaA,MAAMA,IAA8B;AAAA,EAClC,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,IAAgC,MAAM;AACpC,QAAA,EAAE,YAAAC,MAAeC,KACjB,EAAE,kBAAAC,GAAkB,SAAAC,EAAQ,IAAIC,EAA2C,GAE3E,EAAE,SAAAC,EAAQ,IAAIF,EAAQ,CAAC,KAAK,CAAA,GAE5BG,IAAgBD,IAAUE,EAAuBF,CAAO,IAAI;AAElE,2BACGG,GAAS,EAAA,iBAAgB,UAAS,aAAY,UAAS,QAAO,QAC7D,UAAC,gBAAAC,EAAAC,GAAA,EAAkC,WAAW,KAAK,SAAS,MAAM,aAAY,UAC5E,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,aAAY,QAAO,WAAU,UAE7C,mBAAA;AAAA,sBAECJ,GAAS,EAAA,SAAS,MAAM,UAAU,MAChC,UACCF,KAAA,gBAAAK;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,KAAKP;AAAA,QACL,UAAUR;AAAA,MAAA;AAAA,IAAA,GAGhB;AAAA,IAEA,gBAAAa,EAACC,GAAK,EAAA,QAAO,OAAM,WAAU,OAAM,QAAO,WAAU,QAAO,UACxD,UACHV,EAAA,CAAA;AAAA,IAEA,gBAAAS;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,MAAMC;AAAA,QACN,MAAK;AAAA,QACL,gBAAe;AAAA,QACf,SAASf;AAAA,MAAA;AAAA,IACX;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,GAEAgB,IAAejB;"}
@@ -0,0 +1,44 @@
1
+ import { LOTTIE as e } from "../../../assets/lottie/lottie.js";
2
+ const A = (r) => {
3
+ switch (r) {
4
+ case "BOWLING":
5
+ case "GIFT":
6
+ case "LOVE_YOU":
7
+ case "DIAMOND":
8
+ return e.DIAMOND;
9
+ case "WAND":
10
+ return e.MAGICWAND;
11
+ case "ARM":
12
+ return e.MECHANICAL_ARM;
13
+ case "SLOT_MACHINE":
14
+ return e.SLOT_MACHINE;
15
+ case "MEDAL":
16
+ return e.MEDAL;
17
+ case "TROPHY":
18
+ return e.TROPHY;
19
+ case "DIRECT_HIT":
20
+ return e.DART;
21
+ case "DICE":
22
+ return e.DICE;
23
+ case "HUNDRED_PERCENT":
24
+ return e.CENT;
25
+ case "FLAG_IN_HOLE":
26
+ return e.GOLF;
27
+ case "VICTORY":
28
+ return e.VICTORY;
29
+ case "NICE":
30
+ return e.SUPER;
31
+ case "PARTY_POPPER":
32
+ return e.PARTY_POPPER;
33
+ case "CLAP":
34
+ return e.CLAP;
35
+ case "CONFETTI":
36
+ return e.PARTY_BALL;
37
+ default:
38
+ return e.CLAP;
39
+ }
40
+ };
41
+ export {
42
+ A as getPuzzleStickerLottie
43
+ };
44
+ //# sourceMappingURL=puzzle-feedback-celebration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"puzzle-feedback-celebration.js","sources":["../../../../src/features/puzzles/utils/puzzle-feedback-celebration.ts"],"sourcesContent":["import { LOTTIE } from '../../../assets/lottie/lottie';\n\nconst getPuzzleStickerLottie = (sticker: string) => {\n switch (sticker) {\n case 'BOWLING':\n case 'GIFT':\n case 'LOVE_YOU':\n case 'DIAMOND':\n return LOTTIE.DIAMOND;\n case 'WAND':\n return LOTTIE.MAGICWAND;\n case 'ARM':\n return LOTTIE.MECHANICAL_ARM;\n case 'SLOT_MACHINE':\n return LOTTIE.SLOT_MACHINE;\n case 'MEDAL':\n return LOTTIE.MEDAL;\n case 'TROPHY':\n return LOTTIE.TROPHY;\n case 'DIRECT_HIT':\n return LOTTIE.DART;\n case 'DICE':\n return LOTTIE.DICE;\n case 'HUNDRED_PERCENT':\n return LOTTIE.CENT;\n case 'FLAG_IN_HOLE':\n return LOTTIE.GOLF;\n case 'VICTORY':\n return LOTTIE.VICTORY;\n case 'NICE':\n return LOTTIE.SUPER;\n case 'PARTY_POPPER':\n return LOTTIE.PARTY_POPPER;\n case 'CLAP':\n return LOTTIE.CLAP;\n case 'CONFETTI':\n return LOTTIE.PARTY_BALL;\n\n default:\n return LOTTIE.CLAP; // Default to CLAP if no match found\n }\n};\n\nexport { getPuzzleStickerLottie };\n"],"names":["getPuzzleStickerLottie","sticker","LOTTIE"],"mappings":";AAEM,MAAAA,IAAyB,CAACC,MAAoB;AAClD,UAAQA,GAAS;AAAA,IACf,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOC,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAEhB;AACE,aAAOA,EAAO;AAAA,EAClB;AACF;"}
@@ -0,0 +1,11 @@
1
+ const e = {
2
+ tablet: 760,
3
+ smallDesktop: 920,
4
+ desktop: 1072,
5
+ largeDevice: 1232,
6
+ xlargeDevice: 1424
7
+ };
8
+ export {
9
+ e as BREAKPOINTS
10
+ };
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/ui/theme/constants.ts"],"sourcesContent":["export const BREAKPOINTS = {\n tablet: 760,\n smallDesktop: 920,\n desktop: 1072,\n largeDevice: 1232,\n xlargeDevice: 1424,\n};\n"],"names":["BREAKPOINTS"],"mappings":"AAAO,MAAMA,IAAc;AAAA,EACzB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,SAAS;AAAA,EACT,aAAa;AAAA,EACb,cAAc;AAChB;"}
@@ -0,0 +1,6 @@
1
+ import { BREAKPOINTS as r } from "./constants.js";
2
+ const l = (e) => e >= r.xlargeDevice ? "xlarge-device" : e >= r.largeDevice ? "large-device" : e >= r.smallDesktop ? "small-desktop" : e >= r.desktop ? "desktop" : e >= r.tablet ? "tablet" : "mobile";
3
+ export {
4
+ l as getDevice
5
+ };
6
+ //# sourceMappingURL=get-device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-device.js","sources":["../../../../src/features/ui/theme/get-device.ts"],"sourcesContent":["import type { TDeviceType } from '../types';\n\nimport { BREAKPOINTS } from './constants';\n\nexport const getDevice = (width: number): TDeviceType => {\n if (width >= BREAKPOINTS.xlargeDevice) return 'xlarge-device';\n\n if (width >= BREAKPOINTS.largeDevice) return 'large-device';\n\n if (width >= BREAKPOINTS.smallDesktop) return 'small-desktop';\n\n if (width >= BREAKPOINTS.desktop) return 'desktop';\n\n if (width >= BREAKPOINTS.tablet) return 'tablet';\n\n return 'mobile';\n};\n"],"names":["getDevice","width","BREAKPOINTS"],"mappings":";AAIa,MAAAA,IAAY,CAACC,MACpBA,KAASC,EAAY,eAAqB,kBAE1CD,KAASC,EAAY,cAAoB,iBAEzCD,KAASC,EAAY,eAAqB,kBAE1CD,KAASC,EAAY,UAAgB,YAErCD,KAASC,EAAY,SAAe,WAEjC;"}
@@ -1,32 +1,34 @@
1
1
  import r from "./arrow-tooltip.js";
2
- import e from "./button.js";
3
- import i from "./checkbox.js";
4
- import m, { hues as g } from "./clrs.js";
5
- import { getDeviceConfig as n } from "./device.js";
6
- import f from "./input.js";
7
- import p from "./layout.js";
8
- import u from "./tab.js";
9
- import C from "./text.js";
10
- import c from "./text-button.js";
11
- import { getZIndexConfig as x } from "./z-index.js";
12
- const v = () => {
13
- const t = p(), { gutter: o } = t;
2
+ import i from "./button.js";
3
+ import m from "./checkbox.js";
4
+ import g, { hues as f } from "./clrs.js";
5
+ import { getDevice as n } from "./get-device.js";
6
+ import p from "./input.js";
7
+ import u from "./layout.js";
8
+ import { getMediaQueries as c } from "./media-queries.js";
9
+ import s from "./tab.js";
10
+ import x from "./text.js";
11
+ import C from "./text-button.js";
12
+ import { getZIndexConfig as a } from "./z-index.js";
13
+ const z = () => {
14
+ const t = u(), { gutter: o, deviceWidth: e } = t;
14
15
  return {
15
16
  arrowTooltip: r(),
16
- button: e(o),
17
- colors: m(),
18
- hues: g,
19
- input: f(o),
20
- checkbox: i(o),
17
+ button: i(o),
18
+ colors: g(),
19
+ hues: f,
20
+ input: p(o),
21
+ checkbox: m(o),
21
22
  layout: t,
22
- tab: u(t.gutter),
23
- text: C(),
24
- textButton: c(),
25
- zIndex: x(),
26
- device: n()
23
+ tab: s(t.gutter),
24
+ text: x(),
25
+ textButton: C(),
26
+ zIndex: a(),
27
+ device: n(e),
28
+ mediaQueries: c()
27
29
  };
28
30
  };
29
31
  export {
30
- v as getTheme
32
+ z as getTheme
31
33
  };
32
34
  //# sourceMappingURL=get-theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport { getDeviceConfig } from './device';\nimport getInputConfig from './input';\nimport getLayout from './layout';\nimport getTabConfig from './tab';\nimport getTextTypes from './text';\nimport getTextButtonConfig from './text-button';\nimport { getZIndexConfig } from './z-index';\n\nconst getTheme: () => DefaultTheme = () => {\n const layout = getLayout();\n const { gutter } = layout;\n\n return {\n arrowTooltip: getArrowTooltipConfig(),\n button: getButtonConfig(gutter),\n colors: getColors(),\n hues: hues,\n input: getInputConfig(gutter),\n checkbox: getCheckboxConfig(gutter),\n layout,\n tab: getTabConfig(layout.gutter),\n text: getTextTypes(),\n textButton: getTextButtonConfig(),\n zIndex: getZIndexConfig(),\n device: getDeviceConfig(),\n };\n};\n\nexport { getTheme };\n"],"names":["getTheme","layout","getLayout","gutter","getArrowTooltipConfig","getButtonConfig","getColors","hues","getInputConfig","getCheckboxConfig","getTabConfig","getTextTypes","getTextButtonConfig","getZIndexConfig","getDeviceConfig"],"mappings":";;;;;;;;;;;AAcA,MAAMA,IAA+B,MAAM;AACzC,QAAMC,IAASC,KACT,EAAE,QAAAC,EAAW,IAAAF;AAEZ,SAAA;AAAA,IACL,cAAcG,EAAsB;AAAA,IACpC,QAAQC,EAAgBF,CAAM;AAAA,IAC9B,QAAQG,EAAU;AAAA,IAClB,MAAAC;AAAA,IACA,OAAOC,EAAeL,CAAM;AAAA,IAC5B,UAAUM,EAAkBN,CAAM;AAAA,IAClC,QAAAF;AAAA,IACA,KAAKS,EAAaT,EAAO,MAAM;AAAA,IAC/B,MAAMU,EAAa;AAAA,IACnB,YAAYC,EAAoB;AAAA,IAChC,QAAQC,EAAgB;AAAA,IACxB,QAAQC,EAAgB;AAAA,EAAA;AAE5B;"}
1
+ {"version":3,"file":"get-theme.js","sources":["../../../../src/features/ui/theme/get-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components';\n\nimport getArrowTooltipConfig from './arrow-tooltip';\nimport getButtonConfig from './button';\nimport getCheckboxConfig from './checkbox';\nimport getColors, { hues } from './clrs';\nimport { getDevice } from './get-device';\nimport getInputConfig from './input';\nimport getLayout from './layout';\nimport { getMediaQueries } from './media-queries';\nimport getTabConfig from './tab';\nimport getTextTypes from './text';\nimport getTextButtonConfig from './text-button';\nimport { getZIndexConfig } from './z-index';\n\nconst getTheme: () => DefaultTheme = () => {\n const layout = getLayout();\n const { gutter, deviceWidth } = layout;\n\n return {\n arrowTooltip: getArrowTooltipConfig(),\n button: getButtonConfig(gutter),\n colors: getColors(),\n hues: hues,\n input: getInputConfig(gutter),\n checkbox: getCheckboxConfig(gutter),\n layout,\n tab: getTabConfig(layout.gutter),\n text: getTextTypes(),\n textButton: getTextButtonConfig(),\n zIndex: getZIndexConfig(),\n device: getDevice(deviceWidth),\n mediaQueries: getMediaQueries(),\n };\n};\n\nexport { getTheme };\n"],"names":["getTheme","layout","getLayout","gutter","deviceWidth","getArrowTooltipConfig","getButtonConfig","getColors","hues","getInputConfig","getCheckboxConfig","getTabConfig","getTextTypes","getTextButtonConfig","getZIndexConfig","getDevice","getMediaQueries"],"mappings":";;;;;;;;;;;;AAeA,MAAMA,IAA+B,MAAM;AACzC,QAAMC,IAASC,KACT,EAAE,QAAAC,GAAQ,aAAAC,EAAgB,IAAAH;AAEzB,SAAA;AAAA,IACL,cAAcI,EAAsB;AAAA,IACpC,QAAQC,EAAgBH,CAAM;AAAA,IAC9B,QAAQI,EAAU;AAAA,IAClB,MAAAC;AAAA,IACA,OAAOC,EAAeN,CAAM;AAAA,IAC5B,UAAUO,EAAkBP,CAAM;AAAA,IAClC,QAAAF;AAAA,IACA,KAAKU,EAAaV,EAAO,MAAM;AAAA,IAC/B,MAAMW,EAAa;AAAA,IACnB,YAAYC,EAAoB;AAAA,IAChC,QAAQC,EAAgB;AAAA,IACxB,QAAQC,EAAUX,CAAW;AAAA,IAC7B,cAAcY,EAAgB;AAAA,EAAA;AAElC;"}
@@ -1,9 +1,12 @@
1
- function e(t = 1) {
1
+ function n(t = 1) {
2
+ const e = window.innerWidth, i = window.innerHeight;
2
3
  return {
3
- gutter: 16 * t
4
+ gutter: 16 * t,
5
+ deviceWidth: e,
6
+ deviceHeight: i
4
7
  };
5
8
  }
6
9
  export {
7
- e as default
10
+ n as default
8
11
  };
9
12
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../../../src/features/ui/theme/layout.ts"],"sourcesContent":["import type { ILayout } from '../types';\n\nfunction getLayout(multiplier: number = 1): ILayout {\n return {\n gutter: 16 * multiplier,\n };\n}\n\nexport default getLayout;\n"],"names":["getLayout","multiplier"],"mappings":"AAEA,SAASA,EAAUC,IAAqB,GAAY;AAC3C,SAAA;AAAA,IACL,QAAQ,KAAKA;AAAA,EAAA;AAEjB;"}
1
+ {"version":3,"file":"layout.js","sources":["../../../../src/features/ui/theme/layout.ts"],"sourcesContent":["import type { ILayout } from '../types';\n\nfunction getLayout(multiplier: number = 1): ILayout {\n const width = window.innerWidth;\n const height = window.innerHeight;\n\n return {\n gutter: 16 * multiplier,\n deviceWidth: width,\n deviceHeight: height,\n };\n}\n\nexport default getLayout;\n"],"names":["getLayout","multiplier","width","height"],"mappings":"AAEA,SAASA,EAAUC,IAAqB,GAAY;AAClD,QAAMC,IAAQ,OAAO,YACfC,IAAS,OAAO;AAEf,SAAA;AAAA,IACL,QAAQ,KAAKF;AAAA,IACb,aAAaC;AAAA,IACb,cAAcC;AAAA,EAAA;AAElB;"}
@@ -0,0 +1,11 @@
1
+ import { BREAKPOINTS as i } from "./constants.js";
2
+ const t = () => ({
3
+ minWidthTablet: `@media (min-width: ${i.tablet}px)`,
4
+ minWidthSmallDesktop: `@media (min-width: ${i.smallDesktop}px)`,
5
+ minWidthDesktop: `@media (min-width: ${i.desktop}px)`,
6
+ minWidthLargeDevice: `@media (min-width: ${i.largeDevice}px)`
7
+ });
8
+ export {
9
+ t as getMediaQueries
10
+ };
11
+ //# sourceMappingURL=media-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-queries.js","sources":["../../../../src/features/ui/theme/media-queries.ts"],"sourcesContent":["import { BREAKPOINTS } from './constants';\n\nexport const getMediaQueries = () => ({\n minWidthTablet: `@media (min-width: ${BREAKPOINTS.tablet}px)`,\n minWidthSmallDesktop: `@media (min-width: ${BREAKPOINTS.smallDesktop}px)`,\n minWidthDesktop: `@media (min-width: ${BREAKPOINTS.desktop}px)`,\n minWidthLargeDevice: `@media (min-width: ${BREAKPOINTS.largeDevice}px)`,\n});\n"],"names":["getMediaQueries","BREAKPOINTS"],"mappings":";AAEO,MAAMA,IAAkB,OAAO;AAAA,EACpC,gBAAgB,sBAAsBC,EAAY,MAAM;AAAA,EACxD,sBAAsB,sBAAsBA,EAAY,YAAY;AAAA,EACpE,iBAAiB,sBAAsBA,EAAY,OAAO;AAAA,EAC1D,qBAAqB,sBAAsBA,EAAY,WAAW;AACpE;"}
@@ -1,22 +1,22 @@
1
- const t = 792, e = 1008, s = 30, T = 32, n = 28, I = 48, E = 42, c = 16, a = 56, _ = 0, o = 360, O = 52, N = { left: 0, top: 56 }, R = [
1
+ const t = 792, e = 1008, s = 30, T = 32, n = 28, I = 48, a = 42, c = 16, E = 56, _ = 0, o = 52, O = { left: 0, top: 56 }, N = [
2
2
  "practice-basic-optional",
3
3
  "practice-regular-optional",
4
4
  "advanced-we-do",
5
5
  "advanced-your-turn",
6
6
  "advanced-explore",
7
7
  "advanced-practice"
8
- ], A = 2e3, S = [
8
+ ], R = 2e3, S = [
9
9
  { name: "CORRECT", url: "https://static.qumath.in/static/intel-student/cmpress/correct-zap.mp3" },
10
10
  {
11
11
  name: "INCORRECT",
12
12
  url: "https://static.qumath.in/static/intel-student/cmpress/incorrect-zap.mp3"
13
13
  }
14
- ], i = [
14
+ ], A = [
15
15
  {
16
16
  name: "VALIDATE",
17
17
  url: "https://wmznlejcfq.s3.ap-southeast-1.amazonaws.com/static/intel-student/cmpress/validate-zap.mp3"
18
18
  }
19
- ], l = [
19
+ ], i = [
20
20
  {
21
21
  label: "Answered all the questions independently.",
22
22
  id: "E"
@@ -31,21 +31,20 @@ const t = 792, e = 1008, s = 30, T = 32, n = 28, I = 48, E = 42, c = 16, a = 56,
31
31
  }
32
32
  ];
33
33
  export {
34
- a as ACTION_BAR_HEIGHT,
35
- A as CLOZE_FORMULA_RESPONSE_LIMIT,
36
- N as DESMOS_CALC_POSITION,
37
- l as EXIT_TICKET_RATING_OPTIONS,
34
+ E as ACTION_BAR_HEIGHT,
35
+ R as CLOZE_FORMULA_RESPONSE_LIMIT,
36
+ O as DESMOS_CALC_POSITION,
37
+ i as EXIT_TICKET_RATING_OPTIONS,
38
38
  s as INTERSECTION_OBSERVER_THRESHOLD_POINTS,
39
39
  T as INTERSECTION_OBSERVER_THROTTLE_TIME,
40
- o as LEARNOSITY_KEYBOARD_HEIGHT,
41
- R as OPTIONAL_ITEM_TYPES,
40
+ N as OPTIONAL_ITEM_TYPES,
42
41
  c as QUESTIONS_GAP,
43
42
  t as QUESTION_WIDTH,
44
- O as SIDEBAR_WIDTH,
43
+ o as SIDEBAR_WIDTH,
45
44
  e as SPLIT_QUESTION_WIDTH,
46
45
  S as SYSTEM_VALIDATION_AUDIO_LIST,
47
- i as TEACHER_VALIDATION_AUDIO_LIST,
48
- E as TOP_NAVIGATION_ARROW_WIDTH,
46
+ A as TEACHER_VALIDATION_AUDIO_LIST,
47
+ a as TOP_NAVIGATION_ARROW_WIDTH,
49
48
  I as TOP_NAVIGATION_HEIGHT,
50
49
  _ as WORKSHEET_CONTAINER_BORDER_RADIUS,
51
50
  n as WORKSHEET_NUDGE_BANNER_HEIGHT