@cuemath/leap 3.5.48-gg1 → 3.5.48-j2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/illustrations/illustrations.js +0 -3
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb.js +10 -10
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js +36 -13
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- package/dist/assets/line-icons/icons/sticker.js +9 -9
- package/dist/assets/line-icons/icons/sticker.js.map +1 -1
- package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +6 -6
- package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +2 -2
- package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +29 -64
- package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +2 -2
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +107 -103
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +104 -96
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +134 -115
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +95 -91
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +92 -74
- package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +214 -170
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js +20 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js +55 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js +38 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js +58 -0
- package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js.map +1 -0
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +40 -39
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +44 -43
- package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -42
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -72
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +34 -25
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +146 -89
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/puzzles/app/puzzle-app-view.js +40 -40
- package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js +268 -83
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/hooks/use-learning-plan-sync.js +29 -0
- package/dist/features/trial-session/hooks/use-learning-plan-sync.js.map +1 -0
- package/dist/features/trial-session/trial-session-types.js +3 -2
- package/dist/features/trial-session/trial-session-types.js.map +1 -1
- package/dist/features/ui/tabs/tabs.js +15 -15
- package/dist/features/ui/tabs/tabs.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +1 -0
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.js +13 -12
- package/dist/features/worksheet/worksheet/constants.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js +100 -123
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js.map +1 -1
- package/dist/features/worksheet/worksheet/question-tips.js +100 -0
- package/dist/features/worksheet/worksheet/question-tips.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +109 -40
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +46 -49
- package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +276 -129
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +25 -25
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-provider.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-provider.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +25 -22
- package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js +20 -26
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js +17 -32
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js +22 -17
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js +2 -2
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +50 -32
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +287 -377
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +53 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +191 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +345 -20
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js +20 -33
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +112 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +61 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +91 -0
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-store.js +289 -0
- package/dist/features/worksheet/worksheet/worksheet-store.js.map +1 -0
- package/dist/features/worksheet/worksheet/worksheet-styled.js +83 -29
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +24 -45
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-types.js +3 -4
- package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-view.js +99 -88
- package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +117 -126
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +29 -29
- package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
- package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +24 -24
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/index.d.ts +129 -68
- package/dist/index.js +745 -760
- package/dist/index.js.map +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/types/models/worksheet.js +1 -2
- package/dist/types/models/worksheet.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/line-icons/icons/chevron-up.js +0 -28
- package/dist/assets/line-icons/icons/chevron-up.js.map +0 -1
- package/dist/assets/line-icons/icons/close.js +0 -28
- package/dist/assets/line-icons/icons/close.js.map +0 -1
- package/dist/assets/line-icons/icons/cursor2.js +0 -24
- package/dist/assets/line-icons/icons/cursor2.js.map +0 -1
- package/dist/assets/line-icons/icons/hints.js +0 -25
- package/dist/assets/line-icons/icons/hints.js.map +0 -1
- package/dist/assets/line-icons/icons/question-feedback.js +0 -30
- package/dist/assets/line-icons/icons/question-feedback.js.map +0 -1
- package/dist/assets/line-icons/icons/teaching-tools.js +0 -40
- package/dist/assets/line-icons/icons/teaching-tools.js.map +0 -1
- package/dist/assets/line-icons/icons/tval-question.js +0 -32
- package/dist/assets/line-icons/icons/tval-question.js.map +0 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js +0 -15
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js +0 -18
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js +0 -21
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js +0 -34
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js +0 -38
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js +0 -16
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js +0 -35
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js +0 -12
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js +0 -44
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js +0 -51
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js +0 -23
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js +0 -36
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js +0 -184
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +0 -261
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js +0 -180
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js +0 -77
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js +0 -103
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js +0 -21
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js +0 -22
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +0 -49
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +0 -191
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js +0 -65
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js +0 -9
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js +0 -38
- package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js +0 -73
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js +0 -20
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js +0 -69
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js +0 -18
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +0 -138
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js +0 -9
- package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js +0 -230
- package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js +0 -19
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js.map +0 -1
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +0 -72
- package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- package/dist/static/pattern-cubes.113d8dda.svg +0 -1
- package/dist/static/pattern-diamond.a51b202c.svg +0 -1
- package/dist/static/pattern-honeycomb.ed7ad26a.svg +0 -1
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import { memo, useCallback, Fragment, type FC } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLazyRef from '../../../hooks/use-lazy-ref';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\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 type { IMilestoneListProps } from './milestone-list-types';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: FC<IMilestoneListProps> = memo(function MilestoneList({\n milestones,\n studentId,\n milestoneType,\n ...restMilestoneListProps\n}) {\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onCreateMilestoneTest,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onAssignResources,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n isTrialSession,\n onNodeAssignAsHomework,\n } = restMilestoneListProps;\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n const temporaryMilestoneId = useLazyRef(uuidv4);\n\n const handleCreatePlan = useCallback(() => {\n onCreatePlan?.(temporaryMilestoneId);\n }, [onCreatePlan, temporaryMilestoneId]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.();\n }, [onAddOutcome]);\n\n if (!milestones) return null;\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(milestone => milestone.milestone_state === 'DRAFT');\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <FlexView $marginBottom={40}>\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n </FlexView>\n )}\n\n {isMilestoneActive && (\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $marginBottom={16}>\n <Text $renderAs=\"ac4\">Goals ({milestones.length})</Text>\n\n {userType === 'TEACHER' && (\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canCreatePlan}\n position=\"bottom\"\n >\n <TextButton\n label=\"Create Goal\"\n size=\"small\"\n onClick={handleCreatePlan}\n disabled={!canCreatePlan}\n />\n </ArrowTooltip>\n <TextButton label=\"Add Milestone\" size=\"small\" onClick={handleOnAddOutcome} />\n </FlexView>\n )}\n </FlexView>\n )}\n\n {milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n isTrialSession={isTrialSession}\n />\n {idx !== milestones.length - 1 && <Separator heightX={2} />}\n </Fragment>\n );\n })}\n </>\n );\n});\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","restMilestoneListProps","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onCreateMilestoneTest","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onAssignResources","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isTrialSession","onNodeAssignAsHomework","isMilestoneActive","isDraftMilestone","temporaryMilestoneId","useLazyRef","uuidv4","handleCreatePlan","useCallback","handleOnAddOutcome","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","FlexView","NoActiveMilestone","Text","ArrowTooltip","TextButton","idx","milestoneId","MilestoneWidget","Separator"],"mappings":";;;;;;;;;;;AAaM,MAAAA,KAAyCC,
|
|
1
|
+
{"version":3,"file":"milestone-list.js","sources":["../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-list.tsx"],"sourcesContent":["import { memo, useCallback, Fragment, type FC } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport useLazyRef from '../../../hooks/use-lazy-ref';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\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 type { IMilestoneListProps } from './milestone-list-types';\nimport MilestoneWidget from './milestone-widget/milestone-widget';\nimport NoActiveMilestone from './no-active-milestone/no-active-milestone';\n\nconst MilestoneList: FC<IMilestoneListProps> = memo(function MilestoneList({\n milestones,\n studentId,\n milestoneType,\n milestoneState,\n onMilestoneStateChange,\n ...restMilestoneListProps\n}) {\n const {\n canCreatePlan,\n isClassOngoing,\n isFiltersAdded,\n isStudentPresent,\n onAddChapter,\n onAddOutcome,\n onChapterClick,\n onCreatePlan,\n onDelete,\n onDraftPublish,\n onEdit,\n onCreateMilestoneTest,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onAssignResources,\n onTestPreview,\n onTestReview,\n onTestStart,\n activeMilestoneId,\n activeTabId,\n onWidgetTabSelection,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n isTrialSession,\n onNodeAssignAsHomework,\n } = restMilestoneListProps;\n\n const isMilestoneActive = milestoneType === 'ACTIVE';\n const isDraftMilestone = milestoneType === 'DRAFT';\n const temporaryMilestoneId = useLazyRef(uuidv4);\n\n const handleCreatePlan = useCallback(() => {\n onCreatePlan?.(temporaryMilestoneId);\n }, [onCreatePlan, temporaryMilestoneId]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.();\n }, [onAddOutcome]);\n\n if (!milestones) return null;\n\n const activeMilestonePresent = milestones.some(\n milestone => milestone.milestone_state === 'ACTIVE',\n );\n const draftMilestonePresent = milestones.some(milestone => milestone.milestone_state === 'DRAFT');\n\n return (\n <>\n {isMilestoneActive && !activeMilestonePresent && (\n <FlexView $marginBottom={40}>\n <NoActiveMilestone\n canCreatePlan={canCreatePlan}\n isDraftMilestonePresent={draftMilestonePresent}\n isFiltersAdded={isFiltersAdded}\n onCreatePlan={onCreatePlan}\n studentName={studentName}\n userType={userType}\n />\n </FlexView>\n )}\n\n {isMilestoneActive && (\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $marginBottom={16}>\n <Text $renderAs=\"ac4\">Goals ({milestones.length})</Text>\n\n {userType === 'TEACHER' && (\n <FlexView $flexDirection=\"row\" $flexGapX={1}>\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canCreatePlan}\n position=\"bottom\"\n >\n <TextButton\n label=\"Create Goal\"\n size=\"small\"\n onClick={handleCreatePlan}\n disabled={!canCreatePlan}\n />\n </ArrowTooltip>\n <TextButton label=\"Add Milestone\" size=\"small\" onClick={handleOnAddOutcome} />\n </FlexView>\n )}\n </FlexView>\n )}\n\n {milestones.map((milestone, idx) => {\n const { id: milestoneId } = milestone;\n\n return (\n <Fragment key={`milestone=${milestoneId}`}>\n <MilestoneWidget\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n parentName={parentName}\n teacherName={teacherName}\n userType={userType}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n isMilestoneActive={isMilestoneActive || isDraftMilestone}\n milestoneType={milestoneType}\n onEdit={onEdit}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onAddChapter={onAddChapter}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAssignResources={onAssignResources}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n courseStream={courseStream}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n isTrialSession={isTrialSession}\n milestoneState={milestoneState?.[milestoneId]}\n onMilestoneStateChange={onMilestoneStateChange}\n />\n {idx !== milestones.length - 1 && <Separator heightX={2} />}\n </Fragment>\n );\n })}\n </>\n );\n});\n\nexport default MilestoneList;\n"],"names":["MilestoneList","memo","milestones","studentId","milestoneType","milestoneState","onMilestoneStateChange","restMilestoneListProps","canCreatePlan","isClassOngoing","isFiltersAdded","isStudentPresent","onAddChapter","onAddOutcome","onChapterClick","onCreatePlan","onDelete","onDraftPublish","onEdit","onCreateMilestoneTest","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onAssignResources","onTestPreview","onTestReview","onTestStart","activeMilestoneId","activeTabId","onWidgetTabSelection","studentName","teacherName","parentName","userType","courseStream","isTrialSession","onNodeAssignAsHomework","isMilestoneActive","isDraftMilestone","temporaryMilestoneId","useLazyRef","uuidv4","handleCreatePlan","useCallback","handleOnAddOutcome","activeMilestonePresent","milestone","draftMilestonePresent","jsxs","Fragment","jsx","FlexView","NoActiveMilestone","Text","ArrowTooltip","TextButton","idx","milestoneId","MilestoneWidget","Separator"],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ const ce = R(function(w) {
|
|
|
36
36
|
can_delete: _,
|
|
37
37
|
can_update_date: E,
|
|
38
38
|
can_update_plan: d
|
|
39
|
-
} = O, { onEvent: C } = H(), [A, D] = V(""), S = a === "OUTCOME_PENDING", X = r && a === "DRAFT", o =
|
|
39
|
+
} = O, { onEvent: C } = H(), [A, D] = V(""), S = a === "OUTCOME_PENDING", X = r && a === "DRAFT", o = !x || P, M = m(
|
|
40
40
|
(l, F) => {
|
|
41
41
|
const { id: L } = F || {};
|
|
42
42
|
l ? D(l) : (e && Q({
|
|
@@ -102,7 +102,7 @@ const ce = R(function(w) {
|
|
|
102
102
|
onClick: z
|
|
103
103
|
}
|
|
104
104
|
),
|
|
105
|
-
X && /* @__PURE__ */ t(
|
|
105
|
+
X && !k && /* @__PURE__ */ t(
|
|
106
106
|
y,
|
|
107
107
|
{
|
|
108
108
|
position: "bottom",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import { memo, useCallback, useState, type FC } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport type { IGoalActionCtas } from './goal-action-ctas-types';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(function GoalActionCtas(props) {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n isTrialSession,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal =
|
|
1
|
+
{"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import { memo, useCallback, useState, type FC } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport type { IGoalActionCtas } from './goal-action-ctas-types';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(function GoalActionCtas(props) {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n isTrialSession,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal = !isClassOngoing || isStudentPresent;\n\n const handleGoalPublishComplete = useCallback(\n (errorMessage: string | null, data?: { id: string }) => {\n const { id } = data || {};\n\n if (errorMessage) {\n setError(errorMessage);\n } else {\n if (milestoneId) {\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n }\n onDraftPublish?.(milestoneId, true);\n trackEvent(EVENT_NAMES.DRAFT_EDIT.completed, {\n milestone_id: milestoneId || id,\n });\n }\n },\n [milestoneId, studentId, onDraftPublish, setError, trackEvent, courseStream],\n );\n\n const { onPublish, isProcessing } = useDraftPublish({\n handleGoalPublishComplete,\n milestone,\n milestoneId,\n studentName,\n parentName,\n teacherName,\n });\n\n const handleGoalEdit = useCallback(() => {\n onEdit?.({\n milestoneId,\n milestoneName,\n milestoneDueDate: dueDate,\n isMilestoneChaptersListEditable: canUpdatePlan,\n isMilestoneDateEditable: canUpdateDate,\n milestoneState,\n canDelete,\n goalCategory,\n goalCode,\n });\n }, [\n canDelete,\n canUpdateDate,\n canUpdatePlan,\n dueDate,\n goalCategory,\n goalCode,\n milestoneId,\n milestoneName,\n milestoneState,\n onEdit,\n ]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.(milestoneId);\n }, [onAddOutcome, milestoneId]);\n\n return (\n <FlexView $justifyContent=\"center\" $flexGap={8}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={1.5}\n $alignItems=\"center\"\n $width=\"fit-content\"\n onClick={e => e.stopPropagation()}\n >\n {canAddOutcome && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Add outcome\"\n shape=\"square\"\n widthX={10}\n onClick={handleOnAddOutcome}\n />\n )}\n\n {isDraftMilestone && !isTrialSession && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canPublishOrEditGoal}\n widthX={15}\n >\n <Button\n renderAs=\"primary\"\n shape=\"square\"\n widthX={10}\n label=\"Publish\"\n size=\"small\"\n onClick={onPublish}\n busy={isProcessing}\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n\n {canUpdatePlan && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n widthX={!canPublishOrEditGoal ? 15 : 5}\n tooltipItem={\n !canPublishOrEditGoal\n ? 'Goals can only be edited for students in class.'\n : 'Edit goal'\n }\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={Edit2Icon}\n analyticsLabel=\"Edit Goal\"\n onClick={handleGoalEdit}\n size=\"xsmall\"\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n </FlexView>\n\n {error && (\n <Text $widthX={12.5} $renderAs=\"ub3-bold\" $color=\"RED\" $align=\"center\">\n {error}\n </Text>\n )}\n </FlexView>\n );\n});\n\nexport default GoalActionCtas;\n"],"names":["GoalActionCtas","memo","props","milestone","studentId","isClassOngoing","isStudentPresent","studentName","teacherName","parentName","onAddOutcome","onDraftPublish","onEdit","courseStream","isTrialSession","milestoneId","milestoneName","dueDate","milestoneState","milestonePermissions","goalCategory","goalCode","canDelete","canUpdateDate","canUpdatePlan","trackEvent","useUIContext","error","setError","useState","canAddOutcome","isDraftMilestone","canPublishOrEditGoal","handleGoalPublishComplete","useCallback","errorMessage","data","id","invalidateMilestonesData","EVENT_NAMES","onPublish","isProcessing","useDraftPublish","handleGoalEdit","handleOnAddOutcome","jsxs","FlexView","e","jsx","Button","ArrowTooltip","IconButton","Edit2Icon","Text"],"mappings":"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"}
|
|
@@ -1,137 +1,145 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { memo as
|
|
3
|
-
import
|
|
4
|
-
import { useUIContext as
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import { getGoalCategoryBasedColorTheme as
|
|
9
|
-
import { NoPlanCardWrapper as
|
|
10
|
-
const
|
|
11
|
-
var
|
|
1
|
+
import { jsx as t, jsxs as z, Fragment as J } from "react/jsx-runtime";
|
|
2
|
+
import { memo as K, useState as Q, useRef as Y, useEffect as Z, useCallback as ee } from "react";
|
|
3
|
+
import te from "../../../../../chapters/chapters-list/chapters-list.js";
|
|
4
|
+
import { useUIContext as oe } from "../../../../../ui/context/context.js";
|
|
5
|
+
import ne from "../../../../../ui/text/text.js";
|
|
6
|
+
import se from "../../../../milestone-resources/resources-list/resources-list.js";
|
|
7
|
+
import re from "../../../../milestone-tests/test-list-v2/test-list-container.js";
|
|
8
|
+
import { getGoalCategoryBasedColorTheme as ae } from "../milestone-utils.js";
|
|
9
|
+
import { NoPlanCardWrapper as le, TabsWrapper as ie, TabsText as ce, TabComponentWrapper as de } from "./milestone-tabs-styled.js";
|
|
10
|
+
const ve = K(function(h) {
|
|
11
|
+
var k;
|
|
12
12
|
const {
|
|
13
|
-
goalCategory:
|
|
14
|
-
isDraftMilestone:
|
|
15
|
-
isGoalCreation:
|
|
16
|
-
isMilestoneActive:
|
|
13
|
+
goalCategory: $,
|
|
14
|
+
isDraftMilestone: a,
|
|
15
|
+
isGoalCreation: x,
|
|
16
|
+
isMilestoneActive: c,
|
|
17
17
|
userMilestoneId: e,
|
|
18
|
-
chapters:
|
|
19
|
-
userType:
|
|
20
|
-
canUpdatePlan:
|
|
21
|
-
studentId:
|
|
22
|
-
milestoneState:
|
|
23
|
-
milestonePermissions:
|
|
24
|
-
activeMilestoneId:
|
|
25
|
-
activeTabId:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
18
|
+
chapters: d,
|
|
19
|
+
userType: m,
|
|
20
|
+
canUpdatePlan: p,
|
|
21
|
+
studentId: f,
|
|
22
|
+
milestoneState: S,
|
|
23
|
+
milestonePermissions: w,
|
|
24
|
+
activeMilestoneId: b,
|
|
25
|
+
activeTabId: E,
|
|
26
|
+
selectedTabName: o,
|
|
27
|
+
isTrialSession: u
|
|
28
|
+
} = h, {
|
|
29
|
+
onAddChapter: P,
|
|
30
|
+
onAssignResources: U,
|
|
31
|
+
onChapterClick: j,
|
|
32
|
+
onCreateMilestoneTest: W,
|
|
33
|
+
onNodeAttempt: _,
|
|
34
|
+
onNodeView: y,
|
|
35
|
+
onNodeReview: B,
|
|
36
|
+
onNodeReattempt: C,
|
|
37
|
+
onNodeReset: D,
|
|
38
|
+
onNodeUnassign: F,
|
|
39
|
+
onNodeAssignAsHomework: g,
|
|
40
|
+
onTestPreview: G,
|
|
41
|
+
onTestReview: O,
|
|
42
|
+
onTestStart: H,
|
|
43
|
+
onWidgetTabSelection: l
|
|
44
|
+
} = h, { visible_tabs: N } = w, { onEvent: v } = oe(), { backgroundColor: L } = ae($, a), T = {
|
|
43
45
|
chapters: {
|
|
44
46
|
label: "Chapters",
|
|
45
47
|
component: /* @__PURE__ */ t(
|
|
46
|
-
|
|
48
|
+
te,
|
|
47
49
|
{
|
|
48
50
|
milestoneId: e,
|
|
49
|
-
chapters:
|
|
50
|
-
userType:
|
|
51
|
-
isGoalCreation:
|
|
52
|
-
onChapterClick:
|
|
53
|
-
onAddChapter:
|
|
54
|
-
canUpdatePlan: !!(
|
|
55
|
-
isMilestoneActive:
|
|
51
|
+
chapters: d,
|
|
52
|
+
userType: m,
|
|
53
|
+
isGoalCreation: x,
|
|
54
|
+
onChapterClick: j,
|
|
55
|
+
onAddChapter: P,
|
|
56
|
+
canUpdatePlan: !!(S !== "DRAFT" && p),
|
|
57
|
+
isMilestoneActive: c
|
|
56
58
|
}
|
|
57
59
|
)
|
|
58
60
|
},
|
|
59
61
|
tests: {
|
|
60
62
|
label: "Tests",
|
|
61
63
|
component: /* @__PURE__ */ t(
|
|
62
|
-
|
|
64
|
+
re,
|
|
63
65
|
{
|
|
64
|
-
isDraftMilestone:
|
|
65
|
-
isChaptersAvailable:
|
|
66
|
-
isMilestoneActive:
|
|
67
|
-
studentId:
|
|
66
|
+
isDraftMilestone: a,
|
|
67
|
+
isChaptersAvailable: d.length > 0,
|
|
68
|
+
isMilestoneActive: c,
|
|
69
|
+
studentId: f,
|
|
68
70
|
userMilestoneId: e,
|
|
69
|
-
userType:
|
|
70
|
-
canUpdatePlan:
|
|
71
|
-
onCreateMilestoneTest:
|
|
72
|
-
onNodeReattempt:
|
|
73
|
-
onTestPreview:
|
|
74
|
-
onTestStart:
|
|
75
|
-
onTestReview:
|
|
76
|
-
onNodeAssignAsHomework:
|
|
71
|
+
userType: m,
|
|
72
|
+
canUpdatePlan: p,
|
|
73
|
+
onCreateMilestoneTest: W,
|
|
74
|
+
onNodeReattempt: C,
|
|
75
|
+
onTestPreview: G,
|
|
76
|
+
onTestStart: H,
|
|
77
|
+
onTestReview: O,
|
|
78
|
+
onNodeAssignAsHomework: g,
|
|
79
|
+
isTrialSession: u
|
|
77
80
|
}
|
|
78
81
|
)
|
|
79
82
|
},
|
|
80
83
|
resources: {
|
|
81
84
|
label: "Resources",
|
|
82
85
|
component: /* @__PURE__ */ t(
|
|
83
|
-
|
|
86
|
+
se,
|
|
84
87
|
{
|
|
85
|
-
isDraftMilestone:
|
|
86
|
-
isMilestoneActive:
|
|
88
|
+
isDraftMilestone: a,
|
|
89
|
+
isMilestoneActive: c,
|
|
87
90
|
userMilestoneId: e,
|
|
88
|
-
canUpdatePlan:
|
|
89
|
-
studentId:
|
|
90
|
-
userType:
|
|
91
|
-
onAssignResources:
|
|
92
|
-
onNodeAttempt:
|
|
93
|
-
onNodeView:
|
|
94
|
-
onNodeReview:
|
|
95
|
-
onNodeReattempt:
|
|
96
|
-
onNodeReset:
|
|
97
|
-
onNodeUnassign:
|
|
98
|
-
onNodeAssignAsHomework:
|
|
91
|
+
canUpdatePlan: p,
|
|
92
|
+
studentId: f,
|
|
93
|
+
userType: m,
|
|
94
|
+
onAssignResources: U,
|
|
95
|
+
onNodeAttempt: _,
|
|
96
|
+
onNodeView: y,
|
|
97
|
+
onNodeReview: B,
|
|
98
|
+
onNodeReattempt: C,
|
|
99
|
+
onNodeReset: D,
|
|
100
|
+
onNodeUnassign: F,
|
|
101
|
+
onNodeAssignAsHomework: g,
|
|
102
|
+
isTrialSession: u
|
|
99
103
|
}
|
|
100
104
|
)
|
|
101
105
|
}
|
|
102
|
-
}, s = (
|
|
103
|
-
([
|
|
104
|
-
), [i,
|
|
105
|
-
|
|
106
|
-
),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
}, s = (N ?? []).length === 0 || u ? Object.entries(T) : Object.entries(T).filter(
|
|
107
|
+
([n]) => (N ?? []).includes(n.toUpperCase())
|
|
108
|
+
), V = e === b ? E : ((k = s == null ? void 0 : s[0]) == null ? void 0 : k[0]) || "chapters", [i, A] = Q(
|
|
109
|
+
o ?? V
|
|
110
|
+
), R = Y(o);
|
|
111
|
+
Z(() => {
|
|
112
|
+
o && o !== R.current && (R.current = o, A(o));
|
|
113
|
+
}, [o]);
|
|
114
|
+
const X = ee(
|
|
115
|
+
(n, r) => {
|
|
116
|
+
if (b === e && n === i) return null;
|
|
117
|
+
A(n), l == null || l(e, n), v("clicked", {
|
|
118
|
+
cta: r,
|
|
111
119
|
milestone_id: e
|
|
112
120
|
});
|
|
113
121
|
},
|
|
114
|
-
[
|
|
122
|
+
[b, e, i, l, v]
|
|
115
123
|
);
|
|
116
|
-
return
|
|
117
|
-
/* @__PURE__ */ t(
|
|
118
|
-
const [
|
|
124
|
+
return a && d.length === 0 ? /* @__PURE__ */ t(le, { $gutterX: 2, $background: "WHITE_3", children: /* @__PURE__ */ t(ne, { $renderAs: "ab2", $color: "RED", children: "No chapter has been assigned" }) }) : /* @__PURE__ */ z(J, { children: [
|
|
125
|
+
/* @__PURE__ */ t(ie, { $backgroundColor: L, $frames: s.length, children: s.map((n) => {
|
|
126
|
+
const [r, q] = n, { label: I } = q, M = r === i;
|
|
119
127
|
return /* @__PURE__ */ t(
|
|
120
|
-
|
|
128
|
+
ce,
|
|
121
129
|
{
|
|
122
|
-
$renderAs:
|
|
130
|
+
$renderAs: M ? "ub3-bold" : "ub3",
|
|
123
131
|
$align: "center",
|
|
124
|
-
$selected:
|
|
125
|
-
onClick: () =>
|
|
126
|
-
children:
|
|
132
|
+
$selected: M,
|
|
133
|
+
onClick: () => X(r, I),
|
|
134
|
+
children: I
|
|
127
135
|
},
|
|
128
|
-
|
|
136
|
+
r
|
|
129
137
|
);
|
|
130
138
|
}) }),
|
|
131
|
-
/* @__PURE__ */ t(
|
|
139
|
+
/* @__PURE__ */ t(de, { children: T[i].component })
|
|
132
140
|
] });
|
|
133
141
|
});
|
|
134
142
|
export {
|
|
135
|
-
|
|
143
|
+
ve as default
|
|
136
144
|
};
|
|
137
145
|
//# sourceMappingURL=milestone-tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"milestone-tabs.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.tsx"],"sourcesContent":["import { memo, useCallback, useState, type FC } from 'react';\n\nimport ChaptersList from '../../../../../chapters/chapters-list/chapters-list';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport Text from '../../../../../ui/text/text';\nimport MilestoneWidgetResources from '../../../../milestone-resources/resources-list/resources-list';\nimport MilestoneTestsList from '../../../../milestone-tests/test-list-v2/test-list-container';\nimport { getGoalCategoryBasedColorTheme } from '../milestone-utils';\nimport * as Styled from './milestone-tabs-styled';\nimport type { IMilestoneTabConfig, IMilestoneTabsProps } from './milestone-tabs-types';\n\nconst MilestoneTabs: FC<IMilestoneTabsProps> = memo(function MilestoneTabs(props) {\n const {\n goalCategory,\n isDraftMilestone,\n isGoalCreation,\n isMilestoneActive,\n userMilestoneId,\n chapters,\n userType,\n canUpdatePlan,\n studentId,\n milestoneState,\n milestonePermissions,\n activeMilestoneId,\n activeTabId,\n } = props;\n const {\n onAddChapter,\n onAssignResources,\n onChapterClick,\n onCreateMilestoneTest,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onNodeAssignAsHomework,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = props;\n const { visible_tabs: visibleTabs } = milestonePermissions;\n const { onEvent: trackEvent } = useUIContext();\n\n const { backgroundColor } = getGoalCategoryBasedColorTheme(goalCategory, isDraftMilestone);\n\n const TAB_CONFIG: IMilestoneTabConfig = {\n chapters: {\n label: 'Chapters',\n component: (\n <ChaptersList\n milestoneId={userMilestoneId}\n chapters={chapters}\n userType={userType}\n isGoalCreation={isGoalCreation}\n onChapterClick={onChapterClick}\n onAddChapter={onAddChapter}\n canUpdatePlan={Boolean(milestoneState !== 'DRAFT' && canUpdatePlan)}\n isMilestoneActive={isMilestoneActive}\n />\n ),\n },\n tests: {\n label: 'Tests',\n component: (\n <MilestoneTestsList\n isDraftMilestone={isDraftMilestone}\n isChaptersAvailable={chapters.length > 0}\n isMilestoneActive={isMilestoneActive}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onNodeReattempt={onNodeReattempt}\n onTestPreview={onTestPreview}\n onTestStart={onTestStart}\n onTestReview={onTestReview}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n />\n ),\n },\n resources: {\n label: 'Resources',\n component: (\n <MilestoneWidgetResources\n isDraftMilestone={isDraftMilestone}\n isMilestoneActive={isMilestoneActive}\n userMilestoneId={userMilestoneId}\n canUpdatePlan={canUpdatePlan}\n studentId={studentId}\n userType={userType}\n onAssignResources={onAssignResources}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n />\n ),\n },\n };\n\n const filteredTabConfig =\n (visibleTabs ?? []).length === 0\n ? Object.entries(TAB_CONFIG)\n : Object.entries(TAB_CONFIG).filter(([tabName]) =>\n (visibleTabs ?? []).includes(tabName.toUpperCase()),\n );\n const [selectedTabName, setSelectedTabName] = useState(\n userMilestoneId === activeMilestoneId ? activeTabId : filteredTabConfig?.[0]?.[0] || 'chapters',\n );\n\n const handleTabChange = useCallback(\n (tabName: keyof IMilestoneTabConfig, ctaLabel: string) => {\n if (activeMilestoneId === userMilestoneId && tabName === selectedTabName) return null;\n\n setSelectedTabName(tabName);\n\n onWidgetTabSelection?.(userMilestoneId, tabName);\n\n trackEvent('clicked', {\n cta: ctaLabel,\n milestone_id: userMilestoneId,\n });\n },\n [activeMilestoneId, userMilestoneId, selectedTabName, onWidgetTabSelection, trackEvent],\n );\n\n if (isDraftMilestone && chapters.length === 0) {\n return (\n <Styled.NoPlanCardWrapper $gutterX={2} $background=\"WHITE_3\">\n <Text $renderAs=\"ab2\" $color=\"RED\">\n No chapter has been assigned\n </Text>\n </Styled.NoPlanCardWrapper>\n );\n }\n\n return (\n <>\n <Styled.TabsWrapper $backgroundColor={backgroundColor} $frames={filteredTabConfig.length}>\n {filteredTabConfig.map(tabConfig => {\n const [tabName, tabInfo] = tabConfig;\n const { label } = tabInfo;\n const isSelected = tabName === selectedTabName;\n\n return (\n <Styled.TabsText\n $renderAs={isSelected ? 'ub3-bold' : 'ub3'}\n $align=\"center\"\n key={tabName}\n $selected={isSelected}\n onClick={() => handleTabChange(tabName as keyof IMilestoneTabConfig, label)}\n >\n {label}\n </Styled.TabsText>\n );\n })}\n </Styled.TabsWrapper>\n\n <Styled.TabComponentWrapper>\n {TAB_CONFIG[selectedTabName as keyof typeof TAB_CONFIG].component}\n </Styled.TabComponentWrapper>\n </>\n );\n});\n\nexport default MilestoneTabs;\n"],"names":["MilestoneTabs","memo","props","goalCategory","isDraftMilestone","isGoalCreation","isMilestoneActive","userMilestoneId","chapters","userType","canUpdatePlan","studentId","milestoneState","milestonePermissions","activeMilestoneId","activeTabId","onAddChapter","onAssignResources","onChapterClick","onCreateMilestoneTest","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onNodeAssignAsHomework","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","visibleTabs","trackEvent","useUIContext","backgroundColor","getGoalCategoryBasedColorTheme","TAB_CONFIG","jsx","ChaptersList","MilestoneTestsList","MilestoneWidgetResources","filteredTabConfig","tabName","selectedTabName","setSelectedTabName","useState","_a","handleTabChange","useCallback","ctaLabel","Styled.NoPlanCardWrapper","Text","jsxs","Fragment","Styled.TabsWrapper","tabConfig","tabInfo","label","isSelected","Styled.TabsText","Styled.TabComponentWrapper"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"milestone-tabs.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useRef, useState, type FC } from 'react';\n\nimport ChaptersList from '../../../../../chapters/chapters-list/chapters-list';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport Text from '../../../../../ui/text/text';\nimport MilestoneWidgetResources from '../../../../milestone-resources/resources-list/resources-list';\nimport MilestoneTestsList from '../../../../milestone-tests/test-list-v2/test-list-container';\nimport { getGoalCategoryBasedColorTheme } from '../milestone-utils';\nimport * as Styled from './milestone-tabs-styled';\nimport type {\n IMilestoneTabConfig,\n IMilestoneTabsProps,\n TMilestoneTabName,\n} from './milestone-tabs-types';\n\nconst MilestoneTabs: FC<IMilestoneTabsProps> = memo(function MilestoneTabs(props) {\n const {\n goalCategory,\n isDraftMilestone,\n isGoalCreation,\n isMilestoneActive,\n userMilestoneId,\n chapters,\n userType,\n canUpdatePlan,\n studentId,\n milestoneState,\n milestonePermissions,\n activeMilestoneId,\n activeTabId,\n selectedTabName: controlledSelectedTabName,\n isTrialSession,\n } = props;\n const {\n onAddChapter,\n onAssignResources,\n onChapterClick,\n onCreateMilestoneTest,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onNodeAssignAsHomework,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = props;\n const { visible_tabs: visibleTabs } = milestonePermissions;\n const { onEvent: trackEvent } = useUIContext();\n\n const { backgroundColor } = getGoalCategoryBasedColorTheme(goalCategory, isDraftMilestone);\n\n const TAB_CONFIG: IMilestoneTabConfig = {\n chapters: {\n label: 'Chapters',\n component: (\n <ChaptersList\n milestoneId={userMilestoneId}\n chapters={chapters}\n userType={userType}\n isGoalCreation={isGoalCreation}\n onChapterClick={onChapterClick}\n onAddChapter={onAddChapter}\n canUpdatePlan={Boolean(milestoneState !== 'DRAFT' && canUpdatePlan)}\n isMilestoneActive={isMilestoneActive}\n />\n ),\n },\n tests: {\n label: 'Tests',\n component: (\n <MilestoneTestsList\n isDraftMilestone={isDraftMilestone}\n isChaptersAvailable={chapters.length > 0}\n isMilestoneActive={isMilestoneActive}\n studentId={studentId}\n userMilestoneId={userMilestoneId}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onNodeReattempt={onNodeReattempt}\n onTestPreview={onTestPreview}\n onTestStart={onTestStart}\n onTestReview={onTestReview}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n isTrialSession={isTrialSession}\n />\n ),\n },\n resources: {\n label: 'Resources',\n component: (\n <MilestoneWidgetResources\n isDraftMilestone={isDraftMilestone}\n isMilestoneActive={isMilestoneActive}\n userMilestoneId={userMilestoneId}\n canUpdatePlan={canUpdatePlan}\n studentId={studentId}\n userType={userType}\n onAssignResources={onAssignResources}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n isTrialSession={isTrialSession}\n />\n ),\n },\n };\n\n const filteredTabConfig =\n (visibleTabs ?? []).length === 0 || isTrialSession\n ? Object.entries(TAB_CONFIG)\n : Object.entries(TAB_CONFIG).filter(([tabName]) =>\n (visibleTabs ?? []).includes(tabName.toUpperCase()),\n );\n\n const defaultTabName =\n userMilestoneId === activeMilestoneId ? activeTabId : filteredTabConfig?.[0]?.[0] || 'chapters';\n\n const [selectedTabName, setSelectedTabName] = useState<TMilestoneTabName>(\n (controlledSelectedTabName ?? defaultTabName) as TMilestoneTabName,\n );\n\n const prevControlledTabNameRef = useRef(controlledSelectedTabName);\n\n useEffect(() => {\n if (!controlledSelectedTabName) return;\n\n if (controlledSelectedTabName === prevControlledTabNameRef.current) return;\n\n prevControlledTabNameRef.current = controlledSelectedTabName;\n setSelectedTabName(controlledSelectedTabName);\n }, [controlledSelectedTabName]);\n\n const handleTabChange = useCallback(\n (tabName: TMilestoneTabName, ctaLabel: string) => {\n if (activeMilestoneId === userMilestoneId && tabName === selectedTabName) return null;\n\n setSelectedTabName(tabName);\n\n onWidgetTabSelection?.(userMilestoneId, tabName);\n\n trackEvent('clicked', {\n cta: ctaLabel,\n milestone_id: userMilestoneId,\n });\n },\n [activeMilestoneId, userMilestoneId, selectedTabName, onWidgetTabSelection, trackEvent],\n );\n\n if (isDraftMilestone && chapters.length === 0) {\n return (\n <Styled.NoPlanCardWrapper $gutterX={2} $background=\"WHITE_3\">\n <Text $renderAs=\"ab2\" $color=\"RED\">\n No chapter has been assigned\n </Text>\n </Styled.NoPlanCardWrapper>\n );\n }\n\n return (\n <>\n <Styled.TabsWrapper $backgroundColor={backgroundColor} $frames={filteredTabConfig.length}>\n {filteredTabConfig.map(tabConfig => {\n const [tabName, tabInfo] = tabConfig;\n const { label } = tabInfo;\n const isSelected = tabName === selectedTabName;\n\n return (\n <Styled.TabsText\n $renderAs={isSelected ? 'ub3-bold' : 'ub3'}\n $align=\"center\"\n key={tabName}\n $selected={isSelected}\n onClick={() => handleTabChange(tabName as TMilestoneTabName, label)}\n >\n {label}\n </Styled.TabsText>\n );\n })}\n </Styled.TabsWrapper>\n\n <Styled.TabComponentWrapper>\n {TAB_CONFIG[selectedTabName as keyof typeof TAB_CONFIG].component}\n </Styled.TabComponentWrapper>\n </>\n );\n});\n\nexport default MilestoneTabs;\n"],"names":["MilestoneTabs","memo","props","goalCategory","isDraftMilestone","isGoalCreation","isMilestoneActive","userMilestoneId","chapters","userType","canUpdatePlan","studentId","milestoneState","milestonePermissions","activeMilestoneId","activeTabId","controlledSelectedTabName","isTrialSession","onAddChapter","onAssignResources","onChapterClick","onCreateMilestoneTest","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onNodeAssignAsHomework","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","visibleTabs","trackEvent","useUIContext","backgroundColor","getGoalCategoryBasedColorTheme","TAB_CONFIG","jsx","ChaptersList","MilestoneTestsList","MilestoneWidgetResources","filteredTabConfig","tabName","defaultTabName","_a","selectedTabName","setSelectedTabName","useState","prevControlledTabNameRef","useRef","useEffect","handleTabChange","useCallback","ctaLabel","Styled.NoPlanCardWrapper","Text","jsxs","Fragment","Styled.TabsWrapper","tabConfig","tabInfo","label","isSelected","Styled.TabsText","Styled.TabComponentWrapper"],"mappings":"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"}
|