@instructure/quiz-core 20.36.1-rc.9 → 20.36.2

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 (77) hide show
  1. package/es/banks/components/AddToBankModal/presenter.js +2 -1
  2. package/es/banks/components/AsyncSearch/index.js +2 -1
  3. package/es/banks/components/BankEntry/presenter.js +2 -1
  4. package/es/banks/components/BankSearch/presenter.js +2 -1
  5. package/es/banks/components/Banks/index.js +1 -0
  6. package/es/banks/components/Banks/presenter.js +9 -5
  7. package/es/banks/components/CopyMoveBankEntryModal/presenter.js +2 -1
  8. package/es/banks/components/CreateBankModal/presenter.js +2 -1
  9. package/es/banks/components/EditBankModal/presenter.js +2 -1
  10. package/es/banks/components/NavWrapper/styles.js +3 -4
  11. package/es/banks/components/SharingModal/RootAccountSharing.js +2 -1
  12. package/es/banks/components/SharingModal/ShareList/index.js +2 -1
  13. package/es/banks/components/SharingModal/index.js +2 -0
  14. package/es/banks/components/SharingModal/presenter.js +78 -18
  15. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +2 -1
  16. package/es/common/components/ImportModal/presenter.js +2 -1
  17. package/es/common/components/layout/Page/styles.js +1 -1
  18. package/es/common/components/layout/header/Calculator/presenter.js +2 -2
  19. package/es/common/components/layout/navbar/styles.js +5 -4
  20. package/es/common/components/layout/sidebar/Sidebar/styles.js +6 -4
  21. package/es/common/components/resources/item/ItemEdit/presenter.js +4 -2
  22. package/es/common/components/resources/quiz/instructions/styles.js +1 -1
  23. package/es/common/components/resources/stimulus/StimulusEditInfo/presenter.js +4 -2
  24. package/es/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +2 -1
  25. package/es/common/components/shared/TagSelect/presenter.js +2 -1
  26. package/es/common/components/shared/TimeUnitsInput/index.js +1 -2
  27. package/es/index.js +1 -3
  28. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -2
  29. package/es/moderating/components/resources/AccommodationsModal/index.js +13 -5
  30. package/es/moderating/components/resources/ModerateTable/presenter.js +2 -4
  31. package/es/moderating/components/sidebar/ModerateTray/presenter.js +29 -20
  32. package/lib/banks/components/AddToBankModal/presenter.js +2 -1
  33. package/lib/banks/components/AsyncSearch/index.js +9 -8
  34. package/lib/banks/components/BankEntry/presenter.js +2 -1
  35. package/lib/banks/components/BankSearch/presenter.js +2 -1
  36. package/lib/banks/components/Banks/index.js +1 -0
  37. package/lib/banks/components/Banks/presenter.js +13 -9
  38. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +2 -1
  39. package/lib/banks/components/CreateBankModal/presenter.js +2 -1
  40. package/lib/banks/components/EditBankModal/presenter.js +2 -1
  41. package/lib/banks/components/NavWrapper/styles.js +3 -5
  42. package/lib/banks/components/SharingModal/RootAccountSharing.js +4 -3
  43. package/lib/banks/components/SharingModal/ShareList/index.js +4 -3
  44. package/lib/banks/components/SharingModal/index.js +2 -0
  45. package/lib/banks/components/SharingModal/presenter.js +80 -20
  46. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +2 -1
  47. package/lib/common/components/ImportModal/presenter.js +2 -1
  48. package/lib/common/components/layout/Page/styles.js +1 -1
  49. package/lib/common/components/layout/header/Calculator/presenter.js +2 -2
  50. package/lib/common/components/layout/navbar/styles.js +5 -5
  51. package/lib/common/components/layout/sidebar/Sidebar/styles.js +6 -4
  52. package/lib/common/components/resources/item/ItemEdit/presenter.js +4 -2
  53. package/lib/common/components/resources/quiz/instructions/styles.js +1 -1
  54. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +9 -7
  55. package/lib/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +4 -3
  56. package/lib/common/components/shared/TagSelect/presenter.js +5 -4
  57. package/lib/common/components/shared/TimeUnitsInput/index.js +1 -2
  58. package/lib/index.js +6 -22
  59. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +7 -7
  60. package/lib/moderating/components/resources/AccommodationsModal/index.js +13 -5
  61. package/lib/moderating/components/resources/ModerateTable/presenter.js +2 -4
  62. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +29 -20
  63. package/package.json +30 -32
  64. package/es/banks/components/NavWrapper/externalStyles.js +0 -5
  65. package/es/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +0 -11
  66. package/es/common/components/AccessCodeTextInput/index.js +0 -47
  67. package/es/common/components/MaskedTextInput/MaskedTextInput.stories.js +0 -19
  68. package/es/common/components/MaskedTextInput/index.js +0 -64
  69. package/es/common/components/layout/navbar/externalStyles.js +0 -7
  70. package/es/common/components/layout/sidebar/Sidebar/externalStyles.js +0 -10
  71. package/lib/banks/components/NavWrapper/externalStyles.js +0 -12
  72. package/lib/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +0 -20
  73. package/lib/common/components/AccessCodeTextInput/index.js +0 -57
  74. package/lib/common/components/MaskedTextInput/MaskedTextInput.stories.js +0 -29
  75. package/lib/common/components/MaskedTextInput/index.js +0 -74
  76. package/lib/common/components/layout/navbar/externalStyles.js +0 -14
  77. package/lib/common/components/layout/sidebar/Sidebar/externalStyles.js +0 -17
@@ -14,7 +14,7 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
16
  var _uiView = require("@instructure/ui-view");
17
- var _quizCommon = require("@instructure/quiz-common");
17
+ var _uiSimpleSelect = require("@instructure/ui-simple-select");
18
18
  var _index = _interopRequireDefault(require("../../../../../common/components/shared/TimeUnitsInput/index.js"));
19
19
  var _index2 = _interopRequireDefault(require("../ExtraTimeMultiplier/index.js"));
20
20
  var _index3 = require("../../../../../common/components/shared/FormattedDuration/index.js");
@@ -75,22 +75,22 @@ var ExtraTimeSettings = /*#__PURE__*/function (_Component) {
75
75
  return /*#__PURE__*/_react.default.createElement(_uiView.View, {
76
76
  display: "block",
77
77
  margin: "medium none"
78
- }, /*#__PURE__*/_react.default.createElement(_quizCommon.SimpleSelect, {
78
+ }, /*#__PURE__*/_react.default.createElement(_uiSimpleSelect.SimpleSelect, {
79
79
  renderLabel: (0, _formatMessage.default)('Time adjustments'),
80
80
  assistiveText: (0, _formatMessage.default)('4 options available. Use arrow keys to navigate options.'),
81
81
  value: timeAdjustmentType,
82
82
  onChange: this.onChangeTimeAdjustmentType,
83
83
  "data-automation": "sdk-moderation-time-dropdown"
84
- }, /*#__PURE__*/_react.default.createElement(_quizCommon.SimpleSelect.Option, {
84
+ }, /*#__PURE__*/_react.default.createElement(_uiSimpleSelect.SimpleSelect.Option, {
85
85
  id: "extra-time-settings-select-option-none",
86
86
  value: "none"
87
- }, (0, _formatMessage.default)('None')), /*#__PURE__*/_react.default.createElement(_quizCommon.SimpleSelect.Option, {
87
+ }, (0, _formatMessage.default)('None')), /*#__PURE__*/_react.default.createElement(_uiSimpleSelect.SimpleSelect.Option, {
88
88
  id: "extra-time-settings-select-option-additional-time",
89
89
  value: "extraTimeEnabled"
90
- }, (0, _formatMessage.default)('Give additional time')), /*#__PURE__*/_react.default.createElement(_quizCommon.SimpleSelect.Option, {
90
+ }, (0, _formatMessage.default)('Give additional time')), /*#__PURE__*/_react.default.createElement(_uiSimpleSelect.SimpleSelect.Option, {
91
91
  id: "extra-time-settings-select-option-remove-time",
92
92
  value: "disableTimer"
93
- }, (0, _formatMessage.default)('Remove time limit (unlimited)')), /*#__PURE__*/_react.default.createElement(_quizCommon.SimpleSelect.Option, {
93
+ }, (0, _formatMessage.default)('Remove time limit (unlimited)')), /*#__PURE__*/_react.default.createElement(_uiSimpleSelect.SimpleSelect.Option, {
94
94
  id: "extra-time-settings-select-option-time-multiplier",
95
95
  value: "timerMultiplierEnabled"
96
96
  }, (0, _formatMessage.default)('Time limit multiplier'))), timeAdjustmentType === 'extraTimeEnabled' && /*#__PURE__*/_react.default.createElement(_index.default, {
@@ -102,7 +102,7 @@ var ExtraTimeSettings = /*#__PURE__*/function (_Component) {
102
102
  minutesLabel: (0, _formatMessage.default)('Minutes'),
103
103
  minutesDataAutomation: "sdk-moderation-time-minutes",
104
104
  description: (0, _formatMessage.default)('Additional time'),
105
- margin: "medium none none none"
105
+ margin: "medium none"
106
106
  }), timeAdjustmentType === 'timerMultiplierEnabled' && /*#__PURE__*/_react.default.createElement(_index2.default, {
107
107
  onChange: this.onChangeMultiplier,
108
108
  timerMultiplierValue: timerSettings.timerMultiplierValue,
@@ -12,6 +12,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
12
12
  var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
+ var _uiText = require("@instructure/ui-text");
15
16
  var _uiTooltip = require("@instructure/ui-tooltip");
16
17
  var _uiModal = require("@instructure/ui-modal");
17
18
  var _uiTruncateText = require("@instructure/ui-truncate-text");
@@ -20,6 +21,8 @@ var _uiView = require("@instructure/ui-view");
20
21
  var _uiButtons = require("@instructure/ui-buttons");
21
22
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
22
23
  var _uiA11yContent = require("@instructure/ui-a11y-content");
24
+ var _featureCheck = require("../../../../common/util/featureCheck.js");
25
+ var _index = require("../../../../common/components/shared/IfFeature/index.js");
23
26
  var AccommodationModal = /*#__PURE__*/function (_Component) {
24
27
  (0, _inherits2.default)(AccommodationModal, _Component);
25
28
  var _super = (0, _createSuper2.default)(AccommodationModal);
@@ -62,7 +65,7 @@ var AccommodationModal = /*#__PURE__*/function (_Component) {
62
65
  }, _this.props.studentName));
63
66
  };
64
67
  _this.renderHeading = function () {
65
- if (_this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled) {
68
+ if ((0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts')) {
66
69
  return /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, null, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Student Accommodation')), (0, _formatMessage.default)('Student Accommodation'));
67
70
  }
68
71
  var _this$props = _this.props,
@@ -89,7 +92,7 @@ var AccommodationModal = /*#__PURE__*/function (_Component) {
89
92
  (0, _createClass2.default)(AccommodationModal, [{
90
93
  key: "labelText",
91
94
  value: function labelText() {
92
- if (this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled) {
95
+ if ((0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts')) {
93
96
  return (0, _formatMessage.default)('Student Accommodation');
94
97
  }
95
98
  return this.props.studentName || (0, _formatMessage.default)('Accommodations Modal');
@@ -98,6 +101,7 @@ var AccommodationModal = /*#__PURE__*/function (_Component) {
98
101
  key: "render",
99
102
  value: function render() {
100
103
  var _this$props2 = this.props,
104
+ studentName = _this$props2.studentName,
101
105
  open = _this$props2.open,
102
106
  closeModal = _this$props2.closeModal,
103
107
  mountNode = _this$props2.mountNode,
@@ -113,7 +117,12 @@ var AccommodationModal = /*#__PURE__*/function (_Component) {
113
117
  placement: "end",
114
118
  offset: "medium",
115
119
  screenReaderLabel: (0, _formatMessage.default)('Close')
116
- }), this.renderHeading()), /*#__PURE__*/_react.default.createElement(_uiModal.Modal.Body, null, children), /*#__PURE__*/_react.default.createElement(_uiModal.Modal.Footer, null, /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
120
+ }), this.renderHeading()), /*#__PURE__*/_react.default.createElement(_uiModal.Modal.Body, null, /*#__PURE__*/_react.default.createElement(_index.IfFeature, {
121
+ name: "atteq_apply_changes_to_current_quiz_attempts"
122
+ }, /*#__PURE__*/_react.default.createElement(_uiText.Text, {
123
+ weight: "bold",
124
+ as: "h2"
125
+ }, studentName)), children), /*#__PURE__*/_react.default.createElement(_uiModal.Modal.Footer, null, /*#__PURE__*/_react.default.createElement(_uiButtons.Button, {
117
126
  onClick: this.cancelAction,
118
127
  margin: "xxx-small",
119
128
  "data-automation": "sdk-moderation-cancel"
@@ -137,8 +146,7 @@ AccommodationModal.propTypes = {
137
146
  onDismiss: _propTypes.default.func,
138
147
  mountNode: _propTypes.default.string,
139
148
  // this is just to fix chromatic
140
- children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)]),
141
- atteqApplyChangesToCurrentQuizAttemptsEnabled: _propTypes.default.bool.isRequired
149
+ children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.arrayOf(_propTypes.default.node)])
142
150
  };
143
151
  AccommodationModal.defaultProps = {
144
152
  children: [],
@@ -332,8 +332,7 @@ var ModerateTable = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
332
332
  css: this.props.styles.page
333
333
  }, (0, _emotion.jsx)(_index4.default, {
334
334
  onClose: this.onCloseTray,
335
- onSave: this.props.onSaveTray,
336
- atteqApplyChangesToCurrentQuizAttemptsEnabled: this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled
335
+ onSave: this.props.onSaveTray
337
336
  }, (0, _emotion.jsx)(_uiFlex.Flex.Item, null, !this.props.anonymousGrading && _ref6), this.props.children), this.renderContent());
338
337
  }
339
338
  }]);
@@ -388,8 +387,7 @@ var ModerateTable = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.default,
388
387
  getQuizSessions: _propTypes.default.func.isRequired,
389
388
  addSuccess: _propTypes.default.func.isRequired,
390
389
  styles: _propTypes.default.object,
391
- makeStyles: _propTypes.default.func,
392
- atteqApplyChangesToCurrentQuizAttemptsEnabled: _propTypes.default.bool.isRequired
390
+ makeStyles: _propTypes.default.func
393
391
  }, _ModerateTable.defaultProps = {
394
392
  anonymousGrading: false,
395
393
  children: void 0,
@@ -16,7 +16,6 @@ var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/f
16
16
  var _uiFlex = require("@instructure/ui-flex");
17
17
  var _uiView = require("@instructure/ui-view");
18
18
  var _uiText = require("@instructure/ui-text");
19
- var _uiHeading = require("@instructure/ui-heading");
20
19
  var _uiTooltip = require("@instructure/ui-tooltip");
21
20
  var _uiTray = require("@instructure/ui-tray");
22
21
  var _uiButtons = require("@instructure/ui-buttons");
@@ -24,6 +23,7 @@ var _uiTruncateText = require("@instructure/ui-truncate-text");
24
23
  var _uiModal = require("@instructure/ui-modal");
25
24
  var _quizCommon = require("@instructure/quiz-common");
26
25
  var _uiA11yContent = require("@instructure/ui-a11y-content");
26
+ var _featureCheck = require("../../../../common/util/featureCheck.js");
27
27
  var ModerateTray = /*#__PURE__*/function (_Component) {
28
28
  (0, _inherits2.default)(ModerateTray, _Component);
29
29
  var _super = (0, _createSuper2.default)(ModerateTray);
@@ -75,15 +75,20 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
75
75
  _this.props.closeTray();
76
76
  };
77
77
  _this.renderTitleAndCloseButton = function () {
78
- return /*#__PURE__*/_react.default.createElement(_uiModal.Modal.Header, null, /*#__PURE__*/_react.default.createElement(_uiButtons.CloseButton, {
78
+ return /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
79
+ justifyItems: "space-between"
80
+ }, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
81
+ shouldGrow: true,
82
+ shouldShrink: true
83
+ }, (0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts') ? /*#__PURE__*/_react.default.createElement(_uiText.Text, {
84
+ as: "h2",
85
+ size: "large",
86
+ weight: "bold"
87
+ }, (0, _formatMessage.default)('In Progress Accommodation')) : _this.renderHeading()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, /*#__PURE__*/_react.default.createElement(_uiButtons.CloseButton, {
79
88
  onClick: _this.props.closeTray,
80
89
  elementRef: _this.setCloseRef,
81
- placement: "end",
82
- offset: "medium",
83
90
  screenReaderLabel: (0, _formatMessage.default)('Close')
84
- }), _this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled ? /*#__PURE__*/_react.default.createElement(_uiHeading.Heading, {
85
- level: "h3"
86
- }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('In Progress Accommodation')), (0, _formatMessage.default)('In Progress Accommodation')) : _this.renderHeading());
91
+ })));
87
92
  };
88
93
  _this.renderChildren = function () {
89
94
  return _react.default.Children.map(_this.props.children, function (child) {
@@ -131,12 +136,12 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
131
136
  /*#__PURE__*/
132
137
  // When using TruncateText inside a Tooltip, a focusable wrapper element is required
133
138
  // tabIndex={0} makes the div focusable and allows KO users to access the tooltip
134
- _react.default.createElement(_uiHeading.Heading, {
139
+ _react.default.createElement(_uiView.View, {
135
140
  display: "block",
136
141
  borderRadius: "small",
137
142
  position: "relative",
138
143
  withFocusOutline: this.state.titleIsTruncated && focused,
139
- level: "h3",
144
+ as: "h2",
140
145
  tabIndex: this.state.isTruncated ? 0 : null
141
146
  }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, this.labelText()), /*#__PURE__*/_react.default.createElement(_uiTruncateText.TruncateText, {
142
147
  "aria-hidden": "true",
@@ -149,6 +154,9 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
149
154
  }, {
150
155
  key: "renderName",
151
156
  value: function renderName(renderProps) {
157
+ if (!(0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts')) {
158
+ return null;
159
+ }
152
160
  var focused = renderProps && renderProps.focused;
153
161
  return (
154
162
  /*#__PURE__*/
@@ -159,7 +167,8 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
159
167
  borderRadius: "small",
160
168
  position: "relative",
161
169
  withFocusOutline: this.state.participantNameIsTruncated && focused,
162
- tabIndex: this.state.participantNameIsTruncated ? 0 : null
170
+ tabIndex: this.state.participantNameIsTruncated ? 0 : null,
171
+ margin: "small 0"
163
172
  }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, this.props.participantName), /*#__PURE__*/_react.default.createElement(_uiTruncateText.TruncateText, {
164
173
  "aria-hidden": "true",
165
174
  maxLines: 2,
@@ -174,6 +183,9 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
174
183
  key: "renderNameWithTooltip",
175
184
  value: function renderNameWithTooltip() {
176
185
  var _this3 = this;
186
+ if (!(0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts')) {
187
+ return null;
188
+ }
177
189
  return this.state.titleIsTruncated ? /*#__PURE__*/_react.default.createElement(_uiTooltip.Tooltip, {
178
190
  placement: "start",
179
191
  renderTip: this.props.participantName,
@@ -188,7 +200,7 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
188
200
  }, {
189
201
  key: "labelText",
190
202
  value: function labelText() {
191
- if (this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled) {
203
+ if ((0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts')) {
192
204
  return (0, _formatMessage.default)('In Progress Accommodation');
193
205
  }
194
206
  if (this.props.participantName) {
@@ -207,21 +219,19 @@ var ModerateTray = /*#__PURE__*/function (_Component) {
207
219
  onExited: this.handleTrayExited,
208
220
  open: this.props.isOpen,
209
221
  placement: "end",
210
- size: this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled ? 'regular' : void 0,
222
+ size: (0, _featureCheck.featureOn)('atteq_apply_changes_to_current_quiz_attempts') ? 'regular' : void 0,
211
223
  shouldCloseOnDocumentClick: true,
212
224
  ref: this.setTrayRef
213
225
  }, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex, {
214
226
  as: "div",
215
227
  direction: "column",
216
228
  height: "100vh"
217
- }, this.renderTitleAndCloseButton(), this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
218
- padding: "medium medium 0 medium"
219
- }, this.renderNameWithTooltip()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
220
- padding: "medium"
221
- }, (0, _formatMessage.default)('These settings apply to current and all future attempts.')), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
229
+ }, /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
230
+ padding: "small medium"
231
+ }, this.renderTitleAndCloseButton()), /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, {
222
232
  shouldGrow: true,
223
233
  padding: "0 medium"
224
- }, this.renderChildren()), this.props.atteqApplyChangesToCurrentQuizAttemptsEnabled && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderFooter())));
234
+ }, this.renderNameWithTooltip(), this.renderChildren()), (0, _featureCheck.featureOn)('add_time_to_existing_quiz_sessions') && /*#__PURE__*/_react.default.createElement(_uiFlex.Flex.Item, null, this.renderFooter())));
225
235
  }
226
236
  }]);
227
237
  ModerateTray.displayName = "ModerateTray";
@@ -234,8 +244,7 @@ ModerateTray.propTypes = {
234
244
  isOpen: _propTypes.default.bool.isRequired,
235
245
  onClose: _propTypes.default.func,
236
246
  onSave: _propTypes.default.func.isRequired,
237
- participantName: _propTypes.default.string,
238
- atteqApplyChangesToCurrentQuizAttemptsEnabled: _propTypes.default.bool.isRequired
247
+ participantName: _propTypes.default.string
239
248
  };
240
249
  ModerateTray.defaultProps = {
241
250
  onClose: void 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "20.36.1-rc.9+06088edf5",
3
+ "version": "20.36.2",
4
4
  "license": "MIT",
5
5
  "description": "The Quiz React SDK by Instructure Inc.",
6
6
  "author": "Instructure, Inc. Engineering and Product Design",
@@ -10,27 +10,6 @@
10
10
  "type": "git",
11
11
  "url": "https://gerrit.instructure.com/quizzes-ui.git"
12
12
  },
13
- "scripts": {
14
- "clean": "ui-build --clean",
15
- "build": "build-if-changed",
16
- "build:all": "ui-build --modules es,cjs",
17
- "build:watch": "ui-build --watch",
18
- "extract": "extract-translations",
19
- "lint": "ui-test --lint",
20
- "lint:fix": "ui-test --lint --fix",
21
- "eslint:fix": "eslint --fix .",
22
- "prelint": "pnpm build",
23
- "pretest": "pnpm build",
24
- "test": "pnpm test:karma",
25
- "test:karma": "ui-test",
26
- "test:watch": "ui-test --watch",
27
- "snyk:monitor": "snyk monitor",
28
- "postbuild": "cp src/banks/components/noResults.svg lib/banks/components/; cp src/banks/components/noResults.svg es/banks/components/; pnpm postbuild:errorImage",
29
- "postbuild:all": "pnpm postbuild",
30
- "postbuild:errorImage": "cp src/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg es/reporting/components/resources/NewQuizAndItemAnalysis/; cp src/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg lib/reporting/components/resources/NewQuizAndItemAnalysis/",
31
- "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
32
- "typecheck": "tsc --noEmit"
33
- },
34
13
  "keywords": [
35
14
  "react",
36
15
  "react-component",
@@ -46,11 +25,11 @@
46
25
  "@instructure/emotion": "^8.56.3",
47
26
  "@instructure/grading-utils": "^1.0.0",
48
27
  "@instructure/outcomes-ui": "^3.2.2",
49
- "@instructure/quiz-common": "^20.36.1-rc.9+06088edf5",
50
- "@instructure/quiz-i18n": "^20.36.1-rc.9+06088edf5",
51
- "@instructure/quiz-interactions": "^20.36.1-rc.9+06088edf5",
52
- "@instructure/quiz-number-input": "^20.36.1-rc.9+06088edf5",
53
- "@instructure/quiz-rce": "^20.36.1-rc.9+06088edf5",
28
+ "@instructure/quiz-common": "^20.36.2",
29
+ "@instructure/quiz-i18n": "^20.36.2",
30
+ "@instructure/quiz-interactions": "^20.36.2",
31
+ "@instructure/quiz-number-input": "^20.36.2",
32
+ "@instructure/quiz-rce": "^20.36.2",
54
33
  "@instructure/ui-a11y-content": "^8.56.3",
55
34
  "@instructure/ui-alerts": "^8.56.3",
56
35
  "@instructure/ui-avatar": "^8.56.3",
@@ -114,7 +93,7 @@
114
93
  "file-saver": "~2.0.5",
115
94
  "humps": "^2.0.0",
116
95
  "immutable": "^3.8.1",
117
- "instructure-validations": "^20.36.1-rc.9+06088edf5",
96
+ "instructure-validations": "^20.36.2",
118
97
  "ipaddr.js": "^1.5.4",
119
98
  "isomorphic-fetch": "^2.2.0",
120
99
  "isuuid": "^0.1.0",
@@ -150,7 +129,6 @@
150
129
  "@instructure/ui-babel-preset": "^7.22.1",
151
130
  "@instructure/ui-test-utils": "^7.22.1",
152
131
  "@testing-library/react": "^12.1.5",
153
- "@testing-library/user-event": "^12.0.0",
154
132
  "chai": "^4.1.2",
155
133
  "chai-as-promised": "^7.1.1",
156
134
  "chai-enzyme": "^1.0.0-beta.1",
@@ -164,7 +142,7 @@
164
142
  "jquery": "^2.2.3",
165
143
  "karma-junit-reporter": "^2.0.1",
166
144
  "most-subject": "^5.3.0",
167
- "quiz-presets": "^20.36.1-rc.9+06088edf5",
145
+ "quiz-presets": "^20.36.2",
168
146
  "react": "^16.8.6",
169
147
  "react-addons-test-utils": "^15.6.2",
170
148
  "react-dom": "^16.8.6",
@@ -180,5 +158,25 @@
180
158
  "publishConfig": {
181
159
  "access": "public"
182
160
  },
183
- "gitHead": "06088edf5e8c23d4139243a1c2ddcb785c2f4aa8"
184
- }
161
+ "scripts": {
162
+ "clean": "ui-build --clean",
163
+ "build": "build-if-changed",
164
+ "build:all": "ui-build --modules es,cjs",
165
+ "build:watch": "ui-build --watch",
166
+ "extract": "extract-translations",
167
+ "lint": "ui-test --lint",
168
+ "lint:fix": "ui-test --lint --fix",
169
+ "eslint:fix": "eslint --fix .",
170
+ "prelint": "pnpm build",
171
+ "pretest": "pnpm build",
172
+ "test": "pnpm test:karma",
173
+ "test:karma": "ui-test",
174
+ "test:watch": "ui-test --watch",
175
+ "snyk:monitor": "snyk monitor",
176
+ "postbuild": "cp src/banks/components/noResults.svg lib/banks/components/; cp src/banks/components/noResults.svg es/banks/components/; pnpm postbuild:errorImage",
177
+ "postbuild:all": "pnpm postbuild",
178
+ "postbuild:errorImage": "cp src/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg es/reporting/components/resources/NewQuizAndItemAnalysis/; cp src/reporting/components/resources/NewQuizAndItemAnalysis/downForRepair.svg lib/reporting/components/resources/NewQuizAndItemAnalysis/",
179
+ "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx}\"",
180
+ "typecheck": "tsc --noEmit"
181
+ }
182
+ }
@@ -1,5 +0,0 @@
1
- export var generateExternalStyle = function generateExternalStyle() {
2
- return {
3
- showReturnButton: true
4
- };
5
- };
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { AccessCodeTextInput } from "./index.js";
3
- export default {
4
- title: AccessCodeTextInput.name
5
- };
6
- var _ref = /*#__PURE__*/React.createElement(AccessCodeTextInput, {
7
- value: "Is it secret? Is it safe?"
8
- });
9
- export var whenRendered = function whenRendered() {
10
- return _ref;
11
- };
@@ -1,47 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
- import React, { Component } from 'react';
6
- import MaskedTextInput from "../MaskedTextInput/index.js";
7
- import { ScreenReaderContent } from '@instructure/ui-a11y-content';
8
- import t from '@instructure/quiz-i18n/es/format-message';
9
- export var AccessCodeTextInput = /*#__PURE__*/function (_Component) {
10
- _inherits(AccessCodeTextInput, _Component);
11
- var _super = _createSuper(AccessCodeTextInput);
12
- function AccessCodeTextInput() {
13
- var _this;
14
- _classCallCheck(this, AccessCodeTextInput);
15
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
16
- args[_key] = arguments[_key];
17
- }
18
- _this = _super.call.apply(_super, [this].concat(args));
19
- _this.state = {
20
- masked: true
21
- };
22
- _this.handleMaskedChange = function () {
23
- _this.setState(function (state) {
24
- return {
25
- masked: !state.masked
26
- };
27
- });
28
- };
29
- return _this;
30
- }
31
- _createClass(AccessCodeTextInput, [{
32
- key: "render",
33
- value: function render() {
34
- return /*#__PURE__*/React.createElement(MaskedTextInput, Object.assign({
35
- renderLabel: /*#__PURE__*/React.createElement(ScreenReaderContent, null, t('Access Code')),
36
- display: "inline-block",
37
- type: "text",
38
- onMaskedChange: this.handleMaskedChange,
39
- masked: this.state.masked,
40
- checkboxLabel: t('Show access code')
41
- }, this.props));
42
- }
43
- }]);
44
- AccessCodeTextInput.displayName = "AccessCodeTextInput";
45
- return AccessCodeTextInput;
46
- }(Component);
47
- export default AccessCodeTextInput;
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- import { MaskedTextInput } from "./index.js";
3
- var props = {
4
- renderLabel: 'Example of a masked text input',
5
- checkboxLabel: 'Select to show the current value',
6
- value: 'Is it secret? Is it safe?',
7
- onMaskedChange: Function.prototype
8
- };
9
- export default {
10
- title: MaskedTextInput.name
11
- };
12
- export var whenMasked = function whenMasked() {
13
- return /*#__PURE__*/React.createElement(MaskedTextInput, props);
14
- };
15
- export var whenUnmasked = function whenUnmasked() {
16
- return /*#__PURE__*/React.createElement(MaskedTextInput, Object.assign({}, props, {
17
- masked: false
18
- }));
19
- };
@@ -1,64 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
- import React, { Component } from 'react';
7
- import PropTypes from 'prop-types';
8
- import { View } from '@instructure/ui-view';
9
- import { Checkbox } from '@instructure/ui-checkbox';
10
- import { omitProps } from '@instructure/ui-react-utils';
11
- import { TextInput } from '@instructure/quiz-common';
12
- var maskedTextInputPropTypes = {
13
- /**
14
- * The label to be used for the checkbox that controls whether the input is masked
15
- */
16
- checkboxLabel: PropTypes.string.isRequired,
17
- /**
18
- * Whether or not the input text is masked
19
- */
20
- masked: PropTypes.bool,
21
- /**
22
- * The function to call when the user clicks the checkbox to either mask or unmask the input
23
- */
24
- onMaskedChange: PropTypes.func
25
- };
26
- export var MaskedTextInput = /*#__PURE__*/function (_Component) {
27
- _inherits(MaskedTextInput, _Component);
28
- var _super = _createSuper(MaskedTextInput);
29
- function MaskedTextInput() {
30
- _classCallCheck(this, MaskedTextInput);
31
- return _super.apply(this, arguments);
32
- }
33
- _createClass(MaskedTextInput, [{
34
- key: "render",
35
- value: function render() {
36
- var _this$props = this.props,
37
- checkboxLabel = _this$props.checkboxLabel,
38
- masked = _this$props.masked,
39
- onMaskedChange = _this$props.onMaskedChange,
40
- type = _this$props.type;
41
- var textInputProps = _objectSpread(_objectSpread({}, omitProps(this.props, maskedTextInputPropTypes)), {}, {
42
- type: masked ? 'password' : type
43
- });
44
- return /*#__PURE__*/React.createElement(View, {
45
- as: "div"
46
- }, /*#__PURE__*/React.createElement(TextInput, textInputProps), /*#__PURE__*/React.createElement(View, {
47
- as: "div",
48
- margin: "small 0"
49
- }, /*#__PURE__*/React.createElement(Checkbox, {
50
- label: checkboxLabel,
51
- checked: !masked,
52
- onChange: onMaskedChange
53
- })));
54
- }
55
- }]);
56
- MaskedTextInput.displayName = "MaskedTextInput";
57
- return MaskedTextInput;
58
- }(Component);
59
- MaskedTextInput.propTypes = _objectSpread(_objectSpread({}, maskedTextInputPropTypes), TextInput.propTypes);
60
- MaskedTextInput.defaultProps = _objectSpread(_objectSpread({}, TextInput.defaultProps), {}, {
61
- masked: true,
62
- onMaskedChange: Function.prototype
63
- });
64
- export default MaskedTextInput;
@@ -1,7 +0,0 @@
1
- export var generateExternalStyle = function generateExternalStyle() {
2
- return {
3
- showBrandIcon: true,
4
- desktopBottomBorder: true,
5
- desktopBottomBorderInverse: true
6
- };
7
- };
@@ -1,10 +0,0 @@
1
- export var generateExternalStyle = function generateExternalStyle(componentTheme) {
2
- return {
3
- sidebar: {
4
- borderTop: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
5
- borderRight: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
6
- borderBottom: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor),
7
- borderLeft: "".concat(componentTheme.sidebarBorderWidth, " solid ").concat(componentTheme.sidebarBorderColor)
8
- }
9
- };
10
- };
@@ -1,12 +0,0 @@
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
- showReturnButton: true
10
- };
11
- };
12
- exports.generateExternalStyle = generateExternalStyle;
@@ -1,20 +0,0 @@
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;
@@ -1,57 +0,0 @@
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;