@instructure/quiz-core 20.36.1 → 20.37.1

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 (83) 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 -2
  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/components/resources/quizEntry/QuizEntryEdit/Header/index.js +40 -23
  17. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/styles.js +1 -29
  18. package/es/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +1 -5
  19. package/es/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +11 -0
  20. package/es/common/components/AccessCodeTextInput/index.js +47 -0
  21. package/es/common/components/ImportModal/presenter.js +1 -2
  22. package/es/common/components/MaskedTextInput/MaskedTextInput.stories.js +19 -0
  23. package/es/common/components/MaskedTextInput/index.js +64 -0
  24. package/es/common/components/layout/Page/styles.js +1 -10
  25. package/es/common/components/layout/navbar/externalStyles.js +7 -0
  26. package/es/common/components/layout/navbar/styles.js +4 -5
  27. package/es/common/components/layout/sidebar/Sidebar/externalStyles.js +10 -0
  28. package/es/common/components/layout/sidebar/Sidebar/styles.js +4 -6
  29. package/es/common/components/resources/item/ItemEdit/presenter.js +2 -4
  30. package/es/common/components/resources/quiz/instructions/styles.js +4 -5
  31. package/es/common/components/resources/quiz/instructions/theme.js +1 -2
  32. package/es/common/components/resources/stimulus/StimulusEditInfo/presenter.js +5 -8
  33. package/es/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +1 -2
  34. package/es/common/components/shared/TagSelect/presenter.js +1 -2
  35. package/es/common/components/shared/TimeUnitsInput/index.js +2 -1
  36. package/es/common/records/Stimulus.js +2 -1
  37. package/es/index.js +3 -1
  38. package/es/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +2 -2
  39. package/es/moderating/components/resources/AccommodationsModal/index.js +5 -13
  40. package/es/moderating/components/resources/ModerateTable/presenter.js +4 -2
  41. package/es/moderating/components/sidebar/ModerateTray/presenter.js +20 -29
  42. package/lib/banks/components/AddToBankModal/presenter.js +1 -2
  43. package/lib/banks/components/AsyncSearch/index.js +8 -9
  44. package/lib/banks/components/BankEntry/presenter.js +1 -2
  45. package/lib/banks/components/BankSearch/presenter.js +1 -2
  46. package/lib/banks/components/Banks/index.js +0 -1
  47. package/lib/banks/components/Banks/presenter.js +9 -13
  48. package/lib/banks/components/CopyMoveBankEntryModal/presenter.js +1 -2
  49. package/lib/banks/components/CreateBankModal/presenter.js +1 -2
  50. package/lib/banks/components/EditBankModal/presenter.js +1 -2
  51. package/lib/banks/components/NavWrapper/externalStyles.js +12 -0
  52. package/lib/banks/components/NavWrapper/styles.js +5 -3
  53. package/lib/banks/components/SharingModal/RootAccountSharing.js +3 -4
  54. package/lib/banks/components/SharingModal/ShareList/index.js +3 -4
  55. package/lib/banks/components/SharingModal/index.js +0 -2
  56. package/lib/banks/components/SharingModal/presenter.js +20 -80
  57. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/index.js +39 -22
  58. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/styles.js +1 -29
  59. package/lib/building/components/resources/quizEntry/QuizEntryEdit/Header/theme.js +1 -5
  60. package/lib/common/components/AccessCodeTextInput/AccessCodeTextInput.stories.js +20 -0
  61. package/lib/common/components/AccessCodeTextInput/index.js +57 -0
  62. package/lib/common/components/ImportModal/presenter.js +1 -2
  63. package/lib/common/components/MaskedTextInput/MaskedTextInput.stories.js +29 -0
  64. package/lib/common/components/MaskedTextInput/index.js +74 -0
  65. package/lib/common/components/layout/Page/styles.js +1 -10
  66. package/lib/common/components/layout/navbar/externalStyles.js +14 -0
  67. package/lib/common/components/layout/navbar/styles.js +5 -5
  68. package/lib/common/components/layout/sidebar/Sidebar/externalStyles.js +17 -0
  69. package/lib/common/components/layout/sidebar/Sidebar/styles.js +4 -6
  70. package/lib/common/components/resources/item/ItemEdit/presenter.js +2 -4
  71. package/lib/common/components/resources/quiz/instructions/styles.js +4 -5
  72. package/lib/common/components/resources/quiz/instructions/theme.js +1 -2
  73. package/lib/common/components/resources/stimulus/StimulusEditInfo/presenter.js +12 -15
  74. package/lib/common/components/shared/GenericAsyncSearch/GenericAsyncSearch.js +3 -4
  75. package/lib/common/components/shared/TagSelect/presenter.js +4 -5
  76. package/lib/common/components/shared/TimeUnitsInput/index.js +2 -1
  77. package/lib/common/records/Stimulus.js +2 -1
  78. package/lib/index.js +22 -6
  79. package/lib/moderating/components/resources/AccommodationsModal/ExtraTimeSettings/index.js +7 -7
  80. package/lib/moderating/components/resources/AccommodationsModal/index.js +5 -13
  81. package/lib/moderating/components/resources/ModerateTable/presenter.js +4 -2
  82. package/lib/moderating/components/sidebar/ModerateTray/presenter.js +20 -29
  83. package/package.json +9 -8
@@ -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;
@@ -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;
@@ -24,16 +24,7 @@ var generateStyle = function generateStyle(componentTheme, props) {
24
24
  overflowY: 'auto'
25
25
  }), {}, {
26
26
  transition: componentTheme.contentTransition,
27
- width: '100%',
28
- '.user_content p': {
29
- margin: componentTheme.userContentMargin,
30
- '&:first-of-type': {
31
- marginTop: componentTheme.userContentZeroMargin
32
- },
33
- '&:last-child': {
34
- marginBottom: componentTheme.userContentZeroMargin
35
- }
36
- }
27
+ width: '100%'
37
28
  })
38
29
  };
39
30
  };
@@ -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;
@@ -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;
@@ -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)
@@ -10,20 +10,19 @@ 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: "0 ".concat(componentTheme.wrapperPadding, " ").concat(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
24
  '&:last-child': {
26
- marginBottom: componentTheme.userContentMargin
25
+ margin: "".concat(componentTheme.userContentMargin, " 0 0")
27
26
  }
28
27
  }
29
28
  },
@@ -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;
@@ -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");
@@ -85,18 +82,18 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
85
82
  var stimulusOrientation = this.props.workingStimulus.get('orientation');
86
83
  return (0, _emotion.jsx)("div", {
87
84
  css: this.props.styles.section
88
- }, (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect, {
85
+ }, (0, _emotion.jsx)(_quizCommon.SimpleSelect, {
89
86
  renderLabel: (0, _formatMessage.default)('Orientation'),
90
87
  onChange: this.onOrientationChange,
91
88
  value: stimulusOrientation,
92
89
  renderBeforeInput: (0, _emotion.jsx)(_uiIcons.IconUpdownLine, {
93
90
  rotate: stimulusOrientation === _quizCommon.TOP ? '0' : '90'
94
91
  })
95
- }, (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect.Option, {
92
+ }, (0, _emotion.jsx)(_quizCommon.SimpleSelect.Option, {
96
93
  renderBeforeLabel: _ref3,
97
94
  id: "stimulus-orientation-select-option-left",
98
95
  value: "left"
99
- }, (0, _formatMessage.default)('Questions to the right')), (0, _emotion.jsx)(_uiSimpleSelect.SimpleSelect.Option, {
96
+ }, (0, _formatMessage.default)('Questions to the right')), (0, _emotion.jsx)(_quizCommon.SimpleSelect.Option, {
100
97
  renderBeforeLabel: _ref4,
101
98
  id: "stimulus-orientation-select-option-top",
102
99
  value: "top"
@@ -108,7 +105,7 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
108
105
  var stimulus = this.props.workingStimulus;
109
106
  var textAreaId = "stimulusBodyEdit_".concat(stimulus.id, "_").concat(this.props.isBankedContent);
110
107
  var stimulusBodyId = "stimulusBodyEdit_".concat(stimulus.id, "_body");
111
- return (0, _emotion.jsx)(_uiFormField.FormFieldGroup, {
108
+ return (0, _emotion.jsx)(_quizCommon.FormFieldGroup, {
112
109
  messages: this.inputErrors('onSelf'),
113
110
  description: (0, _emotion.jsx)(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Edit Stimulus'))
114
111
  }, (0, _emotion.jsx)(_uiHeading.Heading, {
@@ -116,9 +113,10 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
116
113
  as: "h2"
117
114
  }, this.headerText()), (0, _emotion.jsx)("div", {
118
115
  css: this.props.styles.section
119
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
116
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
120
117
  messages: this.inputErrors('title'),
121
118
  renderLabel: (0, _formatMessage.default)('Title'),
119
+ isRequired: true,
122
120
  type: "text",
123
121
  ref: this.props.setTitleRef,
124
122
  onChange: this.onTextInputChange('title'),
@@ -126,7 +124,7 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
126
124
  "data-automation": "sdk-stimulus-title-input"
127
125
  })), (0, _emotion.jsx)("div", {
128
126
  css: this.props.styles.section
129
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
127
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
130
128
  renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Instructions')),
131
129
  type: "text",
132
130
  onChange: this.onTextInputChange('instructions'),
@@ -134,14 +132,13 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
134
132
  "data-automation": "sdk-stimulus-instructions-input"
135
133
  })), (0, _emotion.jsx)("div", {
136
134
  css: this.props.styles.section
137
- }, (0, _emotion.jsx)(_uiFormField.FormField, {
138
- id: stimulusBodyId,
139
- label: (0, _formatMessage.default)('Content')
135
+ }, (0, _emotion.jsx)(_quizCommon.FormField, {
136
+ id: stimulusBodyId
140
137
  }, (0, _emotion.jsx)(_quizRce.RichContentInput, {
141
138
  actsAsInput: true,
142
- label: "",
139
+ label: (0, _formatMessage.default)('Content'),
140
+ isRequired: true,
143
141
  messages: this.inputErrors('body'),
144
- placeholder: (0, _formatMessage.default)('Add Stimulus Content...'),
145
142
  textareaId: textAreaId,
146
143
  defaultContent: stimulus.get('body'),
147
144
  onKeyUp: this.onBodyChange,
@@ -157,7 +154,7 @@ var StimulusEditInfo = (_dec = (0, _quizCommon.withStyleOverrides)(_styles.defau
157
154
  summary: (0, _formatMessage.default)('Options')
158
155
  }, this.props.stimulusOrientationEnabled ? this.renderStimulusOrientationSelect() : null, (0, _emotion.jsx)("div", {
159
156
  css: this.props.styles.section
160
- }, (0, _emotion.jsx)(_uiTextInput.TextInput, {
157
+ }, (0, _emotion.jsx)(_quizCommon.TextInput, {
161
158
  renderLabel: this.renderOptionalLabel((0, _formatMessage.default)('Source URL'), (0, _formatMessage.default)('(optional - not visible to students)')),
162
159
  type: "text",
163
160
  onChange: this.onTextInputChange('sourceUrl'),