@pie-element/fraction-model 2.1.6-next.3 → 2.2.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _main = _interopRequireDefault(require("../main"));
10
+
11
+ var _testUtils = require("@pie-lib/pie-toolbox/test-utils");
12
+
13
+ var _answerFraction = _interopRequireDefault(require("../answer-fraction"));
14
+
15
+ describe('Main', function () {
16
+ var defaultProps = {
17
+ model: {
18
+ correctResponse: [],
19
+ title: '',
20
+ prompt: '',
21
+ modelTypeSelected: 'bar',
22
+ maxModelSelected: 1,
23
+ partsPerModel: 5,
24
+ allowedStudentConfig: false,
25
+ showGraphLabels: false
26
+ },
27
+ session: {},
28
+ onSessionChange: jest.fn()
29
+ };
30
+ var wrapper;
31
+ var component;
32
+ beforeEach(function () {
33
+ wrapper = (0, _testUtils.shallowChild)(_main["default"], defaultProps, 1);
34
+ });
35
+ describe('render', function () {
36
+ var w;
37
+ beforeEach(function () {
38
+ w = function w(props) {
39
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_main["default"], props));
40
+ };
41
+ });
42
+ it('snapshot', function () {
43
+ expect(w(defaultProps)).toMatchSnapshot();
44
+ });
45
+ it('renders correctly', function () {
46
+ component = wrapper();
47
+ expect(component.find(_answerFraction["default"]).length).toEqual(1);
48
+ expect(component.state()).toEqual({
49
+ answerChangeDialog: {
50
+ open: false,
51
+ text: ''
52
+ },
53
+ session: {
54
+ answers: {
55
+ response: []
56
+ }
57
+ },
58
+ showCorrect: false
59
+ });
60
+ });
61
+ it('renders correctly with a pre-filled session', function () {
62
+ component = wrapper();
63
+ expect(component.find(_answerFraction["default"]).length).toEqual(1);
64
+ component = wrapper({
65
+ session: {
66
+ answers: {
67
+ noOfModel: 2,
68
+ partsPerModel: 4,
69
+ response: [{
70
+ id: 1,
71
+ value: 4
72
+ }, {
73
+ id: 2,
74
+ value: 3
75
+ }]
76
+ }
77
+ }
78
+ });
79
+ expect(component.find(_answerFraction["default"]).length).toEqual(1);
80
+ expect(component.state()).toEqual({
81
+ answerChangeDialog: {
82
+ open: false,
83
+ text: ''
84
+ },
85
+ session: {
86
+ answers: {
87
+ noOfModel: 2,
88
+ partsPerModel: 4,
89
+ response: [{
90
+ id: 1,
91
+ value: 4
92
+ }, {
93
+ id: 2,
94
+ value: 3
95
+ }]
96
+ }
97
+ },
98
+ showCorrect: false
99
+ });
100
+ });
101
+ it('generate answers correctly from selection', function () {
102
+ component = wrapper();
103
+ expect(component.instance().generateAnswers({
104
+ allowedStudentConfig: true
105
+ })).toEqual({
106
+ noOfModel: '',
107
+ partsPerModel: '',
108
+ response: []
109
+ });
110
+ });
111
+ it('on answer change correctly after selection', function () {
112
+ component = wrapper();
113
+ component.instance().onAnswerChange({
114
+ noOfModel: 4,
115
+ partsPerModel: 2,
116
+ response: [{
117
+ id: 1,
118
+ value: 2
119
+ }, {
120
+ id: 2,
121
+ value: 2
122
+ }, {
123
+ id: 3,
124
+ value: 2
125
+ }, {
126
+ id: 4,
127
+ value: 1
128
+ }]
129
+ });
130
+ expect(component.state()).toEqual({
131
+ session: {
132
+ answers: {
133
+ response: []
134
+ }
135
+ },
136
+ showCorrect: false,
137
+ answerChangeDialog: {
138
+ newSession: {
139
+ answers: {
140
+ noOfModel: 4,
141
+ partsPerModel: 2,
142
+ response: [{
143
+ id: 1,
144
+ value: 2
145
+ }, {
146
+ id: 2,
147
+ value: 2
148
+ }, {
149
+ id: 3,
150
+ value: 2
151
+ }, {
152
+ id: 4,
153
+ value: 1
154
+ }]
155
+ }
156
+ },
157
+ oldSession: {
158
+ answers: {
159
+ response: []
160
+ }
161
+ },
162
+ open: true,
163
+ text: 'Changing either the Number of Models or Parts per Model will remove added answer. Are you sure you want to continue?'
164
+ }
165
+ });
166
+ });
167
+ });
168
+ });
169
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbWFpbi50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsImRlZmF1bHRQcm9wcyIsIm1vZGVsIiwiY29ycmVjdFJlc3BvbnNlIiwidGl0bGUiLCJwcm9tcHQiLCJtb2RlbFR5cGVTZWxlY3RlZCIsIm1heE1vZGVsU2VsZWN0ZWQiLCJwYXJ0c1Blck1vZGVsIiwiYWxsb3dlZFN0dWRlbnRDb25maWciLCJzaG93R3JhcGhMYWJlbHMiLCJzZXNzaW9uIiwib25TZXNzaW9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImNvbXBvbmVudCIsImJlZm9yZUVhY2giLCJNYWluIiwidyIsInByb3BzIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJmaW5kIiwiQW5zd2VyRnJhY3Rpb24iLCJsZW5ndGgiLCJ0b0VxdWFsIiwic3RhdGUiLCJhbnN3ZXJDaGFuZ2VEaWFsb2ciLCJvcGVuIiwidGV4dCIsImFuc3dlcnMiLCJyZXNwb25zZSIsInNob3dDb3JyZWN0Iiwibm9PZk1vZGVsIiwiaWQiLCJ2YWx1ZSIsImluc3RhbmNlIiwiZ2VuZXJhdGVBbnN3ZXJzIiwib25BbnN3ZXJDaGFuZ2UiLCJuZXdTZXNzaW9uIiwib2xkU2Vzc2lvbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBQSxRQUFRLENBQUMsTUFBRCxFQUFTLFlBQU07QUFDckIsTUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxJQUFBQSxLQUFLLEVBQUU7QUFDTEMsTUFBQUEsZUFBZSxFQUFFLEVBRFo7QUFFTEMsTUFBQUEsS0FBSyxFQUFFLEVBRkY7QUFHTEMsTUFBQUEsTUFBTSxFQUFFLEVBSEg7QUFJTEMsTUFBQUEsaUJBQWlCLEVBQUUsS0FKZDtBQUtMQyxNQUFBQSxnQkFBZ0IsRUFBRSxDQUxiO0FBTUxDLE1BQUFBLGFBQWEsRUFBRSxDQU5WO0FBT0xDLE1BQUFBLG9CQUFvQixFQUFFLEtBUGpCO0FB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QVBZLE9BQWxDO0FBNkJELEtBekNDLENBQUY7QUEwQ0QsR0F4SE8sQ0FBUjtBQXlIRCxDQWhKTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IE1haW4gZnJvbSAnLi4vbWFpbic7XG5pbXBvcnQgeyBzaGFsbG93Q2hpbGQgfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC90ZXN0LXV0aWxzJztcbmltcG9ydCBBbnN3ZXJGcmFjdGlvbiBmcm9tICcuLi9hbnN3ZXItZnJhY3Rpb24nO1xuXG5kZXNjcmliZSgnTWFpbicsICgpID0+IHtcbiAgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICAgIG1vZGVsOiB7XG4gICAgICBjb3JyZWN0UmVzcG9uc2U6IFtdLFxuICAgICAgdGl0bGU6ICcnLFxuICAgICAgcHJvbXB0OiAnJyxcbiAgICAgIG1vZGVsVHlwZVNlbGVjdGVkOiAnYmFyJyxcbiAgICAgIG1heE1vZGVsU2VsZWN0ZWQ6IDEsXG4gICAgICBwYXJ0c1Blck1vZGVsOiA1LFxuICAgICAgYWxsb3dlZFN0dWRlbnRDb25maWc6IGZhbHNlLFxuICAgICAgc2hvd0dyYXBoTGFiZWxzOiBmYWxzZSxcbiAgICB9LFxuICAgIHNlc3Npb246IHt9LFxuICAgIG9uU2Vzc2lvbkNoYW5nZTogamVzdC5mbigpLFxuICB9O1xuXG4gIGxldCB3cmFwcGVyO1xuICBsZXQgY29tcG9uZW50O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHdyYXBwZXIgPSBzaGFsbG93Q2hpbGQoTWFpbiwgZGVmYXVsdFByb3BzLCAxKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcicsICgpID0+IHtcbiAgICBsZXQgdztcblxuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgdyA9IChwcm9wcykgPT4gc2hhbGxvdyg8TWFpbiB7Li4ucHJvcHN9IC8+KTtcbiAgICB9KTtcblxuICAgIGl0KCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICAgIGV4cGVjdCh3KGRlZmF1bHRQcm9wcykpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgICAgY29tcG9uZW50ID0gd3JhcHBlcigpO1xuXG4gICAgICBleHBlY3QoY29tcG9uZW50LmZpbmQoQW5zd2VyRnJhY3Rpb24pLmxlbmd0aCkudG9FcXVhbCgxKTtcblxuICAgICAgZXhwZWN0KGNvbXBvbmVudC5zdGF0ZSgpKS50b0VxdWFsKHtcbiAgICAgICAgYW5zd2VyQ2hhbmdlRGlhbG9nOiB7XG4gICAgICAgICAgb3BlbjogZmFsc2UsXG4gICAgICAgICAgdGV4dDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgICByZXNwb25zZTogW10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVuZGVycyBjb3JyZWN0bHkgd2l0aCBhIHByZS1maWxsZWQgc2Vzc2lvbicsICgpID0+IHtcbiAgICAgIGNvbXBvbmVudCA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdChjb21wb25lbnQuZmluZChBbnN3ZXJGcmFjdGlvbikubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgICAgY29tcG9uZW50ID0gd3JhcHBlcih7XG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICBhbnN3ZXJzOiB7XG4gICAgICAgICAgICBub09mTW9kZWw6IDIsXG4gICAgICAgICAgICBwYXJ0c1Blck1vZGVsOiA0LFxuICAgICAgICAgICAgcmVzcG9uc2U6IFtcbiAgICAgICAgICAgICAgeyBpZDogMSwgdmFsdWU6IDQgfSxcbiAgICAgICAgICAgICAgeyBpZDogMiwgdmFsdWU6IDMgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNvbXBvbmVudC5maW5kKEFuc3dlckZyYWN0aW9uKS5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgICBleHBlY3QoY29tcG9uZW50LnN0YXRlKCkpLnRvRXF1YWwoe1xuICAgICAgICBhbnN3ZXJDaGFuZ2VEaWFsb2c6IHtcbiAgICAgICAgICBvcGVuOiBmYWxzZSxcbiAgICAgICAgICB0ZXh0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICAgIG5vT2ZNb2RlbDogMixcbiAgICAgICAgICAgIHBhcnRzUGVyTW9kZWw6IDQsXG4gICAgICAgICAgICByZXNwb25zZTogW1xuICAgICAgICAgICAgICB7IGlkOiAxLCB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgICB7IGlkOiAyLCB2YWx1ZTogMyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdnZW5lcmF0ZSBhbnN3ZXJzIGNvcnJlY3RseSBmcm9tIHNlbGVjdGlvbicsICgpID0+IHtcbiAgICAgIGNvbXBvbmVudCA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdChcbiAgICAgICAgY29tcG9uZW50Lmluc3RhbmNlKCkuZ2VuZXJhdGVBbnN3ZXJzKHtcbiAgICAgICAgICBhbGxvd2VkU3R1ZGVudENvbmZpZzogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICApLnRvRXF1YWwoe1xuICAgICAgICBub09mTW9kZWw6ICcnLFxuICAgICAgICBwYXJ0c1Blck1vZGVsOiAnJyxcbiAgICAgICAgcmVzcG9uc2U6IFtdLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnb24gYW5zd2VyIGNoYW5nZSBjb3JyZWN0bHkgYWZ0ZXIgc2VsZWN0aW9uJywgKCkgPT4ge1xuICAgICAgY29tcG9uZW50ID0gd3JhcHBlcigpO1xuICAgICAgY29tcG9uZW50Lmluc3RhbmNlKCkub25BbnN3ZXJDaGFuZ2Uoe1xuICAgICAgICBub09mTW9kZWw6IDQsXG4gICAgICAgIHBhcnRzUGVyTW9kZWw6IDIsXG4gICAgICAgIHJlc3BvbnNlOiBbXG4gICAgICAgICAgeyBpZDogMSwgdmFsdWU6IDIgfSxcbiAgICAgICAgICB7IGlkOiAyLCB2YWx1ZTogMiB9LFxuICAgICAgICAgIHsgaWQ6IDMsIHZhbHVlOiAyIH0sXG4gICAgICAgICAgeyBpZDogNCwgdmFsdWU6IDEgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KGNvbXBvbmVudC5zdGF0ZSgpKS50b0VxdWFsKHtcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICAgIHJlc3BvbnNlOiBbXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICAgIGFuc3dlckNoYW5nZURpYWxvZzoge1xuICAgICAgICAgIG5ld1Nlc3Npb246IHtcbiAgICAgICAgICAgIGFuc3dlcnM6IHtcbiAgICAgICAgICAgICAgbm9PZk1vZGVsOiA0LFxuICAgICAgICAgICAgICBwYXJ0c1Blck1vZGVsOiAyLFxuICAgICAgICAgICAgICByZXNwb25zZTogW1xuICAgICAgICAgICAgICAgIHsgaWQ6IDEsIHZhbHVlOiAyIH0sXG4gICAgICAgICAgICAgICAgeyBpZDogMiwgdmFsdWU6IDIgfSxcbiAgICAgICAgICAgICAgICB7IGlkOiAzLCB2YWx1ZTogMiB9LFxuICAgICAgICAgICAgICAgIHsgaWQ6IDQsIHZhbHVlOiAxIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb2xkU2Vzc2lvbjoge1xuICAgICAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgICAgICByZXNwb25zZTogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnQ2hhbmdpbmcgZWl0aGVyIHRoZSBOdW1iZXIgb2YgTW9kZWxzIG9yIFBhcnRzIHBlciBNb2RlbCB3aWxsIHJlbW92ZSBhZGRlZCBhbnN3ZXIuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -171,4 +171,4 @@ var styles = function styles() {
171
171
  var _default = (0, _styles.withStyles)(styles)(AnswerFraction);
172
172
 
173
173
  exports["default"] = _default;
174
- //# sourceMappingURL=answer-fraction.js.map
174
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hbnN3ZXItZnJhY3Rpb24uanN4Il0sIm5hbWVzIjpbIkFuc3dlckZyYWN0aW9uIiwia2V5IiwiZXZlbnQiLCJ2YWx1ZSIsInBhcnNlSW50IiwidGFyZ2V0IiwicHJvcHMiLCJtb2RlbCIsIm9uQW5zd2VyQ2hhbmdlIiwiYW5zd2VycyIsIm5ld0Fuc3dlcnMiLCJtaW4iLCJtYXgiLCJtYXhNb2RlbFNlbGVjdGVkIiwiY2xhc3NlcyIsInNob3dDb3JyZWN0IiwiZGlzYWJsZWQiLCJhbGxvd2VkU3R1ZGVudENvbmZpZyIsImdyb3VwSW5saW5lIiwiZ3JvdXAiLCJpbnB1dExhYmVsIiwidGV4dEZpZWxkIiwib25WYWx1ZUNoYW5nZSIsIm5vT2ZNb2RlbCIsInBhcnRzUGVyTW9kZWwiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJib29sIiwiZnVuYyIsInN0eWxlcyIsImFsaWduSXRlbXMiLCJkaXNwbGF5IiwiZ2FwIiwibWFyZ2luIiwibWFyZ2luQm90dG9tIiwid2lkdGgiLCJtYXhIZWlnaHQiLCJoZWlnaHQiLCJmb250U2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztJQUVhQSxjOzs7Ozs7Ozs7Ozs7Ozs7c0dBZUssVUFBQ0MsR0FBRDtBQUFBLGFBQVMsVUFBQ0MsS0FBRCxFQUFXO0FBQUE7O0FBQ2xDLFlBQUlDLEtBQUssR0FBR0MsUUFBUSxDQUFDRixLQUFELGFBQUNBLEtBQUQsd0NBQUNBLEtBQUssQ0FBRUcsTUFBUixrREFBQyxjQUFlRixLQUFoQixDQUFwQjtBQUNBLDBCQUEyQyxNQUFLRyxLQUFoRDtBQUFBLFlBQVFDLEtBQVIsZUFBUUEsS0FBUjtBQUFBLFlBQWVDLGNBQWYsZUFBZUEsY0FBZjtBQUFBLFlBQStCQyxPQUEvQixlQUErQkEsT0FBL0I7O0FBQ0EsWUFBTUMsVUFBVSxxQkFBUUQsT0FB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QWlCQyxVQUZQO0FBR2pCYixFQUFBQSxRQUFRLEVBQUVXLHNCQUFVRyxJQUFWLENBQWVELFVBSFI7QUFJakJkLEVBQUFBLFdBQVcsRUFBRVksc0JBQVVHLElBQVYsQ0FBZUQsVUFKWDtBQUtqQnJCLEVBQUFBLGNBQWMsRUFBRW1CLHNCQUFVSSxJQUFWLENBQWVGLFVBTGQ7QUFNakJwQixFQUFBQSxPQUFPLEVBQUVrQixzQkFBVUMsTUFBVixDQUFpQkM7QUFOVCxDOztBQTJFckIsSUFBTUcsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSxTQUFPO0FBQ3BCZCxJQUFBQSxXQUFXLEVBQUU7QUFDWGUsTUFBQUEsVUFBVSxFQUFFLFFBREQ7QUFFWEMsTUFBQUEsT0FBTyxFQUFFLE1BRkU7QUFHWEMsTUFBQUEsR0FBRyxFQUFFO0FBSE0sS0FETztBQU1wQmhCLElBQUFBLEtBQUssRUFBRTtBQUNMaUIsTUFBQUEsTUFBTSxFQUFFO0FBREgsS0FOYTtBQVNwQmhCLElBQUFBLFVBQVUsRUFBRTtBQUNWYyxNQUFBQSxPQUFPLEVBQUUsT0FEQztBQUVWRyxNQUFBQSxZQUFZLEVBQUU7QUFGSixLQVRRO0FBYXBCaEIsSUFBQUEsU0FBUyxFQUFFO0FBQ1RpQixNQUFBQSxLQUFLLEVBQUUsT0FERTtBQUVUQyxNQUFBQSxTQUFTLEVBQUUsTUFGRjtBQUdULHdDQUFrQztBQUNoQ0MsUUFBQUEsTUFBTSxFQUFFLEVBRHdCO0FBRWhDQyxRQUFBQSxRQUFRLEVBQUU7QUFGc0I7QUFIekI7QUFiUyxHQUFQO0FBQUEsQ0FBZjs7ZUF1QmUsd0JBQVdULE1BQVgsRUFBbUJoQyxjQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCB7IFRleHRGaWVsZCB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEFuc3dlckZyYWN0aW9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBzaG93Q29ycmVjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbkFuc3dlckNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBhbnN3ZXJzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgd2hlbiB2YWx1ZSBjaGFuZ2UgZnJvbSBudW1iZXIgc2VsZWN0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgY29udGFpbnMgZXZlbnQgY2hhbmdlIG9iamVjdFxuICAgKiBAcmV0dXJucyB1cGRhdGVkIGFuc3dlciBjaGFuZ2Ugb2JqZWN0XG4gICAqL1xuICBvblZhbHVlQ2hhbmdlID0gKGtleSkgPT4gKGV2ZW50KSA9PiB7XG4gICAgbGV0IHZhbHVlID0gcGFyc2VJbnQoZXZlbnQ/LnRhcmdldD8udmFsdWUpO1xuICAgIGNvbnN0IHsgbW9kZWwsIG9uQW5zd2VyQ2hhbmdlLCBhbnN3ZXJzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IG5ld0Fuc3dlcnMgPSB7IC4uLmFuc3dlcnMgfTtcbiAgICBjb25zdCBtaW4gPSAxO1xuICAgIGNvbnN0IG1heCA9IChrZXkgPT09ICdub09mTW9kZWwnKSA/IG1vZGVsLm1heE1vZGVsU2VsZWN0ZWQgOiA5O1xuICAgIGlmKHZhbHVlID4gbWF4KSB7XG4gICAgICB2YWx1ZSA9IG1heDtcbiAgICB9IGVsc2UgaWYodmFsdWUgPCBtaW4pIHtcbiAgICAgIHZhbHVlID0gbWluO1xuICAgIH1cbiAgICBuZXdBbnN3ZXJzW2tleV0gPSB2YWx1ZTtcbiAgICBvbkFuc3dlckNoYW5nZShuZXdBbnN3ZXJzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgY2xhc3Nlcywgc2hvd0NvcnJlY3QsIGFuc3dlcnMsIGRpc2FibGVkIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIHttb2RlbC5hbGxvd2VkU3R1ZGVudENvbmZpZyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZ3JvdXBJbmxpbmV9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuZ3JvdXB9PlxuICAgICAgICAgICAgICA8bGFiZWwgaHRtbEZvcj17J3ByZXZpZXdfbnVtYmVyLW9mLW1vZGVscyd9IGNsYXNzTmFtZT17Y2xhc3Nlcy5pbnB1dExhYmVsfT5cbiAgICAgICAgICAgICAgICBOdW1iZXIgb2YgTW9kZWxzXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dEZpZWxkfVxuICAgICAgICAgICAgICAgIGlkPVwicHJldmlld19udW1iZXItb2YtbW9kZWxzXCJcbiAgICAgICAgICAgICAgICBpbnB1dFByb3BzPXt7IG1pbjogMSwgbWF4OiBtb2RlbC5tYXhNb2RlbFNlbGVjdGVkIH19XG4gICAgICAgICAgICAgICAgbmFtZT1cInByZXZpZXdfbnVtYmVyLW9mLW1vZGVsc1wiXG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25WYWx1ZUNoYW5nZSgnbm9PZk1vZGVsJyl9XG4gICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3Nob3dDb3JyZWN0ID8gbW9kZWwubWF4TW9kZWxTZWxlY3RlZCA6IGFuc3dlcnMubm9PZk1vZGVsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5ncm91cH0+XG4gICAgICAgICAgICAgIDxsYWJlbCBodG1sRm9yPXsncHJldmlld19wYXJ0cy1wZXItbW9kZWwnfSBjbGFzc05hbWU9e2NsYXNzZXMuaW5wdXRMYWJlbH0+XG4gICAgICAgICAgICAgICAgUGFydHMgcGVyIE1vZGVsXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxUZXh0RmllbGRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dEZpZWxkfVxuICAgICAgICAgICAgICAgIGlkPVwicHJldmlld19wYXJ0cy1wZXItbW9kZWxcIlxuICAgICAgICAgICAgICAgIGlucHV0UHJvcHM9e3sgbWluOiAxLCBtYXg6IDkgfX1cbiAgICAgICAgICAgICAgICBuYW1lPVwicHJldmlld19wYXJ0cy1wZXItbW9kZWxcIlxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uVmFsdWVDaGFuZ2UoJ3BhcnRzUGVyTW9kZWwnKX1cbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT17c2hvd0NvcnJlY3QgPyBtb2RlbC5wYXJ0c1Blck1vZGVsIDogYW5zd2Vycy5wYXJ0c1Blck1vZGVsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmNvbnN0IHN0eWxlcyA9ICgpID0+ICh7XG4gIGdyb3VwSW5saW5lOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGdhcDogJzIwcHgnLFxuICB9LFxuICBncm91cDoge1xuICAgIG1hcmdpbjogJzEycHggMCcsXG4gIH0sXG4gIGlucHV0TGFiZWw6IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIG1hcmdpbkJvdHRvbTogJzRweCcsXG4gIH0sXG4gIHRleHRGaWVsZDoge1xuICAgIHdpZHRoOiAnMTIwcHgnLFxuICAgIG1heEhlaWdodDogJzQwcHgnLFxuICAgICcmIFtjbGFzc149XCJNdWlJbnB1dEJhc2Utcm9vdFwiXSc6IHtcbiAgICAgIGhlaWdodDogNDAsXG4gICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgIH0sXG4gIH0sXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKEFuc3dlckZyYWN0aW9uKTtcbiJdfQ==
@@ -355,4 +355,4 @@ var FractionModelChart = function FractionModelChart(props) {
355
355
  var _default = (0, _styles.withStyles)(styles)(FractionModelChart);
356
356
 
357
357
  exports["default"] = _default;
358
- //# sourceMappingURL=fraction-model-chart.js.map
358
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFjdGlvbi1tb2RlbC1jaGFydC5qcyJdLCJuYW1lcyI6WyJzdHlsZXMiLCJ0aGVtZSIsInBpZUNoYXJ0UGFyZW50RGl2IiwiZGlzcGxheSIsImdyaWRUZW1wbGF0ZUNvbHVtbnMiLCJnYXAiLCJwYWRkaW5nIiwiYmFyQ2hhcnRQYXJlbnREaXYiLCJzZWN0b3JPdXRsaW5lIiwib3V0bGluZSIsIkZyYWN0aW9uTW9kZWxDaGFydCIsInByb3BzIiwiaGFuZGxlQ2hhcnRDbGljayIsImNoYXJ0SW5kZXgiLCJzZWN0b3JJbmRleCIsInBhcnNlSW50IiwiZXhpc3RpbmdJbmRleCIsImNsaWNrZWRJbmRleEFycmF5IiwiZmluZEluZGV4IiwiaXRlbSIsImlkIiwibmV3Q2xpY2tlZEluZGV4QXJyYXkiLCJjdXJyZW50SXRlbSIsInZhbHVlIiwiZmlsdGVyIiwiXyIsImluZGV4Iiwic2xpY2UiLCJvbkNoYW5nZSIsInNldENsaWNrZWRJbmRleEFycmF5IiwiaGFuZGxlQ2hhcnRNb3VzZUVudGVyIiwic2V0SG92ZXJlZEluZGV4IiwiaGFuZGxlQ2hhcnRNb3VzZUxlYXZlIiwiZ2V0U2VjdG9yRmlsbCIsImhvdmVyZWRJbmRleCIsInNlbGVjdGlvbiIsInNwbGl0IiwibWFwIiwiTnVtYmVyIiwic2VsZWN0aW9uSWQiLCJzZWxlY3Rpb25WYWx1ZSIsImNsaWNrZWRJdGVtIiwiZmluZCIsImhvdmVyZWRJZCIsImhvdmVyZWRWYWx1ZSIsInJlbmRlckN1c3RvbWl6ZWRMYWJlbEZvclBpZSIsImN4IiwiY3kiLCJtaWRBbmdsZSIsIm91dGVyUmFkaXVzIiwiUkFESUFOIiwiTWF0aCIsIlBJIiwicmFkaXVzIiwieCIsImNvcyIsInkiLCJzaW4iLCJ0b0ZpeGVkIiwiYmFyV2l0aEJvcmRlciIsImZpbGwiLCJ3aWR0aCIsImhlaWdodCIsImNsYXNzZXMiLCJtb2RlbFR5cGUiLCJub09mTW9kZWxzIiwicGFydHNQZXJNb2RlbCIsInNob3dMYWJlbCIsImRpc2FibGVkIiwiZ2V0QmFyRnJhY3Rpb25Nb2RlbCIsInBhcmVudERhdGEiLCJpIiwiZGF0YSIsIm5hbWUiLCJqIiwicHVzaCIsImJhckl0ZW1zIiwiZm9yRWFjaCIsIk9iamVjdCIsImtleXMiLCJrZXkiLCJwaWVDaGFydFJlZiIsImdldFBpZUZyYWN0aW9uTW9kZWwiLCJBcnJheSIsImZyb20iLCJsZW5ndGgiLCJwaWVJdGVtcyIsImVudHJ5IiwiY3VycmVudCIsInBhdGhzIiwicXVlcnlTZWxlY3RvckFsbCIsInBhdGgiLCJkIiwiZ2V0QXR0cmlidXRlIiwic2V0QXR0cmlidXRlIiwicmVwbGFjZUFsbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQ3pCQyxJQUFBQSxpQkFBaUIsRUFBRTtBQUNqQkMsTUFBQUEsT0FBTyxFQUFFLE1BRFE7QUFFakJDLE1BQUFBLG1CQUFtQixFQUFFLG1CQUZKO0FBR2pCQyxNQUFBQSxHQUFHLEVBQUUsTUFIWTtBQUlqQkMsTUFBQUEsT0FBTyxFQUFFO0FBSlEsS0FETTtBQU96QkMsSUFBQUEsaUJBQWlCLEVBQUU7QUFDakJKLE1BQUFBLE9BQU8sRUFBRSxNQURRO0FBRWpCQyxNQUFBQSxtQkFBbUIsRUFBRSxtQkFGSjtBQUdqQkMsTUFBQUEsR0FBRyxFQUFFLE1BSFk7QUFJakJDLE1BQUFBLE9BQU8sRUFBRTtBQUpRLEtBUE07QUFhekJFLElBQUFBLGFBQWEsRUFBRTtBQUNiQyxNQUFBQSxPQUFPLEVBQUU7QUFESTtBQWJVLEdBQVo7QUFBQSxDQUFmOztBQWtCQSxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUNDLEtBQUQsRUFBVztBQUNwQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsTUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDQyxVQUFELEVBQWFDLFdBQWIsRUFBNkI7QUFDcEQsUUFBSSxP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b250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXIsIEJhckNoYXJ0LCBDZWxsLCBMYWJlbExpc3QsIFBpZSwgUGllQ2hhcnQsIFlBeGlzIH0gZnJvbSAncmVjaGFydHMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgcGllQ2hhcnRQYXJlbnREaXY6IHtcbiAgICBkaXNwbGF5OiAnZ3JpZCcsXG4gICAgZ3JpZFRlbXBsYXRlQ29sdW1uczogJzIwMHB4IDIwMHB4IDIwMHB4JyxcbiAgICBnYXA6ICcxMHB4JyxcbiAgICBwYWRkaW5nOiAnNXB4IDAnLFxuICB9LFxuICBiYXJDaGFydFBhcmVudERpdjoge1xuICAgIGRpc3BsYXk6ICdncmlkJyxcbiAgICBncmlkVGVtcGxhdGVDb2x1bW5zOiAnMjAwcHggMjAwcHggMjAwcHgnLFxuICAgIGdhcDogJzIwcHgnLFxuICAgIHBhZGRpbmc6ICcxMHB4IDAnLFxuICB9LFxuICBzZWN0b3JPdXRsaW5lOiB7XG4gICAgb3V0bGluZTogJ25vbmUnLFxuICB9LFxufSk7XG5cbmNvbnN0IEZyYWN0aW9uTW9kZWxDaGFydCA9IChwcm9wcykgPT4ge1xuICAvKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgY2xpY2sgZXZlbnQgb24gY2hhcnRcbiAgICogQHBhcmFtIGNoYXJ0SW5kZXg6IGluZGV4IG9mIHRoZSBjaGFydFxuICAgKiBAcGFyYW0gc2VjdG9ySW5kZXg6IGluZGV4IG9mIHRoZSBzZWN0b3JcbiAgICogKi9cbiAgY29uc3QgaGFuZGxlQ2hhcnRDbGljayA9IChjaGFydEluZGV4LCBzZWN0b3JJbmRleCkgPT4ge1xuICAgIGlmICh0eXBlb2Ygc2VjdG9ySW5kZXggPT09ICdzdHJpbmcnKSB7XG4gICAgICBzZWN0b3JJbmRleCA9IHBhcnNlSW50KHNlY3RvckluZGV4KTtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdJbmRleCA9IGNsaWNrZWRJbmRleEFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gY2hhcnRJbmRleCk7XG4gICAgbGV0IG5ld0NsaWNrZWRJbmRleEFycmF5O1xuICAgIGlmIChleGlzdGluZ0luZGV4ID49IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gY2xpY2tlZEluZGV4QXJyYXlbZXhpc3RpbmdJbmRleF07XG4gICAgICBpZiAoY3VycmVudEl0ZW0udmFsdWUgPT09IHNlY3RvckluZGV4KSB7XG4gICAgICAgIG5ld0NsaWNrZWRJbmRleEFycmF5ID0gY2xpY2tlZEluZGV4QXJyYXkuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggIT09IGV4aXN0aW5nSW5kZXgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3Q2xpY2tlZEluZGV4QXJyYXkgPSBbXG4gICAgICAgICAgLi4uY2xpY2tlZEluZGV4QXJyYXkuc2xpY2UoMCwgZXhpc3RpbmdJbmRleCksXG4gICAgICAgICAgeyBpZDogY2hhcnRJbmRleCwgdmFsdWU6IHNlY3RvckluZGV4IH0sXG4gICAgICAgICAgLi4uY2xpY2tlZEluZGV4QXJyYXkuc2xpY2UoZXhpc3RpbmdJbmRleCArIDEpLFxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDbGlja2VkSW5kZXhBcnJheSA9IFsuLi5jbGlja2VkSW5kZXhBcnJheSwgeyBpZDogY2hhcnRJbmRleCwgdmFsdWU6IHNlY3RvckluZGV4IH1dO1xuICAgIH1cbiAgICBvbkNoYW5nZShuZXdDbGlja2VkSW5kZXhBcnJheSk7XG4gICAgc2V0Q2xpY2tlZEluZGV4QXJyYXkobmV3Q2xpY2tlZEluZGV4QXJyYXkpO1xuICB9O1xuXG4gIC8qXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSBtb3VzZSBlbnRlciBldmVudCBvbiBjaGFydFxuICAgKiBAcGFyYW0gY2hhcnRJbmRleDogaW5kZXggb2YgdGhlIGNoYXJ0XG4gICAqIEBwYXJhbSBzZWN0b3JJbmRleDogaW5kZXggb2YgdGhlIHNlY3RvclxuICAgKiAqL1xuICBjb25zdCBoYW5kbGVDaGFydE1vdXNlRW50ZXIgPSAoY2hhcnRJbmRleCwgc2VjdG9ySW5kZXgpID0+IHtcbiAgICBzZXRIb3ZlcmVkSW5kZXgoY2hhcnRJbmRleCArICctJyArIHNlY3RvckluZGV4KTtcbiAgfTtcblxuICAvKlxuICAgKiBGdW5jdGlvbiB0byBoYW5kbGUgbW91c2UgbGVhdmUgZXZlbnQgb24gY2hhcnRcbiAgICogQHBhcmFtIGNoYXJ0SW5kZXg6IGluZGV4IG9mIHRoZSBjaGFydFxuICAgKiBAcGFyYW0gc2VjdG9ySW5kZXg6IGluZGV4IG9mIHRoZSBzZWN0b3JcbiAgICogKi9cbiAgY29uc3QgaGFuZGxlQ2hhcnRNb3VzZUxlYXZlID0gKGNoYXJ0SW5kZXgsIHNlY3RvckluZGV4KSA9PiB7XG4gICAgc2V0SG92ZXJlZEluZGV4KG51bGwpO1xuICB9O1xuXG4gIC8qXG4gICAqIEZ1bmN0aW9uIHRvIGdldCBmaWxsIGNvbG9yIGZvciBzZWN0b3JcbiAgICogQHBhcmFtIGhvdmVyZWRJbmRleDogaG92ZXJlZCBpbmRleFxuICAgKiBAcGFyYW0gc2VsZWN0aW9uOiBzZWxlY3RlZCBpbmRleFxuICAgKiAqL1xuICBjb25zdCBnZXRTZWN0b3JGaWxsID0gKGhvdmVyZWRJbmRleCwgc2VsZWN0aW9uKSA9PiB7XG4gICAgY29uc3QgW3NlbGVjdGlvbklkLCBzZWxlY3Rpb25WYWx1ZV0gPSBzZWxlY3Rpb24uc3BsaXQoJy0nKS5tYXAoTnVtYmVyKTtcbiAgICAvLyBDaGVjayBmb3IgYSBtYXRjaGluZyBjbGlja2VkIGl0ZW1cbiAgICBjb25zdCBjbGlja2VkSXRlbSA9IGNsaWNrZWRJbmRleEFycmF5LmZpbmQoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IHNlbGVjdGlvbklkKTtcbiAgICBpZiAoY2xpY2tlZEl0ZW0gJiYgc2VsZWN0aW9uVmFsdWUgPD0gY2xpY2tlZEl0ZW0udmFsdWUpIHtcbiAgICAgIHJldHVybiAncmdiKDYwLCA3MywgMTUwLCAwLjYpJztcbiAgICB9XG4gICAgLy8gQ2hlY2sgZm9yIGEgbWF0Y2hpbmcgaG92ZXJlZCBpbmRleFxuICAgIGlmIChob3ZlcmVkSW5kZXgpIHtcbiAgICAgIGNvbnN0IFtob3ZlcmVkSWQsIGhvdmVyZWRWYWx1ZV0gPSBob3ZlcmVkSW5kZXguc3BsaXQoJy0nKS5tYXAoTnVtYmVyKTtcbiAgICAgIGlmIChob3ZlcmVkSWQgPT09IHNlbGVjdGlvbklkICYmIGhvdmVyZWRWYWx1ZSA+PSBzZWxlY3Rpb25WYWx1ZSkge1xuICAgICAgICByZXR1cm4gJ3JnYigwLCAwLCAwLCAwLjI1KSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAnI0ZGRkZGRic7XG4gIH07XG5cbiAgLypcbiAgICogRnVuY3Rpb24gdG8gcmVuZGVyIGxhYmVsIGZvciBwaWUgY2hhcnRcbiAgICogQHBhcmFtIHByb3BzOiBwcm9wZXJ0aWVzIG9mIHRoZSBsYWJlbFxuICAgKiAqL1xuICBjb25zdCByZW5kZXJDdXN0b21pemVkTGFiZWxGb3JQaWUgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGN4LCBjeSwgbWlkQW5nbGUsIG91dGVyUmFkaXVzLCBpbmRleCB9ID0gcHJvcHM7XG4gICAgY29uc3QgUkFESUFOID0gTWF0aC5QSSAvIDE4MDtcbiAgICAvLyBjb25zdCByYWRpdXMgPSBvdXRlclJhZGl1cyAqIDAuNTsgIC8vSWYgeW91IHdhbnQgdG8gc2hvdyBsYWJlbCBpbnNpZGUgdGhlIHBpZVxuICAgIGNvbnN0IHJhZGl1cyA9IG91dGVyUmFkaXVzICogMS4xMztcbiAgICBjb25zdCB4ID0gY3ggKyByYWRpdXMgKiBNYXRoLmNvcygtbWlkQW5nbGUgKiBSQURJQU4pO1xuICAgIGNvbnN0IHkgPSBjeSArIHJhZGl1cyAqIE1hdGguc2luKC1taWRBbmdsZSAqIFJBRElBTik7XG4gICAgcmV0dXJuIChcbiAgICAgIDx0ZXh0IHg9e3h9IHk9e3l9IGZpbGw9XCIjMDAwMDAwXCIgdGV4dEFuY2hvcj17eCA+IGN4ID8gJ3N0YXJ0JyA6ICdlbmQnfSBkb21pbmFudEJhc2VsaW5lPVwiY2VudHJhbFwiPlxuICAgICAgICB7YCR7KGluZGV4ICsgMSkudG9GaXhlZCgwKX1gfVxuICAgICAgPC90ZXh0PlxuICAgICk7XG4gIH07XG5cbiAgLypcbiAgICogRnVuY3Rpb24gdG8gY3JlYXRlIGFuZCByZXR1cm4gY29tcG9uZW50IGZvciBiYXIgY2hhcnRcbiAgICogKi9cbiAgY29uc3QgYmFyV2l0aEJvcmRlciA9ICgpID0+IHtcbiAgICByZXR1cm4gKHByb3BzKSA9PiB7XG4gICAgICBjb25zdCB7IGZpbGwsIHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IHByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGc+XG4gICAgICAgICAgPHJlY3QgeD17eH0geT17eX0gd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3Ryb2tlPXsnIzAwMDAwMCd9IGZpbGw9e2ZpbGx9IC8+XG4gICAgICAgIDwvZz5cbiAgICAgICk7XG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB7XG4gICAgY2xhc3NlcyxcbiAgICB2YWx1ZSA9IFtdLFxuICAgIG1vZGVsVHlwZSA9ICdiYXInLFxuICAgIG5vT2ZNb2RlbHMgPSAwLFxuICAgIHBhcnRzUGVyTW9kZWwgPSAwLFxuICAgIHNob3dMYWJlbCA9IGZhbHNlLFxuICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgb25DaGFuZ2UsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2hvdmVyZWRJbmRleCwgc2V0SG92ZXJlZEluZGV4XSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbY2xpY2tlZEluZGV4QXJyYXksIHNldENsaWNrZWRJbmRleEFycmF5XSA9IHVzZVN0YXRlKHZhbHVlKTtcblxuICAvKlxuICAgKiBGdW5jdGlvbiB0byBjcmVhdGUgYW5kIHJldHVybiBiYXIgZnJhY3Rpb24gbW9kZWxcbiAgICogKi9cbiAgY29uc3QgZ2V0QmFyRnJhY3Rpb25Nb2RlbCA9ICgpID0+IHtcbiAgICBjb25zdCBwYXJlbnREYXRhID0gW107XG4gICAgLy8gR2VuZXJhdGUgZGF0YSBmb3IgYmFyIGNoYXJ0XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBub09mTW9kZWxzICsgMTsgaSsrKSB7XG4gICAgICBjb25zdCBkYXRhID0gW3sgbmFtZTogaSB9XTtcbiAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgcGFydHNQZXJNb2RlbCArIDE7IGorKykge1xuICAgICAgICBkYXRhWzBdW2Ake2p9YF0gPSAxO1xuICAgICAgfVxuICAgICAgcGFyZW50RGF0YS5wdXNoKGRhdGEpO1xuICAgIH1cbiAgICBsZXQgYmFySXRlbXMgPSBbXTtcbiAgICBwYXJlbnREYXRhLmZvckVhY2goKGRhdGEsIGNoYXJ0SW5kZXgpID0+IHtcbiAgICAgIGJhckl0ZW1zLnB1c2goXG4gICAgICAgIDxCYXJDaGFydCB3aWR0aD17MjAwfSBoZWlnaHQ9ezMwICogcGFydHNQZXJNb2RlbH0gZGF0YT17ZGF0YX0ga2V5PXtgYmFyLWNoYXJ0LSR7Y2hhcnRJbmRleCArIDF9YH0+XG4gICAgICAgICAgPFlBeGlzIGhpZGU9e3RydWV9IHR5cGU9XCJudW1iZXJcIiBkb21haW49e1swLCBwYXJ0c1Blck1vZGVsXX0gLz5cbiAgICAgICAgICB7T2JqZWN0LmtleXMoZGF0YVswXSkubWFwKChrZXksIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSAnbmFtZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8QmFyXG4gICAgICAgICAgICAgICAgICBkYXRhS2V5PXtrZXl9XG4gICAgICAgICAgICAgICAgICBzdGFja0lkPVwiYVwiXG4gICAgICAgICAgICAgICAgICBrZXk9e2BiYXItJHtjaGFydEluZGV4ICsgMX0tJHtpbmRleCArIDF9YH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2Rpc2FibGVkID8gbnVsbCA6ICgpID0+IGhhbmRsZUNoYXJ0Q2xpY2soY2hhcnRJbmRleCArIDEsIGtleSl9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI9e2Rpc2FibGVkID8gbnVsbCA6ICgpID0+IGhhbmRsZUNoYXJ0TW91c2VFbnRlcihjaGFydEluZGV4ICsgMSwga2V5KX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17ZGlzYWJsZWQgPyBudWxsIDogKCkgPT4gaGFuZGxlQ2hhcnRNb3VzZUxlYXZlKGNoYXJ0SW5kZXggKyAxLCBrZXkpfVxuICAgICAgICAgICAgICAgICAgc2hhcGU9e2JhcldpdGhCb3JkZXIoKX1cbiAgICAgICAgICAgICAgICAgIGlzQW5pbWF0aW9uQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgIGZpbGw9e2dldFNlY3RvckZpbGwoaG92ZXJlZEluZGV4LCBgJHtjaGFydEluZGV4ICsgMX0tJHtrZXl9YCl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3Nob3dMYWJlbCAmJiA8TGFiZWxMaXN0IHBvc2l0aW9uPVwibGVmdFwiIGZpbGw9XCIjMDAwMDAwXCIgLz59XG4gICAgICAgICAgICAgICAgPC9CYXI+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvQmFyQ2hhcnQ+LFxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuYmFyQ2hhcnRQYXJlbnREaXZ9PntiYXJJdGVtc308L2Rpdj47XG4gIH07XG5cbiAgY29uc3QgcGllQ2hhcnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIFxuICAvKlxuICAgKiBGdW5jdGlvbiB0byBjcmVhdGUgYW5kIHJldHVybiBwaWUgZnJhY3Rpb24gbW9kZWxcbiAgICogKi9cbiAgY29uc3QgZ2V0UGllRnJhY3Rpb25Nb2RlbCA9ICgpID0+IHtcbiAgICBjb25zdCBwYXJlbnREYXRhID0gW107XG4gICAgLy8gR2VuZXJhdGUgZGF0YSBmb3IgcGllIGNoYXJ0XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBub09mTW9kZWxzICsgMTsgaSsrKSB7XG4gICAgICBjb25zdCBkYXRhID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogcGFydHNQZXJNb2RlbCB9LCAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgIG5hbWU6IGAke2luZGV4ICsgMX1gLFxuICAgICAgICB2YWx1ZTogMSxcbiAgICAgIH0pKTtcbiAgICAgIHBhcmVudERhdGEucHVzaChkYXRhKTtcbiAgICB9XG4gICAgbGV0IHBpZUl0ZW1zID0gW107XG4gICAgcGFyZW50RGF0YS5mb3JFYWNoKChkYXRhLCBjaGFydEluZGV4KSA9PiB7XG4gICAgICBwaWVJdGVtcy5wdXNoKFxuICAgICAgICA8UGllQ2hhcnQgd2lkdGg9ezIwMH0gaGVpZ2h0PXsyMDB9IGtleT17YHBpZS1jaGFydC0ke2NoYXJ0SW5kZXh9YH0+XG4gICAgICAgICAgPFBpZVxuICAgICAgICAgICAgZGF0YT17ZGF0YX1cbiAgICAgICAgICAgIGtleT17YHBpZS0ke2NoYXJ0SW5kZXggKyAxfWB9XG4gICAgICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgICAgICBzdHJva2U9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgIGRhdGFLZXk9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBzdGFydEFuZ2xlPXs5MH1cbiAgICAgICAgICAgIGVuZEFuZ2xlPXstMjcwfVxuICAgICAgICAgICAgaXNBbmltYXRpb25BY3RpdmU9e2ZhbHNlfVxuICAgICAgICAgICAgbGFiZWxMaW5lPXtmYWxzZX1cbiAgICAgICAgICAgIGxhYmVsPXtzaG93TGFiZWwgJiYgcmVuZGVyQ3VzdG9taXplZExhYmVsRm9yUGllfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtkYXRhLm1hcCgoZW50cnksIHNlY3RvckluZGV4KSA9PiAoXG4gICAgICAgICAgICAgIDxDZWxsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnNlY3Rvck91dGxpbmV9XG4gICAgICAgICAgICAgICAga2V5PXtgJHtjaGFydEluZGV4ICsgMX0tJHtzZWN0b3JJbmRleCArIDF9YH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtkaXNhYmxlZCA/IG51bGwgOiAoKSA9PiBoYW5kbGVDaGFydENsaWNrKGNoYXJ0SW5kZXggKyAxLCBzZWN0b3JJbmRleCArIDEpfVxuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcj17ZGlzYWJsZWQgPyBudWxsIDogKCkgPT4gaGFuZGxlQ2hhcnRNb3VzZUVudGVyKGNoYXJ0SW5kZXggKyAxLCBzZWN0b3JJbmRleCArIDEpfVxuICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17ZGlzYWJsZWQgPyBudWxsIDogKCkgPT4gaGFuZGxlQ2hhcnRNb3VzZUxlYXZlKGNoYXJ0SW5kZXggKyAxLCBzZWN0b3JJbmRleCArIDEpfVxuICAgICAgICAgICAgICAgIGZpbGw9e2dldFNlY3RvckZpbGwoaG92ZXJlZEluZGV4LCBgJHtjaGFydEluZGV4ICsgMX0tJHtzZWN0b3JJbmRleCArIDF9YCl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L1BpZT5cbiAgICAgICAgPC9QaWVDaGFydD4sXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiA8ZGl2IHJlZj17cGllQ2hhcnRSZWZ9IGNsYXNzTmFtZT17Y2xhc3Nlcy5waWVDaGFydFBhcmVudERpdn0+e3BpZUl0ZW1zfTwvZGl2PjtcbiAgfTtcblxuICAvL1JlbmRlciBiYXIgb3IgcGllIG1vZGVscyBhcyBwZXIgbW9kZWwgdHlwZVxuICBpZiAobW9kZWxUeXBlID09PSAnYmFyJykge1xuICAgIHJldHVybiBnZXRCYXJGcmFjdGlvbk1vZGVsKCk7XG4gIH0gZWxzZSBpZiAobW9kZWxUeXBlID09PSAncGllJykge1xuICAgIC8vUmVtb3ZlIHRoZSBsYXN0IHNlY3RvciBsaW5lIG9mIHBpZSBjaGFydCBpZiBwYXJ0cyBwZXIgbW9kZWwgaXMgMVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocGllQ2hhcnRSZWY/LmN1cnJlbnQgJiYgcGFydHNQZXJNb2RlbCA9PT0gMSl7XG4gICAgICAgIGNvbnN0IHBhdGhzID0gcGllQ2hhcnRSZWYuY3VycmVudC5xdWVyeVNlbGVjdG9yQWxsKCdwYXRoJyk7XG4gICAgICAgIGlmIChwYXRocy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgICAgbGV0IGQgPSBwYXRoLmdldEF0dHJpYnV0ZSgnZCcpO1xuICAgICAgICAgICAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBkLnJlcGxhY2VBbGwoJ0wgMTAwLDEwMCcsICcnKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIGdldFBpZUZyYWN0aW9uTW9kZWwoKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKEZyYWN0aW9uTW9kZWxDaGFydCk7XG4iXX0=
package/lib/index.js CHANGED
@@ -128,4 +128,4 @@ var FractionModel = /*#__PURE__*/function (_HTMLElement) {
128
128
  }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
129
129
 
130
130
  exports["default"] = FractionModel;
131
- //# sourceMappingURL=index.js.map
131
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJGcmFjdGlvbk1vZGVsIiwiX21vZGVsIiwibSIsIl9yZW5kZXIiLCJfc2Vzc2lvbiIsInMiLCJzZXNzaW9uIiwibW9kZWwiLCJhbnN3ZXJzIiwiY29uZmlnQ29tcGxldGUiLCJhbGxvd2VkU3R1ZGVudENvbmZpZyIsIm5vT2ZNb2RlbCIsInBhcnRzUGVyTW9kZWwiLCJyZXNwb25zZUNvbXBsZXRlIiwiQXJyYXkiLCJpc0FycmF5IiwicmVzcG9uc2UiLCJsZW5ndGgiLCJjb21wbGV0ZSIsImlzU2Vzc2lvbkNvbXBsZXRlIiwiZGlzcGF0Y2hFdmVudCIsIlNlc3Npb25DaGFuZ2VkRXZlbnQiLCJ0YWdOYW1lIiwidG9Mb3dlckNhc2UiLCJlbCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIk1haW4iLCJvblNlc3Npb25DaGFuZ2UiLCJiaW5kIiwiUmVhY3RET00iLCJyZW5kZXIiLCJIVE1MRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztJQUtxQkEsYTs7Ozs7QUFDbkIsMkJBQWM7QUFBQTtBQUFBO0FBRWI7Ozs7U0FPRCxlQUFZO0FBQ1YsYUFBTyxLQUFLQyxNQUFaO0FBQ0QsSztTQVBELGFBQVVDLENBQVYsRUFBYTtBQUNYLFdBQUtELE1BQUwsR0FBY0MsQ0FBZDs7QUFDQSxXQUFLQyxPQUFMO0FBQ0Q7OztTQVdELGVBQWM7QUFDWixhQUFPLEtBQUtDLFFBQVo7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O1NBYkUsYUFBWUMsQ0FBWixFQUFlO0FBQ2IsV0FBS0QsUUFBTCxHQUFnQkMsQ0FBaEI7O0FBQ0EsV0FBS0YsT0FBTDtBQUNEOzs7V0FXRCwyQkFBa0JHLE9BQWxCLEVBQTJCQyxLQUEzQixFQUFrQztBQUNoQyxVQUFNQyxPQUFPLEdBQUdGLE9BQU8sSUFBSUEsT0FBTyxDQUFDRSxPQUFuQztBQUNBLFVBQU1DLGNBQWMsR0FBR0YsS0FBSyxDQUFDRyxvQkFBTixHQUE2QkYsT0FBTyxDQUFDRyxTQUFSLEdBQW9CLENBQXBCLElBQXlCSCxPQUFPLENBQUNJLGFBQVIsR0FBd0IsQ0FBOUUsR0FBa0YsSUFBekc7QUFDQSxVQUFNQyxnQkFBZ0IsR0FBR0MsS0FBSyxDQUFDQyxPQUFOLENBQWNQLE9BQU8sQ0FBQ1EsUUFBdEIsS0FBbUNSLE9BQU8sQ0FBQ1EsUUFBUixDQUFpQkMsTUFBakIsR0FBMEIsQ0FBdEY7QUFDQSxhQUFPUixjQUFjLElBQUlJLGdCQUF6QjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7Ozs7V0FDRSx5QkFBZ0JQLE9BQWhCLEVBQXlCO0FBQ3ZCLFdBQUtGLFFBQUwsQ0FBY0ksT0FBZCxHQUF3QkYsT0FBTyxJQUFJQSxPQUFPLENBQUNFLE9BQTNDO0FBQ0EsVUFBTVUsUUFBUSxHQUFHLEtBQUtDLGlCQUFMLENBQXVCLEtBQUtmLFFBQTVCLEVBQXNDLEtBQUtILE1BQTNDLENBQWpCO0FBQ0EsV0FBS21CLGFBQUwsQ0FBbUIsSUFBSUMsb0NBQUosQ0FBd0IsS0FBS0MsT0FBTCxDQUFhQyxXQUFiLEVBQXhCLEVBQW9ETCxRQUFwRCxDQUFuQjtBQUNEOzs7V0FFRCw2QkFBb0I7QUFDbEIsV0FBS2YsT0FBTDtBQUNEOzs7V0FFRCxtQkFBVTtBQUFBOztBQUNSLFVBQUksS0FBS0YsTUFBTCxJQUFlLEtBQUtHLFFBQXhCLEVBQWtDO0FBQ2hDLFlBQUlHLEtBQUssR0FBRywyQkFBVSxLQUFLTixNQUFmLENBQVo7O0FBQ0EsWUFBTXVCLEVBQUUsZ0JBQUdDLGtCQUFNQyxhQUFOLENBQW9CQyxnQkFBcEIsRUFBMEI7QUFDbkNwQixVQUFBQSxLQUFLLEVBQUxBLEtBRG1DO0FBRW5DRCxVQUFBQSxPQUFPLEVBQUUsS0FBS0YsUUFGcUI7QUFHbkN3QixVQUFBQSxlQUFlLEVBQUUsS0FBS0EsZUFBTCxDQUFxQkMsSUFBckIsQ0FBMEIsSUFBMUI7QUFIa0IsU0FBMUIsQ0FBWDs7QUFNQUMsNkJBQVNDLE1BQVQsQ0FBZ0JQLEVBQWhCLEVBQW9CLElBQXBCLEVBQTBCLFlBQU07QUFDOUIseUNBQVcsS0FBWDtBQUNELFNBRkQ7QUFHRDtBQUNGOzs7a0RBOUR3Q1EsVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFNlc3Npb25DaGFuZ2VkRXZlbnQsIE1vZGVsU2V0RXZlbnQgfSBmcm9tICdAcGllLWZyYW1ld29yay9waWUtcGxheWVyLWV2ZW50cyc7XG5pbXBvcnQgTWFpbiBmcm9tICcuL21haW4nO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7IHJlbmRlck1hdGggfSBmcm9tICdAcGllLWxpYi9waWUtdG9vbGJveC9tYXRoLXJlbmRlcmluZyc7XG5pbXBvcnQgRnJhY3Rpb25Nb2RlbENoYXJ0IGZyb20gJy4vZnJhY3Rpb24tbW9kZWwtY2hhcnQnO1xuXG4vLyBFeHBvcnQgRnJhY3Rpb25Nb2RlbENoYXJ0IGZvciB1c2UgaW4gY29uZmlndXJlXG5leHBvcnQgeyBGcmFjdGlvbk1vZGVsQ2hhcnQgfTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnJhY3Rpb25Nb2RlbCBleHRlbmRzIEhUTUxFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHNldCBtb2RlbChtKSB7XG4gICAgdGhpcy5fbW9kZWwgPSBtO1xuICAgIHRoaXMuX3JlbmRlcigpO1xuICB9XG5cbiAgZ2V0IG1vZGVsKCkge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbDtcbiAgfVxuXG4gIHNldCBzZXNzaW9uKHMpIHtcbiAgICB0aGlzLl9zZXNzaW9uID0gcztcbiAgICB0aGlzLl9yZW5kZXIoKTtcbiAgfVxuXG4gIGdldCBzZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9zZXNzaW9uO1xuICB9XG5cbiAgLypcbiAgICogTWV0aG9kIHRvIGNoZWNrIGlmIHN0dWRlbnQgYW5zd2VyZWQgdGhlIHF1ZXN0aW9uXG4gICAqIEBwYXJhbSB7c2Vzc2lvbn0gc2Vzc2lvbiBjb250YWlucyB0aGUgc2Vzc2lvbiBvYmplY3RcbiAgICogQHBhcmFtIHttb2RlbH0gbW9kZWwgY29udGFpbnMgdGhlIG1vZGVsIG9iamVjdFxuICAgKiAqL1xuICBpc1Nlc3Npb25Db21wbGV0ZShzZXNzaW9uLCBtb2RlbCkge1xuICAgIGNvbnN0IGFuc3dlcnMgPSBzZXNzaW9uICYmIHNlc3Npb24uYW5zd2VycztcbiAgICBjb25zdCBjb25maWdDb21wbGV0ZSA9IG1vZGVsLmFsbG93ZWRTdHVkZW50Q29uZmlnID8gYW5zd2Vycy5ub09mTW9kZWwgPiAwICYmIGFuc3dlcnMucGFydHNQZXJNb2RlbCA+IDAgOiB0cnVlO1xuICAgIGNvbnN0IHJlc3BvbnNlQ29tcGxldGUgPSBBcnJheS5pc0FycmF5KGFuc3dlcnMucmVzcG9uc2UpICYmIGFuc3dlcnMucmVzcG9uc2UubGVuZ3RoID4gMDtcbiAgICByZXR1cm4gY29uZmlnQ29tcGxldGUgJiYgcmVzcG9uc2VDb21wbGV0ZTtcbiAgfVxuXG4gIC8qXG4gICAqIFNlc3Npb24gY2hhbmdlIGV2ZW50IGhhbmRsZXJcbiAgICogQHBhcmFtIHtzZXNzaW9ufSBzZXNzaW9uIGNvbnRhaW5zIHRoZSBzZXNzaW9uIG9iamVjdFxuICAgKiAqL1xuICBvblNlc3Npb25DaGFuZ2Uoc2Vzc2lvbikge1xuICAgIHRoaXMuX3Nlc3Npb24uYW5zd2VycyA9IHNlc3Npb24gJiYgc2Vzc2lvbi5hbnN3ZXJzO1xuICAgIGNvbnN0IGNvbXBsZXRlID0gdGhpcy5pc1Nlc3Npb25Db21wbGV0ZSh0aGlzLl9zZXNzaW9uLCB0aGlzLl9tb2RlbCk7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBTZXNzaW9uQ2hhbmdlZEV2ZW50KHRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpLCBjb21wbGV0ZSkpO1xuICB9XG5cbiAgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgdGhpcy5fcmVuZGVyKCk7XG4gIH1cblxuICBfcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9tb2RlbCAmJiB0aGlzLl9zZXNzaW9uKSB7XG4gICAgICBsZXQgbW9kZWwgPSBjbG9uZURlZXAodGhpcy5fbW9kZWwpO1xuICAgICAgY29uc3QgZWwgPSBSZWFjdC5jcmVhdGVFbGVtZW50KE1haW4sIHtcbiAgICAgICAgbW9kZWwsXG4gICAgICAgIHNlc3Npb246IHRoaXMuX3Nlc3Npb24sXG4gICAgICAgIG9uU2Vzc2lvbkNoYW5nZTogdGhpcy5vblNlc3Npb25DaGFuZ2UuYmluZCh0aGlzKSxcbiAgICAgIH0pO1xuXG4gICAgICBSZWFjdERPTS5yZW5kZXIoZWwsIHRoaXMsICgpID0+IHtcbiAgICAgICAgcmVuZGVyTWF0aCh0aGlzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
package/lib/main.js CHANGED
@@ -154,6 +154,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
154
154
  title = model.title,
155
155
  _model$correctness = model.correctness,
156
156
  correctness = _model$correctness === void 0 ? {} : _model$correctness,
157
+ extraCSSRules = model.extraCSSRules,
157
158
  language = model.language;
158
159
  var showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';
159
160
  var fractionModelChartKey = this.generateRandomKey();
@@ -251,4 +252,4 @@ var styles = function styles() {
251
252
  var _default = (0, _styles.withStyles)(styles)(Main);
252
253
 
253
254
  exports["default"] = _default;
254
- //# sourceMappingURL=main.js.map
255
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJuYW1lcyI6WyJNYWluIiwicHJvcHMiLCJvblNlc3Npb25DaGFuZ2UiLCJzdGF0ZSIsInNlc3Npb24iLCJtb2RlbCIsImFuc3dlcnMiLCJyZXNwb25zZSIsImFsbG93ZWRTdHVkZW50Q29uZmlnIiwibm9PZk1vZGVsIiwicGFydHNQZXJNb2RlbCIsIm5ld0Fuc3dlcnMiLCJvbGRTZXNzaW9uIiwibmV3U2Vzc2lvbiIsImxlbmd0aCIsInNldFN0YXRlIiwiYW5zd2VyQ2hhbmdlRGlhbG9nIiwib3BlbiIsInRleHQiLCJjYWxsT25TZXNzaW9uQ2hhbmdlIiwic2hvdyIsInNob3dDb3JyZWN0IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwiZ2VuZXJhdGVBbnN3ZXJzIiwiY2xhc3NlcyIsInByb21wdCIsInRpdGxlIiwiY29ycmVjdG5lc3MiLCJleHRyYUNTU1J1bGVzIiwibGFuZ3VhZ2UiLCJzaG93Q29ycmVjdEFuc3dlclRvZ2dsZSIsImZyYWN0aW9uTW9kZWxDaGFydEtleSIsImdlbmVyYXRlUmFuZG9tS2V5IiwibW9kZWxQcmV2aWV3IiwidGl0bGVDb250YWluZXIiLCJ0b2dnbGVTaG93Q29ycmVjdCIsInZpZXciLCJvbkFuc3dlckNoYW5nZSIsImNvcnJlY3RSZXNwb25zZSIsIm1vZGVsVHlwZVNlbGVjdGVkIiwibWF4TW9kZWxTZWxlY3RlZCIsInNob3dHcmFwaExhYmVscyIsIm9uUmVzcG9uc2VDaGFuZ2UiLCJwcmV2U3RhdGUiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwic3R5bGVzIiwicHJldmlld0hlYWRpbmciLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJtYXJnaW4iLCJwYWRkaW5nIiwidGV4dEFsaWduIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNB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QU0sR0FBRyxTQUFUQSxNQUFTO0FBQUEsU0FBTztBQUNwQkMsSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFVBQVUsRUFBRSxLQURFO0FBRWRDLE1BQUFBLFFBQVEsRUFBRSxNQUZJO0FBR2RDLE1BQUFBLE1BQU0sRUFBRTtBQUhNLEtBREk7QUFNcEJyQixJQUFBQSxZQUFZLEVBQUU7QUFDWnNCLE1BQUFBLE9BQU8sRUFBRTtBQURHLEtBTk07QUFTcEJyQixJQUFBQSxjQUFjLEVBQUU7QUFDZHNCLE1BQUFBLFNBQVMsRUFBRSxRQURHO0FBRWRILE1BQUFBLFFBQVEsRUFBRTtBQUZJO0FBVEksR0FBUDtBQUFBLENBQWY7O2VBZWUsd0JBQVdILE1BQVgsRUFBbUJwRCxJQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBBbnN3ZXJGcmFjdGlvbiBmcm9tICcuL2Fuc3dlci1mcmFjdGlvbic7XG5pbXBvcnQgeyBDb3JyZWN0QW5zd2VyVG9nZ2xlIH0gZnJvbSAnQHBpZS1saWIvcGllLXRvb2xib3gvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcbmltcG9ydCBGcmFjdGlvbk1vZGVsQ2hhcnQgZnJvbSAnLi9mcmFjdGlvbi1tb2RlbC1jaGFydCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZyB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L2NvbmZpZy11aSc7XG5pbXBvcnQgeyBQcmV2aWV3UHJvbXB0LCBVaUxheW91dCB9IGZyb20gJ0BwaWUtbGliL3BpZS10b29sYm94L3JlbmRlci11aSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuXG5leHBvcnQgY2xhc3MgTWFpbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2Vzc2lvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvblNlc3Npb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHNlc3Npb246IHtcbiAgICAgICAgLi4ucHJvcHMuc2Vzc2lvbixcbiAgICAgICAgYW5zd2VyczogKHByb3BzLnNlc3Npb24gJiYgcHJvcHMuc2Vzc2lvbi5hbnN3ZXJzKSB8fCB0aGlzLmdlbmVyYXRlQW5zd2Vycyhwcm9wcy5tb2RlbCksXG4gICAgICB9LFxuICAgICAgc2hvd0NvcnJlY3Q6IGZhbHNlLFxuICAgICAgYW5zd2VyQ2hhbmdlRGlhbG9nOiB7XG4gICAgICAgIG9wZW46IGZhbHNlLFxuICAgICAgICB0ZXh0OiAnJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLmNhbGxPblNlc3Npb25DaGFuZ2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byB0cmlnZ2VyIHdoZW4gc2Vzc2lvbiB2YWx1ZSBjaGFuZ2UgZm9yIGZyYWN0aW9uIG1vZGVsXG4gICAqL1xuICBjYWxsT25TZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgb25TZXNzaW9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGlmIChvblNlc3Npb25DaGFuZ2UpIHtcbiAgICAgIG9uU2Vzc2lvbkNoYW5nZSh0aGlzLnN0YXRlLnNlc3Npb24pO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZ2VuZXJhdGUgYW5zd2VycyBmb3IgcHJldmlldyBzZWxlY3Rpb25cbiAgICogQHBhcmFtIHtvYmplY3R9IG1vZGVsIGNvbnRhaW5zIG1vZGVsIG9iamVjdCBmb3IgZnJhY3Rpb24gbW9kZWxcbiAgICogQHJldHVybnMgYW5zd2VyIG1vZGVsXG4gICAqL1xuICBnZW5lcmF0ZUFuc3dlcnMgPSAobW9kZWwpID0+IHtcbiAgICBjb25zdCBhbnN3ZXJzID0ge1xuICAgICAgcmVzcG9uc2U6IFtdLFxuICAgIH07XG4gICAgaWYgKG1vZGVsLmFsbG93ZWRTdHVkZW50Q29uZmlnKSB7XG4gICAgICAoYW5zd2Vycy5ub09mTW9kZWwgPSAnJyksIChhbnN3ZXJzLnBhcnRzUGVyTW9kZWwgPSAnJyk7XG4gICAgfVxuICAgIHJldHVybiBhbnN3ZXJzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0byB0cmlnZ2VyIHdoZW4gYW5zd2VyIGNoYW5nZSBmcm9tIHByZXZpZXdcbiAgICogQHBhcmFtIHtvYmplY3R9IG5ld0Fuc3dlcnMgY29udGFpbnMgdXBkYXRlZCBhbnN3ZXIgbW9kZWxcbiAgICovXG4gIG9uQW5zd2VyQ2hhbmdlID0gKG5ld0Fuc3dlcnMpID0+IHtcbiAgICBsZXQgb2xkU2Vzc2lvbiA9IGNsb25lRGVlcCh0aGlzLnN0YXRlLnNlc3Npb24pO1xuICAgIGxldCBuZXdTZXNzaW9uID0ge1xuICAgICAgLi4udGhpcy5zdGF0ZS5zZXNzaW9uLFxuICAgICAgYW5zd2VyczogbmV3QW5zd2VycyxcbiAgICB9O1xuICAgIGlmIChuZXdBbnN3ZXJzLnJlc3BvbnNlLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBhbnN3ZXJDaGFuZ2VEaWFsb2c6IHtcbiAgICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICAgIG9sZFNlc3Npb246IG9sZFNlc3Npb24sXG4gICAgICAgICAgbmV3U2Vzc2lvbjogbmV3U2Vzc2lvbixcbiAgICAgICAgICB0ZXh0OiAnQ2hhbmdpbmcgZWl0aGVyIHRoZSBOdW1iZXIgb2YgTW9kZWxzIG9yIFBhcnRzIHBlciBNb2RlbCB3aWxsIHJlbW92ZSBhZGRlZCBhbnN3ZXIuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICBzZXNzaW9uOiBuZXdTZXNzaW9uLFxuICAgICAgICB9KSxcbiAgICAgICAgdGhpcy5jYWxsT25TZXNzaW9uQ2hhbmdlLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLypcbiAgICogRnVuY3Rpb24gdG8gdG9nZ2xlIGNvcnJlY3QgYW5zd2VyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hvdyBjb250YWlucyBib29sZWFuIHZhbHVlIHRvIHNob3cgY29ycmVjdCBhbnN3ZXJcbiAgICogKi9cbiAgdG9nZ2xlU2hvd0NvcnJlY3QgPSAoc2hvdykgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogc2hvdyB9KTtcbiAgfTtcblxuICAvKlxuICAgKiBGdW5jdGlvbiB0byB0cmlnZ2VyIHdoZW4gcmVzcG9uc2UgY2hhbmdlIGZyb20gcHJldmlld1xuICAgKiBAcGFyYW0ge29iamVjdH0gcmVzcG9uc2UgY29udGFpbnMgdXBkYXRlZCByZXNwb25zZSBtb2RlbFxuICAgKiAqL1xuICBvblJlc3BvbnNlQ2hhbmdlID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgIChzdGF0ZSkgPT4gKHtcbiAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgIC4uLnN0YXRlLnNlc3Npb24sXG4gICAgICAgICAgYW5zd2Vyczoge1xuICAgICAgICAgICAgLi4uc3RhdGUuc2Vzc2lvbi5hbnN3ZXJzLFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgdGhpcy5jYWxsT25TZXNzaW9uQ2hhbmdlLFxuICAgICk7XG4gIH07XG5cbiAgLypcbiAgICogTWV0aG9kIHRvIGdlbmVyYXRlIHJhbmRvbSBrZXlcbiAgICogKi9cbiAgZ2VuZXJhdGVSYW5kb21LZXkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgY2xhc3NlcyB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHNob3dDb3JyZWN0LCBzZXNzaW9uLCBhbnN3ZXJDaGFuZ2VEaWFsb2cgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBwcm9tcHQsIHRpdGxlLCBjb3JyZWN0bmVzcyA9IHt9LCBleHRyYUNTU1J1bGVzLCBsYW5ndWFnZSB9ID0gbW9kZWw7XG4gICAgY29uc3Qgc2hvd0NvcnJlY3RBbnN3ZXJUb2dnbGUgPSBjb3JyZWN0bmVzcy5jb3JyZWN0bmVzcyAmJiBjb3JyZWN0bmVzcy5jb3JyZWN0bmVzcyAhPT0gJ2NvcnJlY3QnO1xuICAgIGNvbnN0IGZyYWN0aW9uTW9kZWxDaGFydEtleSA9IHRoaXMuZ2VuZXJhdGVSYW5kb21LZXkoKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5tb2RlbFByZXZpZXd9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLnRpdGxlQ29udGFpbmVyfT5cbiAgICAgICAgICAgIDxQcmV2aWV3UHJvbXB0IGNsYXNzTmFtZT1cInByb21wdFwiIHByb21wdD17dGl0bGV9IHRhZ05hbWU9XCJoM1wiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFByZXZpZXdQcm9tcHQgY2xhc3NOYW1lPVwicHJvbXB0XCIgcHJvbXB0PXtwcm9tcHR9IHRhZ05hbWU9XCJwXCIgLz5cblxuICAgICAgICAgIDxDb3JyZWN0QW5zd2VyVG9nZ2xlXG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBzaG93PXtzaG93Q29ycmVjdEFuc3dlclRvZ2dsZX1cbiAgICAgICAgICAgIHRvZ2dsZWQ9e3Nob3dDb3JyZWN0fVxuICAgICAgICAgICAgb25Ub2dnbGU9e3RoaXMudG9nZ2xlU2hvd0NvcnJlY3R9XG4gICAgICAgICAgLz5cblxuICAgICAgICAgIDxBbnN3ZXJGcmFjdGlvblxuICAgICAgICAgICAgbW9kZWw9e21vZGVsfVxuICAgICAgICAgICAgc2hvd0NvcnJlY3Q9e3Nob3dDb3JyZWN0fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e21vZGVsLnZpZXd9XG4gICAgICAgICAgICBvbkFuc3dlckNoYW5nZT17dGhpcy5vbkFuc3dlckNoYW5nZX1cbiAgICAgICAgICAgIGFuc3dlcnM9e3Nlc3Npb24uYW5zd2Vyc31cbiAgICAgICAgICAvPlxuXG4gICAgICAgICAgPEZyYWN0aW9uTW9kZWxDaGFydFxuICAgICAgICAgICAga2V5PXtmcmFjdGlvbk1vZGVsQ2hhcnRLZXl9XG4gICAgICAgICAgICBkaXNhYmxlZD17bW9kZWwudmlld31cbiAgICAgICAgICAgIHZhbHVlPXtzaG93Q29ycmVjdCA/IG1vZGVsLmNvcnJlY3RSZXNwb25zZSA6IHNlc3Npb24uYW5zd2Vycy5yZXNwb25zZX1cbiAgICAgICAgICAgIG1vZGVsVHlwZT17bW9kZWwubW9kZWxUeXBlU2VsZWN0ZWR9XG4gICAgICAgICAgICBub09mTW9kZWxzPXtcbiAgICAgICAgICAgICAgc2hvd0NvcnJlY3RcbiAgICAgICAgICAgICAgICA/IG1vZGVsLm1heE1vZGVsU2VsZWN0ZWRcbiAgICAgICAgICAgICAgICA6IG1vZGVsLmFsbG93ZWRTdHVkZW50Q29uZmlnXG4gICAgICAgICAgICAgICAgPyBzZXNzaW9uLmFuc3dlcnMubm9PZk1vZGVsXG4gICAgICAgICAgICAgICAgOiBtb2RlbC5tYXhNb2RlbFNlbGVjdGVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0c1Blck1vZGVsPXtcbiAgICAgICAgICAgICAgc2hvd0NvcnJlY3RcbiAgICAgICAgICAgICAgICA/IG1vZGVsLnBhcnRzUGVyTW9kZWxcbiAgICAgICAgICAgICAgICA6IG1vZGVsLmFsbG93ZWRTdHVkZW50Q29uZmlnXG4gICAgICAgICAgICAgICAgPyBzZXNzaW9uLmFuc3dlcnMucGFydHNQZXJNb2RlbFxuICAgICAgICAgICAgICAgIDogbW9kZWwucGFydHNQZXJNb2RlbFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2hvd0xhYmVsPXttb2RlbC5zaG93R3JhcGhMYWJlbHN9XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vblJlc3BvbnNlQ2hhbmdlfVxuICAgICAgICAgID48L0ZyYWN0aW9uTW9kZWxDaGFydD5cblxuICAgICAgICAgIDxBbGVydERpYWxvZ1xuICAgICAgICAgICAgb3Blbj17YW5zd2VyQ2hhbmdlRGlhbG9nLm9wZW59XG4gICAgICAgICAgICB0aXRsZT1cIldhcm5pbmdcIlxuICAgICAgICAgICAgdGV4dD17YW5zd2VyQ2hhbmdlRGlhbG9nLnRleHR9XG4gICAgICAgICAgICBvbkNvbmZpcm09eygpID0+IHtcbiAgICAgICAgICAgICAgbGV0IG5ld1Nlc3Npb24gPSB0aGlzLnN0YXRlLmFuc3dlckNoYW5nZURpYWxvZy5uZXdTZXNzaW9uO1xuICAgICAgICAgICAgICBuZXdTZXNzaW9uLmFuc3dlcnMucmVzcG9uc2UgPSBbXTtcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgICAgICAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgc2Vzc2lvbjogbmV3U2Vzc2lvbixcbiAgICAgICAgICAgICAgICAgIGFuc3dlckNoYW5nZURpYWxvZzogeyBvcGVuOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRoaXMuY2FsbE9uU2Vzc2lvbkNoYW5nZSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkNsb3NlPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICAgICAgKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgIHNlc3Npb246IHByZXZTdGF0ZS5hbnN3ZXJDaGFuZ2VEaWFsb2cub2xkU2Vzc2lvbixcbiAgICAgICAgICAgICAgICAgIGFuc3dlckNoYW5nZURpYWxvZzogeyBvcGVuOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRoaXMuY2FsbE9uU2Vzc2lvbkNoYW5nZSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkNvbmZpcm1UZXh0PXsnT0snfVxuICAgICAgICAgICAgb25DbG9zZVRleHQ9eydDYW5jZWwnfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAoKSA9PiAoe1xuICBwcmV2aWV3SGVhZGluZzoge1xuICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgIGZvbnRTaXplOiAnMjRweCcsXG4gICAgbWFyZ2luOiAnMTRweCAwJyxcbiAgfSxcbiAgbW9kZWxQcmV2aWV3OiB7XG4gICAgcGFkZGluZzogJzE2cHgnLFxuICB9LFxuICB0aXRsZUNvbnRhaW5lcjoge1xuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgZm9udFNpemU6ICcyMHB4JyxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoTWFpbik7XG4iXX0=
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","onSessionChange","state","session","model","answers","response","allowedStudentConfig","noOfModel","partsPerModel","newAnswers","oldSession","newSession","length","setState","answerChangeDialog","open","text","callOnSessionChange","show","showCorrect","Math","floor","random","generateAnswers","classes","prompt","title","correctness","language","showCorrectAnswerToggle","fractionModelChartKey","generateRandomKey","modelPreview","titleContainer","toggleShowCorrect","view","onAnswerChange","correctResponse","modelTypeSelected","maxModelSelected","showGraphLabels","onResponseChange","prevState","React","Component","PropTypes","object","func","isRequired","styles","previewHeading","fontWeight","fontSize","margin","padding","textAlign"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport AnswerFraction from './answer-fraction';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport FractionModelChart from './fraction-model-chart';\nimport { AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\nimport { PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n session: {\n ...props.session,\n answers: (props.session && props.session.answers) || this.generateAnswers(props.model),\n },\n showCorrect: false,\n answerChangeDialog: {\n open: false,\n text: '',\n },\n };\n this.callOnSessionChange();\n }\n\n /**\n * Function to trigger when session value change for fraction model\n */\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n /**\n * Function to generate answers for preview selection\n * @param {object} model contains model object for fraction model\n * @returns answer model\n */\n generateAnswers = (model) => {\n const answers = {\n response: [],\n };\n if (model.allowedStudentConfig) {\n (answers.noOfModel = ''), (answers.partsPerModel = '');\n }\n return answers;\n };\n\n /**\n * Function to trigger when answer change from preview\n * @param {object} newAnswers contains updated answer model\n */\n onAnswerChange = (newAnswers) => {\n let oldSession = cloneDeep(this.state.session);\n let newSession = {\n ...this.state.session,\n answers: newAnswers,\n };\n if (newAnswers.response.length > 0) {\n this.setState({\n answerChangeDialog: {\n open: true,\n oldSession: oldSession,\n newSession: newSession,\n text: 'Changing either the Number of Models or Parts per Model will remove added answer. Are you sure you want to continue?',\n },\n });\n } else {\n this.setState(\n (state) => ({\n session: newSession,\n }),\n this.callOnSessionChange,\n );\n }\n };\n\n /*\n * Function to toggle correct answer\n * @param {boolean} show contains boolean value to show correct answer\n * */\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show });\n };\n\n /*\n * Function to trigger when response change from preview\n * @param {object} response contains updated response model\n * */\n onResponseChange = (response) => {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n answers: {\n ...state.session.answers,\n response,\n },\n },\n }),\n this.callOnSessionChange,\n );\n };\n\n /*\n * Method to generate random key\n * */\n generateRandomKey = () => {\n return Math.floor(Math.random() * 10000);\n };\n\n render() {\n const { model, classes } = this.props;\n const { showCorrect, session, answerChangeDialog } = this.state;\n const { prompt, title, correctness = {}, language } = model;\n const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';\n const fractionModelChartKey = this.generateRandomKey();\n\n return (\n <div>\n <div className={classes.modelPreview}>\n <div className={classes.titleContainer}>\n <PreviewPrompt className=\"prompt\" prompt={title} tagName=\"h3\" />\n </div>\n <PreviewPrompt className=\"prompt\" prompt={prompt} tagName=\"p\" />\n\n <CorrectAnswerToggle\n language={language}\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n\n <AnswerFraction\n model={model}\n showCorrect={showCorrect}\n disabled={model.view}\n onAnswerChange={this.onAnswerChange}\n answers={session.answers}\n />\n\n <FractionModelChart\n key={fractionModelChartKey}\n disabled={model.view}\n value={showCorrect ? model.correctResponse : session.answers.response}\n modelType={model.modelTypeSelected}\n noOfModels={\n showCorrect\n ? model.maxModelSelected\n : model.allowedStudentConfig\n ? session.answers.noOfModel\n : model.maxModelSelected\n }\n partsPerModel={\n showCorrect\n ? model.partsPerModel\n : model.allowedStudentConfig\n ? session.answers.partsPerModel\n : model.partsPerModel\n }\n showLabel={model.showGraphLabels}\n onChange={this.onResponseChange}\n ></FractionModelChart>\n\n <AlertDialog\n open={answerChangeDialog.open}\n title=\"Warning\"\n text={answerChangeDialog.text}\n onConfirm={() => {\n let newSession = this.state.answerChangeDialog.newSession;\n newSession.answers.response = [];\n this.setState(\n () => ({\n session: newSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onClose={() => {\n this.setState(\n (prevState) => ({\n session: prevState.answerChangeDialog.oldSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n </div>\n </div>\n );\n }\n}\n\nconst styles = () => ({\n previewHeading: {\n fontWeight: '400',\n fontSize: '24px',\n margin: '14px 0',\n },\n modelPreview: {\n padding: '16px',\n },\n titleContainer: {\n textAlign: 'center',\n fontSize: '20px',\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","onSessionChange","state","session","model","answers","response","allowedStudentConfig","noOfModel","partsPerModel","newAnswers","oldSession","newSession","length","setState","answerChangeDialog","open","text","callOnSessionChange","show","showCorrect","Math","floor","random","generateAnswers","classes","prompt","title","correctness","extraCSSRules","language","showCorrectAnswerToggle","fractionModelChartKey","generateRandomKey","modelPreview","titleContainer","toggleShowCorrect","view","onAnswerChange","correctResponse","modelTypeSelected","maxModelSelected","showGraphLabels","onResponseChange","prevState","React","Component","PropTypes","object","func","isRequired","styles","previewHeading","fontWeight","fontSize","margin","padding","textAlign"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport AnswerFraction from './answer-fraction';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport FractionModelChart from './fraction-model-chart';\nimport { AlertDialog } from '@pie-lib/pie-toolbox/config-ui';\nimport { PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n session: {\n ...props.session,\n answers: (props.session && props.session.answers) || this.generateAnswers(props.model),\n },\n showCorrect: false,\n answerChangeDialog: {\n open: false,\n text: '',\n },\n };\n this.callOnSessionChange();\n }\n\n /**\n * Function to trigger when session value change for fraction model\n */\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n /**\n * Function to generate answers for preview selection\n * @param {object} model contains model object for fraction model\n * @returns answer model\n */\n generateAnswers = (model) => {\n const answers = {\n response: [],\n };\n if (model.allowedStudentConfig) {\n (answers.noOfModel = ''), (answers.partsPerModel = '');\n }\n return answers;\n };\n\n /**\n * Function to trigger when answer change from preview\n * @param {object} newAnswers contains updated answer model\n */\n onAnswerChange = (newAnswers) => {\n let oldSession = cloneDeep(this.state.session);\n let newSession = {\n ...this.state.session,\n answers: newAnswers,\n };\n if (newAnswers.response.length > 0) {\n this.setState({\n answerChangeDialog: {\n open: true,\n oldSession: oldSession,\n newSession: newSession,\n text: 'Changing either the Number of Models or Parts per Model will remove added answer. Are you sure you want to continue?',\n },\n });\n } else {\n this.setState(\n (state) => ({\n session: newSession,\n }),\n this.callOnSessionChange,\n );\n }\n };\n\n /*\n * Function to toggle correct answer\n * @param {boolean} show contains boolean value to show correct answer\n * */\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show });\n };\n\n /*\n * Function to trigger when response change from preview\n * @param {object} response contains updated response model\n * */\n onResponseChange = (response) => {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n answers: {\n ...state.session.answers,\n response,\n },\n },\n }),\n this.callOnSessionChange,\n );\n };\n\n /*\n * Method to generate random key\n * */\n generateRandomKey = () => {\n return Math.floor(Math.random() * 10000);\n };\n\n render() {\n const { model, classes } = this.props;\n const { showCorrect, session, answerChangeDialog } = this.state;\n const { prompt, title, correctness = {}, extraCSSRules, language } = model;\n const showCorrectAnswerToggle = correctness.correctness && correctness.correctness !== 'correct';\n const fractionModelChartKey = this.generateRandomKey();\n\n return (\n <UiLayout extraCSSRules={extraCSSRules}>\n <div className={classes.modelPreview}>\n <div className={classes.titleContainer}>\n <PreviewPrompt className=\"prompt\" prompt={title} tagName=\"h3\" />\n </div>\n <PreviewPrompt className=\"prompt\" prompt={prompt} tagName=\"p\" />\n\n <CorrectAnswerToggle\n language={language}\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n\n <AnswerFraction\n model={model}\n showCorrect={showCorrect}\n disabled={model.view}\n onAnswerChange={this.onAnswerChange}\n answers={session.answers}\n />\n\n <FractionModelChart\n key={fractionModelChartKey}\n disabled={model.view}\n value={showCorrect ? model.correctResponse : session.answers.response}\n modelType={model.modelTypeSelected}\n noOfModels={\n showCorrect\n ? model.maxModelSelected\n : model.allowedStudentConfig\n ? session.answers.noOfModel\n : model.maxModelSelected\n }\n partsPerModel={\n showCorrect\n ? model.partsPerModel\n : model.allowedStudentConfig\n ? session.answers.partsPerModel\n : model.partsPerModel\n }\n showLabel={model.showGraphLabels}\n onChange={this.onResponseChange}\n ></FractionModelChart>\n\n <AlertDialog\n open={answerChangeDialog.open}\n title=\"Warning\"\n text={answerChangeDialog.text}\n onConfirm={() => {\n let newSession = this.state.answerChangeDialog.newSession;\n newSession.answers.response = [];\n this.setState(\n () => ({\n session: newSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onClose={() => {\n this.setState(\n (prevState) => ({\n session: prevState.answerChangeDialog.oldSession,\n answerChangeDialog: { open: false },\n }),\n this.callOnSessionChange,\n );\n }}\n onConfirmText={'OK'}\n onCloseText={'Cancel'}\n />\n </div>\n </UiLayout>\n );\n }\n}\n\nconst styles = () => ({\n previewHeading: {\n fontWeight: '400',\n fontSize: '24px',\n margin: '14px 0',\n },\n modelPreview: {\n padding: '16px',\n },\n titleContainer: {\n textAlign: 'center',\n fontSize: '20px',\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
package/package.json CHANGED
@@ -4,12 +4,12 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "2.1.6-next.3+59535a35f",
7
+ "version": "2.2.1-beta.0",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/pie-toolbox": "2.0.15",
12
+ "@pie-lib/pie-toolbox": "1.33.1",
13
13
  "prop-types": "^15.6.1",
14
14
  "react": "^16.8.1",
15
15
  "react-dom": "^16.8.1",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "author": "",
19
19
  "license": "ISC",
20
- "gitHead": "59535a35fed818c74f3d6d6cc41b352c1ed939eb",
20
+ "gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
21
21
  "scripts": {
22
22
  "postpublish": "../../scripts/postpublish"
23
23
  },
package/LICENSE.md DELETED
@@ -1,5 +0,0 @@
1
- Copyright 2019 CoreSpring Inc
2
-
3
- Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
-
5
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.