@cuemath/leap 3.0.27-beta-0.1 → 3.0.27-beta-0.2
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.
- package/dist/features/homework/styles.js +4 -6
- package/dist/features/homework/styles.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +53 -50
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +24 -22
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +50 -47
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +23 -21
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +143 -143
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/package.json +1 -1
@@ -18,7 +18,7 @@ const c = r(e)(({ theme: o }) => `
|
|
18
18
|
-webkit-box-orient: vertical;
|
19
19
|
overflow: hidden;
|
20
20
|
text-overflow: ellipsis;
|
21
|
-
`,
|
21
|
+
`, u = r(e)(({
|
22
22
|
$shouldopenonright: o,
|
23
23
|
$visible: t
|
24
24
|
}) => `
|
@@ -33,10 +33,8 @@ const c = r(e)(({ theme: o }) => `
|
|
33
33
|
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
|
34
34
|
box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);
|
35
35
|
z-index: 10;
|
36
|
-
`),
|
36
|
+
`), x = r(e)`
|
37
37
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK_T_15};
|
38
|
-
border-top: 2px solid ${({ theme: o }) => o.colors.BLACK_T_15};
|
39
|
-
|
40
38
|
&:hover {
|
41
39
|
border: 1px solid ${({ theme: o }) => o.colors.BLACK};
|
42
40
|
border-top-width: 2px;
|
@@ -119,9 +117,9 @@ export {
|
|
119
117
|
w as BannerImageWrapper,
|
120
118
|
v as BlurContainer,
|
121
119
|
$ as BlurFlexView,
|
122
|
-
|
120
|
+
x as CardContainer,
|
123
121
|
c as CardKebabMenuWrapper,
|
124
|
-
|
122
|
+
u as CardMenuOptionsWrapper,
|
125
123
|
b as CardWrapper,
|
126
124
|
m as HeaderText,
|
127
125
|
h as IconWrapper,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/features/homework/styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Minus2Icon from '../../assets/line-icons/icons/minus2';\nimport FlexView from '../ui/layout/flex-view';\nimport Text from '../ui/text/text';\n\ninterface ICardWrapperProps {\n $bgImage: string;\n}\ninterface ICardOptionsMenuWrapperProps {\n $visible: boolean;\n $shouldopenonright: boolean;\n}\n\nexport const CardKebabMenuWrapper = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n width: 24px;\n height: 24px;\n \n \n &:hover {\n border-radius: 50%;\n background: ${theme.colors.WHITE_5}; \n }\n `;\n});\n\nexport const SubHeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const CardMenuOptionsWrapper = styled(FlexView)<ICardOptionsMenuWrapperProps>(({\n $shouldopenonright,\n $visible,\n}) => {\n return `\n cursor: pointer;\n position: absolute;\n z-index: 6;\n top: calc(100% + 4px);\n right: ${$shouldopenonright ? 0 : 'auto'};\n transform-origin: top;\n transform: scaleY(${$visible ? 1 : 0});\n opacity: ${$visible ? 1 : 0};\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.4);\n z-index: 10;\n `;\n});\n\nexport const CardContainer = styled(FlexView)`\n border: 1px solid ${({ theme }) => theme.colors.BLACK_T_15};\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.BLACK};\n border-top-width: 2px;\n }\n`;\n\nexport const CardWrapper = styled(FlexView)<ICardWrapperProps>(({ $bgImage }) => {\n if ($bgImage) {\n return `\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-size: cover;\n background-position: center;\n overflow: hidden;\n `;\n }\n\n return 'overflow: hidden;';\n});\n\nexport const IconWrapper = styled(FlexView)`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const BannerImageWrapper = styled(FlexView)`\n position: absolute;\n right: -18px;\n top: -4px;\n`;\n\nexport const BannerImage = styled.img(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n border: 1px solid ${theme.colors.BLACK_T_15};\n width: ${gutter * 4}px;\n height: ${gutter * 4}px;\n border-radius: 50%;\n `;\n});\n\nexport const StyledMinus2Icon = styled(Minus2Icon)`\n path {\n stroke: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n\nexport const HeaderText = styled(Text)`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: break-spaces;\n`;\n\ninterface ICardOptionWrapperProps {\n $disabled?: boolean;\n}\ninterface ICardOptionsProps {\n $top: number;\n $left: number;\n}\n\nexport const CardOptions = styled(FlexView)<ICardOptionsProps>``;\n\nexport const CardOptionWrapper = styled(FlexView)<ICardOptionWrapperProps>(({\n theme,\n $disabled,\n}) => {\n return `\n cursor: ${$disabled ? 'not-allowed' : 'pointer'};\n \n &:hover {\n background: ${$disabled ? 'transparent' : theme.colors.BLACK};\n };\n \n path {\n fill: ${theme.colors.WHITE_1};\n }\n `;\n});\n\nexport const OptionText = styled(Text)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const MenuWrapper = styled(FlexView)`\n position: absolute;\n z-index: 6;\n top: calc(100% - 36px);\n right: 12px;\n transform-origin: top;\n transform: scaleY(1);\n`;\n\nexport const BlurContainer = styled(FlexView)`\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0.5;\n`;\n\nexport const BlurFlexView = styled(FlexView)`\n position: absolute;\n right: 42px;\n top: 24px;\n`;\n"],"names":["CardKebabMenuWrapper","styled","FlexView","theme","SubHeaderText","Text","CardMenuOptionsWrapper","$shouldopenonright","$visible","CardContainer","CardWrapper","$bgImage","IconWrapper","BannerImageWrapper","BannerImage","gutter","StyledMinus2Icon","Minus2Icon","HeaderText","$disabled","MenuWrapper","BlurContainer","BlurFlexView"],"mappings":";;;;AAcO,MAAMA,IAAuBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQWA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGvC,GAEYC,IAAgBH,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQ3BC,IAAyBL,EAAOC,CAAQ,EAAgC,CAAC;AAAA,EACpF,oBAAAK;AAAA,EACA,UAAAC;AACF,MACS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKID,IAAqB,IAAI,MAAM;AAAA;AAAA,wBAEpBC,IAAW,IAAI,CAAC;AAAA,eACzBA,IAAW,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA,GAK9B,GAEYC,IAAgBR,EAAOC,CAAQ;AAAA,sBACtB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA;AAAA,wBAEpC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,GAK5CO,IAAcT,EAAOC,CAAQ,EAAqB,CAAC,EAAE,UAAAS,QAC5DA,IACK;AAAA,8BACmBA,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,QAQ7B,mBACR,GAEYC,IAAcX,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAM7BW,IAAqBZ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMpCY,IAAcb,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AAC7C,QAAA,EAAE,QAAAY,EAAO,IAAIZ,EAAM;AAElB,SAAA;AAAA,wBACeA,EAAM,OAAO,UAAU;AAAA,aAClCY,IAAS,CAAC;AAAA,cACTA,IAAS,CAAC;AAAA;AAAA;AAGxB,CAAC,GAEYC,IAAmBf,EAAOgB,CAAU;AAAA;AAAA,cAEnC,CAAC,EAAE,OAAAd,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA,GAIlCe,IAAajB,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBVJ,EAAOC,CAAQ;AAETD,EAAOC,CAAQ,EAA2B,CAAC;AAAA,EAC1E,OAAAC;AAAA,EACA,WAAAgB;AACF,MACS;AAAA,cACKA,IAAY,gBAAgB,SAAS;AAAA;AAAA;AAAA,oBAG/BA,IAAY,gBAAgBhB,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,cAIpDA,EAAM,OAAO,OAAO;AAAA;AAAA,GAGjC;AAEyBF,EAAOI,CAAI;AAAA;AAAA;AAAA;AAAA;AAMxB,MAAAe,IAAcnB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS7BmB,IAAgBpB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS/BoB,IAAerB,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;"}
|
@@ -1,34 +1,35 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
3
|
-
import
|
4
|
-
import { GOAL_CATEGORY as
|
5
|
-
import { useMilestoneContext as
|
6
|
-
import { getCurriculumStandardsFromConfig as
|
7
|
-
import { getGradeBoardAndMajorBasedProgramCode as
|
8
|
-
import { useCatalogHelpers as
|
9
|
-
const
|
1
|
+
import { jsxs as S, Fragment as h, jsx as G } from "react/jsx-runtime";
|
2
|
+
import { memo as z, useMemo as O, useCallback as A, useEffect as E } from "react";
|
3
|
+
import j from "../../../../ui/inputs/select-input/select-input.js";
|
4
|
+
import { GOAL_CATEGORY as M } from "../../../constants.js";
|
5
|
+
import { useMilestoneContext as H } from "../../milestone-create-context.js";
|
6
|
+
import { getCurriculumStandardsFromConfig as P } from "../../milestone-create-helpers.js";
|
7
|
+
import { getGradeBoardAndMajorBasedProgramCode as X } from "../chapters-selection-step/utils.js";
|
8
|
+
import { useCatalogHelpers as g } from "./hooks/use-catalog-helpers.js";
|
9
|
+
const W = z(
|
10
10
|
({
|
11
11
|
config: s,
|
12
12
|
region: t = "",
|
13
13
|
courseStream: o,
|
14
14
|
classRatio: C,
|
15
15
|
searchChapterFields: e,
|
16
|
-
getCatalogChapters:
|
16
|
+
getCatalogChapters: x,
|
17
17
|
onFormDataChange: r,
|
18
18
|
enrollmentType: u
|
19
19
|
}) => {
|
20
|
-
const { mode:
|
21
|
-
selectedCurriculum:
|
20
|
+
const { mode: _, flow: a } = H(), {
|
21
|
+
selectedCurriculum: n = "",
|
22
22
|
selectedGrade: m = "",
|
23
|
-
selectedCourse:
|
24
|
-
} = e, { grades:
|
23
|
+
selectedCourse: p = ""
|
24
|
+
} = e, { grades: k, boards: w, majors: f } = g({
|
25
25
|
config: s,
|
26
26
|
region: t,
|
27
27
|
searchChapterFields: e,
|
28
28
|
courseStream: o,
|
29
29
|
classRatio: C,
|
30
|
-
enrollmentType: u
|
31
|
-
|
30
|
+
enrollmentType: u,
|
31
|
+
flow: a
|
32
|
+
}), c = O(() => f.length > 1, [f]), y = A(
|
32
33
|
(d) => {
|
33
34
|
r({
|
34
35
|
searchChapterFields: {
|
@@ -38,22 +39,23 @@ const Q = w(
|
|
38
39
|
});
|
39
40
|
},
|
40
41
|
[e, r]
|
41
|
-
), B =
|
42
|
+
), B = A(
|
42
43
|
(d) => {
|
43
|
-
var
|
44
|
-
let
|
45
|
-
(d === "-1" || d === "0") && (
|
44
|
+
var v;
|
45
|
+
let b = e.selectedCurriculum;
|
46
|
+
(d === "-1" || d === "0") && (b = (v = P(s, {
|
46
47
|
countryCode: t ?? "",
|
47
48
|
grade: d,
|
48
|
-
goalCategory:
|
49
|
+
goalCategory: M.SCHOOL_SUCCESS,
|
49
50
|
courseStream: o,
|
50
51
|
enrollmentType: u,
|
51
|
-
classRatio: C
|
52
|
-
|
52
|
+
classRatio: C,
|
53
|
+
flow: a
|
54
|
+
})[0]) == null ? void 0 : v.id), r({
|
53
55
|
searchChapterFields: {
|
54
56
|
...e,
|
55
57
|
selectedGrade: d,
|
56
|
-
selectedCurriculum:
|
58
|
+
selectedCurriculum: b
|
57
59
|
}
|
58
60
|
});
|
59
61
|
},
|
@@ -64,9 +66,10 @@ const Q = w(
|
|
64
66
|
t,
|
65
67
|
o,
|
66
68
|
u,
|
67
|
-
C
|
69
|
+
C,
|
70
|
+
a
|
68
71
|
]
|
69
|
-
), L =
|
72
|
+
), L = A(
|
70
73
|
(d) => {
|
71
74
|
r({
|
72
75
|
searchChapterFields: {
|
@@ -76,14 +79,14 @@ const Q = w(
|
|
76
79
|
});
|
77
80
|
},
|
78
81
|
[r, e]
|
79
|
-
), i =
|
80
|
-
() =>
|
82
|
+
), i = O(
|
83
|
+
() => X(s, {
|
81
84
|
grade: m,
|
82
|
-
board:
|
83
|
-
major:
|
85
|
+
board: n,
|
86
|
+
major: p,
|
84
87
|
majorsPresent: c,
|
85
88
|
countryCode: t ?? "",
|
86
|
-
selectedCategory:
|
89
|
+
selectedCategory: M.SCHOOL_SUCCESS,
|
87
90
|
courseStream: o,
|
88
91
|
enrollmentType: u
|
89
92
|
}),
|
@@ -93,28 +96,28 @@ const Q = w(
|
|
93
96
|
u,
|
94
97
|
c,
|
95
98
|
t,
|
99
|
+
p,
|
96
100
|
n,
|
97
|
-
a,
|
98
101
|
m
|
99
102
|
]
|
100
|
-
), l =
|
101
|
-
return
|
102
|
-
l &&
|
103
|
+
), l = O(() => (i == null ? void 0 : i.program_code) ?? "", [i]);
|
104
|
+
return E(() => {
|
105
|
+
l && _ === "edit" && x({
|
103
106
|
filter_type: "PROGRAM_CODE",
|
104
107
|
program_code: l
|
105
108
|
});
|
106
|
-
}, [
|
109
|
+
}, [x, _, l, c]), E(() => {
|
107
110
|
l || r({
|
108
111
|
searchedChaptersList: []
|
109
112
|
});
|
110
|
-
}, [l, r]), /* @__PURE__ */
|
111
|
-
/* @__PURE__ */
|
112
|
-
|
113
|
+
}, [l, r]), /* @__PURE__ */ S(h, { children: [
|
114
|
+
/* @__PURE__ */ G(
|
115
|
+
j,
|
113
116
|
{
|
114
117
|
renderAs: "primary",
|
115
118
|
label: "Grade",
|
116
119
|
value: m,
|
117
|
-
options:
|
120
|
+
options: k,
|
118
121
|
onChange: B,
|
119
122
|
widthX: 9,
|
120
123
|
size: "xsmall",
|
@@ -122,9 +125,9 @@ const Q = w(
|
|
122
125
|
shape: "curved"
|
123
126
|
}
|
124
127
|
),
|
125
|
-
m && /* @__PURE__ */
|
126
|
-
/* @__PURE__ */
|
127
|
-
|
128
|
+
m && /* @__PURE__ */ S(h, { children: [
|
129
|
+
/* @__PURE__ */ G(
|
130
|
+
j,
|
128
131
|
{
|
129
132
|
widthX: 18,
|
130
133
|
renderAs: "primary",
|
@@ -132,19 +135,19 @@ const Q = w(
|
|
132
135
|
theme: "dark",
|
133
136
|
size: "xsmall",
|
134
137
|
label: "Curriculum",
|
135
|
-
options:
|
138
|
+
options: w,
|
136
139
|
renderOptionsAs: "section-list",
|
137
|
-
value:
|
140
|
+
value: n,
|
138
141
|
onChange: y
|
139
142
|
}
|
140
143
|
),
|
141
|
-
c && /* @__PURE__ */
|
142
|
-
|
144
|
+
c && /* @__PURE__ */ G(
|
145
|
+
j,
|
143
146
|
{
|
144
147
|
renderAs: "primary",
|
145
148
|
label: "Course",
|
146
|
-
options:
|
147
|
-
value:
|
149
|
+
options: f,
|
150
|
+
value: p,
|
148
151
|
onChange: L,
|
149
152
|
widthX: 9,
|
150
153
|
size: "xsmall",
|
@@ -157,6 +160,6 @@ const Q = w(
|
|
157
160
|
}
|
158
161
|
);
|
159
162
|
export {
|
160
|
-
|
163
|
+
W as default
|
161
164
|
};
|
162
165
|
//# 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 });\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 });\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":";;;;;;;;AAYA,MAAMA,IAAoCC;AAAA,EACxC,CAAC;AAAA,IACC,QAAAC;AAAA,IACA,QAAAC,IAAS;AAAA,IACT,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,MACI;
|
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, flow } = 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,\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,\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 flow,\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","flow","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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"}
|
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js
CHANGED
@@ -1,39 +1,41 @@
|
|
1
1
|
import { useMemo as t } from "react";
|
2
|
-
import { GOAL_CATEGORY as
|
3
|
-
import { getGradesBasedOnGoalAvailability as
|
4
|
-
import { getCategorizedCurriculumStandards as
|
5
|
-
const
|
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
6
|
config: r,
|
7
|
-
searchChapterFields:
|
8
|
-
region:
|
7
|
+
searchChapterFields: G,
|
8
|
+
region: s,
|
9
9
|
courseStream: d,
|
10
|
-
classRatio:
|
11
|
-
enrollmentType: a
|
10
|
+
classRatio: o,
|
11
|
+
enrollmentType: a,
|
12
|
+
flow: O
|
12
13
|
}) => {
|
13
|
-
const { selectedCurriculum:
|
14
|
-
() =>
|
15
|
-
countryCode:
|
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 ?? "",
|
16
17
|
grade: C,
|
17
|
-
goalCategory:
|
18
|
+
goalCategory: S.SCHOOL_SUCCESS,
|
18
19
|
courseStream: d,
|
19
|
-
classRatio:
|
20
|
-
enrollmentType: a
|
20
|
+
classRatio: o,
|
21
|
+
enrollmentType: a,
|
22
|
+
flow: O
|
21
23
|
}),
|
22
|
-
[r,
|
23
|
-
),
|
24
|
+
[r, s, C, d, o, a, O]
|
25
|
+
), A = t(() => m(
|
24
26
|
r,
|
25
|
-
|
27
|
+
u,
|
26
28
|
C,
|
27
29
|
d,
|
28
30
|
a
|
29
|
-
), [C, a,
|
31
|
+
), [C, a, u, r, d]);
|
30
32
|
return {
|
31
|
-
grades:
|
32
|
-
boards:
|
33
|
-
majors:
|
33
|
+
grades: g,
|
34
|
+
boards: i,
|
35
|
+
majors: A
|
34
36
|
};
|
35
37
|
};
|
36
38
|
export {
|
37
|
-
|
39
|
+
b as useCatalogHelpers
|
38
40
|
};
|
39
41
|
//# sourceMappingURL=use-catalog-helpers.js.map
|
package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map
CHANGED
@@ -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} 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 }): {\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}) => {\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 }),\n [config, region, selectedGrade, courseStream, classRatio, enrollmentType],\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","selectedCurriculum","selectedGrade","grades","useMemo","getGradesBasedOnGoalAvailability","boards","getCategorizedCurriculumStandards","GOAL_CATEGORY","majors","getMajorsFromConfigBasedOnBoardAndGrade"],"mappings":";;;;
|
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,14 +1,15 @@
|
|
1
|
-
import { jsx as
|
2
|
-
import { memo as
|
3
|
-
import { convertToTitleCase as
|
4
|
-
import { useUIContext as
|
1
|
+
import { jsx as X } from "react/jsx-runtime";
|
2
|
+
import { memo as Y, useContext as Z, useMemo as y, useCallback as b } from "react";
|
3
|
+
import { convertToTitleCase as M } from "../../../../../helpers/label-text.js";
|
4
|
+
import { useUIContext as $ } from "../../../../ui/context/context.js";
|
5
5
|
import { WARNING_MESSAGES as i } from "../../../constants.js";
|
6
|
-
import
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import
|
10
|
-
import
|
11
|
-
|
6
|
+
import h from "../../milestone-create-context.js";
|
7
|
+
import { getGradesBasedOnGoalAvailability as n, appendPrimaryGoalCategoryToFormState as I } from "../../milestone-create-helpers.js";
|
8
|
+
import { computeChangeDetection as T, getCountriesWhereCurrentGradeNCategoryIsAvailable as E } from "../chapters-selection-step/utils.js";
|
9
|
+
import { getTestTypeBasedCategory as x } from "../test-type-step/test-type-utils.js";
|
10
|
+
import W from "./class-details-selectors.js";
|
11
|
+
import { getCategorizedCurriculumStandards as ee } from "./class-details-utils.js";
|
12
|
+
const ye = Y(
|
12
13
|
({
|
13
14
|
config: s,
|
14
15
|
formData: g,
|
@@ -19,27 +20,28 @@ const ce = X(
|
|
19
20
|
onFormDataChange: U,
|
20
21
|
enrollmentType: a
|
21
22
|
}) => {
|
22
|
-
const { onEvent: _ } =
|
23
|
+
const { onEvent: _ } = $(), { flow: D } = Z(h), {
|
23
24
|
testType: c,
|
24
25
|
grade: d,
|
25
26
|
board: u,
|
26
27
|
schoolInfo: B,
|
27
28
|
region: H,
|
28
|
-
primaryChaptersList:
|
29
|
-
chapterGoalCategory:
|
30
|
-
} = g, { primaryGoalCategory:
|
29
|
+
primaryChaptersList: P,
|
30
|
+
chapterGoalCategory: R = {}
|
31
|
+
} = g, { primaryGoalCategory: k } = R, m = x(c), { countryCode: F } = B || {}, t = H || F, { name: L } = j, G = T(P, k), O = y(
|
31
32
|
() => ({
|
32
|
-
step:
|
33
|
+
step: L
|
33
34
|
}),
|
34
|
-
[
|
35
|
-
),
|
36
|
-
() =>
|
35
|
+
[L]
|
36
|
+
), S = y(
|
37
|
+
() => ee(s, {
|
37
38
|
grade: d ?? "",
|
38
39
|
countryCode: t ?? "",
|
39
40
|
goalCategory: m,
|
40
41
|
courseStream: r,
|
41
42
|
classRatio: v,
|
42
|
-
enrollmentType: a
|
43
|
+
enrollmentType: a,
|
44
|
+
flow: D
|
43
45
|
}),
|
44
46
|
[
|
45
47
|
v,
|
@@ -48,10 +50,11 @@ const ce = X(
|
|
48
50
|
t,
|
49
51
|
d,
|
50
52
|
a,
|
51
|
-
m
|
53
|
+
m,
|
54
|
+
D
|
52
55
|
]
|
53
|
-
),
|
54
|
-
() =>
|
56
|
+
), C = y(
|
57
|
+
() => E(
|
55
58
|
r,
|
56
59
|
s,
|
57
60
|
m,
|
@@ -60,26 +63,26 @@ const ce = X(
|
|
60
63
|
t
|
61
64
|
),
|
62
65
|
[r, s, m, a, d, t]
|
63
|
-
),
|
66
|
+
), w = y(() => n(
|
64
67
|
s,
|
65
68
|
m,
|
66
69
|
r,
|
67
70
|
a
|
68
71
|
), [s, r, a, m]), z = y(() => {
|
69
72
|
var e;
|
70
|
-
return (e = Object.entries(
|
71
|
-
id:
|
72
|
-
label:
|
73
|
-
})).sort((
|
74
|
-
}, [
|
73
|
+
return (e = Object.entries(C)) == null ? void 0 : e.map(([f, p]) => ({
|
74
|
+
id: f,
|
75
|
+
label: M(p)
|
76
|
+
})).sort((f, p) => f.label.localeCompare(p.label));
|
77
|
+
}, [C]), q = y(() => t && C[t] ? M(C[t] ?? "") : "", [C, t]), l = b(
|
75
78
|
({
|
76
79
|
updatedData: e,
|
77
|
-
gradeUpdated:
|
78
|
-
boardUpdated:
|
79
|
-
countryUpdated:
|
80
|
+
gradeUpdated: f,
|
81
|
+
boardUpdated: p,
|
82
|
+
countryUpdated: V
|
80
83
|
}) => {
|
81
84
|
let A, N;
|
82
|
-
|
85
|
+
f ? (A = I(
|
83
86
|
s,
|
84
87
|
c,
|
85
88
|
e,
|
@@ -89,7 +92,7 @@ const ce = X(
|
|
89
92
|
t
|
90
93
|
), N = {
|
91
94
|
grade: e
|
92
|
-
}) :
|
95
|
+
}) : p ? (A = I(
|
93
96
|
s,
|
94
97
|
c,
|
95
98
|
d,
|
@@ -100,7 +103,7 @@ const ce = X(
|
|
100
103
|
), N = {
|
101
104
|
board: e,
|
102
105
|
major: void 0
|
103
|
-
}) :
|
106
|
+
}) : V && (A = I(
|
104
107
|
s,
|
105
108
|
c,
|
106
109
|
d,
|
@@ -110,7 +113,7 @@ const ce = X(
|
|
110
113
|
e
|
111
114
|
), N = {
|
112
115
|
region: e
|
113
|
-
}), _("onchange",
|
116
|
+
}), _("onchange", O), U({
|
114
117
|
...N,
|
115
118
|
chapterGoalCategory: {
|
116
119
|
primaryGoalCategory: A
|
@@ -119,7 +122,7 @@ const ce = X(
|
|
119
122
|
});
|
120
123
|
},
|
121
124
|
[
|
122
|
-
|
125
|
+
O,
|
123
126
|
u,
|
124
127
|
s,
|
125
128
|
r,
|
@@ -130,7 +133,7 @@ const ce = X(
|
|
130
133
|
c,
|
131
134
|
_
|
132
135
|
]
|
133
|
-
),
|
136
|
+
), J = b(
|
134
137
|
(e) => {
|
135
138
|
if (e === d) return null;
|
136
139
|
G ? o == null || o({
|
@@ -147,7 +150,7 @@ const ce = X(
|
|
147
150
|
});
|
148
151
|
},
|
149
152
|
[o, l, d, G]
|
150
|
-
),
|
153
|
+
), K = b(
|
151
154
|
(e) => {
|
152
155
|
if (e === u) return null;
|
153
156
|
G ? o == null || o({
|
@@ -164,7 +167,7 @@ const ce = X(
|
|
164
167
|
});
|
165
168
|
},
|
166
169
|
[o, l, u, G]
|
167
|
-
),
|
170
|
+
), Q = b(
|
168
171
|
(e) => {
|
169
172
|
if (e === t) return null;
|
170
173
|
G ? o == null || o({
|
@@ -182,25 +185,25 @@ const ce = X(
|
|
182
185
|
},
|
183
186
|
[o, l, t, G]
|
184
187
|
);
|
185
|
-
return /* @__PURE__ */
|
186
|
-
|
188
|
+
return /* @__PURE__ */ X(
|
189
|
+
W,
|
187
190
|
{
|
188
191
|
testType: c,
|
189
192
|
grade: d,
|
190
|
-
grades:
|
193
|
+
grades: w,
|
191
194
|
board: u,
|
192
|
-
boards:
|
195
|
+
boards: S,
|
193
196
|
countryLabel: q,
|
194
197
|
countries: z,
|
195
198
|
currentCountryCode: t,
|
196
|
-
handleCountryChange:
|
197
|
-
handleBoardChange:
|
198
|
-
handleGradeSelect:
|
199
|
+
handleCountryChange: Q,
|
200
|
+
handleBoardChange: K,
|
201
|
+
handleGradeSelect: J
|
199
202
|
}
|
200
203
|
);
|
201
204
|
}
|
202
205
|
);
|
203
206
|
export {
|
204
|
-
|
207
|
+
ye as default
|
205
208
|
};
|
206
209
|
//# sourceMappingURL=class-details-step.js.map
|