@cuemath/leap 2.8.60-beta-0.1 → 2.8.60-gs1

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 (44) hide show
  1. package/dist/assets/line-icons/icons/bin2.js +7 -8
  2. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  3. package/dist/assets/line-icons/icons/skip-colored.js +43 -0
  4. package/dist/assets/line-icons/icons/skip-colored.js.map +1 -0
  5. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +1 -1
  6. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  7. package/dist/features/chapters-v2/chapter-details/chapter-details.js +24 -24
  8. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +1 -1
  9. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +76 -72
  10. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +1 -1
  11. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +62 -75
  12. package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
  13. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +127 -110
  14. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  15. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +12 -4
  16. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  17. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +128 -105
  18. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  19. package/dist/features/milestone/create/milestone-create.js +49 -43
  20. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  21. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  22. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  23. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +42 -40
  24. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  25. package/dist/features/milestone/edit/goal-edit-container.js +64 -62
  26. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  27. package/dist/features/milestone/edit/milestone-edit-container.js +54 -52
  28. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  29. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +61 -52
  30. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +28 -28
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +120 -111
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  35. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +16 -18
  36. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  37. package/dist/features/ui/lottie-animation/lottie-animation.js +39 -24
  38. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  39. package/dist/features/ui/theme/button.js +5 -5
  40. package/dist/features/ui/theme/button.js.map +1 -1
  41. package/dist/index.d.ts +6 -2
  42. package/dist/index.js +369 -367
  43. package/dist/index.js.map +1 -1
  44. package/package.json +1 -1
@@ -1,78 +1,80 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { useEffect as c } from "react";
3
- import { useGetMileStoneConfig as b } from "../create/api/milestone-config.js";
4
- import v from "../create/milestone-create.js";
5
- import { useMilestoneGet as G } from "./comps/edit-milestone-modal/api/get-milestone.js";
6
- import W from "./comps/milestone-edit-loader/milestone-edit-loader.js";
7
- import { transformData as j } from "./milestone-edit-helpers.js";
8
- const A = ({
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import { useEffect as g } from "react";
3
+ import { useGetMileStoneConfig as v } from "../create/api/milestone-config.js";
4
+ import W from "../create/milestone-create.js";
5
+ import { useMilestoneGet as j } from "./comps/edit-milestone-modal/api/get-milestone.js";
6
+ import A from "./comps/milestone-edit-loader/milestone-edit-loader.js";
7
+ import { transformData as H } from "./milestone-edit-helpers.js";
8
+ const L = ({
9
9
  studentName: f,
10
10
  studentId: m,
11
11
  height: l,
12
12
  minHeight: d,
13
- board: u,
14
- grade: C,
15
- onFormDataChange: E,
16
- onPreSubmit: p,
13
+ board: C,
14
+ grade: E,
15
+ onFormDataChange: p,
16
+ onPreSubmit: P,
17
17
  onExit: h,
18
- onChapterExitWarning: M,
19
- userType: i,
20
- milestoneId: t,
21
- formData: n,
22
- courseStream: P,
23
- classRatio: D,
24
- enrollmentType: x
18
+ onChapterExitWarning: u,
19
+ userType: t,
20
+ milestoneId: o,
21
+ formData: r,
22
+ courseStream: M,
23
+ classRatio: x,
24
+ enrollmentType: D,
25
+ onDeleteGoal: F
25
26
  }) => {
26
- const {
27
- get: r,
28
- data: e,
29
- isProcessing: F,
30
- isProcessingFailed: w
31
- } = b();
32
- c(() => {
33
- r("", void 0);
34
- }, [r]);
35
27
  const {
36
28
  get: s,
37
- data: a,
29
+ data: i,
38
30
  isProcessing: _,
31
+ isProcessingFailed: w
32
+ } = v();
33
+ g(() => {
34
+ s("", void 0);
35
+ }, [s]);
36
+ const {
37
+ get: a,
38
+ data: e,
39
+ isProcessing: G,
39
40
  isProcessingFailed: S
40
- } = G(t);
41
- if (c(() => {
42
- i === "TEACHER" && s(t, {
43
- with_plan: !0,
41
+ } = j(o);
42
+ if (g(() => {
43
+ t === "TEACHER" && a(o, {
44
44
  with_sheets: !0,
45
45
  with_recommended_chapters: !0
46
46
  });
47
- }, [s, t, i]), F || _) return /* @__PURE__ */ o(W, {});
47
+ }, [a, o, t]), _ || G) return /* @__PURE__ */ n(A, {});
48
48
  if (S || w)
49
- return /* @__PURE__ */ o("p", { children: "Error" });
50
- const g = a && e && j(a, e);
51
- return e && (g || n) ? /* @__PURE__ */ o(
52
- v,
49
+ return /* @__PURE__ */ n("p", { children: "Error" });
50
+ const { can_delete: b } = (e == null ? void 0 : e.permissions) || {}, c = e && i && H(e, i);
51
+ return i && (c || r) ? /* @__PURE__ */ n(
52
+ W,
53
53
  {
54
54
  flow: "EDIT",
55
- board: u,
56
- grade: C,
55
+ board: C,
56
+ grade: E,
57
57
  studentId: m,
58
58
  studentName: f,
59
59
  height: l,
60
60
  minHeight: d,
61
- formData: n || g,
62
- config: e,
63
- onFormDataChange: E,
64
- onPreSubmit: p,
61
+ formData: r || c,
62
+ config: i,
63
+ onFormDataChange: p,
64
+ onPreSubmit: P,
65
65
  onExit: h,
66
- onChapterExitWarning: M,
67
- userType: i,
68
- milestoneId: t,
69
- courseStream: P,
70
- classRatio: D,
71
- enrollmentType: x
66
+ onChapterExitWarning: u,
67
+ userType: t,
68
+ milestoneId: o,
69
+ courseStream: M,
70
+ classRatio: x,
71
+ enrollmentType: D,
72
+ canDeleteGoal: b,
73
+ onDeleteGoal: F
72
74
  }
73
75
  ) : null;
74
- }, B = A;
76
+ }, K = L;
75
77
  export {
76
- B as default
78
+ K as default
77
79
  };
78
80
  //# sourceMappingURL=milestone-edit-container.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-edit-container.js","sources":["../../../../src/features/milestone/edit/milestone-edit-container.tsx"],"sourcesContent":["import type { IMileStoneEditContainerProps } from './milestone-edit-types';\n\nimport { useEffect } from 'react';\n\nimport { useGetMileStoneConfig } from '../create/api/milestone-config';\nimport MilestoneCreate from '../create/milestone-create';\nimport { useMilestoneGet } from './comps/edit-milestone-modal/api/get-milestone';\nimport MilestoneEditLoader from './comps/milestone-edit-loader/milestone-edit-loader';\nimport { transformData } from './milestone-edit-helpers';\n\nconst MilestoneEditContainer: React.FC<IMileStoneEditContainerProps> = ({\n studentName,\n studentId,\n height,\n minHeight,\n board,\n grade,\n onFormDataChange: handleFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n onChapterExitWarning: handleChapterExitWarning,\n userType,\n milestoneId,\n formData,\n courseStream,\n classRatio,\n enrollmentType,\n}) => {\n const {\n get: getConfig,\n data: configData,\n isProcessing: isConfigProcessing,\n isProcessingFailed: isConfigProcessingFailed,\n } = useGetMileStoneConfig();\n\n useEffect(() => {\n getConfig('', undefined);\n }, [getConfig]);\n\n const {\n get: getMilestone,\n data: currentMilestoneData,\n isProcessing: isMilestoneProcessing,\n isProcessingFailed: isMilestoneProcessingFailed,\n } = useMilestoneGet(milestoneId);\n\n useEffect(() => {\n if (userType === 'TEACHER')\n getMilestone(milestoneId, {\n with_plan: true,\n with_sheets: true,\n with_recommended_chapters: true,\n });\n }, [getMilestone, milestoneId, userType]);\n\n if (isConfigProcessing || isMilestoneProcessing) return <MilestoneEditLoader />;\n\n if (isMilestoneProcessingFailed || isConfigProcessingFailed) {\n return <p>Error</p>;\n }\n\n const convertedData =\n currentMilestoneData && configData && transformData(currentMilestoneData, configData);\n\n return configData && (convertedData || formData) ? (\n <MilestoneCreate\n flow=\"EDIT\"\n board={board}\n grade={grade}\n studentId={studentId}\n studentName={studentName}\n height={height}\n minHeight={minHeight}\n formData={formData || convertedData}\n config={configData}\n onFormDataChange={handleFormDataChange}\n onPreSubmit={handlePreSubmit}\n onExit={handleExit}\n onChapterExitWarning={handleChapterExitWarning}\n userType={userType}\n milestoneId={milestoneId}\n courseStream={courseStream}\n classRatio={classRatio}\n enrollmentType={enrollmentType}\n />\n ) : null;\n};\n\nexport default MilestoneEditContainer;\n"],"names":["MilestoneEditContainer","studentName","studentId","height","minHeight","board","grade","handleFormDataChange","handlePreSubmit","handleExit","handleChapterExitWarning","userType","milestoneId","formData","courseStream","classRatio","enrollmentType","getConfig","configData","isConfigProcessing","isConfigProcessingFailed","useGetMileStoneConfig","useEffect","getMilestone","currentMilestoneData","isMilestoneProcessing","isMilestoneProcessingFailed","useMilestoneGet","jsx","MilestoneEditLoader","convertedData","transformData","MilestoneCreate","MilestoneEditContainer$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAiE,CAAC;AAAA,EACtE,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,kBAAkBC;AAAA,EAClB,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,sBAAsBC;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAsB;AAE1B,EAAAC,EAAU,MAAM;AACd,IAAAL,EAAU,IAAI,MAAS;AAAA,EAAA,GACtB,CAACA,CAAS,CAAC;AAER,QAAA;AAAA,IACJ,KAAKM;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,EAAA,IAClBC,EAAgBf,CAAW;AAW/B,MATAU,EAAU,MAAM;AACd,IAAIX,MAAa,aACfY,EAAaX,GAAa;AAAA,MACxB,WAAW;AAAA,MACX,aAAa;AAAA,MACb,2BAA2B;AAAA,IAAA,CAC5B;AAAA,EACF,GAAA,CAACW,GAAcX,GAAaD,CAAQ,CAAC,GAEpCQ,KAAsBM,EAA8B,QAAA,gBAAAG,EAACC,GAAoB,CAAA,CAAA;AAE7E,MAAIH,KAA+BN;AAC1B,WAAA,gBAAAQ,EAAC,OAAE,UAAK,QAAA,CAAA;AAGjB,QAAME,IACJN,KAAwBN,KAAca,EAAcP,GAAsBN,CAAU;AAE/E,SAAAA,MAAeY,KAAiBjB,KACrC,gBAAAe;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,OAAA3B;AAAA,MACA,OAAAC;AAAA,MACA,WAAAJ;AAAA,MACA,aAAAD;AAAA,MACA,QAAAE;AAAA,MACA,WAAAC;AAAA,MACA,UAAUS,KAAYiB;AAAA,MACtB,QAAQZ;AAAA,MACR,kBAAkBX;AAAA,MAClB,aAAaC;AAAA,MACb,QAAQC;AAAA,MACR,sBAAsBC;AAAA,MACtB,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAE;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,IAAA;AAAA,EAEA,IAAA;AACN,GAEAiB,IAAejC;"}
1
+ {"version":3,"file":"milestone-edit-container.js","sources":["../../../../src/features/milestone/edit/milestone-edit-container.tsx"],"sourcesContent":["import type { IMileStoneEditContainerProps } from './milestone-edit-types';\n\nimport { useEffect } from 'react';\n\nimport { useGetMileStoneConfig } from '../create/api/milestone-config';\nimport MilestoneCreate from '../create/milestone-create';\nimport { useMilestoneGet } from './comps/edit-milestone-modal/api/get-milestone';\nimport MilestoneEditLoader from './comps/milestone-edit-loader/milestone-edit-loader';\nimport { transformData } from './milestone-edit-helpers';\n\nconst MilestoneEditContainer: React.FC<IMileStoneEditContainerProps> = ({\n studentName,\n studentId,\n height,\n minHeight,\n board,\n grade,\n onFormDataChange: handleFormDataChange,\n onPreSubmit: handlePreSubmit,\n onExit: handleExit,\n onChapterExitWarning: handleChapterExitWarning,\n userType,\n milestoneId,\n formData,\n courseStream,\n classRatio,\n enrollmentType,\n onDeleteGoal,\n}) => {\n const {\n get: getConfig,\n data: configData,\n isProcessing: isConfigProcessing,\n isProcessingFailed: isConfigProcessingFailed,\n } = useGetMileStoneConfig();\n\n useEffect(() => {\n getConfig('', undefined);\n }, [getConfig]);\n\n const {\n get: getMilestone,\n data: currentMilestoneData,\n isProcessing: isMilestoneProcessing,\n isProcessingFailed: isMilestoneProcessingFailed,\n } = useMilestoneGet(milestoneId);\n\n useEffect(() => {\n if (userType === 'TEACHER')\n getMilestone(milestoneId, {\n with_sheets: true,\n with_recommended_chapters: true,\n });\n }, [getMilestone, milestoneId, userType]);\n\n if (isConfigProcessing || isMilestoneProcessing) return <MilestoneEditLoader />;\n\n if (isMilestoneProcessingFailed || isConfigProcessingFailed) {\n return <p>Error</p>;\n }\n\n const { can_delete: canDeleteGoal } = currentMilestoneData?.permissions || {};\n\n const convertedData =\n currentMilestoneData && configData && transformData(currentMilestoneData, configData);\n\n return configData && (convertedData || formData) ? (\n <MilestoneCreate\n flow=\"EDIT\"\n board={board}\n grade={grade}\n studentId={studentId}\n studentName={studentName}\n height={height}\n minHeight={minHeight}\n formData={formData || convertedData}\n config={configData}\n onFormDataChange={handleFormDataChange}\n onPreSubmit={handlePreSubmit}\n onExit={handleExit}\n onChapterExitWarning={handleChapterExitWarning}\n userType={userType}\n milestoneId={milestoneId}\n courseStream={courseStream}\n classRatio={classRatio}\n enrollmentType={enrollmentType}\n canDeleteGoal={canDeleteGoal}\n onDeleteGoal={onDeleteGoal}\n />\n ) : null;\n};\n\nexport default MilestoneEditContainer;\n"],"names":["MilestoneEditContainer","studentName","studentId","height","minHeight","board","grade","handleFormDataChange","handlePreSubmit","handleExit","handleChapterExitWarning","userType","milestoneId","formData","courseStream","classRatio","enrollmentType","onDeleteGoal","getConfig","configData","isConfigProcessing","isConfigProcessingFailed","useGetMileStoneConfig","useEffect","getMilestone","currentMilestoneData","isMilestoneProcessing","isMilestoneProcessingFailed","useMilestoneGet","jsx","MilestoneEditLoader","canDeleteGoal","convertedData","transformData","MilestoneCreate","MilestoneEditContainer$1"],"mappings":";;;;;;;AAUA,MAAMA,IAAiE,CAAC;AAAA,EACtE,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,kBAAkBC;AAAA,EAClB,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,sBAAsBC;AAAA,EACtB,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,MAClBC,EAAsB;AAE1B,EAAAC,EAAU,MAAM;AACd,IAAAL,EAAU,IAAI,MAAS;AAAA,EAAA,GACtB,CAACA,CAAS,CAAC;AAER,QAAA;AAAA,IACJ,KAAKM;AAAA,IACL,MAAMC;AAAA,IACN,cAAcC;AAAA,IACd,oBAAoBC;AAAA,EAAA,IAClBC,EAAgBhB,CAAW;AAU/B,MARAW,EAAU,MAAM;AACd,IAAIZ,MAAa,aACfa,EAAaZ,GAAa;AAAA,MACxB,aAAa;AAAA,MACb,2BAA2B;AAAA,IAAA,CAC5B;AAAA,EACF,GAAA,CAACY,GAAcZ,GAAaD,CAAQ,CAAC,GAEpCS,KAAsBM,EAA8B,QAAA,gBAAAG,EAACC,GAAoB,CAAA,CAAA;AAE7E,MAAIH,KAA+BN;AAC1B,WAAA,gBAAAQ,EAAC,OAAE,UAAK,QAAA,CAAA;AAGjB,QAAM,EAAE,YAAYE,EAAA,KAAkBN,KAAA,gBAAAA,EAAsB,gBAAe,CAAA,GAErEO,IACJP,KAAwBN,KAAcc,EAAcR,GAAsBN,CAAU;AAE/E,SAAAA,MAAea,KAAiBnB,KACrC,gBAAAgB;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,OAAA7B;AAAA,MACA,OAAAC;AAAA,MACA,WAAAJ;AAAA,MACA,aAAAD;AAAA,MACA,QAAAE;AAAA,MACA,WAAAC;AAAA,MACA,UAAUS,KAAYmB;AAAA,MACtB,QAAQb;AAAA,MACR,kBAAkBZ;AAAA,MAClB,aAAaC;AAAA,MACb,QAAQC;AAAA,MACR,sBAAsBC;AAAA,MACtB,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAE;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,eAAAe;AAAA,MACA,cAAAd;AAAA,IAAA;AAAA,EAEA,IAAA;AACN,GAEAkB,IAAenC;"}
@@ -1,24 +1,24 @@
1
1
  import { jsxs as t, Fragment as te, jsx as o } from "react/jsx-runtime";
2
2
  import ne, { memo as oe, useState as ie, useCallback as A } from "react";
3
- import se from "../../../hooks/use-lazy-ref.js";
4
- import C from "../../../ui/buttons/text-button/text-button.js";
3
+ import re from "../../../hooks/use-lazy-ref.js";
4
+ import g from "../../../ui/buttons/text-button/text-button.js";
5
5
  import c from "../../../ui/layout/flex-view.js";
6
- import g from "../../../ui/text/text.js";
7
- import re from "./milestone-widget/milestone-widget.js";
6
+ import C from "../../../ui/text/text.js";
7
+ import se from "./milestone-widget/milestone-widget.js";
8
8
  import { StyledDownIcon as ae } from "./milestone-widget/milestone-widget-styled.js";
9
9
  import le from "./no-active-milestone/no-active-milestone.js";
10
10
  import ce from "../../../../node_modules/uuid/dist/esm-browser/v4.js";
11
11
  const xe = oe(
12
- ({ milestones: e, studentId: M, milestoneType: r, ...x }) => {
12
+ ({ milestones: e, studentId: M, milestoneType: s, ...x }) => {
13
13
  const [a, T] = ie(!1), {
14
14
  canCreatePlan: m,
15
- isClassOngoing: v,
16
- isFiltersAdded: I,
17
- isStudentPresent: $,
15
+ isClassOngoing: $,
16
+ isFiltersAdded: v,
17
+ isStudentPresent: I,
18
18
  onAddChapter: R,
19
19
  onAddOutcome: i,
20
20
  onChapterClick: w,
21
- onCreatePlan: s,
21
+ onCreatePlan: r,
22
22
  onDelete: E,
23
23
  onDraftPublish: P,
24
24
  onEdit: S,
@@ -29,23 +29,23 @@ const xe = oe(
29
29
  onReset: F,
30
30
  onResume: k,
31
31
  onReview: j,
32
- onStart: G,
33
- onAssignResources: L,
34
- onUnAssignSheet: O,
35
- onTestPreview: V,
36
- onTestReview: _,
37
- onTestStart: y,
38
- activeMilestoneId: z,
39
- activeTabId: B,
40
- onWidgetTabSelection: U,
32
+ onStart: B,
33
+ onAssignResources: G,
34
+ onUnAssignSheet: L,
35
+ onTestPreview: O,
36
+ onTestReview: V,
37
+ onTestStart: _,
38
+ activeMilestoneId: y,
39
+ activeTabId: z,
40
+ onWidgetTabSelection: X,
41
41
  studentName: p,
42
- teacherName: W,
43
- parentName: X,
42
+ teacherName: U,
43
+ parentName: W,
44
44
  userType: d,
45
45
  courseStream: H
46
- } = x, l = r === "ACTIVE", h = r === "DRAFT", u = se(ce), q = A(() => {
47
- s == null || s(u);
48
- }, [s, u]), J = () => {
46
+ } = x, l = s === "ACTIVE", h = s === "DRAFT", u = re(ce), q = A(() => {
47
+ r == null || r(u);
48
+ }, [r, u]), J = () => {
49
49
  !a && f && f(), T(!a);
50
50
  }, K = A(() => {
51
51
  i == null || i();
@@ -62,21 +62,21 @@ const xe = oe(
62
62
  {
63
63
  canCreatePlan: m,
64
64
  isDraftMilestonePresent: Y,
65
- isFiltersAdded: I,
66
- onCreatePlan: s,
65
+ isFiltersAdded: v,
66
+ onCreatePlan: r,
67
67
  studentName: p,
68
68
  userType: d
69
69
  }
70
70
  ),
71
71
  l && /* @__PURE__ */ t(c, { $flexDirection: "row", $justifyContent: "space-between", $marginBottom: 10, children: [
72
- /* @__PURE__ */ t(g, { $renderAs: "ac4", children: [
72
+ /* @__PURE__ */ t(C, { $renderAs: "ac4", children: [
73
73
  "Goals (",
74
74
  e.length,
75
75
  ")"
76
76
  ] }),
77
77
  d === "TEACHER" && /* @__PURE__ */ t(c, { $flexDirection: "row", $flexGapX: 1, children: [
78
78
  /* @__PURE__ */ o(
79
- C,
79
+ g,
80
80
  {
81
81
  label: "Create Goal",
82
82
  size: "small",
@@ -84,33 +84,42 @@ const xe = oe(
84
84
  disabled: !m
85
85
  }
86
86
  ),
87
- /* @__PURE__ */ o(C, { label: "Add Milestone", size: "small", onClick: K })
87
+ /* @__PURE__ */ o(g, { label: "Add Milestone", size: "small", onClick: K })
88
88
  ] })
89
89
  ] }),
90
- r === "INACTIVE" && !!e.length && /* @__PURE__ */ t(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "space-between", children: [
91
- /* @__PURE__ */ t(g, { $renderAs: "ac4", children: [
92
- "PAST LEARNING PLANS & OUTCOMES (",
93
- e.length,
94
- ")"
95
- ] }),
96
- /* @__PURE__ */ o(ae, { onClick: J, $expanded: a })
97
- ] }),
90
+ s === "INACTIVE" && !!e.length && /* @__PURE__ */ t(
91
+ c,
92
+ {
93
+ $flexDirection: "row",
94
+ $alignItems: "center",
95
+ $justifyContent: "space-between",
96
+ $marginBottomX: 1,
97
+ children: [
98
+ /* @__PURE__ */ t(C, { $renderAs: "ac4", children: [
99
+ "PAST LEARNING PLANS & OUTCOMES (",
100
+ e.length,
101
+ ")"
102
+ ] }),
103
+ /* @__PURE__ */ o(ae, { onClick: J, $expanded: a })
104
+ ]
105
+ }
106
+ ),
98
107
  (h || l || a) && e.map((n, Z) => {
99
108
  const { id: ee } = n;
100
109
  return /* @__PURE__ */ t(ne.Fragment, { children: [
101
110
  /* @__PURE__ */ o(
102
- re,
111
+ se,
103
112
  {
104
113
  milestone: n,
105
114
  studentId: M,
106
115
  studentName: p,
107
- parentName: X,
108
- teacherName: W,
116
+ parentName: W,
117
+ teacherName: U,
109
118
  userType: d,
110
119
  onAddOutcome: i,
111
120
  onChapterClick: w,
112
121
  isMilestoneActive: l || h,
113
- milestoneType: r,
122
+ milestoneType: s,
114
123
  onEdit: S,
115
124
  onCreateMilestoneTest: D,
116
125
  onPreview: b,
@@ -118,24 +127,24 @@ const xe = oe(
118
127
  onReset: F,
119
128
  onResume: k,
120
129
  onReview: j,
121
- onStart: G,
130
+ onStart: B,
122
131
  onAddChapter: R,
123
132
  onDelete: E,
124
133
  onDraftPublish: P,
125
- isClassOngoing: v,
126
- isStudentPresent: $,
127
- onAssignResources: L,
128
- onUnAssignSheet: O,
129
- onTestPreview: V,
130
- onTestReview: _,
131
- onTestStart: y,
134
+ isClassOngoing: $,
135
+ isStudentPresent: I,
136
+ onAssignResources: G,
137
+ onUnAssignSheet: L,
138
+ onTestPreview: O,
139
+ onTestReview: V,
140
+ onTestStart: _,
132
141
  courseStream: H,
133
- activeMilestoneId: z,
134
- activeTabId: B,
135
- onWidgetTabSelection: U
142
+ activeMilestoneId: y,
143
+ activeTabId: z,
144
+ onWidgetTabSelection: X
136
145
  }
137
146
  ),
138
- Z !== e.length - 1 && /* @__PURE__ */ o(c, { $heightX: 2.625 })
147
+ Z !== e.length - 1 && /* @__PURE__ */ o(c, { $heightX: 2 })
139
148
  ] }, `milestone=${ee}`);
140
149
  })
141
150
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useCallback, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLazyRef from '../../../hooks/use-lazy-ref';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n const temporaryMilestoneId = useLazyRef(uuidv4);\n\n const handleCreatePlan = useCallback(() => {\n onCreatePlan?.(temporaryMilestoneId);\n }, [onCreatePlan, temporaryMilestoneId]);\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.();\n }, [onAddOutcome]);\n\n if (!milestones) return null;\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {isMilestoneActive && (\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $marginBottom={10}>\n <Text $renderAs=\"ac4\">Goals ({milestones.length})</Text>\n\n {userType === 'TEACHER' && (\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <TextButton\n label=\"Create Goal\"\n size=\"small\"\n onClick={handleCreatePlan}\n disabled={!canCreatePlan}\n />\n <TextButton label=\"Add Milestone\" size=\"small\" onClick={handleOnAddOutcome} />\n </FlexView>\n )}\n </FlexView>\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <Text $renderAs=\"ac4\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2.625} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","temporaryMilestoneId","useLazyRef","uuidv4","handleCreatePlan","useCallback","toggleExpand","handleOnAddOutcome","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","TextButton","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import type { IMilestoneListProps } from './milestone-list-types';\n\nimport React, { memo, useCallback, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLazyRef from '../../../hooks/use-lazy-ref';\nimport TextButton from '../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport { StyledDownIcon } from './milestone-widget/milestone-widget-styled';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: React.FC<IMilestoneListProps> = memo(\n ({ milestones, studentId, milestoneType, ...restMilestoneListProps }) => {\n const [expandInactiveMilestones, setExpandInactiveMilestones] = useState(false);\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onExpandPastMilestones,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n } = restMilestoneListProps;\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n const temporaryMilestoneId = useLazyRef(uuidv4);\n\n const handleCreatePlan = useCallback(() => {\n onCreatePlan?.(temporaryMilestoneId);\n }, [onCreatePlan, temporaryMilestoneId]);\n\n const toggleExpand = () => {\n if (!expandInactiveMilestones && onExpandPastMilestones) {\n onExpandPastMilestones();\n }\n setExpandInactiveMilestones(!expandInactiveMilestones);\n };\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.();\n }, [onAddOutcome]);\n\n if (!milestones) return null;\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'DRAFT',\n );\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n )}\n\n {isMilestoneActive && (\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $marginBottom={10}>\n <Text $renderAs=\"ac4\">Goals ({milestones.length})</Text>\n\n {userType === 'TEACHER' && (\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <TextButton\n label=\"Create Goal\"\n size=\"small\"\n onClick={handleCreatePlan}\n disabled={!canCreatePlan}\n />\n <TextButton label=\"Add Milestone\" size=\"small\" onClick={handleOnAddOutcome} />\n </FlexView>\n )}\n </FlexView>\n )}\n\n {milestoneType === 'INACTIVE' && Boolean(milestones.length) && (\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n $marginBottomX={1}\n >\n <Text $renderAs=\"ac4\">PAST LEARNING PLANS & OUTCOMES ({milestones.length})</Text>\n <StyledDownIcon onClick={toggleExpand} $expanded={expandInactiveMilestones} />\n </FlexView>\n )}\n\n {(isDraftMilestone || isMilestoneActive || expandInactiveMilestones) &&\n milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <React.Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n {idx !== milestones.length - 1 && <FlexView $heightX={2} />}\n </React.Fragment>\n );\n })}\n </>\n );\n },\n);\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","expandInactiveMilestones","setExpandInactiveMilestones","useState","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onExpandPastMilestones","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isMilestoneActive","isDraftMilestone","temporaryMilestoneId","useLazyRef","uuidv4","handleCreatePlan","useCallback","toggleExpand","handleOnAddOutcome","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","NoActiveMilestone","FlexView","Text","TextButton","StyledDownIcon","idx","milestoneId","React","MilestoneWidget"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as A, jsx as t } from "react/jsx-runtime";
2
- import { memo as L, useState as R, useCallback as d } from "react";
2
+ import { memo as L, useState as R, useCallback as m } from "react";
3
3
  import V from "../../../../../../assets/line-icons/icons/edit2.js";
4
4
  import y from "../../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
5
  import I from "../../../../../ui/buttons/button/button.js";
@@ -12,8 +12,8 @@ import { invalidateMilestonesData as K } from "../../../api/get-milestones.js";
12
12
  import { useDraftPublish as Q } from "./use-goal-draft-publish.js";
13
13
  const de = L((x) => {
14
14
  const {
15
- milestone: m,
16
- studentId: c,
15
+ milestone: c,
16
+ studentId: p,
17
17
  isClassOngoing: G,
18
18
  isStudentPresent: P,
19
19
  studentName: $,
@@ -22,62 +22,62 @@ const de = L((x) => {
22
22
  onAddOutcome: s,
23
23
  onDraftPublish: n,
24
24
  onEdit: i,
25
- courseStream: p
25
+ courseStream: u
26
26
  } = x, {
27
27
  id: e,
28
- milestone_name: u,
29
- milestone_date_ts: h,
28
+ milestone_name: h,
29
+ milestone_date_ts: f,
30
30
  milestone_state: a,
31
31
  permissions: k,
32
- goal_category: f,
32
+ goal_category: b,
33
33
  goal_code: l
34
- } = m, {
35
- can_delete: b,
36
- can_update_date: _,
37
- can_update_plan: E
38
- } = k, { onEvent: C } = B(), [D, g] = R(""), O = a === "OUTCOME_PENDING", X = l && a === "DRAFT", o = !G || P, M = d(
34
+ } = c, {
35
+ can_delete: _,
36
+ can_update_date: E,
37
+ can_update_plan: d
38
+ } = k, { onEvent: C } = B(), [D, g] = R(""), O = a === "OUTCOME_PENDING", X = l && a === "DRAFT", o = !G || P, M = m(
39
39
  (r, z) => {
40
40
  const { id: F } = z || {};
41
41
  r ? g(r) : (e && K({
42
42
  milestone_state_group: "LIVE",
43
- course_stream: p,
44
- student_id: c
43
+ course_stream: u,
44
+ student_id: p
45
45
  }), n == null || n(e, !0), C(J.DRAFT_EDIT.completed, {
46
46
  milestone_id: e || F
47
47
  }));
48
48
  },
49
- [e, c, n, g, C, p]
49
+ [e, p, n, g, C, u]
50
50
  ), { onPublish: S, isProcessing: j } = Q({
51
51
  handleGoalPublishComplete: M,
52
- milestone: m,
52
+ milestone: c,
53
53
  milestoneId: e,
54
54
  studentName: $,
55
55
  parentName: T,
56
56
  teacherName: N
57
- }), v = d(() => {
57
+ }), v = m(() => {
58
58
  i == null || i({
59
59
  milestoneId: e,
60
- milestoneName: u,
61
- milestoneDueDate: h,
62
- isMilestoneChaptersListEditable: E,
63
- isMilestoneDateEditable: _,
60
+ milestoneName: h,
61
+ milestoneDueDate: f,
62
+ isMilestoneChaptersListEditable: d,
63
+ isMilestoneDateEditable: E,
64
64
  milestoneState: a,
65
- canDelete: b,
66
- goalCategory: f,
65
+ canDelete: _,
66
+ goalCategory: b,
67
67
  goalCode: l
68
68
  });
69
69
  }, [
70
- b,
71
70
  _,
72
71
  E,
73
- h,
72
+ d,
74
73
  f,
74
+ b,
75
75
  l,
76
76
  e,
77
- u,
77
+ h,
78
78
  a,
79
79
  i
80
- ]), U = d(() => {
80
+ ]), U = m(() => {
81
81
  s == null || s(e);
82
82
  }, [s, e]);
83
83
  return /* @__PURE__ */ A(w, { $justifyContent: "center", $flexGap: 8, children: [
@@ -124,7 +124,7 @@ const de = L((x) => {
124
124
  )
125
125
  }
126
126
  ),
127
- /* @__PURE__ */ t(
127
+ d && /* @__PURE__ */ t(
128
128
  y,
129
129
  {
130
130
  position: "bottom",
@@ -1 +1 @@
1
- {"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import type { IGoalActionCtas } from './goal-action-ctas-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(props => {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal = !isClassOngoing || isStudentPresent;\n\n const handleGoalPublishComplete = useCallback(\n (errorMessage: string | null, data?: { id: string }) => {\n const { id } = data || {};\n\n if (errorMessage) {\n setError(errorMessage);\n } else {\n if (milestoneId) {\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n }\n onDraftPublish?.(milestoneId, true);\n trackEvent(EVENT_NAMES.DRAFT_EDIT.completed, {\n milestone_id: milestoneId || id,\n });\n }\n },\n [milestoneId, studentId, onDraftPublish, setError, trackEvent, courseStream],\n );\n\n const { onPublish, isProcessing } = useDraftPublish({\n handleGoalPublishComplete,\n milestone,\n milestoneId,\n studentName,\n parentName,\n teacherName,\n });\n\n const handleGoalEdit = useCallback(() => {\n onEdit?.({\n milestoneId,\n milestoneName,\n milestoneDueDate: dueDate,\n isMilestoneChaptersListEditable: canUpdatePlan,\n isMilestoneDateEditable: canUpdateDate,\n milestoneState,\n canDelete,\n goalCategory,\n goalCode,\n });\n }, [\n canDelete,\n canUpdateDate,\n canUpdatePlan,\n dueDate,\n goalCategory,\n goalCode,\n milestoneId,\n milestoneName,\n milestoneState,\n onEdit,\n ]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.(milestoneId);\n }, [onAddOutcome, milestoneId]);\n\n return (\n <FlexView $justifyContent=\"center\" $flexGap={8}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={1.5}\n $alignItems=\"center\"\n $width=\"fit-content\"\n onClick={e => e.stopPropagation()}\n >\n {canAddOutcome && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Add outcome\"\n shape=\"square\"\n widthX={10}\n onClick={handleOnAddOutcome}\n />\n )}\n\n {isDraftMilestone && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canPublishOrEditGoal}\n widthX={15}\n >\n <Button\n renderAs=\"primary\"\n shape=\"square\"\n widthX={10}\n label=\"Publish\"\n size=\"small\"\n onClick={onPublish}\n busy={isProcessing}\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n widthX={!canPublishOrEditGoal ? 15 : 5}\n tooltipItem={\n !canPublishOrEditGoal ? 'Goals can only be edited for students in class.' : 'Edit goal'\n }\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={Edit2Icon}\n analyticsLabel=\"Edit Goal\"\n onClick={handleGoalEdit}\n size=\"xsmall\"\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n </FlexView>\n\n {error && (\n <Text $widthX={12.5} $renderAs=\"ub3-bold\" $color=\"RED\" $align=\"center\">\n {error}\n </Text>\n )}\n </FlexView>\n );\n});\n\nexport default GoalActionCtas;\n"],"names":["GoalActionCtas","memo","props","milestone","studentId","isClassOngoing","isStudentPresent","studentName","teacherName","parentName","onAddOutcome","onDraftPublish","onEdit","courseStream","milestoneId","milestoneName","dueDate","milestoneState","milestonePermissions","goalCategory","goalCode","canDelete","canUpdateDate","canUpdatePlan","trackEvent","useUIContext","error","setError","useState","canAddOutcome","isDraftMilestone","canPublishOrEditGoal","handleGoalPublishComplete","useCallback","errorMessage","data","id","invalidateMilestonesData","EVENT_NAMES","onPublish","isProcessing","useDraftPublish","handleGoalEdit","handleOnAddOutcome","jsxs","FlexView","e","jsx","Button","ArrowTooltip","IconButton","Edit2Icon","Text"],"mappings":"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"}
1
+ {"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import type { IGoalActionCtas } from './goal-action-ctas-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(props => {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal = !isClassOngoing || isStudentPresent;\n\n const handleGoalPublishComplete = useCallback(\n (errorMessage: string | null, data?: { id: string }) => {\n const { id } = data || {};\n\n if (errorMessage) {\n setError(errorMessage);\n } else {\n if (milestoneId) {\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n }\n onDraftPublish?.(milestoneId, true);\n trackEvent(EVENT_NAMES.DRAFT_EDIT.completed, {\n milestone_id: milestoneId || id,\n });\n }\n },\n [milestoneId, studentId, onDraftPublish, setError, trackEvent, courseStream],\n );\n\n const { onPublish, isProcessing } = useDraftPublish({\n handleGoalPublishComplete,\n milestone,\n milestoneId,\n studentName,\n parentName,\n teacherName,\n });\n\n const handleGoalEdit = useCallback(() => {\n onEdit?.({\n milestoneId,\n milestoneName,\n milestoneDueDate: dueDate,\n isMilestoneChaptersListEditable: canUpdatePlan,\n isMilestoneDateEditable: canUpdateDate,\n milestoneState,\n canDelete,\n goalCategory,\n goalCode,\n });\n }, [\n canDelete,\n canUpdateDate,\n canUpdatePlan,\n dueDate,\n goalCategory,\n goalCode,\n milestoneId,\n milestoneName,\n milestoneState,\n onEdit,\n ]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.(milestoneId);\n }, [onAddOutcome, milestoneId]);\n\n return (\n <FlexView $justifyContent=\"center\" $flexGap={8}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={1.5}\n $alignItems=\"center\"\n $width=\"fit-content\"\n onClick={e => e.stopPropagation()}\n >\n {canAddOutcome && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Add outcome\"\n shape=\"square\"\n widthX={10}\n onClick={handleOnAddOutcome}\n />\n )}\n\n {isDraftMilestone && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canPublishOrEditGoal}\n widthX={15}\n >\n <Button\n renderAs=\"primary\"\n shape=\"square\"\n widthX={10}\n label=\"Publish\"\n size=\"small\"\n onClick={onPublish}\n busy={isProcessing}\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n\n {canUpdatePlan && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n widthX={!canPublishOrEditGoal ? 15 : 5}\n tooltipItem={\n !canPublishOrEditGoal\n ? 'Goals can only be edited for students in class.'\n : 'Edit goal'\n }\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={Edit2Icon}\n analyticsLabel=\"Edit Goal\"\n onClick={handleGoalEdit}\n size=\"xsmall\"\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n </FlexView>\n\n {error && (\n <Text $widthX={12.5} $renderAs=\"ub3-bold\" $color=\"RED\" $align=\"center\">\n {error}\n </Text>\n )}\n </FlexView>\n );\n});\n\nexport default GoalActionCtas;\n"],"names":["GoalActionCtas","memo","props","milestone","studentId","isClassOngoing","isStudentPresent","studentName","teacherName","parentName","onAddOutcome","onDraftPublish","onEdit","courseStream","milestoneId","milestoneName","dueDate","milestoneState","milestonePermissions","goalCategory","goalCode","canDelete","canUpdateDate","canUpdatePlan","trackEvent","useUIContext","error","setError","useState","canAddOutcome","isDraftMilestone","canPublishOrEditGoal","handleGoalPublishComplete","useCallback","errorMessage","data","id","invalidateMilestonesData","EVENT_NAMES","onPublish","isProcessing","useDraftPublish","handleGoalEdit","handleOnAddOutcome","jsxs","FlexView","e","jsx","Button","ArrowTooltip","IconButton","Edit2Icon","Text"],"mappings":"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"}