@instructure/quiz-core 22.16.1 → 22.18.0

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 (2096) hide show
  1. package/es/appDispatch.js +5 -0
  2. package/es/banks/api/bankEntries.js +14 -8
  3. package/es/banks/api/banks.js +41 -31
  4. package/es/banks/api/tagAssociations.js +9 -9
  5. package/es/banks/components/AddBankEntryModal/index.js +2 -5
  6. package/es/banks/components/AddBankEntryModal/presenter.js +2 -1
  7. package/es/banks/components/AddToBankModal/index.js +6 -6
  8. package/es/banks/components/AddToBankModal/presenter.js +6 -4
  9. package/es/banks/components/AsyncSearch/index.js +2 -1
  10. package/es/banks/components/Bank/index.js +12 -23
  11. package/es/banks/components/Bank/presenter.js +2 -1
  12. package/es/banks/components/BankEntriesList/index.js +1 -4
  13. package/es/banks/components/BankEntriesList/presenter.js +1 -1
  14. package/es/banks/components/BankEntry/index.js +12 -25
  15. package/es/banks/components/BankEntry/presenter.js +603 -747
  16. package/es/banks/components/BankEntryRow/index.js +10 -25
  17. package/es/banks/components/BankEntryRow/presenter.js +5 -3
  18. package/es/banks/components/BankSearch/index.js +6 -14
  19. package/es/banks/components/BankSearch/presenter.js +3 -1
  20. package/es/banks/components/Banks/index.js +9 -13
  21. package/es/banks/components/Banks/presenter.js +4 -1
  22. package/es/banks/components/BanksList/index.js +2 -8
  23. package/es/banks/components/BanksList/presenter.js +3 -1
  24. package/es/banks/components/CopyMoveBankEntryModal/index.js +6 -9
  25. package/es/banks/components/CopyMoveBankEntryModal/presenter.js +7 -5
  26. package/es/banks/components/CreateBankModal/index.js +9 -13
  27. package/es/banks/components/CreateBankModal/presenter.js +3 -1
  28. package/es/banks/components/EditBankModal/index.js +4 -6
  29. package/es/banks/components/EditBankModal/presenter.js +3 -1
  30. package/es/banks/components/HeaderMenu/presenter.js +2 -1
  31. package/es/banks/components/NavWrapper/index.js +2 -5
  32. package/es/banks/components/NavWrapper/presenter.js +1 -1
  33. package/es/banks/components/SharingModal/RootAccountSharing.js +3 -1
  34. package/es/banks/components/SharingModal/ShareList/index.js +3 -1
  35. package/es/banks/components/SharingModal/index.js +3 -5
  36. package/es/banks/components/SharingModal/presenter.js +545 -583
  37. package/es/building/api/items.js +7 -7
  38. package/es/building/api/qtiImports.js +15 -8
  39. package/es/building/api/quizEntries.js +63 -35
  40. package/es/building/api/quizzes.js +16 -13
  41. package/es/building/api/stimuli.js +4 -4
  42. package/es/building/components/QTIImportModal/index.js +2 -2
  43. package/es/building/components/layout/Sidebar/SidebarItem/index.js +75 -21
  44. package/es/building/components/layout/Sidebar/SidebarItem/presenter.js +1 -1
  45. package/es/building/components/layout/Sidebar/Stimulus/index.js +75 -25
  46. package/es/building/components/layout/Sidebar/Stimulus/presenter.js +1 -1
  47. package/es/building/components/layout/Sidebar/index.js +68 -9
  48. package/es/building/components/layout/Sidebar/presenter.js +3 -2
  49. package/es/building/components/layout/header/BuildingButtons/index.js +7 -8
  50. package/es/building/components/layout/header/BuildingButtons/presenter.js +6 -1
  51. package/es/building/components/layout/header/SDKBuildingButtons/index.js +6 -5
  52. package/es/building/components/resources/ActionButtons/index.js +6 -5
  53. package/es/building/components/resources/ActionButtons/presenter.js +3 -2
  54. package/es/building/components/resources/AddToBankOptions/index.js +78 -182
  55. package/es/building/components/resources/BanksTray/index.js +6 -21
  56. package/es/building/components/resources/BanksTray/presenter.js +2 -1
  57. package/es/building/components/resources/DeleteStimulusModal/index.js +5 -17
  58. package/es/building/components/resources/DeleteStimulusModal/presenter.js +4 -2
  59. package/es/building/components/resources/ItemFeedbackModal/index.js +8 -14
  60. package/es/building/components/resources/ItemFeedbackModal/presenter.js +47 -42
  61. package/es/building/components/resources/MoveImmutableModal/index.js +4 -13
  62. package/es/building/components/resources/MoveImmutableModal/presenter.js +2 -1
  63. package/es/building/components/resources/quiz/instructions/Edit/index.js +1 -4
  64. package/es/building/components/resources/quiz/instructions/Edit/presenter.js +3 -2
  65. package/es/building/components/resources/quiz/instructions/Instructions/index.js +4 -3
  66. package/es/building/components/resources/quiz/instructions/Instructions/presenter.js +2 -2
  67. package/es/building/components/resources/quiz/instructions/Show/index.js +2 -2
  68. package/es/building/components/resources/quiz/instructions/Show/styles.js +3 -1
  69. package/es/building/components/resources/quiz/title/Edit/index.js +2 -1
  70. package/es/building/components/resources/quiz/title/Show/index.js +1 -1
  71. package/es/building/components/resources/quiz/title/Title/index.js +4 -3
  72. package/es/building/components/resources/quiz/title/Title/presenter.js +2 -2
  73. package/es/building/components/resources/quizEntry/QuizEntry/index.js +80 -26
  74. package/es/building/components/resources/quizEntry/QuizEntry/presenter.js +8 -3
  75. package/es/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/presenter.js +183 -40
  76. package/es/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/index.js +1 -1
  77. package/es/building/components/resources/quizEntry/QuizEntryEdit/Footer/index.js +5 -1
  78. package/es/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +184 -279
  79. package/es/building/components/resources/quizEntry/QuizEntryEdit/Footer/styles.js +3 -2
  80. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +5 -2
  81. package/es/building/components/resources/quizEntry/QuizEntryEdit/index.js +16 -29
  82. package/es/building/components/resources/quizEntry/QuizEntryEdit/presenter.js +374 -440
  83. package/es/building/components/resources/quizEntry/QuizEntryShow/components/LeftHeader.js +151 -0
  84. package/es/building/components/resources/quizEntry/QuizEntryShow/index.js +19 -30
  85. package/es/building/components/resources/quizEntry/QuizEntryShow/presenter.js +39 -113
  86. package/es/building/components/resources/quizEntry/QuizEntryShow/styles.js +0 -12
  87. package/es/common/actions/addInteractionTypes.js +1 -1
  88. package/es/common/actions/alerts.js +1 -1
  89. package/es/common/actions/analyses.js +1 -1
  90. package/es/common/actions/bankEntries.js +1 -1
  91. package/es/common/actions/bankSearch.js +1 -1
  92. package/es/common/actions/banks.js +1 -1
  93. package/es/common/actions/config.js +19 -1
  94. package/es/common/actions/dragAndDrop.js +1 -1
  95. package/es/common/actions/editing.js +1 -1
  96. package/es/common/actions/errorsShowing.js +1 -1
  97. package/es/common/actions/features.js +1 -1
  98. package/es/common/actions/grading.js +1 -1
  99. package/es/common/actions/items.js +1 -1
  100. package/es/common/actions/modal.js +3 -2
  101. package/es/common/actions/moderation.js +1 -1
  102. package/es/common/actions/modifications.js +2 -2
  103. package/es/common/actions/outcomes.js +1 -1
  104. package/es/common/actions/postMessage.js +1 -1
  105. package/es/common/actions/printing.js +1 -1
  106. package/es/common/actions/qtiImports.js +1 -1
  107. package/es/common/actions/quizEntries.js +1 -1
  108. package/es/common/actions/quizExport.js +1 -1
  109. package/es/common/actions/quizSessionEvents.js +1 -1
  110. package/es/common/actions/quizSessionResults.js +1 -1
  111. package/es/common/actions/quizSessions.js +13 -11
  112. package/es/common/actions/quizzes.js +1 -1
  113. package/es/common/actions/rce.js +1 -1
  114. package/es/common/actions/regrading.js +1 -1
  115. package/es/common/actions/reporting.js +1 -1
  116. package/es/common/actions/scrolling.js +1 -1
  117. package/es/common/actions/sessionItemResults.js +1 -1
  118. package/es/common/actions/sessionItems.js +1 -1
  119. package/es/common/actions/sharedBanks.js +1 -1
  120. package/es/common/actions/sharingModal.js +1 -1
  121. package/es/common/actions/sidebar.js +1 -1
  122. package/es/common/actions/stimuli.js +1 -1
  123. package/es/common/actions/tagAssociations.js +1 -1
  124. package/es/common/actions/taking.js +1 -1
  125. package/es/common/actions/ui.js +1 -1
  126. package/es/common/actions/upload.js +1 -1
  127. package/es/common/api/features.js +11 -2
  128. package/es/common/api/fileUpload.js +8 -2
  129. package/es/common/api/helpers.js +1 -1
  130. package/es/common/api/interactionTypes.js +2 -2
  131. package/es/common/api/quizSessions.js +129 -106
  132. package/es/common/api/quizzes.js +6 -5
  133. package/es/common/components/ApiFeatureFlagInitializer/index.js +3 -6
  134. package/es/common/components/ConfirmationModal/index.js +2 -2
  135. package/es/common/components/ConfirmationModal/presenter.js +54 -171
  136. package/es/common/components/ImportModal/ImportFileSelector/index.js +1 -1
  137. package/es/common/components/ImportModal/index.js +6 -18
  138. package/es/common/components/ImportModal/presenter.js +5 -1
  139. package/es/common/components/MaskedTextInput/index.js +1 -1
  140. package/es/common/components/ModuleNavigationButtons/index.js +32 -0
  141. package/es/common/components/PreviewFrame/index.js +1 -1
  142. package/es/common/components/PrintFontSizeModal/presenter.js +164 -225
  143. package/es/common/components/RceConfigProvider/index.js +3 -2
  144. package/es/common/components/RceConfigProvider/presenter.js +12 -9
  145. package/es/common/components/RceConfigProvider/rceConfigErrorHandler.js +7 -8
  146. package/es/common/components/RceConfigProvider/rceConfigErrorMessages.js +1 -1
  147. package/es/common/components/RceConfigProvider/rceConfigMapper.js +1 -1
  148. package/es/common/components/SDKApp/index.js +279 -229
  149. package/es/common/components/SDKHeaderCalculator.js +6 -5
  150. package/es/common/components/SDKMenuButton.js +6 -5
  151. package/es/common/components/SDKNavBar.js +6 -5
  152. package/es/common/components/SDKTimer.js +6 -5
  153. package/es/common/components/TimingAlerts/presenter.js +3 -3
  154. package/es/common/components/alerts/index.js +2 -1
  155. package/es/common/components/alerts/presenter.js +1 -1
  156. package/es/common/components/alerts/styles.js +1 -1
  157. package/es/common/components/layout/Page/index.js +1 -1
  158. package/es/common/components/layout/Page/styles.js +3 -0
  159. package/es/common/components/layout/header/Calculator/presenter.js +2 -2
  160. package/es/common/components/layout/header/HeaderMenuButton/index.js +1 -4
  161. package/es/common/components/layout/header/HeaderMenuButton/presenter.js +1 -1
  162. package/es/common/components/layout/header/Timer/presenter.js +1 -1
  163. package/es/common/components/layout/navbar/SecondaryNavBarButton/index.js +28 -2
  164. package/es/common/components/layout/navbar/index.js +1 -1
  165. package/es/common/components/layout/sidebar/PositionSummary/index.js +1 -1
  166. package/es/common/components/layout/sidebar/Sidebar/components/TotalPointsPossible.js +37 -0
  167. package/es/common/components/layout/sidebar/Sidebar/index.js +34 -61
  168. package/es/common/components/layout/sidebar/SidebarItem/index.js +5 -1
  169. package/es/common/components/layout/sidebar/SidebarItem/presenter.js +46 -15
  170. package/es/common/components/layout/sidebar/SidebarItem/styles.js +4 -1
  171. package/es/common/components/layout/sidebar/Stimulus/Collection/presenter.js +1 -1
  172. package/es/common/components/layout/sidebar/Stimulus/Summary/presenter.js +1 -1
  173. package/es/common/components/layout/sidebar/Stimulus/Title/index.js +1 -1
  174. package/es/common/components/layout/sidebar/Stimulus/index.js +1 -4
  175. package/es/common/components/layout/sidebar/Stimulus/presenter.js +30 -3
  176. package/es/common/components/resources/BankSelection/index.js +3 -9
  177. package/{lib/common/components/resources/quizSessionResult/Header → es/common/components/resources/QuizSessionResult/QuizSessionResultHeader}/index.js +16 -24
  178. package/es/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/LetterGrade.js +36 -0
  179. package/es/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/PointsDisplay.js +70 -0
  180. package/es/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/Progress.js +57 -0
  181. package/es/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/index.js +49 -0
  182. package/es/common/components/resources/QuizSessionResult/QuizSessionResultInfo/index.js +118 -0
  183. package/es/common/components/resources/WarningWrapper/index.js +1 -1
  184. package/es/common/components/resources/entry/EntrySave/presenter.js +174 -240
  185. package/es/common/components/resources/item/ItemEdit/index.js +21 -30
  186. package/es/common/components/resources/item/ItemEdit/presenter.js +6 -3
  187. package/es/common/components/resources/item/ItemOverride/index.js +8 -5
  188. package/es/common/components/resources/item/ItemOverride/presenter.js +1 -1
  189. package/es/common/components/resources/item/ItemShow/index.js +3 -2
  190. package/es/common/components/resources/positionBox/PositionBox.js +1 -1
  191. package/es/common/components/resources/quiz/AddContent/Body/index.js +4 -2
  192. package/es/common/components/resources/quiz/AddContent/Body/presenter.js +27 -7
  193. package/es/common/components/resources/quiz/AddContent/Body/styles.js +7 -0
  194. package/es/common/components/resources/quiz/AddContent/Button/index.js +2 -1
  195. package/es/common/components/resources/quiz/AddContent/Modal/index.js +3 -9
  196. package/es/common/components/resources/quiz/AddContent/Modal/presenter.js +1 -1
  197. package/es/common/components/resources/quiz/AddContent/Popover/index.js +3 -9
  198. package/es/common/components/resources/quiz/AddContent/Popover/presenter.js +3 -1
  199. package/es/common/components/resources/quiz/info/QuizInfo.js +1 -1
  200. package/es/common/components/resources/quiz/instructions/Instructions.js +2 -2
  201. package/es/common/components/resources/quiz/instructions/styles.js +3 -1
  202. package/es/common/components/resources/quiz/title/Title.js +1 -1
  203. package/es/common/components/resources/sessionItemResult/ResultStimulus/index.js +2 -2
  204. package/es/common/components/resources/sessionItemResult/SessionItemResult/components/SessionItemResultHeader.js +122 -0
  205. package/es/common/components/resources/sessionItemResult/SessionItemResult/index.js +11 -7
  206. package/es/common/components/resources/sessionItemResult/SessionItemResult/presenter.js +98 -172
  207. package/es/common/components/resources/sessionItemResult/SessionItemResult/styles.js +0 -8
  208. package/es/common/components/resources/sessionItemResult/SessionItemResultsList/index.js +1 -1
  209. package/es/common/components/resources/stimulus/Stimulus/index.js +11 -15
  210. package/es/common/components/resources/stimulus/Stimulus/presenter.js +14 -4
  211. package/es/common/components/resources/stimulus/Stimulus/styles.js +1 -1
  212. package/es/common/components/resources/stimulus/StimulusEdit/index.js +5 -10
  213. package/es/common/components/resources/stimulus/StimulusEdit/presenter.js +5 -2
  214. package/es/common/components/resources/stimulus/StimulusEditInfo/index.js +4 -6
  215. package/es/common/components/resources/stimulus/StimulusEditInfo/presenter.js +7 -2
  216. package/es/common/components/resources/stimulus/StimulusShow/index.js +2 -1
  217. package/es/common/components/resources/stimulus/StimulusShowInfo/index.js +1 -1
  218. package/es/common/components/shared/Card/CardContent/index.js +1 -1
  219. package/es/common/components/shared/Card/CardWrapper/index.js +1 -1
  220. package/es/common/components/shared/ExpandButton/index.js +1 -1
  221. package/es/common/components/shared/FormattedDuration/index.js +1 -1
  222. package/es/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +2 -1
  223. package/es/common/components/shared/IfFeature/index.js +3 -2
  224. package/es/common/components/shared/InteractionTypes/presenter.js +1 -1
  225. package/es/common/components/shared/PaginatedCollection/index.js +1 -4
  226. package/es/common/components/shared/PaginatedCollection/presenter.js +111 -205
  227. package/es/common/components/shared/Paginator/index.js +1 -1
  228. package/es/common/components/shared/PrintTrigger/index.js +7 -18
  229. package/es/common/components/shared/PrintTrigger/presenter.js +1 -1
  230. package/es/common/components/shared/TagDisplay/index.js +1 -1
  231. package/es/common/components/shared/TagSelect/presenter.js +2 -1
  232. package/es/common/components/shared/TagSuggestSelect/index.js +1 -2
  233. package/es/common/components/shared/TimeUnitsInput/index.js +315 -298
  234. package/es/common/components/shared/drag_and_drop/DragAndDropZone/index.js +1 -1
  235. package/es/common/components/shared/drag_and_drop/DragHandle/index.js +3 -9
  236. package/es/common/components/shared/drag_and_drop/DragHandle/presenter.js +1 -1
  237. package/es/common/components/shared/drag_and_drop/dragAndDropUtils.js +152 -33
  238. package/es/common/components/shared/file_selector/FileSelector.js +1 -1
  239. package/es/common/components/shared/functionality/componentWithOutsideClick.js +7 -8
  240. package/es/common/components/shared/functionality/componentWithOutsideClickEmotion.js +6 -7
  241. package/es/common/components/shared/functionality/makeEditable.js +65 -147
  242. package/es/common/components/shared/functionality/makeScrollable.js +7 -10
  243. package/es/common/components/shared/functionality/outsideClickStore.js +7 -0
  244. package/es/common/components/shared/overlay/index.js +2 -1
  245. package/es/common/components/shared/return_button/ReturnButton.js +51 -110
  246. package/es/common/components/shared/spinner/Spinner.js +1 -1
  247. package/es/common/kinesis/QuizEventsLogger.js +6 -6
  248. package/es/common/kinesis/client.js +4 -5
  249. package/es/common/middleware/alertTimerMiddleware.js +1 -1
  250. package/es/common/middleware/appSyncMiddleware.js +19 -0
  251. package/es/common/middleware/crossDomainMessagingMiddleware.js +1 -1
  252. package/es/common/middleware/eventLoggerMiddleware.js +3 -1
  253. package/es/common/middleware/persistedStorageMiddleware.js +4 -13
  254. package/es/common/middleware/quizTimerWebSocketMiddleware.js +1 -1
  255. package/es/common/middleware/sharedBanksMiddleware.js +3 -3
  256. package/es/common/react-redux.js +92 -4
  257. package/es/common/records/Alert.js +5 -4
  258. package/es/common/records/Bank.js +4 -4
  259. package/es/common/records/BankEntry.js +7 -15
  260. package/es/common/records/Item.js +4 -4
  261. package/es/common/records/ItemAnalysis.js +2 -1
  262. package/es/common/records/QtiImport.js +1 -0
  263. package/es/common/records/Quiz.js +13 -7
  264. package/es/common/records/QuizAnalysis.js +1 -0
  265. package/es/common/records/QuizEntry.js +21 -28
  266. package/es/common/records/QuizSession.js +3 -5
  267. package/es/common/records/QuizSessionEvent.js +1 -0
  268. package/es/common/records/QuizSessionResult.js +3 -3
  269. package/es/common/records/Response.js +2 -1
  270. package/es/common/records/SessionItem.js +5 -6
  271. package/es/common/records/SessionItemResult.js +26 -2
  272. package/es/common/records/Stimulus.js +4 -4
  273. package/es/common/records/baseRecord.js +11 -10
  274. package/es/common/records/reduxRecord.js +13 -11
  275. package/es/common/reducers/alerts.js +1 -1
  276. package/es/common/reducers/analyses.js +1 -1
  277. package/es/common/reducers/bankEntries.js +1 -1
  278. package/es/common/reducers/bankSearch.js +3 -2
  279. package/es/common/reducers/banks.js +1 -1
  280. package/es/common/reducers/calls.js +1 -1
  281. package/es/common/reducers/config.js +7 -1
  282. package/es/common/reducers/dragAndDrop.js +1 -1
  283. package/es/common/reducers/editing.js +11 -17
  284. package/es/common/reducers/errorsShowing.js +1 -1
  285. package/es/common/reducers/features.js +1 -1
  286. package/es/common/reducers/grading.js +1 -1
  287. package/es/common/reducers/interactionTypes.js +1 -1
  288. package/es/common/reducers/items.js +1 -1
  289. package/es/common/reducers/modal.js +1 -1
  290. package/es/common/reducers/moderation.js +1 -1
  291. package/es/common/reducers/modifications.js +1 -1
  292. package/es/common/reducers/outcomes.js +1 -1
  293. package/es/common/reducers/printing.js +1 -1
  294. package/es/common/reducers/qtiImports.js +1 -1
  295. package/es/common/reducers/quizEntries.js +1 -1
  296. package/es/common/reducers/quizExport.js +1 -1
  297. package/es/common/reducers/quizSessionEvents.js +1 -1
  298. package/es/common/reducers/quizSessionResults.js +1 -1
  299. package/es/common/reducers/quizSessions.js +1 -1
  300. package/es/common/reducers/quizzes.js +1 -1
  301. package/es/common/reducers/rce.js +1 -1
  302. package/es/common/reducers/regrading.js +2 -2
  303. package/es/common/reducers/reporting.js +1 -1
  304. package/es/common/reducers/scrolling.js +1 -1
  305. package/es/common/reducers/sessionItemResults.js +1 -1
  306. package/es/common/reducers/sessionItems.js +1 -1
  307. package/es/common/reducers/sharedBanks.js +1 -1
  308. package/es/common/reducers/sharingModal.js +1 -1
  309. package/es/common/reducers/sidebar.js +1 -1
  310. package/es/common/reducers/stimuli.js +1 -1
  311. package/es/common/reducers/tagAssociations.js +1 -1
  312. package/es/common/reducers/taking.js +1 -1
  313. package/es/common/reducers/ui.js +1 -1
  314. package/es/common/reducers/upload.js +1 -1
  315. package/es/common/selectors/analyses.js +14 -48
  316. package/es/common/selectors/calculator.js +2 -5
  317. package/es/common/selectors/calls.js +3 -6
  318. package/es/common/selectors/config.js +1 -4
  319. package/es/common/selectors/interactionTypes.js +11 -73
  320. package/es/common/selectors/items.js +3 -7
  321. package/es/common/selectors/qtiImports.js +3 -5
  322. package/es/common/selectors/quizSessionResults.js +1 -4
  323. package/es/common/selectors/quizSessions.js +2 -9
  324. package/es/common/selectors/quizzes.js +28 -134
  325. package/es/common/selectors/rce.js +2 -8
  326. package/es/common/selectors/reporting.js +1 -2
  327. package/es/common/selectors/sessionItemResults.js +1 -4
  328. package/es/common/selectors/sessionItems.js +3 -9
  329. package/es/common/selectors/taking.js +9 -29
  330. package/es/common/selectors/ui.js +1 -4
  331. package/es/common/util/Fetcher.js +183 -65
  332. package/es/common/util/TimerService.js +6 -4
  333. package/es/common/util/callHelpers.js +1 -1
  334. package/es/common/util/clickHandlers.js +1 -1
  335. package/es/common/util/componentForItem.js +106 -1
  336. package/es/common/util/featureCheck.js +26 -28
  337. package/es/common/util/getClientIpAddress.js +2 -2
  338. package/es/common/util/interactionTypePropsHelper.js +7 -5
  339. package/es/common/util/interactionTypeRecordForItem.js +32 -3
  340. package/es/common/util/isMissing.js +4 -0
  341. package/es/common/util/mathRenderingUtils.js +1 -1
  342. package/es/common/util/maxContent.js +1 -1
  343. package/es/common/util/modalHelpers.js +1 -4
  344. package/es/common/util/persistedState.js +3 -3
  345. package/es/common/util/printUtils.js +1 -1
  346. package/es/common/util/renderAlerts.js +5 -4
  347. package/es/common/util/serializeEvent.js +6 -6
  348. package/es/common/util/sessionLockHelpers.js +62 -0
  349. package/es/common/util/windowChecks.js +1 -1
  350. package/es/common/util/withStateCache.js +31 -2
  351. package/es/configureStore.js +49 -6
  352. package/es/grading/api/quizEntryRegrades.js +3 -3
  353. package/es/grading/api/updateResults.js +3 -3
  354. package/es/index.js +14 -9
  355. package/es/messages/subjectHandlers/lti.capabilities.js +3 -1
  356. package/es/moderating/api/quizSessionEvents.js +14 -9
  357. package/es/moderating/api/quizSessions.js +15 -7
  358. package/es/moderating/components/events/Event.js +2 -1
  359. package/es/moderating/components/events/ResponseEvent.js +25 -22
  360. package/es/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/index.js +1 -1
  361. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/index.js +132 -191
  362. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -1
  363. package/es/moderating/components/resources/ElapsedTime.js +1 -1
  364. package/es/moderating/components/resources/EventDetails.js +2 -2
  365. package/es/moderating/components/resources/ModerateTable/index.js +4 -7
  366. package/es/moderating/components/resources/ModerateTable/presenter.js +20 -11
  367. package/es/moderating/components/resources/ModerateTableRow/presenter.js +101 -30
  368. package/es/moderating/components/resources/ModerateTableRow/styles.js +0 -4
  369. package/es/moderating/components/resources/OutstandingQuizzesModal/index.js +2 -5
  370. package/es/moderating/components/resources/OutstandingQuizzesModal/presenter.js +1 -1
  371. package/es/moderating/components/resources/util/extractSessionData.js +1 -1
  372. package/es/moderating/components/sidebar/ModerateTray/index.js +2 -8
  373. package/es/moderating/components/sidebar/ModerateTray/presenter.js +2 -1
  374. package/es/moderating/components/sidebar/ResetQuiz/index.js +11 -9
  375. package/es/moderating/components/sidebar/ResetQuiz/presenter.js +11 -1
  376. package/es/reporting/api/fetchStudentAnalyses.js +3 -7
  377. package/es/reporting/api/getAnalysesExport.js +73 -12
  378. package/es/reporting/api/getAnalysesStatus.js +4 -9
  379. package/es/reporting/api/getItemAnalyses.js +1 -2
  380. package/es/reporting/api/getQuizAnalysis.js +1 -2
  381. package/es/reporting/api/itemAnalyses.js +9 -2
  382. package/es/reporting/api/quizAnalyses.js +2 -2
  383. package/es/reporting/components/Caption/index.js +1 -1
  384. package/es/reporting/components/MetricsListItem/index.js +1 -1
  385. package/es/reporting/components/charts/CentileDistribution/presenter.js +1 -1
  386. package/es/reporting/components/charts/Distribution/presenter.js +1 -1
  387. package/es/reporting/components/charts/Legend/index.js +1 -1
  388. package/es/reporting/components/charts/QuintileDistribution/presenter.js +1 -1
  389. package/es/reporting/components/itemAnalysis/AnswerFrequencySummary/index.js +2 -2
  390. package/es/reporting/components/itemAnalysis/ItemAnalysisRow/presenter.js +4 -2
  391. package/es/reporting/components/quizAnalysis/QuizAnalysisOverview.js +3 -2
  392. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +1 -1
  393. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +1 -1
  394. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/presenter.js +2 -2
  395. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/presenter.js +1 -1
  396. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +3 -2
  397. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/styles.js +1 -0
  398. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +1 -1
  399. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +2 -1
  400. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/presenter.js +2 -1
  401. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +1 -1
  402. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +1 -1
  403. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/presenter.js +1 -1
  404. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +2 -1
  405. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +2 -1
  406. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/presenter.js +3 -2
  407. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +2 -1
  408. package/es/reporting/components/resources/NewQuizAndItemAnalysis/ExportButton/index.js +2 -2
  409. package/es/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/presenter.js +1 -1
  410. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/presenter.js +1 -1
  411. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +16 -14
  412. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +4 -2
  413. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +1 -1
  414. package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +7 -3
  415. package/es/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/presenter.js +1 -1
  416. package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +2 -1
  417. package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +30 -10
  418. package/es/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +2 -2
  419. package/es/reporting/components/resources/OutcomeAnalysis/index.js +4 -16
  420. package/es/reporting/components/resources/OutcomeAnalysis/presenter.js +1 -1
  421. package/es/reporting/components/resources/QuizAndItemAnalysis/index.js +4 -14
  422. package/es/reporting/components/resources/QuizAndItemAnalysis/presenter.js +200 -335
  423. package/es/reporting/components/resources/ReportCard/index.js +8 -4
  424. package/es/reporting/components/resources/ReportList/index.js +1 -1
  425. package/es/reporting/components/resources/StudentAnalysis/ReportCard/presenter.js +7 -4
  426. package/es/reporting/components/resources/StudentAnalysis/fetchReport.js +4 -3
  427. package/es/reporting/components/resources/StudentAnalysis/fetchReportStatus.js +5 -4
  428. package/es/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportState.js +6 -3
  429. package/es/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportStatePresenter.js +21 -22
  430. package/es/reporting/components/resources/common/AnalysisUpdateDate/index.js +1 -1
  431. package/es/reporting/components/resources/common/ExportButton/index.js +2 -2
  432. package/es/reporting/components/resources/common/errorCodes.js +5 -2
  433. package/es/reporting/components/resources/common/errorMessages.js +3 -0
  434. package/es/reporting/components/resources/common/exportReports.js +3 -3
  435. package/es/reporting/components/resources/common/generateReports.js +1 -1
  436. package/es/taking/api/taking.js +88 -56
  437. package/es/taking/learnosity/index.js +1 -1
  438. package/lib/appDispatch.js +5 -0
  439. package/lib/banks/api/bankEntries.js +14 -8
  440. package/lib/banks/api/banks.js +41 -31
  441. package/lib/banks/api/tagAssociations.js +9 -9
  442. package/lib/banks/components/AddBankEntryModal/index.js +2 -5
  443. package/lib/banks/components/AddBankEntryModal/presenter.js +2 -1
  444. package/lib/banks/components/AddToBankModal/index.js +6 -6
  445. package/lib/banks/components/AddToBankModal/presenter.js +6 -4
  446. package/lib/banks/components/AsyncSearch/index.js +2 -1
  447. package/lib/banks/components/Bank/index.js +12 -23
  448. package/lib/banks/components/Bank/presenter.js +2 -1
  449. package/lib/banks/components/BankEntriesList/index.js +1 -4
  450. package/lib/banks/components/BankEntriesList/presenter.js +1 -1
  451. package/lib/banks/components/BankEntry/index.js +12 -25
  452. package/lib/banks/components/BankEntry/presenter.js +603 -747
  453. package/lib/banks/components/BankEntryRow/index.js +10 -25
  454. package/lib/banks/components/BankEntryRow/presenter.js +5 -3
  455. package/lib/banks/components/BankSearch/index.js +6 -14
  456. package/lib/banks/components/BankSearch/presenter.js +3 -1
  457. package/lib/banks/components/Banks/index.js +9 -13
  458. package/lib/banks/components/Banks/presenter.js +4 -1
  459. package/lib/banks/components/BanksList/index.js +2 -8
  460. package/lib/banks/components/BanksList/presenter.js +3 -1
  461. package/lib/banks/components/CopyMoveBankEntryModal/index.js +6 -9
  462. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +7 -5
  463. package/lib/banks/components/CreateBankModal/index.js +9 -13
  464. package/lib/banks/components/CreateBankModal/presenter.js +3 -1
  465. package/lib/banks/components/EditBankModal/index.js +4 -6
  466. package/lib/banks/components/EditBankModal/presenter.js +3 -1
  467. package/lib/banks/components/HeaderMenu/presenter.js +2 -1
  468. package/lib/banks/components/NavWrapper/index.js +2 -5
  469. package/lib/banks/components/NavWrapper/presenter.js +1 -1
  470. package/lib/banks/components/SharingModal/RootAccountSharing.js +3 -1
  471. package/lib/banks/components/SharingModal/ShareList/index.js +3 -1
  472. package/lib/banks/components/SharingModal/index.js +3 -5
  473. package/lib/banks/components/SharingModal/presenter.js +545 -583
  474. package/lib/building/api/items.js +7 -7
  475. package/lib/building/api/qtiImports.js +15 -8
  476. package/lib/building/api/quizEntries.js +63 -35
  477. package/lib/building/api/quizzes.js +16 -13
  478. package/lib/building/api/stimuli.js +4 -4
  479. package/lib/building/components/QTIImportModal/index.js +2 -2
  480. package/lib/building/components/layout/Sidebar/SidebarItem/index.js +75 -21
  481. package/lib/building/components/layout/Sidebar/SidebarItem/presenter.js +1 -1
  482. package/lib/building/components/layout/Sidebar/Stimulus/index.js +75 -25
  483. package/lib/building/components/layout/Sidebar/Stimulus/presenter.js +1 -1
  484. package/lib/building/components/layout/Sidebar/index.js +68 -9
  485. package/lib/building/components/layout/Sidebar/presenter.js +3 -2
  486. package/lib/building/components/layout/header/BuildingButtons/index.js +7 -8
  487. package/lib/building/components/layout/header/BuildingButtons/presenter.js +6 -1
  488. package/lib/building/components/layout/header/SDKBuildingButtons/index.js +6 -5
  489. package/lib/building/components/resources/ActionButtons/index.js +6 -5
  490. package/lib/building/components/resources/ActionButtons/presenter.js +3 -2
  491. package/lib/building/components/resources/AddToBankOptions/index.js +78 -182
  492. package/lib/building/components/resources/BanksTray/index.js +6 -21
  493. package/lib/building/components/resources/BanksTray/presenter.js +2 -1
  494. package/lib/building/components/resources/DeleteStimulusModal/index.js +5 -17
  495. package/lib/building/components/resources/DeleteStimulusModal/presenter.js +4 -2
  496. package/lib/building/components/resources/ItemFeedbackModal/index.js +8 -14
  497. package/lib/building/components/resources/ItemFeedbackModal/presenter.js +47 -42
  498. package/lib/building/components/resources/MoveImmutableModal/index.js +4 -13
  499. package/lib/building/components/resources/MoveImmutableModal/presenter.js +2 -1
  500. package/lib/building/components/resources/quiz/instructions/Edit/index.js +1 -4
  501. package/lib/building/components/resources/quiz/instructions/Edit/presenter.js +3 -2
  502. package/lib/building/components/resources/quiz/instructions/Instructions/index.js +4 -3
  503. package/lib/building/components/resources/quiz/instructions/Instructions/presenter.js +2 -2
  504. package/lib/building/components/resources/quiz/instructions/Show/index.js +2 -2
  505. package/lib/building/components/resources/quiz/instructions/Show/styles.js +3 -1
  506. package/lib/building/components/resources/quiz/title/Edit/index.js +2 -1
  507. package/lib/building/components/resources/quiz/title/Show/index.js +1 -1
  508. package/lib/building/components/resources/quiz/title/Title/index.js +4 -3
  509. package/lib/building/components/resources/quiz/title/Title/presenter.js +2 -2
  510. package/lib/building/components/resources/quizEntry/QuizEntry/index.js +80 -26
  511. package/lib/building/components/resources/quizEntry/QuizEntry/presenter.js +8 -3
  512. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/presenter.js +183 -40
  513. package/lib/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/index.js +1 -1
  514. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/index.js +5 -1
  515. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +184 -279
  516. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/styles.js +3 -2
  517. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +5 -2
  518. package/lib/building/components/resources/quizEntry/QuizEntryEdit/index.js +16 -29
  519. package/lib/building/components/resources/quizEntry/QuizEntryEdit/presenter.js +374 -440
  520. package/lib/building/components/resources/quizEntry/QuizEntryShow/components/LeftHeader.js +151 -0
  521. package/lib/building/components/resources/quizEntry/QuizEntryShow/index.js +19 -30
  522. package/lib/building/components/resources/quizEntry/QuizEntryShow/presenter.js +39 -113
  523. package/lib/building/components/resources/quizEntry/QuizEntryShow/styles.js +0 -12
  524. package/lib/common/actions/addInteractionTypes.js +1 -1
  525. package/lib/common/actions/alerts.js +1 -1
  526. package/lib/common/actions/analyses.js +1 -1
  527. package/lib/common/actions/bankEntries.js +1 -1
  528. package/lib/common/actions/bankSearch.js +1 -1
  529. package/lib/common/actions/banks.js +1 -1
  530. package/lib/common/actions/config.js +19 -1
  531. package/lib/common/actions/dragAndDrop.js +1 -1
  532. package/lib/common/actions/editing.js +1 -1
  533. package/lib/common/actions/errorsShowing.js +1 -1
  534. package/lib/common/actions/features.js +1 -1
  535. package/lib/common/actions/grading.js +1 -1
  536. package/lib/common/actions/items.js +1 -1
  537. package/lib/common/actions/modal.js +3 -2
  538. package/lib/common/actions/moderation.js +1 -1
  539. package/lib/common/actions/modifications.js +2 -2
  540. package/lib/common/actions/outcomes.js +1 -1
  541. package/lib/common/actions/postMessage.js +1 -1
  542. package/lib/common/actions/printing.js +1 -1
  543. package/lib/common/actions/qtiImports.js +1 -1
  544. package/lib/common/actions/quizEntries.js +1 -1
  545. package/lib/common/actions/quizExport.js +1 -1
  546. package/lib/common/actions/quizSessionEvents.js +1 -1
  547. package/lib/common/actions/quizSessionResults.js +1 -1
  548. package/lib/common/actions/quizSessions.js +13 -11
  549. package/lib/common/actions/quizzes.js +1 -1
  550. package/lib/common/actions/rce.js +1 -1
  551. package/lib/common/actions/regrading.js +1 -1
  552. package/lib/common/actions/reporting.js +1 -1
  553. package/lib/common/actions/scrolling.js +1 -1
  554. package/lib/common/actions/sessionItemResults.js +1 -1
  555. package/lib/common/actions/sessionItems.js +1 -1
  556. package/lib/common/actions/sharedBanks.js +1 -1
  557. package/lib/common/actions/sharingModal.js +1 -1
  558. package/lib/common/actions/sidebar.js +1 -1
  559. package/lib/common/actions/stimuli.js +1 -1
  560. package/lib/common/actions/tagAssociations.js +1 -1
  561. package/lib/common/actions/taking.js +1 -1
  562. package/lib/common/actions/ui.js +1 -1
  563. package/lib/common/actions/upload.js +1 -1
  564. package/lib/common/api/features.js +11 -2
  565. package/lib/common/api/fileUpload.js +8 -2
  566. package/lib/common/api/helpers.js +1 -1
  567. package/lib/common/api/interactionTypes.js +2 -2
  568. package/lib/common/api/quizSessions.js +129 -106
  569. package/lib/common/api/quizzes.js +6 -5
  570. package/lib/common/components/ApiFeatureFlagInitializer/index.js +3 -6
  571. package/lib/common/components/ConfirmationModal/index.js +2 -2
  572. package/lib/common/components/ConfirmationModal/presenter.js +54 -171
  573. package/lib/common/components/ImportModal/ImportFileSelector/index.js +1 -1
  574. package/lib/common/components/ImportModal/index.js +6 -18
  575. package/lib/common/components/ImportModal/presenter.js +5 -1
  576. package/lib/common/components/MaskedTextInput/index.js +1 -1
  577. package/lib/common/components/ModuleNavigationButtons/index.js +32 -0
  578. package/lib/common/components/PreviewFrame/index.js +1 -1
  579. package/lib/common/components/PrintFontSizeModal/presenter.js +164 -225
  580. package/lib/common/components/RceConfigProvider/index.js +3 -2
  581. package/lib/common/components/RceConfigProvider/presenter.js +12 -9
  582. package/lib/common/components/RceConfigProvider/rceConfigErrorHandler.js +7 -8
  583. package/lib/common/components/RceConfigProvider/rceConfigErrorMessages.js +1 -1
  584. package/lib/common/components/RceConfigProvider/rceConfigMapper.js +1 -1
  585. package/lib/common/components/SDKApp/index.js +279 -229
  586. package/lib/common/components/SDKHeaderCalculator.js +6 -5
  587. package/lib/common/components/SDKMenuButton.js +6 -5
  588. package/lib/common/components/SDKNavBar.js +6 -5
  589. package/lib/common/components/SDKTimer.js +6 -5
  590. package/lib/common/components/TimingAlerts/presenter.js +3 -3
  591. package/lib/common/components/alerts/index.js +2 -1
  592. package/lib/common/components/alerts/presenter.js +1 -1
  593. package/lib/common/components/alerts/styles.js +1 -1
  594. package/lib/common/components/layout/Page/index.js +1 -1
  595. package/lib/common/components/layout/Page/styles.js +3 -0
  596. package/lib/common/components/layout/header/Calculator/presenter.js +2 -2
  597. package/lib/common/components/layout/header/HeaderMenuButton/index.js +1 -4
  598. package/lib/common/components/layout/header/HeaderMenuButton/presenter.js +1 -1
  599. package/lib/common/components/layout/header/Timer/presenter.js +1 -1
  600. package/lib/common/components/layout/navbar/SecondaryNavBarButton/index.js +28 -2
  601. package/lib/common/components/layout/navbar/index.js +1 -1
  602. package/lib/common/components/layout/sidebar/PositionSummary/index.js +1 -1
  603. package/lib/common/components/layout/sidebar/Sidebar/components/TotalPointsPossible.js +37 -0
  604. package/lib/common/components/layout/sidebar/Sidebar/index.js +34 -61
  605. package/lib/common/components/layout/sidebar/SidebarItem/index.js +5 -1
  606. package/lib/common/components/layout/sidebar/SidebarItem/presenter.js +46 -15
  607. package/lib/common/components/layout/sidebar/SidebarItem/styles.js +4 -1
  608. package/lib/common/components/layout/sidebar/Stimulus/Collection/presenter.js +1 -1
  609. package/lib/common/components/layout/sidebar/Stimulus/Summary/presenter.js +1 -1
  610. package/lib/common/components/layout/sidebar/Stimulus/Title/index.js +1 -1
  611. package/lib/common/components/layout/sidebar/Stimulus/index.js +1 -4
  612. package/lib/common/components/layout/sidebar/Stimulus/presenter.js +30 -3
  613. package/lib/common/components/resources/BankSelection/index.js +3 -9
  614. package/{es/common/components/resources/quizSessionResult/Header → lib/common/components/resources/QuizSessionResult/QuizSessionResultHeader}/index.js +16 -24
  615. package/lib/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/LetterGrade.js +36 -0
  616. package/lib/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/PointsDisplay.js +70 -0
  617. package/lib/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/Progress.js +57 -0
  618. package/lib/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/index.js +49 -0
  619. package/lib/common/components/resources/QuizSessionResult/QuizSessionResultInfo/index.js +118 -0
  620. package/lib/common/components/resources/WarningWrapper/index.js +1 -1
  621. package/lib/common/components/resources/entry/EntrySave/presenter.js +174 -240
  622. package/lib/common/components/resources/item/ItemEdit/index.js +21 -30
  623. package/lib/common/components/resources/item/ItemEdit/presenter.js +6 -3
  624. package/lib/common/components/resources/item/ItemOverride/index.js +8 -5
  625. package/lib/common/components/resources/item/ItemOverride/presenter.js +1 -1
  626. package/lib/common/components/resources/item/ItemShow/index.js +3 -2
  627. package/lib/common/components/resources/positionBox/PositionBox.js +1 -1
  628. package/lib/common/components/resources/quiz/AddContent/Body/index.js +4 -2
  629. package/lib/common/components/resources/quiz/AddContent/Body/presenter.js +27 -7
  630. package/lib/common/components/resources/quiz/AddContent/Body/styles.js +7 -0
  631. package/lib/common/components/resources/quiz/AddContent/Button/index.js +2 -1
  632. package/lib/common/components/resources/quiz/AddContent/Modal/index.js +3 -9
  633. package/lib/common/components/resources/quiz/AddContent/Modal/presenter.js +1 -1
  634. package/lib/common/components/resources/quiz/AddContent/Popover/index.js +3 -9
  635. package/lib/common/components/resources/quiz/AddContent/Popover/presenter.js +3 -1
  636. package/lib/common/components/resources/quiz/info/QuizInfo.js +1 -1
  637. package/lib/common/components/resources/quiz/instructions/Instructions.js +2 -2
  638. package/lib/common/components/resources/quiz/instructions/styles.js +3 -1
  639. package/lib/common/components/resources/quiz/title/Title.js +1 -1
  640. package/lib/common/components/resources/sessionItemResult/ResultStimulus/index.js +2 -2
  641. package/lib/common/components/resources/sessionItemResult/SessionItemResult/components/SessionItemResultHeader.js +122 -0
  642. package/lib/common/components/resources/sessionItemResult/SessionItemResult/index.js +11 -7
  643. package/lib/common/components/resources/sessionItemResult/SessionItemResult/presenter.js +98 -172
  644. package/lib/common/components/resources/sessionItemResult/SessionItemResult/styles.js +0 -8
  645. package/lib/common/components/resources/sessionItemResult/SessionItemResultsList/index.js +1 -1
  646. package/lib/common/components/resources/stimulus/Stimulus/index.js +11 -15
  647. package/lib/common/components/resources/stimulus/Stimulus/presenter.js +14 -4
  648. package/lib/common/components/resources/stimulus/Stimulus/styles.js +1 -1
  649. package/lib/common/components/resources/stimulus/StimulusEdit/index.js +5 -10
  650. package/lib/common/components/resources/stimulus/StimulusEdit/presenter.js +5 -2
  651. package/lib/common/components/resources/stimulus/StimulusEditInfo/index.js +4 -6
  652. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +7 -2
  653. package/lib/common/components/resources/stimulus/StimulusShow/index.js +2 -1
  654. package/lib/common/components/resources/stimulus/StimulusShowInfo/index.js +1 -1
  655. package/lib/common/components/shared/Card/CardContent/index.js +1 -1
  656. package/lib/common/components/shared/Card/CardWrapper/index.js +1 -1
  657. package/lib/common/components/shared/ExpandButton/index.js +1 -1
  658. package/lib/common/components/shared/FormattedDuration/index.js +1 -1
  659. package/lib/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +2 -1
  660. package/lib/common/components/shared/IfFeature/index.js +3 -2
  661. package/lib/common/components/shared/InteractionTypes/presenter.js +1 -1
  662. package/lib/common/components/shared/PaginatedCollection/index.js +1 -4
  663. package/lib/common/components/shared/PaginatedCollection/presenter.js +111 -205
  664. package/lib/common/components/shared/Paginator/index.js +1 -1
  665. package/lib/common/components/shared/PrintTrigger/index.js +7 -18
  666. package/lib/common/components/shared/PrintTrigger/presenter.js +1 -1
  667. package/lib/common/components/shared/TagDisplay/index.js +1 -1
  668. package/lib/common/components/shared/TagSelect/presenter.js +2 -1
  669. package/lib/common/components/shared/TagSuggestSelect/index.js +1 -2
  670. package/lib/common/components/shared/TimeUnitsInput/index.js +315 -298
  671. package/lib/common/components/shared/drag_and_drop/DragAndDropZone/index.js +1 -1
  672. package/lib/common/components/shared/drag_and_drop/DragHandle/index.js +3 -9
  673. package/lib/common/components/shared/drag_and_drop/DragHandle/presenter.js +1 -1
  674. package/lib/common/components/shared/drag_and_drop/dragAndDropUtils.js +152 -33
  675. package/lib/common/components/shared/file_selector/FileSelector.js +1 -1
  676. package/lib/common/components/shared/functionality/componentWithOutsideClick.js +7 -8
  677. package/lib/common/components/shared/functionality/componentWithOutsideClickEmotion.js +6 -7
  678. package/lib/common/components/shared/functionality/makeEditable.js +65 -147
  679. package/lib/common/components/shared/functionality/makeScrollable.js +7 -10
  680. package/lib/common/components/shared/functionality/outsideClickStore.js +7 -0
  681. package/lib/common/components/shared/overlay/index.js +2 -1
  682. package/lib/common/components/shared/return_button/ReturnButton.js +51 -110
  683. package/lib/common/components/shared/spinner/Spinner.js +1 -1
  684. package/lib/common/kinesis/QuizEventsLogger.js +6 -6
  685. package/lib/common/kinesis/client.js +4 -5
  686. package/lib/common/middleware/alertTimerMiddleware.js +1 -1
  687. package/lib/common/middleware/appSyncMiddleware.js +19 -0
  688. package/lib/common/middleware/crossDomainMessagingMiddleware.js +1 -1
  689. package/lib/common/middleware/eventLoggerMiddleware.js +3 -1
  690. package/lib/common/middleware/persistedStorageMiddleware.js +4 -13
  691. package/lib/common/middleware/quizTimerWebSocketMiddleware.js +1 -1
  692. package/lib/common/middleware/sharedBanksMiddleware.js +3 -3
  693. package/lib/common/react-redux.js +92 -4
  694. package/lib/common/records/Alert.js +5 -4
  695. package/lib/common/records/Bank.js +4 -4
  696. package/lib/common/records/BankEntry.js +7 -15
  697. package/lib/common/records/Item.js +4 -4
  698. package/lib/common/records/ItemAnalysis.js +2 -1
  699. package/lib/common/records/QtiImport.js +1 -0
  700. package/lib/common/records/Quiz.js +13 -7
  701. package/lib/common/records/QuizAnalysis.js +1 -0
  702. package/lib/common/records/QuizEntry.js +21 -28
  703. package/lib/common/records/QuizSession.js +3 -5
  704. package/lib/common/records/QuizSessionEvent.js +1 -0
  705. package/lib/common/records/QuizSessionResult.js +3 -3
  706. package/lib/common/records/Response.js +2 -1
  707. package/lib/common/records/SessionItem.js +5 -6
  708. package/lib/common/records/SessionItemResult.js +26 -2
  709. package/lib/common/records/Stimulus.js +4 -4
  710. package/lib/common/records/baseRecord.js +11 -10
  711. package/lib/common/records/reduxRecord.js +13 -11
  712. package/lib/common/reducers/alerts.js +1 -1
  713. package/lib/common/reducers/analyses.js +1 -1
  714. package/lib/common/reducers/bankEntries.js +1 -1
  715. package/lib/common/reducers/bankSearch.js +3 -2
  716. package/lib/common/reducers/banks.js +1 -1
  717. package/lib/common/reducers/calls.js +1 -1
  718. package/lib/common/reducers/config.js +7 -1
  719. package/lib/common/reducers/dragAndDrop.js +1 -1
  720. package/lib/common/reducers/editing.js +11 -17
  721. package/lib/common/reducers/errorsShowing.js +1 -1
  722. package/lib/common/reducers/features.js +1 -1
  723. package/lib/common/reducers/grading.js +1 -1
  724. package/lib/common/reducers/interactionTypes.js +1 -1
  725. package/lib/common/reducers/items.js +1 -1
  726. package/lib/common/reducers/modal.js +1 -1
  727. package/lib/common/reducers/moderation.js +1 -1
  728. package/lib/common/reducers/modifications.js +1 -1
  729. package/lib/common/reducers/outcomes.js +1 -1
  730. package/lib/common/reducers/printing.js +1 -1
  731. package/lib/common/reducers/qtiImports.js +1 -1
  732. package/lib/common/reducers/quizEntries.js +1 -1
  733. package/lib/common/reducers/quizExport.js +1 -1
  734. package/lib/common/reducers/quizSessionEvents.js +1 -1
  735. package/lib/common/reducers/quizSessionResults.js +1 -1
  736. package/lib/common/reducers/quizSessions.js +1 -1
  737. package/lib/common/reducers/quizzes.js +1 -1
  738. package/lib/common/reducers/rce.js +1 -1
  739. package/lib/common/reducers/regrading.js +2 -2
  740. package/lib/common/reducers/reporting.js +1 -1
  741. package/lib/common/reducers/scrolling.js +1 -1
  742. package/lib/common/reducers/sessionItemResults.js +1 -1
  743. package/lib/common/reducers/sessionItems.js +1 -1
  744. package/lib/common/reducers/sharedBanks.js +1 -1
  745. package/lib/common/reducers/sharingModal.js +1 -1
  746. package/lib/common/reducers/sidebar.js +1 -1
  747. package/lib/common/reducers/stimuli.js +1 -1
  748. package/lib/common/reducers/tagAssociations.js +1 -1
  749. package/lib/common/reducers/taking.js +1 -1
  750. package/lib/common/reducers/ui.js +1 -1
  751. package/lib/common/reducers/upload.js +1 -1
  752. package/lib/common/selectors/analyses.js +14 -48
  753. package/lib/common/selectors/calculator.js +2 -5
  754. package/lib/common/selectors/calls.js +3 -6
  755. package/lib/common/selectors/config.js +1 -4
  756. package/lib/common/selectors/interactionTypes.js +11 -73
  757. package/lib/common/selectors/items.js +3 -7
  758. package/lib/common/selectors/qtiImports.js +3 -5
  759. package/lib/common/selectors/quizSessionResults.js +1 -4
  760. package/lib/common/selectors/quizSessions.js +2 -9
  761. package/lib/common/selectors/quizzes.js +28 -134
  762. package/lib/common/selectors/rce.js +2 -8
  763. package/lib/common/selectors/reporting.js +1 -2
  764. package/lib/common/selectors/sessionItemResults.js +1 -4
  765. package/lib/common/selectors/sessionItems.js +3 -9
  766. package/lib/common/selectors/taking.js +9 -29
  767. package/lib/common/selectors/ui.js +1 -4
  768. package/lib/common/util/Fetcher.js +183 -65
  769. package/lib/common/util/TimerService.js +6 -4
  770. package/lib/common/util/callHelpers.js +1 -1
  771. package/lib/common/util/clickHandlers.js +1 -1
  772. package/lib/common/util/componentForItem.js +106 -1
  773. package/lib/common/util/featureCheck.js +26 -28
  774. package/lib/common/util/getClientIpAddress.js +2 -2
  775. package/lib/common/util/interactionTypePropsHelper.js +7 -5
  776. package/lib/common/util/interactionTypeRecordForItem.js +32 -3
  777. package/lib/common/util/isMissing.js +4 -0
  778. package/lib/common/util/mathRenderingUtils.js +1 -1
  779. package/lib/common/util/maxContent.js +1 -1
  780. package/lib/common/util/modalHelpers.js +1 -4
  781. package/lib/common/util/persistedState.js +3 -3
  782. package/lib/common/util/printUtils.js +1 -1
  783. package/lib/common/util/renderAlerts.js +5 -4
  784. package/lib/common/util/serializeEvent.js +6 -6
  785. package/lib/common/util/sessionLockHelpers.js +62 -0
  786. package/lib/common/util/windowChecks.js +1 -1
  787. package/lib/common/util/withStateCache.js +31 -2
  788. package/lib/configureStore.js +49 -6
  789. package/lib/grading/api/quizEntryRegrades.js +3 -3
  790. package/lib/grading/api/updateResults.js +3 -3
  791. package/lib/index.js +14 -9
  792. package/lib/messages/subjectHandlers/lti.capabilities.js +3 -1
  793. package/lib/moderating/api/quizSessionEvents.js +14 -9
  794. package/lib/moderating/api/quizSessions.js +15 -7
  795. package/lib/moderating/components/events/Event.js +2 -1
  796. package/lib/moderating/components/events/ResponseEvent.js +25 -22
  797. package/lib/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/index.js +1 -1
  798. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/index.js +132 -191
  799. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -1
  800. package/lib/moderating/components/resources/ElapsedTime.js +1 -1
  801. package/lib/moderating/components/resources/EventDetails.js +2 -2
  802. package/lib/moderating/components/resources/ModerateTable/index.js +4 -7
  803. package/lib/moderating/components/resources/ModerateTable/presenter.js +20 -11
  804. package/lib/moderating/components/resources/ModerateTableRow/presenter.js +101 -30
  805. package/lib/moderating/components/resources/ModerateTableRow/styles.js +0 -4
  806. package/lib/moderating/components/resources/OutstandingQuizzesModal/index.js +2 -5
  807. package/lib/moderating/components/resources/OutstandingQuizzesModal/presenter.js +1 -1
  808. package/lib/moderating/components/resources/util/extractSessionData.js +1 -1
  809. package/lib/moderating/components/sidebar/ModerateTray/index.js +2 -8
  810. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +2 -1
  811. package/lib/moderating/components/sidebar/ResetQuiz/index.js +11 -9
  812. package/lib/moderating/components/sidebar/ResetQuiz/presenter.js +11 -1
  813. package/lib/reporting/api/fetchStudentAnalyses.js +3 -7
  814. package/lib/reporting/api/getAnalysesExport.js +73 -12
  815. package/lib/reporting/api/getAnalysesStatus.js +4 -9
  816. package/lib/reporting/api/getItemAnalyses.js +1 -2
  817. package/lib/reporting/api/getQuizAnalysis.js +1 -2
  818. package/lib/reporting/api/itemAnalyses.js +9 -2
  819. package/lib/reporting/api/quizAnalyses.js +2 -2
  820. package/lib/reporting/components/Caption/index.js +1 -1
  821. package/lib/reporting/components/MetricsListItem/index.js +1 -1
  822. package/lib/reporting/components/charts/CentileDistribution/presenter.js +1 -1
  823. package/lib/reporting/components/charts/Distribution/presenter.js +1 -1
  824. package/lib/reporting/components/charts/Legend/index.js +1 -1
  825. package/lib/reporting/components/charts/QuintileDistribution/presenter.js +1 -1
  826. package/lib/reporting/components/itemAnalysis/AnswerFrequencySummary/index.js +2 -2
  827. package/lib/reporting/components/itemAnalysis/ItemAnalysisRow/presenter.js +4 -2
  828. package/lib/reporting/components/quizAnalysis/QuizAnalysisOverview.js +3 -2
  829. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +1 -1
  830. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +1 -1
  831. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/presenter.js +2 -2
  832. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/presenter.js +1 -1
  833. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +3 -2
  834. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/styles.js +1 -0
  835. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +1 -1
  836. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +2 -1
  837. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/presenter.js +2 -1
  838. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +1 -1
  839. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +1 -1
  840. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/presenter.js +1 -1
  841. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +2 -1
  842. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +2 -1
  843. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/presenter.js +3 -2
  844. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +2 -1
  845. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ExportButton/index.js +2 -2
  846. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/presenter.js +1 -1
  847. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/presenter.js +1 -1
  848. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +16 -14
  849. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +4 -2
  850. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +1 -1
  851. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +7 -3
  852. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/presenter.js +1 -1
  853. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +2 -1
  854. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +30 -10
  855. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +2 -2
  856. package/lib/reporting/components/resources/OutcomeAnalysis/index.js +4 -16
  857. package/lib/reporting/components/resources/OutcomeAnalysis/presenter.js +1 -1
  858. package/lib/reporting/components/resources/QuizAndItemAnalysis/index.js +4 -14
  859. package/lib/reporting/components/resources/QuizAndItemAnalysis/presenter.js +200 -335
  860. package/lib/reporting/components/resources/ReportCard/index.js +8 -4
  861. package/lib/reporting/components/resources/ReportList/index.js +1 -1
  862. package/lib/reporting/components/resources/StudentAnalysis/ReportCard/presenter.js +7 -4
  863. package/lib/reporting/components/resources/StudentAnalysis/fetchReport.js +4 -3
  864. package/lib/reporting/components/resources/StudentAnalysis/fetchReportStatus.js +5 -4
  865. package/lib/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportState.js +6 -3
  866. package/lib/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportStatePresenter.js +21 -22
  867. package/lib/reporting/components/resources/common/AnalysisUpdateDate/index.js +1 -1
  868. package/lib/reporting/components/resources/common/ExportButton/index.js +2 -2
  869. package/lib/reporting/components/resources/common/errorCodes.js +5 -2
  870. package/lib/reporting/components/resources/common/errorMessages.js +3 -0
  871. package/lib/reporting/components/resources/common/exportReports.js +3 -3
  872. package/lib/reporting/components/resources/common/generateReports.js +1 -1
  873. package/lib/taking/api/taking.js +88 -56
  874. package/lib/taking/learnosity/index.js +1 -1
  875. package/package.json +87 -95
  876. package/src/__tests__/config.test.js +9 -0
  877. package/src/appDispatch.js +6 -0
  878. package/src/banks/api/__tests__/bankEntries.test.js +359 -0
  879. package/src/banks/api/__tests__/banks.test.js +764 -0
  880. package/src/banks/api/__tests__/copyingBanksPoller.test.js +47 -0
  881. package/src/banks/api/__tests__/tagAssociations.test.js +133 -0
  882. package/src/banks/api/bankEntries.js +265 -0
  883. package/src/banks/api/banks.js +351 -0
  884. package/src/banks/api/copyingBanksPoller.js +61 -0
  885. package/src/banks/api/tagAssociations.js +92 -0
  886. package/src/banks/components/AddBankEntryModal/__tests__/presenter.test.js +76 -0
  887. package/src/banks/components/AddBankEntryModal/index.js +33 -0
  888. package/src/banks/components/AddBankEntryModal/presenter.js +117 -0
  889. package/src/banks/components/AddToBankModal/__tests__/index.test.js +35 -0
  890. package/src/banks/components/AddToBankModal/__tests__/presenter.test.js +248 -0
  891. package/src/banks/components/AddToBankModal/index.js +33 -0
  892. package/src/banks/components/AddToBankModal/presenter.js +220 -0
  893. package/src/banks/components/AsyncSearch/__tests__/index.test.js +228 -0
  894. package/src/banks/components/AsyncSearch/index.js +412 -0
  895. package/src/banks/components/Bank/README.md +7 -0
  896. package/src/banks/components/Bank/__tests__/index.test.js +98 -0
  897. package/src/banks/components/Bank/__tests__/presenter.test.js +304 -0
  898. package/src/banks/components/Bank/index.js +66 -0
  899. package/src/banks/components/Bank/presenter.js +507 -0
  900. package/src/banks/components/Bank/styles.js +36 -0
  901. package/src/banks/components/Bank/theme.js +14 -0
  902. package/src/banks/components/BankEntriesList/__tests__/index.test.js +22 -0
  903. package/src/banks/components/BankEntriesList/__tests__/presenter.test.js +15 -0
  904. package/src/banks/components/BankEntriesList/index.js +13 -0
  905. package/src/banks/components/BankEntriesList/presenter.js +54 -0
  906. package/src/banks/components/BankEntriesList/styles.js +9 -0
  907. package/src/banks/components/BankEntriesList/theme.js +7 -0
  908. package/src/banks/components/BankEntry/README.md +7 -0
  909. package/src/banks/components/BankEntry/__tests__/index.test.js +95 -0
  910. package/src/banks/components/BankEntry/__tests__/presenter.test.js +698 -0
  911. package/src/banks/components/BankEntry/index.js +92 -0
  912. package/src/banks/components/BankEntry/presenter.js +699 -0
  913. package/src/banks/components/BankEntry/styles.js +65 -0
  914. package/src/banks/components/BankEntry/theme.js +25 -0
  915. package/src/banks/components/BankEntryRow/__tests__/index.test.js +59 -0
  916. package/src/banks/components/BankEntryRow/__tests__/presenter.test.js +233 -0
  917. package/src/banks/components/BankEntryRow/index.js +49 -0
  918. package/src/banks/components/BankEntryRow/presenter.js +439 -0
  919. package/src/banks/components/BankEntryRow/styles.js +58 -0
  920. package/src/banks/components/BankEntryRow/theme.js +21 -0
  921. package/src/banks/components/BankSearch/BankSearch.stories.js +35 -0
  922. package/src/banks/components/BankSearch/__tests__/index.test.js +11 -0
  923. package/src/banks/components/BankSearch/__tests__/presenter.test.js +96 -0
  924. package/src/banks/components/BankSearch/index.js +28 -0
  925. package/src/banks/components/BankSearch/presenter.js +178 -0
  926. package/src/banks/components/BankSearch/styles.js +19 -0
  927. package/src/banks/components/BankSearch/theme.js +8 -0
  928. package/src/banks/components/Banks/README.md +7 -0
  929. package/src/banks/components/Banks/__tests__/index.test.js +36 -0
  930. package/src/banks/components/Banks/__tests__/presenter.test.js +318 -0
  931. package/src/banks/components/Banks/index.js +46 -0
  932. package/src/banks/components/Banks/presenter.js +569 -0
  933. package/src/banks/components/Banks/styles.js +34 -0
  934. package/src/banks/components/Banks/theme.js +13 -0
  935. package/src/banks/components/BanksList/__tests__/index.test.js +40 -0
  936. package/src/banks/components/BanksList/__tests__/presenter.test.js +425 -0
  937. package/src/banks/components/BanksList/index.js +24 -0
  938. package/src/banks/components/BanksList/presenter.js +523 -0
  939. package/src/banks/components/BanksList/styles.js +52 -0
  940. package/src/banks/components/BanksList/theme.js +19 -0
  941. package/src/banks/components/CopyMoveBankEntryModal/__tests__/index.test.js +41 -0
  942. package/src/banks/components/CopyMoveBankEntryModal/__tests__/presenter.test.js +331 -0
  943. package/src/banks/components/CopyMoveBankEntryModal/index.js +40 -0
  944. package/src/banks/components/CopyMoveBankEntryModal/presenter.js +322 -0
  945. package/src/banks/components/CreateBankModal/__tests__/index.test.js +27 -0
  946. package/src/banks/components/CreateBankModal/__tests__/presenter.test.js +154 -0
  947. package/src/banks/components/CreateBankModal/index.js +42 -0
  948. package/src/banks/components/CreateBankModal/presenter.js +197 -0
  949. package/src/banks/components/EditBankModal/__tests__/index.test.js +26 -0
  950. package/src/banks/components/EditBankModal/__tests__/presenter.test.js +101 -0
  951. package/src/banks/components/EditBankModal/index.js +35 -0
  952. package/src/banks/components/EditBankModal/presenter.js +146 -0
  953. package/src/banks/components/HeaderBreadCrumb/__tests__/index.test.js +152 -0
  954. package/src/banks/components/HeaderBreadCrumb/index.js +88 -0
  955. package/src/banks/components/HeaderMenu/__tests__/index.test.js +19 -0
  956. package/src/banks/components/HeaderMenu/__tests__/presenter.test.js +42 -0
  957. package/src/banks/components/HeaderMenu/index.js +22 -0
  958. package/src/banks/components/HeaderMenu/presenter.js +115 -0
  959. package/src/banks/components/HeaderMenu/styles.js +14 -0
  960. package/src/banks/components/HeaderMenu/theme.js +8 -0
  961. package/src/banks/components/NavWrapper/__tests__/presenter.test.js +164 -0
  962. package/src/banks/components/NavWrapper/externalStyles.js +3 -0
  963. package/src/banks/components/NavWrapper/index.js +12 -0
  964. package/src/banks/components/NavWrapper/presenter.js +170 -0
  965. package/src/banks/components/NavWrapper/styles.js +31 -0
  966. package/src/banks/components/NavWrapper/theme.js +14 -0
  967. package/src/banks/components/SharingModal/ContextualIconButton/index.js +35 -0
  968. package/src/banks/components/SharingModal/RootAccountSharing.js +88 -0
  969. package/src/banks/components/SharingModal/ShareList/__tests__/index.test.js +115 -0
  970. package/src/banks/components/SharingModal/ShareList/index.js +137 -0
  971. package/src/banks/components/SharingModal/ShareList/styles.js +9 -0
  972. package/src/banks/components/SharingModal/__tests__/presenter.test.js +512 -0
  973. package/src/banks/components/SharingModal/__tests__/rootAccountSharing.test.js +37 -0
  974. package/src/banks/components/SharingModal/index.js +42 -0
  975. package/src/banks/components/SharingModal/presenter.js +689 -0
  976. package/src/banks/components/SharingModal/styles.js +13 -0
  977. package/src/banks/components/SharingModal/theme.js +9 -0
  978. package/src/banks/components/noResults.svg +56 -0
  979. package/src/building/api/__tests__/items.test.js +487 -0
  980. package/src/building/api/__tests__/qtiImports.test.js +452 -0
  981. package/src/building/api/__tests__/quizEntries.test.js +715 -0
  982. package/src/building/api/__tests__/quizzes.test.js +389 -0
  983. package/src/building/api/__tests__/stimuli.test.js +186 -0
  984. package/src/building/api/items.js +262 -0
  985. package/src/building/api/qtiImports.js +143 -0
  986. package/src/building/api/quizEntries.js +464 -0
  987. package/src/building/api/quizzes.js +389 -0
  988. package/src/building/api/stimuli.js +83 -0
  989. package/src/building/components/QTIImportModal/__tests__/QTIImportModal.test.js +50 -0
  990. package/src/building/components/QTIImportModal/index.js +48 -0
  991. package/src/building/components/layout/Sidebar/SidebarItem/__tests__/SidebarItem.test.js +7 -0
  992. package/src/building/components/layout/Sidebar/SidebarItem/__tests__/presenter.test.js +48 -0
  993. package/src/building/components/layout/Sidebar/SidebarItem/index.js +67 -0
  994. package/src/building/components/layout/Sidebar/SidebarItem/presenter.js +122 -0
  995. package/src/building/components/layout/Sidebar/SidebarItem/styles.js +9 -0
  996. package/src/building/components/layout/Sidebar/SidebarItem/theme.js +5 -0
  997. package/src/building/components/layout/Sidebar/Stimulus/__tests__/Stimulus.test.js +25 -0
  998. package/src/building/components/layout/Sidebar/Stimulus/__tests__/presenter.test.js +34 -0
  999. package/src/building/components/layout/Sidebar/Stimulus/index.js +66 -0
  1000. package/src/building/components/layout/Sidebar/Stimulus/presenter.js +129 -0
  1001. package/src/building/components/layout/Sidebar/Stimulus/styles.js +9 -0
  1002. package/src/building/components/layout/Sidebar/Stimulus/theme.js +5 -0
  1003. package/src/building/components/layout/Sidebar/__tests__/Sidebar.test.js +60 -0
  1004. package/src/building/components/layout/Sidebar/__tests__/presenter.test.js +161 -0
  1005. package/src/building/components/layout/Sidebar/index.js +60 -0
  1006. package/src/building/components/layout/Sidebar/presenter.js +225 -0
  1007. package/src/building/components/layout/Sidebar/styles.js +29 -0
  1008. package/src/building/components/layout/Sidebar/theme.js +7 -0
  1009. package/src/building/components/layout/header/BuildingButtons/README.md +19 -0
  1010. package/src/building/components/layout/header/BuildingButtons/__tests__/index.test.js +15 -0
  1011. package/src/building/components/layout/header/BuildingButtons/__tests__/presenter.test.js +297 -0
  1012. package/src/building/components/layout/header/BuildingButtons/index.js +46 -0
  1013. package/src/building/components/layout/header/BuildingButtons/presenter.js +419 -0
  1014. package/src/building/components/layout/header/BuildingButtons/styles.js +25 -0
  1015. package/src/building/components/layout/header/BuildingButtons/theme.js +13 -0
  1016. package/src/building/components/layout/header/SDKBuildingButtons/__tests__/index.test.js +23 -0
  1017. package/src/building/components/layout/header/SDKBuildingButtons/index.js +17 -0
  1018. package/src/building/components/resources/ActionButtons/README.md +24 -0
  1019. package/src/building/components/resources/ActionButtons/__tests__/ActionButtons.test.js +113 -0
  1020. package/src/building/components/resources/ActionButtons/index.js +25 -0
  1021. package/src/building/components/resources/ActionButtons/presenter.js +175 -0
  1022. package/src/building/components/resources/ActionButtons/styles.js +31 -0
  1023. package/src/building/components/resources/ActionButtons/theme.js +9 -0
  1024. package/src/building/components/resources/AddToBankOptions/__tests__/index.test.js +77 -0
  1025. package/src/building/components/resources/AddToBankOptions/index.js +85 -0
  1026. package/src/building/components/resources/AddToBankOptions/styles.js +11 -0
  1027. package/src/building/components/resources/AddToBankOptions/theme.js +8 -0
  1028. package/src/building/components/resources/BanksTray/__tests__/presenter.test.js +78 -0
  1029. package/src/building/components/resources/BanksTray/index.js +26 -0
  1030. package/src/building/components/resources/BanksTray/presenter.js +210 -0
  1031. package/src/building/components/resources/DeleteStimulusModal/__tests__/presenter.test.js +310 -0
  1032. package/src/building/components/resources/DeleteStimulusModal/index.js +45 -0
  1033. package/src/building/components/resources/DeleteStimulusModal/presenter.js +328 -0
  1034. package/src/building/components/resources/DeleteStimulusModal/styles.js +22 -0
  1035. package/src/building/components/resources/DeleteStimulusModal/theme.js +10 -0
  1036. package/src/building/components/resources/ItemFeedbackModal/__tests__/index.test.js +23 -0
  1037. package/src/building/components/resources/ItemFeedbackModal/__tests__/presenter.test.js +122 -0
  1038. package/src/building/components/resources/ItemFeedbackModal/index.js +45 -0
  1039. package/src/building/components/resources/ItemFeedbackModal/presenter.js +170 -0
  1040. package/src/building/components/resources/MoveImmutableModal/__tests__/presenter.test.js +98 -0
  1041. package/src/building/components/resources/MoveImmutableModal/index.js +37 -0
  1042. package/src/building/components/resources/MoveImmutableModal/presenter.js +109 -0
  1043. package/src/building/components/resources/quiz/__tests__/editableFieldTests.js +28 -0
  1044. package/src/building/components/resources/quiz/__tests__/toggleEditingTests.js +53 -0
  1045. package/src/building/components/resources/quiz/editButton/EditButton.js +43 -0
  1046. package/src/building/components/resources/quiz/editButton/__tests__/EditButton.test.js +38 -0
  1047. package/src/building/components/resources/quiz/instructions/Edit/__tests__/Edit.test.js +54 -0
  1048. package/src/building/components/resources/quiz/instructions/Edit/index.js +10 -0
  1049. package/src/building/components/resources/quiz/instructions/Edit/presenter.js +83 -0
  1050. package/src/building/components/resources/quiz/instructions/Edit/styles.js +21 -0
  1051. package/src/building/components/resources/quiz/instructions/Edit/theme.js +6 -0
  1052. package/src/building/components/resources/quiz/instructions/Instructions/__tests__/Instructions.test.js +307 -0
  1053. package/src/building/components/resources/quiz/instructions/Instructions/index.js +34 -0
  1054. package/src/building/components/resources/quiz/instructions/Instructions/presenter.js +185 -0
  1055. package/src/building/components/resources/quiz/instructions/Instructions/styles.js +32 -0
  1056. package/src/building/components/resources/quiz/instructions/Instructions/theme.js +10 -0
  1057. package/src/building/components/resources/quiz/instructions/Show/__tests__/Show.test.js +26 -0
  1058. package/src/building/components/resources/quiz/instructions/Show/index.js +66 -0
  1059. package/src/building/components/resources/quiz/instructions/Show/styles.js +33 -0
  1060. package/src/building/components/resources/quiz/instructions/Show/theme.js +6 -0
  1061. package/src/building/components/resources/quiz/title/Edit/__tests__/Edit.test.js +119 -0
  1062. package/src/building/components/resources/quiz/title/Edit/index.js +176 -0
  1063. package/src/building/components/resources/quiz/title/Show/__tests__/Show.test.js +25 -0
  1064. package/src/building/components/resources/quiz/title/Show/index.js +64 -0
  1065. package/src/building/components/resources/quiz/title/Show/styles.js +16 -0
  1066. package/src/building/components/resources/quiz/title/Show/theme.js +7 -0
  1067. package/src/building/components/resources/quiz/title/Title/__tests__/Title.test.js +277 -0
  1068. package/src/building/components/resources/quiz/title/Title/index.js +30 -0
  1069. package/src/building/components/resources/quiz/title/Title/presenter.js +182 -0
  1070. package/src/building/components/resources/quiz/title/Title/styles.js +38 -0
  1071. package/src/building/components/resources/quiz/title/Title/theme.js +13 -0
  1072. package/src/building/components/resources/quizEntry/QuizEntry/__tests__/index.test.js +67 -0
  1073. package/src/building/components/resources/quizEntry/QuizEntry/__tests__/presenter.test.js +469 -0
  1074. package/src/building/components/resources/quizEntry/QuizEntry/index.js +99 -0
  1075. package/src/building/components/resources/quizEntry/QuizEntry/presenter.js +453 -0
  1076. package/src/building/components/resources/quizEntry/QuizEntry/quizEntryPresenterWrapper.js +22 -0
  1077. package/src/building/components/resources/quizEntry/QuizEntry/styles.js +24 -0
  1078. package/src/building/components/resources/quizEntry/QuizEntry/theme.js +10 -0
  1079. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/__tests__/index.test.js +32 -0
  1080. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/__tests__/presenter.test.js +277 -0
  1081. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/index.js +34 -0
  1082. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/presenter.js +247 -0
  1083. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/styles.js +30 -0
  1084. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankEdit/theme.js +21 -0
  1085. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/__tests__/index.test.js +49 -0
  1086. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/index.js +108 -0
  1087. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/styles.js +19 -0
  1088. package/src/building/components/resources/quizEntry/QuizEntryBank/QuizEntryBankShow/theme.js +11 -0
  1089. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/__tests__/index.test.js +87 -0
  1090. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/__tests__/presenter.test.js +352 -0
  1091. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/index.js +28 -0
  1092. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +295 -0
  1093. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/styles.js +26 -0
  1094. package/src/building/components/resources/quizEntry/QuizEntryEdit/Footer/theme.js +9 -0
  1095. package/src/building/components/resources/quizEntry/QuizEntryEdit/Header/__tests__/index.test.js +356 -0
  1096. package/src/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +353 -0
  1097. package/src/building/components/resources/quizEntry/QuizEntryEdit/Header/styles.js +20 -0
  1098. package/src/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +9 -0
  1099. package/src/building/components/resources/quizEntry/QuizEntryEdit/__tests__/presenter.test.js +675 -0
  1100. package/src/building/components/resources/quizEntry/QuizEntryEdit/index.js +88 -0
  1101. package/src/building/components/resources/quizEntry/QuizEntryEdit/presenter.js +521 -0
  1102. package/src/building/components/resources/quizEntry/QuizEntryEdit/styles.js +19 -0
  1103. package/src/building/components/resources/quizEntry/QuizEntryEdit/theme.js +8 -0
  1104. package/src/building/components/resources/quizEntry/QuizEntryShow/__tests__/presenter.test.js +450 -0
  1105. package/src/building/components/resources/quizEntry/QuizEntryShow/components/LeftHeader.js +138 -0
  1106. package/src/building/components/resources/quizEntry/QuizEntryShow/index.js +48 -0
  1107. package/src/building/components/resources/quizEntry/QuizEntryShow/presenter.js +305 -0
  1108. package/src/building/components/resources/quizEntry/QuizEntryShow/styles.js +71 -0
  1109. package/src/building/components/resources/quizEntry/QuizEntryShow/theme.js +30 -0
  1110. package/src/common/actions/addInteractionTypes.js +8 -0
  1111. package/src/common/actions/alerts.js +54 -0
  1112. package/src/common/actions/analyses.js +90 -0
  1113. package/src/common/actions/bankEntries.js +15 -0
  1114. package/src/common/actions/bankSearch.js +33 -0
  1115. package/src/common/actions/banks.js +56 -0
  1116. package/src/common/actions/config.js +47 -0
  1117. package/src/common/actions/dragAndDrop.js +8 -0
  1118. package/src/common/actions/editing.js +23 -0
  1119. package/src/common/actions/errorsShowing.js +22 -0
  1120. package/src/common/actions/features.js +15 -0
  1121. package/src/common/actions/grading.js +25 -0
  1122. package/src/common/actions/items.js +8 -0
  1123. package/src/common/actions/modal.js +77 -0
  1124. package/src/common/actions/moderation.js +9 -0
  1125. package/src/common/actions/modifications.js +611 -0
  1126. package/src/common/actions/outcomes.js +34 -0
  1127. package/src/common/actions/postMessage.js +8 -0
  1128. package/src/common/actions/printing.js +18 -0
  1129. package/src/common/actions/qtiImports.js +14 -0
  1130. package/src/common/actions/quizEntries.js +50 -0
  1131. package/src/common/actions/quizExport.js +8 -0
  1132. package/src/common/actions/quizSessionEvents.js +5 -0
  1133. package/src/common/actions/quizSessionResults.js +8 -0
  1134. package/src/common/actions/quizSessions.js +124 -0
  1135. package/src/common/actions/quizzes.js +50 -0
  1136. package/src/common/actions/rce.js +24 -0
  1137. package/src/common/actions/regrading.js +26 -0
  1138. package/src/common/actions/reporting.js +42 -0
  1139. package/src/common/actions/scrolling.js +15 -0
  1140. package/src/common/actions/sessionItemResults.js +8 -0
  1141. package/src/common/actions/sessionItems.js +8 -0
  1142. package/src/common/actions/sharedBanks.js +45 -0
  1143. package/src/common/actions/sharingModal.js +8 -0
  1144. package/src/common/actions/sidebar.js +14 -0
  1145. package/src/common/actions/stimuli.js +8 -0
  1146. package/src/common/actions/tagAssociations.js +99 -0
  1147. package/src/common/actions/taking.js +178 -0
  1148. package/src/common/actions/ui.js +68 -0
  1149. package/src/common/actions/upload.js +40 -0
  1150. package/src/common/api/__tests__/callHandlers.test.js +594 -0
  1151. package/src/common/api/__tests__/camelizeHelpers.test.js +33 -0
  1152. package/src/common/api/__tests__/features.test.js +101 -0
  1153. package/src/common/api/__tests__/fileUpload.test.js +86 -0
  1154. package/src/common/api/__tests__/helpers.test.js +216 -0
  1155. package/src/common/api/__tests__/interactionTypes.test.js +39 -0
  1156. package/src/common/api/__tests__/quizSessions.test.js +247 -0
  1157. package/src/common/api/callHandlers.js +185 -0
  1158. package/src/common/api/camelizeHelpers.js +27 -0
  1159. package/src/common/api/features.js +25 -0
  1160. package/src/common/api/fileUpload.js +35 -0
  1161. package/src/common/api/getPersistenceActions.js +80 -0
  1162. package/src/common/api/helpers.js +114 -0
  1163. package/src/common/api/interactionTypes.js +14 -0
  1164. package/src/common/api/quizSessions.js +216 -0
  1165. package/src/common/api/quizzes.js +41 -0
  1166. package/src/common/api/schema.js +121 -0
  1167. package/src/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +8 -0
  1168. package/src/common/components/AccessCodeTextInput/__tests__/index.test.js +25 -0
  1169. package/src/common/components/AccessCodeTextInput/index.js +33 -0
  1170. package/src/common/components/ApiFeatureFlagInitializer/index.js +44 -0
  1171. package/src/common/components/ConfirmationModal/__tests__/ConfirmationModal.test.js +111 -0
  1172. package/src/common/components/ConfirmationModal/index.js +23 -0
  1173. package/src/common/components/ConfirmationModal/presenter.js +120 -0
  1174. package/src/common/components/ImportModal/ImportFileSelector/__tests__/ImportFileSelector.test.js +30 -0
  1175. package/src/common/components/ImportModal/ImportFileSelector/index.js +124 -0
  1176. package/src/common/components/ImportModal/ImportFileSelector/styles.js +27 -0
  1177. package/src/common/components/ImportModal/ImportFileSelector/theme.js +15 -0
  1178. package/src/common/components/ImportModal/__tests__/ImportModal.test.js +489 -0
  1179. package/src/common/components/ImportModal/__tests__/index.test.js +53 -0
  1180. package/src/common/components/ImportModal/index.js +75 -0
  1181. package/src/common/components/ImportModal/presenter.js +389 -0
  1182. package/src/common/components/ImportModal/styles.js +8 -0
  1183. package/src/common/components/ImportModal/theme.js +7 -0
  1184. package/src/common/components/LearnosityCalculator/__tests__/index.test.js +234 -0
  1185. package/src/common/components/LearnosityCalculator/index.js +119 -0
  1186. package/src/common/components/MaskedTextInput/MaskedTextInput.stories.js +16 -0
  1187. package/src/common/components/MaskedTextInput/__tests__/index.test.js +42 -0
  1188. package/src/common/components/MaskedTextInput/index.js +55 -0
  1189. package/src/common/components/ModuleNavigationButtons/index.tsx +56 -0
  1190. package/src/common/components/Pin/__tests__/Pin.test.js +57 -0
  1191. package/src/common/components/Pin/index.js +4 -0
  1192. package/src/common/components/Pin/presenter.js +39 -0
  1193. package/src/common/components/PreviewFrame/__tests__/index.test.js +55 -0
  1194. package/src/common/components/PreviewFrame/index.js +30 -0
  1195. package/src/common/components/PrintFontSizeModal/__tests__/presenter.test.js +114 -0
  1196. package/src/common/components/PrintFontSizeModal/index.js +3 -0
  1197. package/src/common/components/PrintFontSizeModal/presenter.js +192 -0
  1198. package/src/common/components/PrintFontSizeModal/styles.js +13 -0
  1199. package/src/common/components/PrintFontSizeModal/theme.js +8 -0
  1200. package/src/common/components/RceConfigProvider/index.js +20 -0
  1201. package/src/common/components/RceConfigProvider/presenter.js +159 -0
  1202. package/src/common/components/RceConfigProvider/rceConfigErrorHandler.js +28 -0
  1203. package/src/common/components/RceConfigProvider/rceConfigErrorMessages.js +24 -0
  1204. package/src/common/components/RceConfigProvider/rceConfigFetcher.js +18 -0
  1205. package/src/common/components/RceConfigProvider/rceConfigMapper.js +54 -0
  1206. package/src/common/components/RceConfigProvider/rceConfigUtils.js +20 -0
  1207. package/src/common/components/SDKApp/index.js +350 -0
  1208. package/src/common/components/SDKApp/styles.js +9 -0
  1209. package/src/common/components/SDKHeaderCalculator.js +29 -0
  1210. package/src/common/components/SDKMenuButton.js +17 -0
  1211. package/src/common/components/SDKNavBar.js +17 -0
  1212. package/src/common/components/SDKTimer.js +26 -0
  1213. package/src/common/components/TimingAlerts/__tests__/presenter.test.js +129 -0
  1214. package/src/common/components/TimingAlerts/index.js +1 -0
  1215. package/src/common/components/TimingAlerts/presenter.js +51 -0
  1216. package/src/common/components/__tests__/ApiFeatureFlagInitializer.test.js +57 -0
  1217. package/src/common/components/__tests__/RceConfigProvider.test.js +415 -0
  1218. package/src/common/components/__tests__/SDKApp.test.js +214 -0
  1219. package/src/common/components/__tests__/rceConfigErrorHandler.test.js +97 -0
  1220. package/src/common/components/__tests__/rceConfigErrorMessages.test.js +22 -0
  1221. package/src/common/components/__tests__/rceConfigFetcher.test.js +86 -0
  1222. package/src/common/components/__tests__/rceConfigMapper.test.js +184 -0
  1223. package/src/common/components/__tests__/rceConfigUtils.test.js +122 -0
  1224. package/src/common/components/alerts/__tests__/Alerts.test.js +75 -0
  1225. package/src/common/components/alerts/index.js +20 -0
  1226. package/src/common/components/alerts/presenter.js +85 -0
  1227. package/src/common/components/alerts/styles.js +24 -0
  1228. package/src/common/components/alerts/theme.js +11 -0
  1229. package/src/common/components/layout/Page/__tests__/index.test.js +31 -0
  1230. package/src/common/components/layout/Page/index.js +79 -0
  1231. package/src/common/components/layout/Page/styles.js +42 -0
  1232. package/src/common/components/layout/Page/theme.js +9 -0
  1233. package/src/common/components/layout/header/Calculator/README.md +19 -0
  1234. package/src/common/components/layout/header/Calculator/__tests__/index.test.js +41 -0
  1235. package/src/common/components/layout/header/Calculator/__tests__/presenter.test.js +26 -0
  1236. package/src/common/components/layout/header/Calculator/index.js +25 -0
  1237. package/src/common/components/layout/header/Calculator/presenter.js +73 -0
  1238. package/src/common/components/layout/header/HeaderMenuButton/__tests__/HeaderTitle.test.js +138 -0
  1239. package/src/common/components/layout/header/HeaderMenuButton/index.js +33 -0
  1240. package/src/common/components/layout/header/HeaderMenuButton/presenter.js +60 -0
  1241. package/src/common/components/layout/header/HeaderMenuButton/styles.js +29 -0
  1242. package/src/common/components/layout/header/HeaderMenuButton/theme.js +10 -0
  1243. package/src/common/components/layout/header/Timer/README.md +46 -0
  1244. package/src/common/components/layout/header/Timer/__tests__/Timer.test.js +150 -0
  1245. package/src/common/components/layout/header/Timer/index.js +32 -0
  1246. package/src/common/components/layout/header/Timer/presenter.js +199 -0
  1247. package/src/common/components/layout/header/Timer/styles.js +30 -0
  1248. package/src/common/components/layout/header/Timer/theme.js +16 -0
  1249. package/src/common/components/layout/navbar/SecondaryNavBarButton/__tests__/index.test.js +21 -0
  1250. package/src/common/components/layout/navbar/SecondaryNavBarButton/index.js +31 -0
  1251. package/src/common/components/layout/navbar/__tests__/navbar.test.js +62 -0
  1252. package/src/common/components/layout/navbar/externalStyles.js +5 -0
  1253. package/src/common/components/layout/navbar/index.js +126 -0
  1254. package/src/common/components/layout/navbar/styles.js +11 -0
  1255. package/src/common/components/layout/navbar/theme.js +8 -0
  1256. package/src/common/components/layout/sidebar/PositionSummary/__tests__/index.test.js +9 -0
  1257. package/src/common/components/layout/sidebar/PositionSummary/index.js +37 -0
  1258. package/src/common/components/layout/sidebar/PositionSummary/styles.js +28 -0
  1259. package/src/common/components/layout/sidebar/PositionSummary/theme.js +13 -0
  1260. package/src/common/components/layout/sidebar/Sidebar/Pin.js +29 -0
  1261. package/src/common/components/layout/sidebar/Sidebar/__tests__/Sidebar.test.js +210 -0
  1262. package/src/common/components/layout/sidebar/Sidebar/components/TotalPointsPossible.js +51 -0
  1263. package/src/common/components/layout/sidebar/Sidebar/externalStyles.js +8 -0
  1264. package/src/common/components/layout/sidebar/Sidebar/index.js +387 -0
  1265. package/src/common/components/layout/sidebar/Sidebar/styles.js +125 -0
  1266. package/src/common/components/layout/sidebar/Sidebar/theme.js +41 -0
  1267. package/src/common/components/layout/sidebar/SidebarItem/__tests__/SidebarItem.test.js +17 -0
  1268. package/src/common/components/layout/sidebar/SidebarItem/__tests__/presenter.test.js +61 -0
  1269. package/src/common/components/layout/sidebar/SidebarItem/index.js +31 -0
  1270. package/src/common/components/layout/sidebar/SidebarItem/presenter.js +217 -0
  1271. package/src/common/components/layout/sidebar/SidebarItem/styles.js +65 -0
  1272. package/src/common/components/layout/sidebar/SidebarItem/theme.js +24 -0
  1273. package/src/common/components/layout/sidebar/Stimulus/Collection/__tests__/Collection.test.js +23 -0
  1274. package/src/common/components/layout/sidebar/Stimulus/Collection/__tests__/presenter.test.js +146 -0
  1275. package/src/common/components/layout/sidebar/Stimulus/Collection/index.js +7 -0
  1276. package/src/common/components/layout/sidebar/Stimulus/Collection/presenter.js +147 -0
  1277. package/src/common/components/layout/sidebar/Stimulus/Collection/styles.js +63 -0
  1278. package/src/common/components/layout/sidebar/Stimulus/Collection/theme.js +9 -0
  1279. package/src/common/components/layout/sidebar/Stimulus/Summary/__tests__/presenter.test.js +105 -0
  1280. package/src/common/components/layout/sidebar/Stimulus/Summary/index.js +7 -0
  1281. package/src/common/components/layout/sidebar/Stimulus/Summary/presenter.js +122 -0
  1282. package/src/common/components/layout/sidebar/Stimulus/Summary/styles.js +34 -0
  1283. package/src/common/components/layout/sidebar/Stimulus/Summary/theme.js +12 -0
  1284. package/src/common/components/layout/sidebar/Stimulus/Title/__tests__/Title.test.js +30 -0
  1285. package/src/common/components/layout/sidebar/Stimulus/Title/index.js +51 -0
  1286. package/src/common/components/layout/sidebar/Stimulus/Title/styles.js +12 -0
  1287. package/src/common/components/layout/sidebar/Stimulus/__tests__/Stimulus.test.js +46 -0
  1288. package/src/common/components/layout/sidebar/Stimulus/__tests__/presenter.test.js +140 -0
  1289. package/src/common/components/layout/sidebar/Stimulus/index.js +28 -0
  1290. package/src/common/components/layout/sidebar/Stimulus/presenter.js +255 -0
  1291. package/src/common/components/layout/sidebar/Stimulus/styles.js +9 -0
  1292. package/src/common/components/layout/sidebar/Stimulus/theme.js +8 -0
  1293. package/src/common/components/resources/BankSelection/__tests__/index.test.js +17 -0
  1294. package/src/common/components/resources/BankSelection/__tests__/presenter.test.js +36 -0
  1295. package/src/common/components/resources/BankSelection/index.js +21 -0
  1296. package/src/common/components/resources/BankSelection/presenter.js +94 -0
  1297. package/src/common/components/resources/QuizSessionResult/QuizSessionResultHeader/index.js +84 -0
  1298. package/src/common/components/resources/QuizSessionResult/QuizSessionResultHeader/styles.js +29 -0
  1299. package/src/common/components/resources/QuizSessionResult/QuizSessionResultHeader/theme.js +10 -0
  1300. package/src/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/LetterGrade.js +38 -0
  1301. package/src/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/PointsDisplay.js +104 -0
  1302. package/src/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/components/Progress.js +68 -0
  1303. package/src/common/components/resources/QuizSessionResult/QuizSessionResultInfo/ScoreDisplay/index.js +58 -0
  1304. package/src/common/components/resources/QuizSessionResult/QuizSessionResultInfo/index.js +134 -0
  1305. package/src/common/components/resources/WarningWrapper/__tests__/index.test.js +48 -0
  1306. package/src/common/components/resources/WarningWrapper/index.js +120 -0
  1307. package/src/common/components/resources/WarningWrapper/styles.js +31 -0
  1308. package/src/common/components/resources/WarningWrapper/theme.js +12 -0
  1309. package/src/common/components/resources/entry/EntrySave/__tests__/index.test.js +35 -0
  1310. package/src/common/components/resources/entry/EntrySave/__tests__/presenter.test.js +251 -0
  1311. package/src/common/components/resources/entry/EntrySave/index.js +25 -0
  1312. package/src/common/components/resources/entry/EntrySave/presenter.js +152 -0
  1313. package/src/common/components/resources/item/ItemEdit/__tests__/index.test.js +105 -0
  1314. package/src/common/components/resources/item/ItemEdit/__tests__/presenter.test.js +285 -0
  1315. package/src/common/components/resources/item/ItemEdit/index.js +82 -0
  1316. package/src/common/components/resources/item/ItemEdit/presenter.js +204 -0
  1317. package/src/common/components/resources/item/ItemOverride/__tests__/index.test.js +103 -0
  1318. package/src/common/components/resources/item/ItemOverride/__tests__/presenter.test.js +63 -0
  1319. package/src/common/components/resources/item/ItemOverride/index.js +40 -0
  1320. package/src/common/components/resources/item/ItemOverride/presenter.js +64 -0
  1321. package/src/common/components/resources/item/ItemShow/index.js +41 -0
  1322. package/src/common/components/resources/positionBox/PositionBox.js +42 -0
  1323. package/src/common/components/resources/positionBox/__tests__/PositionBox.test.js +28 -0
  1324. package/src/common/components/resources/positionBox/styles.js +27 -0
  1325. package/src/common/components/resources/positionBox/theme.js +13 -0
  1326. package/src/common/components/resources/quiz/AddContent/Body/__tests__/presenter.test.js +221 -0
  1327. package/src/common/components/resources/quiz/AddContent/Body/index.js +31 -0
  1328. package/src/common/components/resources/quiz/AddContent/Body/presenter.js +230 -0
  1329. package/src/common/components/resources/quiz/AddContent/Body/styles.js +33 -0
  1330. package/src/common/components/resources/quiz/AddContent/Body/theme.js +10 -0
  1331. package/src/common/components/resources/quiz/AddContent/Button/__tests__/index.test.js +40 -0
  1332. package/src/common/components/resources/quiz/AddContent/Button/index.js +93 -0
  1333. package/src/common/components/resources/quiz/AddContent/Button/styles.js +52 -0
  1334. package/src/common/components/resources/quiz/AddContent/Button/theme.js +21 -0
  1335. package/src/common/components/resources/quiz/AddContent/Modal/index.js +34 -0
  1336. package/src/common/components/resources/quiz/AddContent/Modal/presenter.js +87 -0
  1337. package/src/common/components/resources/quiz/AddContent/Popover/README.md +36 -0
  1338. package/src/common/components/resources/quiz/AddContent/Popover/__tests__/index.test.js +31 -0
  1339. package/src/common/components/resources/quiz/AddContent/Popover/__tests__/presenter.test.js +86 -0
  1340. package/src/common/components/resources/quiz/AddContent/Popover/index.js +42 -0
  1341. package/src/common/components/resources/quiz/AddContent/Popover/presenter.js +168 -0
  1342. package/src/common/components/resources/quiz/AddContent/Popover/styles.js +32 -0
  1343. package/src/common/components/resources/quiz/AddContent/Popover/theme.js +8 -0
  1344. package/src/common/components/resources/quiz/info/QuizInfo.js +26 -0
  1345. package/src/common/components/resources/quiz/info/__tests__/QuizInfo.test.js +35 -0
  1346. package/src/common/components/resources/quiz/instructions/Instructions.js +49 -0
  1347. package/src/common/components/resources/quiz/instructions/__tests__/Instructions.test.js +22 -0
  1348. package/src/common/components/resources/quiz/instructions/styles.js +34 -0
  1349. package/src/common/components/resources/quiz/instructions/theme.js +9 -0
  1350. package/src/common/components/resources/quiz/title/Title.js +43 -0
  1351. package/src/common/components/resources/quiz/title/__tests__/Title.test.js +23 -0
  1352. package/src/common/components/resources/quiz/title/styles.js +19 -0
  1353. package/src/common/components/resources/quiz/title/theme.js +9 -0
  1354. package/src/common/components/resources/sessionItemResult/ResultStimulus/__tests__/resultStimulus.test.js +74 -0
  1355. package/src/common/components/resources/sessionItemResult/ResultStimulus/index.js +85 -0
  1356. package/src/common/components/resources/sessionItemResult/ResultStimulus/styles.js +91 -0
  1357. package/src/common/components/resources/sessionItemResult/ResultStimulus/theme.js +29 -0
  1358. package/src/common/components/resources/sessionItemResult/SessionItemResult/__tests__/SessionItemResult.test.js +309 -0
  1359. package/src/common/components/resources/sessionItemResult/SessionItemResult/components/SessionItemResultHeader.js +180 -0
  1360. package/src/common/components/resources/sessionItemResult/SessionItemResult/index.js +25 -0
  1361. package/src/common/components/resources/sessionItemResult/SessionItemResult/presenter.js +277 -0
  1362. package/src/common/components/resources/sessionItemResult/SessionItemResult/styles.js +41 -0
  1363. package/src/common/components/resources/sessionItemResult/SessionItemResult/theme.js +28 -0
  1364. package/src/common/components/resources/sessionItemResult/SessionItemResultsList/__tests__/SessionItemResultsList.test.js +36 -0
  1365. package/src/common/components/resources/sessionItemResult/SessionItemResultsList/index.js +83 -0
  1366. package/src/common/components/resources/sessionItemResult/SessionItemResultsList/styles.js +17 -0
  1367. package/src/common/components/resources/sessionItemResult/SessionItemResultsList/theme.js +12 -0
  1368. package/src/common/components/resources/stimulus/Stimulus/__tests__/presenter.test.js +12 -0
  1369. package/src/common/components/resources/stimulus/Stimulus/index.js +36 -0
  1370. package/src/common/components/resources/stimulus/Stimulus/presenter.js +241 -0
  1371. package/src/common/components/resources/stimulus/Stimulus/styles.js +64 -0
  1372. package/src/common/components/resources/stimulus/Stimulus/theme.js +13 -0
  1373. package/src/common/components/resources/stimulus/StimulusEdit/__tests__/presenter.test.js +688 -0
  1374. package/src/common/components/resources/stimulus/StimulusEdit/index.js +59 -0
  1375. package/src/common/components/resources/stimulus/StimulusEdit/presenter.js +466 -0
  1376. package/src/common/components/resources/stimulus/StimulusEdit/styles.js +42 -0
  1377. package/src/common/components/resources/stimulus/StimulusEdit/theme.js +14 -0
  1378. package/src/common/components/resources/stimulus/StimulusEditInfo/__tests__/presenter.test.js +214 -0
  1379. package/src/common/components/resources/stimulus/StimulusEditInfo/index.js +33 -0
  1380. package/src/common/components/resources/stimulus/StimulusEditInfo/presenter.js +228 -0
  1381. package/src/common/components/resources/stimulus/StimulusEditInfo/styles.js +15 -0
  1382. package/src/common/components/resources/stimulus/StimulusEditInfo/theme.js +10 -0
  1383. package/src/common/components/resources/stimulus/StimulusShow/__tests__/StimulusShow.test.js +137 -0
  1384. package/src/common/components/resources/stimulus/StimulusShow/index.js +109 -0
  1385. package/src/common/components/resources/stimulus/StimulusShow/styles.js +30 -0
  1386. package/src/common/components/resources/stimulus/StimulusShow/theme.js +11 -0
  1387. package/src/common/components/resources/stimulus/StimulusShowInfo/__tests__/StimulusShowInfo.test.js +41 -0
  1388. package/src/common/components/resources/stimulus/StimulusShowInfo/index.js +59 -0
  1389. package/src/common/components/shared/Card/CardContent/__tests__/CardContent.test.js +12 -0
  1390. package/src/common/components/shared/Card/CardContent/index.js +43 -0
  1391. package/src/common/components/shared/Card/CardContent/styles.js +20 -0
  1392. package/src/common/components/shared/Card/CardContent/theme.js +15 -0
  1393. package/src/common/components/shared/Card/CardWrapper/__tests__/CardWrapper.test.js +12 -0
  1394. package/src/common/components/shared/Card/CardWrapper/index.js +38 -0
  1395. package/src/common/components/shared/Card/CardWrapper/styles.js +17 -0
  1396. package/src/common/components/shared/Card/CardWrapper/theme.js +10 -0
  1397. package/src/common/components/shared/Card/__tests__/Card.test.js +22 -0
  1398. package/src/common/components/shared/Card/index.js +25 -0
  1399. package/src/common/components/shared/ExpandButton/__tests__/ExpandButton.test.js +29 -0
  1400. package/src/common/components/shared/ExpandButton/index.js +54 -0
  1401. package/src/common/components/shared/ExpandButton/styles.js +12 -0
  1402. package/src/common/components/shared/ExpandButton/theme.js +7 -0
  1403. package/src/common/components/shared/FormattedDuration/__tests__/FormattedDuration.test.js +177 -0
  1404. package/src/common/components/shared/FormattedDuration/index.js +81 -0
  1405. package/src/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +190 -0
  1406. package/src/common/components/shared/GenericAsyncSearch/__tests__/GenericAsyncSearch.test.js +68 -0
  1407. package/src/common/components/shared/IfFeature/__tests__/index.test.js +27 -0
  1408. package/src/common/components/shared/IfFeature/__tests__/presenter.test.js +25 -0
  1409. package/src/common/components/shared/IfFeature/index.js +13 -0
  1410. package/src/common/components/shared/IfFeature/presenter.js +24 -0
  1411. package/src/common/components/shared/InteractionTypes/__tests__/presenter.test.js +84 -0
  1412. package/src/common/components/shared/InteractionTypes/index.js +8 -0
  1413. package/src/common/components/shared/InteractionTypes/presenter.js +163 -0
  1414. package/src/common/components/shared/InteractionTypes/styles.js +19 -0
  1415. package/src/common/components/shared/InteractionTypes/theme.js +10 -0
  1416. package/src/common/components/shared/PaginatedCollection/__tests__/index.test.js +30 -0
  1417. package/src/common/components/shared/PaginatedCollection/__tests__/presenter.test.js +239 -0
  1418. package/src/common/components/shared/PaginatedCollection/index.js +19 -0
  1419. package/src/common/components/shared/PaginatedCollection/presenter.js +145 -0
  1420. package/src/common/components/shared/PaginatedCollection/styles.js +12 -0
  1421. package/src/common/components/shared/PaginatedCollection/theme.js +9 -0
  1422. package/src/common/components/shared/Paginator/__tests__/index.test.js +50 -0
  1423. package/src/common/components/shared/Paginator/index.js +57 -0
  1424. package/src/common/components/shared/Paginator/styles.js +9 -0
  1425. package/src/common/components/shared/Paginator/theme.js +7 -0
  1426. package/src/common/components/shared/PrintTrigger/__tests__/index.test.js +67 -0
  1427. package/src/common/components/shared/PrintTrigger/__tests__/presenter.test.js +188 -0
  1428. package/src/common/components/shared/PrintTrigger/index.js +53 -0
  1429. package/src/common/components/shared/PrintTrigger/presenter.js +128 -0
  1430. package/src/common/components/shared/TagDisplay/__tests__/index.test.js +36 -0
  1431. package/src/common/components/shared/TagDisplay/index.js +64 -0
  1432. package/src/common/components/shared/TagDisplay/styles.js +9 -0
  1433. package/src/common/components/shared/TagSelect/__tests__/index.test.js +214 -0
  1434. package/src/common/components/shared/TagSelect/index.js +3 -0
  1435. package/src/common/components/shared/TagSelect/presenter.js +228 -0
  1436. package/src/common/components/shared/TagSuggestSelect/__tests__/presenter.test.js +84 -0
  1437. package/src/common/components/shared/TagSuggestSelect/index.js +27 -0
  1438. package/src/common/components/shared/TagSuggestSelect/presenter.js +79 -0
  1439. package/src/common/components/shared/TagWrapper/__tests__/presenter.test.js +34 -0
  1440. package/src/common/components/shared/TagWrapper/index.js +3 -0
  1441. package/src/common/components/shared/TagWrapper/presenter.js +48 -0
  1442. package/src/common/components/shared/TimeUnitsInput/__tests__/index.test.js +314 -0
  1443. package/src/common/components/shared/TimeUnitsInput/index.js +359 -0
  1444. package/src/common/components/shared/drag_and_drop/DragAndDropZone/__tests__/index.test.js +174 -0
  1445. package/src/common/components/shared/drag_and_drop/DragAndDropZone/index.js +91 -0
  1446. package/src/common/components/shared/drag_and_drop/DragAndDropZone/styles.js +45 -0
  1447. package/src/common/components/shared/drag_and_drop/DragAndDropZone/theme.js +18 -0
  1448. package/src/common/components/shared/drag_and_drop/DragHandle/__tests__/dragHandle.test.js +528 -0
  1449. package/src/common/components/shared/drag_and_drop/DragHandle/index.js +30 -0
  1450. package/src/common/components/shared/drag_and_drop/DragHandle/presenter.js +267 -0
  1451. package/src/common/components/shared/drag_and_drop/__tests__/dragAndDropUtils.test.js +738 -0
  1452. package/src/common/components/shared/drag_and_drop/dragAndDropUtils.js +441 -0
  1453. package/src/common/components/shared/file_selector/FileSelector.js +60 -0
  1454. package/src/common/components/shared/file_selector/__tests__/FileSelector.test.js +26 -0
  1455. package/src/common/components/shared/file_selector/styles.js +12 -0
  1456. package/src/common/components/shared/file_selector/theme.js +10 -0
  1457. package/src/common/components/shared/functionality/__tests__/componentWithOutsideClick.test.js +79 -0
  1458. package/src/common/components/shared/functionality/__tests__/makeEditable.test.js +60 -0
  1459. package/src/common/components/shared/functionality/__tests__/makeScrollable.test.js +113 -0
  1460. package/src/common/components/shared/functionality/componentWithOutsideClick.js +58 -0
  1461. package/src/common/components/shared/functionality/componentWithOutsideClickEmotion.js +71 -0
  1462. package/src/common/components/shared/functionality/disableDraggingOverride.js +10 -0
  1463. package/src/common/components/shared/functionality/makeEditable.js +100 -0
  1464. package/src/common/components/shared/functionality/makeScrollable.js +120 -0
  1465. package/src/common/components/shared/functionality/outsideClickStore.js +9 -0
  1466. package/src/common/components/shared/overlay/__tests__/Overlay.test.js +66 -0
  1467. package/src/common/components/shared/overlay/index.js +76 -0
  1468. package/src/common/components/shared/overlay/styles.js +30 -0
  1469. package/src/common/components/shared/overlay/theme.js +9 -0
  1470. package/src/common/components/shared/return_button/ReturnButton.js +67 -0
  1471. package/src/common/components/shared/return_button/__tests__/ReturnButton.test.js +87 -0
  1472. package/src/common/components/shared/spinner/Spinner.js +86 -0
  1473. package/src/common/components/shared/spinner/__tests__/Spinner.test.js +22 -0
  1474. package/src/common/components/shared/spinner/styles.js +15 -0
  1475. package/src/common/kinesis/QuizEventsLogger.js +108 -0
  1476. package/src/common/kinesis/StreamQueue.js +137 -0
  1477. package/src/common/kinesis/__tests__/QuizEventsLogger.test.js +148 -0
  1478. package/src/common/kinesis/__tests__/StreamQueue.test.js +47 -0
  1479. package/src/common/kinesis/__tests__/client.test.js +106 -0
  1480. package/src/common/kinesis/__tests__/config.test.js +4 -0
  1481. package/src/common/kinesis/__tests__/eventTypes.test.js +62 -0
  1482. package/src/common/kinesis/__tests__/kinesisTests.js +44 -0
  1483. package/src/common/kinesis/client.js +53 -0
  1484. package/src/common/kinesis/config.js +51 -0
  1485. package/src/common/kinesis/eventTypes.js +43 -0
  1486. package/src/common/middleware/__tests__/alertTimerMiddleware.test.js +46 -0
  1487. package/src/common/middleware/__tests__/eventLoggerMiddleware.test.js +64 -0
  1488. package/src/common/middleware/__tests__/persistedStorageMiddleware.test.js +111 -0
  1489. package/src/common/middleware/__tests__/quizTimerWebSocketMiddleware.test.js +220 -0
  1490. package/src/common/middleware/__tests__/sharedBanksMiddleware.test.js +46 -0
  1491. package/src/common/middleware/alertTimerMiddleware.js +26 -0
  1492. package/src/common/middleware/appSyncMiddleware.js +18 -0
  1493. package/src/common/middleware/crossDomainMessagingMiddleware.js +11 -0
  1494. package/src/common/middleware/eventLoggerMiddleware.js +36 -0
  1495. package/src/common/middleware/persistedStorageMiddleware.js +64 -0
  1496. package/src/common/middleware/quizTimerWebSocketMiddleware.js +92 -0
  1497. package/src/common/middleware/sharedBanksMiddleware.js +147 -0
  1498. package/src/common/react-redux.js +65 -0
  1499. package/src/common/records/Alert.ts +11 -0
  1500. package/src/common/records/Bank.ts +79 -0
  1501. package/src/common/records/BankEntry.ts +68 -0
  1502. package/src/common/records/Item.ts +119 -0
  1503. package/src/common/records/ItemAnalysis.ts +125 -0
  1504. package/src/common/records/QtiImport.ts +28 -0
  1505. package/src/common/records/Quiz.ts +157 -0
  1506. package/src/common/records/QuizAnalysis.ts +76 -0
  1507. package/src/common/records/QuizEntry.ts +433 -0
  1508. package/src/common/records/QuizSession.ts +177 -0
  1509. package/src/common/records/QuizSessionEvent.ts +30 -0
  1510. package/src/common/records/QuizSessionResult.ts +51 -0
  1511. package/src/common/records/Response.ts +28 -0
  1512. package/src/common/records/SessionItem.ts +107 -0
  1513. package/src/common/records/SessionItemResult.ts +73 -0
  1514. package/src/common/records/Stimulus.ts +60 -0
  1515. package/src/common/records/__tests__/Bank.test.js +76 -0
  1516. package/src/common/records/__tests__/BankEntry.test.js +102 -0
  1517. package/src/common/records/__tests__/Item.test.js +96 -0
  1518. package/src/common/records/__tests__/ItemAnalysis.test.js +184 -0
  1519. package/src/common/records/__tests__/QtiImport.test.js +38 -0
  1520. package/src/common/records/__tests__/Quiz.test.js +226 -0
  1521. package/src/common/records/__tests__/QuizAnalysis.test.js +92 -0
  1522. package/src/common/records/__tests__/QuizEntry.test.js +831 -0
  1523. package/src/common/records/__tests__/QuizSession.test.js +267 -0
  1524. package/src/common/records/__tests__/QuizSessionEvent.test.js +56 -0
  1525. package/src/common/records/__tests__/QuizSessionResult.test.js +100 -0
  1526. package/src/common/records/__tests__/Response.test.js +59 -0
  1527. package/src/common/records/__tests__/SessionItem.test.js +195 -0
  1528. package/src/common/records/__tests__/SessionItemResult.test.js +107 -0
  1529. package/src/common/records/__tests__/Stimulus.test.js +49 -0
  1530. package/src/common/records/__tests__/baseRecord.test.js +116 -0
  1531. package/src/common/records/baseRecord.ts +73 -0
  1532. package/src/common/records/index.ts +16 -0
  1533. package/src/common/records/reduxRecord.ts +24 -0
  1534. package/src/common/reducers/__tests__/alerts.test.js +32 -0
  1535. package/src/common/reducers/__tests__/analyses.test.js +97 -0
  1536. package/src/common/reducers/__tests__/bankEntries.test.js +38 -0
  1537. package/src/common/reducers/__tests__/bankSearch.test.js +60 -0
  1538. package/src/common/reducers/__tests__/banks.test.js +84 -0
  1539. package/src/common/reducers/__tests__/calls.test.js +59 -0
  1540. package/src/common/reducers/__tests__/config.test.js +20 -0
  1541. package/src/common/reducers/__tests__/dragAndDrop.test.js +28 -0
  1542. package/src/common/reducers/__tests__/editing.test.js +50 -0
  1543. package/src/common/reducers/__tests__/errorsShowing.test.js +62 -0
  1544. package/src/common/reducers/__tests__/features.test.js +30 -0
  1545. package/src/common/reducers/__tests__/grading.test.js +36 -0
  1546. package/src/common/reducers/__tests__/interactionTypes.test.js +34 -0
  1547. package/src/common/reducers/__tests__/items.test.js +36 -0
  1548. package/src/common/reducers/__tests__/modal.test.js +74 -0
  1549. package/src/common/reducers/__tests__/moderation.test.js +43 -0
  1550. package/src/common/reducers/__tests__/modifications.test.js +626 -0
  1551. package/src/common/reducers/__tests__/outcomes.test.js +51 -0
  1552. package/src/common/reducers/__tests__/printing.test.js +30 -0
  1553. package/src/common/reducers/__tests__/qtiImports.test.js +38 -0
  1554. package/src/common/reducers/__tests__/quizEntries.test.js +379 -0
  1555. package/src/common/reducers/__tests__/quizSession.test.js +110 -0
  1556. package/src/common/reducers/__tests__/quizSessionEvents.test.js +34 -0
  1557. package/src/common/reducers/__tests__/quizSessionResults.test.js +49 -0
  1558. package/src/common/reducers/__tests__/quizzes.test.js +97 -0
  1559. package/src/common/reducers/__tests__/rce.test.js +34 -0
  1560. package/src/common/reducers/__tests__/reporting.test.js +63 -0
  1561. package/src/common/reducers/__tests__/scrolling.test.js +42 -0
  1562. package/src/common/reducers/__tests__/sessionItemResults.test.js +40 -0
  1563. package/src/common/reducers/__tests__/sessionItems.test.js +48 -0
  1564. package/src/common/reducers/__tests__/sharedBanks.test.js +55 -0
  1565. package/src/common/reducers/__tests__/sidebar.test.js +39 -0
  1566. package/src/common/reducers/__tests__/stimuli.test.js +36 -0
  1567. package/src/common/reducers/__tests__/tagAssociations.test.js +184 -0
  1568. package/src/common/reducers/__tests__/taking.test.js +233 -0
  1569. package/src/common/reducers/__tests__/ui.test.js +88 -0
  1570. package/src/common/reducers/__tests__/upload.test.js +61 -0
  1571. package/src/common/reducers/alerts.js +14 -0
  1572. package/src/common/reducers/analyses.js +70 -0
  1573. package/src/common/reducers/bankEntries.js +20 -0
  1574. package/src/common/reducers/bankSearch.js +30 -0
  1575. package/src/common/reducers/banks.js +57 -0
  1576. package/src/common/reducers/calls.js +14 -0
  1577. package/src/common/reducers/config.js +30 -0
  1578. package/src/common/reducers/dragAndDrop.js +12 -0
  1579. package/src/common/reducers/editing.js +16 -0
  1580. package/src/common/reducers/errorsShowing.js +16 -0
  1581. package/src/common/reducers/features.js +14 -0
  1582. package/src/common/reducers/grading.js +20 -0
  1583. package/src/common/reducers/interactionTypes.js +17 -0
  1584. package/src/common/reducers/items.js +19 -0
  1585. package/src/common/reducers/modal.js +43 -0
  1586. package/src/common/reducers/moderation.js +25 -0
  1587. package/src/common/reducers/modifications.js +300 -0
  1588. package/src/common/reducers/outcomes.js +30 -0
  1589. package/src/common/reducers/printing.js +16 -0
  1590. package/src/common/reducers/qtiImports.js +20 -0
  1591. package/src/common/reducers/quizEntries.js +167 -0
  1592. package/src/common/reducers/quizExport.js +11 -0
  1593. package/src/common/reducers/quizSessionEvents.js +21 -0
  1594. package/src/common/reducers/quizSessionResults.js +18 -0
  1595. package/src/common/reducers/quizSessions.js +54 -0
  1596. package/src/common/reducers/quizzes.js +60 -0
  1597. package/src/common/reducers/rce.js +22 -0
  1598. package/src/common/reducers/regrading.js +28 -0
  1599. package/src/common/reducers/reporting.js +49 -0
  1600. package/src/common/reducers/scrolling.js +16 -0
  1601. package/src/common/reducers/sessionItemResults.js +18 -0
  1602. package/src/common/reducers/sessionItems.js +19 -0
  1603. package/src/common/reducers/sharedBanks.js +29 -0
  1604. package/src/common/reducers/sharingModal.js +17 -0
  1605. package/src/common/reducers/sidebar.js +14 -0
  1606. package/src/common/reducers/stimuli.js +19 -0
  1607. package/src/common/reducers/tagAssociations.js +172 -0
  1608. package/src/common/reducers/taking.js +164 -0
  1609. package/src/common/reducers/ui.js +40 -0
  1610. package/src/common/reducers/upload.js +30 -0
  1611. package/src/common/selectors/__tests__/analyses.test.js +95 -0
  1612. package/src/common/selectors/__tests__/calculator.test.js +121 -0
  1613. package/src/common/selectors/__tests__/calls.test.js +30 -0
  1614. package/src/common/selectors/__tests__/config.test.js +30 -0
  1615. package/src/common/selectors/__tests__/interactionTypes.test.js +77 -0
  1616. package/src/common/selectors/__tests__/items.test.js +37 -0
  1617. package/src/common/selectors/__tests__/qtiImports.test.js +24 -0
  1618. package/src/common/selectors/__tests__/quizSessionResults.test.js +41 -0
  1619. package/src/common/selectors/__tests__/quizSessions.test.js +100 -0
  1620. package/src/common/selectors/__tests__/quizzes.test.js +140 -0
  1621. package/src/common/selectors/__tests__/rce.test.js +36 -0
  1622. package/src/common/selectors/__tests__/reporting.test.js +140 -0
  1623. package/src/common/selectors/__tests__/sessionItemResults.test.js +42 -0
  1624. package/src/common/selectors/__tests__/sessionItems.test.js +77 -0
  1625. package/src/common/selectors/__tests__/taking.test.js +173 -0
  1626. package/src/common/selectors/__tests__/ui.test.js +17 -0
  1627. package/src/common/selectors/analyses.js +44 -0
  1628. package/src/common/selectors/calculator.js +23 -0
  1629. package/src/common/selectors/calls.js +8 -0
  1630. package/src/common/selectors/config.js +14 -0
  1631. package/src/common/selectors/interactionTypes.js +21 -0
  1632. package/src/common/selectors/items.js +16 -0
  1633. package/src/common/selectors/qtiImports.js +17 -0
  1634. package/src/common/selectors/quizSessionResults.js +13 -0
  1635. package/src/common/selectors/quizSessions.js +34 -0
  1636. package/src/common/selectors/quizzes.js +92 -0
  1637. package/src/common/selectors/rce.js +7 -0
  1638. package/src/common/selectors/reporting.js +12 -0
  1639. package/src/common/selectors/sessionItemResults.js +26 -0
  1640. package/src/common/selectors/sessionItems.js +39 -0
  1641. package/src/common/selectors/taking.js +43 -0
  1642. package/src/common/selectors/ui.js +3 -0
  1643. package/src/common/util/CustomPropTypes.js +90 -0
  1644. package/src/common/util/ElementsForSelectors.js +10 -0
  1645. package/src/common/util/ExhaustivePaginatedFetcher.js +51 -0
  1646. package/src/common/util/Fetcher.js +267 -0
  1647. package/src/common/util/MultiWeakMap.js +56 -0
  1648. package/src/common/util/PaginatedFetcher.js +36 -0
  1649. package/src/common/util/ThunkQueue.js +70 -0
  1650. package/src/common/util/TimeRecordingService.js +54 -0
  1651. package/src/common/util/TimerService.js +155 -0
  1652. package/src/common/util/__tests__/CustomPropTypes.test.js +134 -0
  1653. package/src/common/util/__tests__/ExhaustivePaginatedFetcher.test.js +96 -0
  1654. package/src/common/util/__tests__/Fetcher.test.js +370 -0
  1655. package/src/common/util/__tests__/MultiWeakMap.test.js +38 -0
  1656. package/src/common/util/__tests__/ThunkQueue.test.js +128 -0
  1657. package/src/common/util/__tests__/TimerRecordingService.test.js +30 -0
  1658. package/src/common/util/__tests__/TimerService.test.js +196 -0
  1659. package/src/common/util/__tests__/cachePreviousArgs.test.js +38 -0
  1660. package/src/common/util/__tests__/callHelpers.test.js +32 -0
  1661. package/src/common/util/__tests__/clickHandlers.test.js +81 -0
  1662. package/src/common/util/__tests__/componentForItem.test.js +46 -0
  1663. package/src/common/util/__tests__/crossDomainMessaging.test.js +27 -0
  1664. package/src/common/util/__tests__/fitbCopyHelper.test.js +70 -0
  1665. package/src/common/util/__tests__/formatTimespan.test.js +129 -0
  1666. package/src/common/util/__tests__/generateDisplayPositions.test.js +50 -0
  1667. package/src/common/util/__tests__/getClientIpAddress.test.js +36 -0
  1668. package/src/common/util/__tests__/httpHeaders.test.js +27 -0
  1669. package/src/common/util/__tests__/immutableHelpers.test.js +71 -0
  1670. package/src/common/util/__tests__/instUIMessages.test.js +10 -0
  1671. package/src/common/util/__tests__/interactionTypeMetadata.test.js +23 -0
  1672. package/src/common/util/__tests__/interactionTypePropsHelper.test.js +139 -0
  1673. package/src/common/util/__tests__/jsonify.test.js +23 -0
  1674. package/src/common/util/__tests__/keyboardClickable.test.js +40 -0
  1675. package/src/common/util/__tests__/localStoreService.test.js +51 -0
  1676. package/src/common/util/__tests__/maxContent.test.js +17 -0
  1677. package/src/common/util/__tests__/modalHelpers.test.js +18 -0
  1678. package/src/common/util/__tests__/persistedState.test.js +46 -0
  1679. package/src/common/util/__tests__/printUtils.test.js +77 -0
  1680. package/src/common/util/__tests__/rceChecker.test.js +34 -0
  1681. package/src/common/util/__tests__/renderAlerts.test.js +33 -0
  1682. package/src/common/util/__tests__/serializeEvent.test.js +196 -0
  1683. package/src/common/util/__tests__/sessionStore.test.js +45 -0
  1684. package/src/common/util/__tests__/valMap.test.js +22 -0
  1685. package/src/common/util/__tests__/windowChecks.test.js +48 -0
  1686. package/src/common/util/__tests__/withCachedArguments.test.js +53 -0
  1687. package/src/common/util/__tests__/withDynamoPagination.test.js +95 -0
  1688. package/src/common/util/__tests__/withStateCache.test.js +140 -0
  1689. package/src/common/util/cachePreviousArgs.js +16 -0
  1690. package/src/common/util/callHelpers.js +25 -0
  1691. package/src/common/util/clickHandlers.js +14 -0
  1692. package/src/common/util/componentForItem.js +143 -0
  1693. package/src/common/util/crossDomainMessaging.js +5 -0
  1694. package/src/common/util/debounceLatestPromise.js +21 -0
  1695. package/src/common/util/featureCheck.js +44 -0
  1696. package/src/common/util/fetchHelpers.js +7 -0
  1697. package/src/common/util/fitbCopyHelper.js +39 -0
  1698. package/src/common/util/formatTimespan.js +64 -0
  1699. package/src/common/util/generateDisplayPositions.js +20 -0
  1700. package/src/common/util/getClientIpAddress.js +12 -0
  1701. package/src/common/util/httpHeaders.js +17 -0
  1702. package/src/common/util/immutableHelpers.js +20 -0
  1703. package/src/common/util/instUIMessages.js +5 -0
  1704. package/src/common/util/interactionTypeMetadata.js +52 -0
  1705. package/src/common/util/interactionTypePropsHelper.js +91 -0
  1706. package/src/common/util/interactionTypeRecordForItem.js +53 -0
  1707. package/src/common/util/isMissing.js +5 -0
  1708. package/src/common/util/jsonify.js +27 -0
  1709. package/src/common/util/keyboardClickable.js +9 -0
  1710. package/src/common/util/localStoreService.js +38 -0
  1711. package/src/common/util/mathRenderingUtils.js +8 -0
  1712. package/src/common/util/maxContent.js +9 -0
  1713. package/src/common/util/modalHelpers.js +6 -0
  1714. package/src/common/util/noop.js +3 -0
  1715. package/src/common/util/persistedState.js +39 -0
  1716. package/src/common/util/printUtils.js +47 -0
  1717. package/src/common/util/rceChecker.js +5 -0
  1718. package/src/common/util/renderAlerts.js +31 -0
  1719. package/src/common/util/serializeEvent.js +60 -0
  1720. package/src/common/util/sessionLockHelpers.js +74 -0
  1721. package/src/common/util/sessionStore.js +57 -0
  1722. package/src/common/util/useRemoteComponent.js +105 -0
  1723. package/src/common/util/valMap.js +13 -0
  1724. package/src/common/util/warningHelpers.js +171 -0
  1725. package/src/common/util/windowChecks.js +19 -0
  1726. package/src/common/util/withCachedArguments.js +28 -0
  1727. package/src/common/util/withDynamoPagination.js +54 -0
  1728. package/src/common/util/withStateCache.js +44 -0
  1729. package/src/config.js +30 -0
  1730. package/src/configureStore.js +154 -0
  1731. package/src/grading/api/__tests__/quizEntryRegrades.test.js +61 -0
  1732. package/src/grading/api/__tests__/updateResults.test.js +140 -0
  1733. package/src/grading/api/quizEntryRegrades.js +45 -0
  1734. package/src/grading/api/updateResults.js +49 -0
  1735. package/src/index.js +275 -0
  1736. package/src/messages/LocalStorageAdapter.js +31 -0
  1737. package/src/messages/LocalStorageLimits.js +70 -0
  1738. package/src/messages/StorageExhaustionError.js +6 -0
  1739. package/src/messages/__tests__/LocalStorageAdapter.test.js +58 -0
  1740. package/src/messages/__tests__/LocalStorageLimits.test.js +147 -0
  1741. package/src/messages/__tests__/PostMessageService.test.js +94 -0
  1742. package/src/messages/postMessageService.js +96 -0
  1743. package/src/messages/subjectHandlers/__tests__/forwardMessage.test.js +54 -0
  1744. package/src/messages/subjectHandlers/__tests__/lti.capabilities.test.js +37 -0
  1745. package/src/messages/subjectHandlers/__tests__/lti.fetchWindowSize.test.js +44 -0
  1746. package/src/messages/subjectHandlers/__tests__/lti.frameResize.test.js +64 -0
  1747. package/src/messages/subjectHandlers/__tests__/lti.get_data.test.js +87 -0
  1748. package/src/messages/subjectHandlers/__tests__/lti.put_data.test.js +89 -0
  1749. package/src/messages/subjectHandlers/__tests__/requestFullWindowLaunch.test.js +30 -0
  1750. package/src/messages/subjectHandlers/forwardMessage.js +7 -0
  1751. package/src/messages/subjectHandlers/lti.capabilities.js +18 -0
  1752. package/src/messages/subjectHandlers/lti.fetchWindowSize.js +16 -0
  1753. package/src/messages/subjectHandlers/lti.frameResize.js +18 -0
  1754. package/src/messages/subjectHandlers/lti.get_data.js +27 -0
  1755. package/src/messages/subjectHandlers/lti.put_data.js +57 -0
  1756. package/src/messages/subjectHandlers/requestFullWindowLaunch.js +13 -0
  1757. package/src/messages/utils.js +6 -0
  1758. package/src/moderating/api/__tests__/quizSessionEvents.test.js +49 -0
  1759. package/src/moderating/api/__tests__/quizSessions.test.js +120 -0
  1760. package/src/moderating/api/quizSessionEvents.js +24 -0
  1761. package/src/moderating/api/quizSessions.js +56 -0
  1762. package/src/moderating/components/events/Event.js +103 -0
  1763. package/src/moderating/components/events/PageBlurredEvent.js +23 -0
  1764. package/src/moderating/components/events/PageFocusedEvent.js +20 -0
  1765. package/src/moderating/components/events/RCEEvent.js +21 -0
  1766. package/src/moderating/components/events/ResponseEvent.js +117 -0
  1767. package/src/moderating/components/events/SessionStartEvent.js +28 -0
  1768. package/src/moderating/components/events/SessionSubmitEvent.js +27 -0
  1769. package/src/moderating/components/events/__tests__/Event.test.js +130 -0
  1770. package/src/moderating/components/events/__tests__/PageBlurredEvent.test.js +28 -0
  1771. package/src/moderating/components/events/__tests__/PageFocusedEvent.test.js +28 -0
  1772. package/src/moderating/components/events/__tests__/RCEEvent.test.js +43 -0
  1773. package/src/moderating/components/events/__tests__/ResponseEvent.test.js +190 -0
  1774. package/src/moderating/components/events/__tests__/SessionStartEvent.test.js +67 -0
  1775. package/src/moderating/components/events/__tests__/SessionSubmitEvent.test.js +67 -0
  1776. package/src/moderating/components/events/styles.js +27 -0
  1777. package/src/moderating/components/events/theme.js +11 -0
  1778. package/src/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/ExtraAttemptsInput/index.js +88 -0
  1779. package/src/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/__tests__/index.test.js +300 -0
  1780. package/src/moderating/components/resources/AccommodationsModal/ExtraAttemptSettings/index.js +79 -0
  1781. package/src/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/__tests__/index.test.js +116 -0
  1782. package/src/moderating/components/resources/AccommodationsModal/ExtraTimeMultiplier/index.js +113 -0
  1783. package/src/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/__tests__/index.test.js +99 -0
  1784. package/src/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +158 -0
  1785. package/src/moderating/components/resources/AccommodationsModal/ReduceAnswerChoicesSettings/__tests__/index.test.js +31 -0
  1786. package/src/moderating/components/resources/AccommodationsModal/ReduceAnswerChoicesSettings/index.js +79 -0
  1787. package/src/moderating/components/resources/AccommodationsModal/__tests__/AccommodationsModal.test.js +73 -0
  1788. package/src/moderating/components/resources/AccommodationsModal/index.js +159 -0
  1789. package/src/moderating/components/resources/ElapsedTime.js +48 -0
  1790. package/src/moderating/components/resources/EventDetails.js +55 -0
  1791. package/src/moderating/components/resources/ModerateTable/README.md +53 -0
  1792. package/src/moderating/components/resources/ModerateTable/__tests__/index.test.js +79 -0
  1793. package/src/moderating/components/resources/ModerateTable/__tests__/presenter.test.js +292 -0
  1794. package/src/moderating/components/resources/ModerateTable/index.js +41 -0
  1795. package/src/moderating/components/resources/ModerateTable/presenter.js +439 -0
  1796. package/src/moderating/components/resources/ModerateTable/styles.js +24 -0
  1797. package/src/moderating/components/resources/ModerateTable/theme.js +8 -0
  1798. package/src/moderating/components/resources/ModerateTableRow/__tests__/index.test.js +60 -0
  1799. package/src/moderating/components/resources/ModerateTableRow/__tests__/presenter.test.js +336 -0
  1800. package/src/moderating/components/resources/ModerateTableRow/index.js +17 -0
  1801. package/src/moderating/components/resources/ModerateTableRow/presenter.js +461 -0
  1802. package/src/moderating/components/resources/ModerateTableRow/story.js +19 -0
  1803. package/src/moderating/components/resources/ModerateTableRow/styles.js +23 -0
  1804. package/src/moderating/components/resources/ModerateTableRow/theme.js +8 -0
  1805. package/src/moderating/components/resources/OutstandingQuizzesModal/__tests__/presenter.test.js +118 -0
  1806. package/src/moderating/components/resources/OutstandingQuizzesModal/index.js +18 -0
  1807. package/src/moderating/components/resources/OutstandingQuizzesModal/presenter.js +173 -0
  1808. package/src/moderating/components/resources/RetryGradePassbackButton/__tests__/presenter.test.js +92 -0
  1809. package/src/moderating/components/resources/RetryGradePassbackButton/index.js +23 -0
  1810. package/src/moderating/components/resources/RetryGradePassbackButton/presenter.js +57 -0
  1811. package/src/moderating/components/resources/__tests__/ElapsedTime.test.js +24 -0
  1812. package/src/moderating/components/resources/util/__tests__/extractSessionData.test.js +79 -0
  1813. package/src/moderating/components/resources/util/__tests__/renderEventSummary.test.js +22 -0
  1814. package/src/moderating/components/resources/util/extractSessionData.js +31 -0
  1815. package/src/moderating/components/resources/util/renderEventSummary.js +34 -0
  1816. package/src/moderating/components/sidebar/ModerateTray/__tests__/index.test.js +20 -0
  1817. package/src/moderating/components/sidebar/ModerateTray/__tests__/presenter.test.js +37 -0
  1818. package/src/moderating/components/sidebar/ModerateTray/index.js +13 -0
  1819. package/src/moderating/components/sidebar/ModerateTray/presenter.js +250 -0
  1820. package/src/moderating/components/sidebar/ResetQuiz/__tests__/index.test.js +84 -0
  1821. package/src/moderating/components/sidebar/ResetQuiz/__tests__/presenter.test.js +44 -0
  1822. package/src/moderating/components/sidebar/ResetQuiz/index.js +49 -0
  1823. package/src/moderating/components/sidebar/ResetQuiz/presenter.js +95 -0
  1824. package/src/reporting/api/__tests__/endpointCalledWithParametersTest.js +8 -0
  1825. package/src/reporting/api/__tests__/fetchStudentAnalyses.test.js +38 -0
  1826. package/src/reporting/api/__tests__/getAnalysesExport.test.js +70 -0
  1827. package/src/reporting/api/__tests__/getAnalysesStatus.test.js +50 -0
  1828. package/src/reporting/api/__tests__/getItemAnalyses.test.js +38 -0
  1829. package/src/reporting/api/__tests__/getQuizAnalysis.test.js +38 -0
  1830. package/src/reporting/api/__tests__/itemAnalyses.test.js +58 -0
  1831. package/src/reporting/api/__tests__/quizAnalyses.test.js +52 -0
  1832. package/src/reporting/api/fetchStudentAnalyses.js +10 -0
  1833. package/src/reporting/api/getAnalysesExport.js +39 -0
  1834. package/src/reporting/api/getAnalysesStatus.js +12 -0
  1835. package/src/reporting/api/getItemAnalyses.js +6 -0
  1836. package/src/reporting/api/getQuizAnalysis.js +6 -0
  1837. package/src/reporting/api/itemAnalyses.js +24 -0
  1838. package/src/reporting/api/quizAnalyses.js +18 -0
  1839. package/src/reporting/components/Caption/__tests__/Caption.test.js +24 -0
  1840. package/src/reporting/components/Caption/index.js +40 -0
  1841. package/src/reporting/components/Caption/styles.js +12 -0
  1842. package/src/reporting/components/Caption/theme.js +8 -0
  1843. package/src/reporting/components/MetricsListItem/__tests__/MetricsListItem.test.js +30 -0
  1844. package/src/reporting/components/MetricsListItem/index.js +52 -0
  1845. package/src/reporting/components/MetricsListItem/styles.js +12 -0
  1846. package/src/reporting/components/MetricsListItem/theme.js +0 -0
  1847. package/src/reporting/components/charts/CentileDistribution/__tests__/index.test.js +9 -0
  1848. package/src/reporting/components/charts/CentileDistribution/__tests__/presenter.test.js +57 -0
  1849. package/src/reporting/components/charts/CentileDistribution/index.js +3 -0
  1850. package/src/reporting/components/charts/CentileDistribution/presenter.js +150 -0
  1851. package/src/reporting/components/charts/CentileDistribution/styles.js +31 -0
  1852. package/src/reporting/components/charts/CentileDistribution/theme.js +8 -0
  1853. package/src/reporting/components/charts/Distribution/CentileDistribution.js +5 -0
  1854. package/src/reporting/components/charts/Distribution/Distribution.js +4 -0
  1855. package/src/reporting/components/charts/Distribution/QuintileDistribution.js +4 -0
  1856. package/src/reporting/components/charts/Distribution/__tests__/CentileDistribution.test.js +9 -0
  1857. package/src/reporting/components/charts/Distribution/__tests__/Distribution.test.js +9 -0
  1858. package/src/reporting/components/charts/Distribution/__tests__/QuintileDistribution.test.js +9 -0
  1859. package/src/reporting/components/charts/Distribution/__tests__/index.test.js +9 -0
  1860. package/src/reporting/components/charts/Distribution/__tests__/presenter.test.js +137 -0
  1861. package/src/reporting/components/charts/Distribution/index.js +3 -0
  1862. package/src/reporting/components/charts/Distribution/presenter.js +378 -0
  1863. package/src/reporting/components/charts/Distribution/styles.js +26 -0
  1864. package/src/reporting/components/charts/Distribution/theme.js +12 -0
  1865. package/src/reporting/components/charts/Legend/README.md +62 -0
  1866. package/src/reporting/components/charts/Legend/__tests__/index.test.js +39 -0
  1867. package/src/reporting/components/charts/Legend/index.js +66 -0
  1868. package/src/reporting/components/charts/Legend/styles.js +44 -0
  1869. package/src/reporting/components/charts/Legend/theme.js +15 -0
  1870. package/src/reporting/components/charts/QuintileDistribution/__tests__/index.test.js +9 -0
  1871. package/src/reporting/components/charts/QuintileDistribution/__tests__/presenter.test.js +64 -0
  1872. package/src/reporting/components/charts/QuintileDistribution/index.js +3 -0
  1873. package/src/reporting/components/charts/QuintileDistribution/presenter.js +155 -0
  1874. package/src/reporting/components/charts/QuintileDistribution/styles.js +12 -0
  1875. package/src/reporting/components/charts/QuintileDistribution/theme.js +9 -0
  1876. package/src/reporting/components/itemAnalysis/AnswerFrequencySummary/__tests__/AnswerFrequencySummary.test.js +109 -0
  1877. package/src/reporting/components/itemAnalysis/AnswerFrequencySummary/index.js +128 -0
  1878. package/src/reporting/components/itemAnalysis/AnswerFrequencySummary/styles.js +41 -0
  1879. package/src/reporting/components/itemAnalysis/AnswerFrequencySummary/theme.js +29 -0
  1880. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/__tests__/index.test.js +10 -0
  1881. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/__tests__/presenter.test.js +212 -0
  1882. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/index.js +14 -0
  1883. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/presenter.js +290 -0
  1884. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/styles.js +100 -0
  1885. package/src/reporting/components/itemAnalysis/ItemAnalysisRow/theme.js +23 -0
  1886. package/src/reporting/components/quizAnalysis/QuizAnalysisOverview.js +144 -0
  1887. package/src/reporting/components/quizAnalysis/__tests__/QuizAnalysisOverview.test.js +59 -0
  1888. package/src/reporting/components/quizAnalysis/styles.js +31 -0
  1889. package/src/reporting/components/quizAnalysis/theme.js +11 -0
  1890. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/__tests__/presenter.test.js +26 -0
  1891. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/index.js +3 -0
  1892. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/presenter.js +47 -0
  1893. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisMetric/styles.js +14 -0
  1894. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/__tests__/AnalysisPopoverMetric.test.js +36 -0
  1895. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/index.js +3 -0
  1896. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/presenter.js +59 -0
  1897. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnalysisPopoverMetric/styles.js +16 -0
  1898. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/__tests__/AggregationType.test.js +47 -0
  1899. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/index.js +1 -0
  1900. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/AggregationType/presenter.js +25 -0
  1901. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/__tests__/ChoiceType.test.js +66 -0
  1902. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/index.js +1 -0
  1903. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ChoiceType/presenter.js +27 -0
  1904. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/__tests__/ChoiceTypeTableRow.test.js +81 -0
  1905. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/index.js +1 -0
  1906. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/presenter.js +105 -0
  1907. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/styles.js +47 -0
  1908. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/ChoiceTypeTableRow/theme.js +8 -0
  1909. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/__tests__/LegacyChoiceType.test.js +65 -0
  1910. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/index.js +1 -0
  1911. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/presenter.js +80 -0
  1912. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/styles.js +20 -0
  1913. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/LegacyChoiceType/theme.js +7 -0
  1914. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/CategorizationType.js +57 -0
  1915. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingType.js +34 -0
  1916. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/__tests__/MatchingTypeTable.test.js +169 -0
  1917. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/index.js +1 -0
  1918. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +197 -0
  1919. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/styles.js +57 -0
  1920. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/theme.js +8 -0
  1921. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/OrderingType.js +59 -0
  1922. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/__tests__/CategorizationType.test.js +101 -0
  1923. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/__tests__/MatchingType.test.js +73 -0
  1924. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/__tests__/OrderingType.test.js +100 -0
  1925. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/index.js +3 -0
  1926. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/utils/__tests__/matchingTypeOrderer.test.js +112 -0
  1927. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/utils/matchingTypeOrderer.js +36 -0
  1928. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/__tests__/ChoiceTypeWithInfo.test.js +53 -0
  1929. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/index.js +1 -0
  1930. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +66 -0
  1931. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/__tests__/NumericType.test.js +219 -0
  1932. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/index.js +1 -0
  1933. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +242 -0
  1934. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/styles.js +10 -0
  1935. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/theme.js +7 -0
  1936. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/__tests__/ChoiceGroupTypeTable.test.js +141 -0
  1937. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/index.js +1 -0
  1938. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/presenter.js +136 -0
  1939. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/styles.js +10 -0
  1940. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/theme.js +7 -0
  1941. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/__tests__/RichFillBlankType.test.js +23 -0
  1942. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/index.js +1 -0
  1943. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/presenter.js +41 -0
  1944. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/__tests__/ScoreDistributionTypeTable.test.js +59 -0
  1945. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/index.js +102 -0
  1946. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/styles.js +39 -0
  1947. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/Table/theme.js +9 -0
  1948. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/__tests__/ScoreDistributionType.test.js +93 -0
  1949. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/ScoreDistributionType/index.js +32 -0
  1950. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/__tests__/AnswerFrequencySummary.test.js +291 -0
  1951. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/index.js +1 -0
  1952. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/presenter.js +79 -0
  1953. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/index.js +1 -0
  1954. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/presenter.js +53 -0
  1955. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/styles.js +13 -0
  1956. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsPartsContainer/theme.js +7 -0
  1957. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/index.js +1 -0
  1958. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/popoverContent.js +7 -0
  1959. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +50 -0
  1960. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/styles.js +11 -0
  1961. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/index.js +1 -0
  1962. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +226 -0
  1963. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/styles.js +154 -0
  1964. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/theme.js +12 -0
  1965. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/__tests__/ChoiceTypeTable.test.js +135 -0
  1966. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/index.js +1 -0
  1967. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/presenter.js +195 -0
  1968. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/styles.js +102 -0
  1969. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/theme.js +10 -0
  1970. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/__tests__/ExpandableCard.test.js +34 -0
  1971. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/index.js +1 -0
  1972. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +84 -0
  1973. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/styles.js +16 -0
  1974. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/theme.js +7 -0
  1975. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/__tests__/AfsPartsContainer.test.js +49 -0
  1976. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/__tests__/AfsTableWrapper.test.js +88 -0
  1977. package/src/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/__tests__/AggregationTable.test.js +162 -0
  1978. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ExportButton/__tests__/ExportButton.test.js +54 -0
  1979. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ExportButton/index.js +44 -0
  1980. package/src/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/__tests__/MetricPopover.test.js +46 -0
  1981. package/src/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/index.js +3 -0
  1982. package/src/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/presenter.js +109 -0
  1983. package/src/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/styles.js +16 -0
  1984. package/src/reporting/components/resources/NewQuizAndItemAnalysis/MetricPopover/theme.js +7 -0
  1985. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/__tests__/BlankIcon.test.js +23 -0
  1986. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/index.js +1 -0
  1987. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/presenter.js +23 -0
  1988. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/styles.js +17 -0
  1989. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/BlankIcon/theme.js +10 -0
  1990. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/__tests__/NewItemAnalysis.test.js +290 -0
  1991. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/__tests__/sampleFitbItemAnalysis.js +57 -0
  1992. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/index.js +26 -0
  1993. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/popoverContent.js +25 -0
  1994. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +312 -0
  1995. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/styles.js +85 -0
  1996. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/theme.js +15 -0
  1997. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/__tests__/NewQuizAnalysis.test.js +159 -0
  1998. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/index.js +3 -0
  1999. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/popoverContent.js +17 -0
  2000. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/presenter.js +150 -0
  2001. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/styles.js +40 -0
  2002. package/src/reporting/components/resources/NewQuizAndItemAnalysis/NewQuizAnalysis/theme.js +15 -0
  2003. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/__tests__/presenter.test.js +184 -0
  2004. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/index.js +7 -0
  2005. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +221 -0
  2006. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/styles.js +55 -0
  2007. package/src/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/theme.js +12 -0
  2008. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/fetchReportStatus.test.js +155 -0
  2009. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/fetchReports.test.js +503 -0
  2010. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/presenter.test.js +248 -0
  2011. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/sampleItemAnalysis.js +63 -0
  2012. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/sampleQuizAnalysis.js +26 -0
  2013. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/withAnalysisState.test.js +21 -0
  2014. package/src/reporting/components/resources/NewQuizAndItemAnalysis/__tests__/withAnalysisStatePresenter.test.js +282 -0
  2015. package/src/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/index.js +3 -0
  2016. package/src/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/presenter.js +78 -0
  2017. package/src/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/styles.js +20 -0
  2018. package/src/reporting/components/resources/NewQuizAndItemAnalysis/charts/ScoreDistribution/theme.js +11 -0
  2019. package/src/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg +58 -0
  2020. package/src/reporting/components/resources/NewQuizAndItemAnalysis/exportFormats.js +1 -0
  2021. package/src/reporting/components/resources/NewQuizAndItemAnalysis/fetchReports.js +50 -0
  2022. package/src/reporting/components/resources/NewQuizAndItemAnalysis/fetchReportsStatus.js +29 -0
  2023. package/src/reporting/components/resources/NewQuizAndItemAnalysis/index.js +5 -0
  2024. package/src/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +273 -0
  2025. package/src/reporting/components/resources/NewQuizAndItemAnalysis/styles.js +14 -0
  2026. package/src/reporting/components/resources/NewQuizAndItemAnalysis/theme.js +6 -0
  2027. package/src/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisState.js +73 -0
  2028. package/src/reporting/components/resources/NewQuizAndItemAnalysis/withAnalysisStatePresenter.js +156 -0
  2029. package/src/reporting/components/resources/OutcomeAnalysis/__tests__/index.test.js +23 -0
  2030. package/src/reporting/components/resources/OutcomeAnalysis/__tests__/presenter.test.js +48 -0
  2031. package/src/reporting/components/resources/OutcomeAnalysis/index.js +20 -0
  2032. package/src/reporting/components/resources/OutcomeAnalysis/presenter.js +72 -0
  2033. package/src/reporting/components/resources/QuizAndItemAnalysis/README.md +26 -0
  2034. package/src/reporting/components/resources/QuizAndItemAnalysis/__tests__/index.test.js +28 -0
  2035. package/src/reporting/components/resources/QuizAndItemAnalysis/__tests__/presenter.test.js +239 -0
  2036. package/src/reporting/components/resources/QuizAndItemAnalysis/index.js +33 -0
  2037. package/src/reporting/components/resources/QuizAndItemAnalysis/presenter.js +329 -0
  2038. package/src/reporting/components/resources/QuizAndItemAnalysis/styles.js +20 -0
  2039. package/src/reporting/components/resources/QuizAndItemAnalysis/theme.js +12 -0
  2040. package/src/reporting/components/resources/ReportCard/README.md +24 -0
  2041. package/src/reporting/components/resources/ReportCard/__tests__/index.test.js +27 -0
  2042. package/src/reporting/components/resources/ReportCard/index.js +61 -0
  2043. package/src/reporting/components/resources/ReportCard/styles.js +24 -0
  2044. package/src/reporting/components/resources/ReportCard/theme.js +11 -0
  2045. package/src/reporting/components/resources/ReportList/README.md +53 -0
  2046. package/src/reporting/components/resources/ReportList/__tests__/index.test.js +25 -0
  2047. package/src/reporting/components/resources/ReportList/index.js +44 -0
  2048. package/src/reporting/components/resources/ReportList/styles.js +19 -0
  2049. package/src/reporting/components/resources/ReportList/theme.js +9 -0
  2050. package/src/reporting/components/resources/StudentAnalysis/ReportCard/__tests__/presenter.test.js +159 -0
  2051. package/src/reporting/components/resources/StudentAnalysis/ReportCard/index.ts +6 -0
  2052. package/src/reporting/components/resources/StudentAnalysis/ReportCard/presenter.tsx +193 -0
  2053. package/src/reporting/components/resources/StudentAnalysis/ReportCard/styles.ts +45 -0
  2054. package/src/reporting/components/resources/StudentAnalysis/ReportCard/theme.ts +12 -0
  2055. package/src/reporting/components/resources/StudentAnalysis/__tests__/fetchReport.test.js +189 -0
  2056. package/src/reporting/components/resources/StudentAnalysis/__tests__/fetchReportStatus.test.js +122 -0
  2057. package/src/reporting/components/resources/StudentAnalysis/__tests__/withStudentAnalysisReportState.test.js +73 -0
  2058. package/src/reporting/components/resources/StudentAnalysis/__tests__/withStudentAnalysisReportStatePresenter.test.js +241 -0
  2059. package/src/reporting/components/resources/StudentAnalysis/fetchReport.js +41 -0
  2060. package/src/reporting/components/resources/StudentAnalysis/fetchReportStatus.js +31 -0
  2061. package/src/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportState.ts +66 -0
  2062. package/src/reporting/components/resources/StudentAnalysis/withStudentAnalysisReportStatePresenter.js +157 -0
  2063. package/src/reporting/components/resources/common/AnalysisUpdateDate/__tests__/index.test.js +16 -0
  2064. package/src/reporting/components/resources/common/AnalysisUpdateDate/index.js +36 -0
  2065. package/src/reporting/components/resources/common/ExportButton/__tests__/exportButton.test.js +39 -0
  2066. package/src/reporting/components/resources/common/ExportButton/index.js +24 -0
  2067. package/src/reporting/components/resources/common/__tests__/errorCodes.test.js +52 -0
  2068. package/src/reporting/components/resources/common/__tests__/exportReports.test.js +97 -0
  2069. package/src/reporting/components/resources/common/__tests__/generateReports.test.js +168 -0
  2070. package/src/reporting/components/resources/common/__tests__/utils.test.js +42 -0
  2071. package/src/reporting/components/resources/common/errorCodes.js +39 -0
  2072. package/src/reporting/components/resources/common/errorMessages.js +27 -0
  2073. package/src/reporting/components/resources/common/exportReports.js +38 -0
  2074. package/src/reporting/components/resources/common/generateReports.js +49 -0
  2075. package/src/reporting/components/resources/common/propTypes.js +215 -0
  2076. package/src/reporting/components/resources/common/utils.js +25 -0
  2077. package/src/taking/api/__tests__/taking.test.js +833 -0
  2078. package/src/taking/api/taking.js +496 -0
  2079. package/src/taking/learnosity/__tests__/index.test.js +195 -0
  2080. package/src/taking/learnosity/index.js +122 -0
  2081. package/es/building/components/resources/ItemFeedbackModal/styles.js +0 -13
  2082. package/es/building/components/resources/ItemFeedbackModal/theme.js +0 -7
  2083. package/es/common/components/resources/quizSessionResult/Info/index.js +0 -410
  2084. package/es/common/components/resources/quizSessionResult/Info/styles.js +0 -58
  2085. package/es/common/components/resources/quizSessionResult/Info/theme.js +0 -13
  2086. package/es/reduxStore.js +0 -29
  2087. package/lib/building/components/resources/ItemFeedbackModal/styles.js +0 -13
  2088. package/lib/building/components/resources/ItemFeedbackModal/theme.js +0 -7
  2089. package/lib/common/components/resources/quizSessionResult/Info/index.js +0 -410
  2090. package/lib/common/components/resources/quizSessionResult/Info/styles.js +0 -58
  2091. package/lib/common/components/resources/quizSessionResult/Info/theme.js +0 -13
  2092. package/lib/reduxStore.js +0 -29
  2093. /package/es/common/components/resources/{quizSessionResult/Header → QuizSessionResult/QuizSessionResultHeader}/styles.js +0 -0
  2094. /package/es/common/components/resources/{quizSessionResult/Header → QuizSessionResult/QuizSessionResultHeader}/theme.js +0 -0
  2095. /package/lib/common/components/resources/{quizSessionResult/Header → QuizSessionResult/QuizSessionResultHeader}/styles.js +0 -0
  2096. /package/lib/common/components/resources/{quizSessionResult/Header → QuizSessionResult/QuizSessionResultHeader}/theme.js +0 -0
@@ -0,0 +1,56 @@
1
+ <svg width="384" height="221" viewBox="0 0 384 221" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M305.64 23.7759C305.64 31.3089 299.534 37.4149 292 37.4149C284.468 37.4149 278.361 31.3089 278.361 23.7759C278.361 16.2429 284.468 10.1359 292 10.1359C299.534 10.1359 305.64 16.2429 305.64 23.7759Z" fill="#FDD089"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M292 11.1362C285.03 11.1362 279.36 16.8062 279.36 23.7762C279.36 30.7452 285.03 36.4152 292 36.4152C298.97 36.4152 304.64 30.7452 304.64 23.7762C304.64 16.8062 298.97 11.1362 292 11.1362ZM292 38.4152C283.928 38.4152 277.36 31.8482 277.36 23.7762C277.36 15.7032 283.928 9.1362 292 9.1362C300.072 9.1362 306.64 15.7032 306.64 23.7762C306.64 31.8482 300.072 38.4152 292 38.4152Z" fill="#FBB03B"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M292 47.5512C291.447 47.5512 291 47.1032 291 46.5512V37.4152C291 36.8632 291.447 36.4152 292 36.4152C292.553 36.4152 293 36.8632 293 37.4152V46.5512C293 47.1032 292.553 47.5512 292 47.5512Z" fill="#FBB03B"/>
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M292 11.1362C291.447 11.1362 291 10.6882 291 10.1362V1.0002C291 0.448198 291.447 0.000198364 292 0.000198364C292.553 0.000198364 293 0.448198 293 1.0002V10.1362C293 10.6882 292.553 11.1362 292 11.1362Z" fill="#FBB03B"/>
6
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M305.065 43.4326C304.75 43.4326 304.439 43.2846 304.245 43.0066L299.004 35.5226C298.688 35.0696 298.797 34.4466 299.251 34.1296C299.702 33.8126 300.327 33.9226 300.643 34.3746L305.883 41.8586C306.2 42.3116 306.09 42.9346 305.637 43.2516C305.463 43.3736 305.263 43.4326 305.065 43.4326Z" fill="#FBB03B"/>
7
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M284.178 13.603C283.863 13.603 283.552 13.455 283.358 13.177L278.117 5.69301C277.801 5.24001 277.91 4.61701 278.364 4.30001C278.814 3.98301 279.44 4.09301 279.756 4.54501L284.996 12.029C285.313 12.482 285.203 13.105 284.75 13.422C284.576 13.544 284.376 13.603 284.178 13.603Z" fill="#FBB03B"/>
8
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M313.402 32.5659C313.289 32.5659 313.173 32.5459 313.06 32.5049L304.475 29.3809C303.956 29.1919 303.688 28.6179 303.878 28.0989C304.066 27.5809 304.642 27.3119 305.159 27.5009L313.744 30.6259C314.263 30.8149 314.531 31.3889 314.341 31.9069C314.194 32.3139 313.81 32.5659 313.402 32.5659Z" fill="#FBB03B"/>
9
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M279.184 20.1113C279.071 20.1113 278.955 20.0913 278.842 20.0503L270.256 16.9253C269.737 16.7363 269.469 16.1623 269.659 15.6443C269.847 15.1253 270.423 14.8573 270.94 15.0463L279.526 18.1713C280.045 18.3603 280.313 18.9343 280.123 19.4523C279.976 19.8593 279.592 20.1113 279.184 20.1113Z" fill="#FBB03B"/>
10
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M305.174 21.2461C304.733 21.2461 304.328 20.9511 304.209 20.5041C304.067 19.9711 304.383 19.4231 304.916 19.2801L313.741 16.9151C314.276 16.7731 314.824 17.0891 314.966 17.6221C315.109 18.1551 314.792 18.7041 314.259 18.8471L305.434 21.2111C305.347 21.2351 305.26 21.2461 305.174 21.2461Z" fill="#FBB03B"/>
11
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M270 30.6709C269.559 30.6709 269.155 30.3759 269.035 29.9289C268.893 29.3959 269.209 28.8479 269.742 28.7049L278.566 26.3399C279.103 26.1959 279.647 26.5129 279.791 27.0469C279.934 27.5799 279.617 28.1289 279.084 28.2719L270.26 30.6359C270.173 30.6599 270.086 30.6709 270 30.6709Z" fill="#FBB03B"/>
12
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M300.767 14.3271C300.54 14.3271 300.313 14.2501 300.125 14.0931C299.703 13.7381 299.647 13.1071 300.002 12.6841L305.875 5.68509C306.229 5.26409 306.86 5.20709 307.284 5.56209C307.706 5.91709 307.762 6.54809 307.407 6.97209L301.534 13.9701C301.336 14.2051 301.053 14.3271 300.767 14.3271Z" fill="#FBB03B"/>
13
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M277.359 42.2226C277.132 42.2226 276.905 42.1456 276.717 41.9886C276.295 41.6336 276.239 41.0026 276.594 40.5796L282.467 33.5806C282.821 33.1596 283.452 33.1026 283.876 33.4576C284.298 33.8126 284.354 34.4436 283.999 34.8676L278.126 41.8656C277.928 42.1006 277.645 42.2226 277.359 42.2226Z" fill="#FBB03B"/>
14
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M368.788 156.81L350.893 150.743L341.729 147.06C341.577 146.999 341.439 146.908 341.324 146.793L337.732 143.201C337.563 143.032 337.348 142.916 337.113 142.87L333.974 142.242C333.407 142.128 332.999 141.631 332.999 141.054V105.73C332.999 105.491 332.929 105.257 332.796 105.058L330.675 101.876C330.45 101.539 330.072 101.337 329.667 101.337H313.984C312.874 101.337 311.974 102.237 311.974 103.348V105.81V111.337C311.974 112.068 311.577 112.741 310.938 113.096L310.934 113.098C309.595 113.842 307.947 112.873 307.947 111.339V106.285C307.947 105.973 307.874 105.665 307.734 105.386L306.266 102.449C305.926 101.767 305.228 101.337 304.467 101.337H277.844C277.35 101.337 276.876 101.518 276.508 101.845L273.727 104.316C273.298 104.697 273.053 105.245 273.053 105.819V131.467C273.053 132.215 272.707 132.921 272.117 133.38L269.026 135.784L264.553 144.758L256.5 149.806L251.982 150.534C251.173 150.664 250.484 151.196 250.152 151.946L248 156.81H368.788Z" fill="#D4A082"/>
15
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M180.877 156.81L176.46 148.376L162.174 144.129C161.801 144.018 161.471 143.794 161.231 143.488L153.042 133.065C152.86 132.833 152.626 132.647 152.358 132.523L140.717 127.09L136.061 124.181C134.96 123.493 134.291 122.287 134.291 120.988V87.4825C134.291 87.1165 134.237 86.7515 134.133 86.4005L132.687 81.5815C132.209 79.9885 130.743 78.8975 129.08 78.8975H123.767C122.341 78.8975 121.037 79.7045 120.399 80.9795L118.625 84.5285C118.363 85.0515 118.228 85.6275 118.228 86.2125V133.517H113.886C113.112 133.517 112.418 133.044 112.135 132.326L107.522 120.639C106.953 119.201 105.564 118.256 104.019 118.256H98.824C97.785 118.256 96.942 117.413 96.942 116.373V79.5395C96.942 78.8565 96.757 78.1875 96.405 77.6025L90.81 68.2765C90.13 67.1425 88.904 66.4485 87.581 66.4485H43.08C42.082 66.4485 41.124 66.8455 40.418 67.5515L36.6 71.3695C35.894 72.0755 35.497 73.0335 35.497 74.0325V141.234C35.497 141.923 35.12 142.558 34.516 142.887L8.99097 156.81H180.877Z" fill="#D4A082"/>
16
+ <mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="384" height="221">
17
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0 220.228H383.686V0H0V220.228Z" fill="white"/>
18
+ </mask>
19
+ <g mask="url(#mask0)">
20
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M0 157.776H382V155.776H0V157.776Z" fill="#243038"/>
21
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M249.536 155.81H362.724L350.572 151.69L341.356 147.988C341.081 147.878 340.831 147.714 340.617 147.5L337.025 143.908C336.995 143.878 336.958 143.858 336.917 143.85L333.777 143.222C332.747 143.015 331.999 142.104 331.999 141.054V105.73C331.999 105.688 331.987 105.647 331.965 105.614L329.843 102.431C329.804 102.372 329.737 102.337 329.667 102.337H313.984C313.427 102.337 312.974 102.79 312.974 103.348V111.337C312.974 112.43 312.38 113.438 311.424 113.97C310.476 114.496 309.359 114.48 308.432 113.935C307.502 113.388 306.947 112.418 306.947 111.339V106.285C306.947 106.13 306.91 105.973 306.84 105.833L305.371 102.896C305.199 102.551 304.852 102.337 304.467 102.337H277.844C277.596 102.337 277.357 102.428 277.172 102.592L274.391 105.063C274.176 105.255 274.053 105.53 274.053 105.819V131.467C274.053 132.514 273.558 133.525 272.731 134.169L269.82 136.434L265.322 145.456L256.859 150.761L252.141 151.521C251.664 151.597 251.263 151.908 251.066 152.351L249.536 155.81ZM374.852 157.81H246.464L249.238 151.541C249.709 150.477 250.676 149.732 251.823 149.547L256.14 148.851L263.783 144.06L268.232 135.134L271.503 132.59C271.848 132.323 272.053 131.903 272.053 131.467V105.819C272.053 104.958 272.421 104.138 273.063 103.568L275.844 101.097C276.395 100.607 277.105 100.337 277.844 100.337H304.467C305.616 100.337 306.648 100.975 307.16 102.002L308.629 104.938C308.837 105.355 308.947 105.821 308.947 106.285V111.339C308.947 111.861 309.296 112.123 309.446 112.211C309.596 112.3 309.992 112.477 310.449 112.224C310.774 112.043 310.974 111.704 310.974 111.337V103.348C310.974 101.688 312.324 100.337 313.984 100.337H329.667C330.408 100.337 331.097 100.705 331.507 101.322L333.628 104.503C333.87 104.866 333.999 105.291 333.999 105.73V141.054C333.999 141.153 334.071 141.241 334.17 141.261L337.309 141.889C337.74 141.974 338.131 142.185 338.44 142.495L342.031 146.086L351.266 149.815L374.852 157.81Z" fill="#243038"/>
22
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M334.122 114.551C337.503 114.551 340.243 117.292 340.243 120.673V131.649C340.243 135.078 344.654 138.449 349.221 140.26V83.3532C349.221 79.9722 351.961 77.2322 355.343 77.2322C358.724 77.2322 361.464 79.9722 361.464 83.3532V127.089C366.031 125.278 370.442 121.906 370.442 118.477V100.915C370.442 97.5342 373.184 94.7942 376.564 94.7942C379.945 94.7942 382.685 97.5342 382.685 100.915V118.477C382.685 124.864 379.013 130.804 372.343 135.204C369.058 137.371 365.21 139.004 361.464 139.906V177.018H349.317L349.221 153.078C345.475 152.176 341.629 150.543 338.344 148.376C331.673 143.976 328 138.036 328 131.649V120.673C328 117.292 330.74 114.551 334.122 114.551Z" fill="#ABC885"/>
23
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M350.313 176.018H360.463V139.119L361.229 138.935C364.929 138.043 368.68 136.422 371.792 134.37C378.171 130.161 381.685 124.517 381.685 118.477V100.915C381.685 98.091 379.388 95.794 376.564 95.794C373.74 95.794 371.442 98.091 371.442 100.915V118.477C371.442 122.707 366.265 126.261 361.833 128.019L360.463 128.561V83.353C360.463 80.529 358.167 78.232 355.342 78.232C352.518 78.232 350.22 80.529 350.22 83.353V141.733L348.851 141.19C344.418 139.432 339.243 135.878 339.243 131.649V120.673C339.243 117.849 336.946 115.551 334.122 115.551C331.297 115.551 329 117.849 329 120.673V131.649C329 137.689 332.513 143.333 338.894 147.541C342.006 149.595 345.757 151.216 349.455 152.106L350.217 152.29L350.313 176.018ZM362.463 178.018H348.321L348.223 153.857C344.556 152.882 340.879 151.247 337.792 149.211C330.833 144.621 327 138.384 327 131.649V120.673C327 116.746 330.195 113.551 334.122 113.551C338.048 113.551 341.243 116.746 341.243 120.673V131.649C341.243 134.313 344.646 137.04 348.22 138.735V83.353C348.22 79.427 351.416 76.232 355.342 76.232C359.269 76.232 362.463 79.427 362.463 83.353V125.564C366.039 123.869 369.442 121.142 369.442 118.477V100.915C369.442 96.989 372.637 93.794 376.564 93.794C380.491 93.794 383.685 96.989 383.685 100.915V118.477C383.685 125.211 379.852 131.448 372.893 136.039C369.808 138.075 366.131 139.709 362.463 140.685V178.018Z" fill="#243038"/>
24
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M117.007 216.639C116.614 216.639 116.241 216.407 116.082 216.02L109.02 198.904L110.285 182.603L118.408 171.086L124.854 164.78C125.248 164.394 125.881 164.402 126.268 164.796C126.653 165.19 126.647 165.824 126.252 166.21L119.872 172.451L112.236 183.304L111.051 198.581L117.932 215.258C118.142 215.768 117.899 216.353 117.388 216.564C117.264 216.615 117.134 216.639 117.007 216.639Z" fill="#243038"/>
25
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M119.106 172.801C118.626 172.801 118.202 172.453 118.121 171.964C118.031 171.419 118.399 170.905 118.944 170.815L124.925 169.826C125.481 169.74 125.985 170.106 126.075 170.65C126.165 171.195 125.796 171.709 125.252 171.799L119.27 172.787C119.214 172.797 119.16 172.801 119.106 172.801Z" fill="#243038"/>
26
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M115.659 177.705C115.3 177.705 114.952 177.511 114.773 177.171L112.553 172.952C112.295 172.464 112.483 171.858 112.971 171.601C113.459 171.345 114.065 171.532 114.322 172.02L116.543 176.239C116.801 176.727 116.612 177.333 116.124 177.59C115.975 177.668 115.816 177.705 115.659 177.705Z" fill="#243038"/>
27
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M110.633 192.035C110.461 192.035 110.287 191.991 110.128 191.897C109.652 191.618 109.492 191.006 109.772 190.529L114.932 181.732L119.456 179.231C119.941 178.963 120.548 179.14 120.815 179.623C121.082 180.106 120.906 180.715 120.423 180.981L116.379 183.217L111.496 191.541C111.311 191.858 110.976 192.035 110.633 192.035Z" fill="#243038"/>
28
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M110.863 189.089C110.525 189.089 110.196 188.918 110.008 188.609L106.239 182.409C105.952 181.938 106.102 181.322 106.574 181.035C107.048 180.749 107.661 180.9 107.948 181.37L111.717 187.569C112.004 188.041 111.853 188.656 111.382 188.943C111.219 189.042 111.04 189.089 110.863 189.089Z" fill="#243038"/>
29
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M119.142 185.97C119.12 185.97 119.096 185.969 119.073 185.968L114.314 185.643C113.763 185.605 113.347 185.127 113.384 184.576C113.422 184.027 113.894 183.621 114.451 183.647L119.209 183.972C119.76 184.01 120.176 184.488 120.139 185.038C120.103 185.566 119.663 185.97 119.142 185.97Z" fill="#243038"/>
30
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M114.328 210.143C114.245 210.143 114.162 210.133 114.078 210.112C113.543 209.974 113.221 209.429 113.358 208.894L117.45 192.978L126.027 181.325L135.636 175.234L142.537 172.58L145.466 167.284C145.733 166.8 146.342 166.624 146.824 166.893C147.307 167.16 147.483 167.768 147.216 168.251L143.935 174.185L136.447 177.065L127.416 182.811L119.29 193.851L115.296 209.392C115.18 209.843 114.773 210.143 114.328 210.143Z" fill="#243038"/>
31
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M111.268 202.727C111.212 202.727 111.156 202.722 111.098 202.712L106.058 201.85C105.514 201.757 105.148 201.241 105.242 200.696C105.334 200.152 105.845 199.788 106.396 199.879L111.436 200.742C111.98 200.834 112.346 201.351 112.252 201.896C112.169 202.383 111.747 202.727 111.268 202.727Z" fill="#243038"/>
32
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M136.778 218.822L125.537 214.439L114.593 211.401C114.061 211.253 113.75 210.702 113.897 210.17C114.046 209.637 114.595 209.33 115.129 209.473L126.216 212.557L136.762 216.67L146.722 212.618L155.308 208.356C155.801 208.109 156.403 208.312 156.648 208.807C156.894 209.302 156.692 209.902 156.197 210.147L147.544 214.44L136.778 218.822Z" fill="#243038"/>
33
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M138.288 176.286C137.777 176.286 137.342 175.897 137.293 175.379L136.871 170.827L141.172 165.285C141.511 164.85 142.138 164.769 142.575 165.108C143.012 165.446 143.091 166.075 142.752 166.511L138.935 171.429L139.285 175.193C139.336 175.744 138.932 176.23 138.382 176.282C138.35 176.285 138.318 176.286 138.288 176.286Z" fill="#243038"/>
34
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M128.221 182.115C127.671 182.115 127.224 181.671 127.221 181.121L127.191 175.869L130.022 170.5L132.023 166.939C132.293 166.458 132.902 166.285 133.385 166.558C133.867 166.828 134.037 167.438 133.767 167.92L131.779 171.457L129.193 176.359L129.221 181.109C129.224 181.662 128.78 182.112 128.227 182.115H128.221Z" fill="#243038"/>
35
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M117.548 197.613C117.288 197.613 117.029 197.512 116.833 197.312L113.42 193.825C113.034 193.43 113.041 192.798 113.436 192.411C113.831 192.024 114.464 192.032 114.85 192.426L118.263 195.914C118.649 196.308 118.642 196.941 118.247 197.328C118.053 197.518 117.8 197.613 117.548 197.613Z" fill="#243038"/>
36
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M116.01 203.596C115.75 203.596 115.491 203.495 115.295 203.295C114.909 202.901 114.916 202.268 115.311 201.881L120.15 197.198L127.396 193.211L134.752 186.013C135.148 185.626 135.781 185.635 136.166 186.029C136.552 186.423 136.545 187.056 136.151 187.443L128.48 194.898L121.234 198.884L116.709 203.311C116.515 203.501 116.262 203.596 116.01 203.596Z" fill="#243038"/>
37
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M121.295 190.441C120.749 190.441 120.303 190.003 120.295 189.456C120.287 188.903 120.729 188.449 121.28 188.441L126.494 188.365L129.227 185.692C129.622 185.305 130.255 185.314 130.641 185.708C131.026 186.102 131.02 186.735 130.625 187.122L127.322 190.353L121.31 190.441H121.295Z" fill="#243038"/>
38
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M139.374 180.724L133.437 178.509C132.92 178.317 132.657 177.741 132.851 177.223C133.043 176.705 133.62 176.444 134.137 176.636L139.487 178.632L143.545 177.597C144.079 177.458 144.624 177.784 144.761 178.319C144.897 178.854 144.574 179.398 144.039 179.535L139.374 180.724Z" fill="#243038"/>
39
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M137.325 209.01L125.213 207.03L115.172 206.746C114.62 206.731 114.184 206.27 114.2 205.718C114.217 205.166 114.683 204.746 115.228 204.746L125.47 205.044L137.102 206.947L149.066 202.2L155.13 194.914L160.374 189.322C160.752 188.92 161.384 188.9 161.788 189.277C162.19 189.655 162.211 190.287 161.833 190.691L156.628 196.239L150.277 203.872L137.325 209.01Z" fill="#243038"/>
40
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M135.789 198.802L127.867 198.502L123.952 196.979C123.437 196.779 123.183 196.199 123.383 195.685C123.582 195.169 124.163 194.913 124.677 195.115L128.279 196.516L134.723 196.761L138.737 190.51L141.772 183.73L148.602 179.358L150.611 175.22C150.852 174.723 151.449 174.516 151.947 174.757C152.444 174.998 152.651 175.596 152.41 176.093L150.155 180.739L143.354 185.093L140.461 191.528L135.789 198.802Z" fill="#243038"/>
41
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M130.837 192.243C130.711 192.243 130.582 192.22 130.459 192.169C129.947 191.96 129.702 191.376 129.911 190.865L132.061 185.607L134.533 180.903C134.79 180.415 135.396 180.227 135.884 180.484C136.373 180.742 136.561 181.347 136.303 181.835L133.871 186.451L131.763 191.621C131.605 192.009 131.231 192.243 130.837 192.243Z" fill="#243038"/>
42
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M123.74 213.902C123.359 213.902 122.997 213.684 122.829 213.316C122.6 212.813 122.822 212.22 123.325 211.992L129.532 209.168L133.35 211.384C133.828 211.662 133.991 212.274 133.714 212.752C133.436 213.229 132.824 213.391 132.346 213.115L129.421 211.416L124.153 213.812C124.019 213.874 123.878 213.902 123.74 213.902Z" fill="#243038"/>
43
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M145.512 215.19C145.388 215.19 145.263 215.168 145.142 215.119C144.628 214.915 144.378 214.333 144.583 213.82L146.396 209.278L152.528 205.891L155.421 201.782L159.132 199.498C159.604 199.208 160.219 199.355 160.508 199.825C160.797 200.295 160.651 200.912 160.181 201.201L156.82 203.27L153.897 207.419L147.988 210.682L146.441 214.56C146.284 214.952 145.908 215.19 145.512 215.19Z" fill="#243038"/>
44
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M129.93 220.228C129.498 220.228 129.101 219.948 128.972 219.513L127.576 214.819C127.417 214.29 127.719 213.733 128.248 213.576C128.781 213.417 129.334 213.719 129.492 214.249L130.888 218.943C131.046 219.472 130.744 220.029 130.215 220.186C130.12 220.214 130.024 220.228 129.93 220.228Z" fill="#243038"/>
45
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M121.793 206.933C121.533 206.933 121.274 206.832 121.078 206.632C120.692 206.238 120.699 205.605 121.094 205.218L124.779 201.612L133.001 202.738L138.897 200.92L142.636 199.282L146.646 193.279L150.413 184.067L154.842 181.207L158.789 181.928C159.332 182.027 159.692 182.548 159.593 183.091C159.494 183.634 158.97 184.001 158.43 183.895L155.262 183.317L152.026 185.407L148.364 194.306L143.974 200.879L139.541 202.815L133.167 204.779L125.479 203.727L122.492 206.648C122.298 206.838 122.045 206.933 121.793 206.933Z" fill="#243038"/>
46
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M139.618 191.988C139.121 191.988 138.69 191.618 138.627 191.112C138.558 190.564 138.947 190.064 139.495 189.996L142.119 189.669L145.739 186.126C146.135 185.739 146.767 185.747 147.153 186.141C147.539 186.536 147.532 187.169 147.138 187.555L143.035 191.569L139.743 191.98C139.701 191.985 139.659 191.988 139.618 191.988Z" fill="#243038"/>
47
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M139.247 202.859C139.188 202.859 139.13 202.854 139.069 202.843C138.526 202.746 138.164 202.226 138.262 201.682L139.216 196.358L142.994 192.662C143.39 192.275 144.022 192.284 144.408 192.677C144.794 193.072 144.787 193.706 144.393 194.091L141.071 197.34L140.23 202.036C140.143 202.519 139.723 202.859 139.247 202.859Z" fill="#243038"/>
48
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M148.147 193.247C147.67 193.247 147.249 192.905 147.163 192.42C147.068 191.876 147.431 191.357 147.975 191.262L151.524 190.639L154.636 187.594L157.997 187.795C158.548 187.828 158.968 188.302 158.935 188.852C158.903 189.405 158.432 189.821 157.877 189.791L155.402 189.643L152.479 192.502L148.321 193.232C148.262 193.242 148.205 193.247 148.147 193.247Z" fill="#243038"/>
49
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M141.399 212.13C141.19 212.13 140.979 212.065 140.798 211.929L136.612 208.777C136.17 208.445 136.083 207.818 136.415 207.377C136.746 206.937 137.372 206.847 137.815 207.18L142.002 210.331C142.443 210.663 142.531 211.29 142.199 211.732C142.003 211.992 141.703 212.13 141.399 212.13Z" fill="#243038"/>
50
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M147.583 204.866C147.479 204.866 147.375 204.85 147.271 204.816C146.746 204.644 146.461 204.079 146.633 203.554L147.852 199.871L150.313 194.93C150.561 194.437 151.16 194.235 151.655 194.481C152.149 194.728 152.351 195.329 152.104 195.823L149.675 200.698L148.533 204.178C148.395 204.599 148.004 204.866 147.583 204.866Z" fill="#243038"/>
51
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M160.993 197.144C160.955 197.144 160.916 197.142 160.877 197.137L155.783 196.547C155.234 196.484 154.842 195.988 154.905 195.439C154.969 194.89 155.466 194.493 156.014 194.561L161.107 195.151C161.656 195.214 162.049 195.71 161.985 196.259C161.927 196.769 161.494 197.144 160.993 197.144Z" fill="#243038"/>
52
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12.9131 155.81H179.225L175.77 149.214L161.889 145.088C161.312 144.916 160.813 144.576 160.443 144.104L152.256 133.684C152.171 133.576 152.06 133.488 151.936 133.431L140.186 127.939L135.53 125.029C134.128 124.152 133.291 122.642 133.291 120.988V87.4825C133.291 87.2145 133.252 86.9465 133.175 86.6855L131.728 81.8695C131.375 80.6895 130.31 79.8975 129.08 79.8975H123.767C122.713 79.8975 121.766 80.4835 121.294 81.4265L119.519 84.9765C119.328 85.3575 119.227 85.7855 119.227 86.2125V134.517H113.886C112.693 134.517 111.642 133.8 111.204 132.691L106.592 121.006C106.171 119.943 105.161 119.256 104.018 119.256H98.8241C97.2351 119.256 95.9421 117.963 95.9421 116.373V79.5395C95.9421 79.0385 95.8061 78.5465 95.5481 78.1175L89.9521 68.7905C89.4551 67.9625 88.5471 67.4485 87.5811 67.4485H43.0801C42.3521 67.4485 41.6401 67.7435 41.1251 68.2585L37.3071 72.0765C36.7841 72.5985 36.4971 73.2935 36.4971 74.0325V141.234C36.4971 142.29 35.9211 143.26 34.9941 143.765L12.9131 155.81ZM182.529 157.81H5.06909L34.0371 142.008C34.3201 141.854 34.4971 141.558 34.4971 141.234V74.0325C34.4971 72.7595 34.9921 71.5625 35.8921 70.6625L39.7111 66.8445C40.5981 65.9565 41.8261 65.4485 43.0801 65.4485H87.5811C89.2461 65.4485 90.8111 66.3345 91.6671 67.7625L97.2631 77.0875C97.7071 77.8275 97.9421 78.6755 97.9421 79.5395V116.373C97.9421 116.86 98.3381 117.256 98.8241 117.256H104.018C105.987 117.256 107.727 118.438 108.451 120.271L113.064 131.958C113.198 132.298 113.52 132.517 113.886 132.517H117.227V86.2125C117.227 85.4765 117.401 84.7395 117.73 84.0805L119.505 80.5325C120.317 78.9075 121.95 77.8975 123.767 77.8975H129.08C131.201 77.8975 133.035 79.2625 133.644 81.2945L135.091 86.1135C135.224 86.5605 135.291 87.0205 135.291 87.4825V120.988C135.291 121.948 135.777 122.825 136.591 123.333L141.195 126.211L152.781 131.618C153.188 131.808 153.552 132.094 153.829 132.45L162.017 142.869C162.13 143.014 162.283 143.118 162.46 143.171L177.149 147.537L182.529 157.81Z" fill="#243038"/>
53
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M232.676 76.3232C227.009 76.3232 222.416 80.9172 222.416 86.5832V104.98C222.416 110.727 215.023 116.376 207.369 119.412V24.0352C207.369 18.3692 202.777 13.7762 197.11 13.7762C191.443 13.7762 186.85 18.3692 186.85 24.0352V97.3372C179.195 94.3012 171.801 88.6512 171.801 82.9042V53.4692C171.801 47.8032 167.208 43.2102 161.541 43.2102C155.875 43.2102 151.282 47.8032 151.282 53.4692V82.9042C151.282 93.6082 157.438 103.564 168.617 110.938C174.123 114.57 180.572 117.306 186.85 118.819V181.018H207.208L207.369 140.895C213.648 139.383 220.094 136.645 225.6 133.013C236.78 125.64 242.935 115.684 242.935 104.98V86.5832C242.935 80.9172 238.342 76.3232 232.676 76.3232Z" fill="#ABC885"/>
54
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M187.85 180.018H206.212L206.372 140.106L207.135 139.923C213.407 138.412 219.769 135.662 225.049 132.179C235.938 124.997 241.935 115.338 241.935 104.98V86.583C241.935 81.477 237.782 77.323 232.676 77.323C227.571 77.323 223.416 81.477 223.416 86.583V104.98C223.416 111.295 215.542 117.246 207.739 120.342L206.37 120.885V24.035C206.37 18.93 202.215 14.776 197.11 14.776C192.004 14.776 187.85 18.93 187.85 24.035V98.81L186.481 98.267C178.676 95.171 170.801 89.221 170.801 82.904V53.47C170.801 48.364 166.647 44.21 161.541 44.21C156.436 44.21 152.283 48.364 152.283 53.47V82.904C152.283 93.262 158.28 102.921 169.168 110.103C174.448 113.585 180.81 116.335 187.084 117.847L187.85 118.031V180.018ZM208.204 182.018H185.85V119.601C179.607 118.002 173.32 115.238 168.067 111.773C156.599 104.209 150.283 93.956 150.283 82.904V53.47C150.283 47.261 155.333 42.21 161.541 42.21C167.75 42.21 172.801 47.261 172.801 53.47V82.904C172.801 87.903 179.329 92.947 185.85 95.833V24.035C185.85 17.827 190.901 12.776 197.11 12.776C203.319 12.776 208.37 17.827 208.37 24.035V117.909C214.891 115.021 221.416 109.978 221.416 104.98V86.583C221.416 80.374 226.467 75.323 232.676 75.323C238.884 75.323 243.935 80.374 243.935 86.583V104.98C243.935 116.033 237.619 126.285 226.151 133.849C220.896 137.315 214.609 140.08 208.367 141.678L208.204 182.018Z" fill="#243038"/>
55
+ </g>
56
+ </svg>
@@ -0,0 +1,487 @@
1
+ import {expect, vi, beforeAll, afterAll, afterEach, beforeEach} from 'vitest'
2
+ import {http, HttpResponse} from 'msw'
3
+ import {server} from '../../../../tests/msw/server'
4
+
5
+ import {createStore, applyMiddleware} from 'redux'
6
+ import thunkMiddleware from 'redux-thunk'
7
+ import multi from 'redux-multi'
8
+ import {fromJS} from 'immutable'
9
+ import {Fetcher} from '../../../common/util/Fetcher'
10
+
11
+ import {
12
+ ADD_ALERT,
13
+ CREATE_ITEM_CALL,
14
+ UPDATE_ITEM_CALL,
15
+ PARENT_TYPE_ADDING_TO_BANK,
16
+ } from '@instructure/quiz-common/constants'
17
+
18
+ import {startCallFor, successCallFor} from '../../../common/util/callHelpers'
19
+ import {createItem, getItem, updateItem} from '../items'
20
+ import Item from '../../../common/records/Item'
21
+
22
+ const API_BASE = 'http://localhost:3000'
23
+ const defaultState = {config: fromJS({userToken: 'fake', apiEndpoint: API_BASE})}
24
+
25
+ function createTestStore(initial = defaultState) {
26
+ const dispatched = []
27
+ const store = createStore(
28
+ (state = initial) => state,
29
+ initial,
30
+ applyMiddleware(multi, thunkMiddleware, () => next => action => {
31
+ dispatched.push(action)
32
+ return next(action)
33
+ }),
34
+ )
35
+ store.getActions = () => dispatched
36
+ return store
37
+ }
38
+
39
+ let requests, lastRequestBody, endpointSpy
40
+
41
+ beforeAll(() => server.listen())
42
+ afterAll(() => server.close())
43
+ beforeEach(() => {
44
+ requests = []
45
+ lastRequestBody = null
46
+ endpointSpy = vi.spyOn(Fetcher.prototype, 'endpoint').mockReturnValue(API_BASE)
47
+ })
48
+ afterEach(() => {
49
+ server.resetHandlers()
50
+ endpointSpy.mockRestore()
51
+ })
52
+
53
+ describe('items api actions creators', () => {
54
+ const item = new Item({
55
+ id: '22',
56
+ itemBody: 'itemBody',
57
+ title: 'the title',
58
+ position: 3,
59
+ properties: {},
60
+ scoringData: 'answer',
61
+ interactionType: 3,
62
+ outcomeAlignmentSetGuid: 'ce39d262-b8f6-4650-91c1-5a76b2c18f70',
63
+ interactionData: 'foo',
64
+ stimulusId: '4',
65
+ calculatorType: 'basic',
66
+ answerFeedback: {},
67
+ })
68
+
69
+ describe('getItem', () => {
70
+ const itemId = '1'
71
+
72
+ it('should hit the right endpoint', async () => {
73
+ server.use(
74
+ http.get(`${API_BASE}/api/items/:itemId`, ({params}) => {
75
+ requests.push({path: `/api/items/${params.itemId}`})
76
+ return HttpResponse.json({id: itemId})
77
+ }),
78
+ )
79
+ const store = createTestStore()
80
+ await store.dispatch(getItem(itemId))
81
+ expect(requests[0].path).toBe(`/api/items/${itemId}`)
82
+ })
83
+ })
84
+
85
+ describe('createItem', () => {
86
+ afterEach(() => {
87
+ if (item.getInteractionType.mockRestore) {
88
+ item.getInteractionType.mockRestore()
89
+ }
90
+ })
91
+
92
+ const setupCreateItemHandler = responseBody => {
93
+ server.use(
94
+ http.post(`${API_BASE}/api/quizzes/:parentId/items`, async ({request, params}) => {
95
+ lastRequestBody = await request.json()
96
+ requests.push({path: `/api/quizzes/${params.parentId}/items`, body: lastRequestBody})
97
+ if (responseBody) {
98
+ return responseBody
99
+ }
100
+ return HttpResponse.json(item.toJS())
101
+ }),
102
+ )
103
+ }
104
+
105
+ const dispatchCreateItem = (store, parentType = 'quiz') => {
106
+ const interactionType = {
107
+ scoringAlgorithmOptions: ['string'],
108
+ userResponseTypeOptions: ['string'],
109
+ scoringAlgorithmDefault: 'string',
110
+ }
111
+ vi.spyOn(item, 'getInteractionType').mockReturnValue(interactionType)
112
+ return store.dispatch(createItem(item, '3', parentType, 1)).catch(() => {})
113
+ }
114
+
115
+ describe('when the api returns a non-validation error', () => {
116
+ beforeEach(() => {
117
+ setupCreateItemHandler(
118
+ HttpResponse.json(
119
+ {
120
+ errors: {
121
+ scoring_data: [
122
+ {
123
+ error_type: 'something',
124
+ },
125
+ ],
126
+ },
127
+ },
128
+ {status: 422},
129
+ ),
130
+ )
131
+ })
132
+
133
+ it('shows an alert', async () => {
134
+ const store = createTestStore()
135
+ await dispatchCreateItem(store)
136
+ // flush fire-and-forget error handling
137
+ await new Promise(r => setTimeout(r, 0))
138
+
139
+ const actions = store.getActions()
140
+ expect(actions).toEqual(
141
+ expect.arrayContaining([
142
+ expect.objectContaining({
143
+ type: ADD_ALERT,
144
+ payload: expect.objectContaining({
145
+ message: expect.stringContaining('Failed to create item'),
146
+ variant: 'error',
147
+ }),
148
+ }),
149
+ ]),
150
+ )
151
+ })
152
+ })
153
+
154
+ describe('when the api returns a validation error', () => {
155
+ beforeEach(() => {
156
+ setupCreateItemHandler(
157
+ HttpResponse.json(
158
+ {
159
+ errors: {
160
+ scoring_data: [
161
+ {
162
+ error_type: 'something else',
163
+ validation_error: true,
164
+ },
165
+ ],
166
+ },
167
+ },
168
+ {status: 422},
169
+ ),
170
+ )
171
+ })
172
+
173
+ describe('when saving normally', () => {
174
+ it('does not show an alert', async () => {
175
+ const store = createTestStore()
176
+ await dispatchCreateItem(store)
177
+ await new Promise(r => setTimeout(r, 0))
178
+
179
+ const actions = store.getActions()
180
+ expect(actions).not.toEqual(
181
+ expect.arrayContaining([
182
+ expect.objectContaining({
183
+ type: ADD_ALERT,
184
+ payload: expect.objectContaining({
185
+ message: expect.stringContaining('Failed to create item'),
186
+ variant: 'error',
187
+ }),
188
+ }),
189
+ ]),
190
+ )
191
+ })
192
+ })
193
+
194
+ describe('when adding to a bank', () => {
195
+ it('shows a delayed alert', async () => {
196
+ const store = createTestStore()
197
+ await dispatchCreateItem(store, PARENT_TYPE_ADDING_TO_BANK)
198
+ // flush fire-and-forget error handling (the onError thunk)
199
+ await new Promise(r => setTimeout(r, 0))
200
+ // The delayed alert uses setTimeout(fn, 800) — wait for it to fire
201
+ await new Promise(r => setTimeout(r, 900))
202
+
203
+ const actions = store.getActions()
204
+ expect(actions).toEqual(
205
+ expect.arrayContaining([
206
+ expect.objectContaining({
207
+ type: ADD_ALERT,
208
+ payload: expect.objectContaining({
209
+ message: expect.stringContaining(
210
+ 'Item could not be added to bank due to invalid input data.',
211
+ ),
212
+ variant: 'error',
213
+ }),
214
+ }),
215
+ ]),
216
+ )
217
+ })
218
+ })
219
+ })
220
+
221
+ it('should mark the create item call as started', async () => {
222
+ setupCreateItemHandler()
223
+ const store = createTestStore()
224
+ dispatchCreateItem(store)
225
+ const actions = store.getActions()
226
+ expect(actions).toEqual(expect.arrayContaining([startCallFor(CREATE_ITEM_CALL)]))
227
+ })
228
+
229
+ it('should hit the right endpoint', async () => {
230
+ setupCreateItemHandler()
231
+ const store = createTestStore()
232
+ await dispatchCreateItem(store)
233
+ expect(requests[0].path).toBe('/api/quizzes/3/items')
234
+ })
235
+
236
+ it('should serialize data properly', async () => {
237
+ setupCreateItemHandler()
238
+ const store = createTestStore()
239
+ await dispatchCreateItem(store)
240
+ expect(requests[0].body).toEqual({
241
+ item: {
242
+ feedback: {},
243
+ interaction_data: 'foo',
244
+ interaction_type_id: 3,
245
+ item_body: 'itemBody',
246
+ outcome_alignment_set_guid: 'ce39d262-b8f6-4650-91c1-5a76b2c18f70',
247
+ parent_item_id: 1,
248
+ properties: {},
249
+ scoring_algorithm: 'string',
250
+ scoring_data: 'answer',
251
+ title: 'the title',
252
+ user_response_type: 'string',
253
+ stimulus_id: '4',
254
+ calculator_type: 'basic',
255
+ answer_feedback: {},
256
+ },
257
+ })
258
+ })
259
+
260
+ it('should mark the create call as a success on return', async () => {
261
+ setupCreateItemHandler()
262
+ const store = createTestStore()
263
+ await dispatchCreateItem(store)
264
+ const actions = store.getActions()
265
+ expect(actions).toEqual(expect.arrayContaining([successCallFor(CREATE_ITEM_CALL)]))
266
+ })
267
+
268
+ it('should try to add the item to the store', async () => {
269
+ setupCreateItemHandler()
270
+ const store = createTestStore()
271
+ await dispatchCreateItem(store)
272
+ // flush secondary dispatches
273
+ await new Promise(r => setTimeout(r, 0))
274
+ const actions = store.getActions()
275
+ // handleItemsResponse normalizes the data, so check for the ADD_ITEMS type
276
+ const addItemActions = actions.filter(a => a && a.type === 'ADD_ITEMS')
277
+ expect(addItemActions.length).toBeGreaterThan(0)
278
+ })
279
+ })
280
+
281
+ describe('updateItem', () => {
282
+ const quizId = '22'
283
+ const itemData = {
284
+ id: '2',
285
+ itemBody: 'new body',
286
+ title: 'a new title',
287
+ scoringData: '22',
288
+ scoringAlgorithm: 'UpdatedAlgo',
289
+ interactionData: {},
290
+ properties: {},
291
+ outcomeAlignmentSetGuid: '0281acd1-431a-4c94-a9cd-ba3429b887e6',
292
+ calculatorType: 'basic',
293
+ answerFeedback: {},
294
+ }
295
+
296
+ const setupUpdateItemHandler = responseBody => {
297
+ server.use(
298
+ http.patch(`${API_BASE}/api/quizzes/:parentId/items/:itemId`, async ({request, params}) => {
299
+ lastRequestBody = await request.json()
300
+ requests.push({
301
+ path: `/api/quizzes/${params.parentId}/items/${params.itemId}`,
302
+ body: lastRequestBody,
303
+ })
304
+ if (responseBody) {
305
+ return responseBody
306
+ }
307
+ return HttpResponse.json(itemData)
308
+ }),
309
+ )
310
+ }
311
+
312
+ const dispatchUpdateItem = store => {
313
+ const updateItem_ = new Item(itemData)
314
+ return store.dispatch(updateItem(updateItem_, quizId)).catch(() => {})
315
+ }
316
+
317
+ it('should hit the right endpoint', async () => {
318
+ setupUpdateItemHandler()
319
+ const store = createTestStore()
320
+ await dispatchUpdateItem(store)
321
+ expect(requests[0].path).toBe(`/api/quizzes/${quizId}/items/2`)
322
+ })
323
+
324
+ it('should mark the update item call as started', async () => {
325
+ setupUpdateItemHandler()
326
+ const store = createTestStore()
327
+ dispatchUpdateItem(store)
328
+ const actions = store.getActions()
329
+ expect(actions).toEqual(expect.arrayContaining([startCallFor(UPDATE_ITEM_CALL)]))
330
+ })
331
+
332
+ it('should serialize data properly', async () => {
333
+ setupUpdateItemHandler()
334
+ const store = createTestStore()
335
+ await dispatchUpdateItem(store)
336
+ expect(requests[0].body).toEqual({
337
+ item: {
338
+ item_body: 'new body',
339
+ title: 'a new title',
340
+ scoring_data: '22',
341
+ scoring_algorithm: 'UpdatedAlgo',
342
+ interaction_data: {},
343
+ properties: {},
344
+ outcome_alignment_set_guid: '0281acd1-431a-4c94-a9cd-ba3429b887e6',
345
+ feedback: {},
346
+ calculator_type: 'basic',
347
+ answer_feedback: {},
348
+ },
349
+ })
350
+ })
351
+
352
+ it('should mark the update call as a success on return', async () => {
353
+ setupUpdateItemHandler()
354
+ const store = createTestStore()
355
+ await dispatchUpdateItem(store)
356
+ const actions = store.getActions()
357
+ expect(actions).toEqual(expect.arrayContaining([successCallFor(UPDATE_ITEM_CALL)]))
358
+ })
359
+
360
+ it('should try to update the item in the store', async () => {
361
+ setupUpdateItemHandler()
362
+ const store = createTestStore()
363
+ await dispatchUpdateItem(store)
364
+ await new Promise(r => setTimeout(r, 0))
365
+ const actions = store.getActions()
366
+ const addItemActions = actions.filter(a => a && a.type === 'ADD_ITEMS')
367
+ expect(addItemActions.length).toBeGreaterThan(0)
368
+ })
369
+
370
+ describe('when a student has already started answering the question', () => {
371
+ beforeEach(() => {
372
+ setupUpdateItemHandler(
373
+ HttpResponse.json({errors: {base: ['cannot update an immutable item']}}, {status: 422}),
374
+ )
375
+ })
376
+
377
+ it('displays an alert', async () => {
378
+ const store = createTestStore()
379
+ await dispatchUpdateItem(store)
380
+ await new Promise(r => setTimeout(r, 0))
381
+
382
+ const actions = store.getActions()
383
+ expect(actions).toEqual(
384
+ expect.arrayContaining([
385
+ expect.objectContaining({
386
+ type: ADD_ALERT,
387
+ payload: expect.objectContaining({
388
+ message: expect.stringContaining('item has now been viewed by a student'),
389
+ variant: 'error',
390
+ }),
391
+ }),
392
+ ]),
393
+ )
394
+ })
395
+ })
396
+
397
+ describe('when the api returns only validation errors', () => {
398
+ beforeEach(() => {
399
+ setupUpdateItemHandler(
400
+ HttpResponse.json(
401
+ {
402
+ errors: {
403
+ scoring_data: [
404
+ {
405
+ error_type: 'regexp',
406
+ input_id: 'aaaa',
407
+ validation_error: true,
408
+ },
409
+ {
410
+ error_type: 'some_other_error_type',
411
+ input_id: 'bbb',
412
+ validation_error: true,
413
+ },
414
+ ],
415
+ },
416
+ },
417
+ {status: 422},
418
+ ),
419
+ )
420
+ })
421
+
422
+ it('does not show an alert', async () => {
423
+ const store = createTestStore()
424
+ await dispatchUpdateItem(store)
425
+ await new Promise(r => setTimeout(r, 0))
426
+
427
+ const actions = store.getActions()
428
+ expect(actions).not.toEqual(
429
+ expect.arrayContaining([
430
+ expect.objectContaining({
431
+ type: ADD_ALERT,
432
+ payload: expect.objectContaining({
433
+ message: expect.stringContaining('Failed to update item'),
434
+ variant: 'error',
435
+ }),
436
+ }),
437
+ ]),
438
+ )
439
+ })
440
+ })
441
+
442
+ describe('when the api returns validation errors and other errors', () => {
443
+ beforeEach(() => {
444
+ setupUpdateItemHandler(
445
+ HttpResponse.json(
446
+ {
447
+ errors: {
448
+ scoring_data: [
449
+ {
450
+ error_type: 'regexp',
451
+ input_id: 'aaaa',
452
+ validation_error: true,
453
+ },
454
+ {
455
+ error_type: 'foo',
456
+ some_other_property: 'some_value',
457
+ },
458
+ ],
459
+ solar_flare: ['A solar flare flipped some bits, please try again'],
460
+ },
461
+ },
462
+ {status: 422},
463
+ ),
464
+ )
465
+ })
466
+
467
+ it('shows an alert', async () => {
468
+ const store = createTestStore()
469
+ await dispatchUpdateItem(store)
470
+ await new Promise(r => setTimeout(r, 0))
471
+
472
+ const actions = store.getActions()
473
+ expect(actions).toEqual(
474
+ expect.arrayContaining([
475
+ expect.objectContaining({
476
+ type: ADD_ALERT,
477
+ payload: expect.objectContaining({
478
+ message: expect.stringContaining('Failed to update item'),
479
+ variant: 'error',
480
+ }),
481
+ }),
482
+ ]),
483
+ )
484
+ })
485
+ })
486
+ })
487
+ })