@cuemath/leap 3.3.21 → 3.3.23-link.0

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 (75) hide show
  1. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  2. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  3. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  4. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  5. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +54 -29
  6. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  7. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  8. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  9. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  10. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  11. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +97 -94
  12. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  13. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +160 -143
  14. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  15. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  16. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  17. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  18. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  19. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  20. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  21. package/dist/features/milestone/create/milestone-create-helpers.js +170 -153
  22. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  23. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  24. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  25. package/dist/features/milestone/create/milestone-create.js +19 -17
  26. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  27. package/dist/features/parent-dashboard/api/cancel-subscription.js +9 -0
  28. package/dist/features/parent-dashboard/api/cancel-subscription.js.map +1 -0
  29. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js +20 -0
  30. package/dist/features/parent-dashboard/comps/billing-information/billing-information-styled.js.map +1 -0
  31. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js +96 -0
  32. package/dist/features/parent-dashboard/comps/billing-information/billing-information.js.map +1 -0
  33. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js +40 -34
  34. package/dist/features/parent-dashboard/hooks/use-parent-home-data.js.map +1 -1
  35. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js +21 -0
  36. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription-constants.js.map +1 -0
  37. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js +80 -0
  38. package/dist/features/parent-dashboard/modals/cancel-subscription/cancel-subscription.js.map +1 -0
  39. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js +23 -0
  40. package/dist/features/parent-dashboard/modals/cancellation-confirmation/cancellation-confirmation.js.map +1 -0
  41. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js +55 -0
  42. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-constant.js.map +1 -0
  43. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js +59 -0
  44. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason-styled.js.map +1 -0
  45. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js +93 -0
  46. package/dist/features/parent-dashboard/modals/cancellation-reason/cancellation-reason.js.map +1 -0
  47. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js +63 -0
  48. package/dist/features/parent-dashboard/modals/hooks/use-pla-model-handlers.js.map +1 -0
  49. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js +3 -3
  50. package/dist/features/parent-dashboard/modals/tutor-change/tutor-change-styled.js.map +1 -1
  51. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js +65 -0
  52. package/dist/features/parent-dashboard/modals/view-payment-method/view-payment-method.js.map +1 -0
  53. package/dist/features/parent-dashboard/parent-dashboard-types.js.map +1 -1
  54. package/dist/features/parent-dashboard/parent-dashboard-view.js +161 -138
  55. package/dist/features/parent-dashboard/parent-dashboard-view.js.map +1 -1
  56. package/dist/index.d.ts +9 -0
  57. package/dist/index.js +86 -78
  58. package/dist/index.js.map +1 -1
  59. package/dist/node_modules/query-string/base.js +1 -1
  60. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  61. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  62. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  63. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  64. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  65. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  66. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  67. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  68. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  69. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  70. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  71. package/package.json +2 -3
  72. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  73. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  74. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  75. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1,16 +1,16 @@
1
- import { jsx as t, jsxs as v } from "react/jsx-runtime";
2
- import { memo as w, useEffect as P, useCallback as E } from "react";
3
- import $ from "../../../../hooks/use-previous.js";
4
- import j from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import k from "../../../../ui/layout/flex-view.js";
6
- import B from "../../../../ui/text/text.js";
7
- import { useChaptersGetAll as G } from "../../api/recommended-chapters.js";
8
- import { getFormChapters as H } from "../../utils/index.js";
9
- import I from "../body-layout/body-layout.js";
10
- import { StyledButton as T } from "./add-custom-chapters-styled.js";
11
- import X from "./course-catalog.js";
12
- import q from "./search-chapter/search-chapters.js";
13
- const Y = w(
1
+ import { jsx as t, jsxs as w } from "react/jsx-runtime";
2
+ import { memo as P, useEffect as E, useCallback as $ } from "react";
3
+ import j from "../../../../hooks/use-previous.js";
4
+ import k from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import B from "../../../../ui/layout/flex-view.js";
6
+ import G from "../../../../ui/text/text.js";
7
+ import { useChaptersGetAll as H } from "../../api/recommended-chapters.js";
8
+ import { getFormChapters as I } from "../../utils/index.js";
9
+ import T from "../body-layout/body-layout.js";
10
+ import { StyledButton as X } from "./add-custom-chapters-styled.js";
11
+ import q from "./course-catalog.js";
12
+ import z from "./search-chapter/search-chapters.js";
13
+ const Z = P(
14
14
  ({
15
15
  onFormDataChange: e,
16
16
  formData: a,
@@ -19,33 +19,34 @@ const Y = w(
19
19
  isGoalCreation: m,
20
20
  courseStream: C,
21
21
  classRatio: n,
22
- enrollmentType: u
22
+ enrollmentType: u,
23
+ isTeacherTrainingAccount: f
23
24
  }) => {
24
25
  const {
25
- region: f,
26
+ region: L,
26
27
  primaryChaptersList: r,
27
28
  searchChapterFields: d = {},
28
- searchedChaptersList: L = [],
29
+ searchedChaptersList: b = [],
29
30
  selectedChaptersList: o = []
30
- } = a, { buttonLabel: b, title: y } = h, {
31
- getAll: A,
31
+ } = a, { buttonLabel: y, title: A } = h, {
32
+ getAll: g,
32
33
  data: i,
33
- isProcessing: g,
34
+ isProcessing: x,
34
35
  isProcessed: s
35
- } = G(), l = $(s), c = o.length === 0;
36
- P(() => {
36
+ } = H(), l = j(s), c = o.length === 0;
37
+ E(() => {
37
38
  l === !1 && s === !0 && i && e({
38
- searchedChaptersList: H(i, !0)
39
+ searchedChaptersList: I(i, !0)
39
40
  });
40
41
  }, [l, s, i, e]);
41
- const x = E(() => {
42
- const S = r == null ? void 0 : r.concat(o);
42
+ const S = $(() => {
43
+ const v = r == null ? void 0 : r.concat(o);
43
44
  e({
44
45
  searchedChaptersList: [],
45
46
  selectedChaptersList: [],
46
47
  chapterSubStages: void 0,
47
48
  searchChapterFields: void 0,
48
- primaryChaptersList: S,
49
+ primaryChaptersList: v,
49
50
  committed: {
50
51
  selectedChaptersList: !0,
51
52
  chapterSubStages: !1,
@@ -56,55 +57,56 @@ const Y = w(
56
57
  });
57
58
  }, [e, r, o]);
58
59
  return /* @__PURE__ */ t(
59
- I,
60
+ T,
60
61
  {
61
62
  overflowHidden: !0,
62
63
  bodyHeight: "100%",
63
- headerElement: /* @__PURE__ */ v(k, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
64
- /* @__PURE__ */ t(B, { $renderAs: "ab2", children: y }),
64
+ headerElement: /* @__PURE__ */ w(B, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
65
+ /* @__PURE__ */ t(G, { $renderAs: "ab2", children: A }),
65
66
  /* @__PURE__ */ t(
66
- X,
67
+ q,
67
68
  {
68
69
  config: p,
69
- region: f,
70
+ region: L,
70
71
  courseStream: C,
71
72
  classRatio: n,
72
73
  searchChapterFields: d,
73
74
  onFormDataChange: e,
74
- getCatalogChapters: A,
75
- enrollmentType: u
75
+ getCatalogChapters: g,
76
+ enrollmentType: u,
77
+ isTeacherTrainingAccount: f
76
78
  }
77
79
  )
78
80
  ] }),
79
81
  bodyElement: /* @__PURE__ */ t(
80
- q,
82
+ z,
81
83
  {
82
84
  searchChapterFields: d,
83
85
  onFormDataChange: e,
84
- searchedChaptersList: L,
86
+ searchedChaptersList: b,
85
87
  chaptersList: r,
86
88
  config: p,
87
89
  formData: a,
88
- isProcessing: g,
90
+ isProcessing: x,
89
91
  isProcessed: s
90
92
  }
91
93
  ),
92
94
  footerElement: /* @__PURE__ */ t(
93
- j,
95
+ k,
94
96
  {
95
97
  renderAs: "primary",
96
98
  tooltipItem: "Select chapters to add",
97
99
  position: "top",
98
100
  hidden: !c,
99
101
  children: /* @__PURE__ */ t(
100
- T,
102
+ X,
101
103
  {
102
104
  renderAs: "primary",
103
105
  size: "small",
104
106
  shape: "square",
105
107
  widthX: m ? 9 : 12,
106
- label: b,
107
- onClick: x,
108
+ label: y,
109
+ onClick: S,
108
110
  disabled: c
109
111
  }
110
112
  )
@@ -115,6 +117,6 @@ const Y = w(
115
117
  }
116
118
  );
117
119
  export {
118
- Y as default
120
+ Z as default
119
121
  };
120
122
  //# sourceMappingURL=add-custom-chapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(\n ({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n }) => {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n />\n }\n footerElement={\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Select chapters to add\"\n position=\"top\"\n hidden={!isAddChapterCtaDisabled}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={isGoalCreation ? 9 : 12}\n label={buttonLabel}\n onClick={handleConfirmCustomChapterAddition}\n disabled={isAddChapterCtaDisabled}\n />\n </ArrowTooltip>\n }\n />\n );\n },\n);\n\nexport default AddCustomChapter;\n"],"names":["AddCustomChapter","memo","onFormDataChange","formData","config","currentStep","isGoalCreation","courseStream","classRatio","enrollmentType","region","primaryChaptersList","searchChapterFields","searchedChaptersList","selectedChaptersList","buttonLabel","title","getCatalogChapters","catalogChaptersData","isProcessing","isProcessed","useChaptersGetAll","prevCatalogChaptersProcessed","usePrevious","isAddChapterCtaDisabled","useEffect","getFormChapters","handleConfirmCustomChapterAddition","useCallback","updatedPrimaryChaptersList","jsx","BodyLayout","FlexView","Text","CourseCatalog","ChapterSearch","ArrowTooltip","Styled.StyledButton"],"mappings":"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"}
1
+ {"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(\n ({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n isTeacherTrainingAccount,\n }) => {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n />\n }\n footerElement={\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Select chapters to add\"\n position=\"top\"\n hidden={!isAddChapterCtaDisabled}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={isGoalCreation ? 9 : 12}\n label={buttonLabel}\n onClick={handleConfirmCustomChapterAddition}\n disabled={isAddChapterCtaDisabled}\n />\n </ArrowTooltip>\n }\n />\n );\n },\n);\n\nexport default AddCustomChapter;\n"],"names":["AddCustomChapter","memo","onFormDataChange","formData","config","currentStep","isGoalCreation","courseStream","classRatio","enrollmentType","isTeacherTrainingAccount","region","primaryChaptersList","searchChapterFields","searchedChaptersList","selectedChaptersList","buttonLabel","title","getCatalogChapters","catalogChaptersData","isProcessing","isProcessed","useChaptersGetAll","prevCatalogChaptersProcessed","usePrevious","isAddChapterCtaDisabled","useEffect","getFormChapters","handleConfirmCustomChapterAddition","useCallback","updatedPrimaryChaptersList","jsx","BodyLayout","FlexView","Text","CourseCatalog","ChapterSearch","ArrowTooltip","Styled.StyledButton"],"mappings":"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"}
@@ -1,35 +1,37 @@
1
- import { jsxs as b, Fragment as v, jsx as f } from "react/jsx-runtime";
2
- import { memo as L, useMemo as A, useCallback as G, useEffect as S } from "react";
3
- import E from "../../../../ui/inputs/select-input/select-input.js";
4
- import { GOAL_CATEGORY as h } from "../../../constants.js";
5
- import { useMilestoneContext as z } from "../../milestone-create-context.js";
6
- import { getCurriculumStandardsFromConfig as H } from "../../milestone-create-helpers.js";
7
- import { getGradeBoardAndMajorBasedProgramCode as P } from "../chapters-selection-step/utils.js";
8
- import { useCatalogHelpers as R } from "./hooks/use-catalog-helpers.js";
9
- const Q = L(
1
+ import { jsxs as S, Fragment as n, jsx as E } from "react/jsx-runtime";
2
+ import { memo as H, useMemo as O, useCallback as j, useEffect as w } from "react";
3
+ import x from "../../../../ui/inputs/select-input/select-input.js";
4
+ import { GOAL_CATEGORY as M } from "../../../constants.js";
5
+ import { useMilestoneContext as P } from "../../milestone-create-context.js";
6
+ import { getCurriculumStandardsFromConfig as R } from "../../milestone-create-helpers.js";
7
+ import { getGradeBoardAndMajorBasedProgramCode as X } from "../chapters-selection-step/utils.js";
8
+ import { useCatalogHelpers as U } from "./hooks/use-catalog-helpers.js";
9
+ const Z = H(
10
10
  ({
11
11
  config: s,
12
12
  region: t = "",
13
13
  courseStream: o,
14
- classRatio: C,
14
+ classRatio: i,
15
15
  searchChapterFields: e,
16
- getCatalogChapters: O,
16
+ getCatalogChapters: _,
17
17
  onFormDataChange: r,
18
- enrollmentType: u
18
+ enrollmentType: u,
19
+ isTeacherTrainingAccount: l
19
20
  }) => {
20
- const { mode: j } = z(), {
21
- selectedCurriculum: a = "",
22
- selectedGrade: m = "",
23
- selectedCourse: n = ""
24
- } = e, { grades: w, boards: M, majors: p } = R({
21
+ const { mode: b } = P(), {
22
+ selectedCurriculum: f = "",
23
+ selectedGrade: C = "",
24
+ selectedCourse: a = ""
25
+ } = e, { grades: k, boards: y, majors: G } = U({
25
26
  config: s,
26
27
  region: t,
27
28
  searchChapterFields: e,
28
29
  courseStream: o,
29
- classRatio: C,
30
+ classRatio: i,
30
31
  enrollmentType: u,
31
- flow: "CREATE"
32
- }), c = A(() => p.length > 1, [p]), k = G(
32
+ flow: "CREATE",
33
+ isTeacherTrainingAccount: l
34
+ }), c = O(() => G.length > 1, [G]), B = j(
33
35
  (d) => {
34
36
  r({
35
37
  searchChapterFields: {
@@ -39,23 +41,24 @@ const Q = L(
39
41
  });
40
42
  },
41
43
  [e, r]
42
- ), y = G(
44
+ ), L = j(
43
45
  (d) => {
44
- var _;
45
- let x = e.selectedCurriculum;
46
- (d === "-1" || d === "0") && (x = (_ = H(s, {
46
+ var A;
47
+ let v = e.selectedCurriculum;
48
+ (d === "-1" || d === "0") && (v = (A = R(s, {
47
49
  countryCode: t ?? "",
48
50
  grade: d,
49
- goalCategory: h.SCHOOL_SUCCESS,
51
+ goalCategory: M.SCHOOL_SUCCESS,
50
52
  courseStream: o,
51
53
  enrollmentType: u,
52
- classRatio: C,
53
- flow: "CREATE"
54
- })[0]) == null ? void 0 : _.id), r({
54
+ classRatio: i,
55
+ flow: "CREATE",
56
+ isTeacherTrainingAccount: l
57
+ })[0]) == null ? void 0 : A.id), r({
55
58
  searchChapterFields: {
56
59
  ...e,
57
60
  selectedGrade: d,
58
- selectedCurriculum: x
61
+ selectedCurriculum: v
59
62
  }
60
63
  });
61
64
  },
@@ -66,9 +69,10 @@ const Q = L(
66
69
  t,
67
70
  o,
68
71
  u,
69
- C
72
+ i,
73
+ l
70
74
  ]
71
- ), B = G(
75
+ ), z = j(
72
76
  (d) => {
73
77
  r({
74
78
  searchChapterFields: {
@@ -78,16 +82,17 @@ const Q = L(
78
82
  });
79
83
  },
80
84
  [r, e]
81
- ), i = A(
82
- () => P(s, {
83
- grade: m,
84
- board: a,
85
- major: n,
85
+ ), p = O(
86
+ () => X(s, {
87
+ grade: C,
88
+ board: f,
89
+ major: a,
86
90
  majorsPresent: c,
87
91
  countryCode: t ?? "",
88
- selectedCategory: h.SCHOOL_SUCCESS,
92
+ selectedCategory: M.SCHOOL_SUCCESS,
89
93
  courseStream: o,
90
- enrollmentType: u
94
+ enrollmentType: u,
95
+ isTeacherTrainingAccount: l
91
96
  }),
92
97
  [
93
98
  s,
@@ -95,38 +100,39 @@ const Q = L(
95
100
  u,
96
101
  c,
97
102
  t,
98
- n,
99
103
  a,
100
- m
104
+ f,
105
+ C,
106
+ l
101
107
  ]
102
- ), l = A(() => (i == null ? void 0 : i.program_code) ?? "", [i]);
103
- return S(() => {
104
- l && j === "edit" && O({
108
+ ), m = O(() => (p == null ? void 0 : p.program_code) ?? "", [p]);
109
+ return w(() => {
110
+ m && b === "edit" && _({
105
111
  filter_type: "PROGRAM_CODE",
106
- program_code: l
112
+ program_code: m
107
113
  });
108
- }, [O, j, l, c]), S(() => {
109
- l || r({
114
+ }, [_, b, m, c]), w(() => {
115
+ m || r({
110
116
  searchedChaptersList: []
111
117
  });
112
- }, [l, r]), /* @__PURE__ */ b(v, { children: [
113
- /* @__PURE__ */ f(
114
- E,
118
+ }, [m, r]), /* @__PURE__ */ S(n, { children: [
119
+ /* @__PURE__ */ E(
120
+ x,
115
121
  {
116
122
  renderAs: "primary",
117
123
  label: "Grade",
118
- value: m,
119
- options: w,
120
- onChange: y,
124
+ value: C,
125
+ options: k,
126
+ onChange: L,
121
127
  widthX: 9,
122
128
  size: "xsmall",
123
129
  theme: "dark",
124
130
  shape: "curved"
125
131
  }
126
132
  ),
127
- m && /* @__PURE__ */ b(v, { children: [
128
- /* @__PURE__ */ f(
129
- E,
133
+ C && /* @__PURE__ */ S(n, { children: [
134
+ /* @__PURE__ */ E(
135
+ x,
130
136
  {
131
137
  widthX: 18,
132
138
  renderAs: "primary",
@@ -134,20 +140,20 @@ const Q = L(
134
140
  theme: "dark",
135
141
  size: "xsmall",
136
142
  label: "Curriculum",
137
- options: M,
143
+ options: y,
138
144
  renderOptionsAs: "section-list",
139
- value: a,
140
- onChange: k
145
+ value: f,
146
+ onChange: B
141
147
  }
142
148
  ),
143
- c && /* @__PURE__ */ f(
144
- E,
149
+ c && /* @__PURE__ */ E(
150
+ x,
145
151
  {
146
152
  renderAs: "primary",
147
153
  label: "Course",
148
- options: p,
149
- value: n,
150
- onChange: B,
154
+ options: G,
155
+ value: a,
156
+ onChange: z,
151
157
  widthX: 9,
152
158
  size: "xsmall",
153
159
  theme: "dark",
@@ -159,6 +165,6 @@ const Q = L(
159
165
  }
160
166
  );
161
167
  export {
162
- Q as default
168
+ Z as default
163
169
  };
164
170
  //# sourceMappingURL=course-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import type { ICourseCatalog } from './add-custom-chapters';\nimport type { FC } from 'react';\n\nimport { useEffect, useMemo, useCallback, memo } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(\n ({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n }) => {\n const { mode } = useMilestoneContext();\n\n const {\n selectedCurriculum = '',\n selectedGrade = '',\n selectedCourse = '',\n } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n },\n);\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}
1
+ {"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import type { ICourseCatalog } from './add-custom-chapters';\nimport type { FC } from 'react';\n\nimport { useEffect, useMemo, useCallback, memo } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(\n ({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n }) => {\n const { mode } = useMilestoneContext();\n\n const {\n selectedCurriculum = '',\n selectedGrade = '',\n selectedCourse = '',\n } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n isTeacherTrainingAccount,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n },\n);\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","isTeacherTrainingAccount","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}
@@ -1,41 +1,66 @@
1
- import { useMemo as t } from "react";
2
- import { GOAL_CATEGORY as S } from "../../../../constants.js";
3
- import { getGradesBasedOnGoalAvailability as e, getMajorsFromConfigBasedOnBoardAndGrade as m } from "../../../milestone-create-helpers.js";
4
- import { getCategorizedCurriculumStandards as B } from "../../class-details-step/class-details-utils.js";
5
- const b = ({
6
- config: r,
7
- searchChapterFields: G,
8
- region: s,
9
- courseStream: d,
1
+ import { useMemo as s } from "react";
2
+ import { GOAL_CATEGORY as L } from "../../../../constants.js";
3
+ import { getGradesBasedOnGoalAvailability as _, getMajorsFromConfigBasedOnBoardAndGrade as b } from "../../../milestone-create-helpers.js";
4
+ import { getCategorizedCurriculumStandards as j } from "../../class-details-step/class-details-utils.js";
5
+ const v = ({
6
+ config: d,
7
+ searchChapterFields: m,
8
+ region: G,
9
+ courseStream: C,
10
10
  classRatio: o,
11
- enrollmentType: a,
12
- flow: O
11
+ enrollmentType: r,
12
+ flow: a,
13
+ isTeacherTrainingAccount: t
13
14
  }) => {
14
- const { selectedCurriculum: u = "", selectedGrade: C = "" } = G, g = t(() => e(r, "SCHOOL_SUCCESS", d, a), [r, d, a]), i = t(
15
- () => B(r, {
16
- countryCode: s ?? "",
17
- grade: C,
18
- goalCategory: S.SCHOOL_SUCCESS,
19
- courseStream: d,
15
+ const { selectedCurriculum: S = "", selectedGrade: O = "" } = m, B = s(() => _(
16
+ d,
17
+ "SCHOOL_SUCCESS",
18
+ C,
19
+ r,
20
+ t
21
+ ), [d, C, r, t]), E = s(
22
+ () => j(d, {
23
+ countryCode: G ?? "",
24
+ grade: O,
25
+ goalCategory: L.SCHOOL_SUCCESS,
26
+ courseStream: C,
20
27
  classRatio: o,
21
- enrollmentType: a,
22
- flow: O
28
+ enrollmentType: r,
29
+ flow: a,
30
+ isTeacherTrainingAccount: t
23
31
  }),
24
- [r, s, C, d, o, a, O]
25
- ), A = t(() => m(
26
- r,
27
- u,
32
+ [
33
+ d,
34
+ G,
35
+ O,
36
+ C,
37
+ o,
38
+ r,
39
+ a,
40
+ t
41
+ ]
42
+ ), H = s(() => b(
43
+ d,
44
+ S,
45
+ O,
28
46
  C,
47
+ r,
48
+ t
49
+ ), [
29
50
  d,
30
- a
31
- ), [C, a, u, r, d]);
51
+ S,
52
+ O,
53
+ C,
54
+ r,
55
+ t
56
+ ]);
32
57
  return {
33
- grades: g,
34
- boards: i,
35
- majors: A
58
+ grades: B,
59
+ boards: E,
60
+ majors: H
36
61
  };
37
62
  };
38
63
  export {
39
- b as useCatalogHelpers
64
+ v as useCatalogHelpers
40
65
  };
41
66
  //# sourceMappingURL=use-catalog-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TMilestoneFormFlow,\n} from '../../../milestone-create-types';\n\nimport { useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../../constants';\nimport {\n getGradesBasedOnGoalAvailability,\n getMajorsFromConfigBasedOnBoardAndGrade,\n} from '../../../milestone-create-helpers';\nimport { getCategorizedCurriculumStandards } from '../../class-details-step/class-details-utils';\n\ntype TOptions = { id: string; label: string };\n\ninterface IUseCatalogHelpers {\n (args: {\n config: IMilestoneConfig;\n searchChapterFields: Partial<ISearchChapterFields>;\n region: string;\n courseStream: TCourseStream;\n classRatio: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n }): {\n grades: TOptions[];\n boards: ISectionOption<TCurriculumStandardOption>[];\n majors: TOptions[];\n };\n}\n\nconst useCatalogHelpers: IUseCatalogHelpers = ({\n config,\n searchChapterFields,\n region,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n}) => {\n const { selectedCurriculum = '', selectedGrade = '' } = searchChapterFields;\n\n const grades = useMemo(() => {\n //* We don't allow to add custom chapters to TEST_PREP & ENRICHMENT\n return getGradesBasedOnGoalAvailability(config, 'SCHOOL_SUCCESS', courseStream, enrollmentType);\n }, [config, courseStream, enrollmentType]);\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n countryCode: region ?? '',\n grade: selectedGrade,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n }),\n [config, region, selectedGrade, courseStream, classRatio, enrollmentType, flow],\n );\n\n const majors = useMemo(() => {\n return getMajorsFromConfigBasedOnBoardAndGrade(\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n );\n }, [selectedGrade, enrollmentType, selectedCurriculum, config, courseStream]);\n\n return {\n grades,\n boards,\n majors,\n };\n};\n\nexport { useCatalogHelpers };\n"],"names":["useCatalogHelpers","config","searchChapterFields","region","courseStream","classRatio","enrollmentType","flow","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;AAqCA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,QAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AACF,MAAM;AACJ,QAAM,EAAE,oBAAAC,IAAqB,IAAI,eAAAC,IAAgB,OAAOP,GAElDQ,IAASC,EAAQ,MAEdC,EAAiCX,GAAQ,kBAAkBG,GAAcE,CAAc,GAC7F,CAACL,GAAQG,GAAcE,CAAc,CAAC,GAEnCO,IAASF;AAAA,IACb,MACEG,EAAkCb,GAAQ;AAAA,MACxC,aAAaE,KAAU;AAAA,MACvB,OAAOM;AAAA,MACP,cAAcM,EAAc;AAAA,MAC5B,cAAAX;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,MAAAC;AAAA,IAAA,CACD;AAAA,IACH,CAACN,GAAQE,GAAQM,GAAeL,GAAcC,GAAYC,GAAgBC,CAAI;AAAA,EAAA,GAG1ES,IAASL,EAAQ,MACdM;AAAA,IACLhB;AAAA,IACAO;AAAA,IACAC;AAAA,IACAL;AAAA,IACAE;AAAA,EAAA,GAED,CAACG,GAAeH,GAAgBE,GAAoBP,GAAQG,CAAY,CAAC;AAErE,SAAA;AAAA,IACL,QAAAM;AAAA,IACA,QAAAG;AAAA,IACA,QAAAG;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"use-catalog-helpers.js","sources":["../../../../../../../src/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.ts"],"sourcesContent":["import type { ISectionOption } from '../../../../../ui/section-list/section-list-types';\nimport type {\n IMilestoneConfig,\n ISearchChapterFields,\n TCourseStream,\n TCurriculumStandardOption,\n TEnrollmentTypes,\n TMilestoneFormFlow,\n} from '../../../milestone-create-types';\n\nimport { useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../../constants';\nimport {\n getGradesBasedOnGoalAvailability,\n getMajorsFromConfigBasedOnBoardAndGrade,\n} from '../../../milestone-create-helpers';\nimport { getCategorizedCurriculumStandards } from '../../class-details-step/class-details-utils';\n\ntype TOptions = { id: string; label: string };\n\ninterface IUseCatalogHelpers {\n (args: {\n config: IMilestoneConfig;\n searchChapterFields: Partial<ISearchChapterFields>;\n region: string;\n courseStream: TCourseStream;\n classRatio: number;\n enrollmentType: TEnrollmentTypes;\n flow?: TMilestoneFormFlow | null;\n isTeacherTrainingAccount?: boolean;\n }): {\n grades: TOptions[];\n boards: ISectionOption<TCurriculumStandardOption>[];\n majors: TOptions[];\n };\n}\n\nconst useCatalogHelpers: IUseCatalogHelpers = ({\n config,\n searchChapterFields,\n region,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n}) => {\n const { selectedCurriculum = '', selectedGrade = '' } = searchChapterFields;\n\n const grades = useMemo(() => {\n //* We don't allow to add custom chapters to TEST_PREP & ENRICHMENT\n return getGradesBasedOnGoalAvailability(\n config,\n 'SCHOOL_SUCCESS',\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n );\n }, [config, courseStream, enrollmentType, isTeacherTrainingAccount]);\n\n const boards = useMemo(\n () =>\n getCategorizedCurriculumStandards(config, {\n countryCode: region ?? '',\n grade: selectedGrade,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n }),\n [\n config,\n region,\n selectedGrade,\n courseStream,\n classRatio,\n enrollmentType,\n flow,\n isTeacherTrainingAccount,\n ],\n );\n\n const majors = useMemo(() => {\n return getMajorsFromConfigBasedOnBoardAndGrade(\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n );\n }, [\n config,\n selectedCurriculum,\n selectedGrade,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n ]);\n\n return {\n grades,\n boards,\n majors,\n };\n};\n\nexport { useCatalogHelpers };\n"],"names":["useCatalogHelpers","config","searchChapterFields","region","courseStream","classRatio","enrollmentType","flow","isTeacherTrainingAccount","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;AAsCA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,QAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AAAA,EACA,0BAAAC;AACF,MAAM;AACJ,QAAM,EAAE,oBAAAC,IAAqB,IAAI,eAAAC,IAAgB,OAAOR,GAElDS,IAASC,EAAQ,MAEdC;AAAA,IACLZ;AAAA,IACA;AAAA,IACAG;AAAA,IACAE;AAAA,IACAE;AAAA,EAAA,GAED,CAACP,GAAQG,GAAcE,GAAgBE,CAAwB,CAAC,GAE7DM,IAASF;AAAA,IACb,MACEG,EAAkCd,GAAQ;AAAA,MACxC,aAAaE,KAAU;AAAA,MACvB,OAAOO;AAAA,MACP,cAAcM,EAAc;AAAA,MAC5B,cAAAZ;AAAA,MACA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,MAAAC;AAAA,MACA,0BAAAC;AAAA,IAAA,CACD;AAAA,IACH;AAAA,MACEP;AAAA,MACAE;AAAA,MACAO;AAAA,MACAN;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,MACAC;AAAA,IACF;AAAA,EAAA,GAGIS,IAASL,EAAQ,MACdM;AAAA,IACLjB;AAAA,IACAQ;AAAA,IACAC;AAAA,IACAN;AAAA,IACAE;AAAA,IACAE;AAAA,EAAA,GAED;AAAA,IACDP;AAAA,IACAQ;AAAA,IACAC;AAAA,IACAN;AAAA,IACAE;AAAA,IACAE;AAAA,EAAA,CACD;AAEM,SAAA;AAAA,IACL,QAAAG;AAAA,IACA,QAAAG;AAAA,IACA,QAAAG;AAAA,EAAA;AAEJ;"}