@cuemath/leap 3.3.5 → 3.3.7-aa0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/assets/illustrations/illustrations.js +3 -1
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +1 -0
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/constants/config.js +5 -0
  6. package/dist/constants/config.js.map +1 -0
  7. package/dist/features/auth/comps/otp-input/otp-input.js +19 -18
  8. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  9. package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
  10. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
  11. package/dist/features/auth/comps/pill-button/pill-button.js +35 -33
  12. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  13. package/dist/features/auth/comps/user-list/user-item/user-item.js +32 -30
  14. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  15. package/dist/features/auth/comps/user-list/user-list.js +20 -19
  16. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  17. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
  18. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
  19. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +58 -29
  20. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
  21. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +78 -41
  22. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  23. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +37 -35
  24. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
  25. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +76 -71
  26. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  27. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +55 -50
  28. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  29. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +47 -25
  30. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  31. package/dist/features/milestone/constants.js +2 -1
  32. package/dist/features/milestone/constants.js.map +1 -1
  33. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  34. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js +25 -0
  35. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
  36. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
  37. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
  38. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
  39. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
  40. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
  41. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
  42. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
  43. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
  44. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
  45. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
  46. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
  47. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
  48. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
  49. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
  50. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  51. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
  52. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  53. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
  54. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  55. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
  56. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  57. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  58. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  59. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +131 -0
  60. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  61. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  62. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  63. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  64. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  65. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
  66. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  67. package/dist/features/trial-session/comps/pla/session-status/session-status.js +126 -0
  68. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  69. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +52 -0
  70. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  71. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +52 -0
  72. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  73. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
  74. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  75. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  76. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  77. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
  78. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  79. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
  80. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  81. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
  82. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  83. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
  84. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  85. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +31 -16
  86. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
  87. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +21 -13
  88. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  89. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +166 -94
  90. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  91. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +46 -31
  92. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -1
  93. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
  94. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
  95. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
  96. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  97. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
  98. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  99. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  100. package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
  101. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  102. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js +12 -11
  103. package/dist/features/ui/inputs/base-select-input/select-section/select-section.js.map +1 -1
  104. package/dist/features/ui/modals/modal.js +30 -28
  105. package/dist/features/ui/modals/modal.js.map +1 -1
  106. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +38 -38
  107. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  108. package/dist/index.d.ts +96 -10
  109. package/dist/index.js +388 -368
  110. package/dist/index.js.map +1 -1
  111. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  112. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  113. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  114. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  115. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  116. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  117. package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
  118. package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
  119. package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
  120. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
  121. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
  122. package/dist/static/username-responsive.787b5515.json +1 -0
  123. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = { degree_name?: string; field_of_study?: string };\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n countryCode?: string;\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AA+BY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"trial-session-types.js","sources":["../../../src/features/trial-session/trial-session-types.ts"],"sourcesContent":["import type { TNodeTypes } from '../../types/models/worksheet';\nimport type { IInfoMessage } from '../circle-games/games/web-view/web-view-types';\nimport type {\n IMilestoneConfig,\n TCourseStream,\n TPreferenceCategory,\n} from '../milestone/create/milestone-create-types';\nimport type { IAvatarLayer } from '../ui/avatar/avatar-types';\nimport type { TUserTypes } from '../ui/types';\nimport type { TPreference } from './comps/class-preference/class-preference-types';\nimport type {\n ITrialCircleConfig,\n ITrialCircleGameParams,\n} from './comps/trial-circle-game/trial-circle-game-types';\nimport type { TrialPageId } from './trial-session-constants';\nimport type { Dispatch, ReactElement, SetStateAction } from 'react';\n\nexport type { TSessionReportData as TSessionReport } from './comps/session-report/session-report-types';\n\nexport type TSlideId = TrialPageId;\n\nexport type TRegionData = {\n opportunity_country: string;\n};\n\nexport type TPreferenceSchema = {\n preference_code: string;\n preference_name: string;\n preference_category: TPreferenceCategory;\n};\n\nexport enum EClassTimeAlertLevel {\n FIVE_MIN = '5min',\n FIFTEEN_MIN = '15min',\n}\ninterface IButtonConfig {\n buttonLabel: string;\n pageId: string;\n}\n\nexport interface ISolution {\n media?: string;\n media_type?: 'image' | 'video';\n text?: string;\n}\n\nexport type TDegreeInformation = {\n degree_name?: string;\n field_of_study?: string;\n degree_code?: string;\n};\n\nexport interface ITeacherProfileDetails {\n lower_grade: string;\n higher_grade: string;\n header_image: string;\n years_of_experience: number;\n number_of_students_taught: number;\n countries: string[];\n degree: TDegreeInformation;\n first_name: string;\n last_name: string;\n teacher_profile_url?: string;\n}\n\nexport interface ISlide {\n id: TrialPageId;\n renderAs: 'split' | 'full';\n renderAVIn: 'left' | 'right';\n header: string;\n subHeader?: string;\n prevPage?: IButtonConfig;\n nextPage?: IButtonConfig;\n cues?: string[];\n dos?: string[];\n donts?: string[];\n navigationLabel?: string;\n slideTag?: string;\n teacher_profile?: ITeacherProfileDetails;\n solutions?: ISolution[];\n enableSessionPerk?: boolean;\n showProfileHighlights?: boolean;\n}\n\nexport interface TGoals {\n goal_code?: string;\n milestone_date_ts?: number;\n goal_category?: string;\n milestone_name?: string;\n publish?: boolean;\n}\n\nexport interface ITrialSessionFormFields {\n id: string;\n name?: string;\n grade?: string;\n curriculum?: string;\n goals?: TGoals[];\n studentProfile?: {\n profileSummary?: string;\n dummyProfileImageIndex?: number;\n summaryFetched?: boolean;\n summaryFetchFailed?: boolean;\n };\n userNodeId?: string;\n nodeId?: string;\n nodeType?: TNodeTypes;\n attemptId?: string;\n preferences?: TPreference[];\n personalizedLevel?: string[];\n personalizedFocus?: string[];\n personalizedBehaviors?: string[];\n personalizedObjectives?: string[];\n isCircleGamePlayed?: boolean;\n isCirclePuzzleSolved?: boolean;\n isCircleSkillCompleted?: boolean;\n studentTimezone?: string;\n showCircleGameScreen?: boolean;\n accuracyStr?: string;\n totalTimeTaken?: number;\n chapterId?: string;\n matchmakingId?: string;\n numberInNameError?: boolean;\n}\n\nexport interface IButtonState {\n isDisabled: boolean;\n isLoading: boolean;\n}\n\nexport interface ITrialHomeData {\n pages: ISlide[];\n demo_info: {\n student_classroom_id: string;\n stream: TCourseStream;\n region_data: TRegionData;\n };\n parent: {\n name: string;\n };\n student: {\n grade: string;\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n teacher: {\n name: string;\n circle_username: string;\n user_avatar: IAvatarLayer[];\n };\n circle_trial_game_config: ITrialCircleConfig;\n}\n\nexport interface IClassTimeAlertConfig {\n alertLevel: EClassTimeAlertLevel | null;\n isVisible: boolean;\n onComplete: () => void;\n}\n\nexport interface ITrialSessionProps {\n countryCode?: string;\n classStartedOn?: Date;\n height?: string | number;\n userType: TUserTypes;\n studentId: string;\n teacherId: string;\n teacherClassroomId: string;\n teacherPanel?: ReactElement;\n studentPanel?: ReactElement;\n formData?: ITrialSessionFormFields;\n onFormDataChange?: Dispatch<SetStateAction<ITrialSessionFormFields | undefined>>;\n worksheet?: ReactElement;\n worksheetNavigationPanel?: ReactElement;\n questionsRatingPanel?: ReactElement;\n studentAbsentInClass?: boolean;\n openEndClassModal?: () => void;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n classTimeAlertConfig?: IClassTimeAlertConfig;\n classDuration?: number;\n}\n\nexport interface ITrialSessionContext\n extends Pick<\n ITrialSessionProps,\n | 'classStartedOn'\n | 'formData'\n | 'teacherPanel'\n | 'studentId'\n | 'teacherId'\n | 'studentPanel'\n | 'worksheet'\n | 'worksheetNavigationPanel'\n | 'questionsRatingPanel'\n | 'openEndClassModal'\n | 'studentAbsentInClass'\n | 'classDuration'\n | 'classTimeAlertConfig'\n > {\n buttonState: { left: IButtonState; right: IButtonState };\n isTeacher: boolean;\n milestoneConfig: IMilestoneConfig;\n slideConfig: ISlide;\n updateButtonState: (\n btnNavDir: 'left' | 'right' | 'both',\n currentState: IButtonState | { left: IButtonState; right: IButtonState },\n ) => void;\n updateSlideConfig: (config: Partial<ITrialSessionFormFields>) => void;\n trialHomeData: ITrialHomeData;\n onTrialInformationUpdate?: () => void;\n circleGames: ITrialCircleGameParams;\n trialGameUrl: string;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n\nexport interface ITrialSessionViewProps extends ITrialSessionProps {\n trialHomeData: ITrialHomeData;\n milestoneConfig: IMilestoneConfig;\n studentTimezone?: string;\n onStudentTimezoneUpdate?: () => void;\n onTrialInformationUpdate?: () => void;\n handleInfoMessage: (message: IInfoMessage) => void;\n onRemoveOptionalSlides?: (grade?: string) => void;\n}\n"],"names":["EClassTimeAlertLevel"],"mappings":"AA+BY,IAAAA,sBAAAA,OACVA,EAAA,WAAW,QACXA,EAAA,cAAc,SAFJA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,38 +1,41 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import { memo as b, useMemo as z } from "react";
3
- import { useTheme as B } from "styled-components";
4
- import { ILLUSTRATIONS as T } from "../../../../assets/illustrations/illustrations.js";
5
- import $ from "../../hooks/use-click-handler.js";
6
- import { EDeviceType as c } from "../../theme/constants.js";
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { memo as L, useMemo as z, useCallback as B } from "react";
3
+ import { useTheme as T } from "styled-components";
4
+ import { ILLUSTRATIONS as $ } from "../../../../assets/illustrations/illustrations.js";
5
+ import k from "../../hooks/use-click-handler.js";
6
+ import { EDeviceType as m } from "../../theme/constants.js";
7
7
  import { Loader as A } from "../button/button-styled.js";
8
- import { IconButtonWrapper as C, IconWrapper as O } from "./icon-button-styled.js";
9
- const h = b((m) => {
8
+ import { IconButtonWrapper as O, IconWrapper as h } from "./icon-button-styled.js";
9
+ const y = L((a) => {
10
10
  const {
11
- Icon: l,
12
- size: o,
13
- sizeOnMobile: n,
11
+ Icon: u,
12
+ size: e,
13
+ sizeOnMobile: i,
14
14
  sizeOnTablet: r,
15
- onClick: a,
16
- renderAs: i,
17
- disabled: u,
18
- analyticsLabel: p,
19
- analyticsProps: d,
20
- customBgColor: f,
21
- busy: I
22
- } = m, { handleClick: L } = $({ analyticsLabel: p, analyticsProps: d }, a), { device: t } = B(), s = z(() => t <= c.MOBILE ? n || r || o : t <= c.TABLET && r || o, [t, o, n, r]);
23
- return /* @__PURE__ */ e(
24
- C,
15
+ onClick: d,
16
+ renderAs: s,
17
+ disabled: p,
18
+ analyticsLabel: f,
19
+ analyticsProps: b,
20
+ customBgColor: C,
21
+ busy: n
22
+ } = a, { handleClick: c } = k({ analyticsLabel: f, analyticsProps: b }, d), { device: t } = T(), l = z(() => t <= m.MOBILE ? i || r || e : t <= m.TABLET && r || e, [t, e, i, r]), I = B(() => {
23
+ if (n) return null;
24
+ c();
25
+ }, [n, c]);
26
+ return /* @__PURE__ */ o(
27
+ O,
25
28
  {
26
- disabled: u,
27
- $size: o,
28
- $buttonRenderAs: i,
29
- onClick: L,
30
- $customBgColor: f,
31
- children: I ? /* @__PURE__ */ e(A, { src: T.LOADER, alt: "Loader", $size: s || "small" }) : /* @__PURE__ */ e(O, { $size: s, $buttonRenderAs: i, children: /* @__PURE__ */ e(l, {}) })
29
+ disabled: p,
30
+ $size: e,
31
+ $buttonRenderAs: s,
32
+ onClick: I,
33
+ $customBgColor: C,
34
+ children: n ? /* @__PURE__ */ o(A, { src: $.LOADER, alt: "Loader", $size: l || "small" }) : /* @__PURE__ */ o(h, { $size: l, $buttonRenderAs: s, children: /* @__PURE__ */ o(u, {}) })
32
35
  }
33
36
  );
34
- }), x = h;
37
+ }), W = y;
35
38
  export {
36
- x as default
39
+ W as default
37
40
  };
38
41
  //# sourceMappingURL=icon-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sources":["../../../../../src/features/ui/buttons/icon-button/icon-button.tsx"],"sourcesContent":["import type { IIconButtonProps } from './icon-button-types';\n\nimport { memo, useMemo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { EDeviceType } from '../../theme/constants';\nimport { Loader } from '../button/button-styled';\nimport * as Styled from './icon-button-styled';\n\nconst IconButton: FC<IIconButtonProps> = memo(props => {\n const {\n Icon,\n size,\n sizeOnMobile,\n sizeOnTablet,\n onClick,\n renderAs,\n disabled,\n analyticsLabel,\n analyticsProps,\n customBgColor,\n busy,\n } = props;\n const { handleClick } = useClickHandler({ analyticsLabel, analyticsProps }, onClick);\n const { device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n return (\n <Styled.IconButtonWrapper\n disabled={disabled}\n $size={size}\n $buttonRenderAs={renderAs}\n onClick={handleClick}\n $customBgColor={customBgColor}\n >\n {busy ? (\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={renderSize || 'small'} />\n ) : (\n <Styled.IconWrapper $size={renderSize} $buttonRenderAs={renderAs}>\n <Icon />\n </Styled.IconWrapper>\n )}\n </Styled.IconButtonWrapper>\n );\n});\n\nexport default IconButton;\n"],"names":["IconButton","memo","props","Icon","size","sizeOnMobile","sizeOnTablet","onClick","renderAs","disabled","analyticsLabel","analyticsProps","customBgColor","busy","handleClick","useClickHandler","device","useTheme","renderSize","useMemo","EDeviceType","jsx","Styled.IconButtonWrapper","Loader","ILLUSTRATIONS","Styled.IconWrapper","IconButton$1"],"mappings":";;;;;;;;AAWA,MAAMA,IAAmCC,EAAK,CAASC,MAAA;AAC/C,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,MAAAC;AAAA,EACE,IAAAX,GACE,EAAE,aAAAY,MAAgBC,EAAgB,EAAE,gBAAAL,GAAgB,gBAAAC,EAAA,GAAkBJ,CAAO,GAC7E,EAAE,QAAAS,MAAWC,KACbC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBf,KAAgBC,KAAgBF,IAGrCY,KAAUI,EAAY,UACjBd,KAAgBF,GAIxB,CAACY,GAAQZ,GAAMC,GAAcC,CAAY,CAAC;AAG3C,SAAA,gBAAAe;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAAb;AAAA,MACA,OAAOL;AAAA,MACP,iBAAiBI;AAAA,MACjB,SAASM;AAAA,MACT,gBAAgBF;AAAA,MAEf,UAAAC,sBACEU,GAAO,EAAA,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAON,KAAc,SAAS,IAE7E,gBAAAG,EAAAI,GAAA,EAAmB,OAAOP,GAAY,iBAAiBV,GACtD,UAAC,gBAAAa,EAAAlB,GAAA,CAAA,CAAK,EACR,CAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC,GAEDuB,IAAe1B;"}
1
+ {"version":3,"file":"icon-button.js","sources":["../../../../../src/features/ui/buttons/icon-button/icon-button.tsx"],"sourcesContent":["import type { IIconButtonProps } from './icon-button-types';\n\nimport { memo, useCallback, useMemo, type FC } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../assets/illustrations/illustrations';\nimport useClickHandler from '../../hooks/use-click-handler';\nimport { EDeviceType } from '../../theme/constants';\nimport { Loader } from '../button/button-styled';\nimport * as Styled from './icon-button-styled';\n\nconst IconButton: FC<IIconButtonProps> = memo(props => {\n const {\n Icon,\n size,\n sizeOnMobile,\n sizeOnTablet,\n onClick,\n renderAs,\n disabled,\n analyticsLabel,\n analyticsProps,\n customBgColor,\n busy,\n } = props;\n const { handleClick } = useClickHandler({ analyticsLabel, analyticsProps }, onClick);\n const { device } = useTheme();\n const renderSize = useMemo(() => {\n if (device <= EDeviceType.MOBILE) {\n return sizeOnMobile || sizeOnTablet || size;\n }\n\n if (device <= EDeviceType.TABLET) {\n return sizeOnTablet || size;\n }\n\n return size;\n }, [device, size, sizeOnMobile, sizeOnTablet]);\n\n const handleOnClick = useCallback(() => {\n if (busy) return null;\n\n handleClick();\n }, [busy, handleClick]);\n\n return (\n <Styled.IconButtonWrapper\n disabled={disabled}\n $size={size}\n $buttonRenderAs={renderAs}\n onClick={handleOnClick}\n $customBgColor={customBgColor}\n >\n {busy ? (\n <Loader src={ILLUSTRATIONS.LOADER} alt=\"Loader\" $size={renderSize || 'small'} />\n ) : (\n <Styled.IconWrapper $size={renderSize} $buttonRenderAs={renderAs}>\n <Icon />\n </Styled.IconWrapper>\n )}\n </Styled.IconButtonWrapper>\n );\n});\n\nexport default IconButton;\n"],"names":["IconButton","memo","props","Icon","size","sizeOnMobile","sizeOnTablet","onClick","renderAs","disabled","analyticsLabel","analyticsProps","customBgColor","busy","handleClick","useClickHandler","device","useTheme","renderSize","useMemo","EDeviceType","handleOnClick","useCallback","jsx","Styled.IconButtonWrapper","Loader","ILLUSTRATIONS","Styled.IconWrapper","IconButton$1"],"mappings":";;;;;;;;AAWA,MAAMA,IAAmCC,EAAK,CAASC,MAAA;AAC/C,QAAA;AAAA,IACJ,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,MAAAC;AAAA,EACE,IAAAX,GACE,EAAE,aAAAY,MAAgBC,EAAgB,EAAE,gBAAAL,GAAgB,gBAAAC,EAAA,GAAkBJ,CAAO,GAC7E,EAAE,QAAAS,MAAWC,KACbC,IAAaC,EAAQ,MACrBH,KAAUI,EAAY,SACjBf,KAAgBC,KAAgBF,IAGrCY,KAAUI,EAAY,UACjBd,KAAgBF,GAIxB,CAACY,GAAQZ,GAAMC,GAAcC,CAAY,CAAC,GAEvCe,IAAgBC,EAAY,MAAM;AACtC,QAAIT,EAAa,QAAA;AAEL,IAAAC;EAAA,GACX,CAACD,GAAMC,CAAW,CAAC;AAGpB,SAAA,gBAAAS;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,UAAAf;AAAA,MACA,OAAOL;AAAA,MACP,iBAAiBI;AAAA,MACjB,SAASa;AAAA,MACT,gBAAgBT;AAAA,MAEf,UAAAC,sBACEY,GAAO,EAAA,KAAKC,EAAc,QAAQ,KAAI,UAAS,OAAOR,KAAc,SAAS,IAE7E,gBAAAK,EAAAI,GAAA,EAAmB,OAAOT,GAAY,iBAAiBV,GACtD,UAAC,gBAAAe,EAAApB,GAAA,CAAA,CAAK,EACR,CAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC,GAEDyB,IAAe5B;"}
@@ -1,8 +1,8 @@
1
- import { jsx as o, jsxs as h } from "react/jsx-runtime";
2
- import { memo as u, useCallback as l } from "react";
3
- import b from "../../../section-list/section-list.js";
1
+ import { jsx as o, jsxs as u } from "react/jsx-runtime";
2
+ import { memo as b, useCallback as l } from "react";
3
+ import f from "../../../section-list/section-list.js";
4
4
  import d from "../../../text/text.js";
5
- import { SelectOptionHeader as f, SelectOptionWrapper as A } from "./select-section-styled.js";
5
+ import { SelectOptionHeader as x, SelectOptionWrapper as A } from "./select-section-styled.js";
6
6
  const S = ({
7
7
  sectionOptions: a,
8
8
  theme: m,
@@ -10,12 +10,12 @@ const S = ({
10
10
  onChange: c
11
11
  }) => {
12
12
  const t = m === "dark", p = l(
13
- (e) => /* @__PURE__ */ o(f, { $gutterX: 1, children: /* @__PURE__ */ o(d, { $renderAs: "ac4", $color: t ? "WHITE_T_38" : "BLACK_T_38", children: e.title }) }),
13
+ (e) => /* @__PURE__ */ o(x, { $gutterX: 1, children: /* @__PURE__ */ o(d, { $renderAs: "ac4", $color: t ? "WHITE_T_38" : "BLACK_T_38", children: e.title }) }),
14
14
  [t]
15
15
  ), T = l(
16
16
  (e) => {
17
- const { id: r, label: $, tag: s } = e, i = r === n;
18
- return /* @__PURE__ */ h(
17
+ const { id: r, label: $, tag: i, textDecoration: h } = e, s = r === n;
18
+ return /* @__PURE__ */ u(
19
19
  A,
20
20
  {
21
21
  className: "base-select-input-option",
@@ -29,12 +29,13 @@ const S = ({
29
29
  /* @__PURE__ */ o(
30
30
  d,
31
31
  {
32
- $renderAs: t ? i ? "ub2-bold" : "ub2" : i ? "body1Medium" : "body1",
32
+ $renderAs: t ? s ? "ub2-bold" : "ub2" : s ? "body1Medium" : "body1",
33
33
  $color: t ? "WHITE_T_87" : "BLACK",
34
+ $textDecoration: h,
34
35
  children: $
35
36
  }
36
37
  ),
37
- s || null
38
+ i || null
38
39
  ]
39
40
  }
40
41
  );
@@ -42,7 +43,7 @@ const S = ({
42
43
  [n, t, c]
43
44
  );
44
45
  return /* @__PURE__ */ o(
45
- b,
46
+ f,
46
47
  {
47
48
  data: a,
48
49
  renderSectionHeader: p,
@@ -50,7 +51,7 @@ const S = ({
50
51
  keyExtractor: ({ id: e }, r) => `${e}_${r}`
51
52
  }
52
53
  );
53
- }, j = u(S);
54
+ }, j = b(S);
54
55
  export {
55
56
  j as default
56
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"select-section.js","sources":["../../../../../../src/features/ui/inputs/base-select-input/select-section/select-section.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../section-list/section-list-types';\nimport type { ISelectOption } from '../base-select-input-types';\nimport type { ISelectSection } from './select-section-types';\nimport type { ReactElement } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport SectionList from '../../../section-list/section-list';\nimport Text from '../../../text/text';\nimport * as Styled from './select-section-styled';\n\nconst SelectSectionComponent = <IDType extends string | number>({\n sectionOptions,\n theme,\n value,\n onChange,\n}: ISelectSection<IDType>): ReactElement => {\n const isDarkTheme = theme === 'dark';\n\n const renderSectionHeader = useCallback(\n (section: ISectionOption<ISelectOption<IDType>>) => {\n return (\n <Styled.SelectOptionHeader $gutterX={1}>\n <Text $renderAs=\"ac4\" $color={isDarkTheme ? 'WHITE_T_38' : 'BLACK_T_38'}>\n {section.title}\n </Text>\n </Styled.SelectOptionHeader>\n );\n },\n [isDarkTheme],\n );\n\n const renderItem = useCallback(\n (dataItem: ISelectOption<IDType>) => {\n const { id, label, tag } = dataItem;\n const selected = id === value;\n const lightThemeRenderAs = selected ? 'body1Medium' : 'body1';\n const darkThemeRenderAs = selected ? 'ub2-bold' : 'ub2';\n const Tag = tag ? (tag as ReactElement) : null;\n\n return (\n <Styled.SelectOptionWrapper\n className=\"base-select-input-option\"\n onClick={() => onChange(id, dataItem)}\n $width=\"100%\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={0.5}\n >\n <Text\n $renderAs={isDarkTheme ? darkThemeRenderAs : lightThemeRenderAs}\n $color={isDarkTheme ? 'WHITE_T_87' : 'BLACK'}\n >\n {label}\n </Text>\n\n {Tag}\n </Styled.SelectOptionWrapper>\n );\n },\n [value, isDarkTheme, onChange],\n );\n\n return (\n <SectionList<ISelectOption<IDType>>\n data={sectionOptions}\n renderSectionHeader={renderSectionHeader}\n renderItem={renderItem}\n keyExtractor={({ id }, idx) => `${id}_${idx}`}\n />\n );\n};\n\nconst SelectSection = memo(SelectSectionComponent) as <IDType extends string | number>(\n props: ISelectSection<IDType>,\n) => ReactElement;\n\nexport default SelectSection;\n"],"names":["SelectSectionComponent","sectionOptions","theme","value","onChange","isDarkTheme","renderSectionHeader","useCallback","section","Styled.SelectOptionHeader","jsx","Text","renderItem","dataItem","id","label","tag","selected","jsxs","Styled.SelectOptionWrapper","SectionList","idx","SelectSection","memo"],"mappings":";;;;;AAWA,MAAMA,IAAyB,CAAiC;AAAA,EAC9D,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,MAA4C;AAC1C,QAAMC,IAAcH,MAAU,QAExBI,IAAsBC;AAAA,IAC1B,CAACC,wBAEIC,GAAA,EAA0B,UAAU,GACnC,UAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,OAAM,QAAQN,IAAc,eAAe,cACxD,UAAAG,EAAQ,OACX,EACF,CAAA;AAAA,IAGJ,CAACH,CAAW;AAAA,EAAA,GAGRO,IAAaL;AAAA,IACjB,CAACM,MAAoC;AACnC,YAAM,EAAE,IAAAC,GAAI,OAAAC,GAAO,KAAAC,EAAA,IAAQH,GACrBI,IAAWH,MAAOX;AAMtB,aAAA,gBAAAe;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAMf,EAASU,GAAID,CAAQ;AAAA,UACpC,QAAO;AAAA,UACP,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAY;AAAA,UACZ,WAAW;AAAA,UAEX,UAAA;AAAA,YAAA,gBAAAH;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,WAAWN,IAdSY,IAAW,aAAa,QADvBA,IAAW,gBAAgB;AAAA,gBAgBhD,QAAQZ,IAAc,eAAe;AAAA,gBAEpC,UAAAU;AAAA,cAAA;AAAA,YACH;AAAA,YAjBQC,KAA8B;AAAA,UAmBrC;AAAA,QAAA;AAAA,MAAA;AAAA,IAGP;AAAA,IACA,CAACb,GAAOE,GAAaD,CAAQ;AAAA,EAAA;AAI7B,SAAA,gBAAAM;AAAA,IAACU;AAAA,IAAA;AAAA,MACC,MAAMnB;AAAA,MACN,qBAAAK;AAAA,MACA,YAAAM;AAAA,MACA,cAAc,CAAC,EAAE,IAAAE,KAAMO,MAAQ,GAAGP,CAAE,IAAIO,CAAG;AAAA,IAAA;AAAA,EAAA;AAGjD,GAEMC,IAAgBC,EAAKvB,CAAsB;"}
1
+ {"version":3,"file":"select-section.js","sources":["../../../../../../src/features/ui/inputs/base-select-input/select-section/select-section.tsx"],"sourcesContent":["import type { ISectionOption } from '../../../section-list/section-list-types';\nimport type { ISelectOption } from '../base-select-input-types';\nimport type { ISelectSection } from './select-section-types';\nimport type { ReactElement } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport SectionList from '../../../section-list/section-list';\nimport Text from '../../../text/text';\nimport * as Styled from './select-section-styled';\n\nconst SelectSectionComponent = <IDType extends string | number>({\n sectionOptions,\n theme,\n value,\n onChange,\n}: ISelectSection<IDType>): ReactElement => {\n const isDarkTheme = theme === 'dark';\n\n const renderSectionHeader = useCallback(\n (section: ISectionOption<ISelectOption<IDType>>) => {\n return (\n <Styled.SelectOptionHeader $gutterX={1}>\n <Text $renderAs=\"ac4\" $color={isDarkTheme ? 'WHITE_T_38' : 'BLACK_T_38'}>\n {section.title}\n </Text>\n </Styled.SelectOptionHeader>\n );\n },\n [isDarkTheme],\n );\n\n const renderItem = useCallback(\n (dataItem: ISelectOption<IDType>) => {\n const { id, label, tag, textDecoration } = dataItem;\n const selected = id === value;\n const lightThemeRenderAs = selected ? 'body1Medium' : 'body1';\n const darkThemeRenderAs = selected ? 'ub2-bold' : 'ub2';\n const Tag = tag ? (tag as ReactElement) : null;\n\n return (\n <Styled.SelectOptionWrapper\n className=\"base-select-input-option\"\n onClick={() => onChange(id, dataItem)}\n $width=\"100%\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={0.5}\n >\n <Text\n $renderAs={isDarkTheme ? darkThemeRenderAs : lightThemeRenderAs}\n $color={isDarkTheme ? 'WHITE_T_87' : 'BLACK'}\n $textDecoration={textDecoration}\n >\n {label}\n </Text>\n\n {Tag}\n </Styled.SelectOptionWrapper>\n );\n },\n [value, isDarkTheme, onChange],\n );\n\n return (\n <SectionList<ISelectOption<IDType>>\n data={sectionOptions}\n renderSectionHeader={renderSectionHeader}\n renderItem={renderItem}\n keyExtractor={({ id }, idx) => `${id}_${idx}`}\n />\n );\n};\n\nconst SelectSection = memo(SelectSectionComponent) as <IDType extends string | number>(\n props: ISelectSection<IDType>,\n) => ReactElement;\n\nexport default SelectSection;\n"],"names":["SelectSectionComponent","sectionOptions","theme","value","onChange","isDarkTheme","renderSectionHeader","useCallback","section","Styled.SelectOptionHeader","jsx","Text","renderItem","dataItem","id","label","tag","textDecoration","selected","jsxs","Styled.SelectOptionWrapper","SectionList","idx","SelectSection","memo"],"mappings":";;;;;AAWA,MAAMA,IAAyB,CAAiC;AAAA,EAC9D,gBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AACF,MAA4C;AAC1C,QAAMC,IAAcH,MAAU,QAExBI,IAAsBC;AAAA,IAC1B,CAACC,wBAEIC,GAAA,EAA0B,UAAU,GACnC,UAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,OAAM,QAAQN,IAAc,eAAe,cACxD,UAAAG,EAAQ,OACX,EACF,CAAA;AAAA,IAGJ,CAACH,CAAW;AAAA,EAAA,GAGRO,IAAaL;AAAA,IACjB,CAACM,MAAoC;AACnC,YAAM,EAAE,IAAAC,GAAI,OAAAC,GAAO,KAAAC,GAAK,gBAAAC,MAAmBJ,GACrCK,IAAWJ,MAAOX;AAMtB,aAAA,gBAAAgB;AAAA,QAACC;AAAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,MAAMhB,EAASU,GAAID,CAAQ;AAAA,UACpC,QAAO;AAAA,UACP,gBAAe;AAAA,UACf,iBAAgB;AAAA,UAChB,aAAY;AAAA,UACZ,WAAW;AAAA,UAEX,UAAA;AAAA,YAAA,gBAAAH;AAAA,cAACC;AAAA,cAAA;AAAA,gBACC,WAAWN,IAdSa,IAAW,aAAa,QADvBA,IAAW,gBAAgB;AAAA,gBAgBhD,QAAQb,IAAc,eAAe;AAAA,gBACrC,iBAAiBY;AAAA,gBAEhB,UAAAF;AAAA,cAAA;AAAA,YACH;AAAA,YAlBQC,KAA8B;AAAA,UAoBrC;AAAA,QAAA;AAAA,MAAA;AAAA,IAGP;AAAA,IACA,CAACb,GAAOE,GAAaD,CAAQ;AAAA,EAAA;AAI7B,SAAA,gBAAAM;AAAA,IAACW;AAAA,IAAA;AAAA,MACC,MAAMpB;AAAA,MACN,qBAAAK;AAAA,MACA,YAAAM;AAAA,MACA,cAAc,CAAC,EAAE,IAAAE,KAAMQ,MAAQ,GAAGR,CAAE,IAAIQ,CAAG;AAAA,IAAA;AAAA,EAAA;AAGjD,GAEMC,IAAgBC,EAAKxB,CAAsB;"}
@@ -1,55 +1,57 @@
1
- import { jsx as r, jsxs as f } from "react/jsx-runtime";
2
- import { captureException as u } from "@sentry/browser";
3
- import { memo as $, useCallback as g, Suspense as n } from "react";
1
+ import { jsx as o, jsxs as f } from "react/jsx-runtime";
2
+ import { captureException as E } from "@sentry/browser";
3
+ import { memo as v, useCallback as b, Suspense as n } from "react";
4
4
  import { ErrorBoundary as a } from "react-error-boundary";
5
- import E from "../../../assets/line-icons/icons/cross.js";
5
+ import { useTheme as x } from "styled-components";
6
+ import B from "../../../assets/line-icons/icons/cross.js";
6
7
  import h from "../error/error.js";
7
- import M from "../buttons/clickable/clickable.js";
8
- import x from "../layout/flex-view.js";
8
+ import S from "../buttons/clickable/clickable.js";
9
+ import W from "../layout/flex-view.js";
9
10
  import c from "../loader/app-loader/app-loader.js";
10
- import { ModalContainer as d, BottomSheetModal as v, ModalLoaderWrapper as C, SpotlightModal as B, BaseModal as S, CloseButtonContainer as W, BaseModalContent as w } from "./modal-styled.js";
11
- const q = $(({ modal: b, isClosing: o = !1, onClose: m }) => {
12
- const { renderAs: s, element: e, modalWidth: l, isDismissable: p } = b, i = g((t) => {
13
- u(t);
14
- }, []), k = g((t) => {
15
- t.stopPropagation();
11
+ import { EDeviceType as w } from "../theme/constants.js";
12
+ import { ModalContainer as d, BottomSheetModal as y, ModalLoaderWrapper as g, SpotlightModal as A, BaseModal as L, CloseButtonContainer as j, BaseModalContent as D } from "./modal-styled.js";
13
+ const N = v(({ modal: u, isClosing: r = !1, onClose: m }) => {
14
+ const { device: C } = x(), k = C <= w.MOBILE, { renderAs: s, element: e, modalWidth: i, isDismissable: p, renderOnMobileAs: M } = u, t = b((l) => {
15
+ E(l);
16
+ }, []), $ = b((l) => {
17
+ l.stopPropagation();
16
18
  }, []);
17
- return s === "bottom-sheet" ? /* @__PURE__ */ r(d, { $isClosing: o, onClick: p ? m : () => null, children: /* @__PURE__ */ r(v, { $isClosing: o, onClick: k, children: /* @__PURE__ */ r(
19
+ return s === "bottom-sheet" || k && M === "bottom-sheet" ? /* @__PURE__ */ o(d, { $isClosing: r, onClick: p ? m : () => null, children: /* @__PURE__ */ o(y, { $isClosing: r, onClick: $, children: /* @__PURE__ */ o(
18
20
  a,
19
21
  {
20
- fallback: /* @__PURE__ */ r(x, { $gap: 24, children: /* @__PURE__ */ r(h, { height: "100%" }) }),
21
- onError: i,
22
- children: /* @__PURE__ */ r(n, { fallback: /* @__PURE__ */ r(c, { height: "50vh" }), children: e })
22
+ fallback: /* @__PURE__ */ o(W, { $gap: 24, children: /* @__PURE__ */ o(h, { height: "100%" }) }),
23
+ onError: t,
24
+ children: /* @__PURE__ */ o(n, { fallback: /* @__PURE__ */ o(c, { height: "50vh" }), children: e })
23
25
  }
24
- ) }) }) : s === "spotlight" ? /* @__PURE__ */ r(d, { $isClosing: o, children: /* @__PURE__ */ r(
26
+ ) }) }) : s === "spotlight" ? /* @__PURE__ */ o(d, { $isClosing: r, children: /* @__PURE__ */ o(
25
27
  a,
26
28
  {
27
- fallback: /* @__PURE__ */ r(C, { children: /* @__PURE__ */ r(h, { height: "100vh" }) }),
28
- onError: i,
29
+ fallback: /* @__PURE__ */ o(g, { children: /* @__PURE__ */ o(h, { height: "100vh" }) }),
30
+ onError: t,
29
31
  children: /* @__PURE__ */ f(
30
32
  n,
31
33
  {
32
- fallback: /* @__PURE__ */ r(C, { children: /* @__PURE__ */ r(c, { height: "100vh" }) }),
34
+ fallback: /* @__PURE__ */ o(g, { children: /* @__PURE__ */ o(c, { height: "100vh" }) }),
33
35
  children: [
34
- /* @__PURE__ */ r(B, { $isClosing: o }),
36
+ /* @__PURE__ */ o(A, { $isClosing: r }),
35
37
  e
36
38
  ]
37
39
  }
38
40
  )
39
41
  }
40
- ) }) : /* @__PURE__ */ r(d, { $isClosing: o, children: /* @__PURE__ */ f(S, { $isClosing: o, $width: l, children: [
41
- p !== !1 && /* @__PURE__ */ r(W, { $modalWidth: l, children: /* @__PURE__ */ r(M, { label: "Close", onClick: m, children: /* @__PURE__ */ r(E, { width: 40, height: 40 }) }) }),
42
- /* @__PURE__ */ r(w, { $modalWidth: l, children: /* @__PURE__ */ r(
42
+ ) }) : /* @__PURE__ */ o(d, { $isClosing: r, children: /* @__PURE__ */ f(L, { $isClosing: r, $width: i, children: [
43
+ p !== !1 && /* @__PURE__ */ o(j, { $modalWidth: i, children: /* @__PURE__ */ o(S, { label: "Close", onClick: m, children: /* @__PURE__ */ o(B, { width: 40, height: 40 }) }) }),
44
+ /* @__PURE__ */ o(D, { $modalWidth: i, children: /* @__PURE__ */ o(
43
45
  a,
44
46
  {
45
- fallback: /* @__PURE__ */ r(h, { height: "50vh", size: "compact" }),
46
- onError: i,
47
- children: /* @__PURE__ */ r(n, { fallback: /* @__PURE__ */ r(c, { height: "50vh" }), children: e })
47
+ fallback: /* @__PURE__ */ o(h, { height: "50vh", size: "compact" }),
48
+ onError: t,
49
+ children: /* @__PURE__ */ o(n, { fallback: /* @__PURE__ */ o(c, { height: "50vh" }), children: e })
48
50
  }
49
51
  ) })
50
52
  ] }) });
51
53
  });
52
54
  export {
53
- q as default
55
+ N as default
54
56
  };
55
57
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../../../../src/features/ui/modals/modal.tsx"],"sourcesContent":["import type { IModalProps } from './modal-types';\nimport type { FC } from 'react';\n\nimport { captureException } from '@sentry/browser';\nimport { memo, Suspense, useCallback } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\n\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport Error from '../../ui/error/error';\nimport Clickable from '../buttons/clickable/clickable';\nimport FlexView from '../layout/flex-view';\nimport AppLoader from '../loader/app-loader/app-loader';\nimport * as Styled from './modal-styled';\n\n/**\n * Modal component that renders modal content with close button\n * Handles animation state for entry and exit transitions\n */\nconst Modal: FC<IModalProps> = memo(({ modal, isClosing = false, onClose }) => {\n const { renderAs, element, modalWidth, isDismissable } = modal;\n\n const sentryCaptureException = useCallback((error: Error) => {\n captureException(error);\n }, []);\n\n const handleStopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n if (renderAs === 'bottom-sheet') {\n return (\n <Styled.ModalContainer $isClosing={isClosing} onClick={isDismissable ? onClose : () => null}>\n <Styled.BottomSheetModal $isClosing={isClosing} onClick={handleStopPropagation}>\n <ErrorBoundary\n fallback={\n <FlexView $gap={24}>\n <Error height=\"100%\" />\n </FlexView>\n }\n onError={sentryCaptureException}\n >\n <Suspense fallback={<AppLoader height=\"50vh\" />}>{element}</Suspense>\n </ErrorBoundary>\n </Styled.BottomSheetModal>\n </Styled.ModalContainer>\n );\n }\n\n if (renderAs === 'spotlight') {\n return (\n <Styled.ModalContainer $isClosing={isClosing}>\n <ErrorBoundary\n fallback={\n <Styled.ModalLoaderWrapper>\n <Error height=\"100vh\" />\n </Styled.ModalLoaderWrapper>\n }\n onError={sentryCaptureException}\n >\n <Suspense\n fallback={\n <Styled.ModalLoaderWrapper>\n <AppLoader height=\"100vh\" />\n </Styled.ModalLoaderWrapper>\n }\n >\n <Styled.SpotlightModal $isClosing={isClosing} />\n {element}\n </Suspense>\n </ErrorBoundary>\n </Styled.ModalContainer>\n );\n }\n\n return (\n <Styled.ModalContainer $isClosing={isClosing}>\n <Styled.BaseModal $isClosing={isClosing} $width={modalWidth}>\n {isDismissable !== false && (\n <Styled.CloseButtonContainer $modalWidth={modalWidth}>\n <Clickable label=\"Close\" onClick={onClose}>\n <CrossIcon width={40} height={40} />\n </Clickable>\n </Styled.CloseButtonContainer>\n )}\n <Styled.BaseModalContent $modalWidth={modalWidth}>\n <ErrorBoundary\n fallback={<Error height=\"50vh\" size=\"compact\" />}\n onError={sentryCaptureException}\n >\n <Suspense fallback={<AppLoader height=\"50vh\" />}>{element}</Suspense>\n </ErrorBoundary>\n </Styled.BaseModalContent>\n </Styled.BaseModal>\n </Styled.ModalContainer>\n );\n});\n\nexport default Modal;\n"],"names":["Modal","memo","modal","isClosing","onClose","renderAs","element","modalWidth","isDismissable","sentryCaptureException","useCallback","error","captureException","handleStopPropagation","e","Styled.ModalContainer","Styled.BottomSheetModal","jsx","ErrorBoundary","FlexView","Error","Suspense","AppLoader","Styled.ModalLoaderWrapper","jsxs","Styled.SpotlightModal","Styled.BaseModal","Styled.CloseButtonContainer","Clickable","CrossIcon","Styled.BaseModalContent"],"mappings":";;;;;;;;;;AAkBM,MAAAA,IAAyBC,EAAK,CAAC,EAAE,OAAAC,GAAO,WAAAC,IAAY,IAAO,SAAAC,QAAc;AAC7E,QAAM,EAAE,UAAAC,GAAU,SAAAC,GAAS,YAAAC,GAAY,eAAAC,MAAkBN,GAEnDO,IAAyBC,EAAY,CAACC,MAAiB;AAC3D,IAAAC,EAAiBD,CAAK;AAAA,EACxB,GAAG,CAAE,CAAA,GAECE,IAAwBH,EAAY,CAACI,MAAwB;AACjE,IAAAA,EAAE,gBAAgB;AAAA,EACpB,GAAG,CAAE,CAAA;AAEL,SAAIT,MAAa,mCAEZU,GAAA,EAAsB,YAAYZ,GAAW,SAASK,IAAgBJ,IAAU,MAAM,MACrF,4BAACY,GAAA,EAAwB,YAAYb,GAAW,SAASU,GACvD,UAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACGC,GAAS,EAAA,MAAM,IACd,UAAC,gBAAAF,EAAAG,GAAA,EAAM,QAAO,OAAA,CAAO,EACvB,CAAA;AAAA,MAEF,SAASX;AAAA,MAET,UAAA,gBAAAQ,EAACI,KAAS,UAAU,gBAAAJ,EAACK,KAAU,QAAO,OAAO,CAAA,GAAK,UAAQhB,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA,EAE9D,CAAA,EACF,CAAA,IAIAD,MAAa,cAEZ,gBAAAY,EAAAF,GAAA,EAAsB,YAAYZ,GACjC,UAAA,gBAAAc;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACGK,GAAA,EACC,UAAC,gBAAAN,EAAAG,GAAA,EAAM,QAAO,QAAQ,CAAA,GACxB;AAAA,MAEF,SAASX;AAAA,MAET,UAAA,gBAAAe;AAAA,QAACH;AAAA,QAAA;AAAA,UACC,4BACGE,GAAA,EACC,UAAC,gBAAAN,EAAAK,GAAA,EAAU,QAAO,QAAQ,CAAA,GAC5B;AAAA,UAGF,UAAA;AAAA,YAAA,gBAAAL,EAACQ,GAAA,EAAsB,YAAYtB,EAAW,CAAA;AAAA,YAC7CG;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA,IAKD,gBAAAW,EAAAF,GAAA,EAAsB,YAAYZ,GACjC,UAAC,gBAAAqB,EAAAE,GAAA,EAAiB,YAAYvB,GAAW,QAAQI,GAC9C,UAAA;AAAA,IAAkBC,MAAA,wBAChBmB,GAAA,EAA4B,aAAapB,GACxC,4BAACqB,GAAU,EAAA,OAAM,SAAQ,SAASxB,GAChC,4BAACyB,GAAU,EAAA,OAAO,IAAI,QAAQ,IAAI,GACpC,EACF,CAAA;AAAA,IAED,gBAAAZ,EAAAa,GAAA,EAAwB,aAAavB,GACpC,UAAA,gBAAAU;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAW,gBAAAD,EAAAG,GAAA,EAAM,QAAO,QAAO,MAAK,WAAU;AAAA,QAC9C,SAASX;AAAA,QAET,UAAA,gBAAAQ,EAACI,KAAS,UAAU,gBAAAJ,EAACK,KAAU,QAAO,OAAO,CAAA,GAAK,UAAQhB,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA,GAE9D;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,CAAC;"}
1
+ {"version":3,"file":"modal.js","sources":["../../../../src/features/ui/modals/modal.tsx"],"sourcesContent":["import type { IModalProps } from './modal-types';\nimport type { FC } from 'react';\n\nimport { captureException } from '@sentry/browser';\nimport { memo, Suspense, useCallback } from 'react';\nimport { ErrorBoundary } from 'react-error-boundary';\nimport { useTheme } from 'styled-components';\n\nimport CrossIcon from '../../../assets/line-icons/icons/cross';\nimport Error from '../../ui/error/error';\nimport Clickable from '../buttons/clickable/clickable';\nimport FlexView from '../layout/flex-view';\nimport AppLoader from '../loader/app-loader/app-loader';\nimport { EDeviceType } from '../theme/constants';\nimport * as Styled from './modal-styled';\n\n/**\n * Modal component that renders modal content with close button\n * Handles animation state for entry and exit transitions\n */\nconst Modal: FC<IModalProps> = memo(({ modal, isClosing = false, onClose }) => {\n const { device } = useTheme();\n const isMobile = device <= EDeviceType.MOBILE;\n const { renderAs, element, modalWidth, isDismissable, renderOnMobileAs } = modal;\n\n const sentryCaptureException = useCallback((error: Error) => {\n captureException(error);\n }, []);\n\n const handleStopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n if (renderAs === 'bottom-sheet' || (isMobile && renderOnMobileAs === 'bottom-sheet')) {\n return (\n <Styled.ModalContainer $isClosing={isClosing} onClick={isDismissable ? onClose : () => null}>\n <Styled.BottomSheetModal $isClosing={isClosing} onClick={handleStopPropagation}>\n <ErrorBoundary\n fallback={\n <FlexView $gap={24}>\n <Error height=\"100%\" />\n </FlexView>\n }\n onError={sentryCaptureException}\n >\n <Suspense fallback={<AppLoader height=\"50vh\" />}>{element}</Suspense>\n </ErrorBoundary>\n </Styled.BottomSheetModal>\n </Styled.ModalContainer>\n );\n }\n\n if (renderAs === 'spotlight') {\n return (\n <Styled.ModalContainer $isClosing={isClosing}>\n <ErrorBoundary\n fallback={\n <Styled.ModalLoaderWrapper>\n <Error height=\"100vh\" />\n </Styled.ModalLoaderWrapper>\n }\n onError={sentryCaptureException}\n >\n <Suspense\n fallback={\n <Styled.ModalLoaderWrapper>\n <AppLoader height=\"100vh\" />\n </Styled.ModalLoaderWrapper>\n }\n >\n <Styled.SpotlightModal $isClosing={isClosing} />\n {element}\n </Suspense>\n </ErrorBoundary>\n </Styled.ModalContainer>\n );\n }\n\n return (\n <Styled.ModalContainer $isClosing={isClosing}>\n <Styled.BaseModal $isClosing={isClosing} $width={modalWidth}>\n {isDismissable !== false && (\n <Styled.CloseButtonContainer $modalWidth={modalWidth}>\n <Clickable label=\"Close\" onClick={onClose}>\n <CrossIcon width={40} height={40} />\n </Clickable>\n </Styled.CloseButtonContainer>\n )}\n <Styled.BaseModalContent $modalWidth={modalWidth}>\n <ErrorBoundary\n fallback={<Error height=\"50vh\" size=\"compact\" />}\n onError={sentryCaptureException}\n >\n <Suspense fallback={<AppLoader height=\"50vh\" />}>{element}</Suspense>\n </ErrorBoundary>\n </Styled.BaseModalContent>\n </Styled.BaseModal>\n </Styled.ModalContainer>\n );\n});\n\nexport default Modal;\n"],"names":["Modal","memo","modal","isClosing","onClose","device","useTheme","isMobile","EDeviceType","renderAs","element","modalWidth","isDismissable","renderOnMobileAs","sentryCaptureException","useCallback","error","captureException","handleStopPropagation","e","Styled.ModalContainer","Styled.BottomSheetModal","jsx","ErrorBoundary","FlexView","Error","Suspense","AppLoader","Styled.ModalLoaderWrapper","jsxs","Styled.SpotlightModal","Styled.BaseModal","Styled.CloseButtonContainer","Clickable","CrossIcon","Styled.BaseModalContent"],"mappings":";;;;;;;;;;;;AAoBM,MAAAA,IAAyBC,EAAK,CAAC,EAAE,OAAAC,GAAO,WAAAC,IAAY,IAAO,SAAAC,QAAc;AACvE,QAAA,EAAE,QAAAC,MAAWC,KACbC,IAAWF,KAAUG,EAAY,QACjC,EAAE,UAAAC,GAAU,SAAAC,GAAS,YAAAC,GAAY,eAAAC,GAAe,kBAAAC,EAAqB,IAAAX,GAErEY,IAAyBC,EAAY,CAACC,MAAiB;AAC3D,IAAAC,EAAiBD,CAAK;AAAA,EACxB,GAAG,CAAE,CAAA,GAECE,IAAwBH,EAAY,CAACI,MAAwB;AACjE,IAAAA,EAAE,gBAAgB;AAAA,EACpB,GAAG,CAAE,CAAA;AAEL,SAAIV,MAAa,kBAAmBF,KAAYM,MAAqB,mCAEhEO,GAAA,EAAsB,YAAYjB,GAAW,SAASS,IAAgBR,IAAU,MAAM,MACrF,4BAACiB,GAAA,EAAwB,YAAYlB,GAAW,SAASe,GACvD,UAAA,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACGC,GAAS,EAAA,MAAM,IACd,UAAC,gBAAAF,EAAAG,GAAA,EAAM,QAAO,OAAA,CAAO,EACvB,CAAA;AAAA,MAEF,SAASX;AAAA,MAET,UAAA,gBAAAQ,EAACI,KAAS,UAAU,gBAAAJ,EAACK,KAAU,QAAO,OAAO,CAAA,GAAK,UAAQjB,EAAA,CAAA;AAAA,IAAA;AAAA,EAAA,EAE9D,CAAA,EACF,CAAA,IAIAD,MAAa,cAEZ,gBAAAa,EAAAF,GAAA,EAAsB,YAAYjB,GACjC,UAAA,gBAAAmB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,4BACGK,GAAA,EACC,UAAC,gBAAAN,EAAAG,GAAA,EAAM,QAAO,QAAQ,CAAA,GACxB;AAAA,MAEF,SAASX;AAAA,MAET,UAAA,gBAAAe;AAAA,QAACH;AAAA,QAAA;AAAA,UACC,4BACGE,GAAA,EACC,UAAC,gBAAAN,EAAAK,GAAA,EAAU,QAAO,QAAQ,CAAA,GAC5B;AAAA,UAGF,UAAA;AAAA,YAAA,gBAAAL,EAACQ,GAAA,EAAsB,YAAY3B,EAAW,CAAA;AAAA,YAC7CO;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA,IAKD,gBAAAY,EAAAF,GAAA,EAAsB,YAAYjB,GACjC,UAAC,gBAAA0B,EAAAE,GAAA,EAAiB,YAAY5B,GAAW,QAAQQ,GAC9C,UAAA;AAAA,IAAkBC,MAAA,wBAChBoB,GAAA,EAA4B,aAAarB,GACxC,4BAACsB,GAAU,EAAA,OAAM,SAAQ,SAAS7B,GAChC,4BAAC8B,GAAU,EAAA,OAAO,IAAI,QAAQ,IAAI,GACpC,EACF,CAAA;AAAA,IAED,gBAAAZ,EAAAa,GAAA,EAAwB,aAAaxB,GACpC,UAAA,gBAAAW;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAW,gBAAAD,EAAAG,GAAA,EAAM,QAAO,QAAO,MAAK,WAAU;AAAA,QAC9C,SAASX;AAAA,QAET,UAAA,gBAAAQ,EAACI,KAAS,UAAU,gBAAAJ,EAACK,KAAU,QAAO,OAAO,CAAA,GAAK,UAAQjB,EAAA,CAAA;AAAA,MAAA;AAAA,IAAA,GAE9D;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ,CAAC;"}
@@ -1,31 +1,31 @@
1
- import { TRIAL_V3_NODE_TYPES as u, ASSESSMENT_NODE_TYPES as T } from "../../sheets/utils/is-v3-worksheet.js";
1
+ import { TRIAL_V3_NODE_TYPES as m, ASSESSMENT_NODE_TYPES as T } from "../../sheets/utils/is-v3-worksheet.js";
2
2
  const R = ({
3
3
  nodeType: c,
4
- inClass: E,
5
- isLessonV3Enabled: n,
6
- isDesmosEnabled: m = !1,
4
+ inClass: A,
5
+ isLessonV3Enabled: E,
6
+ isDesmosEnabled: u = !1,
7
7
  userType: t,
8
- mode: A,
9
- worksheetCompleted: a
8
+ mode: n,
9
+ worksheetCompleted: e
10
10
  }) => {
11
- const r = u.includes(c), s = T.includes(c), i = A === "resume", e = {
11
+ const r = m.includes(c), s = T.includes(c), i = n === "resume", a = {
12
12
  hints: i,
13
13
  navigationMode: "OPEN",
14
- initialQuestion: i || t === "TEACHER" && !a ? "CURRENT" : "FIRST",
14
+ initialQuestion: i || t === "TEACHER" && !e ? "CURRENT" : "FIRST",
15
15
  maximumAttempts: s ? -1 : 99999,
16
16
  minimumAccuracy: 100,
17
- teacherValidationEnabled: n || r,
18
- canTeacherValidate: !!E && (n || r),
19
- validation: t === "STUDENT" && s ? !!a : !0,
17
+ teacherValidationEnabled: E || r,
18
+ canTeacherValidate: !!A && (E || r),
19
+ validation: t === "STUDENT" && s ? !!e : !0,
20
20
  review: !1,
21
21
  canAttempt: t === "STUDENT" ? i : !1,
22
22
  canExceedAttempts: !0,
23
23
  checkButtonLabel: "Check",
24
24
  retryButtonLabel: "Retry",
25
25
  canMarkForReview: !1,
26
- canShowDesmosCalc: m,
27
- canvasEnabled: A !== "preview",
28
- canScribble: A !== "preview",
26
+ canShowDesmosCalc: u,
27
+ canvasEnabled: n !== "preview",
28
+ canScribble: n !== "preview",
29
29
  solutionHidden: !1
30
30
  };
31
31
  switch (c) {
@@ -33,8 +33,8 @@ const R = ({
33
33
  case "SAT_MATH_LEARNING":
34
34
  case "SAT_ENGLISH_LEARNING":
35
35
  return {
36
- ...e,
37
- navigationMode: n && i && !E ? "OPEN" : "LINEAR",
36
+ ...a,
37
+ navigationMode: E && i && !A ? "OPEN" : "LINEAR",
38
38
  review: !0
39
39
  };
40
40
  case "GENERAL":
@@ -42,20 +42,20 @@ const R = ({
42
42
  case "RECAP":
43
43
  case "SAT_MATH_RECAP":
44
44
  return {
45
- ...e,
45
+ ...a,
46
46
  maximumAttempts: 1,
47
- navigationMode: "LINEAR",
47
+ navigationMode: e ? "OPEN" : "LINEAR",
48
48
  review: !0
49
49
  };
50
50
  case "EXTRA_PRACTICE":
51
51
  case "TARGET_PRACTICE":
52
52
  case "PRACTICE":
53
- return { ...e, maximumAttempts: 1, review: !0 };
53
+ return { ...a, maximumAttempts: 1, review: !0 };
54
54
  case "TURING_PRACTICE":
55
- return { ...e, maximumAttempts: 1 };
55
+ return { ...a, maximumAttempts: 1 };
56
56
  case "PUZZLE_CARD":
57
57
  return {
58
- ...e,
58
+ ...a,
59
59
  navigationMode: "LINEAR",
60
60
  maximumAttempts: -2,
61
61
  solutionHidden: !0,
@@ -65,14 +65,14 @@ const R = ({
65
65
  case "PUZZLE_EASY":
66
66
  case "PUZZLE_MEDIUM":
67
67
  case "PUZZLE_HARD":
68
- return { ...e, navigationMode: "LINEAR" };
68
+ return { ...a, navigationMode: "LINEAR" };
69
69
  case "TRIAL_DIAGNOSTIC":
70
- return { ...e, navigationMode: "ADAPTIVE", review: !0 };
70
+ return { ...a, navigationMode: "ADAPTIVE", review: !0 };
71
71
  case "TRIAL_BASIC":
72
72
  case "TRIAL_INTERMEDIATE":
73
73
  case "TRIAL_ADVANCED":
74
74
  return {
75
- ...e,
75
+ ...a,
76
76
  navigationMode: "CURRENT",
77
77
  review: !0
78
78
  };
@@ -82,41 +82,41 @@ const R = ({
82
82
  case "DYNAMIC":
83
83
  case "TURING_ASSESSMENT":
84
84
  return {
85
- ...e,
85
+ ...a,
86
86
  minimumAccuracy: 0
87
87
  };
88
88
  case "SAT_MATH_ASSESSMENT":
89
89
  case "SAT_ENGLISH_ASSESSMENT":
90
90
  return {
91
- ...e,
91
+ ...a,
92
92
  canMarkForReview: !0,
93
93
  minimumAccuracy: 0,
94
94
  canvasEnabled: !1
95
95
  };
96
96
  case "MASTERY":
97
97
  return {
98
- ...e,
98
+ ...a,
99
99
  hintsTimer: 90,
100
- navigationMode: "LINEAR",
100
+ navigationMode: e ? "OPEN" : "LINEAR",
101
101
  skippable: !0,
102
102
  skippableTime: 90,
103
- solutionHidden: !a,
103
+ solutionHidden: !e,
104
104
  minimumAccuracy: 0,
105
- canScribble: t === "TEACHER" ? a : !0
105
+ canScribble: t === "TEACHER" ? e : !0
106
106
  };
107
107
  case "SUBJECTIVE":
108
108
  case "TURING_SUBJECTIVE":
109
109
  return {
110
- ...e,
110
+ ...a,
111
111
  maximumAttempts: 1,
112
112
  minimumAccuracy: 0,
113
113
  validation: !1,
114
- solutionHidden: !a
114
+ solutionHidden: !e
115
115
  };
116
116
  case "LEGACY":
117
117
  case "REVISION":
118
118
  return {
119
- ...e,
119
+ ...a,
120
120
  maximumAttempts: 2,
121
121
  canExceedAttempts: !1,
122
122
  minimumAccuracy: 0,
@@ -125,21 +125,21 @@ const R = ({
125
125
  case "LEVEL2":
126
126
  case "LEVEL3":
127
127
  return {
128
- ...e,
128
+ ...a,
129
129
  maximumAttempts: 1,
130
130
  canExceedAttempts: !1,
131
131
  minimumAccuracy: 0,
132
132
  review: !0,
133
- navigationMode: "LINEAR"
133
+ navigationMode: e ? "OPEN" : "LINEAR"
134
134
  };
135
135
  default:
136
136
  return {
137
- ...e,
137
+ ...a,
138
138
  maximumAttempts: 1,
139
- navigationMode: "LINEAR"
139
+ navigationMode: e ? "OPEN" : "LINEAR"
140
140
  };
141
141
  }
142
- return e;
142
+ return a;
143
143
  };
144
144
  export {
145
145
  R as getWorksheetBehaviour
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type { TNodeTypes } from '../../../types/models/worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\n\nexport const getWorksheetBehaviour = ({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n}: {\n nodeType: TNodeTypes;\n inClass?: boolean;\n isLessonV3Enabled: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n}): IWorksheetBehavior => {\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherValidationEnabled: isLessonV3Enabled || isTrialV3,\n canTeacherValidate: !!inClass && (isLessonV3Enabled || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n ...baseBehavior,\n navigationMode: isLessonV3Enabled && canAttempt && !inClass ? 'OPEN' : 'LINEAR',\n review: true,\n };\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'DYNAMIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: 90,\n navigationMode: 'LINEAR',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: 'LINEAR',\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: 'LINEAR',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["getWorksheetBehaviour","nodeType","inClass","isLessonV3Enabled","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-behavior-helper.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-behavior-helper.ts"],"sourcesContent":["import type { TNodeTypes } from '../../../types/models/worksheet';\nimport type { TUserTypes } from '../../ui/types';\nimport type { IWorksheetBehavior } from './worksheet-types';\n\nimport { ASSESSMENT_NODE_TYPES, TRIAL_V3_NODE_TYPES } from '../../sheets/utils/is-v3-worksheet';\n\nexport const getWorksheetBehaviour = ({\n nodeType,\n inClass,\n isLessonV3Enabled,\n isDesmosEnabled = false,\n userType,\n mode,\n worksheetCompleted,\n}: {\n nodeType: TNodeTypes;\n inClass?: boolean;\n isLessonV3Enabled: boolean;\n isDesmosEnabled?: boolean;\n userType: TUserTypes;\n mode: 'resume' | 'review' | 'preview';\n worksheetCompleted?: boolean;\n}): IWorksheetBehavior => {\n const isTrialV3 = TRIAL_V3_NODE_TYPES.includes(nodeType);\n const isAssessment = ASSESSMENT_NODE_TYPES.includes(nodeType);\n const canAttempt = mode === 'resume';\n\n const baseBehavior: IWorksheetBehavior = {\n hints: canAttempt,\n navigationMode: 'OPEN',\n initialQuestion:\n canAttempt || (userType === 'TEACHER' && !worksheetCompleted) ? 'CURRENT' : 'FIRST',\n maximumAttempts: isAssessment ? -1 : 99999,\n minimumAccuracy: 100,\n teacherValidationEnabled: isLessonV3Enabled || isTrialV3,\n canTeacherValidate: !!inClass && (isLessonV3Enabled || isTrialV3),\n validation: userType === 'STUDENT' && isAssessment ? !!worksheetCompleted : true,\n review: false,\n canAttempt: userType === 'STUDENT' ? canAttempt : false,\n canExceedAttempts: true,\n checkButtonLabel: 'Check',\n retryButtonLabel: 'Retry',\n canMarkForReview: false,\n canShowDesmosCalc: isDesmosEnabled,\n canvasEnabled: mode !== 'preview',\n canScribble: mode !== 'preview',\n solutionHidden: false,\n };\n\n switch (nodeType) {\n // LEARNING SHEETS\n case 'LEARNING':\n case 'SAT_MATH_LEARNING':\n case 'SAT_ENGLISH_LEARNING':\n return {\n ...baseBehavior,\n navigationMode: isLessonV3Enabled && canAttempt && !inClass ? 'OPEN' : 'LINEAR',\n review: true,\n };\n\n // RECAP SHEETS\n case 'GENERAL':\n case 'REMEDIAL':\n case 'RECAP':\n case 'SAT_MATH_RECAP':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n review: true,\n };\n\n // PRACTICE SHEETS\n case 'EXTRA_PRACTICE':\n case 'TARGET_PRACTICE':\n case 'PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1, review: true };\n\n case 'TURING_PRACTICE':\n return { ...baseBehavior, maximumAttempts: 1 };\n\n //PUZZLE SHEETS\n case 'PUZZLE_CARD':\n return {\n ...baseBehavior,\n navigationMode: 'LINEAR',\n maximumAttempts: -2,\n solutionHidden: true,\n validation: false,\n minimumAccuracy: 0,\n };\n\n case 'PUZZLE_EASY':\n case 'PUZZLE_MEDIUM':\n case 'PUZZLE_HARD':\n return { ...baseBehavior, navigationMode: 'LINEAR' };\n\n // TRIAL SHEETS\n case 'TRIAL_DIAGNOSTIC':\n return { ...baseBehavior, navigationMode: 'ADAPTIVE', review: true };\n\n case 'TRIAL_BASIC':\n case 'TRIAL_INTERMEDIATE':\n case 'TRIAL_ADVANCED':\n return {\n ...baseBehavior,\n navigationMode: 'CURRENT',\n review: true,\n };\n\n // ASSESSMENT SHEETS\n case 'ASSESSMENT':\n case 'CHAPTER_ASSESSMENT':\n case 'DIAGNOSTIC':\n case 'DYNAMIC':\n case 'TURING_ASSESSMENT':\n return {\n ...baseBehavior,\n minimumAccuracy: 0,\n };\n\n case 'SAT_MATH_ASSESSMENT':\n case 'SAT_ENGLISH_ASSESSMENT':\n return {\n ...baseBehavior,\n canMarkForReview: true,\n minimumAccuracy: 0,\n canvasEnabled: false,\n };\n\n case 'MASTERY':\n return {\n ...baseBehavior,\n hintsTimer: 90,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n skippable: true,\n skippableTime: 90,\n solutionHidden: !worksheetCompleted,\n minimumAccuracy: 0,\n canScribble: userType === 'TEACHER' ? worksheetCompleted : true,\n };\n\n // SUBJECTIVE SHEETS\n case 'SUBJECTIVE':\n case 'TURING_SUBJECTIVE':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n minimumAccuracy: 0,\n validation: false,\n solutionHidden: !worksheetCompleted,\n };\n\n // REVISION SHEETS\n case 'LEGACY':\n case 'REVISION':\n return {\n ...baseBehavior,\n maximumAttempts: 2,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n };\n\n case 'LEVEL2':\n case 'LEVEL3':\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n canExceedAttempts: false,\n minimumAccuracy: 0,\n review: true,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n\n default:\n return {\n ...baseBehavior,\n maximumAttempts: 1,\n navigationMode: !worksheetCompleted ? 'LINEAR' : 'OPEN',\n };\n }\n\n return baseBehavior;\n};\n"],"names":["getWorksheetBehaviour","nodeType","inClass","isLessonV3Enabled","isDesmosEnabled","userType","mode","worksheetCompleted","isTrialV3","TRIAL_V3_NODE_TYPES","isAssessment","ASSESSMENT_NODE_TYPES","canAttempt","baseBehavior"],"mappings":"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"}