@pie-lib/correct-answer-toggle 2.5.12 → 2.7.0-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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,15 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [2.5.12](https://github.com/pie-framework/pie-lib/compare/@pie-lib/correct-answer-toggle@2.5.11...@pie-lib/correct-answer-toggle@2.5.12) (2023-11-06)
6
+ # [2.7.0-beta.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/correct-answer-toggle@2.5.11...@pie-lib/correct-answer-toggle@2.7.0-beta.0) (2025-07-15)
7
+
8
+ **Note:** Version bump only for package @pie-lib/correct-answer-toggle
9
+
10
+
11
+
12
+
13
+
14
+ # [2.6.0-beta.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/correct-answer-toggle@2.5.11...@pie-lib/correct-answer-toggle@2.6.0-beta.0) (2025-07-15)
7
15
 
8
16
  **Note:** Version bump only for package @pie-lib/correct-answer-toggle
9
17
 
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _expander = _interopRequireDefault(require("../expander"));
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _index = require("../index");
12
+
13
+ var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
14
+
15
+ (0, _enzyme.configure)({
16
+ adapter: new _enzymeAdapterReact["default"]()
17
+ });
18
+ describe('CorrectAnswerToggle', function () {
19
+ var onToggle;
20
+ var wrapper;
21
+ var sheet;
22
+
23
+ var mkWrapper = function mkWrapper(toggled, msgs) {
24
+ toggled = toggled === false ? false : true;
25
+ msgs = msgs || {};
26
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.CorrectAnswerToggle, {
27
+ toggled: toggled,
28
+ classes: {
29
+ root: 'root',
30
+ label: 'label'
31
+ },
32
+ onToggle: onToggle,
33
+ hideMessage: msgs.hide,
34
+ showMessage: msgs.show,
35
+ sheet: sheet
36
+ }), {
37
+ context: {}
38
+ });
39
+ };
40
+
41
+ beforeEach(function () {
42
+ var iconStub = {};
43
+ sheet = {
44
+ classes: {
45
+ root: 'root',
46
+ label: 'label'
47
+ }
48
+ };
49
+ onToggle = jest.fn();
50
+ wrapper = mkWrapper();
51
+ });
52
+ describe('render', function () {
53
+ it('has the hide message', function () {
54
+ var holder = wrapper.find('.label');
55
+ expect(holder.text()).toEqual('Hide correct answer');
56
+ });
57
+ it('has show message when toggled is false', function () {
58
+ var w = mkWrapper(false);
59
+ var holder = w.find(".label");
60
+ expect(holder.text()).toEqual('Show correct answer');
61
+ });
62
+ it('sets a custom hide message', function () {
63
+ wrapper = mkWrapper(true, {
64
+ hide: 'hide!'
65
+ });
66
+ var holder = wrapper.find('.label');
67
+ expect(holder.text()).toEqual('hide!');
68
+ });
69
+ it('sets a custom show message', function () {
70
+ wrapper = mkWrapper(false, {
71
+ show: 'show!'
72
+ });
73
+ var holder = wrapper.find('.label');
74
+ expect(holder.text()).toEqual('show!');
75
+ });
76
+ });
77
+ describe('onClick', function () {
78
+ it('calls onToggle', function () {
79
+ wrapper.find(_expander["default"]).childAt(0).simulate('click');
80
+ expect(onToggle.mock.calls[0][0]).toEqual(false);
81
+ });
82
+ it('calls onToggle with update state', function () {
83
+ onToggle.mockReset();
84
+ wrapper.find(_expander["default"]).childAt(0).simulate('click');
85
+ expect(onToggle.mock.calls[0][0]).toEqual(false); //simulate updating the toggled prop
86
+
87
+ wrapper.setProps({
88
+ toggled: false
89
+ });
90
+ wrapper.find(_expander["default"]).childAt(0).simulate('click');
91
+ expect(onToggle.mock.calls[1][0]).toEqual(true);
92
+ });
93
+ });
94
+ });
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwibmFtZXMiOlsiYWRhcHRlciIsIkFkYXB0ZXIiLCJkZXNjcmliZSIsIm9uVG9nZ2xlIiwid3JhcHBlciIsInNoZWV0IiwibWtXcmFwcGVyIiwidG9nZ2xlZCIsIm1zZ3MiLCJyb290IiwibGFiZWwiLCJoaWRlIiwic2hvdyIsImNvbnRleHQiLCJiZWZvcmVFYWNoIiwiaWNvblN0dWIiLCJjbGFzc2VzIiwiamVzdCIsImZuIiwiaXQiLCJob2xkZXIiLCJmaW5kIiwiZXhwZWN0IiwidGV4dCIsInRvRXF1YWwiLCJ3IiwiRXhwYW5kZXIiLCJjaGlsZEF0Iiwic2ltdWxhdGUiLCJtb2NrIiwiY2FsbHMiLCJtb2NrUmVzZXQiLCJzZXRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLHVCQUFVO0FBQUVBLEVBQUFBLE9BQU8sRUFBRSxJQUFJQyw4QkFBSjtBQUFYLENBQVY7QUFFQUMsUUFBUSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDcEMsTUFBSUMsUUFBSjtBQUNBLE1BQUlDLE9BQUo7QUFDQSxNQUFJQyxLQUFKOztBQUVBLE1BQUlDLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE9BQUQsRUFBVUMsSUFBVixFQUFtQjtBQUNqQ0QsSUFBQUEsT0FBTyxHQUFHQSxPQUFPLEtBQUssS0FBWixHQUFvQixLQUFwQixHQUE0QixJQUF0QztBQUNBQyxJQUFBQSxJQUFJLEdBQUdBLElBQUksSUFBSSxFQUFmO0FBQ0EsV0FBTyxtQ0FDTCxnQ0FBQywwQkFBRDtBQUNFLE1BQUEsT0FBTyxFQUFFRCxPQURYO0FBRUUsTUFBQSxPQUFPLEVBQUU7QUFDUEUsUUFBQUEsSUFBSSxFQUFFLE1BREM7QUFFUEMsUUFBQUEsS0FBSyxFQUFFO0FBRkEsT0FGWDtBQU1FLE1BQUEsUUFBUSxFQUFFUCxRQU5aO0FBT0UsTUFBQSxXQUFXLEVBQUVLLElBQUksQ0FB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R0dDLFFBSEgsQ0FHWSxPQUhaO0FBSUFOLE1BQUFBLE1BQU0sQ0FBQ25CLFFBQVEsQ0FBQzBCLElBQVQsQ0FBY0MsS0FBZCxDQUFvQixDQUFwQixFQUF1QixDQUF2QixDQUFELENBQU4sQ0FBa0NOLE9BQWxDLENBQTBDLEtBQTFDLEVBTjJDLENBTzNDOztBQUNBcEIsTUFBQUEsT0FBTyxDQUFDNEIsUUFBUixDQUFpQjtBQUFFekIsUUFBQUEsT0FBTyxFQUFFO0FBQVgsT0FBakI7QUFDQUgsTUFBQUEsT0FBTyxDQUNKaUIsSUFESCxDQUNRSyxvQkFEUixFQUVHQyxPQUZILENBRVcsQ0FGWCxFQUdHQyxRQUhILENBR1ksT0FIWjtBQUlBTixNQUFBQSxNQUFNLENBQUNuQixRQUFRLENBQUMwQixJQUFULENBQWNDLEtBQWQsQ0FBb0IsQ0FBcEIsRUFBdUIsQ0FBdkIsQ0FBRCxDQUFOLENBQWtDTixPQUFsQyxDQUEwQyxJQUExQztBQUNELEtBZEMsQ0FBRjtBQWVELEdBeEJPLENBQVI7QUF5QkQsQ0F6Rk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1vdW50LCBzaGFsbG93LCBjb25maWd1cmUgfSBmcm9tICdlbnp5bWUnO1xuXG5pbXBvcnQgRXhwYW5kZXIgZnJvbSAnLi4vZXhwYW5kZXInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENvcnJlY3RBbnN3ZXJUb2dnbGUgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgQWRhcHRlciBmcm9tICdlbnp5bWUtYWRhcHRlci1yZWFjdC0xNic7XG5cbmNvbmZpZ3VyZSh7IGFkYXB0ZXI6IG5ldyBBZGFwdGVyKCkgfSk7XG5cbmRlc2NyaWJlKCdDb3JyZWN0QW5zd2VyVG9nZ2xlJywgKCkgPT4ge1xuICBsZXQgb25Ub2dnbGU7XG4gIGxldCB3cmFwcGVyO1xuICBsZXQgc2hlZXQ7XG5cbiAgbGV0IG1rV3JhcHBlciA9ICh0b2dnbGVkLCBtc2dzKSA9PiB7XG4gICAgdG9nZ2xlZCA9IHRvZ2dsZWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xuICAgIG1zZ3MgPSBtc2dzIHx8IHt9O1xuICAgIHJldHVybiBzaGFsbG93KFxuICAgICAgPENvcnJlY3RBbnN3ZXJUb2dnbGVcbiAgICAgICAgdG9nZ2xlZD17dG9nZ2xlZH1cbiAgICAgICAgY2xhc3Nlcz17e1xuICAgICAgICAgIHJvb3Q6ICdyb290JyxcbiAgICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgICAgfX1cbiAgICAgICAgb25Ub2dnbGU9e29uVG9nZ2xlfVxuICAgICAgICBoaWRlTWVzc2FnZT17bXNncy5oaWRlfVxuICAgICAgICBzaG93TWVzc2FnZT17bXNncy5zaG93fVxuICAgICAgICBzaGVldD17c2hlZXR9XG4gICAgICAvPixcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDoge30sXG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbGV0IGljb25TdHViID0ge307XG5cbiAgICBzaGVldCA9IHtcbiAgICAgIGNsYXNzZXM6IHtcbiAgICAgICAgcm9vdDogJ3Jvb3QnLFxuICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBvblRvZ2dsZSA9IGplc3QuZm4oKTtcbiAgICB3cmFwcGVyID0gbWtXcmFwcGVyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyZW5kZXInLCAoKSA9PiB7XG4gICAgaXQoJ2hhcyB0aGUgaGlkZSBtZXNzYWdlJywgKCkgPT4ge1xuICAgICAgbGV0IGhvbGRlciA9IHdyYXBwZXIuZmluZCgnLmxhYmVsJyk7XG4gICAgICBleHBlY3QoaG9sZGVyLnRleHQoKSkudG9FcXVhbCgnSGlkZSBjb3JyZWN0IGFuc3dlcicpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhcyBzaG93IG1lc3NhZ2Ugd2hlbiB0b2dnbGVkIGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IG1rV3JhcHBlcihmYWxzZSk7XG4gICAgICBsZXQgaG9sZGVyID0gdy5maW5kKGAubGFiZWxgKTtcbiAgICAgIGV4cGVjdChob2xkZXIudGV4dCgpKS50b0VxdWFsKCdTaG93IGNvcnJlY3QgYW5zd2VyJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2V0cyBhIGN1c3RvbSBoaWRlIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyID0gbWtXcmFwcGVyKHRydWUsIHsgaGlkZTogJ2hpZGUhJyB9KTtcbiAgICAgIGxldCBob2xkZXIgPSB3cmFwcGVyLmZpbmQoJy5sYWJlbCcpO1xuICAgICAgZXhwZWN0KGhvbGRlci50ZXh0KCkpLnRvRXF1YWwoJ2hpZGUhJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2V0cyBhIGN1c3RvbSBzaG93IG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyID0gbWtXcmFwcGVyKGZhbHNlLCB7IHNob3c6ICdzaG93IScgfSk7XG4gICAgICBsZXQgaG9sZGVyID0gd3JhcHBlci5maW5kKCcubGFiZWwnKTtcbiAgICAgIGV4cGVjdChob2xkZXIudGV4dCgpKS50b0VxdWFsKCdzaG93IScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb25DbGljaycsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgb25Ub2dnbGUnLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyXG4gICAgICAgIC5maW5kKEV4cGFuZGVyKVxuICAgICAgICAuY2hpbGRBdCgwKVxuICAgICAgICAuc2ltdWxhdGUoJ2NsaWNrJyk7XG4gICAgICBleHBlY3Qob25Ub2dnbGUubW9jay5jYWxsc1swXVswXSkudG9FcXVhbChmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY2FsbHMgb25Ub2dnbGUgd2l0aCB1cGRhdGUgc3RhdGUnLCAoKSA9PiB7XG4gICAgICBvblRvZ2dsZS5tb2NrUmVzZXQoKTtcbiAgICAgIHdyYXBwZXJcbiAgICAgICAgLmZpbmQoRXhwYW5kZXIpXG4gICAgICAgIC5jaGlsZEF0KDApXG4gICAgICAgIC5zaW11bGF0ZSgnY2xpY2snKTtcbiAgICAgIGV4cGVjdChvblRvZ2dsZS5tb2NrLmNhbGxzWzBdWzBdKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgIC8vc2ltdWxhdGUgdXBkYXRpbmcgdGhlIHRvZ2dsZWQgcHJvcFxuICAgICAgd3JhcHBlci5zZXRQcm9wcyh7IHRvZ2dsZWQ6IGZhbHNlIH0pO1xuICAgICAgd3JhcHBlclxuICAgICAgICAuZmluZChFeHBhbmRlcilcbiAgICAgICAgLmNoaWxkQXQoMClcbiAgICAgICAgLnNpbXVsYXRlKCdjbGljaycpO1xuICAgICAgZXhwZWN0KG9uVG9nZ2xlLm1vY2suY2FsbHNbMV1bMF0pLnRvRXF1YWwodHJ1ZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
package/lib/expander.js CHANGED
@@ -57,14 +57,16 @@ var _default = (0, _styles.withStyles)(function () {
57
57
  enter: {
58
58
  transition: transition,
59
59
  opacity: 1,
60
- height: '25px',
60
+ height: 'auto',
61
61
  width: 'auto',
62
- visibility: 'visible'
62
+ visibility: 'visible',
63
+ minHeight: '25px'
63
64
  },
64
65
  enterDone: {
65
- height: '25px',
66
+ height: 'auto',
66
67
  visibility: 'visible',
67
- width: 'auto'
68
+ width: 'auto',
69
+ minHeight: '25px'
68
70
  },
69
71
  exit: {
70
72
  transition: transition,
@@ -83,4 +85,4 @@ var _default = (0, _styles.withStyles)(function () {
83
85
  })(Expander);
84
86
 
85
87
  exports["default"] = _default;
86
- //# sourceMappingURL=expander.js.map
88
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leHBhbmRlci5qc3giXSwibmFtZXMiOlsiRXhwYW5kZXIiLCJwcm9wcyIsImNsYXNzZXMiLCJzaG93IiwiY2hpbGRyZW4iLCJleHBhbmRlciIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJpc1JlcXVpcmVkIiwiY2xhc3NOYW1lIiwic3RyaW5nIiwib2JqZWN0Iiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsIm5vZGUiLCJ0cmFuc2l0aW9uIiwicG9zaXRpb24iLCJoZWlnaHQiLCJvdmVyZmxvdyIsImRpc3BsYXkiLCJ2aXNpYmlsaXR5Iiwid2lkdGgiLCJlbnRlciIsIm9wYWNpdHkiLCJtaW5IZWlnaHQiLCJlbnRlckRvbmUiLCJleGl0IiwiZXhpdERvbmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUNDLEtBQUQsRUFBVztBQUMxQixNQUFRQyxPQUFSLEdBQW9DRCxLQUFwQyxDQUFRQyxPQUFSO0FBQUEsTUFBaUJDLElBQWpCLEdBQW9DRixLQUFwQyxDQUFpQkUsSUFBakI7QUFBQSxNQUF1QkMsUUFBdkIsR0FBb0NILEtBQXBDLENBQXVCRyxRQUF2QjtBQUVBLHNCQUNFLGdDQUFDLG1DQUFEO0FBQWUsVUFBSUQsSUFBbkI7QUFBeUIsSUFBQSxNQUFNLEVBQUUsSUFBakM7QUFBdUMsSUFBQSxZQUFZLEVBQUUsS0FBckQ7QUFBNEQsSUFBQSxPQUFPLEVBQUUsR0FBckU7QUFBMEUsSUFBQSxVQUFVLG9CQUFPRCxPQUFQO0FBQXBGLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUVBLE9BQU8sQ0FBQ0c7QUFBeEIsS0FBbUNELFFBQW5DLENBREYsQ0FERjtBQUtELENBUkQ7O0FBVUFKLFFBQVEsQ0FBQ00sU0FBVCxHQUFxQjtBQUNuQkgsRUFBQUEsSUFBSSxFQUFFSSxzQkFBVUMsSUFBVixDQUFlQyxVQURGO0FBRW5CQyxFQUFBQSxTQUFTLEVBQUVILHNCQUFVSSxNQUZGO0FBR25CVCxFQUFBQSxPQUFPLEVBQUVLLHNCQUFVSyxNQUhBO0FBSW5CUixFQUFBQSxRQUFRLEVBQUVHLHNCQUFVTSxTQUFWLENBQW9CLENBQUNOLHNCQUFVTyxPQUFWLENBQWtCUCxzQkFBVVEsSUFBNUIsQ0FBRCxFQUFvQ1Isc0JBQVVRLElBQTlDLENBQXBCLEVBQXlFTjtBQUpoRSxDQUFyQjtBQU9BLElBQU1PLFVBQVUsR0FBRyw2Q0FBbkI7O2VBRWUsd0JBQVc7QUFBQSxTQUFPO0FBQy9CWCxJQUFBQSxRQUFRLEVBQUU7QUFDUlksTUFBQUEsUUFBUSxFQUFFLFVBREY7QUFFUkMsTUFBQUEsTUFBTSxFQUFFLENBRkE7QUFHUkMsTUFBQUEsUUFBUSxFQUFFLFFBSEY7QUFJUkMsTUFBQUEsT0FBTyxFQUFFLE1BSkQ7QUFLUkMsTUFBQUEsVUFBVSxFQUFFLFFBTEo7QUFNUkMsTUFBQUEsS0FBSyxFQUFFO0FBTkMsS0FEcUI7QUFTL0JDLElBQUFBLEtBQUssRUFBRTtBQUNMUCxNQUFBQSxVQUFVLEVBQVZBLFVBREs7QUFFTFEsTUFBQUEsT0FBTyxFQUFFLENBRko7QUFHTE4sTUFBQUEsTUFBTSxFQUFFLE1BSEg7QUFJTEksTUFBQUEsS0FBSyxFQUFFLE1BSkY7QUFLTEQsTUFBQUEsVUFBVSxFQUFFLFNBTFA7QUFNTEksTUFBQUEsU0FBUyxFQUFFO0FBTk4sS0FUd0I7QUFpQi9CQyxJQUFBQSxTQUFTLEVBQUU7QUFDVFIsTUFBQUEsTUFBTSxFQUFFLE1BREM7QUFFVEcsTUFBQUEsVUFBVSxFQUFFLFNBRkg7QUFHVEMsTUFBQUEsS0FBSyxFQUFFLE1BSEU7QUFJVEcsTUFBQUEsU0FBUyxFQUFFO0FBSkYsS0FqQm9CO0FBdUIvQkUsSUFBQUEsSUFBSSxFQUFFO0FBQ0pYLE1BQUFBLFVBQVUsRUFBVkEsVUFESTtBQUVKUSxNQUFBQSxPQUFPLEVBQUUsQ0FGTDtBQUdKTixNQUFBQSxNQUFNLEVBQUUsQ0FISjtBQUlKRyxNQUFBQSxVQUFVLEVBQUUsU0FKUjtBQUtKQyxNQUFBQSxLQUFLLEVBQUU7QUFMSCxLQXZCeUI7QUE4Qi9CTSxJQUFBQSxRQUFRLEVBQUU7QUFDUkosTUFBQUEsT0FBTyxFQUFFLENBREQ7QUFFUkgsTUFBQUEsVUFBVSxFQUFFLFFBRko7QUFHUkgsTUFBQUEsTUFBTSxFQUFFLENBSEE7QUFJUkksTUFBQUEsS0FBSyxFQUFFO0FBSkM7QUE5QnFCLEdBQVA7QUFBQSxDQUFYLEVBb0NYdEIsUUFwQ1csQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBDU1NUcmFuc2l0aW9uIH0gZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cCc7XG5cbmNvbnN0IEV4cGFuZGVyID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3Nlcywgc2hvdywgY2hpbGRyZW4gfSA9IHByb3BzO1xuXG4gIHJldHVybiAoXG4gICAgPENTU1RyYW5zaXRpb24gaW49e3Nob3d9IGFwcGVhcj17dHJ1ZX0gbW91bnRPbkVudGVyPXtmYWxzZX0gdGltZW91dD17MzAwfSBjbGFzc05hbWVzPXt7IC4uLmNsYXNzZXMgfX0+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5leHBhbmRlcn0+e2NoaWxkcmVufTwvZGl2PlxuICAgIDwvQ1NTVHJhbnNpdGlvbj5cbiAgKTtcbn07XG5cbkV4cGFuZGVyLnByb3BUeXBlcyA9IHtcbiAgc2hvdzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLm5vZGUpLCBQcm9wVHlwZXMubm9kZV0pLmlzUmVxdWlyZWQsXG59O1xuXG5jb25zdCB0cmFuc2l0aW9uID0gJ2hlaWdodCBlYXNlLWluIDMwMG1zLCBvcGFjaXR5IGVhc2UtaW4gMzAwbXMnO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIGV4cGFuZGVyOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgaGVpZ2h0OiAwLFxuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgd2lkdGg6IDAsXG4gIH0sXG4gIGVudGVyOiB7XG4gICAgdHJhbnNpdGlvbixcbiAgICBvcGFjaXR5OiAxLFxuICAgIGhlaWdodDogJ2F1dG8nLFxuICAgIHdpZHRoOiAnYXV0bycsXG4gICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgIG1pbkhlaWdodDogJzI1cHgnLFxuICB9LFxuICBlbnRlckRvbmU6IHtcbiAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICB2aXNpYmlsaXR5OiAndmlzaWJsZScsXG4gICAgd2lkdGg6ICdhdXRvJyxcbiAgICBtaW5IZWlnaHQ6ICcyNXB4JyxcbiAgfSxcbiAgZXhpdDoge1xuICAgIHRyYW5zaXRpb24sXG4gICAgb3BhY2l0eTogMCxcbiAgICBoZWlnaHQ6IDAsXG4gICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgIHdpZHRoOiAwLFxuICB9LFxuICBleGl0RG9uZToge1xuICAgIG9wYWNpdHk6IDAsXG4gICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgaGVpZ2h0OiAwLFxuICAgIHdpZHRoOiAwLFxuICB9LFxufSkpKEV4cGFuZGVyKTtcbiJdfQ==
package/lib/index.js CHANGED
@@ -82,6 +82,13 @@ var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
82
82
  this.props.onToggle(!this.props.toggled);
83
83
  }
84
84
  }, {
85
+ key: "onTouch",
86
+ value: function onTouch(event) {
87
+ event.preventDefault(); // Prevents the default action (click event)
88
+
89
+ this.props.onToggle(!this.props.toggled);
90
+ }
91
+ }, {
85
92
  key: "UNSAFE_componentWillReceiveProps",
86
93
  value: function UNSAFE_componentWillReceiveProps(nextProps) {
87
94
  var _this$props;
@@ -117,7 +124,8 @@ var CorrectAnswerToggle = /*#__PURE__*/function (_React$Component) {
117
124
  className: classes.expander
118
125
  }, /*#__PURE__*/_react["default"].createElement("div", {
119
126
  className: classes.content,
120
- onClick: this.onClick.bind(this)
127
+ onClick: this.onClick.bind(this),
128
+ onTouchEnd: this.onTouch.bind(this)
121
129
  }, /*#__PURE__*/_react["default"].createElement("div", {
122
130
  className: classes.iconHolder
123
131
  }, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
@@ -170,4 +178,4 @@ exports.CorrectAnswerToggle = CorrectAnswerToggle;
170
178
  var _default = (0, _styles2.withStyles)(_styles["default"])(CorrectAnswerToggle);
171
179
 
172
180
  exports["default"] = _default;
173
- //# sourceMappingURL=index.js.map
181
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qc3giXSwibmFtZXMiOlsidHJhbnNsYXRvciIsIlRyYW5zbGF0b3IiLCJDb3JyZWN0QW5zd2VyVG9nZ2xlIiwicHJvcHMiLCJzdGF0ZSIsInNob3ciLCJkZWZhdWx0UHJvcHMiLCJzaG93TWVzc2FnZSIsInQiLCJsbmciLCJsYW5ndWFnZSIsImhpZGVNZXNzYWdlIiwib25Ub2dnbGUiLCJ0b2dnbGVkIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsIm5leHRQcm9wcyIsInNldFN0YXRlIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsInJvb3QiLCJleHBhbmRlciIsImNvbnRlbnQiLCJvbkNsaWNrIiwiYmluZCIsIm9uVG91Y2giLCJpY29uSG9sZGVyIiwiaWNvbiIsImxhYmVsIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJmdW5jIiwiYm9vbCIsInN0cmluZyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHlsZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBUUEsVUFBUixHQUF1QkMsc0JBQXZCLENBQVFELFVBQVI7QUFFQTtBQUNBO0FBQ0E7O0lBQ2FFLG1COzs7OztBQW1CWCwrQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBO0FBQ2pCLDhCQUFNQSxLQUFOO0FBQ0EsVUFBS0MsS0FBTCxHQUFhO0FBQ1hDLE1BQUFBLElBQUksRUFBRUYsS0FBSyxDQUFDRTtBQURELEtBQWI7QUFJQUgsSUFBQUEsbUJBQW1CLENBQUNJLFlBQXBCLG1DQUNLSixtQkFBbUIsQ0FBQ0ksWUFEekI7QUFFRUMsTUFBQUEsV0FBVyxFQUFFUCxVQUFVLENBQUNRLENBQVgsQ0FBYSwwQkFBYixFQUF5QztBQUFFQyxRQUFBQSxHQUFHLEVBQUVOLEtBQUssQ0FBQ087QUFBYixPQUF6QyxDQUZm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QUFwQztBQUFxRCxRQUFBLFNBQVMsRUFBRUssT0FBTyxDQUFDUztBQUF4RSxRQURGLENBSkYsQ0FERixlQVNFLGdDQUFDLGtCQUFEO0FBQVU7QUFBVixzQkFDRTtBQUFLLFFBQUEsU0FBUyxFQUFFVCxPQUFPLENBQUNVLEtBQXhCO0FBQStCLHVCQUFhLENBQUMsS0FBS3hCLEtBQUwsQ0FBV0M7QUFBeEQsU0FDR1EsT0FBTyxHQUFHRixXQUFILEdBQWlCSixXQUQzQixDQURGLENBVEYsQ0FERixDQURGLENBREY7QUFxQkQ7OztFQTlFc0NzQixrQkFBTUMsUzs7O2lDQUFsQzVCLG1CLGVBQ1E7QUFDakJVLEVBQUFBLFFBQVEsRUFBRW1CLHNCQUFVQyxJQURIO0FBRWpCbkIsRUFBQUEsT0FBTyxFQUFFa0Isc0JBQVVFLElBRkY7QUFHakI1QixFQUFBQSxJQUFJLEVBQUUwQixzQkFBVUUsSUFIQztBQUlqQnRCLEVBQUFBLFdBQVcsRUFBRW9CLHNCQUFVRyxNQUpOO0FBS2pCM0IsRUFBQUEsV0FBVyxFQUFFd0Isc0JBQVVHLE1BTE47QUFNakJoQixFQUFBQSxPQUFPLEVBQUVhLHNCQUFVSSxNQUFWLENBQWlCQyxVQU5UO0FBT2pCakIsRUFBQUEsU0FBUyxFQUFFWSxzQkFBVUcsTUFQSjtBQVFqQnhCLEVBQUFBLFFBQVEsRUFBRXFCLHNCQUFVRztBQVJILEM7aUNBRFJoQyxtQixrQkFZVztBQUNwQkssRUFBQUEsV0FBVyxFQUFFLHFCQURPO0FBRXBCSSxFQUFBQSxXQUFXLEVBQUUscUJBRk87QUFHcEJOLEVBQUFBLElBQUksRUFBRSxLQUhjO0FBSXBCUSxFQUFBQSxPQUFPLEVBQUU7QUFKVyxDOztlQXFFVCx5QkFBV3dCLGtCQUFYLEVBQW1CbkMsbUJBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IENTU1RyYW5zaXRpb24gZnJvbSAncmVhY3QtdHJhbnNpdGlvbi1ncm91cC9DU1NUcmFuc2l0aW9uJztcbmltcG9ydCB7IENvcnJlY3RSZXNwb25zZSB9IGZyb20gJ0BwaWUtbGliL2ljb25zJztcbmltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBFeHBhbmRlciBmcm9tICcuL2V4cGFuZGVyJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICdAcGllLWxpYi90cmFuc2xhdG9yJztcblxuY29uc3QgeyB0cmFuc2xhdG9yIH0gPSBUcmFuc2xhdG9yO1xuXG4vKipcbiAqIFdlIGV4cG9ydCB0aGUgcmF3IHVuc3R5bGVkIGNsYXNzIGZvciB0ZXN0YWJpbGl0eS4gRm9yIHB1YmxpYyB1c2UgcGxlYXNlIHVzZSB0aGUgZGVmYXVsdCBleHBvcnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb3JyZWN0QW5zd2VyVG9nZ2xlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBvblRvZ2dsZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdG9nZ2xlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2hvdzogUHJvcFR5cGVzLmJvb2wsXG4gICAgaGlkZU1lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2hvd01lc3NhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHNob3dNZXNzYWdlOiAnU2hvdyBjb3JyZWN0IGFuc3dlcicsXG4gICAgaGlkZU1lc3NhZ2U6ICdIaWRlIGNvcnJlY3QgYW5zd2VyJyxcbiAgICBzaG93OiBmYWxzZSxcbiAgICB0b2dnbGVkOiBmYWxzZSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgc2hvdzogcHJvcHMuc2hvdyxcbiAgICB9O1xuXG4gICAgQ29ycmVjdEFuc3dlclRvZ2dsZS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgICAuLi5Db3JyZWN0QW5zd2VyVG9nZ2xlLmRlZmF1bHRQcm9wcyxcbiAgICAgIHNob3dNZXNzYWdlOiB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpzaG93Q29ycmVjdEFuc3dlcicsIHsgbG5nOiBwcm9wcy5sYW5ndWFnZSB9KSxcbiAgICAgIGhpZGVNZXNzYWdlOiB0cmFuc2xhdG9yLnQoJ2NvbW1vbjpoaWRlQ29ycmVjdEFuc3dlcicsIHsgbG5nOiBwcm9wcy5sYW5ndWFnZSB9KSxcbiAgICB9O1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICB0aGlzLnByb3BzLm9uVG9nZ2xlKCF0aGlzLnByb3BzLnRvZ2dsZWQpO1xuICB9XG4gIG9uVG91Y2goZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZGVmYXVsdCBhY3Rpb24gKGNsaWNrIGV2ZW50KVxuICAgIHRoaXMucHJvcHMub25Ub2dnbGUoIXRoaXMucHJvcHMudG9nZ2xlZCk7XG4gIH1cblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNob3c6IG5leHRQcm9wcy5zaG93LFxuICAgIH0pO1xuXG4gICAgaWYgKG5leHRQcm9wcy5sYW5ndWFnZSAhPT0gdGhpcy5wcm9wcz8ubGFuZ3VhZ2UpIHtcbiAgICAgIENvcnJlY3RBbnN3ZXJUb2dnbGUuZGVmYXVsdFByb3BzID0ge1xuICAgICAgICAuLi5Db3JyZWN0QW5zd2VyVG9nZ2xlLmRlZmF1bHRQcm9wcyxcbiAgICAgICAgc2hvd01lc3NhZ2U6IHRyYW5zbGF0b3IudCgnY29tbW9uOnNob3dDb3JyZWN0QW5zd2VyJywgeyBsbmc6IG5leHRQcm9wcy5sYW5ndWFnZSB9KSxcbiAgICAgICAgaGlkZU1lc3NhZ2U6IHRyYW5zbGF0b3IudCgnY29tbW9uOmhpZGVDb3JyZWN0QW5zd2VyJywgeyBsbmc6IG5leHRQcm9wcy5sYW5ndWFnZSB9KSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NlcywgY2xhc3NOYW1lLCB0b2dnbGVkLCBoaWRlTWVzc2FnZSwgc2hvd01lc3NhZ2UgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yb290LCBjbGFzc05hbWUpfT5cbiAgICAgICAgPEV4cGFuZGVyIHNob3c9e3RoaXMuc3RhdGUuc2hvd30gY2xhc3NOYW1lPXtjbGFzc2VzLmV4cGFuZGVyfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb250ZW50fSBvbkNsaWNrPXt0aGlzLm9uQ2xpY2suYmluZCh0aGlzKX0gb25Ub3VjaEVuZD17dGhpcy5vblRvdWNoLmJpbmQodGhpcyl9PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaWNvbkhvbGRlcn0+XG4gICAgICAgICAgICAgIDxDU1NUcmFuc2l0aW9uIHRpbWVvdXQ9ezQwMH0gaW49e3RvZ2dsZWR9IGV4aXQ9eyF0b2dnbGVkfSBjbGFzc05hbWVzPXtjbGFzc2VzfT5cbiAgICAgICAgICAgICAgICA8Q29ycmVjdFJlc3BvbnNlIG9wZW49e3RvZ2dsZWR9IGtleT1cImNvcnJlY3Qtb3BlblwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5pY29ufSAvPlxuICAgICAgICAgICAgICA8L0NTU1RyYW5zaXRpb24+XG4gICAgICAgICAgICAgIDxDU1NUcmFuc2l0aW9uIHRpbWVvdXQ9ezUwMDB9IGluPXshdG9nZ2xlZH0gZXhpdD17dG9nZ2xlZH0gY2xhc3NOYW1lcz17Y2xhc3Nlc30+XG4gICAgICAgICAgICAgICAgPENvcnJlY3RSZXNwb25zZSBvcGVuPXt0b2dnbGVkfSBrZXk9XCJjb3JyZWN0LWNsb3NlZFwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5pY29ufSAvPlxuICAgICAgICAgICAgICA8L0NTU1RyYW5zaXRpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMubGFiZWx9IGFyaWEtaGlkZGVuPXshdGhpcy5zdGF0ZS5zaG93fT5cbiAgICAgICAgICAgICAgICB7dG9nZ2xlZCA/IGhpZGVNZXNzYWdlIDogc2hvd01lc3NhZ2V9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9FeHBhbmRlcj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKENvcnJlY3RBbnN3ZXJUb2dnbGUpO1xuIl19
package/lib/styles.js CHANGED
@@ -30,11 +30,9 @@ var _default = {
30
30
  minWidth: '140px',
31
31
  // eslint-disable-next-line
32
32
  fontFamily: "'Roboto', sans-serif",
33
- height: '25px',
34
- lineHeight: '25px',
33
+ alignSelf: 'center',
35
34
  verticalAlign: 'middle',
36
35
  color: "var(--correct-answer-toggle-label-color, ".concat(_renderUi.color.text(), ")"),
37
- fontSize: '15px',
38
36
  fontWeight: 'normal'
39
37
  }, noTouch),
40
38
  icon: {
@@ -43,7 +41,9 @@ var _default = {
43
41
  },
44
42
  iconHolder: {
45
43
  width: '25px',
46
- marginRight: '5px'
44
+ marginRight: '5px',
45
+ display: 'flex',
46
+ alignItems: 'center'
47
47
  },
48
48
  enter: {
49
49
  opacity: '0'
@@ -63,4 +63,4 @@ var _default = {
63
63
  exports["default"] = _default;
64
64
  var animationStyles = {};
65
65
  exports.animationStyles = animationStyles;
66
- //# sourceMappingURL=styles.js.map
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdHlsZXMuanMiXSwibmFtZXMiOlsibm9Ub3VjaCIsInJvb3QiLCJ3aWR0aCIsImN1cnNvciIsImNvbnRlbnQiLCJtYXJnaW4iLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwibGFiZWwiLCJPYmplY3QiLCJhc3NpZ24iLCJtaW5XaWR0aCIsImZvbnRGYW1pbHkiLCJhbGlnblNlbGYiLCJ2ZXJ0aWNhbEFsaWduIiwiY29sb3IiLCJ0ZXh0IiwiZm9udFdlaWdodCIsImljb24iLCJwb3NpdGlvbiIsImljb25Ib2xkZXIiLCJtYXJnaW5SaWdodCIsImFsaWduSXRlbXMiLCJlbnRlciIsIm9wYWNpdHkiLCJlbnRlckFjdGl2ZSIsInRyYW5zaXRpb24iLCJleGl0IiwiZXhpdEFjdGl2ZSIsImFuaW1hdGlvblN0eWxlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBLElBQU1BLE9BQU8sR0FBRztBQUNkLDJCQUF5QixNQURYO0FBRWQseUJBQXVCLE1BRlQ7QUFHZCx3QkFBc0IsTUFIUjtBQUlkLHNCQUFvQixNQUpOO0FBS2QscUJBQW1CLE1BTEw7QUFNZCxpQkFBZTtBQU5ELENBQWhCO2VBU2U7QUFDYkMsRUFBQUEsSUFBSSxFQUFFO0FBQ0pDLElBQUFBLEtBQUssRUFBRSxNQURIO0FBRUpDLElBQUFBLE1BQU0sRUFBRTtBQUZKLEdBRE87QUFLYkMsRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLE1BQU0sRUFBRSxRQUREO0FBRVBDLElBQUFBLFNBQVMsRUFBRSxRQUZKO0FBR1BDLElBQUFBLE9BQU8sRUFBRTtBQUhGLEdBTEk7QUFVYkMsRUFBQUEsS0FBSyxFQUFFQyxNQUFNLENBQUNDLE1BQVAsQ0FDTDtBQUNFUixJQUFBQSxLQUFLLEVBQUUsYUFEVDtBQUVFUyxJQUFBQSxRQUFRLEVBQUUsT0FGWjtBQUdFO0FBQ0FDLElBQUFBLFVBQVUsRUFBRSxzQkFKZDtBQUtFQyxJQUFBQSxTQUFTLEVBQUUsUUFMYjtBQU1FQyxJQUFBQSxhQUFhLEVBQUUsUUFOakI7QUFPRUMsSUFBQUEsS0FBSyxzREFBK0NBLGdCQUFNQyxJQUFOLEVBQS9DLE1BUFA7QUFRRUMsSUFBQUEsVUFBVSxFQUFFO0FBUmQsR0FESyxFQVdMakIsT0FYSyxDQVZNO0FBdUJia0IsRUFBQUEsSUFBSSxFQUFFO0FBQ0pDLElBQUFBLFFBQVEsRUFBRSxVQUROO0FBRUpqQixJQUFBQSxLQUFLLEVBQUU7QUFGSCxHQXZCTztBQTJCYmtCLEVBQUFBLFVBQVUsRUFBRTtBQUNWbEIsSUFBQUEsS0FBSyxFQUFFLE1BREc7QUFFVm1CLElBQUFBLFdBQVcsRUFBRSxLQUZIO0FBR1ZkLElBQUFBLE9BQU8sRUFBRSxNQUhDO0FBSVZlLElBQUFBLFVBQVUsRUFBRTtBQUpGLEdBM0JDO0FBaUNiQyxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsT0FBTyxFQUFFO0FBREosR0FqQ007QUFvQ2JDLEVBQUFBLFdBQVcsRUFBRTtBQUNYRCxJQUFBQSxPQUFPLEVBQUUsR0FERTtBQUVYRSxJQUFBQSxVQUFVLEVBQUU7QUFGRCxHQXBDQTtBQXdDYkMsRUFBQUEsSUFBSSxFQUFFO0FBQ0pILElBQUFBLE9BQU8sRUFBRTtBQURMLEdBeENPO0FBMkNiSSxFQUFBQSxVQUFVLEVBQUU7QUFDVkosSUFBQUEsT0FBTyxFQUFFLEdBREM7QUFFVkUsSUFBQUEsVUFBVSxFQUFFO0FBRkY7QUEzQ0MsQzs7QUFpRFIsSUFBTUcsZUFBZSxHQUFHLEVBQXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuXG5jb25zdCBub1RvdWNoID0ge1xuICAnLXdlYmtpdC10b3VjaENjYWxsb3V0JzogJ25vbmUnLFxuICAnLXdlYmtpdC11c2VyLXNlbGVjdCc6ICdub25lJyxcbiAgJy1raHRtbC11c2VyLXNlbGVjdCc6ICdub25lJyxcbiAgJy1tb3otdXNlci1zZWxlY3QnOiAnbm9uZScsXG4gICctbXMtdXNlci1zZWxlY3QnOiAnbm9uZScsXG4gICd1c2VyLXNlbGVjdCc6ICdub25lJyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgcm9vdDoge1xuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gIH0sXG4gIGNvbnRlbnQ6IHtcbiAgICBtYXJnaW46ICcwIGF1dG8nLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICB9LFxuICBsYWJlbDogT2JqZWN0LmFzc2lnbihcbiAgICB7XG4gICAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICAgIG1pbldpZHRoOiAnMTQwcHgnLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICBmb250RmFtaWx5OiBcIidSb2JvdG8nLCBzYW5zLXNlcmlmXCIsXG4gICAgICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICAgICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgICBjb2xvcjogYHZhcigtLWNvcnJlY3QtYW5zd2VyLXRvZ2dsZS1sYWJlbC1jb2xvciwgICR7Y29sb3IudGV4dCgpfSlgLFxuICAgICAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gICAgfSxcbiAgICBub1RvdWNoLFxuICApLFxuICBpY29uOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgd2lkdGg6ICcyNXB4JyxcbiAgfSxcbiAgaWNvbkhvbGRlcjoge1xuICAgIHdpZHRoOiAnMjVweCcsXG4gICAgbWFyZ2luUmlnaHQ6ICc1cHgnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgZW50ZXI6IHtcbiAgICBvcGFjaXR5OiAnMCcsXG4gIH0sXG4gIGVudGVyQWN0aXZlOiB7XG4gICAgb3BhY2l0eTogJzEnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDAuM3MgZWFzZS1pbicsXG4gIH0sXG4gIGV4aXQ6IHtcbiAgICBvcGFjaXR5OiAnMScsXG4gIH0sXG4gIGV4aXRBY3RpdmU6IHtcbiAgICBvcGFjaXR5OiAnMCcsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMC4zcyBlYXNlLWluJyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBhbmltYXRpb25TdHlsZXMgPSB7fTtcbiJdfQ==
package/package.json CHANGED
@@ -11,15 +11,15 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
- "version": "2.5.12",
14
+ "version": "2.7.0-beta.0",
15
15
  "main": "lib/index.js",
16
16
  "module": "src/index.jsx",
17
17
  "scripts": {},
18
18
  "dependencies": {
19
19
  "@material-ui/core": "^3.8.3",
20
- "@pie-lib/icons": "^2.4.43",
21
- "@pie-lib/render-ui": "^4.15.9",
22
- "@pie-lib/translator": "^2.3.1",
20
+ "@pie-lib/icons": "^2.6.0-beta.0",
21
+ "@pie-lib/render-ui": "^4.17.0-beta.0",
22
+ "@pie-lib/translator": "^2.5.0-beta.0",
23
23
  "classnames": "^2.2.6",
24
24
  "lodash": "^4.17.11",
25
25
  "prop-types": "^15.6.2",
@@ -33,5 +33,5 @@
33
33
  "react": "^16.8.1",
34
34
  "react-dom": "^16.8.1"
35
35
  },
36
- "gitHead": "a84fb39e2f9e192f996390267dd8edf711b5214e"
36
+ "gitHead": "3818c24530f62b5bb9be7a2c6aa5428f13a17e0a"
37
37
  }
@@ -0,0 +1,99 @@
1
+ import { mount, shallow, configure } from 'enzyme';
2
+
3
+ import Expander from '../expander';
4
+ import React from 'react';
5
+ import { CorrectAnswerToggle } from '../index';
6
+ import Adapter from 'enzyme-adapter-react-16';
7
+
8
+ configure({ adapter: new Adapter() });
9
+
10
+ describe('CorrectAnswerToggle', () => {
11
+ let onToggle;
12
+ let wrapper;
13
+ let sheet;
14
+
15
+ let mkWrapper = (toggled, msgs) => {
16
+ toggled = toggled === false ? false : true;
17
+ msgs = msgs || {};
18
+ return shallow(
19
+ <CorrectAnswerToggle
20
+ toggled={toggled}
21
+ classes={{
22
+ root: 'root',
23
+ label: 'label',
24
+ }}
25
+ onToggle={onToggle}
26
+ hideMessage={msgs.hide}
27
+ showMessage={msgs.show}
28
+ sheet={sheet}
29
+ />,
30
+ {
31
+ context: {},
32
+ },
33
+ );
34
+ };
35
+
36
+ beforeEach(() => {
37
+ let iconStub = {};
38
+
39
+ sheet = {
40
+ classes: {
41
+ root: 'root',
42
+ label: 'label',
43
+ },
44
+ };
45
+ onToggle = jest.fn();
46
+ wrapper = mkWrapper();
47
+ });
48
+
49
+ describe('render', () => {
50
+ it('has the hide message', () => {
51
+ let holder = wrapper.find('.label');
52
+ expect(holder.text()).toEqual('Hide correct answer');
53
+ });
54
+
55
+ it('has show message when toggled is false', () => {
56
+ const w = mkWrapper(false);
57
+ let holder = w.find(`.label`);
58
+ expect(holder.text()).toEqual('Show correct answer');
59
+ });
60
+
61
+ it('sets a custom hide message', () => {
62
+ wrapper = mkWrapper(true, { hide: 'hide!' });
63
+ let holder = wrapper.find('.label');
64
+ expect(holder.text()).toEqual('hide!');
65
+ });
66
+
67
+ it('sets a custom show message', () => {
68
+ wrapper = mkWrapper(false, { show: 'show!' });
69
+ let holder = wrapper.find('.label');
70
+ expect(holder.text()).toEqual('show!');
71
+ });
72
+ });
73
+
74
+ describe('onClick', () => {
75
+ it('calls onToggle', () => {
76
+ wrapper
77
+ .find(Expander)
78
+ .childAt(0)
79
+ .simulate('click');
80
+ expect(onToggle.mock.calls[0][0]).toEqual(false);
81
+ });
82
+
83
+ it('calls onToggle with update state', () => {
84
+ onToggle.mockReset();
85
+ wrapper
86
+ .find(Expander)
87
+ .childAt(0)
88
+ .simulate('click');
89
+ expect(onToggle.mock.calls[0][0]).toEqual(false);
90
+ //simulate updating the toggled prop
91
+ wrapper.setProps({ toggled: false });
92
+ wrapper
93
+ .find(Expander)
94
+ .childAt(0)
95
+ .simulate('click');
96
+ expect(onToggle.mock.calls[1][0]).toEqual(true);
97
+ });
98
+ });
99
+ });
package/src/expander.jsx CHANGED
@@ -34,14 +34,16 @@ export default withStyles(() => ({
34
34
  enter: {
35
35
  transition,
36
36
  opacity: 1,
37
- height: '25px',
37
+ height: 'auto',
38
38
  width: 'auto',
39
39
  visibility: 'visible',
40
+ minHeight: '25px',
40
41
  },
41
42
  enterDone: {
42
- height: '25px',
43
+ height: 'auto',
43
44
  visibility: 'visible',
44
45
  width: 'auto',
46
+ minHeight: '25px',
45
47
  },
46
48
  exit: {
47
49
  transition,
package/src/index.jsx CHANGED
@@ -49,6 +49,10 @@ export class CorrectAnswerToggle extends React.Component {
49
49
  onClick() {
50
50
  this.props.onToggle(!this.props.toggled);
51
51
  }
52
+ onTouch(event) {
53
+ event.preventDefault(); // Prevents the default action (click event)
54
+ this.props.onToggle(!this.props.toggled);
55
+ }
52
56
 
53
57
  UNSAFE_componentWillReceiveProps(nextProps) {
54
58
  this.setState({
@@ -70,7 +74,7 @@ export class CorrectAnswerToggle extends React.Component {
70
74
  return (
71
75
  <div className={classNames(classes.root, className)}>
72
76
  <Expander show={this.state.show} className={classes.expander}>
73
- <div className={classes.content} onClick={this.onClick.bind(this)}>
77
+ <div className={classes.content} onClick={this.onClick.bind(this)} onTouchEnd={this.onTouch.bind(this)}>
74
78
  <div className={classes.iconHolder}>
75
79
  <CSSTransition timeout={400} in={toggled} exit={!toggled} classNames={classes}>
76
80
  <CorrectResponse open={toggled} key="correct-open" className={classes.icon} />
package/src/styles.js CHANGED
@@ -25,11 +25,9 @@ export default {
25
25
  minWidth: '140px',
26
26
  // eslint-disable-next-line
27
27
  fontFamily: "'Roboto', sans-serif",
28
- height: '25px',
29
- lineHeight: '25px',
28
+ alignSelf: 'center',
30
29
  verticalAlign: 'middle',
31
30
  color: `var(--correct-answer-toggle-label-color, ${color.text()})`,
32
- fontSize: '15px',
33
31
  fontWeight: 'normal',
34
32
  },
35
33
  noTouch,
@@ -41,6 +39,8 @@ export default {
41
39
  iconHolder: {
42
40
  width: '25px',
43
41
  marginRight: '5px',
42
+ display: 'flex',
43
+ alignItems: 'center',
44
44
  },
45
45
  enter: {
46
46
  opacity: '0',
package/README.md DELETED
@@ -1,64 +0,0 @@
1
- # corespring-correct-answer-toggle
2
-
3
- [![Build Status](https://travis-ci.org/PieLabs/corespring-correct-answer-toggle.svg?branch=develop)](https://travis-ci.org/PieLabs/corespring-correct-answer-toggle)
4
-
5
- A toggle with an icon and a label.
6
-
7
- ![Preview](preview.png)
8
-
9
- # Usage
10
-
11
- You need to include this in another library that builds react aka (babel).
12
-
13
- ## Webpack
14
-
15
- We assume that you have a loader that will load in `.less`. In the demo we use `style-loader!css-loader!less-loader`.
16
-
17
- ## Install
18
-
19
- ```shell
20
- npm install
21
- ```
22
- ## Test
23
-
24
- ```
25
- npm test
26
- ```
27
-
28
- ## Demo
29
-
30
- ```shell
31
- cd demo
32
- ../node_modules/.bin/webpack-dev-server --hot --inline
33
- # go to http://localhost:8080
34
- ```
35
-
36
- ### Usage
37
- ```javascript
38
-
39
- import Toggle from 'corespring-correct-answer-toggle';
40
-
41
- function onToggle(toggled){
42
- console.log('on toggle: ', toggled);
43
- }
44
-
45
- const MyComp = (props) => {
46
- return <div>
47
- <Toggle
48
- show={props.show}
49
- onToggle={onToggle}
50
- initialValue={false}/>
51
- </div>;
52
- }
53
- ```
54
-
55
- ## Release
56
-
57
- ```shell
58
- gulp release
59
- git checkout master
60
- npm publish
61
- ```
62
-
63
-
64
-
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/expander.jsx"],"names":["Expander","props","classes","show","children","expander","propTypes","PropTypes","bool","isRequired","className","string","object","oneOfType","arrayOf","node","transition","position","height","overflow","display","visibility","width","enter","opacity","enterDone","exit","exitDone"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;AAC1B,MAAQC,OAAR,GAAoCD,KAApC,CAAQC,OAAR;AAAA,MAAiBC,IAAjB,GAAoCF,KAApC,CAAiBE,IAAjB;AAAA,MAAuBC,QAAvB,GAAoCH,KAApC,CAAuBG,QAAvB;AAEA,sBACE,gCAAC,mCAAD;AAAe,UAAID,IAAnB;AAAyB,IAAA,MAAM,EAAE,IAAjC;AAAuC,IAAA,YAAY,EAAE,KAArD;AAA4D,IAAA,OAAO,EAAE,GAArE;AAA0E,IAAA,UAAU,oBAAOD,OAAP;AAApF,kBACE;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACG;AAAxB,KAAmCD,QAAnC,CADF,CADF;AAKD,CARD;;AAUAJ,QAAQ,CAACM,SAAT,GAAqB;AACnBH,EAAAA,IAAI,EAAEI,sBAAUC,IAAV,CAAeC,UADF;AAEnBC,EAAAA,SAAS,EAAEH,sBAAUI,MAFF;AAGnBT,EAAAA,OAAO,EAAEK,sBAAUK,MAHA;AAInBR,EAAAA,QAAQ,EAAEG,sBAAUM,SAAV,CAAoB,CAACN,sBAAUO,OAAV,CAAkBP,sBAAUQ,IAA5B,CAAD,EAAoCR,sBAAUQ,IAA9C,CAApB,EAAyEN;AAJhE,CAArB;AAOA,IAAMO,UAAU,GAAG,6CAAnB;;eAEe,wBAAW;AAAA,SAAO;AAC/BX,IAAAA,QAAQ,EAAE;AACRY,MAAAA,QAAQ,EAAE,UADF;AAERC,MAAAA,MAAM,EAAE,CAFA;AAGRC,MAAAA,QAAQ,EAAE,QAHF;AAIRC,MAAAA,OAAO,EAAE,MAJD;AAKRC,MAAAA,UAAU,EAAE,QALJ;AAMRC,MAAAA,KAAK,EAAE;AANC,KADqB;AAS/BC,IAAAA,KAAK,EAAE;AACLP,MAAAA,UAAU,EAAVA,UADK;AAELQ,MAAAA,OAAO,EAAE,CAFJ;AAGLN,MAAAA,MAAM,EAAE,MAHH;AAILI,MAAAA,KAAK,EAAE,MAJF;AAKLD,MAAAA,UAAU,EAAE;AALP,KATwB;AAgB/BI,IAAAA,SAAS,EAAE;AACTP,MAAAA,MAAM,EAAE,MADC;AAETG,MAAAA,UAAU,EAAE,SAFH;AAGTC,MAAAA,KAAK,EAAE;AAHE,KAhBoB;AAqB/BI,IAAAA,IAAI,EAAE;AACJV,MAAAA,UAAU,EAAVA,UADI;AAEJQ,MAAAA,OAAO,EAAE,CAFL;AAGJN,MAAAA,MAAM,EAAE,CAHJ;AAIJG,MAAAA,UAAU,EAAE,SAJR;AAKJC,MAAAA,KAAK,EAAE;AALH,KArByB;AA4B/BK,IAAAA,QAAQ,EAAE;AACRH,MAAAA,OAAO,EAAE,CADD;AAERH,MAAAA,UAAU,EAAE,QAFJ;AAGRH,MAAAA,MAAM,EAAE,CAHA;AAIRI,MAAAA,KAAK,EAAE;AAJC;AA5BqB,GAAP;AAAA,CAAX,EAkCXtB,QAlCW,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { CSSTransition } from 'react-transition-group';\n\nconst Expander = (props) => {\n const { classes, show, children } = props;\n\n return (\n <CSSTransition in={show} appear={true} mountOnEnter={false} timeout={300} classNames={{ ...classes }}>\n <div className={classes.expander}>{children}</div>\n </CSSTransition>\n );\n};\n\nExpander.propTypes = {\n show: PropTypes.bool.isRequired,\n className: PropTypes.string,\n classes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n\nconst transition = 'height ease-in 300ms, opacity ease-in 300ms';\n\nexport default withStyles(() => ({\n expander: {\n position: 'relative',\n height: 0,\n overflow: 'hidden',\n display: 'flex',\n visibility: 'hidden',\n width: 0,\n },\n enter: {\n transition,\n opacity: 1,\n height: '25px',\n width: 'auto',\n visibility: 'visible',\n },\n enterDone: {\n height: '25px',\n visibility: 'visible',\n width: 'auto',\n },\n exit: {\n transition,\n opacity: 0,\n height: 0,\n visibility: 'visible',\n width: 0,\n },\n exitDone: {\n opacity: 0,\n visibility: 'hidden',\n height: 0,\n width: 0,\n },\n}))(Expander);\n"],"file":"expander.js"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.jsx"],"names":["translator","Translator","CorrectAnswerToggle","props","state","show","defaultProps","showMessage","t","lng","language","hideMessage","onToggle","toggled","nextProps","setState","classes","className","root","expander","content","onClick","bind","iconHolder","icon","label","React","Component","PropTypes","func","bool","string","object","isRequired","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,UAAR,GAAuBC,sBAAvB,CAAQD,UAAR;AAEA;AACA;AACA;;IACaE,mB;;;;;AAmBX,+BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,IAAI,EAAEF,KAAK,CAACE;AADD,KAAb;AAIAH,IAAAA,mBAAmB,CAACI,YAApB,mCACKJ,mBAAmB,CAACI,YADzB;AAEEC,MAAAA,WAAW,EAAEP,UAAU,CAACQ,CAAX,CAAa,0BAAb,EAAyC;AAAEC,QAAAA,GAAG,EAAEN,KAAK,CAACO;AAAb,OAAzC,CAFf;AAGEC,MAAAA,WAAW,EAAEX,UAAU,CAACQ,CAAX,CAAa,0BAAb,EAAyC;AAAEC,QAAAA,GAAG,EAAEN,KAAK,CAACO;AAAb,OAAzC;AAHf;AANiB;AAWlB;;;;WAED,mBAAU;AACR,WAAKP,KAAL,CAAWS,QAAX,CAAoB,CAAC,KAAKT,KAAL,CAAWU,OAAhC;AACD;;;WAED,0CAAiCC,SAAjC,EAA4C;AAAA;;AAC1C,WAAKC,QAAL,CAAc;AACZV,QAAAA,IAAI,EAAES,SAAS,CAACT;AADJ,OAAd;;AAIA,UAAIS,SAAS,CAACJ,QAAV,qBAAuB,KAAKP,KAA5B,gDAAuB,YAAYO,QAAnC,CAAJ,EAAiD;AAC/CR,QAAAA,mBAAmB,CAACI,YAApB,mCACKJ,mBAAmB,CAACI,YADzB;AAEEC,UAAAA,WAAW,EAAEP,UAAU,CAACQ,CAAX,CAAa,0BAAb,EAAyC;AAAEC,YAAAA,GAAG,EAAEK,SAAS,CAACJ;AAAjB,WAAzC,CAFf;AAGEC,UAAAA,WAAW,EAAEX,UAAU,CAACQ,CAAX,CAAa,0BAAb,EAAyC;AAAEC,YAAAA,GAAG,EAAEK,SAAS,CAACJ;AAAjB,WAAzC;AAHf;AAKD;AACF;;;WAED,kBAAS;AACP,yBAAkE,KAAKP,KAAvE;AAAA,UAAQa,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,SAAjB,gBAAiBA,SAAjB;AAAA,UAA4BJ,OAA5B,gBAA4BA,OAA5B;AAAA,UAAqCF,WAArC,gBAAqCA,WAArC;AAAA,UAAkDJ,WAAlD,gBAAkDA,WAAlD;AAEA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWS,OAAO,CAACE,IAAnB,EAAyBD,SAAzB;AAAhB,sBACE,gCAAC,oBAAD;AAAU,QAAA,IAAI,EAAE,KAAKb,KAAL,CAAWC,IAA3B;AAAiC,QAAA,SAAS,EAAEW,OAAO,CAACG;AAApD,sBACE;AAAK,QAAA,SAAS,EAAEH,OAAO,CAACI,OAAxB;AAAiC,QAAA,OAAO,EAAE,KAAKC,OAAL,CAAaC,IAAb,CAAkB,IAAlB;AAA1C,sBACE;AAAK,QAAA,SAAS,EAAEN,OAAO,CAACO;AAAxB,sBACE,gCAAC,yBAAD;AAAe,QAAA,OAAO,EAAE,GAAxB;AAA6B,cAAIV,OAAjC;AAA0C,QAAA,IAAI,EAAE,CAACA,OAAjD;AAA0D,QAAA,UAAU,EAAEG;AAAtE,sBACE,gCAAC,sBAAD;AAAiB,QAAA,IAAI,EAAEH,OAAvB;AAAgC,QAAA,GAAG,EAAC,cAApC;AAAmD,QAAA,SAAS,EAAEG,OAAO,CAACQ;AAAtE,QADF,CADF,eAIE,gCAAC,yBAAD;AAAe,QAAA,OAAO,EAAE,IAAxB;AAA8B,cAAI,CAACX,OAAnC;AAA4C,QAAA,IAAI,EAAEA,OAAlD;AAA2D,QAAA,UAAU,EAAEG;AAAvE,sBACE,gCAAC,sBAAD;AAAiB,QAAA,IAAI,EAAEH,OAAvB;AAAgC,QAAA,GAAG,EAAC,gBAApC;AAAqD,QAAA,SAAS,EAAEG,OAAO,CAACQ;AAAxE,QADF,CAJF,CADF,eASE,gCAAC,kBAAD;AAAU;AAAV,sBACE;AAAK,QAAA,SAAS,EAAER,OAAO,CAACS,KAAxB;AAA+B,uBAAa,CAAC,KAAKrB,KAAL,CAAWC;AAAxD,SACGQ,OAAO,GAAGF,WAAH,GAAiBJ,WAD3B,CADF,CATF,CADF,CADF,CADF;AAqBD;;;EA1EsCmB,kBAAMC,S;;;iCAAlCzB,mB,eACQ;AACjBU,EAAAA,QAAQ,EAAEgB,sBAAUC,IADH;AAEjBhB,EAAAA,OAAO,EAAEe,sBAAUE,IAFF;AAGjBzB,EAAAA,IAAI,EAAEuB,sBAAUE,IAHC;AAIjBnB,EAAAA,WAAW,EAAEiB,sBAAUG,MAJN;AAKjBxB,EAAAA,WAAW,EAAEqB,sBAAUG,MALN;AAMjBf,EAAAA,OAAO,EAAEY,sBAAUI,MAAV,CAAiBC,UANT;AAOjBhB,EAAAA,SAAS,EAAEW,sBAAUG,MAPJ;AAQjBrB,EAAAA,QAAQ,EAAEkB,sBAAUG;AARH,C;iCADR7B,mB,kBAYW;AACpBK,EAAAA,WAAW,EAAE,qBADO;AAEpBI,EAAAA,WAAW,EAAE,qBAFO;AAGpBN,EAAAA,IAAI,EAAE,KAHc;AAIpBQ,EAAAA,OAAO,EAAE;AAJW,C;;eAiET,yBAAWqB,kBAAX,EAAmBhC,mBAAnB,C","sourcesContent":["import styles from './styles';\nimport { withStyles } from '@material-ui/core/styles';\nimport CSSTransition from 'react-transition-group/CSSTransition';\nimport { CorrectResponse } from '@pie-lib/icons';\nimport { Readable } from '@pie-lib/render-ui';\nimport Expander from './expander';\nimport React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\n/**\n * We export the raw unstyled class for testability. For public use please use the default export.\n */\nexport class CorrectAnswerToggle extends React.Component {\n static propTypes = {\n onToggle: PropTypes.func,\n toggled: PropTypes.bool,\n show: PropTypes.bool,\n hideMessage: PropTypes.string,\n showMessage: PropTypes.string,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n showMessage: 'Show correct answer',\n hideMessage: 'Hide correct answer',\n show: false,\n toggled: false,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n show: props.show,\n };\n\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: props.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: props.language }),\n };\n }\n\n onClick() {\n this.props.onToggle(!this.props.toggled);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n show: nextProps.show,\n });\n\n if (nextProps.language !== this.props?.language) {\n CorrectAnswerToggle.defaultProps = {\n ...CorrectAnswerToggle.defaultProps,\n showMessage: translator.t('common:showCorrectAnswer', { lng: nextProps.language }),\n hideMessage: translator.t('common:hideCorrectAnswer', { lng: nextProps.language }),\n };\n }\n }\n\n render() {\n const { classes, className, toggled, hideMessage, showMessage } = this.props;\n\n return (\n <div className={classNames(classes.root, className)}>\n <Expander show={this.state.show} className={classes.expander}>\n <div className={classes.content} onClick={this.onClick.bind(this)}>\n <div className={classes.iconHolder}>\n <CSSTransition timeout={400} in={toggled} exit={!toggled} classNames={classes}>\n <CorrectResponse open={toggled} key=\"correct-open\" className={classes.icon} />\n </CSSTransition>\n <CSSTransition timeout={5000} in={!toggled} exit={toggled} classNames={classes}>\n <CorrectResponse open={toggled} key=\"correct-closed\" className={classes.icon} />\n </CSSTransition>\n </div>\n <Readable false>\n <div className={classes.label} aria-hidden={!this.state.show}>\n {toggled ? hideMessage : showMessage}\n </div>\n </Readable>\n </div>\n </Expander>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectAnswerToggle);\n"],"file":"index.js"}
package/lib/styles.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/styles.js"],"names":["noTouch","root","width","cursor","content","margin","textAlign","display","label","Object","assign","minWidth","fontFamily","height","lineHeight","verticalAlign","color","text","fontSize","fontWeight","icon","position","iconHolder","marginRight","enter","opacity","enterActive","transition","exit","exitActive","animationStyles"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,OAAO,GAAG;AACd,2BAAyB,MADX;AAEd,yBAAuB,MAFT;AAGd,wBAAsB,MAHR;AAId,sBAAoB,MAJN;AAKd,qBAAmB,MALL;AAMd,iBAAe;AAND,CAAhB;eASe;AACbC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE,MADH;AAEJC,IAAAA,MAAM,EAAE;AAFJ,GADO;AAKbC,EAAAA,OAAO,EAAE;AACPC,IAAAA,MAAM,EAAE,QADD;AAEPC,IAAAA,SAAS,EAAE,QAFJ;AAGPC,IAAAA,OAAO,EAAE;AAHF,GALI;AAUbC,EAAAA,KAAK,EAAEC,MAAM,CAACC,MAAP,CACL;AACER,IAAAA,KAAK,EAAE,aADT;AAEES,IAAAA,QAAQ,EAAE,OAFZ;AAGE;AACAC,IAAAA,UAAU,EAAE,sBAJd;AAKEC,IAAAA,MAAM,EAAE,MALV;AAMEC,IAAAA,UAAU,EAAE,MANd;AAOEC,IAAAA,aAAa,EAAE,QAPjB;AAQEC,IAAAA,KAAK,sDAA+CA,gBAAMC,IAAN,EAA/C,MARP;AASEC,IAAAA,QAAQ,EAAE,MATZ;AAUEC,IAAAA,UAAU,EAAE;AAVd,GADK,EAaLnB,OAbK,CAVM;AAyBboB,EAAAA,IAAI,EAAE;AACJC,IAAAA,QAAQ,EAAE,UADN;AAEJnB,IAAAA,KAAK,EAAE;AAFH,GAzBO;AA6BboB,EAAAA,UAAU,EAAE;AACVpB,IAAAA,KAAK,EAAE,MADG;AAEVqB,IAAAA,WAAW,EAAE;AAFH,GA7BC;AAiCbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE;AADJ,GAjCM;AAoCbC,EAAAA,WAAW,EAAE;AACXD,IAAAA,OAAO,EAAE,GADE;AAEXE,IAAAA,UAAU,EAAE;AAFD,GApCA;AAwCbC,EAAAA,IAAI,EAAE;AACJH,IAAAA,OAAO,EAAE;AADL,GAxCO;AA2CbI,EAAAA,UAAU,EAAE;AACVJ,IAAAA,OAAO,EAAE,GADC;AAEVE,IAAAA,UAAU,EAAE;AAFF;AA3CC,C;;AAiDR,IAAMG,eAAe,GAAG,EAAxB","sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nconst noTouch = {\n '-webkit-touchCcallout': 'none',\n '-webkit-user-select': 'none',\n '-khtml-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n 'user-select': 'none',\n};\n\nexport default {\n root: {\n width: '100%',\n cursor: 'pointer',\n },\n content: {\n margin: '0 auto',\n textAlign: 'center',\n display: 'flex',\n },\n label: Object.assign(\n {\n width: 'fit-content',\n minWidth: '140px',\n // eslint-disable-next-line\n fontFamily: \"'Roboto', sans-serif\",\n height: '25px',\n lineHeight: '25px',\n verticalAlign: 'middle',\n color: `var(--correct-answer-toggle-label-color, ${color.text()})`,\n fontSize: '15px',\n fontWeight: 'normal',\n },\n noTouch,\n ),\n icon: {\n position: 'absolute',\n width: '25px',\n },\n iconHolder: {\n width: '25px',\n marginRight: '5px',\n },\n enter: {\n opacity: '0',\n },\n enterActive: {\n opacity: '1',\n transition: 'opacity 0.3s ease-in',\n },\n exit: {\n opacity: '1',\n },\n exitActive: {\n opacity: '0',\n transition: 'opacity 0.3s ease-in',\n },\n};\n\nexport const animationStyles = {};\n"],"file":"styles.js"}
package/preview.png DELETED
Binary file