@cuemath/leap 2.8.21 → 2.8.22

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 (95) hide show
  1. package/dist/assets/images/images.js +12 -0
  2. package/dist/assets/images/images.js.map +1 -1
  3. package/dist/constants/urls.js +5 -0
  4. package/dist/constants/urls.js.map +1 -0
  5. package/dist/features/chapters/chapter/chapter.js +45 -43
  6. package/dist/features/chapters/chapter/chapter.js.map +1 -1
  7. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js +23 -21
  8. package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
  9. package/dist/features/milestone/constants.js +53 -18
  10. package/dist/features/milestone/constants.js.map +1 -1
  11. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js +16 -4
  12. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  13. package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
  14. package/dist/features/milestone/create/milestone-create-container.js +56 -47
  15. package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
  16. package/dist/features/milestone/create/milestone-create-helpers.js +132 -113
  17. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  18. package/dist/features/milestone/create/milestone-create-hooks.js +92 -90
  19. package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
  20. package/dist/features/milestone/create/milestone-create-styled.js +34 -20
  21. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  22. package/dist/features/milestone/create/milestone-create.js +72 -53
  23. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  24. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js +53 -46
  25. package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
  26. package/dist/features/milestone/create/utils/index.js.map +1 -1
  27. package/dist/features/milestone/drafts/create/draft-create-container.js +54 -0
  28. package/dist/features/milestone/drafts/create/draft-create-container.js.map +1 -0
  29. package/dist/features/milestone/drafts/edit/draft-edit-container.js +77 -0
  30. package/dist/features/milestone/drafts/edit/draft-edit-container.js.map +1 -0
  31. package/dist/features/milestone/drafts/edit/draft-edit-helpers.js +69 -0
  32. package/dist/features/milestone/drafts/edit/draft-edit-helpers.js.map +1 -0
  33. package/dist/features/milestone/{edit/goal-drafts → drafts/goal-edit}/goal-draft-edit-container.js +24 -22
  34. package/dist/features/milestone/drafts/goal-edit/goal-draft-edit-container.js.map +1 -0
  35. package/dist/features/milestone/drafts/review/draft-review-container.js +76 -0
  36. package/dist/features/milestone/drafts/review/draft-review-container.js.map +1 -0
  37. package/dist/features/milestone/edit/comps/delete-milestone/add-remove-nudge.js +48 -0
  38. package/dist/features/milestone/edit/comps/delete-milestone/add-remove-nudge.js.map +1 -0
  39. package/dist/features/milestone/edit/comps/delete-milestone/styled.js +11 -8
  40. package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
  41. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone-modal-styled.js +23 -0
  42. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone-modal-styled.js.map +1 -0
  43. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js +79 -82
  44. package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
  45. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +136 -112
  46. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  47. package/dist/features/milestone/edit/comps/edit-milestone-modal/share-screen.js +68 -0
  48. package/dist/features/milestone/edit/comps/edit-milestone-modal/share-screen.js.map +1 -0
  49. package/dist/features/milestone/edit/goal-edit-helpers.js +6 -5
  50. package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
  51. package/dist/features/milestone/edit/milestone-edit-helpers.js +17 -16
  52. package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
  53. package/dist/features/milestone/help-modals/index.js +22 -0
  54. package/dist/features/milestone/help-modals/index.js.map +1 -0
  55. package/dist/features/milestone/help-modals/milestone-lesson.js +17 -0
  56. package/dist/features/milestone/help-modals/milestone-lesson.js.map +1 -0
  57. package/dist/features/milestone/help-modals/milestone-list.js +17 -0
  58. package/dist/features/milestone/help-modals/milestone-list.js.map +1 -0
  59. package/dist/features/milestone/help-modals/utils.js +20 -0
  60. package/dist/features/milestone/help-modals/utils.js.map +1 -0
  61. package/dist/features/milestone/intro-modal/index.js +24 -0
  62. package/dist/features/milestone/intro-modal/index.js.map +1 -0
  63. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +48 -46
  64. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  65. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +60 -58
  66. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  67. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js +41 -39
  68. package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
  69. package/dist/features/notifications/api/notification.js +13 -0
  70. package/dist/features/notifications/api/notification.js.map +1 -0
  71. package/dist/features/notifications/use-student-journey.js +20 -0
  72. package/dist/features/notifications/use-student-journey.js.map +1 -0
  73. package/dist/features/sheets/constants/lessons.js +28 -0
  74. package/dist/features/sheets/constants/lessons.js.map +1 -0
  75. package/dist/features/ui/modals/info-modal/index.js +117 -0
  76. package/dist/features/ui/modals/info-modal/index.js.map +1 -0
  77. package/dist/index.d.ts +125 -7
  78. package/dist/index.js +258 -244
  79. package/dist/index.js.map +1 -1
  80. package/dist/static/goal_creation_helper.d45e4d58.png +0 -0
  81. package/dist/static/help_banner1.ddb0ef0f.png +0 -0
  82. package/dist/static/help_banner2.40979ed0.png +0 -0
  83. package/dist/static/help_banner3.532099c7.png +0 -0
  84. package/dist/static/help_banner4.90a6fd4d.png +0 -0
  85. package/dist/static/help_banner5.2a9efb39.png +0 -0
  86. package/dist/static/help_banner6.94fe9589.png +0 -0
  87. package/dist/static/milestone_intro_slide1.1537493e.png +0 -0
  88. package/dist/static/milestone_intro_slide2.b791c159.png +0 -0
  89. package/dist/static/milestone_intro_slide3.f7d63a11.png +0 -0
  90. package/dist/static/milestone_intro_slide4.f8da4e46.png +0 -0
  91. package/dist/static/milestone_intro_slide5.ea5d12d2.png +0 -0
  92. package/package.json +1 -1
  93. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +0 -1
  94. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js +0 -17
  95. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/edit/comps/edit-milestone-modal/index.tsx"],"sourcesContent":["import type { IEditMilestoneModalProps } from './edit-milestone-modal-types';\nimport type { ChangeEvent } from 'react';\n\nimport { parse } from 'date-fns';\nimport React, { memo, useCallback, useMemo, useState } from 'react';\n\nimport { EVENTS } from '../../../../communication/pub-sub/constants';\nimport { useInClassActionDispatcher } from '../../../../communication/pub-sub/hooks';\nimport UIContext from '../../../../ui/context/context';\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport { ONE_YEAR_TIMESTAMP_IN_SECONDS } from '../../../constants';\nimport { invalidateMilestonesData } from '../../../milestone-list-container/api/get-milestones';\nimport ConfirmDelete from '../delete-milestone/confirm-delete';\nimport { useMilestonePatch } from './api/patch-milestone';\nimport EditMilestone from './edit-milestone';\n\nconst VIEWS = {\n DELETE_CONFIRM: 'delete_confirm',\n EDIT: 'edit',\n};\n\n// https://github.com/cuemath/package-leap/issues/409\nconst EditDeleteMilestone: React.FC<IEditMilestoneModalProps> = memo(\n ({\n milestoneName,\n milestoneId,\n milestoneDueDate,\n studentId,\n isMilestoneChaptersListEditable,\n isMilestoneDateEditable,\n isClassOngoing,\n onDelete,\n analyticsProps,\n canDelete,\n milestoneState,\n studentClassroomId,\n courseStream,\n }) => {\n const [view, setView] = useState<(typeof VIEWS)[keyof typeof VIEWS]>('edit');\n\n const [inputMilestoneDate, setMilestoneDate] = useState(milestoneDueDate);\n const [isDataPatched, setIsDataPatched] = useState(false);\n const [isPatchingFailed, setIsPatchingFailed] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const todayTimestampSeconds = useMemo(\n () => Math.floor(new Date().setHours(0, 0, 0, 0) / 1000),\n [],\n );\n const oneYearFutureTimestampSeconds = useMemo(\n () => todayTimestampSeconds + ONE_YEAR_TIMESTAMP_IN_SECONDS,\n [todayTimestampSeconds],\n );\n\n const { dispatchInClassAction } = useInClassActionDispatcher({ studentClassroomId });\n\n const anyFieldChanged = inputMilestoneDate !== milestoneDueDate;\n\n const handleClearState = useCallback(() => {\n if (isDataPatched) {\n setIsDataPatched(false);\n }\n\n if (isPatchingFailed) {\n setIsPatchingFailed(false);\n }\n }, [isDataPatched, isPatchingFailed]);\n\n const handleOnComplete = useCallback(\n (errorMsg: string | null) => {\n if (errorMsg) {\n setIsPatchingFailed(true);\n\n return;\n }\n\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n });\n setIsDataPatched(true);\n dispatchInClassAction({\n eventName: EVENTS.MILESTONE_EDITED,\n eventPayload: {\n milestoneId,\n },\n });\n },\n [dispatchInClassAction, isClassOngoing, milestoneId, studentId, courseStream],\n );\n\n const { patch: updateMilestone, isProcessing } = useMilestonePatch({\n onComplete: handleOnComplete,\n });\n\n const handleDateChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleClearState();\n const value = e.target.value;\n\n if (!value) return;\n\n const timestampInSeconds = parse(value, 'yyyy-MM-dd', new Date()).getTime() / 1000;\n\n if (\n errorMessage &&\n timestampInSeconds >= todayTimestampSeconds &&\n timestampInSeconds < oneYearFutureTimestampSeconds\n ) {\n setErrorMessage('');\n }\n\n setMilestoneDate(timestampInSeconds);\n },\n [errorMessage, handleClearState, oneYearFutureTimestampSeconds, todayTimestampSeconds],\n );\n\n const onSave = useCallback(() => {\n if (\n inputMilestoneDate < todayTimestampSeconds ||\n inputMilestoneDate > oneYearFutureTimestampSeconds\n ) {\n if (inputMilestoneDate < todayTimestampSeconds) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n\n return;\n }\n\n updateMilestone(milestoneId, {\n milestone_date_ts: inputMilestoneDate,\n });\n }, [\n milestoneId,\n inputMilestoneDate,\n oneYearFutureTimestampSeconds,\n todayTimestampSeconds,\n updateMilestone,\n ]);\n\n const onDeleteOptionClick = () => {\n setView(VIEWS.DELETE_CONFIRM);\n };\n\n const commonAnalytics = useMemo(() => {\n return {\n ...analyticsProps,\n milestone_id: milestoneId,\n temporary_milestone_id: milestoneId,\n is_student_class_ongoing: isClassOngoing,\n };\n }, [analyticsProps, isClassOngoing, milestoneId]);\n\n const analyticsContext = useTrackingContext(commonAnalytics);\n\n return (\n <UIContext.Provider value={analyticsContext}>\n {view === VIEWS.DELETE_CONFIRM && (\n <ConfirmDelete milestoneId={milestoneId} onDelete={onDelete} />\n )}\n\n {view === 'edit' && (\n <EditMilestone\n inputMilestoneName={milestoneName}\n areDateUpdatesDisabled={!isMilestoneDateEditable}\n handleDateChange={handleDateChange}\n inputMilestoneDate={inputMilestoneDate}\n anyFieldChanged={anyFieldChanged}\n isProcessing={isProcessing}\n isDataPatched={isDataPatched}\n isMilestoneChaptersListEditable={isMilestoneChaptersListEditable}\n onSave={onSave}\n isPatchingFailed={isPatchingFailed}\n onDeleteOptionClick={onDeleteOptionClick}\n errorMessage={errorMessage}\n canDelete={canDelete}\n milestoneState={milestoneState}\n />\n )}\n </UIContext.Provider>\n );\n },\n);\n\nexport default EditDeleteMilestone;\n"],"names":["VIEWS","EditDeleteMilestone","memo","milestoneName","milestoneId","milestoneDueDate","studentId","isMilestoneChaptersListEditable","isMilestoneDateEditable","isClassOngoing","onDelete","analyticsProps","canDelete","milestoneState","studentClassroomId","courseStream","view","setView","useState","inputMilestoneDate","setMilestoneDate","isDataPatched","setIsDataPatched","isPatchingFailed","setIsPatchingFailed","errorMessage","setErrorMessage","todayTimestampSeconds","useMemo","oneYearFutureTimestampSeconds","ONE_YEAR_TIMESTAMP_IN_SECONDS","dispatchInClassAction","useInClassActionDispatcher","anyFieldChanged","handleClearState","useCallback","handleOnComplete","errorMsg","invalidateMilestonesData","EVENTS","updateMilestone","isProcessing","useMilestonePatch","handleDateChange","e","value","timestampInSeconds","parse","onSave","onDeleteOptionClick","commonAnalytics","analyticsContext","useTrackingContext","jsxs","UIContext","jsx","ConfirmDelete","EditMilestone","EditDeleteMilestone$1"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/features/milestone/edit/comps/edit-milestone-modal/index.tsx"],"sourcesContent":["import type { IEditMilestoneModalProps } from './edit-milestone-modal-types';\nimport type { ChangeEvent } from 'react';\n\nimport { parse } from 'date-fns';\nimport React, { useCallback, useMemo, useState } from 'react';\n\nimport { EVENTS } from '../../../../communication/pub-sub/constants';\nimport { useInClassActionDispatcher } from '../../../../communication/pub-sub/hooks';\nimport UIContext from '../../../../ui/context/context';\nimport useTrackingContext from '../../../../ui/context/use-tracking-context';\nimport { ONE_YEAR_TIMESTAMP_IN_SECONDS } from '../../../constants';\nimport { invalidateMilestonesData } from '../../../milestone-list-container/api/get-milestones';\nimport AddRemoveNudge from '../delete-milestone/add-remove-nudge';\nimport ConfirmDelete from '../delete-milestone/confirm-delete';\nimport { useMilestonePatch } from './api/patch-milestone';\nimport EditMilestone from './edit-milestone';\nimport AddRemoveChapters from './share-screen';\n\nconst VIEWS = {\n DELETE_CONFIRM: 'delete_confirm',\n SHARE_SCREEN: 'share_screen',\n ADD_REMOVE_NUDGE: 'add_remove_nudge',\n EDIT: 'edit',\n};\n\n// https://github.com/cuemath/package-leap/issues/409\nconst EditDeleteMilestone: React.FC<IEditMilestoneModalProps> = ({\n milestoneName,\n milestoneId,\n milestoneDueDate,\n isStudentPresent,\n handleEditChapters,\n studentId,\n isMilestoneChaptersListEditable,\n studentName,\n isMilestoneDateEditable,\n isClassOngoing,\n onDelete,\n analyticsProps,\n canDelete,\n milestoneState,\n studentClassroomId,\n courseStream,\n}) => {\n const [view, setView] = useState<(typeof VIEWS)[keyof typeof VIEWS]>('edit');\n\n const [inputMilestoneDate, setMilestoneDate] = useState(milestoneDueDate);\n const [isDataPatched, setIsDataPatched] = useState(false);\n const [isPatchingFailed, setIsPatchingFailed] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const todayTimestampSeconds = useMemo(\n () => Math.floor(new Date().setHours(0, 0, 0, 0) / 1000),\n [],\n );\n const oneYearFutureTimestampSeconds = useMemo(\n () => todayTimestampSeconds + ONE_YEAR_TIMESTAMP_IN_SECONDS,\n [todayTimestampSeconds],\n );\n\n const { dispatchInClassAction } = useInClassActionDispatcher({ studentClassroomId });\n\n const anyFieldChanged = inputMilestoneDate !== milestoneDueDate;\n\n const handleClearState = useCallback(() => {\n if (isDataPatched) {\n setIsDataPatched(false);\n }\n\n if (isPatchingFailed) {\n setIsPatchingFailed(false);\n }\n }, [isDataPatched, isPatchingFailed]);\n\n const handleOnComplete = useCallback(\n (errorMsg: string | null) => {\n if (errorMsg) {\n setIsPatchingFailed(true);\n\n return;\n }\n\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n });\n setIsDataPatched(true);\n dispatchInClassAction({\n eventName: EVENTS.MILESTONE_EDITED,\n eventPayload: {\n milestoneId,\n },\n });\n },\n [dispatchInClassAction, isClassOngoing, milestoneId, studentId, courseStream],\n );\n\n const { patch: updateMilestone, isProcessing } = useMilestonePatch({\n onComplete: handleOnComplete,\n });\n\n const handleDateChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n handleClearState();\n const value = e.target.value;\n\n if (!value) return;\n\n const timestampInSeconds = parse(value, 'yyyy-MM-dd', new Date()).getTime() / 1000;\n\n if (\n errorMessage &&\n timestampInSeconds >= todayTimestampSeconds &&\n timestampInSeconds < oneYearFutureTimestampSeconds\n ) {\n setErrorMessage('');\n }\n\n setMilestoneDate(timestampInSeconds);\n },\n [errorMessage, handleClearState, oneYearFutureTimestampSeconds, todayTimestampSeconds],\n );\n\n const onSave = useCallback(() => {\n if (\n inputMilestoneDate < todayTimestampSeconds ||\n inputMilestoneDate > oneYearFutureTimestampSeconds\n ) {\n if (inputMilestoneDate < todayTimestampSeconds) {\n setErrorMessage('Please enter a future date');\n } else {\n setErrorMessage('Please select a date within the next year');\n }\n\n return;\n }\n\n updateMilestone(milestoneId, {\n milestone_date_ts: inputMilestoneDate,\n });\n }, [\n milestoneId,\n inputMilestoneDate,\n oneYearFutureTimestampSeconds,\n todayTimestampSeconds,\n updateMilestone,\n ]);\n\n const handleAddRemoveChapter = useCallback(() => {\n if (isStudentPresent) {\n setView(VIEWS.SHARE_SCREEN);\n } else {\n handleEditChapters(milestoneId, false);\n }\n }, [handleEditChapters, isStudentPresent, milestoneId]);\n\n const onDeleteOptionClick = () => {\n setView(VIEWS.DELETE_CONFIRM);\n };\n\n const handleProceedToDelete = () => {\n setView(VIEWS.DELETE_CONFIRM);\n };\n\n const commonAnalytics = useMemo(() => {\n return {\n ...analyticsProps,\n milestone_id: milestoneId,\n temporary_milestone_id: milestoneId,\n is_student_class_ongoing: isClassOngoing,\n };\n }, [analyticsProps, isClassOngoing, milestoneId]);\n\n const analyticsContext = useTrackingContext(commonAnalytics);\n\n return (\n <UIContext.Provider value={analyticsContext}>\n {view === VIEWS.DELETE_CONFIRM && (\n <ConfirmDelete milestoneId={milestoneId} onDelete={onDelete} />\n )}\n\n {view === VIEWS.ADD_REMOVE_NUDGE && (\n <AddRemoveNudge\n onAddRemove={handleAddRemoveChapter}\n onProceedToDelete={handleProceedToDelete}\n />\n )}\n\n {view === 'share_screen' && (\n <AddRemoveChapters\n handleEditChapters={handleEditChapters}\n milestoneId={milestoneId}\n studentName={studentName}\n />\n )}\n\n {view === 'edit' && (\n <EditMilestone\n inputMilestoneName={milestoneName}\n areDateUpdatesDisabled={!isMilestoneDateEditable}\n handleDateChange={handleDateChange}\n inputMilestoneDate={inputMilestoneDate}\n anyFieldChanged={anyFieldChanged}\n isProcessing={isProcessing}\n isDataPatched={isDataPatched}\n isMilestoneChaptersListEditable={isMilestoneChaptersListEditable}\n onSave={onSave}\n isPatchingFailed={isPatchingFailed}\n onDeleteOptionClick={onDeleteOptionClick}\n errorMessage={errorMessage}\n canDelete={canDelete}\n milestoneState={milestoneState}\n />\n )}\n </UIContext.Provider>\n );\n};\n\nexport default EditDeleteMilestone;\n"],"names":["VIEWS","EditDeleteMilestone","milestoneName","milestoneId","milestoneDueDate","isStudentPresent","handleEditChapters","studentId","isMilestoneChaptersListEditable","studentName","isMilestoneDateEditable","isClassOngoing","onDelete","analyticsProps","canDelete","milestoneState","studentClassroomId","courseStream","view","setView","useState","inputMilestoneDate","setMilestoneDate","isDataPatched","setIsDataPatched","isPatchingFailed","setIsPatchingFailed","errorMessage","setErrorMessage","todayTimestampSeconds","useMemo","oneYearFutureTimestampSeconds","ONE_YEAR_TIMESTAMP_IN_SECONDS","dispatchInClassAction","useInClassActionDispatcher","anyFieldChanged","handleClearState","useCallback","handleOnComplete","errorMsg","invalidateMilestonesData","EVENTS","updateMilestone","isProcessing","useMilestonePatch","handleDateChange","e","value","timestampInSeconds","parse","onSave","handleAddRemoveChapter","onDeleteOptionClick","handleProceedToDelete","commonAnalytics","analyticsContext","useTrackingContext","jsxs","UIContext","jsx","ConfirmDelete","AddRemoveNudge","AddRemoveChapters","EditMilestone","EditDeleteMilestone$1"],"mappings":";;;;;;;;;;;;;;AAkBA,MAAMA,IAAQ;AAAA,EACZ,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,MAAM;AACR,GAGMC,KAA0D,CAAC;AAAA,EAC/D,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,aAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAA6C,MAAM,GAErE,CAACC,GAAoBC,CAAgB,IAAIF,EAAShB,CAAgB,GAClE,CAACmB,GAAeC,CAAgB,IAAIJ,EAAS,EAAK,GAClD,CAACK,GAAkBC,CAAmB,IAAIN,EAAS,EAAK,GACxD,CAACO,GAAcC,CAAe,IAAIR,EAAS,EAAE,GAC7CS,IAAwBC;AAAA,IAC5B,MAAM,KAAK,OAAM,oBAAI,KAAK,GAAE,SAAS,GAAG,GAAG,GAAG,CAAC,IAAI,GAAI;AAAA,IACvD,CAAC;AAAA,EAAA,GAEGC,IAAgCD;AAAA,IACpC,MAAMD,IAAwBG;AAAA,IAC9B,CAACH,CAAqB;AAAA,EAAA,GAGlB,EAAE,uBAAAI,EAAsB,IAAIC,EAA2B,EAAE,oBAAAlB,EAAoB,CAAA,GAE7EmB,IAAkBd,MAAuBjB,GAEzCgC,IAAmBC,EAAY,MAAM;AACzC,IAAId,KACFC,EAAiB,EAAK,GAGpBC,KACFC,EAAoB,EAAK;AAAA,EAC3B,GACC,CAACH,GAAeE,CAAgB,CAAC,GAE9Ba,IAAmBD;AAAA,IACvB,CAACE,MAA4B;AAC3B,UAAIA,GAAU;AACZ,QAAAb,EAAoB,EAAI;AAExB;AAAA,MACF;AAEyB,MAAAc,GAAA;AAAA,QACvB,uBAAuB;AAAA,QACvB,WAAW;AAAA,QACX,eAAevB;AAAA,QACf,YAAYV;AAAA,QACZ,UAAUI;AAAA,MAAA,CACX,GACDa,EAAiB,EAAI,GACCS,EAAA;AAAA,QACpB,WAAWQ,EAAO;AAAA,QAClB,cAAc;AAAA,UACZ,aAAAtC;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAAC8B,GAAuBtB,GAAgBR,GAAaI,GAAWU,CAAY;AAAA,EAAA,GAGxE,EAAE,OAAOyB,GAAiB,cAAAC,EAAA,IAAiBC,GAAkB;AAAA,IACjE,YAAYN;AAAA,EAAA,CACb,GAEKO,IAAmBR;AAAA,IACvB,CAACS,MAAqC;AACnB,MAAAV;AACX,YAAAW,IAAQD,EAAE,OAAO;AAEvB,UAAI,CAACC,EAAO;AAEN,YAAAC,IAAqBC,GAAMF,GAAO,kCAAkB,MAAM,EAAE,QAAY,IAAA;AAE9E,MACEpB,KACAqB,KAAsBnB,KACtBmB,IAAqBjB,KAErBH,EAAgB,EAAE,GAGpBN,EAAiB0B,CAAkB;AAAA,IACrC;AAAA,IACA,CAACrB,GAAcS,GAAkBL,GAA+BF,CAAqB;AAAA,EAAA,GAGjFqB,IAASb,EAAY,MAAM;AAE7B,QAAAhB,IAAqBQ,KACrBR,IAAqBU,GACrB;AACA,MAAIV,IAAqBQ,IACvBD,EAAgB,4BAA4B,IAE5CA,EAAgB,2CAA2C;AAG7D;AAAA,IACF;AAEA,IAAAc,EAAgBvC,GAAa;AAAA,MAC3B,mBAAmBkB;AAAA,IAAA,CACpB;AAAA,EAAA,GACA;AAAA,IACDlB;AAAA,IACAkB;AAAA,IACAU;AAAA,IACAF;AAAA,IACAa;AAAA,EAAA,CACD,GAEKS,IAAyBd,EAAY,MAAM;AAC/C,IAAIhC,IACFc,EAAQnB,EAAM,YAAY,IAE1BM,EAAmBH,GAAa,EAAK;AAAA,EAEtC,GAAA,CAACG,GAAoBD,GAAkBF,CAAW,CAAC,GAEhDiD,IAAsB,MAAM;AAChC,IAAAjC,EAAQnB,EAAM,cAAc;AAAA,EAAA,GAGxBqD,IAAwB,MAAM;AAClC,IAAAlC,EAAQnB,EAAM,cAAc;AAAA,EAAA,GAGxBsD,IAAkBxB,EAAQ,OACvB;AAAA,IACL,GAAGjB;AAAA,IACH,cAAcV;AAAA,IACd,wBAAwBA;AAAA,IACxB,0BAA0BQ;AAAA,EAAA,IAE3B,CAACE,GAAgBF,GAAgBR,CAAW,CAAC,GAE1CoD,IAAmBC,EAAmBF,CAAe;AAE3D,SACG,gBAAAG,EAAAC,EAAU,UAAV,EAAmB,OAAOH,GACxB,UAAA;AAAA,IAAArC,MAASlB,EAAM,kBACb,gBAAA2D,EAAAC,IAAA,EAAc,aAAAzD,GAA0B,UAAAS,GAAoB;AAAA,IAG9DM,MAASlB,EAAM,oBACd,gBAAA2D;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,aAAaV;AAAA,QACb,mBAAmBE;AAAA,MAAA;AAAA,IACrB;AAAA,IAGDnC,MAAS,kBACR,gBAAAyC;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,oBAAAxD;AAAA,QACA,aAAAH;AAAA,QACA,aAAAM;AAAA,MAAA;AAAA,IACF;AAAA,IAGDS,MAAS,UACR,gBAAAyC;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,oBAAoB7D;AAAA,QACpB,wBAAwB,CAACQ;AAAA,QACzB,kBAAAmC;AAAA,QACA,oBAAAxB;AAAA,QACA,iBAAAc;AAAA,QACA,cAAAQ;AAAA,QACA,eAAApB;AAAA,QACA,iCAAAf;AAAA,QACA,QAAA0C;AAAA,QACA,kBAAAzB;AAAA,QACA,qBAAA2B;AAAA,QACA,cAAAzB;AAAA,QACA,WAAAb;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IACF;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEAiD,KAAe/D;"}
@@ -0,0 +1,68 @@
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { h as i } from "../../../../../node_modules/humanize-plus/dist/humanize.js";
3
+ import { useCallback as p } from "react";
4
+ import $ from "../../../../ui/buttons/text-button/text-button.js";
5
+ import n from "../../../../ui/layout/flex-view.js";
6
+ import h from "../../../../ui/separator/separator.js";
7
+ import u from "../../../../ui/text/text.js";
8
+ import { StyledButton as m } from "./edit-milestone-modal-styled.js";
9
+ const w = ({
10
+ handleEditChapters: o,
11
+ milestoneId: t,
12
+ studentName: r,
13
+ onCreatePlan: s,
14
+ canCreatePlan: c
15
+ }) => {
16
+ const f = p(() => {
17
+ o(t, !1);
18
+ }, [o, t]), g = p(() => {
19
+ c && s ? s() : o(t, !0);
20
+ }, [c, s, o, t]);
21
+ let a = `⚠️ IMPORTANT: ${i.capitalize(
22
+ r
23
+ )} may be actively working on a specific chapter. Please exercise caution when editing without screen sharing, as this could potentially disrupt ${i.capitalize(
24
+ r
25
+ )}'s progress`;
26
+ return c && (a = `⚠️ IMPORTANT: ${i.capitalize(
27
+ r
28
+ )} may be actively working on a specific worksheet. Please exercise caution when creating learning plan, as this will interrupt ${i.capitalize(
29
+ r
30
+ )}'s work`), /* @__PURE__ */ l(n, { $gutterX: 1.5, $gapX: 1.5, $height: "100%", $justifyContent: "space-between", children: [
31
+ /* @__PURE__ */ l(n, { children: [
32
+ /* @__PURE__ */ l(u, { $renderAs: "h4", children: [
33
+ "Would you like to enable screen sharing with ",
34
+ i.capitalize(r),
35
+ "?"
36
+ ] }),
37
+ /* @__PURE__ */ e(h, { heightX: 1 }),
38
+ /* @__PURE__ */ e(
39
+ n,
40
+ {
41
+ $gutterX: 0.5,
42
+ $gapX: 0.5,
43
+ $background: "ORANGE_1",
44
+ $borderColor: "ORANGE_4",
45
+ $borderRadiusX: 0.25,
46
+ children: /* @__PURE__ */ e(u, { $renderAs: "body2", children: a })
47
+ }
48
+ )
49
+ ] }),
50
+ /* @__PURE__ */ e(h, { heightX: 4 }),
51
+ /* @__PURE__ */ l(n, { $flexDirection: "row", $justifyContent: "flex-end", $alignItems: "center", children: [
52
+ !c && /* @__PURE__ */ e($, { label: "Proceed without sharing", onClick: f }),
53
+ /* @__PURE__ */ e(
54
+ m,
55
+ {
56
+ renderAs: "primary",
57
+ label: "Share screen & proceed",
58
+ onClick: g,
59
+ size: "small"
60
+ }
61
+ )
62
+ ] })
63
+ ] });
64
+ }, T = w;
65
+ export {
66
+ T as default
67
+ };
68
+ //# sourceMappingURL=share-screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share-screen.js","sources":["../../../../../../src/features/milestone/edit/comps/edit-milestone-modal/share-screen.tsx"],"sourcesContent":["import type { IShareScreenModalProps } from './edit-milestone-modal-types';\n\nimport { capitalize } from 'humanize-plus';\nimport React, { useCallback } from 'react';\n\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { StyledButton } from './edit-milestone-modal-styled';\n\nconst ShareScreen: React.FC<IShareScreenModalProps> = ({\n handleEditChapters,\n milestoneId,\n studentName,\n onCreatePlan,\n canCreatePlan,\n}) => {\n const declineShareScreen = useCallback(() => {\n handleEditChapters(milestoneId, false);\n }, [handleEditChapters, milestoneId]);\n\n const allowShareScreen = useCallback(() => {\n if (canCreatePlan && onCreatePlan) {\n onCreatePlan();\n } else {\n handleEditChapters(milestoneId, true);\n }\n }, [canCreatePlan, onCreatePlan, handleEditChapters, milestoneId]);\n\n let cautionText = `⚠️ IMPORTANT: ${capitalize(\n studentName,\n )} may be actively working on a specific chapter. Please exercise caution when editing without screen sharing, as this could potentially disrupt ${capitalize(\n studentName,\n )}'s progress`;\n\n if (canCreatePlan) {\n cautionText = `⚠️ IMPORTANT: ${capitalize(\n studentName,\n )} may be actively working on a specific worksheet. Please exercise caution when creating learning plan, as this will interrupt ${capitalize(\n studentName,\n )}'s work`;\n }\n\n return (\n <FlexView $gutterX={1.5} $gapX={1.5} $height=\"100%\" $justifyContent=\"space-between\">\n <FlexView>\n <Text $renderAs=\"h4\">\n Would you like to enable screen sharing with {capitalize(studentName)}?\n </Text>\n <Separator heightX={1} />\n <FlexView\n $gutterX={0.5}\n $gapX={0.5}\n $background=\"ORANGE_1\"\n $borderColor=\"ORANGE_4\"\n $borderRadiusX={0.25}\n >\n <Text $renderAs=\"body2\">{cautionText}</Text>\n </FlexView>\n </FlexView>\n <Separator heightX={4} />\n <FlexView $flexDirection=\"row\" $justifyContent=\"flex-end\" $alignItems=\"center\">\n {!canCreatePlan && (\n <TextButton label=\"Proceed without sharing\" onClick={declineShareScreen} />\n )}\n <StyledButton\n renderAs=\"primary\"\n label=\"Share screen & proceed\"\n onClick={allowShareScreen}\n size=\"small\"\n />\n </FlexView>\n </FlexView>\n );\n};\n\nexport default ShareScreen;\n"],"names":["ShareScreen","handleEditChapters","milestoneId","studentName","onCreatePlan","canCreatePlan","declineShareScreen","useCallback","allowShareScreen","cautionText","capitalize","jsxs","FlexView","Text","jsx","Separator","TextButton","StyledButton","AddRemoveChapters"],"mappings":";;;;;;;;AAWA,MAAMA,IAAgD,CAAC;AAAA,EACrD,oBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACE,QAAAC,IAAqBC,EAAY,MAAM;AAC3C,IAAAN,EAAmBC,GAAa,EAAK;AAAA,EAAA,GACpC,CAACD,GAAoBC,CAAW,CAAC,GAE9BM,IAAmBD,EAAY,MAAM;AACzC,IAAIF,KAAiBD,IACNA,MAEbH,EAAmBC,GAAa,EAAI;AAAA,KAErC,CAACG,GAAeD,GAAcH,GAAoBC,CAAW,CAAC;AAEjE,MAAIO,IAAc,iBAAiBC,EAAA;AAAA,IACjCP;AAAA,EACD,CAAA,kJAAkJO,EAAA;AAAA,IACjJP;AAAA,EACD,CAAA;AAED,SAAIE,MACFI,IAAc,iBAAiBC,EAAA;AAAA,IAC7BP;AAAA,EACD,CAAA,iIAAiIO,EAAA;AAAA,IAChIP;AAAA,EACD,CAAA,YAID,gBAAAQ,EAACC,KAAS,UAAU,KAAK,OAAO,KAAK,SAAQ,QAAO,iBAAgB,iBAClE,UAAA;AAAA,IAAA,gBAAAD,EAACC,GACC,EAAA,UAAA;AAAA,MAAC,gBAAAD,EAAAE,GAAA,EAAK,WAAU,MAAK,UAAA;AAAA,QAAA;AAAA,QAC2BH,EAAAA,WAAWP,CAAW;AAAA,QAAE;AAAA,MAAA,GACxE;AAAA,MACA,gBAAAW,EAACC,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MACvB,gBAAAD;AAAA,QAACF;AAAA,QAAA;AAAA,UACC,UAAU;AAAA,UACV,OAAO;AAAA,UACP,aAAY;AAAA,UACZ,cAAa;AAAA,UACb,gBAAgB;AAAA,UAEhB,UAAC,gBAAAE,EAAAD,GAAA,EAAK,WAAU,SAAS,UAAYJ,GAAA;AAAA,QAAA;AAAA,MACvC;AAAA,IAAA,GACF;AAAA,IACA,gBAAAK,EAACC,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,sBACtBH,GAAS,EAAA,gBAAe,OAAM,iBAAgB,YAAW,aAAY,UACnE,UAAA;AAAA,MAAA,CAACP,KACC,gBAAAS,EAAAE,GAAA,EAAW,OAAM,2BAA0B,SAASV,GAAoB;AAAA,MAE3E,gBAAAQ;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,OAAM;AAAA,UACN,SAAST;AAAA,UACT,MAAK;AAAA,QAAA;AAAA,MACP;AAAA,IAAA,GACF;AAAA,EACF,EAAA,CAAA;AAEJ,GAEAU,IAAelB;"}
@@ -2,14 +2,14 @@ import { GOAL_CATEGORY as u } from "../constants.js";
2
2
  import { checkEnrollmentAvailable as _ } from "../create/comps/test-type-step/test-type-utils.js";
3
3
  import { getRegionCodeBasedOnCountryCode as f } from "../create/milestone-create-helpers.js";
4
4
  import { getLearningSheetData as g, getTotalSupplementarySheetCount as h } from "../create/utils/index.js";
5
- import { transformRecommendedChaptersFromMilestonePlan as y } from "./goal-drafts/goal-draft-edit-helpers.js";
5
+ import { transformRecommendedChaptersFromMilestonePlan as y } from "../drafts/edit/draft-edit-helpers.js";
6
6
  import { formatDate as C } from "../../../node_modules/date-fns/format.js";
7
7
  const { SCHOOL_SUCCESS: T, TEST_PREP: E, ENRICHMENT: I } = u, c = (t, r, s) => {
8
8
  const m = t.committed;
9
9
  m[r] = !0;
10
10
  const o = r;
11
11
  t[o] = s;
12
- }, L = (t, r = !1) => t.map((s) => {
12
+ }, G = (t, r = !1) => t.map((s) => {
13
13
  const {
14
14
  id: m,
15
15
  code: o = "",
@@ -55,6 +55,7 @@ const { SCHOOL_SUCCESS: T, TEST_PREP: E, ENRICHMENT: I } = u, c = (t, r, s) => {
55
55
  milestoneEndDate: !0,
56
56
  region: !0,
57
57
  chapterGoalCategory: !0,
58
+ schoolGooglePlaceData: !0,
58
59
  milestoneEndDateIsTentative: !0
59
60
  },
60
61
  reviewed: {}
@@ -66,7 +67,7 @@ const { SCHOOL_SUCCESS: T, TEST_PREP: E, ENRICHMENT: I } = u, c = (t, r, s) => {
66
67
  "yyyy-MM-dd"
67
68
  ), c(e, "region", d ?? "DUMMY"), e.major = t.selected_major ?? "DUMMY_MAJOR";
68
69
  const p = (i = t.user_milestone_plan) == null ? void 0 : i.user_chapters;
69
- p ? e.primaryChaptersList = L(p).map((n) => ({
70
+ p ? e.primaryChaptersList = G(p).map((n) => ({
70
71
  ...n,
71
72
  added: !0
72
73
  })) : e.primaryChaptersList = [];
@@ -79,7 +80,7 @@ const { SCHOOL_SUCCESS: T, TEST_PREP: E, ENRICHMENT: I } = u, c = (t, r, s) => {
79
80
  ], {
80
81
  ...e
81
82
  };
82
- }, U = ({
83
+ }, P = ({
83
84
  field: t,
84
85
  isFieldCommited: r,
85
86
  prevFormData: s,
@@ -97,7 +98,7 @@ const { SCHOOL_SUCCESS: T, TEST_PREP: E, ENRICHMENT: I } = u, c = (t, r, s) => {
97
98
  return !1;
98
99
  };
99
100
  export {
100
- U as checkIfCommittedFieldIsUpdated,
101
+ P as checkIfCommittedFieldIsUpdated,
101
102
  v as transformGoalData
102
103
  };
103
104
  //# sourceMappingURL=goal-edit-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"goal-edit-helpers.js","sources":["../../../../src/features/milestone/edit/goal-edit-helpers.ts"],"sourcesContent":["import type { IChapterDataProps } from '../../chapters/chapter/chapter-types';\nimport type { IChapter } from '../create/comps/chapter-item/chapter-item-types';\nimport type {\n IMileStoneFormFields,\n IMilestoneConfig,\n IMilestoneFormData,\n TCourseStream,\n TEnrollmentTypes,\n TMilestoneFormStateField,\n} from '../create/milestone-create-types';\nimport type { IMilestoneData } from '../milestone-list-container/milestone-list/milestone-list-types';\n\nimport { format } from 'date-fns';\n\nimport { GOAL_CATEGORY } from '../constants';\nimport { checkEnrollmentAvailable } from '../create/comps/test-type-step/test-type-utils';\nimport { getRegionCodeBasedOnCountryCode } from '../create/milestone-create-helpers';\nimport { getLearningSheetData, getTotalSupplementarySheetCount } from '../create/utils';\nimport { transformRecommendedChaptersFromMilestonePlan } from './goal-drafts/goal-draft-edit-helpers';\n\nconst { SCHOOL_SUCCESS, TEST_PREP, ENRICHMENT } = GOAL_CATEGORY;\n\ntype TTransformDataProps = {\n currentMilestoneData: IMilestoneData;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType?: TEnrollmentTypes;\n currentCountryCode?: string;\n};\n\ninterface ITransformData {\n (props: TTransformDataProps): IMilestoneFormData;\n}\n\ntype TFormValues = IMilestoneFormData[keyof IMileStoneFormFields];\ntype TFormFields = keyof IMileStoneFormFields | 'committed';\ntype TFormData = Record<TFormFields, TFormValues> | IMilestoneFormData;\n\nconst commitAndAdd = (formData: TFormData, field: TFormFields, value: TFormValues) => {\n const committedFormData = formData.committed as Record<TFormFields, boolean>;\n\n committedFormData[field] = true;\n\n const formDataFiledValue = field as keyof IMileStoneFormFields;\n\n formData[formDataFiledValue] = value;\n};\n\nconst getFormChapters = (chapters: IChapterDataProps[], editMode = false): IChapter[] => {\n return chapters.map(chapter => {\n const {\n id,\n code = '',\n chapter_code,\n image_url,\n name,\n chapter_tags,\n state,\n sheets_data: sheetsData,\n program_id: programId,\n } = chapter;\n\n return {\n id,\n code: code || chapter_code,\n chapter_code,\n image_url,\n name,\n chapter_tags,\n state,\n added: !editMode,\n program_id: programId,\n learning_sheet_data: getLearningSheetData(sheetsData.lessons),\n total_supplementary_sheets: getTotalSupplementarySheetCount(\n sheetsData.supplementary_sheets_grouped,\n ),\n };\n });\n};\n\nconst transformGoalData: ITransformData = ({\n currentMilestoneData,\n config,\n courseStream,\n enrollmentType,\n currentCountryCode,\n}) => {\n //TODO: We need country code from currentMilestoneData\n const regionCode = currentCountryCode\n ? getRegionCodeBasedOnCountryCode(currentCountryCode)\n : undefined;\n\n const transformedData: IMilestoneFormData = {\n testType: undefined,\n committed: {\n testType: true,\n grade: true,\n schoolInfo: true,\n board: true,\n major: false,\n milestoneEndDate: true,\n region: true,\n chapterGoalCategory: true,\n\n milestoneEndDateIsTentative: true,\n },\n reviewed: {},\n };\n\n const { goal_category: goalCategory } = currentMilestoneData || {};\n\n if (goalCategory) {\n if (goalCategory === SCHOOL_SUCCESS) {\n commitAndAdd(transformedData, 'testType', 'no-test');\n } else if (goalCategory === TEST_PREP) {\n commitAndAdd(transformedData, 'testType', 'non-standardized');\n } else if (goalCategory === ENRICHMENT) {\n commitAndAdd(transformedData, 'testType', 'standardized');\n }\n }\n\n transformedData.chapterGoalCategory = {\n primaryGoalCategory: config.goal_curriculum_map.find(goalData => {\n if (goalData.goal_code !== currentMilestoneData.goal_code) return false;\n\n if (goalData.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalData, enrollmentType);\n }),\n };\n\n transformedData.grade = currentMilestoneData.grade;\n transformedData.board = currentMilestoneData.board;\n transformedData.milestoneEndDate = format(\n new Date(currentMilestoneData.milestone_date_ts * 1000),\n 'yyyy-MM-dd',\n );\n commitAndAdd(transformedData, 'region', regionCode ?? 'DUMMY');\n transformedData.major = currentMilestoneData.selected_major ?? 'DUMMY_MAJOR';\n\n const userChapters = currentMilestoneData.user_milestone_plan?.user_chapters;\n\n if (userChapters) {\n transformedData.primaryChaptersList = getFormChapters(userChapters).map(chapter => {\n return {\n ...chapter,\n added: true,\n };\n });\n } else {\n transformedData.primaryChaptersList = [];\n }\n\n const recommendedChapters = transformRecommendedChaptersFromMilestonePlan(\n currentMilestoneData.recommended_chapters,\n );\n\n transformedData.primaryChaptersList = [\n ...(transformedData.primaryChaptersList ?? []),\n ...recommendedChapters,\n ];\n\n return {\n ...transformedData,\n };\n};\n\ninterface ICheckIfCommittedFieldIsUpdated {\n (params: {\n field: TMilestoneFormStateField;\n isFieldCommited: boolean;\n prevFormData: IMilestoneFormData;\n newValueOfField: unknown;\n formDataStateRef: IMilestoneFormData;\n }): boolean;\n}\n\n/**\n * This method accepts commited changes in the form tree and checks if the committed fields are actually updated from the original value.\n *\n * @param field - The field to be checked for updates.\n * @param isFieldCommited - Is field committed\n * @param prevFormData - The previous form data.\n * @param newValueOfField - The value of the field in updated form data.\n * @param formDataStateRef - The reference to the current form data state.\n *\n * @returns The updated field if any, or null if no updates were made.\n */\n\nconst checkIfCommittedFieldIsUpdated: ICheckIfCommittedFieldIsUpdated = ({\n field,\n isFieldCommited,\n prevFormData,\n newValueOfField,\n formDataStateRef,\n}) => {\n if (isFieldCommited && prevFormData.committed?.[field] !== isFieldCommited) {\n if (field === 'schoolInfo') {\n if (formDataStateRef.schoolInfo?.countryCode !== prevFormData.schoolInfo?.countryCode)\n return true;\n } else if (formDataStateRef[field] !== newValueOfField) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { checkIfCommittedFieldIsUpdated, transformGoalData };\n"],"names":["SCHOOL_SUCCESS","TEST_PREP","ENRICHMENT","GOAL_CATEGORY","commitAndAdd","formData","field","value","committedFormData","formDataFiledValue","getFormChapters","chapters","editMode","chapter","id","code","chapter_code","image_url","name","chapter_tags","state","sheetsData","programId","getLearningSheetData","getTotalSupplementarySheetCount","transformGoalData","currentMilestoneData","config","courseStream","enrollmentType","currentCountryCode","regionCode","getRegionCodeBasedOnCountryCode","transformedData","goalCategory","goalData","checkEnrollmentAvailable","format","userChapters","_a","recommendedChapters","transformRecommendedChaptersFromMilestonePlan","checkIfCommittedFieldIsUpdated","isFieldCommited","prevFormData","newValueOfField","formDataStateRef","_b","_c"],"mappings":";;;;;;AAoBA,MAAM,EAAE,gBAAAA,GAAgB,WAAAC,GAAW,YAAAC,EAAA,IAAeC,GAkB5CC,IAAe,CAACC,GAAqBC,GAAoBC,MAAuB;AACpF,QAAMC,IAAoBH,EAAS;AAEnC,EAAAG,EAAkBF,CAAK,IAAI;AAE3B,QAAMG,IAAqBH;AAE3B,EAAAD,EAASI,CAAkB,IAAIF;AACjC,GAEMG,IAAkB,CAACC,GAA+BC,IAAW,OAC1DD,EAAS,IAAI,CAAWE,MAAA;AACvB,QAAA;AAAA,IACJ,IAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAaC;AAAA,IACb,YAAYC;AAAA,EACV,IAAAT;AAEG,SAAA;AAAA,IACL,IAAAC;AAAA,IACA,MAAMC,KAAQC;AAAA,IACd,cAAAA;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAO,CAACR;AAAA,IACR,YAAYU;AAAA,IACZ,qBAAqBC,EAAqBF,EAAW,OAAO;AAAA,IAC5D,4BAA4BG;AAAA,MAC1BH,EAAW;AAAA,IACb;AAAA,EAAA;AACF,CACD,GAGGI,IAAoC,CAAC;AAAA,EACzC,sBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,oBAAAC;AACF,MAAM;;AAEJ,QAAMC,IAAaD,IACfE,EAAgCF,CAAkB,IAClD,QAEEG,IAAsC;AAAA,IAC1C,UAAU;AAAA,IACV,WAAW;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,qBAAqB;AAAA,MAErB,6BAA6B;AAAA,IAC/B;AAAA,IACA,UAAU,CAAC;AAAA,EAAA,GAGP,EAAE,eAAeC,MAAiBR,KAAwB,CAAA;AAEhE,EAAIQ,MACEA,MAAiBlC,IACNI,EAAA6B,GAAiB,YAAY,SAAS,IAC1CC,MAAiBjC,IACbG,EAAA6B,GAAiB,YAAY,kBAAkB,IACnDC,MAAiBhC,KACbE,EAAA6B,GAAiB,YAAY,cAAc,IAI5DA,EAAgB,sBAAsB;AAAA,IACpC,qBAAqBN,EAAO,oBAAoB,KAAK,CAAYQ,MAC3DA,EAAS,cAAcT,EAAqB,aAE5CS,EAAS,kBAAkBP,IAAqB,KAE7CQ,EAAyBD,GAAUN,CAAc,CACzD;AAAA,EAAA,GAGHI,EAAgB,QAAQP,EAAqB,OAC7CO,EAAgB,QAAQP,EAAqB,OAC7CO,EAAgB,mBAAmBI;AAAA,IACjC,IAAI,KAAKX,EAAqB,oBAAoB,GAAI;AAAA,IACtD;AAAA,EAAA,GAEWtB,EAAA6B,GAAiB,UAAUF,KAAc,OAAO,GAC7CE,EAAA,QAAQP,EAAqB,kBAAkB;AAEzD,QAAAY,KAAeC,IAAAb,EAAqB,wBAArB,gBAAAa,EAA0C;AAE/D,EAAID,IACFL,EAAgB,sBAAsBvB,EAAgB4B,CAAY,EAAE,IAAI,CAAWzB,OAC1E;AAAA,IACL,GAAGA;AAAA,IACH,OAAO;AAAA,EAAA,EAEV,IAEDoB,EAAgB,sBAAsB;AAGxC,QAAMO,IAAsBC;AAAA,IAC1Bf,EAAqB;AAAA,EAAA;AAGvB,SAAAO,EAAgB,sBAAsB;AAAA,IACpC,GAAIA,EAAgB,uBAAuB,CAAC;AAAA,IAC5C,GAAGO;AAAA,EAAA,GAGE;AAAA,IACL,GAAGP;AAAA,EAAA;AAEP,GAwBMS,IAAkE,CAAC;AAAA,EACvE,OAAApC;AAAA,EACA,iBAAAqC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;;AACJ,MAAIH,OAAmBJ,IAAAK,EAAa,cAAb,gBAAAL,EAAyBjC,QAAWqC;AACzD,QAAIrC,MAAU;AACZ,YAAIyC,IAAAD,EAAiB,eAAjB,gBAAAC,EAA6B,mBAAgBC,IAAAJ,EAAa,eAAb,gBAAAI,EAAyB;AACjE,eAAA;AAAA,eACAF,EAAiBxC,CAAK,MAAMuC;AAC9B,aAAA;AAAA;AAIJ,SAAA;AACT;"}
1
+ {"version":3,"file":"goal-edit-helpers.js","sources":["../../../../src/features/milestone/edit/goal-edit-helpers.ts"],"sourcesContent":["import type { IChapterDataProps } from '../../chapters/chapter/chapter-types';\nimport type { IChapter } from '../create/comps/chapter-item/chapter-item-types';\nimport type {\n IMileStoneFormFields,\n IMilestoneConfig,\n IMilestoneFormData,\n TCourseStream,\n TEnrollmentTypes,\n TMilesonteFormStateField,\n} from '../create/milestone-create-types';\nimport type { IMilestoneData } from '../milestone-list-container/milestone-list/milestone-list-types';\n\nimport { format } from 'date-fns';\n\nimport { GOAL_CATEGORY } from '../constants';\nimport { checkEnrollmentAvailable } from '../create/comps/test-type-step/test-type-utils';\nimport { getRegionCodeBasedOnCountryCode } from '../create/milestone-create-helpers';\nimport { getLearningSheetData, getTotalSupplementarySheetCount } from '../create/utils';\nimport { transformRecommendedChaptersFromMilestonePlan } from '../drafts/edit/draft-edit-helpers';\n\nconst { SCHOOL_SUCCESS, TEST_PREP, ENRICHMENT } = GOAL_CATEGORY;\n\ntype TTransformDataProps = {\n currentMilestoneData: IMilestoneData;\n config: IMilestoneConfig;\n courseStream: TCourseStream;\n enrollmentType?: TEnrollmentTypes;\n currentCountryCode?: string;\n};\n\ninterface ITransformData {\n (props: TTransformDataProps): IMilestoneFormData;\n}\n\ntype TFormValues = IMilestoneFormData[keyof IMileStoneFormFields];\ntype TFormFields = keyof IMileStoneFormFields | 'committed';\ntype TFormData = Record<TFormFields, TFormValues> | IMilestoneFormData;\n\nconst commitAndAdd = (formData: TFormData, field: TFormFields, value: TFormValues) => {\n const committedFormData = formData.committed as Record<TFormFields, boolean>;\n\n committedFormData[field] = true;\n\n const formDataFiledValue = field as keyof IMileStoneFormFields;\n\n formData[formDataFiledValue] = value;\n};\n\nconst getFormChapters = (chapters: IChapterDataProps[], editMode = false): IChapter[] => {\n return chapters.map(chapter => {\n const {\n id,\n code = '',\n chapter_code,\n image_url,\n name,\n chapter_tags,\n state,\n sheets_data: sheetsData,\n program_id: programId,\n } = chapter;\n\n return {\n id,\n code: code || chapter_code,\n chapter_code,\n image_url,\n name,\n chapter_tags,\n state,\n added: !editMode,\n program_id: programId,\n learning_sheet_data: getLearningSheetData(sheetsData.lessons),\n total_supplementary_sheets: getTotalSupplementarySheetCount(\n sheetsData.supplementary_sheets_grouped,\n ),\n };\n });\n};\n\nconst transformGoalData: ITransformData = ({\n currentMilestoneData,\n config,\n courseStream,\n enrollmentType,\n currentCountryCode,\n}) => {\n //TODO: We need country code from currentMilestoneData\n const regionCode = currentCountryCode\n ? getRegionCodeBasedOnCountryCode(currentCountryCode)\n : undefined;\n\n const transformedData: IMilestoneFormData = {\n testType: undefined,\n committed: {\n testType: true,\n grade: true,\n schoolInfo: true,\n board: true,\n major: false,\n milestoneEndDate: true,\n region: true,\n chapterGoalCategory: true,\n\n schoolGooglePlaceData: true,\n milestoneEndDateIsTentative: true,\n },\n reviewed: {},\n };\n\n const { goal_category: goalCategory } = currentMilestoneData || {};\n\n if (goalCategory) {\n if (goalCategory === SCHOOL_SUCCESS) {\n commitAndAdd(transformedData, 'testType', 'no-test');\n } else if (goalCategory === TEST_PREP) {\n commitAndAdd(transformedData, 'testType', 'non-standardized');\n } else if (goalCategory === ENRICHMENT) {\n commitAndAdd(transformedData, 'testType', 'standardized');\n }\n }\n\n transformedData.chapterGoalCategory = {\n primaryGoalCategory: config.goal_curriculum_map.find(goalData => {\n if (goalData.goal_code !== currentMilestoneData.goal_code) return false;\n\n if (goalData.course_stream !== courseStream) return false;\n\n return checkEnrollmentAvailable(goalData, enrollmentType);\n }),\n };\n\n transformedData.grade = currentMilestoneData.grade;\n transformedData.board = currentMilestoneData.board;\n transformedData.milestoneEndDate = format(\n new Date(currentMilestoneData.milestone_date_ts * 1000),\n 'yyyy-MM-dd',\n );\n commitAndAdd(transformedData, 'region', regionCode ?? 'DUMMY');\n transformedData.major = currentMilestoneData.selected_major ?? 'DUMMY_MAJOR';\n\n const userChapters = currentMilestoneData.user_milestone_plan?.user_chapters;\n\n if (userChapters) {\n transformedData.primaryChaptersList = getFormChapters(userChapters).map(chapter => {\n return {\n ...chapter,\n added: true,\n };\n });\n } else {\n transformedData.primaryChaptersList = [];\n }\n\n const recommendedChapters = transformRecommendedChaptersFromMilestonePlan(\n currentMilestoneData.recommended_chapters,\n );\n\n transformedData.primaryChaptersList = [\n ...(transformedData.primaryChaptersList ?? []),\n ...recommendedChapters,\n ];\n\n return {\n ...transformedData,\n };\n};\n\ninterface ICheckIfCommittedFieldIsUpdated {\n (params: {\n field: TMilesonteFormStateField;\n isFieldCommited: boolean;\n prevFormData: IMilestoneFormData;\n newValueOfField: unknown;\n formDataStateRef: IMilestoneFormData;\n }): boolean;\n}\n\n/**\n * This method accepts commited changes in the form tree and checks if the committed fields are actually updated from the original value.\n *\n * @param field - The field to be checked for updates.\n * @param isFieldCommited - Is field committed\n * @param prevFormData - The previous form data.\n * @param newValueOfField - The value of the field in updated form data.\n * @param formDataStateRef - The reference to the current form data state.\n *\n * @returns The updated field if any, or null if no updates were made.\n */\n\nconst checkIfCommittedFieldIsUpdated: ICheckIfCommittedFieldIsUpdated = ({\n field,\n isFieldCommited,\n prevFormData,\n newValueOfField,\n formDataStateRef,\n}) => {\n if (isFieldCommited && prevFormData.committed?.[field] !== isFieldCommited) {\n if (field === 'schoolInfo') {\n if (formDataStateRef.schoolInfo?.countryCode !== prevFormData.schoolInfo?.countryCode)\n return true;\n } else if (formDataStateRef[field] !== newValueOfField) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { checkIfCommittedFieldIsUpdated, transformGoalData };\n"],"names":["SCHOOL_SUCCESS","TEST_PREP","ENRICHMENT","GOAL_CATEGORY","commitAndAdd","formData","field","value","committedFormData","formDataFiledValue","getFormChapters","chapters","editMode","chapter","id","code","chapter_code","image_url","name","chapter_tags","state","sheetsData","programId","getLearningSheetData","getTotalSupplementarySheetCount","transformGoalData","currentMilestoneData","config","courseStream","enrollmentType","currentCountryCode","regionCode","getRegionCodeBasedOnCountryCode","transformedData","goalCategory","goalData","checkEnrollmentAvailable","format","userChapters","_a","recommendedChapters","transformRecommendedChaptersFromMilestonePlan","checkIfCommittedFieldIsUpdated","isFieldCommited","prevFormData","newValueOfField","formDataStateRef","_b","_c"],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { getFormChapters as _ } from "../create/utils/index.js";
2
- import { transformRecommendedChaptersFromMilestonePlan as f } from "./goal-drafts/goal-draft-edit-helpers.js";
3
- import { formatDate as y } from "../../../node_modules/date-fns/format.js";
4
- const m = (t, s, e) => {
5
- t.committed[s] = !0, t[s] = e;
6
- }, h = (t, s) => {
1
+ import { getFormChapters as l } from "../create/utils/index.js";
2
+ import { transformRecommendedChaptersFromMilestonePlan as _ } from "../drafts/edit/draft-edit-helpers.js";
3
+ import { formatDate as f } from "../../../node_modules/date-fns/format.js";
4
+ const a = (t, o, e) => {
5
+ t.committed[o] = !0, t[o] = e;
6
+ }, u = (t, o) => {
7
7
  const e = {
8
8
  committed: {
9
9
  testType: !0,
10
10
  grade: !0,
11
11
  schoolInfo: !0,
12
+ schoolGooglePlaceData: !0,
12
13
  board: !0,
13
14
  major: !1,
14
15
  milestoneEndDate: !0,
@@ -16,27 +17,27 @@ const m = (t, s, e) => {
16
17
  region: !0
17
18
  },
18
19
  reviewed: {}
19
- }, { academic_event_id: d, milestone_name: i } = t || {}, { academic_events: n = [] } = s || {}, c = n.find(({ id: a }) => a === d), { event_name: r, event_type: o } = c || {};
20
- d && (e.committed.academicEventId = !0, e.academicEventId = d), r ? (e.committed.testName = !0, e.testName = r) : (e.committed.testName = !0, e.testName = i), o && (o === "SCHOOL_TEST" ? m(e, "testType", "non-standardized") : o === "STANDARDISED_TEST" ? (m(e, "testType", "standardized"), m(e, "region", "DUMMY"), m(e, "board", "DUMMY")) : o === "COURSE_COMPLETION" ? m(e, "testType", "no-test") : m(e, "testType", void 0)), e.grade = t.grade, e.board = t.board, e.milestoneEndDate = y(
20
+ }, { academic_event_id: s, milestone_name: i } = t || {}, { academic_events: n = [] } = o || {}, c = n.find(({ id: m }) => m === s), { event_name: r, event_type: d } = c || {};
21
+ s && (e.committed.academicEventId = !0, e.academicEventId = s), r ? (e.committed.testName = !0, e.testName = r) : (e.committed.testName = !0, e.testName = i), d && (d === "SCHOOL_TEST" ? a(e, "testType", "non-standardized") : d === "STANDARDISED_TEST" ? (a(e, "testType", "standardized"), a(e, "standardizedTestType", "unknown"), a(e, "standardizedTestPreparationMethod", "cuemath-curricullum"), a(e, "region", "DUMMY"), a(e, "board", "DUMMY")) : d === "COURSE_COMPLETION" ? a(e, "testType", "no-test") : a(e, "testType", void 0)), e.grade = t.grade, e.board = t.board, e.milestoneEndDate = f(
21
22
  new Date(t.milestone_date_ts * 1e3),
22
23
  "yyyy-MM-dd"
23
- ), e.schoolInfo = t.schoolInfo ?? {}, m(e, "region", "DUMMY"), e.major = t.major ?? "DUMMY_MAJOR", t.user_milestone_plan ? e.primaryChaptersList = _(
24
- t.user_milestone_plan.user_chapters.map((a) => ({
25
- ...a,
26
- id: a.chapter_id
24
+ ), e.schoolInfo = t.schoolInfo ?? {}, e.schoolGooglePlaceData = t.schoolGooglePlaceData || {}, a(e, "region", "DUMMY"), e.major = t.major ?? "DUMMY_MAJOR", t.user_milestone_plan ? e.primaryChaptersList = l(
25
+ t.user_milestone_plan.user_chapters.map((m) => ({
26
+ ...m,
27
+ id: m.chapter_id
27
28
  }))
28
- ).map((a) => ({ ...a, added: !0 })) : e.primaryChaptersList = [];
29
- const p = f(
29
+ ).map((m) => ({ ...m, added: !0 })) : e.primaryChaptersList = [];
30
+ const p = _(
30
31
  t.recommended_chapters
31
32
  );
32
33
  return e.primaryChaptersList = [
33
34
  ...e.primaryChaptersList ?? [],
34
35
  ...p
35
- ], {
36
+ ], e.metaRecommendedChaptersQuery = t.recommended_chapter_filters, {
36
37
  ...e
37
38
  };
38
39
  };
39
40
  export {
40
- h as transformData
41
+ u as transformData
41
42
  };
42
43
  //# sourceMappingURL=milestone-edit-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-edit-helpers.js","sources":["../../../../src/features/milestone/edit/milestone-edit-helpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { IChapter } from '../create/comps/chapter-item/chapter-item-types';\nimport type { IMilestoneConfig, IMilestoneFormData } from '../create/milestone-create-types';\n\nimport { format } from 'date-fns';\n\nimport { getFormChapters } from '../create/utils';\nimport { transformRecommendedChaptersFromMilestonePlan } from './goal-drafts/goal-draft-edit-helpers';\n\ninterface IUserChapter extends IChapter {\n chapter_id: string;\n}\n//TODO: fix all anys here\nconst commitAndAdd = (formData: any, field: any, value: any) => {\n formData.committed[field] = true;\n\n formData[field] = value;\n};\n\nconst transformData = (\n currentMilestoneData: any,\n configData: IMilestoneConfig,\n): IMilestoneFormData => {\n const transformedData: IMilestoneFormData = {\n committed: {\n testType: true,\n grade: true,\n schoolInfo: true,\n board: true,\n major: false,\n milestoneEndDate: true,\n milestoneEndDateIsTentative: true,\n region: true,\n },\n reviewed: {},\n };\n\n const { academic_event_id: academicEventId, milestone_name: milestoneName } =\n currentMilestoneData || {};\n const { academic_events: academicEvents = [] } = configData || {};\n const academicEvent = academicEvents.find(({ id }: { id: string }) => id === academicEventId);\n const { event_name: testName, event_type: eventType } = academicEvent || {};\n\n if (academicEventId) {\n transformedData.committed.academicEventId = true;\n\n transformedData.academicEventId = academicEventId;\n }\n\n if (testName) {\n transformedData.committed.testName = true;\n\n transformedData.testName = testName;\n } else {\n transformedData.committed.testName = true;\n\n transformedData.testName = milestoneName;\n }\n\n if (eventType) {\n if (eventType === 'SCHOOL_TEST') {\n commitAndAdd(transformedData, 'testType', 'non-standardized');\n } else if (eventType === 'STANDARDISED_TEST') {\n commitAndAdd(transformedData, 'testType', 'standardized');\n commitAndAdd(transformedData, 'region', 'DUMMY');\n commitAndAdd(transformedData, 'board', 'DUMMY');\n } else if (eventType === 'COURSE_COMPLETION') {\n commitAndAdd(transformedData, 'testType', 'no-test');\n } else {\n commitAndAdd(transformedData, 'testType', undefined);\n }\n }\n\n transformedData.grade = currentMilestoneData.grade;\n transformedData.board = currentMilestoneData.board;\n transformedData.milestoneEndDate = format(\n new Date(currentMilestoneData.milestone_date_ts * 1000),\n 'yyyy-MM-dd',\n );\n transformedData.schoolInfo = currentMilestoneData.schoolInfo ?? {};\n commitAndAdd(transformedData, 'region', 'DUMMY');\n transformedData.major = currentMilestoneData.major ?? 'DUMMY_MAJOR';\n\n if (currentMilestoneData.user_milestone_plan) {\n transformedData.primaryChaptersList = getFormChapters(\n currentMilestoneData.user_milestone_plan.user_chapters.map((chapter: IUserChapter) => ({\n ...chapter,\n id: chapter.chapter_id,\n })),\n ).map(chapter => ({ ...chapter, added: true }));\n } else {\n transformedData.primaryChaptersList = [];\n }\n\n const recommendedChapters = transformRecommendedChaptersFromMilestonePlan(\n currentMilestoneData.recommended_chapters,\n );\n\n transformedData.primaryChaptersList = [\n ...(transformedData.primaryChaptersList ?? []),\n ...recommendedChapters,\n ];\n\n return {\n ...transformedData,\n };\n};\n\nexport { transformData };\n"],"names":["commitAndAdd","formData","field","value","transformData","currentMilestoneData","configData","transformedData","academicEventId","milestoneName","academicEvents","academicEvent","id","testName","eventType","format","getFormChapters","chapter","recommendedChapters","transformRecommendedChaptersFromMilestonePlan"],"mappings":";;;AAaA,MAAMA,IAAe,CAACC,GAAeC,GAAYC,MAAe;AACrD,EAAAF,EAAA,UAAUC,CAAK,IAAI,IAE5BD,EAASC,CAAK,IAAIC;AACpB,GAEMC,IAAgB,CACpBC,GACAC,MACuB;AACvB,QAAMC,IAAsC;AAAA,IAC1C,WAAW;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,kBAAkB;AAAA,MAClB,6BAA6B;AAAA,MAC7B,QAAQ;AAAA,IACV;AAAA,IACA,UAAU,CAAC;AAAA,EAAA,GAGP,EAAE,mBAAmBC,GAAiB,gBAAgBC,EAAc,IACxEJ,KAAwB,IACpB,EAAE,iBAAiBK,IAAiB,CAAG,EAAA,IAAIJ,KAAc,CAAA,GACzDK,IAAgBD,EAAe,KAAK,CAAC,EAAE,IAAAE,QAAyBA,MAAOJ,CAAe,GACtF,EAAE,YAAYK,GAAU,YAAYC,EAAU,IAAIH,KAAiB;AAEzE,EAAIH,MACFD,EAAgB,UAAU,kBAAkB,IAE5CA,EAAgB,kBAAkBC,IAGhCK,KACFN,EAAgB,UAAU,WAAW,IAErCA,EAAgB,WAAWM,MAE3BN,EAAgB,UAAU,WAAW,IAErCA,EAAgB,WAAWE,IAGzBK,MACEA,MAAc,gBACHd,EAAAO,GAAiB,YAAY,kBAAkB,IACnDO,MAAc,uBACVd,EAAAO,GAAiB,YAAY,cAAc,GAC3CP,EAAAO,GAAiB,UAAU,OAAO,GAClCP,EAAAO,GAAiB,SAAS,OAAO,KACrCO,MAAc,sBACVd,EAAAO,GAAiB,YAAY,SAAS,IAEtCP,EAAAO,GAAiB,YAAY,MAAS,IAIvDA,EAAgB,QAAQF,EAAqB,OAC7CE,EAAgB,QAAQF,EAAqB,OAC7CE,EAAgB,mBAAmBQ;AAAA,IACjC,IAAI,KAAKV,EAAqB,oBAAoB,GAAI;AAAA,IACtD;AAAA,EAAA,GAEcE,EAAA,aAAaF,EAAqB,cAAc,CAAA,GACnDL,EAAAO,GAAiB,UAAU,OAAO,GAC/BA,EAAA,QAAQF,EAAqB,SAAS,eAElDA,EAAqB,sBACvBE,EAAgB,sBAAsBS;AAAA,IACpCX,EAAqB,oBAAoB,cAAc,IAAI,CAACY,OAA2B;AAAA,MACrF,GAAGA;AAAA,MACH,IAAIA,EAAQ;AAAA,IAAA,EACZ;AAAA,EAAA,EACF,IAAI,CAAYA,OAAA,EAAE,GAAGA,GAAS,OAAO,GAAO,EAAA,IAE9CV,EAAgB,sBAAsB;AAGxC,QAAMW,IAAsBC;AAAA,IAC1Bd,EAAqB;AAAA,EAAA;AAGvB,SAAAE,EAAgB,sBAAsB;AAAA,IACpC,GAAIA,EAAgB,uBAAuB,CAAC;AAAA,IAC5C,GAAGW;AAAA,EAAA,GAGE;AAAA,IACL,GAAGX;AAAA,EAAA;AAEP;"}
1
+ {"version":3,"file":"milestone-edit-helpers.js","sources":["../../../../src/features/milestone/edit/milestone-edit-helpers.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { IChapter } from '../create/comps/chapter-item/chapter-item-types';\nimport type {\n IMilestoneConfig,\n IMilestoneFormData,\n TMilesonteFormStateField,\n} from '../create/milestone-create-types';\n\nimport { format } from 'date-fns';\n\nimport { getFormChapters } from '../create/utils';\nimport { transformRecommendedChaptersFromMilestonePlan } from '../drafts/edit/draft-edit-helpers';\n\ninterface IUserChapter extends IChapter {\n chapter_id: string;\n}\n//TODO: fix all anys here\nconst commitAndAdd = (formData: any, field: any, value: any) => {\n formData.committed[field] = true;\n\n formData[field] = value;\n};\n\nconst transformData = (\n currentMilestoneData: any,\n configData: IMilestoneConfig,\n): IMilestoneFormData => {\n const transformedData: IMilestoneFormData = {\n committed: {\n testType: true,\n grade: true,\n schoolInfo: true,\n schoolGooglePlaceData: true,\n board: true,\n major: false,\n milestoneEndDate: true,\n milestoneEndDateIsTentative: true,\n region: true,\n },\n reviewed: {},\n };\n\n const { academic_event_id: academicEventId, milestone_name: milestoneName } =\n currentMilestoneData || {};\n const { academic_events: academicEvents = [] } = configData || {};\n const academicEvent = academicEvents.find(({ id }: { id: string }) => id === academicEventId);\n const { event_name: testName, event_type: eventType } = academicEvent || {};\n\n if (academicEventId) {\n transformedData.committed.academicEventId = true;\n\n transformedData.academicEventId = academicEventId;\n }\n\n if (testName) {\n transformedData.committed.testName = true;\n\n transformedData.testName = testName;\n } else {\n transformedData.committed.testName = true;\n\n transformedData.testName = milestoneName;\n }\n\n if (eventType) {\n if (eventType === 'SCHOOL_TEST') {\n commitAndAdd(transformedData, 'testType', 'non-standardized');\n } else if (eventType === 'STANDARDISED_TEST') {\n commitAndAdd(transformedData, 'testType', 'standardized');\n commitAndAdd(transformedData, 'standardizedTestType', 'unknown');\n commitAndAdd(transformedData, 'standardizedTestPreparationMethod', 'cuemath-curricullum');\n commitAndAdd(transformedData, 'region', 'DUMMY');\n commitAndAdd(transformedData, 'board', 'DUMMY');\n } else if (eventType === 'COURSE_COMPLETION') {\n commitAndAdd(transformedData, 'testType', 'no-test');\n } else {\n commitAndAdd(transformedData, 'testType', undefined);\n }\n }\n\n transformedData.grade = currentMilestoneData.grade;\n transformedData.board = currentMilestoneData.board;\n transformedData.milestoneEndDate = format(\n new Date(currentMilestoneData.milestone_date_ts * 1000),\n 'yyyy-MM-dd',\n );\n transformedData.schoolInfo = currentMilestoneData.schoolInfo ?? {};\n transformedData.schoolGooglePlaceData = currentMilestoneData.schoolGooglePlaceData || {};\n commitAndAdd(transformedData, 'region', 'DUMMY');\n transformedData.major = currentMilestoneData.major ?? 'DUMMY_MAJOR';\n\n if (currentMilestoneData.user_milestone_plan) {\n transformedData.primaryChaptersList = getFormChapters(\n currentMilestoneData.user_milestone_plan.user_chapters.map((chapter: IUserChapter) => ({\n ...chapter,\n id: chapter.chapter_id,\n })),\n ).map(chapter => ({ ...chapter, added: true }));\n } else {\n transformedData.primaryChaptersList = [];\n }\n\n const recommendedChapters = transformRecommendedChaptersFromMilestonePlan(\n currentMilestoneData.recommended_chapters,\n );\n\n transformedData.primaryChaptersList = [\n ...(transformedData.primaryChaptersList ?? []),\n ...recommendedChapters,\n ];\n\n transformedData.metaRecommendedChaptersQuery = currentMilestoneData.recommended_chapter_filters;\n\n return {\n ...transformedData,\n };\n};\n\ninterface ICheckIfCommittedFieldIsUpdated {\n (params: {\n field: TMilesonteFormStateField;\n isFieldCommited: boolean;\n prevFormData: IMilestoneFormData;\n newValueOfField: any;\n formDataStateRef: IMilestoneFormData;\n }): boolean;\n}\n\n/**\n * This method accepts commited changes in the form tree and checks if the committed fields are actually updated from the original value.\n *\n * @param field - The field to be checked for updates.\n * @param isFieldCommited - Is field committed\n * @param prevFormData - The previous form data.\n * @param newValueOfField - The value of the field in updated form data.\n * @param formDataStateRef - The reference to the current form data state.\n *\n * @returns The updated field if any, or null if no updates were made.\n */\n\nconst checkIfCommittedFieldIsUpdated: ICheckIfCommittedFieldIsUpdated = ({\n field,\n isFieldCommited,\n prevFormData,\n newValueOfField,\n formDataStateRef,\n}) => {\n if (isFieldCommited && prevFormData.committed?.[field] !== isFieldCommited) {\n if (field === 'schoolInfo') {\n if (formDataStateRef.schoolInfo?.countryCode !== prevFormData.schoolInfo?.countryCode)\n return true;\n } else if (formDataStateRef[field] !== newValueOfField) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { checkIfCommittedFieldIsUpdated, transformData };\n"],"names":["commitAndAdd","formData","field","value","transformData","currentMilestoneData","configData","transformedData","academicEventId","milestoneName","academicEvents","academicEvent","id","testName","eventType","format","getFormChapters","chapter","recommendedChapters","transformRecommendedChaptersFromMilestonePlan"],"mappings":";;;AAiBA,MAAMA,IAAe,CAACC,GAAeC,GAAYC,MAAe;AACrD,EAAAF,EAAA,UAAUC,CAAK,IAAI,IAE5BD,EAASC,CAAK,IAAIC;AACpB,GAEMC,IAAgB,CACpBC,GACAC,MACuB;AACvB,QAAMC,IAAsC;AAAA,IAC1C,WAAW;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,uBAAuB;AAAA,MACvB,OAAO;AAAA,MACP,OAAO;AAAA,MACP,kBAAkB;AAAA,MAClB,6BAA6B;AAAA,MAC7B,QAAQ;AAAA,IACV;AAAA,IACA,UAAU,CAAC;AAAA,EAAA,GAGP,EAAE,mBAAmBC,GAAiB,gBAAgBC,EAAc,IACxEJ,KAAwB,IACpB,EAAE,iBAAiBK,IAAiB,CAAG,EAAA,IAAIJ,KAAc,CAAA,GACzDK,IAAgBD,EAAe,KAAK,CAAC,EAAE,IAAAE,QAAyBA,MAAOJ,CAAe,GACtF,EAAE,YAAYK,GAAU,YAAYC,EAAU,IAAIH,KAAiB;AAEzE,EAAIH,MACFD,EAAgB,UAAU,kBAAkB,IAE5CA,EAAgB,kBAAkBC,IAGhCK,KACFN,EAAgB,UAAU,WAAW,IAErCA,EAAgB,WAAWM,MAE3BN,EAAgB,UAAU,WAAW,IAErCA,EAAgB,WAAWE,IAGzBK,MACEA,MAAc,gBACHd,EAAAO,GAAiB,YAAY,kBAAkB,IACnDO,MAAc,uBACVd,EAAAO,GAAiB,YAAY,cAAc,GAC3CP,EAAAO,GAAiB,wBAAwB,SAAS,GAClDP,EAAAO,GAAiB,qCAAqC,qBAAqB,GAC3EP,EAAAO,GAAiB,UAAU,OAAO,GAClCP,EAAAO,GAAiB,SAAS,OAAO,KACrCO,MAAc,sBACVd,EAAAO,GAAiB,YAAY,SAAS,IAEtCP,EAAAO,GAAiB,YAAY,MAAS,IAIvDA,EAAgB,QAAQF,EAAqB,OAC7CE,EAAgB,QAAQF,EAAqB,OAC7CE,EAAgB,mBAAmBQ;AAAA,IACjC,IAAI,KAAKV,EAAqB,oBAAoB,GAAI;AAAA,IACtD;AAAA,EAAA,GAEcE,EAAA,aAAaF,EAAqB,cAAc,CAAA,GAChDE,EAAA,wBAAwBF,EAAqB,yBAAyB,CAAA,GACzEL,EAAAO,GAAiB,UAAU,OAAO,GAC/BA,EAAA,QAAQF,EAAqB,SAAS,eAElDA,EAAqB,sBACvBE,EAAgB,sBAAsBS;AAAA,IACpCX,EAAqB,oBAAoB,cAAc,IAAI,CAACY,OAA2B;AAAA,MACrF,GAAGA;AAAA,MACH,IAAIA,EAAQ;AAAA,IAAA,EACZ;AAAA,EAAA,EACF,IAAI,CAAYA,OAAA,EAAE,GAAGA,GAAS,OAAO,GAAO,EAAA,IAE9CV,EAAgB,sBAAsB;AAGxC,QAAMW,IAAsBC;AAAA,IAC1Bd,EAAqB;AAAA,EAAA;AAGvB,SAAAE,EAAgB,sBAAsB;AAAA,IACpC,GAAIA,EAAgB,uBAAuB,CAAC;AAAA,IAC5C,GAAGW;AAAA,EAAA,GAGLX,EAAgB,+BAA+BF,EAAqB,6BAE7D;AAAA,IACL,GAAGE;AAAA,EAAA;AAEP;"}
@@ -0,0 +1,22 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useMemo as l } from "react";
3
+ import m from "../../ui/modals/info-modal/index.js";
4
+ const i = ({ entrySlideNumber: o, onFAQClick: r, analyticsProps: t, slides: e }) => {
5
+ const a = l(() => ({
6
+ onClick: r,
7
+ CTA: "Read all FAQs"
8
+ }), [r]);
9
+ return /* @__PURE__ */ s(
10
+ m,
11
+ {
12
+ slides: e,
13
+ entrySlideNumber: o,
14
+ tertiaryProps: a,
15
+ analyticsProps: t
16
+ }
17
+ );
18
+ };
19
+ export {
20
+ i as default
21
+ };
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/milestone/help-modals/index.tsx"],"sourcesContent":["import type { TSlideConfig } from '../../ui/modals/info-modal/types';\n\nimport { useMemo } from 'react';\n\nimport InfoModal from '../../ui/modals/info-modal';\n\nconst HelpModal: React.FC<{\n entrySlideNumber: number;\n onFAQClick: () => void;\n analyticsProps: Record<string, unknown>;\n slides: TSlideConfig[];\n}> = ({ entrySlideNumber, onFAQClick, analyticsProps, slides }) => {\n const tertiaryModalProps = useMemo(() => {\n return {\n onClick: onFAQClick,\n CTA: 'Read all FAQs',\n };\n }, [onFAQClick]);\n\n return (\n <InfoModal\n slides={slides}\n entrySlideNumber={entrySlideNumber}\n tertiaryProps={tertiaryModalProps}\n analyticsProps={analyticsProps}\n />\n );\n};\n\nexport default HelpModal;\n"],"names":["HelpModal","entrySlideNumber","onFAQClick","analyticsProps","slides","tertiaryModalProps","useMemo","jsx","InfoModal"],"mappings":";;;AAMA,MAAMA,IAKD,CAAC,EAAE,kBAAAC,GAAkB,YAAAC,GAAY,gBAAAC,GAAgB,QAAAC,QAAa;AAC3D,QAAAC,IAAqBC,EAAQ,OAC1B;AAAA,IACL,SAASJ;AAAA,IACT,KAAK;AAAA,EAAA,IAEN,CAACA,CAAU,CAAC;AAGb,SAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,QAAAJ;AAAA,MACA,kBAAAH;AAAA,MACA,eAAeI;AAAA,MACf,gBAAAF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,17 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import t from "./index.js";
3
+ import { LESSON_HELP_CONFIG as l } from "../../sheets/constants/lessons.js";
4
+ import { transformHelpConfigToSlides as n } from "./utils.js";
5
+ const i = n(l), m = ({ entrySlideNumber: o, onFAQClick: e, analyticsProps: s }) => /* @__PURE__ */ r(
6
+ t,
7
+ {
8
+ slides: i,
9
+ onFAQClick: e,
10
+ entrySlideNumber: o,
11
+ analyticsProps: s
12
+ }
13
+ ), a = m;
14
+ export {
15
+ a as default
16
+ };
17
+ //# sourceMappingURL=milestone-lesson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone-lesson.js","sources":["../../../../src/features/milestone/help-modals/milestone-lesson.tsx"],"sourcesContent":["import HelpModal from '.';\nimport { LESSON_HELP_CONFIG } from '../../sheets/constants/lessons';\nimport { transformHelpConfigToSlides } from './utils';\n\nconst LESSON_HELP_SLIDES = transformHelpConfigToSlides(LESSON_HELP_CONFIG);\n\nconst MilestoneLessonHelpModal: React.FC<{\n entrySlideNumber: number;\n onFAQClick: () => void;\n analyticsProps: Record<string, unknown>;\n}> = ({ entrySlideNumber, onFAQClick, analyticsProps }) => {\n return (\n <HelpModal\n slides={LESSON_HELP_SLIDES}\n onFAQClick={onFAQClick}\n entrySlideNumber={entrySlideNumber}\n analyticsProps={analyticsProps}\n />\n );\n};\n\nexport default MilestoneLessonHelpModal;\n"],"names":["LESSON_HELP_SLIDES","transformHelpConfigToSlides","LESSON_HELP_CONFIG","MilestoneLessonHelpModal","entrySlideNumber","onFAQClick","analyticsProps","jsx","HelpModal","MilestoneLessonHelpModal$1"],"mappings":";;;;AAIA,MAAMA,IAAqBC,EAA4BC,CAAkB,GAEnEC,IAID,CAAC,EAAE,kBAAAC,GAAkB,YAAAC,GAAY,gBAAAC,QAElC,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAQR;AAAA,IACR,YAAAK;AAAA,IACA,kBAAAD;AAAA,IACA,gBAAAE;AAAA,EAAA;AAAA,GAKNG,IAAeN;"}
@@ -0,0 +1,17 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import s from "./index.js";
3
+ import { MILESTONE_LIST_HELP_CONFIG as l } from "../constants.js";
4
+ import { transformHelpConfigToSlides as i } from "./utils.js";
5
+ const m = i(l), p = ({ entrySlideNumber: o, onFAQClick: t, analyticsProps: e }) => /* @__PURE__ */ r(
6
+ s,
7
+ {
8
+ slides: m,
9
+ onFAQClick: t,
10
+ entrySlideNumber: o,
11
+ analyticsProps: e
12
+ }
13
+ ), M = p;
14
+ export {
15
+ M as default
16
+ };
17
+ //# sourceMappingURL=milestone-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"milestone-list.js","sources":["../../../../src/features/milestone/help-modals/milestone-list.tsx"],"sourcesContent":["import HelpModal from '.';\nimport { MILESTONE_LIST_HELP_CONFIG } from '../constants';\nimport { transformHelpConfigToSlides } from './utils';\n\nconst MILESTONE_LIST_HELP_SLIDES = transformHelpConfigToSlides(MILESTONE_LIST_HELP_CONFIG);\n\nconst MilestoneListHelpModal: React.FC<{\n entrySlideNumber: number;\n onFAQClick: () => void;\n analyticsProps: Record<string, unknown>;\n}> = ({ entrySlideNumber, onFAQClick, analyticsProps }) => {\n return (\n <HelpModal\n slides={MILESTONE_LIST_HELP_SLIDES}\n onFAQClick={onFAQClick}\n entrySlideNumber={entrySlideNumber}\n analyticsProps={analyticsProps}\n />\n );\n};\n\nexport default MilestoneListHelpModal;\n"],"names":["MILESTONE_LIST_HELP_SLIDES","transformHelpConfigToSlides","MILESTONE_LIST_HELP_CONFIG","MilestoneListHelpModal","entrySlideNumber","onFAQClick","analyticsProps","jsx","HelpModal","MilestoneListHelpModal$1"],"mappings":";;;;AAIA,MAAMA,IAA6BC,EAA4BC,CAA0B,GAEnFC,IAID,CAAC,EAAE,kBAAAC,GAAkB,YAAAC,GAAY,gBAAAC,QAElC,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,QAAQR;AAAA,IACR,YAAAK;AAAA,IACA,kBAAAD;AAAA,IACA,gBAAAE;AAAA,EAAA;AAAA,GAKNG,IAAeN;"}
@@ -0,0 +1,20 @@
1
+ const t = (e) => e.map((a) => {
2
+ const {
3
+ modalSubHeader: r,
4
+ imgSrc: l,
5
+ modalHeader: o,
6
+ videoSrc: d,
7
+ modalAnalyticsLabel: n
8
+ } = a;
9
+ return {
10
+ header: o,
11
+ sub_header: r,
12
+ thumbnail: l,
13
+ video: d,
14
+ analytics_label: n
15
+ };
16
+ });
17
+ export {
18
+ t as transformHelpConfigToSlides
19
+ };
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/features/milestone/help-modals/utils.ts"],"sourcesContent":["import type { TSlideConfig } from '../../ui/modals/info-modal/types';\nimport type { IMilestoneHelpBannerConfig } from '../types';\n\nconst transformHelpConfigToSlides = (helpConfig: IMilestoneHelpBannerConfig[]): TSlideConfig[] => {\n return helpConfig.map(config => {\n const {\n modalSubHeader,\n imgSrc: thumbnail,\n modalHeader,\n videoSrc,\n modalAnalyticsLabel,\n } = config;\n\n return {\n header: modalHeader,\n sub_header: modalSubHeader,\n thumbnail,\n video: videoSrc,\n analytics_label: modalAnalyticsLabel,\n };\n });\n};\n\nexport { transformHelpConfigToSlides };\n"],"names":["transformHelpConfigToSlides","helpConfig","config","modalSubHeader","thumbnail","modalHeader","videoSrc","modalAnalyticsLabel"],"mappings":"AAGM,MAAAA,IAA8B,CAACC,MAC5BA,EAAW,IAAI,CAAUC,MAAA;AACxB,QAAA;AAAA,IACJ,gBAAAC;AAAA,IACA,QAAQC;AAAA,IACR,aAAAC;AAAA,IACA,UAAAC;AAAA,IACA,qBAAAC;AAAA,EACE,IAAAL;AAEG,SAAA;AAAA,IACL,QAAQG;AAAA,IACR,YAAYF;AAAA,IACZ,WAAAC;AAAA,IACA,OAAOE;AAAA,IACP,iBAAiBC;AAAA,EAAA;AACnB,CACD;"}
@@ -0,0 +1,24 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { IMAGES as a } from "../../../assets/images/images.js";
3
+ import r from "../../ui/modals/info-modal/index.js";
4
+ import { INTRO_VIDEO_URL as t } from "../constants.js";
5
+ const n = [
6
+ {
7
+ header: "Introducing Goal Creator",
8
+ sub_header: "Create a truly personalised learning experience",
9
+ video: t,
10
+ autoPlay: !0,
11
+ analytics_label: "goal_intro_video",
12
+ buttonLabel: "Next"
13
+ },
14
+ {
15
+ header: "Goals are easy to create and manage!",
16
+ sub_header: "",
17
+ img: a.GOAL_CREATION_HELPER,
18
+ buttonLabel: "Create a Goal"
19
+ }
20
+ ], i = ({ onFinish: e }) => /* @__PURE__ */ o(r, { slides: n, onFinish: e, entrySlideNumber: 0 }), u = i;
21
+ export {
22
+ u as default
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/features/milestone/intro-modal/index.tsx"],"sourcesContent":["import { IMAGES } from '../../../assets/images/images';\nimport InfoModal from '../../ui/modals/info-modal';\nimport { INTRO_VIDEO_URL } from '../constants';\n\ninterface IIntroModalProps {\n onFinish: () => void;\n}\n\nconst SLIDES_CONFIG = [\n {\n header: 'Introducing Goal Creator',\n sub_header: 'Create a truly personalised learning experience',\n video: INTRO_VIDEO_URL,\n autoPlay: true,\n analytics_label: 'goal_intro_video',\n buttonLabel: 'Next',\n },\n {\n header: 'Goals are easy to create and manage!',\n sub_header: '',\n img: IMAGES.GOAL_CREATION_HELPER,\n buttonLabel: 'Create a Goal',\n },\n];\n\nconst IntroModal: React.FC<IIntroModalProps> = ({ onFinish: handleFinish }) => {\n return <InfoModal slides={SLIDES_CONFIG} onFinish={handleFinish} entrySlideNumber={0} />;\n};\n\nexport default IntroModal;\n"],"names":["SLIDES_CONFIG","INTRO_VIDEO_URL","IMAGES","IntroModal","handleFinish","InfoModal","IntroModal$1"],"mappings":";;;;AAQA,MAAMA,IAAgB;AAAA,EACpB;AAAA,IACE,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAOC;AAAA,IACP,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,KAAKC,EAAO;AAAA,IACZ,aAAa;AAAA,EACf;AACF,GAEMC,IAAyC,CAAC,EAAE,UAAUC,0BAClDC,GAAU,EAAA,QAAQL,GAAe,UAAUI,GAAc,kBAAkB,EAAG,CAAA,GAGxFE,IAAeH;"}