@instructure/quiz-core 17.47.0 → 17.47.1-rc.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.
@@ -0,0 +1,36 @@
1
+ import React, { useEffect } from 'react';
2
+ import { connect } from "../../react-redux.js";
3
+ import { bool, node, func } from 'prop-types';
4
+ import { getFeatures } from "../../api/features.js";
5
+ import { QuizzesSpinner as Spinner } from "../shared/spinner/Spinner.js";
6
+ import { Card } from "../shared/Card/index.js";
7
+
8
+ var _ref = /*#__PURE__*/React.createElement(Card, {
9
+ wrapped: true
10
+ }, /*#__PURE__*/React.createElement(Spinner, null));
11
+
12
+ export var ApiFeatureFlagInitializerComponent = function ApiFeatureFlagInitializerComponent(props) {
13
+ useEffect(function () {
14
+ !props.loadedApiFeatures && props.getFeatures();
15
+ }, []);
16
+ return props.loadedApiFeatures ? props.children : _ref;
17
+ };
18
+ ApiFeatureFlagInitializerComponent.propTypes = {
19
+ children: node.isRequired,
20
+ getFeatures: func.isRequired,
21
+ loadedApiFeatures: bool
22
+ };
23
+ ApiFeatureFlagInitializerComponent.defaultProps = {
24
+ loadedApiFeatures: false
25
+ };
26
+
27
+ var mapStateToProps = function mapStateToProps(state, ownProps) {
28
+ return {
29
+ loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
30
+ };
31
+ };
32
+
33
+ var mapDispatchToProps = {
34
+ getFeatures: getFeatures
35
+ };
36
+ export var ApiFeatureFlagInitializer = connect(mapStateToProps, mapDispatchToProps)(ApiFeatureFlagInitializerComponent);
@@ -4,17 +4,17 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import React, { useEffect, useState } from 'react';
6
6
  import PropTypes from 'prop-types';
7
- import { connect } from "../../common/react-redux.js";
8
- import store from "../../reduxStore.js";
9
- import { setRCEError } from "../actions/rce.js";
10
- import { isNewRCEEnabled, isNewRCEAppsEnabled, isRCE5RendererEnabled } from "./rceChecker.js";
11
- import { QuizzesSpinner as Spinner } from "../components/shared/spinner/Spinner.js";
12
- import { Card } from "../components/shared/Card/index.js";
7
+ import { connect } from "../../react-redux.js";
8
+ import store from "../../../reduxStore.js";
9
+ import { setRCEError } from "../../actions/rce.js";
10
+ import { isNewRCEEnabled, isNewRCEAppsEnabled, isRCE5RendererEnabled } from "../../util/rceChecker.js";
11
+ import { QuizzesSpinner as Spinner } from "../shared/spinner/Spinner.js";
12
+ import { Card } from "../shared/Card/index.js";
13
13
  import { RceConfigContext, RceConfigKeys } from '@instructure/quiz-common';
14
- import { addError } from "../actions/alerts.js";
14
+ import { addError } from "../../actions/alerts.js";
15
15
  import t from '@instructure/quiz-i18n/es/format-message';
16
16
  import { extractTextFromHtml } from '@instructure/quiz-interactions';
17
- import { isQuizTaking, isQuizBuilding } from "./windowChecks.js";
17
+ import { isQuizTaking, isQuizBuilding } from "../../util/windowChecks.js";
18
18
 
19
19
  var _ref4 = /*#__PURE__*/React.createElement(Card, {
20
20
  wrapped: true
@@ -40,6 +40,10 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
40
40
  return !!(props.contextId && props.contextType && props.canvasUserId && props.rcsHost && props.rcsJwtRefreshFn && props.rcsJwt);
41
41
  };
42
42
 
43
+ var isRce5Disabled = function isRce5Disabled() {
44
+ return !props.isNewRCEEnabled && !props.rce5Renderer;
45
+ };
46
+
43
47
  var refreshToken = /*#__PURE__*/function () {
44
48
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(setTokenFn, questionStem) {
45
49
  var _response$json;
@@ -140,7 +144,7 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
140
144
  while (1) {
141
145
  switch (_context2.prev = _context2.next) {
142
146
  case 0:
143
- if (!(!props.isNewRCEEnabled && !props.rce5Renderer)) {
147
+ if (!isRce5Disabled()) {
144
148
  _context2.next = 2;
145
149
  break;
146
150
  }
@@ -203,19 +207,17 @@ export var RceConfigProviderComponent = function RceConfigProviderComponent(prop
203
207
  }))();
204
208
  }, [props.isNewRCEEnabled, props.rce5Renderer]);
205
209
 
206
- if (props.loadedApiFeatures) {
207
- if (props.isNewRCEEnabled || props.rce5Renderer) {
208
- if (!canvasConfigLoading) {
209
- return /*#__PURE__*/React.createElement(RceConfigContext.Provider, {
210
- value: getConfig()
211
- }, props.children);
212
- }
213
- } else {
214
- return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);
215
- }
210
+ if (isRce5Disabled()) {
211
+ return /*#__PURE__*/React.createElement(React.Fragment, null, props.children);
216
212
  }
217
213
 
218
- return _ref4;
214
+ if (!canvasConfigLoading) {
215
+ return /*#__PURE__*/React.createElement(RceConfigContext.Provider, {
216
+ value: getConfig()
217
+ }, props.children);
218
+ } else {
219
+ return _ref4;
220
+ }
219
221
  };
220
222
  RceConfigProviderComponent.propTypes = {
221
223
  children: PropTypes.node.isRequired,
@@ -229,8 +231,7 @@ RceConfigProviderComponent.propTypes = {
229
231
  rcsHost: PropTypes.string,
230
232
  rcsJwt: PropTypes.string,
231
233
  rcsJwtRefreshFn: PropTypes.func,
232
- canvasOrigin: PropTypes.string,
233
- loadedApiFeatures: PropTypes.bool
234
+ canvasOrigin: PropTypes.string
234
235
  };
235
236
  RceConfigProviderComponent.defaultProps = {
236
237
  contextId: null,
@@ -240,16 +241,14 @@ RceConfigProviderComponent.defaultProps = {
240
241
  rcsJwt: null,
241
242
  rcsJwtRefreshFn: null,
242
243
  canvasOrigin: null,
243
- loadedApiFeatures: false,
244
244
  isNewRCEAppsEnabled: false
245
245
  };
246
246
 
247
- var mapStateToProps = function mapStateToProps(state, ownProps) {
247
+ var mapStateToProps = function mapStateToProps() {
248
248
  return {
249
249
  isNewRCEEnabled: isNewRCEEnabled(),
250
250
  rce5Renderer: isRCE5RendererEnabled(),
251
- isNewRCEAppsEnabled: isNewRCEAppsEnabled(),
252
- loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
251
+ isNewRCEAppsEnabled: isNewRCEAppsEnabled()
253
252
  };
254
253
  };
255
254
 
@@ -17,7 +17,6 @@ import { ApplyLocale } from '@instructure/ui-i18n';
17
17
  import { Provider } from "../../react-redux.js";
18
18
  import store from "../../../reduxStore.js";
19
19
  import { getLocale } from '@instructure/quiz-common';
20
- import { getFeatures } from "../../api/features.js";
21
20
  import { set } from "../../actions/ui.js";
22
21
  import { setAPIEndpoint, setCanvasOrigin, setUserToken } from "../../actions/config.js";
23
22
  import { setContextUuid, setOutcomesEndpoint, setOutcomesToken } from "../../actions/outcomes.js";
@@ -34,7 +33,8 @@ import theme from "./theme.js";
34
33
  import CustomPropTypes from "../../../common/util/CustomPropTypes.js";
35
34
  import ConfirmationModal from "../ConfirmationModal/index.js";
36
35
  import setupFormatMessage from '@instructure/quiz-i18n/es/util/setupFormatMessage';
37
- import { RceConfigProvider } from "../../util/RceConfigProvider.js";
36
+ import { RceConfigProvider } from "../RceConfigProvider/RceConfigProvider.js";
37
+ import { ApiFeatureFlagInitializer } from "../ApiFeatureFlagInitializer/index.js";
38
38
 
39
39
  var _ref = /*#__PURE__*/React.createElement(ConfirmationModal, null);
40
40
 
@@ -81,7 +81,6 @@ export var SDKApp = (_dec = themeable(theme, styles), _dec(_class = (_temp = _cl
81
81
  var _this$props$rceConfig;
82
82
 
83
83
  this.store.dispatch([setAPIEndpoint(this.props.apiEndpoint), setCanvasOrigin((_this$props$rceConfig = this.props.rceConfig) === null || _this$props$rceConfig === void 0 ? void 0 : _this$props$rceConfig.canvasOrigin), this.setAppContainer(this.props.appContainer), setUserToken(this.props.userToken), setOutcomesEndpoint(this.props.outcomesEndpoint), setOutcomesToken(this.props.outcomesToken), setContextUuid(this.props.contextUuid)]);
84
- this.store.dispatch(getFeatures());
85
84
 
86
85
  if (this.props.itemBankSharingEnabled) {
87
86
  this.store.dispatch(addFeatures('item_bank_sharing'));
@@ -140,13 +139,13 @@ export var SDKApp = (_dec = themeable(theme, styles), _dec(_class = (_temp = _cl
140
139
  context = this.context;
141
140
  return /*#__PURE__*/React.createElement(Provider, {
142
141
  store: store
143
- }, /*#__PURE__*/React.createElement(RceConfigProvider, this.props.rceConfig, /*#__PURE__*/React.createElement(ApplyLocale, {
142
+ }, /*#__PURE__*/React.createElement(ApiFeatureFlagInitializer, null, /*#__PURE__*/React.createElement(RceConfigProvider, this.props.rceConfig, /*#__PURE__*/React.createElement(ApplyLocale, {
144
143
  locale: getLocale(props, context),
145
144
  timezone: props.timeZone
146
145
  }, /*#__PURE__*/React.createElement("div", {
147
146
  className: styles.sdk,
148
147
  "data-automation": "sdk-app"
149
- }, _ref, props.children))));
148
+ }, _ref, props.children)))));
150
149
  }
151
150
  }]);
152
151
 
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ApiFeatureFlagInitializer = exports.ApiFeatureFlagInitializerComponent = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _reactRedux = require("../../react-redux.js");
13
+
14
+ var _propTypes = require("prop-types");
15
+
16
+ var _features = require("../../api/features.js");
17
+
18
+ var _Spinner = require("../shared/spinner/Spinner.js");
19
+
20
+ var _index = require("../shared/Card/index.js");
21
+
22
+ var _ref = /*#__PURE__*/_react.default.createElement(_index.Card, {
23
+ wrapped: true
24
+ }, /*#__PURE__*/_react.default.createElement(_Spinner.QuizzesSpinner, null));
25
+
26
+ var ApiFeatureFlagInitializerComponent = function ApiFeatureFlagInitializerComponent(props) {
27
+ (0, _react.useEffect)(function () {
28
+ !props.loadedApiFeatures && props.getFeatures();
29
+ }, []);
30
+ return props.loadedApiFeatures ? props.children : _ref;
31
+ };
32
+
33
+ exports.ApiFeatureFlagInitializerComponent = ApiFeatureFlagInitializerComponent;
34
+ ApiFeatureFlagInitializerComponent.propTypes = {
35
+ children: _propTypes.node.isRequired,
36
+ getFeatures: _propTypes.func.isRequired,
37
+ loadedApiFeatures: _propTypes.bool
38
+ };
39
+ ApiFeatureFlagInitializerComponent.defaultProps = {
40
+ loadedApiFeatures: false
41
+ };
42
+
43
+ var mapStateToProps = function mapStateToProps(state, ownProps) {
44
+ return {
45
+ loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
46
+ };
47
+ };
48
+
49
+ var mapDispatchToProps = {
50
+ getFeatures: _features.getFeatures
51
+ };
52
+ var ApiFeatureFlagInitializer = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ApiFeatureFlagInitializerComponent);
53
+ exports.ApiFeatureFlagInitializer = ApiFeatureFlagInitializer;
@@ -21,27 +21,27 @@ var _react = _interopRequireWildcard(require("react"));
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
- var _reactRedux = require("../../common/react-redux.js");
24
+ var _reactRedux = require("../../react-redux.js");
25
25
 
26
- var _reduxStore = _interopRequireDefault(require("../../reduxStore.js"));
26
+ var _reduxStore = _interopRequireDefault(require("../../../reduxStore.js"));
27
27
 
28
- var _rce = require("../actions/rce.js");
28
+ var _rce = require("../../actions/rce.js");
29
29
 
30
- var _rceChecker = require("./rceChecker.js");
30
+ var _rceChecker = require("../../util/rceChecker.js");
31
31
 
32
- var _Spinner = require("../components/shared/spinner/Spinner.js");
32
+ var _Spinner = require("../shared/spinner/Spinner.js");
33
33
 
34
- var _index = require("../components/shared/Card/index.js");
34
+ var _index = require("../shared/Card/index.js");
35
35
 
36
36
  var _quizCommon = require("@instructure/quiz-common");
37
37
 
38
- var _alerts = require("../actions/alerts.js");
38
+ var _alerts = require("../../actions/alerts.js");
39
39
 
40
40
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
41
41
 
42
42
  var _quizInteractions = require("@instructure/quiz-interactions");
43
43
 
44
- var _windowChecks = require("./windowChecks.js");
44
+ var _windowChecks = require("../../util/windowChecks.js");
45
45
 
46
46
  var _ref4 = /*#__PURE__*/_react.default.createElement(_index.Card, {
47
47
  wrapped: true
@@ -67,6 +67,10 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
67
67
  return !!(props.contextId && props.contextType && props.canvasUserId && props.rcsHost && props.rcsJwtRefreshFn && props.rcsJwt);
68
68
  };
69
69
 
70
+ var isRce5Disabled = function isRce5Disabled() {
71
+ return !props.isNewRCEEnabled && !props.rce5Renderer;
72
+ };
73
+
70
74
  var refreshToken = /*#__PURE__*/function () {
71
75
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(setTokenFn, questionStem) {
72
76
  var _response$json;
@@ -167,7 +171,7 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
167
171
  while (1) {
168
172
  switch (_context2.prev = _context2.next) {
169
173
  case 0:
170
- if (!(!props.isNewRCEEnabled && !props.rce5Renderer)) {
174
+ if (!isRce5Disabled()) {
171
175
  _context2.next = 2;
172
176
  break;
173
177
  }
@@ -230,19 +234,17 @@ var RceConfigProviderComponent = function RceConfigProviderComponent(props) {
230
234
  }))();
231
235
  }, [props.isNewRCEEnabled, props.rce5Renderer]);
232
236
 
233
- if (props.loadedApiFeatures) {
234
- if (props.isNewRCEEnabled || props.rce5Renderer) {
235
- if (!canvasConfigLoading) {
236
- return /*#__PURE__*/_react.default.createElement(_quizCommon.RceConfigContext.Provider, {
237
- value: getConfig()
238
- }, props.children);
239
- }
240
- } else {
241
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.children);
242
- }
237
+ if (isRce5Disabled()) {
238
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, props.children);
243
239
  }
244
240
 
245
- return _ref4;
241
+ if (!canvasConfigLoading) {
242
+ return /*#__PURE__*/_react.default.createElement(_quizCommon.RceConfigContext.Provider, {
243
+ value: getConfig()
244
+ }, props.children);
245
+ } else {
246
+ return _ref4;
247
+ }
246
248
  };
247
249
 
248
250
  exports.RceConfigProviderComponent = RceConfigProviderComponent;
@@ -258,8 +260,7 @@ RceConfigProviderComponent.propTypes = {
258
260
  rcsHost: _propTypes.default.string,
259
261
  rcsJwt: _propTypes.default.string,
260
262
  rcsJwtRefreshFn: _propTypes.default.func,
261
- canvasOrigin: _propTypes.default.string,
262
- loadedApiFeatures: _propTypes.default.bool
263
+ canvasOrigin: _propTypes.default.string
263
264
  };
264
265
  RceConfigProviderComponent.defaultProps = {
265
266
  contextId: null,
@@ -269,16 +270,14 @@ RceConfigProviderComponent.defaultProps = {
269
270
  rcsJwt: null,
270
271
  rcsJwtRefreshFn: null,
271
272
  canvasOrigin: null,
272
- loadedApiFeatures: false,
273
273
  isNewRCEAppsEnabled: false
274
274
  };
275
275
 
276
- var mapStateToProps = function mapStateToProps(state, ownProps) {
276
+ var mapStateToProps = function mapStateToProps() {
277
277
  return {
278
278
  isNewRCEEnabled: (0, _rceChecker.isNewRCEEnabled)(),
279
279
  rce5Renderer: (0, _rceChecker.isRCE5RendererEnabled)(),
280
- isNewRCEAppsEnabled: (0, _rceChecker.isNewRCEAppsEnabled)(),
281
- loadedApiFeatures: state.getIn(['ui', 'loadedApiFeatures']) || ownProps.loadedApiFeatures
280
+ isNewRCEAppsEnabled: (0, _rceChecker.isNewRCEAppsEnabled)()
282
281
  };
283
282
  };
284
283
 
@@ -35,15 +35,13 @@ var _reduxStore = _interopRequireDefault(require("../../../reduxStore.js"));
35
35
 
36
36
  var _quizCommon = require("@instructure/quiz-common");
37
37
 
38
- var _features = require("../../api/features.js");
39
-
40
38
  var _ui = require("../../actions/ui.js");
41
39
 
42
40
  var _config = require("../../actions/config.js");
43
41
 
44
42
  var _outcomes = require("../../actions/outcomes.js");
45
43
 
46
- var _features2 = require("../../actions/features.js");
44
+ var _features = require("../../actions/features.js");
47
45
 
48
46
  var _renderAlerts = _interopRequireDefault(require("../../util/renderAlerts.js"));
49
47
 
@@ -55,7 +53,9 @@ var _index = _interopRequireDefault(require("../ConfirmationModal/index.js"));
55
53
 
56
54
  var _setupFormatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/util/setupFormatMessage"));
57
55
 
58
- var _RceConfigProvider = require("../../util/RceConfigProvider.js");
56
+ var _RceConfigProvider = require("../RceConfigProvider/RceConfigProvider.js");
57
+
58
+ var _index2 = require("../ApiFeatureFlagInitializer/index.js");
59
59
 
60
60
  var _dec, _class, _class2, _temp;
61
61
 
@@ -111,10 +111,9 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
111
111
  var _this$props$rceConfig;
112
112
 
113
113
  this.store.dispatch([(0, _config.setAPIEndpoint)(this.props.apiEndpoint), (0, _config.setCanvasOrigin)((_this$props$rceConfig = this.props.rceConfig) === null || _this$props$rceConfig === void 0 ? void 0 : _this$props$rceConfig.canvasOrigin), this.setAppContainer(this.props.appContainer), (0, _config.setUserToken)(this.props.userToken), (0, _outcomes.setOutcomesEndpoint)(this.props.outcomesEndpoint), (0, _outcomes.setOutcomesToken)(this.props.outcomesToken), (0, _outcomes.setContextUuid)(this.props.contextUuid)]);
114
- this.store.dispatch((0, _features.getFeatures)());
115
114
 
116
115
  if (this.props.itemBankSharingEnabled) {
117
- this.store.dispatch((0, _features2.addFeatures)('item_bank_sharing'));
116
+ this.store.dispatch((0, _features.addFeatures)('item_bank_sharing'));
118
117
  }
119
118
  }
120
119
  }, {
@@ -158,7 +157,7 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
158
157
  }
159
158
 
160
159
  if (newProps.itemBankSharingEnabled !== this.props.itemBankSharingEnabled) {
161
- var toggleFeature = newProps.itemBankSharingEnabled ? _features2.addFeatures : _features2.removeFeatures;
160
+ var toggleFeature = newProps.itemBankSharingEnabled ? _features.addFeatures : _features.removeFeatures;
162
161
  this.store.dispatch(toggleFeature('item_bank_sharing'));
163
162
  }
164
163
  }
@@ -170,13 +169,13 @@ var SDKApp = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_
170
169
  context = this.context;
171
170
  return /*#__PURE__*/_react.default.createElement(_reactRedux.Provider, {
172
171
  store: store
173
- }, /*#__PURE__*/_react.default.createElement(_RceConfigProvider.RceConfigProvider, this.props.rceConfig, /*#__PURE__*/_react.default.createElement(_uiI18n.ApplyLocale, {
172
+ }, /*#__PURE__*/_react.default.createElement(_index2.ApiFeatureFlagInitializer, null, /*#__PURE__*/_react.default.createElement(_RceConfigProvider.RceConfigProvider, this.props.rceConfig, /*#__PURE__*/_react.default.createElement(_uiI18n.ApplyLocale, {
174
173
  locale: (0, _quizCommon.getLocale)(props, context),
175
174
  timezone: props.timeZone
176
175
  }, /*#__PURE__*/_react.default.createElement("div", {
177
176
  className: styles.sdk,
178
177
  "data-automation": "sdk-app"
179
- }, _ref, props.children))));
178
+ }, _ref, props.children)))));
180
179
  }
181
180
  }]);
182
181
  SDKApp.displayName = "SDKApp";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "17.47.0",
3
+ "version": "17.47.1-rc.0+f714f1348",
4
4
  "license": "MIT",
5
5
  "description": "The Quiz React SDK by Instructure Inc.",
6
6
  "author": "Instructure, Inc. Engineering and Product Design",
@@ -41,11 +41,11 @@
41
41
  ],
42
42
  "dependencies": {
43
43
  "@instructure/outcomes-ui": "^2.1.2",
44
- "@instructure/quiz-common": "^17.47.0",
45
- "@instructure/quiz-i18n": "^17.47.0",
46
- "@instructure/quiz-interactions": "^17.47.0",
47
- "@instructure/quiz-number-input": "^17.47.0",
48
- "@instructure/quiz-rce": "^17.47.0",
44
+ "@instructure/quiz-common": "17.47.1-rc.0+f714f1348",
45
+ "@instructure/quiz-i18n": "17.47.1-rc.0+f714f1348",
46
+ "@instructure/quiz-interactions": "17.47.1-rc.0+f714f1348",
47
+ "@instructure/quiz-number-input": "17.47.1-rc.0+f714f1348",
48
+ "@instructure/quiz-rce": "17.47.1-rc.0+f714f1348",
49
49
  "@instructure/ui-a11y-content": "^7.20.0",
50
50
  "@instructure/ui-alerts": "^7.20.0",
51
51
  "@instructure/ui-avatar": "^7.20.0",
@@ -106,7 +106,7 @@
106
106
  "eventemitter3": "^3.1.0",
107
107
  "humps": "^2.0.0",
108
108
  "immutable": "^3.8.1",
109
- "instructure-validations": "^17.47.0",
109
+ "instructure-validations": "17.47.1-rc.0+f714f1348",
110
110
  "ipaddr.js": "^1.5.4",
111
111
  "isomorphic-fetch": "^2.2.0",
112
112
  "isuuid": "^0.1.0",
@@ -137,7 +137,7 @@
137
137
  "uuid": "^3.2.1"
138
138
  },
139
139
  "devDependencies": {
140
- "@instructure/quiz-scripts": "^17.47.0",
140
+ "@instructure/quiz-scripts": "17.47.0",
141
141
  "@instructure/ui-axe-check": "^7.20.0",
142
142
  "@instructure/ui-babel-preset": "^7.20.0",
143
143
  "@instructure/ui-karma-config": "^7.20.0",
@@ -156,7 +156,7 @@
156
156
  "intl": "^1.2.4",
157
157
  "jquery": "^2.2.3",
158
158
  "most-subject": "^5.3.0",
159
- "quiz-presets": "^17.47.0",
159
+ "quiz-presets": "17.47.1-rc.0+f714f1348",
160
160
  "react": "^16.8.6",
161
161
  "react-addons-test-utils": "^15.6.2",
162
162
  "react-dom": "^16.8.6",
@@ -172,5 +172,5 @@
172
172
  "publishConfig": {
173
173
  "access": "public"
174
174
  },
175
- "gitHead": "96a94a12f1622e403f065768079884445709a334"
175
+ "gitHead": "f714f13480c8231391e8f905628fc1696c66980a"
176
176
  }