@cuemath/leap 3.3.15-as1 → 3.3.15-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.
Files changed (70) hide show
  1. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +4 -4
  2. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -1
  3. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +5 -5
  4. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  5. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +42 -40
  6. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  7. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +70 -64
  8. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  9. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js +36 -25
  10. package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
  11. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js +48 -28
  12. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
  13. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +79 -76
  14. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  15. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js +96 -93
  16. package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
  17. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js +154 -138
  18. package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
  19. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js +22 -12
  20. package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
  21. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js +64 -59
  22. package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
  23. package/dist/features/milestone/create/milestone-create-container.js +17 -15
  24. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  25. package/dist/features/milestone/create/milestone-create-helpers.js +156 -139
  26. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  27. package/dist/features/milestone/create/milestone-create-styled.js +1 -1
  28. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  29. package/dist/features/milestone/create/milestone-create.js +19 -17
  30. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  31. package/dist/features/ui/constants/z-index.js +2 -5
  32. package/dist/features/ui/constants/z-index.js.map +1 -1
  33. package/dist/features/utils/utils.js +18 -18
  34. package/dist/features/utils/utils.js.map +1 -1
  35. package/dist/index.d.ts +1 -57
  36. package/dist/index.js +522 -532
  37. package/dist/index.js.map +1 -1
  38. package/dist/node_modules/decode-uri-component/index.js.map +1 -0
  39. package/dist/node_modules/query-string/base.js +1 -1
  40. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  41. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  42. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  43. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  44. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  45. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  46. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  47. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/features/hooks/use-visibility-change.js +0 -12
  50. package/dist/features/hooks/use-visibility-change.js.map +0 -1
  51. package/dist/features/ui/timers/class-time/animate.js +0 -100
  52. package/dist/features/ui/timers/class-time/animate.js.map +0 -1
  53. package/dist/features/ui/timers/class-time/animations/open-close.js +0 -93
  54. package/dist/features/ui/timers/class-time/animations/open-close.js.map +0 -1
  55. package/dist/features/ui/timers/class-time/animations/ripple.js +0 -44
  56. package/dist/features/ui/timers/class-time/animations/ripple.js.map +0 -1
  57. package/dist/features/ui/timers/class-time/class-time.js +0 -140
  58. package/dist/features/ui/timers/class-time/class-time.js.map +0 -1
  59. package/dist/features/ui/timers/class-time/constants.js +0 -31
  60. package/dist/features/ui/timers/class-time/constants.js.map +0 -1
  61. package/dist/features/ui/timers/clock/clock.js +0 -25
  62. package/dist/features/ui/timers/clock/clock.js.map +0 -1
  63. package/dist/features/ui/timers/timer/timer.js +0 -63
  64. package/dist/features/ui/timers/timer/timer.js.map +0 -1
  65. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
  66. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  67. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  68. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  69. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  70. /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -23,10 +23,10 @@ const l = r(e)``, s = a`
23
23
  left: -12px;
24
24
  width: fit-content;
25
25
  max-width: 100%;
26
- border: 1px solid ${({ theme: o }) => o.colors.WHITE_T_15};
27
- opacity: ${({ $isVisible: o }) => o ? 1 : 0};
28
- transform: ${({ $isVisible: o }) => o ? "scale(1)" : "scale(0.95)"};
29
- animation: ${({ $isVisible: o }) => o ? t`
26
+ border: 1px solid ${({ theme: o }) => o.colors.WHITE_T_15}
27
+ opacity: ${({ isVisible: o }) => o ? 1 : 0};
28
+ transform: ${({ isVisible: o }) => o ? "scale(1)" : "scale(0.95)"};
29
+ animation: ${({ isVisible: o }) => o ? t`
30
30
  ${s} 0.4s ease forwards
31
31
  ` : t`
32
32
  ${i} 0.4s ease forwards
@@ -1 +1 @@
1
- {"version":3,"file":"animated-avatar-message-styled.js","sources":["../../../../../src/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)``;\n\nconst fadeInScale = keyframes`\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n`;\n\nconst fadeOutScale = keyframes`\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n`;\n\nexport const MessageWrapper = styled(FlexView)<{ $isVisible: boolean }>`\n position: relative;\n left: -12px;\n width: fit-content;\n max-width: 100%;\n border: 1px solid ${({ theme }) => theme.colors.WHITE_T_15};\n opacity: ${({ $isVisible }) => ($isVisible ? 1 : 0)};\n transform: ${({ $isVisible }) => ($isVisible ? 'scale(1)' : 'scale(0.95)')};\n animation: ${({ $isVisible }) =>\n $isVisible\n ? css`\n ${fadeInScale} 0.4s ease forwards\n `\n : css`\n ${fadeOutScale} 0.4s ease forwards\n `};\n transition: all 0.4s ease;\n &::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 0;\n height: 0;\n border-top: 8px solid transparent;\n border-bottom: 8px solid transparent;\n border-right: 8px solid ${({ theme }) => theme.colors.BLACK_5};\n }\n`;\n"],"names":["Wrapper","styled","FlexView","fadeInScale","keyframes","fadeOutScale","MessageWrapper","theme","$isVisible","css"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ,KAEhCC,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWdC,IAAeD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWRE,IAAiBL,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKvB,CAAC,EAAE,OAAAK,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA,aAC/C,CAAC,EAAE,YAAAC,EAAA,MAAkBA,IAAa,IAAI,CAAE;AAAA,eACtC,CAAC,EAAE,YAAAA,EAAA,MAAkBA,IAAa,aAAa,aAAc;AAAA,eAC7D,CAAC,EAAE,YAAAA,QACdA,IACIC;AAAA,YACIN,CAAW;AAAA,YAEfM;AAAA,YACIJ,CAAY;AAAA,SACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAYqB,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;"}
1
+ {"version":3,"file":"animated-avatar-message-styled.js","sources":["../../../../../src/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nexport const Wrapper = styled(FlexView)``;\n\nconst fadeInScale = keyframes`\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n`;\n\nconst fadeOutScale = keyframes`\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n`;\n\nexport const MessageWrapper = styled(FlexView)<{ isVisible: boolean }>`\n position: relative;\n left: -12px;\n width: fit-content;\n max-width: 100%;\n border: 1px solid ${({ theme }) => theme.colors.WHITE_T_15}\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n transform: ${({ isVisible }) => (isVisible ? 'scale(1)' : 'scale(0.95)')};\n animation: ${({ isVisible }) =>\n isVisible\n ? css`\n ${fadeInScale} 0.4s ease forwards\n `\n : css`\n ${fadeOutScale} 0.4s ease forwards\n `};\n transition: all 0.4s ease;\n &::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 0;\n height: 0;\n border-top: 8px solid transparent;\n border-bottom: 8px solid transparent;\n border-right: 8px solid ${({ theme }) => theme.colors.BLACK_5};\n }\n`;\n"],"names":["Wrapper","styled","FlexView","fadeInScale","keyframes","fadeOutScale","MessageWrapper","theme","isVisible","css"],"mappings":";;AAIa,MAAAA,IAAUC,EAAOC,CAAQ,KAEhCC,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWdC,IAAeD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWRE,IAAiBL,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKvB,CAAC,EAAE,OAAAK,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA,aAC/C,CAAC,EAAE,WAAAC,EAAA,MAAiBA,IAAY,IAAI,CAAE;AAAA,eACpC,CAAC,EAAE,WAAAA,EAAA,MAAiBA,IAAY,aAAa,aAAc;AAAA,eAC3D,CAAC,EAAE,WAAAA,QACdA,IACIC;AAAA,YACIN,CAAW;AAAA,YAEfM;AAAA,YACIJ,CAAY;AAAA,SACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAYqB,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA;"}
@@ -21,7 +21,7 @@ const K = {
21
21
  height: N = "auto",
22
22
  idleFrames: A
23
23
  }) => {
24
- const l = c(null), u = c(null), [$, n] = y(!1), [I, x] = y(!1), [M, C] = y(d), L = c(!1), m = c(A), i = E(() => {
24
+ const l = c(null), u = c(null), [x, n] = y(!1), [I, $] = y(!1), [M, C] = y(d), L = c(!1), m = c(A), i = E(() => {
25
25
  const e = l.current;
26
26
  if (!e) return;
27
27
  e.removeEventListener("complete", i), e.setLoop(!0);
@@ -46,12 +46,12 @@ const K = {
46
46
  h,
47
47
  () => ({
48
48
  fadeOutMessageAndPlayCompletion: () => new Promise((e) => {
49
- s(!1), x(!1), o && I && (L.current = !1, g(o)), u.current = setTimeout(() => {
49
+ s(!1), $(!1), o && I && (L.current = !1, g(o)), u.current = setTimeout(() => {
50
50
  n(!1), e();
51
51
  }, b);
52
52
  }),
53
53
  playConfirmationFrames: () => new Promise((e) => {
54
- I || (o && x(!0), L.current = !!m.current, g(v)), r && n(!1), u.current = setTimeout(() => {
54
+ I || (o && $(!0), L.current = !!m.current, g(v)), r && n(!1), u.current = setTimeout(() => {
55
55
  r && C(!0), n(!0), e();
56
56
  }, b);
57
57
  })
@@ -94,14 +94,14 @@ const K = {
94
94
  settings: K
95
95
  }
96
96
  ) }),
97
- $ && /* @__PURE__ */ a(R, { $flex: 1, children: /* @__PURE__ */ a(
97
+ x && /* @__PURE__ */ a(R, { $flex: 1, children: /* @__PURE__ */ a(
98
98
  B,
99
99
  {
100
100
  $gutterX: 1,
101
101
  $gapX: 0.5,
102
102
  $background: "BLACK_3",
103
103
  $borderColor: "BLACK_5",
104
- $isVisible: $,
104
+ isVisible: x,
105
105
  children: /* @__PURE__ */ a(G, { text: V, speed: 20 })
106
106
  }
107
107
  ) })
@@ -1 +1 @@
1
- {"version":3,"file":"animated-avatar-message.js","sources":["../../../../../src/features/auth/comps/animated-avatar-message/animated-avatar-message.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { IAnimatedAvatarMessageProps } from './animated-avatar-message-types';\n\nimport {\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n useEffect,\n type FC,\n useMemo,\n memo,\n} from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport { ANIMATION_SEGMENTS, FADE_TIMEOUT } from './animated-avatar-message-constants';\nimport * as Styled from './animated-avatar-message-styled';\nimport AnimatedText from './animated-text/animated-text';\n\nconst animationSettings = {\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n};\n\nconst AnimatedAvatarMessage: FC<IAnimatedAvatarMessageProps> = ({\n message,\n confirmationMessage,\n onShowContent,\n confirmationFrames,\n completionFrames,\n isConfirmationVisible,\n ref,\n height = 'auto',\n idleFrames,\n}) => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [isMessageVisible, setIsMessageVisible] = useState(false);\n const [isConfirmationAnimationPlayed, setIsConfirmationAnimationPlayed] = useState(false);\n const [isConfirmationMessageVisible, setIsConfirmationMessageVisible] =\n useState(isConfirmationVisible);\n const shouldUseCustomIdleFrames = useRef(false);\n const idleFramesRef = useRef(idleFrames);\n\n const playIdleLoop = useCallback(() => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.removeEventListener('complete', playIdleLoop);\n animation.setLoop(true);\n\n const idleSegment =\n shouldUseCustomIdleFrames.current && idleFramesRef.current\n ? idleFramesRef.current\n : ANIMATION_SEGMENTS.IDLE;\n\n animation.playSegments(idleSegment, true);\n }, []);\n\n const handleLottieRender = useCallback(() => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.playSegments(ANIMATION_SEGMENTS.INITIAL, true);\n\n const onComplete = () => {\n animation.removeEventListener('complete', onComplete);\n setIsMessageVisible(true);\n onShowContent(true);\n animation.playSegments(ANIMATION_SEGMENTS.FINAL, true);\n animation.addEventListener('complete', playIdleLoop);\n };\n\n animation.addEventListener('complete', onComplete);\n }, [onShowContent, playIdleLoop]);\n\n const playAnimation = useCallback(\n (frames: [number, number]) => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.setLoop(false);\n animation.playSegments(frames, true);\n animation.addEventListener('complete', playIdleLoop);\n },\n [playIdleLoop],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n fadeOutMessageAndPlayCompletion: () =>\n new Promise<void>(resolve => {\n onShowContent(false);\n setIsConfirmationAnimationPlayed(false);\n if (completionFrames && isConfirmationAnimationPlayed) {\n shouldUseCustomIdleFrames.current = false;\n playAnimation(completionFrames);\n }\n timeoutRef.current = setTimeout(() => {\n setIsMessageVisible(false);\n resolve();\n }, FADE_TIMEOUT);\n }),\n\n playConfirmationFrames: () =>\n new Promise<void>(resolve => {\n if (!isConfirmationAnimationPlayed) {\n if (completionFrames) {\n setIsConfirmationAnimationPlayed(true);\n }\n shouldUseCustomIdleFrames.current = !!idleFramesRef.current;\n playAnimation(confirmationFrames);\n }\n\n if (confirmationMessage) {\n setIsMessageVisible(false);\n }\n timeoutRef.current = setTimeout(() => {\n if (confirmationMessage) {\n setIsConfirmationMessageVisible(true);\n }\n setIsMessageVisible(true);\n resolve();\n }, FADE_TIMEOUT);\n }),\n }),\n [\n completionFrames,\n confirmationFrames,\n confirmationMessage,\n isConfirmationAnimationPlayed,\n onShowContent,\n playAnimation,\n ],\n );\n\n const displayMessage = useMemo(() => {\n return isConfirmationMessageVisible && confirmationMessage ? confirmationMessage : message;\n }, [isConfirmationMessageVisible, confirmationMessage, message]);\n\n useEffect(() => {\n idleFramesRef.current = idleFrames;\n }, [idleFrames]);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n useEffect(() => {\n setIsConfirmationMessageVisible(isConfirmationVisible);\n }, [isConfirmationVisible]);\n\n useEffect(() => {\n setIsMessageVisible(true);\n onShowContent(true);\n }, [message, onShowContent]);\n\n return (\n <Styled.Wrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"center\"\n $flexColumnGapX={0.5}\n $height={height}\n >\n <FlexView>\n <LottieAnimation\n width={118}\n height={118}\n src={LOTTIE.ANIMATED_AVATAR}\n ref={animationRef}\n onRender={handleLottieRender}\n settings={animationSettings}\n />\n </FlexView>\n {isMessageVisible && (\n <FlexView $flex={1}>\n <Styled.MessageWrapper\n $gutterX={1}\n $gapX={0.5}\n $background=\"BLACK_3\"\n $borderColor=\"BLACK_5\"\n $isVisible={isMessageVisible}\n >\n <AnimatedText text={displayMessage} speed={20} />\n </Styled.MessageWrapper>\n </FlexView>\n )}\n </Styled.Wrapper>\n );\n};\n\nexport default memo(AnimatedAvatarMessage);\n"],"names":["animationSettings","AnimatedAvatarMessage","message","confirmationMessage","onShowContent","confirmationFrames","completionFrames","isConfirmationVisible","ref","height","idleFrames","animationRef","useRef","timeoutRef","isMessageVisible","setIsMessageVisible","useState","isConfirmationAnimationPlayed","setIsConfirmationAnimationPlayed","isConfirmationMessageVisible","setIsConfirmationMessageVisible","shouldUseCustomIdleFrames","idleFramesRef","playIdleLoop","useCallback","animation","idleSegment","ANIMATION_SEGMENTS","handleLottieRender","onComplete","playAnimation","frames","useImperativeHandle","resolve","FADE_TIMEOUT","displayMessage","useMemo","useEffect","jsxs","Styled.Wrapper","jsx","FlexView","LottieAnimation","LOTTIE","Styled.MessageWrapper","AnimatedText","animatedAvatarMessage","memo"],"mappings":"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"}
1
+ {"version":3,"file":"animated-avatar-message.js","sources":["../../../../../src/features/auth/comps/animated-avatar-message/animated-avatar-message.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../ui/lottie-animation/types';\nimport type { IAnimatedAvatarMessageProps } from './animated-avatar-message-types';\n\nimport {\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n useEffect,\n type FC,\n useMemo,\n memo,\n} from 'react';\n\nimport { LOTTIE } from '../../../../assets/lottie/lottie';\nimport FlexView from '../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../ui/lottie-animation/lottie-animation';\nimport { ANIMATION_SEGMENTS, FADE_TIMEOUT } from './animated-avatar-message-constants';\nimport * as Styled from './animated-avatar-message-styled';\nimport AnimatedText from './animated-text/animated-text';\n\nconst animationSettings = {\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n};\n\nconst AnimatedAvatarMessage: FC<IAnimatedAvatarMessageProps> = ({\n message,\n confirmationMessage,\n onShowContent,\n confirmationFrames,\n completionFrames,\n isConfirmationVisible,\n ref,\n height = 'auto',\n idleFrames,\n}) => {\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [isMessageVisible, setIsMessageVisible] = useState(false);\n const [isConfirmationAnimationPlayed, setIsConfirmationAnimationPlayed] = useState(false);\n const [isConfirmationMessageVisible, setIsConfirmationMessageVisible] =\n useState(isConfirmationVisible);\n const shouldUseCustomIdleFrames = useRef(false);\n const idleFramesRef = useRef(idleFrames);\n\n const playIdleLoop = useCallback(() => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.removeEventListener('complete', playIdleLoop);\n animation.setLoop(true);\n\n const idleSegment =\n shouldUseCustomIdleFrames.current && idleFramesRef.current\n ? idleFramesRef.current\n : ANIMATION_SEGMENTS.IDLE;\n\n animation.playSegments(idleSegment, true);\n }, []);\n\n const handleLottieRender = useCallback(() => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.playSegments(ANIMATION_SEGMENTS.INITIAL, true);\n\n const onComplete = () => {\n animation.removeEventListener('complete', onComplete);\n setIsMessageVisible(true);\n onShowContent(true);\n animation.playSegments(ANIMATION_SEGMENTS.FINAL, true);\n animation.addEventListener('complete', playIdleLoop);\n };\n\n animation.addEventListener('complete', onComplete);\n }, [onShowContent, playIdleLoop]);\n\n const playAnimation = useCallback(\n (frames: [number, number]) => {\n const animation = animationRef.current;\n\n if (!animation) return;\n\n animation.setLoop(false);\n animation.playSegments(frames, true);\n animation.addEventListener('complete', playIdleLoop);\n },\n [playIdleLoop],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n fadeOutMessageAndPlayCompletion: () =>\n new Promise<void>(resolve => {\n onShowContent(false);\n setIsConfirmationAnimationPlayed(false);\n if (completionFrames && isConfirmationAnimationPlayed) {\n shouldUseCustomIdleFrames.current = false;\n playAnimation(completionFrames);\n }\n timeoutRef.current = setTimeout(() => {\n setIsMessageVisible(false);\n resolve();\n }, FADE_TIMEOUT);\n }),\n\n playConfirmationFrames: () =>\n new Promise<void>(resolve => {\n if (!isConfirmationAnimationPlayed) {\n if (completionFrames) {\n setIsConfirmationAnimationPlayed(true);\n }\n shouldUseCustomIdleFrames.current = !!idleFramesRef.current;\n playAnimation(confirmationFrames);\n }\n\n if (confirmationMessage) {\n setIsMessageVisible(false);\n }\n timeoutRef.current = setTimeout(() => {\n if (confirmationMessage) {\n setIsConfirmationMessageVisible(true);\n }\n setIsMessageVisible(true);\n resolve();\n }, FADE_TIMEOUT);\n }),\n }),\n [\n completionFrames,\n confirmationFrames,\n confirmationMessage,\n isConfirmationAnimationPlayed,\n onShowContent,\n playAnimation,\n ],\n );\n\n const displayMessage = useMemo(() => {\n return isConfirmationMessageVisible && confirmationMessage ? confirmationMessage : message;\n }, [isConfirmationMessageVisible, confirmationMessage, message]);\n\n useEffect(() => {\n idleFramesRef.current = idleFrames;\n }, [idleFrames]);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n useEffect(() => {\n setIsConfirmationMessageVisible(isConfirmationVisible);\n }, [isConfirmationVisible]);\n\n useEffect(() => {\n setIsMessageVisible(true);\n onShowContent(true);\n }, [message, onShowContent]);\n\n return (\n <Styled.Wrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"center\"\n $flexColumnGapX={0.5}\n $height={height}\n >\n <FlexView>\n <LottieAnimation\n width={118}\n height={118}\n src={LOTTIE.ANIMATED_AVATAR}\n ref={animationRef}\n onRender={handleLottieRender}\n settings={animationSettings}\n />\n </FlexView>\n {isMessageVisible && (\n <FlexView $flex={1}>\n <Styled.MessageWrapper\n $gutterX={1}\n $gapX={0.5}\n $background=\"BLACK_3\"\n $borderColor=\"BLACK_5\"\n isVisible={isMessageVisible}\n >\n <AnimatedText text={displayMessage} speed={20} />\n </Styled.MessageWrapper>\n </FlexView>\n )}\n </Styled.Wrapper>\n );\n};\n\nexport default memo(AnimatedAvatarMessage);\n"],"names":["animationSettings","AnimatedAvatarMessage","message","confirmationMessage","onShowContent","confirmationFrames","completionFrames","isConfirmationVisible","ref","height","idleFrames","animationRef","useRef","timeoutRef","isMessageVisible","setIsMessageVisible","useState","isConfirmationAnimationPlayed","setIsConfirmationAnimationPlayed","isConfirmationMessageVisible","setIsConfirmationMessageVisible","shouldUseCustomIdleFrames","idleFramesRef","playIdleLoop","useCallback","animation","idleSegment","ANIMATION_SEGMENTS","handleLottieRender","onComplete","playAnimation","frames","useImperativeHandle","resolve","FADE_TIMEOUT","displayMessage","useMemo","useEffect","jsxs","Styled.Wrapper","jsx","FlexView","LottieAnimation","LOTTIE","Styled.MessageWrapper","AnimatedText","animatedAvatarMessage","memo"],"mappings":"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"}
@@ -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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"}