@coorpacademy/components 10.19.1 → 10.19.4

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.
Files changed (110) hide show
  1. package/es/atom/button-link-icon-only/test/button-link-icon-only.js +18 -23
  2. package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
  3. package/es/atom/checkbox/index.js +25 -41
  4. package/es/atom/checkbox/index.js.map +1 -1
  5. package/es/atom/checkbox/test/fixtures/default.js +2 -1
  6. package/es/atom/checkbox/test/fixtures/default.js.map +1 -1
  7. package/es/atom/checkbox/test/on-change.js +25 -22
  8. package/es/atom/checkbox/test/on-change.js.map +1 -1
  9. package/es/atom/clue/index.js +2 -1
  10. package/es/atom/clue/index.js.map +1 -1
  11. package/es/atom/clue/test/see-clue.js +83 -58
  12. package/es/atom/clue/test/see-clue.js.map +1 -1
  13. package/es/atom/lottie-wrapper/index.js +1 -1
  14. package/es/atom/lottie-wrapper/index.js.map +1 -1
  15. package/es/atom/review-background/style.css +1 -1
  16. package/es/atom/review-header-step-item/index.js +7 -3
  17. package/es/atom/review-header-step-item/index.js.map +1 -1
  18. package/es/atom/review-header-step-item/style.css +7 -10
  19. package/es/atom/review-presentation/index.js +10 -2
  20. package/es/atom/review-presentation/index.js.map +1 -1
  21. package/es/molecule/dashboard/cards-list/index.js +3 -7
  22. package/es/molecule/dashboard/cards-list/index.js.map +1 -1
  23. package/es/molecule/review-correction-popin/index.js +5 -2
  24. package/es/molecule/review-correction-popin/index.js.map +1 -1
  25. package/es/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  26. package/es/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  27. package/es/molecule/review-header-steps/index.js +3 -3
  28. package/es/molecule/review-header-steps/index.js.map +1 -1
  29. package/es/organism/review-congrats/index.js +1 -1
  30. package/es/organism/review-congrats/index.js.map +1 -1
  31. package/es/organism/review-congrats/style.css +0 -1
  32. package/es/organism/review-header/index.js +3 -3
  33. package/es/organism/review-header/index.js.map +1 -1
  34. package/es/organism/review-header/style.css +1 -1
  35. package/es/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  36. package/es/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  37. package/es/template/slides-review/index.js +421 -0
  38. package/es/template/slides-review/index.js.map +1 -0
  39. package/es/template/slides-review/style.css +373 -0
  40. package/es/template/slides-review/test/fixtures/failure.js +37 -0
  41. package/es/template/slides-review/test/fixtures/failure.js.map +1 -0
  42. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js +29 -0
  43. package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  44. package/es/template/slides-review/test/fixtures/random-responses.js +34 -0
  45. package/es/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  46. package/es/template/slides-review/test/fixtures/success.js +54 -0
  47. package/es/template/slides-review/test/fixtures/success.js.map +1 -0
  48. package/es/template/slides-review/test/fixtures.js +19 -0
  49. package/es/template/slides-review/test/fixtures.js.map +1 -0
  50. package/es/template/slides-review/test/slides-review.js +147 -0
  51. package/es/template/slides-review/test/slides-review.js.map +1 -0
  52. package/es/util/render-with-context.js +35 -0
  53. package/es/util/render-with-context.js.map +1 -0
  54. package/es/util/test/render-with-context.js +91 -0
  55. package/es/util/test/render-with-context.js.map +1 -0
  56. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js +20 -24
  57. package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
  58. package/lib/atom/checkbox/index.js +29 -41
  59. package/lib/atom/checkbox/index.js.map +1 -1
  60. package/lib/atom/checkbox/test/fixtures/default.js +2 -1
  61. package/lib/atom/checkbox/test/fixtures/default.js.map +1 -1
  62. package/lib/atom/checkbox/test/on-change.js +29 -23
  63. package/lib/atom/checkbox/test/on-change.js.map +1 -1
  64. package/lib/atom/clue/index.js +2 -1
  65. package/lib/atom/clue/index.js.map +1 -1
  66. package/lib/atom/clue/test/see-clue.js +88 -59
  67. package/lib/atom/clue/test/see-clue.js.map +1 -1
  68. package/lib/atom/lottie-wrapper/index.js +1 -1
  69. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  70. package/lib/atom/review-background/style.css +1 -1
  71. package/lib/atom/review-header-step-item/index.js +10 -4
  72. package/lib/atom/review-header-step-item/index.js.map +1 -1
  73. package/lib/atom/review-header-step-item/style.css +7 -10
  74. package/lib/atom/review-presentation/index.js +10 -2
  75. package/lib/atom/review-presentation/index.js.map +1 -1
  76. package/lib/molecule/dashboard/cards-list/index.js +3 -7
  77. package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
  78. package/lib/molecule/review-correction-popin/index.js +5 -2
  79. package/lib/molecule/review-correction-popin/index.js.map +1 -1
  80. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
  81. package/lib/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
  82. package/lib/molecule/review-header-steps/index.js +3 -3
  83. package/lib/molecule/review-header-steps/index.js.map +1 -1
  84. package/lib/organism/review-congrats/index.js +1 -1
  85. package/lib/organism/review-congrats/index.js.map +1 -1
  86. package/lib/organism/review-congrats/style.css +0 -1
  87. package/lib/organism/review-header/index.js.map +1 -1
  88. package/lib/organism/review-header/style.css +1 -1
  89. package/lib/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
  90. package/lib/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
  91. package/lib/template/slides-review/index.js +447 -0
  92. package/lib/template/slides-review/index.js.map +1 -0
  93. package/lib/template/slides-review/style.css +373 -0
  94. package/lib/template/slides-review/test/fixtures/failure.js +50 -0
  95. package/lib/template/slides-review/test/fixtures/failure.js.map +1 -0
  96. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js +39 -0
  97. package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
  98. package/lib/template/slides-review/test/fixtures/random-responses.js +45 -0
  99. package/lib/template/slides-review/test/fixtures/random-responses.js.map +1 -0
  100. package/lib/template/slides-review/test/fixtures/success.js +67 -0
  101. package/lib/template/slides-review/test/fixtures/success.js.map +1 -0
  102. package/lib/template/slides-review/test/fixtures.js +31 -0
  103. package/lib/template/slides-review/test/fixtures.js.map +1 -0
  104. package/lib/template/slides-review/test/slides-review.js +163 -0
  105. package/lib/template/slides-review/test/slides-review.js.map +1 -0
  106. package/lib/util/render-with-context.js +49 -0
  107. package/lib/util/render-with-context.js.map +1 -0
  108. package/lib/util/test/render-with-context.js +103 -0
  109. package/lib/util/test/render-with-context.js.map +1 -0
  110. package/package.json +2 -2
@@ -1,40 +1,35 @@
1
- import _identity from "lodash/fp/identity";
2
-
3
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
2
 
5
3
  import browserEnv from 'browser-env';
6
4
  import test from 'ava';
7
5
  import React from 'react';
8
- import { shallow, configure } from 'enzyme';
9
- import Adapter from 'enzyme-adapter-react-16';
6
+ import { render, fireEvent } from '@testing-library/react';
10
7
  import ButtonLinkIconOnly from '..';
11
8
  import defaultFixture from './fixtures/button-icon-bullet';
12
9
  browserEnv();
13
- configure({
14
- adapter: new Adapter()
15
- });
16
- const translate = _identity;
17
10
  test('should launch onClick on click event for ButtonLinkIconOnly', t => {
18
- const wrapper = shallow( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, defaultFixture.props), {
19
- context: {
20
- translate
21
- }
11
+ t.plan(3);
12
+
13
+ const props = _extends(_extends({}, defaultFixture.props), {}, {
14
+ onClick: () => t.pass()
22
15
  });
23
- const button = wrapper.find('[data-name="bullet-button"]');
24
- t.true(button.exists());
25
- button.first().simulate('click', {});
16
+
17
+ const {
18
+ container
19
+ } = render( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, props));
20
+ const bulletButton = container.querySelector('[data-name="bullet-button"]');
21
+ t.truthy(bulletButton);
22
+ fireEvent.click(bulletButton);
26
23
  t.pass();
27
24
  });
28
25
  test('should mount ButtonLinkIconOnly even if the className does not exist', t => {
29
- const wrapper = shallow( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, _extends({}, defaultFixture.props, {
26
+ const {
27
+ container
28
+ } = render( /*#__PURE__*/React.createElement(ButtonLinkIconOnly, _extends({}, defaultFixture.props, {
30
29
  className: 'noClass'
31
- })), {
32
- context: {
33
- translate
34
- }
35
- });
36
- const button = wrapper.find('[data-name="bullet-button"]');
37
- t.true(button.exists());
30
+ })));
31
+ const bulletButton = container.querySelector('[data-name="bullet-button"]');
32
+ t.truthy(bulletButton);
38
33
  t.pass();
39
34
  });
40
35
  //# sourceMappingURL=button-link-icon-only.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/button-link-icon-only.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","ButtonLinkIconOnly","defaultFixture","adapter","translate","t","wrapper","props","context","button","find","true","exists","first","simulate","pass"],"mappings":";;;;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AAEA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,kBAAP,MAA+B,IAA/B;AACA,OAAOC,cAAP,MAA2B,+BAA3B;AAEAP,UAAU;AACVI,SAAS,CAAC;AAACI,EAAAA,OAAO,EAAE,IAAIH,OAAJ;AAAV,CAAD,CAAT;AACA,MAAMI,SAAS,YAAf;AAEAR,IAAI,CAAC,6DAAD,EAAgES,CAAC,IAAI;AACvE,QAAMC,OAAO,GAAGR,OAAO,eAAC,oBAAC,kBAAD,EAAwBI,cAAc,CAACK,KAAvC,CAAD,EAAmD;AACxEC,IAAAA,OAAO,EAAE;AAACJ,MAAAA;AAAD;AAD+D,GAAnD,CAAvB;AAGA,QAAMK,MAAM,GAAGH,OAAO,CAACI,IAAR,CAAa,6BAAb,CAAf;AACAL,EAAAA,CAAC,CAACM,IAAF,CAAOF,MAAM,CAACG,MAAP,EAAP;AACAH,EAAAA,MAAM,CAACI,KAAP,GAAeC,QAAf,CAAwB,OAAxB,EAAiC,EAAjC;AACAT,EAAAA,CAAC,CAACU,IAAF;AACD,CARG,CAAJ;AAUAnB,IAAI,CAAC,sEAAD,EAAyES,CAAC,IAAI;AAChF,QAAMC,OAAO,GAAGR,OAAO,eAAC,oBAAC,kBAAD,eAAwBI,cAAc,CAACK,KAAvC;AAA8C,IAAA,SAAS,EAAE;AAAzD,KAAD,EAAyE;AAC9FC,IAAAA,OAAO,EAAE;AAACJ,MAAAA;AAAD;AADqF,GAAzE,CAAvB;AAGA,QAAMK,MAAM,GAAGH,OAAO,CAACI,IAAR,CAAa,6BAAb,CAAf;AACAL,EAAAA,CAAC,CAACM,IAAF,CAAOF,MAAM,CAACG,MAAP,EAAP;AACAP,EAAAA,CAAC,CAACU,IAAF;AACD,CAPG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport {identity} from 'lodash/fp';\nimport Adapter from 'enzyme-adapter-react-16';\nimport ButtonLinkIconOnly from '..';\nimport defaultFixture from './fixtures/button-icon-bullet';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\nconst translate = identity;\n\ntest('should launch onClick on click event for ButtonLinkIconOnly', t => {\n const wrapper = shallow(<ButtonLinkIconOnly {...defaultFixture.props} />, {\n context: {translate}\n });\n const button = wrapper.find('[data-name=\"bullet-button\"]');\n t.true(button.exists());\n button.first().simulate('click', {});\n t.pass();\n});\n\ntest('should mount ButtonLinkIconOnly even if the className does not exist', t => {\n const wrapper = shallow(<ButtonLinkIconOnly {...defaultFixture.props} className={'noClass'} />, {\n context: {translate}\n });\n const button = wrapper.find('[data-name=\"bullet-button\"]');\n t.true(button.exists());\n t.pass();\n});\n"],"file":"button-link-icon-only.js"}
1
+ {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/button-link-icon-only.js"],"names":["browserEnv","test","React","render","fireEvent","ButtonLinkIconOnly","defaultFixture","t","plan","props","onClick","pass","container","bulletButton","querySelector","truthy","click"],"mappings":";;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,MAAR,EAAgBC,SAAhB,QAAgC,wBAAhC;AACA,OAAOC,kBAAP,MAA+B,IAA/B;AACA,OAAOC,cAAP,MAA2B,+BAA3B;AAEAN,UAAU;AAEVC,IAAI,CAAC,6DAAD,EAAgEM,CAAC,IAAI;AACvEA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;;AAEA,QAAMC,KAAK,yBACNH,cAAc,CAACG,KADT;AAETC,IAAAA,OAAO,EAAE,MAAMH,CAAC,CAACI,IAAF;AAFN,IAAX;;AAKA,QAAM;AAACC,IAAAA;AAAD,MAAcT,MAAM,eAAC,oBAAC,kBAAD,EAAwBM,KAAxB,CAAD,CAA1B;AAEA,QAAMI,YAAY,GAAGD,SAAS,CAACE,aAAV,CAAwB,6BAAxB,CAArB;AACAP,EAAAA,CAAC,CAACQ,MAAF,CAASF,YAAT;AAEAT,EAAAA,SAAS,CAACY,KAAV,CAAgBH,YAAhB;AAEAN,EAAAA,CAAC,CAACI,IAAF;AACD,CAhBG,CAAJ;AAkBAV,IAAI,CAAC,sEAAD,EAAyEM,CAAC,IAAI;AAChF,QAAM;AAACK,IAAAA;AAAD,MAAcT,MAAM,eACxB,oBAAC,kBAAD,eAAwBG,cAAc,CAACG,KAAvC;AAA8C,IAAA,SAAS,EAAE;AAAzD,KADwB,CAA1B;AAIA,QAAMI,YAAY,GAAGD,SAAS,CAACE,aAAV,CAAwB,6BAAxB,CAArB;AACAP,EAAAA,CAAC,CAACQ,MAAF,CAASF,YAAT;AAEAN,EAAAA,CAAC,CAACI,IAAF;AACD,CATG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, fireEvent} from '@testing-library/react';\nimport ButtonLinkIconOnly from '..';\nimport defaultFixture from './fixtures/button-icon-bullet';\n\nbrowserEnv();\n\ntest('should launch onClick on click event for ButtonLinkIconOnly', t => {\n t.plan(3);\n\n const props = {\n ...defaultFixture.props,\n onClick: () => t.pass()\n };\n\n const {container} = render(<ButtonLinkIconOnly {...props} />);\n\n const bulletButton = container.querySelector('[data-name=\"bullet-button\"]');\n t.truthy(bulletButton);\n\n fireEvent.click(bulletButton);\n\n t.pass();\n});\n\ntest('should mount ButtonLinkIconOnly even if the className does not exist', t => {\n const {container} = render(\n <ButtonLinkIconOnly {...defaultFixture.props} className={'noClass'} />\n );\n\n const bulletButton = container.querySelector('[data-name=\"bullet-button\"]');\n t.truthy(bulletButton);\n\n t.pass();\n});\n"],"file":"button-link-icon-only.js"}
@@ -2,56 +2,40 @@ import _noop from "lodash/fp/noop";
2
2
 
3
3
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
4
 
5
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
6
 
7
- import React from 'react';
7
+ import React, { useState, useCallback } from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
 
10
- class Checkbox extends React.Component {
11
- constructor(props) {
12
- super(props);
13
- const {
14
- checked
15
- } = props;
16
- this.state = {
17
- checked
18
- };
19
- this.handleChangeBound = this.handleChange.bind(this);
20
- }
10
+ const Checkbox = props => {
11
+ const {
12
+ checked,
13
+ onChange = _noop,
14
+ type = 'checkbox'
15
+ } = props,
16
+ rest = _objectWithoutPropertiesLoose(props, ["checked", "onChange", "type"]);
21
17
 
22
- handleChange(e) {
23
- const {
24
- onChange = _noop
25
- } = this.props;
18
+ const [_checked, setChecked] = useState(checked);
19
+ const handleChange = useCallback(e => {
26
20
  onChange(e.target.checked);
27
- this.setState({
28
- checked: e.target.checked
29
- });
30
- }
31
-
32
- render() {
33
- const {
34
- props,
35
- state,
36
- 'data-name': dataName
37
- } = this;
38
- return /*#__PURE__*/React.createElement("input", _extends({}, props, state, {
39
- type: "checkbox",
40
- "data-name": dataName,
41
- onChange: this.handleChangeBound
42
- }));
43
- }
44
-
45
- }
46
-
47
- _defineProperty(Checkbox, "defaultProps", {
48
- onChange: _noop
49
- });
21
+ setChecked(!_checked);
22
+ }, [_checked, onChange]);
23
+ return /*#__PURE__*/React.createElement("input", _extends({}, rest, {
24
+ checked: _checked,
25
+ type: type,
26
+ onChange: handleChange
27
+ }));
28
+ };
50
29
 
51
30
  Checkbox.propTypes = process.env.NODE_ENV !== "production" ? {
52
31
  checked: PropTypes.bool,
53
32
  onChange: PropTypes.func,
54
- 'data-name': PropTypes.string
33
+ title: PropTypes.string,
34
+ type: PropTypes.string,
35
+ required: PropTypes.bool,
36
+ disabled: PropTypes.bool,
37
+ 'data-name': PropTypes.string,
38
+ 'aria-label': PropTypes.string
55
39
  } : {};
56
40
  export default Checkbox;
57
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/checkbox/index.js"],"names":["React","PropTypes","Checkbox","Component","constructor","props","checked","state","handleChangeBound","handleChange","bind","e","onChange","target","setState","render","dataName","propTypes","bool","func","string"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAGA,MAAMC,QAAN,SAAuBF,KAAK,CAACG,SAA7B,CAAuC;AAWrCC,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;AACA,UAAM;AAACC,MAAAA;AAAD,QAAYD,KAAlB;AACA,SAAKE,KAAL,GAAa;AAACD,MAAAA;AAAD,KAAb;AACA,SAAKE,iBAAL,GAAyB,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAAzB;AACD;;AAEDD,EAAAA,YAAY,CAACE,CAAD,EAAI;AACd,UAAM;AAACC,MAAAA,QAAQ;AAAT,QAAoB,KAAKP,KAA/B;AACAO,IAAAA,QAAQ,CAACD,CAAC,CAACE,MAAF,CAASP,OAAV,CAAR;AACA,SAAKQ,QAAL,CAAc;AACZR,MAAAA,OAAO,EAAEK,CAAC,CAACE,MAAF,CAASP;AADN,KAAd;AAGD;;AAEDS,EAAAA,MAAM,GAAG;AACP,UAAM;AAACV,MAAAA,KAAD;AAAQE,MAAAA,KAAR;AAAe,mBAAaS;AAA5B,QAAwC,IAA9C;AACA,wBACE,0CACMX,KADN,EAEME,KAFN;AAGE,MAAA,IAAI,EAAC,UAHP;AAIE,mBAAWS,QAJb;AAKE,MAAA,QAAQ,EAAE,KAAKR;AALjB,OADF;AASD;;AArCoC;;gBAAjCN,Q,kBAOkB;AACpBU,EAAAA,QAAQ;AADY,C;;AAPlBV,Q,CACGe,S,2CAAY;AACjBX,EAAAA,OAAO,EAAEL,SAAS,CAACiB,IADF;AAEjBN,EAAAA,QAAQ,EAAEX,SAAS,CAACkB,IAFH;AAGjB,eAAalB,SAAS,CAACmB;AAHN,C;AAuCrB,eAAelB,QAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop} from 'lodash/fp';\n\nclass Checkbox extends React.Component {\n static propTypes = {\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n 'data-name': PropTypes.string\n };\n\n static defaultProps = {\n onChange: noop\n };\n\n constructor(props) {\n super(props);\n const {checked} = props;\n this.state = {checked};\n this.handleChangeBound = this.handleChange.bind(this);\n }\n\n handleChange(e) {\n const {onChange = noop} = this.props;\n onChange(e.target.checked);\n this.setState({\n checked: e.target.checked\n });\n }\n\n render() {\n const {props, state, 'data-name': dataName} = this;\n return (\n <input\n {...props}\n {...state}\n type=\"checkbox\"\n data-name={dataName}\n onChange={this.handleChangeBound}\n />\n );\n }\n}\n\nexport default Checkbox;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/checkbox/index.js"],"names":["React","useState","useCallback","PropTypes","Checkbox","props","checked","onChange","type","rest","_checked","setChecked","handleChange","e","target","propTypes","bool","func","title","string","required","disabled"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,EAAyBC,WAAzB,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAGA,MAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxB,QAAM;AAACC,IAAAA,OAAD;AAAUC,IAAAA,QAAQ,QAAlB;AAA2BC,IAAAA,IAAI,GAAG;AAAlC,MAAyDH,KAA/D;AAAA,QAAuDI,IAAvD,iCAA+DJ,KAA/D;;AACA,QAAM,CAACK,QAAD,EAAWC,UAAX,IAAyBV,QAAQ,CAACK,OAAD,CAAvC;AAEA,QAAMM,YAAY,GAAGV,WAAW,CAC9BW,CAAC,IAAI;AACHN,IAAAA,QAAQ,CAACM,CAAC,CAACC,MAAF,CAASR,OAAV,CAAR;AACAK,IAAAA,UAAU,CAAC,CAACD,QAAF,CAAV;AACD,GAJ6B,EAK9B,CAACA,QAAD,EAAWH,QAAX,CAL8B,CAAhC;AAQA,sBAAO,0CAAWE,IAAX;AAAiB,IAAA,OAAO,EAAEC,QAA1B;AAAoC,IAAA,IAAI,EAAEF,IAA1C;AAAgD,IAAA,QAAQ,EAAEI;AAA1D,KAAP;AACD,CAbD;;AAeAR,QAAQ,CAACW,SAAT,2CAAqB;AACnBT,EAAAA,OAAO,EAAEH,SAAS,CAACa,IADA;AAEnBT,EAAAA,QAAQ,EAAEJ,SAAS,CAACc,IAFD;AAGnBC,EAAAA,KAAK,EAAEf,SAAS,CAACgB,MAHE;AAInBX,EAAAA,IAAI,EAAEL,SAAS,CAACgB,MAJG;AAKnBC,EAAAA,QAAQ,EAAEjB,SAAS,CAACa,IALD;AAMnBK,EAAAA,QAAQ,EAAElB,SAAS,CAACa,IAND;AAOnB,eAAab,SAAS,CAACgB,MAPJ;AAQnB,gBAAchB,SAAS,CAACgB;AARL,CAArB;AAWA,eAAef,QAAf","sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {noop} from 'lodash/fp';\n\nconst Checkbox = props => {\n const {checked, onChange = noop, type = 'checkbox', ...rest} = props;\n const [_checked, setChecked] = useState(checked);\n\n const handleChange = useCallback(\n e => {\n onChange(e.target.checked);\n setChecked(!_checked);\n },\n [_checked, onChange]\n );\n\n return <input {...rest} checked={_checked} type={type} onChange={handleChange} />;\n};\n\nCheckbox.propTypes = {\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n title: PropTypes.string,\n type: PropTypes.string,\n required: PropTypes.bool,\n disabled: PropTypes.bool,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n};\n\nexport default Checkbox;\n"],"file":"index.js"}
@@ -3,7 +3,8 @@ export default {
3
3
  type: 'checkbox',
4
4
  title: 'OK',
5
5
  checked: false,
6
- onChange: value => console.log(value)
6
+ 'aria-label': 'checkbox-aria-label',
7
+ onChange: value => console.log('onChange', value)
7
8
  }
8
9
  };
9
10
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/atom/checkbox/test/fixtures/default.js"],"names":["props","type","title","checked","onChange","value","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,UADD;AAELC,IAAAA,KAAK,EAAE,IAFF;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAILC,IAAAA,QAAQ,EAAEC,KAAK,IAAIC,OAAO,CAACC,GAAR,CAAYF,KAAZ;AAJd;AADM,CAAf","sourcesContent":["export default {\n props: {\n type: 'checkbox',\n title: 'OK',\n checked: false,\n onChange: value => console.log(value)\n }\n};\n"],"file":"default.js"}
1
+ {"version":3,"sources":["../../../../../src/atom/checkbox/test/fixtures/default.js"],"names":["props","type","title","checked","onChange","value","console","log"],"mappings":"AAAA,eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,UADD;AAELC,IAAAA,KAAK,EAAE,IAFF;AAGLC,IAAAA,OAAO,EAAE,KAHJ;AAIL,kBAAc,qBAJT;AAKLC,IAAAA,QAAQ,EAAEC,KAAK,IAAIC,OAAO,CAACC,GAAR,CAAY,UAAZ,EAAwBF,KAAxB;AALd;AADM,CAAf","sourcesContent":["export default {\n props: {\n type: 'checkbox',\n title: 'OK',\n checked: false,\n 'aria-label': 'checkbox-aria-label',\n onChange: value => console.log('onChange', value)\n }\n};\n"],"file":"default.js"}
@@ -1,38 +1,41 @@
1
1
  import browserEnv from 'browser-env';
2
2
  import test from 'ava';
3
3
  import React from 'react';
4
- import { shallow, configure } from 'enzyme';
5
- import Adapter from 'enzyme-adapter-react-16';
4
+ import { render, fireEvent } from '@testing-library/react';
6
5
  import Checkbox from '..';
7
6
  browserEnv();
8
- configure({
9
- adapter: new Adapter()
10
- });
11
7
  test('should call the onChange function and toggle the value on change', t => {
12
- t.plan(5);
8
+ t.plan(6);
13
9
  const expectedOnChangeValues = [false, true];
14
10
 
15
11
  const onChange = value => {
16
12
  t.is(value, expectedOnChangeValues.shift());
17
13
  };
18
14
 
19
- const wrapper = shallow( /*#__PURE__*/React.createElement(Checkbox, {
15
+ const dataName = 'check-box';
16
+ const {
17
+ container
18
+ } = render( /*#__PURE__*/React.createElement(Checkbox, {
20
19
  checked: true,
21
- onChange: onChange
20
+ onChange: onChange,
21
+ "data-name": dataName
22
+ }));
23
+ const checkBox = container.querySelector(`[data-name="${dataName}"]`);
24
+ t.truthy(checkBox);
25
+ t.true(checkBox.checked);
26
+ fireEvent.click(checkBox);
27
+ t.false(checkBox.checked);
28
+ fireEvent.click(checkBox);
29
+ t.true(checkBox.checked);
30
+ });
31
+ test('should mount the checkbox with default values', t => {
32
+ const dataName = 'check-box';
33
+ const {
34
+ container
35
+ } = render( /*#__PURE__*/React.createElement(Checkbox, {
36
+ "data-name": dataName
22
37
  }));
23
- const instance = wrapper.instance();
24
- t.true(instance.state.checked);
25
- wrapper.find('input').simulate('change', {
26
- target: {
27
- checked: false
28
- }
29
- });
30
- t.false(instance.state.checked);
31
- wrapper.find('input').simulate('change', {
32
- target: {
33
- checked: true
34
- }
35
- });
36
- t.true(instance.state.checked);
38
+ const checkBox = container.querySelector(`[data-name="${dataName}"]`);
39
+ t.truthy(checkBox);
37
40
  });
38
41
  //# sourceMappingURL=on-change.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/checkbox/test/on-change.js"],"names":["browserEnv","test","React","shallow","configure","Adapter","Checkbox","adapter","t","plan","expectedOnChangeValues","onChange","value","is","shift","wrapper","instance","true","state","checked","find","simulate","target","false"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,OAAR,EAAiBC,SAAjB,QAAiC,QAAjC;AACA,OAAOC,OAAP,MAAoB,yBAApB;AACA,OAAOC,QAAP,MAAqB,IAArB;AAEAN,UAAU;AACVI,SAAS,CAAC;AAACG,EAAAA,OAAO,EAAE,IAAIF,OAAJ;AAAV,CAAD,CAAT;AAEAJ,IAAI,CAAC,kEAAD,EAAqEO,CAAC,IAAI;AAC5EA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;AACA,QAAMC,sBAAsB,GAAG,CAAC,KAAD,EAAQ,IAAR,CAA/B;;AACA,QAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxBJ,IAAAA,CAAC,CAACK,EAAF,CAAKD,KAAL,EAAYF,sBAAsB,CAACI,KAAvB,EAAZ;AACD,GAFD;;AAGA,QAAMC,OAAO,GAAGZ,OAAO,eAAC,oBAAC,QAAD;AAAU,IAAA,OAAO,MAAjB;AAAkB,IAAA,QAAQ,EAAEQ;AAA5B,IAAD,CAAvB;AACA,QAAMK,QAAQ,GAAGD,OAAO,CAACC,QAAR,EAAjB;AAEAR,EAAAA,CAAC,CAACS,IAAF,CAAOD,QAAQ,CAACE,KAAT,CAAeC,OAAtB;AACAJ,EAAAA,OAAO,CAACK,IAAR,CAAa,OAAb,EAAsBC,QAAtB,CAA+B,QAA/B,EAAyC;AAACC,IAAAA,MAAM,EAAE;AAACH,MAAAA,OAAO,EAAE;AAAV;AAAT,GAAzC;AACAX,EAAAA,CAAC,CAACe,KAAF,CAAQP,QAAQ,CAACE,KAAT,CAAeC,OAAvB;AACAJ,EAAAA,OAAO,CAACK,IAAR,CAAa,OAAb,EAAsBC,QAAtB,CAA+B,QAA/B,EAAyC;AAACC,IAAAA,MAAM,EAAE;AAACH,MAAAA,OAAO,EAAE;AAAV;AAAT,GAAzC;AACAX,EAAAA,CAAC,CAACS,IAAF,CAAOD,QAAQ,CAACE,KAAT,CAAeC,OAAtB;AACD,CAdG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {shallow, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport Checkbox from '..';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should call the onChange function and toggle the value on change', t => {\n t.plan(5);\n const expectedOnChangeValues = [false, true];\n const onChange = value => {\n t.is(value, expectedOnChangeValues.shift());\n };\n const wrapper = shallow(<Checkbox checked onChange={onChange} />);\n const instance = wrapper.instance();\n\n t.true(instance.state.checked);\n wrapper.find('input').simulate('change', {target: {checked: false}});\n t.false(instance.state.checked);\n wrapper.find('input').simulate('change', {target: {checked: true}});\n t.true(instance.state.checked);\n});\n"],"file":"on-change.js"}
1
+ {"version":3,"sources":["../../../../src/atom/checkbox/test/on-change.js"],"names":["browserEnv","test","React","render","fireEvent","Checkbox","t","plan","expectedOnChangeValues","onChange","value","is","shift","dataName","container","checkBox","querySelector","truthy","true","checked","click","false"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,MAAR,EAAgBC,SAAhB,QAAgC,wBAAhC;AACA,OAAOC,QAAP,MAAqB,IAArB;AAEAL,UAAU;AAEVC,IAAI,CAAC,kEAAD,EAAqEK,CAAC,IAAI;AAC5EA,EAAAA,CAAC,CAACC,IAAF,CAAO,CAAP;AACA,QAAMC,sBAAsB,GAAG,CAAC,KAAD,EAAQ,IAAR,CAA/B;;AACA,QAAMC,QAAQ,GAAGC,KAAK,IAAI;AACxBJ,IAAAA,CAAC,CAACK,EAAF,CAAKD,KAAL,EAAYF,sBAAsB,CAACI,KAAvB,EAAZ;AACD,GAFD;;AAGA,QAAMC,QAAQ,GAAG,WAAjB;AACA,QAAM;AAACC,IAAAA;AAAD,MAAcX,MAAM,eAAC,oBAAC,QAAD;AAAU,IAAA,OAAO,MAAjB;AAAkB,IAAA,QAAQ,EAAEM,QAA5B;AAAsC,iBAAWI;AAAjD,IAAD,CAA1B;AAEA,QAAME,QAAQ,GAAGD,SAAS,CAACE,aAAV,CAAyB,eAAcH,QAAS,IAAhD,CAAjB;AACAP,EAAAA,CAAC,CAACW,MAAF,CAASF,QAAT;AAEAT,EAAAA,CAAC,CAACY,IAAF,CAAOH,QAAQ,CAACI,OAAhB;AAEAf,EAAAA,SAAS,CAACgB,KAAV,CAAgBL,QAAhB;AACAT,EAAAA,CAAC,CAACe,KAAF,CAAQN,QAAQ,CAACI,OAAjB;AAEAf,EAAAA,SAAS,CAACgB,KAAV,CAAgBL,QAAhB;AACAT,EAAAA,CAAC,CAACY,IAAF,CAAOH,QAAQ,CAACI,OAAhB;AACD,CAnBG,CAAJ;AAqBAlB,IAAI,CAAC,+CAAD,EAAkDK,CAAC,IAAI;AACzD,QAAMO,QAAQ,GAAG,WAAjB;AACA,QAAM;AAACC,IAAAA;AAAD,MAAcX,MAAM,eAAC,oBAAC,QAAD;AAAU,iBAAWU;AAArB,IAAD,CAA1B;AAEA,QAAME,QAAQ,GAAGD,SAAS,CAACE,aAAV,CAAyB,eAAcH,QAAS,IAAhD,CAAjB;AACAP,EAAAA,CAAC,CAACW,MAAF,CAASF,QAAT;AACD,CANG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, fireEvent} from '@testing-library/react';\nimport Checkbox from '..';\n\nbrowserEnv();\n\ntest('should call the onChange function and toggle the value on change', t => {\n t.plan(6);\n const expectedOnChangeValues = [false, true];\n const onChange = value => {\n t.is(value, expectedOnChangeValues.shift());\n };\n const dataName = 'check-box';\n const {container} = render(<Checkbox checked onChange={onChange} data-name={dataName} />);\n\n const checkBox = container.querySelector(`[data-name=\"${dataName}\"]`);\n t.truthy(checkBox);\n\n t.true(checkBox.checked);\n\n fireEvent.click(checkBox);\n t.false(checkBox.checked);\n\n fireEvent.click(checkBox);\n t.true(checkBox.checked);\n});\n\ntest('should mount the checkbox with default values', t => {\n const dataName = 'check-box';\n const {container} = render(<Checkbox data-name={dataName} />);\n\n const checkBox = container.querySelector(`[data-name=\"${dataName}\"]`);\n t.truthy(checkBox);\n});\n"],"file":"on-change.js"}
@@ -97,7 +97,8 @@ class Clue extends React.Component {
97
97
  className: classnames(style.clueCard, !_isEmpty(text) && style.flip)
98
98
  }, /*#__PURE__*/React.createElement("div", {
99
99
  className: style.back,
100
- style: inlineStyle
100
+ style: inlineStyle,
101
+ "data-name": "clue-back-side"
101
102
  }, isLoading ? /*#__PURE__*/React.createElement(Loader, null) : null, /*#__PURE__*/React.createElement("div", {
102
103
  className: classnames(style.backContent, isLoading && style.loading)
103
104
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/clue/index.js"],"names":["React","PropTypes","classnames","Provider","Loader","Cta","style","LoadedClue","text","clueText","__html","propTypes","string","Clue","Component","getDerivedStateFromProps","props","isLoading","constructor","context","state","handleClick","bind","e","stopPropagation","preventDefault","onClick","setState","render","starsDiff","skin","translate","primaryColor","inlineStyle","backgroundColor","starsToLoose","count","Math","abs","seeClueCta","wrapperClue","clueCard","flip","back","backContent","loading","stars","front","childContextTypes","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../provider';\nimport Loader from '../loader';\nimport Cta from '../cta';\nimport style from './style.css';\n\nconst LoadedClue = ({text}) => {\n return (\n <div data-name=\"text\" className={style.clueText}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n );\n};\n\nLoadedClue.propTypes = {\n text: PropTypes.string\n};\n\nclass Clue extends React.Component {\n static propTypes = {\n text: LoadedClue.propTypes.text,\n onClick: Cta.propTypes.onClick,\n starsDiff: PropTypes.number\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n static getDerivedStateFromProps(props) {\n const {text} = props;\n const isLoading = isEmpty(text);\n\n if (isLoading) return null;\n return {isLoading};\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n isLoading: false\n };\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {text, onClick = noop} = this.props;\n onClick(e);\n const isLoading = isEmpty(text);\n return this.setState({\n isLoading\n });\n }\n\n render() {\n const {text, starsDiff} = this.props;\n const {skin, translate} = this.context;\n const {isLoading} = this.state;\n const primaryColor = get('common.primary', skin);\n const inlineStyle = {backgroundColor: primaryColor};\n const starsToLoose = translate('clue_stars_to_loose', {count: Math.abs(starsDiff)});\n const seeClueCta = translate('See clue');\n\n return (\n <div data-name=\"clue\" className={style.wrapperClue}>\n <div className={classnames(style.clueCard, !isEmpty(text) && style.flip)}>\n <div className={style.back} style={inlineStyle}>\n {isLoading ? <Loader /> : null}\n <div className={classnames(style.backContent, isLoading && style.loading)}>\n <div className={style.stars}>{starsToLoose}</div>\n <Cta submitValue={seeClueCta} secondary light onClick={this.handleClick} />\n </div>\n </div>\n <div className={style.front} style={inlineStyle}>\n <LoadedClue text={text} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Clue;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/clue/index.js"],"names":["React","PropTypes","classnames","Provider","Loader","Cta","style","LoadedClue","text","clueText","__html","propTypes","string","Clue","Component","getDerivedStateFromProps","props","isLoading","constructor","context","state","handleClick","bind","e","stopPropagation","preventDefault","onClick","setState","render","starsDiff","skin","translate","primaryColor","inlineStyle","backgroundColor","starsToLoose","count","Math","abs","seeClueCta","wrapperClue","clueCard","flip","back","backContent","loading","stars","front","childContextTypes","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {get, isEmpty, noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../provider';\nimport Loader from '../loader';\nimport Cta from '../cta';\nimport style from './style.css';\n\nconst LoadedClue = ({text}) => {\n return (\n <div data-name=\"text\" className={style.clueText}>\n <div\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n );\n};\n\nLoadedClue.propTypes = {\n text: PropTypes.string\n};\n\nclass Clue extends React.Component {\n static propTypes = {\n text: LoadedClue.propTypes.text,\n onClick: Cta.propTypes.onClick,\n starsDiff: PropTypes.number\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n static getDerivedStateFromProps(props) {\n const {text} = props;\n const isLoading = isEmpty(text);\n\n if (isLoading) return null;\n return {isLoading};\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n isLoading: false\n };\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {text, onClick = noop} = this.props;\n onClick(e);\n const isLoading = isEmpty(text);\n return this.setState({\n isLoading\n });\n }\n\n render() {\n const {text, starsDiff} = this.props;\n const {skin, translate} = this.context;\n const {isLoading} = this.state;\n const primaryColor = get('common.primary', skin);\n const inlineStyle = {backgroundColor: primaryColor};\n const starsToLoose = translate('clue_stars_to_loose', {count: Math.abs(starsDiff)});\n const seeClueCta = translate('See clue');\n\n return (\n <div data-name=\"clue\" className={style.wrapperClue}>\n <div className={classnames(style.clueCard, !isEmpty(text) && style.flip)}>\n <div className={style.back} style={inlineStyle} data-name=\"clue-back-side\">\n {isLoading ? <Loader /> : null}\n <div className={classnames(style.backContent, isLoading && style.loading)}>\n <div className={style.stars}>{starsToLoose}</div>\n <Cta submitValue={seeClueCta} secondary light onClick={this.handleClick} />\n </div>\n </div>\n <div className={style.front} style={inlineStyle}>\n <LoadedClue text={text} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Clue;\n"],"file":"index.js"}
@@ -1,70 +1,80 @@
1
- import _replace from "lodash/fp/replace";
2
-
3
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
2
 
5
3
  import browserEnv from 'browser-env';
6
4
  import test from 'ava';
7
5
  import React from 'react';
8
- import { mount, configure } from 'enzyme';
9
- import Adapter from 'enzyme-adapter-react-16';
6
+ import { fireEvent } from '@testing-library/react';
7
+ import forEach from 'lodash/fp/forEach';
8
+ import replace from 'lodash/fp/replace';
9
+ import { renderWithContext } from '../../../util/render-with-context';
10
10
  import style from '../style.css'; // eslint-disable-line css-modules/no-unused-class
11
11
 
12
12
  import Clue from '..';
13
- import Provider from '../../provider';
14
13
  import defaultFixture from './fixtures/default';
15
14
  browserEnv();
16
- configure({
17
- adapter: new Adapter()
18
- });
15
+
16
+ const checkStyles = (stylesToCheck, container, t) => {
17
+ forEach(([styleToCheck, shouldBePresent]) => {
18
+ const styledClue = container.querySelector(styleToCheck);
19
+ shouldBePresent ? t.truthy(styledClue) : t.falsy(styledClue);
20
+ }, stylesToCheck);
21
+ };
22
+
23
+ const findElementAndCheckText = (container, selector, expectedText, t) => {
24
+ const element = container.querySelector(selector);
25
+ t.is(element.textContent, expectedText);
26
+ };
27
+
19
28
  test('should See the clue', t => {
20
29
  const context = {
21
30
  skin: {},
22
- translate: key => key
31
+ translate: key => {
32
+ t.pass();
33
+ return key;
34
+ }
23
35
  };
24
- t.plan(16);
25
- const clueCardStyle = `.${_replace(' ', '.', style.clueCard)}`;
26
- const flipStyle = `.${_replace(' ', '.', style.flip)}`;
27
- const loadingStyle = `.${_replace(' ', '.', style.loading)}`;
28
- const backContentStyle = `.${_replace(' ', '.', style.backContent)}`;
29
- const clueTextStyle = `.${_replace(' ', '.', style.clueText)}`;
36
+ t.plan(26);
37
+ const clueCardStyle = `.${replace(' ', '.', style.clueCard)}`;
38
+ const flipStyle = `.${replace(' ', '.', style.flip)}`;
39
+ const loadingStyle = `.${replace(' ', '.', style.loading)}`;
40
+ const backContentStyle = `.${replace(' ', '.', style.backContent)}`;
41
+ const clueTextStyle = `.${replace(' ', '.', style.clueText)}`;
30
42
 
31
43
  const onClick = e => {
32
44
  t.pass();
33
45
  };
34
46
 
35
- const wrapper = mount( /*#__PURE__*/React.createElement(Clue, _extends({}, defaultFixture.props, {
47
+ const {
48
+ container,
49
+ rerender
50
+ } = renderWithContext( /*#__PURE__*/React.createElement(Clue, _extends({}, defaultFixture.props, {
36
51
  onClick: onClick
37
52
  })), {
38
53
  context
39
54
  });
40
- t.is(wrapper.find(clueCardStyle).exists(), true);
41
- t.is(wrapper.find(flipStyle).exists(), false);
42
- t.is(wrapper.find(loadingStyle).exists(), false);
43
- t.is(wrapper.find(backContentStyle).exists(), true);
44
- wrapper.find('a').simulate('click', {
45
- preventDefault: () => {},
46
- stopPropagation: () => {}
47
- });
48
- t.is(wrapper.find(clueCardStyle).exists(), true);
49
- t.is(wrapper.find(flipStyle).exists(), false);
50
- t.is(wrapper.find(loadingStyle).exists(), true);
51
- t.is(wrapper.find(backContentStyle).exists(), true);
52
- wrapper.setProps({
53
- text: 'This is the clue ...'
54
- });
55
- t.is(wrapper.find(clueTextStyle).text(), 'This is the clue ...');
56
- t.is(wrapper.find(clueCardStyle).exists(), true);
57
- t.is(wrapper.find(flipStyle).exists(), true);
58
- t.is(wrapper.find(loadingStyle).exists(), false);
59
- t.is(wrapper.find(backContentStyle).exists(), true);
60
- wrapper.setProps({
61
- text: ''
62
- });
63
- t.is(wrapper.find(clueTextStyle).text(), '');
64
- wrapper.setProps({
65
- text: 'This is the new clue ...'
66
- });
67
- t.is(wrapper.find(clueTextStyle).text(), 'This is the new clue ...');
55
+ const stylesToCheckPreClick = [[clueCardStyle, true], [flipStyle, false], [loadingStyle, false], [backContentStyle, true]];
56
+ checkStyles(stylesToCheckPreClick, container, t);
57
+ const link = container.querySelector('a');
58
+ fireEvent.click(link);
59
+ const stylesToCheckPostClick = [[clueCardStyle, true], [flipStyle, false], [loadingStyle, true], [backContentStyle, true]];
60
+ checkStyles(stylesToCheckPostClick, container, t);
61
+ rerender( /*#__PURE__*/React.createElement(Clue, _extends({}, defaultFixture.props, {
62
+ text: "This is the clue ...",
63
+ onClick: onClick
64
+ })));
65
+ findElementAndCheckText(container, clueTextStyle, 'This is the clue ...', t);
66
+ const stylesToCheckPostTextChange = [[clueCardStyle, true], [flipStyle, true], [loadingStyle, false], [backContentStyle, true]];
67
+ checkStyles(stylesToCheckPostTextChange, container, t);
68
+ rerender( /*#__PURE__*/React.createElement(Clue, _extends({}, defaultFixture.props, {
69
+ text: "",
70
+ onClick: onClick
71
+ })));
72
+ findElementAndCheckText(container, clueTextStyle, '', t);
73
+ rerender( /*#__PURE__*/React.createElement(Clue, _extends({}, defaultFixture.props, {
74
+ text: "This is the new clue ...",
75
+ onClick: onClick
76
+ })));
77
+ findElementAndCheckText(container, clueTextStyle, 'This is the new clue ...', t);
68
78
  });
69
79
  test('should clue color is the primary color if color is defined on skin', t => {
70
80
  const context = {
@@ -73,14 +83,23 @@ test('should clue color is the primary color if color is defined on skin', t =>
73
83
  primary: '#FF0000'
74
84
  }
75
85
  },
76
- translate: key => key
86
+ translate: key => {
87
+ t.pass();
88
+ return key;
89
+ }
77
90
  };
78
- t.plan(1);
79
- const backStyle = `.${_replace(' ', '.', style.back)}`;
80
- const wrapper = mount( /*#__PURE__*/React.createElement(Provider, context, /*#__PURE__*/React.createElement(Clue, defaultFixture.props)));
81
- t.deepEqual(wrapper.find(backStyle).get(0).props.style, {
82
- backgroundColor: '#FF0000'
83
- });
91
+ t.plan(6);
92
+ const {
93
+ container
94
+ } = renderWithContext( /*#__PURE__*/React.createElement(Clue, defaultFixture.props), {
95
+ context
96
+ }); // inline '#FF0000' becomes rgb(255, 0, 0)
97
+
98
+ const cardReverse = container.querySelector('[data-name="clue-back-side"][style="background-color: rgb(255, 0, 0);"]');
99
+ t.truthy(cardReverse);
100
+ const seeClueCta = cardReverse.querySelector('a[data-name="cta"]');
101
+ t.truthy(seeClueCta);
102
+ fireEvent.click(seeClueCta);
84
103
  });
85
104
  test('should clue color is the fallback primary color if color not defined on skin', t => {
86
105
  const context = {
@@ -89,13 +108,19 @@ test('should clue color is the fallback primary color if color not defined on sk
89
108
  secondary: '#FF0000'
90
109
  }
91
110
  },
92
- translate: key => key
111
+ translate: key => {
112
+ t.pass();
113
+ return key;
114
+ }
93
115
  };
94
- t.plan(1);
95
- const backStyle = `.${_replace(' ', '.', style.back)}`;
96
- const wrapper = mount( /*#__PURE__*/React.createElement(Provider, context, /*#__PURE__*/React.createElement(Clue, defaultFixture.props)));
97
- t.deepEqual(wrapper.find(backStyle).get(0).props.style, {
98
- backgroundColor: '#00B0FF'
99
- });
116
+ t.plan(3);
117
+ const {
118
+ container
119
+ } = renderWithContext( /*#__PURE__*/React.createElement(Clue, defaultFixture.props), {
120
+ context
121
+ }); // inline '#00B0FF' becomes rgb(0, 176, 255)
122
+
123
+ const cardReverse = container.querySelector('[data-name="clue-back-side"][style="background-color: rgb(0, 176, 255);"]');
124
+ t.truthy(cardReverse);
100
125
  });
101
126
  //# sourceMappingURL=see-clue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/clue/test/see-clue.js"],"names":["browserEnv","test","React","mount","configure","Adapter","style","Clue","Provider","defaultFixture","adapter","t","context","skin","translate","key","plan","clueCardStyle","clueCard","flipStyle","flip","loadingStyle","loading","backContentStyle","backContent","clueTextStyle","clueText","onClick","e","pass","wrapper","props","is","find","exists","simulate","preventDefault","stopPropagation","setProps","text","common","primary","backStyle","back","deepEqual","get","backgroundColor","secondary"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {mount, configure} from 'enzyme';\nimport Adapter from 'enzyme-adapter-react-16';\nimport {replace} from 'lodash/fp';\nimport style from '../style.css'; // eslint-disable-line css-modules/no-unused-class\nimport Clue from '..';\nimport Provider from '../../provider';\nimport defaultFixture from './fixtures/default';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should See the clue', t => {\n const context = {\n skin: {},\n translate: key => key\n };\n t.plan(16);\n\n const clueCardStyle = `.${replace(' ', '.', style.clueCard)}`;\n const flipStyle = `.${replace(' ', '.', style.flip)}`;\n\n const loadingStyle = `.${replace(' ', '.', style.loading)}`;\n const backContentStyle = `.${replace(' ', '.', style.backContent)}`;\n\n const clueTextStyle = `.${replace(' ', '.', style.clueText)}`;\n\n const onClick = e => {\n t.pass();\n };\n\n const wrapper = mount(<Clue {...defaultFixture.props} onClick={onClick} />, {context});\n\n t.is(wrapper.find(clueCardStyle).exists(), true);\n t.is(wrapper.find(flipStyle).exists(), false);\n t.is(wrapper.find(loadingStyle).exists(), false);\n t.is(wrapper.find(backContentStyle).exists(), true);\n\n wrapper.find('a').simulate('click', {\n preventDefault: () => {},\n stopPropagation: () => {}\n });\n\n t.is(wrapper.find(clueCardStyle).exists(), true);\n t.is(wrapper.find(flipStyle).exists(), false);\n t.is(wrapper.find(loadingStyle).exists(), true);\n t.is(wrapper.find(backContentStyle).exists(), true);\n\n wrapper.setProps({text: 'This is the clue ...'});\n\n t.is(wrapper.find(clueTextStyle).text(), 'This is the clue ...');\n\n t.is(wrapper.find(clueCardStyle).exists(), true);\n t.is(wrapper.find(flipStyle).exists(), true);\n t.is(wrapper.find(loadingStyle).exists(), false);\n t.is(wrapper.find(backContentStyle).exists(), true);\n\n wrapper.setProps({text: ''});\n\n t.is(wrapper.find(clueTextStyle).text(), '');\n\n wrapper.setProps({text: 'This is the new clue ...'});\n\n t.is(wrapper.find(clueTextStyle).text(), 'This is the new clue ...');\n});\n\ntest('should clue color is the primary color if color is defined on skin', t => {\n const context = {\n skin: {\n common: {\n primary: '#FF0000'\n }\n },\n translate: key => key\n };\n t.plan(1);\n const backStyle = `.${replace(' ', '.', style.back)}`;\n\n const wrapper = mount(\n <Provider {...context}>\n <Clue {...defaultFixture.props} />\n </Provider>\n );\n\n t.deepEqual(wrapper.find(backStyle).get(0).props.style, {\n backgroundColor: '#FF0000'\n });\n});\n\ntest('should clue color is the fallback primary color if color not defined on skin', t => {\n const context = {\n skin: {\n common: {\n secondary: '#FF0000'\n }\n },\n translate: key => key\n };\n t.plan(1);\n const backStyle = `.${replace(' ', '.', style.back)}`;\n\n const wrapper = mount(\n <Provider {...context}>\n <Clue {...defaultFixture.props} />\n </Provider>\n );\n\n t.deepEqual(wrapper.find(backStyle).get(0).props.style, {\n backgroundColor: '#00B0FF'\n });\n});\n"],"file":"see-clue.js"}
1
+ {"version":3,"sources":["../../../../src/atom/clue/test/see-clue.js"],"names":["browserEnv","test","React","fireEvent","forEach","replace","renderWithContext","style","Clue","defaultFixture","checkStyles","stylesToCheck","container","t","styleToCheck","shouldBePresent","styledClue","querySelector","truthy","falsy","findElementAndCheckText","selector","expectedText","element","is","textContent","context","skin","translate","key","pass","plan","clueCardStyle","clueCard","flipStyle","flip","loadingStyle","loading","backContentStyle","backContent","clueTextStyle","clueText","onClick","e","rerender","props","stylesToCheckPreClick","link","click","stylesToCheckPostClick","stylesToCheckPostTextChange","common","primary","cardReverse","seeClueCta","secondary"],"mappings":";;AAAA,OAAOA,UAAP,MAAuB,aAAvB;AACA,OAAOC,IAAP,MAAiB,KAAjB;AACA,OAAOC,KAAP,MAAkB,OAAlB;AACA,SAAQC,SAAR,QAAwB,wBAAxB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,SAAQC,iBAAR,QAAgC,mCAAhC;AACA,OAAOC,KAAP,MAAkB,cAAlB,C,CAAkC;;AAClC,OAAOC,IAAP,MAAiB,IAAjB;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AAEAT,UAAU;;AAEV,MAAMU,WAAW,GAAG,CAACC,aAAD,EAAgBC,SAAhB,EAA2BC,CAA3B,KAAiC;AACnDT,EAAAA,OAAO,CAAC,CAAC,CAACU,YAAD,EAAeC,eAAf,CAAD,KAAqC;AAC3C,UAAMC,UAAU,GAAGJ,SAAS,CAACK,aAAV,CAAwBH,YAAxB,CAAnB;AACAC,IAAAA,eAAe,GAAGF,CAAC,CAACK,MAAF,CAASF,UAAT,CAAH,GAA0BH,CAAC,CAACM,KAAF,CAAQH,UAAR,CAAzC;AACD,GAHM,EAGJL,aAHI,CAAP;AAID,CALD;;AAOA,MAAMS,uBAAuB,GAAG,CAACR,SAAD,EAAYS,QAAZ,EAAsBC,YAAtB,EAAoCT,CAApC,KAA0C;AACxE,QAAMU,OAAO,GAAGX,SAAS,CAACK,aAAV,CAAwBI,QAAxB,CAAhB;AACAR,EAAAA,CAAC,CAACW,EAAF,CAAKD,OAAO,CAACE,WAAb,EAA0BH,YAA1B;AACD,CAHD;;AAKArB,IAAI,CAAC,qBAAD,EAAwBY,CAAC,IAAI;AAC/B,QAAMa,OAAO,GAAG;AACdC,IAAAA,IAAI,EAAE,EADQ;AAEdC,IAAAA,SAAS,EAAEC,GAAG,IAAI;AAChBhB,MAAAA,CAAC,CAACiB,IAAF;AACA,aAAOD,GAAP;AACD;AALa,GAAhB;AAOAhB,EAAAA,CAAC,CAACkB,IAAF,CAAO,EAAP;AAEA,QAAMC,aAAa,GAAI,IAAG3B,OAAO,CAAC,GAAD,EAAM,GAAN,EAAWE,KAAK,CAAC0B,QAAjB,CAA2B,EAA5D;AACA,QAAMC,SAAS,GAAI,IAAG7B,OAAO,CAAC,GAAD,EAAM,GAAN,EAAWE,KAAK,CAAC4B,IAAjB,CAAuB,EAApD;AAEA,QAAMC,YAAY,GAAI,IAAG/B,OAAO,CAAC,GAAD,EAAM,GAAN,EAAWE,KAAK,CAAC8B,OAAjB,CAA0B,EAA1D;AACA,QAAMC,gBAAgB,GAAI,IAAGjC,OAAO,CAAC,GAAD,EAAM,GAAN,EAAWE,KAAK,CAACgC,WAAjB,CAA8B,EAAlE;AAEA,QAAMC,aAAa,GAAI,IAAGnC,OAAO,CAAC,GAAD,EAAM,GAAN,EAAWE,KAAK,CAACkC,QAAjB,CAA2B,EAA5D;;AAEA,QAAMC,OAAO,GAAGC,CAAC,IAAI;AACnB9B,IAAAA,CAAC,CAACiB,IAAF;AACD,GAFD;;AAIA,QAAM;AAAClB,IAAAA,SAAD;AAAYgC,IAAAA;AAAZ,MAAwBtC,iBAAiB,eAC7C,oBAAC,IAAD,eAAUG,cAAc,CAACoC,KAAzB;AAAgC,IAAA,OAAO,EAAEH;AAAzC,KAD6C,EAE7C;AACEhB,IAAAA;AADF,GAF6C,CAA/C;AAOA,QAAMoB,qBAAqB,GAAG,CAC5B,CAACd,aAAD,EAAgB,IAAhB,CAD4B,EAE5B,CAACE,SAAD,EAAY,KAAZ,CAF4B,EAG5B,CAACE,YAAD,EAAe,KAAf,CAH4B,EAI5B,CAACE,gBAAD,EAAmB,IAAnB,CAJ4B,CAA9B;AAOA5B,EAAAA,WAAW,CAACoC,qBAAD,EAAwBlC,SAAxB,EAAmCC,CAAnC,CAAX;AAEA,QAAMkC,IAAI,GAAGnC,SAAS,CAACK,aAAV,CAAwB,GAAxB,CAAb;AAEAd,EAAAA,SAAS,CAAC6C,KAAV,CAAgBD,IAAhB;AAEA,QAAME,sBAAsB,GAAG,CAC7B,CAACjB,aAAD,EAAgB,IAAhB,CAD6B,EAE7B,CAACE,SAAD,EAAY,KAAZ,CAF6B,EAG7B,CAACE,YAAD,EAAe,IAAf,CAH6B,EAI7B,CAACE,gBAAD,EAAmB,IAAnB,CAJ6B,CAA/B;AAOA5B,EAAAA,WAAW,CAACuC,sBAAD,EAAyBrC,SAAzB,EAAoCC,CAApC,CAAX;AAEA+B,EAAAA,QAAQ,eAAC,oBAAC,IAAD,eAAUnC,cAAc,CAACoC,KAAzB;AAAgC,IAAA,IAAI,EAAC,sBAArC;AAA4D,IAAA,OAAO,EAAEH;AAArE,KAAD,CAAR;AACAtB,EAAAA,uBAAuB,CAACR,SAAD,EAAY4B,aAAZ,EAA2B,sBAA3B,EAAmD3B,CAAnD,CAAvB;AAEA,QAAMqC,2BAA2B,GAAG,CAClC,CAAClB,aAAD,EAAgB,IAAhB,CADkC,EAElC,CAACE,SAAD,EAAY,IAAZ,CAFkC,EAGlC,CAACE,YAAD,EAAe,KAAf,CAHkC,EAIlC,CAACE,gBAAD,EAAmB,IAAnB,CAJkC,CAApC;AAOA5B,EAAAA,WAAW,CAACwC,2BAAD,EAA8BtC,SAA9B,EAAyCC,CAAzC,CAAX;AAEA+B,EAAAA,QAAQ,eAAC,oBAAC,IAAD,eAAUnC,cAAc,CAACoC,KAAzB;AAAgC,IAAA,IAAI,EAAC,EAArC;AAAwC,IAAA,OAAO,EAAEH;AAAjD,KAAD,CAAR;AACAtB,EAAAA,uBAAuB,CAACR,SAAD,EAAY4B,aAAZ,EAA2B,EAA3B,EAA+B3B,CAA/B,CAAvB;AAEA+B,EAAAA,QAAQ,eAAC,oBAAC,IAAD,eAAUnC,cAAc,CAACoC,KAAzB;AAAgC,IAAA,IAAI,EAAC,0BAArC;AAAgE,IAAA,OAAO,EAAEH;AAAzE,KAAD,CAAR;AACAtB,EAAAA,uBAAuB,CAACR,SAAD,EAAY4B,aAAZ,EAA2B,0BAA3B,EAAuD3B,CAAvD,CAAvB;AACD,CApEG,CAAJ;AAsEAZ,IAAI,CAAC,oEAAD,EAAuEY,CAAC,IAAI;AAC9E,QAAMa,OAAO,GAAG;AACdC,IAAAA,IAAI,EAAE;AACJwB,MAAAA,MAAM,EAAE;AACNC,QAAAA,OAAO,EAAE;AADH;AADJ,KADQ;AAMdxB,IAAAA,SAAS,EAAEC,GAAG,IAAI;AAChBhB,MAAAA,CAAC,CAACiB,IAAF;AACA,aAAOD,GAAP;AACD;AATa,GAAhB;AAWAhB,EAAAA,CAAC,CAACkB,IAAF,CAAO,CAAP;AAEA,QAAM;AAACnB,IAAAA;AAAD,MAAcN,iBAAiB,eAAC,oBAAC,IAAD,EAAUG,cAAc,CAACoC,KAAzB,CAAD,EAAqC;AACxEnB,IAAAA;AADwE,GAArC,CAArC,CAd8E,CAkB9E;;AACA,QAAM2B,WAAW,GAAGzC,SAAS,CAACK,aAAV,CAClB,yEADkB,CAApB;AAIAJ,EAAAA,CAAC,CAACK,MAAF,CAASmC,WAAT;AAEA,QAAMC,UAAU,GAAGD,WAAW,CAACpC,aAAZ,CAA0B,oBAA1B,CAAnB;AAEAJ,EAAAA,CAAC,CAACK,MAAF,CAASoC,UAAT;AAEAnD,EAAAA,SAAS,CAAC6C,KAAV,CAAgBM,UAAhB;AACD,CA9BG,CAAJ;AAgCArD,IAAI,CAAC,8EAAD,EAAiFY,CAAC,IAAI;AACxF,QAAMa,OAAO,GAAG;AACdC,IAAAA,IAAI,EAAE;AACJwB,MAAAA,MAAM,EAAE;AACNI,QAAAA,SAAS,EAAE;AADL;AADJ,KADQ;AAMd3B,IAAAA,SAAS,EAAEC,GAAG,IAAI;AAChBhB,MAAAA,CAAC,CAACiB,IAAF;AACA,aAAOD,GAAP;AACD;AATa,GAAhB;AAWAhB,EAAAA,CAAC,CAACkB,IAAF,CAAO,CAAP;AAEA,QAAM;AAACnB,IAAAA;AAAD,MAAcN,iBAAiB,eAAC,oBAAC,IAAD,EAAUG,cAAc,CAACoC,KAAzB,CAAD,EAAqC;AACxEnB,IAAAA;AADwE,GAArC,CAArC,CAdwF,CAkBxF;;AACA,QAAM2B,WAAW,GAAGzC,SAAS,CAACK,aAAV,CAClB,2EADkB,CAApB;AAIAJ,EAAAA,CAAC,CAACK,MAAF,CAASmC,WAAT;AACD,CAxBG,CAAJ","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {fireEvent} from '@testing-library/react';\nimport forEach from 'lodash/fp/forEach';\nimport replace from 'lodash/fp/replace';\nimport {renderWithContext} from '../../../util/render-with-context';\nimport style from '../style.css'; // eslint-disable-line css-modules/no-unused-class\nimport Clue from '..';\nimport defaultFixture from './fixtures/default';\n\nbrowserEnv();\n\nconst checkStyles = (stylesToCheck, container, t) => {\n forEach(([styleToCheck, shouldBePresent]) => {\n const styledClue = container.querySelector(styleToCheck);\n shouldBePresent ? t.truthy(styledClue) : t.falsy(styledClue);\n }, stylesToCheck);\n};\n\nconst findElementAndCheckText = (container, selector, expectedText, t) => {\n const element = container.querySelector(selector);\n t.is(element.textContent, expectedText);\n};\n\ntest('should See the clue', t => {\n const context = {\n skin: {},\n translate: key => {\n t.pass();\n return key;\n }\n };\n t.plan(26);\n\n const clueCardStyle = `.${replace(' ', '.', style.clueCard)}`;\n const flipStyle = `.${replace(' ', '.', style.flip)}`;\n\n const loadingStyle = `.${replace(' ', '.', style.loading)}`;\n const backContentStyle = `.${replace(' ', '.', style.backContent)}`;\n\n const clueTextStyle = `.${replace(' ', '.', style.clueText)}`;\n\n const onClick = e => {\n t.pass();\n };\n\n const {container, rerender} = renderWithContext(\n <Clue {...defaultFixture.props} onClick={onClick} />,\n {\n context\n }\n );\n\n const stylesToCheckPreClick = [\n [clueCardStyle, true],\n [flipStyle, false],\n [loadingStyle, false],\n [backContentStyle, true]\n ];\n\n checkStyles(stylesToCheckPreClick, container, t);\n\n const link = container.querySelector('a');\n\n fireEvent.click(link);\n\n const stylesToCheckPostClick = [\n [clueCardStyle, true],\n [flipStyle, false],\n [loadingStyle, true],\n [backContentStyle, true]\n ];\n\n checkStyles(stylesToCheckPostClick, container, t);\n\n rerender(<Clue {...defaultFixture.props} text=\"This is the clue ...\" onClick={onClick} />);\n findElementAndCheckText(container, clueTextStyle, 'This is the clue ...', t);\n\n const stylesToCheckPostTextChange = [\n [clueCardStyle, true],\n [flipStyle, true],\n [loadingStyle, false],\n [backContentStyle, true]\n ];\n\n checkStyles(stylesToCheckPostTextChange, container, t);\n\n rerender(<Clue {...defaultFixture.props} text=\"\" onClick={onClick} />);\n findElementAndCheckText(container, clueTextStyle, '', t);\n\n rerender(<Clue {...defaultFixture.props} text=\"This is the new clue ...\" onClick={onClick} />);\n findElementAndCheckText(container, clueTextStyle, 'This is the new clue ...', t);\n});\n\ntest('should clue color is the primary color if color is defined on skin', t => {\n const context = {\n skin: {\n common: {\n primary: '#FF0000'\n }\n },\n translate: key => {\n t.pass();\n return key;\n }\n };\n t.plan(6);\n\n const {container} = renderWithContext(<Clue {...defaultFixture.props} />, {\n context\n });\n\n // inline '#FF0000' becomes rgb(255, 0, 0)\n const cardReverse = container.querySelector(\n '[data-name=\"clue-back-side\"][style=\"background-color: rgb(255, 0, 0);\"]'\n );\n\n t.truthy(cardReverse);\n\n const seeClueCta = cardReverse.querySelector('a[data-name=\"cta\"]');\n\n t.truthy(seeClueCta);\n\n fireEvent.click(seeClueCta);\n});\n\ntest('should clue color is the fallback primary color if color not defined on skin', t => {\n const context = {\n skin: {\n common: {\n secondary: '#FF0000'\n }\n },\n translate: key => {\n t.pass();\n return key;\n }\n };\n t.plan(3);\n\n const {container} = renderWithContext(<Clue {...defaultFixture.props} />, {\n context\n });\n\n // inline '#00B0FF' becomes rgb(0, 176, 255)\n const cardReverse = container.querySelector(\n '[data-name=\"clue-back-side\"][style=\"background-color: rgb(0, 176, 255);\"]'\n );\n\n t.truthy(cardReverse);\n});\n"],"file":"see-clue.js"}
@@ -37,7 +37,7 @@ export const fetchAndLoadAnimation = async (_lottie, _fetch, animationSrc, conta
37
37
  });
38
38
  const animationData = await fetchResult.json();
39
39
 
40
- const animation = _lottie.loadAnimation({
40
+ const animation = _lottie.loadAnimation && _lottie.loadAnimation({
41
41
  container: containerRef.current,
42
42
  // the dom element that will contain the animation
43
43
  renderer: 'svg',