@instructure/quiz-core 17.49.1-rc.6 → 17.49.1-rc.7

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.
@@ -21,9 +21,9 @@ import { View } from '@instructure/ui-view';
21
21
  import { themeable } from '@instructure/ui-themeable';
22
22
  import { Heading } from '@instructure/ui-heading';
23
23
  import t from '@instructure/quiz-i18n/es/format-message';
24
+ import { INSTRUCTIONS_SCROLL_KEY, RESULTS_SCROLL_KEY, SIDEBAR_NAV_ID, TITLE_SCROLL_KEY } from '@instructure/quiz-common';
24
25
  import { onPhone } from "../../../../util/windowChecks.js";
25
26
  import CustomPropTypes from "../../../../util/CustomPropTypes.js";
26
- import { SIDEBAR_NAV_ID } from '@instructure/quiz-common';
27
27
  import noop from "../../../../util/noop.js";
28
28
  import Pin from "./Pin.js";
29
29
  var styles = {
@@ -55,7 +55,11 @@ var _ref2 = /*#__PURE__*/React.createElement(IconQuizInstructionsLine, {
55
55
  color: "primary"
56
56
  });
57
57
 
58
- var _ref3 = /*#__PURE__*/React.createElement(IconPinSolid, null);
58
+ var _ref3 = /*#__PURE__*/React.createElement(IconQuizInstructionsLine, {
59
+ color: "primary"
60
+ });
61
+
62
+ var _ref4 = /*#__PURE__*/React.createElement(IconPinSolid, null);
59
63
 
60
64
  export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
61
65
  _inherits(Sidebar, _Component);
@@ -76,13 +80,19 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
76
80
  _this.scrollToTitle = function (e) {
77
81
  e.preventDefault(); // prevent default link navigation
78
82
 
79
- _this.props.scrollToItem(null)('title');
83
+ _this.props.scrollToItem(null)(TITLE_SCROLL_KEY);
80
84
  };
81
85
 
82
86
  _this.scrollToInfo = function (e) {
83
87
  e.preventDefault(); // prevent default link navigation
84
88
 
85
- _this.props.scrollToItem(null)('instructions');
89
+ _this.props.scrollToItem(null)(INSTRUCTIONS_SCROLL_KEY);
90
+ };
91
+
92
+ _this.scrollToResults = function (e) {
93
+ e.preventDefault(); // prevent default link navigation
94
+
95
+ _this.props.scrollToItem(null)(RESULTS_SCROLL_KEY);
86
96
  };
87
97
 
88
98
  _this.toggleSidebar = function () {
@@ -126,6 +136,10 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
126
136
  }, {
127
137
  key: "renderTitle",
128
138
  value: function renderTitle() {
139
+ if (this.props.grading) {
140
+ return;
141
+ }
142
+
129
143
  return /*#__PURE__*/React.createElement("div", {
130
144
  className: styles.actionableInfo
131
145
  }, /*#__PURE__*/React.createElement(Link, {
@@ -143,6 +157,10 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
143
157
  }, {
144
158
  key: "renderInstructions",
145
159
  value: function renderInstructions() {
160
+ if (this.props.grading) {
161
+ return;
162
+ }
163
+
146
164
  return /*#__PURE__*/React.createElement("div", {
147
165
  className: styles.actionableInfo
148
166
  }, /*#__PURE__*/React.createElement(Link, {
@@ -159,6 +177,29 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
159
177
  tabIndex: "-1"
160
178
  }, t('Instructions'))));
161
179
  }
180
+ }, {
181
+ key: "renderResults",
182
+ value: function renderResults() {
183
+ if (!this.props.grading) {
184
+ return;
185
+ }
186
+
187
+ return /*#__PURE__*/React.createElement("div", {
188
+ className: styles.actionableInfo
189
+ }, /*#__PURE__*/React.createElement(Link, {
190
+ href: "#",
191
+ margin: "small",
192
+ forceButtonRole: false,
193
+ onClick: this.scrollToResults,
194
+ renderIcon: _ref3,
195
+ "data-automation": "sidebar-results-button"
196
+ }, /*#__PURE__*/React.createElement(ScreenReaderContent, null, t('Navigate to results'))), /*#__PURE__*/React.createElement(PresentationContent, null, /*#__PURE__*/React.createElement("span", {
197
+ className: styles.description,
198
+ "data-automation": "sidebar-results-text",
199
+ onClick: this.scrollToResults,
200
+ tabIndex: "-1"
201
+ }, t('Results'))));
202
+ }
162
203
  }, {
163
204
  key: "renderSidebarHeader",
164
205
  value: function renderSidebarHeader() {
@@ -256,7 +297,7 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
256
297
  size: "x-small",
257
298
  "aria-label": t('Pinned Questions'),
258
299
  role: "img"
259
- }, _ref3))), /*#__PURE__*/React.createElement("div", {
300
+ }, _ref4))), /*#__PURE__*/React.createElement("div", {
260
301
  className: closedClasses
261
302
  }, pinnedItems.map(function (pin) {
262
303
  return /*#__PURE__*/React.createElement(Pin, {
@@ -286,7 +327,7 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
286
327
  ,
287
328
  onClick: noop,
288
329
  id: SIDEBAR_NAV_ID
289
- }, this.renderSidebarHeader(), this.renderTotalPointsPossible(), this.renderPinned(), this.renderTitle(), this.renderInstructions(), /*#__PURE__*/React.createElement("div", {
330
+ }, this.renderSidebarHeader(), this.renderTotalPointsPossible(), this.renderPinned(), this.renderTitle(), this.renderInstructions(), this.renderResults(), /*#__PURE__*/React.createElement("div", {
290
331
  className: styles.sidebarContent
291
332
  }, this.props.children)))));
292
333
  }
@@ -296,6 +337,7 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
296
337
  return Sidebar;
297
338
  }(Component), _class2.propTypes = {
298
339
  children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.node]).isRequired,
340
+ grading: PropTypes.bool,
299
341
  taking: PropTypes.bool,
300
342
  scrollToItem: CustomPropTypes.higherOrderFunction.isRequired,
301
343
  sidebarOpen: PropTypes.bool.isRequired,
@@ -310,6 +352,7 @@ export var Sidebar = (_dec = themeable(theme, styles), _dec(_class = (_temp = _c
310
352
  totalPointsPossible: PropTypes.number,
311
353
  shouldCloseOnBlur: PropTypes.bool
312
354
  }, _class2.defaultProps = {
355
+ grading: false,
313
356
  taking: false,
314
357
  title: null,
315
358
  pinnedItems: List(),
@@ -3,6 +3,7 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
3
  import _inherits from "@babel/runtime/helpers/esm/inherits";
4
4
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  import React, { Component } from 'react';
6
+ import { INSTRUCTIONS_SCROLL_KEY, TITLE_SCROLL_KEY } from '@instructure/quiz-common';
6
7
  import ScrollableQuizTitle from "../title/Title.js";
7
8
  import ScrollableQuizInstructions from "../instructions/Instructions.js";
8
9
  export var QuizInfo = /*#__PURE__*/function (_Component) {
@@ -20,9 +21,9 @@ export var QuizInfo = /*#__PURE__*/function (_Component) {
20
21
  key: "render",
21
22
  value: function render() {
22
23
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(ScrollableQuizTitle, Object.assign({}, this.props, {
23
- scrollKey: "title"
24
+ scrollKey: TITLE_SCROLL_KEY
24
25
  })), /*#__PURE__*/React.createElement(ScrollableQuizInstructions, Object.assign({}, this.props, {
25
- scrollKey: "instructions"
26
+ scrollKey: INSTRUCTIONS_SCROLL_KEY
26
27
  })));
27
28
  }
28
29
  }]);
@@ -47,12 +47,12 @@ var _uiHeading = require("@instructure/ui-heading");
47
47
 
48
48
  var _formatMessage = _interopRequireDefault(require("@instructure/quiz-i18n/es/format-message"));
49
49
 
50
+ var _quizCommon = require("@instructure/quiz-common");
51
+
50
52
  var _windowChecks = require("../../../../util/windowChecks.js");
51
53
 
52
54
  var _CustomPropTypes = _interopRequireDefault(require("../../../../util/CustomPropTypes.js"));
53
55
 
54
- var _quizCommon = require("@instructure/quiz-common");
55
-
56
56
  var _noop = _interopRequireDefault(require("../../../../util/noop.js"));
57
57
 
58
58
  var _Pin = _interopRequireDefault(require("./Pin.js"));
@@ -89,7 +89,11 @@ var _ref2 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconQuizInstructi
89
89
  color: "primary"
90
90
  });
91
91
 
92
- var _ref3 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconPinSolid, null);
92
+ var _ref3 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconQuizInstructionsLine, {
93
+ color: "primary"
94
+ });
95
+
96
+ var _ref4 = /*#__PURE__*/_react.default.createElement(_uiIcons.IconPinSolid, null);
93
97
 
94
98
  var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(_class = (_temp = _class2 = /*#__PURE__*/function (_Component) {
95
99
  (0, _inherits2.default)(Sidebar, _Component);
@@ -110,13 +114,19 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
110
114
  _this.scrollToTitle = function (e) {
111
115
  e.preventDefault(); // prevent default link navigation
112
116
 
113
- _this.props.scrollToItem(null)('title');
117
+ _this.props.scrollToItem(null)(_quizCommon.TITLE_SCROLL_KEY);
114
118
  };
115
119
 
116
120
  _this.scrollToInfo = function (e) {
117
121
  e.preventDefault(); // prevent default link navigation
118
122
 
119
- _this.props.scrollToItem(null)('instructions');
123
+ _this.props.scrollToItem(null)(_quizCommon.INSTRUCTIONS_SCROLL_KEY);
124
+ };
125
+
126
+ _this.scrollToResults = function (e) {
127
+ e.preventDefault(); // prevent default link navigation
128
+
129
+ _this.props.scrollToItem(null)(_quizCommon.RESULTS_SCROLL_KEY);
120
130
  };
121
131
 
122
132
  _this.toggleSidebar = function () {
@@ -160,6 +170,10 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
160
170
  }, {
161
171
  key: "renderTitle",
162
172
  value: function renderTitle() {
173
+ if (this.props.grading) {
174
+ return;
175
+ }
176
+
163
177
  return /*#__PURE__*/_react.default.createElement("div", {
164
178
  className: styles.actionableInfo
165
179
  }, /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
@@ -177,6 +191,10 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
177
191
  }, {
178
192
  key: "renderInstructions",
179
193
  value: function renderInstructions() {
194
+ if (this.props.grading) {
195
+ return;
196
+ }
197
+
180
198
  return /*#__PURE__*/_react.default.createElement("div", {
181
199
  className: styles.actionableInfo
182
200
  }, /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
@@ -193,6 +211,29 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
193
211
  tabIndex: "-1"
194
212
  }, (0, _formatMessage.default)('Instructions'))));
195
213
  }
214
+ }, {
215
+ key: "renderResults",
216
+ value: function renderResults() {
217
+ if (!this.props.grading) {
218
+ return;
219
+ }
220
+
221
+ return /*#__PURE__*/_react.default.createElement("div", {
222
+ className: styles.actionableInfo
223
+ }, /*#__PURE__*/_react.default.createElement(_uiLink.Link, {
224
+ href: "#",
225
+ margin: "small",
226
+ forceButtonRole: false,
227
+ onClick: this.scrollToResults,
228
+ renderIcon: _ref3,
229
+ "data-automation": "sidebar-results-button"
230
+ }, /*#__PURE__*/_react.default.createElement(_uiA11yContent.ScreenReaderContent, null, (0, _formatMessage.default)('Navigate to results'))), /*#__PURE__*/_react.default.createElement(_uiA11yContent.PresentationContent, null, /*#__PURE__*/_react.default.createElement("span", {
231
+ className: styles.description,
232
+ "data-automation": "sidebar-results-text",
233
+ onClick: this.scrollToResults,
234
+ tabIndex: "-1"
235
+ }, (0, _formatMessage.default)('Results'))));
236
+ }
196
237
  }, {
197
238
  key: "renderSidebarHeader",
198
239
  value: function renderSidebarHeader() {
@@ -291,7 +332,7 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
291
332
  size: "x-small",
292
333
  "aria-label": (0, _formatMessage.default)('Pinned Questions'),
293
334
  role: "img"
294
- }, _ref3))), /*#__PURE__*/_react.default.createElement("div", {
335
+ }, _ref4))), /*#__PURE__*/_react.default.createElement("div", {
295
336
  className: closedClasses
296
337
  }, pinnedItems.map(function (pin) {
297
338
  return /*#__PURE__*/_react.default.createElement(_Pin.default, {
@@ -321,7 +362,7 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
321
362
  ,
322
363
  onClick: _noop.default,
323
364
  id: _quizCommon.SIDEBAR_NAV_ID
324
- }, this.renderSidebarHeader(), this.renderTotalPointsPossible(), this.renderPinned(), this.renderTitle(), this.renderInstructions(), /*#__PURE__*/_react.default.createElement("div", {
365
+ }, this.renderSidebarHeader(), this.renderTotalPointsPossible(), this.renderPinned(), this.renderTitle(), this.renderInstructions(), this.renderResults(), /*#__PURE__*/_react.default.createElement("div", {
325
366
  className: styles.sidebarContent
326
367
  }, this.props.children)))));
327
368
  }
@@ -330,6 +371,7 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
330
371
  return Sidebar;
331
372
  }(_react.Component), _class2.propTypes = {
332
373
  children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.arrayOf(_propTypes.default.element), _propTypes.default.node]).isRequired,
374
+ grading: _propTypes.default.bool,
333
375
  taking: _propTypes.default.bool,
334
376
  scrollToItem: _CustomPropTypes.default.higherOrderFunction.isRequired,
335
377
  sidebarOpen: _propTypes.default.bool.isRequired,
@@ -344,6 +386,7 @@ var Sidebar = (_dec = (0, _uiThemeable.themeable)(_theme.default, styles), _dec(
344
386
  totalPointsPossible: _propTypes.default.number,
345
387
  shouldCloseOnBlur: _propTypes.default.bool
346
388
  }, _class2.defaultProps = {
389
+ grading: false,
347
390
  taking: false,
348
391
  title: null,
349
392
  pinnedItems: (0, _immutable.List)(),
@@ -19,6 +19,8 @@ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
+ var _quizCommon = require("@instructure/quiz-common");
23
+
22
24
  var _Title = _interopRequireDefault(require("../title/Title.js"));
23
25
 
24
26
  var _Instructions = _interopRequireDefault(require("../instructions/Instructions.js"));
@@ -37,9 +39,9 @@ var QuizInfo = /*#__PURE__*/function (_Component) {
37
39
  key: "render",
38
40
  value: function render() {
39
41
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Title.default, Object.assign({}, this.props, {
40
- scrollKey: "title"
42
+ scrollKey: _quizCommon.TITLE_SCROLL_KEY
41
43
  })), /*#__PURE__*/_react.default.createElement(_Instructions.default, Object.assign({}, this.props, {
42
- scrollKey: "instructions"
44
+ scrollKey: _quizCommon.INSTRUCTIONS_SCROLL_KEY
43
45
  })));
44
46
  }
45
47
  }]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/quiz-core",
3
- "version": "17.49.1-rc.6+0b7fea386",
3
+ "version": "17.49.1-rc.7+67a51dce3",
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.49.1-rc.6+0b7fea386",
45
- "@instructure/quiz-i18n": "17.49.1-rc.6+0b7fea386",
46
- "@instructure/quiz-interactions": "17.49.1-rc.6+0b7fea386",
47
- "@instructure/quiz-number-input": "17.49.1-rc.6+0b7fea386",
48
- "@instructure/quiz-rce": "17.49.1-rc.6+0b7fea386",
44
+ "@instructure/quiz-common": "17.49.1-rc.7+67a51dce3",
45
+ "@instructure/quiz-i18n": "17.49.1-rc.7+67a51dce3",
46
+ "@instructure/quiz-interactions": "17.49.1-rc.7+67a51dce3",
47
+ "@instructure/quiz-number-input": "17.49.1-rc.7+67a51dce3",
48
+ "@instructure/quiz-rce": "17.49.1-rc.7+67a51dce3",
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.49.1-rc.6+0b7fea386",
109
+ "instructure-validations": "17.49.1-rc.7+67a51dce3",
110
110
  "ipaddr.js": "^1.5.4",
111
111
  "isomorphic-fetch": "^2.2.0",
112
112
  "isuuid": "^0.1.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.49.1-rc.6+0b7fea386",
159
+ "quiz-presets": "17.49.1-rc.7+67a51dce3",
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": "0b7fea3862df6b8e938238011f50617fd656e52f"
175
+ "gitHead": "67a51dce3d75661bf30ed46ce38dd5151490589d"
176
176
  }