@pie-element/multiple-choice 6.1.4 → 6.1.9

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,4187 @@
1
+ import {_dll_pie_lib__render_ui, _dll_prop_types, _dll_react_dom, _dll_react, _dll_material_ui__core_styles, _dll_classnames, _dll_material_ui__core, _dll_lodash, _dll_debug} from "../../../@pie-lib/shared-module@^1.2.15/module/index.js";
2
+ import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.18/module/index.js";
3
+ const {color: color$3} = _dll_pie_lib__render_ui;
4
+ const noTouch = {
5
+ '-webkit-touchCcallout': 'none',
6
+ '-webkit-user-select': 'none',
7
+ '-khtml-user-select': 'none',
8
+ '-moz-user-select': 'none',
9
+ '-ms-user-select': 'none',
10
+ 'user-select': 'none'
11
+ };
12
+ var styles$8 = {
13
+ root: {
14
+ width: '100%',
15
+ cursor: 'pointer'
16
+ },
17
+ content: {
18
+ margin: '0 auto',
19
+ textAlign: 'center',
20
+ display: 'flex'
21
+ },
22
+ label: Object.assign({
23
+ width: '140px',
24
+ fontFamily: "'Roboto', sans-serif",
25
+ height: '25px',
26
+ lineHeight: '25px',
27
+ verticalAlign: 'middle',
28
+ color: `var(--correct-answer-toggle-label-color, ${color$3.text()})`,
29
+ fontSize: '15px',
30
+ fontWeight: 'normal'
31
+ }, noTouch),
32
+ icon: {
33
+ position: 'absolute',
34
+ width: '25px'
35
+ },
36
+ iconHolder: {
37
+ width: '25px',
38
+ marginRight: '5px'
39
+ },
40
+ enter: {
41
+ opacity: '0'
42
+ },
43
+ enterActive: {
44
+ opacity: '1',
45
+ transition: 'opacity 0.3s ease-in'
46
+ },
47
+ exit: {
48
+ opacity: '1'
49
+ },
50
+ exitActive: {
51
+ opacity: '0',
52
+ transition: 'opacity 0.3s ease-in'
53
+ }
54
+ };
55
+ function getDefaultExportFromCjs(x) {
56
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
57
+ }
58
+ function getAugmentedNamespace(n) {
59
+ if (n.__esModule) return n;
60
+ var a = Object.defineProperty({}, '__esModule', {
61
+ value: true
62
+ });
63
+ Object.keys(n).forEach(function (k) {
64
+ var d = Object.getOwnPropertyDescriptor(n, k);
65
+ Object.defineProperty(a, k, d.get ? d : {
66
+ enumerable: true,
67
+ get: function () {
68
+ return n[k];
69
+ }
70
+ });
71
+ });
72
+ return a;
73
+ }
74
+ var CSSTransition$1 = {
75
+ exports: {}
76
+ };
77
+ var addClass = {
78
+ exports: {}
79
+ };
80
+ var interopRequireDefault = {
81
+ exports: {}
82
+ };
83
+ (function (module) {
84
+ function _interopRequireDefault(obj) {
85
+ return obj && obj.__esModule ? obj : {
86
+ "default": obj
87
+ };
88
+ }
89
+ module.exports = _interopRequireDefault;
90
+ (module.exports["default"] = module.exports, module.exports.__esModule = true);
91
+ })(interopRequireDefault);
92
+ getDefaultExportFromCjs(interopRequireDefault.exports);
93
+ var hasClass = {
94
+ exports: {}
95
+ };
96
+ (function (module, exports) {
97
+ exports.__esModule = true;
98
+ exports.default = hasClass;
99
+ function hasClass(element, className) {
100
+ if (element.classList) return !!className && element.classList.contains(className); else return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1;
101
+ }
102
+ module.exports = exports["default"];
103
+ })(hasClass, hasClass.exports);
104
+ getDefaultExportFromCjs(hasClass.exports);
105
+ (function (module, exports) {
106
+ var _interopRequireDefault = interopRequireDefault.exports;
107
+ exports.__esModule = true;
108
+ exports.default = addClass;
109
+ var _hasClass = _interopRequireDefault(hasClass.exports);
110
+ function addClass(element, className) {
111
+ if (element.classList) element.classList.add(className); else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className; else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);
112
+ }
113
+ module.exports = exports["default"];
114
+ })(addClass, addClass.exports);
115
+ getDefaultExportFromCjs(addClass.exports);
116
+ function replaceClassName(origClass, classToRemove) {
117
+ return origClass.replace(new RegExp('(^|\\s)' + classToRemove + '(?:\\s|$)', 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, '');
118
+ }
119
+ var removeClass = function removeClass(element, className) {
120
+ if (element.classList) element.classList.remove(className); else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className); else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));
121
+ };
122
+ var Transition$1 = {};
123
+ function componentWillMount() {
124
+ var state = this.constructor.getDerivedStateFromProps(this.props, this.state);
125
+ if (state !== null && state !== undefined) {
126
+ this.setState(state);
127
+ }
128
+ }
129
+ function componentWillReceiveProps(nextProps) {
130
+ function updater(prevState) {
131
+ var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);
132
+ return state !== null && state !== undefined ? state : null;
133
+ }
134
+ this.setState(updater.bind(this));
135
+ }
136
+ function componentWillUpdate(nextProps, nextState) {
137
+ try {
138
+ var prevProps = this.props;
139
+ var prevState = this.state;
140
+ this.props = nextProps;
141
+ this.state = nextState;
142
+ this.__reactInternalSnapshotFlag = true;
143
+ this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(prevProps, prevState);
144
+ } finally {
145
+ this.props = prevProps;
146
+ this.state = prevState;
147
+ }
148
+ }
149
+ componentWillMount.__suppressDeprecationWarning = true;
150
+ componentWillReceiveProps.__suppressDeprecationWarning = true;
151
+ componentWillUpdate.__suppressDeprecationWarning = true;
152
+ function polyfill(Component) {
153
+ var prototype = Component.prototype;
154
+ if (!prototype || !prototype.isReactComponent) {
155
+ throw new Error('Can only polyfill class components');
156
+ }
157
+ if (typeof Component.getDerivedStateFromProps !== 'function' && typeof prototype.getSnapshotBeforeUpdate !== 'function') {
158
+ return Component;
159
+ }
160
+ var foundWillMountName = null;
161
+ var foundWillReceivePropsName = null;
162
+ var foundWillUpdateName = null;
163
+ if (typeof prototype.componentWillMount === 'function') {
164
+ foundWillMountName = 'componentWillMount';
165
+ } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {
166
+ foundWillMountName = 'UNSAFE_componentWillMount';
167
+ }
168
+ if (typeof prototype.componentWillReceiveProps === 'function') {
169
+ foundWillReceivePropsName = 'componentWillReceiveProps';
170
+ } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {
171
+ foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';
172
+ }
173
+ if (typeof prototype.componentWillUpdate === 'function') {
174
+ foundWillUpdateName = 'componentWillUpdate';
175
+ } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {
176
+ foundWillUpdateName = 'UNSAFE_componentWillUpdate';
177
+ }
178
+ if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {
179
+ var componentName = Component.displayName || Component.name;
180
+ var newApiName = typeof Component.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';
181
+ throw Error('Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + componentName + ' uses ' + newApiName + ' but also contains the following legacy lifecycles:' + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + (foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '') + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks');
182
+ }
183
+ if (typeof Component.getDerivedStateFromProps === 'function') {
184
+ prototype.componentWillMount = componentWillMount;
185
+ prototype.componentWillReceiveProps = componentWillReceiveProps;
186
+ }
187
+ if (typeof prototype.getSnapshotBeforeUpdate === 'function') {
188
+ if (typeof prototype.componentDidUpdate !== 'function') {
189
+ throw new Error('Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype');
190
+ }
191
+ prototype.componentWillUpdate = componentWillUpdate;
192
+ var componentDidUpdate = prototype.componentDidUpdate;
193
+ prototype.componentDidUpdate = function componentDidUpdatePolyfill(prevProps, prevState, maybeSnapshot) {
194
+ var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot;
195
+ componentDidUpdate.call(this, prevProps, prevState, snapshot);
196
+ };
197
+ }
198
+ return Component;
199
+ }
200
+ var reactLifecyclesCompat_es = Object.freeze({
201
+ __proto__: null,
202
+ polyfill: polyfill
203
+ });
204
+ var require$$2$2 = getAugmentedNamespace(reactLifecyclesCompat_es);
205
+ var PropTypes$j = {};
206
+ const require$$0$5 = _dll_prop_types;
207
+ PropTypes$j.__esModule = true;
208
+ PropTypes$j.classNamesShape = PropTypes$j.timeoutsShape = void 0;
209
+ var _propTypes = _interopRequireDefault$2(require$$0$5);
210
+ function _interopRequireDefault$2(obj) {
211
+ return obj && obj.__esModule ? obj : {
212
+ default: obj
213
+ };
214
+ }
215
+ var timeoutsShape = _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
216
+ enter: _propTypes.default.number,
217
+ exit: _propTypes.default.number,
218
+ appear: _propTypes.default.number
219
+ }).isRequired]);
220
+ PropTypes$j.timeoutsShape = timeoutsShape;
221
+ var classNamesShape = _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({
222
+ enter: _propTypes.default.string,
223
+ exit: _propTypes.default.string,
224
+ active: _propTypes.default.string
225
+ }), _propTypes.default.shape({
226
+ enter: _propTypes.default.string,
227
+ enterDone: _propTypes.default.string,
228
+ enterActive: _propTypes.default.string,
229
+ exit: _propTypes.default.string,
230
+ exitDone: _propTypes.default.string,
231
+ exitActive: _propTypes.default.string
232
+ })]);
233
+ PropTypes$j.classNamesShape = classNamesShape;
234
+ const require$$0$4 = _dll_prop_types;
235
+ const require$$1$2 = _dll_react;
236
+ const require$$2$1 = _dll_react_dom;
237
+ Transition$1.__esModule = true;
238
+ Transition$1.default = Transition$1.EXITING = Transition$1.ENTERED = Transition$1.ENTERING = Transition$1.EXITED = Transition$1.UNMOUNTED = void 0;
239
+ var PropTypes$i = _interopRequireWildcard(require$$0$4);
240
+ var _react$1 = _interopRequireDefault$1(require$$1$2);
241
+ var _reactDom = _interopRequireDefault$1(require$$2$1);
242
+ var _reactLifecyclesCompat = require$$2$2;
243
+ var _PropTypes = PropTypes$j;
244
+ function _interopRequireDefault$1(obj) {
245
+ return obj && obj.__esModule ? obj : {
246
+ default: obj
247
+ };
248
+ }
249
+ function _interopRequireWildcard(obj) {
250
+ if (obj && obj.__esModule) {
251
+ return obj;
252
+ } else {
253
+ var newObj = {};
254
+ if (obj != null) {
255
+ for (var key in obj) {
256
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
257
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
258
+ if (desc.get || desc.set) {
259
+ Object.defineProperty(newObj, key, desc);
260
+ } else {
261
+ newObj[key] = obj[key];
262
+ }
263
+ }
264
+ }
265
+ }
266
+ newObj.default = obj;
267
+ return newObj;
268
+ }
269
+ }
270
+ function _objectWithoutPropertiesLoose(source, excluded) {
271
+ if (source == null) return {};
272
+ var target = {};
273
+ var sourceKeys = Object.keys(source);
274
+ var key, i;
275
+ for (i = 0; i < sourceKeys.length; i++) {
276
+ key = sourceKeys[i];
277
+ if (excluded.indexOf(key) >= 0) continue;
278
+ target[key] = source[key];
279
+ }
280
+ return target;
281
+ }
282
+ function _inheritsLoose(subClass, superClass) {
283
+ subClass.prototype = Object.create(superClass.prototype);
284
+ subClass.prototype.constructor = subClass;
285
+ subClass.__proto__ = superClass;
286
+ }
287
+ var UNMOUNTED = 'unmounted';
288
+ Transition$1.UNMOUNTED = UNMOUNTED;
289
+ var EXITED = 'exited';
290
+ Transition$1.EXITED = EXITED;
291
+ var ENTERING = 'entering';
292
+ Transition$1.ENTERING = ENTERING;
293
+ var ENTERED = 'entered';
294
+ Transition$1.ENTERED = ENTERED;
295
+ var EXITING = 'exiting';
296
+ Transition$1.EXITING = EXITING;
297
+ var Transition = (function (_React$Component) {
298
+ _inheritsLoose(Transition, _React$Component);
299
+ function Transition(props, context) {
300
+ var _this;
301
+ _this = _React$Component.call(this, props, context) || this;
302
+ var parentGroup = context.transitionGroup;
303
+ var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;
304
+ var initialStatus;
305
+ _this.appearStatus = null;
306
+ if (props.in) {
307
+ if (appear) {
308
+ initialStatus = EXITED;
309
+ _this.appearStatus = ENTERING;
310
+ } else {
311
+ initialStatus = ENTERED;
312
+ }
313
+ } else {
314
+ if (props.unmountOnExit || props.mountOnEnter) {
315
+ initialStatus = UNMOUNTED;
316
+ } else {
317
+ initialStatus = EXITED;
318
+ }
319
+ }
320
+ _this.state = {
321
+ status: initialStatus
322
+ };
323
+ _this.nextCallback = null;
324
+ return _this;
325
+ }
326
+ var _proto = Transition.prototype;
327
+ _proto.getChildContext = function getChildContext() {
328
+ return {
329
+ transitionGroup: null
330
+ };
331
+ };
332
+ Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
333
+ var nextIn = _ref.in;
334
+ if (nextIn && prevState.status === UNMOUNTED) {
335
+ return {
336
+ status: EXITED
337
+ };
338
+ }
339
+ return null;
340
+ };
341
+ _proto.componentDidMount = function componentDidMount() {
342
+ this.updateStatus(true, this.appearStatus);
343
+ };
344
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
345
+ var nextStatus = null;
346
+ if (prevProps !== this.props) {
347
+ var status = this.state.status;
348
+ if (this.props.in) {
349
+ if (status !== ENTERING && status !== ENTERED) {
350
+ nextStatus = ENTERING;
351
+ }
352
+ } else {
353
+ if (status === ENTERING || status === ENTERED) {
354
+ nextStatus = EXITING;
355
+ }
356
+ }
357
+ }
358
+ this.updateStatus(false, nextStatus);
359
+ };
360
+ _proto.componentWillUnmount = function componentWillUnmount() {
361
+ this.cancelNextCallback();
362
+ };
363
+ _proto.getTimeouts = function getTimeouts() {
364
+ var timeout = this.props.timeout;
365
+ var exit, enter, appear;
366
+ exit = enter = appear = timeout;
367
+ if (timeout != null && typeof timeout !== 'number') {
368
+ exit = timeout.exit;
369
+ enter = timeout.enter;
370
+ appear = timeout.appear !== undefined ? timeout.appear : enter;
371
+ }
372
+ return {
373
+ exit: exit,
374
+ enter: enter,
375
+ appear: appear
376
+ };
377
+ };
378
+ _proto.updateStatus = function updateStatus(mounting, nextStatus) {
379
+ if (mounting === void 0) {
380
+ mounting = false;
381
+ }
382
+ if (nextStatus !== null) {
383
+ this.cancelNextCallback();
384
+ var node = _reactDom.default.findDOMNode(this);
385
+ if (nextStatus === ENTERING) {
386
+ this.performEnter(node, mounting);
387
+ } else {
388
+ this.performExit(node);
389
+ }
390
+ } else if (this.props.unmountOnExit && this.state.status === EXITED) {
391
+ this.setState({
392
+ status: UNMOUNTED
393
+ });
394
+ }
395
+ };
396
+ _proto.performEnter = function performEnter(node, mounting) {
397
+ var _this2 = this;
398
+ var enter = this.props.enter;
399
+ var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;
400
+ var timeouts = this.getTimeouts();
401
+ var enterTimeout = appearing ? timeouts.appear : timeouts.enter;
402
+ if (!mounting && !enter) {
403
+ this.safeSetState({
404
+ status: ENTERED
405
+ }, function () {
406
+ _this2.props.onEntered(node);
407
+ });
408
+ return;
409
+ }
410
+ this.props.onEnter(node, appearing);
411
+ this.safeSetState({
412
+ status: ENTERING
413
+ }, function () {
414
+ _this2.props.onEntering(node, appearing);
415
+ _this2.onTransitionEnd(node, enterTimeout, function () {
416
+ _this2.safeSetState({
417
+ status: ENTERED
418
+ }, function () {
419
+ _this2.props.onEntered(node, appearing);
420
+ });
421
+ });
422
+ });
423
+ };
424
+ _proto.performExit = function performExit(node) {
425
+ var _this3 = this;
426
+ var exit = this.props.exit;
427
+ var timeouts = this.getTimeouts();
428
+ if (!exit) {
429
+ this.safeSetState({
430
+ status: EXITED
431
+ }, function () {
432
+ _this3.props.onExited(node);
433
+ });
434
+ return;
435
+ }
436
+ this.props.onExit(node);
437
+ this.safeSetState({
438
+ status: EXITING
439
+ }, function () {
440
+ _this3.props.onExiting(node);
441
+ _this3.onTransitionEnd(node, timeouts.exit, function () {
442
+ _this3.safeSetState({
443
+ status: EXITED
444
+ }, function () {
445
+ _this3.props.onExited(node);
446
+ });
447
+ });
448
+ });
449
+ };
450
+ _proto.cancelNextCallback = function cancelNextCallback() {
451
+ if (this.nextCallback !== null) {
452
+ this.nextCallback.cancel();
453
+ this.nextCallback = null;
454
+ }
455
+ };
456
+ _proto.safeSetState = function safeSetState(nextState, callback) {
457
+ callback = this.setNextCallback(callback);
458
+ this.setState(nextState, callback);
459
+ };
460
+ _proto.setNextCallback = function setNextCallback(callback) {
461
+ var _this4 = this;
462
+ var active = true;
463
+ this.nextCallback = function (event) {
464
+ if (active) {
465
+ active = false;
466
+ _this4.nextCallback = null;
467
+ callback(event);
468
+ }
469
+ };
470
+ this.nextCallback.cancel = function () {
471
+ active = false;
472
+ };
473
+ return this.nextCallback;
474
+ };
475
+ _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {
476
+ this.setNextCallback(handler);
477
+ var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;
478
+ if (!node || doesNotHaveTimeoutOrListener) {
479
+ setTimeout(this.nextCallback, 0);
480
+ return;
481
+ }
482
+ if (this.props.addEndListener) {
483
+ this.props.addEndListener(node, this.nextCallback);
484
+ }
485
+ if (timeout != null) {
486
+ setTimeout(this.nextCallback, timeout);
487
+ }
488
+ };
489
+ _proto.render = function render() {
490
+ var status = this.state.status;
491
+ if (status === UNMOUNTED) {
492
+ return null;
493
+ }
494
+ var _this$props = this.props, children = _this$props.children, childProps = _objectWithoutPropertiesLoose(_this$props, ["children"]);
495
+ delete childProps.in;
496
+ delete childProps.mountOnEnter;
497
+ delete childProps.unmountOnExit;
498
+ delete childProps.appear;
499
+ delete childProps.enter;
500
+ delete childProps.exit;
501
+ delete childProps.timeout;
502
+ delete childProps.addEndListener;
503
+ delete childProps.onEnter;
504
+ delete childProps.onEntering;
505
+ delete childProps.onEntered;
506
+ delete childProps.onExit;
507
+ delete childProps.onExiting;
508
+ delete childProps.onExited;
509
+ if (typeof children === 'function') {
510
+ return children(status, childProps);
511
+ }
512
+ var child = _react$1.default.Children.only(children);
513
+ return _react$1.default.cloneElement(child, childProps);
514
+ };
515
+ return Transition;
516
+ })(_react$1.default.Component);
517
+ Transition.contextTypes = {
518
+ transitionGroup: PropTypes$i.object
519
+ };
520
+ Transition.childContextTypes = {
521
+ transitionGroup: function transitionGroup() {}
522
+ };
523
+ Transition.propTypes = {
524
+ children: PropTypes$i.oneOfType([PropTypes$i.func.isRequired, PropTypes$i.element.isRequired]).isRequired,
525
+ in: PropTypes$i.bool,
526
+ mountOnEnter: PropTypes$i.bool,
527
+ unmountOnExit: PropTypes$i.bool,
528
+ appear: PropTypes$i.bool,
529
+ enter: PropTypes$i.bool,
530
+ exit: PropTypes$i.bool,
531
+ timeout: function timeout(props) {
532
+ var pt = _PropTypes.timeoutsShape;
533
+ if (!props.addEndListener) pt = pt.isRequired;
534
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
535
+ args[_key - 1] = arguments[_key];
536
+ }
537
+ return pt.apply(void 0, [props].concat(args));
538
+ },
539
+ addEndListener: PropTypes$i.func,
540
+ onEnter: PropTypes$i.func,
541
+ onEntering: PropTypes$i.func,
542
+ onEntered: PropTypes$i.func,
543
+ onExit: PropTypes$i.func,
544
+ onExiting: PropTypes$i.func,
545
+ onExited: PropTypes$i.func
546
+ };
547
+ function noop() {}
548
+ Transition.defaultProps = {
549
+ in: false,
550
+ mountOnEnter: false,
551
+ unmountOnExit: false,
552
+ appear: false,
553
+ enter: true,
554
+ exit: true,
555
+ onEnter: noop,
556
+ onEntering: noop,
557
+ onEntered: noop,
558
+ onExit: noop,
559
+ onExiting: noop,
560
+ onExited: noop
561
+ };
562
+ Transition.UNMOUNTED = 0;
563
+ Transition.EXITED = 1;
564
+ Transition.ENTERING = 2;
565
+ Transition.ENTERED = 3;
566
+ Transition.EXITING = 4;
567
+ var _default = (0, _reactLifecyclesCompat.polyfill)(Transition);
568
+ Transition$1.default = _default;
569
+ const require$$0$3 = _dll_prop_types;
570
+ const require$$3 = _dll_react;
571
+ (function (module, exports) {
572
+ exports.__esModule = true;
573
+ exports.default = void 0;
574
+ var PropTypes = _interopRequireWildcard(require$$0$3);
575
+ var _addClass = _interopRequireDefault(addClass.exports);
576
+ var _removeClass = _interopRequireDefault(removeClass);
577
+ var _react = _interopRequireDefault(require$$3);
578
+ var _Transition = _interopRequireDefault(Transition$1);
579
+ var _PropTypes = PropTypes$j;
580
+ function _interopRequireDefault(obj) {
581
+ return obj && obj.__esModule ? obj : {
582
+ default: obj
583
+ };
584
+ }
585
+ function _interopRequireWildcard(obj) {
586
+ if (obj && obj.__esModule) {
587
+ return obj;
588
+ } else {
589
+ var newObj = {};
590
+ if (obj != null) {
591
+ for (var key in obj) {
592
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
593
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
594
+ if (desc.get || desc.set) {
595
+ Object.defineProperty(newObj, key, desc);
596
+ } else {
597
+ newObj[key] = obj[key];
598
+ }
599
+ }
600
+ }
601
+ }
602
+ newObj.default = obj;
603
+ return newObj;
604
+ }
605
+ }
606
+ function _extends() {
607
+ _extends = Object.assign || (function (target) {
608
+ for (var i = 1; i < arguments.length; i++) {
609
+ var source = arguments[i];
610
+ for (var key in source) {
611
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
612
+ target[key] = source[key];
613
+ }
614
+ }
615
+ }
616
+ return target;
617
+ });
618
+ return _extends.apply(this, arguments);
619
+ }
620
+ function _inheritsLoose(subClass, superClass) {
621
+ subClass.prototype = Object.create(superClass.prototype);
622
+ subClass.prototype.constructor = subClass;
623
+ subClass.__proto__ = superClass;
624
+ }
625
+ var addClass$1 = function addClass(node, classes) {
626
+ return node && classes && classes.split(' ').forEach(function (c) {
627
+ return (0, _addClass.default)(node, c);
628
+ });
629
+ };
630
+ var removeClass$1 = function removeClass(node, classes) {
631
+ return node && classes && classes.split(' ').forEach(function (c) {
632
+ return (0, _removeClass.default)(node, c);
633
+ });
634
+ };
635
+ var CSSTransition = (function (_React$Component) {
636
+ _inheritsLoose(CSSTransition, _React$Component);
637
+ function CSSTransition() {
638
+ var _this;
639
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
640
+ args[_key] = arguments[_key];
641
+ }
642
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
643
+ _this.onEnter = function (node, appearing) {
644
+ var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'), className = _this$getClassNames.className;
645
+ _this.removeClasses(node, 'exit');
646
+ addClass$1(node, className);
647
+ if (_this.props.onEnter) {
648
+ _this.props.onEnter(node, appearing);
649
+ }
650
+ };
651
+ _this.onEntering = function (node, appearing) {
652
+ var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'), activeClassName = _this$getClassNames2.activeClassName;
653
+ _this.reflowAndAddClass(node, activeClassName);
654
+ if (_this.props.onEntering) {
655
+ _this.props.onEntering(node, appearing);
656
+ }
657
+ };
658
+ _this.onEntered = function (node, appearing) {
659
+ var appearClassName = _this.getClassNames('appear').doneClassName;
660
+ var enterClassName = _this.getClassNames('enter').doneClassName;
661
+ var doneClassName = appearing ? appearClassName + " " + enterClassName : enterClassName;
662
+ _this.removeClasses(node, appearing ? 'appear' : 'enter');
663
+ addClass$1(node, doneClassName);
664
+ if (_this.props.onEntered) {
665
+ _this.props.onEntered(node, appearing);
666
+ }
667
+ };
668
+ _this.onExit = function (node) {
669
+ var _this$getClassNames3 = _this.getClassNames('exit'), className = _this$getClassNames3.className;
670
+ _this.removeClasses(node, 'appear');
671
+ _this.removeClasses(node, 'enter');
672
+ addClass$1(node, className);
673
+ if (_this.props.onExit) {
674
+ _this.props.onExit(node);
675
+ }
676
+ };
677
+ _this.onExiting = function (node) {
678
+ var _this$getClassNames4 = _this.getClassNames('exit'), activeClassName = _this$getClassNames4.activeClassName;
679
+ _this.reflowAndAddClass(node, activeClassName);
680
+ if (_this.props.onExiting) {
681
+ _this.props.onExiting(node);
682
+ }
683
+ };
684
+ _this.onExited = function (node) {
685
+ var _this$getClassNames5 = _this.getClassNames('exit'), doneClassName = _this$getClassNames5.doneClassName;
686
+ _this.removeClasses(node, 'exit');
687
+ addClass$1(node, doneClassName);
688
+ if (_this.props.onExited) {
689
+ _this.props.onExited(node);
690
+ }
691
+ };
692
+ _this.getClassNames = function (type) {
693
+ var classNames = _this.props.classNames;
694
+ var isStringClassNames = typeof classNames === 'string';
695
+ var prefix = isStringClassNames && classNames ? classNames + '-' : '';
696
+ var className = isStringClassNames ? prefix + type : classNames[type];
697
+ var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];
698
+ var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];
699
+ return {
700
+ className: className,
701
+ activeClassName: activeClassName,
702
+ doneClassName: doneClassName
703
+ };
704
+ };
705
+ return _this;
706
+ }
707
+ var _proto = CSSTransition.prototype;
708
+ _proto.removeClasses = function removeClasses(node, type) {
709
+ var _this$getClassNames6 = this.getClassNames(type), className = _this$getClassNames6.className, activeClassName = _this$getClassNames6.activeClassName, doneClassName = _this$getClassNames6.doneClassName;
710
+ className && removeClass$1(node, className);
711
+ activeClassName && removeClass$1(node, activeClassName);
712
+ doneClassName && removeClass$1(node, doneClassName);
713
+ };
714
+ _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {
715
+ if (className) {
716
+ node && node.scrollTop;
717
+ addClass$1(node, className);
718
+ }
719
+ };
720
+ _proto.render = function render() {
721
+ var props = _extends({}, this.props);
722
+ delete props.classNames;
723
+ return _react.default.createElement(_Transition.default, _extends({}, props, {
724
+ onEnter: this.onEnter,
725
+ onEntered: this.onEntered,
726
+ onEntering: this.onEntering,
727
+ onExit: this.onExit,
728
+ onExiting: this.onExiting,
729
+ onExited: this.onExited
730
+ }));
731
+ };
732
+ return CSSTransition;
733
+ })(_react.default.Component);
734
+ CSSTransition.defaultProps = {
735
+ classNames: ''
736
+ };
737
+ CSSTransition.propTypes = _extends({}, _Transition.default.propTypes, {
738
+ classNames: _PropTypes.classNamesShape,
739
+ onEnter: PropTypes.func,
740
+ onEntering: PropTypes.func,
741
+ onEntered: PropTypes.func,
742
+ onExit: PropTypes.func,
743
+ onExiting: PropTypes.func,
744
+ onExited: PropTypes.func
745
+ });
746
+ var _default = CSSTransition;
747
+ exports.default = _default;
748
+ module.exports = exports["default"];
749
+ })(CSSTransition$1, CSSTransition$1.exports);
750
+ var CSSTransition = getDefaultExportFromCjs(CSSTransition$1.exports);
751
+ const React$i = _dll_react;
752
+ const PropTypes$h = _dll_prop_types;
753
+ const _jsxFileName$h = "/home/circleci/repo/node_modules/@pie-lib/icons/src/sized.jsx";
754
+ const normalizeSize = size => {
755
+ return typeof size === 'string' ? size : typeof size === 'number' ? `${size}px` : '30px';
756
+ };
757
+ const Sized = ({size, children}) => {
758
+ size = normalizeSize(size);
759
+ const style = {
760
+ height: size,
761
+ width: size,
762
+ display: 'inline-block',
763
+ position: 'relative'
764
+ };
765
+ return React$i.createElement('div', {
766
+ style: style,
767
+ __self: undefined,
768
+ __source: {
769
+ fileName: _jsxFileName$h,
770
+ lineNumber: 18
771
+ }
772
+ }, children);
773
+ };
774
+ Sized.propTypes = {
775
+ size: PropTypes$h.number,
776
+ children: PropTypes$h.oneOfType([PropTypes$h.arrayOf(PropTypes$h.node), PropTypes$h.node]).isRequired
777
+ };
778
+ const React$h = _dll_react;
779
+ const PropTypes$g = _dll_prop_types;
780
+ const _jsxFileName$g = "/home/circleci/repo/node_modules/@pie-lib/icons/src/icon-root.jsx";
781
+ const IconRoot = ({size, children}) => React$h.createElement(Sized, {
782
+ size: size,
783
+ __self: undefined,
784
+ __source: {
785
+ fileName: _jsxFileName$g,
786
+ lineNumber: 10
787
+ }
788
+ }, React$h.createElement('svg', {
789
+ preserveAspectRatio: "xMinYMin meet",
790
+ version: "1.1",
791
+ x: "0px",
792
+ y: "0px",
793
+ viewBox: "0 0 44 40",
794
+ style: {
795
+ enableBackground: 'new 0 0 44 40'
796
+ },
797
+ __self: undefined,
798
+ __source: {
799
+ fileName: _jsxFileName$g,
800
+ lineNumber: 11
801
+ }
802
+ }, ' ', children));
803
+ IconRoot.propTypes = {
804
+ size: PropTypes$g.oneOf([PropTypes$g.string, PropTypes$g.number]),
805
+ children: PropTypes$g.oneOfType([PropTypes$g.arrayOf(PropTypes$g.node), PropTypes$g.node]).isRequired
806
+ };
807
+ const getStyles = (name, fg, bg) => ({
808
+ bg: {
809
+ fill: `var(--icons-${name}-bg, ${bg})`
810
+ },
811
+ fg: {
812
+ fill: `var(--icons-${name}-fg, ${fg})`
813
+ }
814
+ });
815
+ ({
816
+ className: PropTypes$g.string
817
+ });
818
+ const SquareFeedbackBox = ({className}) => React$h.createElement('polygon', {
819
+ transform: "translate(2, 0)",
820
+ className: className,
821
+ points: "34.1,28.6 34.1,2.2 2,2.2 2,34.3 40.1,34.3",
822
+ __self: undefined,
823
+ __source: {
824
+ fileName: _jsxFileName$g,
825
+ lineNumber: 51
826
+ }
827
+ });
828
+ SquareFeedbackBox.propTypes = {
829
+ className: PropTypes$g.string
830
+ };
831
+ const RoundFeedbackBox = ({className}) => React$h.createElement('path', {
832
+ transform: "translate(1, 0)",
833
+ className: className,
834
+ d: "M31.2,29.1v-0.3c2.2-2.8,3.6-6.3,3.6-10.1c0-8.9-7.2-16.1-16.1-16.1c-8.8,0.1-16,7.3-16,16.2 s7.2,16.1,16.1,16.1h18.5L31.2,29.1z",
835
+ __self: undefined,
836
+ __source: {
837
+ fileName: _jsxFileName$g,
838
+ lineNumber: 62
839
+ }
840
+ });
841
+ RoundFeedbackBox.propTypes = {
842
+ className: PropTypes$g.string
843
+ };
844
+ const Circle$1 = ({className}) => React$h.createElement('circle', {
845
+ transform: "translate(-3, 0)",
846
+ className: className,
847
+ cx: "23",
848
+ cy: "20.4",
849
+ r: "16",
850
+ __self: undefined,
851
+ __source: {
852
+ fileName: _jsxFileName$g,
853
+ lineNumber: 73
854
+ }
855
+ });
856
+ Circle$1.propTypes = {
857
+ className: PropTypes$g.string
858
+ };
859
+ const Square = ({className}) => React$h.createElement('rect', {
860
+ x: "3.6",
861
+ y: "4.1",
862
+ className: className,
863
+ width: "32",
864
+ height: "32",
865
+ __self: undefined,
866
+ __source: {
867
+ fileName: _jsxFileName$g,
868
+ lineNumber: 81
869
+ }
870
+ });
871
+ Square.propTypes = {
872
+ className: PropTypes$g.string
873
+ };
874
+ const PropTypes$f = _dll_prop_types;
875
+ const React$g = _dll_react;
876
+ const _jsxFileName$f = "/home/circleci/repo/node_modules/@pie-lib/icons/src/icon-base.jsx";
877
+ var IconBase = (Action, Emoji) => {
878
+ class IconBase extends React$g.Component {
879
+ static __initStatic() {
880
+ this.propTypes = {
881
+ classes: PropTypes$f.object.isRequired,
882
+ size: PropTypes$f.number
883
+ };
884
+ }
885
+ constructor(props) {
886
+ super(props);
887
+ const {classes, size} = this.props;
888
+ this.icons = {
889
+ feedback: {
890
+ round: {
891
+ check: React$g.createElement(IconRoot, {
892
+ size: size,
893
+ __self: this,
894
+ __source: {
895
+ fileName: _jsxFileName$f,
896
+ lineNumber: 20
897
+ }
898
+ }, React$g.createElement(RoundFeedbackBox, {
899
+ className: classes.bg,
900
+ __self: this,
901
+ __source: {
902
+ fileName: _jsxFileName$f,
903
+ lineNumber: 21
904
+ }
905
+ }), React$g.createElement(Action, {
906
+ className: classes.fg,
907
+ __self: this,
908
+ __source: {
909
+ fileName: _jsxFileName$f,
910
+ lineNumber: 22
911
+ }
912
+ })),
913
+ emoji: React$g.createElement(IconRoot, {
914
+ size: size,
915
+ __self: this,
916
+ __source: {
917
+ fileName: _jsxFileName$f,
918
+ lineNumber: 26
919
+ }
920
+ }, React$g.createElement(RoundFeedbackBox, {
921
+ className: classes.bg,
922
+ __self: this,
923
+ __source: {
924
+ fileName: _jsxFileName$f,
925
+ lineNumber: 27
926
+ }
927
+ }), React$g.createElement(Emoji, {
928
+ className: classes.fg,
929
+ __self: this,
930
+ __source: {
931
+ fileName: _jsxFileName$f,
932
+ lineNumber: 28
933
+ }
934
+ })),
935
+ open: {
936
+ check: React$g.createElement(IconRoot, {
937
+ size: size,
938
+ __self: this,
939
+ __source: {
940
+ fileName: _jsxFileName$f,
941
+ lineNumber: 33
942
+ }
943
+ }, React$g.createElement(Action, {
944
+ className: classes.bg,
945
+ __self: this,
946
+ __source: {
947
+ fileName: _jsxFileName$f,
948
+ lineNumber: 34
949
+ }
950
+ })),
951
+ emoji: React$g.createElement(IconRoot, {
952
+ size: size,
953
+ __self: this,
954
+ __source: {
955
+ fileName: _jsxFileName$f,
956
+ lineNumber: 38
957
+ }
958
+ }, React$g.createElement(Emoji, {
959
+ className: classes.bg,
960
+ __self: this,
961
+ __source: {
962
+ fileName: _jsxFileName$f,
963
+ lineNumber: 39
964
+ }
965
+ }))
966
+ }
967
+ },
968
+ square: {
969
+ check: React$g.createElement(IconRoot, {
970
+ size: size,
971
+ __self: this,
972
+ __source: {
973
+ fileName: _jsxFileName$f,
974
+ lineNumber: 46
975
+ }
976
+ }, React$g.createElement(SquareFeedbackBox, {
977
+ className: classes.bg,
978
+ __self: this,
979
+ __source: {
980
+ fileName: _jsxFileName$f,
981
+ lineNumber: 47
982
+ }
983
+ }), React$g.createElement(Action, {
984
+ className: classes.fg,
985
+ __self: this,
986
+ __source: {
987
+ fileName: _jsxFileName$f,
988
+ lineNumber: 48
989
+ }
990
+ })),
991
+ emoji: React$g.createElement(IconRoot, {
992
+ size: size,
993
+ __self: this,
994
+ __source: {
995
+ fileName: _jsxFileName$f,
996
+ lineNumber: 52
997
+ }
998
+ }, React$g.createElement(SquareFeedbackBox, {
999
+ className: classes.bg,
1000
+ __self: this,
1001
+ __source: {
1002
+ fileName: _jsxFileName$f,
1003
+ lineNumber: 53
1004
+ }
1005
+ }), React$g.createElement(Emoji, {
1006
+ className: classes.fg,
1007
+ __self: this,
1008
+ __source: {
1009
+ fileName: _jsxFileName$f,
1010
+ lineNumber: 54
1011
+ }
1012
+ })),
1013
+ open: {
1014
+ check: React$g.createElement(IconRoot, {
1015
+ size: size,
1016
+ __self: this,
1017
+ __source: {
1018
+ fileName: _jsxFileName$f,
1019
+ lineNumber: 59
1020
+ }
1021
+ }, React$g.createElement(Action, {
1022
+ className: classes.bg,
1023
+ __self: this,
1024
+ __source: {
1025
+ fileName: _jsxFileName$f,
1026
+ lineNumber: 60
1027
+ }
1028
+ })),
1029
+ emoji: React$g.createElement(IconRoot, {
1030
+ size: size,
1031
+ __self: this,
1032
+ __source: {
1033
+ fileName: _jsxFileName$f,
1034
+ lineNumber: 64
1035
+ }
1036
+ }, React$g.createElement(Emoji, {
1037
+ className: classes.bg,
1038
+ __self: this,
1039
+ __source: {
1040
+ fileName: _jsxFileName$f,
1041
+ lineNumber: 65
1042
+ }
1043
+ }))
1044
+ }
1045
+ }
1046
+ },
1047
+ round: {
1048
+ check: React$g.createElement(IconRoot, {
1049
+ size: size,
1050
+ __self: this,
1051
+ __source: {
1052
+ fileName: _jsxFileName$f,
1053
+ lineNumber: 73
1054
+ }
1055
+ }, React$g.createElement(Circle$1, {
1056
+ className: classes.bg,
1057
+ __self: this,
1058
+ __source: {
1059
+ fileName: _jsxFileName$f,
1060
+ lineNumber: 74
1061
+ }
1062
+ }), React$g.createElement(Action, {
1063
+ className: classes.fg,
1064
+ __self: this,
1065
+ __source: {
1066
+ fileName: _jsxFileName$f,
1067
+ lineNumber: 75
1068
+ }
1069
+ })),
1070
+ emoji: React$g.createElement(IconRoot, {
1071
+ size: size,
1072
+ __self: this,
1073
+ __source: {
1074
+ fileName: _jsxFileName$f,
1075
+ lineNumber: 79
1076
+ }
1077
+ }, React$g.createElement(Circle$1, {
1078
+ className: classes.bg,
1079
+ __self: this,
1080
+ __source: {
1081
+ fileName: _jsxFileName$f,
1082
+ lineNumber: 80
1083
+ }
1084
+ }), React$g.createElement(Emoji, {
1085
+ className: classes.fg,
1086
+ __self: this,
1087
+ __source: {
1088
+ fileName: _jsxFileName$f,
1089
+ lineNumber: 81
1090
+ }
1091
+ })),
1092
+ open: {
1093
+ check: React$g.createElement(IconRoot, {
1094
+ size: size,
1095
+ __self: this,
1096
+ __source: {
1097
+ fileName: _jsxFileName$f,
1098
+ lineNumber: 86
1099
+ }
1100
+ }, React$g.createElement(Action, {
1101
+ className: classes.bg,
1102
+ __self: this,
1103
+ __source: {
1104
+ fileName: _jsxFileName$f,
1105
+ lineNumber: 87
1106
+ }
1107
+ })),
1108
+ emoji: React$g.createElement(IconRoot, {
1109
+ size: size,
1110
+ __self: this,
1111
+ __source: {
1112
+ fileName: _jsxFileName$f,
1113
+ lineNumber: 91
1114
+ }
1115
+ }, React$g.createElement(Emoji, {
1116
+ className: classes.bg,
1117
+ __self: this,
1118
+ __source: {
1119
+ fileName: _jsxFileName$f,
1120
+ lineNumber: 92
1121
+ }
1122
+ }))
1123
+ }
1124
+ },
1125
+ square: {
1126
+ check: React$g.createElement(IconRoot, {
1127
+ size: size,
1128
+ __self: this,
1129
+ __source: {
1130
+ fileName: _jsxFileName$f,
1131
+ lineNumber: 99
1132
+ }
1133
+ }, React$g.createElement(Square, {
1134
+ className: classes.bg,
1135
+ __self: this,
1136
+ __source: {
1137
+ fileName: _jsxFileName$f,
1138
+ lineNumber: 100
1139
+ }
1140
+ }), React$g.createElement(Action, {
1141
+ className: classes.fg,
1142
+ __self: this,
1143
+ __source: {
1144
+ fileName: _jsxFileName$f,
1145
+ lineNumber: 101
1146
+ }
1147
+ })),
1148
+ emoji: React$g.createElement(IconRoot, {
1149
+ size: size,
1150
+ __self: this,
1151
+ __source: {
1152
+ fileName: _jsxFileName$f,
1153
+ lineNumber: 105
1154
+ }
1155
+ }, React$g.createElement(Square, {
1156
+ className: classes.bg,
1157
+ __self: this,
1158
+ __source: {
1159
+ fileName: _jsxFileName$f,
1160
+ lineNumber: 106
1161
+ }
1162
+ }), React$g.createElement(Emoji, {
1163
+ className: classes.fg,
1164
+ __self: this,
1165
+ __source: {
1166
+ fileName: _jsxFileName$f,
1167
+ lineNumber: 107
1168
+ }
1169
+ })),
1170
+ open: {
1171
+ check: React$g.createElement(IconRoot, {
1172
+ size: size,
1173
+ __self: this,
1174
+ __source: {
1175
+ fileName: _jsxFileName$f,
1176
+ lineNumber: 112
1177
+ }
1178
+ }, React$g.createElement(Action, {
1179
+ className: classes.bg,
1180
+ __self: this,
1181
+ __source: {
1182
+ fileName: _jsxFileName$f,
1183
+ lineNumber: 113
1184
+ }
1185
+ })),
1186
+ emoji: React$g.createElement(IconRoot, {
1187
+ size: size,
1188
+ __self: this,
1189
+ __source: {
1190
+ fileName: _jsxFileName$f,
1191
+ lineNumber: 117
1192
+ }
1193
+ }, React$g.createElement(Emoji, {
1194
+ className: classes.bg,
1195
+ __self: this,
1196
+ __source: {
1197
+ fileName: _jsxFileName$f,
1198
+ lineNumber: 118
1199
+ }
1200
+ }))
1201
+ }
1202
+ }
1203
+ };
1204
+ }
1205
+ render() {
1206
+ if (this.props.category === undefined) {
1207
+ if (this.props.open === true) {
1208
+ return this.icons[this.props.shape].open[this.props.iconSet];
1209
+ } else {
1210
+ return this.icons[this.props.shape][this.props.iconSet];
1211
+ }
1212
+ } else {
1213
+ if (this.props.open === true) {
1214
+ return this.icons.feedback[this.props.shape].open[this.props.iconSet];
1215
+ } else {
1216
+ return this.icons.feedback[this.props.shape][this.props.iconSet];
1217
+ }
1218
+ }
1219
+ }
1220
+ }
1221
+ IconBase.__initStatic();
1222
+ IconBase.propTypes = {
1223
+ iconSet: PropTypes$f.oneOf(['emoji', 'check']),
1224
+ shape: PropTypes$f.oneOf(['round', 'square']),
1225
+ category: PropTypes$f.oneOf(['feedback', undefined]),
1226
+ open: PropTypes$f.bool
1227
+ };
1228
+ IconBase.defaultProps = {
1229
+ iconSet: 'check',
1230
+ shape: 'round',
1231
+ category: undefined,
1232
+ open: false
1233
+ };
1234
+ return IconBase;
1235
+ };
1236
+ const PropTypes$e = _dll_prop_types;
1237
+ const React$f = _dll_react;
1238
+ const {withStyles: withStyles$d} = _dll_material_ui__core_styles;
1239
+ const _jsxFileName$e = "/home/circleci/repo/node_modules/@pie-lib/icons/src/correct-icon.jsx";
1240
+ const styles$7 = getStyles('correct', '#f8ffe2', '#4aaf46');
1241
+ const Emoji$3 = ({className}) => React$f.createElement('g', {
1242
+ transform: 'translate(1, 0)',
1243
+ __self: undefined,
1244
+ __source: {
1245
+ fileName: _jsxFileName$e,
1246
+ lineNumber: 10
1247
+ }
1248
+ }, React$f.createElement('path', {
1249
+ className: className,
1250
+ d: "M24.7,22.1c-1.5,1.7-3.6,2.7-5.8,2.7s-4.5-1.1-5.8-2.7l-2.8,1.6c2,2.7,5.2,4.2,8.7,4.2 c3.4,0,6.6-1.6,8.7-4.2L24.7,22.1z",
1251
+ __self: undefined,
1252
+ __source: {
1253
+ fileName: _jsxFileName$e,
1254
+ lineNumber: 11
1255
+ }
1256
+ }), React$f.createElement('rect', {
1257
+ x: "21.1",
1258
+ y: "13.1",
1259
+ className: className,
1260
+ width: "3.7",
1261
+ height: "4.7",
1262
+ __self: undefined,
1263
+ __source: {
1264
+ fileName: _jsxFileName$e,
1265
+ lineNumber: 16
1266
+ }
1267
+ }), React$f.createElement('rect', {
1268
+ x: "12.7",
1269
+ y: "13.1",
1270
+ className: className,
1271
+ width: "3.7",
1272
+ height: "4.7",
1273
+ __self: undefined,
1274
+ __source: {
1275
+ fileName: _jsxFileName$e,
1276
+ lineNumber: 17
1277
+ }
1278
+ }));
1279
+ Emoji$3.propTypes = {
1280
+ className: PropTypes$e.string
1281
+ };
1282
+ Emoji$3.defaultProps = {
1283
+ x: 0
1284
+ };
1285
+ const Check$1 = ({className, x, y}) => React$f.createElement('polygon', {
1286
+ transform: `translate(${x}, ${y})`,
1287
+ className: className,
1288
+ points: "19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4",
1289
+ __self: undefined,
1290
+ __source: {
1291
+ fileName: _jsxFileName$e,
1292
+ lineNumber: 30
1293
+ }
1294
+ });
1295
+ Check$1.propTypes = {
1296
+ x: PropTypes$e.number,
1297
+ y: PropTypes$e.number,
1298
+ className: PropTypes$e.string
1299
+ };
1300
+ Check$1.defaultProps = {
1301
+ x: 0,
1302
+ y: 0
1303
+ };
1304
+ const Correct = IconBase(Check$1, Emoji$3);
1305
+ Correct.propTypes = {
1306
+ iconSet: PropTypes$e.oneOf(['emoji', 'check']),
1307
+ shape: PropTypes$e.oneOf(['round', 'square']),
1308
+ category: PropTypes$e.oneOf(['feedback', undefined]),
1309
+ open: PropTypes$e.bool
1310
+ };
1311
+ Correct.defaultProps = {
1312
+ iconSet: 'check',
1313
+ shape: 'round',
1314
+ category: undefined,
1315
+ open: false
1316
+ };
1317
+ withStyles$d(styles$7)(Correct);
1318
+ const PropTypes$d = _dll_prop_types;
1319
+ const React$e = _dll_react;
1320
+ const classNames$5 = _dll_classnames;
1321
+ const {withStyles: withStyles$c} = _dll_material_ui__core_styles;
1322
+ const _jsxFileName$d = "/home/circleci/repo/node_modules/@pie-lib/icons/src/correct-response-icon.jsx";
1323
+ const OpenIcon = ({bg, fg}) => React$e.createElement('svg', {
1324
+ preserveAspectRatio: "xMinYMin meet",
1325
+ version: "1.1",
1326
+ id: "Layer_1",
1327
+ x: "0px",
1328
+ y: "0px",
1329
+ viewBox: "-283 359 34 35",
1330
+ style: {
1331
+ enableBackground: 'new -283 359 34 35'
1332
+ },
1333
+ __self: undefined,
1334
+ __source: {
1335
+ fileName: _jsxFileName$d,
1336
+ lineNumber: 7
1337
+ }
1338
+ }, React$e.createElement('circle', {
1339
+ className: bg,
1340
+ cx: "-266",
1341
+ cy: "375.9",
1342
+ r: "14",
1343
+ __self: undefined,
1344
+ __source: {
1345
+ fileName: _jsxFileName$d,
1346
+ lineNumber: 16
1347
+ }
1348
+ }), React$e.createElement('path', {
1349
+ className: bg,
1350
+ d: "M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z",
1351
+ __self: undefined,
1352
+ __source: {
1353
+ fileName: _jsxFileName$d,
1354
+ lineNumber: 17
1355
+ }
1356
+ }), React$e.createElement('polygon', {
1357
+ className: fg,
1358
+ points: "-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6 ",
1359
+ __self: undefined,
1360
+ __source: {
1361
+ fileName: _jsxFileName$d,
1362
+ lineNumber: 22
1363
+ }
1364
+ }));
1365
+ OpenIcon.propTypes = {
1366
+ bg: PropTypes$d.string,
1367
+ fg: PropTypes$d.string
1368
+ };
1369
+ const CloseIcon = ({bg, fg, border}) => React$e.createElement('svg', {
1370
+ preserveAspectRatio: "xMinYMin meet",
1371
+ version: "1.1",
1372
+ x: "0px",
1373
+ y: "0px",
1374
+ viewBox: "-129.5 127 34 35",
1375
+ style: {
1376
+ enableBackground: 'new -129.5 127 34 35'
1377
+ },
1378
+ __self: undefined,
1379
+ __source: {
1380
+ fileName: _jsxFileName$d,
1381
+ lineNumber: 35
1382
+ }
1383
+ }, React$e.createElement('path', {
1384
+ style: {
1385
+ fill: '#D0CAC5',
1386
+ stroke: '#E6E3E0',
1387
+ strokeWidth: 0.75,
1388
+ strokeMiterlimit: 10
1389
+ },
1390
+ d: "M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5 C-97.4,153.5-104.3,160.4-112.9,160.4z",
1391
+ __self: undefined,
1392
+ __source: {
1393
+ fileName: _jsxFileName$d,
1394
+ lineNumber: 43
1395
+ }
1396
+ }), React$e.createElement('path', {
1397
+ style: {
1398
+ fill: '#B3ABA4',
1399
+ stroke: '#CDC7C2',
1400
+ strokeWidth: 0.5,
1401
+ strokeMiterlimit: 10
1402
+ },
1403
+ d: "M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z",
1404
+ __self: undefined,
1405
+ __source: {
1406
+ fileName: _jsxFileName$d,
1407
+ lineNumber: 53
1408
+ }
1409
+ }), React$e.createElement('circle', {
1410
+ className: bg,
1411
+ cx: "-114.2",
1412
+ cy: "143.5",
1413
+ r: "14",
1414
+ __self: undefined,
1415
+ __source: {
1416
+ fileName: _jsxFileName$d,
1417
+ lineNumber: 62
1418
+ }
1419
+ }), React$e.createElement('path', {
1420
+ className: border,
1421
+ d: "M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z",
1422
+ __self: undefined,
1423
+ __source: {
1424
+ fileName: _jsxFileName$d,
1425
+ lineNumber: 63
1426
+ }
1427
+ }), React$e.createElement('polygon', {
1428
+ className: fg,
1429
+ points: "-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2",
1430
+ __self: undefined,
1431
+ __source: {
1432
+ fileName: _jsxFileName$d,
1433
+ lineNumber: 68
1434
+ }
1435
+ }));
1436
+ CloseIcon.propTypes = {
1437
+ bg: PropTypes$d.string,
1438
+ fg: PropTypes$d.string,
1439
+ border: PropTypes$d.string
1440
+ };
1441
+ const styles$6 = {
1442
+ root: {
1443
+ width: props => props.size || '25px',
1444
+ height: props => props.size || '25px'
1445
+ },
1446
+ hideIconBg: {
1447
+ fill: '#bce2ff'
1448
+ },
1449
+ hideIconFg: {
1450
+ fill: '#1a9cff'
1451
+ },
1452
+ showIconBg: {
1453
+ fill: 'white'
1454
+ },
1455
+ showIconFg: {
1456
+ fill: '#1a9cff'
1457
+ },
1458
+ showIconBorder: {
1459
+ fill: '#bce2ff'
1460
+ }
1461
+ };
1462
+ const CorrectResponse = ({open, classes, className}) => React$e.createElement('div', {
1463
+ className: classNames$5(className, classes.root),
1464
+ __self: undefined,
1465
+ __source: {
1466
+ fileName: _jsxFileName$d,
1467
+ lineNumber: 104
1468
+ }
1469
+ }, open ? React$e.createElement(OpenIcon, {
1470
+ bg: classes.hideIconBg,
1471
+ fg: classes.hideIconFg,
1472
+ __self: undefined,
1473
+ __source: {
1474
+ fileName: _jsxFileName$d,
1475
+ lineNumber: 106
1476
+ }
1477
+ }) : React$e.createElement(CloseIcon, {
1478
+ bg: classes.showIconBg,
1479
+ border: classes.showIconBorder,
1480
+ fg: classes.showIconFg,
1481
+ __self: undefined,
1482
+ __source: {
1483
+ fileName: _jsxFileName$d,
1484
+ lineNumber: 108
1485
+ }
1486
+ }));
1487
+ CorrectResponse.propTypes = {
1488
+ classes: PropTypes$d.object.isRequired,
1489
+ open: PropTypes$d.bool,
1490
+ size: PropTypes$d.string,
1491
+ className: PropTypes$d.string
1492
+ };
1493
+ CorrectResponse.defaultProps = {
1494
+ open: false
1495
+ };
1496
+ var CorrectResponse$1 = withStyles$c(styles$6)(CorrectResponse);
1497
+ const PropTypes$c = _dll_prop_types;
1498
+ const React$d = _dll_react;
1499
+ const {withStyles: withStyles$b} = _dll_material_ui__core_styles;
1500
+ const _jsxFileName$c = "/home/circleci/repo/node_modules/@pie-lib/icons/src/incorrect-icon.jsx";
1501
+ const Ex = ({className}) => React$d.createElement('g', {
1502
+ transform: 'translate(0.5, 0.5)',
1503
+ __self: undefined,
1504
+ __source: {
1505
+ fileName: _jsxFileName$c,
1506
+ lineNumber: 8
1507
+ }
1508
+ }, React$d.createElement('rect', {
1509
+ x: "11",
1510
+ y: "17.3",
1511
+ transform: "matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)",
1512
+ className: className,
1513
+ width: "16.6",
1514
+ height: "3.7",
1515
+ __self: undefined,
1516
+ __source: {
1517
+ fileName: _jsxFileName$c,
1518
+ lineNumber: 9
1519
+ }
1520
+ }), React$d.createElement('rect', {
1521
+ x: "17.4",
1522
+ y: "10.7",
1523
+ transform: "matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)",
1524
+ className: className,
1525
+ width: "3.7",
1526
+ height: "16.6",
1527
+ __self: undefined,
1528
+ __source: {
1529
+ fileName: _jsxFileName$c,
1530
+ lineNumber: 17
1531
+ }
1532
+ }));
1533
+ Ex.propTypes = {
1534
+ className: PropTypes$c.string
1535
+ };
1536
+ const Emoji$2 = ({className}) => React$d.createElement('g', {
1537
+ transform: 'translate(1,0)',
1538
+ __self: undefined,
1539
+ __source: {
1540
+ fileName: _jsxFileName$c,
1541
+ lineNumber: 32
1542
+ }
1543
+ }, React$d.createElement('rect', {
1544
+ x: "21",
1545
+ y: "12.9",
1546
+ className: className,
1547
+ width: "3.7",
1548
+ height: "4.7",
1549
+ __self: undefined,
1550
+ __source: {
1551
+ fileName: _jsxFileName$c,
1552
+ lineNumber: 33
1553
+ }
1554
+ }), React$d.createElement('rect', {
1555
+ x: "12.7",
1556
+ y: "12.9",
1557
+ className: className,
1558
+ width: "3.7",
1559
+ height: "4.7",
1560
+ __self: undefined,
1561
+ __source: {
1562
+ fileName: _jsxFileName$c,
1563
+ lineNumber: 34
1564
+ }
1565
+ }), React$d.createElement('rect', {
1566
+ x: "12.2",
1567
+ y: "22.5",
1568
+ className: className,
1569
+ width: "13",
1570
+ height: "3.3",
1571
+ __self: undefined,
1572
+ __source: {
1573
+ fileName: _jsxFileName$c,
1574
+ lineNumber: 35
1575
+ }
1576
+ }));
1577
+ Emoji$2.propTypes = {
1578
+ className: PropTypes$c.string
1579
+ };
1580
+ const styles$5 = getStyles('incorrect', '#fbf2e3', '#fcb733');
1581
+ const Incorrect = IconBase(Ex, Emoji$2);
1582
+ withStyles$b(styles$5)(Incorrect);
1583
+ Incorrect.propTypes = {
1584
+ iconSet: PropTypes$c.oneOf(['emoji', 'check']),
1585
+ shape: PropTypes$c.oneOf(['round', 'square']),
1586
+ category: PropTypes$c.oneOf(['feedback', undefined]),
1587
+ open: PropTypes$c.bool
1588
+ };
1589
+ Incorrect.defaultProps = {
1590
+ iconSet: 'check',
1591
+ shape: 'round',
1592
+ category: undefined,
1593
+ open: false
1594
+ };
1595
+ const PropTypes$b = _dll_prop_types;
1596
+ const React$c = _dll_react;
1597
+ const _jsxFileName$b = "/home/circleci/repo/node_modules/@pie-lib/icons/src/instructions-icon.jsx";
1598
+ const Lines = () => {
1599
+ const style = {
1600
+ fill: 'none',
1601
+ stroke: '#BCE2FF',
1602
+ strokeWidth: 2,
1603
+ strokeMiterlimit: 10
1604
+ };
1605
+ return React$c.createElement('g', {
1606
+ __self: undefined,
1607
+ __source: {
1608
+ fileName: _jsxFileName$b,
1609
+ lineNumber: 13
1610
+ }
1611
+ }, React$c.createElement('line', {
1612
+ style: style,
1613
+ x1: "-98",
1614
+ y1: "142",
1615
+ x2: "-114.6",
1616
+ y2: "142",
1617
+ __self: undefined,
1618
+ __source: {
1619
+ fileName: _jsxFileName$b,
1620
+ lineNumber: 14
1621
+ }
1622
+ }), React$c.createElement('line', {
1623
+ style: style,
1624
+ x1: "-98",
1625
+ y1: "146.3",
1626
+ x2: "-114.6",
1627
+ y2: "146.3",
1628
+ __self: undefined,
1629
+ __source: {
1630
+ fileName: _jsxFileName$b,
1631
+ lineNumber: 15
1632
+ }
1633
+ }), React$c.createElement('line', {
1634
+ style: style,
1635
+ x1: "-104",
1636
+ y1: "150.7",
1637
+ x2: "-114.6",
1638
+ y2: "150.7",
1639
+ __self: undefined,
1640
+ __source: {
1641
+ fileName: _jsxFileName$b,
1642
+ lineNumber: 16
1643
+ }
1644
+ }));
1645
+ };
1646
+ const Root$2 = ({children, size}) => React$c.createElement(Sized, {
1647
+ size: size,
1648
+ __self: undefined,
1649
+ __source: {
1650
+ fileName: _jsxFileName$b,
1651
+ lineNumber: 22
1652
+ }
1653
+ }, React$c.createElement('svg', {
1654
+ version: "1.1",
1655
+ viewBox: "-128 129 31 31",
1656
+ style: {
1657
+ enableBackground: 'new -128 129 31 31'
1658
+ },
1659
+ __self: undefined,
1660
+ __source: {
1661
+ fileName: _jsxFileName$b,
1662
+ lineNumber: 23
1663
+ }
1664
+ }, children));
1665
+ Root$2.propTypes = {
1666
+ children: PropTypes$b.oneOfType([PropTypes$b.arrayOf(PropTypes$b.node), PropTypes$b.node]).isRequired,
1667
+ size: PropTypes$b.number
1668
+ };
1669
+ const GreyInfo = () => {
1670
+ return React$c.createElement('g', {
1671
+ __self: undefined,
1672
+ __source: {
1673
+ fileName: _jsxFileName$b,
1674
+ lineNumber: 36
1675
+ }
1676
+ }, React$c.createElement('rect', {
1677
+ x: "-123.9",
1678
+ y: "135.3",
1679
+ style: {
1680
+ fill: '#D0CAC5',
1681
+ stroke: '#E6E3E0',
1682
+ strokeWidth: 0.75,
1683
+ strokeLinejoin: 'round',
1684
+ strokeMiterlimit: 10
1685
+ },
1686
+ width: "4.1",
1687
+ height: "4.1",
1688
+ __self: undefined,
1689
+ __source: {
1690
+ fileName: _jsxFileName$b,
1691
+ lineNumber: 37
1692
+ }
1693
+ }), React$c.createElement('polygon', {
1694
+ style: {
1695
+ fill: '#D0CAC5',
1696
+ stroke: '#E6E3E0',
1697
+ strokeWidth: 0.75,
1698
+ strokeLinejoin: 'round',
1699
+ strokeMiterlimit: 10
1700
+ },
1701
+ points: "-119.8,150.4 -119.8,142.2 -125,142.2 -125,144.9 -122.6,144.9 -122.6,150.4 -125.6,150.4 -125.6,153.2 -116.8,153.2 -116.8,150.4 ",
1702
+ __self: undefined,
1703
+ __source: {
1704
+ fileName: _jsxFileName$b,
1705
+ lineNumber: 50
1706
+ }
1707
+ }), React$c.createElement('rect', {
1708
+ x: "-124.7",
1709
+ y: "134.7",
1710
+ style: {
1711
+ fill: '#B3ABA4',
1712
+ stroke: '#CDC7C2',
1713
+ strokeWidth: 0.5,
1714
+ strokeLinecap: 'round',
1715
+ strokeLinejoin: 'round',
1716
+ strokeMiterlimit: 10
1717
+ },
1718
+ width: "4.1",
1719
+ height: "4.1",
1720
+ __self: undefined,
1721
+ __source: {
1722
+ fileName: _jsxFileName$b,
1723
+ lineNumber: 61
1724
+ }
1725
+ }), React$c.createElement('polygon', {
1726
+ style: {
1727
+ fill: '#B3ABA4',
1728
+ stroke: '#CDC7C2',
1729
+ strokeWidth: 0.5,
1730
+ strokeLinecap: 'round',
1731
+ strokeLinejoin: 'round',
1732
+ strokeMiterlimit: 10
1733
+ },
1734
+ points: "-120.6,149.8 -120.6,141.5 -125.8,141.5 -125.8,144.3 -123.3,144.3 -123.3,149.8 -126.4,149.8 -126.4,152.5 -117.6,152.5 -117.6,149.8 ",
1735
+ __self: undefined,
1736
+ __source: {
1737
+ fileName: _jsxFileName$b,
1738
+ lineNumber: 76
1739
+ }
1740
+ }), React$c.createElement('rect', {
1741
+ x: "-125.5",
1742
+ y: "134",
1743
+ style: {
1744
+ fill: '#7FABC6'
1745
+ },
1746
+ width: "4.1",
1747
+ height: "4.1",
1748
+ __self: undefined,
1749
+ __source: {
1750
+ fileName: _jsxFileName$b,
1751
+ lineNumber: 88
1752
+ }
1753
+ }), React$c.createElement('polygon', {
1754
+ style: {
1755
+ fill: '#7FABC6'
1756
+ },
1757
+ points: "-121.4,149.1 -121.4,140.9 -126.5,140.9 -126.5,143.6 -124.1,143.6 -124.1,149.1 -127.1,149.1 -127.1,151.9 -118.4,151.9 -118.4,149.1 ",
1758
+ __self: undefined,
1759
+ __source: {
1760
+ fileName: _jsxFileName$b,
1761
+ lineNumber: 89
1762
+ }
1763
+ }));
1764
+ };
1765
+ const BlueInfo = () => React$c.createElement('g', {
1766
+ __self: undefined,
1767
+ __source: {
1768
+ fileName: _jsxFileName$b,
1769
+ lineNumber: 99
1770
+ }
1771
+ }, React$c.createElement('rect', {
1772
+ x: "-123.9",
1773
+ y: "135.3",
1774
+ style: {
1775
+ fill: '#D0CAC5',
1776
+ stroke: '#E6E3E0',
1777
+ strokeWidth: 0.75,
1778
+ strokeLinejoin: 'round',
1779
+ strokeMiterlimit: 10
1780
+ },
1781
+ width: "4.1",
1782
+ height: "4.1",
1783
+ __self: undefined,
1784
+ __source: {
1785
+ fileName: _jsxFileName$b,
1786
+ lineNumber: 100
1787
+ }
1788
+ }), React$c.createElement('polygon', {
1789
+ style: {
1790
+ fill: '#D0CAC5',
1791
+ stroke: '#E6E3E0',
1792
+ strokeWidth: 0.75,
1793
+ strokeLinejoin: 'round',
1794
+ strokeMiterlimit: 10
1795
+ },
1796
+ points: "-119.8,150.4 -119.8,142.2 -125,142.2 -125,144.9 -122.6,144.9 -122.6,150.4 -125.6,150.4 -125.6,153.2 -116.8,153.2 -116.8,150.4 ",
1797
+ __self: undefined,
1798
+ __source: {
1799
+ fileName: _jsxFileName$b,
1800
+ lineNumber: 113
1801
+ }
1802
+ }), React$c.createElement('rect', {
1803
+ x: "-124.7",
1804
+ y: "134.7",
1805
+ style: {
1806
+ fill: '#B3ABA4',
1807
+ stroke: '#CDC7C2',
1808
+ strokeWidth: 0.5,
1809
+ strokeLinecap: 'round',
1810
+ strokeLinejoin: 'round',
1811
+ strokeMiterlimit: 10
1812
+ },
1813
+ width: "4.1",
1814
+ height: "4.1",
1815
+ __self: undefined,
1816
+ __source: {
1817
+ fileName: _jsxFileName$b,
1818
+ lineNumber: 124
1819
+ }
1820
+ }), React$c.createElement('polygon', {
1821
+ style: {
1822
+ fill: '#B3ABA4',
1823
+ stroke: '#CDC7C2',
1824
+ strokeWidth: 0.5,
1825
+ strokeLinecap: 'round',
1826
+ strokeLinejoin: 'round',
1827
+ strokeMiterlimit: 10
1828
+ },
1829
+ points: "-120.6,149.8 -120.6,141.5 -125.8,141.5 -125.8,144.3 -123.3,144.3 -123.3,149.8 -126.4,149.8 -126.4,152.5 -117.6,152.5 -117.6,149.8 ",
1830
+ __self: undefined,
1831
+ __source: {
1832
+ fileName: _jsxFileName$b,
1833
+ lineNumber: 138
1834
+ }
1835
+ }), React$c.createElement('rect', {
1836
+ x: "-125.5",
1837
+ y: "134",
1838
+ style: {
1839
+ fill: '#1A9CFF'
1840
+ },
1841
+ width: "4.1",
1842
+ height: "4.1",
1843
+ __self: undefined,
1844
+ __source: {
1845
+ fileName: _jsxFileName$b,
1846
+ lineNumber: 150
1847
+ }
1848
+ }), React$c.createElement('polygon', {
1849
+ style: {
1850
+ fill: '#1A9CFF'
1851
+ },
1852
+ points: "-121.4,149.1 -121.4,140.9 -126.5,140.9 -126.5,143.6 -124.1,143.6 -124.1,149.1 -127.1,149.1 -127.1,151.9 -118.4,151.9 -118.4,149.1 ",
1853
+ __self: undefined,
1854
+ __source: {
1855
+ fileName: _jsxFileName$b,
1856
+ lineNumber: 151
1857
+ }
1858
+ }));
1859
+ class Instructions extends React$c.Component {
1860
+ constructor(props) {
1861
+ super(props);
1862
+ }
1863
+ render() {
1864
+ if (this.props.open === true) {
1865
+ return React$c.createElement(Root$2, {
1866
+ __self: this,
1867
+ __source: {
1868
+ fileName: _jsxFileName$b,
1869
+ lineNumber: 167
1870
+ }
1871
+ }, React$c.createElement(GreyInfo, {
1872
+ __self: this,
1873
+ __source: {
1874
+ fileName: _jsxFileName$b,
1875
+ lineNumber: 168
1876
+ }
1877
+ }), React$c.createElement(Lines, {
1878
+ __self: this,
1879
+ __source: {
1880
+ fileName: _jsxFileName$b,
1881
+ lineNumber: 169
1882
+ }
1883
+ }));
1884
+ } else {
1885
+ return React$c.createElement(Root$2, {
1886
+ __self: this,
1887
+ __source: {
1888
+ fileName: _jsxFileName$b,
1889
+ lineNumber: 174
1890
+ }
1891
+ }, React$c.createElement(BlueInfo, {
1892
+ __self: this,
1893
+ __source: {
1894
+ fileName: _jsxFileName$b,
1895
+ lineNumber: 175
1896
+ }
1897
+ }), React$c.createElement(Lines, {
1898
+ __self: this,
1899
+ __source: {
1900
+ fileName: _jsxFileName$b,
1901
+ lineNumber: 176
1902
+ }
1903
+ }));
1904
+ }
1905
+ }
1906
+ }
1907
+ Instructions.propTypes = {
1908
+ open: PropTypes$b.bool
1909
+ };
1910
+ Instructions.defaultProps = {
1911
+ open: false
1912
+ };
1913
+ const PropTypes$a = _dll_prop_types;
1914
+ const React$b = _dll_react;
1915
+ const {withStyles: withStyles$a} = _dll_material_ui__core_styles;
1916
+ const _jsxFileName$a = "/home/circleci/repo/node_modules/@pie-lib/icons/src/learn-more-icon.jsx";
1917
+ const Glint = ({fill}) => React$b.createElement('path', {
1918
+ fill: fill,
1919
+ d: "M-130.4,142.1c0-2.1,1.7-3.9,3.9-3.9c0.3,0,0.5,0,0.8,0.1c-0.6-0.8-1.5-1.3-2.6-1.3c-1.8,0-3.3,1.5-3.3,3.3c0,1.1,0.5,2,1.3,2.6C-130.4,142.6-130.4,142.4-130.4,142.1z",
1920
+ __self: undefined,
1921
+ __source: {
1922
+ fileName: _jsxFileName$a,
1923
+ lineNumber: 7
1924
+ }
1925
+ });
1926
+ Glint.propTypes = {
1927
+ fill: PropTypes$a.string
1928
+ };
1929
+ class LearnMore extends React$b.Component {
1930
+ static __initStatic() {
1931
+ this.propTypes = {
1932
+ classes: PropTypes$a.object.isRequired,
1933
+ size: PropTypes$a.number
1934
+ };
1935
+ }
1936
+ render() {
1937
+ const {classes, size} = this.props;
1938
+ if (this.props.open === true) {
1939
+ return React$b.createElement(Sized, {
1940
+ size: size,
1941
+ __self: this,
1942
+ __source: {
1943
+ fileName: _jsxFileName$a,
1944
+ lineNumber: 28
1945
+ }
1946
+ }, React$b.createElement('svg', {
1947
+ preserveAspectRatio: "xMinYMin meet",
1948
+ viewBox: "-135 129 16 32",
1949
+ __self: this,
1950
+ __source: {
1951
+ fileName: _jsxFileName$a,
1952
+ lineNumber: 29
1953
+ }
1954
+ }, React$b.createElement('path', {
1955
+ className: classes.hideBg,
1956
+ d: "M-122,141.1c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.8,144.7-122,143-122,141.1z",
1957
+ __self: this,
1958
+ __source: {
1959
+ fileName: _jsxFileName$a,
1960
+ lineNumber: 30
1961
+ }
1962
+ }), React$b.createElement('path', {
1963
+ className: classes.hideBg,
1964
+ d: "M-125.7,153h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.9,152.7-125.2,153-125.7,153z",
1965
+ __self: this,
1966
+ __source: {
1967
+ fileName: _jsxFileName$a,
1968
+ lineNumber: 34
1969
+ }
1970
+ }), React$b.createElement(Glint, {
1971
+ fill: classes.hideFg.fill,
1972
+ __self: this,
1973
+ __source: {
1974
+ fileName: _jsxFileName$a,
1975
+ lineNumber: 38
1976
+ }
1977
+ })));
1978
+ } else {
1979
+ return React$b.createElement(Sized, {
1980
+ size: size,
1981
+ __self: this,
1982
+ __source: {
1983
+ fileName: _jsxFileName$a,
1984
+ lineNumber: 44
1985
+ }
1986
+ }, React$b.createElement('svg', {
1987
+ preserveAspectRatio: "xMinYMin meet",
1988
+ viewBox: "-135 129 16 31",
1989
+ __self: this,
1990
+ __source: {
1991
+ fileName: _jsxFileName$a,
1992
+ lineNumber: 45
1993
+ }
1994
+ }, React$b.createElement('path', {
1995
+ fill: "#D0CAC5",
1996
+ stroke: "#E6E3E0",
1997
+ className: "st0",
1998
+ d: "M-120.7,142.4c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-121.6,146-120.7,144.3-120.7,142.4z",
1999
+ __self: this,
2000
+ __source: {
2001
+ fileName: _jsxFileName$a,
2002
+ lineNumber: 46
2003
+ }
2004
+ }), React$b.createElement('path', {
2005
+ fill: "#D0CAC5",
2006
+ stroke: "#E6E3E0",
2007
+ className: "st0",
2008
+ d: "M-124.4,154.3h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-123.6,153.9-123.9,154.3-124.4,154.3z",
2009
+ __self: this,
2010
+ __source: {
2011
+ fileName: _jsxFileName$a,
2012
+ lineNumber: 52
2013
+ }
2014
+ }), React$b.createElement('path', {
2015
+ fill: "#B3ABA4",
2016
+ stroke: "#CDC7C2",
2017
+ className: "st1",
2018
+ d: "M-121.3,141.8c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.2,145.3-121.3,143.7-121.3,141.8z",
2019
+ __self: this,
2020
+ __source: {
2021
+ fileName: _jsxFileName$a,
2022
+ lineNumber: 58
2023
+ }
2024
+ }), ",", React$b.createElement('path', {
2025
+ fill: "#B3ABA4",
2026
+ stroke: "#CDC7C2",
2027
+ className: "st1",
2028
+ d: "M-125,153.7h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.2,153.3-124.6,153.7-125,153.7z",
2029
+ __self: this,
2030
+ __source: {
2031
+ fileName: _jsxFileName$a,
2032
+ lineNumber: 65
2033
+ }
2034
+ }), React$b.createElement('path', {
2035
+ className: classes.showBg,
2036
+ d: "M-122,141.1c0-3.7-3.3-6.6-7.1-5.8c-2.4,0.5-4.3,2.4-4.7,4.8c-0.4,2.3,0.6,4.4,2.2,5.7c0.4,0.3,0.6,0.8,0.6,1.3v1.9h6.1v-1.9c0-0.5,0.2-1,0.6-1.3C-122.8,144.7-122,143-122,141.1z",
2037
+ __self: this,
2038
+ __source: {
2039
+ fileName: _jsxFileName$a,
2040
+ lineNumber: 71
2041
+ }
2042
+ }), React$b.createElement('path', {
2043
+ className: classes.showBg,
2044
+ d: "M-125.7,153h-4.5c-0.4,0-0.8-0.4-0.8-0.8v-1.6h6.1v1.6C-124.9,152.7-125.2,153-125.7,153z",
2045
+ __self: this,
2046
+ __source: {
2047
+ fileName: _jsxFileName$a,
2048
+ lineNumber: 75
2049
+ }
2050
+ }), React$b.createElement(Glint, {
2051
+ fill: classes.hideFg.fill,
2052
+ __self: this,
2053
+ __source: {
2054
+ fileName: _jsxFileName$a,
2055
+ lineNumber: 79
2056
+ }
2057
+ })));
2058
+ }
2059
+ }
2060
+ }
2061
+ LearnMore.__initStatic();
2062
+ const styles$4 = {
2063
+ showBg: {
2064
+ fill: '#1a9cff'
2065
+ },
2066
+ hideFg: {
2067
+ fill: '#1a9cff'
2068
+ },
2069
+ hideBg: {
2070
+ fill: '#bce2ff'
2071
+ }
2072
+ };
2073
+ LearnMore.propTypes = {
2074
+ open: PropTypes$a.bool
2075
+ };
2076
+ LearnMore.defaultProps = {
2077
+ open: false
2078
+ };
2079
+ withStyles$a(styles$4)(LearnMore);
2080
+ const PropTypes$9 = _dll_prop_types;
2081
+ const React$a = _dll_react;
2082
+ const {withStyles: withStyles$9} = _dll_material_ui__core_styles;
2083
+ const _jsxFileName$9 = "/home/circleci/repo/node_modules/@pie-lib/icons/src/nothing-submitted-icon.jsx";
2084
+ const Exclamation = ({className}) => React$a.createElement('g', {
2085
+ __self: undefined,
2086
+ __source: {
2087
+ fileName: _jsxFileName$9,
2088
+ lineNumber: 8
2089
+ }
2090
+ }, React$a.createElement('rect', {
2091
+ x: "19.3",
2092
+ y: "10.3",
2093
+ className: className,
2094
+ width: "4.5",
2095
+ height: "12.7",
2096
+ __self: undefined,
2097
+ __source: {
2098
+ fileName: _jsxFileName$9,
2099
+ lineNumber: 9
2100
+ }
2101
+ }), React$a.createElement('rect', {
2102
+ x: "19.3",
2103
+ y: "26.2",
2104
+ className: className,
2105
+ width: "4.5",
2106
+ height: "4.5",
2107
+ __self: undefined,
2108
+ __source: {
2109
+ fileName: _jsxFileName$9,
2110
+ lineNumber: 10
2111
+ }
2112
+ }));
2113
+ const Octagon = ({className}) => React$a.createElement('polygon', {
2114
+ className: className,
2115
+ points: "14.8,4.5 5.6,13.8 5.6,27 14.8,36.5 28.1,36.5 37.6,27 37.6,13.8 28.1,4.5",
2116
+ __self: undefined,
2117
+ __source: {
2118
+ fileName: _jsxFileName$9,
2119
+ lineNumber: 15
2120
+ }
2121
+ });
2122
+ const Emoji$1 = ({className}) => React$a.createElement('g', {
2123
+ __self: undefined,
2124
+ __source: {
2125
+ fileName: _jsxFileName$9,
2126
+ lineNumber: 22
2127
+ }
2128
+ }, React$a.createElement('rect', {
2129
+ x: "23.8",
2130
+ y: "15",
2131
+ className: className,
2132
+ width: "3.5",
2133
+ height: "4.4",
2134
+ __self: undefined,
2135
+ __source: {
2136
+ fileName: _jsxFileName$9,
2137
+ lineNumber: 23
2138
+ }
2139
+ }), React$a.createElement('rect', {
2140
+ x: "16",
2141
+ y: "15",
2142
+ className: className,
2143
+ width: "3.5",
2144
+ height: "4.4",
2145
+ __self: undefined,
2146
+ __source: {
2147
+ fileName: _jsxFileName$9,
2148
+ lineNumber: 24
2149
+ }
2150
+ }), React$a.createElement('path', {
2151
+ className: className,
2152
+ d: "M24.2,27.1h-5.1c-0.8,0-1.5-0.7-1.5-1.5v0c0-0.8,0.7-1.5,1.5-1.5h5.1c0.8,0,1.5,0.7,1.5,1.5v0 C25.7,26.4,25,27.1,24.2,27.1z",
2153
+ __self: undefined,
2154
+ __source: {
2155
+ fileName: _jsxFileName$9,
2156
+ lineNumber: 25
2157
+ }
2158
+ }));
2159
+ Emoji$1.propTypes = Octagon.propTypes = Exclamation.propTypes = {
2160
+ className: PropTypes$9.string
2161
+ };
2162
+ const styles$3 = getStyles('nothing-submitted', 'white', '#464146');
2163
+ class NothingSubmitted extends React$a.Component {
2164
+ static __initStatic() {
2165
+ this.propTypes = {
2166
+ classes: PropTypes$9.object.isRequired
2167
+ };
2168
+ }
2169
+ constructor(props) {
2170
+ super(props);
2171
+ const {classes} = this.props;
2172
+ this.icons = {
2173
+ check: React$a.createElement(IconRoot, {
2174
+ __self: this,
2175
+ __source: {
2176
+ fileName: _jsxFileName$9,
2177
+ lineNumber: 48
2178
+ }
2179
+ }, React$a.createElement(Octagon, {
2180
+ className: classes.bg,
2181
+ __self: this,
2182
+ __source: {
2183
+ fileName: _jsxFileName$9,
2184
+ lineNumber: 49
2185
+ }
2186
+ }), React$a.createElement(Exclamation, {
2187
+ className: classes.fg,
2188
+ __self: this,
2189
+ __source: {
2190
+ fileName: _jsxFileName$9,
2191
+ lineNumber: 50
2192
+ }
2193
+ })),
2194
+ emoji: React$a.createElement(IconRoot, {
2195
+ __self: this,
2196
+ __source: {
2197
+ fileName: _jsxFileName$9,
2198
+ lineNumber: 54
2199
+ }
2200
+ }, React$a.createElement(Octagon, {
2201
+ className: classes.bg,
2202
+ __self: this,
2203
+ __source: {
2204
+ fileName: _jsxFileName$9,
2205
+ lineNumber: 55
2206
+ }
2207
+ }), React$a.createElement(Emoji$1, {
2208
+ className: classes.fg,
2209
+ __self: this,
2210
+ __source: {
2211
+ fileName: _jsxFileName$9,
2212
+ lineNumber: 56
2213
+ }
2214
+ })),
2215
+ feedback: {
2216
+ check: React$a.createElement(IconRoot, {
2217
+ __self: this,
2218
+ __source: {
2219
+ fileName: _jsxFileName$9,
2220
+ lineNumber: 61
2221
+ }
2222
+ }, React$a.createElement(Octagon, {
2223
+ className: classes.bg,
2224
+ __self: this,
2225
+ __source: {
2226
+ fileName: _jsxFileName$9,
2227
+ lineNumber: 62
2228
+ }
2229
+ }), React$a.createElement(Emoji$1, {
2230
+ className: classes.fg,
2231
+ __self: this,
2232
+ __source: {
2233
+ fileName: _jsxFileName$9,
2234
+ lineNumber: 63
2235
+ }
2236
+ })),
2237
+ emoji: React$a.createElement(IconRoot, {
2238
+ __self: this,
2239
+ __source: {
2240
+ fileName: _jsxFileName$9,
2241
+ lineNumber: 67
2242
+ }
2243
+ }, React$a.createElement(Octagon, {
2244
+ className: classes.bg,
2245
+ __self: this,
2246
+ __source: {
2247
+ fileName: _jsxFileName$9,
2248
+ lineNumber: 68
2249
+ }
2250
+ }), React$a.createElement(Emoji$1, {
2251
+ className: classes.fg,
2252
+ __self: this,
2253
+ __source: {
2254
+ fileName: _jsxFileName$9,
2255
+ lineNumber: 69
2256
+ }
2257
+ })),
2258
+ square: {
2259
+ check: React$a.createElement(IconRoot, {
2260
+ __self: this,
2261
+ __source: {
2262
+ fileName: _jsxFileName$9,
2263
+ lineNumber: 74
2264
+ }
2265
+ }, React$a.createElement(Octagon, {
2266
+ className: classes.bg,
2267
+ __self: this,
2268
+ __source: {
2269
+ fileName: _jsxFileName$9,
2270
+ lineNumber: 75
2271
+ }
2272
+ }), React$a.createElement(Exclamation, {
2273
+ className: classes.fg,
2274
+ __self: this,
2275
+ __source: {
2276
+ fileName: _jsxFileName$9,
2277
+ lineNumber: 76
2278
+ }
2279
+ })),
2280
+ emoji: React$a.createElement(IconRoot, {
2281
+ __self: this,
2282
+ __source: {
2283
+ fileName: _jsxFileName$9,
2284
+ lineNumber: 80
2285
+ }
2286
+ }, React$a.createElement(Octagon, {
2287
+ className: classes.bg,
2288
+ __self: this,
2289
+ __source: {
2290
+ fileName: _jsxFileName$9,
2291
+ lineNumber: 81
2292
+ }
2293
+ }), React$a.createElement(Emoji$1, {
2294
+ className: classes.fg,
2295
+ __self: this,
2296
+ __source: {
2297
+ fileName: _jsxFileName$9,
2298
+ lineNumber: 82
2299
+ }
2300
+ })),
2301
+ open: {
2302
+ check: React$a.createElement(IconRoot, {
2303
+ __self: this,
2304
+ __source: {
2305
+ fileName: _jsxFileName$9,
2306
+ lineNumber: 87
2307
+ }
2308
+ }, React$a.createElement(Exclamation, {
2309
+ className: classes.bg,
2310
+ __self: this,
2311
+ __source: {
2312
+ fileName: _jsxFileName$9,
2313
+ lineNumber: 88
2314
+ }
2315
+ })),
2316
+ emoji: React$a.createElement(IconRoot, {
2317
+ __self: this,
2318
+ __source: {
2319
+ fileName: _jsxFileName$9,
2320
+ lineNumber: 92
2321
+ }
2322
+ }, React$a.createElement(Emoji$1, {
2323
+ className: classes.bg,
2324
+ __self: this,
2325
+ __source: {
2326
+ fileName: _jsxFileName$9,
2327
+ lineNumber: 93
2328
+ }
2329
+ }))
2330
+ }
2331
+ }
2332
+ }
2333
+ };
2334
+ }
2335
+ render() {
2336
+ if (this.props.category === undefined) {
2337
+ return this.icons[this.props.iconSet];
2338
+ } else {
2339
+ if (this.props.shape === undefined) {
2340
+ return this.icons.feedback[this.props.iconSet];
2341
+ } else {
2342
+ if (this.props.open === true) {
2343
+ return this.icons.feedback.square.open[this.props.iconSet];
2344
+ } else {
2345
+ return this.icons.feedback.square[this.props.iconSet];
2346
+ }
2347
+ }
2348
+ }
2349
+ }
2350
+ }
2351
+ NothingSubmitted.__initStatic();
2352
+ NothingSubmitted.propTypes = {
2353
+ iconSet: PropTypes$9.oneOf(['emoji', 'check', undefined]),
2354
+ shape: PropTypes$9.oneOf(['square', undefined]),
2355
+ category: PropTypes$9.oneOf(['feedback', undefined]),
2356
+ open: PropTypes$9.bool
2357
+ };
2358
+ NothingSubmitted.defaultProps = {
2359
+ iconSet: 'check',
2360
+ shape: undefined,
2361
+ category: undefined,
2362
+ open: false
2363
+ };
2364
+ withStyles$9(styles$3)(NothingSubmitted);
2365
+ const PropTypes$8 = _dll_prop_types;
2366
+ const React$9 = _dll_react;
2367
+ const {withStyles: withStyles$8} = _dll_material_ui__core_styles;
2368
+ const _jsxFileName$8 = "/home/circleci/repo/node_modules/@pie-lib/icons/src/partially-correct-icon.jsx";
2369
+ const styles$2 = getStyles('partially-correct', '#4aaf46', '#c1e1ac');
2370
+ const Check = ({className}) => React$9.createElement('g', {
2371
+ transform: 'translate(0, 0)',
2372
+ __self: undefined,
2373
+ __source: {
2374
+ fileName: _jsxFileName$8,
2375
+ lineNumber: 10
2376
+ }
2377
+ }, React$9.createElement('polygon', {
2378
+ className: className,
2379
+ points: "27.5,13.4 23.9,11.4 15.9,25.8 19.1,28.6",
2380
+ __self: undefined,
2381
+ __source: {
2382
+ fileName: _jsxFileName$8,
2383
+ lineNumber: 11
2384
+ }
2385
+ }), React$9.createElement('polygon', {
2386
+ className: className,
2387
+ points: "16.2,20.6 14.4,19.2 11.8,22.3 14.1,24.3",
2388
+ __self: undefined,
2389
+ __source: {
2390
+ fileName: _jsxFileName$8,
2391
+ lineNumber: 12
2392
+ }
2393
+ }));
2394
+ const Emoji = ({className}) => React$9.createElement('g', {
2395
+ transform: 'translate(2, 0)',
2396
+ __self: undefined,
2397
+ __source: {
2398
+ fileName: _jsxFileName$8,
2399
+ lineNumber: 17
2400
+ }
2401
+ }, React$9.createElement('rect', {
2402
+ x: "20.6",
2403
+ y: "11.8",
2404
+ className: className,
2405
+ width: "4",
2406
+ height: "5",
2407
+ __self: undefined,
2408
+ __source: {
2409
+ fileName: _jsxFileName$8,
2410
+ lineNumber: 18
2411
+ }
2412
+ }), React$9.createElement('rect', {
2413
+ x: "11.5",
2414
+ y: "11.8",
2415
+ className: className,
2416
+ width: "4",
2417
+ height: "5",
2418
+ __self: undefined,
2419
+ __source: {
2420
+ fileName: _jsxFileName$8,
2421
+ lineNumber: 19
2422
+ }
2423
+ }), React$9.createElement('rect', {
2424
+ x: "10.9",
2425
+ y: "22.9",
2426
+ transform: "matrix(0.9794 -0.2019 0.2019 0.9794 -4.6237 4.1559)",
2427
+ className: className,
2428
+ width: "14.3",
2429
+ height: "3.7",
2430
+ __self: undefined,
2431
+ __source: {
2432
+ fileName: _jsxFileName$8,
2433
+ lineNumber: 20
2434
+ }
2435
+ }));
2436
+ Emoji.propTypes = Check.propTypes = {
2437
+ className: PropTypes$8.string
2438
+ };
2439
+ const PartiallyCorrect = IconBase(Check, Emoji);
2440
+ PartiallyCorrect.propTypes = {
2441
+ iconSet: PropTypes$8.oneOf(['emoji', 'check']),
2442
+ shape: PropTypes$8.oneOf(['round', 'square']),
2443
+ category: PropTypes$8.oneOf(['feedback', undefined]),
2444
+ open: PropTypes$8.bool
2445
+ };
2446
+ PartiallyCorrect.defaultProps = {
2447
+ iconSet: 'check',
2448
+ shape: 'round',
2449
+ category: undefined,
2450
+ open: false
2451
+ };
2452
+ withStyles$8(styles$2)(PartiallyCorrect);
2453
+ const PropTypes$7 = _dll_prop_types;
2454
+ const React$8 = _dll_react;
2455
+ const {withStyles: withStyles$7} = _dll_material_ui__core_styles;
2456
+ const _jsxFileName$7 = "/home/circleci/repo/node_modules/@pie-lib/icons/src/show-rationale-icon.jsx";
2457
+ const Info = ({fg}) => React$8.createElement('g', {
2458
+ __self: undefined,
2459
+ __source: {
2460
+ fileName: _jsxFileName$7,
2461
+ lineNumber: 7
2462
+ }
2463
+ }, React$8.createElement('rect', {
2464
+ x: "-115",
2465
+ y: "136.7",
2466
+ className: fg,
2467
+ width: "3",
2468
+ height: "3",
2469
+ __self: undefined,
2470
+ __source: {
2471
+ fileName: _jsxFileName$7,
2472
+ lineNumber: 8
2473
+ }
2474
+ }), React$8.createElement('polygon', {
2475
+ className: fg,
2476
+ points: "-112,147.7 -112,141.7 -115.8,141.7 -115.8,143.7 -114,143.7 -114,147.7 -116.2,147.7 -116.2,149.7 -109.8,149.7 -109.8,147.7",
2477
+ __self: undefined,
2478
+ __source: {
2479
+ fileName: _jsxFileName$7,
2480
+ lineNumber: 9
2481
+ }
2482
+ }));
2483
+ Info.propTypes = {
2484
+ fg: PropTypes$7.string
2485
+ };
2486
+ const Border = ({className}) => React$8.createElement('path', {
2487
+ className: className,
2488
+ d: "M-113,158.5c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105,158.5-113,158.5zM-113,130.5c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-105.6,130.5-113,130.5z",
2489
+ __self: undefined,
2490
+ __source: {
2491
+ fileName: _jsxFileName$7,
2492
+ lineNumber: 21
2493
+ }
2494
+ });
2495
+ Border.propTypes = {
2496
+ className: PropTypes$7.string
2497
+ };
2498
+ const Circle = () => React$8.createElement('g', {
2499
+ __self: undefined,
2500
+ __source: {
2501
+ fileName: _jsxFileName$7,
2502
+ lineNumber: 30
2503
+ }
2504
+ }, React$8.createElement('path', {
2505
+ style: {
2506
+ fill: '#D0CAC5',
2507
+ stroke: '#E6E3E0',
2508
+ strokeWidth: 0.75,
2509
+ strokeMiterlimit: 10
2510
+ },
2511
+ d: "M-111.7,160.9c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5C-96.2,154-103.1,160.9-111.7,160.9z",
2512
+ __self: undefined,
2513
+ __source: {
2514
+ fileName: _jsxFileName$7,
2515
+ lineNumber: 31
2516
+ }
2517
+ }), React$8.createElement('path', {
2518
+ style: {
2519
+ fill: '#B3ABA4',
2520
+ stroke: '#CDC7C2',
2521
+ strokeWidth: 0.5,
2522
+ strokeMiterlimit: 10
2523
+ },
2524
+ d: "M-112,159.5c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-104,159.5-112,159.5z",
2525
+ __self: undefined,
2526
+ __source: {
2527
+ fileName: _jsxFileName$7,
2528
+ lineNumber: 40
2529
+ }
2530
+ }), React$8.createElement('circle', {
2531
+ style: {
2532
+ fill: '#FFFFFF'
2533
+ },
2534
+ cx: "-113",
2535
+ cy: "144",
2536
+ r: "14",
2537
+ __self: undefined,
2538
+ __source: {
2539
+ fileName: _jsxFileName$7,
2540
+ lineNumber: 49
2541
+ }
2542
+ }));
2543
+ const Root$1 = ({children, size}) => {
2544
+ size = normalizeSize(size);
2545
+ const style = {
2546
+ height: size,
2547
+ width: size,
2548
+ display: 'inline-block',
2549
+ position: 'relative'
2550
+ };
2551
+ return React$8.createElement('div', {
2552
+ style: style,
2553
+ __self: undefined,
2554
+ __source: {
2555
+ fileName: _jsxFileName$7,
2556
+ lineNumber: 63
2557
+ }
2558
+ }, React$8.createElement('svg', {
2559
+ preserveAspectRatio: "xMinYMin meet",
2560
+ viewBox: "-129 128 34 34",
2561
+ __self: undefined,
2562
+ __source: {
2563
+ fileName: _jsxFileName$7,
2564
+ lineNumber: 64
2565
+ }
2566
+ }, children));
2567
+ };
2568
+ Root$1.propTypes = {
2569
+ children: PropTypes$7.oneOfType([PropTypes$7.arrayOf(PropTypes$7.node), PropTypes$7.node]).isRequired,
2570
+ size: PropTypes$7.number
2571
+ };
2572
+ const styles$1 = {
2573
+ fg: {
2574
+ fill: '#1a9cff'
2575
+ },
2576
+ bg: {
2577
+ fill: '#bce2ff'
2578
+ },
2579
+ border: {
2580
+ fill: '#bbe3fd'
2581
+ },
2582
+ whiteBorder: {
2583
+ fill: 'white'
2584
+ }
2585
+ };
2586
+ class ShowRationale extends React$8.Component {
2587
+ static __initStatic() {
2588
+ this.propTypes = {
2589
+ classes: PropTypes$7.object.isRequired
2590
+ };
2591
+ }
2592
+ constructor(props) {
2593
+ super(props);
2594
+ }
2595
+ render() {
2596
+ const {classes} = this.props;
2597
+ const info = React$8.createElement(Info, {
2598
+ fg: classes.fg,
2599
+ __self: this,
2600
+ __source: {
2601
+ fileName: _jsxFileName$7,
2602
+ lineNumber: 102
2603
+ }
2604
+ });
2605
+ const icons = {
2606
+ check: React$8.createElement(Root$1, {
2607
+ __self: this,
2608
+ __source: {
2609
+ fileName: _jsxFileName$7,
2610
+ lineNumber: 105
2611
+ }
2612
+ }, React$8.createElement(Circle, {
2613
+ __self: this,
2614
+ __source: {
2615
+ fileName: _jsxFileName$7,
2616
+ lineNumber: 106
2617
+ }
2618
+ }), info, React$8.createElement(Border, {
2619
+ className: classes.border,
2620
+ __self: this,
2621
+ __source: {
2622
+ fileName: _jsxFileName$7,
2623
+ lineNumber: 108
2624
+ }
2625
+ })),
2626
+ emoji: React$8.createElement(Root$1, {
2627
+ __self: this,
2628
+ __source: {
2629
+ fileName: _jsxFileName$7,
2630
+ lineNumber: 112
2631
+ }
2632
+ }, React$8.createElement(Circle, {
2633
+ __self: this,
2634
+ __source: {
2635
+ fileName: _jsxFileName$7,
2636
+ lineNumber: 113
2637
+ }
2638
+ }), info, React$8.createElement(Border, {
2639
+ className: classes.border,
2640
+ __self: this,
2641
+ __source: {
2642
+ fileName: _jsxFileName$7,
2643
+ lineNumber: 115
2644
+ }
2645
+ })),
2646
+ open: {
2647
+ check: React$8.createElement(Root$1, {
2648
+ __self: this,
2649
+ __source: {
2650
+ fileName: _jsxFileName$7,
2651
+ lineNumber: 120
2652
+ }
2653
+ }, React$8.createElement('circle', {
2654
+ style: {
2655
+ fill: '#FFFFFF'
2656
+ },
2657
+ cx: "-113",
2658
+ cy: "144",
2659
+ r: "14",
2660
+ __self: this,
2661
+ __source: {
2662
+ fileName: _jsxFileName$7,
2663
+ lineNumber: 121
2664
+ }
2665
+ }), React$8.createElement(Info, {
2666
+ fg: classes.bg,
2667
+ border: classes.whiteBorder,
2668
+ __self: this,
2669
+ __source: {
2670
+ fileName: _jsxFileName$7,
2671
+ lineNumber: 122
2672
+ }
2673
+ })),
2674
+ emoji: React$8.createElement(Root$1, {
2675
+ __self: this,
2676
+ __source: {
2677
+ fileName: _jsxFileName$7,
2678
+ lineNumber: 126
2679
+ }
2680
+ }, React$8.createElement('circle', {
2681
+ style: {
2682
+ fill: '#FFFFFF'
2683
+ },
2684
+ cx: "-113",
2685
+ cy: "144",
2686
+ r: "14",
2687
+ __self: this,
2688
+ __source: {
2689
+ fileName: _jsxFileName$7,
2690
+ lineNumber: 127
2691
+ }
2692
+ }), React$8.createElement(Info, {
2693
+ fg: classes.bg,
2694
+ border: classes.border,
2695
+ __self: this,
2696
+ __source: {
2697
+ fileName: _jsxFileName$7,
2698
+ lineNumber: 128
2699
+ }
2700
+ }))
2701
+ }
2702
+ };
2703
+ if (this.props.open === true) {
2704
+ return icons.open[this.props.iconSet];
2705
+ } else {
2706
+ return icons[this.props.iconSet];
2707
+ }
2708
+ }
2709
+ }
2710
+ ShowRationale.__initStatic();
2711
+ ShowRationale.propTypes = {
2712
+ iconSet: PropTypes$7.oneOf(['emoji', 'check']),
2713
+ open: PropTypes$7.bool
2714
+ };
2715
+ ShowRationale.defaultProps = {
2716
+ iconSet: 'check',
2717
+ open: false
2718
+ };
2719
+ withStyles$7(styles$1)(ShowRationale);
2720
+ var ReplaceTransition = {
2721
+ exports: {}
2722
+ };
2723
+ var TransitionGroup = {
2724
+ exports: {}
2725
+ };
2726
+ var ChildMapping = {};
2727
+ const require$$0$2 = _dll_react;
2728
+ ChildMapping.__esModule = true;
2729
+ ChildMapping.getChildMapping = getChildMapping;
2730
+ ChildMapping.mergeChildMappings = mergeChildMappings;
2731
+ ChildMapping.getInitialChildMapping = getInitialChildMapping;
2732
+ ChildMapping.getNextChildMapping = getNextChildMapping;
2733
+ var _react = require$$0$2;
2734
+ function getChildMapping(children, mapFn) {
2735
+ var mapper = function mapper(child) {
2736
+ return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;
2737
+ };
2738
+ var result = Object.create(null);
2739
+ if (children) _react.Children.map(children, function (c) {
2740
+ return c;
2741
+ }).forEach(function (child) {
2742
+ result[child.key] = mapper(child);
2743
+ });
2744
+ return result;
2745
+ }
2746
+ function mergeChildMappings(prev, next) {
2747
+ prev = prev || ({});
2748
+ next = next || ({});
2749
+ function getValueForKey(key) {
2750
+ return (key in next) ? next[key] : prev[key];
2751
+ }
2752
+ var nextKeysPending = Object.create(null);
2753
+ var pendingKeys = [];
2754
+ for (var prevKey in prev) {
2755
+ if ((prevKey in next)) {
2756
+ if (pendingKeys.length) {
2757
+ nextKeysPending[prevKey] = pendingKeys;
2758
+ pendingKeys = [];
2759
+ }
2760
+ } else {
2761
+ pendingKeys.push(prevKey);
2762
+ }
2763
+ }
2764
+ var i;
2765
+ var childMapping = {};
2766
+ for (var nextKey in next) {
2767
+ if (nextKeysPending[nextKey]) {
2768
+ for (i = 0; i < nextKeysPending[nextKey].length; i++) {
2769
+ var pendingNextKey = nextKeysPending[nextKey][i];
2770
+ childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
2771
+ }
2772
+ }
2773
+ childMapping[nextKey] = getValueForKey(nextKey);
2774
+ }
2775
+ for (i = 0; i < pendingKeys.length; i++) {
2776
+ childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
2777
+ }
2778
+ return childMapping;
2779
+ }
2780
+ function getProp(child, prop, props) {
2781
+ return props[prop] != null ? props[prop] : child.props[prop];
2782
+ }
2783
+ function getInitialChildMapping(props, onExited) {
2784
+ return getChildMapping(props.children, function (child) {
2785
+ return (0, _react.cloneElement)(child, {
2786
+ onExited: onExited.bind(null, child),
2787
+ in: true,
2788
+ appear: getProp(child, 'appear', props),
2789
+ enter: getProp(child, 'enter', props),
2790
+ exit: getProp(child, 'exit', props)
2791
+ });
2792
+ });
2793
+ }
2794
+ function getNextChildMapping(nextProps, prevChildMapping, onExited) {
2795
+ var nextChildMapping = getChildMapping(nextProps.children);
2796
+ var children = mergeChildMappings(prevChildMapping, nextChildMapping);
2797
+ Object.keys(children).forEach(function (key) {
2798
+ var child = children[key];
2799
+ if (!(0, _react.isValidElement)(child)) return;
2800
+ var hasPrev = (key in prevChildMapping);
2801
+ var hasNext = (key in nextChildMapping);
2802
+ var prevChild = prevChildMapping[key];
2803
+ var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in;
2804
+ if (hasNext && (!hasPrev || isLeaving)) {
2805
+ children[key] = (0, _react.cloneElement)(child, {
2806
+ onExited: onExited.bind(null, child),
2807
+ in: true,
2808
+ exit: getProp(child, 'exit', nextProps),
2809
+ enter: getProp(child, 'enter', nextProps)
2810
+ });
2811
+ } else if (!hasNext && hasPrev && !isLeaving) {
2812
+ children[key] = (0, _react.cloneElement)(child, {
2813
+ in: false
2814
+ });
2815
+ } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {
2816
+ children[key] = (0, _react.cloneElement)(child, {
2817
+ onExited: onExited.bind(null, child),
2818
+ in: prevChild.props.in,
2819
+ exit: getProp(child, 'exit', nextProps),
2820
+ enter: getProp(child, 'enter', nextProps)
2821
+ });
2822
+ }
2823
+ });
2824
+ return children;
2825
+ }
2826
+ const require$$0$1 = _dll_prop_types;
2827
+ const require$$1$1 = _dll_react;
2828
+ (function (module, exports) {
2829
+ exports.__esModule = true;
2830
+ exports.default = void 0;
2831
+ var _propTypes = _interopRequireDefault(require$$0$1);
2832
+ var _react = _interopRequireDefault(require$$1$1);
2833
+ var _reactLifecyclesCompat = require$$2$2;
2834
+ var _ChildMapping = ChildMapping;
2835
+ function _interopRequireDefault(obj) {
2836
+ return obj && obj.__esModule ? obj : {
2837
+ default: obj
2838
+ };
2839
+ }
2840
+ function _objectWithoutPropertiesLoose(source, excluded) {
2841
+ if (source == null) return {};
2842
+ var target = {};
2843
+ var sourceKeys = Object.keys(source);
2844
+ var key, i;
2845
+ for (i = 0; i < sourceKeys.length; i++) {
2846
+ key = sourceKeys[i];
2847
+ if (excluded.indexOf(key) >= 0) continue;
2848
+ target[key] = source[key];
2849
+ }
2850
+ return target;
2851
+ }
2852
+ function _extends() {
2853
+ _extends = Object.assign || (function (target) {
2854
+ for (var i = 1; i < arguments.length; i++) {
2855
+ var source = arguments[i];
2856
+ for (var key in source) {
2857
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
2858
+ target[key] = source[key];
2859
+ }
2860
+ }
2861
+ }
2862
+ return target;
2863
+ });
2864
+ return _extends.apply(this, arguments);
2865
+ }
2866
+ function _inheritsLoose(subClass, superClass) {
2867
+ subClass.prototype = Object.create(superClass.prototype);
2868
+ subClass.prototype.constructor = subClass;
2869
+ subClass.__proto__ = superClass;
2870
+ }
2871
+ function _assertThisInitialized(self) {
2872
+ if (self === void 0) {
2873
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2874
+ }
2875
+ return self;
2876
+ }
2877
+ var values = Object.values || (function (obj) {
2878
+ return Object.keys(obj).map(function (k) {
2879
+ return obj[k];
2880
+ });
2881
+ });
2882
+ var defaultProps = {
2883
+ component: 'div',
2884
+ childFactory: function childFactory(child) {
2885
+ return child;
2886
+ }
2887
+ };
2888
+ var TransitionGroup = (function (_React$Component) {
2889
+ _inheritsLoose(TransitionGroup, _React$Component);
2890
+ function TransitionGroup(props, context) {
2891
+ var _this;
2892
+ _this = _React$Component.call(this, props, context) || this;
2893
+ var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this)));
2894
+ _this.state = {
2895
+ handleExited: handleExited,
2896
+ firstRender: true
2897
+ };
2898
+ return _this;
2899
+ }
2900
+ var _proto = TransitionGroup.prototype;
2901
+ _proto.getChildContext = function getChildContext() {
2902
+ return {
2903
+ transitionGroup: {
2904
+ isMounting: !this.appeared
2905
+ }
2906
+ };
2907
+ };
2908
+ _proto.componentDidMount = function componentDidMount() {
2909
+ this.appeared = true;
2910
+ this.mounted = true;
2911
+ };
2912
+ _proto.componentWillUnmount = function componentWillUnmount() {
2913
+ this.mounted = false;
2914
+ };
2915
+ TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
2916
+ var prevChildMapping = _ref.children, handleExited = _ref.handleExited, firstRender = _ref.firstRender;
2917
+ return {
2918
+ children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),
2919
+ firstRender: false
2920
+ };
2921
+ };
2922
+ _proto.handleExited = function handleExited(child, node) {
2923
+ var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);
2924
+ if ((child.key in currentChildMapping)) return;
2925
+ if (child.props.onExited) {
2926
+ child.props.onExited(node);
2927
+ }
2928
+ if (this.mounted) {
2929
+ this.setState(function (state) {
2930
+ var children = _extends({}, state.children);
2931
+ delete children[child.key];
2932
+ return {
2933
+ children: children
2934
+ };
2935
+ });
2936
+ }
2937
+ };
2938
+ _proto.render = function render() {
2939
+ var _this$props = this.props, Component = _this$props.component, childFactory = _this$props.childFactory, props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
2940
+ var children = values(this.state.children).map(childFactory);
2941
+ delete props.appear;
2942
+ delete props.enter;
2943
+ delete props.exit;
2944
+ if (Component === null) {
2945
+ return children;
2946
+ }
2947
+ return _react.default.createElement(Component, props, children);
2948
+ };
2949
+ return TransitionGroup;
2950
+ })(_react.default.Component);
2951
+ TransitionGroup.childContextTypes = {
2952
+ transitionGroup: _propTypes.default.object.isRequired
2953
+ };
2954
+ TransitionGroup.propTypes = {
2955
+ component: _propTypes.default.any,
2956
+ children: _propTypes.default.node,
2957
+ appear: _propTypes.default.bool,
2958
+ enter: _propTypes.default.bool,
2959
+ exit: _propTypes.default.bool,
2960
+ childFactory: _propTypes.default.func
2961
+ };
2962
+ TransitionGroup.defaultProps = defaultProps;
2963
+ var _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);
2964
+ exports.default = _default;
2965
+ module.exports = exports["default"];
2966
+ })(TransitionGroup, TransitionGroup.exports);
2967
+ getDefaultExportFromCjs(TransitionGroup.exports);
2968
+ const require$$0 = _dll_prop_types;
2969
+ const require$$1 = _dll_react;
2970
+ const require$$2 = _dll_react_dom;
2971
+ (function (module, exports) {
2972
+ exports.__esModule = true;
2973
+ exports.default = void 0;
2974
+ var _propTypes = _interopRequireDefault(require$$0);
2975
+ var _react = _interopRequireDefault(require$$1);
2976
+ var _reactDom = require$$2;
2977
+ var _TransitionGroup = _interopRequireDefault(TransitionGroup.exports);
2978
+ function _interopRequireDefault(obj) {
2979
+ return obj && obj.__esModule ? obj : {
2980
+ default: obj
2981
+ };
2982
+ }
2983
+ function _objectWithoutPropertiesLoose(source, excluded) {
2984
+ if (source == null) return {};
2985
+ var target = {};
2986
+ var sourceKeys = Object.keys(source);
2987
+ var key, i;
2988
+ for (i = 0; i < sourceKeys.length; i++) {
2989
+ key = sourceKeys[i];
2990
+ if (excluded.indexOf(key) >= 0) continue;
2991
+ target[key] = source[key];
2992
+ }
2993
+ return target;
2994
+ }
2995
+ function _inheritsLoose(subClass, superClass) {
2996
+ subClass.prototype = Object.create(superClass.prototype);
2997
+ subClass.prototype.constructor = subClass;
2998
+ subClass.__proto__ = superClass;
2999
+ }
3000
+ var ReplaceTransition = (function (_React$Component) {
3001
+ _inheritsLoose(ReplaceTransition, _React$Component);
3002
+ function ReplaceTransition() {
3003
+ var _this;
3004
+ for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
3005
+ _args[_key] = arguments[_key];
3006
+ }
3007
+ _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;
3008
+ _this.handleEnter = function () {
3009
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
3010
+ args[_key2] = arguments[_key2];
3011
+ }
3012
+ return _this.handleLifecycle('onEnter', 0, args);
3013
+ };
3014
+ _this.handleEntering = function () {
3015
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
3016
+ args[_key3] = arguments[_key3];
3017
+ }
3018
+ return _this.handleLifecycle('onEntering', 0, args);
3019
+ };
3020
+ _this.handleEntered = function () {
3021
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
3022
+ args[_key4] = arguments[_key4];
3023
+ }
3024
+ return _this.handleLifecycle('onEntered', 0, args);
3025
+ };
3026
+ _this.handleExit = function () {
3027
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
3028
+ args[_key5] = arguments[_key5];
3029
+ }
3030
+ return _this.handleLifecycle('onExit', 1, args);
3031
+ };
3032
+ _this.handleExiting = function () {
3033
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
3034
+ args[_key6] = arguments[_key6];
3035
+ }
3036
+ return _this.handleLifecycle('onExiting', 1, args);
3037
+ };
3038
+ _this.handleExited = function () {
3039
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
3040
+ args[_key7] = arguments[_key7];
3041
+ }
3042
+ return _this.handleLifecycle('onExited', 1, args);
3043
+ };
3044
+ return _this;
3045
+ }
3046
+ var _proto = ReplaceTransition.prototype;
3047
+ _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {
3048
+ var _child$props;
3049
+ var children = this.props.children;
3050
+ var child = _react.default.Children.toArray(children)[idx];
3051
+ if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);
3052
+ if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));
3053
+ };
3054
+ _proto.render = function render() {
3055
+ var _this$props = this.props, children = _this$props.children, inProp = _this$props.in, props = _objectWithoutPropertiesLoose(_this$props, ["children", "in"]);
3056
+ var _React$Children$toArr = _react.default.Children.toArray(children), first = _React$Children$toArr[0], second = _React$Children$toArr[1];
3057
+ delete props.onEnter;
3058
+ delete props.onEntering;
3059
+ delete props.onEntered;
3060
+ delete props.onExit;
3061
+ delete props.onExiting;
3062
+ delete props.onExited;
3063
+ return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {
3064
+ key: 'first',
3065
+ onEnter: this.handleEnter,
3066
+ onEntering: this.handleEntering,
3067
+ onEntered: this.handleEntered
3068
+ }) : _react.default.cloneElement(second, {
3069
+ key: 'second',
3070
+ onEnter: this.handleExit,
3071
+ onEntering: this.handleExiting,
3072
+ onEntered: this.handleExited
3073
+ }));
3074
+ };
3075
+ return ReplaceTransition;
3076
+ })(_react.default.Component);
3077
+ ReplaceTransition.propTypes = {
3078
+ in: _propTypes.default.bool.isRequired,
3079
+ children: function children(props, propName) {
3080
+ if (_react.default.Children.count(props[propName]) !== 2) return new Error("\"" + propName + "\" must be exactly two transition components.");
3081
+ return null;
3082
+ }
3083
+ };
3084
+ var _default = ReplaceTransition;
3085
+ exports.default = _default;
3086
+ module.exports = exports["default"];
3087
+ })(ReplaceTransition, ReplaceTransition.exports);
3088
+ getDefaultExportFromCjs(ReplaceTransition.exports);
3089
+ var _CSSTransition = _interopRequireDefault(CSSTransition$1.exports);
3090
+ var _ReplaceTransition = _interopRequireDefault(ReplaceTransition.exports);
3091
+ var _TransitionGroup = _interopRequireDefault(TransitionGroup.exports);
3092
+ var _Transition = _interopRequireDefault(Transition$1);
3093
+ function _interopRequireDefault(obj) {
3094
+ return obj && obj.__esModule ? obj : {
3095
+ default: obj
3096
+ };
3097
+ }
3098
+ var reactTransitionGroup = {
3099
+ Transition: _Transition.default,
3100
+ TransitionGroup: _TransitionGroup.default,
3101
+ ReplaceTransition: _ReplaceTransition.default,
3102
+ CSSTransition: _CSSTransition.default
3103
+ };
3104
+ const React$7 = _dll_react;
3105
+ const PropTypes$6 = _dll_prop_types;
3106
+ const {withStyles: withStyles$6} = _dll_material_ui__core_styles;
3107
+ const _jsxFileName$6 = "/home/circleci/repo/node_modules/@pie-lib/correct-answer-toggle/src/expander.jsx";
3108
+ const Expander = props => {
3109
+ const {classes, show, children} = props;
3110
+ return React$7.createElement(reactTransitionGroup.CSSTransition, {
3111
+ in: show,
3112
+ appear: true,
3113
+ mountOnEnter: false,
3114
+ timeout: 300,
3115
+ classNames: {
3116
+ ...classes
3117
+ },
3118
+ __self: undefined,
3119
+ __source: {
3120
+ fileName: _jsxFileName$6,
3121
+ lineNumber: 10
3122
+ }
3123
+ }, React$7.createElement('div', {
3124
+ className: classes.expander,
3125
+ __self: undefined,
3126
+ __source: {
3127
+ fileName: _jsxFileName$6,
3128
+ lineNumber: 17
3129
+ }
3130
+ }, children));
3131
+ };
3132
+ Expander.propTypes = {
3133
+ show: PropTypes$6.bool.isRequired,
3134
+ className: PropTypes$6.string,
3135
+ classes: PropTypes$6.object,
3136
+ children: PropTypes$6.oneOfType([PropTypes$6.arrayOf(PropTypes$6.node), PropTypes$6.node]).isRequired
3137
+ };
3138
+ const transition = 'height ease-in 300ms, opacity ease-in 300ms';
3139
+ var Expander$1 = withStyles$6(() => ({
3140
+ expander: {
3141
+ position: 'relative',
3142
+ height: 0,
3143
+ overflow: 'hidden',
3144
+ display: 'flex',
3145
+ visibility: 'hidden',
3146
+ width: 0
3147
+ },
3148
+ enter: {
3149
+ transition,
3150
+ opacity: 1,
3151
+ height: '25px',
3152
+ width: 'auto',
3153
+ visibility: 'visible'
3154
+ },
3155
+ enterDone: {
3156
+ height: '25px',
3157
+ visibility: 'visible',
3158
+ width: 'auto'
3159
+ },
3160
+ exit: {
3161
+ transition,
3162
+ opacity: 0,
3163
+ height: 0,
3164
+ visibility: 'visible',
3165
+ width: 0
3166
+ },
3167
+ exitDone: {
3168
+ opacity: 0,
3169
+ visibility: 'hidden',
3170
+ height: 0,
3171
+ width: 0
3172
+ }
3173
+ }))(Expander);
3174
+ const {withStyles: withStyles$5} = _dll_material_ui__core_styles;
3175
+ const {Readable: Readable} = _dll_pie_lib__render_ui;
3176
+ const React$6 = _dll_react;
3177
+ const classNames$4 = _dll_classnames;
3178
+ const PropTypes$5 = _dll_prop_types;
3179
+ const _jsxFileName$5 = "/home/circleci/repo/node_modules/@pie-lib/correct-answer-toggle/src/index.jsx";
3180
+ class CorrectAnswerToggle extends React$6.Component {
3181
+ static __initStatic() {
3182
+ this.propTypes = {
3183
+ onToggle: PropTypes$5.func,
3184
+ toggled: PropTypes$5.bool,
3185
+ show: PropTypes$5.bool,
3186
+ hideMessage: PropTypes$5.string,
3187
+ showMessage: PropTypes$5.string,
3188
+ classes: PropTypes$5.object.isRequired,
3189
+ className: PropTypes$5.string
3190
+ };
3191
+ }
3192
+ static __initStatic2() {
3193
+ this.defaultProps = {
3194
+ showMessage: 'Show correct answer',
3195
+ hideMessage: 'Hide correct answer',
3196
+ show: false,
3197
+ toggled: false
3198
+ };
3199
+ }
3200
+ constructor(props) {
3201
+ super(props);
3202
+ this.state = {
3203
+ show: props.show
3204
+ };
3205
+ }
3206
+ onClick() {
3207
+ this.props.onToggle(!this.props.toggled);
3208
+ }
3209
+ componentWillReceiveProps(nextProps) {
3210
+ this.setState({
3211
+ show: nextProps.show
3212
+ });
3213
+ }
3214
+ render() {
3215
+ const {classes, className, toggled, hideMessage, showMessage} = this.props;
3216
+ return React$6.createElement('div', {
3217
+ className: classNames$4(classes.root, className),
3218
+ __self: this,
3219
+ __source: {
3220
+ fileName: _jsxFileName$5,
3221
+ lineNumber: 52
3222
+ }
3223
+ }, React$6.createElement(Expander$1, {
3224
+ show: this.state.show,
3225
+ className: classes.expander,
3226
+ __self: this,
3227
+ __source: {
3228
+ fileName: _jsxFileName$5,
3229
+ lineNumber: 53
3230
+ }
3231
+ }, React$6.createElement('div', {
3232
+ className: classes.content,
3233
+ onClick: this.onClick.bind(this),
3234
+ __self: this,
3235
+ __source: {
3236
+ fileName: _jsxFileName$5,
3237
+ lineNumber: 54
3238
+ }
3239
+ }, React$6.createElement('div', {
3240
+ className: classes.iconHolder,
3241
+ __self: this,
3242
+ __source: {
3243
+ fileName: _jsxFileName$5,
3244
+ lineNumber: 55
3245
+ }
3246
+ }, React$6.createElement(CSSTransition, {
3247
+ timeout: 400,
3248
+ in: toggled,
3249
+ exit: !toggled,
3250
+ classNames: classes,
3251
+ __self: this,
3252
+ __source: {
3253
+ fileName: _jsxFileName$5,
3254
+ lineNumber: 56
3255
+ }
3256
+ }, React$6.createElement(CorrectResponse$1, {
3257
+ open: toggled,
3258
+ key: "correct-open",
3259
+ className: classes.icon,
3260
+ __self: this,
3261
+ __source: {
3262
+ fileName: _jsxFileName$5,
3263
+ lineNumber: 57
3264
+ }
3265
+ })), React$6.createElement(CSSTransition, {
3266
+ timeout: 5000,
3267
+ in: !toggled,
3268
+ exit: toggled,
3269
+ classNames: classes,
3270
+ __self: this,
3271
+ __source: {
3272
+ fileName: _jsxFileName$5,
3273
+ lineNumber: 59
3274
+ }
3275
+ }, React$6.createElement(CorrectResponse$1, {
3276
+ open: toggled,
3277
+ key: "correct-closed",
3278
+ className: classes.icon,
3279
+ __self: this,
3280
+ __source: {
3281
+ fileName: _jsxFileName$5,
3282
+ lineNumber: 60
3283
+ }
3284
+ }))), React$6.createElement(Readable, {
3285
+ false: true,
3286
+ __self: this,
3287
+ __source: {
3288
+ fileName: _jsxFileName$5,
3289
+ lineNumber: 63
3290
+ }
3291
+ }, React$6.createElement('div', {
3292
+ className: classes.label,
3293
+ 'aria-hidden': !this.state.show,
3294
+ __self: this,
3295
+ __source: {
3296
+ fileName: _jsxFileName$5,
3297
+ lineNumber: 64
3298
+ }
3299
+ }, toggled ? hideMessage : showMessage)))));
3300
+ }
3301
+ }
3302
+ CorrectAnswerToggle.__initStatic();
3303
+ CorrectAnswerToggle.__initStatic2();
3304
+ var CorrectAnswerToggle$1 = withStyles$5(styles$8)(CorrectAnswerToggle);
3305
+ const React$5 = _dll_react;
3306
+ const {withStyles: withStyles$4} = _dll_material_ui__core_styles;
3307
+ const PropTypes$4 = _dll_prop_types;
3308
+ const {color: color$2} = _dll_pie_lib__render_ui;
3309
+ const _jsxFileName$4 = "/home/circleci/repo/packages/multiple-choice/src/feedback-tick.jsx";
3310
+ const stylesheet = {
3311
+ incorrect: {
3312
+ fill: `var(--feedback-incorrect-bg-color, ${color$2.incorrect()})`
3313
+ },
3314
+ correct: {
3315
+ fill: `var(--feedback-correct-bg-color, ${color$2.correct()})`
3316
+ },
3317
+ feedbackTick: {
3318
+ width: '33px',
3319
+ height: '33px',
3320
+ '& svg': {
3321
+ position: 'absolute',
3322
+ display: 'inline-block',
3323
+ width: '33px',
3324
+ height: '33px',
3325
+ verticalAlign: 'middle',
3326
+ '& hide': {
3327
+ display: 'none'
3328
+ }
3329
+ }
3330
+ },
3331
+ feedbackTickEnter: {
3332
+ opacity: '0',
3333
+ left: '-50px'
3334
+ },
3335
+ feedbackTickEnterActive: {
3336
+ opacity: '1',
3337
+ left: '0px',
3338
+ transition: 'left 500ms ease-in 200ms, opacity 500ms linear 200ms'
3339
+ },
3340
+ feedbackTickLeave: {
3341
+ opacity: '1',
3342
+ left: '0px'
3343
+ },
3344
+ feedbackTickLeaveActive: {
3345
+ opacity: '0',
3346
+ left: '-50px',
3347
+ transition: 'left 300ms ease-in, opacity 300ms'
3348
+ }
3349
+ };
3350
+ class FeedbackTick extends React$5.Component {
3351
+ static __initStatic() {
3352
+ this.propTypes = {
3353
+ classes: PropTypes$4.object.isRequired,
3354
+ correctness: PropTypes$4.string
3355
+ };
3356
+ }
3357
+ constructor(props) {
3358
+ super(props);
3359
+ this.incorrectIcon = React$5.createElement('svg', {
3360
+ key: "1",
3361
+ preserveAspectRatio: "xMinYMin meet",
3362
+ x: "0px",
3363
+ y: "0px",
3364
+ viewBox: "0 0 44 40",
3365
+ style: {
3366
+ enableBackground: 'new 0 0 44 40'
3367
+ },
3368
+ __self: this,
3369
+ __source: {
3370
+ fileName: _jsxFileName$4,
3371
+ lineNumber: 56
3372
+ }
3373
+ }, React$5.createElement('g', {
3374
+ __self: this,
3375
+ __source: {
3376
+ fileName: _jsxFileName$4,
3377
+ lineNumber: 64
3378
+ }
3379
+ }, React$5.createElement('rect', {
3380
+ x: "11",
3381
+ y: "17.3",
3382
+ transform: "matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)",
3383
+ className: this.props.classes.incorrect,
3384
+ width: "16.6",
3385
+ height: "3.7",
3386
+ __self: this,
3387
+ __source: {
3388
+ fileName: _jsxFileName$4,
3389
+ lineNumber: 65
3390
+ }
3391
+ }), React$5.createElement('rect', {
3392
+ x: "17.4",
3393
+ y: "10.7",
3394
+ transform: "matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)",
3395
+ className: this.props.classes.incorrect,
3396
+ width: "3.7",
3397
+ height: "16.6",
3398
+ __self: this,
3399
+ __source: {
3400
+ fileName: _jsxFileName$4,
3401
+ lineNumber: 73
3402
+ }
3403
+ })));
3404
+ this.correctIcon = React$5.createElement('svg', {
3405
+ key: "2",
3406
+ preserveAspectRatio: "xMinYMin meet",
3407
+ version: "1.1",
3408
+ x: "0px",
3409
+ y: "0px",
3410
+ viewBox: "0 0 44 40",
3411
+ style: {
3412
+ enableBackground: 'new 0 0 44 40'
3413
+ },
3414
+ __self: this,
3415
+ __source: {
3416
+ fileName: _jsxFileName$4,
3417
+ lineNumber: 86
3418
+ }
3419
+ }, React$5.createElement('polygon', {
3420
+ className: this.props.classes.correct,
3421
+ points: "19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4",
3422
+ __self: this,
3423
+ __source: {
3424
+ fileName: _jsxFileName$4,
3425
+ lineNumber: 95
3426
+ }
3427
+ }));
3428
+ }
3429
+ render() {
3430
+ const {correctness, classes} = this.props;
3431
+ const icon = (() => {
3432
+ if (correctness === 'incorrect') {
3433
+ return this.incorrectIcon;
3434
+ } else if (correctness === 'correct') {
3435
+ return this.correctIcon;
3436
+ }
3437
+ })();
3438
+ return React$5.createElement('div', {
3439
+ className: classes.feedbackTick,
3440
+ __self: this,
3441
+ __source: {
3442
+ fileName: _jsxFileName$4,
3443
+ lineNumber: 115
3444
+ }
3445
+ }, React$5.createElement(reactTransitionGroup.TransitionGroup, {
3446
+ __self: this,
3447
+ __source: {
3448
+ fileName: _jsxFileName$4,
3449
+ lineNumber: 116
3450
+ }
3451
+ }, correctness && React$5.createElement(reactTransitionGroup.CSSTransition, {
3452
+ classNames: {
3453
+ enter: classes.feedbackTickEnter,
3454
+ enterActive: classes.feedbackTickEnterActive,
3455
+ exit: classes.feedbackTickLeave,
3456
+ exitActive: classes.feedbackTickLeaveActive
3457
+ },
3458
+ timeout: {
3459
+ enter: 700,
3460
+ exit: 300
3461
+ },
3462
+ __self: this,
3463
+ __source: {
3464
+ fileName: _jsxFileName$4,
3465
+ lineNumber: 118
3466
+ }
3467
+ }, icon)));
3468
+ }
3469
+ }
3470
+ FeedbackTick.__initStatic();
3471
+ var FeedbackTick$1 = withStyles$4(stylesheet, {
3472
+ name: 'FeedbackTick'
3473
+ })(FeedbackTick);
3474
+ const {FormControlLabel: FormControlLabel} = _dll_material_ui__core;
3475
+ const {Checkbox: Checkbox} = _dll_material_ui__core;
3476
+ const {Radio: Radio} = _dll_material_ui__core;
3477
+ const React$4 = _dll_react;
3478
+ const PropTypes$3 = _dll_prop_types;
3479
+ const {withStyles: withStyles$3} = _dll_material_ui__core_styles;
3480
+ const {Feedback: Feedback} = _dll_pie_lib__render_ui;
3481
+ const {color: color$1} = _dll_pie_lib__render_ui;
3482
+ const {PreviewPrompt: PreviewPrompt$1} = _dll_pie_lib__render_ui;
3483
+ const classNames$3 = _dll_classnames;
3484
+ const _jsxFileName$3 = "/home/circleci/repo/packages/multiple-choice/src/choice-input.jsx";
3485
+ const styleSheet = () => ({
3486
+ row: {
3487
+ display: 'flex',
3488
+ alignItems: 'center',
3489
+ backgroundColor: color$1.background()
3490
+ },
3491
+ checkboxHolder: {
3492
+ display: 'flex',
3493
+ alignItems: 'center',
3494
+ backgroundColor: color$1.background(),
3495
+ flex: 1,
3496
+ '& label': {
3497
+ color: color$1.text()
3498
+ }
3499
+ }
3500
+ });
3501
+ const formStyleSheet = {
3502
+ label: {
3503
+ color: `${color$1.text()} !important`,
3504
+ backgroundColor: color$1.background()
3505
+ }
3506
+ };
3507
+ const StyledFormControlLabel = withStyles$3(formStyleSheet, {
3508
+ name: 'FormControlLabel'
3509
+ })(props => React$4.createElement(FormControlLabel, {
3510
+ ...props,
3511
+ classes: {
3512
+ label: props.classes.label
3513
+ },
3514
+ __self: undefined,
3515
+ __source: {
3516
+ fileName: _jsxFileName$3,
3517
+ lineNumber: 39
3518
+ }
3519
+ }));
3520
+ const CLASS_NAME = 'multiple-choice-component';
3521
+ const colorStyle = (varName, fallback) => ({
3522
+ [`&.${CLASS_NAME}`]: {
3523
+ color: `var(--choice-input-${varName}, ${fallback}) !important`
3524
+ }
3525
+ });
3526
+ const inputStyles = {
3527
+ 'correct-root': colorStyle('correct-color', color$1.text()),
3528
+ 'correct-checked': colorStyle('correct-selected-color', color$1.correct()),
3529
+ 'correct-disabled': colorStyle('correct-disabled-color', color$1.disabled()),
3530
+ 'incorrect-root': colorStyle('incorrect-color', color$1.incorrect()),
3531
+ 'incorrect-checked': colorStyle('incorrect-checked', color$1.incorrect()),
3532
+ 'incorrect-disabled': colorStyle('incorrect-disabled-color', color$1.disabled()),
3533
+ root: {
3534
+ ...colorStyle('color', color$1.text()),
3535
+ '&:hover': {
3536
+ color: `${color$1.primaryLight()} !important`
3537
+ }
3538
+ },
3539
+ checked: colorStyle('selected-color', color$1.primary()),
3540
+ disabled: {
3541
+ ...colorStyle('disabled-color', color$1.text()),
3542
+ opacity: 0.6,
3543
+ cursor: 'not-allowed !important',
3544
+ pointerEvents: 'initial !important'
3545
+ }
3546
+ };
3547
+ const StyledCheckbox = withStyles$3(inputStyles)(props => {
3548
+ const {correctness, classes, checked, onChange, disabled, accessibility} = props;
3549
+ const key = k => correctness ? `${correctness}-${k}` : k;
3550
+ const resolved = {
3551
+ root: classes[key('root')],
3552
+ checked: classes[key('checked')],
3553
+ disabled: classes[key('disabled')]
3554
+ };
3555
+ const miniProps = {
3556
+ checked,
3557
+ onChange,
3558
+ disabled
3559
+ };
3560
+ return React$4.createElement(Checkbox, {
3561
+ 'aria-label': accessibility,
3562
+ ...miniProps,
3563
+ className: CLASS_NAME,
3564
+ classes: {
3565
+ root: resolved.root,
3566
+ checked: resolved.checked,
3567
+ disabled: `${correctness ? '' : resolved.disabled}`
3568
+ },
3569
+ __self: undefined,
3570
+ __source: {
3571
+ fileName: _jsxFileName$3,
3572
+ lineNumber: 92
3573
+ }
3574
+ });
3575
+ });
3576
+ const StyledRadio = withStyles$3(inputStyles)(props => {
3577
+ const {correctness, classes, checked, onChange, disabled, accessibility} = props;
3578
+ const key = k => correctness ? `${correctness}-${k}` : k;
3579
+ const resolved = {
3580
+ root: classes[key('root')],
3581
+ checked: classes[key('checked')],
3582
+ disabled: classes[key('disabled')]
3583
+ };
3584
+ const miniProps = {
3585
+ checked,
3586
+ onChange,
3587
+ disabled
3588
+ };
3589
+ return React$4.createElement(Radio, {
3590
+ 'aria-label': accessibility,
3591
+ ...miniProps,
3592
+ className: CLASS_NAME,
3593
+ classes: {
3594
+ root: resolved.root,
3595
+ checked: resolved.checked,
3596
+ disabled: `${correctness ? '' : resolved.disabled}`
3597
+ },
3598
+ __self: undefined,
3599
+ __source: {
3600
+ fileName: _jsxFileName$3,
3601
+ lineNumber: 125
3602
+ }
3603
+ });
3604
+ });
3605
+ class ChoiceInput extends React$4.Component {
3606
+ static __initStatic() {
3607
+ this.propTypes = {
3608
+ choiceMode: PropTypes$3.oneOf(['radio', 'checkbox']),
3609
+ displayKey: PropTypes$3.string.isRequired,
3610
+ checked: PropTypes$3.bool.isRequired,
3611
+ correctness: PropTypes$3.string,
3612
+ disabled: PropTypes$3.bool.isRequired,
3613
+ feedback: PropTypes$3.string,
3614
+ label: PropTypes$3.string.isRequired,
3615
+ rationale: PropTypes$3.string,
3616
+ accessibility: PropTypes$3.string,
3617
+ onChange: PropTypes$3.func.isRequired,
3618
+ value: PropTypes$3.string.isRequired,
3619
+ classes: PropTypes$3.object,
3620
+ className: PropTypes$3.string,
3621
+ hideTick: PropTypes$3.bool,
3622
+ isEvaluateMode: PropTypes$3.bool
3623
+ };
3624
+ }
3625
+ static __initStatic2() {
3626
+ this.defaultProps = {
3627
+ rationale: null,
3628
+ accessibility: null,
3629
+ checked: false,
3630
+ isEvaluateMode: false
3631
+ };
3632
+ }
3633
+ constructor(props) {
3634
+ super(props);
3635
+ this.onToggleChoice = this.onToggleChoice.bind(this);
3636
+ }
3637
+ onToggleChoice() {
3638
+ this.props.onChange({
3639
+ value: this.props.value,
3640
+ selected: !this.props.checked
3641
+ });
3642
+ }
3643
+ render() {
3644
+ const {choiceMode, disabled, displayKey, feedback, label, checked, correctness, classes, className, rationale, accessibility, hideTick, isEvaluateMode} = this.props;
3645
+ const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;
3646
+ const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';
3647
+ return React$4.createElement('div', {
3648
+ className: classNames$3(className, 'corespring-' + classSuffix, 'choice-input'),
3649
+ __self: this,
3650
+ __source: {
3651
+ fileName: _jsxFileName$3,
3652
+ lineNumber: 197
3653
+ }
3654
+ }, React$4.createElement('div', {
3655
+ className: classes.row,
3656
+ __self: this,
3657
+ __source: {
3658
+ fileName: _jsxFileName$3,
3659
+ lineNumber: 198
3660
+ }
3661
+ }, !hideTick && isEvaluateMode && React$4.createElement(FeedbackTick$1, {
3662
+ correctness: correctness,
3663
+ __self: this,
3664
+ __source: {
3665
+ fileName: _jsxFileName$3,
3666
+ lineNumber: 199
3667
+ }
3668
+ }), React$4.createElement('div', {
3669
+ className: classNames$3(classes.checkboxHolder, 'checkbox-holder'),
3670
+ __self: this,
3671
+ __source: {
3672
+ fileName: _jsxFileName$3,
3673
+ lineNumber: 200
3674
+ }
3675
+ }, React$4.createElement(StyledFormControlLabel, {
3676
+ disabled: disabled,
3677
+ label: displayKey ? displayKey + '. ' : '',
3678
+ control: React$4.createElement(Tag, {
3679
+ accessibility: accessibility,
3680
+ checked: checked,
3681
+ correctness: correctness,
3682
+ onChange: this.onToggleChoice,
3683
+ __self: this,
3684
+ __source: {
3685
+ fileName: _jsxFileName$3,
3686
+ lineNumber: 205
3687
+ }
3688
+ }),
3689
+ __self: this,
3690
+ __source: {
3691
+ fileName: _jsxFileName$3,
3692
+ lineNumber: 201
3693
+ }
3694
+ }), React$4.createElement(PreviewPrompt$1, {
3695
+ className: "label",
3696
+ onClick: this.onToggleChoice,
3697
+ prompt: label,
3698
+ tagName: "span",
3699
+ __self: this,
3700
+ __source: {
3701
+ fileName: _jsxFileName$3,
3702
+ lineNumber: 213
3703
+ }
3704
+ }))), rationale && React$4.createElement(PreviewPrompt$1, {
3705
+ className: "rationale",
3706
+ defaultClassName: "rationale",
3707
+ prompt: rationale,
3708
+ __self: this,
3709
+ __source: {
3710
+ fileName: _jsxFileName$3,
3711
+ lineNumber: 222
3712
+ }
3713
+ }), React$4.createElement(Feedback, {
3714
+ feedback: feedback,
3715
+ correctness: correctness,
3716
+ __self: this,
3717
+ __source: {
3718
+ fileName: _jsxFileName$3,
3719
+ lineNumber: 224
3720
+ }
3721
+ }));
3722
+ }
3723
+ }
3724
+ ChoiceInput.__initStatic();
3725
+ ChoiceInput.__initStatic2();
3726
+ var ChoiceInput$1 = withStyles$3(styleSheet)(ChoiceInput);
3727
+ const React$3 = _dll_react;
3728
+ const PropTypes$2 = _dll_prop_types;
3729
+ const {withStyles: withStyles$2} = _dll_material_ui__core_styles;
3730
+ const classNames$2 = _dll_classnames;
3731
+ const _jsxFileName$2 = "/home/circleci/repo/packages/multiple-choice/src/choice.jsx";
3732
+ class Choice extends React$3.Component {
3733
+ constructor(...args) {
3734
+ super(...args);
3735
+ Choice.prototype.__init.call(this);
3736
+ }
3737
+ __init() {
3738
+ this.onChange = choice => {
3739
+ const {disabled, onChoiceChanged} = this.props;
3740
+ if (!disabled) {
3741
+ onChoiceChanged(choice);
3742
+ }
3743
+ };
3744
+ }
3745
+ render() {
3746
+ const {choice, index, choicesLength, showCorrect, isEvaluateMode, choiceMode, disabled, checked, correctness, displayKey, classes, choicesLayout, gridColumns} = this.props;
3747
+ const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');
3748
+ const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;
3749
+ const choiceProps = {
3750
+ ...choice,
3751
+ checked,
3752
+ choiceMode,
3753
+ disabled,
3754
+ feedback,
3755
+ correctness,
3756
+ displayKey,
3757
+ choicesLayout,
3758
+ gridColumns,
3759
+ onChange: this.onChange,
3760
+ isEvaluateMode
3761
+ };
3762
+ const names = classNames$2(classes.choice, {
3763
+ [classes.noBorder]: index === choicesLength - 1 || choicesLayout !== 'vertical'
3764
+ });
3765
+ return React$3.createElement('div', {
3766
+ className: choiceClass,
3767
+ key: index,
3768
+ __self: this,
3769
+ __source: {
3770
+ fileName: _jsxFileName$2,
3771
+ lineNumber: 56
3772
+ }
3773
+ }, React$3.createElement(ChoiceInput$1, {
3774
+ ...choiceProps,
3775
+ className: names,
3776
+ __self: this,
3777
+ __source: {
3778
+ fileName: _jsxFileName$2,
3779
+ lineNumber: 57
3780
+ }
3781
+ }));
3782
+ }
3783
+ }
3784
+ Choice.propTypes = {
3785
+ choiceMode: PropTypes$2.oneOf(['radio', 'checkbox']),
3786
+ choice: PropTypes$2.object,
3787
+ disabled: PropTypes$2.bool.isRequired,
3788
+ onChoiceChanged: PropTypes$2.func,
3789
+ classes: PropTypes$2.object.isRequired,
3790
+ index: PropTypes$2.number,
3791
+ choicesLength: PropTypes$2.number,
3792
+ showCorrect: PropTypes$2.bool,
3793
+ isEvaluateMode: PropTypes$2.bool,
3794
+ checked: PropTypes$2.bool,
3795
+ correctness: PropTypes$2.string,
3796
+ displayKey: PropTypes$2.string,
3797
+ choicesLayout: PropTypes$2.oneOf(['vertical', 'grid', 'horizontal']),
3798
+ gridColumns: PropTypes$2.string
3799
+ };
3800
+ var StyledChoice = withStyles$2({
3801
+ choice: {
3802
+ paddingTop: '20px',
3803
+ paddingBottom: '10px',
3804
+ borderBottom: '1px solid #E0DEE0'
3805
+ },
3806
+ noBorder: {
3807
+ borderBottom: 'none'
3808
+ }
3809
+ })(Choice);
3810
+ const React$2 = _dll_react;
3811
+ const PropTypes$1 = _dll_prop_types;
3812
+ const classNames$1 = _dll_classnames;
3813
+ const {withStyles: withStyles$1} = _dll_material_ui__core_styles;
3814
+ const {color: color} = _dll_pie_lib__render_ui;
3815
+ const {Collapsible: Collapsible} = _dll_pie_lib__render_ui;
3816
+ const {PreviewPrompt: PreviewPrompt} = _dll_pie_lib__render_ui;
3817
+ const _jsxFileName$1 = "/home/circleci/repo/packages/multiple-choice/src/multiple-choice.jsx";
3818
+ const styles = {
3819
+ corespringChoice: {
3820
+ backgroundColor: color.background(),
3821
+ padding: '5px',
3822
+ '& *': {
3823
+ '-webkit-font-smoothing': 'antialiased'
3824
+ }
3825
+ },
3826
+ horizontalLayout: {
3827
+ display: 'flex',
3828
+ flexDirection: 'row',
3829
+ flexWrap: 'wrap'
3830
+ },
3831
+ gridLayout: {
3832
+ display: 'grid'
3833
+ },
3834
+ getColumns: function (columns) {
3835
+ return columns > 1 ? {
3836
+ gridTemplateColumns: `repeat(${columns}, 1fr)`
3837
+ } : undefined;
3838
+ }
3839
+ };
3840
+ class MultipleChoice extends React$2.Component {
3841
+ static __initStatic() {
3842
+ this.propTypes = {
3843
+ mode: PropTypes$1.oneOf(['gather', 'view', 'evaluate']),
3844
+ choiceMode: PropTypes$1.oneOf(['radio', 'checkbox']),
3845
+ keyMode: PropTypes$1.oneOf(['numbers', 'letters', 'none']),
3846
+ choices: PropTypes$1.array,
3847
+ prompt: PropTypes$1.string,
3848
+ teacherInstructions: PropTypes$1.string,
3849
+ session: PropTypes$1.object,
3850
+ disabled: PropTypes$1.bool,
3851
+ onChoiceChanged: PropTypes$1.func,
3852
+ responseCorrect: PropTypes$1.bool,
3853
+ classes: PropTypes$1.object.isRequired,
3854
+ correctResponse: PropTypes$1.array,
3855
+ choicesLayout: PropTypes$1.oneOf(['vertical', 'grid', 'horizontal']),
3856
+ gridColumns: PropTypes$1.string,
3857
+ alwaysShowCorrect: PropTypes$1.bool,
3858
+ animationsDisabled: PropTypes$1.bool
3859
+ };
3860
+ }
3861
+ constructor(props) {
3862
+ super(props);
3863
+ MultipleChoice.prototype.__init.call(this);
3864
+ this.state = {
3865
+ showCorrect: this.props.alwaysShowCorrect || false
3866
+ };
3867
+ this.onToggle = this.onToggle.bind(this);
3868
+ }
3869
+ onToggle() {
3870
+ if (this.props.mode === 'evaluate') {
3871
+ this.setState({
3872
+ showCorrect: !this.state.showCorrect
3873
+ });
3874
+ }
3875
+ }
3876
+ UNSAFE_componentWillReceiveProps(nextProps) {
3877
+ if (!nextProps.correctResponse) {
3878
+ this.setState({
3879
+ showCorrect: false
3880
+ });
3881
+ }
3882
+ if (nextProps.alwaysShowCorrect) {
3883
+ this.setState({
3884
+ showCorrect: true
3885
+ });
3886
+ }
3887
+ }
3888
+ isSelected(value) {
3889
+ const sessionValue = this.props.session && this.props.session.value;
3890
+ return sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0;
3891
+ }
3892
+ indexToSymbol(index) {
3893
+ if (this.props.keyMode === 'numbers') {
3894
+ return `${index + 1}`;
3895
+ }
3896
+ if (this.props.keyMode === 'letters') {
3897
+ return String.fromCharCode(97 + index).toUpperCase();
3898
+ }
3899
+ return '';
3900
+ }
3901
+ __init() {
3902
+ this.getCorrectness = (choice = {}) => {
3903
+ const isCorrect = choice.correct;
3904
+ const isChecked = this.isSelected(choice.value);
3905
+ if (this.state.showCorrect) {
3906
+ return isCorrect ? 'correct' : undefined;
3907
+ }
3908
+ if (isCorrect) {
3909
+ if (isChecked) {
3910
+ return 'correct';
3911
+ } else {
3912
+ return 'incorrect';
3913
+ }
3914
+ } else {
3915
+ if (isChecked) {
3916
+ return 'incorrect';
3917
+ } else {
3918
+ return undefined;
3919
+ }
3920
+ }
3921
+ };
3922
+ }
3923
+ render() {
3924
+ const {mode, disabled, choices = [], choiceMode, prompt, onChoiceChanged, responseCorrect, teacherInstructions, classes, alwaysShowCorrect, animationsDisabled} = this.props;
3925
+ const {showCorrect} = this.state;
3926
+ const isEvaluateMode = mode === 'evaluate';
3927
+ const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
3928
+ return React$2.createElement('div', {
3929
+ className: classNames$1(classes.corespringChoice, 'multiple-choice'),
3930
+ __self: this,
3931
+ __source: {
3932
+ fileName: _jsxFileName$1,
3933
+ lineNumber: 146
3934
+ }
3935
+ }, teacherInstructions && React$2.createElement(React$2.Fragment, {
3936
+ __self: this,
3937
+ __source: {
3938
+ fileName: _jsxFileName$1,
3939
+ lineNumber: 148
3940
+ }
3941
+ }, !animationsDisabled ? React$2.createElement(Collapsible, {
3942
+ labels: {
3943
+ hidden: 'Show Teacher Instructions',
3944
+ visible: 'Hide Teacher Instructions'
3945
+ },
3946
+ __self: this,
3947
+ __source: {
3948
+ fileName: _jsxFileName$1,
3949
+ lineNumber: 150
3950
+ }
3951
+ }, React$2.createElement(PreviewPrompt, {
3952
+ tagName: "div",
3953
+ className: "prompt",
3954
+ prompt: teacherInstructions,
3955
+ __self: this,
3956
+ __source: {
3957
+ fileName: _jsxFileName$1,
3958
+ lineNumber: 156
3959
+ }
3960
+ })) : React$2.createElement(PreviewPrompt, {
3961
+ tagName: "div",
3962
+ className: "prompt",
3963
+ defaultClassName: "teacher-instructions",
3964
+ prompt: teacherInstructions,
3965
+ __self: this,
3966
+ __source: {
3967
+ fileName: _jsxFileName$1,
3968
+ lineNumber: 162
3969
+ }
3970
+ }), React$2.createElement('br', {
3971
+ __self: this,
3972
+ __source: {
3973
+ fileName: _jsxFileName$1,
3974
+ lineNumber: 168
3975
+ }
3976
+ })), !alwaysShowCorrect && React$2.createElement(CorrectAnswerToggle$1, {
3977
+ show: showCorrectAnswerToggle,
3978
+ toggled: showCorrect,
3979
+ onToggle: this.onToggle.bind(this),
3980
+ __self: this,
3981
+ __source: {
3982
+ fileName: _jsxFileName$1,
3983
+ lineNumber: 172
3984
+ }
3985
+ }), showCorrectAnswerToggle && React$2.createElement('br', {
3986
+ __self: this,
3987
+ __source: {
3988
+ fileName: _jsxFileName$1,
3989
+ lineNumber: 178
3990
+ }
3991
+ }), React$2.createElement(PreviewPrompt, {
3992
+ className: "prompt",
3993
+ defaultClassName: "prompt",
3994
+ prompt: prompt,
3995
+ __self: this,
3996
+ __source: {
3997
+ fileName: _jsxFileName$1,
3998
+ lineNumber: 179
3999
+ }
4000
+ }), React$2.createElement('div', {
4001
+ className: classNames$1({
4002
+ [classes.gridLayout]: this.props.choicesLayout === 'grid'
4003
+ }, {
4004
+ [classes.horizontalLayout]: this.props.choicesLayout === 'horizontal'
4005
+ }),
4006
+ style: styles.getColumns(this.props.gridColumns),
4007
+ __self: this,
4008
+ __source: {
4009
+ fileName: _jsxFileName$1,
4010
+ lineNumber: 180
4011
+ }
4012
+ }, choices.map((choice, index) => React$2.createElement(StyledChoice, {
4013
+ choicesLayout: this.props.choicesLayout,
4014
+ gridColumns: this.props.gridColumns,
4015
+ key: `choice-${index}`,
4016
+ choice: choice,
4017
+ index: index,
4018
+ choicesLength: choices.length,
4019
+ showCorrect: showCorrect,
4020
+ isEvaluateMode: isEvaluateMode,
4021
+ choiceMode: choiceMode,
4022
+ disabled: disabled,
4023
+ onChoiceChanged: onChoiceChanged,
4024
+ hideTick: choice.hideTick,
4025
+ checked: showCorrect ? choice.correct || false : this.isSelected(choice.value),
4026
+ correctness: isEvaluateMode ? this.getCorrectness(choice) : undefined,
4027
+ displayKey: this.indexToSymbol(index),
4028
+ __self: this,
4029
+ __source: {
4030
+ fileName: _jsxFileName$1,
4031
+ lineNumber: 191
4032
+ }
4033
+ }))));
4034
+ }
4035
+ }
4036
+ MultipleChoice.__initStatic();
4037
+ MultipleChoice.defaultProps = {
4038
+ session: {
4039
+ value: []
4040
+ }
4041
+ };
4042
+ var MultipleChoice$1 = withStyles$1(styles)(MultipleChoice);
4043
+ const React$1 = _dll_react;
4044
+ const PropTypes = _dll_prop_types;
4045
+ const {withStyles: withStyles} = _dll_material_ui__core_styles;
4046
+ const {createMuiTheme: createMuiTheme} = _dll_material_ui__core_styles;
4047
+ const {MuiThemeProvider: MuiThemeProvider} = _dll_material_ui__core_styles;
4048
+ const classNames = _dll_classnames;
4049
+ const {PreviewLayout: PreviewLayout} = _dll_pie_lib__render_ui;
4050
+ const _jsxFileName = "/home/circleci/repo/packages/multiple-choice/src/main.jsx";
4051
+ class Main extends React$1.Component {
4052
+ static __initStatic() {
4053
+ this.propTypes = {
4054
+ model: PropTypes.object,
4055
+ session: PropTypes.object,
4056
+ onChoiceChanged: PropTypes.func,
4057
+ classes: PropTypes.object.isRequired
4058
+ };
4059
+ }
4060
+ static __initStatic2() {
4061
+ this.defaultProps = {
4062
+ model: {},
4063
+ session: {}
4064
+ };
4065
+ }
4066
+ constructor(props) {
4067
+ super(props);
4068
+ }
4069
+ render() {
4070
+ const {model, onChoiceChanged, session, classes} = this.props;
4071
+ return React$1.createElement(PreviewLayout, {
4072
+ __self: this,
4073
+ __source: {
4074
+ fileName: _jsxFileName,
4075
+ lineNumber: 30
4076
+ }
4077
+ }, model.partLabel && React$1.createElement('p', {
4078
+ __self: this,
4079
+ __source: {
4080
+ fileName: _jsxFileName,
4081
+ lineNumber: 31
4082
+ }
4083
+ }, model.partLabel), React$1.createElement('div', {
4084
+ className: classNames(classes.root, classes[model.className]),
4085
+ __self: this,
4086
+ __source: {
4087
+ fileName: _jsxFileName,
4088
+ lineNumber: 32
4089
+ }
4090
+ }, React$1.createElement(MultipleChoice$1, {
4091
+ ...model,
4092
+ session: session,
4093
+ onChoiceChanged: onChoiceChanged,
4094
+ __self: this,
4095
+ __source: {
4096
+ fileName: _jsxFileName,
4097
+ lineNumber: 33
4098
+ }
4099
+ })));
4100
+ }
4101
+ }
4102
+ Main.__initStatic();
4103
+ Main.__initStatic2();
4104
+ const Styled = withStyles({}, {
4105
+ name: 'Main'
4106
+ })(Main);
4107
+ const theme = createMuiTheme({
4108
+ typography: {
4109
+ useNextVariants: true
4110
+ }
4111
+ });
4112
+ const Root = props => React$1.createElement(MuiThemeProvider, {
4113
+ theme: theme,
4114
+ __self: undefined,
4115
+ __source: {
4116
+ fileName: _jsxFileName,
4117
+ lineNumber: 53
4118
+ }
4119
+ }, React$1.createElement(Styled, {
4120
+ ...props,
4121
+ __self: undefined,
4122
+ __source: {
4123
+ fileName: _jsxFileName,
4124
+ lineNumber: 54
4125
+ }
4126
+ }));
4127
+ const React = _dll_react;
4128
+ const ReactDOM = _dll_react_dom;
4129
+ const {debounce: debounce} = _dll_lodash;
4130
+ const {cloneDeep: cloneDeep} = _dll_lodash;
4131
+ const debug = _dll_debug;
4132
+ const {renderMath: renderMath} = _dll_pie_lib__math_rendering;
4133
+ const log = debug('pie-element:multiple-choice:print');
4134
+ const preparePrintModel = (model, opts) => {
4135
+ const instr = opts.role === 'instructor';
4136
+ model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
4137
+ model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
4138
+ model.showTeacherInstructions = instr;
4139
+ model.alwaysShowCorrect = instr;
4140
+ model.mode = instr ? 'evaluate' : model.mode;
4141
+ model.disabled = true;
4142
+ model.animationsDisabled = true;
4143
+ const choices = cloneDeep(model.choices);
4144
+ model.choices = choices.map(c => {
4145
+ c.rationale = instr && model.rationaleEnabled !== false ? c.rationale : undefined;
4146
+ c.hideTick = instr;
4147
+ c.feedback = undefined;
4148
+ return c;
4149
+ });
4150
+ model.keyMode = model.choicePrefix || 'letters';
4151
+ return model;
4152
+ };
4153
+ class MultipleChoicePrint extends HTMLElement {
4154
+ constructor() {
4155
+ super();
4156
+ this._options = null;
4157
+ this._model = null;
4158
+ this._session = [];
4159
+ this._rerender = debounce(() => {
4160
+ if (this._model && this._session) {
4161
+ const printModel = preparePrintModel(this._model, this._options);
4162
+ const element = this._options && React.createElement(Root, {
4163
+ model: printModel,
4164
+ session: {}
4165
+ });
4166
+ ReactDOM.render(element, this, () => {
4167
+ log('render complete - render math');
4168
+ renderMath(this);
4169
+ });
4170
+ } else {
4171
+ log('skip');
4172
+ }
4173
+ }, 50, {
4174
+ leading: false,
4175
+ trailing: true
4176
+ });
4177
+ }
4178
+ set options(o) {
4179
+ this._options = o;
4180
+ }
4181
+ set model(s) {
4182
+ this._model = s;
4183
+ this._rerender();
4184
+ }
4185
+ connectedCallback() {}
4186
+ }
4187
+ export {MultipleChoicePrint as default};