@instructure/quiz-core 20.36.2 → 20.38.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 (161) hide show
  1. package/es/banks/components/AddToBankModal/presenter.js +1 -2
  2. package/es/banks/components/AsyncSearch/index.js +1 -2
  3. package/es/banks/components/BankEntry/presenter.js +1 -2
  4. package/es/banks/components/BankSearch/presenter.js +1 -3
  5. package/es/banks/components/Banks/index.js +0 -1
  6. package/es/banks/components/Banks/presenter.js +5 -9
  7. package/es/banks/components/CopyMoveBankEntryModal/presenter.js +1 -2
  8. package/es/banks/components/CreateBankModal/presenter.js +1 -2
  9. package/es/banks/components/EditBankModal/presenter.js +1 -2
  10. package/es/banks/components/NavWrapper/externalStyles.js +5 -0
  11. package/es/banks/components/NavWrapper/styles.js +4 -3
  12. package/es/banks/components/SharingModal/RootAccountSharing.js +1 -2
  13. package/es/banks/components/SharingModal/ShareList/index.js +1 -2
  14. package/es/banks/components/SharingModal/index.js +0 -2
  15. package/es/banks/components/SharingModal/presenter.js +18 -78
  16. package/es/building/api/stimuli.js +2 -1
  17. package/es/building/components/resources/DeleteStimulusModal/presenter.js +14 -7
  18. package/es/building/components/resources/quizEntry/QuizEntry/presenter.js +11 -4
  19. package/es/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +1 -2
  20. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +40 -23
  21. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/styles.js +1 -29
  22. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +1 -5
  23. package/es/common/actions/modifications.js +3 -2
  24. package/es/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +11 -0
  25. package/es/common/components/AccessCodeTextInput/index.js +47 -0
  26. package/es/common/components/ImportModal/presenter.js +1 -2
  27. package/es/common/components/MaskedTextInput/MaskedTextInput.stories.js +19 -0
  28. package/es/common/components/MaskedTextInput/index.js +64 -0
  29. package/es/common/components/layout/Page/styles.js +7 -4
  30. package/es/common/components/layout/Page/theme.js +1 -2
  31. package/es/common/components/layout/header/Calculator/presenter.js +2 -2
  32. package/es/common/components/layout/navbar/externalStyles.js +7 -0
  33. package/es/common/components/layout/navbar/styles.js +4 -5
  34. package/es/common/components/layout/sidebar/Sidebar/externalStyles.js +10 -0
  35. package/es/common/components/layout/sidebar/Sidebar/index.js +26 -4
  36. package/es/common/components/layout/sidebar/Sidebar/styles.js +4 -6
  37. package/es/common/components/layout/sidebar/SidebarItem/presenter.js +13 -7
  38. package/es/common/components/layout/sidebar/Stimulus/presenter.js +14 -7
  39. package/es/common/components/resources/item/ItemEdit/presenter.js +2 -4
  40. package/es/common/components/resources/quiz/AddContent/Body/presenter.js +2 -2
  41. package/es/common/components/resources/quiz/instructions/styles.js +8 -6
  42. package/es/common/components/resources/quiz/instructions/theme.js +1 -2
  43. package/es/common/components/resources/stimulus/Stimulus/presenter.js +3 -2
  44. package/es/common/components/resources/stimulus/StimulusEdit/presenter.js +14 -4
  45. package/es/common/components/resources/stimulus/StimulusEdit/styles.js +1 -5
  46. package/es/common/components/resources/stimulus/StimulusEdit/theme.js +0 -2
  47. package/es/common/components/resources/stimulus/StimulusEditInfo/presenter.js +51 -37
  48. package/es/common/components/resources/stimulus/StimulusShow/index.js +10 -4
  49. package/es/common/components/resources/stimulus/StimulusShow/styles.js +0 -7
  50. package/es/common/components/resources/stimulus/StimulusShow/theme.js +0 -3
  51. package/es/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +1 -2
  52. package/es/common/components/shared/InteractionTypes/index.js +4 -1
  53. package/es/common/components/shared/InteractionTypes/presenter.js +38 -15
  54. package/es/common/components/shared/TagSelect/presenter.js +1 -2
  55. package/es/common/components/shared/TimeUnitsInput/index.js +11 -9
  56. package/es/common/components/shared/drag_and_drop/dragAndDropUtils.js +3 -0
  57. package/es/common/records/QuizEntry.js +5 -0
  58. package/es/common/records/Stimulus.js +2 -1
  59. package/es/common/reducers/modifications.js +6 -3
  60. package/es/common/util/warningHelpers.js +15 -5
  61. package/es/index.js +3 -1
  62. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -2
  63. package/es/moderating/components/resources/AccommodationsModal/index.js +5 -13
  64. package/es/moderating/components/resources/ModerateTable/presenter.js +5 -4
  65. package/es/moderating/components/sidebar/ModerateTray/presenter.js +21 -31
  66. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +1 -2
  67. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +1 -1
  68. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +1 -2
  69. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/presenter.js +1 -2
  70. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +1 -2
  71. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +1 -2
  72. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/presenter.js +1 -2
  73. package/es/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +1 -2
  74. package/es/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +1 -2
  75. package/es/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +1 -2
  76. package/es/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +1 -2
  77. package/es/reporting/components/resources/ReportCard/index.js +1 -2
  78. package/es/reporting/components/resources/StudentAnalysis/ReportCard/presenter.js +1 -2
  79. package/es/reporting/components/resources/common/AnalysisUpdateDate/index.js +1 -1
  80. package/es/taking/api/taking.js +4 -0
  81. package/lib/banks/components/AddToBankModal/presenter.js +1 -2
  82. package/lib/banks/components/AsyncSearch/index.js +8 -9
  83. package/lib/banks/components/BankEntry/presenter.js +1 -2
  84. package/lib/banks/components/BankSearch/presenter.js +4 -6
  85. package/lib/banks/components/Banks/index.js +0 -1
  86. package/lib/banks/components/Banks/presenter.js +9 -13
  87. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +1 -2
  88. package/lib/banks/components/CreateBankModal/presenter.js +1 -2
  89. package/lib/banks/components/EditBankModal/presenter.js +1 -2
  90. package/lib/banks/components/NavWrapper/externalStyles.js +12 -0
  91. package/lib/banks/components/NavWrapper/styles.js +5 -3
  92. package/lib/banks/components/SharingModal/RootAccountSharing.js +3 -4
  93. package/lib/banks/components/SharingModal/ShareList/index.js +3 -4
  94. package/lib/banks/components/SharingModal/index.js +0 -2
  95. package/lib/banks/components/SharingModal/presenter.js +20 -80
  96. package/lib/building/api/stimuli.js +2 -1
  97. package/lib/building/components/resources/DeleteStimulusModal/presenter.js +14 -7
  98. package/lib/building/components/resources/quizEntry/QuizEntry/presenter.js +11 -4
  99. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Footer/presenter.js +3 -4
  100. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +39 -22
  101. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/styles.js +1 -29
  102. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +1 -5
  103. package/lib/common/actions/modifications.js +3 -2
  104. package/lib/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +20 -0
  105. package/lib/common/components/AccessCodeTextInput/index.js +57 -0
  106. package/lib/common/components/ImportModal/presenter.js +1 -2
  107. package/lib/common/components/MaskedTextInput/MaskedTextInput.stories.js +29 -0
  108. package/lib/common/components/MaskedTextInput/index.js +74 -0
  109. package/lib/common/components/layout/Page/styles.js +7 -4
  110. package/lib/common/components/layout/Page/theme.js +1 -2
  111. package/lib/common/components/layout/header/Calculator/presenter.js +2 -2
  112. package/lib/common/components/layout/navbar/externalStyles.js +14 -0
  113. package/lib/common/components/layout/navbar/styles.js +5 -5
  114. package/lib/common/components/layout/sidebar/Sidebar/externalStyles.js +17 -0
  115. package/lib/common/components/layout/sidebar/Sidebar/index.js +25 -3
  116. package/lib/common/components/layout/sidebar/Sidebar/styles.js +4 -6
  117. package/lib/common/components/layout/sidebar/SidebarItem/presenter.js +15 -9
  118. package/lib/common/components/layout/sidebar/Stimulus/presenter.js +16 -9
  119. package/lib/common/components/resources/item/ItemEdit/presenter.js +2 -4
  120. package/lib/common/components/resources/quiz/AddContent/Body/presenter.js +2 -2
  121. package/lib/common/components/resources/quiz/instructions/styles.js +8 -6
  122. package/lib/common/components/resources/quiz/instructions/theme.js +1 -2
  123. package/lib/common/components/resources/stimulus/Stimulus/presenter.js +3 -2
  124. package/lib/common/components/resources/stimulus/StimulusEdit/presenter.js +14 -4
  125. package/lib/common/components/resources/stimulus/StimulusEdit/styles.js +1 -5
  126. package/lib/common/components/resources/stimulus/StimulusEdit/theme.js +0 -2
  127. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +56 -42
  128. package/lib/common/components/resources/stimulus/StimulusShow/index.js +9 -3
  129. package/lib/common/components/resources/stimulus/StimulusShow/styles.js +0 -7
  130. package/lib/common/components/resources/stimulus/StimulusShow/theme.js +0 -3
  131. package/lib/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +3 -4
  132. package/lib/common/components/shared/InteractionTypes/index.js +4 -1
  133. package/lib/common/components/shared/InteractionTypes/presenter.js +38 -15
  134. package/lib/common/components/shared/TagSelect/presenter.js +4 -5
  135. package/lib/common/components/shared/TimeUnitsInput/index.js +12 -10
  136. package/lib/common/components/shared/drag_and_drop/dragAndDropUtils.js +3 -0
  137. package/lib/common/records/QuizEntry.js +5 -0
  138. package/lib/common/records/Stimulus.js +2 -1
  139. package/lib/common/reducers/modifications.js +6 -3
  140. package/lib/common/util/warningHelpers.js +15 -5
  141. package/lib/index.js +22 -6
  142. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +7 -7
  143. package/lib/moderating/components/resources/AccommodationsModal/index.js +5 -13
  144. package/lib/moderating/components/resources/ModerateTable/presenter.js +7 -6
  145. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +21 -31
  146. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/MatchingType/MatchingTypeTable/presenter.js +6 -7
  147. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/ChoiceTypeWithInfo/presenter.js +9 -9
  148. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/NumericType/presenter.js +2 -3
  149. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/RichFillBlankType/ChoiceGroupTypeTable/presenter.js +5 -6
  150. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AfsTableWrapper/presenter.js +4 -5
  151. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/AggregationTable/presenter.js +3 -4
  152. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ChoiceTypeTable/presenter.js +3 -4
  153. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/AnswerFrequencySummary/shared/ExpandableCard/presenter.js +8 -9
  154. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/NewItemAnalysis/presenter.js +20 -21
  155. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/ReportCard/presenter.js +9 -10
  156. package/lib/reporting/components/resources/NewQuizAndItemAnalysis/presenter.js +20 -21
  157. package/lib/reporting/components/resources/ReportCard/index.js +1 -2
  158. package/lib/reporting/components/resources/StudentAnalysis/ReportCard/presenter.js +9 -10
  159. package/lib/reporting/components/resources/common/AnalysisUpdateDate/index.js +2 -2
  160. package/lib/taking/api/taking.js +4 -0
  161. package/package.json +9 -12
@@ -121,6 +121,12 @@ var DeleteStimulusModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
121
121
  cancelText: (0, _formatMessage.default)('Cancel')
122
122
  };
123
123
  }
124
+ }, {
125
+ key: "isPassage",
126
+ value: function isPassage() {
127
+ var _this$props$stimulusE;
128
+ return (_this$props$stimulusE = this.props.stimulusEntry) === null || _this$props$stimulusE === void 0 ? void 0 : _this$props$stimulusE.getEntry().passage;
129
+ }
124
130
  }, {
125
131
  key: "anyImmutableKeepers",
126
132
  value: function anyImmutableKeepers() {
@@ -149,8 +155,8 @@ var DeleteStimulusModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
149
155
  return (0, _emotion.jsx)(_uiButtons.Button, {
150
156
  onClick: this.closeAction,
151
157
  margin: _quizCommon.XSMALL_SIDE_MARGIN,
152
- "data-automation": "sdk-keep-stimulus-button"
153
- }, (0, _formatMessage.default)('Keep Stimulus'));
158
+ "data-automation": "sdk-keep-".concat(this.isPassage() ? 'passage' : 'stimulus', "-button")
159
+ }, this.isPassage() ? (0, _formatMessage.default)('Keep Passage') : (0, _formatMessage.default)('Keep Stimulus'));
154
160
  }
155
161
  }, {
156
162
  key: "doneButton",
@@ -164,8 +170,8 @@ var DeleteStimulusModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
164
170
  color: "primary",
165
171
  onClick: this.handleSubmit,
166
172
  margin: _quizCommon.XSMALL_SIDE_MARGIN,
167
- "data-automation": "sdk-remove-stimulus-button"
168
- }, (0, _formatMessage.default)('Remove Stimulus'));
173
+ "data-automation": "sdk-remove-".concat(this.isPassage() ? 'passage' : 'stimulus', "-button")
174
+ }, this.isPassage() ? (0, _formatMessage.default)('Remove Passage') : (0, _formatMessage.default)('Remove Stimulus'));
169
175
  }
170
176
  }, {
171
177
  key: "renderChooseWhich",
@@ -206,7 +212,8 @@ var DeleteStimulusModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
206
212
  }, {
207
213
  key: "renderContent",
208
214
  value: function renderContent() {
209
- var content = this.props.childEntries.size === 0 ? (0, _emotion.jsx)("span", null, (0, _formatMessage.default)('Are you sure you want to remove this stimulus?')) : this.renderMainMenu();
215
+ var message = this.isPassage() ? (0, _formatMessage.default)('Are you sure you want to remove this passage?') : (0, _formatMessage.default)('Are you sure you want to remove this stimulus?');
216
+ var content = this.props.childEntries.size === 0 ? (0, _emotion.jsx)("span", null, message) : this.renderMainMenu();
210
217
  var stimulusTitle = this.props.stimulusEntry && this.props.stimulusEntry.getEntry().title;
211
218
  return (0, _emotion.jsx)("div", {
212
219
  className: "deleteStimulusModal",
@@ -222,11 +229,11 @@ var DeleteStimulusModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
222
229
  open: this.props.modalOpen,
223
230
  onDismiss: this.closeAction,
224
231
  size: "small",
225
- label: (0, _formatMessage.default)('Confirm Stimulus Removal')
232
+ label: this.isPassage() ? (0, _formatMessage.default)('Confirm Passage Removal') : (0, _formatMessage.default)('Confirm Stimulus Removal')
226
233
  }, (0, _emotion.jsx)(_quizCommon.ModalHeader, null, (0, _emotion.jsx)(_uiHeading.Heading, {
227
234
  level: "reset",
228
235
  as: "h2"
229
- }, (0, _formatMessage.default)('Confirm Stimulus Removal')), (0, _emotion.jsx)(_uiButtons.CloseButton, {
236
+ }, this.isPassage() ? (0, _formatMessage.default)('Confirm Passage Removal') : (0, _formatMessage.default)('Confirm Stimulus Removal')), (0, _emotion.jsx)(_uiButtons.CloseButton, {
230
237
  onClick: this.closeAction,
231
238
  placement: "end",
232
239
  offset: "medium",
@@ -45,10 +45,10 @@ var QuizEntry = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _th
45
45
  function QuizEntry() {
46
46
  var _this;
47
47
  (0, _classCallCheck2.default)(this, QuizEntry);
48
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
49
- args[_key] = arguments[_key];
48
+ for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
49
+ _args[_key] = arguments[_key];
50
50
  }
51
- _this = _super.call.apply(_super, [this].concat(args));
51
+ _this = _super.call.apply(_super, [this].concat(_args));
52
52
  _this.itemOverrideTypes = function () {
53
53
  return ['choice'].concat((0, _toConsumableArray2.default)(_this.props.partialScoringEnabled ? ['multi-answer'] : []), (0, _toConsumableArray2.default)(_this.props.partialDeepScoringEnabled ? ['matching'] : []));
54
54
  };
@@ -103,7 +103,14 @@ var QuizEntry = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _th
103
103
  };
104
104
  _this.bankEntryWarningWrapperProps = function () {
105
105
  if (_this.props.quizEntry.entryEditable) {
106
- var propsFunc = _this.props.quizEntry.hasStimulus ? _warningHelpers.propsForStimulusBankEntryEditPrompt : _warningHelpers.propsForItemBankEntryEditPrompt;
106
+ var _this$props$entry;
107
+ var isPassage = (_this$props$entry = _this.props.entry) === null || _this$props$entry === void 0 ? void 0 : _this$props$entry.passage;
108
+ var propsFunc = _this.props.quizEntry.hasStimulus ? function () {
109
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
110
+ args[_key2] = arguments[_key2];
111
+ }
112
+ return _warningHelpers.propsForStimulusBankEntryEditPrompt.apply(void 0, [isPassage].concat(args));
113
+ } : _warningHelpers.propsForItemBankEntryEditPrompt;
107
114
  return propsFunc(_this.isEditing(), _this.props.switchOffEditing, function () {
108
115
  var bankEntry = _this.props.quizEntry.getEntry();
109
116
  _this.props.setUi(_quizCommon.BUILD_TRAY_OPEN, true);
@@ -14,7 +14,6 @@ var _react = require("react");
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
16
16
  var _uiView = require("@instructure/ui-view");
17
- var _uiFlex = require("@instructure/ui-flex");
18
17
  var _uiA11yContent = require("@instructure/ui-a11y-content");
19
18
  var _uiText = require("@instructure/ui-text");
20
19
  var _quizNumberInput = _interopRequireDefault(require("@instructure/quiz-number-input"));
@@ -205,13 +204,13 @@ var QuizEntryEditFooter = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.de
205
204
  as: "div",
206
205
  background: "secondary",
207
206
  padding: "xx-small none"
208
- }, (0, _emotion.jsx)(_uiFlex.Flex, {
207
+ }, (0, _emotion.jsx)(_quizCommon.Flex, {
209
208
  wrap: "wrap",
210
209
  justifyItems: "space-between",
211
210
  alignItems: "center"
212
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, {
211
+ }, (0, _emotion.jsx)(_quizCommon.Flex.Item, {
213
212
  padding: "xx-small small"
214
- }, this.renderLeftFooter()), (0, _emotion.jsx)(_uiFlex.Flex.Item, {
213
+ }, this.renderLeftFooter()), (0, _emotion.jsx)(_quizCommon.Flex.Item, {
215
214
  padding: "xx-small small"
216
215
  }, this.renderRightFooter())));
217
216
  }
@@ -15,9 +15,9 @@ var _react = require("react");
15
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
16
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
17
17
  var _partial = _interopRequireDefault(require("lodash/partial"));
18
+ var _uiText = require("@instructure/ui-text");
18
19
  var _uiA11yContent = require("@instructure/ui-a11y-content");
19
20
  var _uiButtons = require("@instructure/ui-buttons");
20
- var _uiTextInput = require("@instructure/ui-text-input");
21
21
  var _emotion = require("@instructure/emotion");
22
22
  var _quizInteractions = require("@instructure/quiz-interactions");
23
23
  var _uiIcons = require("@instructure/ui-icons");
@@ -29,6 +29,7 @@ var _index = _interopRequireDefault(require("../../../ActionButtons/index.js"));
29
29
  var _quizCommon = require("@instructure/quiz-common");
30
30
  var _styles = _interopRequireDefault(require("./styles.js"));
31
31
  var _theme = _interopRequireDefault(require("./theme.js"));
32
+ var _uiView = require("@instructure/ui-view");
32
33
  var _dec, _class, _QuizEntryHeader;
33
34
  /** @jsx jsx */
34
35
  var _ref2 = (0, _emotion.jsx)(_uiIcons.IconBankLine, null);
@@ -189,16 +190,19 @@ var QuizEntryHeader = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
189
190
  }, {
190
191
  key: "renderName",
191
192
  value: function renderName() {
192
- if (this.props.quizEntry.isBank && this.props.newActiveBank) {
193
- return (0, _emotion.jsx)(_uiButtons.CondensedButton, {
193
+ var isBank = this.props.quizEntry.isBank && this.props.newActiveBank;
194
+ var dataAutomation = 'sdk-quiz-entry-interaction-type';
195
+ if (!isBank) {
196
+ return (0, _emotion.jsx)(_uiText.Text, {
194
197
  size: "small",
195
- margin: "0 0 0 x-small",
196
- onClick: this.handleBankClick,
197
- "data-automation": "sdk-quiz-entry-interaction-type"
198
+ weight: "normal",
199
+ "data-automation": dataAutomation
198
200
  }, this.props.name);
199
201
  }
200
- return (0, _emotion.jsx)("div", {
201
- css: this.props.styles.interactionType,
202
+ return (0, _emotion.jsx)(_uiButtons.CondensedButton, {
203
+ size: "small",
204
+ margin: "0 0 0 x-small",
205
+ onClick: this.handleBankClick,
202
206
  "data-automation": "sdk-quiz-entry-interaction-type"
203
207
  }, this.props.name);
204
208
  }
@@ -218,20 +222,22 @@ var QuizEntryHeader = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
218
222
  questionNumber: displayPosition,
219
223
  interactionType: entry.getInteractionType().name
220
224
  });
221
- return (0, _emotion.jsx)("div", {
222
- css: this.props.styles.titleHolder
223
- }, (0, _emotion.jsx)("span", {
224
- css: this.props.styles.titleInput
225
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
225
+ return (0, _emotion.jsx)(_quizCommon.TextInput, {
226
226
  ref: this.storeTitleRef,
227
- renderLabel: (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, titleLabelText),
227
+ renderLabel: (0, _emotion.jsx)(_quizCommon.Flex, {
228
+ direction: "column",
229
+ gap: "small"
230
+ }, (0, _emotion.jsx)(_quizCommon.Flex.Item, {
231
+ "aria-hidden": true
232
+ }, this.renderName()), (0, _emotion.jsx)(_quizCommon.Flex.Item, {
233
+ "aria-hidden": true
234
+ }, (0, _formatMessage.default)('Question Title')), (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, titleLabelText)),
228
235
  type: "text",
229
- placeholder: (0, _formatMessage.default)('Question Title'),
230
236
  onChange: this.handleTitleChange,
231
237
  value: workingEntry.title || '',
232
238
  interaction: disabled ? 'disabled' : 'enabled',
233
239
  "data-automation": "sdk-question-title-textinput"
234
- })));
240
+ });
235
241
  }
236
242
  }, {
237
243
  key: "renderLeftHeader",
@@ -240,14 +246,16 @@ var QuizEntryHeader = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
240
246
  position: this.props.displayPosition
241
247
  });
242
248
  var position = this.props.disabledForRegrade ? this.props.displayPosition : this.props.quizEntry.positionToDisplay(this.props.displayPosition);
243
- return (0, _emotion.jsx)("div", {
249
+ return (0, _emotion.jsx)(_quizCommon.Flex, {
244
250
  className: "leftHeader",
245
- css: this.props.styles.leftHeader
251
+ direction: "row",
252
+ justifyItems: "center",
253
+ "data-automation": "sdk-quiz-entry-left-header"
246
254
  }, (0, _emotion.jsx)(_PositionBox.default, {
247
255
  position: position,
248
256
  headingText: positionText,
249
257
  "data-automation": "sdk-quiz-entry-positionbox"
250
- }), this.renderBankedContent(), this.renderName(), (0, _emotion.jsx)("div", {
258
+ }), this.renderBankedContent(), (0, _emotion.jsx)("div", {
251
259
  css: this.props.styles.dividingLine
252
260
  }), this.renderTitleHolder());
253
261
  }
@@ -267,12 +275,21 @@ var QuizEntryHeader = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
267
275
  shouldDisableDeleteButton: this.props.disabledForRegrade,
268
276
  shouldRenderEdit: false
269
277
  };
270
- return (0, _emotion.jsx)("div", {
278
+ return (0, _emotion.jsx)(_uiView.View, {
279
+ as: "div",
271
280
  className: "header",
272
- css: this.props.styles.header
281
+ background: "secondary",
282
+ padding: "small"
273
283
  }, (0, _emotion.jsx)(_emotion.Global, {
274
284
  styles: this.props.styles.globalStyles
275
- }), this.renderLeftHeader(), (0, _emotion.jsx)(_index.default, actionButtonProps));
285
+ }), (0, _emotion.jsx)(_quizCommon.Flex, {
286
+ className: "header",
287
+ direction: "row",
288
+ gap: "small"
289
+ }, (0, _emotion.jsx)(_quizCommon.Flex.Item, {
290
+ shouldShrink: false,
291
+ shouldGrow: true
292
+ }, this.renderLeftHeader()), (0, _emotion.jsx)(_quizCommon.Flex.Item, null, (0, _emotion.jsx)(_index.default, actionButtonProps))));
276
293
  }
277
294
  }]);
278
295
  QuizEntryHeader.displayName = "QuizEntryHeader";
@@ -14,39 +14,11 @@ var generateStyle = function generateStyle(componentTheme) {
14
14
  },
15
15
  header: {
16
16
  backgroundColor: componentTheme.headerBackgroundColor,
17
- color: componentTheme.headerColor,
18
- padding: componentTheme.headerPadding,
19
- display: 'flex',
20
- justifyContent: 'space-between',
21
- verticalAlign: 'middle',
22
- alignItems: 'center'
23
- },
24
- leftHeader: {
25
- flex: '8 0 0',
26
- display: 'inline-flex',
27
- flexWrap: 'nowrap',
28
- alignItems: 'center',
29
- /* fix for ie11 */
30
- width: '100%'
31
- },
32
- interactionType: {
33
- fontSize: componentTheme.interactionTypeFontSize,
34
- marginLeft: componentTheme.interactionTypeLeftMargin,
35
- marginRight: componentTheme.interactionTypeRightMargin
17
+ color: componentTheme.headerColor
36
18
  },
37
19
  dividingLine: {
38
20
  width: '0',
39
21
  borderLeft: componentTheme.dividingLineLeftBorder
40
- },
41
- titleHolder: {
42
- display: 'flex',
43
- flex: '1 1 auto'
44
- },
45
- titleInput: {
46
- flex: '1 1 auto',
47
- fontSize: componentTheme.titleInputFontSize,
48
- whiteSpace: 'nowrap',
49
- textOverflow: 'ellipsis'
50
22
  }
51
23
  };
52
24
  };
@@ -11,11 +11,7 @@ var generateComponentTheme = function generateComponentTheme(_ref) {
11
11
  return {
12
12
  headerBackgroundColor: colors.porcelain,
13
13
  headerColor: colors.oxford,
14
- headerPadding: "".concat(spacing.xSmall, " ").concat(spacing.small),
15
- interactionTypeFontSize: typography.fontSizeSmall,
16
- interactionTypeLeftMargin: spacing.xSmall,
17
- interactionTypeRightMargin: spacing.xSmall,
18
- titleInputFontSize: typography.fontSizeMedium
14
+ headerPadding: "".concat(spacing.xSmall, " ").concat(spacing.small)
19
15
  };
20
16
  };
21
17
  var _default = generateComponentTheme;
@@ -520,13 +520,14 @@ function clearTemporaryBankItem(bankId) {
520
520
  // =====================
521
521
  // =====================
522
522
 
523
- function createStimulus(quizId, position) {
523
+ function createStimulus(quizId, position, isPassage) {
524
524
  return function (dispatch, getState) {
525
525
  dispatch({
526
526
  type: _quizCommon.CREATE_TEMPORARY_STIMULUS,
527
527
  payload: {
528
528
  quizId: quizId,
529
- position: position
529
+ position: position,
530
+ isPassage: isPassage
530
531
  }
531
532
  });
532
533
  };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.whenRendered = exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _index = require("./index.js");
10
+ var _default = {
11
+ title: _index.AccessCodeTextInput.name
12
+ };
13
+ exports.default = _default;
14
+ var _ref = /*#__PURE__*/_react.default.createElement(_index.AccessCodeTextInput, {
15
+ value: "Is it secret? Is it safe?"
16
+ });
17
+ var whenRendered = function whenRendered() {
18
+ return _ref;
19
+ };
20
+ exports.whenRendered = whenRendered;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AccessCodeTextInput = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _index = _interopRequireDefault(require("../MaskedTextInput/index.js"));
15
+ var _uiA11yContent = require("@instructure/ui-a11y-content");
16
+ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
17
+ var AccessCodeTextInput = /*#__PURE__*/function (_Component) {
18
+ (0, _inherits2.default)(AccessCodeTextInput, _Component);
19
+ var _super = (0, _createSuper2.default)(AccessCodeTextInput);
20
+ function AccessCodeTextInput() {
21
+ var _this;
22
+ (0, _classCallCheck2.default)(this, AccessCodeTextInput);
23
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
24
+ args[_key] = arguments[_key];
25
+ }
26
+ _this = _super.call.apply(_super, [this].concat(args));
27
+ _this.state = {
28
+ masked: true
29
+ };
30
+ _this.handleMaskedChange = function () {
31
+ _this.setState(function (state) {
32
+ return {
33
+ masked: !state.masked
34
+ };
35
+ });
36
+ };
37
+ return _this;
38
+ }
39
+ (0, _createClass2.default)(AccessCodeTextInput, [{
40
+ key: "render",
41
+ value: function render() {
42
+ return /*#__PURE__*/_react.default.createElement(_index.default, Object.assign({
43
+ renderLabel: /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Access Code')),
44
+ display: "inline-block",
45
+ type: "text",
46
+ onMaskedChange: this.handleMaskedChange,
47
+ masked: this.state.masked,
48
+ checkboxLabel: (0, _formatMessage.default)('Show access code')
49
+ }, this.props));
50
+ }
51
+ }]);
52
+ AccessCodeTextInput.displayName = "AccessCodeTextInput";
53
+ return AccessCodeTextInput;
54
+ }(_react.Component);
55
+ exports.AccessCodeTextInput = AccessCodeTextInput;
56
+ var _default = AccessCodeTextInput;
57
+ exports.default = _default;
@@ -19,7 +19,6 @@ var _uiProgress = require("@instructure/ui-progress");
19
19
  var _uiHeading = require("@instructure/ui-heading");
20
20
  var _uiTabs = require("@instructure/ui-tabs");
21
21
  var _uiToggleDetails = require("@instructure/ui-toggle-details");
22
- var _uiTextInput = require("@instructure/ui-text-input");
23
22
  var _emotion = require("@instructure/emotion");
24
23
  var _quizCommon = require("@instructure/quiz-common");
25
24
  var _styles = _interopRequireDefault(require("./styles.js"));
@@ -200,7 +199,7 @@ var ImportModal = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _
200
199
  "data-automation": "sdk-import-file-selector"
201
200
  }), fileType === 'image/*' && (0, _emotion.jsx)("div", {
202
201
  css: this.props.styles.altTextWrapper
203
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
202
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
204
203
  ref: this.setRef('altTextInput'),
205
204
  onChange: this.onAltTextChange,
206
205
  value: this.props.altText,
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.whenUnmasked = exports.whenMasked = exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _index = require("./index.js");
10
+ var props = {
11
+ renderLabel: 'Example of a masked text input',
12
+ checkboxLabel: 'Select to show the current value',
13
+ value: 'Is it secret? Is it safe?',
14
+ onMaskedChange: Function.prototype
15
+ };
16
+ var _default = {
17
+ title: _index.MaskedTextInput.name
18
+ };
19
+ exports.default = _default;
20
+ var whenMasked = function whenMasked() {
21
+ return /*#__PURE__*/_react.default.createElement(_index.MaskedTextInput, props);
22
+ };
23
+ exports.whenMasked = whenMasked;
24
+ var whenUnmasked = function whenUnmasked() {
25
+ return /*#__PURE__*/_react.default.createElement(_index.MaskedTextInput, Object.assign({}, props, {
26
+ masked: false
27
+ }));
28
+ };
29
+ exports.whenUnmasked = whenUnmasked;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.MaskedTextInput = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _uiView = require("@instructure/ui-view");
17
+ var _uiCheckbox = require("@instructure/ui-checkbox");
18
+ var _uiReactUtils = require("@instructure/ui-react-utils");
19
+ var _quizCommon = require("@instructure/quiz-common");
20
+ var maskedTextInputPropTypes = {
21
+ /**
22
+ * The label to be used for the checkbox that controls whether the input is masked
23
+ */
24
+ checkboxLabel: _propTypes.default.string.isRequired,
25
+ /**
26
+ * Whether or not the input text is masked
27
+ */
28
+ masked: _propTypes.default.bool,
29
+ /**
30
+ * The function to call when the user clicks the checkbox to either mask or unmask the input
31
+ */
32
+ onMaskedChange: _propTypes.default.func
33
+ };
34
+ var MaskedTextInput = /*#__PURE__*/function (_Component) {
35
+ (0, _inherits2.default)(MaskedTextInput, _Component);
36
+ var _super = (0, _createSuper2.default)(MaskedTextInput);
37
+ function MaskedTextInput() {
38
+ (0, _classCallCheck2.default)(this, MaskedTextInput);
39
+ return _super.apply(this, arguments);
40
+ }
41
+ (0, _createClass2.default)(MaskedTextInput, [{
42
+ key: "render",
43
+ value: function render() {
44
+ var _this$props = this.props,
45
+ checkboxLabel = _this$props.checkboxLabel,
46
+ masked = _this$props.masked,
47
+ onMaskedChange = _this$props.onMaskedChange,
48
+ type = _this$props.type;
49
+ var textInputProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _uiReactUtils.omitProps)(this.props, maskedTextInputPropTypes)), {}, {
50
+ type: masked ? 'password' : type
51
+ });
52
+ return /*#__PURE__*/_react.default.createElement(_uiView.View, {
53
+ as: "div"
54
+ }, /*#__PURE__*/_react.default.createElement(_quizCommon.TextInput, textInputProps), /*#__PURE__*/_react.default.createElement(_uiView.View, {
55
+ as: "div",
56
+ margin: "small 0"
57
+ }, /*#__PURE__*/_react.default.createElement(_uiCheckbox.Checkbox, {
58
+ label: checkboxLabel,
59
+ checked: !masked,
60
+ onChange: onMaskedChange
61
+ })));
62
+ }
63
+ }]);
64
+ MaskedTextInput.displayName = "MaskedTextInput";
65
+ return MaskedTextInput;
66
+ }(_react.Component);
67
+ exports.MaskedTextInput = MaskedTextInput;
68
+ MaskedTextInput.propTypes = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, maskedTextInputPropTypes), _quizCommon.TextInput.propTypes);
69
+ MaskedTextInput.defaultProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _quizCommon.TextInput.defaultProps), {}, {
70
+ masked: true,
71
+ onMaskedChange: Function.prototype
72
+ });
73
+ var _default = MaskedTextInput;
74
+ exports.default = _default;
@@ -26,12 +26,15 @@ var generateStyle = function generateStyle(componentTheme, props) {
26
26
  transition: componentTheme.contentTransition,
27
27
  width: '100%',
28
28
  '.user_content p': {
29
- margin: componentTheme.userContentMargin,
29
+ margin: "".concat(componentTheme.userContentMargin, " 0"),
30
30
  '&:first-of-type': {
31
- marginTop: componentTheme.userContentZeroMargin
31
+ margin: "0 0 ".concat(componentTheme.userContentMargin)
32
32
  },
33
- '&:last-child': {
34
- marginBottom: componentTheme.userContentZeroMargin
33
+ '&:last-of-type': {
34
+ margin: "".concat(componentTheme.userContentMargin, " 0 0")
35
+ },
36
+ '&:only-child': {
37
+ margin: 0
35
38
  }
36
39
  }
37
40
  })
@@ -12,8 +12,7 @@ var generateComponentTheme = function generateComponentTheme(_ref) {
12
12
  return {
13
13
  fontFamily: typography.fontFamily,
14
14
  contentTransition: "transform ".concat(transitions.duration),
15
- userContentMargin: spacing.mediumSmall,
16
- userContentZeroMargin: 0
15
+ userContentMargin: spacing.mediumSmall
17
16
  };
18
17
  };
19
18
  var _default = generateComponentTheme;
@@ -30,8 +30,8 @@ var CalculatorButton = function CalculatorButton(_ref) {
30
30
  variant: "icon",
31
31
  renderIcon: _ref2,
32
32
  disabled: !enabled,
33
- tooltip: (0, _formatMessage.default)('Calculator')
34
- }, (0, _formatMessage.default)('Calculator'));
33
+ tooltip: (0, _formatMessage.default)('This calculator has accessibility limitations.')
34
+ }, (0, _formatMessage.default)('Calculator'), /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Use the arrow keys to move the calculator after selecting "Move". Screen readers may not announce the launch clearly.')));
35
35
  }
36
36
  return /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
37
37
  renderIcon: _uiIcons.IconCalculatorLine,
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateExternalStyle = void 0;
7
+ var generateExternalStyle = function generateExternalStyle() {
8
+ return {
9
+ showBrandIcon: true,
10
+ desktopBottomBorder: true,
11
+ desktopBottomBorderInverse: true
12
+ };
13
+ };
14
+ exports.generateExternalStyle = generateExternalStyle;
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _externalStyles = require("./externalStyles.js");
7
10
  var generateStyle = function generateStyle(componentTheme) {
8
- return {
9
- showBrandIcon: true,
10
- desktopBottomBorder: true,
11
- desktopBottomBorderInverse: true,
11
+ return (0, _objectSpread2.default)({
12
12
  backgroundColor: componentTheme.backgroundColor,
13
13
  phoneBreakPoint: componentTheme.phoneBreakPoint
14
- };
14
+ }, (0, _externalStyles.generateExternalStyle)());
15
15
  };
16
16
  var _default = generateStyle;
17
17
  exports.default = _default;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateExternalStyle = void 0;
7
+ var generateExternalStyle = function generateExternalStyle(componentTheme) {
8
+ return {
9
+ sidebar: {
10
+ borderTop: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
11
+ borderRight: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
12
+ borderBottom: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
13
+ borderLeft: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor)
14
+ }
15
+ };
16
+ };
17
+ exports.generateExternalStyle = generateExternalStyle;