@cuemath/leap 2.8.62-aa1 → 2.8.62-rj-1

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 (38) hide show
  1. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js +46 -45
  2. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
  3. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +26 -25
  4. package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  5. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js +51 -49
  6. package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
  7. package/dist/features/circle-games/game-launcher/game-launcher.js +87 -90
  8. package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
  9. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +83 -82
  10. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +117 -116
  12. package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
  13. package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
  14. package/dist/features/circle-games/games/web-view/web-view.js +53 -47
  15. package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
  16. package/dist/features/cue-canvas/cue-canvas-provider.js +8 -9
  17. package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
  18. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js +7 -4
  19. package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
  20. package/dist/features/journey/use-journey/journey-context-provider.js +73 -69
  21. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  22. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js +60 -59
  23. package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
  24. package/dist/features/sheets/resources-list/resource-item/resource-item.js +90 -89
  25. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  26. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js +61 -60
  27. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
  28. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js +64 -63
  29. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
  30. package/dist/features/sheets/utils/is-v3-worksheet.js +14 -4
  31. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  32. package/dist/features/ui/section-list/section-list.js +12 -12
  33. package/dist/features/ui/section-list/section-list.js.map +1 -1
  34. package/dist/index.d.ts +14 -13
  35. package/dist/index.js +75 -74
  36. package/package.json +2 -4
  37. package/dist/library/polypad.js +0 -24965
  38. package/dist/library/polypad.js.map +0 -1
@@ -1,110 +1,111 @@
1
- import { jsxs as q, Fragment as A, jsx as s } from "react/jsx-runtime";
2
- import { useMemo as y, useCallback as I } from "react";
3
- import g from "../../../../../ui/buttons/button/button.js";
4
- import j from "../../../../../ui/context-menu/context-menu.js";
5
- import { useUIContext as U } from "../../../../../ui/context/context.js";
6
- import { NODE_TYPE as V } from "../../../../constants/sheet.js";
7
- import W from "../context-menu-helper/menu-element/menu-element.js";
8
- import Y from "../context-menu-helper/target-element/target-element.js";
9
- import { MENU_OPTIONS as E } from "./student-actions-constant.js";
10
- const K = ({
11
- sheet: v,
1
+ import { jsxs as A, Fragment as g, jsx as s } from "react/jsx-runtime";
2
+ import { useMemo as I, useCallback as C } from "react";
3
+ import V from "../../../../../ui/buttons/button/button.js";
4
+ import W from "../../../../../ui/context-menu/context-menu.js";
5
+ import { useUIContext as j } from "../../../../../ui/context/context.js";
6
+ import { NODE_TYPE as U } from "../../../../constants/sheet.js";
7
+ import { isV3Worksheet as m } from "../../../../utils/is-v3-worksheet.js";
8
+ import Y from "../context-menu-helper/menu-element/menu-element.js";
9
+ import z from "../context-menu-helper/target-element/target-element.js";
10
+ import { MENU_OPTIONS as R } from "./student-actions-constant.js";
11
+ const $ = ({
12
+ sheet: t,
12
13
  isDefocused: o,
13
- isLastSheet: C,
14
- ...N
14
+ isLastSheet: N,
15
+ ...x
15
16
  }) => {
16
- const { teacherId: _, milestoneId: a, section: m, onStart: d, onResume: c, onReattempt: u, onReview: p } = N, { permissions: x, node_id: l, user_node_id: e, node_type: M } = v, {
17
- can_start: r,
18
- can_resume: f,
17
+ const { teacherId: b, milestoneId: d, section: c, onStart: u, onResume: p, onReattempt: l, onReview: f } = x, { permissions: M, node_id: w, user_node_id: e, node_type: T } = t, {
18
+ can_start: i,
19
+ can_resume: E,
19
20
  can_review: h,
20
- can_reattempt: w,
21
- is_review_disabled: R
22
- } = x, t = M === V.DYNAMIC ? e : l, { onEvent: b } = U(), i = y(() => {
23
- const n = {
24
- teacher_id: _,
25
- node_id: l,
21
+ can_reattempt: _,
22
+ is_review_disabled: y
23
+ } = M, n = T === U.DYNAMIC ? e : w, { onEvent: v } = j(), a = I(() => {
24
+ const r = {
25
+ teacher_id: b,
26
+ node_id: w,
26
27
  user_node_id: e
27
28
  };
28
- return a && (n.milestone_id = a), m && (n.section = m), n;
29
- }, [a, l, m, _, e]), T = I(() => {
30
- if (!t)
29
+ return d && (r.milestone_id = d), c && (r.section = c), r;
30
+ }, [d, w, c, b, e]), k = C(() => {
31
+ if (!n)
31
32
  throw new Error("No required id is present to open the sheet.");
32
- if (r && typeof d == "function") {
33
- d(t, e);
33
+ if (i && typeof u == "function") {
34
+ u(n, m(t), e);
34
35
  return;
35
36
  }
36
- if (f && typeof c == "function") {
37
- c(t, e);
37
+ if (E && typeof p == "function") {
38
+ p(n, m(t), e);
38
39
  return;
39
40
  }
40
41
  throw new Error("No callback provided. If provided it must be a function");
41
- }, [f, r, t, c, d, e]), S = I(
42
- (n) => {
43
- if (b("clicked", {
44
- ...i,
45
- cta: n
46
- }), n === E.REVIEW) {
42
+ }, [E, i, n, p, u, t, e]), S = C(
43
+ (r) => {
44
+ if (v("clicked", {
45
+ ...a,
46
+ cta: r
47
+ }), r === R.REVIEW) {
47
48
  if (!e)
48
49
  throw new Error("No required id is present to open the sheet.");
49
- if (typeof p != "function")
50
+ if (typeof f != "function")
50
51
  throw new Error("onReview must be a function");
51
- p(e);
52
+ f(e, m(t, "review"));
52
53
  return;
53
54
  }
54
- if (!t)
55
+ if (!n)
55
56
  throw new Error("No required id is present to open the sheet.");
56
- if (typeof u != "function")
57
+ if (typeof l != "function")
57
58
  throw new Error("onReattempt must be a function");
58
- u(t, e);
59
+ l(n, m(t), e);
59
60
  },
60
- [i, t, u, p, b, e]
61
- ), k = r || f, O = !o && w || h, P = y(
61
+ [a, n, l, f, t, v, e]
62
+ ), O = i || E, P = !o && _ || h, q = I(
62
63
  () => [
63
64
  {
64
65
  show: h,
65
- label: E.REVIEW,
66
- disable: R
66
+ label: R.REVIEW,
67
+ disable: y
67
68
  },
68
69
  {
69
- show: !o && w,
70
- label: E.REATTEMPT
70
+ show: !o && _,
71
+ label: R.REATTEMPT
71
72
  }
72
73
  ],
73
- [w, h, o, R]
74
+ [_, h, o, y]
74
75
  );
75
- return /* @__PURE__ */ q(A, { children: [
76
- k && /* @__PURE__ */ s(
77
- g,
76
+ return /* @__PURE__ */ A(g, { children: [
77
+ O && /* @__PURE__ */ s(
78
+ V,
78
79
  {
79
- label: r ? "Start" : "Resume",
80
+ label: i ? "Start" : "Resume",
80
81
  widthX: 7,
81
82
  renderAs: "primary",
82
83
  size: "xsmall",
83
- onClick: T,
84
+ onClick: k,
84
85
  disabled: o,
85
- analyticsProps: i,
86
+ analyticsProps: a,
86
87
  shape: "square"
87
88
  }
88
89
  ),
89
- O && /* @__PURE__ */ s(
90
- j,
90
+ P && /* @__PURE__ */ s(
91
+ W,
91
92
  {
92
- targetElement: /* @__PURE__ */ s(Y, { analyticsLabel: "Sheet menu", analyticsProps: i }),
93
+ targetElement: /* @__PURE__ */ s(z, { analyticsLabel: "Sheet menu", analyticsProps: a }),
93
94
  menuElement: /* @__PURE__ */ s(
94
- W,
95
+ Y,
95
96
  {
96
- options: P,
97
+ options: q,
97
98
  handleOnMenuOptionSelection: S
98
99
  }
99
100
  ),
100
101
  menuOffset: 10,
101
102
  menuZIndex: 1,
102
- placeTop: C
103
+ placeTop: N
103
104
  }
104
105
  )
105
106
  ] });
106
107
  };
107
108
  export {
108
- K as default
109
+ $ as default
109
110
  };
110
111
  //# sourceMappingURL=student-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"student-actions.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.tsx"],"sourcesContent":["import type { IRewardNActionsProps, TTrackEventPayloadProps } from '../reward-n-actions-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport { NODE_TYPE } from '../../../../constants/sheet';\nimport MenuElement from '../context-menu-helper/menu-element/menu-element';\nimport TargetElement from '../context-menu-helper/target-element/target-element';\nimport { MENU_OPTIONS } from './student-actions-constant';\n\nconst StudentActions: FC<IRewardNActionsProps> = ({\n sheet,\n isDefocused,\n isLastSheet,\n ...restStudentActionProps\n}) => {\n const { teacherId, milestoneId, section, onStart, onResume, onReattempt, onReview } =\n restStudentActionProps;\n const { permissions, node_id: nodeId, user_node_id: userNodeId, node_type: nodeType } = sheet;\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_reattempt: canReattempt,\n is_review_disabled: isReviewHidden,\n } = permissions;\n\n const id = nodeType === NODE_TYPE.DYNAMIC ? userNodeId : nodeId;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const analyticsProps = useMemo(() => {\n const payload: TTrackEventPayloadProps = {\n teacher_id: teacherId,\n node_id: nodeId,\n user_node_id: userNodeId,\n };\n\n if (milestoneId) {\n payload.milestone_id = milestoneId;\n }\n\n if (section) {\n payload.section = section;\n }\n\n return payload;\n }, [milestoneId, nodeId, section, teacherId, userNodeId]);\n\n const handleOnPrimaryCtaClick = useCallback(() => {\n if (!id) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (canStart && typeof onStart === 'function') {\n onStart(id, userNodeId);\n\n return;\n }\n\n if (canResume && typeof onResume === 'function') {\n onResume(id, userNodeId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [canResume, canStart, id, onResume, onStart, userNodeId]);\n\n const handleOnMenuOptionSelection = useCallback(\n (selectedOption: string) => {\n trackEvent('clicked', {\n ...analyticsProps,\n cta: selectedOption,\n });\n if (selectedOption === MENU_OPTIONS.REVIEW) {\n if (!userNodeId) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n onReview(userNodeId);\n\n return;\n }\n\n if (!id) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (typeof onReattempt !== 'function') {\n throw new Error('onReattempt must be a function');\n }\n\n onReattempt(id, userNodeId);\n\n return;\n },\n [analyticsProps, id, onReattempt, onReview, trackEvent, userNodeId],\n );\n\n const renderPrimaryCta = canStart || canResume;\n const renderContextMenu = (!isDefocused && canReattempt) || canReview;\n\n const options = useMemo(\n () => [\n {\n show: canReview,\n label: MENU_OPTIONS.REVIEW,\n disable: isReviewHidden,\n },\n {\n show: !isDefocused && canReattempt,\n label: MENU_OPTIONS.REATTEMPT,\n },\n ],\n [canReattempt, canReview, isDefocused, isReviewHidden],\n );\n\n return (\n <>\n {renderPrimaryCta && (\n <Button\n label={canStart ? 'Start' : 'Resume'}\n widthX={7}\n renderAs=\"primary\"\n size=\"xsmall\"\n onClick={handleOnPrimaryCtaClick}\n disabled={isDefocused}\n analyticsProps={analyticsProps}\n shape=\"square\"\n />\n )}\n\n {renderContextMenu && (\n <ContextMenu\n targetElement={\n <TargetElement analyticsLabel=\"Sheet menu\" analyticsProps={analyticsProps} />\n }\n menuElement={\n <MenuElement\n options={options}\n handleOnMenuOptionSelection={handleOnMenuOptionSelection}\n />\n }\n menuOffset={10}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </>\n );\n};\n\nexport default StudentActions;\n"],"names":["StudentActions","sheet","isDefocused","isLastSheet","restStudentActionProps","teacherId","milestoneId","section","onStart","onResume","onReattempt","onReview","permissions","nodeId","userNodeId","nodeType","canStart","canResume","canReview","canReattempt","isReviewHidden","id","NODE_TYPE","trackEvent","useUIContext","analyticsProps","useMemo","payload","handleOnPrimaryCtaClick","useCallback","handleOnMenuOptionSelection","selectedOption","MENU_OPTIONS","renderPrimaryCta","renderContextMenu","options","jsxs","Fragment","jsx","Button","ContextMenu","TargetElement","MenuElement"],"mappings":"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"}
1
+ {"version":3,"file":"student-actions.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.tsx"],"sourcesContent":["import type { IRewardNActionsProps, TTrackEventPayloadProps } from '../reward-n-actions-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo } from 'react';\n\nimport Button from '../../../../../ui/buttons/button/button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport { NODE_TYPE } from '../../../../constants/sheet';\nimport { isV3Worksheet } from '../../../../utils/is-v3-worksheet';\nimport MenuElement from '../context-menu-helper/menu-element/menu-element';\nimport TargetElement from '../context-menu-helper/target-element/target-element';\nimport { MENU_OPTIONS } from './student-actions-constant';\n\nconst StudentActions: FC<IRewardNActionsProps> = ({\n sheet,\n isDefocused,\n isLastSheet,\n ...restStudentActionProps\n}) => {\n const { teacherId, milestoneId, section, onStart, onResume, onReattempt, onReview } =\n restStudentActionProps;\n const { permissions, node_id: nodeId, user_node_id: userNodeId, node_type: nodeType } = sheet;\n\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_reattempt: canReattempt,\n is_review_disabled: isReviewHidden,\n } = permissions;\n\n const id = nodeType === NODE_TYPE.DYNAMIC ? userNodeId : nodeId;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const analyticsProps = useMemo(() => {\n const payload: TTrackEventPayloadProps = {\n teacher_id: teacherId,\n node_id: nodeId,\n user_node_id: userNodeId,\n };\n\n if (milestoneId) {\n payload.milestone_id = milestoneId;\n }\n\n if (section) {\n payload.section = section;\n }\n\n return payload;\n }, [milestoneId, nodeId, section, teacherId, userNodeId]);\n\n const handleOnPrimaryCtaClick = useCallback(() => {\n if (!id) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (canStart && typeof onStart === 'function') {\n onStart(id, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n if (canResume && typeof onResume === 'function') {\n onResume(id, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [canResume, canStart, id, onResume, onStart, sheet, userNodeId]);\n\n const handleOnMenuOptionSelection = useCallback(\n (selectedOption: string) => {\n trackEvent('clicked', {\n ...analyticsProps,\n cta: selectedOption,\n });\n if (selectedOption === MENU_OPTIONS.REVIEW) {\n if (!userNodeId) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'));\n\n return;\n }\n\n if (!id) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n if (typeof onReattempt !== 'function') {\n throw new Error('onReattempt must be a function');\n }\n\n onReattempt(id, isV3Worksheet(sheet), userNodeId);\n\n return;\n },\n [analyticsProps, id, onReattempt, onReview, sheet, trackEvent, userNodeId],\n );\n\n const renderPrimaryCta = canStart || canResume;\n const renderContextMenu = (!isDefocused && canReattempt) || canReview;\n\n const options = useMemo(\n () => [\n {\n show: canReview,\n label: MENU_OPTIONS.REVIEW,\n disable: isReviewHidden,\n },\n {\n show: !isDefocused && canReattempt,\n label: MENU_OPTIONS.REATTEMPT,\n },\n ],\n [canReattempt, canReview, isDefocused, isReviewHidden],\n );\n\n return (\n <>\n {renderPrimaryCta && (\n <Button\n label={canStart ? 'Start' : 'Resume'}\n widthX={7}\n renderAs=\"primary\"\n size=\"xsmall\"\n onClick={handleOnPrimaryCtaClick}\n disabled={isDefocused}\n analyticsProps={analyticsProps}\n shape=\"square\"\n />\n )}\n\n {renderContextMenu && (\n <ContextMenu\n targetElement={\n <TargetElement analyticsLabel=\"Sheet menu\" analyticsProps={analyticsProps} />\n }\n menuElement={\n <MenuElement\n options={options}\n handleOnMenuOptionSelection={handleOnMenuOptionSelection}\n />\n }\n menuOffset={10}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </>\n );\n};\n\nexport default StudentActions;\n"],"names":["StudentActions","sheet","isDefocused","isLastSheet","restStudentActionProps","teacherId","milestoneId","section","onStart","onResume","onReattempt","onReview","permissions","nodeId","userNodeId","nodeType","canStart","canResume","canReview","canReattempt","isReviewHidden","id","NODE_TYPE","trackEvent","useUIContext","analyticsProps","useMemo","payload","handleOnPrimaryCtaClick","useCallback","isV3Worksheet","handleOnMenuOptionSelection","selectedOption","MENU_OPTIONS","renderPrimaryCta","renderContextMenu","options","jsxs","Fragment","jsx","Button","ContextMenu","TargetElement","MenuElement"],"mappings":"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"}
@@ -1,156 +1,157 @@
1
- import { jsxs as P, Fragment as G, jsx as r } from "react/jsx-runtime";
1
+ import { jsxs as G, Fragment as H, jsx as r } from "react/jsx-runtime";
2
2
  import { useMemo as S, useCallback as C } from "react";
3
- import H from "../../../../../../assets/line-icons/icons/eye2.js";
4
- import j from "../../../../../ui/buttons/button/button.js";
5
- import q from "../../../../../ui/buttons/icon-button/icon-button.js";
6
- import B from "../../../../../ui/context-menu/context-menu.js";
7
- import { useUIContext as K } from "../../../../../ui/context/context.js";
3
+ import j from "../../../../../../assets/line-icons/icons/eye2.js";
4
+ import q from "../../../../../ui/buttons/button/button.js";
5
+ import B from "../../../../../ui/buttons/icon-button/icon-button.js";
6
+ import K from "../../../../../ui/context-menu/context-menu.js";
7
+ import { useUIContext as V } from "../../../../../ui/context/context.js";
8
+ import { isV3Worksheet as N } from "../../../../utils/is-v3-worksheet.js";
8
9
  import z from "../context-menu-helper/menu-element/menu-element.js";
9
- import V from "../context-menu-helper/target-element/target-element.js";
10
- import { TEACHER_MENU_OPTIONS as e } from "./teacher-actions-constant.js";
11
- const on = ({
12
- sheet: o,
10
+ import W from "../context-menu-helper/target-element/target-element.js";
11
+ import { TEACHER_MENU_OPTIONS as o } from "./teacher-actions-constant.js";
12
+ const rn = ({
13
+ sheet: n,
13
14
  isDefocused: c,
14
- isLastSheet: N,
15
- ...R
15
+ isLastSheet: R,
16
+ ...g
16
17
  }) => {
17
18
  const {
18
19
  teacherId: w,
19
20
  milestoneId: s,
20
21
  section: l,
21
- onReview: u,
22
- onPreview: m,
22
+ onReview: m,
23
+ onPreview: u,
23
24
  onReset: _,
24
25
  onChangeLocation: A,
25
26
  onMarkAsFamiliar: E,
26
27
  onUnlock: I,
27
28
  onUnAssignSheet: k
28
- } = R, { permissions: g, user_node_id: t, node_id: a } = o, {
29
+ } = g, { permissions: M, user_node_id: t, node_id: i } = n, {
29
30
  can_teacher_review: y,
30
31
  can_reset: f,
31
32
  can_change_attempt_location: d,
32
33
  can_mark_familiar: p,
33
- can_unlock: M,
34
+ can_unlock: v,
34
35
  can_unassign: h
35
- } = g, { onEvent: b } = K(), i = S(() => {
36
- const n = {
36
+ } = M, { onEvent: b } = V(), a = S(() => {
37
+ const e = {
37
38
  teacher_id: w,
38
- node_id: a,
39
+ node_id: i,
39
40
  user_node_id: t
40
41
  };
41
- return l && (n.section = l), s && (n.milestone_id = s), n;
42
- }, [s, a, l, w, t]), v = C(
43
- (n) => {
44
- const F = {
45
- ...i,
46
- cta: n
42
+ return l && (e.section = l), s && (e.milestone_id = s), e;
43
+ }, [s, i, l, w, t]), O = C(
44
+ (e) => {
45
+ const P = {
46
+ ...a,
47
+ cta: e
47
48
  };
48
- b("clicked", F);
49
+ b("clicked", P);
49
50
  },
50
- [b, i]
51
- ), O = C(() => {
52
- if (y && typeof u == "function") {
51
+ [b, a]
52
+ ), U = C(() => {
53
+ if (y && typeof m == "function") {
53
54
  if (!t)
54
55
  throw new Error("No required id is present to open the sheet.");
55
- u(t);
56
+ m(t, N(n, "review"));
56
57
  return;
57
58
  }
58
- if (typeof m == "function") {
59
- m(o);
59
+ if (typeof u == "function") {
60
+ u(n, N(n));
60
61
  return;
61
62
  }
62
63
  throw new Error("No callback provided. If provided it must be a function");
63
- }, [y, m, u, o, t]), U = (n) => {
64
- switch (v(n), n) {
65
- case e.CHANGE_LOCATION:
64
+ }, [y, u, m, n, t]), T = (e) => {
65
+ switch (O(e), e) {
66
+ case o.CHANGE_LOCATION:
66
67
  if (typeof A != "function")
67
68
  throw new Error("onChangeLocation must be a function");
68
- A(o);
69
+ A(n);
69
70
  return;
70
- case e.UNASSIGN:
71
+ case o.UNASSIGN:
71
72
  if (typeof k != "function")
72
73
  throw new Error("onUnAssignSheet must be a function");
73
74
  if (!t)
74
75
  throw new Error("No user node id is present to unassign the sheet.");
75
- k(o);
76
+ k(n);
76
77
  return;
77
- case e.MARK_AS_FAMILIAR:
78
+ case o.MARK_AS_FAMILIAR:
78
79
  if (typeof E != "function")
79
80
  throw new Error("onMarkAsFamiliar must be a function");
80
- E(a);
81
+ E(i);
81
82
  return;
82
83
  default:
83
84
  if (typeof _ != "function")
84
85
  throw new Error("onReset must be a function");
85
- _(o);
86
+ _(n);
86
87
  return;
87
88
  }
88
- }, T = () => {
89
+ }, L = () => {
89
90
  if (typeof I != "function")
90
91
  throw new Error("onUnlock must be a function");
91
- I(a);
92
- }, L = f || !c && d || p || h, x = S(
92
+ I(i);
93
+ }, x = f || !c && d || p || h, F = S(
93
94
  () => [
94
95
  {
95
96
  show: !c && d,
96
- label: e.CHANGE_LOCATION
97
+ label: o.CHANGE_LOCATION
97
98
  },
98
99
  {
99
100
  show: f,
100
- label: e.RESET_PROGRESS
101
+ label: o.RESET_PROGRESS
101
102
  },
102
103
  {
103
104
  show: p,
104
- label: e.MARK_AS_FAMILIAR
105
+ label: o.MARK_AS_FAMILIAR
105
106
  },
106
107
  {
107
108
  show: h,
108
- label: e.UNASSIGN
109
+ label: o.UNASSIGN
109
110
  }
110
111
  ],
111
112
  [c, d, f, p, h]
112
113
  );
113
- return /* @__PURE__ */ P(G, { children: [
114
- M && /* @__PURE__ */ r(
115
- j,
114
+ return /* @__PURE__ */ G(H, { children: [
115
+ v && /* @__PURE__ */ r(
116
+ q,
116
117
  {
117
118
  renderAs: "primary",
118
119
  label: "Assign",
119
120
  size: "xsmall",
120
121
  widthX: 7,
121
- onClick: T,
122
- analyticsProps: i,
122
+ onClick: L,
123
+ analyticsProps: a,
123
124
  shape: "square"
124
125
  }
125
126
  ),
126
127
  /* @__PURE__ */ r(
127
- q,
128
+ B,
128
129
  {
129
- Icon: H,
130
+ Icon: j,
130
131
  renderAs: "secondary",
131
132
  analyticsLabel: "Review",
132
- onClick: O
133
+ onClick: U
133
134
  }
134
135
  ),
135
- L && /* @__PURE__ */ r(
136
- B,
136
+ x && /* @__PURE__ */ r(
137
+ K,
137
138
  {
138
- targetElement: /* @__PURE__ */ r(V, { analyticsLabel: "Sheet menu", analyticsProps: i }),
139
+ targetElement: /* @__PURE__ */ r(W, { analyticsLabel: "Sheet menu", analyticsProps: a }),
139
140
  menuElement: /* @__PURE__ */ r(
140
141
  z,
141
142
  {
142
- options: x,
143
- handleOnMenuOptionSelection: U
143
+ options: F,
144
+ handleOnMenuOptionSelection: T
144
145
  }
145
146
  ),
146
147
  menuOffset: 10,
147
148
  menuZIndex: 1,
148
- placeTop: N
149
+ placeTop: R
149
150
  }
150
151
  )
151
152
  ] });
152
153
  };
153
154
  export {
154
- on as default
155
+ rn as default
155
156
  };
156
157
  //# sourceMappingURL=teacher-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-actions.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { IRewardNActionsProps, TTrackEventPayloadProps } from '../reward-n-actions-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo } from 'react';\n\nimport Eye2Icon from '../../../../../../assets/line-icons/icons/eye2';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport MenuElement from '../context-menu-helper/menu-element/menu-element';\nimport TargetElement from '../context-menu-helper/target-element/target-element';\nimport { TEACHER_MENU_OPTIONS } from './teacher-actions-constant';\n\nconst TeacherActions: FC<IRewardNActionsProps> = ({\n sheet,\n isDefocused,\n isLastSheet,\n ...restTeacherActions\n}) => {\n const {\n teacherId,\n milestoneId,\n section,\n onReview,\n onPreview,\n onReset,\n onChangeLocation,\n onMarkAsFamiliar,\n onUnlock,\n onUnAssignSheet,\n } = restTeacherActions;\n const { permissions, user_node_id: userNodeId, node_id: nodeId } = sheet;\n const {\n can_teacher_review: canTeacherReview,\n can_reset: canReset,\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_unlock: canUnlock,\n can_unassign: canUnAssign,\n } = permissions;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const trackEventPayload = useMemo(() => {\n const payload: TTrackEventPayloadProps = {\n teacher_id: teacherId,\n node_id: nodeId,\n user_node_id: userNodeId,\n };\n\n if (section) {\n payload.section = section;\n }\n\n if (milestoneId) {\n payload.milestone_id = milestoneId;\n }\n\n return payload;\n }, [milestoneId, nodeId, section, teacherId, userNodeId]);\n\n const handleTrackEvent = useCallback(\n (cta: string) => {\n const payload: TTrackEventPayloadProps = {\n ...trackEventPayload,\n cta,\n };\n\n trackEvent('clicked', payload);\n },\n [trackEvent, trackEventPayload],\n );\n\n const handleOnSheetView = useCallback(() => {\n if (canTeacherReview && typeof onReview === 'function') {\n if (!userNodeId) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n onReview(userNodeId);\n\n return;\n }\n\n if (typeof onPreview === 'function') {\n onPreview(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [canTeacherReview, onPreview, onReview, sheet, userNodeId]);\n\n const handleOnMenuOptionSelection = (selectedOption: string) => {\n handleTrackEvent(selectedOption);\n switch (selectedOption) {\n case TEACHER_MENU_OPTIONS.CHANGE_LOCATION:\n if (typeof onChangeLocation !== 'function') {\n throw new Error('onChangeLocation must be a function');\n }\n\n onChangeLocation(sheet);\n\n return;\n\n case TEACHER_MENU_OPTIONS.UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnAssignSheet must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('No user node id is present to unassign the sheet.');\n }\n onUnAssignSheet(sheet);\n\n return;\n\n case TEACHER_MENU_OPTIONS.MARK_AS_FAMILIAR:\n if (typeof onMarkAsFamiliar !== 'function') {\n throw new Error('onMarkAsFamiliar must be a function');\n }\n\n onMarkAsFamiliar(nodeId);\n\n return;\n\n default:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n };\n\n const handleOnUnlock = () => {\n if (typeof onUnlock !== 'function') {\n throw new Error('onUnlock must be a function');\n }\n\n onUnlock(nodeId);\n };\n\n const renderContextMenu =\n canReset || (!isDefocused && canChangeAttemptLocation) || canMarkFamiliar || canUnAssign;\n\n const options = useMemo(\n () => [\n {\n show: !isDefocused && canChangeAttemptLocation,\n label: TEACHER_MENU_OPTIONS.CHANGE_LOCATION,\n },\n {\n show: canReset,\n label: TEACHER_MENU_OPTIONS.RESET_PROGRESS,\n },\n {\n show: canMarkFamiliar,\n label: TEACHER_MENU_OPTIONS.MARK_AS_FAMILIAR,\n },\n {\n show: canUnAssign,\n label: TEACHER_MENU_OPTIONS.UNASSIGN,\n },\n ],\n [isDefocused, canChangeAttemptLocation, canReset, canMarkFamiliar, canUnAssign],\n );\n\n return (\n <>\n {canUnlock && (\n <Button\n renderAs=\"primary\"\n label=\"Assign\"\n size=\"xsmall\"\n widthX={7}\n onClick={handleOnUnlock}\n analyticsProps={trackEventPayload}\n shape=\"square\"\n />\n )}\n\n <IconButton\n Icon={Eye2Icon}\n renderAs=\"secondary\"\n analyticsLabel={'Review'}\n onClick={handleOnSheetView}\n />\n\n {renderContextMenu && (\n <ContextMenu\n targetElement={\n <TargetElement analyticsLabel=\"Sheet menu\" analyticsProps={trackEventPayload} />\n }\n menuElement={\n <MenuElement\n options={options}\n handleOnMenuOptionSelection={handleOnMenuOptionSelection}\n />\n }\n menuOffset={10}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </>\n );\n};\n\nexport default TeacherActions;\n"],"names":["TeacherActions","sheet","isDefocused","isLastSheet","restTeacherActions","teacherId","milestoneId","section","onReview","onPreview","onReset","onChangeLocation","onMarkAsFamiliar","onUnlock","onUnAssignSheet","permissions","userNodeId","nodeId","canTeacherReview","canReset","canChangeAttemptLocation","canMarkFamiliar","canUnlock","canUnAssign","trackEvent","useUIContext","trackEventPayload","useMemo","payload","handleTrackEvent","useCallback","cta","handleOnSheetView","handleOnMenuOptionSelection","selectedOption","TEACHER_MENU_OPTIONS","handleOnUnlock","renderContextMenu","options","jsxs","Fragment","jsx","Button","IconButton","Eye2Icon","ContextMenu","TargetElement","MenuElement"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-actions.js","sources":["../../../../../../../src/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.tsx"],"sourcesContent":["import type { IRewardNActionsProps, TTrackEventPayloadProps } from '../reward-n-actions-types';\nimport type { FC } from 'react';\n\nimport { useCallback, useMemo } from 'react';\n\nimport Eye2Icon from '../../../../../../assets/line-icons/icons/eye2';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport ContextMenu from '../../../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport { isV3Worksheet } from '../../../../utils/is-v3-worksheet';\nimport MenuElement from '../context-menu-helper/menu-element/menu-element';\nimport TargetElement from '../context-menu-helper/target-element/target-element';\nimport { TEACHER_MENU_OPTIONS } from './teacher-actions-constant';\n\nconst TeacherActions: FC<IRewardNActionsProps> = ({\n sheet,\n isDefocused,\n isLastSheet,\n ...restTeacherActions\n}) => {\n const {\n teacherId,\n milestoneId,\n section,\n onReview,\n onPreview,\n onReset,\n onChangeLocation,\n onMarkAsFamiliar,\n onUnlock,\n onUnAssignSheet,\n } = restTeacherActions;\n const { permissions, user_node_id: userNodeId, node_id: nodeId } = sheet;\n const {\n can_teacher_review: canTeacherReview,\n can_reset: canReset,\n can_change_attempt_location: canChangeAttemptLocation,\n can_mark_familiar: canMarkFamiliar,\n can_unlock: canUnlock,\n can_unassign: canUnAssign,\n } = permissions;\n\n const { onEvent: trackEvent } = useUIContext();\n\n const trackEventPayload = useMemo(() => {\n const payload: TTrackEventPayloadProps = {\n teacher_id: teacherId,\n node_id: nodeId,\n user_node_id: userNodeId,\n };\n\n if (section) {\n payload.section = section;\n }\n\n if (milestoneId) {\n payload.milestone_id = milestoneId;\n }\n\n return payload;\n }, [milestoneId, nodeId, section, teacherId, userNodeId]);\n\n const handleTrackEvent = useCallback(\n (cta: string) => {\n const payload: TTrackEventPayloadProps = {\n ...trackEventPayload,\n cta,\n };\n\n trackEvent('clicked', payload);\n },\n [trackEvent, trackEventPayload],\n );\n\n const handleOnSheetView = useCallback(() => {\n if (canTeacherReview && typeof onReview === 'function') {\n if (!userNodeId) {\n throw new Error('No required id is present to open the sheet.');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'));\n\n return;\n }\n\n if (typeof onPreview === 'function') {\n onPreview(sheet, isV3Worksheet(sheet));\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [canTeacherReview, onPreview, onReview, sheet, userNodeId]);\n\n const handleOnMenuOptionSelection = (selectedOption: string) => {\n handleTrackEvent(selectedOption);\n switch (selectedOption) {\n case TEACHER_MENU_OPTIONS.CHANGE_LOCATION:\n if (typeof onChangeLocation !== 'function') {\n throw new Error('onChangeLocation must be a function');\n }\n\n onChangeLocation(sheet);\n\n return;\n\n case TEACHER_MENU_OPTIONS.UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnAssignSheet must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('No user node id is present to unassign the sheet.');\n }\n onUnAssignSheet(sheet);\n\n return;\n\n case TEACHER_MENU_OPTIONS.MARK_AS_FAMILIAR:\n if (typeof onMarkAsFamiliar !== 'function') {\n throw new Error('onMarkAsFamiliar must be a function');\n }\n\n onMarkAsFamiliar(nodeId);\n\n return;\n\n default:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n };\n\n const handleOnUnlock = () => {\n if (typeof onUnlock !== 'function') {\n throw new Error('onUnlock must be a function');\n }\n\n onUnlock(nodeId);\n };\n\n const renderContextMenu =\n canReset || (!isDefocused && canChangeAttemptLocation) || canMarkFamiliar || canUnAssign;\n\n const options = useMemo(\n () => [\n {\n show: !isDefocused && canChangeAttemptLocation,\n label: TEACHER_MENU_OPTIONS.CHANGE_LOCATION,\n },\n {\n show: canReset,\n label: TEACHER_MENU_OPTIONS.RESET_PROGRESS,\n },\n {\n show: canMarkFamiliar,\n label: TEACHER_MENU_OPTIONS.MARK_AS_FAMILIAR,\n },\n {\n show: canUnAssign,\n label: TEACHER_MENU_OPTIONS.UNASSIGN,\n },\n ],\n [isDefocused, canChangeAttemptLocation, canReset, canMarkFamiliar, canUnAssign],\n );\n\n return (\n <>\n {canUnlock && (\n <Button\n renderAs=\"primary\"\n label=\"Assign\"\n size=\"xsmall\"\n widthX={7}\n onClick={handleOnUnlock}\n analyticsProps={trackEventPayload}\n shape=\"square\"\n />\n )}\n\n <IconButton\n Icon={Eye2Icon}\n renderAs=\"secondary\"\n analyticsLabel={'Review'}\n onClick={handleOnSheetView}\n />\n\n {renderContextMenu && (\n <ContextMenu\n targetElement={\n <TargetElement analyticsLabel=\"Sheet menu\" analyticsProps={trackEventPayload} />\n }\n menuElement={\n <MenuElement\n options={options}\n handleOnMenuOptionSelection={handleOnMenuOptionSelection}\n />\n }\n menuOffset={10}\n menuZIndex={1}\n placeTop={isLastSheet}\n />\n )}\n </>\n );\n};\n\nexport default TeacherActions;\n"],"names":["TeacherActions","sheet","isDefocused","isLastSheet","restTeacherActions","teacherId","milestoneId","section","onReview","onPreview","onReset","onChangeLocation","onMarkAsFamiliar","onUnlock","onUnAssignSheet","permissions","userNodeId","nodeId","canTeacherReview","canReset","canChangeAttemptLocation","canMarkFamiliar","canUnlock","canUnAssign","trackEvent","useUIContext","trackEventPayload","useMemo","payload","handleTrackEvent","useCallback","cta","handleOnSheetView","isV3Worksheet","handleOnMenuOptionSelection","selectedOption","TEACHER_MENU_OPTIONS","handleOnUnlock","renderContextMenu","options","jsxs","Fragment","jsx","Button","IconButton","Eye2Icon","ContextMenu","TargetElement","MenuElement"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { NODE_TYPE as E } from "../constants/sheet.js";
2
- const S = [
2
+ const A = [
3
3
  "SAT_MATH_ASSESSMENT",
4
4
  "SAT_ENGLISH_ASSESSMENT",
5
5
  "SAT_MATH_RECAP",
6
6
  "SAT_MATH_LEARNING",
7
7
  "SAT_ENGLISH_LEARNING"
8
8
  ], T = [
9
- ...S,
9
+ ...A,
10
10
  E.REMEDIAL,
11
11
  E.LEGACY,
12
12
  E.RECAP,
@@ -31,8 +31,18 @@ const S = [
31
31
  E.DIAGNOSTIC,
32
32
  E.SUBJECTIVE,
33
33
  E.TURING_SUBJECTIVE
34
- ];
34
+ ], I = (_, t) => {
35
+ const { node_type: n, is_worksheet_v3: S, is_lesson_v3_enabled: e } = _;
36
+ if (t === "review")
37
+ return T.includes(n);
38
+ const r = "can_start" in _ ? _.can_start : _.permissions.can_start, s = "can_reattempt" in _ ? _.can_reattempt : _.permissions.can_reattempt, o = "can_redo" in _ ? _.can_redo : !1;
39
+ return S || e ? !0 : r || s || o ? T.includes(n) : !!A.includes(n);
40
+ }, N = (_) => {
41
+ const { node_type: t, is_worksheet_v3: n, is_lesson_v3_enabled: S } = _;
42
+ return n || S || A.includes(t);
43
+ };
35
44
  export {
36
- T as WORKSHEET_V3_NODE_TYPES
45
+ I as isV3Worksheet,
46
+ N as isV3WorksheetAttempt
37
47
  };
38
48
  //# sourceMappingURL=is-v3-worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-v3-worksheet.js","sources":["../../../../src/features/sheets/utils/is-v3-worksheet.ts"],"sourcesContent":["import type { TNodeTypeProps } from '../sheets-list/sheet-item/sheet-item-types';\n\nimport { NODE_TYPE } from '../constants/sheet';\n\nconst SAT_V3_NODE_TYPES: TNodeTypeProps[] = [\n 'SAT_MATH_ASSESSMENT',\n 'SAT_ENGLISH_ASSESSMENT',\n 'SAT_MATH_RECAP',\n 'SAT_MATH_LEARNING',\n 'SAT_ENGLISH_LEARNING',\n];\nconst WORKSHEET_V3_NODE_TYPES: TNodeTypeProps[] = [\n ...SAT_V3_NODE_TYPES,\n NODE_TYPE.REMEDIAL,\n NODE_TYPE.LEGACY,\n NODE_TYPE.RECAP,\n NODE_TYPE.GENERAL,\n NODE_TYPE.LEVEL3,\n NODE_TYPE.LEVEL2,\n NODE_TYPE.REVISION,\n NODE_TYPE.TARGET_PRACTICE,\n NODE_TYPE.EXTRA_PRACTICE,\n NODE_TYPE.PRACTICE,\n NODE_TYPE.LEARNING,\n NODE_TYPE.PUZZLE_EASY,\n NODE_TYPE.PUZZLE_MEDIUM,\n NODE_TYPE.PUZZLE_HARD,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.TURING_PRACTICE,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.SUBJECTIVE,\n NODE_TYPE.TURING_SUBJECTIVE,\n];\n\nexport { WORKSHEET_V3_NODE_TYPES };\n"],"names":["SAT_V3_NODE_TYPES","WORKSHEET_V3_NODE_TYPES","NODE_TYPE"],"mappings":";AAIA,MAAMA,IAAsC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACMC,IAA4C;AAAA,EAChD,GAAGD;AAAA,EACHE,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AACZ;"}
1
+ {"version":3,"file":"is-v3-worksheet.js","sources":["../../../../src/features/sheets/utils/is-v3-worksheet.ts"],"sourcesContent":["import type { IWorksheetAttemptModel } from '../../../types/models/worksheet';\nimport type { TLPARSheetData } from '../../chapters/lpar-chapter/block-section/sheet-item/sheet-item-type';\nimport type { ISheetDataProps, TNodeTypeProps } from '../sheets-list/sheet-item/sheet-item-types';\n\nimport { NODE_TYPE } from '../constants/sheet';\n\nconst SAT_V3_NODE_TYPES: TNodeTypeProps[] = [\n 'SAT_MATH_ASSESSMENT',\n 'SAT_ENGLISH_ASSESSMENT',\n 'SAT_MATH_RECAP',\n 'SAT_MATH_LEARNING',\n 'SAT_ENGLISH_LEARNING',\n];\nconst WORKSHEET_V3_NODE_TYPES: TNodeTypeProps[] = [\n ...SAT_V3_NODE_TYPES,\n NODE_TYPE.REMEDIAL,\n NODE_TYPE.LEGACY,\n NODE_TYPE.RECAP,\n NODE_TYPE.GENERAL,\n NODE_TYPE.LEVEL3,\n NODE_TYPE.LEVEL2,\n NODE_TYPE.REVISION,\n NODE_TYPE.TARGET_PRACTICE,\n NODE_TYPE.EXTRA_PRACTICE,\n NODE_TYPE.PRACTICE,\n NODE_TYPE.LEARNING,\n NODE_TYPE.PUZZLE_EASY,\n NODE_TYPE.PUZZLE_MEDIUM,\n NODE_TYPE.PUZZLE_HARD,\n NODE_TYPE.CHAPTER_ASSESSMENT,\n NODE_TYPE.ASSESSMENT,\n NODE_TYPE.MASTERY,\n NODE_TYPE.TRIAL_DIAGNOSTIC,\n NODE_TYPE.DYNAMIC,\n NODE_TYPE.TURING_ASSESSMENT,\n NODE_TYPE.TURING_PRACTICE,\n NODE_TYPE.DIAGNOSTIC,\n NODE_TYPE.SUBJECTIVE,\n NODE_TYPE.TURING_SUBJECTIVE,\n];\n\nconst isV3Worksheet = (\n sheet: ISheetDataProps | TLPARSheetData,\n mode?: 'resume' | 'review',\n): boolean => {\n const { node_type, is_worksheet_v3, is_lesson_v3_enabled } = sheet;\n\n if (mode === 'review') {\n return WORKSHEET_V3_NODE_TYPES.includes(node_type);\n }\n\n const canStart = 'can_start' in sheet ? sheet.can_start : sheet.permissions.can_start;\n const canReattempt =\n 'can_reattempt' in sheet ? sheet.can_reattempt : sheet.permissions.can_reattempt;\n const canRedo = 'can_redo' in sheet ? sheet.can_redo : false;\n\n if (is_worksheet_v3 || is_lesson_v3_enabled) {\n return true;\n }\n\n // For new and reattemptable worksheets start the worksheet in v3 mode\n if (canStart || canReattempt || canRedo) {\n return WORKSHEET_V3_NODE_TYPES.includes(node_type);\n }\n\n // For SAT assessments start the worksheet in v3 mode\n if (SAT_V3_NODE_TYPES.includes(node_type)) {\n return true;\n }\n\n return false;\n};\n\nconst isV3WorksheetAttempt = (attempt: IWorksheetAttemptModel): boolean => {\n const { node_type, is_worksheet_v3, is_lesson_v3_enabled } = attempt;\n\n return (\n is_worksheet_v3 ||\n is_lesson_v3_enabled ||\n SAT_V3_NODE_TYPES.includes(node_type as TNodeTypeProps)\n );\n};\n\nexport { isV3Worksheet, isV3WorksheetAttempt };\n"],"names":["SAT_V3_NODE_TYPES","WORKSHEET_V3_NODE_TYPES","NODE_TYPE","isV3Worksheet","sheet","mode","node_type","is_worksheet_v3","is_lesson_v3_enabled","canStart","canReattempt","canRedo","isV3WorksheetAttempt","attempt"],"mappings":";AAMA,MAAMA,IAAsC;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACMC,IAA4C;AAAA,EAChD,GAAGD;AAAA,EACHE,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AAAA,EACVA,EAAU;AACZ,GAEMC,IAAgB,CACpBC,GACAC,MACY;AACZ,QAAM,EAAE,WAAAC,GAAW,iBAAAC,GAAiB,sBAAAC,EAAA,IAAyBJ;AAE7D,MAAIC,MAAS;AACJ,WAAAJ,EAAwB,SAASK,CAAS;AAGnD,QAAMG,IAAW,eAAeL,IAAQA,EAAM,YAAYA,EAAM,YAAY,WACtEM,IACJ,mBAAmBN,IAAQA,EAAM,gBAAgBA,EAAM,YAAY,eAC/DO,IAAU,cAAcP,IAAQA,EAAM,WAAW;AAEvD,SAAIG,KAAmBC,IACd,KAILC,KAAYC,KAAgBC,IACvBV,EAAwB,SAASK,CAAS,IAI/C,EAAAN,EAAkB,SAASM,CAAS;AAK1C,GAEMM,IAAuB,CAACC,MAA6C;AACzE,QAAM,EAAE,WAAAP,GAAW,iBAAAC,GAAiB,sBAAAC,EAAA,IAAyBK;AAE7D,SACEN,KACAC,KACAR,EAAkB,SAASM,CAA2B;AAE1D;"}
@@ -1,16 +1,16 @@
1
- import { jsx as t, Fragment as p, jsxs as h } from "react/jsx-runtime";
2
- import { memo as $, Fragment as m } from "react";
3
- import f from "../layout/flex-view.js";
4
- const g = (i) => {
5
- const { data: n, renderSectionHeader: o, renderItem: s, keyExtractor: a } = i;
6
- return /* @__PURE__ */ t(p, { children: n.map((e, d) => /* @__PURE__ */ h(f, { children: [
7
- n.length > 1 && o && o(e),
8
- /* @__PURE__ */ t(m, { children: e.data.map((r, c) => {
9
- const l = a ? a(r, c) : `${r}_${c}`;
10
- return /* @__PURE__ */ t(m, { children: s(r) }, l);
1
+ import { jsx as t, Fragment as p, jsxs as $ } from "react/jsx-runtime";
2
+ import { memo as f, Fragment as c } from "react";
3
+ import h from "../layout/flex-view.js";
4
+ const u = (m) => {
5
+ const { data: i, renderSectionHeader: n, renderItem: s, keyExtractor: o } = m;
6
+ return /* @__PURE__ */ t(p, { children: i.map((r, d) => /* @__PURE__ */ $(h, { children: [
7
+ n && n(r),
8
+ /* @__PURE__ */ t(c, { children: r.data.map((e, a) => {
9
+ const l = o ? o(e, a) : `${e}_${a}`;
10
+ return /* @__PURE__ */ t(c, { children: s(e) }, l);
11
11
  }) })
12
- ] }, `${e.title}_${d}`)) });
13
- }, u = $(g), L = u;
12
+ ] }, `${r.title}_${d}`)) });
13
+ }, x = f(u), L = x;
14
14
  export {
15
15
  L as default
16
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"section-list.js","sources":["../../../../src/features/ui/section-list/section-list.tsx"],"sourcesContent":["import type { ISectionList, TDefaultSection } from './section-list-types';\n\nimport { Fragment, memo } from 'react';\n\nimport FlexView from '../layout/flex-view';\n\nconst SectionListComponent = <Section extends string | number | TDefaultSection>(\n props: ISectionList<Section>,\n): JSX.Element => {\n const { data, renderSectionHeader, renderItem, keyExtractor } = props;\n\n return (\n <>\n {data.map((section, idx) => {\n return (\n <FlexView key={`${section.title}_${idx}`}>\n {data.length > 1 && renderSectionHeader && renderSectionHeader(section)}\n\n <Fragment>\n {section.data.map((item, itemIdx) => {\n const key = keyExtractor ? keyExtractor(item, itemIdx) : `${item}_${itemIdx}`;\n\n return <Fragment key={key}>{renderItem(item)}</Fragment>;\n })}\n </Fragment>\n </FlexView>\n );\n })}\n </>\n );\n};\n\nconst SelectionList = memo(SectionListComponent) as <\n Section extends string | number | TDefaultSection,\n>(\n props: ISectionList<Section>,\n) => JSX.Element;\n\nexport default SelectionList;\n"],"names":["SectionListComponent","props","data","renderSectionHeader","renderItem","keyExtractor","jsx","Fragment","section","idx","FlexView","item","itemIdx","key","SelectionList","memo","SectionList"],"mappings":";;;AAMA,MAAMA,IAAuB,CAC3BC,MACgB;AAChB,QAAM,EAAE,MAAAC,GAAM,qBAAAC,GAAqB,YAAAC,GAAY,cAAAC,MAAiBJ;AAEhE,SAEK,gBAAAK,EAAAC,GAAA,EAAA,UAAAL,EAAK,IAAI,CAACM,GAASC,wBAEfC,GACE,EAAA,UAAA;AAAA,IAAAR,EAAK,SAAS,KAAKC,KAAuBA,EAAoBK,CAAO;AAAA,IAEtE,gBAAAF,EAACC,GAAA,EACE,UAAAC,EAAQ,KAAK,IAAI,CAACG,GAAMC,MAAY;AAC7B,YAAAC,IAAMR,IAAeA,EAAaM,GAAMC,CAAO,IAAI,GAAGD,CAAI,IAAIC,CAAO;AAE3E,+BAAQL,GAAA,EAAoB,UAAWH,EAAAO,CAAI,KAArBE,CAAuB;AAAA,IAC9C,CAAA,GACH;AAAA,EAAA,EAAA,GATa,GAAGL,EAAQ,KAAK,IAAIC,CAAG,EAUtC,CAEH,EACH,CAAA;AAEJ,GAEMK,IAAgBC,EAAKf,CAAoB,GAM/CgB,IAAeF;"}
1
+ {"version":3,"file":"section-list.js","sources":["../../../../src/features/ui/section-list/section-list.tsx"],"sourcesContent":["import type { ISectionList, TDefaultSection } from './section-list-types';\n\nimport { Fragment, memo } from 'react';\n\nimport FlexView from '../layout/flex-view';\n\nconst SectionListComponent = <Section extends string | number | TDefaultSection>(\n props: ISectionList<Section>,\n): JSX.Element => {\n const { data, renderSectionHeader, renderItem, keyExtractor } = props;\n\n return (\n <>\n {data.map((section, idx) => {\n return (\n <FlexView key={`${section.title}_${idx}`}>\n {renderSectionHeader && renderSectionHeader(section)}\n\n <Fragment>\n {section.data.map((item, itemIdx) => {\n const key = keyExtractor ? keyExtractor(item, itemIdx) : `${item}_${itemIdx}`;\n\n return <Fragment key={key}>{renderItem(item)}</Fragment>;\n })}\n </Fragment>\n </FlexView>\n );\n })}\n </>\n );\n};\n\nconst SelectionList = memo(SectionListComponent) as <\n Section extends string | number | TDefaultSection,\n>(\n props: ISectionList<Section>,\n) => JSX.Element;\n\nexport default SelectionList;\n"],"names":["SectionListComponent","props","data","renderSectionHeader","renderItem","keyExtractor","jsx","Fragment","section","idx","FlexView","item","itemIdx","key","SelectionList","memo","SectionList"],"mappings":";;;AAMA,MAAMA,IAAuB,CAC3BC,MACgB;AAChB,QAAM,EAAE,MAAAC,GAAM,qBAAAC,GAAqB,YAAAC,GAAY,cAAAC,MAAiBJ;AAEhE,SAEK,gBAAAK,EAAAC,GAAA,EAAA,UAAAL,EAAK,IAAI,CAACM,GAASC,wBAEfC,GACE,EAAA,UAAA;AAAA,IAAAP,KAAuBA,EAAoBK,CAAO;AAAA,IAEnD,gBAAAF,EAACC,GAAA,EACE,UAAAC,EAAQ,KAAK,IAAI,CAACG,GAAMC,MAAY;AAC7B,YAAAC,IAAMR,IAAeA,EAAaM,GAAMC,CAAO,IAAI,GAAGD,CAAI,IAAIC,CAAO;AAE3E,+BAAQL,GAAA,EAAoB,UAAWH,EAAAO,CAAI,KAArBE,CAAuB;AAAA,IAC9C,CAAA,GACH;AAAA,EAAA,EAAA,GATa,GAAGL,EAAQ,KAAK,IAAIC,CAAG,EAUtC,CAEH,EACH,CAAA;AAEJ,GAEMK,IAAgBC,EAAKf,CAAoB,GAM/CgB,IAAeF;"}