@cuemath/leap 2.8.61-rj-12 → 2.8.61-rj-13
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/line-icons/icons/alert.js +3 -3
- package/dist/assets/line-icons/icons/alert.js.map +1 -1
- package/dist/assets/line-icons/icons/back.js +4 -4
- package/dist/assets/line-icons/icons/back.js.map +1 -1
- package/dist/assets/line-icons/icons/back2.js +3 -3
- package/dist/assets/line-icons/icons/back2.js.map +1 -1
- package/dist/assets/line-icons/icons/bin.js +8 -8
- package/dist/assets/line-icons/icons/bin.js.map +1 -1
- package/dist/assets/line-icons/icons/bin2.js +4 -4
- package/dist/assets/line-icons/icons/bin2.js.map +1 -1
- package/dist/assets/line-icons/icons/book-closed.js +3 -3
- package/dist/assets/line-icons/icons/book-closed.js.map +1 -1
- package/dist/assets/line-icons/icons/book.js +4 -4
- package/dist/assets/line-icons/icons/book.js.map +1 -1
- package/dist/assets/line-icons/icons/book2.js +3 -3
- package/dist/assets/line-icons/icons/book2.js.map +1 -1
- package/dist/assets/line-icons/icons/bookmark-stroke-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/bookmark.js +2 -2
- package/dist/assets/line-icons/icons/bookmark.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb.js +8 -8
- package/dist/assets/line-icons/icons/bulb.js.map +1 -1
- package/dist/assets/line-icons/icons/bulb2.js +3 -3
- package/dist/assets/line-icons/icons/bulb2.js.map +1 -1
- package/dist/assets/line-icons/icons/calculator.js.map +1 -1
- package/dist/assets/line-icons/icons/calendar.js +3 -3
- package/dist/assets/line-icons/icons/calendar.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-left.js.map +1 -1
- package/dist/assets/line-icons/icons/carat-right.js.map +1 -1
- package/dist/assets/line-icons/icons/chat.js +4 -4
- package/dist/assets/line-icons/icons/chat.js.map +1 -1
- package/dist/assets/line-icons/icons/check.js +4 -4
- package/dist/assets/line-icons/icons/check.js.map +1 -1
- package/dist/assets/line-icons/icons/check2.js +3 -3
- package/dist/assets/line-icons/icons/check2.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-down.js +6 -6
- package/dist/assets/line-icons/icons/chevron-down.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-left.js +4 -4
- package/dist/assets/line-icons/icons/chevron-left.js.map +1 -1
- package/dist/assets/line-icons/icons/chevron-right.js +6 -6
- package/dist/assets/line-icons/icons/chevron-right.js.map +1 -1
- package/dist/assets/line-icons/icons/circle-back.js.map +1 -1
- package/dist/assets/line-icons/icons/clear-all.js.map +1 -1
- package/dist/assets/line-icons/icons/clipboard.js +5 -5
- package/dist/assets/line-icons/icons/clipboard.js.map +1 -1
- package/dist/assets/line-icons/icons/clock.js +3 -3
- package/dist/assets/line-icons/icons/clock.js.map +1 -1
- package/dist/assets/line-icons/icons/clock2.js +5 -5
- package/dist/assets/line-icons/icons/clock2.js.map +1 -1
- package/dist/assets/line-icons/icons/closed-eye.js.map +1 -1
- package/dist/assets/line-icons/icons/code.js +3 -3
- package/dist/assets/line-icons/icons/code.js.map +1 -1
- package/dist/assets/line-icons/icons/copy.js +4 -4
- package/dist/assets/line-icons/icons/copy.js.map +1 -1
- package/dist/assets/line-icons/icons/cross.js +4 -4
- package/dist/assets/line-icons/icons/cross.js.map +1 -1
- package/dist/assets/line-icons/icons/cue-rocket.js +2 -2
- package/dist/assets/line-icons/icons/cue-rocket.js.map +1 -1
- package/dist/assets/line-icons/icons/cuemath-logo.js +2 -2
- package/dist/assets/line-icons/icons/cuemath-logo.js.map +1 -1
- package/dist/assets/line-icons/icons/cursor.js.map +1 -1
- package/dist/assets/line-icons/icons/dash-arrow.js +3 -3
- package/dist/assets/line-icons/icons/dash-arrow.js.map +1 -1
- package/dist/assets/line-icons/icons/down.js +2 -2
- package/dist/assets/line-icons/icons/down.js.map +1 -1
- package/dist/assets/line-icons/icons/download.js.map +1 -1
- package/dist/assets/line-icons/icons/draft.js +4 -4
- package/dist/assets/line-icons/icons/draft.js.map +1 -1
- package/dist/assets/line-icons/icons/drag.js +3 -3
- package/dist/assets/line-icons/icons/drag.js.map +1 -1
- package/dist/assets/line-icons/icons/edit-star.js +5 -5
- package/dist/assets/line-icons/icons/edit-star.js.map +1 -1
- package/dist/assets/line-icons/icons/edit.js +5 -5
- package/dist/assets/line-icons/icons/edit.js.map +1 -1
- package/dist/assets/line-icons/icons/edit2.js +2 -2
- package/dist/assets/line-icons/icons/edit2.js.map +1 -1
- package/dist/assets/line-icons/icons/equation.js.map +1 -1
- package/dist/assets/line-icons/icons/eraser.js +3 -3
- package/dist/assets/line-icons/icons/eraser.js.map +1 -1
- package/dist/assets/line-icons/icons/eye.js +4 -4
- package/dist/assets/line-icons/icons/eye.js.map +1 -1
- package/dist/assets/line-icons/icons/eye2.js +2 -2
- package/dist/assets/line-icons/icons/eye2.js.map +1 -1
- package/dist/assets/line-icons/icons/game.js +3 -3
- package/dist/assets/line-icons/icons/game.js.map +1 -1
- package/dist/assets/line-icons/icons/hand.js +2 -2
- package/dist/assets/line-icons/icons/hand.js.map +1 -1
- package/dist/assets/line-icons/icons/help.js +3 -3
- package/dist/assets/line-icons/icons/help.js.map +1 -1
- package/dist/assets/line-icons/icons/highlighter.js +4 -4
- package/dist/assets/line-icons/icons/highlighter.js.map +1 -1
- package/dist/assets/line-icons/icons/home.js +3 -3
- package/dist/assets/line-icons/icons/home.js.map +1 -1
- package/dist/assets/line-icons/icons/image.js +3 -3
- package/dist/assets/line-icons/icons/image.js.map +1 -1
- package/dist/assets/line-icons/icons/info.js +3 -3
- package/dist/assets/line-icons/icons/info.js.map +1 -1
- package/dist/assets/line-icons/icons/info2.js +3 -3
- package/dist/assets/line-icons/icons/info2.js.map +1 -1
- package/dist/assets/line-icons/icons/left.js +3 -3
- package/dist/assets/line-icons/icons/left.js.map +1 -1
- package/dist/assets/line-icons/icons/lock.js +3 -3
- package/dist/assets/line-icons/icons/lock.js.map +1 -1
- package/dist/assets/line-icons/icons/lock2.js +2 -2
- package/dist/assets/line-icons/icons/lock2.js.map +1 -1
- package/dist/assets/line-icons/icons/minus.js +2 -2
- package/dist/assets/line-icons/icons/minus.js.map +1 -1
- package/dist/assets/line-icons/icons/minus2.js +3 -3
- package/dist/assets/line-icons/icons/minus2.js.map +1 -1
- package/dist/assets/line-icons/icons/mistake.js +3 -3
- package/dist/assets/line-icons/icons/mistake.js.map +1 -1
- package/dist/assets/line-icons/icons/mobile.js +3 -3
- package/dist/assets/line-icons/icons/mobile.js.map +1 -1
- package/dist/assets/line-icons/icons/more-vertical.js +3 -3
- package/dist/assets/line-icons/icons/more-vertical.js.map +1 -1
- package/dist/assets/line-icons/icons/next.js +5 -5
- package/dist/assets/line-icons/icons/next.js.map +1 -1
- package/dist/assets/line-icons/icons/next2.js +4 -4
- package/dist/assets/line-icons/icons/next2.js.map +1 -1
- package/dist/assets/line-icons/icons/pan.js.map +1 -1
- package/dist/assets/line-icons/icons/pencil.js +3 -3
- package/dist/assets/line-icons/icons/pencil.js.map +1 -1
- package/dist/assets/line-icons/icons/play.js +5 -5
- package/dist/assets/line-icons/icons/play.js.map +1 -1
- package/dist/assets/line-icons/icons/play2.js +5 -5
- package/dist/assets/line-icons/icons/play2.js.map +1 -1
- package/dist/assets/line-icons/icons/plus.js +4 -4
- package/dist/assets/line-icons/icons/plus.js.map +1 -1
- package/dist/assets/line-icons/icons/plus2.js +3 -3
- package/dist/assets/line-icons/icons/plus2.js.map +1 -1
- package/dist/assets/line-icons/icons/pointer.js +2 -2
- package/dist/assets/line-icons/icons/pointer.js.map +1 -1
- package/dist/assets/line-icons/icons/practice.js +2 -2
- package/dist/assets/line-icons/icons/practice.js.map +1 -1
- package/dist/assets/line-icons/icons/progress.js +3 -3
- package/dist/assets/line-icons/icons/progress.js.map +1 -1
- package/dist/assets/line-icons/icons/question-letter.js +3 -3
- package/dist/assets/line-icons/icons/question-letter.js.map +1 -1
- package/dist/assets/line-icons/icons/question.js +5 -5
- package/dist/assets/line-icons/icons/question.js.map +1 -1
- package/dist/assets/line-icons/icons/redo.js +4 -4
- package/dist/assets/line-icons/icons/redo.js.map +1 -1
- package/dist/assets/line-icons/icons/right.js +3 -3
- package/dist/assets/line-icons/icons/right.js.map +1 -1
- package/dist/assets/line-icons/icons/ruler.js +3 -3
- package/dist/assets/line-icons/icons/ruler.js.map +1 -1
- package/dist/assets/line-icons/icons/scribble.js.map +1 -1
- package/dist/assets/line-icons/icons/search.js +3 -3
- package/dist/assets/line-icons/icons/search.js.map +1 -1
- package/dist/assets/line-icons/icons/sheet.js +9 -9
- package/dist/assets/line-icons/icons/sheet.js.map +1 -1
- package/dist/assets/line-icons/icons/sketch.js +4 -4
- package/dist/assets/line-icons/icons/sketch.js.map +1 -1
- package/dist/assets/line-icons/icons/skip.js +6 -6
- package/dist/assets/line-icons/icons/skip.js.map +1 -1
- package/dist/assets/line-icons/icons/skip2.js +4 -4
- package/dist/assets/line-icons/icons/skip2.js.map +1 -1
- package/dist/assets/line-icons/icons/square-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/star.js +3 -3
- package/dist/assets/line-icons/icons/star.js.map +1 -1
- package/dist/assets/line-icons/icons/star2.js +3 -3
- package/dist/assets/line-icons/icons/star2.js.map +1 -1
- package/dist/assets/line-icons/icons/striked-eye.js +4 -4
- package/dist/assets/line-icons/icons/striked-eye.js.map +1 -1
- package/dist/assets/line-icons/icons/switch-icon.js +4 -4
- package/dist/assets/line-icons/icons/switch-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/text-icon.js.map +1 -1
- package/dist/assets/line-icons/icons/tick.js +2 -2
- package/dist/assets/line-icons/icons/tick.js.map +1 -1
- package/dist/assets/line-icons/icons/tri-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/tri2-dots.js.map +1 -1
- package/dist/assets/line-icons/icons/trophy.js +3 -3
- package/dist/assets/line-icons/icons/trophy.js.map +1 -1
- package/dist/assets/line-icons/icons/tutoring.js +4 -4
- package/dist/assets/line-icons/icons/tutoring.js.map +1 -1
- package/dist/assets/line-icons/icons/undo.js +4 -4
- package/dist/assets/line-icons/icons/undo.js.map +1 -1
- package/dist/assets/line-icons/icons/unlock.js +4 -4
- package/dist/assets/line-icons/icons/unlock.js.map +1 -1
- package/dist/assets/line-icons/icons/up.js +3 -3
- package/dist/assets/line-icons/icons/up.js.map +1 -1
- package/dist/assets/line-icons/icons/upload.js.map +1 -1
- package/dist/assets/line-icons/icons/user.js +3 -3
- package/dist/assets/line-icons/icons/user.js.map +1 -1
- package/dist/assets/line-icons/icons/user2.js +2 -2
- package/dist/assets/line-icons/icons/user2.js.map +1 -1
- package/dist/assets/line-icons/icons/zoom-in.js.map +1 -1
- package/dist/assets/line-icons/icons/zoom-out.js.map +1 -1
- package/dist/constants/country.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker-context.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js +14 -14
- package/dist/features/blockers/multi-tab-blocker/multi-tab-blocker.js.map +1 -1
- package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js +2 -2
- package/dist/features/blockers/multi-tab-blocker/use-is-tab-blocked.js.map +1 -1
- package/dist/features/chapters/api/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/chapter.js +20 -20
- package/dist/features/chapters/chapter/chapter.js.map +1 -1
- package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner-styled.js.map +1 -1
- package/dist/features/chapters/chapter/comps/chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons-styled.js.map +1 -1
- package/dist/features/chapters/chapter/comps/core-lessons/core-lessons.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources-styled.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/supplementary-resources.js.map +1 -1
- package/dist/features/chapters/chapter/comps/supplementary-resources/utils.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/chapters/chapters-list/chapters-list.js +13 -13
- package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/block-section-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/block-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-action.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-header.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js +4 -4
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/question-overview.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js +15 -15
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/sat-sheet-summary.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-summary/summary-module.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/reward-n-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/student-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js +2 -2
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-icon.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/chapter-progress.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/comps/tab-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/constants/index.js +5 -22
- package/dist/features/chapters/lpar-chapter/constants/index.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/constants/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/chapter-banner.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-banner/lpar-chapter-banner-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/lpar-chapter.js +26 -26
- package/dist/features/chapters/lpar-chapter/lpar-chapter.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/cue-coins.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card-styled.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-card/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section-utils.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/chapters/lpar-chapter/utils/index.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/block-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/chapter-block/chapter-block.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/rewards-n-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/student-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/rewards-n-actions/teacher-actions.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-info.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/block-section/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/extra-practice-section/extra-practice-section.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js +21 -21
- package/dist/features/chapters/lpar-milestone-chapter/lpar-milestone-chapter.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card-util.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-card.js.map +1 -1
- package/dist/features/chapters/lpar-milestone-chapter/puzzle-section/puzzle-section.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/carousel/carousel.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +10 -10
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode-star/table-mode-star.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-segment-star/table-segment-star.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +6 -6
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +4 -4
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +47 -38
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js +37 -37
- package/dist/features/circle-games/game-launcher/hooks/use-table-launcher-journey/use-table-launcher-journey.js.map +1 -1
- package/dist/features/circle-games/games/tutorial/tutorial.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner-styled.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/banner/banner.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/info-bar/info-bar.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/leaderboard-item/leaderboard-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/navigation-button/navigation-button.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/progress-item/progress-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js +1 -1
- package/dist/features/circle-games/leaderboard/comps/progress-list-item/progress-list-item.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/streak-reduction-infobar/streak-reduction-infobar.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/timer/timer.js.map +1 -1
- package/dist/features/circle-games/leaderboard/comps/with-grade/with-grade.js.map +1 -1
- package/dist/features/circle-games/leaderboard/dal/use-get-leaderboard-dal/use-get-leaderboard-dal.js.map +1 -1
- package/dist/features/circle-games/leaderboard/hooks/use-intersection-observer/use-intersection-observer.tsx.js.map +1 -1
- package/dist/features/circle-games/leaderboard/hooks/use-timer/use-timer.js.map +1 -1
- package/dist/features/circle-games/leaderboard/leaderboard.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/circular-steps/circular-steps.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/input-wrapper/input-wrapper.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js +3 -3
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/select-user-grade/select-user-grade.styled.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen-styled.js +1 -1
- package/dist/features/circle-games/sign-up/comp/splash-screen/splash-screen.js.map +1 -1
- package/dist/features/circle-games/sign-up/comp/username-input/username-input.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/create-user-dal/create-user-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/update-user-dal/update-user-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/dal/validate-username-dal/validate-username-dal.js.map +1 -1
- package/dist/features/circle-games/sign-up/helper.js.map +1 -1
- package/dist/features/circle-games/sign-up/sign-up.js +8 -8
- package/dist/features/circle-games/sign-up/sign-up.js.map +1 -1
- package/dist/features/circle-games/utils/streak-reduction-localstorage-util.js.map +1 -1
- package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js +18 -18
- package/dist/features/communication/hooks/use-inclass-message-broker/use-inclass-message-broker.js.map +1 -1
- package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js +11 -11
- package/dist/features/communication/hooks/use-trial-session-message-broker/use-trial-session-message-broker.js.map +1 -1
- package/dist/features/communication/pub-sub/core.js.map +1 -1
- package/dist/features/communication/pub-sub/hooks.js +1 -1
- package/dist/features/communication/pub-sub/hooks.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-context.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-core.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-helpers.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas-provider.js +8 -8
- package/dist/features/cue-canvas/cue-canvas-provider.js.map +1 -1
- package/dist/features/cue-canvas/cue-canvas.js +28 -28
- package/dist/features/cue-canvas/cue-canvas.js.map +1 -1
- package/dist/features/cue-canvas/cue-cavas-styled.js +29 -29
- package/dist/features/cue-canvas/cue-cavas-styled.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +14 -14
- package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-cue-canvas-actions.js.map +1 -1
- package/dist/features/cue-canvas/hooks/use-height-extender.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-palette.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/color-picker-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/grid-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/icon-map.js +7 -7
- package/dist/features/cue-canvas/toolbar/pen-tool-menu.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/tool.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/toolbar.js +8 -8
- package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
- package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
- package/dist/features/extra-practice/extra-practice.js +21 -21
- package/dist/features/extra-practice/extra-practice.js.map +1 -1
- package/dist/features/extra-practice/list/list-constants.js.map +1 -1
- package/dist/features/extra-practice/list/list-styled.js.map +1 -1
- package/dist/features/extra-practice/list/list.js.map +1 -1
- package/dist/features/hooks/use-audio-player.js.map +1 -1
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js +3 -3
- package/dist/features/hooks/use-auto-play-permission/use-auto-play-permission-context-provider.js.map +1 -1
- package/dist/features/hooks/use-drag-helper.js.map +1 -1
- package/dist/features/hooks/use-force-reload.js +7 -7
- package/dist/features/hooks/use-force-reload.js.map +1 -1
- package/dist/features/hooks/use-is-unmounted.js.map +1 -1
- package/dist/features/hooks/use-lazy-ref.js.map +1 -1
- package/dist/features/hooks/use-previous.js.map +1 -1
- package/dist/features/hooks/use-zoom-disable.js +3 -3
- package/dist/features/hooks/use-zoom-disable.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark-styled.js.map +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js +1 -1
- package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
- package/dist/features/journey/hooks/use-get-eligible-journeys-via-route.js.map +1 -1
- package/dist/features/journey/use-journey/journey-context-provider.js +69 -71
- package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
- package/dist/features/journey/user-journey-api/user-journey-api.js +3 -3
- package/dist/features/maintenance/maintenance.js +5 -5
- package/dist/features/maintenance/maintenance.js.map +1 -1
- package/dist/features/milestone/constants.js +11 -15
- package/dist/features/milestone/constants.js.map +1 -1
- package/dist/features/milestone/create/api/goal-submit.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-bulk.js.map +1 -1
- package/dist/features/milestone/create/api/milestone-submit.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/hooks/use-catalog-helpers.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
- package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
- package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
- package/dist/features/milestone/create/comps/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/chapter-item/chapter-item.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/category-card.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-container.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-category/chapter-category-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapter-selection.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/use-chapter-list-update.js.map +1 -1
- package/dist/features/milestone/create/comps/chapters-selection-step/utils.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-selectors.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-step.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/class-details-step/class-details-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js +9 -9
- package/dist/features/milestone/create/comps/confirmation-modals/chapter-clearance-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation-utils.js.map +1 -1
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js +14 -14
- package/dist/features/milestone/create/comps/confirmation-modals/goal-creation-confirmation.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector-view.js.map +1 -1
- package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
- package/dist/features/milestone/create/comps/info-points/info-points.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress/milestone-progress.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -1
- package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/category-component-styled.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/category-component.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step-constants.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-step.js.map +1 -1
- package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-constants.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-container.js +25 -25
- package/dist/features/milestone/create/milestone-create-container.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-form-tree.js +2 -2
- package/dist/features/milestone/create/milestone-create-form-tree.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-helpers.js +3 -3
- package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-hooks.js.map +1 -1
- package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
- package/dist/features/milestone/create/milestone-create.js +19 -20
- package/dist/features/milestone/create/milestone-create.js.map +1 -1
- package/dist/features/milestone/create/styled-comps/progressive-loader.js +1 -1
- package/dist/features/milestone/create/styled-comps/progressive-loader.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-modal.js +9 -9
- package/dist/features/milestone/create/submit-modal/submit-modal.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal-styled.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/submit-with-plan-modal/submit-with-plan-modal.js.map +1 -1
- package/dist/features/milestone/create/submit-modal/use-submit-milestone.js.map +1 -1
- package/dist/features/milestone/create/utils/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/delete-milestone/confirm-delete.js.map +1 -1
- package/dist/features/milestone/edit/comps/delete-milestone/styled.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/edit-milestone.js.map +1 -1
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +43 -44
- package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
- package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader-styled.js.map +1 -1
- package/dist/features/milestone/edit/comps/milestone-edit-loader/milestone-edit-loader.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +27 -27
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-container.js +21 -21
- package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/goal-edit-helpers.js +3 -3
- package/dist/features/milestone/edit/goal-edit-helpers.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-container.js +23 -23
- package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
- package/dist/features/milestone/edit/milestone-edit-helpers.js.map +1 -1
- package/dist/features/milestone/hooks/use-submit-goal-creation.js.map +1 -1
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget-styled.js.map +1 -1
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js +15 -15
- package/dist/features/milestone/milestone-action-widget/milestone-action-widget.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestone-resources.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/api/get-tests-list.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/filter-milestones.js.map +1 -1
- 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-loader/milestone-loader.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -1
- 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/goals/goal-action-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/use-goal-draft-publish.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
- 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-utils.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +2 -2
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
- 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/milestone-widget/outcome/outcome-info.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list/no-active-milestone/no-active-milestone.js.map +1 -1
- package/dist/features/milestone/milestone-list-container/milestone-list-container.js +21 -21
- 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.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/goal-resource-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/api/lpar-resource-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item-styled.js.map +1 -1
- 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/comps/resource-item/resource-item.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/no-resource-screen.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +39 -39
- package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-assign/utils.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
- package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/api/test-sheet-assign.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-item/chapter-item.js.map +1 -1
- 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.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-card-lottie-animation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/test-radio-card/test-radio-card.js.map +1 -1
- 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.js +28 -28
- package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-creation/utils/index.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list.js.map +1 -1
- package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
- package/dist/features/milestone/outcome/api/milestone-achievement.js +3 -3
- package/dist/features/milestone/outcome/api/milestone-outcome.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-constants.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-container-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js +3 -3
- package/dist/features/milestone/outcome/comps/achievement/achievement-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js +13 -13
- package/dist/features/milestone/outcome/comps/achievement/reason-submit-modal.js.map +1 -1
- package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js +20 -20
- package/dist/features/milestone/outcome/comps/achievement/share-instructions-modal.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/input-descriptor.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/input-handler.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/outcome-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.js.map +1 -1
- package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-form.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-styled.js.map +1 -1
- package/dist/features/milestone/outcome/comps/past-milestone/question.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-container.js +23 -23
- package/dist/features/milestone/outcome/milestone-outcome-container.js.map +1 -1
- package/dist/features/milestone/outcome/milestone-outcome-styled.js.map +1 -1
- package/dist/features/milestone/outcome/outcome-helpers.js.map +1 -1
- package/dist/features/milestone/start/milestone-start.js +3 -3
- package/dist/features/milestone/start/milestone-start.js.map +1 -1
- package/dist/features/pointer-sync/hooks/use-pointer-sync.js +13 -13
- package/dist/features/pointer-sync/hooks/use-pointer-sync.js.map +1 -1
- package/dist/features/pointer-sync/pointer.js +7 -7
- package/dist/features/pointer-sync/pointer.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js +5 -5
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-utils.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy.js +3 -3
- package/dist/features/post-game-stats/accuracy/accuracy.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock.js +3 -3
- package/dist/features/post-game-stats/clock/clock.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js +12 -13
- package/dist/features/post-game-stats/digital-meter/comp/animated-arc/animated-arc.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js +11 -11
- package/dist/features/post-game-stats/digital-meter/digital-meter-styled.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/digital-meter.js +7 -7
- package/dist/features/post-game-stats/digital-meter/digital-meter.js.map +1 -1
- package/dist/features/post-game-stats/digital-meter/helper.js.map +1 -1
- package/dist/features/post-game-stats/number-count-animation/number-count-animation.js.map +1 -1
- package/dist/features/post-game-stats/points/points.js.map +1 -1
- package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak-styled.js +5 -5
- package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak.js +1 -1
- package/dist/features/post-game-stats/streak/streak.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator-styled.js.map +1 -1
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js +13 -13
- package/dist/features/sheet-tools/desmos-calculator/desmos-calculator.js.map +1 -1
- package/dist/features/sheet-tools/tool-header/tool-header-styled.js.map +1 -1
- package/dist/features/sheet-tools/tool-header/tool-header.js +14 -14
- package/dist/features/sheet-tools/tool-header/tool-header.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/index.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/styled.js.map +1 -1
- package/dist/features/sheets/comps/sheet-button/variant.js.map +1 -1
- package/dist/features/sheets/constants/sheet.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/context-menu-helper-styled.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element-styled.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/context-menu-helper/target-element.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-cta-info.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-styled.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js +4 -3
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-utils.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item-view.js.map +1 -1
- package/dist/features/sheets/lessons-list/lesson-item/lesson-item.js.map +1 -1
- package/dist/features/sheets/lessons-list/lessons-list.js.map +1 -1
- package/dist/features/sheets/reference-sheet/reference-sheet.js +14 -14
- package/dist/features/sheets/reference-sheet/reference-sheet.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/resource-item.js +3 -3
- package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -1
- package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -1
- package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
- package/dist/features/sheets/resources-list/styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/menu-element/menu-element.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/context-menu-helper/target-element/target-element.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions-utils.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/reward-n-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/student-actions/student-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +0 -2
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-icon.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-styled.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-tag.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item-utils.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheet-item/sheet-item.js.map +1 -1
- package/dist/features/sheets/sheets-list/sheets-list.js +15 -15
- package/dist/features/sheets/sheets-list/sheets-list.js.map +1 -1
- package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
- package/dist/features/student-details/class-details/class-details-utils.js.map +1 -1
- package/dist/features/student-details/class-details/class-details.js.map +1 -1
- package/dist/features/student-details/student-details-styled.js.map +1 -1
- package/dist/features/student-details/student-details-utils.js.map +1 -1
- package/dist/features/student-details/student-details.js +17 -17
- package/dist/features/student-details/student-details.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview-styled.js.map +1 -1
- package/dist/features/student-details/wins-preview/wins-preview.js.map +1 -1
- package/dist/features/talk-meter/helper.js.map +1 -1
- package/dist/features/talk-meter/hooks/use-talk-meter.js.map +1 -1
- package/dist/features/talk-meter/ripple/index.js +1 -1
- package/dist/features/talk-meter/ripple/index.js.map +1 -1
- package/dist/features/talk-meter/talk-meter-styled.js +1 -1
- package/dist/features/talk-meter/talk-meter-styled.js.map +1 -1
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js +12 -14
- package/dist/features/talk-meter/talk-meter-view/talk-meter-view.js.map +1 -1
- package/dist/features/talk-meter/talk-meter.js +23 -23
- package/dist/features/talk-meter/talk-meter.js.map +1 -1
- package/dist/features/trial-session/api/course-stream.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/about-cuemath-constants.js.map +1 -1
- package/dist/features/trial-session/comps/about-cuemath/index.js.map +1 -1
- package/dist/features/trial-session/comps/additional-info/additional-info.js.map +1 -1
- package/dist/features/trial-session/comps/av-panels/student-av-panel/student-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/av-panels/teacher-av-panel/teacher-av-panel.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid-styled.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
- package/dist/features/trial-session/comps/background-grid/background-grid.js.map +1 -1
- package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
- package/dist/features/trial-session/comps/clock/clock.js.map +1 -1
- package/dist/features/trial-session/comps/communication-slide/index.js.map +1 -1
- package/dist/features/trial-session/comps/countdown-progress-bar/countdown-progress-bar.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/cues/cues-styled.js +6 -6
- package/dist/features/trial-session/comps/cue-tips/cues/index.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
- package/dist/features/trial-session/comps/cue-tips/tips/tips-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session-constants.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
- package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
- package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
- package/dist/features/trial-session/comps/navigation-bar/navigation-bar-styled.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information-styled.js.map +1 -1
- package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/board-comp.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing-styled.js.map +1 -1
- package/dist/features/trial-session/comps/pricing/pricing.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
- package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
- package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
- package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/report-card.js.map +1 -1
- package/dist/features/trial-session/comps/session-report/session-report.js +3 -3
- package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
- package/dist/features/trial-session/comps/slide-header/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/index.js.map +1 -1
- package/dist/features/trial-session/comps/solutions/solutions.styled.js +5 -5
- package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js +3 -3
- package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js +7 -7
- package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile-styled.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile-utils.js.map +1 -1
- package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro-constants.js.map +1 -1
- package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
- package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game-launch-screen/trial-circle-game-launch-screen.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
- package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
- package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
- package/dist/features/trial-session/helper.js.map +1 -1
- package/dist/features/trial-session/hooks/use-class-time-alerts.js.map +1 -1
- package/dist/features/trial-session/hooks/use-left-panel-button-state.js.map +1 -1
- package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
- package/dist/features/trial-session/left-panel/index.js.map +1 -1
- package/dist/features/trial-session/right-panel/index.js.map +1 -1
- package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
- package/dist/features/trial-session/trial-session-view.js.map +1 -1
- package/dist/features/trial-session/trial-session.js +6 -6
- package/dist/features/trial-session/trial-session.js.map +1 -1
- package/dist/features/ui/accordion-section/accordion-section.js +13 -13
- package/dist/features/ui/accordion-section/accordion-section.js.map +1 -1
- package/dist/features/ui/arc-button/arc-button.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +20 -21
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip-util.js.map +1 -1
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +14 -14
- package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/avatar/avatar-types.js +5 -5
- package/dist/features/ui/avatar/avatar.js +11 -11
- package/dist/features/ui/avatar/avatar.js.map +1 -1
- package/dist/features/ui/avatar/layers/base/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-11.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-12.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-13.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-14.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-15.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-16.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-17.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-18.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/eyes/variant-9.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/hair/variant-9.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-1.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-10.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-11.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-12.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-13.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-14.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-15.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-16.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-17.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-18.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-2.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-3.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-4.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-5.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-6.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-7.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-8.js.map +1 -1
- package/dist/features/ui/avatar/layers/mouth/variant-9.js.map +1 -1
- package/dist/features/ui/buttons/button/button-styled.js.map +1 -1
- package/dist/features/ui/buttons/button/button.js +25 -25
- package/dist/features/ui/buttons/button/button.js.map +1 -1
- package/dist/features/ui/buttons/clickable/clickable.js +9 -9
- package/dist/features/ui/buttons/clickable/clickable.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button-styled.js.map +1 -1
- package/dist/features/ui/buttons/icon-button/icon-button.js +14 -14
- package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
- package/dist/features/ui/buttons/text-button/text-button-styled.js.map +1 -1
- package/dist/features/ui/buttons/text-button/text-button.js +19 -19
- package/dist/features/ui/buttons/text-button/text-button.js.map +1 -1
- package/dist/features/ui/callout/callout.js +10 -10
- package/dist/features/ui/callout/callout.js.map +1 -1
- package/dist/features/ui/context/context.js.map +1 -1
- package/dist/features/ui/context/use-tracking-context.js +2 -2
- package/dist/features/ui/context/use-tracking-context.js.map +1 -1
- package/dist/features/ui/context-menu/context-menu.js +13 -13
- package/dist/features/ui/context-menu/context-menu.js.map +1 -1
- package/dist/features/ui/error/error.js +11 -11
- package/dist/features/ui/error/error.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-selector-styled.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-selector.js.map +1 -1
- package/dist/features/ui/grade-selector/grade-tab.js.map +1 -1
- package/dist/features/ui/hooks/use-click-handler.js.map +1 -1
- package/dist/features/ui/hooks/use-context-menu-click-handler.js +17 -17
- package/dist/features/ui/hooks/use-context-menu-click-handler.js.map +1 -1
- package/dist/features/ui/hooks/use-response-handler.js.map +1 -1
- package/dist/features/ui/image/image.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-option/select-option.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section-styled.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
- package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js +23 -23
- package/dist/features/ui/inputs/cascading-select-input/cascading-select-input.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input/checkbox-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +20 -20
- package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +16 -16
- package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
- package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js +6 -6
- package/dist/features/ui/inputs/google-places-search-input/google-places-search-input.js.map +1 -1
- package/dist/features/ui/inputs/num-range-input/num-range-input.js +4 -4
- package/dist/features/ui/inputs/num-range-input/num-range-input.js.map +1 -1
- package/dist/features/ui/inputs/percentile-input/percentile-input.js +21 -21
- package/dist/features/ui/inputs/percentile-input/percentile-input.js.map +1 -1
- package/dist/features/ui/inputs/percentile-input/percentile-styled.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-input.js +14 -14
- package/dist/features/ui/inputs/radio-input/radio-input.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option-styled.js.map +1 -1
- package/dist/features/ui/inputs/radio-input/radio-option/radio-option.js.map +1 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/searchable-input/searchable-input.js +3 -3
- package/dist/features/ui/inputs/searchable-input/searchable-input.js.map +1 -1
- package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js +17 -17
- package/dist/features/ui/inputs/searchable-select-input/searchable-select-input.js.map +1 -1
- package/dist/features/ui/inputs/searchable-select-input/use-filtered-options.js.map +1 -1
- package/dist/features/ui/inputs/select-input/select-input.js +3 -3
- package/dist/features/ui/inputs/select-input/select-input.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
- package/dist/features/ui/inputs/text-input/text-input.js +33 -33
- package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
- package/dist/features/ui/layout/flex-view.js +23 -23
- package/dist/features/ui/layout/flex-view.js.map +1 -1
- package/dist/features/ui/loader/app-loader/app-loader.js +3 -3
- package/dist/features/ui/loader/app-loader/app-loader.js.map +1 -1
- package/dist/features/ui/lottie-animation/helper.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/features/ui/nudge/nudge.js +9 -9
- package/dist/features/ui/nudge/nudge.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-helpers.js.map +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits-styled.js +1 -1
- package/dist/features/ui/perfect-hits/perfect-hits.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option-styled.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-card-option/radio-card-option.js.map +1 -1
- package/dist/features/ui/radio-cards/radio-cards.js +15 -15
- package/dist/features/ui/radio-cards/radio-cards.js.map +1 -1
- package/dist/features/ui/section-list/section-list.js +9 -9
- package/dist/features/ui/section-list/section-list.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-card-option/selection-card-option-styled.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-card-option/selection-card-option.js.map +1 -1
- package/dist/features/ui/selection-cards/selection-cards.js +18 -18
- package/dist/features/ui/selection-cards/selection-cards.js.map +1 -1
- package/dist/features/ui/separator/separator.js +6 -6
- package/dist/features/ui/separator/separator.js.map +1 -1
- package/dist/features/ui/stepper/stepper-styled.js.map +1 -1
- package/dist/features/ui/stepper/stepper.js +7 -7
- package/dist/features/ui/stepper/stepper.js.map +1 -1
- package/dist/features/ui/streak-icon/streak-icon.js +14 -14
- package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
- package/dist/features/ui/superscript/superscript.js.map +1 -1
- package/dist/features/ui/tab/tab-styled.js.map +1 -1
- package/dist/features/ui/tab/tab.js +17 -17
- package/dist/features/ui/tab/tab.js.map +1 -1
- package/dist/features/ui/tag/tag-styled.js.map +1 -1
- package/dist/features/ui/tag/tag.js +4 -4
- package/dist/features/ui/tag/tag.js.map +1 -1
- package/dist/features/ui/text/text.js +23 -24
- package/dist/features/ui/text/text.js.map +1 -1
- package/dist/features/ui/theme/arrow-tooltip.js.map +1 -1
- package/dist/features/ui/theme/button.js.map +1 -1
- package/dist/features/ui/theme/checkbox.js.map +1 -1
- package/dist/features/ui/theme/get-theme.js.map +1 -1
- package/dist/features/ui/theme/input.js.map +1 -1
- package/dist/features/ui/theme/layout.js.map +1 -1
- package/dist/features/ui/theme/tab.js.map +1 -1
- package/dist/features/ui/theme/text-button.js.map +1 -1
- package/dist/features/ui/theme/text.js.map +1 -1
- package/dist/features/ui/time-left-timeline/time-left-timeline-styled.js.map +1 -1
- package/dist/features/ui/time-left-timeline/time-left-timeline.js +16 -16
- package/dist/features/ui/time-left-timeline/time-left-timeline.js.map +1 -1
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js +15 -15
- package/dist/features/ui/timers/countdown-timer/countdown-timer.js.map +1 -1
- package/dist/features/ui/video/index.js +3 -3
- package/dist/features/ui/video/index.js.map +1 -1
- package/dist/features/ui/video/styled.js.map +1 -1
- package/dist/features/utils/load-script.js +9 -9
- package/dist/features/utils/load-script.js.map +1 -1
- package/dist/features/utils/utils.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +25 -25
- package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/use-download-script.js.map +1 -1
- package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js +2 -2
- package/dist/features/worksheet/learnosity-preloader/use-is-learnosity-loaded.js.map +1 -1
- package/dist/features/worksheet/user-pointer-pin/hooks/use-user-location.js.map +1 -1
- package/dist/features/worksheet/user-pointer-pin/user-pin.js.map +1 -1
- package/dist/features/worksheet/worksheet/constants.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-get-active-question-id.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity-append.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-learnosity.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-s3-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-time-on-questions.js.map +1 -1
- package/dist/features/worksheet/worksheet/hooks/use-worksheet-data-helper.js.map +1 -1
- package/dist/features/worksheet/worksheet/question-tips.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-intervention.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review-available.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/exit-ticket-student-submission.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-assignment.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/blockers/optional-items-skip.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-blocker/worksheet-blocker.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-container.js +17 -17
- package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-helpers.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-navigation/worksheet-item-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-item-number/worksheet-item-number.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +2 -2
- package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/error.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-permissions/sheet-locked.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header-tags.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/header.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/header/validated-animation.js.map +1 -1
- 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.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-feedback.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-review.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/system-intros/advanced-practice-intro.js.map +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/exit-ticket-intro.js.map +1 -1
- 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.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-questions-summary/worksheet-questions-summary.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-styled.js +4 -4
- package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary/worksheet-summary.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
- package/dist/features/worksheet/worksheet/worksheet.js +5 -5
- package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/api/get-preview-worksheet.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-styled.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +16 -16
- package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
- package/dist/helpers/date-time.js.map +1 -1
- package/dist/helpers/get-device-details.js.map +1 -1
- package/dist/helpers/label-text.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +481 -481
- package/dist/node_modules/@cuemath/analytics-v2/dist/constants.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/formatters.js +0 -2
- package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
- package/dist/node_modules/date-fns/addDays.js.map +1 -1
- package/dist/node_modules/date-fns/addMonths.js.map +1 -1
- package/dist/node_modules/date-fns/constructNow.js.map +1 -1
- package/dist/node_modules/date-fns/eachMonthOfInterval.js.map +1 -1
- package/dist/node_modules/date-fns/format.js.map +1 -1
- package/dist/node_modules/date-fns/getDefaultOptions.js.map +1 -1
- package/dist/node_modules/date-fns/getISODay.js.map +1 -1
- package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/isAfter.js.map +1 -1
- package/dist/node_modules/date-fns/lastDayOfMonth.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/Setter.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/AMPMParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DateParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/EraParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISODayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MinuteParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/MonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/QuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/SecondParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/parsers/YearParser.js.map +1 -1
- package/dist/node_modules/date-fns/parse/_lib/utils.js.map +1 -1
- package/dist/node_modules/date-fns/parse.js.map +1 -1
- package/dist/node_modules/date-fns/setDay.js.map +1 -1
- package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/transpose.js.map +1 -1
- package/dist/node_modules/fast-equals/dist/esm/index.js +174 -133
- package/dist/node_modules/fast-equals/dist/esm/index.js.map +1 -1
- package/dist/node_modules/filter-obj/index.js.map +1 -1
- package/dist/node_modules/humanize-plus/dist/humanize.js.map +1 -1
- package/dist/node_modules/lodash.debounce/index.js.map +1 -1
- package/dist/node_modules/lodash.isequal/index.js +1 -1
- package/dist/node_modules/lodash.isequal/index.js.map +1 -1
- package/dist/node_modules/lodash.throttle/index.js.map +1 -1
- package/dist/node_modules/query-string/base.js.map +1 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -1
- package/dist/node_modules/split-on-first/index.js.map +1 -1
- package/dist/node_modules/ua-parser-js/src/ua-parser.js +3 -3
- package/dist/node_modules/ua-parser-js/src/ua-parser.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"reason-submit-modal.js","sources":["../../../../../../src/features/milestone/outcome/comps/achievement/reason-submit-modal.tsx"],"sourcesContent":["import type { IShareInstructionModalProps } from './achievement-types';\n\nimport React, { memo, useMemo, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { usePatchMilestoneAchievement } from '../../api/milestone-achievement';\nimport * as Styled from '../../milestone-outcome-styled';\nimport { ACHIEVEMENT_ACTIONS, generateAchievementNotShareOptions } from './achievement-constants';\n\nconst ReasonSubmitModal: React.FC<IShareInstructionModalProps> = memo(\n ({ milestoneAchievementId, studentName, onSubmit, onError }) => {\n const [selectedReason, setSelectedReason] = useState<string>();\n const [customReason, setCustomReason] = useState<string>();\n const onAcknowledge = (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage ?? 'Oops! Something went wrong. Please try again in sometime.');\n } else {\n onSubmit();\n }\n };\n\n const { patch: rejectMilestoneAchievement, isProcessing } = usePatchMilestoneAchievement({\n onComplete: onAcknowledge,\n });\n\n const handleOnSubmit = () => {\n const payload = {\n action: ACHIEVEMENT_ACTIONS.REJECTED,\n action_data: {\n asset_rejection_reason_category: selectedReason,\n asset_rejection_custom_reason: customReason,\n },\n };\n\n rejectMilestoneAchievement(milestoneAchievementId, payload);\n };\n const ACHIEVEMENT_NOT_SHARE_OPTIONS = useMemo(\n () => generateAchievementNotShareOptions(studentName),\n [studentName],\n );\n const canSubmit = () => {\n const isDesignIssueSelected = selectedReason === 'design_preference_issue';\n\n return Boolean(selectedReason) && (!isDesignIssueSelected || Boolean(customReason));\n };\n\n return (\n <Styled.ModalWrapper $gutterX={1.5} $gapX={1.5} $flexGapX={3}>\n <FlexView>\n <Text $renderAs=\"h6\" $marginBottomX={0.75}>\n Please give the reason why\n </Text>\n <RadioInput\n options={ACHIEVEMENT_NOT_SHARE_OPTIONS}\n value={selectedReason}\n onChange={setSelectedReason}\n />\n {selectedReason === 'design_preference_issue' && (\n <Styled.StyledTextArea\n onChange={e => setCustomReason(e.target.value)}\n value={customReason}\n />\n )}\n </FlexView>\n <FlexView $flexDirection=\"row\" $justifyContent=\"right\">\n <Button\n renderAs=\"primary\"\n size=\"small\"\n widthX={16}\n label=\"Submit\"\n onClick={handleOnSubmit}\n iconPosition=\"right\"\n disabled={!canSubmit()}\n busy={isProcessing}\n />\n </FlexView>\n </Styled.ModalWrapper>\n );\n },\n);\n\nexport default ReasonSubmitModal;\n"],"names":["ReasonSubmitModal","memo","milestoneAchievementId","studentName","onSubmit","onError","selectedReason","setSelectedReason","useState","customReason","setCustomReason","onAcknowledge","errorMessage","rejectMilestoneAchievement","isProcessing","usePatchMilestoneAchievement","handleOnSubmit","payload","ACHIEVEMENT_ACTIONS","ACHIEVEMENT_NOT_SHARE_OPTIONS","useMemo","generateAchievementNotShareOptions","jsxs","Styled.ModalWrapper","FlexView","jsx","Text","RadioInput","Styled.StyledTextArea","Button"
|
1
|
+
{"version":3,"file":"reason-submit-modal.js","sources":["../../../../../../src/features/milestone/outcome/comps/achievement/reason-submit-modal.tsx"],"sourcesContent":["import type { IShareInstructionModalProps } from './achievement-types';\n\nimport React, { memo, useMemo, useState } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport RadioInput from '../../../../ui/inputs/radio-input/radio-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { usePatchMilestoneAchievement } from '../../api/milestone-achievement';\nimport * as Styled from '../../milestone-outcome-styled';\nimport { ACHIEVEMENT_ACTIONS, generateAchievementNotShareOptions } from './achievement-constants';\n\nconst ReasonSubmitModal: React.FC<IShareInstructionModalProps> = memo(\n ({ milestoneAchievementId, studentName, onSubmit, onError }) => {\n const [selectedReason, setSelectedReason] = useState<string>();\n const [customReason, setCustomReason] = useState<string>();\n const onAcknowledge = (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage ?? 'Oops! Something went wrong. Please try again in sometime.');\n } else {\n onSubmit();\n }\n };\n\n const { patch: rejectMilestoneAchievement, isProcessing } = usePatchMilestoneAchievement({\n onComplete: onAcknowledge,\n });\n\n const handleOnSubmit = () => {\n const payload = {\n action: ACHIEVEMENT_ACTIONS.REJECTED,\n action_data: {\n asset_rejection_reason_category: selectedReason,\n asset_rejection_custom_reason: customReason,\n },\n };\n\n rejectMilestoneAchievement(milestoneAchievementId, payload);\n };\n const ACHIEVEMENT_NOT_SHARE_OPTIONS = useMemo(\n () => generateAchievementNotShareOptions(studentName),\n [studentName],\n );\n const canSubmit = () => {\n const isDesignIssueSelected = selectedReason === 'design_preference_issue';\n\n return Boolean(selectedReason) && (!isDesignIssueSelected || Boolean(customReason));\n };\n\n return (\n <Styled.ModalWrapper $gutterX={1.5} $gapX={1.5} $flexGapX={3}>\n <FlexView>\n <Text $renderAs=\"h6\" $marginBottomX={0.75}>\n Please give the reason why\n </Text>\n <RadioInput\n options={ACHIEVEMENT_NOT_SHARE_OPTIONS}\n value={selectedReason}\n onChange={setSelectedReason}\n />\n {selectedReason === 'design_preference_issue' && (\n <Styled.StyledTextArea\n onChange={e => setCustomReason(e.target.value)}\n value={customReason}\n />\n )}\n </FlexView>\n <FlexView $flexDirection=\"row\" $justifyContent=\"right\">\n <Button\n renderAs=\"primary\"\n size=\"small\"\n widthX={16}\n label=\"Submit\"\n onClick={handleOnSubmit}\n iconPosition=\"right\"\n disabled={!canSubmit()}\n busy={isProcessing}\n />\n </FlexView>\n </Styled.ModalWrapper>\n );\n },\n);\n\nexport default ReasonSubmitModal;\n"],"names":["ReasonSubmitModal","memo","milestoneAchievementId","studentName","onSubmit","onError","selectedReason","setSelectedReason","useState","customReason","setCustomReason","onAcknowledge","errorMessage","rejectMilestoneAchievement","isProcessing","usePatchMilestoneAchievement","handleOnSubmit","payload","ACHIEVEMENT_ACTIONS","ACHIEVEMENT_NOT_SHARE_OPTIONS","useMemo","generateAchievementNotShareOptions","jsxs","Styled.ModalWrapper","FlexView","jsx","Text","RadioInput","Styled.StyledTextArea","Button"],"mappings":";;;;;;;;;AAYA,MAAMA,IAA2DC;AAAA,EAC/D,CAAC,EAAE,wBAAAC,GAAwB,aAAAC,GAAa,UAAAC,GAAU,SAAAC,QAAc;AAC9D,UAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAAiB,GACvD,CAACC,GAAcC,CAAe,IAAIF,EAAiB,GACnDG,IAAgB,CAACC,MAAgC;AACrD,MAAIA,IACFP,EAAQO,KAAgB,2DAA2D,IAE1ER,EAAA;AAAA,IAEb,GAEM,EAAE,OAAOS,GAA4B,cAAAC,EAAA,IAAiBC,EAA6B;AAAA,MACvF,YAAYJ;AAAA,IAAA,CACb,GAEKK,IAAiB,MAAM;AAC3B,YAAMC,IAAU;AAAA,QACd,QAAQC,EAAoB;AAAA,QAC5B,aAAa;AAAA,UACX,iCAAiCZ;AAAA,UACjC,+BAA+BG;AAAA,QAAA;AAAA,MAEnC;AAEA,MAAAI,EAA2BX,GAAwBe,CAAO;AAAA,IAC5D,GACME,IAAgCC;AAAA,MACpC,MAAMC,EAAmClB,CAAW;AAAA,MACpD,CAACA,CAAW;AAAA,IACd;AAQE,WAAA,gBAAAmB,EAACC,GAAA,EAAoB,UAAU,KAAK,OAAO,KAAK,WAAW,GACzD,UAAA;AAAA,MAAA,gBAAAD,EAACE,GACC,EAAA,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,MAAK,gBAAgB,MAAM,UAE3C,8BAAA;AAAA,QACA,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAASR;AAAA,YACT,OAAOb;AAAA,YACP,UAAUC;AAAA,UAAA;AAAA,QACZ;AAAA,QACCD,MAAmB,6BAClB,gBAAAmB;AAAA,UAACG;AAAAA,UAAA;AAAA,YACC,UAAU,CAAA,MAAKlB,EAAgB,EAAE,OAAO,KAAK;AAAA,YAC7C,OAAOD;AAAA,UAAA;AAAA,QAAA;AAAA,MACT,GAEJ;AAAA,MACC,gBAAAgB,EAAAD,GAAA,EAAS,gBAAe,OAAM,iBAAgB,SAC7C,UAAA,gBAAAC;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,MAAK;AAAA,UACL,QAAQ;AAAA,UACR,OAAM;AAAA,UACN,SAASb;AAAA,UACT,cAAa;AAAA,UACb,UAAU,EA7BT,EAAQV,MAAoB,EAFLA,MAAmB,8BAEY,EAAQG;AAAA,UA8B/D,MAAMK;AAAA,QAAA;AAAA,MAAA,EAEV,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAGN;"}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { memo as
|
1
|
+
import { jsxs as f, jsx as o } from "react/jsx-runtime";
|
2
|
+
import { memo as h, useMemo as d } from "react";
|
3
3
|
import u from "../../../../ui/buttons/button/button.js";
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import { usePatchMilestoneAchievement as
|
7
|
-
import { ModalWrapper as
|
8
|
-
import { createAchievementShareInstructionConfig as
|
9
|
-
const
|
10
|
-
({ milestoneAchievementId: n, selectedAssetId: i, studentName:
|
4
|
+
import A from "../../../../ui/layout/flex-view.js";
|
5
|
+
import C from "../../../create/comps/info-points/info-points.js";
|
6
|
+
import { usePatchMilestoneAchievement as S } from "../../api/milestone-achievement.js";
|
7
|
+
import { ModalWrapper as E } from "../../milestone-outcome-styled.js";
|
8
|
+
import { createAchievementShareInstructionConfig as I, ACHIEVEMENT_ACTIONS as g } from "./achievement-constants.js";
|
9
|
+
const b = h(
|
10
|
+
({ milestoneAchievementId: n, selectedAssetId: i, studentName: e, onSubmit: r, onError: s }) => {
|
11
11
|
const a = (t) => {
|
12
12
|
t ? s(t) : r();
|
13
|
-
}, { patch: c, isProcessing: l } =
|
13
|
+
}, { patch: c, isProcessing: l } = S({
|
14
14
|
onComplete: a
|
15
15
|
}), m = () => {
|
16
16
|
const t = {
|
@@ -20,15 +20,15 @@ const x = d(
|
|
20
20
|
}
|
21
21
|
};
|
22
22
|
c(n, t);
|
23
|
-
}, p =
|
24
|
-
() =>
|
25
|
-
[
|
23
|
+
}, p = d(
|
24
|
+
() => I(e),
|
25
|
+
[e]
|
26
26
|
);
|
27
|
-
return /* @__PURE__ */
|
28
|
-
/* @__PURE__ */
|
29
|
-
|
27
|
+
return /* @__PURE__ */ f(E, { $gutterX: 1.5, $gapX: 1.5, $flexGapX: 3, children: [
|
28
|
+
/* @__PURE__ */ o(
|
29
|
+
C,
|
30
30
|
{
|
31
|
-
headerText: `Send snapshot to ${
|
31
|
+
headerText: `Send snapshot to ${e} parent`,
|
32
32
|
loadStatically: !0,
|
33
33
|
config: p,
|
34
34
|
stepNumberOffset: 0,
|
@@ -36,7 +36,7 @@ const x = d(
|
|
36
36
|
}
|
37
37
|
}
|
38
38
|
),
|
39
|
-
/* @__PURE__ */
|
39
|
+
/* @__PURE__ */ o(A, { $flexDirection: "row", $justifyContent: "right", children: /* @__PURE__ */ o(
|
40
40
|
u,
|
41
41
|
{
|
42
42
|
renderAs: "primary",
|
@@ -50,8 +50,8 @@ const x = d(
|
|
50
50
|
) })
|
51
51
|
] });
|
52
52
|
}
|
53
|
-
)
|
53
|
+
);
|
54
54
|
export {
|
55
|
-
|
55
|
+
b as default
|
56
56
|
};
|
57
57
|
//# sourceMappingURL=share-instructions-modal.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"share-instructions-modal.js","sources":["../../../../../../src/features/milestone/outcome/comps/achievement/share-instructions-modal.tsx"],"sourcesContent":["import type { IShareInstructionModalProps } from './achievement-types';\n\nimport React, { memo, useMemo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport InfoPoints from '../../../create/comps/info-points/info-points';\nimport { usePatchMilestoneAchievement } from '../../api/milestone-achievement';\nimport * as Styled from '../../milestone-outcome-styled';\nimport {\n ACHIEVEMENT_ACTIONS,\n createAchievementShareInstructionConfig,\n} from './achievement-constants';\n\nconst ShareInstructionModal: React.FC<IShareInstructionModalProps> = memo(\n ({ milestoneAchievementId, selectedAssetId, studentName, onSubmit, onError }) => {\n const onAcknowledge = (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n onSubmit();\n }\n };\n\n const { patch: shareMilestoneAchievement, isProcessing } = usePatchMilestoneAchievement({\n onComplete: onAcknowledge,\n });\n const handleOnSubmit = () => {\n const payload = {\n action: ACHIEVEMENT_ACTIONS.SHARED,\n action_data: {\n selected_asset_id: selectedAssetId,\n },\n };\n\n shareMilestoneAchievement(milestoneAchievementId, payload);\n };\n const ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG = useMemo(\n () => createAchievementShareInstructionConfig(studentName),\n [studentName],\n );\n\n return (\n <Styled.ModalWrapper $gutterX={1.5} $gapX={1.5} $flexGapX={3}>\n <InfoPoints\n headerText={`Send snapshot to ${studentName} parent`}\n loadStatically={true}\n config={ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG}\n stepNumberOffset={0}\n handleTransitionEnd={() => {}}\n />\n <FlexView $flexDirection=\"row\" $justifyContent=\"right\">\n <Button\n renderAs=\"primary\"\n size=\"small\"\n widthX={16}\n label=\"Send to Cuechat\"\n onClick={handleOnSubmit}\n iconPosition=\"right\"\n busy={isProcessing}\n />\n </FlexView>\n </Styled.ModalWrapper>\n );\n },\n);\n\nexport default ShareInstructionModal;\n"],"names":["ShareInstructionModal","memo","milestoneAchievementId","selectedAssetId","studentName","onSubmit","onError","onAcknowledge","errorMessage","shareMilestoneAchievement","isProcessing","usePatchMilestoneAchievement","handleOnSubmit","payload","ACHIEVEMENT_ACTIONS","ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG","useMemo","createAchievementShareInstructionConfig","jsxs","Styled.ModalWrapper","jsx","InfoPoints","FlexView","Button"
|
1
|
+
{"version":3,"file":"share-instructions-modal.js","sources":["../../../../../../src/features/milestone/outcome/comps/achievement/share-instructions-modal.tsx"],"sourcesContent":["import type { IShareInstructionModalProps } from './achievement-types';\n\nimport React, { memo, useMemo } from 'react';\n\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport InfoPoints from '../../../create/comps/info-points/info-points';\nimport { usePatchMilestoneAchievement } from '../../api/milestone-achievement';\nimport * as Styled from '../../milestone-outcome-styled';\nimport {\n ACHIEVEMENT_ACTIONS,\n createAchievementShareInstructionConfig,\n} from './achievement-constants';\n\nconst ShareInstructionModal: React.FC<IShareInstructionModalProps> = memo(\n ({ milestoneAchievementId, selectedAssetId, studentName, onSubmit, onError }) => {\n const onAcknowledge = (errorMessage: string | null) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n onSubmit();\n }\n };\n\n const { patch: shareMilestoneAchievement, isProcessing } = usePatchMilestoneAchievement({\n onComplete: onAcknowledge,\n });\n const handleOnSubmit = () => {\n const payload = {\n action: ACHIEVEMENT_ACTIONS.SHARED,\n action_data: {\n selected_asset_id: selectedAssetId,\n },\n };\n\n shareMilestoneAchievement(milestoneAchievementId, payload);\n };\n const ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG = useMemo(\n () => createAchievementShareInstructionConfig(studentName),\n [studentName],\n );\n\n return (\n <Styled.ModalWrapper $gutterX={1.5} $gapX={1.5} $flexGapX={3}>\n <InfoPoints\n headerText={`Send snapshot to ${studentName} parent`}\n loadStatically={true}\n config={ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG}\n stepNumberOffset={0}\n handleTransitionEnd={() => {}}\n />\n <FlexView $flexDirection=\"row\" $justifyContent=\"right\">\n <Button\n renderAs=\"primary\"\n size=\"small\"\n widthX={16}\n label=\"Send to Cuechat\"\n onClick={handleOnSubmit}\n iconPosition=\"right\"\n busy={isProcessing}\n />\n </FlexView>\n </Styled.ModalWrapper>\n );\n },\n);\n\nexport default ShareInstructionModal;\n"],"names":["ShareInstructionModal","memo","milestoneAchievementId","selectedAssetId","studentName","onSubmit","onError","onAcknowledge","errorMessage","shareMilestoneAchievement","isProcessing","usePatchMilestoneAchievement","handleOnSubmit","payload","ACHIEVEMENT_ACTIONS","ACHIEVEMENT_SHARE_INSTRUCTION_CONFIG","useMemo","createAchievementShareInstructionConfig","jsxs","Styled.ModalWrapper","jsx","InfoPoints","FlexView","Button"],"mappings":";;;;;;;;AAcA,MAAMA,IAA+DC;AAAA,EACnE,CAAC,EAAE,wBAAAC,GAAwB,iBAAAC,GAAiB,aAAAC,GAAa,UAAAC,GAAU,SAAAC,QAAc;AACzE,UAAAC,IAAgB,CAACC,MAAgC;AACrD,MAAIA,IACFF,EAAQE,CAAY,IAEXH,EAAA;AAAA,IAEb,GAEM,EAAE,OAAOI,GAA2B,cAAAC,EAAA,IAAiBC,EAA6B;AAAA,MACtF,YAAYJ;AAAA,IAAA,CACb,GACKK,IAAiB,MAAM;AAC3B,YAAMC,IAAU;AAAA,QACd,QAAQC,EAAoB;AAAA,QAC5B,aAAa;AAAA,UACX,mBAAmBX;AAAA,QAAA;AAAA,MAEvB;AAEA,MAAAM,EAA0BP,GAAwBW,CAAO;AAAA,IAC3D,GACME,IAAuCC;AAAA,MAC3C,MAAMC,EAAwCb,CAAW;AAAA,MACzD,CAACA,CAAW;AAAA,IACd;AAGE,WAAA,gBAAAc,EAACC,GAAA,EAAoB,UAAU,KAAK,OAAO,KAAK,WAAW,GACzD,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,YAAY,oBAAoBjB,CAAW;AAAA,UAC3C,gBAAgB;AAAA,UAChB,QAAQW;AAAA,UACR,kBAAkB;AAAA,UAClB,qBAAqB,MAAM;AAAA,UAAA;AAAA,QAAC;AAAA,MAC9B;AAAA,MACC,gBAAAK,EAAAE,GAAA,EAAS,gBAAe,OAAM,iBAAgB,SAC7C,UAAA,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,MAAK;AAAA,UACL,QAAQ;AAAA,UACR,OAAM;AAAA,UACN,SAASX;AAAA,UACT,cAAa;AAAA,UACb,MAAMF;AAAA,QAAA;AAAA,MAAA,EAEV,CAAA;AAAA,IAAA,GACF;AAAA,EAAA;AAGN;"}
|
package/dist/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dynamic-input-handler.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.tsx"],"sourcesContent":["import type {\n IFormDynamicGroupedInputProps,\n IGetAvailableOptions,\n} from './outcome-form/outcome-form-types';\n\nimport React, { useMemo } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport Button from '../../../../ui/buttons/button/button';\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport InputHandler from './input-handler';\nimport { DynamicInputWrapper } from './outcome-styled';\n\nconst FormDynamicInputHandler: React.FC<IFormDynamicGroupedInputProps> = ({\n formData,\n handleFormDataChange,\n configMap,\n additionalSchemes,\n setAdditionalSchemes,\n inputFieldsArray,\n onInputRemove,\n}) => {\n const canAddMore = useMemo(() => {\n if (additionalSchemes.length === 0) {\n return true;\n }\n\n const lastScheme = additionalSchemes[additionalSchemes.length - 1];\n\n if (!lastScheme || lastScheme.type === '') {\n // Don't allow adding if the last field is not filled\n return false;\n }\n\n const fieldIds = new Set(inputFieldsArray.map(option => option.id));\n const usedFieldIds = new Set(additionalSchemes.map(scheme => scheme.type));\n\n return Array.from(fieldIds).some(id => !usedFieldIds.has(id));\n }, [additionalSchemes, inputFieldsArray]);\n\n const handleAdditionalSchemeChange = (index: number, value: string) => {\n const updatedSchemes = additionalSchemes.map((scheme, idx) => {\n if (idx === index) {\n return { ...scheme, type: value };\n }\n\n return scheme;\n });\n\n setAdditionalSchemes(updatedSchemes);\n };\n\n const getAvailableOptions: IGetAvailableOptions = selectedType => {\n const selectedTypes = new Set(additionalSchemes.map(scheme => scheme.type));\n\n return inputFieldsArray.filter(\n option => !selectedTypes.has(option.id) || option.id === selectedType,\n );\n };\n\n const addAdditionalScheme = () => {\n setAdditionalSchemes([...additionalSchemes, { type: '', value: null }]);\n };\n const removeAdditionalScheme = (index: number) => {\n const fieldToRemove = additionalSchemes[index];\n\n if (fieldToRemove) {\n onInputRemove(fieldToRemove.type);\n }\n\n const updatedSchemes = additionalSchemes.filter((_, idx) => idx !== index);\n\n setAdditionalSchemes(updatedSchemes);\n };\n\n return (\n <>\n {additionalSchemes.length > 0 &&\n additionalSchemes.map((scheme, index) => {\n const schemeConfig = configMap[scheme.type];\n\n return (\n <DynamicInputWrapper key={scheme.type} $flexDirection=\"column\" $marginBottomX={1}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <SelectInput\n renderAs=\"primary\"\n options={getAvailableOptions(scheme.type)}\n widthX={24}\n label=\"Select Type\"\n value={scheme.type || ''}\n onChange={value => handleAdditionalSchemeChange(index, value)}\n />\n <TextButton label=\"Remove\" onClick={() => removeAdditionalScheme(index)} />\n </FlexView>\n {schemeConfig && (\n <InputHandler\n inputId={scheme.type}\n formData={formData}\n handleFormDataChange={handleFormDataChange}\n schemeConfig={schemeConfig}\n showHidden\n />\n )}\n </DynamicInputWrapper>\n );\n })}\n {canAddMore && (\n <Button\n renderAs=\"secondary\"\n size=\"small\"\n widthX={16}\n label=\"Add Another\"\n onClick={addAdditionalScheme}\n Icon={PlusIcon}\n iconPosition=\"left\"\n />\n )}\n </>\n );\n};\n\nexport default FormDynamicInputHandler;\n"],"names":["FormDynamicInputHandler","formData","handleFormDataChange","configMap","additionalSchemes","setAdditionalSchemes","inputFieldsArray","onInputRemove","canAddMore","useMemo","lastScheme","fieldIds","option","usedFieldIds","scheme","id","handleAdditionalSchemeChange","index","value","updatedSchemes","idx","getAvailableOptions","selectedType","selectedTypes","addAdditionalScheme","removeAdditionalScheme","fieldToRemove","_","jsxs","Fragment","schemeConfig","DynamicInputWrapper","FlexView","jsx","SelectInput","TextButton","InputHandler","Button","PlusIcon"],"mappings":";;;;;;;;;AAeA,MAAMA,IAAmE,CAAC;AAAA,EACxE,UAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACE,QAAAC,IAAaC,EAAQ,MAAM;AAC3B,QAAAL,EAAkB,WAAW;AACxB,aAAA;AAGT,UAAMM,IAAaN,EAAkBA,EAAkB,SAAS,CAAC;AAEjE,QAAI,CAACM,KAAcA,EAAW,SAAS;AAE9B,aAAA;AAGH,UAAAC,IAAW,IAAI,IAAIL,EAAiB,IAAI,CAAUM,MAAAA,EAAO,EAAE,CAAC,GAC5DC,IAAe,IAAI,IAAIT,EAAkB,IAAI,CAAUU,MAAAA,EAAO,IAAI,CAAC;AAElE,WAAA,MAAM,KAAKH,CAAQ,EAAE,KAAK,OAAM,CAACE,EAAa,IAAIE,CAAE,CAAC;AAAA,EAAA,GAC3D,CAACX,GAAmBE,CAAgB,CAAC,GAElCU,IAA+B,CAACC,GAAeC,MAAkB;AACrE,UAAMC,IAAiBf,EAAkB,IAAI,CAACU,GAAQM,MAChDA,MAAQH,IACH,EAAE,GAAGH,GAAQ,MAAMI,EAAM,IAG3BJ,CACR;AAED,IAAAT,EAAqBc,CAAc;AAAA,
|
1
|
+
{"version":3,"file":"dynamic-input-handler.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/dynamic-input-handler.tsx"],"sourcesContent":["import type {\n IFormDynamicGroupedInputProps,\n IGetAvailableOptions,\n} from './outcome-form/outcome-form-types';\n\nimport React, { useMemo } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\nimport Button from '../../../../ui/buttons/button/button';\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport InputHandler from './input-handler';\nimport { DynamicInputWrapper } from './outcome-styled';\n\nconst FormDynamicInputHandler: React.FC<IFormDynamicGroupedInputProps> = ({\n formData,\n handleFormDataChange,\n configMap,\n additionalSchemes,\n setAdditionalSchemes,\n inputFieldsArray,\n onInputRemove,\n}) => {\n const canAddMore = useMemo(() => {\n if (additionalSchemes.length === 0) {\n return true;\n }\n\n const lastScheme = additionalSchemes[additionalSchemes.length - 1];\n\n if (!lastScheme || lastScheme.type === '') {\n // Don't allow adding if the last field is not filled\n return false;\n }\n\n const fieldIds = new Set(inputFieldsArray.map(option => option.id));\n const usedFieldIds = new Set(additionalSchemes.map(scheme => scheme.type));\n\n return Array.from(fieldIds).some(id => !usedFieldIds.has(id));\n }, [additionalSchemes, inputFieldsArray]);\n\n const handleAdditionalSchemeChange = (index: number, value: string) => {\n const updatedSchemes = additionalSchemes.map((scheme, idx) => {\n if (idx === index) {\n return { ...scheme, type: value };\n }\n\n return scheme;\n });\n\n setAdditionalSchemes(updatedSchemes);\n };\n\n const getAvailableOptions: IGetAvailableOptions = selectedType => {\n const selectedTypes = new Set(additionalSchemes.map(scheme => scheme.type));\n\n return inputFieldsArray.filter(\n option => !selectedTypes.has(option.id) || option.id === selectedType,\n );\n };\n\n const addAdditionalScheme = () => {\n setAdditionalSchemes([...additionalSchemes, { type: '', value: null }]);\n };\n const removeAdditionalScheme = (index: number) => {\n const fieldToRemove = additionalSchemes[index];\n\n if (fieldToRemove) {\n onInputRemove(fieldToRemove.type);\n }\n\n const updatedSchemes = additionalSchemes.filter((_, idx) => idx !== index);\n\n setAdditionalSchemes(updatedSchemes);\n };\n\n return (\n <>\n {additionalSchemes.length > 0 &&\n additionalSchemes.map((scheme, index) => {\n const schemeConfig = configMap[scheme.type];\n\n return (\n <DynamicInputWrapper key={scheme.type} $flexDirection=\"column\" $marginBottomX={1}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"space-between\">\n <SelectInput\n renderAs=\"primary\"\n options={getAvailableOptions(scheme.type)}\n widthX={24}\n label=\"Select Type\"\n value={scheme.type || ''}\n onChange={value => handleAdditionalSchemeChange(index, value)}\n />\n <TextButton label=\"Remove\" onClick={() => removeAdditionalScheme(index)} />\n </FlexView>\n {schemeConfig && (\n <InputHandler\n inputId={scheme.type}\n formData={formData}\n handleFormDataChange={handleFormDataChange}\n schemeConfig={schemeConfig}\n showHidden\n />\n )}\n </DynamicInputWrapper>\n );\n })}\n {canAddMore && (\n <Button\n renderAs=\"secondary\"\n size=\"small\"\n widthX={16}\n label=\"Add Another\"\n onClick={addAdditionalScheme}\n Icon={PlusIcon}\n iconPosition=\"left\"\n />\n )}\n </>\n );\n};\n\nexport default FormDynamicInputHandler;\n"],"names":["FormDynamicInputHandler","formData","handleFormDataChange","configMap","additionalSchemes","setAdditionalSchemes","inputFieldsArray","onInputRemove","canAddMore","useMemo","lastScheme","fieldIds","option","usedFieldIds","scheme","id","handleAdditionalSchemeChange","index","value","updatedSchemes","idx","getAvailableOptions","selectedType","selectedTypes","addAdditionalScheme","removeAdditionalScheme","fieldToRemove","_","jsxs","Fragment","schemeConfig","DynamicInputWrapper","FlexView","jsx","SelectInput","TextButton","InputHandler","Button","PlusIcon"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input-descriptor.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/input-descriptor.tsx"],"sourcesContent":["import React from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ntype RenderInputDescriptionProps = {\n index: number | null;\n question: string;\n description?: string | null;\n};\n\nconst InputDescription: React.FC<RenderInputDescriptionProps> = ({\n index,\n question,\n description,\n}) => {\n return (\n <>\n <Text $renderAs=\"body1\" $marginBottomX={0.5}>\n {index ? `${index}. ${question}` : question}\n </Text>\n {description && (\n <Text $renderAs=\"body2\" $color=\"BLACK_75\" $marginBottomX={0.5}>\n {description}\n </Text>\n )}\n </>\n );\n};\n\nexport default InputDescription;\n"],"names":["InputDescription","index","question","description","jsxs","Fragment","jsx","Text"],"mappings":";;AAUA,MAAMA,IAA0D,CAAC;AAAA,EAC/D,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAGM,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,SAAQ,gBAAgB,KACrC,UAAQN,IAAA,GAAGA,CAAK,KAAKC,CAAQ,KAAKA,GACrC;AAAA,EACCC,uBACEI,GAAK,EAAA,WAAU,SAAQ,QAAO,YAAW,gBAAgB,KACvD,UACHJ,EAAA,CAAA;
|
1
|
+
{"version":3,"file":"input-descriptor.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/input-descriptor.tsx"],"sourcesContent":["import React from 'react';\n\nimport Text from '../../../../ui/text/text';\n\ntype RenderInputDescriptionProps = {\n index: number | null;\n question: string;\n description?: string | null;\n};\n\nconst InputDescription: React.FC<RenderInputDescriptionProps> = ({\n index,\n question,\n description,\n}) => {\n return (\n <>\n <Text $renderAs=\"body1\" $marginBottomX={0.5}>\n {index ? `${index}. ${question}` : question}\n </Text>\n {description && (\n <Text $renderAs=\"body2\" $color=\"BLACK_75\" $marginBottomX={0.5}>\n {description}\n </Text>\n )}\n </>\n );\n};\n\nexport default InputDescription;\n"],"names":["InputDescription","index","question","description","jsxs","Fragment","jsx","Text"],"mappings":";;AAUA,MAAMA,IAA0D,CAAC;AAAA,EAC/D,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAGM,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,SAAQ,gBAAgB,KACrC,UAAQN,IAAA,GAAGA,CAAK,KAAKC,CAAQ,KAAKA,GACrC;AAAA,EACCC,uBACEI,GAAK,EAAA,WAAU,SAAQ,QAAO,YAAW,gBAAgB,KACvD,UACHJ,EAAA,CAAA;AAAA,GAEJ;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"input-handler.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/input-handler.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IOnFormDataChange,\n IOutcomeConfig,\n} from '../../milestone-outcome-types';\n\nimport React from 'react';\n\nimport CascadingSelectInput from '../../../../ui/inputs/cascading-select-input/cascading-select-input';\nimport NumRangeInput from '../../../../ui/inputs/num-range-input/num-range-input';\nimport PercentileInput from '../../../../ui/inputs/percentile-input/percentile-input';\nimport TextInput from '../../../../ui/inputs/text-input/text-input';\nimport {\n getDropdownOptions,\n parseNestedSelect,\n parseNumRangeValue,\n} from './outcome-form/outcome-form-helpers';\nimport RankInputs from './rank-inputs';\nimport NumInputWithVariant from './score-marks-input';\n\ninterface FormInputProps {\n inputId: string;\n formData: IMileStoneOutcomeFormFields;\n handleFormDataChange: IOnFormDataChange;\n schemeConfig: IOutcomeConfig;\n showHidden?: boolean;\n}\n\nconst InputHandler: React.FC<FormInputProps> = ({\n inputId,\n formData,\n handleFormDataChange,\n schemeConfig,\n showHidden = false,\n}) => {\n if (!schemeConfig) return null;\n\n const { input_type: inputType, hidden, validation, placeholder = {}, variants } = schemeConfig;\n\n if (hidden && !showHidden) return null;\n\n const inputValue = formData[inputId];\n\n switch (inputType) {\n case 'nested_select': {\n const dropdownOptions = getDropdownOptions(variants);\n\n return (\n <CascadingSelectInput\n options={dropdownOptions}\n value={parseNestedSelect(inputValue)}\n onChange={value => handleFormDataChange({ [inputId]: value })}\n detailPlaceholder=\"Select level\"\n />\n );\n }\n case 'num_range': {\n if (variants.length > 0) {\n return (\n <NumInputWithVariant\n onChange={value => handleFormDataChange({ [inputId]: value })}\n updateVariant={variantVal => handleFormDataChange({ input_variant: variantVal })}\n value={inputValue}\n validation={validation}\n placeholder={placeholder}\n variants={variants}\n />\n );\n }\n\n return (\n <NumRangeInput\n onChange={value => handleFormDataChange({ [inputId]: value })}\n value={parseNumRangeValue(inputValue)}\n middleMax={validation?.max}\n endMax={validation?.max}\n middlePlaceholder={placeholder && placeholder.marks}\n endPlaceholder={placeholder && placeholder.maxMarks}\n />\n );\n }\n case 'percentile':\n return (\n <PercentileInput\n renderAs=\"primary\"\n label={placeholder.text}\n min={validation?.min}\n max={validation?.max}\n value={inputValue as string}\n widthX={4}\n size=\"regular\"\n onChange={e => handleFormDataChange({ [inputId]: e.target.value })}\n />\n );\n case 'text':\n return (\n <TextInput\n type=\"text\"\n renderAs=\"primary\"\n label={placeholder.text}\n value={inputValue as string}\n onChange={e => handleFormDataChange({ [inputId]: e.target.value })}\n />\n );\n\n case 'ranks':\n return (\n <RankInputs\n rankTypes={variants}\n onChange={value => handleFormDataChange({ [inputId]: value })}\n value={inputValue as Record<string, string>}\n validation={validation}\n />\n );\n\n default:\n return null;\n }\n};\n\nexport default InputHandler;\n"],"names":["InputHandler","inputId","formData","handleFormDataChange","schemeConfig","showHidden","inputType","hidden","validation","placeholder","variants","inputValue","dropdownOptions","getDropdownOptions","jsx","CascadingSelectInput","parseNestedSelect","value","NumInputWithVariant","variantVal","NumRangeInput","parseNumRangeValue","PercentileInput","e","TextInput","RankInputs"],"mappings":";;;;;;;;AA4BA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC,IAAa;AACf,MAAM;AACA,MAAA,CAACD,EAAqB,QAAA;AAEpB,QAAA,EAAE,YAAYE,GAAW,QAAAC,GAAQ,YAAAC,GAAY,aAAAC,IAAc,
|
1
|
+
{"version":3,"file":"input-handler.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/input-handler.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IOnFormDataChange,\n IOutcomeConfig,\n} from '../../milestone-outcome-types';\n\nimport React from 'react';\n\nimport CascadingSelectInput from '../../../../ui/inputs/cascading-select-input/cascading-select-input';\nimport NumRangeInput from '../../../../ui/inputs/num-range-input/num-range-input';\nimport PercentileInput from '../../../../ui/inputs/percentile-input/percentile-input';\nimport TextInput from '../../../../ui/inputs/text-input/text-input';\nimport {\n getDropdownOptions,\n parseNestedSelect,\n parseNumRangeValue,\n} from './outcome-form/outcome-form-helpers';\nimport RankInputs from './rank-inputs';\nimport NumInputWithVariant from './score-marks-input';\n\ninterface FormInputProps {\n inputId: string;\n formData: IMileStoneOutcomeFormFields;\n handleFormDataChange: IOnFormDataChange;\n schemeConfig: IOutcomeConfig;\n showHidden?: boolean;\n}\n\nconst InputHandler: React.FC<FormInputProps> = ({\n inputId,\n formData,\n handleFormDataChange,\n schemeConfig,\n showHidden = false,\n}) => {\n if (!schemeConfig) return null;\n\n const { input_type: inputType, hidden, validation, placeholder = {}, variants } = schemeConfig;\n\n if (hidden && !showHidden) return null;\n\n const inputValue = formData[inputId];\n\n switch (inputType) {\n case 'nested_select': {\n const dropdownOptions = getDropdownOptions(variants);\n\n return (\n <CascadingSelectInput\n options={dropdownOptions}\n value={parseNestedSelect(inputValue)}\n onChange={value => handleFormDataChange({ [inputId]: value })}\n detailPlaceholder=\"Select level\"\n />\n );\n }\n case 'num_range': {\n if (variants.length > 0) {\n return (\n <NumInputWithVariant\n onChange={value => handleFormDataChange({ [inputId]: value })}\n updateVariant={variantVal => handleFormDataChange({ input_variant: variantVal })}\n value={inputValue}\n validation={validation}\n placeholder={placeholder}\n variants={variants}\n />\n );\n }\n\n return (\n <NumRangeInput\n onChange={value => handleFormDataChange({ [inputId]: value })}\n value={parseNumRangeValue(inputValue)}\n middleMax={validation?.max}\n endMax={validation?.max}\n middlePlaceholder={placeholder && placeholder.marks}\n endPlaceholder={placeholder && placeholder.maxMarks}\n />\n );\n }\n case 'percentile':\n return (\n <PercentileInput\n renderAs=\"primary\"\n label={placeholder.text}\n min={validation?.min}\n max={validation?.max}\n value={inputValue as string}\n widthX={4}\n size=\"regular\"\n onChange={e => handleFormDataChange({ [inputId]: e.target.value })}\n />\n );\n case 'text':\n return (\n <TextInput\n type=\"text\"\n renderAs=\"primary\"\n label={placeholder.text}\n value={inputValue as string}\n onChange={e => handleFormDataChange({ [inputId]: e.target.value })}\n />\n );\n\n case 'ranks':\n return (\n <RankInputs\n rankTypes={variants}\n onChange={value => handleFormDataChange({ [inputId]: value })}\n value={inputValue as Record<string, string>}\n validation={validation}\n />\n );\n\n default:\n return null;\n }\n};\n\nexport default InputHandler;\n"],"names":["InputHandler","inputId","formData","handleFormDataChange","schemeConfig","showHidden","inputType","hidden","validation","placeholder","variants","inputValue","dropdownOptions","getDropdownOptions","jsx","CascadingSelectInput","parseNestedSelect","value","NumInputWithVariant","variantVal","NumRangeInput","parseNumRangeValue","PercentileInput","e","TextInput","RankInputs"],"mappings":";;;;;;;;AA4BA,MAAMA,IAAyC,CAAC;AAAA,EAC9C,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC,IAAa;AACf,MAAM;AACA,MAAA,CAACD,EAAqB,QAAA;AAEpB,QAAA,EAAE,YAAYE,GAAW,QAAAC,GAAQ,YAAAC,GAAY,aAAAC,IAAc,CAAA,GAAI,UAAAC,EAAA,IAAaN;AAE9E,MAAAG,KAAU,CAACF,EAAmB,QAAA;AAE5B,QAAAM,IAAaT,EAASD,CAAO;AAEnC,UAAQK,GAAW;AAAA,IACjB,KAAK,iBAAiB;AACd,YAAAM,IAAkBC,EAAmBH,CAAQ;AAGjD,aAAA,gBAAAI;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,SAASH;AAAA,UACT,OAAOI,EAAkBL,CAAU;AAAA,UACnC,UAAU,OAASR,EAAqB,EAAE,CAACF,CAAO,GAAGgB,GAAO;AAAA,UAC5D,mBAAkB;AAAA,QAAA;AAAA,MACpB;AAAA,IAAA;AAAA,IAGJ,KAAK;AACC,aAAAP,EAAS,SAAS,IAElB,gBAAAI;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,UAAU,OAASf,EAAqB,EAAE,CAACF,CAAO,GAAGgB,GAAO;AAAA,UAC5D,eAAe,CAAcE,MAAAhB,EAAqB,EAAE,eAAegB,GAAY;AAAA,UAC/E,OAAOR;AAAA,UACP,YAAAH;AAAA,UACA,aAAAC;AAAA,UACA,UAAAC;AAAA,QAAA;AAAA,MACF,IAKF,gBAAAI;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,UAAU,OAASjB,EAAqB,EAAE,CAACF,CAAO,GAAGgB,GAAO;AAAA,UAC5D,OAAOI,EAAmBV,CAAU;AAAA,UACpC,WAAWH,KAAA,gBAAAA,EAAY;AAAA,UACvB,QAAQA,KAAA,gBAAAA,EAAY;AAAA,UACpB,mBAAmBC,KAAeA,EAAY;AAAA,UAC9C,gBAAgBA,KAAeA,EAAY;AAAA,QAAA;AAAA,MAC7C;AAAA,IAGJ,KAAK;AAED,aAAA,gBAAAK;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,OAAOb,EAAY;AAAA,UACnB,KAAKD,KAAA,gBAAAA,EAAY;AAAA,UACjB,KAAKA,KAAA,gBAAAA,EAAY;AAAA,UACjB,OAAOG;AAAA,UACP,QAAQ;AAAA,UACR,MAAK;AAAA,UACL,UAAU,CAAKY,MAAApB,EAAqB,EAAE,CAACF,CAAO,GAAGsB,EAAE,OAAO,MAAO,CAAA;AAAA,QAAA;AAAA,MACnE;AAAA,IAEJ,KAAK;AAED,aAAA,gBAAAT;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,UAAS;AAAA,UACT,OAAOf,EAAY;AAAA,UACnB,OAAOE;AAAA,UACP,UAAU,CAAKY,MAAApB,EAAqB,EAAE,CAACF,CAAO,GAAGsB,EAAE,OAAO,MAAO,CAAA;AAAA,QAAA;AAAA,MACnE;AAAA,IAGJ,KAAK;AAED,aAAA,gBAAAT;AAAA,QAACW;AAAA,QAAA;AAAA,UACC,WAAWf;AAAA,UACX,UAAU,OAASP,EAAqB,EAAE,CAACF,CAAO,GAAGgB,GAAO;AAAA,UAC5D,OAAON;AAAA,UACP,YAAAH;AAAA,QAAA;AAAA,MACF;AAAA,IAGJ;AACS,aAAA;AAAA,EAAA;AAEb;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"milestone-outcome-collection-container.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IOnFormDataChange,\n IMilestoneOutcomeCollectionProps,\n IMilestoneOutcomeResponse,\n} from '../../milestone-outcome-types';\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport NextIcon from '../../../../../assets/line-icons/icons/next';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useCreateMilestoneOutcome } from '../../api/milestone-outcome';\nimport { useGetMilestoneOutcomeConfig } from '../../api/milestone-outcome-config';\nimport { transformFormDataToPayload } from './outcome-collection-helper';\nimport OutcomeForm from './outcome-form/outcome-form';\nimport {\n fieldTypeValidators,\n findVariantIfOverrident,\n getConfigMap,\n} from './outcome-form/outcome-form-helpers';\nimport { BodyContainer, ContentWrapper, FooterWrapper } from './outcome-styled';\n\nconst MilestoneOutcomeCollectionContainer: React.FC<IMilestoneOutcomeCollectionProps> = ({\n milestoneId,\n studentName,\n onSubmit,\n onError,\n}) => {\n const [formData, setFormData] = useState<Partial<IMileStoneOutcomeFormFields>>({});\n const [selectedScheme, setSelectedScheme] = useState('');\n\n const { get: getOutcomeConfig, data: { outcome_config: outcomeConfig } = {} } =\n useGetMilestoneOutcomeConfig();\n\n const configMap = useMemo(\n () => (outcomeConfig ? getConfigMap(outcomeConfig) : undefined),\n [outcomeConfig],\n );\n\n useEffect(() => {\n getOutcomeConfig(milestoneId);\n }, [getOutcomeConfig, milestoneId]);\n\n const handleOnSubmit = (errorMessage: string | null, data?: IMilestoneOutcomeResponse) => {\n errorMessage ? onError(errorMessage) : onSubmit(data);\n };\n const { post: postMilestoneOutcome, isProcessing } = useCreateMilestoneOutcome({\n onComplete: handleOnSubmit,\n });\n\n const handleFormDataChange: IOnFormDataChange = (\n changedFormData,\n fieldsToRemove,\n resetFormData = false,\n ) => {\n if (resetFormData) {\n setFormData({});\n } else {\n setFormData(prevFormData => {\n const newFormData = { ...prevFormData, ...changedFormData };\n\n if (fieldsToRemove && fieldsToRemove.length > 0) {\n fieldsToRemove.forEach(field => {\n delete newFormData[field];\n });\n }\n\n return newFormData;\n });\n }\n };\n\n const { input_variant: schemeVariant } = formData;\n\n const handleSchemaChange = (val: string) => {\n setSelectedScheme(val);\n\n if (schemeVariant && configMap) {\n const overridenInputVariant = findVariantIfOverrident(configMap, schemeVariant);\n\n if (overridenInputVariant) {\n handleFormDataChange({\n input_variant: undefined,\n [overridenInputVariant.id]: undefined,\n });\n }\n }\n };\n\n const isFormValid = useMemo(() => {\n if (!configMap) return false;\n\n const overridenInputVariant = findVariantIfOverrident(configMap, schemeVariant);\n const schemeConfig = overridenInputVariant ?? configMap[selectedScheme];\n\n if (!schemeConfig || !(schemeConfig.id in formData)) return false;\n\n for (const [inputId, value] of Object.entries(formData)) {\n const inputConfig = configMap[inputId];\n\n if (!inputConfig) continue;\n\n let { input_type: inputType } = inputConfig;\n const { input_variants: configInputVariants = [] } = inputConfig;\n\n if (schemeVariant && configInputVariants.includes(schemeVariant)) {\n inputType = schemeVariant;\n }\n\n const validator = fieldTypeValidators[inputType as keyof typeof fieldTypeValidators];\n\n if (!validator || !validator(value)) return false;\n }\n\n return true;\n }, [configMap, selectedScheme, formData, schemeVariant]);\n\n const submitMilestoneOutcome = () => {\n postMilestoneOutcome(\n {\n outcome_data: transformFormDataToPayload(formData, selectedScheme, configMap || {}),\n },\n { milestoneId },\n );\n };\n\n if (!milestoneId) {\n return <div>Error</div>;\n }\n\n return (\n <BodyContainer>\n <ContentWrapper>\n <Text $renderAs=\"h4\" $align=\"center\">\n Please enter the outcome details\n </Text>\n {outcomeConfig && (\n <OutcomeForm\n studentName={studentName}\n selectedScheme={selectedScheme}\n onSchemeChange={handleSchemaChange}\n onFormDataChange={handleFormDataChange}\n formData={formData}\n outcomeConfig={outcomeConfig}\n />\n )}\n </ContentWrapper>\n {selectedScheme && (\n <FooterWrapper>\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\">\n <Button\n label=\"Submit score\"\n renderAs=\"primary\"\n widthX={16}\n Icon={NextIcon}\n onClick={submitMilestoneOutcome}\n disabled={!isFormValid}\n busy={isProcessing}\n iconPosition=\"right\"\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </FlexView>\n </FooterWrapper>\n )}\n </BodyContainer>\n );\n};\n\nexport default MilestoneOutcomeCollectionContainer;\n"],"names":["MilestoneOutcomeCollectionContainer","milestoneId","studentName","onSubmit","onError","formData","setFormData","useState","selectedScheme","setSelectedScheme","getOutcomeConfig","outcomeConfig","useGetMilestoneOutcomeConfig","configMap","useMemo","getConfigMap","useEffect","handleOnSubmit","errorMessage","data","postMilestoneOutcome","isProcessing","useCreateMilestoneOutcome","handleFormDataChange","changedFormData","fieldsToRemove","resetFormData","prevFormData","newFormData","field","schemeVariant","handleSchemaChange","val","overridenInputVariant","findVariantIfOverrident","isFormValid","schemeConfig","inputId","value","inputConfig","inputType","configInputVariants","validator","fieldTypeValidators","submitMilestoneOutcome","transformFormDataToPayload","BodyContainer","jsxs","ContentWrapper","jsx","Text","OutcomeForm","FooterWrapper","FlexView","Button","NextIcon"],"mappings":";;;;;;;;;;;;AAwBA,MAAMA,KAAkF,CAAC;AAAA,EACvF,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAA+C,CAAE,
|
1
|
+
{"version":3,"file":"milestone-outcome-collection-container.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/milestone-outcome-collection-container.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IOnFormDataChange,\n IMilestoneOutcomeCollectionProps,\n IMilestoneOutcomeResponse,\n} from '../../milestone-outcome-types';\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport NextIcon from '../../../../../assets/line-icons/icons/next';\nimport Button from '../../../../ui/buttons/button/button';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useCreateMilestoneOutcome } from '../../api/milestone-outcome';\nimport { useGetMilestoneOutcomeConfig } from '../../api/milestone-outcome-config';\nimport { transformFormDataToPayload } from './outcome-collection-helper';\nimport OutcomeForm from './outcome-form/outcome-form';\nimport {\n fieldTypeValidators,\n findVariantIfOverrident,\n getConfigMap,\n} from './outcome-form/outcome-form-helpers';\nimport { BodyContainer, ContentWrapper, FooterWrapper } from './outcome-styled';\n\nconst MilestoneOutcomeCollectionContainer: React.FC<IMilestoneOutcomeCollectionProps> = ({\n milestoneId,\n studentName,\n onSubmit,\n onError,\n}) => {\n const [formData, setFormData] = useState<Partial<IMileStoneOutcomeFormFields>>({});\n const [selectedScheme, setSelectedScheme] = useState('');\n\n const { get: getOutcomeConfig, data: { outcome_config: outcomeConfig } = {} } =\n useGetMilestoneOutcomeConfig();\n\n const configMap = useMemo(\n () => (outcomeConfig ? getConfigMap(outcomeConfig) : undefined),\n [outcomeConfig],\n );\n\n useEffect(() => {\n getOutcomeConfig(milestoneId);\n }, [getOutcomeConfig, milestoneId]);\n\n const handleOnSubmit = (errorMessage: string | null, data?: IMilestoneOutcomeResponse) => {\n errorMessage ? onError(errorMessage) : onSubmit(data);\n };\n const { post: postMilestoneOutcome, isProcessing } = useCreateMilestoneOutcome({\n onComplete: handleOnSubmit,\n });\n\n const handleFormDataChange: IOnFormDataChange = (\n changedFormData,\n fieldsToRemove,\n resetFormData = false,\n ) => {\n if (resetFormData) {\n setFormData({});\n } else {\n setFormData(prevFormData => {\n const newFormData = { ...prevFormData, ...changedFormData };\n\n if (fieldsToRemove && fieldsToRemove.length > 0) {\n fieldsToRemove.forEach(field => {\n delete newFormData[field];\n });\n }\n\n return newFormData;\n });\n }\n };\n\n const { input_variant: schemeVariant } = formData;\n\n const handleSchemaChange = (val: string) => {\n setSelectedScheme(val);\n\n if (schemeVariant && configMap) {\n const overridenInputVariant = findVariantIfOverrident(configMap, schemeVariant);\n\n if (overridenInputVariant) {\n handleFormDataChange({\n input_variant: undefined,\n [overridenInputVariant.id]: undefined,\n });\n }\n }\n };\n\n const isFormValid = useMemo(() => {\n if (!configMap) return false;\n\n const overridenInputVariant = findVariantIfOverrident(configMap, schemeVariant);\n const schemeConfig = overridenInputVariant ?? configMap[selectedScheme];\n\n if (!schemeConfig || !(schemeConfig.id in formData)) return false;\n\n for (const [inputId, value] of Object.entries(formData)) {\n const inputConfig = configMap[inputId];\n\n if (!inputConfig) continue;\n\n let { input_type: inputType } = inputConfig;\n const { input_variants: configInputVariants = [] } = inputConfig;\n\n if (schemeVariant && configInputVariants.includes(schemeVariant)) {\n inputType = schemeVariant;\n }\n\n const validator = fieldTypeValidators[inputType as keyof typeof fieldTypeValidators];\n\n if (!validator || !validator(value)) return false;\n }\n\n return true;\n }, [configMap, selectedScheme, formData, schemeVariant]);\n\n const submitMilestoneOutcome = () => {\n postMilestoneOutcome(\n {\n outcome_data: transformFormDataToPayload(formData, selectedScheme, configMap || {}),\n },\n { milestoneId },\n );\n };\n\n if (!milestoneId) {\n return <div>Error</div>;\n }\n\n return (\n <BodyContainer>\n <ContentWrapper>\n <Text $renderAs=\"h4\" $align=\"center\">\n Please enter the outcome details\n </Text>\n {outcomeConfig && (\n <OutcomeForm\n studentName={studentName}\n selectedScheme={selectedScheme}\n onSchemeChange={handleSchemaChange}\n onFormDataChange={handleFormDataChange}\n formData={formData}\n outcomeConfig={outcomeConfig}\n />\n )}\n </ContentWrapper>\n {selectedScheme && (\n <FooterWrapper>\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\">\n <Button\n label=\"Submit score\"\n renderAs=\"primary\"\n widthX={16}\n Icon={NextIcon}\n onClick={submitMilestoneOutcome}\n disabled={!isFormValid}\n busy={isProcessing}\n iconPosition=\"right\"\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </FlexView>\n </FooterWrapper>\n )}\n </BodyContainer>\n );\n};\n\nexport default MilestoneOutcomeCollectionContainer;\n"],"names":["MilestoneOutcomeCollectionContainer","milestoneId","studentName","onSubmit","onError","formData","setFormData","useState","selectedScheme","setSelectedScheme","getOutcomeConfig","outcomeConfig","useGetMilestoneOutcomeConfig","configMap","useMemo","getConfigMap","useEffect","handleOnSubmit","errorMessage","data","postMilestoneOutcome","isProcessing","useCreateMilestoneOutcome","handleFormDataChange","changedFormData","fieldsToRemove","resetFormData","prevFormData","newFormData","field","schemeVariant","handleSchemaChange","val","overridenInputVariant","findVariantIfOverrident","isFormValid","schemeConfig","inputId","value","inputConfig","inputType","configInputVariants","validator","fieldTypeValidators","submitMilestoneOutcome","transformFormDataToPayload","BodyContainer","jsxs","ContentWrapper","jsx","Text","OutcomeForm","FooterWrapper","FlexView","Button","NextIcon"],"mappings":"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"}
|
package/dist/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"outcome-collection-helper.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.ts"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IMilestoneOutcomeSubmitPayload,\n IOutcomeConfig,\n} from '../../milestone-outcome-types';\nimport type {\n ICascadingInputValue,\n INumRangeInputValue,\n} from './outcome-form/outcome-form-helpers';\n\nexport const transformFormDataToPayload = (\n formData: IMileStoneOutcomeFormFields,\n selectedScheme: string,\n configMap: Record<string, IOutcomeConfig>,\n): IMilestoneOutcomeSubmitPayload[] => {\n const { input_variant: inputVariant } = formData;\n\n delete formData.input_variant;\n\n return Object.entries(formData).map(([name, value]) => {\n const itemPayload: IMilestoneOutcomeSubmitPayload = {\n name,\n type: name === selectedScheme ? 'primary' : 'secondary',\n value: '',\n };\n const inputConfig: IOutcomeConfig = (configMap[name] ?? {}) as IOutcomeConfig;\n\n if (inputConfig.input_type === 'nested_select' && value) {\n const inputValue = value as ICascadingInputValue;\n const variantScheme = inputConfig.variants?.find(item => item.key === inputValue.variant);\n\n if (variantScheme) {\n itemPayload.min = variantScheme.min as string;\n itemPayload.max = variantScheme.max as string;\n itemPayload.variant = variantScheme.variant;\n }\n itemPayload.value = inputValue.detail;\n } else if (inputConfig.input_type === 'num_range') {\n const inputValue = value as INumRangeInputValue;\n const inputValidation = inputConfig.validation;\n\n if (inputVariant && typeof value === 'string') {\n itemPayload.value = value;\n } else {\n if (inputValidation && inputValidation.min !== undefined) {\n itemPayload.min = inputValidation.min.toString();\n }\n itemPayload.value = inputValue.middle;\n itemPayload.max = inputValue.end;\n }\n } else if (inputConfig.input_type === 'percentile') {\n itemPayload.value = value as string;\n const inputValidation = inputConfig.validation;\n\n if (inputValidation) {\n itemPayload.min = inputValidation.min !== undefined ? inputValidation.min.toString() : '';\n itemPayload.max = inputValidation.max !== undefined ? inputValidation.max.toString() : '';\n }\n } else {\n itemPayload.value = value as string;\n }\n\n return itemPayload;\n });\n};\n"],"names":["transformFormDataToPayload","formData","selectedScheme","configMap","inputVariant","name","value","_a","itemPayload","inputConfig","inputValue","variantScheme","item","inputValidation"],"mappings":"AAUO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MACqC;AAC/B,QAAA,EAAE,eAAeC,
|
1
|
+
{"version":3,"file":"outcome-collection-helper.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-collection-helper.ts"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IMilestoneOutcomeSubmitPayload,\n IOutcomeConfig,\n} from '../../milestone-outcome-types';\nimport type {\n ICascadingInputValue,\n INumRangeInputValue,\n} from './outcome-form/outcome-form-helpers';\n\nexport const transformFormDataToPayload = (\n formData: IMileStoneOutcomeFormFields,\n selectedScheme: string,\n configMap: Record<string, IOutcomeConfig>,\n): IMilestoneOutcomeSubmitPayload[] => {\n const { input_variant: inputVariant } = formData;\n\n delete formData.input_variant;\n\n return Object.entries(formData).map(([name, value]) => {\n const itemPayload: IMilestoneOutcomeSubmitPayload = {\n name,\n type: name === selectedScheme ? 'primary' : 'secondary',\n value: '',\n };\n const inputConfig: IOutcomeConfig = (configMap[name] ?? {}) as IOutcomeConfig;\n\n if (inputConfig.input_type === 'nested_select' && value) {\n const inputValue = value as ICascadingInputValue;\n const variantScheme = inputConfig.variants?.find(item => item.key === inputValue.variant);\n\n if (variantScheme) {\n itemPayload.min = variantScheme.min as string;\n itemPayload.max = variantScheme.max as string;\n itemPayload.variant = variantScheme.variant;\n }\n itemPayload.value = inputValue.detail;\n } else if (inputConfig.input_type === 'num_range') {\n const inputValue = value as INumRangeInputValue;\n const inputValidation = inputConfig.validation;\n\n if (inputVariant && typeof value === 'string') {\n itemPayload.value = value;\n } else {\n if (inputValidation && inputValidation.min !== undefined) {\n itemPayload.min = inputValidation.min.toString();\n }\n itemPayload.value = inputValue.middle;\n itemPayload.max = inputValue.end;\n }\n } else if (inputConfig.input_type === 'percentile') {\n itemPayload.value = value as string;\n const inputValidation = inputConfig.validation;\n\n if (inputValidation) {\n itemPayload.min = inputValidation.min !== undefined ? inputValidation.min.toString() : '';\n itemPayload.max = inputValidation.max !== undefined ? inputValidation.max.toString() : '';\n }\n } else {\n itemPayload.value = value as string;\n }\n\n return itemPayload;\n });\n};\n"],"names":["transformFormDataToPayload","formData","selectedScheme","configMap","inputVariant","name","value","_a","itemPayload","inputConfig","inputValue","variantScheme","item","inputValidation"],"mappings":"AAUO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MACqC;AAC/B,QAAA,EAAE,eAAeC,EAAA,IAAiBH;AAExC,gBAAOA,EAAS,eAET,OAAO,QAAQA,CAAQ,EAAE,IAAI,CAAC,CAACI,GAAMC,CAAK,MAAM;AATlD,QAAAC;AAUH,UAAMC,IAA8C;AAAA,MAClD,MAAAH;AAAA,MACA,MAAMA,MAASH,IAAiB,YAAY;AAAA,MAC5C,OAAO;AAAA,IACT,GACMO,IAA+BN,EAAUE,CAAI,KAAK,CAAC;AAErD,QAAAI,EAAY,eAAe,mBAAmBH,GAAO;AACvD,YAAMI,IAAaJ,GACbK,KAAgBJ,IAAAE,EAAY,aAAZ,gBAAAF,EAAsB,KAAK,OAAQK,EAAK,QAAQF,EAAW;AAEjF,MAAIC,MACFH,EAAY,MAAMG,EAAc,KAChCH,EAAY,MAAMG,EAAc,KAChCH,EAAY,UAAUG,EAAc,UAEtCH,EAAY,QAAQE,EAAW;AAAA,IAAA,WACtBD,EAAY,eAAe,aAAa;AACjD,YAAMC,IAAaJ,GACbO,IAAkBJ,EAAY;AAEhC,MAAAL,KAAgB,OAAOE,KAAU,WACnCE,EAAY,QAAQF,KAEhBO,KAAmBA,EAAgB,QAAQ,WACjCL,EAAA,MAAMK,EAAgB,IAAI,SAAS,IAEjDL,EAAY,QAAQE,EAAW,QAC/BF,EAAY,MAAME,EAAW;AAAA,IAC/B,WACSD,EAAY,eAAe,cAAc;AAClD,MAAAD,EAAY,QAAQF;AACpB,YAAMO,IAAkBJ,EAAY;AAEpC,MAAII,MACFL,EAAY,MAAMK,EAAgB,QAAQ,SAAYA,EAAgB,IAAI,aAAa,IACvFL,EAAY,MAAMK,EAAgB,QAAQ,SAAYA,EAAgB,IAAI,aAAa;AAAA,IACzF;AAEA,MAAAL,EAAY,QAAQF;AAGf,WAAAE;AAAA,EAAA,CACR;AACH;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"outcome-form-helpers.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.ts"],"sourcesContent":["import type { IOutcomeConfig, IVariant } from '../../../milestone-outcome-types';\n\nconst getDropdownOptions = (variants: IVariant[]) => {\n return variants.reduce<{ [key: string]: string[] }>((options, variant) => {\n options[variant.key] = variant.values || [];\n\n return options;\n }, {});\n};\n\ninterface IConfigMap {\n [id: string]: IOutcomeConfig;\n}\n\ninterface IGetConfigMap {\n (config: IOutcomeConfig[]): IConfigMap;\n}\n\nconst getConfigMap: IGetConfigMap = config => {\n return config.reduce<IConfigMap>((map, conf) => {\n map[conf.id] = conf;\n\n return map;\n }, {});\n};\n\nexport interface ICascadingInputValue {\n variant: string;\n detail: string;\n}\nexport interface INumRangeInputValue {\n middle: string;\n end: string;\n}\n\nconst parseNumRangeValue = (inputValue: unknown): INumRangeInputValue => {\n const isValidFormat =\n typeof inputValue === 'object' &&\n inputValue !== null &&\n 'middle' in inputValue &&\n 'end' in inputValue;\n\n return isValidFormat ? (inputValue as INumRangeInputValue) : { middle: '', end: '' };\n};\n\nconst isValidNumRange = (value: unknown): value is { middle: string; end: string } =>\n parseNumRangeValue(value).middle !== '' && parseNumRangeValue(value).end !== '';\n\nconst parseNestedSelect = (value: unknown): { variant: string; detail: string } => {\n const isValidObject =\n typeof value === 'object' &&\n value !== null &&\n 'variant' in value &&\n 'detail' in value &&\n typeof value.variant === 'string' &&\n value.variant.trim().length > 0 &&\n typeof value.detail === 'string' &&\n value.detail.trim().length > 0;\n\n return isValidObject ? (value as ICascadingInputValue) : { variant: '', detail: '' };\n};\n\nconst isValidNestedSelect = (value: unknown): boolean => {\n const { variant, detail } = parseNestedSelect(value);\n\n return variant.length > 0 && detail.length > 0;\n};\n\nfunction isValidPercentile(value: unknown): value is string {\n if (typeof value !== 'string') return false;\n\n const num = parseInt(value, 10);\n\n return !isNaN(num) && num >= 0 && num <= 100;\n}\n\nfunction isValidNumber(value: unknown) {\n return typeof value === 'string' && Number(value) > 0;\n}\n\nfunction isValidText(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n\nfunction isValidRanks(value: unknown) {\n return value && Object.values(value).some(rank => Number(rank) > 0);\n}\n\nconst findVariantIfOverrident = (configMap: IConfigMap, schemeVariant: string | undefined) => {\n if (!schemeVariant) return null;\n\n return Object.values(configMap).find(config => {\n const { input_variants: inputVariants = [] } = config;\n\n return inputVariants.includes(schemeVariant);\n });\n};\nconst fieldTypeValidators = {\n text: isValidText,\n num_range: isValidNumRange,\n nested_select: isValidNestedSelect,\n percentile: isValidPercentile,\n num: isValidNumber,\n ranks: isValidRanks,\n};\n\nexport {\n getDropdownOptions,\n getConfigMap,\n parseNestedSelect,\n parseNumRangeValue,\n findVariantIfOverrident,\n fieldTypeValidators,\n};\n"],"names":["getDropdownOptions","variants","options","variant","getConfigMap","config","map","conf","parseNumRangeValue","inputValue","isValidNumRange","value","parseNestedSelect","isValidNestedSelect","detail","isValidPercentile","num","isValidNumber","isValidText","isValidRanks","rank","findVariantIfOverrident","configMap","schemeVariant","inputVariants","fieldTypeValidators"],"mappings":"AAEM,MAAAA,IAAqB,CAACC,MACnBA,EAAS,OAAoC,CAACC,GAASC,OAC5DD,EAAQC,EAAQ,GAAG,IAAIA,EAAQ,UAAU,
|
1
|
+
{"version":3,"file":"outcome-form-helpers.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form-helpers.ts"],"sourcesContent":["import type { IOutcomeConfig, IVariant } from '../../../milestone-outcome-types';\n\nconst getDropdownOptions = (variants: IVariant[]) => {\n return variants.reduce<{ [key: string]: string[] }>((options, variant) => {\n options[variant.key] = variant.values || [];\n\n return options;\n }, {});\n};\n\ninterface IConfigMap {\n [id: string]: IOutcomeConfig;\n}\n\ninterface IGetConfigMap {\n (config: IOutcomeConfig[]): IConfigMap;\n}\n\nconst getConfigMap: IGetConfigMap = config => {\n return config.reduce<IConfigMap>((map, conf) => {\n map[conf.id] = conf;\n\n return map;\n }, {});\n};\n\nexport interface ICascadingInputValue {\n variant: string;\n detail: string;\n}\nexport interface INumRangeInputValue {\n middle: string;\n end: string;\n}\n\nconst parseNumRangeValue = (inputValue: unknown): INumRangeInputValue => {\n const isValidFormat =\n typeof inputValue === 'object' &&\n inputValue !== null &&\n 'middle' in inputValue &&\n 'end' in inputValue;\n\n return isValidFormat ? (inputValue as INumRangeInputValue) : { middle: '', end: '' };\n};\n\nconst isValidNumRange = (value: unknown): value is { middle: string; end: string } =>\n parseNumRangeValue(value).middle !== '' && parseNumRangeValue(value).end !== '';\n\nconst parseNestedSelect = (value: unknown): { variant: string; detail: string } => {\n const isValidObject =\n typeof value === 'object' &&\n value !== null &&\n 'variant' in value &&\n 'detail' in value &&\n typeof value.variant === 'string' &&\n value.variant.trim().length > 0 &&\n typeof value.detail === 'string' &&\n value.detail.trim().length > 0;\n\n return isValidObject ? (value as ICascadingInputValue) : { variant: '', detail: '' };\n};\n\nconst isValidNestedSelect = (value: unknown): boolean => {\n const { variant, detail } = parseNestedSelect(value);\n\n return variant.length > 0 && detail.length > 0;\n};\n\nfunction isValidPercentile(value: unknown): value is string {\n if (typeof value !== 'string') return false;\n\n const num = parseInt(value, 10);\n\n return !isNaN(num) && num >= 0 && num <= 100;\n}\n\nfunction isValidNumber(value: unknown) {\n return typeof value === 'string' && Number(value) > 0;\n}\n\nfunction isValidText(value: unknown): value is string {\n return typeof value === 'string' && value.trim().length > 0;\n}\n\nfunction isValidRanks(value: unknown) {\n return value && Object.values(value).some(rank => Number(rank) > 0);\n}\n\nconst findVariantIfOverrident = (configMap: IConfigMap, schemeVariant: string | undefined) => {\n if (!schemeVariant) return null;\n\n return Object.values(configMap).find(config => {\n const { input_variants: inputVariants = [] } = config;\n\n return inputVariants.includes(schemeVariant);\n });\n};\nconst fieldTypeValidators = {\n text: isValidText,\n num_range: isValidNumRange,\n nested_select: isValidNestedSelect,\n percentile: isValidPercentile,\n num: isValidNumber,\n ranks: isValidRanks,\n};\n\nexport {\n getDropdownOptions,\n getConfigMap,\n parseNestedSelect,\n parseNumRangeValue,\n findVariantIfOverrident,\n fieldTypeValidators,\n};\n"],"names":["getDropdownOptions","variants","options","variant","getConfigMap","config","map","conf","parseNumRangeValue","inputValue","isValidNumRange","value","parseNestedSelect","isValidNestedSelect","detail","isValidPercentile","num","isValidNumber","isValidText","isValidRanks","rank","findVariantIfOverrident","configMap","schemeVariant","inputVariants","fieldTypeValidators"],"mappings":"AAEM,MAAAA,IAAqB,CAACC,MACnBA,EAAS,OAAoC,CAACC,GAASC,OAC5DD,EAAQC,EAAQ,GAAG,IAAIA,EAAQ,UAAU,CAAC,GAEnCD,IACN,EAAE,GAWDE,IAA8B,CAAUC,MACrCA,EAAO,OAAmB,CAACC,GAAKC,OACjCD,EAAAC,EAAK,EAAE,IAAIA,GAERD,IACN,EAAE,GAYDE,IAAqB,CAACC,MAExB,OAAOA,KAAe,YACtBA,MAAe,QACf,YAAYA,KACZ,SAASA,IAEaA,IAAqC,EAAE,QAAQ,IAAI,KAAK,GAAG,GAG/EC,IAAkB,CAACC,MACvBH,EAAmBG,CAAK,EAAE,WAAW,MAAMH,EAAmBG,CAAK,EAAE,QAAQ,IAEzEC,IAAoB,CAACD,MAEvB,OAAOA,KAAU,YACjBA,MAAU,QACV,aAAaA,KACb,YAAYA,KACZ,OAAOA,EAAM,WAAY,YACzBA,EAAM,QAAQ,KAAK,EAAE,SAAS,KAC9B,OAAOA,EAAM,UAAW,YACxBA,EAAM,OAAO,KAAK,EAAE,SAAS,IAEPA,IAAiC,EAAE,SAAS,IAAI,QAAQ,GAAG,GAG/EE,IAAsB,CAACF,MAA4B;AACvD,QAAM,EAAE,SAAAR,GAAS,QAAAW,MAAWF,EAAkBD,CAAK;AAEnD,SAAOR,EAAQ,SAAS,KAAKW,EAAO,SAAS;AAC/C;AAEA,SAASC,EAAkBJ,GAAiC;AACtD,MAAA,OAAOA,KAAU,SAAiB,QAAA;AAEhC,QAAAK,IAAM,SAASL,GAAO,EAAE;AAE9B,SAAO,CAAC,MAAMK,CAAG,KAAKA,KAAO,KAAKA,KAAO;AAC3C;AAEA,SAASC,EAAcN,GAAgB;AACrC,SAAO,OAAOA,KAAU,YAAY,OAAOA,CAAK,IAAI;AACtD;AAEA,SAASO,EAAYP,GAAiC;AACpD,SAAO,OAAOA,KAAU,YAAYA,EAAM,KAAA,EAAO,SAAS;AAC5D;AAEA,SAASQ,EAAaR,GAAgB;AAC7B,SAAAA,KAAS,OAAO,OAAOA,CAAK,EAAE,KAAK,CAAQS,MAAA,OAAOA,CAAI,IAAI,CAAC;AACpE;AAEM,MAAAC,IAA0B,CAACC,GAAuBC,MACjDA,IAEE,OAAO,OAAOD,CAAS,EAAE,KAAK,CAAUjB,MAAA;AAC7C,QAAM,EAAE,gBAAgBmB,IAAgB,CAAA,EAAO,IAAAnB;AAExC,SAAAmB,EAAc,SAASD,CAAa;AAAA,CAC5C,IAN0B,MAQvBE,IAAsB;AAAA,EAC1B,MAAMP;AAAA,EACN,WAAWR;AAAA,EACX,eAAeG;AAAA,EACf,YAAYE;AAAA,EACZ,KAAKE;AAAA,EACL,OAAOE;AACT;"}
|
package/dist/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"outcome-form.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.tsx"],"sourcesContent":["import type { IOutcomeConfig, IRenderFormInput } from '../../../milestone-outcome-types';\nimport type { IHandleSchemeChange, IScheme, IScoreFormProps } from './outcome-form-types';\nimport type { FC, ReactNode } from 'react';\n\nimport React, { useMemo, useState } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport RadioCards from '../../../../../ui/radio-cards/radio-cards';\nimport { VISIBILITY_TYPES } from '../../../milestone-outcome-constants';\nimport FormDynamicInputHandler from '../dynamic-input-handler';\nimport InputDescription from '../input-descriptor';\nimport InputHandler from '../input-handler';\nimport { getConfigMap } from './outcome-form-helpers';\n\nconst getSchemeOptions = (scheme: string, localScoringConfig: IOutcomeConfig[]) =>\n localScoringConfig\n .filter(config => !config.hidden)\n .map(config => {\n const { id: configId, icon, inactive_icon: inactiveIcon, title, subtitle } = config;\n const isCurrentScheme = configId === scheme;\n const iconUrl = isCurrentScheme || !scheme ? icon : inactiveIcon;\n\n return {\n title: title,\n description: subtitle,\n id: configId,\n Icon: <img src={iconUrl} alt={`${config.title} icon`} />,\n };\n });\n\nconst OutcomeForm: React.FC<IScoreFormProps> = ({\n onFormDataChange,\n formData,\n outcomeConfig,\n studentName,\n selectedScheme,\n onSchemeChange,\n}) => {\n const [additionalSchemes, setAdditionalSchemes] = useState<IScheme[]>([]);\n\n const configMap = useMemo(() => getConfigMap(outcomeConfig), [outcomeConfig]);\n\n const handleSchemeChange: IHandleSchemeChange = selectedId => {\n onSchemeChange(selectedId);\n setAdditionalSchemes([]);\n onFormDataChange({}, [], true);\n };\n const renderFormInput: FC<IRenderFormInput> = ({\n inputId,\n index = null,\n showDescription = false,\n showHidden = false,\n }) => {\n const schemeConfig = configMap[inputId];\n\n if (!schemeConfig) return null;\n\n const { field_header: fieldHeader, field_subheader: fieldSubHeader } = schemeConfig;\n\n const formattedHeader = fieldHeader.replace('{student_name}', studentName || 'the student');\n const formattedSubHeader = fieldSubHeader.replace(\n '{student_name}',\n studentName || 'the student',\n );\n\n return (\n <FlexView key={inputId} $marginBottomX={1}>\n {showDescription && (\n <InputDescription\n index={index}\n question={formattedHeader}\n description={formattedSubHeader}\n />\n )}\n <InputHandler\n inputId={inputId}\n formData={formData}\n handleFormDataChange={onFormDataChange}\n schemeConfig={schemeConfig}\n showHidden={showHidden}\n />\n </FlexView>\n );\n };\n const renderDynamicInputComponent = ({\n index,\n description,\n }: {\n index: number | null;\n description: {\n field_header: string;\n field_subheader: string;\n };\n }) => {\n const schemeConfig = configMap[selectedScheme];\n\n if (!schemeConfig) return null;\n\n const inputFieldsArray = schemeConfig.secondary_options\n .filter(option => option.visibility === VISIBILITY_TYPES.GROUPED)\n .map(option => ({\n id: option.id,\n label: configMap[option.id]?.title ?? '',\n }));\n\n return (\n <FlexView key={index} $marginBottomX={1}>\n <InputDescription\n index={index}\n question={description.field_header}\n description={description.field_subheader}\n />\n <FormDynamicInputHandler\n formData={formData}\n handleFormDataChange={onFormDataChange}\n configMap={configMap}\n additionalSchemes={additionalSchemes}\n setAdditionalSchemes={(schemes: IScheme[]) => setAdditionalSchemes(schemes)}\n onInputRemove={(inputFieldId: string) => onFormDataChange({}, [inputFieldId])}\n inputFieldsArray={inputFieldsArray}\n />\n </FlexView>\n );\n };\n\n const renderSecondaryFormFields = (startIndex: number) => {\n const schemeConfig = configMap[selectedScheme];\n const secondaryFormFields: ReactNode[] = [];\n let currentIndex = startIndex;\n let groupedFieldsRendered = false;\n\n if (!schemeConfig) return null;\n\n schemeConfig.secondary_options.forEach(option => {\n if (option.visibility === VISIBILITY_TYPES.SEPARATE) {\n secondaryFormFields.push(\n renderFormInput({\n index: currentIndex,\n showDescription: true,\n inputId: option.id,\n showHidden: true,\n }),\n );\n currentIndex++;\n } else if (option.visibility === VISIBILITY_TYPES.GROUPED && !groupedFieldsRendered) {\n secondaryFormFields.push(\n renderDynamicInputComponent({\n index: currentIndex,\n description: schemeConfig.group_description || {\n field_header: '',\n field_subheader: '',\n },\n }),\n );\n groupedFieldsRendered = true;\n currentIndex++;\n }\n });\n\n return secondaryFormFields;\n };\n\n const schemeOptions = useMemo(\n () => getSchemeOptions(selectedScheme, outcomeConfig),\n [selectedScheme, outcomeConfig],\n );\n\n return (\n <>\n <FlexView $marginBottomX={1}>\n <InputDescription index={1} question=\"What is the scoring system for this test?\" />\n <RadioCards\n options={schemeOptions}\n value={selectedScheme}\n width=\"212px\"\n onChange={handleSchemeChange}\n analyticsLabel=\"scoring_system\"\n />\n </FlexView>\n {selectedScheme && (\n <>\n {renderFormInput({ inputId: selectedScheme, index: 2, showDescription: true })}\n {renderSecondaryFormFields(3)}\n </>\n )}\n </>\n );\n};\n\nexport default OutcomeForm;\n"],"names":["getSchemeOptions","scheme","localScoringConfig","config","configId","icon","inactiveIcon","title","subtitle","OutcomeForm","onFormDataChange","formData","outcomeConfig","studentName","selectedScheme","onSchemeChange","additionalSchemes","setAdditionalSchemes","useState","configMap","useMemo","getConfigMap","handleSchemeChange","selectedId","renderFormInput","inputId","index","showDescription","showHidden","schemeConfig","fieldHeader","fieldSubHeader","formattedHeader","formattedSubHeader","jsxs","FlexView","jsx","InputDescription","InputHandler","renderDynamicInputComponent","description","inputFieldsArray","option","VISIBILITY_TYPES","_a","FormDynamicInputHandler","schemes","inputFieldId","renderSecondaryFormFields","startIndex","secondaryFormFields","currentIndex","groupedFieldsRendered","schemeOptions","Fragment","RadioCards"],"mappings":";;;;;;;;;AAcA,MAAMA,IAAmB,CAACC,GAAgBC,MACxCA,EACG,OAAO,CAAUC,MAAA,CAACA,EAAO,MAAM,EAC/B,IAAI,CAAUA,MAAA;AACP,QAAA,EAAE,IAAIC,GAAU,MAAAC,GAAM,eAAeC,GAAc,OAAAC,GAAO,UAAAC,EAAa,IAAAL;AAItE,SAAA;AAAA,IACL,OAAAI;AAAA,IACA,aAAaC;AAAA,IACb,IAAIJ;AAAA,IACJ,wBAAO,OAAI,EAAA,KAPWA,MAAaH,KACF,CAACA,IAASI,IAAOC,GAMzB,KAAK,GAAGH,EAAO,KAAK,QAAS,CAAA;AAAA,EAAA;AAE1D,CAAC,GAECM,IAAyC,CAAC;AAAA,EAC9C,kBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAmBC,CAAoB,IAAIC,EAAoB,CAAE,CAAA,GAElEC,IAAYC,EAAQ,MAAMC,EAAaT,CAAa,GAAG,CAACA,CAAa,CAAC,GAEtEU,IAA0C,CAAcC,MAAA;AAC5D,IAAAR,EAAeQ,CAAU,GACzBN,EAAqB,CAAE,CAAA,GACvBP,EAAiB,CAAC,GAAG,IAAI,EAAI;AAAA,EAAA,GAEzBc,IAAwC,CAAC;AAAA,IAC7C,SAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,iBAAAC,IAAkB;AAAA,IAClB,YAAAC,IAAa;AAAA,EAAA,MACT;AACE,UAAAC,IAAeV,EAAUM,CAAO;AAElC,QAAA,CAACI,EAAqB,QAAA;AAE1B,UAAM,EAAE,cAAcC,GAAa,iBAAiBC,MAAmBF,GAEjEG,IAAkBF,EAAY,QAAQ,kBAAkBjB,KAAe,aAAa,GACpFoB,IAAqBF,EAAe;AAAA,MACxC;AAAA,MACAlB,KAAe;AAAA,IAAA;AAIf,WAAA,gBAAAqB,EAACC,GAAuB,EAAA,gBAAgB,GACrC,UAAA;AAAA,MACCR,KAAA,gBAAAS;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAAX;AAAA,UACA,UAAUM;AAAA,UACV,aAAaC;AAAA,QAAA;AAAA,MACf;AAAA,MAEF,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,SAAAb;AAAA,UACA,UAAAd;AAAA,UACA,sBAAsBD;AAAA,UACtB,cAAAmB;AAAA,UACA,YAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,EAAA,GAdaH,CAef;AAAA,EAAA,GAGEc,IAA8B,CAAC;AAAA,IACnC,OAAAb;AAAA,IACA,aAAAc;AAAA,EAAA,MAOI;AACE,UAAAX,IAAeV,EAAUL,CAAc;AAEzC,QAAA,CAACe,EAAqB,QAAA;AAEpB,UAAAY,IAAmBZ,EAAa,kBACnC,OAAO,CAAAa,MAAUA,EAAO,eAAeC,EAAiB,OAAO,EAC/D,IAAI,CAAWD,MAAA;;AAAA;AAAA,QACd,IAAIA,EAAO;AAAA,QACX,SAAOE,IAAAzB,EAAUuB,EAAO,EAAE,MAAnB,gBAAAE,EAAsB,UAAS;AAAA,MACtC;AAAA,KAAA;AAGF,WAAA,gBAAAV,EAACC,GAAqB,EAAA,gBAAgB,GACpC,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,OAAAX;AAAA,UACA,UAAUc,EAAY;AAAA,UACtB,aAAaA,EAAY;AAAA,QAAA;AAAA,MAC3B;AAAA,MACA,gBAAAJ;AAAA,QAACS;AAAA,QAAA;AAAA,UACC,UAAAlC;AAAA,UACA,sBAAsBD;AAAA,UACtB,WAAAS;AAAA,UACA,mBAAAH;AAAA,UACA,sBAAsB,CAAC8B,MAAuB7B,EAAqB6B,CAAO;AAAA,UAC1E,eAAe,CAACC,MAAyBrC,EAAiB,CAAA,GAAI,CAACqC,CAAY,CAAC;AAAA,UAC5E,kBAAAN;AAAA,QAAA;AAAA,MACF;AAAA,IAAA,EAAA,GAdaf,CAef;AAAA,EAAA,GAIEsB,IAA4B,CAACC,MAAuB;AAClD,UAAApB,IAAeV,EAAUL,CAAc,GACvCoC,IAAmC,CAAA;AACzC,QAAIC,IAAeF,GACfG,IAAwB;AAExB,WAACvB,KAEQA,EAAA,kBAAkB,QAAQ,CAAUa,MAAA;AAC3C,MAAAA,EAAO,eAAeC,EAAiB,YACrBO,EAAA;AAAA,QAClB1B,EAAgB;AAAA,UACd,OAAO2B;AAAA,UACP,iBAAiB;AAAA,UACjB,SAAST,EAAO;AAAA,UAChB,YAAY;AAAA,QAAA,CACb;AAAA,MAAA,GAEHS,OACST,EAAO,eAAeC,EAAiB,WAAW,CAACS,MACxCF,EAAA;AAAA,QAClBX,EAA4B;AAAA,UAC1B,OAAOY;AAAA,UACP,aAAatB,EAAa,qBAAqB;AAAA,YAC7C,cAAc;AAAA,YACd,iBAAiB;AAAA,UACnB;AAAA,QAAA,CACD;AAAA,MAAA,GAEqBuB,IAAA,IACxBD;AAAA,IACF,CACD,GAEMD,KA5BmB;AAAA,EA4BnB,GAGHG,IAAgBjC;AAAA,IACpB,MAAMpB,EAAiBc,GAAgBF,CAAa;AAAA,IACpD,CAACE,GAAgBF,CAAa;AAAA,EAAA;AAGhC,SAEI,gBAAAsB,EAAAoB,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAApB,EAAAC,GAAA,EAAS,gBAAgB,GACxB,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAiB,EAAA,OAAO,GAAG,UAAS,6CAA4C;AAAA,MACjF,gBAAAD;AAAA,QAACmB;AAAA,QAAA;AAAA,UACC,SAASF;AAAA,UACT,OAAOvC;AAAA,UACP,OAAM;AAAA,UACN,UAAUQ;AAAA,UACV,gBAAe;AAAA,QAAA;AAAA,MACjB;AAAA,IAAA,GACF;AAAA,IACCR,KAEI,gBAAAoB,EAAAoB,GAAA,EAAA,UAAA;AAAA,MAAA9B,EAAgB,EAAE,SAASV,GAAgB,OAAO,GAAG,iBAAiB,IAAM;AAAA,MAC5EkC,EAA0B,CAAC;AAAA,IAAA,GAC9B;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
|
1
|
+
{"version":3,"file":"outcome-form.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-form/outcome-form.tsx"],"sourcesContent":["import type { IOutcomeConfig, IRenderFormInput } from '../../../milestone-outcome-types';\nimport type { IHandleSchemeChange, IScheme, IScoreFormProps } from './outcome-form-types';\nimport type { FC, ReactNode } from 'react';\n\nimport React, { useMemo, useState } from 'react';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport RadioCards from '../../../../../ui/radio-cards/radio-cards';\nimport { VISIBILITY_TYPES } from '../../../milestone-outcome-constants';\nimport FormDynamicInputHandler from '../dynamic-input-handler';\nimport InputDescription from '../input-descriptor';\nimport InputHandler from '../input-handler';\nimport { getConfigMap } from './outcome-form-helpers';\n\nconst getSchemeOptions = (scheme: string, localScoringConfig: IOutcomeConfig[]) =>\n localScoringConfig\n .filter(config => !config.hidden)\n .map(config => {\n const { id: configId, icon, inactive_icon: inactiveIcon, title, subtitle } = config;\n const isCurrentScheme = configId === scheme;\n const iconUrl = isCurrentScheme || !scheme ? icon : inactiveIcon;\n\n return {\n title: title,\n description: subtitle,\n id: configId,\n Icon: <img src={iconUrl} alt={`${config.title} icon`} />,\n };\n });\n\nconst OutcomeForm: React.FC<IScoreFormProps> = ({\n onFormDataChange,\n formData,\n outcomeConfig,\n studentName,\n selectedScheme,\n onSchemeChange,\n}) => {\n const [additionalSchemes, setAdditionalSchemes] = useState<IScheme[]>([]);\n\n const configMap = useMemo(() => getConfigMap(outcomeConfig), [outcomeConfig]);\n\n const handleSchemeChange: IHandleSchemeChange = selectedId => {\n onSchemeChange(selectedId);\n setAdditionalSchemes([]);\n onFormDataChange({}, [], true);\n };\n const renderFormInput: FC<IRenderFormInput> = ({\n inputId,\n index = null,\n showDescription = false,\n showHidden = false,\n }) => {\n const schemeConfig = configMap[inputId];\n\n if (!schemeConfig) return null;\n\n const { field_header: fieldHeader, field_subheader: fieldSubHeader } = schemeConfig;\n\n const formattedHeader = fieldHeader.replace('{student_name}', studentName || 'the student');\n const formattedSubHeader = fieldSubHeader.replace(\n '{student_name}',\n studentName || 'the student',\n );\n\n return (\n <FlexView key={inputId} $marginBottomX={1}>\n {showDescription && (\n <InputDescription\n index={index}\n question={formattedHeader}\n description={formattedSubHeader}\n />\n )}\n <InputHandler\n inputId={inputId}\n formData={formData}\n handleFormDataChange={onFormDataChange}\n schemeConfig={schemeConfig}\n showHidden={showHidden}\n />\n </FlexView>\n );\n };\n const renderDynamicInputComponent = ({\n index,\n description,\n }: {\n index: number | null;\n description: {\n field_header: string;\n field_subheader: string;\n };\n }) => {\n const schemeConfig = configMap[selectedScheme];\n\n if (!schemeConfig) return null;\n\n const inputFieldsArray = schemeConfig.secondary_options\n .filter(option => option.visibility === VISIBILITY_TYPES.GROUPED)\n .map(option => ({\n id: option.id,\n label: configMap[option.id]?.title ?? '',\n }));\n\n return (\n <FlexView key={index} $marginBottomX={1}>\n <InputDescription\n index={index}\n question={description.field_header}\n description={description.field_subheader}\n />\n <FormDynamicInputHandler\n formData={formData}\n handleFormDataChange={onFormDataChange}\n configMap={configMap}\n additionalSchemes={additionalSchemes}\n setAdditionalSchemes={(schemes: IScheme[]) => setAdditionalSchemes(schemes)}\n onInputRemove={(inputFieldId: string) => onFormDataChange({}, [inputFieldId])}\n inputFieldsArray={inputFieldsArray}\n />\n </FlexView>\n );\n };\n\n const renderSecondaryFormFields = (startIndex: number) => {\n const schemeConfig = configMap[selectedScheme];\n const secondaryFormFields: ReactNode[] = [];\n let currentIndex = startIndex;\n let groupedFieldsRendered = false;\n\n if (!schemeConfig) return null;\n\n schemeConfig.secondary_options.forEach(option => {\n if (option.visibility === VISIBILITY_TYPES.SEPARATE) {\n secondaryFormFields.push(\n renderFormInput({\n index: currentIndex,\n showDescription: true,\n inputId: option.id,\n showHidden: true,\n }),\n );\n currentIndex++;\n } else if (option.visibility === VISIBILITY_TYPES.GROUPED && !groupedFieldsRendered) {\n secondaryFormFields.push(\n renderDynamicInputComponent({\n index: currentIndex,\n description: schemeConfig.group_description || {\n field_header: '',\n field_subheader: '',\n },\n }),\n );\n groupedFieldsRendered = true;\n currentIndex++;\n }\n });\n\n return secondaryFormFields;\n };\n\n const schemeOptions = useMemo(\n () => getSchemeOptions(selectedScheme, outcomeConfig),\n [selectedScheme, outcomeConfig],\n );\n\n return (\n <>\n <FlexView $marginBottomX={1}>\n <InputDescription index={1} question=\"What is the scoring system for this test?\" />\n <RadioCards\n options={schemeOptions}\n value={selectedScheme}\n width=\"212px\"\n onChange={handleSchemeChange}\n analyticsLabel=\"scoring_system\"\n />\n </FlexView>\n {selectedScheme && (\n <>\n {renderFormInput({ inputId: selectedScheme, index: 2, showDescription: true })}\n {renderSecondaryFormFields(3)}\n </>\n )}\n </>\n );\n};\n\nexport default OutcomeForm;\n"],"names":["getSchemeOptions","scheme","localScoringConfig","config","configId","icon","inactiveIcon","title","subtitle","OutcomeForm","onFormDataChange","formData","outcomeConfig","studentName","selectedScheme","onSchemeChange","additionalSchemes","setAdditionalSchemes","useState","configMap","useMemo","getConfigMap","handleSchemeChange","selectedId","renderFormInput","inputId","index","showDescription","showHidden","schemeConfig","fieldHeader","fieldSubHeader","formattedHeader","formattedSubHeader","jsxs","FlexView","jsx","InputDescription","InputHandler","renderDynamicInputComponent","description","inputFieldsArray","option","VISIBILITY_TYPES","_a","FormDynamicInputHandler","schemes","inputFieldId","renderSecondaryFormFields","startIndex","secondaryFormFields","currentIndex","groupedFieldsRendered","schemeOptions","Fragment","RadioCards"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"outcome-styled.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst DynamicInputWrapper = styled(FlexView)(({ theme }) => {\n const {\n colors,\n layout: { gutter },\n } = theme;\n\n return `\n padding: ${gutter}px;\n background-color: ${colors.GREY_1};\n border-radius: ${gutter * 0.5}px;\n border-color: ${colors.GREY_2};\n\n input {\n background-color: ${colors.GREY_1};\n }\n`;\n});\n\nconst BodyContainer = styled.div<{ $viewMode?: boolean }>(\n ({ theme, $viewMode }) => `\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin-bottom: ${theme.layout.gutter * 0.5}px;\n border: 1px solid ${theme.colors.GREY_1};\n border-radius: ${theme.layout.gutter * 0.75}px;\n ${\n $viewMode\n ? `\n pointer-events: none;\n `\n : ``\n }\n`,\n);\n\nconst FooterWrapper = styled.div(({ theme }) => {\n const {\n layout: { gutter },\n colors,\n } = theme;\n\n return `\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n height: ${gutter * 4.5}px;\n background-color: ${colors.YELLOW_1};\n border-radius: ${gutter * 0.625}px;\n `;\n});\n\ninterface IContentWrapperProps {\n $height?: string;\n}\n\nconst ContentWrapper = styled.div<IContentWrapperProps>(\n ({ theme, $height }) => `\n display: flex;\n flex-direction: column;\n width: 838px;\n height: ${$height || 'auto'};\n padding: ${theme.layout.gutter * 2}px 0;\n margin: 0 auto;\n `,\n);\n\nexport { DynamicInputWrapper, BodyContainer, FooterWrapper, ContentWrapper };\n"],"names":["DynamicInputWrapper","styled","FlexView","theme","colors","gutter","BodyContainer","$viewMode","FooterWrapper","ContentWrapper","$height"],"mappings":";;AAIA,MAAMA,IAAsBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AACpD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,QAAQ,EAAE,QAAAC,EAAO;AAAA,
|
1
|
+
{"version":3,"file":"outcome-styled.js","sources":["../../../../../../src/features/milestone/outcome/comps/outcome-collection/outcome-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst DynamicInputWrapper = styled(FlexView)(({ theme }) => {\n const {\n colors,\n layout: { gutter },\n } = theme;\n\n return `\n padding: ${gutter}px;\n background-color: ${colors.GREY_1};\n border-radius: ${gutter * 0.5}px;\n border-color: ${colors.GREY_2};\n\n input {\n background-color: ${colors.GREY_1};\n }\n`;\n});\n\nconst BodyContainer = styled.div<{ $viewMode?: boolean }>(\n ({ theme, $viewMode }) => `\n position: relative;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n margin-bottom: ${theme.layout.gutter * 0.5}px;\n border: 1px solid ${theme.colors.GREY_1};\n border-radius: ${theme.layout.gutter * 0.75}px;\n ${\n $viewMode\n ? `\n pointer-events: none;\n `\n : ``\n }\n`,\n);\n\nconst FooterWrapper = styled.div(({ theme }) => {\n const {\n layout: { gutter },\n colors,\n } = theme;\n\n return `\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n height: ${gutter * 4.5}px;\n background-color: ${colors.YELLOW_1};\n border-radius: ${gutter * 0.625}px;\n `;\n});\n\ninterface IContentWrapperProps {\n $height?: string;\n}\n\nconst ContentWrapper = styled.div<IContentWrapperProps>(\n ({ theme, $height }) => `\n display: flex;\n flex-direction: column;\n width: 838px;\n height: ${$height || 'auto'};\n padding: ${theme.layout.gutter * 2}px 0;\n margin: 0 auto;\n `,\n);\n\nexport { DynamicInputWrapper, BodyContainer, FooterWrapper, ContentWrapper };\n"],"names":["DynamicInputWrapper","styled","FlexView","theme","colors","gutter","BodyContainer","$viewMode","FooterWrapper","ContentWrapper","$height"],"mappings":";;AAIA,MAAMA,IAAsBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AACpD,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,QAAQ,EAAE,QAAAC,EAAO;AAAA,EAAA,IACfF;AAEG,SAAA;AAAA,aACIE,CAAM;AAAA,sBACGD,EAAO,MAAM;AAAA,mBAChBC,IAAS,GAAG;AAAA,kBACbD,EAAO,MAAM;AAAA;AAAA;AAAA,wBAGPA,EAAO,MAAM;AAAA;AAAA;AAGrC,CAAC,GAEKE,IAAgBL,EAAO;AAAA,EAC3B,CAAC,EAAE,OAAAE,GAAO,WAAAI,QAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKTJ,EAAM,OAAO,SAAS,GAAG;AAAA,sBACtBA,EAAM,OAAO,MAAM;AAAA,mBACtBA,EAAM,OAAO,SAAS,IAAI;AAAA,IAEzCI,IACI;AAAA;AAAA,UAGA,EACN;AAAA;AAEF,GAEMC,IAAgBP,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AACxC,QAAA;AAAA,IACJ,QAAQ,EAAE,QAAAE,EAAO;AAAA,IACjB,QAAAD;AAAA,EAAA,IACED;AAEG,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMKE,IAAS,GAAG;AAAA,wBACFD,EAAO,QAAQ;AAAA,qBAClBC,IAAS,KAAK;AAAA;AAEnC,CAAC,GAMKI,IAAiBR,EAAO;AAAA,EAC5B,CAAC,EAAE,OAAAE,GAAO,SAAAO,QAAc;AAAA;AAAA;AAAA;AAAA,cAIZA,KAAW,MAAM;AAAA,eAChBP,EAAM,OAAO,SAAS,CAAC;AAAA;AAAA;AAGtC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.tsx"],"sourcesContent":["import type { IValidation } from '../../../milestone-outcome-types';\n\nimport { Fragment } from 'react';\n\nimport { convertToTitleCase } from '../../../../../../helpers/label-text';\nimport TextInput from '../../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\n\nexport interface IRankInputProps {\n onChange: (value: Record<string, string>) => void;\n validation: IValidation | undefined;\n value: Record<string, string>;\n rankTypes: { key: string }[];\n}\n\nconst RankInputs: React.FC<IRankInputProps> = ({\n value,\n rankTypes,\n validation,\n onChange: handleUpdate,\n}) => {\n const handleRankTypeUpdate: React.ChangeEventHandler<HTMLInputElement> = event => {\n const { name, value: updatedRankTypeValue } = event.target;\n\n handleUpdate({ ...value, [name]: updatedRankTypeValue });\n };\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n {rankTypes.map(rankType => (\n <Fragment key={rankType.key}>\n <TextInput\n name={rankType.key}\n renderAs=\"primary\"\n type=\"number\"\n widthX={6}\n min={validation?.min}\n max={validation?.max}\n value={value?.[rankType.key] ?? ''}\n onChange={handleRankTypeUpdate}\n />\n <Text $renderAs=\"body1\">{convertToTitleCase(rankType.key)}</Text>\n </Fragment>\n ))}\n </FlexView>\n );\n};\n\nexport default RankInputs;\n"],"names":["RankInputs","value","rankTypes","validation","handleUpdate","handleRankTypeUpdate","event","name","updatedRankTypeValue","jsx","FlexView","rankType","jsxs","Fragment","TextInput","Text","convertToTitleCase"],"mappings":";;;;;;AAgBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAUC;AACZ,MAAM;AACJ,QAAMC,IAAmE,CAASC,MAAA;AAChF,UAAM,EAAE,MAAAC,GAAM,OAAOC,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/rank-inputs/index.tsx"],"sourcesContent":["import type { IValidation } from '../../../milestone-outcome-types';\n\nimport { Fragment } from 'react';\n\nimport { convertToTitleCase } from '../../../../../../helpers/label-text';\nimport TextInput from '../../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\n\nexport interface IRankInputProps {\n onChange: (value: Record<string, string>) => void;\n validation: IValidation | undefined;\n value: Record<string, string>;\n rankTypes: { key: string }[];\n}\n\nconst RankInputs: React.FC<IRankInputProps> = ({\n value,\n rankTypes,\n validation,\n onChange: handleUpdate,\n}) => {\n const handleRankTypeUpdate: React.ChangeEventHandler<HTMLInputElement> = event => {\n const { name, value: updatedRankTypeValue } = event.target;\n\n handleUpdate({ ...value, [name]: updatedRankTypeValue });\n };\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n {rankTypes.map(rankType => (\n <Fragment key={rankType.key}>\n <TextInput\n name={rankType.key}\n renderAs=\"primary\"\n type=\"number\"\n widthX={6}\n min={validation?.min}\n max={validation?.max}\n value={value?.[rankType.key] ?? ''}\n onChange={handleRankTypeUpdate}\n />\n <Text $renderAs=\"body1\">{convertToTitleCase(rankType.key)}</Text>\n </Fragment>\n ))}\n </FlexView>\n );\n};\n\nexport default RankInputs;\n"],"names":["RankInputs","value","rankTypes","validation","handleUpdate","handleRankTypeUpdate","event","name","updatedRankTypeValue","jsx","FlexView","rankType","jsxs","Fragment","TextInput","Text","convertToTitleCase"],"mappings":";;;;;;AAgBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAUC;AACZ,MAAM;AACJ,QAAMC,IAAmE,CAASC,MAAA;AAChF,UAAM,EAAE,MAAAC,GAAM,OAAOC,MAAyBF,EAAM;AAEpD,IAAAF,EAAa,EAAE,GAAGH,GAAO,CAACM,CAAI,GAAGC,GAAsB;AAAA,EACzD;AAEA,SACG,gBAAAC,EAAAC,GAAA,EAAS,gBAAe,OAAM,aAAY,UAAS,WAAW,GAC5D,UAAUR,EAAA,IAAI,CACbS,MAAA,gBAAAC,EAACC,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAJ;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,MAAMH,EAAS;AAAA,QACf,UAAS;AAAA,QACT,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,KAAKR,KAAA,gBAAAA,EAAY;AAAA,QACjB,KAAKA,KAAA,gBAAAA,EAAY;AAAA,QACjB,QAAOF,KAAA,gBAAAA,EAAQU,EAAS,SAAQ;AAAA,QAChC,UAAUN;AAAA,MAAA;AAAA,IACZ;AAAA,sBACCU,GAAK,EAAA,WAAU,SAAS,UAAmBC,EAAAL,EAAS,GAAG,EAAE,CAAA;AAAA,EAX7C,EAAA,GAAAA,EAAS,GAYxB,CACD,GACH;AAEJ;"}
|
package/dist/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IPlaceholder,\n IValidation,\n IVariant,\n} from '../../../milestone-outcome-types';\n\nimport React, { useMemo, useState } from 'react';\n\nimport NumRangeInput from '../../../../../ui/inputs/num-range-input/num-range-input';\nimport SelectInput from '../../../../../ui/inputs/select-input/select-input';\nimport TextInput from '../../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { parseNumRangeValue } from '../outcome-form/outcome-form-helpers';\n\ntype TOutcomeFormField = keyof Omit<IMileStoneOutcomeFormFields, 'input_variant'>;\n\ntype TValue = IMileStoneOutcomeFormFields[TOutcomeFormField];\n\nexport interface INumInputWithVariantProps {\n onChange: (value: string | { middle: string; end: string }) => void;\n variants: IVariant[];\n updateVariant: (value: string | undefined) => void;\n validation: IValidation | undefined;\n value: TValue | undefined;\n placeholder: IPlaceholder;\n}\n\nconst NumInputWithVariant: React.FC<INumInputWithVariantProps> = ({\n onChange,\n variants,\n validation,\n value,\n placeholder,\n updateVariant,\n}) => {\n const [selectedVariant, setSelectedVariant] = useState(() => {\n return variants.find(variant => variant.default);\n });\n\n const handleVariantChange = (variantType: string) => {\n const updatedVariant = variants.find(variant => variant.type === variantType);\n\n if (updatedVariant) {\n setSelectedVariant(updatedVariant);\n const { input_variant: schemeVariant } = updatedVariant;\n\n updateVariant(schemeVariant);\n }\n };\n\n const variantOptions = useMemo(\n () =>\n variants.map(({ type, key }) => ({\n id: type,\n label: key,\n })),\n [variants],\n );\n\n const { type } = selectedVariant || {};\n\n return (\n <>\n <FlexView $marginBottomX={0.5}>\n <SelectInput\n renderAs=\"primary\"\n widthX={24}\n options={variantOptions}\n label=\"Select Variant\"\n value={type}\n onChange={handleVariantChange}\n />\n </FlexView>\n {type === 'out_of' && (\n <NumRangeInput\n onChange={onChange}\n value={parseNumRangeValue(value)}\n middleMax={validation?.max}\n endMax={validation?.max}\n middlePlaceholder={placeholder && placeholder.marks}\n endPlaceholder={placeholder && placeholder.maxMarks}\n />\n )}\n {type === 'absolute' && (\n <TextInput\n renderAs=\"primary\"\n type=\"number\"\n widthX={6}\n min={validation?.min}\n max={validation?.max}\n value={value as string}\n onChange={e => {\n onChange(e.target.value);\n }}\n placeholder={placeholder.maxMarks}\n />\n )}\n </>\n );\n};\n\nexport default NumInputWithVariant;\n"],"names":["NumInputWithVariant","onChange","variants","validation","value","placeholder","updateVariant","selectedVariant","setSelectedVariant","useState","variant","handleVariantChange","variantType","updatedVariant","schemeVariant","variantOptions","useMemo","type","key","jsxs","Fragment","jsx","FlexView","SelectInput","NumRangeInput","parseNumRangeValue","TextInput","e"],"mappings":";;;;;;;AA4BA,MAAMA,IAA2D,CAAC;AAAA,EAChE,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAS,MAC9CP,EAAS,KAAK,CAAWQ,MAAAA,EAAQ,OAAO,CAChD,GAEKC,IAAsB,CAACC,MAAwB;AACnD,UAAMC,IAAiBX,EAAS,KAAK,CAAWQ,MAAAA,EAAQ,SAASE,CAAW;AAE5E,QAAIC,GAAgB;AAClB,MAAAL,EAAmBK,CAAc;AAC3B,YAAA,EAAE,eAAeC,
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/features/milestone/outcome/comps/outcome-collection/score-marks-input/index.tsx"],"sourcesContent":["import type {\n IMileStoneOutcomeFormFields,\n IPlaceholder,\n IValidation,\n IVariant,\n} from '../../../milestone-outcome-types';\n\nimport React, { useMemo, useState } from 'react';\n\nimport NumRangeInput from '../../../../../ui/inputs/num-range-input/num-range-input';\nimport SelectInput from '../../../../../ui/inputs/select-input/select-input';\nimport TextInput from '../../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport { parseNumRangeValue } from '../outcome-form/outcome-form-helpers';\n\ntype TOutcomeFormField = keyof Omit<IMileStoneOutcomeFormFields, 'input_variant'>;\n\ntype TValue = IMileStoneOutcomeFormFields[TOutcomeFormField];\n\nexport interface INumInputWithVariantProps {\n onChange: (value: string | { middle: string; end: string }) => void;\n variants: IVariant[];\n updateVariant: (value: string | undefined) => void;\n validation: IValidation | undefined;\n value: TValue | undefined;\n placeholder: IPlaceholder;\n}\n\nconst NumInputWithVariant: React.FC<INumInputWithVariantProps> = ({\n onChange,\n variants,\n validation,\n value,\n placeholder,\n updateVariant,\n}) => {\n const [selectedVariant, setSelectedVariant] = useState(() => {\n return variants.find(variant => variant.default);\n });\n\n const handleVariantChange = (variantType: string) => {\n const updatedVariant = variants.find(variant => variant.type === variantType);\n\n if (updatedVariant) {\n setSelectedVariant(updatedVariant);\n const { input_variant: schemeVariant } = updatedVariant;\n\n updateVariant(schemeVariant);\n }\n };\n\n const variantOptions = useMemo(\n () =>\n variants.map(({ type, key }) => ({\n id: type,\n label: key,\n })),\n [variants],\n );\n\n const { type } = selectedVariant || {};\n\n return (\n <>\n <FlexView $marginBottomX={0.5}>\n <SelectInput\n renderAs=\"primary\"\n widthX={24}\n options={variantOptions}\n label=\"Select Variant\"\n value={type}\n onChange={handleVariantChange}\n />\n </FlexView>\n {type === 'out_of' && (\n <NumRangeInput\n onChange={onChange}\n value={parseNumRangeValue(value)}\n middleMax={validation?.max}\n endMax={validation?.max}\n middlePlaceholder={placeholder && placeholder.marks}\n endPlaceholder={placeholder && placeholder.maxMarks}\n />\n )}\n {type === 'absolute' && (\n <TextInput\n renderAs=\"primary\"\n type=\"number\"\n widthX={6}\n min={validation?.min}\n max={validation?.max}\n value={value as string}\n onChange={e => {\n onChange(e.target.value);\n }}\n placeholder={placeholder.maxMarks}\n />\n )}\n </>\n );\n};\n\nexport default NumInputWithVariant;\n"],"names":["NumInputWithVariant","onChange","variants","validation","value","placeholder","updateVariant","selectedVariant","setSelectedVariant","useState","variant","handleVariantChange","variantType","updatedVariant","schemeVariant","variantOptions","useMemo","type","key","jsxs","Fragment","jsx","FlexView","SelectInput","NumRangeInput","parseNumRangeValue","TextInput","e"],"mappings":";;;;;;;AA4BA,MAAMA,IAA2D,CAAC;AAAA,EAChE,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AACF,MAAM;AACJ,QAAM,CAACC,GAAiBC,CAAkB,IAAIC,EAAS,MAC9CP,EAAS,KAAK,CAAWQ,MAAAA,EAAQ,OAAO,CAChD,GAEKC,IAAsB,CAACC,MAAwB;AACnD,UAAMC,IAAiBX,EAAS,KAAK,CAAWQ,MAAAA,EAAQ,SAASE,CAAW;AAE5E,QAAIC,GAAgB;AAClB,MAAAL,EAAmBK,CAAc;AAC3B,YAAA,EAAE,eAAeC,EAAA,IAAkBD;AAEzC,MAAAP,EAAcQ,CAAa;AAAA,IAAA;AAAA,EAE/B,GAEMC,IAAiBC;AAAA,IACrB,MACEd,EAAS,IAAI,CAAC,EAAE,MAAAe,GAAM,KAAAC,SAAW;AAAA,MAC/B,IAAID;AAAAA,MACJ,OAAOC;AAAA,IAAA,EACP;AAAA,IACJ,CAAChB,CAAQ;AAAA,EACX,GAEM,EAAE,MAAAe,MAASV,KAAmB,CAAC;AAErC,SAEI,gBAAAY,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAS,gBAAgB,KACxB,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAASR;AAAA,QACT,OAAM;AAAA,QACN,OAAOE;AAAA,QACP,UAAUN;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IACCM,MAAS,YACR,gBAAAI;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,UAAAvB;AAAA,QACA,OAAOwB,EAAmBrB,CAAK;AAAA,QAC/B,WAAWD,KAAA,gBAAAA,EAAY;AAAA,QACvB,QAAQA,KAAA,gBAAAA,EAAY;AAAA,QACpB,mBAAmBE,KAAeA,EAAY;AAAA,QAC9C,gBAAgBA,KAAeA,EAAY;AAAA,MAAA;AAAA,IAC7C;AAAA,IAEDY,MAAS,cACR,gBAAAI;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,KAAKvB,KAAA,gBAAAA,EAAY;AAAA,QACjB,KAAKA,KAAA,gBAAAA,EAAY;AAAA,QACjB,OAAAC;AAAA,QACA,UAAU,CAAKuB,MAAA;AACJ,UAAA1B,EAAA0B,EAAE,OAAO,KAAK;AAAA,QACzB;AAAA,QACA,aAAatB,EAAY;AAAA,MAAA;AAAA,IAAA;AAAA,EAC3B,GAEJ;AAEJ;"}
|
package/dist/features/milestone/outcome/comps/past-milestone/past-milestone-container.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"past-milestone-container.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-container.tsx"],"sourcesContent":["import type {\n IMileStoneFormFields,\n TMilestonePayload,\n} from '../../../create/milestone-create-types';\nimport type { TTestType } from '../../../types';\nimport type { IPastMilestoneProps } from './past-milestone-types';\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport NextIcon from '../../../../../assets/line-icons/icons/next';\nimport Button from '../../../../ui/buttons/button/button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport RadioCards from '../../../../ui/radio-cards/radio-cards';\nimport Text from '../../../../ui/text/text';\nimport { useGetMileStoneConfig } from '../../../create/api/milestone-config';\nimport { useMilestonePost } from '../../../create/api/milestone-submit';\nimport { TEST_TYPE_OPTIONS } from '../../../create/comps/test-type-step/test-type-step-constants';\nimport PastMilestoneForm from './past-milestone-form';\nimport { FooterWrapper } from './past-milestone-styled';\nimport Question from './question';\n\nconst PastMilestoneContainer: React.FC<IPastMilestoneProps> = ({\n studentId,\n studentName,\n onSubmit,\n onError,\n grade: prevGrade,\n courseStream,\n}) => {\n const [testType, setTestType] = useState<TTestType>();\n const [canSubmit, setCanSubmit] = useState(false);\n const [formData, setFormData] = useState<IMileStoneFormFields>({ grade: prevGrade });\n const [dateErrorMessage, setDateErrorMessage] = useState('');\n const { get: getConfig, data: configData } = useGetMileStoneConfig();\n const { onEvent: trackEvent } = useUIContext();\n const itemIdRef = useRef(uuidv4());\n\n const testTypeOptions = useMemo(\n () =>\n TEST_TYPE_OPTIONS.filter(({ id }) =>\n courseStream === 'MATH' ? id !== 'no-test' : id === 'non-standardized',\n ),\n [courseStream],\n );\n\n const currentDate = useMemo(() => {\n const today = new Date();\n\n return today.toISOString().split('T')[0];\n }, []);\n\n // Get date that was 5 years ago\n const fiveYearsAgoDate = useMemo(() => {\n const today = new Date();\n\n today.setFullYear(today.getFullYear() - 5);\n\n return today.toISOString().split('T')[0];\n }, []);\n\n const handleFormDataChange = useCallback(\n (changedData: IMileStoneFormFields) => {\n const { milestoneEndDate } = changedData || {};\n\n if (\n dateErrorMessage &&\n milestoneEndDate &&\n currentDate &&\n fiveYearsAgoDate &&\n milestoneEndDate <= currentDate &&\n milestoneEndDate > fiveYearsAgoDate\n ) {\n setDateErrorMessage('');\n }\n\n setFormData(prevFormData => ({ ...prevFormData, ...changedData }));\n },\n [currentDate, dateErrorMessage, fiveYearsAgoDate],\n );\n const handleOnSubmit = (errorMessage: string | null, data?: Record<string, unknown>) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n const { id: milestoneId = '' } = data || {};\n\n trackEvent('TEST_DETAILS_SUBMITTED', {\n milestone_id: milestoneId,\n temporary_milestone_id: itemIdRef.current,\n });\n onSubmit(milestoneId as string);\n }\n };\n\n useEffect(() => {\n trackEvent('TEST_DETAILS_PAGE_LOADED', {\n temporary_milestone_id: itemIdRef.current,\n });\n }, [trackEvent]);\n\n useEffect(() => {\n getConfig('', undefined);\n }, [getConfig]);\n const { post: postMilestone, isProcessing } = useMilestonePost({\n onComplete: handleOnSubmit,\n });\n const handleTestTypeChange = (inputTestType: TTestType) => {\n setTestType(inputTestType);\n setFormData({ grade: prevGrade });\n };\n\n const createMilestone = () => {\n const { grade, testName, board, milestoneEndDate, academicEventId } = formData;\n\n if (\n milestoneEndDate &&\n currentDate &&\n fiveYearsAgoDate &&\n (milestoneEndDate > currentDate || milestoneEndDate < fiveYearsAgoDate)\n ) {\n if (milestoneEndDate > currentDate) {\n setDateErrorMessage('Please enter a past date');\n } else {\n setDateErrorMessage('Please select a date within the past 5 years');\n }\n\n return;\n }\n\n const payload: TMilestonePayload = {\n grade,\n test_name: testName,\n board,\n course_stream: courseStream,\n milestone_date_ts: milestoneEndDate ? new Date(milestoneEndDate).getTime() / 1000 : null,\n academic_event_id: academicEventId,\n publish: true,\n };\n\n postMilestone(payload, {\n studentId,\n });\n };\n\n if (!studentId) {\n return <div>Error</div>;\n }\n\n return (\n <>\n <FlexView $height={'max-content'} $alignItems=\"center\">\n <Text\n $renderAs=\"h4\"\n $align=\"center\"\n $alignSelf=\"center\"\n $widthX={28.75}\n $marginBottomX={0.75}\n >\n Please enter the test details\n </Text>\n <Question\n index={0}\n description=\"What was the type of test?\"\n inputComponent={\n <RadioCards\n options={testTypeOptions}\n value={testType}\n widthX={18.75}\n onChange={handleTestTypeChange}\n analyticsLabel=\"test_type\"\n />\n }\n />\n {configData && testType && (\n <PastMilestoneForm\n config={configData}\n testType={testType}\n studentName={studentName}\n formData={formData}\n onFormDataChange={handleFormDataChange}\n onFormValidityChange={setCanSubmit}\n errorMessage={dateErrorMessage}\n />\n )}\n </FlexView>\n {testType && (\n <FooterWrapper>\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\">\n <Button\n label=\"Add outcome\"\n renderAs=\"primary\"\n widthX={16}\n Icon={NextIcon}\n onClick={createMilestone}\n disabled={!canSubmit}\n busy={isProcessing}\n iconPosition=\"right\"\n analyticsProps={{\n temporary_milestone_id: itemIdRef.current,\n }}\n />\n </FlexView>\n </FooterWrapper>\n )}\n </>\n );\n};\n\nexport default PastMilestoneContainer;\n"],"names":["PastMilestoneContainer","studentId","studentName","onSubmit","onError","prevGrade","courseStream","testType","setTestType","useState","canSubmit","setCanSubmit","formData","setFormData","dateErrorMessage","setDateErrorMessage","getConfig","configData","useGetMileStoneConfig","trackEvent","useUIContext","itemIdRef","useRef","uuidv4","testTypeOptions","useMemo","TEST_TYPE_OPTIONS","id","currentDate","fiveYearsAgoDate","today","handleFormDataChange","useCallback","changedData","milestoneEndDate","prevFormData","handleOnSubmit","errorMessage","data","milestoneId","useEffect","postMilestone","isProcessing","useMilestonePost","handleTestTypeChange","inputTestType","createMilestone","grade","testName","board","academicEventId","payload","jsxs","Fragment","FlexView","jsx","Text","Question","RadioCards","PastMilestoneForm","FooterWrapper","Button","NextIcon"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"past-milestone-container.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-container.tsx"],"sourcesContent":["import type {\n IMileStoneFormFields,\n TMilestonePayload,\n} from '../../../create/milestone-create-types';\nimport type { TTestType } from '../../../types';\nimport type { IPastMilestoneProps } from './past-milestone-types';\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport NextIcon from '../../../../../assets/line-icons/icons/next';\nimport Button from '../../../../ui/buttons/button/button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport RadioCards from '../../../../ui/radio-cards/radio-cards';\nimport Text from '../../../../ui/text/text';\nimport { useGetMileStoneConfig } from '../../../create/api/milestone-config';\nimport { useMilestonePost } from '../../../create/api/milestone-submit';\nimport { TEST_TYPE_OPTIONS } from '../../../create/comps/test-type-step/test-type-step-constants';\nimport PastMilestoneForm from './past-milestone-form';\nimport { FooterWrapper } from './past-milestone-styled';\nimport Question from './question';\n\nconst PastMilestoneContainer: React.FC<IPastMilestoneProps> = ({\n studentId,\n studentName,\n onSubmit,\n onError,\n grade: prevGrade,\n courseStream,\n}) => {\n const [testType, setTestType] = useState<TTestType>();\n const [canSubmit, setCanSubmit] = useState(false);\n const [formData, setFormData] = useState<IMileStoneFormFields>({ grade: prevGrade });\n const [dateErrorMessage, setDateErrorMessage] = useState('');\n const { get: getConfig, data: configData } = useGetMileStoneConfig();\n const { onEvent: trackEvent } = useUIContext();\n const itemIdRef = useRef(uuidv4());\n\n const testTypeOptions = useMemo(\n () =>\n TEST_TYPE_OPTIONS.filter(({ id }) =>\n courseStream === 'MATH' ? id !== 'no-test' : id === 'non-standardized',\n ),\n [courseStream],\n );\n\n const currentDate = useMemo(() => {\n const today = new Date();\n\n return today.toISOString().split('T')[0];\n }, []);\n\n // Get date that was 5 years ago\n const fiveYearsAgoDate = useMemo(() => {\n const today = new Date();\n\n today.setFullYear(today.getFullYear() - 5);\n\n return today.toISOString().split('T')[0];\n }, []);\n\n const handleFormDataChange = useCallback(\n (changedData: IMileStoneFormFields) => {\n const { milestoneEndDate } = changedData || {};\n\n if (\n dateErrorMessage &&\n milestoneEndDate &&\n currentDate &&\n fiveYearsAgoDate &&\n milestoneEndDate <= currentDate &&\n milestoneEndDate > fiveYearsAgoDate\n ) {\n setDateErrorMessage('');\n }\n\n setFormData(prevFormData => ({ ...prevFormData, ...changedData }));\n },\n [currentDate, dateErrorMessage, fiveYearsAgoDate],\n );\n const handleOnSubmit = (errorMessage: string | null, data?: Record<string, unknown>) => {\n if (errorMessage) {\n onError(errorMessage);\n } else {\n const { id: milestoneId = '' } = data || {};\n\n trackEvent('TEST_DETAILS_SUBMITTED', {\n milestone_id: milestoneId,\n temporary_milestone_id: itemIdRef.current,\n });\n onSubmit(milestoneId as string);\n }\n };\n\n useEffect(() => {\n trackEvent('TEST_DETAILS_PAGE_LOADED', {\n temporary_milestone_id: itemIdRef.current,\n });\n }, [trackEvent]);\n\n useEffect(() => {\n getConfig('', undefined);\n }, [getConfig]);\n const { post: postMilestone, isProcessing } = useMilestonePost({\n onComplete: handleOnSubmit,\n });\n const handleTestTypeChange = (inputTestType: TTestType) => {\n setTestType(inputTestType);\n setFormData({ grade: prevGrade });\n };\n\n const createMilestone = () => {\n const { grade, testName, board, milestoneEndDate, academicEventId } = formData;\n\n if (\n milestoneEndDate &&\n currentDate &&\n fiveYearsAgoDate &&\n (milestoneEndDate > currentDate || milestoneEndDate < fiveYearsAgoDate)\n ) {\n if (milestoneEndDate > currentDate) {\n setDateErrorMessage('Please enter a past date');\n } else {\n setDateErrorMessage('Please select a date within the past 5 years');\n }\n\n return;\n }\n\n const payload: TMilestonePayload = {\n grade,\n test_name: testName,\n board,\n course_stream: courseStream,\n milestone_date_ts: milestoneEndDate ? new Date(milestoneEndDate).getTime() / 1000 : null,\n academic_event_id: academicEventId,\n publish: true,\n };\n\n postMilestone(payload, {\n studentId,\n });\n };\n\n if (!studentId) {\n return <div>Error</div>;\n }\n\n return (\n <>\n <FlexView $height={'max-content'} $alignItems=\"center\">\n <Text\n $renderAs=\"h4\"\n $align=\"center\"\n $alignSelf=\"center\"\n $widthX={28.75}\n $marginBottomX={0.75}\n >\n Please enter the test details\n </Text>\n <Question\n index={0}\n description=\"What was the type of test?\"\n inputComponent={\n <RadioCards\n options={testTypeOptions}\n value={testType}\n widthX={18.75}\n onChange={handleTestTypeChange}\n analyticsLabel=\"test_type\"\n />\n }\n />\n {configData && testType && (\n <PastMilestoneForm\n config={configData}\n testType={testType}\n studentName={studentName}\n formData={formData}\n onFormDataChange={handleFormDataChange}\n onFormValidityChange={setCanSubmit}\n errorMessage={dateErrorMessage}\n />\n )}\n </FlexView>\n {testType && (\n <FooterWrapper>\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\">\n <Button\n label=\"Add outcome\"\n renderAs=\"primary\"\n widthX={16}\n Icon={NextIcon}\n onClick={createMilestone}\n disabled={!canSubmit}\n busy={isProcessing}\n iconPosition=\"right\"\n analyticsProps={{\n temporary_milestone_id: itemIdRef.current,\n }}\n />\n </FlexView>\n </FooterWrapper>\n )}\n </>\n );\n};\n\nexport default PastMilestoneContainer;\n"],"names":["PastMilestoneContainer","studentId","studentName","onSubmit","onError","prevGrade","courseStream","testType","setTestType","useState","canSubmit","setCanSubmit","formData","setFormData","dateErrorMessage","setDateErrorMessage","getConfig","configData","useGetMileStoneConfig","trackEvent","useUIContext","itemIdRef","useRef","uuidv4","testTypeOptions","useMemo","TEST_TYPE_OPTIONS","id","currentDate","fiveYearsAgoDate","today","handleFormDataChange","useCallback","changedData","milestoneEndDate","prevFormData","handleOnSubmit","errorMessage","data","milestoneId","useEffect","postMilestone","isProcessing","useMilestonePost","handleTestTypeChange","inputTestType","createMilestone","grade","testName","board","academicEventId","payload","jsxs","Fragment","FlexView","jsx","Text","Question","RadioCards","PastMilestoneForm","FooterWrapper","Button","NextIcon"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"past-milestone-form.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-form.tsx"],"sourcesContent":["import type { IPastMilestoneFormProps } from './past-milestone-types';\n\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport GradeSelector from '../../../../ui/grade-selector/grade-selector';\nimport SearchableSelectInput from '../../../../ui/inputs/searchable-select-input/searchable-select-input';\nimport TextInput from '../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getSchoolTestsFromConfig } from '../../../create/milestone-create-helpers';\nimport Question from './question';\n\nconst PastMilestoneForm: React.FC<IPastMilestoneFormProps> = ({\n config,\n studentName,\n testType,\n formData,\n onFormDataChange,\n onFormValidityChange,\n errorMessage,\n}) => {\n const { grades } = config;\n const { grade, testName, milestoneEndDate } = formData;\n const {\n layout: { gutter },\n } = useTheme();\n\n const { academicEventId } = formData;\n const { academic_events: academicEvents } = config;\n\n const currentDate = useMemo(() => {\n return new Date().toISOString().split('T')[0];\n }, []);\n\n const [standardizedEvents] = useMemo(() => {\n let unknownTestEventId;\n\n const events = academicEvents\n .filter(\n ({\n id,\n event_code: eventCode,\n event_type: eventType,\n available_grade_and_syllabus_map: availableInGradeSyllabusMap,\n }) => {\n const availableGrades = Object.keys(availableInGradeSyllabusMap ?? {});\n\n if (eventCode === 'UNKNOWN') {\n unknownTestEventId = id;\n }\n\n if (grade && !availableGrades.includes(grade)) {\n return false;\n }\n\n return eventType === 'STANDARDISED_TEST' && eventCode !== 'UNKNOWN';\n },\n )\n .map(({ id, event_name: academicEventName }) => ({\n id,\n label: academicEventName,\n }));\n\n return [events, unknownTestEventId];\n }, [academicEvents, grade]);\n\n useEffect(() => {\n const isValid = !!grade && !!milestoneEndDate && !!testName;\n\n onFormValidityChange(isValid);\n }, [grade, milestoneEndDate, onFormValidityChange, testName]);\n\n const handleTestChange = useCallback(\n (eventId: string) => {\n const academicEvent = academicEvents.find(({ id }) => id === eventId);\n\n if (grade) {\n const {\n available_grade_and_syllabus_map: availableInGradeSyllabusMapFromResponse,\n event_name: academicTestName,\n } = academicEvent || {};\n const availableInGradeSyllabusMap = availableInGradeSyllabusMapFromResponse ?? {};\n const doesGradeHaveSyllabus = availableInGradeSyllabusMap[grade];\n\n if (doesGradeHaveSyllabus) {\n onFormDataChange({\n testName: academicTestName,\n academicEventId: eventId,\n standardizedTestType: 'known', //TODO: check if this is even required\n });\n } else {\n onFormDataChange({\n testName: academicTestName,\n academicEventId: eventId,\n standardizedTestType: 'incomplete',\n });\n }\n }\n },\n [academicEvents, grade, onFormDataChange],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n onFormDataChange({\n grade: selectedGrade,\n });\n },\n [onFormDataChange],\n );\n\n const handleDateChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n const value = event.target.value;\n\n if (!value) return;\n\n onFormDataChange({\n milestoneEndDate: value,\n });\n },\n [onFormDataChange],\n );\n\n const schoolTests = useMemo(() => getSchoolTestsFromConfig(config), [config]);\n const testTypeOptions = testType === 'standardized' ? standardizedEvents : schoolTests;\n\n return (\n <FlexView>\n <Question\n index={1}\n description={`What is ${studentName}'s class?`}\n inputComponent={\n <GradeSelector\n grades={grades}\n size=\"medium\"\n layoutAlignment=\"auto\"\n width={gutter * 43.75}\n tabsWidth={gutter * 5.25}\n selectedValue={grade}\n onSelect={handleGradeSelect}\n />\n }\n />\n {grade && (\n <Question\n index={2}\n description=\"What is the test called?\"\n inputComponent={\n <SearchableSelectInput\n renderAs=\"primary\"\n label=\"Test name\"\n options={testTypeOptions}\n value={academicEventId}\n onChange={handleTestChange}\n widthX={24}\n />\n }\n />\n )}\n {grade && (\n <Question\n index={3}\n description=\"When was the test?\"\n inputComponent={\n <TextInput\n renderAs=\"primary\"\n type=\"date\"\n widthX={19.5}\n label=\"Date\"\n value={milestoneEndDate}\n onChange={handleDateChange}\n max={currentDate}\n errorMessage={errorMessage}\n />\n }\n />\n )}\n </FlexView>\n );\n};\n\nexport default PastMilestoneForm;\n"],"names":["PastMilestoneForm","config","studentName","testType","formData","onFormDataChange","onFormValidityChange","errorMessage","grades","grade","testName","milestoneEndDate","gutter","useTheme","academicEventId","academicEvents","currentDate","useMemo","standardizedEvents","unknownTestEventId","id","eventCode","eventType","availableInGradeSyllabusMap","availableGrades","academicEventName","useEffect","handleTestChange","useCallback","eventId","academicEvent","availableInGradeSyllabusMapFromResponse","academicTestName","doesGradeHaveSyllabus","handleGradeSelect","selectedGrade","handleDateChange","event","value","schoolTests","getSchoolTestsFromConfig","testTypeOptions","FlexView","jsx","Question","GradeSelector","SearchableSelectInput","TextInput"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAuD,CAAC;AAAA,EAC5D,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,cAAAC;AACF,MAAM;AACE,QAAA,EAAE,QAAAC,
|
1
|
+
{"version":3,"file":"past-milestone-form.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-form.tsx"],"sourcesContent":["import type { IPastMilestoneFormProps } from './past-milestone-types';\n\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport GradeSelector from '../../../../ui/grade-selector/grade-selector';\nimport SearchableSelectInput from '../../../../ui/inputs/searchable-select-input/searchable-select-input';\nimport TextInput from '../../../../ui/inputs/text-input/text-input';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport { getSchoolTestsFromConfig } from '../../../create/milestone-create-helpers';\nimport Question from './question';\n\nconst PastMilestoneForm: React.FC<IPastMilestoneFormProps> = ({\n config,\n studentName,\n testType,\n formData,\n onFormDataChange,\n onFormValidityChange,\n errorMessage,\n}) => {\n const { grades } = config;\n const { grade, testName, milestoneEndDate } = formData;\n const {\n layout: { gutter },\n } = useTheme();\n\n const { academicEventId } = formData;\n const { academic_events: academicEvents } = config;\n\n const currentDate = useMemo(() => {\n return new Date().toISOString().split('T')[0];\n }, []);\n\n const [standardizedEvents] = useMemo(() => {\n let unknownTestEventId;\n\n const events = academicEvents\n .filter(\n ({\n id,\n event_code: eventCode,\n event_type: eventType,\n available_grade_and_syllabus_map: availableInGradeSyllabusMap,\n }) => {\n const availableGrades = Object.keys(availableInGradeSyllabusMap ?? {});\n\n if (eventCode === 'UNKNOWN') {\n unknownTestEventId = id;\n }\n\n if (grade && !availableGrades.includes(grade)) {\n return false;\n }\n\n return eventType === 'STANDARDISED_TEST' && eventCode !== 'UNKNOWN';\n },\n )\n .map(({ id, event_name: academicEventName }) => ({\n id,\n label: academicEventName,\n }));\n\n return [events, unknownTestEventId];\n }, [academicEvents, grade]);\n\n useEffect(() => {\n const isValid = !!grade && !!milestoneEndDate && !!testName;\n\n onFormValidityChange(isValid);\n }, [grade, milestoneEndDate, onFormValidityChange, testName]);\n\n const handleTestChange = useCallback(\n (eventId: string) => {\n const academicEvent = academicEvents.find(({ id }) => id === eventId);\n\n if (grade) {\n const {\n available_grade_and_syllabus_map: availableInGradeSyllabusMapFromResponse,\n event_name: academicTestName,\n } = academicEvent || {};\n const availableInGradeSyllabusMap = availableInGradeSyllabusMapFromResponse ?? {};\n const doesGradeHaveSyllabus = availableInGradeSyllabusMap[grade];\n\n if (doesGradeHaveSyllabus) {\n onFormDataChange({\n testName: academicTestName,\n academicEventId: eventId,\n standardizedTestType: 'known', //TODO: check if this is even required\n });\n } else {\n onFormDataChange({\n testName: academicTestName,\n academicEventId: eventId,\n standardizedTestType: 'incomplete',\n });\n }\n }\n },\n [academicEvents, grade, onFormDataChange],\n );\n\n const handleGradeSelect = useCallback(\n (selectedGrade: string) => {\n onFormDataChange({\n grade: selectedGrade,\n });\n },\n [onFormDataChange],\n );\n\n const handleDateChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n const value = event.target.value;\n\n if (!value) return;\n\n onFormDataChange({\n milestoneEndDate: value,\n });\n },\n [onFormDataChange],\n );\n\n const schoolTests = useMemo(() => getSchoolTestsFromConfig(config), [config]);\n const testTypeOptions = testType === 'standardized' ? standardizedEvents : schoolTests;\n\n return (\n <FlexView>\n <Question\n index={1}\n description={`What is ${studentName}'s class?`}\n inputComponent={\n <GradeSelector\n grades={grades}\n size=\"medium\"\n layoutAlignment=\"auto\"\n width={gutter * 43.75}\n tabsWidth={gutter * 5.25}\n selectedValue={grade}\n onSelect={handleGradeSelect}\n />\n }\n />\n {grade && (\n <Question\n index={2}\n description=\"What is the test called?\"\n inputComponent={\n <SearchableSelectInput\n renderAs=\"primary\"\n label=\"Test name\"\n options={testTypeOptions}\n value={academicEventId}\n onChange={handleTestChange}\n widthX={24}\n />\n }\n />\n )}\n {grade && (\n <Question\n index={3}\n description=\"When was the test?\"\n inputComponent={\n <TextInput\n renderAs=\"primary\"\n type=\"date\"\n widthX={19.5}\n label=\"Date\"\n value={milestoneEndDate}\n onChange={handleDateChange}\n max={currentDate}\n errorMessage={errorMessage}\n />\n }\n />\n )}\n </FlexView>\n );\n};\n\nexport default PastMilestoneForm;\n"],"names":["PastMilestoneForm","config","studentName","testType","formData","onFormDataChange","onFormValidityChange","errorMessage","grades","grade","testName","milestoneEndDate","gutter","useTheme","academicEventId","academicEvents","currentDate","useMemo","standardizedEvents","unknownTestEventId","id","eventCode","eventType","availableInGradeSyllabusMap","availableGrades","academicEventName","useEffect","handleTestChange","useCallback","eventId","academicEvent","availableInGradeSyllabusMapFromResponse","academicTestName","doesGradeHaveSyllabus","handleGradeSelect","selectedGrade","handleDateChange","event","value","schoolTests","getSchoolTestsFromConfig","testTypeOptions","FlexView","jsx","Question","GradeSelector","SearchableSelectInput","TextInput"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"past-milestone-styled.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nconst FooterWrapper = styled.div(({ theme }) => {\n const {\n layout: { gutter },\n colors,\n } = theme;\n\n return `\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n height: ${gutter * 4.5}px;\n background-color: ${colors.YELLOW_1};\n border-radius: ${gutter * 0.625}px;\n `;\n});\n\nexport { FooterWrapper };\n"],"names":["FooterWrapper","styled","theme","gutter","colors"],"mappings":";AAEA,MAAMA,IAAgBC,EAAO,IAAI,CAAC,EAAE,OAAAC,QAAY;AACxC,QAAA;AAAA,IACJ,QAAQ,EAAE,QAAAC,EAAO;AAAA,IACjB,QAAAC;AAAA,
|
1
|
+
{"version":3,"file":"past-milestone-styled.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/past-milestone-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nconst FooterWrapper = styled.div(({ theme }) => {\n const {\n layout: { gutter },\n colors,\n } = theme;\n\n return `\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n height: ${gutter * 4.5}px;\n background-color: ${colors.YELLOW_1};\n border-radius: ${gutter * 0.625}px;\n `;\n});\n\nexport { FooterWrapper };\n"],"names":["FooterWrapper","styled","theme","gutter","colors"],"mappings":";AAEA,MAAMA,IAAgBC,EAAO,IAAI,CAAC,EAAE,OAAAC,QAAY;AACxC,QAAA;AAAA,IACJ,QAAQ,EAAE,QAAAC,EAAO;AAAA,IACjB,QAAAC;AAAA,EAAA,IACEF;AAEG,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAMOC,IAAS,GAAG;AAAA,0BACFC,EAAO,QAAQ;AAAA,uBAClBD,IAAS,KAAK;AAAA;AAErC,CAAC;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"question.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/question.tsx"],"sourcesContent":["import type { QuestionProps } from './past-milestone-types';\n\nimport React from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nconst Question: React.FC<QuestionProps> = ({ index, description, inputComponent }): JSX.Element => {\n return (\n <FlexView $flexGapX={1} $widthX={40.5} $flexWrap $marginBottomX={1}>\n <Text $renderAs=\"body1\">{`${index + 1}. ${description}`}</Text>\n {inputComponent}\n </FlexView>\n );\n};\n\nexport default Question;\n"],"names":["Question","index","description","inputComponent","jsxs","FlexView","jsx","Text"],"mappings":";;;AAOA,MAAMA,IAAoC,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,QAE7D,gBAAAC,EAACC,KAAS,WAAW,GAAG,SAAS,MAAM,WAAS,IAAC,gBAAgB,GAC/D,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,SAAS,UAAA,GAAGN,IAAQ,CAAC,KAAKC,CAAW,GAAG,CAAA;AAAA,EACvDC;
|
1
|
+
{"version":3,"file":"question.js","sources":["../../../../../../src/features/milestone/outcome/comps/past-milestone/question.tsx"],"sourcesContent":["import type { QuestionProps } from './past-milestone-types';\n\nimport React from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nconst Question: React.FC<QuestionProps> = ({ index, description, inputComponent }): JSX.Element => {\n return (\n <FlexView $flexGapX={1} $widthX={40.5} $flexWrap $marginBottomX={1}>\n <Text $renderAs=\"body1\">{`${index + 1}. ${description}`}</Text>\n {inputComponent}\n </FlexView>\n );\n};\n\nexport default Question;\n"],"names":["Question","index","description","inputComponent","jsxs","FlexView","jsx","Text"],"mappings":";;;AAOA,MAAMA,IAAoC,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,gBAAAC,QAE7D,gBAAAC,EAACC,KAAS,WAAW,GAAG,SAAS,MAAM,WAAS,IAAC,gBAAgB,GAC/D,UAAA;AAAA,EAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,SAAS,UAAA,GAAGN,IAAQ,CAAC,KAAKC,CAAW,GAAG,CAAA;AAAA,EACvDC;AAAA,GACH;"}
|