@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
@@ -23,6 +23,7 @@ var _uiView = require("@instructure/ui-view");
23
23
  var _emotion = require("@instructure/emotion");
24
24
  var _uiHeading = require("@instructure/ui-heading");
25
25
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
26
+ var _uiTooltip = require("@instructure/ui-tooltip");
26
27
  var _quizCommon = require("@instructure/quiz-common");
27
28
  var _windowChecks = require("../../../../util/windowChecks.js");
28
29
  var _CustomPropTypes = _interopRequireDefault(require("../../../../util/CustomPropTypes.js"));
@@ -108,12 +109,19 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
108
109
  }, {
109
110
  key: "renderTitle",
110
111
  value: function renderTitle() {
112
+ var navigationText = (0, _formatMessage.default)('Navigate to title');
111
113
  if (this.props.grading) {
112
114
  return;
113
115
  }
114
116
  return (0, _emotion.jsx)("div", {
115
117
  css: this.props.styles.sidebar.actionableInfo,
116
118
  className: _quizCommon.END_EDITING_TRIGGER_CLASSNAME
119
+ }, (0, _emotion.jsx)(_uiTooltip.Tooltip, {
120
+ renderTip: this.props.sidebarOpen ? '' : (0, _emotion.jsx)("span", {
121
+ "aria-hidden": "true"
122
+ }, navigationText),
123
+ placement: "start",
124
+ on: this.props.sidebarOpen ? [] : ['focus', 'hover']
117
125
  }, (0, _emotion.jsx)(_uiLink.Link, {
118
126
  href: "#",
119
127
  margin: "small",
@@ -121,7 +129,7 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
121
129
  onClick: this.scrollToTitle,
122
130
  renderIcon: _ref,
123
131
  "data-automation": "sidebar-title-button"
124
- }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Navigate to title'))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
132
+ }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, navigationText))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
125
133
  css: this.props.styles.sidebar.description,
126
134
  "data-automation": "sidebar-title-text",
127
135
  onClick: this.scrollToTitle,
@@ -131,12 +139,19 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
131
139
  }, {
132
140
  key: "renderInstructions",
133
141
  value: function renderInstructions() {
142
+ var navigationText = (0, _formatMessage.default)('Navigate to instructions');
134
143
  if (this.props.grading) {
135
144
  return;
136
145
  }
137
146
  return (0, _emotion.jsx)("div", {
138
147
  css: this.props.styles.sidebar.actionableInfo,
139
148
  className: _quizCommon.END_EDITING_TRIGGER_CLASSNAME
149
+ }, (0, _emotion.jsx)(_uiTooltip.Tooltip, {
150
+ renderTip: this.props.sidebarOpen ? '' : (0, _emotion.jsx)("span", {
151
+ "aria-hidden": "true"
152
+ }, navigationText),
153
+ placement: "start",
154
+ on: this.props.sidebarOpen ? [] : ['focus', 'hover']
140
155
  }, (0, _emotion.jsx)(_uiLink.Link, {
141
156
  href: "#",
142
157
  margin: "small",
@@ -144,7 +159,7 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
144
159
  onClick: this.scrollToInfo,
145
160
  renderIcon: _ref2,
146
161
  "data-automation": "sidebar-instructions-button"
147
- }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Navigate to instructions'))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
162
+ }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, navigationText))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
148
163
  css: this.props.styles.sidebar.description,
149
164
  "data-automation": "sidebar-instructions-text",
150
165
  onClick: this.scrollToInfo,
@@ -154,11 +169,18 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
154
169
  }, {
155
170
  key: "renderResults",
156
171
  value: function renderResults() {
172
+ var navigationText = (0, _formatMessage.default)('Navigate to results');
157
173
  if (!this.props.grading) {
158
174
  return;
159
175
  }
160
176
  return (0, _emotion.jsx)("div", {
161
177
  css: this.props.styles.sidebar.actionableInfo
178
+ }, (0, _emotion.jsx)(_uiTooltip.Tooltip, {
179
+ renderTip: this.props.sidebarOpen ? '' : (0, _emotion.jsx)("span", {
180
+ "aria-hidden": "true"
181
+ }, navigationText),
182
+ placement: "start",
183
+ on: this.props.sidebarOpen ? [] : ['focus', 'hover']
162
184
  }, (0, _emotion.jsx)(_uiLink.Link, {
163
185
  href: "#",
164
186
  margin: "small",
@@ -166,7 +188,7 @@ var Sidebar = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _them
166
188
  onClick: this.scrollToResults,
167
189
  renderIcon: _ref3,
168
190
  "data-automation": "sidebar-results-button"
169
- }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Navigate to results'))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
191
+ }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, navigationText))), (0, _emotion.jsx)(_uiA11yContent.PresentationContent, null, (0, _emotion.jsx)("span", {
170
192
  css: this.props.styles.sidebar.description,
171
193
  "data-automation": "sidebar-results-text",
172
194
  onClick: this.scrollToResults,
@@ -7,19 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
+ var _merge = _interopRequireDefault(require("lodash/merge"));
11
+ var _externalStyles = require("./externalStyles.js");
10
12
  var generateStyle = function generateStyle(componentTheme, props) {
11
13
  var _commonContainer;
12
14
  var mq = "@media screen and (".concat(componentTheme.phoneBreakPoint, ")");
13
15
  var mp = '@media print';
14
- return {
16
+ return (0, _merge.default)({
15
17
  sidebar: (0, _objectSpread3.default)((0, _objectSpread3.default)((0, _defineProperty2.default)({
16
18
  boxSizing: 'border-box',
17
19
  width: componentTheme.sidebarWidthClosed,
18
20
  backgroundColor: componentTheme.sidebarBackgroundColor,
19
- borderTop: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
20
- borderRight: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
21
- borderBottom: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
22
- borderLeft: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
23
21
  color: componentTheme.sidebarColor,
24
22
  height: '100%',
25
23
  overflow: 'hidden',
@@ -118,7 +116,7 @@ var generateStyle = function generateStyle(componentTheme, props) {
118
116
  }), (0, _defineProperty2.default)(_commonContainer, mp, {
119
117
  display: 'none'
120
118
  }), _commonContainer)
121
- };
119
+ }, (0, _externalStyles.generateExternalStyle)(componentTheme));
122
120
  };
123
121
  var _default = generateStyle;
124
122
  exports.default = _default;
@@ -12,9 +12,7 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
12
12
  var _react = require("react");
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
15
- var _uiA11yContent = require("@instructure/ui-a11y-content");
16
15
  var _uiLink = require("@instructure/ui-link");
17
- var _uiFlex = require("@instructure/ui-flex");
18
16
  var _emotion = require("@instructure/emotion");
19
17
  var _index = _interopRequireDefault(require("../PositionSummary/index.js"));
20
18
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
@@ -22,6 +20,8 @@ var _quizRce = require("@instructure/quiz-rce");
22
20
  var _styles = _interopRequireDefault(require("./styles.js"));
23
21
  var _theme = _interopRequireDefault(require("./theme.js"));
24
22
  var _quizCommon = require("@instructure/quiz-common");
23
+ var _uiTooltip = require("@instructure/ui-tooltip");
24
+ var _uiA11yContent = require("@instructure/ui-a11y-content");
25
25
  var _dec, _class, _SidebarItem;
26
26
  /** @jsx jsx */
27
27
  var SidebarItem = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _theme.default), _dec(_class = (_SidebarItem = /*#__PURE__*/function (_Component) {
@@ -96,12 +96,18 @@ var SidebarItem = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _
96
96
  displayPosition = _this$props2.displayPosition,
97
97
  itemId = _this$props2.itemId,
98
98
  isAnswered = _this$props2.isAnswered;
99
- var screenReaderContent = !isAnswered && isAnswered !== null ? (0, _formatMessage.default)('Navigate to question at position {displayPosition}, unanswered', {
99
+ var content = !isAnswered && isAnswered !== null ? (0, _formatMessage.default)('Navigate to question at position {displayPosition}, unanswered', {
100
100
  displayPosition: displayPosition
101
101
  }) : (0, _formatMessage.default)('Navigate to question at position {displayPosition}', {
102
102
  displayPosition: displayPosition
103
103
  });
104
- return (0, _emotion.jsx)(_uiLink.Link, {
104
+ return (0, _emotion.jsx)(_uiTooltip.Tooltip, {
105
+ renderTip: this.props.sidebarOpen ? '' : (0, _emotion.jsx)("span", {
106
+ "aria-hidden": "true"
107
+ }, content),
108
+ placement: "start",
109
+ on: this.props.sidebarOpen ? [] : ['hover', 'focus']
110
+ }, (0, _emotion.jsx)(_uiLink.Link, {
105
111
  href: "#",
106
112
  size: "small",
107
113
  margin: "0 small",
@@ -111,8 +117,8 @@ var SidebarItem = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _
111
117
  "data-automation-item-id": itemId,
112
118
  "data-automation": "sdk-sidebar-item-button"
113
119
  }, (0, _emotion.jsx)(_uiA11yContent.AccessibleContent, {
114
- alt: screenReaderContent
115
- }, this.renderPosition()));
120
+ alt: content
121
+ }, this.renderPosition())));
116
122
  }
117
123
  }, {
118
124
  key: "renderClosed",
@@ -134,9 +140,9 @@ var SidebarItem = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _
134
140
  return (0, _emotion.jsx)("div", {
135
141
  className: parentDivClass,
136
142
  css: styles.sidebarItem
137
- }, (0, _emotion.jsx)(_uiFlex.Flex, {
143
+ }, (0, _emotion.jsx)(_quizCommon.Flex, {
138
144
  justifyItems: "space-between"
139
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, null, this.renderButton()), (0, _emotion.jsx)(_uiFlex.Flex.Item, {
145
+ }, (0, _emotion.jsx)(_quizCommon.Flex.Item, null, this.renderButton()), (0, _emotion.jsx)(_quizCommon.Flex.Item, {
140
146
  shouldGrow: true,
141
147
  shouldShrink: true,
142
148
  onClick: this.scrollToItem,
@@ -155,7 +161,7 @@ var SidebarItem = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _
155
161
  css: this.props.styles.itemBody
156
162
  }, (0, _emotion.jsx)(_quizRce.RichContentRenderer, {
157
163
  content: this.props.itemBody
158
- })))), (0, _emotion.jsx)(_uiFlex.Flex.Item, null, (0, _emotion.jsx)("div", {
164
+ })))), (0, _emotion.jsx)(_quizCommon.Flex.Item, null, (0, _emotion.jsx)("div", {
159
165
  css: this.props.styles.pinWrapper
160
166
  }, children))));
161
167
  }
@@ -15,8 +15,6 @@ var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-p
15
15
  var _uiIcons = require("@instructure/ui-icons");
16
16
  var _emotion = require("@instructure/emotion");
17
17
  var _uiLink = require("@instructure/ui-link");
18
- var _uiFlex = require("@instructure/ui-flex");
19
- var _uiA11yContent = require("@instructure/ui-a11y-content");
20
18
  var _index = _interopRequireDefault(require("./Collection/index.js"));
21
19
  var _index2 = _interopRequireDefault(require("./Title/index.js"));
22
20
  var _index3 = _interopRequireDefault(require("./Summary/index.js"));
@@ -24,6 +22,8 @@ var _styles = _interopRequireDefault(require("./styles.js"));
24
22
  var _theme = _interopRequireDefault(require("./theme.js"));
25
23
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
26
24
  var _quizCommon = require("@instructure/quiz-common");
25
+ var _uiTooltip = require("@instructure/ui-tooltip");
26
+ var _uiA11yContent = require("@instructure/ui-a11y-content");
27
27
  var _dec, _class, _SidebarStimulus;
28
28
  /** @jsx jsx */
29
29
  var DISPLAY_AS_SUMMARY_LIMIT = 5;
@@ -86,16 +86,23 @@ var SidebarStimulus = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
86
86
  key: "renderButton",
87
87
  value: function renderButton() {
88
88
  var displayPosition = this.props.displayPosition;
89
- return (0, _emotion.jsx)(_uiLink.Link, {
89
+ var textForNavigation = (0, _formatMessage.default)('Navigate to stimulus at position {displayPosition}', {
90
+ displayPosition: displayPosition
91
+ });
92
+ return (0, _emotion.jsx)(_uiTooltip.Tooltip, {
93
+ renderTip: this.props.sidebarOpen ? '' : (0, _emotion.jsx)("span", {
94
+ "aria-hidden": "true"
95
+ }, textForNavigation),
96
+ placement: "start",
97
+ on: this.props.sidebarOpen ? [] : ['hover', 'focus']
98
+ }, (0, _emotion.jsx)(_uiLink.Link, {
90
99
  href: "#",
91
100
  margin: "small",
92
101
  forceButtonRole: false,
93
102
  onClick: this.scrollToItem,
94
103
  renderIcon: _ref,
95
104
  className: _quizCommon.END_EDITING_TRIGGER_CLASSNAME
96
- }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Navigate to stimulus at position { displayPosition }', {
97
- displayPosition: displayPosition
98
- })));
105
+ }, (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, textForNavigation)));
99
106
  }
100
107
  }, {
101
108
  key: "renderClosed",
@@ -124,16 +131,16 @@ var SidebarStimulus = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defaul
124
131
  css: this.props.styles.infoHeader
125
132
  }, (0, _formatMessage.default)('Stimulus')), (0, _emotion.jsx)("div", {
126
133
  css: this.props.styles.stimulusBody
127
- }, (0, _emotion.jsx)(_uiFlex.Flex, {
134
+ }, (0, _emotion.jsx)(_quizCommon.Flex, {
128
135
  justifyItems: "space-between"
129
- }, (0, _emotion.jsx)(_uiFlex.Flex.Item, null, this.renderButton()), (0, _emotion.jsx)(_uiFlex.Flex.Item, {
136
+ }, (0, _emotion.jsx)(_quizCommon.Flex.Item, null, this.renderButton()), (0, _emotion.jsx)(_quizCommon.Flex.Item, {
130
137
  shouldGrow: true,
131
138
  shouldShrink: true,
132
139
  onClick: this.scrollToItem,
133
140
  tabIndex: "-1"
134
141
  }, (0, _emotion.jsx)(_index2.default, {
135
142
  title: stimulus.title
136
- })), (0, _emotion.jsx)(_uiFlex.Flex.Item, null, children)), (0, _emotion.jsx)(_index3.default, {
143
+ })), (0, _emotion.jsx)(_quizCommon.Flex.Item, null, children)), (0, _emotion.jsx)(_index3.default, {
137
144
  startPosition: displayPosition,
138
145
  isDragging: isDragging,
139
146
  isShowingItems: isShowingItems,
@@ -15,7 +15,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
16
16
  var _OutcomeAlignments = _interopRequireDefault(require("@instructure/outcomes-ui/es/containers/OutcomeAlignments"));
17
17
  var _OutcomeCount = _interopRequireDefault(require("@instructure/outcomes-ui/es/containers/OutcomeCount"));
18
- var _uiFormField = require("@instructure/ui-form-field");
19
18
  var _uiA11yContent = require("@instructure/ui-a11y-content");
20
19
  var _CustomPropTypes = _interopRequireDefault(require("../../../../../common/util/CustomPropTypes.js"));
21
20
  var _componentForItem = _interopRequireDefault(require("../../../../util/componentForItem.js"));
@@ -24,7 +23,6 @@ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/f
24
23
  var _interactionTypePropsHelper = require("../../../../util/interactionTypePropsHelper.js");
25
24
  var _ElementsForSelectors = _interopRequireDefault(require("../../../../../common/util/ElementsForSelectors.js"));
26
25
  var _instUIMessages = require("../../../../util/instUIMessages.js");
27
- var _featureCheck = require("../../../../../common/util/featureCheck.js");
28
26
  var ItemEdit = /*#__PURE__*/function (_Component) {
29
27
  (0, _inherits2.default)(ItemEdit, _Component);
30
28
  var _super = (0, _createSuper2.default)(ItemEdit);
@@ -72,7 +70,7 @@ var ItemEdit = /*#__PURE__*/function (_Component) {
72
70
  var launchContextUuid = this.props.scope.launch_context_uuid;
73
71
  var launchContextTitle = this.props.scope.title;
74
72
  // If editing within a quiz, there is no account launch context
75
- if ((0, _featureCheck.featureOn)('sub_account_bank_sharing') && rootAccountName) {
73
+ if (rootAccountName) {
76
74
  launchContexts.push({
77
75
  uuid: this.props.rootAccountUuid,
78
76
  name: rootAccountName
@@ -136,7 +134,7 @@ var ItemEdit = /*#__PURE__*/function (_Component) {
136
134
  var interactionType = item.getInteractionType().slug;
137
135
  var Interaction = (0, _componentForItem.default)(interactionType, _quizCommon.COMPONENT_EDIT);
138
136
  var propsForInteraction = (0, _interactionTypePropsHelper.propsForInteractionEdit)(this.props, this.additionalEditOptions());
139
- return /*#__PURE__*/_react.default.createElement(_uiFormField.FormFieldGroup, {
137
+ return /*#__PURE__*/_react.default.createElement(_quizCommon.FormFieldGroup, {
140
138
  messages: this.getError('onSelf'),
141
139
  description: /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Edit question:')),
142
140
  name: "edit_item_".concat(this.props.guid)
@@ -46,11 +46,11 @@ var AddContentBody = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default
46
46
  _this.props.setUi(_quizCommon.BUILD_TRAY_POSITION, _this.props.position);
47
47
  _this.props.setUi(_quizCommon.BUILD_TRAY_STIMULUS_ID, _this.props.parentEntryId);
48
48
  };
49
- _this.addStimulus = function () {
49
+ _this.addStimulus = function (isPassage) {
50
50
  if (_this.props.editingQuizEntry) {
51
51
  _this.props.setNextQuizEntry(null, _this.props.quizId, _this.props.position);
52
52
  } else {
53
- _this.props.createStimulus(_this.props.quizId, _this.props.position);
53
+ _this.props.createStimulus(_this.props.quizId, _this.props.position, isPassage);
54
54
  }
55
55
  _this.props.onAddItem();
56
56
  };
@@ -10,20 +10,22 @@ var generateStyle = function generateStyle(componentTheme) {
10
10
  position: 'relative',
11
11
  width: '100%',
12
12
  boxSizing: 'border-box',
13
- paddingLeft: componentTheme.wrapperPadding,
14
- paddingRight: componentTheme.wrapperPadding,
13
+ padding: componentTheme.wrapperPadding,
15
14
  '&::after': {
16
15
  clear: 'both',
17
16
  content: '""',
18
17
  display: 'table'
19
18
  },
20
19
  '.user_content p': {
21
- margin: componentTheme.userContentMargin,
20
+ margin: "".concat(componentTheme.userContentMargin, " 0"),
22
21
  '&:first-of-type': {
23
- marginTop: componentTheme.userContentZeroMargin
22
+ margin: "0 0 ".concat(componentTheme.userContentMargin)
24
23
  },
25
- '&:last-child': {
26
- marginBottom: componentTheme.userContentMargin
24
+ '&:last-of-type': {
25
+ margin: "".concat(componentTheme.userContentMargin, " 0 0")
26
+ },
27
+ '&:only-child': {
28
+ margin: 0
27
29
  }
28
30
  }
29
31
  },
@@ -10,8 +10,7 @@ var generateComponentTheme = function generateComponentTheme(_ref) {
10
10
  return {
11
11
  wrapperPadding: spacing.large,
12
12
  textFontSize: typography.fontSizeMedium,
13
- userContentMargin: spacing.mediumSmall,
14
- userContentZeroMargin: 0
13
+ userContentMargin: spacing.mediumSmall
15
14
  };
16
15
  };
17
16
  var _default = generateComponentTheme;
@@ -128,6 +128,7 @@ var Stimulus = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _the
128
128
  }, {
129
129
  key: "renderPanels",
130
130
  value: function renderPanels(propsForDnDZone) {
131
+ var isPassage = this.props.stimulus.passage;
131
132
  return (0, _emotion.jsx)("div", {
132
133
  css: this.props.styles.stimulus,
133
134
  ref: this.props.dndRef,
@@ -136,9 +137,9 @@ var Stimulus = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default, _the
136
137
  css: this.props.styles.leftPanel
137
138
  }, this.renderStimulusPanel()), (0, _emotion.jsx)("div", {
138
139
  css: this.props.styles.itemPanel
139
- }, (0, _emotion.jsx)("div", null), this.renderChildQuizEntries(), (0, _emotion.jsx)(_index4.default, Object.assign({}, propsForDnDZone, {
140
+ }, (0, _emotion.jsx)("div", null), this.renderChildQuizEntries(), !isPassage && (0, _emotion.jsx)(_index4.default, Object.assign({}, propsForDnDZone, {
140
141
  location: "in"
141
- })), this.props.childEntries.size === 0 && !this.isQuizContentLocked() && (0, _emotion.jsx)(_index.default, {
142
+ })), this.props.childEntries.size === 0 && !this.isQuizContentLocked() && !isPassage && (0, _emotion.jsx)(_index.default, {
142
143
  allowStimulusCreation: false,
143
144
  stimulusId: this.props.stimulus.id,
144
145
  parentEntryId: this.props.quizEntry.id,
@@ -20,6 +20,8 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
20
20
  var _uiButtons = require("@instructure/ui-buttons");
21
21
  var _uiToggleDetails = require("@instructure/ui-toggle-details");
22
22
  var _emotion = require("@instructure/emotion");
23
+ var _uiText = require("@instructure/ui-text");
24
+ var _uiView = require("@instructure/ui-view");
23
25
  var _quizCommon = require("@instructure/quiz-common");
24
26
  var _warningHelpers = require("../../../../util/warningHelpers.js");
25
27
  var _index = _interopRequireDefault(require("../../../../../banks/components/AddToBankModal/index.js"));
@@ -325,7 +327,13 @@ var StimulusEdit = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
325
327
  }, {
326
328
  key: "renderAddToBankOptions",
327
329
  value: function renderAddToBankOptions() {
328
- return (0, _emotion.jsx)("div", null, (0, _emotion.jsx)(_uiToggleDetails.ToggleDetails, {
330
+ var _this$props$stimulus;
331
+ var paddingTopStyle = ((_this$props$stimulus = this.props.stimulus) === null || _this$props$stimulus === void 0 ? void 0 : _this$props$stimulus.passage) ? {
332
+ padding: 'small 0 0'
333
+ } : {};
334
+ return (0, _emotion.jsx)(_uiView.View, Object.assign({
335
+ as: "div"
336
+ }, paddingTopStyle), (0, _emotion.jsx)(_uiToggleDetails.ToggleDetails, {
329
337
  variant: "filled",
330
338
  key: "itemBanking",
331
339
  summary: (0, _formatMessage.default)('Item Banking')
@@ -345,14 +353,16 @@ var StimulusEdit = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
345
353
  }, {
346
354
  key: "renderStimulusEdit",
347
355
  value: function renderStimulusEdit() {
356
+ var stimulusLabel = this.props.stimulus.passage ? (0, _formatMessage.default)('Passage') : (0, _formatMessage.default)('Stimulus');
348
357
  return (0, _emotion.jsx)("div", null, (0, _emotion.jsx)("div", {
349
358
  css: this.props.styles.stimulus,
350
359
  ref: this.handleRef
351
360
  }, (0, _emotion.jsx)("div", {
352
361
  css: this.props.styles.header
353
- }, (0, _emotion.jsx)("div", {
354
- css: this.props.styles.stimulusLabel
355
- }, (0, _formatMessage.default)('Stimulus')), (0, _emotion.jsx)(_index6.default, {
362
+ }, (0, _emotion.jsx)(_uiText.Text, {
363
+ size: "small",
364
+ color: "secondary"
365
+ }, stimulusLabel), (0, _emotion.jsx)(_index6.default, {
356
366
  connectDragSource: this.props.connectDragSource,
357
367
  displayPosition: this.props.displayPosition,
358
368
  onDelete: this.handleDeleteStimulus,
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var generateStyle = function generateStyle(componentTheme) {
7
+ var generateStyle = function generateStyle(componentTheme, props) {
8
8
  return {
9
9
  stimulus: {
10
10
  paddingTop: componentTheme.stimulusPadding,
@@ -29,10 +29,6 @@ var generateStyle = function generateStyle(componentTheme) {
29
29
  height: '100%',
30
30
  padding: componentTheme.stimulusContentPadding
31
31
  },
32
- stimulusLabel: {
33
- color: componentTheme.stimulusLabelColor,
34
- fontSize: componentTheme.stimulusLabelFontSize
35
- },
36
32
  stimulusButtons: {
37
33
  flex: '0 0 auto',
38
34
  display: 'inline-flex',
@@ -15,8 +15,6 @@ var generateComponentTheme = function generateComponentTheme(_ref) {
15
15
  optionPadding: spacing.small,
16
16
  stimulusContentPadding: spacing.small,
17
17
  stimulusContentPaddingBottom: spacing.small,
18
- stimulusLabelColor: colors.ash,
19
- stimulusLabelFontSize: typography.fontSizeSmall,
20
18
  stimulusButtonsColor: colors.oxford,
21
19
  stimulusButtonsZIndex: '3333'
22
20
  };
@@ -13,13 +13,10 @@ var _react = require("react");
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
15
15
  var _uiA11yContent = require("@instructure/ui-a11y-content");
16
- var _uiTextInput = require("@instructure/ui-text-input");
17
- var _uiFormField = require("@instructure/ui-form-field");
18
16
  var _emotion = require("@instructure/emotion");
19
17
  var _uiHeading = require("@instructure/ui-heading");
20
18
  var _quizRce = require("@instructure/quiz-rce");
21
19
  var _instUIMessages = require("../../../../util/instUIMessages.js");
22
- var _uiSimpleSelect = require("@instructure/ui-simple-select");
23
20
  var _uiIcons = require("@instructure/ui-icons");
24
21
  var _uiToggleDetails = require("@instructure/ui-toggle-details");
25
22
  var _quizCommon = require("@instructure/quiz-common");
@@ -68,8 +65,12 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
68
65
  }
69
66
  (0, _createClass2.default)(StimulusEditInfo, [{
70
67
  key: "headerText",
71
- value: function headerText() {
72
- return this.props.stimulus.isTemporary() ? (0, _formatMessage.default)('Add Stimulus') : (0, _formatMessage.default)('Edit Stimulus');
68
+ value: function headerText(stimulus) {
69
+ if (stimulus.isTemporary()) {
70
+ return stimulus.passage ? (0, _formatMessage.default)('Add Passage') : (0, _formatMessage.default)('Add Stimulus');
71
+ } else {
72
+ return stimulus.passage ? (0, _formatMessage.default)('Edit Passage') : (0, _formatMessage.default)('Edit Stimulus');
73
+ }
73
74
  }
74
75
  }, {
75
76
  key: "renderOptionalLabel",
@@ -85,85 +86,98 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
85
86
  var stimulusOrientation = this.props.workingStimulus.get('orientation');
86
87
  return (0, _emotion.jsx)("div", {
87
88
  css: this.props.styles.section
88
- }, (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect, {
89
+ }, (0, _emotion.jsx)(_quizCommon.SimpleSelect, {
89
90
  renderLabel: (0, _formatMessage.default)('Orientation'),
90
91
  onChange: this.onOrientationChange,
91
92
  value: stimulusOrientation,
92
93
  renderBeforeInput: (0, _emotion.jsx)(_uiIcons.IconUpdownLine, {
93
94
  rotate: stimulusOrientation === _quizCommon.TOP ? '0' : '90'
94
95
  })
95
- }, (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect.Option, {
96
+ }, (0, _emotion.jsx)(_quizCommon.SimpleSelect.Option, {
96
97
  renderBeforeLabel: _ref3,
97
98
  id: "stimulus-orientation-select-option-left",
98
99
  value: "left"
99
- }, (0, _formatMessage.default)('Questions to the right')), (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect.Option, {
100
+ }, (0, _formatMessage.default)('Questions to the right')), (0, _emotion.jsx)(_quizCommon.SimpleSelect.Option, {
100
101
  renderBeforeLabel: _ref4,
101
102
  id: "stimulus-orientation-select-option-top",
102
103
  value: "top"
103
104
  }, (0, _formatMessage.default)('Questions below'))));
104
105
  }
106
+ }, {
107
+ key: "renderInstructions",
108
+ value: function renderInstructions(stimulus) {
109
+ if (stimulus.passage) {
110
+ return null;
111
+ }
112
+ return (0, _emotion.jsx)("div", {
113
+ css: this.props.styles.section
114
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
115
+ renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Instructions')),
116
+ onChange: this.onTextInputChange('instructions'),
117
+ value: stimulus.get('instructions'),
118
+ "data-automation": "sdk-stimulus-instructions-input"
119
+ }));
120
+ }
121
+ }, {
122
+ key: "renderOptions",
123
+ value: function renderOptions(stimulus) {
124
+ if (stimulus.passage) {
125
+ return null;
126
+ }
127
+ return (0, _emotion.jsx)("div", {
128
+ css: this.props.styles.section
129
+ }, (0, _emotion.jsx)(_uiToggleDetails.ToggleDetails, {
130
+ defaultExpanded: true,
131
+ variant: "filled",
132
+ key: "options",
133
+ summary: (0, _formatMessage.default)('Options')
134
+ }, this.props.stimulusOrientationEnabled ? this.renderStimulusOrientationSelect() : null, (0, _emotion.jsx)("div", {
135
+ css: this.props.styles.section
136
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
137
+ renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Source URL'), (0, _formatMessage.default)('(optional - not visible to students)')),
138
+ onChange: this.onTextInputChange('sourceUrl'),
139
+ value: stimulus.get('sourceUrl'),
140
+ "data-automation": "sdk-source-url-input"
141
+ }))));
142
+ }
105
143
  }, {
106
144
  key: "render",
107
145
  value: function render() {
108
146
  var stimulus = this.props.workingStimulus;
109
147
  var textAreaId = "stimulusBodyEdit_".concat(stimulus.id, "_").concat(this.props.isBankedContent);
110
148
  var stimulusBodyId = "stimulusBodyEdit_".concat(stimulus.id, "_body");
111
- return (0, _emotion.jsx)(_uiFormField.FormFieldGroup, {
149
+ return (0, _emotion.jsx)(_quizCommon.FormFieldGroup, {
112
150
  messages: this.inputErrors('onSelf'),
113
151
  description: (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Edit Stimulus'))
114
152
  }, (0, _emotion.jsx)(_uiHeading.Heading, {
115
153
  level: "h3",
116
154
  as: "h2"
117
- }, this.headerText()), (0, _emotion.jsx)("div", {
155
+ }, this.headerText(stimulus)), (0, _emotion.jsx)("div", {
118
156
  css: this.props.styles.section
119
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
157
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
120
158
  messages: this.inputErrors('title'),
121
159
  renderLabel: (0, _formatMessage.default)('Title'),
122
- type: "text",
160
+ isRequired: true,
123
161
  ref: this.props.setTitleRef,
124
162
  onChange: this.onTextInputChange('title'),
125
163
  value: stimulus.get('title'),
126
164
  "data-automation": "sdk-stimulus-title-input"
127
- })), (0, _emotion.jsx)("div", {
165
+ })), this.renderInstructions(stimulus), (0, _emotion.jsx)("div", {
128
166
  css: this.props.styles.section
129
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
130
- renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Instructions')),
131
- type: "text",
132
- onChange: this.onTextInputChange('instructions'),
133
- value: stimulus.get('instructions'),
134
- "data-automation": "sdk-stimulus-instructions-input"
135
- })), (0, _emotion.jsx)("div", {
136
- css: this.props.styles.section
137
- }, (0, _emotion.jsx)(_uiFormField.FormField, {
138
- id: stimulusBodyId,
139
- label: (0, _formatMessage.default)('Content')
167
+ }, (0, _emotion.jsx)(_quizCommon.FormField, {
168
+ id: stimulusBodyId
140
169
  }, (0, _emotion.jsx)(_quizRce.RichContentInput, {
141
170
  actsAsInput: true,
142
- label: "",
171
+ label: (0, _formatMessage.default)('Content'),
172
+ isRequired: true,
143
173
  messages: this.inputErrors('body'),
144
- placeholder: (0, _formatMessage.default)('Add Stimulus Content...'),
145
174
  textareaId: textAreaId,
146
175
  defaultContent: stimulus.get('body'),
147
176
  onKeyUp: this.onBodyChange,
148
177
  onBlur: this.onBodyChange,
149
178
  onChange: this.onBodyChange,
150
179
  height: _quizRce.RCE_SINGLE_LINE_HEIGHT
151
- }))), (0, _emotion.jsx)("div", {
152
- css: this.props.styles.section
153
- }, (0, _emotion.jsx)(_uiToggleDetails.ToggleDetails, {
154
- defaultExpanded: true,
155
- variant: "filled",
156
- key: "options",
157
- summary: (0, _formatMessage.default)('Options')
158
- }, this.props.stimulusOrientationEnabled ? this.renderStimulusOrientationSelect() : null, (0, _emotion.jsx)("div", {
159
- css: this.props.styles.section
160
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
161
- renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Source URL'), (0, _formatMessage.default)('(optional - not visible to students)')),
162
- type: "text",
163
- onChange: this.onTextInputChange('sourceUrl'),
164
- value: stimulus.get('sourceUrl'),
165
- "data-automation": "sdk-source-url-input"
166
- })))));
180
+ }))), this.renderOptions(stimulus));
167
181
  }
168
182
  }]);
169
183
  StimulusEditInfo.displayName = "StimulusEditInfo";
@@ -14,6 +14,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
15
15
  var _uiIcons = require("@instructure/ui-icons");
16
16
  var _emotion = require("@instructure/emotion");
17
+ var _uiText = require("@instructure/ui-text");
17
18
  var _index = _interopRequireDefault(require("../StimulusShowInfo/index.js"));
18
19
  var _index2 = _interopRequireDefault(require("../../../../../building/components/resources/ActionButtons/index.js"));
19
20
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
@@ -50,6 +51,7 @@ var StimulusShow = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
50
51
  }, {
51
52
  key: "render",
52
53
  value: function render() {
54
+ var stimulusLabel = this.props.stimulus.passage ? (0, _formatMessage.default)('Passage') : (0, _formatMessage.default)('Stimulus');
53
55
  return (0, _emotion.jsx)(_index3.default, {
54
56
  onClick: this.switchOnEditing,
55
57
  wrapperStyles: this.props.styles.stimulusWrapper,
@@ -61,9 +63,13 @@ var StimulusShow = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
61
63
  css: this.props.styles.header
62
64
  }, (0, _emotion.jsx)("div", {
63
65
  css: this.props.styles.leftHeader
64
- }, this.renderBankIcon(), (0, _emotion.jsx)("div", {
65
- css: this.props.styles.stimulusLabel
66
- }, (0, _formatMessage.default)('Stimulus'))), (0, _emotion.jsx)(_index2.default, {
66
+ }, this.renderBankIcon(), (0, _emotion.jsx)(_quizCommon.Flex, {
67
+ margin: "0 x-small"
68
+ }, (0, _emotion.jsx)(_uiText.Text, {
69
+ size: "small",
70
+ color: "secondary",
71
+ margin: "0 x-small"
72
+ }, stimulusLabel))), (0, _emotion.jsx)(_index2.default, {
67
73
  connectDragSource: this.props.connectDragSource,
68
74
  displayPosition: this.props.displayPosition,
69
75
  onDelete: this.props.openDeleteStimulusModal,